Pogoni u čvrstom stanju (SSD) nazivaju se tako zato što se ne oslanjaju na pokretne dijelove ili rotirajuće diskove, kao što to rade hard diskovi, kojima se latencija (odgoda reakcije) zbog toga povećava. Umjesto toga, podaci se spremaju u bazu NAND flash memorije. NAND se sastoji od onoga što se naziva tranzistor plutajućih vrata. Za razliku od dizajna tranzistora koji se koriste u DRAM-u, koji se mora osvježiti više puta u sekundi, NAND flash je dizajnirana da zadržava stanje napunjenosti čak i kad nije uključena. Stoga je NAND memorija nepromjenjiva.
NAND memorija je organizirana u rešetci. Cijeli raspored rešetke naziva se blok, a pojedinačni redovi koji čine mrežu nazivaju se stranicama. Uobičajene veličine stranice su 2K, 4K, 8K ili 16K, s 128 do 256 stranica po bloku. Veličina bloka stoga obično varira između 256KB i 4MB. Jedna prednost ovog sustava trebala bi biti odmah vidljiva. Budući da SSD-ovi nemaju pokretne dijelove, oni mogu raditi pri brzinama daleko iznad onih tipičnih za HDD-e.
NAND nije ni približno brz kao glavna memorija, ali višestruko je brži od hard diska. Dok su latencije za pisanje na NAND-u znatno sporije od latencija čitanja, one još uvijek nadmašuju tradicionalne medije za pohranu. Dodavanje više bita po ćeliji NAND-a ima značajan utjecaj na performanse memorije. Što je više bitova, to je sporiji rad i veća latencija. Čitanje valjane vrijednosti ćelije zahtijeva da kontroler memorije koristi vrlo precizan napon kako bi utvrdio je li ćelija napunjena ili nije.
.
Čita, piše i briše
Jedno od funkcionalnih ograničenja SSD-ova jest to što, dok vrlo brzo mogu čitati i pisati podatke na prazan pogon, puno sporije brišu podatke. To je zato što, dok SSD-i čitaju podatke na razini stranice (što znači iz pojedinačnih redaka unutar bloka), mogu ispisivati stranice, uz pretpostavku da su okolne stanice prazne, ali podatke mogu brisati samo na razini bloka. To je zato što brisanje zahtijeva visoku količinu napona. Dok teorijski možete izbrisati NAND na razini stranice, potrebna količina napona naglašava pojedine stanice oko stanica koje se ponovno pišu, a brisanje podataka na razini bloka olakšava taj problem.
Jedini način da SSD ažurira postojeću stranicu jest kopiranje sadržaja cijelog bloka u memoriju, brisanje bloka, te ponovno zapisivanje sadržaja starog bloka i ažurirane stranice. Ako je NAND pun i nema praznih stranica, SSD mora prvo pretražiti blokove koji su označeni za brisanje, ali nisu izbrisani, izbrisati ih, a zatim upisati podatke na sada obrisanu stranicu. Zato SSD-ovi mogu postati sporiji dok stare, pretežno prazna memorija prepuna je blokova koji se mogu zapisati odmah, a pretežno puna memorija će vjerojatno će biti prisiljena svaki put prolaziti kroz "piši-briši" proces. Ako ste koristili SSD-ove, vjerojatno ste čuli za nešto što se naziva "sakupljanje smeća". Sakupljanje smeća je pozadinski proces koji omogućuje memoriji da ublaži učinak "piši-briši" ciklusa, obavljajući određene zadatke u pozadini.
Naredba TRIM dopušta OS-u da SSD-u kaže da može preskočiti prepisivanje određenih podataka sljedeći put kada izvrši blokiranje brisanja. Time se smanjuje ukupna količina podataka koju SSD piše i povećava njegovu dugovječnost. Oba postupka oštećuju NAND memoriju, ali pisanje uzrokuje mnogo više štete nego čitanje. Srećom, dugovječnost na razini blokova nije se pokazala problemom u modernom NAND-u.
Posljednje dvije stvari koje treba objasniti su izjednačavanje trošenja i pojačanje pisanja. Budući da SSD-ovi zapisuju podatke na stranice, ali brišu podatke u blokovima, količina podataka koja se piše uvijek je veća od aktualnog ažuriranja. Recimo, ako izvršite promjenu u 4KB datoteci, cijeli blok koji se nalazi unutar 4K datoteke mora se ažurirati i prepisati. Ovisno o broju stranica po bloku i veličini stranica, možda će proces završiti s pisanjem 4 MB podataka za ažuriranje 4-KB datoteke. Sakupljanje smeća smanjuje pojačanje utjecaja pisanja pojačanja, kao i naredba TRIM.
Izjednačavanje trošenja odnosi se na praksu kojom se osigurava da se određeni NAND blokovi ne pišu i brišu češće od drugih. To povećava očekivani životni vijek memorije i izdržljivost, ali može doista pojačati pisanje. Za ravnomjerno pisanje u disku, ponekad je potrebno programirati i brisati blokove iako se njihovi sadržaji zapravo nisu promijenili. Dobar algoritam za izjednačavanje trošenja nastoji uravnotežiti ove utjecaje.
.
SSD kontroler
Sada bi trebalo biti očito da SSD-ovi zahtijevaju mnogo sofisticiranije mehanizme kontrole nego hardovi. Mehanički izazovi koji su uključeni u balansiranje višestrukih glava za čitanje i pisanje glave iznad nosača koji se kreću brzinom od 5400 do 10.000 o/min, nisu nešto na što bismo trebali zažmiriti.
SSD kontroleri su ipak klasa za sebe. Često imaju DDR3 memorijski bazen koji pomaže u upravljanju NAND-om. Također, sadrže cache u jednoj ćeliji koji djeluju kao puferi, povećavajući performanse, posvećujući NAND za "piši-briši" ciklus. Budući da je NAND flash u SSD-u obično povezan s kontrolerom kroz niz paralelnih memorijskih kanala, možete zamisliti upravljački sklop kako obavlja isti posao uravnoteženja opterećenja kao i high-end skladišni niz.
Neki SSD-i također koriste algoritme komprimiranja podataka kako bi smanjili ukupan broj pisanja i poboljšali životni vijek pogona. SSD kontroler obrađuje ispravke pogrešaka, a algoritmi koji kontroliraju pojedinačne pogreške postali su sve složeniji kako je vrijeme prolazi. Velik dio performansi NAND-a određuje upravljački kontroler, a tvrtke nisu spremne pokazati način na koji to rade, kako ne bi prednost predali konkurenciji.
.
Budućnost SSD-a
NAND flash nudi ogroman napredak u odnosu na tvrde diskove, ali nije bez vlastitih nedostataka i izazova. Očekuje se da će kapaciteti pogona porasti, a cijena po gigabajtu pasti, ali male su šanse da će SSD-i uhvatiti hard diskove u cijenu po gigabajtu. Skupljanje procesnih čvorova značajan je izazov za NAND flash. Dok se većina hardvera poboljšava kako se čvorovi smanjuju, NAND postaje osjetljiviji.
Do sada su proizvođači SSD-a pružili bolje performanse nudeći brže standarde podataka, veću propusnost i više kanala po kontroleru, uz upotrebu SLC spremnika koje smo ranije spomenuli. Ipak, dugoročno se pretpostavlja da će NAND biti zamijenjen nečim drugim. Vjerojatno će to biti magnetska memorija i memorija s promjenama faze, iako su obje tehnologije još uvijek u ranim fazama razvoja i moraju prevladati značajne izazove kako bi mogle zamjeniti NAND.
Ako ste nadogradili NAND na SSD i onda prešli na brži SSD, vjerojatno ste svjesni da je razlika između tvrdog diska i SSD-a znatno veća od SSD-SSD praznine, čak i kada se nadograđuje s relativno skromnog drivea. Ovisno o tome kako raste ljestvica tehnologija i kako dobro 3D NAND flash nastavlja širenje svojih slojeva stanica (64-slojni NAND će uskoro na tržište pustiti više proizvođača), s planovima za 96, pa čak i 128 slojeva.
.