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

11897
misha256

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

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

Option 2: Logisch = 512 Bytes, Physikalisch = 4096 Bytes ( 4 KB)

Welchen Nutzen hat ein Betriebssystem, wenn es die physische Größe des 4K-Sektors berücksichtigt, wenn man Folgendes berücksichtigt:

  • Das Betriebssystem muss ungeachtet dessen in 512-Byte-Sektoren mit dem Laufwerk kommunizieren

  • Alle modernen Betriebssysteme sind auf 4K ausgelegt und verwenden unabhängig davon 4K oder ein Vielfaches von 4K I / O

Die Einstellung scheint zwecklos, da moderne Betriebssysteme bereits für 4K-Sektorlaufwerke optimiert sind. Moderne Betriebssysteme müssen ein Laufwerk nicht "fragen", ob es sich um 512b oder 4K-Sektoren handelt, da das Betriebssystem standardmäßig alles 4K-freundlich erledigt.

Beispielsweise richtet Windows 7 die Partitionen auf 1 MB (ein Vielfaches von 4 KByte) aus, die Größe des NTFS-Clusters beträgt 4 KByte oder ein Vielfaches davon, und alle E / A-Vorgänge erfolgen in 4 KByte oder einem Vielfachen davon. Windows macht sich keine Gedanken darüber, welche Festplatte Sie haben, es wird in jedem Fall das obige Verhalten angewendet.

Wie auch immer ... meine SSD hat diese Einstellung für "physische Sektorgröße" und muss daher aus gutem Grund da sein ... es ist der Grund, nach dem ich suche.

Übrigens, für das was es wert ist, ist das Laufwerk eine Intel SSD DC S3510 . Das Datenblatt des Laufwerks sagt dies (Seite 27):

Wenn Sie den SCT-Befehl 0xD801 mit State = 0, Option = 1 verwenden, kann das ID-Wort 106 von 0x6003 auf 0x4000 geändert werden (physikalische Sektorgröße von 4 kB auf physikalische Änderung der 512B-Sektorgröße).

12
[4096 Bytes ist das Advanced-Format] (http://www.seagate.com/tech-insights/advanced-format-4k-sector-hard-drives-master-ti/) Festplatten mit Advanced-Format können dies tun, je nachdem das Betriebssystem, wenn die Festplatte 512 KB emuliert Moab vor 8 Jahren 0
Speicherschnittstellen sind eine Fundgrube alter Entscheidungen ... "4 KB Größe des physischen Sektors" trifft ebenfalls nicht zu. Flash hat physische Sektorgrößen, die normalerweise 256 kB überschreiten. Alle gemeldeten Sektorgrößen sind (il) logisch. MSalters vor 8 Jahren 1

7 Antworten auf die Frage

14
bwDraco

Die 512-Byte-Emulation ist für die Kompatibilität mit älteren Systemen gedacht. Schreibvorgänge, die nur einen Teil eines physischen 4K-Sektors betreffen, können jedoch die Leistung beeinträchtigen, da der Sektor gelesen und modifiziert werden muss, bevor er tatsächlich geschrieben werden kann.

Wenn ein älteres Betriebssystem versucht, auf einen Advanced-Format-Datenträger zu schreiben, können Leistungsprobleme auftreten, da die geschriebenen logischen Sektoren möglicherweise nicht mit den physischen Sektoren übereinstimmen.

  • Wenn nur ein Teil eines physischen 4K-Sektors gelesen wird, werden die Daten einfach vom physischen Sektor abgelesen, und die Leistung wird nicht beeinträchtigt. Wenn das System jedoch versucht, in einen Teil eines physischen Sektors zu schreiben (z. B. in einen emulierten 512-Byte-Sektor und nicht in den gesamten physischen Sektor), muss die Festplatte den gesamten physischen Sektor lesen und den geänderten Teil im internen Festplattenlaufwerk ändern Speicher, und schreiben Sie es zurück zu den Platten. Dies wird als Read-Modify-Write ( RMW ) bezeichnet, eine Operation, die eine zusätzliche Rotation der Platte erfordert und daher die Leistung verringert. 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:

Zyklus zum Lesen, Ändern und Schreiben

In diesem Fall muss das Festplattenlaufwerk zusätzliche mechanische Schritte in der Form des Lesens eines 4K-Sektors ausführen, den Inhalt ändern und dann die Daten schreiben. Dieser Vorgang wird als Read-Modify-Write-Zyklus bezeichnet. Dies ist unerwünscht, da dies die Festplattenleistung negativ beeinflusst.

Festplattenpartitionen, die nicht an einer 4K-Grenze ausgerichtet sind, können ebenfalls die Leistung beeinträchtigen.

  • 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 Partitionen auf einer 1-MB-Grenze, um eine korrekte Ausrichtung auf die physischen Sektoren sicherzustellen. Dies wird als Alignment 0 bezeichnet .

  • Da es sich bei LBA 63 nicht um ein Vielfaches von 8 handelt (acht 512-Byte-Legacy-Sektoren passen in einen 4K-Sektor), verfügt eine Advanced-Format-Disk, die auf die alte Weise formatiert ist, über Cluster (die kleinste Einheit der Dateisystem-Datenzuweisung, normalerweise 4K,) ), die nicht an den physischen Sektoren auf einer 4K-Platte ausgerichtet sind, eine Bedingung, die als Ausrichtung 1 bezeichnet wird . Infolgedessen umfasst eine E / A-Operation, die ansonsten 4 KB Daten beinhaltet, nun zwei Sektoren, was zu einer Lese-Modifizierungs-Schreiboperation führt, die die Leistung verringert.

