Conhecendo (um pouco mais) os SSD's e sua configuração no Linux

Hoje falaremos um pouco sobre sobre o hardware mais importante de um computador ou NoBo, responsável pelo armazenamento do sistema operacional e de todo nosso trabalho nessas máquinas espetaculares.

No princípio era o HD…

Os discos rígidos (HDs) são dispositivos de armazenamento que utilizam um sistema magnético para gravar e ler informações. O primeiro foi o IBM 350, lançado em 1956. Armazenava 4,4MB de dados e pesava cerca de 1 ton:

IBM_350
IBM 350

Eles passaram por significativas evoluções no tamanho e capacidade de armazenamento, tornando-os menores e mais eficientes:

hd
HD

…e o HD se fez SSD

O SSD “Solid State Drive”, ou “Unidade de Estado Sólido” ou “Dispositivo de Estado Sólido” ou “Memória de Estado Sólido”, não possui partes móveis, apenas memória flash sólida e fixa:

ssd
Memória Flash

Atribui-se o desenvolvimento do primeiro SSD a várias inovações ao longo das décadas. Um dos primeiros dispositivos que se assemelha ao que hoje chamamos de SSD foi o STC 4305, lançado em 1978, armazenando 45MB:

ssd2
STC 4305

A base para os SSDs modernos começou com a invenção da memória flash por Fujio Masuoka, na Toshiba, em 1980. Em 1989, a SanDisk patenteou um SSD baseado em flash.

fujio
Fujio Masuoka

O primeiro SSD comercial baseado em flash foi lançado pela SanDisk em 1991, com capacidade de 20 MB e foi utilizado em laptops IBM:

ssd_sandisk
SSD Sandisk

Os SSDs são significativamente mais rápidos (máx. 600 MB/s) do que os discos rígidos (máx. 120 MB/s), silenciosos, aquecem menos, requerem pouca manutenção, não exigem otimização e são mais robustos por não possuírem partes móveis.

Tem vida útil limitada mas, via de regra, dura mais do que o seu computador ou NoBo. Graças ao recurso chamado “nivelamento de desgaste”, os dados são gravados uniformemente em muitas células de memória flash (fragmentação artificial).

Desta forma, as células de memória ficam protegidas contra o desgaste, pois demoram a atingir os ciclos máximos de gravação. É um recurso padrão nos SSDs atuais.

Mas o que são memórias Flash?

São dispositivos de armazenamento não voláteis que mantém as informações na ausência de energia, permitindo que os dados sejam gravados e apagados eletricamente. Os tipos mais comuns são NAND (mais densa), adequada para armazenamento em massa); e NOR (acesso aleatório rápido), ideal para armazenar firmware e códigos que precisam ser executados diretamente.

A memória flash tem um número finito de ciclos de gravação (o ciclo de programação/apagamento - P/E) como limite de 100.000 ciclos P/E antes que falhe a integridade das células de armazenamento comece a falhar. Esse desgaste é mitigado espalhando as operações de gravação por todo o dispositivo e chamado “nivelamento de desgaste”, como vimos acima.

Enquanto a escrita é feita 1 byte por vez, o “apagamento” dá-se em blocos inteiros, demorando um certo tempo antes que novas gravações possam ocorrer. Isso limita o desempenho geral da memória flash, em comparação com outras formas, como a RAM.

A memória flash NAND se tornou um componente vital dos dispositivos eletrônicos, e volumes cada vez maiores de memória flash NAND serão exigidos para lidar com as crescentes necessidades de código e armazenamento de dados.

Seu desenvolvimento busca o aumento na densidade (mais bits em chips menores e perfil mais baixo), melhorando o desempenho com menores latência e consumo de energia, via designs inovadores associados a materiais semicondutores e tecnologias de fabricação cada vez melhores, estendendo a vida útil e reduzindo o potencial de erros na gravação e leitura.

Tipos de SSD

Os SSDs (Solid State Drives) são classificados em diferentes tipos com base em suas interfaces, formatos e tecnologias de memória. Na atualidade, temos os seguintes tipos:

SATA SSD - utiliza a interface SATA III, possui velocidades de leitura e escrita variam entre 500-600 MB/s, utilizados em substituições de HDDs e ideal para PCs e laptops convencionais:

sata_III
Sata III

M.2 SATA - também usa a interface SATA III e vVelocidades semelhantes ao SATA SSD, formato compacto, adequado para laptops finos e desktops:

m2sata
M.2 SATA

M.2 NVMe - utiliza a interface PCIe (Gen 3 ou Gen 4), velocidades de leitura e escrita de 2000 a 7000 MB/s e ideal para gamers e/ou profissionais que necessitam de alto desempenho:

SSD_nvme
SSD NVME

U.2 NVMe - também utiliza PCIe, voltado para servidores e data centers e semelhante ao M.2 NVMe em termos de velocidade:

SSD_U2
SSD U2

PCIe SSD - conecta-se via PCIe, com desempenho similar ao M.2 NVMe e usado por entusiastas e em workstations.

SSD_PCIE
SSD PCIe

*NVMe, M.2 e SATA: Que tipo de SSD você deve usar?

Ao comparar os diferentes recursos e componentes do seu computador, pense no seu orçamento, nas necessidades de capacidade e no desempenho do SSD.

