Diskbuffert

read-ahead / read-behindEdit

när en skivans styrenhet utför en fysisk läsning flyttar ställdonet läs-/skrivhuvudet till (eller nära) rätt cylinder, efter en viss sedimentering och eventuellt finaktivering börjar läshuvudet hämta spårdata, och allt är kvar att göra är att vänta tills plattrotation ger de begärda uppgifterna.

data som läses före begäran under denna väntan är obesvarad men gratis, så vanligtvis sparas i diskbufferten om den begärs senare.

på samma sätt kan data läsas gratis bakom den begärda om huvudet kan hålla sig på rätt spår eftersom det inte finns någon annan läsning att utföra eller nästa manövrering kan starta senare och fortfarande slutföra i tid.

om flera begärda läsningar finns på samma spår (eller i närheten av ett spiralspår), kommer de flesta oönskade data mellan dem att läsas både framåt och bakom.

Speed matchingEdit

hastigheten på diskens I/O-gränssnitt till datorn matchar nästan aldrig hastigheten med vilken bitarna överförs till och från hårddiskplattan. Diskbufferten används så att både i/O-gränssnittet och diskens läs – /skrivhuvud kan fungera med full hastighet.

skriv accelerationEdit

diskens inbäddade mikrokontroller kan signalera huvuddatorn att en skivskrivning är klar omedelbart efter mottagandet av skrivdata, innan data faktiskt skrivs till tallriken. Denna tidiga signal gör att huvuddatorn kan fortsätta arbeta trots att data inte har skrivits ännu. Detta kan vara något farligt, för om strömmen går förlorad innan data är permanent fixad i magnetmediet, kommer data att gå vilse från diskbufferten och filsystemet på skivan kan lämnas i ett inkonsekvent tillstånd.

på vissa diskar kan denna sårbara period mellan signalering av skrivningen komplett och fixering av data vara godtyckligt lång, eftersom skrivningen kan skjutas upp på obestämd tid av nyanlända förfrågningar. Av denna anledning kan användningen av skrivacceleration vara kontroversiell. Konsistens kan dock bibehållas genom att använda ett batteristödda minnessystem för cachning av data, även om detta vanligtvis bara finns i avancerade RAID-kontroller.

Alternativt kan cachningen helt enkelt stängas av när integriteten för data anses vara viktigare än skrivprestanda. Ett annat alternativ är att skicka data till disken i en noggrant hanterad ordning och att utfärda ”cache flush” – kommandon på rätt ställen, vilket vanligtvis kallas implementering av skrivbarriärer.

Command queuingEdit

nyare SATA och de flesta SCSI-skivor kan acceptera flera kommandon medan något kommando är i drift genom ”command queuing” (se NCQ och TCQ). Dessa kommandon lagras av diskens inbäddade styrenhet tills de är klara. En fördel är att kommandona kan ombeställas för att behandlas mer effektivt, så att kommandon som påverkar samma område på en skiva grupperas ihop. Om en läsning hänvisar till data på destinationen för en skriv i kö, kommer de att skrivas data att returneras.

NCQ används vanligtvis i kombination med aktiverad skrivbuffring. I händelse av ett Läs/skriv fpdma-kommando med Force Unit Access (FUA) bit inställd på 0 och aktiverad skrivbuffring kan ett operativsystem se skrivoperationen klar innan data skrivs fysiskt till media. Om FUA bit är inställd på 1 och aktiverad skrivbuffring, återgår skrivoperationen först efter att data har skrivits fysiskt till media.



+