Workshop: kopieer HDD naar SSD met juiste 4k alignment

86 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Sectoren
  3. 3. Emulatiemodus
  4. 4. 4k alignment
  5. 5. Wanneer niet uitgelijnd?
  6. 6. Alignment goed zetten
  7. 7. Stappenplan: harde schijf naar SSD kopiëren met correcte uitlijning
  8. 8. Reacties

Inleiding

Wie de harde schijf van z’n PC of laptop kopieert naar een SSD moet opletten dat de positie van z’n partities wel overeenkomt met de indeling van de onderliggende disk. Hetzelfde is van belang voor de nieuwste generatie harde schijven. Wat deze zogenaamde 4k alignment is en hoe je prestatieverlies kunt voorkomen, bespreken we in deze workshop.

Je hebt het vast wel eens op een forum zien staan: “zorg er voor dat de partities op je SSD of harde schijf 4k aligned zijn, want anders kun je een flink prestatieverlies verwachten”. Het klinkt een beetje cryptisch, maar de waarschuwing is zeer terecht. Wie een modern besturingssysteem als Windows 7 of Windows 8 vers op een nieuwe harde schijf of SSD heeft geïnstalleerd hoeft zich in de regel nergens zorgen over te maken. Wie echter een bestaande installatie heeft gekopieerd van de ene schijf naar de andere (bijvoorbeeld bij de overstap naar een SSD), gebruik heeft gemaakt van partitioneringstools of nog een schijf gebruikt die oorspronkelijk in het Windows XP-tijdperk of daarvoor is geformatteerd, heeft wel gerede kans dat z’n installatie niet ‘uitgelijnd’ is, met matige prestaties van HDD of SSD tot gevolg.

In deze workshop laten we je zien hoe je zelf kunt controleren of de 4k alignment van je partities in orde is, hoe je een eventueel probleem met gratis software kunt oplossen en ook hoe je bij de overstap van een harde schijf naar SSD er zeker van kunt zijn dat dit goed gaat. Eerst echter wat theorie...


Wie de inhoud van een harde schijf naar een SSD kopieert moet goed opletten bij de alignment van de partities

Sectoren

Al zo’n beetje sinds de eerste harde schijven, tientallen jaren geleden, werken deze met sectoren van 512 bytes. Ofwel: alle data op een harde schijf wordt opgeslagen in brokken van 512 bytes lang. Omdat de lengte van de sectoren al sinds jaar en dag hetzelfde is, sturen besturingssystemen harde schijven ook al sinds jaar en dag met datapakketten van 512 bytes per stuk aan.

Op harde schijven zijn de sectoren van 512 bytes ook fysiek aanwezig. Op het oppervlak van een harde schijf vinden we telkens achtereenvolgens een synchronisatieblok, een adresmarkering, 512 bytes data en ECC-foutcorrectiedata voor deze 512 bytes. Een harde schijf is helemaal opgebouwd uit dergelijke blokken.

De opbouw van harde schijven uit sectoren van 512 bytes begon de afgelopen jaren meer en meer een achterhaald concept te worden. Dat had fysieke als ook softwarematige redenen. Doordat de datadichtheid van harde schijven alsmaar bleef toenemen, zijn de 512 byte sectoren fysiek steeds kleiner geworden. Harde schijffabrikanten zagen in dat ze het oppervlak van een schijf efficiënter te gebruiken is wanneer er gebruik wordt gemaakt van grotere sectoren, maar bovenal ook dat de betrouwbaarheid van een harde schijf met een zeer hoge datadichtheid verbeterd kan worden wanneer de ECC-foutcorrectiedata over grotere blokken dan 512 bytes zou worden berekend. Een softwarematige reden is dat de bestandssystemen zoals gebruikt door moderne besturingssystemen inmiddels sowieso al werken met grotere blokgroottes (clusters in jargon) dan 512 bytes.

Het consortium van fabrikanten van harde schijven en gerelateerde bedrijven IDEMA (International Disk Drive Equipment and Materials Association) bracht in 2000 iedereen aan tafel om aan het probleem te gaan werken en in 2010 werd een nieuwe standaard voor harde schijven met sectoren ter grootte van 4 kilobyte officieel bekrachtigd. Inmiddels maken de veel harde schijven van de bekende merken allen intern gebruik van 4k sectors, wat men Advanced Format noemt. We komen dit vooral tegen in harde schijven van 2 TB of groter.

Efficiënter

