Was ist der Sinn von Festplatten, die ihre physische Sektorgröße melden?

Ich habe eine SSD, die so konfiguriert werden kann, dass sie ihre physische Sektorgröße auf zwei verschiedene Arten an ein Betriebssystem meldet:

Option 1: Logisch = 512 Bytes, Physisch = 512 Bytes

Option 2: Logisch = 512 Bytes, Physisch = 4096 Bytes (4K)

Welchen Nutzen hat ein Betriebssystem, wenn man sich der physischen 4K-Sektorgröße bewusst ist, wenn man bedenkt:

  • Das Betriebssystem muss in 512-Byte-Sektoren mit dem Laufwerk sprechen unabhängig davon

  • Alle modernen Betriebssysteme richten sich an 4K aus und verwenden 4K oder Vielfache von 4K I/O unabhängig davon

Die Einstellung erscheint sinnlos, da moderne Betriebssysteme bereits für 4K-Sektorlaufwerke optimiert sind. Moderne Betriebssysteme müssen ein Laufwerk nicht "fragen", ob seine Sektoren 512b oder 4K sind, da das Betriebssystem standardmäßig alles auf 4K-freundliche Weise ausführt.

Beispielsweise richtet Windows 7 Partitionen auf 1 MB aus (ein Vielfaches von 4K), NTFS-Clustergröße ist 4K oder ein Vielfaches davon und alle E/A erfolgt in 4K oder mehreren davon. Windows ist es egal, welche Festplatte Sie haben, es wird das obige Verhalten in allen Fällen anwenden.

, Sowieso... meine SSD hat diese Einstellung "Physische Sektorgröße" und muss daher aus gutem Grund vorhanden sein... es ist der Grund dafür, den ich suche.

BTW, für was es Wert ist, das Laufwerk ist ein Intel SSD DC S3510. Das Datenblatt des Laufwerks besagt Folgendes (Seite 27):

Mit dem SCT-Befehl 0xD801 mit State=0, Option=1 kann das ID-Wort 106 von 0x6003 auf 0x4000 geändert werden (4 KB physische Sektorgröße auf 512B Unterstützung der physischen Sektorgröße).

Author: Pang, 2015-10-06

7 answers

Die 512-Byte-Emulation ist für die Kompatibilität mit älteren Systemen vorgesehen. Schreibvorgänge, die nur einen Teil eines physischen 4K-Sektors betreffen, können jedoch zu einer Leistungsminderung führen, da der Sektor gelesen und geändert werden muss, bevor er tatsächlich geschrieben werden kann.

Wenn ein älteres Betriebssystem versucht, auf eine Festplatte im erweiterten Format zu schreiben, können Leistungsprobleme auftreten, da die geschriebenen logischen Sektoren möglicherweise nicht mit den physischen Sektoren übereinstimmen.

  • Wenn nur ein Teil eines 4K physischen sektor gelesen wird, werden die Daten einfach aus dem physischen Sektor gelesen und es gibt keine Leistungsminderung. Wenn das System jedoch versucht, einen Teil eines physischen Sektors (z. B. einen emulierten 512-Byte-Sektor und nicht den gesamten physischen Sektor) in zu schreiben, muss die Festplatte den gesamten physischen Sektor lesen Ändern Sie den geänderten Teil im internen Speicher der Festplatte und schreiben Sie ihn zurück auf die Platten. Das heißt read-modify-write (RMW), eine operation, die erfordert eine zusätzliche Drehung der Festplatte und reduziert daher die Leistung. Seagate, erklärt dies wie folgt:

[...] die Festplatte muss zuerst den gesamten 4K-Sektor lesen, der den Zielort der Host-Schreibanforderung enthält, die vorhandenen Daten mit den neuen Daten zusammenführen und dann den gesamten 4K-Sektor neu schreiben:

Lesen-ändern-schreiben zyklus

In diesem Fall muss die Festplatte zusätzliche mechanische Schritte in Form des Lesens eines 4K ausführen sektor, Ändern des Inhalts und dann Schreiben der Daten. Dieser Prozess wird als Lese-Schreib-Schreib-Zyklus bezeichnet, was unerwünscht ist, da er sich negativ auf die Festplattenleistung auswirkt.

