Existe-t-il un moyen de connaître la taille de la page SSD sous Linux / Unix? Qu'est-ce qu'un «bloc physique» dans la sortie fdisk?

17

Partout j'ai lu que les SSD internes sont structurés en 4K ou plus grandes "pages", qui se sont regroupées en "blocs" d'environ 128-256 pages ( 1 , 2 ). Les SSD fonctionnent avec ces pages et blocs, "ils ne peuvent effacer les données qu'au niveau du bloc" (ainsi le bloc de pages est appelé "bloc d'effacement [NAND]"). Et les blocs 512B pour la partition sont émulés (ce qui est fait pour des raisons héritées).

J'essaie de m'instruire sur les SSD, car j'ai des décalages / gels étranges lors des écritures sur mon Sandisk U100 sur un ordinateur portable Samsung 9 np900x3c. Et une chose utile serait de savoir correctement quelles pages / blocs mon SSD a?

Existe-t-il un utilitaire ou un /sys/...fichier sous Linux pour déterminer la taille de la page SSD?

Ou "le lecteur et la recherche sur Google des numéros de pièces sur les puces NAND peuvent être nécessaires", comme dans le commentaire ?

Googler mon SSD Sandisk Je ne trouve pas de fiche technique / spécification appropriée. Mais Sandisk et les autres mentionnent "les lectures / écritures aléatoires 4K". Cela signifie-t-il que le disque a des pages 4K?

fdiskMontre également la taille du secteur (physique et logique) et les octets d'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

Quelle est la taille du secteur "physique" ici? Cela ne semble pas être le paramètre du disque SSD lui-même, car tout le monde dit que les pages SSD sont 4K +. Est-ce le paramètre émulé pour le disque? Et "logique" est la taille du secteur pour la partition? De plus, quelle est la taille des E / S?

PS

Cette question est probablement la même que celle-ci pour le flash USB - la réponse manque ici, man fsstatdit fsstat displays the details associated with a file systemla question et concerne le disque lui-même. Mon message contient plus de détails, peut-être qu'il attirerait de meilleures réponses?

xealits
la source

Réponses:

11
  • La taille de bloc physique indiquée par fdiskest la taille de bloc physique indiquée par le disque lorsque vous y êtes invité. Il a rarement une relation avec les pages SSD ou les blocs d'effacement.

  • 4 Les lectures / écritures KiB sont une mesure courante des performances d'E / S, représentant de "petites" opérations d'E / S.

  • Il n'existe aucun moyen standard pour un SSD de signaler sa taille de page ou d'effacer la taille de bloc. Peu ou pas de fabricants les signalent dans les fiches techniques. (Parce qu'ils peuvent changer pendant la durée de vie d'une SKU, par exemple en raison d'un changement de fournisseur.) Il existe un livre blanc d'Intel qui suggère qu'un alignement de 4 Ko est suffisant.

  • Pour une utilisation pratique, alignez simplement toutes vos structures de données (partitions, charge utile des conteneurs LUKS, volumes logiques LVM) sur des limites de 1 ou 2 MiB. C'est un SSD après tout - il est conçu pour faire face aux systèmes de fichiers habituels, tels que NTFS (qui utilise 4 unités d'allocation de Kio). Si Windows considère que l'alignement des partitions sur 1 Mio est suffisant, vous pouvez parier que tout fabricant de SSD s'assurera que ses produits fonctionnent bien avec une telle configuration.

  • Il est préférable de laisser environ 5% à 10% de l'espace non alloué en dehors des partitions. Le fait d'avoir un espace surapprovisionné est d'une grande aide pour les SSD pour maintenir leurs performances dans le temps.

AlexP
la source
"Il y a un livre blanc d'Intel qui suggère qu'un alignement de 4 Ko est suffisant." Comment obtenez-vous cela du papier lié? Je l'ai regardé et il n'est pas du tout évident où le papier le prétend.
Matthew
@Matthew: Page 7: "la plupart des nouveaux disques durs et SSD Intel fonctionnent mieux avec un alignement de 4096 octets (4 Ko)" .
AlexP
J'ai lu cela comme "par rapport à 512 octets", ce qui n'est guère surprenant. De plus, les figures suivantes semblent impliquer une taille de page de 4 Ko. Je ne vois pas cela comme impliquant que "4KiB est assez bon pour les disques avec des pages> 4KiB" ... ou qu'il est censé dire quelque chose sur les disques non Intel.
Matthew
+1 pour s'en tenir strictement à la notation KiB / MiB --- voir man unitspour les sceptiques
XavierStuvw
Pourquoi avoir un espace surapprovisionné ... est-il d'une grande aide pour les SSD dans le maintien de leurs performances dans le temps ?
XavierStuvw
2

smartctl(disponible en smartmontools) devrait le faire pour vous.

13dimitar
la source
2
Comment le PO utiliserait-il cet outil pour le faire?
roaima
pour l'instant, je reçois les mêmes secteurs physiques et logiques de 512B, je smartctl -i /dev/sdane sais pas comment lire smartctl --all /dev/sdaet smartctl --xall /dev/sda
j'ai
2
Après avoir lu sur SMART , je pense qu'il ne traite pas d'informations telles que la structure interne des SSD - il surveille certains paramètres sur les erreurs / la "santé" d'un disque, essayant d'attraper la possibilité d'une défaillance du disque
xealits