Was bringt es, wenn Festplatten ihre physische Sektorgröße angeben?

14

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

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

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

Welchen Nutzen bringt ein Betriebssystem, wenn es sich der Größe des physischen 4K-Sektors bewusst ist, wenn man bedenkt:

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

  • Alle modernen Betriebssysteme sind auf 4K ausgerichtet und verwenden unabhängig davon 4K oder ein Vielfaches von 4K-E / A.

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 (ein Vielfaches von 4 KB) aus, die NTFS-Clustergröße beträgt 4 KB oder ein Vielfaches davon, und alle E / A-Vorgänge werden in 4 KB oder einem Vielfachen davon ausgeführt. Windows ist es egal, welche Festplatte Sie haben, es wird in allen Fällen das oben beschriebene Verhalten anwenden .

Wie auch immer ... meine SSD hat diese Einstellung "Größe des physischen Sektors" und muss daher aus irgendeinem guten Grund vorhanden sein ... es ist der Grund dafür, den ich suche.

Übrigens ist das Laufwerk eine Intel SSD DC S3510 . Das Datenblatt des Laufwerks lautet wie folgt (Seite 27):

Durch Verwendung des SCT-Befehls 0xD801 mit Status = 0, Option = 1 kann das ID-Wort 106 von 0x6003 auf 0x4000 geändert werden (Änderung der physischen Sektorgröße von 4 KB auf Unterstützung der physischen Sektorgröße von 512B).

misha256
quelle
1
4096 Bytes ist das erweiterte Format. Festplatten im erweiterten Format können je nach Betriebssystem beides tun, wenn die Festplatte 512 KB emuliert
Moab
2
Speicherschnittstellen sind eine Fundgrube älterer Entscheidungen ... "4 KB physische Sektorgröße" ist ebenfalls nicht wahr. Flash hat physische Sektorgrößen, die normalerweise 256 kB überschreiten. Alle gemeldeten Sektorgrößen sind (il) logisch.
MSalters

Antworten:

16

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 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 anstelle des gesamten physischen Sektors), muss die Festplatte den gesamten physischen Sektor lesen und den geänderten Teil im internen Bereich der Festplatte ändern Speicher, und schreiben Sie es zurück auf die Platten. Dies wird als Read-Modify-Write ( RMW ) bezeichnet. Diese Operation erfordert eine zusätzliche Drehung der Festplatte und verringert daher die Leistung. Seagate erklärt dies wie folgt :

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

Lese-, Änderungs- und Schreibzyklus

In diesem Fall muss die Festplatte zusätzliche mechanische Schritte ausführen, indem ein 4K-Sektor gelesen, der Inhalt geändert und dann die Daten geschrieben werden. Dieser Vorgang wird als Lese-, Änderungs- und Schreibzyklus bezeichnet. Dies ist unerwünscht, 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 Windows-Versionen erstellen Partitionen an einer Grenze von 1 MB, um eine ordnungsgemäße Ausrichtung auf die physischen Sektoren sicherzustellen. Dies wird als Ausrichtung 0 bezeichnet .

  • Da LBA 63 kein Vielfaches von 8 ist (acht Legacy-Sektoren mit 512 Byte passen in einen 4K-Sektor), weist eine Festplatte im erweiterten Format, die auf die alte Weise formatiert wurde, Cluster auf (die kleinste Einheit der Dateisystem-Datenzuweisung, normalerweise 4 KB groß) ), die nicht an den physischen Sektoren auf einer 4K-Festplatte ausgerichtet sind, eine Bedingung namens Ausrichtung 1 . Infolgedessen erstreckt sich eine E / A-Operation, die ansonsten 4 KB Daten umfasst, jetzt über zwei Sektoren, was zu einer Lese-, Änderungs- und Schreiboperation führt, die die Leistung verringert.