Festplattenpartitionen, die nicht an einer 4K-Grenze ausgerichtet sind, können ebenfalls zu Leistungseinbußen führen.

  • Traditionell beginnt die erste Partition auf einer Festplatte bei Sektor 63. Windows XP und ältere Betriebssysteme partitionierten Festplatten auf diese Weise. Neuere Versionen von Windows erstellen Sie Partitionen an einer 1-MB-Grenze, um eine ordnungsgemäße Ausrichtung auf die physischen Sektoren sicherzustellen. Dies nennt man Alignment 0.

  • Weil LBA 63 kein Vielfaches von 8 (acht 512 Byte) ist legacy-Sektoren passen in einen 4K-Sektor), eine erweiterte Formatdiskette, die auf die alte Weise formatiert ist, hat Cluster (die kleinste Einheit der Dateisystemdatenzuweisung, normalerweise 4K), die nicht an den physischen Sektoren auf einer 4K-Disk ausgerichtet sind, eine Bedingung namens Ausrichtung 1. Infolgedessen überspannt eine E / A-Operation, bei der ansonsten Daten übertragen werden, jetzt zwei Sektoren, was zu einer Lese-Schreib-Schreiboperation führt, die die Leistung verringert.

Während Informationen über die physische Sektorgröße ist nicht erforderlich Wenn das Betriebssystem immer Daten an einer 4K-Grenze schreibt, können diese Informationen weiterhin von Anwendungen benötigt werden, die Low-Level-E/A ausführen

  • Wenn ein Laufwerk meldet, dass seine physische Sektorgröße 4K beträgt, kann das Betriebssystem oder die Anwendung feststellen, dass es sich um ein Laufwerk im erweiterten Format handelt, und muss daher vermeiden, E/A-Vorgänge auszuführen, die sich nicht über vollständige physische Sektoren erstrecken. Ein Laufwerk, das native 512-Byte-Sektoren meldet, schreibt diese Einschränkung nicht vor. Während neueren Betriebs systeme werden in der Regel versuchen, Daten in 4K-Einheiten zu lesen oder zu schreiben, wann immer dies möglich ist (was diese Informationen irrelevant macht), Anwendungen, die Low-Level-E/A durchführen, müssen möglicherweise die physische Sektorgröße kennen, damit sie sich entsprechend anpassen und falsch ausgerichtete oder Teilsektorschreibvorgänge vermeiden können, die langsame RMW-Zyklen verursachen.

Ihre SSD bietet die Möglichkeit, die gemeldete physische Sektorgröße zu ändern, da sie für die Kompatibilität mit bestimmten Speichern erforderlich ist Array.

  • Rechenzentren verfügen häufig über Speicherarrays, die aus älteren 512n-Laufwerken bestehen. 4K-Laufwerke, selbst solche, die 512-Byte-Sektoren emulieren, sind möglicherweise nicht mit solchen Arrays kompatibel, daher ist diese Funktion erforderlich, um die Kompatibilität sicherzustellen. Siehe dieses Forum Thread:

    Wir können nicht einfach ein 4K-Laufwerk in ein Array stecken, das mit 512b-Festplatten formatiert ist. Viele Arrays (insbesondere ZFS-basierter Speicher, der immer beliebter wird, da Software Defined Storage Wellen schlägt) werden kein Ersatzlaufwerk mit einem anderen physischen Sektorformat akzeptieren.

    Beachten Sie, dass auf modernen Systemen eine bessere Leistung erzielt wird, wenn das Laufwerk für die Verwendung von 4K-Sektoren konfiguriert ist.

 16
Author: bwDraco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-20 10:04:39

Welchen Vorteil hat ein Betriebssystem, wenn es sich der physischen Sektorgröße bewusst ist, wenn das Betriebssystem unabhängig davon in 512-Byte-Sektoren mit dem Laufwerk sprechen muss?

Die logische Größe ist eine Mindestgröße, um Daten zu übertragen. Da dies ein Blockgerät ist, wird jede Datenübertragung zwischen Host-Computer und Laufwerk in Vielfachen dieser logischen Blockgröße sein.