De overstap naar 4k sectoren, ofwel advanced format, zorgt ervoor dat harde schijffabrikanten het oppervlak van hun schijven efficiënter kan inzetten. Dat zie je direct in onderstaande afbeelding. Dankzij de sectoren van 4096 bytes, blijft van de overhead minder dan één achtste over. Naar verluid leidt de overstap naar 4k-sectoren tot efficiënter gebruik van het oppervlak van harde schijven van tussen de 7 en 11 procent. Ofwel: meer data op hetzelfde oppervlak en tegelijkertijd betrouwbaardere werking, aangezien de ECC-informatie over meer data wordt berekend.

In de wereld van harde schijven is de overstap naar 4k sectoren dus in volle gang. In de wereld van SSD’s is het opslaan van data in brokken van 4096 bytes als sinds het begin de normaalste zaak van de wereld. We hebben dat al vaker beschreven in artikelen: een SSD’s is opgebouwd uit zogenaamde pagina’s van 4 kB en dat is dus de kleine hoeveelheid data die een SSD tegelijkertijd kan lezen of schrijven. Ook hier is 4k een logische keuze, aangezien de bestandssystemen van moderne besturingssystemen (NTFS voor Windows, HFS+ voor Mac OS, ext3/4 voor Linux, etc.) allen werken met clusters van 4 kB.


Harde schijven met 4k sectoren maken efficiënter gebruik van de opslagruimte

Emulatiemodus

Moderne harde schijven en alle SSD’s werken dus intern met datablokken van 4096 bytes. De crux zit hem er echt in dat deze apparaten met de buitenwereld nog altijd communiceren alsof het ‘ouderwetse’ harde schijven zijn met sectoren van 512 bytes, via de LBA (Logical Block Addressing) methode. Ook de meest hypermoderne SSD’s worden vanuit het besturingssysteem aangestuurd als ware het apparaten met 512 byte clusters. De reden daarvoor is simpel: op deze manier wordt volledige compatibiliteit met bestaande computers en besturingssystemen gewaarborgd. Deze manier van werken wordt in de praktijk 512e ofwel 512 emulation genoemd.

Het komt er dus op neer dat iedere fysieke sector van een advanced format harde schijf (of iedere pagina van een SSD) wordt opgedeeld in 8 ‘logische’ sectors, die beschikbaar zijn voor het besturingssysteem.

In feite is dit geen probleem. We schreven al dat moderne bestandssystemen allen gebruik maken van clusters van 4 kilobyte. Dat betekent dat bestanden in blokken van 4 kB worden opgedeeld. 4 kB is dus de kleine opslaghoeveelheid (lees: een bestand van een paar bytes neemt op de schijf 4 kB ruimte in) en de fysieke bestandsgrootte van alle bestanden worden naar boven afgerond naar 4 kB. Gemiddeld wordt ieder bestand wanneer opgeslagen op harde schijf of SSD dus 2 kB groter (wat je ook goed kunt zien wanneer je in Windows de eigenschappen van een map opvraagt, zie figuur 2), maar het zorgt er wel voor dat schijven makkelijker aangestuurd kunnen worden. En laten we eerlijk zijn: in de tijd van schijven van honderden gigabytes maakt niemand zich zorgen over een paar MB verlies.

Het besturingssysteem werkt dus met databrokken van 4 kB, maar in plaats van commando’s ala “schrijf deze 4 kB weg naar sector xyz” heeft het OS dus telkens commando’s ala “schrijf deze acht blokken van 512 bytes naar de acht sectoren vanaf xyz”. Voor de prestaties van een harde schijf of SSD maakt dat in feite niets uit, al is het natuurlijk een wat omslachtige manier van werken. Overigens mogen we over een tijdje de eerste ‘4k native’ schijven verwachten die ook met de buitenwereld communiceren in sectoren van 4096 bytes. Windows 8 en Windows Server 2012 zijn de eerste Microsoft besturingssystemen die deze 4k native schijven ondersteunen, Windows 7 dus niet.


Vrijwel alle moderne bestandssystemen, waaronder het door Windows gebruikte NTFS, werken met clustergroottes van 4 kB. Dat betekent dat alle bestanden op de schijf gemiddeld 2 kB extra opslagruimte in beslag nemen.

4k alignment

De 4 kB clusters van een bestandsysteem als NTFS worden dus omgezet naar 8 logische blokken van 512 bytes en in een moderne harde schijf of SSD weer omgezet naar sectoren of pagina’s van 4 kB. Tot zo ver niets aan de hand. Of toch wel? Hier komt het hele 4k alignment verhaal om de hoek kijken. Om deze translaties zonder prestatieverlies te laten plaatsvinden, moeten de bestandssysteem clusters namelijk uitlijnen met de onderliggende 4k sectoren of pagina’s. Wat dat betekent kun je goed zien in onderstaande afbeelding: iedere NTFS-cluster moet als het goed is exact overeenkomen met een combinatie van 8 logische sectoren die weer overeenkomen met één fysieke sector. Ofwel: de eerste cluster van een bestandssysteem op de schijf moet op een veelvoud van 8 logische sectoren geplaatst worden om een één-op-één relatie tussen clusters en fysieke sectoren te bewerkstelligen.