Während Informationen zur Größe des physischen Sektors nicht erforderlich sind, wenn das Betriebssystem Daten immer an eine 4K-Grenze schreibt, werden diese Informationen möglicherweise von Anwendungen benötigt, die E / A auf niedriger Ebene ausführen.

  • Wenn ein Laufwerk meldet, dass seine physische Sektorgröße 4 KB beträgt, kann das Betriebssystem oder die Anwendung erkennen, dass es sich um ein Laufwerk im erweiterten Format handelt, und muss daher vermeiden, E / A-Vorgänge auszuführen, die nicht alle physischen Sektoren umfassen. Ein Laufwerk, das native 512-Byte-Sektoren meldet, legt diese Einschränkung nicht fest. Während neuere Betriebssysteme normalerweise versuchen, Daten in 4K-Einheiten zu lesen oder zu schreiben, wann immer dies möglich ist (was diese Informationen irrelevant macht), müssen Anwendungen, die E / A auf niedriger Ebene ausführen, möglicherweise die Größe des physischen Sektors kennen, damit sie sich entsprechend anpassen und Fehlausrichtungen vermeiden können oder Teilsektorschreibvorgänge, die langsame RMW-Zyklen verursachen.

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

  • Rechenzentren verfügen häufig über Speicherarrays, die aus älteren 512n-Laufwerken bestehen. 4K-Laufwerke, auch 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 diesen Forenthread :

    Wir können nicht einfach ein 4K-Laufwerk in ein mit 512b-Festplatten formatiertes Array stecken. Viele Arrays (insbesondere ZFS-basierter Speicher, der immer beliebter wird, da softwaredefinierter Speicher Wellen schlägt) akzeptieren kein Ersatzlaufwerk mit einem anderen Format für den physischen Sektor.

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

bwDraco
quelle
Die Ironie ist, dass Betriebssysteme, die nicht wissen, wie sie richtig ausgerichtet werden sollen, auch nicht in der Lage sind, eine Festplatte nach der "Größe des physischen Sektors" abzufragen. Betriebssysteme, die wissen, wie man richtig ausrichtet, müssen keine Festplatte nach der "Größe des physischen Sektors" abfragen, da sie standardmäßig richtig ausgerichtet sind. Beispiel: Windows ist auf 1 MB ausgerichtet.
Mischa256
1
Ich muss sagen ... ich bin verärgert. Ich habe noch nie ein Laufwerk gesehen, mit dem Sie die Berichtseinstellung "Größe des physischen Sektors" ändern können. Ich kann nicht verstehen, warum eine solche Einstellung existieren muss, wenn man bedenkt, dass die einzigen Optionen 512b und 4K sind und wenn man bedenkt, dass moderne Betriebssysteme alles auf 4K-Weise ausführen, unabhängig davon, welche Art von Laufwerk Sie verwenden.
Mischa256
Dies ist wahrscheinlich die beste Antwort, aber ich denke, es ist Zeit, einen Intel-Ingenieur zu finden und eine maßgebliche Antwort zu erhalten. Scheint eine sehr esoterische Sache zu sein.
Mischa256
3
Diese Antwort ist zwar für Festplatten relevant, für SSDs jedoch irrelevant. Die Schreib- / Löschblockgrößen von SSDs betragen mehrere Megabyte, sodass selbst die 4K-Größe "physisch" nicht der tatsächlichen Größe des physischen Sektors entspricht.
Qasdfdsaq
1
Die Schreibgröße von @qasdfdsaq muss nicht unbedingt mit der Löschgröße übereinstimmen. 4K ist die Granularität der Nachverfolgung des Blocks "in Verwendung". Mittlerweile bin ich überzeugt, dass der letzte Teil dieser Antwort über ZFS der richtige ist: utcc.utoronto.ca/~cks/space/blog/tech/…
pjc50
5

Welchen Vorteil hat ein Betriebssystem, wenn es sich der Größe des physischen Sektors bewusst ist, wenn das Betriebssystem unabhängig davon in 512-Byte-Sektoren mit dem Laufwerk kommunizieren muss.

Die logische Größe ist eine Mindestgröße zum Übertragen von Daten. Da es sich um ein Blockgerät handelt, erfolgt jede Datenübertragung zwischen Host-Computer und Laufwerk in Vielfachen dieser logischen Blockgröße.

Die physische Größe ist eine optimale Größe zum Übertragen von Daten und spiegelt die Größe der tatsächlichen Lese- und Schreibvorgänge auf Controller- / Laufwerksebene wider .

