GSmartControl und andere Kommandozeilen - Tool (wie fdisk
, smartctl
, cat /sys/block/sd*/queue/hw_sector_size
, cat /sys/block/sd*/queue/physical_block_size
) I Bericht für beide gleich meine Platten verwendet hatte:
Sector Size: 512 bytes logical/physical
Dies ist eine Standardinstallation von Ubuntu 18.10 (später aktualisiert auf 19.04). Der stat -f
Befehl auf beiden Datenträgern meldet jedoch:
Block size: 4096 Fundamental block size: 4096
Meine beiden Festplatten sind SSDs und AFAIK- SSD-Festplatten benötigen eine Sektorgröße von 4 KB . Ist das in Ordnung oder fehlt mir etwas? Stellen die von stat
(= 4K) zurückgegebenen Informationen sicher, dass das Betriebssystem immer E / A-Vorgänge in Vielfachen von 4 KB an die Festplatte sendet und diese Blöcke niemals 4K-Grenzen überschreiten (E / A-Blöcke werden immer auf 4 KB ausgerichtet)?
Bitte beachten Sie die folgende Ausgabe ( sdb2
ist meine Root-Partition , sda
ist meine /home
Festplatte):
# fdisk -l /dev/sd?
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: SanDisk SDSSDH35
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 /dev/sdb: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Disk model: ADATA SU800NS38
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: xxxx....
Device Start End Sectors Size Type
/dev/sdb1 2048 1050623 1048576 512M EFI System
/dev/sdb2 1050624 500117503 499066880 238G Linux filesystem
# df / /home
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb2 244568380 17799136 214276188 8% /
/dev/sda 479670976 129685112 325550152 29% /home
quelle
fdisk -l
diese Option , um nach Ausrichtungsproblemen zu suchen. Und anscheinend arbeiten SSDs aufgrund ihrer physischen Konstruktion etwas anders, aber ich bin kein Experte auf diesem Gebiet.Antworten:
Früher waren 512-Byte-Sektoren die Norm für Festplatten. Das System verwendete zum Lesen / Schreiben von Sektoren jeweils nur einen Sektor, und das war das Beste, was die alten Festplatten leisten konnten.
Jetzt, da moderne Laufwerke so dicht, schnell und intelligent sind, verlangsamt das Lesen / Schreiben von Sektoren jeweils nur einen Sektor den Gesamtdurchsatz.
Der Trick war ... wie können Sie den Gesamtdurchsatz beschleunigen und trotzdem die Kompatibilität mit alten / Standard-Festplattensubsystemen aufrechterhalten? Sie erstellen eine Blockgröße von 4096, die aus acht physischen Sektoren mit 512 Byte besteht. 4096 ist jetzt die minimale Lese- / Schreibübertragung auf / von der Festplatte, wird jedoch in kompatiblen 512-Byte-Spannfuttern an das Betriebssystem übergeben.
Dies bedeutet, dass selbst wenn das System nur einen 512-Byte-Informationssektor benötigt, das Laufwerk acht 512-Byte-Sektoren liest, um diese abzurufen. Wenn das System jedoch die nächsten sieben Sektoren benötigt, werden diese bereits gelesen, sodass keine Festplatten-E / A auftreten müssen. Dies führt zu einer Geschwindigkeitssteigerung des Gesamtdurchsatzes.
Moderne Betriebssysteme können die nativen 4K-Blockgrößen moderner Laufwerke voll ausnutzen.
quelle
parted
, um sowohl die logische als auch die physische Sektorgröße anzuzeigen.grub
Fügt in einer MSDOS-Partitionstabelle zusätzlichen Code zum Booten im BIOS-Modus in den ersten Mibibyte ein. (In einem GPT wirdgrub
eine kleine Partition mit dembios_grub
Flag benötigt, damit dieser Code im BIOS-Modus gestartet werden kann.)Laut Wikipedia "Advanced Format (AF) ist jedes Festplattensektorformat, das zum Speichern von Daten auf Festplatten verwendet wird, die 512, 520 oder 528 Byte pro Sektor überschreiten, z. B. die 4096-Byte-Sektoren eines Advanced Format Drive (AFD)." Advanced Format (AF) ist ein Festplattenformat, das nativ eine Sektorgröße von 4.096 Byte anstelle von 512 Byte verwendet. Um die Kompatibilität mit Legacy-Systemen zu gewährleisten, emulieren AF-Festplatten eine Sektorgröße von 512 Byte.
Ich habe die gleichen Ergebnisse erzielt wie beim Laufen
stat -f
undsmartctl
auf zwei SSDs. Beide SSDs wurden vom Betriebssystem bei der Installation automatisch erkannt und erforderten keine Konfiguration. Es scheint also, dass die erhaltenen Daten die Standardeinstellungen für Blockgröße und Sektorgröße sind.quelle
Alte Hardware und Betriebssysteme verwendeten 512-Byte-Sektoren, seit 2011 hat (fast) die gesamte Speicherhardware 4096 (oder größere ) Byte-Sektoren; Einige Hardware unterstützt jedoch die Emulation von 512-Byte-Sektoren für Legacy-Systeme. Es gibt Ausnahmen, die Samsung 840 EVO SSD hat Blöcke mit einer Größe von 2048 KB .
Für jeden 512-Byte-Block wird ein Fehlerkorrekturcode (ECC) berechnet. Wie Sie sich vorstellen können, benötigen ECC-Daten auch Speicherplatz. Es versteht sich von selbst, dass ein 4096-Byte-Sektor weniger ECC-Informationen benötigt als acht 512-Byte-Chunks, wenn die ECC-Algorithmen unverändert bleiben. Am Ende steigt die Gesamtspeicherkapazität einer Festplatte aufgrund des geringeren ECC-Datenaufwands.
Die Verwendung von 4K-Sektoren ist aus architektonischer Sicht sinnvoll, da andere Kennzahlen (wie x86-Speicherseiten und viele Dateisystemcluster) ebenfalls die Größe von 4 KB verwenden. Das erweiterte Format ermöglicht robustere ECC-Algorithmen, was angesichts der ständig wachsenden Kapazitäten wichtig ist. Controller verwenden zusätzliche Techniken, die über die Fehlerkorrektur hinausgehen, indem sie die Fehlereigenschaften des NAND-Flash-Speichers und das Workload-Verhalten verstehen.
Advanced Format (AF) ist ein beliebiges Festplattensektorformat, das zum Speichern von Daten auf Magnetplatten auf Festplattenlaufwerken (HDDs) verwendet wird und 512, 520 oder 528 Byte pro Sektor überschreitet, z. B. 4096, 4112, 4160 und 4224 Byte ( 4 KB) Sektoren eines Advanced Format Drive (AFD). Größere Sektoren ermöglichen die Integration stärkerer Fehlerkorrekturalgorithmen, um die Datenintegrität bei höheren Speicherdichten aufrechtzuerhalten.
Bei SCSI (SAS) -Datenträgern ist die RAID-Blockgröße aufgrund der standardisierten SCSI T10- Datenintegritätsfelder und der logischen fehlerhaften Blockprüfung, die auf jedem Block mit den Daten gespeichert ist, größer als eine JBOD-Blockgröße . Die SAS-RAID-Adapter unterstützen Festplattenblöcke, die auf 512 Datenbytes oder 4 KByte Daten basieren. Die RAID-Blockgröße für die 512 Festplatten beträgt 528 Byte pro Sektor und die RAID-Blockgröße für die 4K-Festplatten beträgt 4224 Byte pro Sektor.
Da Sie in den Speicher schreiben und keine physische Sektorgröße einer sich drehenden Festplatte, hat dies weniger Auswirkungen als sicherzustellen, dass Ihre Partitionen an der Größe des Löschblocks ausgerichtet sind . Trotzdem ist es am besten, über aktuelle Software und Hardware zu verfügen und eine 4K-Sektorgröße zu verwenden.
Die größere Sektorgröße wird von Intel empfohlen - " Optimale Leistung durch Änderungen der physischen SSD-Sektorgröße erzielen ".
quelle