Is dat echter niet het geval, dan krijg je een situatie zoals in het tweede gedeelte van figuur 3. We zien dat de eerste NTFS-cluster hier begint bij logische sector 6, dus niet na een veelvoud van 8. In dit voorbeeld transleert NTFS-cluster 2 dus naar logische sectoren 14 t/m 21. En die sectoren maken fysiek weer onderdeel uit van sector 2 en 3.

Het resultaat: wanneer het besturingssysteem in dit voorbeeld cluster 2 wil lezen, worden logische sector 14 t/m 21 opgevraagd en zal de harde schijf sector 2 en 3 moeten lezen (twee keer zoveel werk!) de juiste data er uit moeten extraheren en die doorsturen. Bij schrijven is het nog erger. In het geval van een harde schijf zal de wanneer logische sector 14 t/m 21 beschreven moeten worden eerst fysieke sector 2 en 3 gelezen moeten worden, daarna de bestaande data van logische sectoren 9 t/m 13 en 22 t/m 24 gecombineerd moeten worden met de nieuwe data door 14 t/m 21 en daarna worden de twee fysieke sectoren volledig opnieuw beschreven. Dat is véél meer werk dan het simpelweg overschrijven van één fysieke sector wanneer de partitie wél uitgelijnd was. Bij SSD’s is het zo mogelijk nog rampzaliger, aangezien pagina’s waar al data in staat niet overschreven worden, voordat volledige blokken van 512 kilobytes geleegd worden. Als iedere schrijfactie van één cluster er voor zorgt dat de SSD telkens twee lege pagina’s moet vinden, betekent dit vele meer werk voor de wear leveling en garbage collection algoritmes in een SSD, minstens twee keer meer schrijfacties dan strikt noodzakelijk, daardoor dus een hoge write amplication factor, maar een veel kortere levensduur van de SSD én verslechterde prestaties tot gevolg.


Als een partitie niet 4k aligned is komen de clusters van het bestandssysteem niet overeen met fysieke sectoren (harde schijven) of pagina’s (SSD’s).

Wanneer niet uitgelijnd?

Gelukkig hebben de meeste moderne besturingssystemen weet van deze situatie en zorgen ze er voor dat het alignment probleem niet kan voorkomen. Wanneer je een harde schijf of SSD partitioneert en formatteert met Windows Vista met hotfix 2553708, Windows 7 SP1 of Windows 8 zorgt het besturingssysteem ervoor dat alle partities beginnen op veelvouden van 1 MB (256 4k-sectoren) vanaf het begin van de schijf. Daardoor is er altijd een correcte uitlijning. Mochten harde schijffabrikanten in de toekomst willen overstappen nog vele grotere sectorgroottes dan zit je met een uitlijning op 1 MB vermoedelijk ook geramd.

Heb je je harde schijf echter niet ingedeeld met een recente Windows versie dan is er een kans op problemen. Windows XP is berucht: dit OS laat de eerste partitie standaard beginnen op de 64ste logische sector, terwijl dat de 65ste zou moeten zijn voor een goede uitlijning. Windows XP installeren op een advanced format harde schijf of SSD is dus funest voor de prestaties. Maar ook een nieuwe Windows-versie installeren op een schijf die oorspronkelijk met Windows XP is gepartitioneerd zorgt in een systeem dat niet uitgelijnd is.

Verder zijn er veel (oudere versies van) partitioneringsprogramma’s die geen rekening houden met dit gegeven. Een groot probleem is ook dat veel tools die schijven kunnen kopiëren geen rekening met uitlijning houden. Wanneer je Windows 7 op een harde schijf geïnstalleerd hebt en met verkeerde tool kopieert naar een SSD bestaat ook de kans dat partities net op verkeerde plek op de nieuwe disk terecht komen, zeker wanneer de kopieertool ze vergroot of verkleint omdat de grootte van de nieuwe SSD niet overeen komt met de oorspronkelijke harde schijf.

Controleren

Om te controleren of je harde schijf of SSD wel 4k uitgelijnd is, heb je gelukkig geen extra software nodig. Je kunt het in Windows eenvoudig controleren door een commando op de opdrachtprompt in te voeren. Start eerst de opdrachtprompt op door op de Windows-knop te drukken en dan cmd in te voeren. Voer dan het volgende commando in:

