Vi hade en chans att prata med Western Digital förra veckan om en ny hårddiskteknik som de har på väg ut, kallad Advanced Format. Inför den förestående lanseringen av de första Advanced Format-diskarna deltar Western Digital i en utbildningskampanj om tekniken, eftersom den representerar det första steget i en allmän övergång för hårddiskar, och är en övergång som inte kan göras helt bakom scenerna. Specifikt kommer Advanced Format att orsaka några problem där äldre operativsystem (och vi tittar nästan uteslutande på Windows XP här) oavsiktligt kommer att skada enhetens prestanda genom att göra vissa antaganden om enheterna som inte längre kommer att vara sanna.
Vi kommer in på det snåriga om effekterna av detta om ett tag, men låt oss först börja med Advanced Format. Vad är det? I ett nötskal ersätter det den traditionella hårddisksektorn på 512 byte med en hårddisksektor på 4 kilobyte (4 096 B) av ett antal praktiska och tekniska skäl. Advanced Format är namnet Western Digital ger till enheter som implementerar 4KB-sektorer.
Övergången till 4K-sektorer har varit ungefär 10 år på väg, eftersom forskning i slutet av 90-talet identifierade att 512B-sektorer blev mindre och mindre meningsfulla när enheterna fortsatte att bli större. I en tid då hårddiskar mättes i megabyte, var 512B-sektorer en bra balans mellan tekniska faktorer och en önskan att hålla slöseri med ett minimum (man kan normalt inte lägga 2 filer i 1 sektor), men tiderna har förändrats och svårt drivkapaciteten är flera storleksordningar större.
Kärnan i problemet är att det finns tre faktorer som ständigt behöver balanseras när det kommer till hårddiskdesign: ytdensitet, signal-brusförhållandet (SNR) vid läsning från diskplattor och användningen av Error Korrigeringskod (ECC) för att hitta och korrigera eventuella fel som uppstår. När yttätheten ökar, blir sektorer mindre och deras SNR minskar. För att kompensera för det görs förbättringar av ECC (vanligtvis genom användning av fler bitar) för att bibehålla tillförlitligheten. Så för att en enhetstillverkare ska kunna lägga till mer utrymme måste de i slutändan förbättra sina felkorrigeringsmöjligheter, vilket innebär att nödvändig ECC-data kräver mer utrymme. Skölj, tvätta, upprepa.
SNR för olika arealdensiteter
Vid någon tidpunkt under denna process slutar disktillverkarna att få något användbart utrymme – det vill säga de måste lägga till så mycket ECC-data som de kommer ut ur den ökade yttätheten i första hand – vilket begränsar deras förmåga att utveckla större enheter. Disktillverkarna ogillar detta både för att det hindrar deras förmåga att utveckla nya enheter och för att det innebär att deras totala formateffektivitet (mängden utrymme på ett fat som faktiskt används för att lagra användardata) minskar. Tillverkare av diskar vill bygga större enheter och de vill lägga så lite utrymme på overhead som möjligt.
Men allt är inte förlorat. Det huvudsakliga problemet här är att ECC-korrigering sker i 512B-bitar, medan ECC kan vara mer effektivt när det används över större databitar. Om ECC-data beräknas mot en större sektor, även om mer ECC-data krävs än för en enskild 512B-sektor, behövs mindre ECC-data än summan av flera sektorer för att upprätthålla samma nivå av drifttillförlitlighet. En uppskattning för 4K-sektorteknologi visar att detta är 100 byte ECC-data som behövs för en 4K-sektor, jämfört med 320 (40×8) för 8 512B sektorer. Vidare innebär de större sektorerna att större felaktiga databitar kan korrigeras (burst error correction), något som blev svårare då större areadensiteter gjorde det lättare att radera ut större delar av en 512B-sektor. Som ett resultat föds behovet av den större sektorn.
När det gäller varför Western Digital och andra enhetstillverkare går över specifikt till en 4K-sektor, är motiveringen baserad på de tidigare problemen. 4K-sektorer är mycket större än 512B-sektorer, vilket innebär att de drar mer nytta av våra tidigare ECC-optimeringar, vilket i sin tur ger en större ökning av formateffektiviteten än att använda mindre sektorer (dvs. 1K).
4K råkar också vara en magisk siffra på andra ställen när det kommer till datorer – detta bottnar främst i att en normal sida med minne på en x86-processor fortsätter att vara 4KB (red: 4MB-sidor finns också). Sidstorleken x86 har i sin tur också lett till att filsystemkluster (den minsta lagringsenheten i ett filsystem) har blivit 4KB eftersom 4KB-kluster snyggt passar in i en sida med minne, samtidigt som behovet av mindre kluster har minskat mitt i en allmän ökning i filstorlek (dvs färre filer är mindre än 4KB och slösar med utrymme). NTFS, EXT3 och HFS+ har alla som standard 4KB-kluster på moderna hårddiskar. Så 4KB fysiska sektorer mappar perfekt med 4KB filsystemkluster, som i sin tur mappar perfekt med 4KB minnessidor. Och därför är 4KB den största praktiska storleken för en hårddisksektor vid denna tidpunkt.
Gamla sektorn | Ny sektor | x86 medlemssida | NTFS-kluster | HFS+-kluster | |
Storlek | 512B | 4K | 4K | 4K | 4K |
Så vad är nettovinsten av allt detta för konsumenterna? För tillfället inte mycket, vilket är anledningen till att detta är en lågmäld lansering för Western Digital, och fokus för detta är en utbildningsinsats om vad användningen av 4K-sektorer betyder för äldre operativsystem. Den största fördelen kommer att vara att detta kommer att göra det möjligt för Western Digital att enklare designa hårddiskar över 2 TB i storlek.
Ur ett sifferperspektiv uppskattar Western Digital att användningen av 4K-sektorer kommer att ge dem en omedelbar 7-11% ökning av formateffektiviteten. ECC-skurfelkorrigering kommer att förbättras med 50 %, och den totala felfrekvensen förbättras med 2 storleksordningar. I teorin borde dessa tillförlitlighetsfördelar omedelbart gälla alla 4K-sektordiskar (gör Advanced Format-diskarna mer pålitliga än vanliga diskar), men Western Digital driver inte den idén just nu.
IDEMA projicerade formateffektivitet och ECC-skurstorlekar
Med allt detta sagt, för att göra denna typ av avancemang praktisk, är en övergångsperiod nödvändig. Den övergångsperioden kommer att ske genom användning av 512B-emuleringsteknik, som kommer att exponera Advanced Format-enheter för enhetskontrollern och operativsystemet som att de har 512B-sektorer, när de i verkligheten kommer att ha 4K-sektorer. Tyvärr har denna metod en baksida, vilket är den yttersta anledningen till Western Digitals utbildningskampanj.
512 byte sektoremulering: hur enheten är upplagd (fysisk) och vad operativsystemet ser (logiskt)
Med emuleringen av 512B-sektorer finns risken att en partition kan vara feljusterad jämfört med de fysiska 4K-sektorerna – där den omedvetet skulle startas mitt i en sådan sektor. Som ett resultat skulle klustren i ett filsystem på den partitionen hamna över 4K-sektorer, vilket skulle orsaka prestandaproblem. Närmare bestämt, vid testning av IDEMA (enhetstillverkarnas handelsgrupp) fann att slumpmässiga inskrivningar skulle påverkas särskilt mycket, eftersom en Read-Modify-Write (RMW) skulle behöva äga rum för att uppdatera varje sektor, snarare än en rak skrivning (red. : Det här är väldigt likt att skriva till ett smutsigt block på en SSD). Även om detta inte är mekaniskt/elektroniskt skadligt på något sätt, gör prestandaträffen jämfört med en rak skrivning det oönskat.
Ett enda ojusterat 4K-kluster som går över två fysiska sektorer
En feljusterad partition under WinXP. Endast LBA som är delbara med 8 är justerade