Die physikalische Größe ist eine optimale Größe, um Daten zu übertragen, und spiegelt die Größe des tatsächlichen gelesenen wider und write Operationen auf der Ebene Controller / drive.

Wenn der Hostcomputer einen Lesevorgang eines logischen Sektors anfordert, führt der Controller/das Laufwerk einen Lesevorgang des physischen Sektors aus, der den logischen Sektor enthält.
Wenn die logische Sektorgröße der physischen Sektorgröße entspricht, ist die Bedienung einfach. Wenn die logische Sektorgröße kleiner als die physische Sektorgröße ist, muss der logische Sektor von der Steuerung aus dem physischen Sektor extrahiert werden für übertragung auf den Host-Computer.

Wenn der Hostcomputer einen Schreibvorgang für einen logischen Sektor anfordert, ist die Größe des physischen Sektors wichtig.
Wenn die logische Sektorgröße der physischen Sektorgröße entspricht, ist der Schreibvorgang einfach und kann direkt fortgesetzt werden. Der Zustand des vorherigen Inhalts des Sektors hat keinen Einfluss auf den Schreibvorgang.

Wenn die logische Sektorgröße kleiner als die physische Sektorgröße ist, muss der Controller zuerst eine Leseoperation von der physische Sektor, der den logischen Sektor enthält.
Wenn der Lesevorgang erfolgreich ist, wird der logische Sektor in den physischen Sektor eingefügt und der physische Sektor wird in seinen Namen geschrieben.
Wenn der Lesevorgang nicht erfolgreich ist (auch nach wiederholten Versuchen), kann der Schreibvorgang nicht abgeschlossen werden.

Wenn das Betriebssystem die Lese-und Schreibvorgänge mit der physischen Sektorgröße ausführt (unter Verwendung der im ATAPI-Befehlssatz verfügbaren Multisektoroperationen), lauten die Schreibvorgänge effizienter durchgeführt (und ohne unnötige Chance auf Unvollständigkeit).

Die logische Sektorgröße definiert vollständig, wie ein Betriebssystem mit einem Laufwerk sprechen kann. Keine Ausnahmen. Was nützt es, die physische Sektorgröße zu kennen, wenn Sie nur in logischer Sektorgröße kommunizieren dürfen?

Ihre Behauptung von "keine Ausnahmen" ist falsch.
Der ATAPI-Befehlssatz, der mit der IDE-Festplatte eingeführt wurde, konnte immer Lesen und Schreiben Operationen mit einem sector count - parameter. Dies ist lediglich eine Erweiterung bestehender Festplatten-und Floppy-Controller-Schnittstellen, die auch sektorübergreifende Lese - /Schreibvorgänge ausführen konnten (solange sich die Sektoren auf derselben Spur befanden).

 5
Author: sawdust,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-10-06 02:16:59

Wenn das Betriebssystem die zugrunde liegende physische Sektorgröße kennt, kann es seine Abfragen so optimieren, dass so wenig physische Vorgänge wie möglich erforderlich sind. Insbesondere bei SSDs ist das physikalische Betriebslimit (4KB IOPS-Limit) oft die ultimative Grenze der Gerätegeschwindigkeit, daher ist es wichtig, diese Kapazität optimal nutzen zu können.

 3
Author: David Schwartz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-10-06 01:29:01

Es gibt zwei verschiedene Möglichkeiten, auf einen Speicherort innerhalb eines Laufwerks zuzugreifen: Eine ist das CHS-Schema und die andere das LBA-Schema.

CHS steht für Zylinder, Kopf, Sektor und ist die niedrigste Methode, um zu bestimmen, wo vom Laufwerk gelesen oder geschrieben werden soll. Sie weisen es an, Zylinder x, Kopf y und Sektor z zu verwenden und den Inhalt dieses Speicherorts an oder von einer Adresse im Speicher (einem Puffer) zu lesen oder zu schreiben. Es wird von den tatsächlichen, physikalischen Komponenten eines (traditionellen, Spinnen) abgeleitet 4) Festplatte, auf der Sie physische Zylinder und Leseköpfe haben. Der Sektor ist die kleinste adressierbare Einheit und wurde traditionell auf 512 Byte festgelegt.

