Diskbuffer

Read-ahead/read-behindEdit

når en disks controller udfører en fysisk læsning, flytter aktuatoren læse-/skrivehovedet til (eller nær) den korrekte cylinder, efter en vis afregning og muligvis finaktivering begynder læsehovedet at hente spordata, og alt er tilbage at gøre er at vente, indtil fadrotation bringer de ønskede data.

de data, der læses forud for anmodningen under denne ventetid, er ubesvarede, men gratis, så typisk gemt i diskbufferen, hvis det anmodes om senere.

tilsvarende kan data læses gratis bag den anmodede, hvis hovedet kan forblive på sporet, fordi der ikke er nogen anden læsning at udføre, eller den næste aktivering kan starte senere og stadig afsluttes i tide.

hvis flere anmodede læsninger er på samme spor (eller tæt ved på et spiralspor), vil de fleste ubesvarede data mellem dem både læses fremad og bagud.

Speed matchingEdit

hastigheden af diskens I/O-interface til computeren svarer næsten aldrig til den hastighed, hvormed bitene overføres til og fra harddiskpladen. Diskbufferen bruges, så både i/O-grænsefladen og diskens læse/skrivehoved kan fungere med fuld hastighed.

skriv accelerationEdit

diskens indlejrede mikrocontroller kan signalere hovedcomputeren, at en diskskrivning er færdig umiddelbart efter modtagelse af skrivedataene, før dataene faktisk skrives til tallerkenen. Dette tidlige signal gør det muligt for hovedcomputeren at fortsætte med at arbejde, selvom dataene faktisk ikke er skrevet endnu. Dette kan være noget farligt, fordi hvis strømmen går tabt, før dataene er permanent fastgjort i magnetmediet, vil dataene gå tabt fra diskbufferen, og filsystemet på disken kan efterlades i en inkonsekvent tilstand.

på nogle diske kan denne sårbare periode mellem signalering af skrivningen komplet og fastsættelse af dataene være vilkårligt lang, da skrivningen kan udskydes på ubestemt tid ved nyligt ankomne anmodninger. Af denne grund kan brugen af skriveacceleration være kontroversiel. Konsistens kan dog opretholdes ved hjælp af et batteribacket hukommelsessystem til caching af data, selvom dette typisk kun findes i avancerede RAID-controllere.

alternativt kan caching simpelthen slukkes, når dataintegriteten anses for vigtigere end skriveydelse. En anden mulighed er at sende data til disken i en omhyggeligt styret rækkefølge og udstede “cache flush” – kommandoer på de rigtige steder, som normalt kaldes implementering af skrivebarrierer.

Kommandokøredit

nyere SATA og de fleste SCSI-diske kan acceptere flere kommandoer, mens en hvilken som helst kommando er i drift gennem “kommandokø”. Disse kommandoer gemmes af diskens integrerede controller, indtil de er afsluttet. En fordel er, at kommandoerne kan bestilles igen for at blive behandlet mere effektivt, så kommandoer, der påvirker det samme område på en disk, grupperes sammen. Skulle en læsning henvise til dataene på destinationen for en skrivning i kø, vil de skriftlige data blive returneret.

NCC bruges normalt i kombination med aktiveret skrivebuffer. I tilfælde af en læse/skrive fpdma-kommando med Force Unit Access (FUA) bit indstillet til 0 og aktiveret skrivebuffer, kan et operativsystem muligvis se skriveoperationen færdig, før dataene fysisk skrives til medierne. I tilfælde af FUA bit indstillet til 1 og aktiveret skrivebuffer, returnerer skriveoperationen først, når dataene er fysisk skrevet til medierne.



+