Tampon disc

read-ahead/read-behindEdit

când controlerul unui disc execută o citire fizică, actuatorul deplasează capul de citire/scriere la (sau aproape) cilindrul corect, după o anumită decantare și, eventual, o acționare fină, capul de citire începe să preia datele piesei și tot ce rămâne de făcut este să așteptați până când rotația platoului aduce datele solicitate.

datele citite înainte de solicitare în timpul acestei așteptări nu sunt solicitate, dar sunt gratuite, deci de obicei salvate în tamponul de disc în cazul în care sunt solicitate mai târziu.

în mod similar, datele pot fi citite gratuit în spatele celei solicitate dacă capul poate rămâne pe drumul cel bun, deoarece nu există altă citire de executat sau următoarea acționare poate începe mai târziu și încă completă la timp.

dacă mai multe citiri solicitate sunt pe aceeași pistă (sau în apropiere pe o pistă spirală), majoritatea datelor nequested între ele vor fi citite atât înainte, cât și în spate.

Speed matchingEdit

viteza interfeței i/O a discului la computer nu se potrivește aproape niciodată cu viteza cu care biții sunt transferați către și de pe platoul hard diskului. Tamponul de disc este utilizat astfel încât atât interfața I/O, cât și capul de citire/scriere a discului să poată funcționa la viteză maximă.

write accelerationEdit

microcontrolerul încorporat al discului poate semnala computerului principal că o scriere pe disc este completă imediat după primirea datelor de scriere, înainte ca datele să fie scrise efectiv pe platou. Acest semnal timpuriu permite computerului principal să continue să funcționeze, chiar dacă datele nu au fost încă scrise. Acest lucru poate fi oarecum periculos, deoarece dacă se pierde puterea înainte ca datele să fie fixate permanent în suportul magnetic, datele vor fi pierdute din tamponul de disc, iar sistemul de fișiere de pe disc poate fi lăsat într-o stare inconsistentă.

pe unele discuri, această perioadă vulnerabilă dintre semnalizarea completă a scrierii și fixarea datelor poate fi arbitrar de lungă, deoarece scrierea poate fi amânată la nesfârșit de solicitările nou sosite. Din acest motiv, utilizarea accelerației de scriere poate fi controversată. Cu toate acestea, consistența poate fi menținută prin utilizarea unui sistem de memorie susținut de baterie pentru stocarea în cache a datelor, deși acest lucru se găsește de obicei numai în controlerele RAID de ultimă generație.

alternativ, cache-ul poate fi pur și simplu oprit atunci când integritatea datelor este considerată mai importantă decât performanța de scriere. O altă opțiune este de a trimite date pe disc într-o ordine gestionată cu atenție și de a emite comenzi „cache flush” în locurile potrivite, care este de obicei denumită implementarea barierelor de scriere.

command queuingEdit

mai nou SATA și majoritatea discurilor SCSI pot accepta mai multe comenzi în timp ce orice comandă este în funcțiune prin „Command queuing” (vezi NCQ și TCQ). Aceste comenzi sunt stocate de controlerul încorporat al discului până când sunt finalizate. Un beneficiu este că comenzile pot fi re-ordonate pentru a fi procesate mai eficient, astfel încât comenzile care afectează aceeași zonă a unui disc sunt grupate împreună. În cazul unei referințe de citire a datelor la destinația unei scrieri în coadă, datele care urmează să fie scrise vor fi returnate.

NCQ este de obicei utilizat în combinație cu tamponarea de scriere activată. În cazul unei comenzi fpdma de citire / scriere cu bit Force Unit Access (Fua) setat la 0 și activat tamponare de scriere, un sistem de operare poate vedea operația de scriere terminată înainte ca datele să fie scrise fizic pe suport. În cazul în care bitul FUA este setat la 1 și este activată tamponarea de scriere, operația de scriere revine numai după ce datele sunt scrise fizic pe suport.



+