Vahemälu on kaks peamist klassi: lugemisvahemälu ja kirjutamisvahemälu. Lugemisvahemälu on tööriist, mis pakub kiiret juurdepääsu andmetele, millele muidu oleks juurdepääs aeglane. Kirjutamisvahemälu on tööriist, mis pakub illusiooni kiirest kirjutamiskiirusest, üldiselt varjates kasutaja eest mäluseadme tegelikku aeglast kiirust.
Vahemälu struktuur
Tavaliselt salvestatakse vahemälu tegelikest andmetest ühe mälutaseme võrra madalamal. Siiski võidakse ühest vahemälust olevaid andmeid järgmises mälutasemes vahemällu salvestada. Mälutase on neli, kusjuures protsessori vahemälu/registrid on madalaim ja kiireim tasand ning arhiivisalvestustase on kõrgeim ja aeglasem. Madalaimast kuni kõrgeima tasemeni on protsessori vahemälu/registrid, süsteemi RAM, salvestusdraivid ja arhiivimälu.
Iga mälutasandite aste allapoole pakub suuremat juurdepääsukiirust, kuid väiksemat mahtu. Enamikul kodukasutajatel on reaalses maailmas ainult kolm madalaimat salvestustaset. Arhiivisalvestus viitab üldiselt lindisalvestusele, mis on mõeldud pikaajaliseks ja võrguühenduseta salvestamiseks. Arhiivisalvestus võib viidata ka optiliste või muude standardsete andmekandjate kasutamisele, mis on seadmetest eemaldatud ja mida hoitakse võrguühenduseta. Neid näiteid leidub kodus palju tõenäolisemalt, kuid need pole siiski nii tavalised.
Märge: Mingil määral võib pilvesalvestust pidada arhiivisalvestuse variandiks. See on suures osas võrgus, kuid pole tingimata kohe juurdepääsetav ja sellele on üldiselt aeglane juurdepääs. Irdkandjad, nagu USB-mälu, on samuti mõnevõrra piiritletud salvestusseadme ja arhiivisalvestuse vahel.
Ketta vahemälu tüübid
Ketta vahemälu viitab mis tahes vahemälule "kettal", st salvestusdraividel, nagu SSD-d ja HDD-d. Ketta vahemälu on kolme tüüpi. Lugemisvahemälu hõlmab teatud andmete ajutist kopeerimist arhiivisalvestusest, et muuta juurdepääs kiiremaks, kuni see on vajalik. Kirjutamisvahemälu võib SSD-l esineda SLC-vahemälu kujul. I/O vahemälu on üldiselt välkmälu või DRAM, mida kasutatakse nii lugemis- kui ka kirjutamistoimingute vahemällu salvestamiseks. Kõigi nende tunnusjoon on see, et vahemälu asub kettal endal.
Lugege ketta vahemälu
Ketta vahemälu lugemise vahemälu versioon on tõenäoliselt kõige vähem kasutatav ketta vahemälu tüüp. Arhiivisalvestust on selle määratluse järgi harva vaja. Andmeid saab lugeda ka otse arhiivikandjatelt. Küsimus on kiiruses. Juurdepääsuaeg on aeglane, kuna andmed on võrguühenduseta, mistõttu tuleb tuvastada ja ühendada sobiv salvestusseade. Lugemiskiirused sõltuvad arhiivikandjast, kuid üldiselt piisab enamikul juhtudel. Kuid see ei pruugi olla ideaalne suure ribalaiuse nõuete jaoks, näiteks kõrglahutusega video vaatamiseks. Nende stsenaariumide korral saab lugemisketta vahemälu kasutada videofaili koopia vahemällu salvestamiseks andmekandjale, mis suudab seda reaalajas taasesitada.
Kirjutage ketta vahemälu
Kaasaegsed SSD-d on ülikiired, pakkudes uskumatult kiiret lugemis- ja kirjutamiskiirust. Mida te ei pruugi mõista, on see, et see pole tehniliselt tõsi. Enamik turul olevaid SSD-sid on TLC-d ehk kolmekihilised rakud. See tähendab, et iga mäluelement suudab salvestada kolm bitti andmeid. Kuigi see pakub ühe bitiga raku kohta kolm korda suuremat salvestustihedust kui töötlemata SLC (ühekihilised rakud), on see ka palju aeglasem.
Näpunäide: TLC välk on endiselt kiire. See on mitu korda kiirem kui kõvaketaste ja varaste SSD-de poolt kasutatava SATA 3 siini maksimaalne ribalaius. QLC-välklamp või Quad Level Cells on veelgi aeglasemad, mõne testi puhul toimivad need tegelikult aeglasemalt kui kõvakettad.
SLC vahemälu leiutati aeglase kirjutamiskiiruse varjamiseks kasutaja eest. SLC vahemälu käsitleb TLC-välku lihtsalt SLC-välguna, võimaldades sellel töötada suurematel kiirustel. SLC vahemällu kirjutatud andmed kopeeritakse seejärel sisemiselt TLC-vormingusse nii kiiresti, kui kirjutuskiirus seda võimaldab. See tehnika töötab suurepäraselt, pakkudes kasvavaid kiirusi, mis on tinginud vajaduse uute kiiremate standardite väljatöötamiseks.
SLC vahemäludel on siiski mõned hoiatused. SLC vahemälu suurus on 1/3 SSD ülejäänud vabast ruumist. Kui SSD täitub, väheneb SLC vahemälu maht. See ei ole nii suur probleem suurte tühjade draivide puhul, kuid see võib olla väiksem või peaaegu mahutavusega SSD-l. Kui SLC vahemälu on täidetud, näeb kasutaja kirjutuskiiruse dramaatilist langust, kui ta puutub kokku tõelise TLC kirjutamiskiirusega.
Märge: Tehniliselt, kui andmeid tulevikus arhiivikandjale kirjutatakse, võib mis tahes salvestusketast käsitleda arhiivikandja kirjutusvahemäluna. Seda tähendust üldiselt siiski ei eeldata.
I/O ketta vahemälu
Kõvakettad on üldiselt üsna aeglased, isegi optimaalse töökoormuse korral. Selle kasutaja eest nii palju varjamiseks kui võimalik, saab kasutada I/O vahemälu. I/O vahemälu salvestab nii lugemis- kui ka kirjutamistoimingud vastavalt vajadusele. See vahemälu koosneb tavaliselt kas välkmälust või draivis endas olevast DRAM-ist. Võimsused on üldiselt väikesed, kuigi SSHD või Solid State Hybrid Drive klass, millel on välkmälu, pakub märkimisväärsemaid võimalusi, kuid pole võrreldav tänapäevaste SSD võimsustega.
Lugemiste vahemällu salvestamine tähendab, et HDD ei pea andmeid otsima ja seejärel lugema. See võib pakkuda suurepärast jõudlust, kuid ainult järgmistel lugemistoimingutel. Esimene lugemine on alati aeglane. Vahemällu salvestamine tähendab, et väikesed kirjutamistoimingud saab vahemällu absorbeerida ja seejärel tegelikule HDD-le kirjutada nii kiiresti kui see võimaldab. See pakub suuremat kiirust, kuid vahemälu ammendumise korral võib jõudlus oluliselt langeda.
I/O vahemälu peab hoolikalt tasakaalustama nii lugemis- kui ka kirjutamisfunktsioonide vajadused, eriti kui saadaval on vaid väike vahemälu. Suuremad vahemälud eitavad seda probleemi, kuigi suurte andmekogumitega servajuhtumid võivad siiski ületada suurimate SSHD-de välkmälu.
Märge: SSD-d saavad tehniliselt kasutada ka oma pardal olevaid DRAM-i I/O vahemäluna. Siiski kasutatakse seda tavaliselt peamiselt või eranditult SSD-lt andmete leidmiseks kasutatava loogilise ja füüsilise aadressi tõlketabeli salvestamiseks.
Järeldus
Ketta vahemälu on vahemälu, mis asub otse salvestusdraivis. See võib esineda lugemis- või kirjutamisvahemälu või I/O vahemälu kujul. Vahemälu lugemiseks salvestatakse tavaliselt andmed aeglasemast arhiivisalvestusest. Kirjutamisvahemälud peidavad salvestusketaste aeglase kirjutamiskiiruse kasutaja eest. I/O vahemälud peidavad kasutaja eest nii aeglase lugemise kui ka aeglase kirjutamiskiiruse.
Vahemälud on suurepärased kasutatavuse tööriistad, kuid võivad tühjenemisel kasutajatele peavalu tekitada. See kehtib eriti dünaamilise kirjutamise vahemälu kohta, näiteks SLC vahemälu. Kuna mittetehnilised kasutajad ei pruugi aru saada, miks nende kirjutamiskiirus on nii aeglane, ja seetõttu ei saa nad neid võimsusprobleemide lahendamisega parandada.