Während Informationen über die physische Sektorgröße nicht erforderlich sind, wenn das Betriebssystem immer Daten an einer 4K-Grenze schreibt, werden diese Informationen möglicherweise noch von Anwendungen benötigt, die E / A auf niedriger Ebene ausführen.

  • Wenn ein Laufwerk meldet, dass die Größe seines physischen Sektors 4 K beträgt, kann das Betriebssystem oder die Anwendung feststellen, dass es sich um ein Laufwerk mit Advanced Format handelt. Daher müssen E / A-Vorgänge vermieden werden, die nicht die gesamten physischen Sektoren umfassen. Ein Laufwerk, das native 512-Byte-Sektoren meldet, erlegt diese Einschränkung nicht auf. Während neuere Betriebssysteme normalerweise versuchen, Daten in 4K-Einheiten zu lesen oder zu schreiben, wenn dies möglich ist (wodurch diese Informationen irrelevant werden), müssen Anwendungen, die E / A auf niedriger Ebene ausführen, möglicherweise die physikalische Sektorgröße kennen, damit sie sich entsprechend anpassen und eine falsche Ausrichtung vermeiden können oder Teilsektorschreibvorgänge, die langsame RMW-Zyklen verursachen.

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

  • Datencenter 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 zur Gewährleistung der Kompatibilität erforderlich. Siehe diesen Forumsthread :

    Wir können nicht einfach ein 4K-Laufwerk in ein Array stecken, das mit 512B-Festplatten formatiert ist. Viele Arrays (vor allem ZFS-basierter Speicher, der immer beliebter wird, da durch Software definierter Speicher Wellen erzeugt), akzeptieren keine Ersatzlaufwerke mit einem anderen physischen Sektorformat.

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

Die Ironie ist, dass Betriebssysteme, die nicht wissen, wie sie richtig ausgerichtet werden sollen, nicht in der Lage sind, eine Festplatte nach "physikalischer Sektorgröße" abzufragen. Betriebssysteme, die wissen, wie sie richtig ausgerichtet werden, müssen eine Festplatte nicht nach "physischer Sektorgröße" abfragen, da sie standardmäßig ordnungsgemäß ausgerichtet sind. ZB Windows ist auf 1 MB ausgerichtet. misha256 vor 8 Jahren 0
Ich muss sagen ... ich bin verärgert. Ich habe noch nie ein Laufwerk gesehen, mit dem Sie die Berichteinstellung "physikalische Sektorgröße" ändern können. Ich kann nicht verstehen, warum eine solche Einstellung vorhanden sein muss, wenn man bedenkt, dass die einzigen Optionen 512b und 4K sind und dass moderne Betriebssysteme alles auf 4K-Ebene ausführen, unabhängig davon, welche Art von Laufwerk Sie verwenden. misha256 vor 8 Jahren 1
Dies ist wahrscheinlich die beste Antwort, aber trotzdem denke ich, es ist an der Zeit, einen Intel-Ingenieur ausfindig zu machen und eine aussagekräftige Antwort zu erhalten. Scheint eine sehr esoterische Sache zu sein. misha256 vor 8 Jahren 0
Windows richtet * neue * Partitionen aus, aber beim Aktualisieren von XP auf 7 werden die Partitionen nicht rückwirkend korrigiert. Und XP ist noch nicht tot. Ich habe hier ein Kassensystem, das Embedded XP von einer SSD aus ausführt. Ich vermute, Intel hatte einen Kunden, der eine Million SSDs benötigte, die XP unterstützten. pjc50 vor 8 Jahren 0
Diese Antwort ist zwar für Festplatten relevant, jedoch für SSDs irrelevant. SSD-Schreib- / Lösch-Blockgrößen betragen mehrere Megabyte, sodass selbst die physischen 4-KByte-Größen nicht der tatsächlichen physischen Sektorgröße nahekommen. qasdfdsaq vor 8 Jahren 2
Die @ qasdfdsaq-Schreibgröße stimmt nicht unbedingt mit der Löschgröße überein. 4K ist die Granularität der Blockverfolgung "in Verwendung". Mittlerweile bin ich überzeugt, dass der letzte Teil dieser Antwort zu ZFS der richtige ist: https://utcc.utoronto.ca/~cks/space/blog/tech/IntelDCSSDSectorSizeMistake pjc50 vor 8 Jahren 1
Ein Artikel über RAID-Controller, die 4K nicht unterstützen: http://serverfault.com/questions/593742/upgrading-raid-controller-to-4kn-do-i-have-to-reinitialize-the-array-to-use-4k pjc50 vor 8 Jahren 0
Ausgezeichnete Antwort, ich schätze Ihre Forschungsanstrengungen und dafür, dass Sie mich auf das ZFS-Debakel aufmerksam gemacht haben. misha256 vor 8 Jahren 0
5
sawdust

