O que há de tão perigoso em --trim-sector-ranges?

O que há de tão perigoso em --trim-sector-ranges?

Eu tenho um SSD que quero TRIM antes de instalar o Ubuntu nele. Foi-me sugerido que eu deixasse algum espaço não particionado, de forma que o nivelamento de desgaste tivesse blocos livres para trabalhar. No entanto, entendo que, como a unidade já teve algum software instalado, apenas reparticioná-la com algum espaço não particionado é insuficiente. E o mkfs não TRIM a área não particionada.

Ao ler a hdparmpágina de manual, me deparei com --trim-sector-ranges, que parece exatamente o que preciso usar. Ele também tem um aviso que diz:EXCEPCIONALMENTE PERIGOSO. NÃO USE ESTA OPÇÃO!!duas vezes.

Eu vi umrecomendaçãosugerindo usar o comando ATA secure erase. Mas também li que o apagamento seguro apresenta o risco debloqueando o dispositivo.

O que --trim-sector-rangeso torna tão perigoso que é melhor correr o risco de bloquear o dispositivo?

Responder1

Cortar setores basicamente diz ao SSD que os setores não contêm mais dados úteis e podem ser coletados como lixo (ou seja, apagados) para que possam ser reutilizados em futuras operações de gravação. Isso pode melhorar o desempenho de gravação quando o disco está ficando cheio, já que a camada de tradução de firmware do controlador SSD tem mais "margem de manobra" para brincar com blocos/páginas físicas.

Em hdparm, os setores a serem cortados são fornecidos como LBA (blocos lógicos). Se o seu SSD tiver sido formatado com um sistema de arquivos, cortar o LBA certamente corromperá o sistema de arquivos e o tornará inutilizável (já que o usuário não tem conhecimento do mapeamento subjacente do sistema de arquivos para o LBA). Para SSD formatado com sistema de arquivos, o corte deve ser feito em um nível superior, com ferramentas como fstrim.

Quando suportado, o comando “ATA secure erase” deve apagar todos os blocos físicos do SSD. Poderia ser aproximadamente equivalente a cortar todos os setores do SSD, mas provavelmente de uma forma mais otimizada e segura.

O link referenciado indica que o comando "secure erase" falhou quando usado com um adaptador USB para SATA. Isso pode ser devido a uma implementação deficiente ou com erros do controlador USB para SATA ou a uma implementação que não está em conformidade com as especificações SATA recentes.

Para eliminar o conteúdo de um SSD, o comando SATA secure erase é a melhor opção. A --trim-sector-rangesopção de um hdparm é para fins experimentais e de benchmark. Somente para aplicações muito específicas (alguns sistemas de banco de dados) que abordam SSD no nível LBA o corte de setores pode hdparmfazer sentido.

Para finalizar, a recomendação de deixar algum espaço não particionado (chamado de superprovisionamento) para nivelamento de desgaste é interessante, desde que esse espaço tenha sido cortado de alguma forma antes (um "apagamento seguro ATA" também servirá para esse propósito). Se não for o caso, e se existirem dados anteriores no intervalo LBA do espaço não particionado, o controlador SSD assumirá que ainda são dados válidos e se esforçará para mantê-los "vivos", possivelmente movendo os blocos e páginas associados ( aumentando assim o desgaste geral!)

informação relacionada