Välimuistissa on kaksi pääluokkaa, lukuvälimuisti ja kirjoitusvälimuisti. Lukuvälimuisti on työkalu, joka tarjoaa nopean pääsyn muuten tietoihin, jotka muuten olisivat hitaita. Kirjoitusvälimuisti on työkalu, joka tarjoaa illuusion nopeista kirjoitusnopeuksista ja yleensä piilottaa muistilaitteen todellisen hitaan nopeuden käyttäjältä.
Välimuistin rakenne
Tyypillisesti välimuisti on tallennettu yhtä muistitasoa alempana kuin todellinen data. Yhden välimuistin tiedot voidaan kuitenkin tallentaa edelleen välimuistiin seuraavalla muistitasolla. Muistitasoja on neljä, joista suorittimen välimuisti/rekisterit ovat alin ja nopein taso ja arkistomuisti on korkein ja hitain taso. Alimmasta korkeimpaan tasoon ovat suorittimen välimuisti/rekisterit, järjestelmän RAM, tallennusasemat ja arkistomuisti.
Jokainen muistitasoa alaspäin oleva askel lisää käyttönopeutta, mutta pienempi kapasiteetti. Useimmilla kotikäyttäjillä on vain todellisen maailman kolme alinta tallennustasoa. Arkistosäilytys tarkoittaa yleensä nauhatallennusta, joka on tarkoitettu pitkäaikaiseen ja offline-tallennustilaan. Arkistointi voi tarkoittaa myös optisten tai muiden tavallisten tallennusvälineiden käyttöä, jotka on poistettu laitteista ja joita pidetään offline-tilassa. Näitä esimerkkejä löytyy huomattavasti todennäköisemmin kodista, mutta ne eivät silti ole niin yleisiä.
Huomautus: Jossain määrin pilvitallennusta voitaisiin pitää muunnelmana arkistovarastuksesta. Se on hyvin paljon verkossa, mutta se ei välttämättä ole käytettävissä heti, ja sen käyttö on yleensä hidasta. Irrotettavat tietovälineet, kuten USB-muisti, ylittävät myös jonkin verran tallennusaseman ja arkistotallennustilan välistä rajaa.
Levyvälimuistin tyypit
Levyvälimuisti tarkoittaa mitä tahansa "levyllä" olevaa välimuistia eli tallennusasemia, kuten SSD- ja HDD-levyjä. Levyvälimuistia on kolmenlaisia. Lukuvälimuisti sisältäisi joidenkin tietojen kopioimisen väliaikaisesti arkistovarastosta, jotta pääsy olisi nopeampaa, kun sitä tarvitaan. Kirjoitusvälimuisti voi olla SLC-välimuistin muodossa SSD-levyllä. I/O-välimuisti on yleensä jokin flash-muisti tai DRAM, jota käytetään sekä luku- että kirjoitustoimintojen välimuistiin. Kaiken näiden määrittävä piirre on, että välimuisti on itse levyllä.
Lue levyvälimuisti
Levyvälimuistin lukuvälimuistiversio on todennäköisesti vähiten käytetty levyvälimuistityyppi. Arkistointia tarvitaan sen määritelmän mukaan harvoin. Tiedot voidaan lukea myös suoraan arkistomediasta. Ongelmana on nopeus. Pääsyaika on hidas, koska tiedot ovat offline-tilassa, mikä edellyttää sopivan tallennuslaitteen tunnistamista ja yhdistämistä. Lukunopeudet riippuvat arkistointivälineestä, mutta yleensä riittävät useimmissa tapauksissa. Mutta se ei ehkä ole ihanteellinen suuren kaistanleveyden vaatimuksiin, kuten teräväpiirtovideon katseluun. Näissä tilanteissa lukulevyn välimuistia voidaan käyttää videotiedoston kopion välimuistiin tallentamiseen tallennusvälineelle, joka voi toistaa sen reaaliajassa.
Kirjoita levyvälimuisti
Nykyaikaiset SSD-levyt ovat loistavat ja tarjoavat uskomattoman nopeat luku- ja kirjoitusnopeudet. Et ehkä ymmärrä, että tämä ei ole teknisesti totta. Suurin osa markkinoilla olevista SSD-levyistä on TLC: tä, eli Triple Layer Cells -soluja. Tämä tarkoittaa, että jokainen muistisolu voi tallentaa kolme bittiä dataa. Vaikka tämä tarjoaa kolme kertaa suuremman tallennustiheyden kuin raaka-SLC (Single Layer Cells) yhdellä bitillä solua kohden, se on myös paljon hitaampi.
Kärki: TLC-salama on edelleen nopea. Se on monta kertaa nopeampi kuin kiintolevyjen ja varhaisten SSD-levyjen käyttämän SATA 3 -väylän huippukaistanleveys. QLC-salama tai Quad Level Cells ovat vielä hitaampia, joissakin testeissä itse asiassa hitaammin kuin kiintolevyt.
SLC-välimuisti keksittiin piilottaakseen hitaat kirjoitusnopeudet käyttäjältä. SLC-välimuisti käsittelee TLC-salamaa yksinkertaisesti SLC-salamana, jolloin se voi toimia suuremmilla nopeuksilla. SLC-välimuistiin kirjoitetut tiedot kopioidaan sitten sisäisesti TLC-muotoon niin nopeasti kuin kirjoitusnopeudet sallivat. Tämä tekniikka toimii erinomaisesti tarjoten kasvavia nopeuksia, jotka ovat edellyttäneet uusien, nopeampien standardien kehittämistä.
SLC-välimuistissa on kuitenkin joitain varoituksia. SLC-välimuistin koko on 1/3 SSD-levyn jäljellä olevasta vapaasta tilasta. Kun SSD täyttyy, SLC-välimuistin koko pienenee. Tämä ei ole niin suuri ongelma suurilla tyhjillä asemilla, mutta se voi olla pienemmällä tai lähes kapasiteetin SSD-levyllä. Kun SLC-välimuisti on täytetty, käyttäjä näkee kirjoitusnopeuden laskevan dramaattisesti, kun hän altistuu aidolle TLC-kirjoitusnopeudelle.
Huomautus: Teknisesti, jos tietoja on tarkoitus kirjoittaa arkistotietovälineille tulevaisuudessa, mitä tahansa tallennuslevyä voitaisiin pitää arkistovälineen kirjoitusvälimuistina. Tätä merkitystä ei kuitenkaan yleensä olettaisi.
I/O-levyvälimuisti
Kiintolevyt ovat yleensä melko hitaita, jopa optimaalisella työkuormalla. Jotta tämä voidaan piilottaa käyttäjältä mahdollisimman paljon, voidaan käyttää I/O-välimuistia. I/O-välimuisti tallentaa välimuistiin sekä luku- että kirjoitustoiminnot tarpeen mukaan. Tämä välimuisti koostuu yleensä joko Flash-muistista tai itse asemassa olevasta DRAM-muistista. Kapasiteetit ovat yleensä pieniä, vaikka SSHD- tai Solid State Hybrid Drive -luokka, jossa on Flash-muisti, tarjoaa huomattavasti enemmän ominaisuuksia, vaikkakaan ei verrattavissa nykyaikaisiin SSD-kapasiteettiin.
Lukujen välimuisti tarkoittaa, että kiintolevyn ei tarvitse etsiä ja sitten lukea tietoja. Tämä voi tarjota erinomaisia suorituskykyetuja, mutta vain myöhemmissä lukutoiminnoissa. Ensimmäinen lukukerta on aina hidasta. Kirjoitusten välimuistiin tallentaminen tarkoittaa, että pienet kirjoitustoiminnot voidaan absorboida välimuistiin ja kirjoittaa sitten varsinaiselle kiintolevylle niin nopeasti kuin mahdollista. Tämä tarjoaa nopeampia nopeuksia, mutta näkee suuren suorituskyvyn laskun, jos välimuisti on koskaan käytetty loppuun.
I/O-välimuistin on tasapainotettava huolellisesti sekä luku- että kirjoitustoimintojen tarpeet, varsinkin kun käytettävissä on vain pieni välimuisti. Suuremmat välimuistit poistavat tämän ongelman jossain määrin, vaikka suuria tietojoukkoja sisältävät reunatapaukset voivat silti ylittää suurimpien SSHD-levyjen flash-välimuistin.
Huomautus: SSD-levyt voivat teknisesti käyttää myös sisäänrakennettua DRAM-muistiaan I/O-välimuistina. Tätä käytetään kuitenkin tyypillisesti ensisijaisesti tai yksinomaan loogisen ja fyysisen osoitteen käännöstaulukon tallentamiseen, jota käytetään tietojen etsimiseen SSD-levyltä.
Johtopäätös
Levyvälimuisti on välimuisti, joka on suoraan tallennusasemassa. Se voi olla luku- tai kirjoitusvälimuisti tai I/O-välimuisti. Lukuvälimuistit tallentavat tyypillisesti tiedot hitaammasta arkistosta. Kirjoitusvälimuistit piilottavat tallennuslevyjen hitaat kirjoitusnopeudet käyttäjältä. I/O-välimuistit piilottavat käyttäjältä sekä hitaat luku- että kirjoitusnopeudet.
Välimuistit ovat erinomaisia käytettävyystyökaluja, mutta ne voivat aiheuttaa käyttäjille päänsärkyä, kun ne ovat tyhjentyneet. Tämä pätee erityisesti dynaamisiin kirjoitusvälimuistiin, kuten SLC-välimuistiin. Ei-tekniset käyttäjät eivät ehkä ymmärrä, miksi heidän kirjoitusnopeutensa ovat niin hitaita, eivätkä siksi voi korjata niitä puuttumalla kapasiteettiongelmiin.