Schijfbuffer

read-ahead / read-behindEdit

wanneer de controller van een schijf een fysieke read uitvoert, beweegt de actuator de lees-/schrijfkop naar (of in de buurt) de juiste cilinder, na enige bezinking en mogelijk fijnbediening begint de leeskop spoorgegevens op te nemen, en het enige wat u hoeft te doen is wachten tot de rotatie van de schotel de gevraagde gegevens oplevert.

de gegevens die voorafgaand aan het verzoek worden gelezen tijdens dit wachten zijn onbeantwoord maar vrij, dus meestal opgeslagen in de schijfbuffer voor het geval het later wordt gevraagd.

evenzo kunnen gegevens Gratis achter de gevraagde worden gelezen als het hoofd op koers kan blijven omdat er geen andere uitlezing is om uit te voeren of als de volgende activering later kan beginnen en nog steeds op tijd kan worden voltooid.

als meerdere gevraagde leeseenheden zich op hetzelfde spoor bevinden (of in de buurt van een spiraalspoor), worden de meeste onbeantwoorde gegevens tussen hen zowel voor als achter gelezen.

snelheid matchingdit

de snelheid van de I/O-interface van de schijf naar de computer komt vrijwel nooit overeen met de snelheid waarmee de bits van en naar de harde schijf worden overgebracht. De schijfbuffer wordt gebruikt zodat zowel de I / O-interface als de schijf lees-schrijfkop op volle snelheid kan werken.

Write accelerationEdit

de ingebedde microcontroller van de schijf kan de hoofdcomputer aangeven dat het schrijven van een schijf voltooid is onmiddellijk na ontvangst van de schrijfgegevens, voordat de gegevens daadwerkelijk naar de schotel worden geschreven. Met dit vroege signaal kan de hoofdcomputer blijven werken, ook al zijn de gegevens nog niet geschreven. Dit kan enigszins gevaarlijk zijn, want als de macht wordt verloren voordat de gegevens permanent in de magnetische media worden bevestigd, zullen de gegevens van de schijfbuffer worden verloren, en het dossiersysteem op de schijf kan in een inconsistente staat worden verlaten.

op sommige schijven kan deze kwetsbare periode tussen het signaleren van het schrijven compleet en het fixeren van de gegevens willekeurig lang zijn, omdat het schrijven voor onbepaalde tijd kan worden uitgesteld door nieuwe aanvragen. Om deze reden kan het gebruik van schrijfversnelling controversieel zijn. Consistentie kan echter worden gehandhaafd door een geheugensysteem met batterijondersteuning te gebruiken voor het cachen van gegevens, hoewel dit meestal alleen wordt gevonden in high-end RAID-controllers.

als alternatief kan de caching eenvoudig worden uitgeschakeld wanneer de integriteit van gegevens belangrijker wordt geacht dan schrijfprestaties. Een andere optie is om gegevens naar de schijf te sturen in een zorgvuldig beheerde volgorde en om “cache flush” – opdrachten op de juiste plaatsen uit te geven, wat meestal de implementatie van schrijfbarrières wordt genoemd.

Command queuingEdit

nieuwere SATA en de meeste SCSI-schijven kunnen meerdere commando ‘ s accepteren terwijl een commando in werking is via “command queuing” (zie NCQ en TCQ). Deze commando ‘ s worden opgeslagen door de embedded controller van de schijf totdat ze zijn voltooid. Een voordeel is dat de commando ’s opnieuw kunnen worden geordend om efficiënter te worden verwerkt, zodat commando’ s die hetzelfde gebied van een schijf beïnvloeden samen worden gegroepeerd. Als een gelezen referentie de gegevens op de bestemming van een schrijf in de wachtrij, zullen de te-schrijven gegevens worden geretourneerd.

NCQ wordt meestal gebruikt in combinatie met ingeschakelde schrijfbuffering. In het geval van een lees/schrijf fpdma commando met Force Unit Access (FUA) bit ingesteld op 0 en ingeschakeld schrijven buffering, een besturingssysteem kan zien dat de schrijf operatie voltooid voordat de gegevens fysiek wordt geschreven naar de media. In het geval van FUA-bit ingesteld op 1 en schrijfbuffering ingeschakeld, geeft de schrijfbewerking alleen terug nadat de gegevens fysiek naar de media zijn geschreven.



+