Wenn der Host-Computer das Lesen eines logischen Sektors anfordert, führt die Steuerung / das Laufwerk eine Leseoperation des physischen Sektors durch, 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 kleiner als die Größe des physischen Sektors ist, muss der logische Sektor vom Controller aus dem physischen Sektor extrahiert werden, um ihn an den Host-Computer zu übertragen.

Wenn der Host-Computer das Schreiben eines logischen Sektors anfordert, ist die Größe des physischen Sektors von Bedeutung.
Wenn die logische Sektorgröße gleich der physischen Sektorgröße ist, ist die Schreiboperation einfach und kann direkt fortgesetzt werden. Der Zustand des vorherigen Inhalts des Sektors hat keinen Einfluss auf den Schreibvorgang.

Wenn die Größe des logischen Sektors kleiner als die Größe des physischen Sektors ist, muss der Controller zuerst eine Leseoperation des physischen Sektors ausfü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 vollständig geschrieben.
Wenn der Lesevorgang 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 Mehrsektoroperationen), werden die Schreiboperationen effizienter ausgeführt (und ohne unnötige Wahrscheinlichkeit einer Unvollständigkeit).

Die Größe des LOGICAL-Sektors definiert vollständig, wie ein Betriebssystem mit einem Laufwerk kommunizieren 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 "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 der vorhandenen Schnittstellen- und Diskettencontroller-Schnittstellen, die auch Lese- / Schreibvorgänge für mehrere Sektoren ausführen konnten (solange sich die Sektoren auf derselben Spur befanden).

Sägespäne
quelle
Dies mag die richtige Antwort sein ... aber ich bin immer noch nicht überzeugt. Moderne Betriebssysteme arbeiten mit Dateisystemen und E / A-Blockgrößen von 4 KB und Vielfachen von 4 KB. Sie sind bereits für die Verwendung mit Festplatten mit 4K-physischen Sektoren optimiert. Außerdem paßt die Größe der I / O - Block eingesetzt , noch 4K und Multiples von 4K sogar auf einer 512b physische Festplatte. Was gibt?!
Mischa256
Bingo! Der sector countParameter, von dem Sie sprechen ... sogar das alte Windows XP liest / schreibt in der E / A-Blockgröße von 8Sektoren oder Vielfachen davon. Es ist bereits vollständig optimiert! Aus diesem Grund funktioniert XP mit SSDs sehr gut, solange die Partition ausgerichtet ist. Es ist extrem 4K freundlich. Die Frage bleibt also immer noch unbeantwortet. Was mehr kann ein Betriebssystem die physische Sektorgröße hat zu wissen , ist 4K. Denken Sie daran, dass das Betriebssystem bereits für 4K-E / A optimiert ist.
Mischa256
1
"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 kannte, sondern lediglich versuchte, durch die Verwendung von Operationen mit mehreren Sektoren effizienter zu sein.
Sägemehl
2
@ 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 funktioniert, gibt es möglicherweise unbekannte Szenarien für Funktionsprobleme, Datenverlust oder Suboptimal Microsoft warnt daher dringend davor, 512e-Medien mit Windows XP zu verwenden ... " msdn.microsoft.com/en-us/library/windows/desktop/…
Ross Ridge
2
@ misha256 - Sie wählen die Bedingungen aus und verkünden dann, dass diese Informationen unter allen Umständen nutzlos sind. Nicht jeder wird eine solche SSD mit Windows- und NTFS- und> 4k-Clustern verwenden. "NTFS unterstützt nicht einmal weniger als 4K I / O" - Nicht wahr. Clustergrößen von 512, 1024 und 2048 Byte sind weiterhin Optionen in meiner (aktuellen) Kopie von Win7 für NTFS. . .
Sägemehl
3

Wenn das Betriebssystem die zugrunde liegende Größe des physischen Sektors kennt, kann es seine Abfragen so optimieren, dass möglichst wenige physische Vorgänge erforderlich sind. Insbesondere bei SSDs ist das physische Betriebslimit (4 KB IOPS-Limit) häufig das ultimative Limit für die Gerätegeschwindigkeit. Daher ist es wichtig, diese Kapazität optimal nutzen zu können.

