Buffer- of cachegrootte detecteren in ATA harde schijven
ATA-schijven worden gedefinieerd door een technische specificatie die is opgesteld door een sectorconsortium, het Technical Committee T13. Het specificatiedocument wordt door de computerindustrie gebruikt om compatibiliteit te garanderen tussen fabrikanten van schijven, systeem- en chipsetfabrikanten, fabrikanten van hostadapters, fabrikanten van besturingssystemen, softwareprogrammeurs en nog veel meer. Er bestaan soortgelijke specificaties en groepen voor SATA, SCSI, USBe en 1394.
De huidige specificatie heet ATA-8. De eerste specificatie, ATA-1 (1991), definieerde de eerste opdrachten (gebaseerd op de ESDI-interface) die de opdracht Identify Device bevatten. De opdracht Identify Device (ECh) in de ATA-specificatie geeft als resultaat 512 bytes binaire informatie over een schijf. Deze informatie omvat zaken als het modelnummer, serienummer en capaciteit. Het omvat ook mogelijkheden zoals ondersteuning voor diagnostiek of een mogelijkheid om tegen bepaalde snelheden te draaien. Wanneer bijvoorbeeld een computer wordt opgestart, wordt de opdracht Identify Device gegeven om automatisch de grootte van de schijf te detecteren.
Word 21 van de ATA-1 (1991) Identify Device-respons werd als volgt gedefinieerd:
" Buffer size in 512 byte increments (0000h=not specified) "
Word 21 van de ATA-3 (1997)-respons werd veranderd in "Obsolete".
Word 21 van de ATA-8 (2006)-respons is momenteel gedefinieerd als "Retired".
Hoewel dit niet nodig is, blijven veel fabrikanten van schijven Word 21 gebruiken om de grootte van de buffer aan te geven, zelfs na de ATA-3-specificatiewijziging. In de loop der jaren zijn er veel diagnostische hulpmiddelen voor harde schijven en benchmark-hulpprogramma's geschreven die gegevens in Word 21 verwachten. Als Word 21 bijvoorbeeld '8000h' bevat, komt dat overeen met een cachegrootte van 16 MB (8000h = 32.768 x 512 = 16.777.216 bytes).
Seagate biedt geen diagnosesoftware die de buffergrootte van de schijf aangeeft. Specificaties, inclusief buffergrootte, voor alle Seagate-schijfmodellen zijn beschikbaar op deze website via de Support-zoekfunctie Zoeken.
Waarom wordt 0 MB aangegeven als cachegrootte?
Als de benchmarksoftware of diagnostische software van uw schijf als buffergrootte 0 MB aangeeft, heeft uw schijf mogelijk een cache van 32 MB. Raadpleeg de gepubliceerde specificaties van uw schijf om dit te bevestigen. De maximale waarde die ooit in Word 21 kon worden opgeslagen, is FFFFh. Een moderne schijf met een buffer van 32 MB zou echter nog één byte meer nodig hebben om de buffergrootte aan te geven: 10000h. De eerste twee bytes van 10000h (Word 21) zijn 0000h, of nul.
Het is belangrijk om te begrijpen dat elke waarde of informatie die met de opdracht Identify Device wordt opgehaald gewoon gegevens zijn die door de fabrikant worden verstrekt. Met andere woorden, wanneer wordt aangegeven dat de buffergrootte 8 MB is, worden eigenlijk alleen de gegevens gelezen die door de ontwerper van de schijf zijn verstrekt. Het is geen automatische detectie van de werkelijke geheugenchip. Wanneer een schijf 0 MB aangeeft, is dit geen automatische detectie van de grootte, maar wordt alleen de informatie in Word 21 gelezen.
Totdat een nieuwe ATA-specificatie wordt goedgekeurd door het Technical Committee T13 om de weergave van cachegrootten die groter zijn dan FFFFh te kunnen ondersteunen, is de buffergrootte daarom nu alleen nog maar een gepubliceerde specificatie.