Harde schijven
Voordelen en risico's bij de overstap van 512 naar 4.096 bytes
Er waait een nieuwe wind in de wereld van de harde schijven Hoewel de opslagdichtheid de afgelopen jaren enorm is toegenomen, is een van de meest elementaire aspecten van de moderne harde schijf, het formaat van de logische blokken, ook wel sectoren genoemd, constant gebleven.
Rond 2010 begonnen fabrikanten van harde schijven over te stappen van de traditionele sectorgrootte van 512 bytes naar een groter en efficiënter sectorformaat van 4096 bytes, ook wel bekend als 4K-sectoren en door IDEMA (International Disk Drive Equipment and Materials Association) omschreven als Advanced Format.
Dit artikel beschrijft de context van deze migratie en benoemt de voordelen op de lange termijn voor klanten, alsook de te vermijden mogelijke risico's bij de overstap van 512 bytes naar 4K-sectoren.
De afgelopen 30 jaar werden gegevens die op harde schijven werden opgeslagen, opgedeeld in kleine, logische blokken, zogeheten 'sectoren', met een traditionele sectorgrootte van 512 bytes. Veel aspecten van moderne computersystemen zijn nog steeds ontworpen op basis van deze formaatstandaard.
Dit traditionele sectorformaat bevat een GAP-gedeelte, een SYNC-gedeelte, een AM-gedeelte (address mark), een DATA-gedeelte en een ECC-gedeelte (error correction code) (afbeelding 1).
Afbeelding 1. Verouderde sectorindeling van harde schijven
De structuur van deze sectorindeling was als volgt:
Dit low-level formaat heeft jarenlang uitstekend gewerkt. Naarmate de opslagcapaciteit van harde schijven bleef toenemen, werd de sectorgrootte steeds vaker een beperkende factor bij de ontwikkeling van grotere opslagcapaciteit en efficiëntere foutcorrectie. Als we bijvoorbeeld de sectorgrootte vergelijken met de totale capaciteit van oudere en meer recente harde schijven, blijkt dat de sectorresolutie steeds kleiner is geworden. De resolutie van de sector (het aantal sectoren als percentage van de totale opslagruimte) is steeds kleiner en inefficiënter geworden (tabel 1).
Capaciteit | Totaal aantal sectoren | Sectorresolutie |
40 MB | 80.000 | 0,001% |
400 GB | 800.000.000 | 0,0000001% |
12 TB | 24.000.000.000 | 0,000000004 |
Een erg kleine resolutie is gunstig voor het beheer van kleine en discrete hoeveelheden gegevens. De toepassingen van de meeste moderne computersystemen hanteren gegevens in blokken die veel groter zijn dan de verouderde sectorgrootte van 512 bytes.
Naarmate de oppervlaktedichtheid toeneemt, neemt de kleine sector met 512 bytes bovendien een steeds kleiner deel van de ruimte op een harde schijf in. Dit vormt een probleem met betrekking tot foutcorrectie en vergroot het risico op storingen en defecte schijven. In het voorbeeld in afbeelding 2 nemen de gegevens op de harde schijf steeds minder ruimte in, wat de foutcorrectie bemoeilijkt doordat mediadefecten van hetzelfde formaat een groter gedeelte van de gegevens kunnen beschadigen, waardoor een krachtigere foutcorrectie noodzakelijk is.
Afbeelding 2. Mediadefecten en oppervlaktedichtheid
Een sector van 512 bytes kan in de meeste gevallen een defect van maximaal 50 bytes lang corrigeren. Door de steeds hogere oppervlaktedichtheden van moderne harde schijven, komt deze foutcorrectie steeds meer in gevaar. Als gevolg hiervan is de migratie naar grotere sectoren een van de fundamentele behoeften van de hardeschijvenindustrie, omdat hiermee de foutcorrectie verbeterd kan worden en formaatefficiëntie kan worden geoptimaliseerd.
De opslagindustrie heeft de afgelopen jaren gewerkt aan een overstap naar harde schijven met een groter sectorformaat - de grote bijdrage van Seagate en veel van onze collega's in de opslagindustrie begon in 2005 (afbeelding 3). In december 2009 werd, dankzij een gecoördineerde inspanning van IDEMA, Advanced Format genomineerd en goedgekeurd als de nieuwe naam voor 4K-sectoren. Daarnaast hebben alle hardeschijffabrikanten toegezegd om vanaf januari 2011 nieuwe hardeschijfplatformen voor desktops en notebooks met het sectorformaat Advanced Format aan te bieden. Al voor deze datum begonnen Advanced Format-schijven op te duiken op de markt. Seagate bood schijven met grotere sectoren eerst aan OEM-klanten aan en in merkproducten in de detailhandel.
Afbeelding 3. Belangrijke mijlpalen in de ontwikkeling van Advanced Format
Aangezien alle hardeschijffabrikanten hebben ingestemd met de overstap naar het Advanced Format-sectorontwerp vanaf januari 2011 heeft de industrie zich aangepast en deze verandering omarmd om de mogelijke negatieve effecten tot een minimum te beperken. Hoewel dit voor eindgebruikers op korte termijn niet meteen in enorme capaciteitsverhogingen is geresulteerd, heeft de migratie naar sectoren van 4K-formaat sneller geleid naar hogere oppervlaktedichtheden en hardeschijfcapaciteiten, alsook een robuustere foutcorrectie.
Betere efficiëntie door verkleining van de benodigde ruimte voor foutcorrectiecode
Afbeelding 4 geeft de sectorindeling van de traditionele 512-byte sector weer, waar iedere 512-byte sector een niet-gegevensgerelateerde overhead heeft van 50 bytes voor ECC en nog eens 15 bytes voor de GAP, SYNC en IAM. Dit levert een gesectoriseerde1 formaatefficiëntie van ongeveer 88% (512/(512 65)) op.
Afbeelding 4. Indeling verouderde 512-byte sector
De nieuwe Advanced Format-standaard maakt de overstap naar een 4K-sector, waarbij in principe acht traditionele 512-byte sectoren worden gecombineerd tot één 4K-sector (afbeelding 5).
Afbeelding 5. Indeling Advanced Format: 4K-byte sector
De Advanced Format-standaard gebruikt hetzelfde aantal bytes voor GAP, SYNC en ADDRESS MARK, maar het ECC-deel beschikt nu over 100 bytes. Dit levert een gesectoriseerde1 formaatefficiëntie van ongeveer 97% (4096/(4096 115)) op, een verbetering van bijna 10%.
In de toekomst zullen deze formaatefficiënties gaan lonen en leiden tot grotere opslagcapaciteit en betere gegevensintegriteit.
Betrouwbaarheid en foutcorrectie
De fysieke afmetingen van de sectoren op harde schijven zijn kleiner geworden, waardoor ze steeds minder ruimte innemen, maar dit geldt helaas niet voor mediadefecten. In afbeelding 6 zijn afbeeldingen weergegeven van een aantal bijzonder kleine voorwerpen. In vergelijking tot de 'fly height', de afstand van de lees-/schrijfkop van een harde schijf en het schijfoppervlak, zijn deze voorwerpen echter relatief groot. Microscopische deeltjes die nog veel kleiner zijn dan de voorwerpen in dit diagram kunnen mediadefecten op een harde schijf veroorzaken.
Afbeelding 6. Schaalweergave van de 'fly height' van een harde schijf
De grotere 4K-sector van de Advanced Format-standaard staat voor een verdubbeling2 van het ECC-blok van 50 bytes naar 100 bytes, waardoor de efficiëntie van de foutcorrectie verbetert en de schijf beter beschermd is tegen deeltjes en mediadefecten.
De voordelen van verbeterde formaatefficiëntie en een robuustere foutcorrectie maken de overstap naar 4K-sectoren de moeite waard. Voor de hardeschijfindustrie is het erg belangrijk om deze overstap in goede banen te leiden en op die manier de langetermijnvoordelen veilig te stellen en de nadelige gevolgen te minimaliseren.
Zoals we hierboven al hebben opgemerkt, zijn er veel aspecten van moderne computersystemen die er nog steeds van uitgaan dat sectoren altijd 512 bytes bevatten. Het is dan ook niet realistisch om te verwachten dat de volledige industrie ineens overstapt op deze nieuwe standaard en alle verouderde aannames achter zich laat. De implementatie van native 4K-sectoren, waar zowel de host als de harde schijf gegevens uitwisselen in blokken van 4096 bytes, zal geleidelijk plaatsvinden. Totdat het zover is, zullen de fabrikanten de 4K-overstap bewerkstelligen met behulp van een techniek die 512-byte sectoremulatie wordt genoemd.
512-byte sectoremulatie
De introductie van 4K-sectoren was voor een groot deel afhankelijk van 512-byte sectoremulatie. Dit betekent dat de fysieke 4K-sectoren van Advanced Format worden omgezet naar de traditionele 512-byte sectoren die verwacht worden door de hostcomputer.
Voor de 512-byte emulatie hoeven geen complexe wijzigingen te worden aangebracht in bestaande computersystemen. Het kan de prestaties echter wel negatief beïnvloeden, met name bij het schrijven van gegevens die niet exact overeenkomen met acht omgezette, verouderde sectoren. Dit wordt duidelijk als we kijken naar het lees- en schrijfproces dat nodig is voor 512-byte emulatie.
Geëmuleerde lees- en schrijfprocessen
Zoals afbeelding 7 aangeeft, is het proces om gegevens van een 4K-schijf te lezen met behulp van 512-byte emulatie zeer eenvoudig.
Afbeelding 7. Mogelijke leesvolgorde voor 512-byte emulatie
Het lezen van het 4K-blok met gegevens en de herformattering van de specifieke 512-byte virtuele sector die de hostcomputer verwacht, gebeurt in het DRAM-geheugen van de schijf en heeft geen merkbare gevolgen voor de prestaties.
Een schrijfproces kan ingewikkelder zijn, met name als de gegevens die de hostcomputer probeert te schrijven een subset zijn van een fysieke 4K-sector. Als dat zo is, moet de harde schijf eerst de volledige 4K-sector met daarin de beoogde locatie van de schrijfopdracht van de host lezen, de bestaande gegevens samenvoegen met de nieuwe gegevens en vervolgens de volledige 4K-sector herschrijven (afbeelding 8).
Afbeelding 8. Mogelijke schrijfvolgorde voor 512-byte emulatie
In dit geval moet de harde schijf extra mechanische stappen uitvoeren, namelijk het lezen van een 4K-sector, het aanpassen van de inhoud en het schrijven van de gegevens. Dit proces wordt ook wel een 'read-modify-write cycle' genoemd en heeft een negatieve impact op de prestaties van de harde schijf. Het minimaliseren van de waarschijnlijkheid en de frequentie van read-write-modify cycles is de belangrijkste voorwaarde voor een vlotte en gestroomlijnde overgang naar 4K-sectoren.
Read-write-modify cycles voorkomen
Uitgelijnde versus niet-uitgelijnde hardeschijfpartities
We hebben nog niet besproken hoe hostsystemen en harde schijven informatie uitwisselen over de locatie van de sectoren op het medium. Het is tijd om kennis te maken met het Logical Block Address (LBA).
Iedere 512-byte sector krijgt een unieke LBA, een nummer dat kan variëren van nul (0) tot het nummer dat nodig is op basis van de schijfgrootte. Met behulp van de toegewezen LBA kan de host een specifiek blok met gegevens opvragen. Als de host opdracht geeft om gegevens te schrijven, wordt aan het eind van de schrijfbewerking een LBA-adres afgegeven, waaruit de host kan afleiden waar de gegevens staan. Dit is belangrijk voor de overstap naar 4K-sectoren, aangezien er acht verschillende mogelijkheden zijn waar de host-LBA kan beginnen.
Als LBA 0 is uitgelijnd met het eerste virtuele 512-byte blok in de fysieke 4K-sector, wordt de logische-naar-fysieke uitlijningssituatie voor 512-byte emulatie aangeduid met Alignment 0. Nog een mogelijke uitlijning is wanneer LBA 0 is uitgelijnd met het tweede virtuele 512-byte blok in de fysieke 4K-sector. Deze situatie wordt aangeduid met Alignment 1 en wordt in afbeelding 9 afgezet tegen Alignment 0. Er zijn nog zes aanvullende mogelijkheden voor niet-uitgelijnde partities die kunnen leiden tot read-write-modify-events zoals die bij Alignment 1.
Afbeelding 9. Alignments
Alignment 0 werkt bijzonder goed bij de 4K-sectoren van de Advanced Format-standaard. Dit komt doordat een harde schijf heel eenvoudig acht aaneensluitende 512-byte sectoren kan toewijzen aan één 4K-sector. Dit gebeurt door 512-byte schrijfopdrachten op te slaan in de cache van de harde schijf totdat er genoeg aaneengesloten 512-byte blokken zijn ontvangen om een 4K-sector te vormen. Omdat moderne computertoepassingen vaak gegevensblokken hanteren die groter zijn dan 4K, komen zogenoemde 'runts' slechts zelden voor. De situatie bij Alignment 1 is echter totaal anders.
Als hardeschijfpartities worden gemaakt die niet uitgelijnd zijn, zoals weergegeven in afbeelding 9, kan dit resulteren in read-modify-write cycles die de prestaties van een harde schijf kunnen benadelen. Dit is dan ook de situatie die vermeden moet worden bij de implementatie van Advanced Format-schijven. Dit wordt later bespreken.
Kleine schrijfbewerkingen
In moderne softwaretoepassingen zijn gegevens zoals documenten, afbeeldingen en videostreams veel groter dan 512 bytes. Harde schijven kunnen deze schrijfopdrachten daarom opslaan in de cache totdat er genoeg opeenvolgende 512-byte blokken zijn om een 4K-sector te bouwen. Zolang de hardeschijfpartities uitgelijnd zijn, kan de harde schijf heel eenvoudig 512-byte sectoren samenvoegen tot 4K-sectoren zonder dat dit nadelige gevolgen heeft voor de prestaties. Er bestaan echter low-level processen die ervoor kunnen zorgen dat een harde schijf te maken krijgt met runt-situaties die niet veroorzaakt worden door niet-uitgelijnde partities. Deze situaties ontstaan in de zeldzame gevallen dat de host discrete schrijfopdrachten geeft die kleiner zijn dan 4K. Vaak gaat het dan om activiteiten van het besturingssysteem die te maken hebben met het bestandssysteem, logs of vergelijkbare low-level activiteiten. Over het algemeen vinden dergelijke activiteiten zodanig weinig plaats dat ze geen merkbare gevolgen hebben voor de prestaties. En toch wordt er geadviseerd dat systeemontwerpers deze processen aanpassen, zodat systemen maximaal blijven presteren bij de overstap naar 4K.
Nu we hebben gezien wat de voordelen zijn van de overstap naar 4K-sectoren en wat de mogelijke gevolgen voor de prestaties kunnen zijn, is het tijd om te kijken hoe deze overstap het best kan worden beheerd. We kunnen dit onderwerp het best behandelen op basis van de twee meest populaire besturingssystemen die momenteel worden gebruikt: Windows en Linux.
4K-sectoren beheren in Windows
Het belangrijkste aspect dat beheerd moet worden voor een overstap naar 4K-sectoren heeft te maken met de uitlijning we hierboven hebben beschreven. Advanced Format-schijven werken goed in een Alignment 0-toestand, waar de fysiek-naar-logisch-startpositie hetzelfde is. Alignment-omstandigheden ontstaan op het moment dat de hardeschijfpartitie(s) wordt/worden gemaakt. Partities worden gemaakt door software die we kunnen onderverdelen in twee verschillende categorieën:
Als de partities zijn gemaakt met het Windows-besturingssysteem, zijn er drie Windows-releases die we moeten bespreken: Windows XP, Windows Vista en Windows 7. Microsoft was betrokken bij de planning van de overstap naar grotere sectoren. En vanaf de release van Windows Vista Service Pack 1 hebben ze software ontwikkeld die compatibel was met 4K-sectoren. Software die partities maakt met Alignment 0, die goed werkt met de Advanced Format-standaard, wordt '4K-aware' genoemd. Tabel 2 laat de situatie zien met betrekking tot de huidige generaties van het Microsoft Windows-besturingssysteem.
Versie van besturingssysteem | 4K-aware? | Resultaten |
Windows XP | Nee | Creëert primaire partitie met Alignment 1 (niet uitgelijnd) |
Windows Vista vóór Service Pack 1 | Nee | Herkent grotere sectoren, maar de partitionering is niet correct (niet uitgelijnd) |
Windows Vista met Service Pack 1 of nieuwer | Ja | Creëert partities met Alignment 0 (uitgelijnd) |
Windows 7 | Ja | Creëert partities met Alignment 0 (uitgelijnd) |
Windows 10 | Ja | Creëert partities met Alignment 0 (uitgelijnd) |
Computersystemen die met de nieuwste versies van Windows worden geleverd, vormen geen probleem voor het gebruik van Advanced Format-schijven. Systemen die nog steeds Windows XP of Windows Vista, vóór Service Pack 1, gebruiken, lopen een aanzienlijk risico op verminderde prestaties vanwege de partities die door het besturingssysteem worden gemaakt.
Naast het risico op niet-uitgelijnde partities die door oudere versies van Windows worden gemaakt, bestaan er ook een aantal hulpprogramma's die veelvuldig worden gebruikt door systeembouwers, OEM's, value-added resellers en IT-managers en die kunnen resulteren in niet-uitgelijnde partities. Het komt zelfs vaker voor dat niet-uitgelijnde partities worden gemaakt met deze programma's dan met Windows zelf. Er bestaat dus een aanzienlijk risico dat er niet-uitgelijnde partities, en dus omstandigheden die de prestaties van de harde schijf kunnen verminderen, worden gemaakt. Om het nog ingewikkelder te maken, bestaan de harde schijven die deel uitmaken van moderne computersystemen tegenwoordig uit meerdere hardeschijfpartities. Dit betekent dat iedere partitie van de schijf gecreëerd moet zijn met 4K-aware partitioneringssoftware om ervoor te zorgen dat de partities goed zijn uitgelijnd en dat de prestaties dus optimaal zijn. Afbeelding 10 laat zien wat er kan gebeuren als er meerdere hardeschijfpartities worden gemaakt met software die niet 4K-aware is.
Afbeelding 10. Meerdere partities en alignments
Er zijn drie manieren waarop u kunt voorkomen en/of tegengaan dat een niet-uitgelijnde situatie de prestaties van uw harde schijf negatief kan beïnvloeden.
Een 4K-aware versie van Windows gebruiken om hardeschijfpartities te creëren is een eenvoudige en begrijpelijke manier om niet-uitgelijnde partities te voorkomen. Verkopers van hulpprogramma's die hardeschijfpartities creëren zouden u moeten kunnen vertellen of er 4K-aware versies beschikbaar zijn. Als dat zo is, stap dan over op deze versies om problemen te voorkomen.
Sommige fabrikanten van harde schijven lossen dit probleem op met hulpprogramma's die de bestaande hardeschijfpartities onderzoeken en deze indien nodig opnieuw uitlijnen. Dit alternatief kost echter extra tijd en voegt stappen toe aan de bouw of upgrade van uw computersysteem.
Uiteindelijk zullen hardeschijffabrikanten meer geavanceerde manieren ontwikkelen om niet-uitgelijnde partities te beheren en tegelijkertijd de negatieve gevolgen op de prestaties te vermijden.
Nu de overstap naar Advanced Format wordt voortgezet, zullen al deze methoden een rol spelen bij het maximaliseren van de voordelen voor de sector en het minimaliseren van de mogelijke nadelen voor de prestaties.
De belangrijkste strategieën voor het beheer van de 4K-overstap in een Windows-omgeving gelden ook voor Linux. De meeste Linux-gebruikers hebben toegang tot de broncode, zodat ze het besturingssysteem kunnen aanpassen aan hun specifieke behoefte. Dit betekent ook dat ze hun Linux-systeem proactief kunnen bijwerken, zodat het Advanced Format-schijven kan hanteren.
Door uw Linux-systeem aan te passen, kunt u ervoor zorgen dat er schijfpartities worden gemaakt die op de juiste manier zijn uitgelijnd en kunt u het aantal kleine schrijfbewerkingen dat los van eventuele uitlijningsproblemen 'runts' kan veroorzaken, tot een minimum beperken.
De Linux-kernel en hulpprogramma's zijn aangepast zodat ze Advanced Format-schijven ondersteunen. Dankzij deze aanpassingen zijn alle partities op Advanced Format-schijven op de juiste manier uitgelijnd op 4K-sectorgrenzen. Kernelversies 2.6.31 en hoger bieden ondersteuning voor Advanced Format-schijven. De volgende Linux-hulpprogramma's kunnen Advanced Format-schijven partitioneren en formatteren:
Fdisk: GNU Fdisk is een command-line hulpprogramma dat harde schijven partitioneert. Versies 1.2.3 en hoger ondersteunen Advanced Format-schijven.
Parted: GNU Parted is een hulpprogramma met een grafische interface dat harde schijven partitioneert. Versies 2.1 en hoger ondersteunen Advanced Format-schijven.
Het is een feit dat de industrie bezig is om de 512-byte sector achter zich te laten. Hardeschijffabrikanten hebben afgesproken dat ze de Advanced Format-standaard uiterlijk in januari 2011 zullen implementeren in alle nieuwe hardeschijfmodellen voor laptops en desktops.
Hardeschijftechnici blijven de oppervlaktedichtheid van de schijf verbeteren en de foutcorrectie robuuster maken. De consument heeft baat bij deze overstap omdat harde schijven meer opslagruimte bieden, minder kosten per gigabyte en toch even betrouwbaar blijven.
Een vlotte overgang kon alleen maar mogelijk zijn als alle betrokkenen goed zijn ingelicht, zodat mogelijke nadelige gevolgen voor de prestaties vermeden kunnen worden. De belangrijkste voorwaarde voor een soepele en succesvolle overgang naar de 4K-sectoren van Advanced Format was dat het gebruik van 4K-aware partitioneringstools wordt gestimuleerd. Als u een systeembouwer, OEM, integrator, IT-professional of een eindgebruiker bent die een computer bouwt of configureert, houdt dan rekening met het volgende:
Samen met onze collega's en onze klanten blijven we ervoor zorgen dat de overstap naar Advanced Format 4K-sectoren vlot en efficiënt blijft verlopen en profiteren we zo van de mogelijke langetermijnvoordelen voor de volledige opslagindustrie.
1 Gesectoriseerd formaat verwijst uitsluitend naar sectoren met gegevens en houdt geen rekening met de overhead die gekoppeld is aan servo-gegevens en andere inefficiënties in de sectorlay-out.
2 Niet iedere implementatie van een 4K-sector zorgt voor een verdubbeling van de ECC-bytes bij de overstap van 512-byte naar 4K-sectoren.