Welchen Nutzen hat ein Betriebssystem, wenn es sich der physischen Sektorgröße bewusst ist, wenn das Betriebssystem ungeachtet dessen in 512-Byte-Sektoren mit dem Laufwerk sprechen muss.

Die logische Größe ist eine Mindestgröße für die Datenübertragung. Da es sich um ein Blockgerät handelt, erfolgt die Datenübertragung zwischen Hostcomputer und Laufwerk in Vielfachen dieser logischen Blockgröße.

Die physische Größe ist eine optimale Größe für die Datenübertragung und spiegelt die Größe der tatsächlichen Lese- und Schreibvorgänge auf Controller- / Laufwerksebene wider .

Wenn der Host-Computer einen Lesevorgang eines logischen Sektors anfordert, führt der Controller / das Laufwerk eine Leseoperation des physischen Sektors aus, der den logischen Sektor enthält.
Wenn die logische Sektorgröße gleich der physischen Sektorgröße ist, ist die Operation einfach. Wenn die Größe des logischen Sektors geringer ist als die Größe des physischen Sektors, muss der logische Sektor vom Controller für die Übertragung an den Hostcomputer aus dem physischen Sektor extrahiert werden.

Wenn der Host-Computer ein Schreiben eines logischen Sektors anfordert, ist die Größe des physischen Sektors von Bedeutung.
Wenn die Größe des logischen Sektors gleich der Größe des physischen Sektors ist, ist der Schreibvorgang einfach und kann direkt fortgesetzt werden. Die Bedingung des vorherigen Inhalts des Sektors wird die Schreiboperation nicht beeinflussen.

Wenn die Größe des logischen Sektors geringer ist als die Größe des physischen Sektors, muss der Controller zuerst eine Leseoperation des physischen Sektors durchführen, der den logischen Sektor enthält.
Wenn das Lesen erfolgreich ist, wird der logische Sektor in den physischen Sektor eingefügt, und der physische Sektor wird vollständig geschrieben.
Wenn das Lesen nicht erfolgreich ist (auch nach erneuten Versuchen), kann der Schreibvorgang nicht abgeschlossen werden.

Wenn das Betriebssystem die Lese- und Schreiboperationen mit der physischen Sektorgröße ausführt (unter Verwendung der im ATAPI-Befehlssatz verfügbaren Multisektoroperationen), werden die Schreiboperationen effizienter ausgeführt (und ohne unnötige Möglichkeit einer Unvollständigkeit).

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

Ihre Behauptung "keine Ausnahmen" ist falsch.
Der ATAPI-Befehlssatz, der mit der IDE-Festplatte eingeführt wurde, war immer in der Lage, Lese- und Schreibvorgänge mit einem sector countParameter auszuführen . Dies ist lediglich eine Erweiterung bestehender Festplatten- und Disketten-Controller-Schnittstellen, die auch Lese- / Schreibvorgänge für mehrere Sektoren ausführen konnten (sofern sich die Sektoren auf derselben Spur befinden).

