Existe uma maneira de descobrir o tamanho da página SSD no Linux / Unix? O que é "bloco físico" na saída do fdisk?

16

Em todo lugar, leio que os SSDs internamente são estruturados em "páginas" 4K ou maiores, agrupadas em "blocos" de cerca de 128-256 páginas ( 1 , 2 ). Os SSDs trabalham com essas páginas e blocos ", eles só podem apagar dados no nível do bloco" (assim, o bloco de páginas é chamado "[NAND] apagar bloco"). E os blocos 512B para a partição são emulados (o que é feito por motivos herdados).

Estou tentando ser educado em SSDs, pois tenho alguns atrasos / congelamentos estranhos durante as gravações no meu Sandisk U100 no laptop Samsung 9 np900x3c. E uma coisa útil seria descobrir corretamente quais páginas / blocos meu SSD possui?

Existe um utilitário ou /sys/...arquivo no Linux para determinar o tamanho da página SSD?

Ou "o drive e o Google pesquisando os números de peça nos chips NAND podem ser necessários", como no comentário ?

Pesquisando no meu SSD Sandisk Não consigo encontrar uma folha de dados / especificações adequadas. Mas Sandisk e as pessoas mencionam "leituras / gravações aleatórias em 4K". Isso significa que o disco tem páginas em 4K?

Além disso, fdiskmostra o tamanho do setor (físico e lógico) e o byte de E / S 512:

Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4b914713

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    50331647    25164800   83  Linux
/dev/sda2        50331648   239583231    94625792   83  Linux
/dev/sda4       239583232   250068991     5242880   82  Linux swap / Solaris

Qual é o tamanho do setor "físico" aqui? Não parece ser o parâmetro da própria unidade SSD, pois todos dizem que as páginas SSD são 4K +. É o parâmetro emulado para o disco? E "lógico" é o tamanho do setor para a partição? Além disso, qual é o tamanho de E / S?

PS

Esta pergunta é provavelmente a mesma que a do flash USB - a resposta está faltando, man fsstatafirma fsstat displays the details associated with a file systeme a pergunta é sobre o próprio disco. Meu post tem mais detalhes, talvez atraísse melhores respostas?

xealits
fonte

Respostas:

11
  • O tamanho do bloco físico relatado por fdiské o tamanho do bloco físico relatado pelo disco quando solicitado. Raramente tem qualquer relação com as páginas SSD ou apaga os blocos.

  • 4 As leituras / gravações de KiB são uma medida comum do desempenho de E / S, representando operações de E / S "pequenas".

  • Não existe uma maneira padrão de um SSD relatar o tamanho da página ou apagar o tamanho do bloco. Poucos, se algum fabricante, os relata nas folhas de dados. (Como eles podem mudar durante a vida útil de um SKU, por exemplo, devido à mudança de fornecedores.) Há um white paper da Intel que sugere que o alinhamento de 4 KiB é suficiente.

  • Para uso prático, basta alinhar todas as suas estruturas de dados (partições, carga útil de contêineres LUKS, volumes lógicos LVM) a 1 ou 2 limites MiB. Afinal, é um SSD - foi projetado para lidar com sistemas de arquivos comuns, como NTFS (que usa 4 unidades de alocação de KiB). Se o Windows considerar que alinhar partições a 1 MiB é suficiente, você pode apostar que qualquer fabricante de SSD garantirá que seus produtos funcionem bem com essa configuração.

  • É melhor deixar cerca de 5% a 10% do espaço não alocado fora de qualquer partição. Ter espaço superprovisionado é de grande ajuda para os SSDs na manutenção de seu desempenho no tempo.

AlexP
fonte
"Existe um documento técnico da Intel que sugere que o alinhamento de 4 KiB é suficiente". Como você consegue isso no jornal vinculado? Eu olhei para ele, e não é de todo óbvio onde o jornal está reivindicando isso.
Mateus
@ Matthew: Página 7: "a maioria dos novos HDDs e SSDs da Intel têm melhor desempenho com um alinhamento de 4096 bytes (4KB)" .
AlexP 31/05/19
Eu li isso como "comparado a 512 bytes", o que não é de surpreender. Além disso, as figuras a seguir parecem implicar em um tamanho de página de 4KiB. Não entendo isso como implicando que "4KiB seja bom o suficiente para unidades com páginas> 4KiB" ... ou que seja para dizer algo sobre unidades que não sejam da Intel.
Matthew
+1 por seguir estritamente a notação KiB / MiB --- veja man unitsos céticos
XavierStuvw
Por que o espaço superprovisionado ... é de grande ajuda para os SSDs na manutenção de seu desempenho no tempo ?
XavierStuvw 17/03
2

smartctl(disponível em smartmontools) deve fazer isso por você.

13dimitar
fonte
2
Como o OP usaria essa ferramenta para fazer isso?
roaima
por agora eu estou recebendo os mesmos setores físicos e lógicos 512B com smartctl -i /dev/sda, não sei como ler smartctl --all /dev/sdae smartctl --xall /dev/sdaenviados do kernel em pânico ..
xealits
2
Tendo ler sobre a SMART , eu acho que não aborda informações como SSDs estrutura interna - que monitora alguns parâmetros sobre os erros / "saúde" de um disco, tentando recuperar possibilidade de falha no disco
xealits