Como os SSDs podem funcionar bem quando criptografados ou sem o TRIM?

0

Pelo que entendi, os SSDs gerenciam internamente os setores numerados de "discos rígidos" esperados por um sistema operacional em páginas internas, que são agrupadas em blocos. O firmware do SSD é responsável pela consolidação das páginas internas, para que os blocos vazios sejam disponibilizados para reutilização. Esse processo é lento, então acontece em segundo plano. Quando uma unidade está quase cheia, a unidade pode se sentir lenta para o usuário, porque o firmware tem que trabalhar para disponibilizar espaço, e o sistema operacional precisa esperar por ela.

O sistema operacional não tem conhecimento da organização interna da unidade. Ele informa a um SSD que um setor do sistema de arquivos está disponível via TRIM. O SSD pode então designar internamente as páginas que representam esse setor como disponíveis para reutilização.

Isso me deixa com as seguintes perguntas:

  • Em uma unidade em que o TRIM não está habilitado, como costuma ser o caso de unidades externas ou configurações RAID, assim como unidades e sistemas operacionais mais antigos, uma vez que uma unidade chega ao máximo, como ela pode saber quando um monte de coisas foi deletado, então ele pode disponibilizar um monte de páginas internas? E se não souber, como pode funcionar de forma ideal?

  • Por que sistemas operacionais não reportam regularmente todos os setores livres disponíveis de um sistema de arquivos para SSDs via TRIM, então o SSD sempre pode ter tantas páginas / blocos internos quanto possível? (Pelo que entendi, um sistema operacional só relata setores do sistema de arquivos gratuitos no momento em que ficam disponíveis, o que significa que as páginas SSD podem permanecer indisponíveis internamente se TRIM não estiver habilitado desde o início ou uma unidade interna for temporariamente acessada externamente.) p>

  • Se a criptografia de todo o disco estiver habilitada em um sistema operacional, como o desempenho não é afetado? Nenhuma página interna estaria em uso do ponto de vista do SSD?

  • Por que os fabricantes de SSD não fornecem ferramentas para restaurar um SSD ao estado original de fábrica, com todas as páginas desativadas, por razões de segurança e desempenho? (A única maneira que eu estou ciente de fazer isso é através de um utilitário Linux esotérico que pode emitir o comando ATA_SECURE_ERASE para o firmware da unidade, e nem todo firmware de unidade pode ser confiável para implementá-lo corretamente ou de forma abrangente.)

Qualquer ideia seria apreciada.

    
por Ivan X 19.05.2018 / 11:16

2 respostas

1

Why don't operating systems regularly report all of a file system's available free sectors to SSD's via TRIM, so the SSD can always have as many free internal pages/blocks as possible? (As I understand it, an OS only reports free file system sectors at the moment they become available, which means SSD pages can remain internally unavailable if TRIM was not enabled from the start, or an internal drive is temporarily accessed externally.)

Eles fazem. Isso é feito pela manutenção automática do Windows a cada semana (via Desfragmentador de disco, que reconhece SSDs de HDDs) e por% semanalfstrim.timer no Linux.

If whole-disk encryption is enabled in an OS, how is performance not badly impacted? Wouldn't every internal page be in use from the SSD's point of view?

Isso depende de o sistema de criptografia passar ou não pelas informações TRIM. Geralmente é configurável pelo usuário, permite escolher entre desempenho e total privacidade.

(Permitir que o SSD saiba quais páginas estão vazias revelará as mesmas informações para pessoas de fora - pessoalmente, não acho que seja um problema, mas algumas pessoas não querem que qualquer coisa seja divulgado.)

Why don't SSD manufacturers provide tools to restore an SSD to its original factory state, with all pages deactivated, for both security and performance reasons? (The only way I'm aware of to do this is via an esoteric Linux utility that can issue the ATA_SECURE_ERASE command to the drive firmware, and not every drive firmware can be trusted to correctly or comprehensively implement it.)

Os fabricantes de SSD fornecem ferramentas para isso - e essas ferramentas usam ATA_SECURE_ERASE.

Não há diferença. Se você tivesse ferramentas específicas do fornecedor que enviam comandos específicos do fornecedor, você ainda teria que confiar no firmware da unidade para implementá-las de forma correta e abrangente.

E seria pior no lado do host, porque tudo o que você tem é um utilitário esotérico Windows , que seria rapidamente esquecido e muitas vezes pararia de funcionar com o próxima versão do Windows. (Eu ainda tenho algumas ferramentas que podem flashdrives USB de formato de baixo nível, e todos exigem o Windows XP.)

Enquanto isso, ATA_SECURE_ERASE é bastante padrão - existem programas do Windows para invocá-lo, existem programas Linux, alguns deles gráficos, alguns deles de linha de comando, e todos funcionam independentemente da marca ou modelo da unidade.

    
por 20.05.2018 / 10:44
0

Eu não acho que seja possível (por comandos padrão) simplesmente porque a paginação, como você disse, é feita exclusivamente pelo firmware (e como a paginação é feita é o que faz grande diferença entre os fornecedores de SSD). O link entre clusters livres e páginas livres também é mantido pelo firmware para que você possa ter 3 setores 'logicamente contíguos' espalhados por linhas diferentes (lembre-se que um SDD precisa excluir uma linha inteira apenas para excluir uma única página). Foi isso que eu aprendi, mas naquela época a SSD não era mainstream e acho que foi a primeira vez que eles falaram sobre isso.

    
por 19.05.2018 / 11:34