Gibt es eine Möglichkeit, die SSD-Seitengröße unter Linux / Unix herauszufinden? Was ist "physischer Block" in der fdisk-Ausgabe?

14

Überall habe ich gelesen, dass interne SSDs in 4K oder mehr "Seiten" strukturiert sind, die in "Blöcken" von ungefähr 128-256 Seiten ( 1 , 2 ) gruppiert sind . SSDs arbeiten mit diesen Seiten und Blöcken. "Sie können nur Daten auf Blockebene löschen" (daher wird der Seitenblock als "[NAND] Löschblock" bezeichnet). Und die 512B-Blöcke für die Partition werden emuliert (was aus alten Gründen erfolgt).

Ich versuche, mich über SSDs zu informieren, da ich beim Schreiben auf meinen Sandisk U100 auf einem Samsung 9 np900x3c-Laptop einige seltsame Verzögerungen / Einfrierungen habe. Und eine nützliche Sache wäre, richtig herauszufinden, welche Seiten / Blöcke meine SSD hat?

Gibt es /sys/...unter Linux ein Dienstprogramm oder eine Datei, um die SSD-Seitengröße zu bestimmen?

Oder "das Laufwerk und das Googeln der Teilenummern auf den NAND-Chips sind möglicherweise erforderlich", wie im Kommentar ?

Googeln meiner Sandisk-SSD Ich kann kein richtiges Datenblatt / keine Spezifikation finden. Aber Sandisk und die Leute erwähnen "4K zufällige Lese- / Schreibvorgänge". Bedeutet das, dass die Festplatte 4K-Seiten hat?

Auch fdiskzeigt mir Sektorgröße (sowohl physisch als auch logisch) und I / O - 512 - Byte:

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

Was ist hier die "physische" Sektorgröße? Es scheint nicht der Parameter des SSD-Laufwerks selbst zu sein, da alle sagen, dass SSD-Seiten 4K + sind. Ist es der emulierte Parameter für die Festplatte? Und "logisch" ist die Sektorgröße für die Partition? Was ist die E / A-Größe?

PS

Diese Frage ist wahrscheinlich die gleiche wie diese für USB-Flash - der Antwort fehlt der Punkt dort, man fsstatsagt fsstat displays the details associated with a file systemund die Frage bezieht sich auf die Festplatte selbst. Mein Beitrag enthält mehr Details. Vielleicht würde er bessere Antworten finden?

xealits
quelle

Antworten:

10
  • Die von angegebene physische Blockgröße fdiskist die von der Festplatte gemeldete physische Blockgröße, wenn Sie dazu aufgefordert werden. Es hat selten eine Beziehung zu SSD-Seiten oder Löschblöcken.

  • 4 KiB-Lese- / Schreibvorgänge sind ein gängiges Maß für die E / A-Leistung und repräsentieren "kleine" E / A-Operationen.

  • Es gibt keine Standardmethode für eine SSD, um ihre Seitengröße zu melden oder die Blockgröße zu löschen. Nur wenige Hersteller melden sie in den Datenblättern. (Weil sie sich während der Lebensdauer einer SKU ändern können, beispielsweise aufgrund eines Lieferantenwechsels.) Es gibt ein Whitepaper von Intel, das darauf hinweist, dass eine Ausrichtung von 4 KiB ausreicht.

  • Für den praktischen Gebrauch richten Sie einfach alle Ihre Datenstrukturen (Partitionen, Nutzdaten von LUKS-Containern, logische LVM-Volumes) an 1 oder 2 MiB-Grenzen aus. Immerhin handelt es sich um eine SSD - sie wurde entwickelt, um mit üblichen Dateisystemen wie NTFS (das 4 KiB-Zuordnungseinheiten verwendet) fertig zu werden. Wenn Windows der Ansicht ist, dass das Ausrichten von Partitionen auf 1 MiB ausreicht, können Sie darauf wetten, dass jeder SSD-Hersteller sicherstellt, dass seine Produkte mit einer solchen Konfiguration gut funktionieren.

  • Lassen Sie am besten etwa 5% bis 10% des nicht zugewiesenen Speicherplatzes außerhalb von Partitionen. Überbereiteter Speicherplatz ist für SSDs eine große Hilfe, um ihre Leistung rechtzeitig aufrechtzuerhalten.

AlexP
quelle
"Es gibt ein Whitepaper von Intel, das darauf hinweist, dass eine Ausrichtung von 4 KiB ausreicht." Wie bekommt man das aus dem verlinkten Papier? Ich habe darüber nachgedacht, und es ist überhaupt nicht offensichtlich, wo die Zeitung das behauptet.
Matthew
@Matthew: Seite 7: "Die meisten neuen Festplatten und Intel-SSDs weisen mit einer Ausrichtung von 4096 Byte (4 KB) eine bessere Leistung auf" .
AlexP
Ich habe das als "im Vergleich zu 512 Bytes" gelesen, was kaum überraschend ist. Darüber hinaus scheinen die folgenden Abbildungen eine Seitengröße von 4 KB zu implizieren. Ich verstehe das nicht als Hinweis darauf, dass "4KiB gut genug für Laufwerke mit Seiten> 4KiB ist" ... oder dass es etwas über Nicht-Intel-Laufwerke aussagen soll .
Matthew
2

smartctl(verfügbar in smartmontools) sollte es für Sie tun.

13dimitar
quelle
2
Wie würde das OP dieses Tool verwenden, um dies zu tun?
Roaima
Im Moment bekomme ich die gleichen physischen und logischen 512B-Sektoren mit smartctl -i /dev/sda, nicht sicher, wie ich den Kernel lesen smartctl --all /dev/sdaund smartctl --xall /dev/sdain Panik
versetzen soll
2
Nachdem lesen Sie auf SMART , ich glaube es nicht solche Informationen wie SSDs interne Struktur nicht ansprechen - es einige Parameter auf Fehler überwacht / „Gesundheit“ einer Festplatte, versuchen zu fangen Möglichkeit Plattenausfall
xealits