wmic partition get Name, StartingOffset

Je krijgt dan de zogenaamde StartingOffset van alle partities te zien, ofwel de positie in bytes waar de positie begint. Pak nu de Windows calculator of een rekenmachine erbij en deel de getallen die je ziet door 4096. Wanneer u deze berekening een getal zonder cijfers achter de komma komt, zijn je partities uitstekend uitgelijnd. In de praktijk zul je trouwens zien dat je de waardes ook door 1048576 (1 MB) kunt delen: daar lijnen moderne Windows versies immers zoals geschreven hun partities op uit.


Op de Windows opdrachtprompt kun je eenvoudig controleren of je partities 4k aligned zijn. Voer het commando uit de afbeelding in en deel de getallen die je krijgt door 4096. Is het resultaat een getal zonder cijfers achter de komma? Dan zijn je partities 4k aligned!

Alignment goed zetten

Klopt de 4k alignment van je schijf niet? Dan is het tijd om actie te ondernemen. Er zijn verschillende utilities om de alignment van de schijf goed te zetten. Een goede (en gratis!) keuze is de MiniTool Partition Wizard Home Edition, die je kunt downloaden op www.partitionwizard.com.

Installeer dit programma en start het op. Je krijgt dan direct een overzicht van alle schijven en partities in je systeem. Het uitlijnen van je partities doe je simpelweg door in de balk links op de knop Align All Partitions te klikken. De software controleert dan eerst of het überhaupt nodig is. Zo nee krijg je de melding dat alle partities prima uitgelijnd zijn. Is er wel werk aan de winkel, dan geeft Partition Wizard aan welke partities aangepast zullen worden. Klik daarna linksboven op de knop Apply en de tool gaan aan de slag. Je zult zien dat Partition Wizard de computer opnieuw opstart en z’n taak tijdens het opstarten van Windows gaat uitvoeren: partities kunnen immers niet aangepast worden als Windows actief is.

Afhankelijk van de grootte en snelheid van je schijf in Partition Wizard wel even aan de slag, maar het resultaat is er dan ook naar. Je zult zien dat een schijf met uitgelijnde partities veel sneller is.


Met MiniTool Partition Wizard kun je eenvoudig met één druk op de knop al je partities uitlijnen.

Stappenplan: harde schijf naar SSD kopiëren met correcte uitlijning

Waar het dus vaak mis gaat met de uitlijning van schijven is bij het kopiëren van een bestaande Windows-installatie van een harde schijf naar een SSD met tools die er niet expliciet rekening houden. Let wel: in sommige gevallen gaan zelfs de migratietools die bij SSD’s meegeleverd worden in de soep. Gelukkig kun je met het genoemde gratis MiniTool Partition Wizard eenvoudig een harde schijf naar een SSD kopiëren met correcte uitlijning. Wij laten zien hoe.

Stap 1

Sluit je nieuwe SSD als extra schijf aan op je PC. Bij een desktop kun je dat door via een vrije Serial ATA-poort, bij een laptop kun je een USB 3.0 naar SATA verloopkabel gebruiken. Installeer MiniTool Partition Wizard. Zodra je het programma opstart zie je je twee schijven: de harde schijf met bestaande partities en de lege SSD.

 

Stap 2

Klik links Copy Disk Wizard en je komt in een stappenplan terecht om een schijf te kopiëren.

 

Stap 3

Selecteer in de eerste stap de bronschijf. Dat zal dus je harde schijf zijn. Je herkent hem rechts aan de naamgeving, maar ook aan het feit dat er op de bronschijf daadwerkelijk partities aanwezig zijn.

 

Stap 4

Selecteer in de tweede stap de doelschijf. Dat zal je nieuwe SSD zijn.

 

Stap 5

Is je SSD groter of kleiner dan je oorspronkelijke harde schijf, kies in deze stap dan voor Fit partitions to entire disk. De opslagcapaciteit van je nieuwe SSD wordt dan volledig gebruikt. Vergeet hier vooral ook niet de optie Force to align partitions to 1MB aan te vinken. Die optie zorgt voor een correcte 4k alignment.

 

Stap 6

Klik nu op Finish.

 

Stap 7

De taak is nu voorbereid. Klik linksboven op Apply om de kopie daadwerkelijk uit te voeren. Windows zal daarvoor opnieuw opstarten.

 

Stap 7

Is de kopie voltooid, verwissel dan de fysieke aansluiting van de oude harde schijf en nieuwe SSD. Bij een laptop kun je je SSD dus inbouwen in de positie van de harde schijf. De computer zal nu vanaf de SSD opstarten.         

               

0
*