| Rubrike | Edukacija | TLC vs MLC vs SLC
Edukacija

TLC vs MLC vs SLC


Malo teorije

 

Zamislite da postoje dva stanja – logička „1“ i „0“, i da „0“ ima dodeljen konstantni naponski nivo od 0V, dok „1“ 1V. Ovo je čisto hipotetička situacija, ali je mnogo lakša za objasniti. Može se desiti da je naponski nivo nule i veći od naponskog nivoa jedinice isl. Postoji i razlika između logičke nule i jedinice koja se ne svodi u razlici u amplitudi signala, već po njegovoj fazi što se koristi u telekomunikacijama isl. Radi lakšeg razmatranja koristićemo model konstantnih naponskih nivoa za svako od stanja.

 

slc

 

Dva stanja se mogu raspoznati preko jednog bita (logička nula ili jedinica). Kako je logička jedinica u teoriji zakucana na naponu od 1V, a nula na 0V često se dešava da „pročitani“ naponski nivoi nisu idealni naponski nivoi i da se može „pročitati“ naponski nivo od recimo 0,2V.

Postavlja se logično pitanje, pa kako će ovo biti prepoznato – kao logička nula ili kao logička jedinica? U ovom slučaju će ovaj signal biti prepoznat kao logička nula. Ako pogledate gornju sliku logički bi bilo da granica logičke jedinice i nule bude tačno na sredini (0,5V), jer tako u oba stanja dozvoljavate istu mogućnost/marginu greške. Tako logička jedinica može imati nivo veći od 1V, ali i nivo koji je za neku vrlo malu vrednost veća od granične tj. 0,5V. Identična situacija važi i za logičku nulu.

Tako se može reći da je margina šuma tj. maksimalno dozvoljen šum iznosi 0,5V i dokle je god nepoželjan šum manji od ove granice stanje će se uspešno pročitati iz memorijske ćelije. 0,5V je velika vrednost i vrlo retko će šum dostići ove vrednosti, te je mogućnost greške minimalna.

 

mlc

 

Sada zamislite da u jednu ćeliju možete smestiti 2 bita. Tada umesto 2 različita stanja imate 22 tj. četiri različita stanja – „00“, „01“, „10“ i „11“. Dakle, duplo veći kapacitet u odnosu na SSD koji može da u jednu ćeliju smesti jedan bit (SLC). Sada stvari postaju malo komplikovanije, jer umesto dva stanja imamo četiri i logički bi bilo da gledamo da što više naponski odvojimo stanja kako bi imali što veću marginu greške. Tako ako je „00“ ima naponski nivo od 0V, „01“ bi imao ~0,33V (1/3V), „10“ ~0,66V (2/3V), a „11“ naponski nivo od 1V.

Sada je razmak izmeđju stanja ~0,33V (1/3V), a ne 1V kao što je bilo ranije. Maksimalna margina greške/šuma u ovom slučaju se nalazi tačno na polovini između dva stanja i iznosi 1/6V. Kao što možete videti dva bita u jednoj memorijskoj ćeliji smanjuju marginu šuma sa 0,5V (1/2V) na čak ~0,16V(1/6V) što je tačno 3 puta manje. Već sada postaje jasnije zašto se ne može u nedogled povećavati broj stanja u jednoj memorijskoj ćeliji.

 

tlc

 

Analogno ovome, TLC NAND nudi mogućnost upisa 3 bita u jednoj memorijskoj ćeliji i sada postoji 23=8 različitih stanja – „000“, „001“, „010“, „011“, „100“, „101“, „110“ i „111“. Tako logička „000“ ima naponski nivo od 0V, dok ostala stanja imaju logičke nivoe od 1/7V, 2/7V,…do 1V. Razmak između stanja sada iznosi 1/7V, a maksimalna margina šuma je polovina od toga tj. 1/14V. Dakle marginu šuma smo smanjili za sedam puta u odnosu na početnu situaciju – 1/14V vs 1/2V.

Za postavljanje četiri bita u jednu memorijsku ćeliju imali bi smo 16 različitih stanja, gde bi naponski nivoi bili odvojeni po 1/15V, a margina šuma bi spala na 1/30V tj. bila bi petnaest puta manja u odnosu na ćeliju koja sadrži samo jedan bit informacije u sebi.

Dakle, povećavanjem broja bitova u jednoj memorijskoj ćeliji drastično utićemo na maksimalnu dozvoljenu grešku, i samim tim mogućnost da se zapisano stanje prilikom čitanja pogrešno rastumači je mnogo veće.

 

Ivan Vujić

Software, storage, network etc editor @ AXE
Database migration @ RC ETF

Dodaj komentar

Kliknite ovde da biste poslali komentar