Como o SSD falha quase no final da vida útil?

9

Digamos que um SSD MLC tenha durado muito tempo e a primeira célula tenha atingido seu último ciclo de apagamento e se recuse a apagar.

O que acontece depois disso? O controlador detecta isso como um bloco defeituoso e passa para o próximo e tenta apagá-lo? A capacidade total da unidade diminuiria lentamente com o tempo?

EDITAR

E é claro que podemos esquecer o nivelamento de desgaste. Sim, prolonga a vida útil de uma unidade, mas não estou falando sobre isso. Eventualmente, uma célula atingirá seu último ciclo de apagamento.

Pyrolistical
fonte

Respostas:

8

Os chips flash NAND possuem alguns mecanismos internos para detectar falhas nas operações de gravação e exclusão e alertarão o controlador se houver uma falha. Nesse caso, o controlador pode tentar novamente ou tratar esse bloco como ruim e mapeá-lo de seu algoritmo de nível de desgaste. Cada página no dispositivo NAND também possui uma área livre ao lado da área de dados principal, destinada a metadados como ECC e outras formas de detecção e tolerância a falhas. O controlador pode decidir sobre seu próprio esquema de tolerância a falhas usando a área sobressalente. Os códigos de Hamming são um esquema comum, embora existam vários, incluindo bits de paridade simples e códigos de Reed-Solomon. Se as coisas não corresponderem a uma operação de leitura, novamente, o controlador estará livre para fazer o que bem entender. Idealmente, ele também mapeia esses blocos do algoritmo de nivelamento de desgaste, e você perde a capacidade pouco a pouco até que "muitos" falhem, onde "muitos" depende dos algoritmos e dos tamanhos da estrutura de hardware no controlador. Muitos projetos de controladores de primeira linha simplesmente declaram um erro no sistema operacional.

Observe que esse não é um problema específico da MLC; embora as células MLC possam estar mais propensas a um erro de leitura, uma vez que há necessariamente uma margem menor de erro, as células SLC falham principalmente com os mesmos mecanismos e podem ser tratadas pelo controlador da mesma maneira.

Matt J
fonte
2

Assim como nos discos rígidos, depende da implementação no sistema operacional. O controlador simplesmente relataria que a gravação (apagar é na verdade uma operação de gravação) falhou e cabe ao driver devide no kernel do sistema operacional decidir o que fazer. Pelo que vi até agora, as implementações da Microsoft e Linux simplesmente retornam o código de erro ao aplicativo de chamada - para que ele produza um erro de E / S.

Resumindo: você simplesmente recebe um dispositivo "quebrado" em algum momento.

Milan Babuškov
fonte
Bem, isso é péssimo. Não uma muito boa abstração então ...
Pyrolistical
1
E errado. Principalmente, isso é tratado no próprio SSD - não no driver do dispositivo. Porque isso é operações normais. O nivelamento de desgaste registrará o setor como com falha e remapeará o setor.
TomTom
1

Os SSDs usam algo chamado "desgaste de nivelamento", em que a unidade mantém uma estatística sobre o uso do setor e, em algum momento ou quando detecta problemas, move o setor para uma reserva, exatamente como acontece com os discos rígidos regulares.

Sven
fonte
Sim, mas vejo o HD mecânico falhando mecanicamente antes de ficarem sem setores reservados. SSD, no entanto, pode não ser. O que acontece quando uma unidade fica sem setores reservados?
Pyrolistical 9/09/09
Escreva erros. O que mais você espera?
TomTom