¿Hay alguna manera de averiguar el tamaño de página SSD en Linux / Unix? ¿Qué es el "bloque físico" en la salida de fdisk?

17

En todas partes leí que los SSD internos están estructurados en "páginas" 4K o más grandes, que se agrupan en "bloques" de aproximadamente 128-256 páginas ( 1 , 2 ). Los SSD funcionan con estas páginas y bloques, "solo pueden borrar datos a nivel de bloque" (por lo tanto, el bloque de páginas se llama "bloque de borrado [NAND]"). Y los bloques 512B para la partición se emulan (lo que se hace por motivos heredados).

Estoy tratando de educarme en SSD, ya que tengo algunos retrasos / bloqueos extraños durante las escrituras en mi Sandisk U100 en la computadora portátil Samsung 9 np900x3c. ¿Y una cosa útil sería averiguar correctamente qué páginas / bloques tiene mi SSD?

¿Hay alguna utilidad o /sys/...archivo en Linux para determinar el tamaño de página SSD?

O "la unidad y Googlear los números de pieza en los chips NAND pueden ser necesarios", como en el comentario ?

Googleando mi Sandisk SSD No puedo encontrar una hoja de datos / especificación adecuada. Pero Sandisk y la gente mencionan "lecturas / escrituras aleatorias 4K". ¿Significa que el disco tiene páginas 4K?

Además, fdiskme muestra el tamaño del sector (tanto físico como lógico) y el byte I / O 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

¿Cuál es el tamaño del sector "físico" aquí? No parece ser el parámetro de la unidad SSD en sí, ya que todos dicen que las páginas SSD son 4K +. ¿Es el parámetro emulado para el disco? ¿Y "lógico" es el tamaño del sector para la partición? Además, ¿cuál es el tamaño de E / S?

PD

Esta pregunta es probablemente la misma que para la memoria USB : la respuesta no tiene sentido, man fsstatdice , fsstat displays the details associated with a file systemy la pregunta es sobre el disco en sí. Mi publicación tiene más detalles, ¿tal vez atraería mejores respuestas?

xealits
fuente

Respuestas:

11
  • El tamaño de bloque físico informado por fdiskes el tamaño de bloque físico informado por el disco cuando se le solicita. Rara vez tiene alguna relación con páginas SSD o borra bloques.

  • 4 Las lecturas / escrituras de KiB son una medida común del rendimiento de E / S, que representan operaciones de E / S "pequeñas".

  • No hay una forma estándar para que un SSD informe el tamaño de su página o borre el tamaño del bloque. Pocos fabricantes, si alguno, los informan en las hojas de datos. (Debido a que pueden cambiar durante la vida útil de una SKU, por ejemplo, debido al cambio de proveedores). Hay un documento técnico de Intel que sugiere que la alineación de 4 KiB es suficiente.

  • Para un uso práctico, solo alinee todas sus estructuras de datos (particiones, carga útil de contenedores LUKS, volúmenes lógicos LVM) a 1 o 2 límites MiB. Después de todo, es un SSD: está diseñado para hacer frente a los sistemas de archivos habituales, como NTFS (que utiliza 4 unidades de asignación KiB). Si Windows considera que alinear particiones a 1 MiB es suficiente, puede apostar a que cualquier fabricante de SSD se asegurará de que sus productos funcionen bien con dicha configuración.

  • Es mejor dejar alrededor del 5% al ​​10% del espacio no asignado fuera de las particiones. Tener un espacio sobre aprovisionado es de gran ayuda para los SSD para mantener su rendimiento a tiempo.

AlexP
fuente
"Hay un documento técnico de Intel que sugiere que la alineación de 4 KiB es suficiente". ¿Cómo se obtiene eso del documento vinculado? Lo examiné y no es del todo obvio dónde dice el periódico eso.
Mateo
@Matthew: Página 7: "la mayoría de los HDD y SSD Intel nuevos funcionan mejor con una alineación de 4096 Bytes (4KB)" .
AlexP
Lo leí como "comparado con 512 bytes", lo cual no es sorprendente. Además, las siguientes cifras parecen implicar un tamaño de página de 4KiB. No entiendo que eso implique que "4KiB es lo suficientemente bueno para unidades con páginas> 4KiB" ... o que está destinado a decir algo sobre unidades que no son Intel.
Mateo
+1 por apegarse estrictamente a la notación KiB / MiB --- ver man unitspor los escépticos
XavierStuvw
¿Por qué tener espacio sobreaprovisionado ... es de gran ayuda para los SSD para mantener su rendimiento a tiempo ?
XavierStuvw
2

smartctl(disponible en smartmontools) debería hacerlo por usted.

13dimitar
fuente
2
¿Cómo utilizaría el OP esta herramienta para hacerlo?
roaima
por ahora estoy obteniendo los mismos sectores físicos y lógicos 512B con smartctl -i /dev/sda, sin saber cómo leer smartctl --all /dev/sday smartctl --xall /dev/sdaenvió núcleo en pánico ..
xealits
2
Tras leer el INTELIGENTE , creo que no se ocupa de la información tal como los SSD estructura interna - que controla algunos parámetros sobre los errores / la "salud" de un disco, tratando de captura posibilidad de fallo del disco
xealits