Postoje dvije glavne klase predmemorije, predmemorija za čitanje i predmemorija za pisanje. Predmemorija za čitanje je alat koji omogućuje brzi pristup podacima kojima bi inače bilo sporo pristupiti. Predmemorija za pisanje je alat koji nudi iluziju velike brzine pisanja, općenito skrivajući stvarnu malu brzinu memorijskog uređaja od korisnika.
Struktura predmemorije
Obično se predmemorija pohranjuje jednu memorijsku razinu niže od stvarnih podataka. Međutim, podaci iz jedne predmemorije mogu se dalje predmemorirati u sljedećoj memorijskoj razini. Postoje četiri razine memorije, pri čemu je CPU predmemorija/registri najniža i najbrža razina, a arhivska pohrana najviša i najsporija razina. Najniže do najviše razine su CPU predmemorija/registri, RAM sustava, diskovi za pohranu i arhivska pohrana.
Svaki korak niže u memorijskim razinama nudi povećanu brzinu pristupa, ali smanjen kapacitet. Većina kućnih korisnika ima samo tri najniže razine pohrane u stvarnom svijetu. Arhivska pohrana općenito se odnosi na pohranu na traku namijenjenu dugoročnom i izvanmrežnom pohranjivanju. Arhivska pohrana također se može odnositi na korištenje optičkih ili drugih standardnih medija za pohranu koji su uklonjeni s uređaja i drže se izvan mreže. Značajno je vjerojatnije da će se ovi primjeri naći u kući, ali još uvijek nisu toliko česti.
Bilješka: Do neke mjere, pohrana u oblaku može se smatrati varijantom arhivske pohrane. Mnogo je online, ali nije nužno odmah dostupan i općenito mu se sporo pristupa. Izmjenjivi mediji kao što je USB memorija također donekle prelaze granicu između pogona za pohranu i arhivske pohrane.
Vrste predmemorije diska
Predmemorija diska odnosi se na bilo koju predmemoriju na "disku", to jest pogone za pohranu kao što su SSD i HDD. Postoje tri vrste predmemorije diska. Predmemorija za čitanje uključivala bi privremeno kopiranje nekih podataka iz arhivske pohrane kako bi pristup bio brži dok je potreban. Predmemorija za pisanje može biti u obliku SLC predmemorije na SSD-u. I/O predmemorija općenito bi bila neka flash memorija ili DRAM koji se koristi za predmemoriju i operacija čitanja i pisanja. Definirajuća značajka svih ovih je da se predmemorija nalazi na samom disku.
Čitaj predmemoriju diska
Verzija predmemorije za čitanje predmemorije diska vjerojatno je najmanje korištena vrsta predmemorije diska. Arhivsko skladište, po samoj definiciji, rijetko je potrebno. Podaci se mogu očitati i izravno s arhivskih medija. Problem je u brzini. Vrijeme pristupa je sporo jer su podaci izvan mreže, što zahtijeva identifikaciju i povezivanje odgovarajućeg uređaja za pohranu. Brzine čitanja ovise o arhivskom mediju, ali će općenito biti dovoljne za većinu slučajeva. Ali možda nije idealno za visoke zahtjeve propusnosti kao što je gledanje videa visoke razlučivosti. U ovim scenarijima, predmemorija diska za čitanje može se koristiti za pohranjivanje kopije videodatoteke na medij za pohranu koji je može reproducirati u stvarnom vremenu.
Zapiši predmemoriju diska
Moderni SSD diskovi su munjevito brzi, nudeći nevjerojatno velike brzine čitanja i pisanja. Ono što možda ne shvaćate je da to tehnički nije točno. Većina SSD-ova na tržištu su TLC, odnosno troslojne ćelije. To znači da svaka memorijska ćelija može pohraniti tri bita podataka. Iako ovo nudi tri puta veću gustoću pohrane od sirovih SLC (jednoslojnih ćelija) s jednim bitom po ćeliji, također je puno sporije.
Savjet: TLC bljesak je i dalje brz. Mnogo je puta brži od vršne propusnosti SATA 3 sabirnice koju koriste HDD-ovi i rani SSD-ovi. QLC flash ili Quad Level Cells čak su sporiji, u nekim testovima zapravo rade sporije od HDD-ova.
SLC predmemorija je izmišljena kako bi sakrila spore brzine pisanja od korisnika. SLC predmemorija jednostavno tretira TLC flash kao SLC flash, dopuštajući mu da radi na povećanim brzinama. Podaci zapisani u SLC predmemoriju zatim se interno kopiraju u TLC format onoliko brzo koliko dopuštaju brzine pisanja. Ova tehnika radi izvrsno, nudeći sve veće brzine koje su zahtijevale razvoj novih, bržih standarda.
SLC predmemorije, međutim, imaju neka upozorenja. Veličina SLC predmemorije je 1/3 preostalog slobodnog prostora na SSD-u. Kako se SSD puni, veličina SLC predmemorije se smanjuje. To nije toliki problem na velikim praznim diskovima, ali može biti na SSD-u manjeg ili približnog kapaciteta. Nakon što se SLC predmemorija napuni, korisnik vidi dramatični pad brzine pisanja jer je izložen originalnoj TLC brzini pisanja.
Bilješka: Tehnički gledano, ako se podaci budu pisali na arhivski medij u budućnosti, bilo koji disk za pohranu mogao bi se smatrati predmemorijom za pisanje arhivskog medija. Međutim, ovo se značenje općenito ne bi pretpostavljalo.
I/O Disk Cache
HDD-ovi su općenito prilično spori, čak i pri optimalnom opterećenju. Kako bi se ovo sakrilo od korisnika što je više moguće, može se koristiti I/O predmemorija. I/O predmemorija po potrebi sprema operacije čitanja i pisanja. Ova predmemorija obično se sastoji ili od Flash memorije ili DRAM-a u samom pogonu. Kapaciteti su općenito niski, iako klasa SSHD ili Solid State Hybrid Drive koja ima Flash memoriju nudi značajnije mogućnosti iako se ne mogu usporediti s modernim SSD kapacitetima.
Spremanje čitanja u predmemoriju znači da HDD ne mora pronaći i zatim pročitati podatke. To može ponuditi izvrsne prednosti performansi, ali samo na sljedećim operacijama čitanja. Prvo čitanje je uvijek sporo. Predmemoriranje zapisa znači da se male operacije pisanja mogu apsorbirati u predmemoriju i zatim zapisati na stvarni HDD onoliko brzo koliko to dopušta. Ovo nudi veće brzine, ali dolazi do velikog pada performansi ako se predmemorija ikad iscrpi.
I/O predmemorija mora pažljivo uravnotežiti potrebe funkcija čitanja i pisanja, posebno kada je dostupna samo mala predmemorija. Veće predmemorije donekle poništavaju ovaj problem, iako rubni slučajevi s velikim skupovima podataka još uvijek mogu pretrpati flash predmemoriju najvećih SSHD-ova.
Bilješka: SSD tehnički također može koristiti svoj ugrađeni DRAM kao I/O predmemoriju. Međutim, to se obično primarno ili isključivo koristi za pohranu tablice prevođenja logičke u fizičku adresu koja se koristi za pronalaženje podataka na SSD-u.
Zaključak
Predmemorija diska je predmemorija koja postoji izravno na disku za pohranu. Može biti u obliku predmemorije za čitanje ili pisanje ili I/O predmemorije. Predmemorije za čitanje obično spremaju podatke iz sporije arhivske memorije. Predmemorije pisanja skrivaju od korisnika spore brzine pisanja diskova za pohranu. I/O predmemorije skrivaju od korisnika spore brzine čitanja i spore brzine pisanja.
Predmemorije su izvrsni alati za upotrebljivost, ali mogu uzrokovati glavobolje korisnicima kada se potroše. Ovo posebno vrijedi za predmemorije dinamičkog pisanja kao što je SLC predmemorija. Budući da netehnički korisnici možda neće razumjeti zašto su njihove brzine pisanja tako spore i stoga ih neće moći popraviti rješavanjem problema s kapacitetom.