Dies könnte die richtige Antwort sein, aber ich bin immer noch nicht überzeugt. Moderne Betriebssysteme arbeiten mit Dateisystemen und E / A-Blockgrößen von 4K und Vielfachen von 4K. Sie sind * bereits * für die Verwendung mit Festplatten mit physischen 4K-Sektoren optimiert. Darüber hinaus sind die verwendeten E / A-Blockgrößen * noch * 4K und Vielfache von 4K, selbst auf einer physischen 512-Bit-Festplatte. Was gibt?! misha256 vor 8 Jahren 0
Bingo! Der `Sektorenzahl'-Parameter, von dem Sie sprechen ... selbst das alte Windows XP liest / schreibt in E / A-Blockgröße von '8'-Sektoren oder Vielfachen davon. Es ist bereits vollständig optimiert! Das ist der Grund, warum XP mit SSDs extrem gut funktioniert, solange die Partition ausgerichtet ist. Es ist extrem freundlich 4K. Die Frage bleibt also immer noch unbeantwortet. Was kann ein Betriebssystem mehr als 4K wissen, wenn es die physikalische Sektorgröße kennt? Denken Sie daran, dass das Betriebssystem * bereits * für 4K-E / A optimiert ist. misha256 vor 8 Jahren 0
@ misha256 Wenn das Betriebssystem standardmäßig alle Lese- und Schreibvorgänge in Vielfachen der physischen Sektorgröße * und * ausführt, werden diese Lese- und Schreibvorgänge an den physischen Sektorgrenzen ausgerichtet. Ja, diese Informationen sind nicht so nützlich, da sie das Verhalten nicht ändern. Wenn nicht, können die Informationen verwendet werden, um die Leistung der Platten-E / A zu verbessern. Ross Ridge vor 8 Jahren 0
* "Sie sind bereits optimiert ..." * - Nicht unbedingt. Der "Start" -Sektor müsste immer auf einen physischen Sektor ausgerichtet sein. Dies ist nicht garantiert, wenn das Betriebssystem physische und logische Sektoren nicht kennt, sondern lediglich versucht, durch den Einsatz von Multisektoroperationen effizienter zu sein. sawdust vor 8 Jahren 1
@ RossRidge Ich höre dich, was du sagst, ist sinnvoll. Im Fall meiner SSD ist der * einzige * spürbare Vorteil, den ich jemals sehen konnte, dass das "4K Physical Sector Reporting" ein modernes Betriebssystem dazu anregen könnte, Partitionen korrekt auszurichten. Windows richtet sich unabhängig von 1 MB (natürlich ein Vielfaches von 4 K) aus, sodass ich am Ende des Tages keinen Vorteil habe. Die SSD unterstützt jedoch das Ändern der Einstellung. Und nur zwei Möglichkeiten! 512b und 4K. Sheesh Was ist der Sinn. misha256 vor 8 Jahren 0
@sawdust Wenn Sie ein 4K-Dateisystem wie NTFS (oder mehrere 4K-Dateien) auf einer ausgerichteten Partition verwenden (dies ist bei Windows Vista oder höher garantiert), werden Sie NIEMALS falsch ausgerichtete Lese- und Schreibvorgänge sehen. Der "Start" -Sektor wird per Definition immer perfekt an den Start eines physischen Sektors angepasst. misha256 vor 8 Jahren 0
@ misha256 Nein, so einfach ist das nicht. "Windows XP, Windows Server 2003 und Windows Server 2003 R2 unterstützen keine 512e - oder 4Kn - Medien. Während das System möglicherweise hochfährt und nur minimal betrieben werden kann, kann es zu unbekannten Szenarien mit Funktionsproblemen, Datenverlust oder nicht optimalem Betrieb kommen Leistung. Daher warnt Microsoft ausdrücklich vor der Verwendung von 512e-Medien mit Windows XP ... "https://msdn.microsoft.com/en-us/library/windows/desktop/hh848035(v=vs.85).aspx Ross Ridge vor 8 Jahren 2
@ RossRidge Nein, das stimmt nicht. Windows XP / 2003 unterstützt jedes Laufwerk, das eine 512-Byte-Schnittstelle für logische Sektoren bereitstellt. Sie interpretieren das Dokument falsch. Alles, was Sie für eine optimale Leistung tun müssen, ist die korrekte Ausrichtung der Partitionen. Einige "Vorsichtshinweise" von MS sind sehr irreführend. misha256 vor 8 Jahren 0
@ misha256 - Sie wählen die Bedingungen aus und verkünden dann, dass diese Informationen unter allen Umständen unbrauchbar sind. Nicht jeder wird eine solche SSD mit Windows und NTFS und> 4k-Clustern verwenden. * "NTFS unterstützt nicht einmal weniger als 4K E / A" * - Nicht wahr. Clustergrößen von 512, 1024 und 2048 Bytes sind immer noch Optionen in meiner (aktuellen) Kopie von Win7 für NTFS. . . sawdust vor 8 Jahren 2
@ misha256 Wenn Sie es besser wissen als alle anderen, einschließlich Microsoft, warum verschwenden Sie dann unsere Zeit? Ross Ridge vor 8 Jahren 0
@ RossRidge Ich weiß es nicht besser. Deshalb frage ich. Die meisten Antworten und Kommentare hier beziehen sich nicht auf den Kern der Frage. Intel hat diese Einstellung aus einem bestimmten Grund auf meine SSD gestellt. Nicht viele Laufwerke haben diese Einstellung. Viele SSDs melden 512b logisch UND 512b physisch, obwohl sie * 4K * sind. Moderne Betriebssysteme haben mit solchen Laufwerken kein Problem. Es wird einen verdammt guten Grund für die Berichterstattung nach physischer Sektorgröße geben, und ich möchte wissen, was dieser Grund ist. Wenn nicht von diesem Forum aus, dann werde ich mich direkt an Intel wenden. misha256 vor 8 Jahren 0
@sawdust OK true, für bestimmte Laufwerksgrößen können Sie Sektorgrößen unter 4K manuell * erzwingen *. Dies wäre jedoch eine gezielt manuelle Bedienung, die Sie vornehmen. In allen anderen Fällen ist das Betriebssystem mit 4K oder einem Vielfachen von 4K kompatibel. misha256 vor 8 Jahren 0
3
David Schwartz

Wenn das Betriebssystem die zugrunde liegende physische Sektorgröße kennt, kann es seine Abfragen optimieren, um so wenig physische Operationen wie möglich zu erfordern. Insbesondere bei SSDs ist die physikalische Betriebsgrenze (4 KB IOPS-Grenze) oft die ultimative Grenze der Gerätegeschwindigkeit. Daher ist es wichtig, diese Kapazität optimal nutzen zu können.

Argh, das kann nicht richtig sein. Moderne Betriebssysteme sind * inhärent * optimiert. Alle verwenden Dateisysteme mit "Block" - Größen (auch als Cluster bezeichnet), die 2 ^ n Bytes sind und bei 2 ^ 12 beginnen (dh 4K, denken Sie an den NTFS - Standard). Daraus folgt, dass alle E / A-Vorgänge ein Vielfaches von 4K sind. Ob eine Festplatte physikalisch * 512-Byte oder 4K ist, sollte keinen Unterschied machen. Sie können nicht weiter optimieren, sicher? misha256 vor 8 Jahren 0
Was ist, wenn das Betriebssystem die Ausrichtung nicht richtig ausführt und eine E / A-Operation in zwei physischen Sektoren abläuft? Sie würden die Leistung beeinträchtigen. bwDraco vor 8 Jahren 0
@ misha256 Es gibt keine Inkompatibilität zwischen dem, was Sie gesagt haben, und dem, was ich gesagt habe. Es stimmt, dass die meisten Dateisysteme nicht nur über die richtige Ausrichtung verfügen, sondern auch von der Kenntnis der physischen Sektorgröße nicht viel profitieren. Einige Datenbanken tun dies. David Schwartz vor 8 Jahren 1
@DavidSchwartz Richtig, ok, also kann dies alles für einige esoterische Betriebssysteme oder Dateisysteme sein, die in Rechenzentren oder dergleichen verwendet werden. Einige ausgefallene RAID-Arrays vielleicht? misha256 vor 8 Jahren 0
Es scheint sich um Nicht-Windows ("esoterische") Betriebssysteme und RAID-Controller zu handeln. pjc50 vor 8 Jahren 0
@ misha256 Nun, der wichtigste Faktor für typische Systeme ist wahrscheinlich die richtige Ausrichtung. RAID ist heutzutage nicht besonders schick, aber die meisten modernen RAID-Controller-Firmware setzen ohnehin vermutlich 4-KB-physische Sektoren voraus. Festplatten sind jedoch nicht wirklich auf Dateisysteme ausgelegt. Das OP fragte nach dem Grund, von dem die Festplatte dies meldet - der Grund ist, dass das Betriebssystem in der Umgebung optimiert werden kann. Dass es nicht viel tut, ändert daran nichts. David Schwartz vor 8 Jahren 0
1
Mahmoud Al-Qudsi

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

CHS steht für Cylinder, Head, Sector und ist die unterste Methode, um zu bestimmen, wo vom Laufwerk gelesen oder geschrieben werden soll. Sie weisen an, Zylinder x, Kopf y und Sektor z zu verwenden und den Inhalt dieser Position in oder aus einer Adresse im Speicher (einem Puffer) zu lesen oder zu schreiben. Es wird von den tatsächlichen physischen Komponenten einer (herkömmlichen, sich drehenden Rost-) Festplatte abgeleitet, bei der Sie über physische Zylinder und Leseköpfe verfügen. Der Sektor ist die kleinste adressierbare Einheit und wurde traditionell auf 512 Bytes festgelegt.

Bei der LBA handelt es sich um eine logische Byteadressierung, bei der das Laufwerk eine Sektoradresse liest und in diese schreibt, indem es beispielsweise deren Versatz verwendet, beispielsweise den 123837-ten Sektor auf der Platte lesen oder diesen in den 123734-ten Sektor auf der Platte schreiben (beginnend bei Null).

Das Problem? Jeder dieser Werte ist im Bereich begrenzt. Aufgrund der stark eingeschränkten CHS musste LBA eingeführt werden. Für CHS sind die möglichen Werte für C (der Zylinder) 1023, während H (Köpfe) maximal 255 sein können und S (Sektor) nur bis 63 gehen kann, dh es können maximal 1024 Zylinder x 255 Köpfe x 64 vorhanden sein Sektoren x 512 Bytes, die im traditionellen CHS-Format abgebildet werden, so dass Sie insgesamt unter 8 GiB sind! Mit CHS ist es einfach nicht möglich, auf eine Festplatte mit mehr als 8 GiB zuzugreifen!

Daher wurde LBA mit einem 32-Bit-Grenzwert eingeführt, der Ihnen 2 ^ 32 x 512 Byte oder 2 TiB-Grenzwert für die Festplattengröße bietet. Aus diesem Grund kann ein MBR-Datenträger 2 TB nicht überschreiten, da er die Partitionsgrößen mit CHS und LBA festlegt unterstützt alles über 2TiB.

Neuere, bessere Optionen wurden eingeführt, wie das GPT-Partitionierungsschema, das die LBA auf 64 Bit erweitert, sodass Sie mit 2 ^ 64 x 512 Bytes eine Menge mehr erreichen können, als Sie jemals brauchen werden - aber es gibt einen Haken: viel Erbe Hardware- und ältere Betriebssysteme sowie ältere BIOS-Implementierungen und ältere Treiber unterstützen UEFI oder GPT nicht. Viele Benutzer wünschen sich etwas, das einfacher aktualisiert werden kann, um das 2-TB-Limit zu überschreiten, ohne den gesamten Stack neu schreiben zu müssen von Grund auf neu. Und endlich erreichen wir die Sektorengröße von 4096.

In allen 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. In letzter Zeit haben Festplattenhersteller jedoch erkannt, dass es eine Möglichkeit gibt, etwas Magie zu üben: Nehmen Sie die traditionelle CHS- oder 32-Bit-LBA und ersetzen Sie einfach die Sektorgröße durch 4096 (4 KB) anstelle von 512 Bytes. Wenn ein Betriebssystem "Legt den zweiten Sektor auf der Festplatte an" sagt, indem LBA 1 angefordert wird (da LBA 0 der erste ist), geben wir ihm keine Bytes 512 - 1023, sondern 4096 - 8191.

Plötzlich wird unser 2TiB-Limit auf 2 ^ 32 x 4096 Bytes oder 16 TiB aufgerüstet, ohne den MBR abzugrenzen, auf UEFI oder GPT umzuschalten oder irgendetwas!

Der einzige Haken ist, dass, wenn das Betriebssystem nicht weiß, dass dies eine magische Platte ist, die 4096 Sektoren anstelle von 512-Byte-Sektoren verwendet, ein Missverhältnis vorliegt. Jedes Mal, wenn das Betriebssystem "hey, Sie, Festplatte, schreiben Sie mir diese 512 Bytes zum Versetzen von xxx" benötigt, verbraucht die Festplatte 4096 Bytes, um diese 512 Bytes zu speichern (der Rest sind Nullen oder Junk-Daten, vorausgesetzt, Sie haben am Ende keine ein Speicherunterlauf) Da sie nicht in Bytes kommunizieren, kommunizieren sie in Sektoren.

BIOSes enthalten jetzt (manchmal) eine Option, mit der 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 der Einschränkung, dass Sie damit nicht mehr als zugreifen können 2TiB der Festplatte auf einem MBR-System, genau wie in der "guten alten Zeit". 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 verwenden!

(Ein weiterer Vorteil ist, dass die Dinge viel schneller sind, da beim Lesen und Schreiben von 4096 Bytes gleichzeitig weniger Operationen zum Lesen oder Schreiben von beispielsweise 4 GB Daten erforderlich sind.)

Das beantwortet die Frage wirklich nicht. Die Erklärung von CHS und LBT ist irrelevant. Dies liest sich wie ein Gehirnmüll von dem, was Sie über "Sektoren" wissen. * "Vom ersten Tag an waren es 512 Byte ..." * - Dies gilt nur für den IBM PC. sawdust vor 8 Jahren 2
@sawdust Ich stimme dem nicht zu - Selbst wenn man den (imho wichtigen) Hintergrund über CHS und LBA ignoriert, ist die Antwort auf Ihre Frage im vorletzten Absatz "Aber moderne Betriebssysteme, die 4k-fähig sind, können all dies nutzen, um diese Magie zu nutzen Lesen und Schreiben in 4096-Byte-Brocken und voilà! " - dh die Annahme, dass ein Betriebssystem in 512-Byte-Chunks sprechen muss, ist falsch. davidgo vor 8 Jahren 1
@davidgo Auf der Treiberebene spricht das Betriebssystem mit dem Laufwerk in "n" -Stücken von 512-Byte-Blöcken. Das "n" ist eine Zahl, die ab Windows XP NIEMALS unter 8 liegt und immer ein Vielfaches von 8. Dies bedeutet, dass jedes Betriebssystem ab XP verfügbar ist. Ich glaube, dass auch alle modernen Linux-Distributionen für 4K-Laufwerke optimiert sind. Die kleinste E / A ist 4 K, und alle anderen E / A-Größen sind Vielfache davon. misha256 vor 8 Jahren 0
Ich denke, ich mache deutlich, dass selbst wenn Sie n Sektoren in einer Operation zusammenfassen, * Sie immer noch sagen, dass die Festplatte nach 512-Byte-Blöcken suchen soll, was bedeutet, dass Sie nur eine begrenzte Anzahl an Suchen haben. 4096 Sektoren lösen das Suchproblem. Ich habe auch klargestellt, dass das Wissen über die Blockgröße des Betriebssystems unbedingt erforderlich ist, andernfalls werden 512 Byte in 4096 Chunks gespeichert! Mahmoud Al-Qudsi vor 8 Jahren 0
Ich glaube, Sie sind verwirrt über logisch und physisch. Der physische Wert ist immer entweder 512 oder 4096. Wenn die logische Größe 4096 ist, das Betriebssystem jedoch blind davon ausgeht, dass es 512 ist, stoßen Sie auf die beschriebenen Probleme. Sie müssen übereinstimmen. Mahmoud Al-Qudsi vor 8 Jahren 0
@ MahmoudAl-Qudsi Sie sprechen von nativen 4K-Laufwerken. Ich spreche von 512- und 512e-Laufwerken, bei denen die Größe des logischen Sektors 512 Byte beträgt. In diesen Fällen muss ein Betriebssystem mit E / A-Befehlen in der Form von 'nx 512 Byte' arbeiten. "n" kann eine beliebige Zahl bis zu 65535 sein, glaube ich, aber für Laufwerke, die physikalische * 4K * -Sektoren verwenden, sind 8, 16, 32, 64 usw. optimal. Windows XP, 7, 8, 10 und Linux tun dies standardmäßig sofort einsatzbereit. Sie müssen kein Laufwerk nach der physischen Sektorgröße fragen. misha256 vor 8 Jahren 0
@ misha256 `65535 x 512 Bytes` ?! Sie sagen, ein Betriebssystem greift nur auf die ersten 32 MB zu! Small Boy vor 7 Jahren 0
@SmallBoy Guter Punkt, "n" kann weitaus mehr als 65535 sein, mein Fehler. misha256 vor 7 Jahren 0
0
Joe

512/4096 = Betriebssystem, das für die Ausrichtung / Optimierung verantwortlich ist,

512/512 = Laufwerk dafür verantwortlich

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

Bitte zitieren Sie die wesentlichen Teile der Antwort aus den Referenzlinks, da die Antwort ungültig werden kann, wenn sich die verlinkten Seiten ändern. DavidPostill vor 7 Jahren 0
0
Jim

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

Microsofts VSS-Writer (Schattenkopie) funktioniert nicht gut mit 4K-Sektoren. Für die Sicherung eines Freigabeordners der DFS-Replikation muss unsere Sicherungssoftware "Backup Exec" eine Schattenkopie des DFS-replizierten Ordners erstellen. Der Job schlägt fehl, wenn sich der DFS-Replikationsordner auf einem Laufwerk mit 4-KB-Sektoren befindet, da VSS nicht ordnungsgemäß mit 4-KB-Sektoren funktioniert.

Jim

Ich bin nicht ganz sicher, ob dies die vorgeschlagene Frage beantwortet, sie beantwortet eine Frage, nur nicht die vom Autor gestellte. Ramhound vor 6 Jahren 2
Dies ist eine sehr interessante Information, scheint jedoch eine Antwort auf eine etwas andere Frage zu sein. Sobald Sie über einen ausreichenden Ruf verfügen, können Sie überall Kommentare abgeben. Eine Einführung in unsere Website finden Sie auf der [Tour]. Ben N vor 6 Jahren 0
-3
xCare

Physisch bedeutet das des eigentlichen Laufwerks selbst, während es sich bei Logisch um die definierten Unterteilungen handelt. Aus PC Mags Logical vs Physical:

In einem Windows-PC ist eine einzige physische Festplatte Laufwerk 0; Es kann jedoch in mehrere logische Laufwerke wie C :, D: und E: partitioniert sein.

Um dies in einer bekömmlichen Form zu erklären, stellen Sie sich einen Apfel vor, der so breit ist wie Ihre Hand. Das ist die tatsächliche physische Größe des Apfels. Natürlich passt ein ganzer Apfel nicht in Ihren Mund, also entscheiden Sie sich, ihn in gleich große Scheiben zu schneiden, wobei jede Scheibe der Breite Ihres Fingers entspricht. Dies ist die logische Größe oder Größe, die Ihr Computer verwendet.

Dafür gibt es mehrere Gründe: Berechnungen der realen Kapazität sowie Fehlerzuordnung und -korrektur, wie von Wikipedia erläutert :

Typische Festplattenlaufwerke versuchen, die Daten in einem physischen Sektor "neu zuzuordnen", der an einem physischen Ersatzsektor versagt, der vom "Spare Sector Pool" des Laufwerks (auch als "Reservepool" bezeichnet) bereitgestellt wird [41], während er sich auf die ECC verlässt Gespeicherte Daten wiederherstellen, während die Anzahl der Fehler in einem fehlerhaften Sektor noch niedrig genug ist. Die SMART-Funktion (Self-Monitoring-, Analyse- und Berichtstechnologie) zählt die Gesamtzahl der von ECC behobenen Fehler auf der gesamten Festplatte (allerdings nicht auf allen Festplattenlaufwerken), wie dies bei den zugehörigen SMART-Attributen "Hardware ECC Recovered" und "Soft ECC Correction" der Fall ist nicht konsistent unterstützt) und die Gesamtzahl der durchgeführten Sektorzuordnungen, da das Auftreten vieler solcher Fehler einen Festplattenausfall vorhersagen kann.

Genauso wie Sie keine Apfelscheiben ohne den Apfel selbst haben können, können Sie Logical nicht ohne die physische Basis als Basis haben.

Aber warum muss ein Betriebssystem die physische Sektorgröße * kennen *, und was wird es anders machen, wenn es überhaupt mit dem Laufwerk in logischen Sektoren zu tun hat? Es scheint absolut nutzlose Informationen für ein Betriebssystem zu sein. misha256 vor 8 Jahren 1
* "Warum muss ein Betriebssystem wissen ..." * - Die logische Größe ist eine Mindestgröße für die Datenübertragung. Die physikalische Größe ist eine optimale Größe zum Übertragen von Daten und spiegelt die Größe der eigentlichen Lese- / Schreiboperation auf Laufwerksebene wider. * "Es scheint absolut nutzlose Information ..." * - Vielleicht scheint es "nutzlos" zu sein Sie, weil Sie kein Betriebssystem entwickeln oder daran beteiligt sind? sawdust vor 8 Jahren 0
@sawdust Das Betriebssystem kann jedoch nicht die * optimale * Übertragungsgröße verwenden, von der Sie sprechen, weil das Laufwerk mit 512-Byte-Logiksektoren fest verdrahtet ist. Native 4K-Laufwerke unterscheiden sich, sie verfügen über logische 4K-Sektoren und ein unterstützendes Betriebssystem (z. B. Win 8.1) muss in logischen 4K-Sektoren lesen und schreiben. Aber mein Laufwerk ist kein logisches 4K-Laufwerk. Es ist ein 512-Byte-logisches Laufwerk. misha256 vor 8 Jahren 1
@ misha256 - Ich habe meine eigene Antwort gepostet. sawdust vor 8 Jahren 0
Verwirrung von physischen / logischen Laufwerken mit physischen / logischen Sektorgrößen. MSalters vor 8 Jahren 0