Testei quatro SSDs NVMe de quatro fabricantes – metade perde dados “FLUSH” em caso de falta de energia (2022)

Testes com SSDs NVMe de consumo mostram que algumas unidades perdem dados gravados recentemente após uma falta de energia, mesmo quando o sistema operacional emitiu um comando FLUSH e recebeu a indicação de que os dados estavam armazenados com segurança. O fio identifica modelos específicos que falharam ou passaram nesses testes de durabilidade, explora como decisões de firmware e do controlador podem levar fabricantes a “mentir” sobre a confirmação dos dados, e contrasta hardware de consumo com unidades corporativas que usam capacitores para proteção contra perda de energia. Comentadores também levantam questões legais e práticas sobre conformidade com padrões, SSDs falsos ou rebaixados no mercado e o que sistemas de arquivos e aplicativos podem realisticamente fazer para proteger dados quando os dispositivos de armazenamento não são confiáveis.

Unidades testadas e resultados

  • O tweet inicial testou quatro SSDs NVMe; dois perderam dados apesar de o FLUSH ter sido concluído.
  • Mais adiante no fio, aparece uma lista maior (12 no total testados naquele momento):
    • Unidades reportadas como aprovadas no teste de flush:
      Samsung 970 Evo Plus 2TB, WD Red SN700 1TB, Crucial P2 250GB, Samsung 980 250GB, WD Black SN750 1TB, WD Green SN350 240GB.
    • Unidades reportadas como reprovadas (perderam dados após flush + falta de energia):
      SK Hynix Gold P31 2TB (versão específica de FW), Sabrent Rocket 512GB (baseado em Phison).
  • Comentadores observam que o título “metade” está desatualizado quando mais unidades foram testadas (2/12, não 2/4), e que o teste é do início de 2022.

Semântica de flush, PLP e comportamento de firmware

  • O NVMe FLUSH supostamente garante que todas as gravações anteriores estejam em mídia não volátil antes da conclusão.
  • É feita a distinção entre:
    • Unidades que honestamente atrasam a conclusão até que os dados estejam seguros.
    • Unidades que mentem, concluindo cedo enquanto os dados ainda estão em cache/volátil.
  • A discussão enfatiza que isso não é sobre capacitores de perda de energia falhando, mas sobre violar o contrato do flush.
  • SSDs corporativos normalmente usam capacitores de proteção contra perda de energia (PLP); unidades de consumo, em sua maioria, não.
  • Alguns argumentam que, se uma unidade não consegue honrar o FLUSH com segurança (ou é abusada com flushes muito pequenos), ela deveria ficar mais lenta ou retornar erros, e não mentir.

Sistemas de arquivos, sintomas de corrupção e efeitos no mundo real

  • Vários relatos de arquivos ficando totalmente zerados após travamentos ou falta de energia (logs, configurações, arquivos de cache, metadados de projeto).
  • Debate sobre se os arquivos zerados vêm de:
    • Unidades com mau comportamento ignorando semântica de flush/fua, ou
    • Comportamento do sistema de arquivos (alocação atrasada no ext4, modos de journaling, TRIM retornando zeros para espaço não alocado, uso incorreto de fsync).
  • Consenso: sistemas de arquivos com journaling (NTFS, ext4) protegem metadados, mas não conseguem proteger os dados se a unidade subjacente mentir.

Unidades de consumo vs corporativas e trade-offs de desempenho

  • Vários comentários descrevem SSDs NVMe baratos:
    • Benchmarks fortes em rajadas curtas, mas desempenho sustentado terrível e/ou desempenho de sync ruim.
    • Forte dependência de caches SLC e do comportamento de QLC/TLC.
  • Alguns recomendam usar apenas SSDs corporativos/PLP para dados críticos ou cargas de trabalho intensivas em sync; outros destacam que até unidades de consumo não devem violar padrões.

Confiança, regulação e problemas do ecossistema

  • Preocupações com:
    • Fabricantes trocando componentes após as análises.
    • Adesão falsa ou incompleta aos padrões.
  • Sugestões incluem recalls, ações de pequenas causas, fiscalização mais forte contra propaganda enganosa e listas de hardware “conhecido como bom/ruim” mantidas pela comunidade.