Avalie se restrições técnicas impedem a instalação de um SSD ou qual é aceito, pesquisando a compatibilidade da placa-mãe. Por exemplo, confirme se existem slot PCIe para conectar um SSD PCIe. De nada adianta comprar o SSD mais top se a placa-mãe não o aceita ou não tem condições de aproveitar toda a sua capacidade.

Seu orçamento também é importante. SSDs SATA geralmente são opções mais baratas quando comparados com unidades NVMe e pode ser que você não precise do top de linha.

Analise a capacidade de armazenamento necessária e o que você pode instalar no seu equipamento. Outro exemplo: a capacidade da unidade SATA vai de 500 GB a 16 TB; nas M.2 chega a 2 TB.

Quanto à velocidade de leitura/escrita, tanto os SSDs de 2,5 polegadas quanto os discos SATA M.2 oferecem as mesmas velocidades de processamento. Para mais desempenho, considere unidades NVMe, muito mais rápidos que as unidades SATA. Os NVMe são mais eficientes, mesmo se ambos forem M.2.

As taxas de transferência da sua unidade NVMe são influenciadas pela geração do conector PCIe que ela usa e pelo modelo específico. No entanto, não há competição entre NVME e M.2, de acordo com esse critério.

Devo atualizar do SSD para a interface NVMe?

Se seu computador ou NoBo suporta SSD NVMe, se você tem condições financeiras de adquiri-lo e suas necessidades se adequam a ele, sim, pois oferece alto desempenho, prioriza tarefas rapidamente em resposta às necessidades de mudança do usuário, executa solicitações de E/S simultâneas e tem baixo consumo de energia, resultando em uma melhor experiência do usuário.

Se você usa o computador para tarefas básicas, como navegar na internet, ouvir músicas, ver vídeos e usar um office para documentos simples - ou sua máquina antiga não aceita nada muito moderno - um SSD SATA estará de bom tamanho.

E cuidado onde compra! “Marca” não garante procedência domproduto. Nem a “loja de informática” onde se. Vá direto nas lojas oficiais, se o critério “originalidade” for crítico pro seu trabalho.

Mas, se usar o PC/NoBo pra vovó assistir receitas culinárias no youtube, um SSD genérico será suficiente. Tem bons produtos nas lojas online. De repente, nem vale substuir e a troca do HD velho por um novo HD será o suficiente para deixá-la satisfeita.

Usando SSD’s no Linux

Para utilizá-lo no Linux, o usuário “comum” não necessita de nenhum ajuste ou configuração. O sistema toma as melhores decisões. Basta usar.

Na atualização de um HD para SSD, ou entre SSD’s de interfaces distintas, atente para os seguintes detalhes: confirmar se a BIOS reconhece o novo dispositivo, verificando se está configurado BIOS LEGACY ou UEFI e a partição a ser utilizada (MBR ou GPT).

Certifique-se de que a configuração SATA na BIOS esteja definida para AHCI em vez de IDE, proporcionando melhor desempenho e suporte para recursos avançados. Nas BIOS mais atuais isto é feito automaticamente.

Durante a instalação do sistema operacional, crie a tabela de partição do tipo GPT com o UEFI ativado. A maioria das distribuições Linux modernas faz isso automaticamente.

Configurar o TRIM para que informe ao SSD quais blocos de dados não estão mais em uso, se o seu Linux não fizer isso automaticamente.

Para otimizar o uso do SSD com as opções noatime ou nodiratime, discard, no /etc/fstab, se o pinguim não o fizer automaticamente.

Se possível, escolha o sistema de arquivos ext4 que é amplamente utilizado e oferece um bom equilíbrio entre desempenho e confiabilidade. Mas outros sistemas de arquivos podem ser usados, dependendo das suas necessidades.

Muitas pessoas recomendam não colocar a partição SWAP no SSD, por causa do desgaste causado pelas gravações constantes. Mas hoje em dia essa preocupação é desnecessária, pois os SSD’s tem uma longa sobrevida e usam o “nivelamento de desgaste”.

O Linux oferece diferentes agendadores de I/O, como CFQ, Deadline e Noop. Várias distros fazem a configuração automaticamente. Mantenha o padrão da distro ou altere, dependendo de suas necessidades.

Ajuste o parâmetro vm.swappiness no /etc/sysctl.conf, para controlar quando a memória swap deverá ser usada. Um valor baixo, como 10, significa que a swap será utilizada apenas quando a RAM estiver quase cheia. Faça as alterações desejadas dependendo de suas necessidades.

Mover diretórios temporários como /tmp para a RAM reduz as gravações no SSD, mas é um cuidado também desnecessário atualmente. Mas se precisar, faça-o.

Não há necessidade de desativar a hibernação, para poupar o SSD. Se for um recurso útil para você, deixe-o habilitado.

Essas configurações podem ajudar a maximizar o desempenho do seu SSD em um sistema Linux, melhorando tanto a velocidade quanto a durabilidade do dispositivo. Mas podem não fazer diferença nenhuma.

Se estiver em dúvida se habilita ou não um recurso específico, lembre-se de “não procurar soluções para problemas que você não tem”. Se está funcionando, deixe do jeito que encontrou. Seu pinguim é inteligente para fazer as melhores escolhas por você.

E é sempre bom fazer becape dos dados antes de realizar alterações significativas no sistema. :stuck_out_tongue_winking_eye:

Fontes:

  1. giga
  2. exabytes
  3. portalcripto
  4. satelisoft
  5. techtudo
  6. dell
  7. crucial
7 curtidas