Um exame mais detalhado da proteção contra falta de energia em SSDs

A proteção contra queda de energia (PLP) em SSDs não é um conceito novo mas os aplicativos e técnicas para proteger um SSD durante e após um evento de queda de energia foram aperfeiçoados nos modelos de SSDs mais recentes. O objetivo da proteção contra queda de energia é cumprir duas metas básicas:

  • Fazer fluir com segurança dados in-flight (ou dados que residem nos buffers de cache DRAM ou SRAM da unidade) até a memória Flash persistente ou não volátil e
  • Manter a integridade da tabela de mapeamento do SSD para que o SSD seja reconhecido e possa ser usado novamente após a reincialização do sistema.

Nota: A tabela de mapeamento do SSD, também conhecida como Flash Transition Layer (FTL), é responsável pelo mapeamento físico ao lógico dos dados contidos em um SSD.

Em condições de desligamento normal do sistema, o SSD recebe um comando (Standby Immediate Command) do driver ATA do host alertando o SSD que o sistema está sendo desligado e o SSD se prepara para a remoção da energia. Em um desligamento normal do sistema, o SSD tem tempo suficiente para fazer fluir seus buffers do cache e atualizar suas tabelas de mapeamento.

Um SSD bem projetado empregará um design baseado em hardware com capacitores de energia hold-up (tempo de sustentação da tensão de saída) on-board e/ou uma implementação do firmware PLP onde importantes informações de metadados são gravadas na memória Flash para assegurar a recuperação do SSD na próxima inicialização. Atualmente a Kingston usa capacitores de polímero tântalo para PLP.

SSDs de gerações anteriores não eram tão resistentes a súbitas perdas de energia como os modelos de hoje. Era comum para um SSD que sofria uma queda de energia repentina tornar-se inoperante no ciclo de energia seguinte. Em muitos desses casos anteriores, o evento de queda de energia acarretava um SSD irrecuperável e ocorria perda de dados.

Um olhar mais atento nas duas abordagens de PLP

Hardware PLP – O Hardware PLP foi projetado com o objetivo básico de reduzir a perda de dados mantendo a energia do SSD com capacitores de energia integrados (Power Caps) por tempo suficiente para que os dados residentes no buffer do cache do SSD possam ser gravados na memória Flash e suas tabelas de mapeamento atualizadas. Uma visão geral conceitual de um evento de PLP típico baseado em um SSD teria mais ou menos essa aparência.

  1. A queda repentina de energia é detectada pela controladora do SSD
  2. Os capacitores de energia on-board retêm a energia para o SSD
  3. A controladora emite um comando interno para fazer fluir seu buffer de cache
  4. A controladora atualiza suas tabelas de mapeamento preparando-se para a remoção de energia
  5. A unidade desliga-se suavemente

Firmware PLP – A proteção PLP em Firmware também foi projetada para reduzir a probabilidade de perda de dados assegurando a capacidade do firmware de reconstruir a tabela de mapeamento quando da próxima inicialização após um evento de falha de energia. Uma visão geral conceitual da proteção PLP baseada em firmware teria mais ou menos essa aparência:

  1. A tabela de mapeamento do SSD é armazenada na memória Flash e atualizada na memória DRAM
  2. Quando novos dados são gravados no SSD, o firmware atualiza a tabela de mapeamento
  3. Os novos dados gravados são sempre gravados com tags (ou bytes reserva), que incluem LBA, EEC e outras estruturas de informação de dados
  4. Ocorre uma repentina queda de energia
  5. Os bytes de reserva contendo informações de estrutura de dados combinadas com a tabela de mapeamento original possibilita ao firmware do SSD reconstruir a tabela de mapeamento dos SSDs na próxima inicialização

A proteção PLP em Firmware é um método altamente eficiente para evitar a perda de dados em aplicações de armazenamento das empresas. Por exemplo, é essencial que os SSDs configurados em conjuntos RAID sejam capazes de se recuperar e retornar a um estado saudável após um evento de perda de energia para manter a integridade do conjunto RAID. Uma ou mais falhas de membros do conjunto pode resultar em um conjunto off-line com um alto potencial para perda de dados.

Um outro cenário poderia envolver SSDs que constituem um grande “pool compartilhado” de armazenamento em que os SSDs físicos são segmentados em vários LUNs e compartilhados entre diversos hosts. Alta disponibilidade é um aspecto de design crítico neste exemplo e a proteção de PLP baseada em firmware assegura uma recuperação bem-sucedida dos SSDs que atendem esses LUNs e hosts.

A Kingston encara a resistência contra a queda de energia como alta prioridade

A Kingston® submete seus SSDs (consumidor e enterprise) a testes técnicos de ciclo de energia bastante rigorosos como parte do seu processo de qualificação padrão. Além de testes de compatibilidade, desempenho e resistência, os SSDs Kingston devem ser plenamente aprovados em inúmeros eventos de quedas inseguras de energia e inicialização, mantendo-se totalmente funcionais para passarem no processo de qualificação. Se um SSD se torna inoperante durante testes de queda de energia, os testes de qualificação técnica são interrompidos, a causa do problema é solucionada e o processo de qualificação é reiniciado.

Conclusão

Cada aplicação e ambiente são únicos e certas considerações devem ser feitas ao decidir que tipo de PLP se adapta ao seu ambiente.

A maior parte das aplicações empresariais atualmente é protegida com suprimento de energia redundante, sistemas de backup da bateria e geradores de energia para manter os Data Centers funcionando no caso de uma queda inesperada de energia. Software e redes de alta velocidade abriram o caminho para um grande número de arquiteturas de duplicação de dados, removendo o hardware como único ponto de falha.

A estabilidade da energia dos centros de dados em conjunto com práticas HA (alta disponibilidade) devem ser fatores significativos para determinar o tipo de proteção PLP para SSD que melhor se adapta às aplicações de armazenamento.

Artigos relacionados