David Schwartz
quelle
Argh, das kann nicht richtig sein. Moderne Betriebssysteme sind von Natur aus optimiert. Alle von ihnen verwenden Dateisysteme mit "Block" -Größen (auch bekannt als Cluster) von 2 ^ n Bytes, beginnend bei 2 ^ 12 (dh 4 KB, denken Sie an NTFS-Standard). Daraus folgt, dass alle E / A-Vorgänge ein Vielfaches von 4K sind. Ob eine Festplatte physisch 512 Byte oder 4 KB groß ist, sollte keinen Unterschied machen. Sie können sicher nicht weiter optimieren?
Mischa256
Was ist, wenn das Betriebssystem die Ausrichtung nicht richtig ausführt und eine E / A-Operation zwei physische Sektoren umfasst? Sie würden die Leistung beeinträchtigen.
bwDraco
1
@ misha256 Es gibt keine Inkompatibilität zwischen dem, was du gesagt hast und dem, was ich gesagt habe. Es ist richtig, dass die meisten Dateisysteme nicht nur von der richtigen Ausrichtung profitieren, wenn sie die Größe des physischen Sektors kennen. Einige Datenbanken tun dies.
David Schwartz
@DavidSchwartz Richtig, ok, also kann dies alles zum Nutzen einiger esoterischer Betriebssysteme oder Dateisysteme sein, die in Rechenzentren oder dergleichen verwendet werden? Einige ausgefallene RAID-Arrays vielleicht?
Mischa256
Es scheint sich um Nicht-Windows-Betriebssysteme ("esoterische") und RAID-Controller zu handeln.
pjc50
1

Es gibt zwei verschiedene Möglichkeiten, auf einen Standort innerhalb eines Laufwerks zuzugreifen: das CHS-Schema und das LBA-Schema.

CHS steht für Cylinder, Head, Sector und ist die niedrigste Methode, um zu bestimmen, wo vom Laufwerk gelesen oder geschrieben werden soll. Sie weisen ihn 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 physischen Komponenten einer (traditionellen, sich drehenden) Festplatte abgeleitet, auf der Sie physische Zylinder und Leseköpfe haben. Der Sektor ist die kleinste adressierbare Einheit und wurde traditionell auf 512 Bytes festgelegt.

LBA ist eine logische Byteadressierung, bei der das Laufwerk durch seinen Versatz von einer Sektoradresse liest und in diese schreibt, z. B. den 123837. Sektor auf der Platte liest oder dies in den 123734. Sektor auf der Platte schreibt (beginnend bei Null).

Das Problem? Jeder dieser Werte ist im Bereich begrenzt. In der Tat musste LBA eingeführt werden, da CHS stark eingeschränkt war. Für CHS sind die möglichen Werte für C (der Zylinder) 1023, während H (Köpfe) maximal 255 sein kann und S (Sektor) nur bis zu 63 betragen kann, was bedeutet, dass Sie höchstens 1024 Zylinder x 255 Köpfe x 64 haben können Sektoren x 512 Bytes im traditionellen CHS-Format, sodass Sie insgesamt weniger als 8 GiB erhalten! Mit CHS ist es einfach nicht möglich, auf eine Festplatte mit mehr als 8 GiB zuzugreifen!

Daher wurde LBA mit einem 32-Bit-Limit eingeführt, das Ihnen 2 ^ 32 x 512 Bytes oder 2 TiB Limit für die Festplattengröße gibt. Dies ist der Grund, warum eine MBR-Festplatte 2 TB nicht überschreiten kann, da sie CHS und LBA verwendet, um Partitionsgrößen anzugeben, und dies auch nicht kann unterstütze alles über 2TiB.

Neuere, bessere Optionen wurden eingeführt, wie das GPT-Partitionierungsschema, das LBA auf 64 Bit erweitert und Ihnen mit 2 ^ 64 x 512 Bytes eine Menge mehr bietet, als Sie jemals benötigen werden - aber es gibt einen Haken: viel Vermächtnis Hardware- und Legacy-Betriebssysteme sowie Legacy-BIOS-Implementierungen und Legacy-Treiber unterstützen UEFI oder GPT nicht, und viele Benutzer möchten 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 Sektorgröße 4096.

