Levypuskuri

read-ahead/read-behindEdit

kun levyn ohjain suorittaa fyysisen lukemisen, toimilaite siirtää luku-/kirjoituspään oikeaan sylinteriin (tai lähelle) sen jälkeen, kun lukupää on jonkin verran asettunut ja mahdollisesti hienosäädetty, ja tarvitsee vain odottaa, kunnes levyn kierto tuo pyydetyt tiedot.

tämän odotuksen aikana ennen pyyntöä luetut tiedot ovat pyytämättömiä, mutta ilmaisia, joten ne tallennetaan tyypillisesti levypuskuriin, jos niitä pyydetään myöhemmin.

vastaavasti dataa voi lukea ilmaiseksi pyydetyn takaa, jos pää pysyy raiteillaan, koska muuta luettavaa ei ole tai seuraava ohjaus voi alkaa myöhemmin ja silti valmistua ajoissa.

jos useampi pyydetty lukema on samalla raiteella (tai lähellä spiraalirataa), suurin osa niiden välisistä pyytämättömistä tiedoista on sekä edessä että takana.

nopeus matchingEdit

levyn I/O-liitännän nopeus tietokoneeseen ei juuri koskaan vastaa nopeutta, jolla bitit siirretään kiintolevylautaselle ja sieltä pois. Levypuskuria käytetään niin, että sekä I/O-liitäntä että levyn luku/kirjoituspää voivat toimia täydellä nopeudella.

Kirjoituskiihdytysedit

levyn upotettu Mikrokontrolleri voi ilmoittaa päätietokoneelle, että levyn kirjoitus on valmis heti kirjoitustiedon vastaanottamisen jälkeen, ennen kuin tieto on varsinaisesti kirjoitettu lautaselle. Tämä varhainen signaali mahdollistaa päätietokoneen toiminnan jatkumisen, vaikka tietoja ei ole vielä kirjoitettu. Tämä voi olla hieman vaarallista, sillä jos virta katkeaa ennen kuin tieto on pysyvästi kiinnitetty magneettimediaan, tiedot katoavat levypuskurista ja levyn tiedostojärjestelmä voi jäädä epäjohdonmukaiseen tilaan.

joillakin levykkeillä tämä haavoittuva aika kirjoituksen loppusijoittamisen ja tietojen kiinnittämisen välillä voi olla mielivaltaisen pitkä, koska kirjoitusta voidaan lykätä loputtomiin vasta saapuvien pyyntöjen perusteella. Tästä syystä kirjoituskiihdytyksen käyttö voi olla kiistanalaista. Johdonmukaisuus voidaan kuitenkin säilyttää käyttämällä paristokäyttöistä muistijärjestelmää tietojen tallentamiseen välimuistiin, vaikka tämä on tyypillisesti vain high-end RAID-ohjaimissa.

vaihtoehtoisesti välimuistin tallentaminen voidaan yksinkertaisesti kytkeä pois päältä, kun tietojen eheyttä pidetään tärkeämpänä kuin kirjoitustehoa. Toinen vaihtoehto on lähettää tiedot levylle huolellisesti hallitussa järjestyksessä ja antaa ”cache flush” – komentoja oikeissa paikoissa, mihin viitataan yleensä kirjoitusesteiden toteutuksena.

Command queuingEdit

uudemmat SATA ja useimmat SCSI-levyt voivat hyväksyä useita komentoja, kun Mikä tahansa komento on käytössä ”command queuing” – komennon kautta (katso NCQ ja TCQ). Nämä komennot tallennetaan levyn upotettuun ohjaimeen, kunnes ne ovat valmiit. Yksi etu on se, että komennot voidaan määrätä uudelleen käsiteltäviksi tehokkaammin, jolloin levyn samalle alueelle vaikuttavat komennot ryhmitellään yhteen. Jos read reference tiedot määränpäässä jonossa kirjoitus, to-be-written data palautetaan.

NCQ: ta käytetään yleensä yhdessä käytössä olevan kirjoituspuskuroinnin kanssa. Jos luku / kirjoitus fpdma-komento, jonka Force Unit Access (FUA) – bitti on asetettu arvoon 0 ja käytössä on kirjoituspuskurointi, käyttöjärjestelmä saattaa nähdä kirjoitusoperaation päättyneen ennen kuin tiedot kirjoitetaan fyysisesti medialle. Jos fua-bitti on asetettu arvoon 1 ja käytössä on kirjoituspuskurointi, kirjoitustoiminto palaa vasta, kun tiedot on fyysisesti kirjoitettu mediaan.



+