LBA ist eine logische Byte-Adressierung, bei der das Laufwerk von einer Sektoradresse liest und in diese schreibt, indem es beispielsweise den 1238-ten Sektor auf der Festplatte liest oder diesen in den 123734-ten Sektor auf der Festplatte schreibt (beginnend mit Null).

Das problem? Jeder dieser Werte ist im Bereich begrenzt. In der Tat, wegen wie stark begrenzte CHS war, musste LBA eingeführt werden. Für CHS sind die möglichen Werte für C (den Zylinder) 1023, während H (Köpfe) maximal 255 sein kann und S (Sektor) nur bis 63 gehen kann, was bedeutet, dass Sie höchstens 1024 Zylinder x 255 Köpfe x 64 Sektoren x 512 Bytes haben können abgebildet im traditionellen CHS-Format, was Ihnen eine Gesamtsumme von unter 8 GiB gibt! Mit CHS ist es einfach nicht möglich, auf eine Festplatte mit mehr als 8 GiB zuzugreifen!

Also wurde LBA mit einem 32-Bit-Limit eingeführt, das Ihnen 2^32 x 512 Bytes oder 2 TiB Limit gibt on disk size - Dies ist der Grund, warum eine MBR-Festplatte 2TiB nicht überschreiten kann, da sie CHS und LBA verwendet, um Partitionsgrößen anzugeben, und keine kann etwas über 2TiB unterstützen.

Neuere, bessere Optionen wurden eingeführt, wie das GPT-Partitionierungsschema, das LBA auf 64 Bit erweitert und Ihnen viel mehr gibt, als Sie jemals bei 2^64 x 512 Bytes benötigen werden - aber Es gibt einen Haken: viele Legacy-Hardware und Legacy-Betriebssysteme und Legacy-BIOS-Implementierungen und Legacy-Treiber unterstützen Sie UEFI oder GPT nicht, und viele Leute möchten etwas haben, das einfacher aktualisiert werden kann, um das 2TiB-Limit zu überschreiten, ohne den gesamten Stapel von Grund auf neu schreiben zu müssen. Und endlich erreichen wir die 4096-Sektorgröße.

Siehe, während aller oben diskutierten Einschränkungen war eine Sache eine feste Annahme: die Sektorgröße. Vom ersten Tag an waren es 512 Bytes und seitdem ist es so geblieben. Aber vor kurzem haben Festplatten-Hersteller erkannt, dass es eine gelegenheit, etwas Magie zu wirken: Nehmen Sie das traditionelle CHS oder 32-Bit-LBA und ersetzen Sie einfach die Sektorgröße durch 4096 (4k) anstelle von 512 Bytes. Wenn ein Betriebssystem "Gib mir den 2.Sektor auf der Festplatte" sagt, indem es LBA 1 anfordert (weil LBA 0 der erste ist), geben wir ihm keine Bytes 512 - 1023, sondern Bytes 4096 - 8191.

Plötzlich wird unser 2TiB-Limit auf 2^32 x 4096 Bytes oder 16 TiB aufgerüstet, ohne MBR fallen zu lassen, zu UEFI oder GPT oder irgendetwas zu wechseln!

Der einzige Haken ist wenn das Betriebssystem nicht weiß, dass dies eine magische Festplatte ist, die 4096 Sektoren anstelle von 512-Byte-Sektoren verwendet, wird es zu einer Nichtübereinstimmung kommen. Jedes Mal, wenn das Betriebssystem sagt "Hey, Sie, Festplatte, schreiben Sie mir diese 512 Bytes, um xxx auszugleichen", verwendet die Festplatte bis zu 4096 Bytes, um diese 512 Bytes zu speichern(der Rest sind Nullen oder Junk-Daten, vorausgesetzt, Sie haben keinen Speicherunterlauf), weil sie nicht in Bytes kommunizieren, sondern in Sektoren.