Bei allen oben diskutierten Einschränkungen war eines eine feste Annahme: die Sektorgröße. Vom ersten Tag an waren es 512 Bytes und seitdem ist es so geblieben. Vor kurzem haben die Festplattenhersteller jedoch erkannt, dass es eine Möglichkeit gibt, etwas Magisches zu tun: Nehmen Sie das herkömmliche CHS oder 32-Bit-LBA und ersetzen Sie einfach die Sektorgröße durch 4096 (4 KB) anstelle von 512 Byte. Wenn ein Betriebssystem durch Anfordern von LBA 1 "Gib mir den 2. Sektor auf der Festplatte" sagt (weil LBA 0 der erste ist), geben wir ihm nicht die Bytes 512 - 1023, sondern die Bytes 4096 - 8191.

Plötzlich wird unser 2TiB-Limit auf 2 ^ 32 x 4096 Bytes oder 16 TiB aktualisiert, ohne MBR fallen zu lassen, auf UEFI oder GPT umzuschalten oder so!

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

Daher enthalten BIOS jetzt (manchmal) eine Option, mit der Sie manuell festlegen können, dass anstelle der nativen 4096-Byte-Sektorgröße, die neuere Festplatten verwenden, eine Sektorgröße von 512 Byte verwendet werden soll - mit der Einschränkung, dass Sie nicht mehr als darauf zugreifen können 2 TB der 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 4096 Bytes gleichzeitig lesen und schreiben, müssen weniger Vorgänge gelesen oder geschrieben werden, beispielsweise 4 GB Daten.)

Mahmoud Al-Qudsi
quelle
2
Dies beantwortet die Frage wirklich nicht. Die Erklärung von CHS und LBT ist irrelevant. Dies liest sich wie ein Brain Dump von dem, was Sie über "Sektoren" wissen. "Vom ersten Tag an waren es 512 Bytes ..." - Das gilt nur für den IBM PC.
Sägemehl
1
@sawdust Ich bin anderer Meinung - Selbst wenn man den (imho wichtigen) Hintergrund von CHS und LBA ignoriert, ist die prägnante 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-Stücken und Voilà! " - dh die Annahme in der Frage, dass ein Betriebssystem in 512-Byte-Blöcken sprechen muss, ist falsch.
Davidgo
@davidgo Auf Treiberebene kommuniziert das Betriebssystem mit dem Laufwerk in nBlöcken von 512 Byte. Das nist eine Zahl , die von Windows XP, weniger ist nie als 8, und immer ein Vielfaches von 8. Welche vorwärts jedes Betriebssystem von XP bedeutet, und ich glaube , alle modernen Linux - Distributionen auch für 4K - Laufwerke bereits optimiert. Die kleinste E / A beträgt 4 KB, und alle anderen E / A-Größen sind ein Vielfaches davon.
Mischa256
Ich denke, ich mache sehr deutlich, dass Sie, selbst wenn Sie n Sektoren zu einer Operation zusammenfassen, der Festplatte immer noch sagen, dass sie nach 512-Byte-Blöcken suchen soll, was bedeutet, dass Sie nur begrenzt suchen können. 4096 Sektoren lösen das Suchproblem. Ich habe auch klargestellt, dass die Kenntnis des Betriebssystems über die Blockgröße unerlässlich ist, da sonst 512 Bytes in 4096 Blöcken gespeichert werden!
Mahmoud Al-Qudsi
Ich denke auch, dass Sie in Bezug auf logische und physische Probleme verwirrt sind. Die physische Größe ist immer entweder 512 oder 4096. Wenn die logische Größe 4096 ist, das Betriebssystem jedoch blind davon ausgeht, dass es 512 ist, werden Sie auf die von mir beschriebenen Probleme stoßen. Sie müssen übereinstimmen.
Mahmoud Al-Qudsi
1

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

