Vamos colocar desta forma:
A verdade é que, na maioria, senão em todos os SSDs, ATA Secure Erase
é uma equivalência a um dispositivo completo TRIM. Exceto aqueles com "criptografia de hardware", onde ATA Enhanced Secure Erase
é basicamente uma regeneração da chave de criptografia. Então, afinal, ATA Secure Erase
em SSDs não é realmente TÃO seguro, a menos que o seu suporte a "criptografia por hardware".
Por outro lado, fstrim
não é a única maneira de criar um dispositivo. Você pode usar blkdiscard
para limpar todo o dispositivo de bloco (disco / partição), incluindo o GPT, o superbloco e tudo mais.
No entanto, esteja ciente de que a implementação TRIM em alguns dos discos tem um "requisito" nos comandos TRIM emitidos, portanto, somente quando for atendido, todos os blocos na unidade serão "lidos zero" após TRIM.
Por exemplo, o Intel 530 SSD requer que os intervalos de blocos TRIM sejam "alinhados" para 8 blocos. Portanto, quando quiser limpá-lo com blkdiscard
ou hdparm
, precisarei me certificar de que nenhuma "unidade mínima" esteja "coberta" por dois intervalos TRIM.
Com blkdiscard
, precisarei especificar -p 33550336
(65528 blocos * 512 bytes, onde 65528 = 65535 (número máximo de blocos em um único intervalo) - 65535% 8), supondo que o deslocamento inicial seja 0 (ou um múltiplo de [8 * 512]), caso contrário, haverá blocos de sobras que não serão apagados. Isso pode ser verificado com algo como hexdump
após o TRIM.
Veja a diferença da minha Intel 530 ( sda
) e da Silicon Power S70 ( sdb
):
eadiferençaquandoosintervalosnãoestãoalinhadosealinhados:
(Aindahásobrasnofinal,jáque65535*2=131070nãoéummúltiplode8,masvocêpodeverque131064blocos[0x3FFF000/512]sãocontinuamenteapagados.)
Semfraude:
P.S.EutambémvidiscosdaSanDiskquesua"cabeça" e "cauda" não podem ser apagados com o comando TRIM em qualquer forma. A "unidade mínima" é de 256 blocos.