Deze blog helpt te begrijpen waarom de overgang plaatsvond van een sectorschijf van 512 bytes naar een sectorschijf van 4096 bytes. De blog geeft ook antwoorden op de vraag waarom een sectorschijf van 4096 bytes (4K) moet worden gekozen voor OS-installatie. De blog legt eerst uit over de sectorindeling om de noodzaak van migratie te begrijpen, geeft vervolgens de redenering achter de migratie en behandelt ten slotte de voordelen van een 4K-sectorstation ten opzichte van een sectorstation van 512 bytes.
Een sector is de minimale storage-eenheid van een harde schijf. Het is een onderverdeling van een track op een harde schijf. De sectorgrootte is een belangrijke factor in het ontwerp van het besturingssysteem, omdat het de atomaire eenheid van I/O-bewerkingen op een harde schijf vertegenwoordigt. In Linux kunt u de grootte van de schijfsector controleren met de opdracht "fdisk -l".
Afbeelding 1: De grootte van de schijfsector in Linux
Zoals weergegeven in afbeelding 1, zijn zowel de logische als de fysieke sectoren 512 bytes lang voor dit Linux-systeem.
De sectorindeling is als volgt opgebouwd:
In elke sector wordt een vaste hoeveelheid gebruikersdata opgeslagen, meestal 512 bytes voor harde schijven. Maar vanwege een betere data-integriteit bij hogere dichtheden en robuuste mogelijkheden voor foutcorrectie, slaan nieuwere HDD's nu 4096 bytes (4K) op in elke sector.
Het aantal bits dat op een bepaalde lengte van het spoor is opgeslagen, wordt oppervlaktedichtheid genoemd. Het verhogen van de oppervlaktedichtheid is een trend in de diskdrive-industrie, niet alleen omdat hierdoor grotere hoeveelheden gegevens in dezelfde fysieke ruimte kunnen worden opgeslagen, maar het verbetert ook de overdrachtssnelheid waarmee dat medium kan werken. Met de toename van de oppervlaktedichtheid heeft de sector nu een steeds kleinere hoeveelheid ruimte op het oppervlak van de harde schijf verbruikt. Dit vormt een probleem omdat de fysieke grootte van de sectoren op harde schijven is gekrompen, maar mediadefecten niet. Als de data in een harde-schijfsector kleinere gebieden verbruikt, wordt foutcorrectie een uitdaging. Dit komt doordat mediadefecten van dezelfde grootte een hoger percentage van de data op de schijf kunnen beschadigen die een klein gebied heeft voor een sector dan de schijf die een groot gebied heeft voor een sector.
Er zijn twee benaderingen om dit probleem op te lossen. De eerste benadering is om meer schijfruimte te investeren in ECC-bytes om continue betrouwbaarheid van data te garanderen. Maar als we meer schijfruimte investeren in ECC-bytes, leidt dit tot minder efficiëntie van schijfformaten. De efficiëntie van de schijfindeling wordt gedefinieerd als (aantal gebruikersdatabytes X 100) / totaal aantal bytes op schijf. Een ander nadeel is dat hoe meer ECC-bits er in zitten, hoe meer rekenkracht de schijfcontroller nodig heeft om het ECC-algoritme te verwerken.
De tweede benadering is om de grootte van het datablok te vergroten en de ECC-bytes voor elk datablok iets te verhogen. Met de toename van de grootte van datablokken zou de hoeveelheid overhead die nodig is voor elke sector om controle-informatie op te slaan, zoals hiaten, synchronisatie, adresmarkeringssecties enz., afnemen. Voor elke sector zullen de ECC-bytes toenemen, maar de totale ECC-bytes die nodig zijn voor een schijf zullen afnemen vanwege de grotere sector. Door de totale hoeveelheid ruimte die wordt gebruikt voor foutcorrectiecode te verminderen, wordt de efficiëntie van de indeling verbeterd en door het aantal ECC-bytes voor elke sector te verhogen, kunnen efficiëntere en krachtigere algoritmen voor foutcorrectie worden gebruikt. De overgang naar een grotere sector heeft dus twee voordelen: verbeterde betrouwbaarheid en een grotere schijfcapaciteit.
Vanuit het oogpunt van doorvoer moet de ideale blokgrootte ongeveer gelijk zijn aan de karakteristieke grootte van een typische gegevenstransactie. We moeten erkennen dat de gemiddelde bestandsgrootte tegenwoordig meer dan 512 bytes is. Tegenwoordig gebruiken applicaties in moderne systemen data in grote blokken, veel groter dan de traditionele sectorgrootte van 512 bytes. Te kleine blockgroottes veroorzaken te veel transactie-overhead. Terwijl in het geval van grote blokgroottes elke transactie een grote hoeveelheid onnodige gegevens overdraagt.
De grootte van een standaardtransactie in relationele databasesystemen is 4K. De consensus in de hardeschijfindustrie is dat fysieke blokgroottes van 4K-Block een goed compromis zouden bieden. Het komt ook overeen met de wisselgrootte die wordt gebruikt door besturingssystemen en processors.
Figuur-3: Verbetering van de formatteringsefficiëntie op 4K-schijven
Sectorindeling van 512 bytes | 4096 byte sector format | |
Hiaten, synchronisatie en adresmarkeringen | 15 bytes | 15 bytes |
Gebruikersgegevens | 512 bytes | 4096 bytes |
Foutcorrigerende code | 50 bytes | 100 bytes |
Totaal | 577 bytes | 4211 bytes |
Efficiëntie van opmaak | 88,7% | 97.3% |
Tabel 1: Verbetering van de formatteringsefficiëntie op 4K-schijven
Zoals we in afbeelding 2 zien, zijn sectoren met 4K 8 keer zo groot als traditionele sectoren met 512 bytes. Vandaar dat men voor dezelfde gegevenslading 8 keer minder gap-, synchronisatie- en adresmarkeringsecties nodig heeft en 4 keer minder foutcorrectiecodesecties. Door de hoeveelheid ruimte te verminderen die wordt gebruikt voor foutcorrectiecode en andere niet-gegevenssecties, wordt de formaatefficiëntie voor 4K-formaat verbeterd. De verbetering van de formaatefficiëntie wordt weergegeven in Afbeelding-3 en Tabel-1. Er is een winst van 8,6% voor de formaatefficiëntie voor 4K-sectorschijven ten opzichte van een sectorschijf van 512 bytes.
Figuur 4: Effect van mediadefect op schijfdichtheid
Zoals te zien is in figuur 4, is het effect van een mediadefect op een schijf met een hogere oppervlaktedichtheid groter dan op de schijf met een lagere oppervlaktedichtheid. Naarmate de oppervlaktedichtheid toeneemt, hebben we meer ECC-bytes nodig om hetzelfde niveau van foutcorrectievermogen te behouden. Het 4K-formaat biedt voldoende ruimte om het ECC-veld uit te breiden van 50 naar 100 bytes om plaats te bieden aan nieuwe ECC-algoritmen. De verbeterde ECC-dekking verbetert de mogelijkheid om verwerkte datafouten te detecteren en te corrigeren die verder gaan dan de defectlengte van 50 bytes die hoort bij de sectorindeling van 512 bytes.
4K-gegevensschijven worden ondersteund op Windows Server 2012, maar als opstartschijf alleen ondersteund in de UEFI-modus. Voor Linux vereisen 4K harde schijven minimaal RHEL 6.1 en SLES 11 SP2. 4K-opstartschijven worden alleen ondersteund in de UEFI-modus in Linux. Kernelondersteuning voor 4K-schijven is beschikbaar in kernelversies 2.6.31 en hoger. PERC H330-, H730-, H730P-, H830-, FD33xS- en FD33xD-kaarten ondersteunen 4K-schijfstations van blokformaat, waardoor u de opslagruimte efficiënt kunt gebruiken. 4K-schijven kunnen worden gebruikt op de Dell PowerEdge servers die bovenstaande PERC-kaarten ondersteunen.
De fysieke grootte van elke sector op de schijf is kleiner geworden als gevolg van de toename van oppervlaktedichtheden in schijfstations. Als het aantal schijfdefecten niet in hetzelfde tempo wordt geschaald, verwachten we dat meer sectoren beschadigd raken en hebben we een sterke foutcorrectiecapaciteit nodig voor elke sector. Schijfstations met grotere fysieke sectoren en meer ECC-bytes voor elke sector bieden verbeterde algoritmen voor databescherming en -correctie. Het 4K-formaat helpt bij het bereiken van een betere formaatefficiëntie en verbetert de betrouwbaarheid en het vermogen om fouten te corrigeren. Deze overgang zal resulteren in betere gebruikerservaringen, vandaar dat de 4K-schijf moet worden gekozen voor OS-installatie.