512/512 = Laufwerk dafür verantwortlich

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

Joe
quelle
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
0

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

Der VSS-Writer von Microsoft (Shadow Copy) funktioniert nicht gut mit 4K-Sektoren. Um einen DFS Replication-Freigabeordner zu sichern, muss unsere Sicherungssoftware "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

Jim
quelle
3
Ich bin nicht ganz sicher, ob dies die vorgeschlagene Frage beantwortet, es beantwortet eine Frage, nur nicht die vom Autor gestellte.
Ramhound
Dies sind sehr interessante Informationen, aber es scheint eine Antwort auf eine etwas andere Frage zu sein. Sobald Sie einen ausreichenden Ruf haben, können Sie überall Kommentare abgeben. Eine Einführung in unsere Website finden Sie auf der Tour .
Ben N
-3

Physisch bedeutet das des tatsächlichen Laufwerks selbst, während Logisch das der definierten Unterteilungen darin ist. Aus PC Mag's Logical vs Physical:

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

Um dies in verdaulicher Form zu erklären, stellen Sie sich einen Apfel vor, der so breit wie Ihre Hand ist. 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 gleiche Scheiben zu schneiden, wobei jede Scheibe die Breite Ihres Fingers hat. Dies ist die logische Größe oder Größe, die Ihr Computer verwendet.

Mehrere Gründe hierfür sind Realwert-Kapazitätsberechnungen sowie Fehlerzuordnungen und -korrekturen, wie von Wikipedia erläutert :

Typische Festplattenlaufwerke versuchen, die Daten in einem physischen Sektor "neu zuzuordnen", der nicht einem physischen Ersatzsektor entspricht, der vom "Ersatzsektorpool" des Laufwerks (auch als "Reservepool" bezeichnet) bereitgestellt wird [41], während sie sich auf die ECC verlassen Wiederherstellen gespeicherter Daten, während die Anzahl der Fehler in einem fehlerhaften Sektor noch gering genug ist. Die SMART-Funktion (Self-Monitoring, Analysis and Reporting Technology) zählt die Gesamtzahl der von ECC behobenen Fehler auf der gesamten Festplatte (obwohl nicht auf allen Festplatten, wie die zugehörigen SMART-Attribute "Hardware ECC Recovered" und "Soft ECC Correction") nicht konsistent unterstützt) und die Gesamtzahl der durchgeführten Sektor-Neuzuordnungen, da das Auftreten vieler solcher Fehler einen Festplattenfehler vorhersagen kann.

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

xCare
quelle
1
Aber warum muss ein Betriebssystem die Größe des physischen Sektors kennen und was wird es anders machen, da es ohnehin mit dem Laufwerk in logischen Sektoren kommunizieren muss? Es scheint eine absolut nutzlose Information für ein Betriebssystem zu sein.
Mischa256
"Warum muss ein Betriebssystem wissen ..." - Die logische Größe ist eine Mindestgröße für die Datenübertragung. Die physische Größe ist eine optimale Größe für die Datenübertragung und spiegelt die Größe des tatsächlichen Lese- / Schreibvorgangs auf Laufwerksebene wider. "Es scheint absolut nutzlose Informationen zu sein ..." - Vielleicht erscheint es Ihnen "nutzlos", weil Sie entwickeln kein Betriebssystem oder sind daran beteiligt?
Sägemehl
1
@sawdust Das Betriebssystem kann jedoch nicht die optimale Übertragungsgröße verwenden, von der Sie sprechen, da das Laufwerk fest mit logischen 512-Byte-Sektoren verbunden ist. Native 4K-Laufwerke sind unterschiedlich, sie haben logische 4K-Sektoren und ein unterstützendes Betriebssystem (z. B. Win 8.1) muss in logischen 4K-Sektoren lesen und schreiben. Mein Laufwerk ist jedoch kein logisches 4K-Laufwerk. Es ist ein logisches 512-Byte-Laufwerk.
Mischa256
@ misha256 - Ich habe meine eigene Antwort gepostet.
Sägemehl
Verwechseln von physischen / logischen Laufwerken mit physischen / logischen Sektorgrößen.
MSalters