Also enthalten BIOSes jetzt (manchmal) eine Option damit Sie manuell angeben können, dass eine 512-Byte - Sektorgröße anstelle der nativen 4096-Byte-Sektorgröße verwendet werden soll, die neuere Festplatten verwenden-mit dem Vorbehalt, dass Sie damit nicht auf mehr als 2TiB der Festplatte zugreifen können Festplatte auf einem MBR-System, genau wie in den "guten alten Zeiten."Aber moderne Betriebssysteme, die 4k-fähig sind, können all dies nutzen, um diese Magie zum Lesen und Schreiben in 4096-Byte-Chunks und Voilà zu nutzen!

(Ein zusätzlicher Vorteil ist, dass die Dinge viel schneller sind, denn wenn Sie lesen und schreiben 4096 bytes zu einer zeit, es ist weniger operationen zu lesen oder schreiben, sagen, 4GiB von daten.)

 1
Author: Mahmoud Al-Qudsi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-10-06 00:42:46

512/4096 = OS verantwortlich für Ausrichtung / Optimierung,

512/512 = Dafür verantwortliches Laufwerk

Siehe auch : http://support.microsoft.com/en-us/kb/2510009

 1
Author: Joe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-08-27 06:26:56

Ich wollte Sie nur über eine Situation informieren, in der 4K-Sektoren für moderne Betriebssysteme ein Problem darstellen.

Microsofts VSS Writer (Shadow Copy) funktioniert nicht gut mit 4K-Sektoren. Um einen DFS Replication Share Ordner zu sichern, muss unsere Backup Software "Backup Exec" eine Schattenkopie des DFS Replicated Ordners erstellen. Der Job schlägt fehl, wenn sich der DFS-Replikationsordner auf einem Laufwerk mit 4K-Sektoren befindet, da VSS mit 4K-Sektoren nicht ordnungsgemäß funktioniert.

Jim

 0
Author: Jim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-08-22 17:21:55

Physisch bedeutet das des tatsächlichen Laufwerks selbst, während logisch das der definierten Unterteilungen darin ist. Von PC Mag ' s Logische vs. Physische:

Auf einem Windows-PC ist eine einzelne physische Festplatte Laufwerk 0; Sie kann jedoch in mehrere logische Laufwerke unterteilt werden, z. B. C:, D: und E:.

Um dies in einer verdaulichen Form zu erklären, stellen Sie sich einen Apfel vor, der die Breite Ihrer Hand hat. Das ist die tatsächliche physische Größe des Apfels. Natürlich ein ganzer Apfel passt nicht in deinen Mund, also entscheidest du dich, es in gleiche Scheiben zu schneiden, wobei jede Scheibe die Breite deines Fingers ist. Dies ist die logische Größe oder Größe, die Ihr Computer verwendet.

Mehrere Gründe dafür sind Berechnungen der realen Kapazität und Fehlerzuordnung und-korrektur, wie von Wikipedia erklärt:

Typische Festplatten versuchen, die Daten in einem physischen Sektor neu zuzuordnen, der nicht in einem physischen Ersatzsektor vorhanden ist, der vom "Ersatz" des Laufwerks bereitgestellt wird sektorpool "(auch"Reservepool" genannt),[41] unter Berufung auf den ECC, um gespeicherte Daten wiederherzustellen, während die Fehlermenge in einem fehlerhaften Sektor immer noch niedrig genug ist. Die S. M. A. R. T-Funktion (Self-Monitoring, Analysis and Reporting Technology) zählt die Gesamtzahl der von ECC behobenen Fehler auf der gesamten Festplatte (wenn auch nicht auf allen Festplatten, da die zugehörigen S. M. A. R. T-Attribute "Hardware ECC Recovered" und "Soft ECC Correction" nicht konsistent unterstützt werden) und die Gesamtzahl der durchgeführten Sektorkorrekturen. remappings, da das Auftreten vieler solcher Fehler einen Festplattenausfall vorhersagen kann.

So wie Sie keine Apfelscheiben ohne den Apfel selbst haben können, können Sie keine Scheiben ohne den physischen Apfel als Basis haben.

 -3
Author: xCare,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-10-06 00:42:10