Un articol despre SSD-uri scris in octombrie 2010 pentru o revista, pe nume Console, al carui prim numar nu a mai reusit sa vada niciodata lumina zilei.
Bibliografie:
http://www.anandtech.com/show/2738
http://www.anandtech.com/show/2829
http://www.anandtech.com/show/2614
http://en.wikipedia.org/wiki/Solid-state_drive
1. SSD
PE
ÎNŢELESUL
TUTUROR!
Ce
înseamnă
SSD?
Care
este
tehnologia
din
spatele
lor?
Care
sunt
avantajele
şi
dezavantajele
lor?
Sunt
numai
câteva
întrebări
la
care
vom
încerca
să
răspundem
în
periplul
nostru
către
înţelegerea
acestei
noi
tehnologii.
Dacă mă întrebai acum cinci ani care Celulele de memorie sunt organizate în
este cea mai puţin fiabilă şi sensibilă grupuri, iar un astfel de grup de celule se
componentă a unui calculator, ti-aş fi răspuns numeşte pagină de memorie. O pagină de
fără nici o ezitare: dispozitivul de stocare. Mai memorie reprezintă cea mai mică unitate care
exact, hard disk-ul! poate fi citită sau scrisă la un moment dat.
Astăzi însă lucrurile s-au schimbat. Pe Dimensiunea uzuală a unei pagini de memorie
piaţă a apărut o nouă soluţie de stocare a în ziua de astăzi este de 4 KB.
datelor, soluţie pe care o voi prezenta în detaliu
şi pe înţelesul tuturor în acest articol: SSD-ul.
Acronimul SSD înseamnă Solid-State Pagină
de
Drive. SSD-ul se bazează pe o tehnologie memorie
similară cu cea a memoriilor flash USB. (4
KB)
Diferenţa esenţială dintre cele două dispozitive
de stocare constă în faptul că SSD-ul, spre
deosebire de HDD (hard disk drive), nu are La rândul lor, paginile de memorie
componente electromecanice în mişcare. sunt organizate în alte grupuri, rezultând astfel
blocurile de memorie. Un bloc de memorie
Anatomie reprezintă cea mai mică unitate care poate fi
În prezent, majoritatea SSD-urilor ştearsă la un moment dat dintr-un dispozitiv de
persistente de pe piaţă sunt bazate pe memorie tip NAND flash (fie el memorie flash USB sau
flash de tip NAND. Un dispozitiv SSD conţine SSD)! Dimensiunea uzuală a unui bloc de
milioane de tranzistori de tip n-MOSFET, memorie în ziua de astăzi este de 128 pagini de
fiecare astfel de tranzistor reprezentând o memorie, adică 512 KB.
celulă care poate reţine stările „1” sau „0” (un
bit) chiar şi atunci cand nu este alimentată cu
Bloc
de
memorie
curent electric. Pentru a modifica starea unui
bit, controller-ul va aplica un anumit voltaj (128
pagini
=
512
KB)
asupra celulei.
În realitate, există două tipuri de
memorie NAND flash integrată în SSD-uri:
SLC şi MLC. Memoria de tip SLC (Single-
Level Cell) este cea descrisă anterior, în care o
celulă poate avea două stări („0” sau „1”) şi în
care controller-ul va aplica doar două voltaje.
Al doilea tip de memorie NAND flash,
MLC (Multi-Level Cell), permite reţinerea a
patru stări („00”, „01”, „10” şi „11”) în aceeasi
celulă de memorie (deci în aceeaşi suprafaţă!). Asta înseamnă că o pagină de memorie
Astfel, în cazul MLC, controller-ul va aplica poate fi citită în mod direct oricând sau poate fi
patru nivele de voltaj. scrisă doar dacă este goală. Însă, ea nu poate fi
Practic, diferenţa constructivă dintre suprascrisă în mod direct, ci trebuie ca mai
cele două constă în modul de scriere / citire al întâi întregul bloc de memorie să fie şters şi
unei celule. abia apoi scrisă pagina respectivă. Dacă în
Însă, datorită faptului că o celulă de tip respectivul bloc există pagini de memorie
MLC poate reţine patru stări (deşi ocupă ocupate de către alte fişiere, atunci înainte de
aceeaşi suprafaţă fizică cu o celulă de tip SLC) ştergerea întregului bloc, trebuie ca mai întâi
apare un dezavantaj inevitabil: accesul la datele din ele să fie salvate în memoria
celulele de tip MLC este mai lent. controller-ului urmând ca după operaţia de
ştergere să fie restocate în aceleaşi pagini de
memorie.
[1]
2. Revenind la ierarhie, blocurile de conţine mai multe astfel de chip-uri de
memorie sunt organizate la rândul lor sub memorie.
forma unui chip de memorie. Iar un SSD
Operaţie SLC NAND flash MLC NAND flash
Citire aleatoare 25 µs 50 µs
Scriere 250 µs 900 µs
Ştergere 2 ms per bloc 2 ms per bloc
Tabel 1: Comparaţie între durata unei operaţii pe o memorie flash de tip SLC şi o memorie flash de tip MLC
Transparenţa faţă de SO tabelă de alocare a fişierelor. Practic, rolul
Sistemele de operare (SO) moderne acestei tabele este de a corela fişierele cu
comunică cu HDD-urile folosind o adresare blocurile de date ocupate de acestea la nivel
logică a blocurilor de date fizice. Astfel, deşi fizic.
HDD-ul este un mediu rotativ (un HDD Şi în cazul SSD-urilor, SO-ul foloseşte
conţine mai multe platane, fiecare platan tot o adresare liniară împreună cu o tabelă de
conţine mai multe piste circulare concentrice, alocare a fişierelor. Însă, în cazul SSD-urilor
iar fiecare pistă este la rândul ei este divizată în mai există un strat intermediar între adresele
sectoare), sistemul de operare adresează logice ale blocurilor de date gestionate de SO
blocurile de date fizice într-un mod liniar, şi adresele fizice ale blocurilor de date. Stratul
asociind fiecărui bloc de date fizic o adresă intermediar este administrat de controller-ul
logică. SSD-ului. Rolul său este de a asigura o
Sistemul de operare ştie în orice utilizare uniformă a celulelor unui SSD,
moment care blocuri de date sunt libere şi care deoarece o celulă de memorie flash poate fi
sunt ocupate. De asemenea, sistemul de scrisă de un numar limitat de ori.
operare ştie, pentru fiecare fişier în parte, pe ce Pentru a înţelege mai bine mecanismul
blocuri de date este stocat acesta. Toate aceste de scriere a celulelor unui SSD, consultaţi
informaţii sunt reţinute de către SO într-o tabelul 2.
Comandă către SO Reacţie la nivel fizic pe un HDD Reacţie la nivel fizic pe un SSD
Scrie blocurile de date aferente Scrie paginile de memorie aferente
Creare fişier
fişierului. fişierului.
Daca e loc pe dispozitiv, scrie în altă
Suprascrie aceleaşi blocuri de date cu pagină de memorie, altfel şterge
Suprascriere fişier
noile valori. întregul bloc şi scrie în aceleaşi
pagini de memorie.
Ştergere fişier Nimic. Nimic.
Tabel 2: Gestiunea blocurilor de date de nivel fizic la SSD-uri şi HDD-uri.
SSD vs HDD: avantaje Iar în ceea ce priveşte al doilea factor,
Având în vedere faptul că nu au neexistând fricţiune între componente,
componente în mişcare, SSD-urile sunt concluzia e simplă: adio programe de
silenţioase şi rezistente la şocuri mecanice. monitorizare a temperaturii dispozitivelor de
Daca primul factor poate fi neglijat, ei bine, cel stocare!
de-al doilea factor devine extrem de important Un alt avantaj pe care îl au SSD-urile
în momentul în care aducem în discuţie în faţa HDD-urilor este durata de viaţă. O
ultraportabilele. celulă de memorie flash de tip MLC poate fi
De asemenea, tot datorită faptului că scrisă de aproximativ 10.000 ori, pe când o
nu au componente electromecanice, SSD-urile celulă de memorie flash de tip SLC poate fi
consumă mai puţină energie şi degajă mai scrisă de aproximativ 100.000 ori. La prima
puţină căldură. Din nou, aceşti doi factori vedere poate părea îngrijorător, dar daca e sa
devin extrem de relevanţi în momentul în care punem toate datele de până acum pe o foaie de
aducem în discuţie calculatoarele portabile, hârtie şi să efectuăm nişte estimări, vom vedea
consumul redus de energie al unui SSD că în realitate, durata de viaţă a unui SSD este
îmbunătăţind vizibil durata de viaţă a bateriei. net superioară comparativ cu cea a unui HDD.
[2]
3. Am adus în discuţie avantaje precum conţin atât pagini valide cât şi pagini invalide
silenţiozitate, rezistenţa sporită la şocuri de memorie (o pagină validă conţine datele
mecanice precum şi consumul redus de unui fişier existent la nivel logic; o pagină
energie, însă avantajul major pe care îl au invalidă conţine datele unui fişier care a fost
SSD-urile împotriva HDD-urilor este viteza de şters la nivel logic).
lucru. Performanţa scade datorită faptului că,
În primul rând, viteza de lucru se nemaiexistând pagini goale de memorie, pentru
datorează arhitecturii. În medie, un chip de a utiliza o pagină invalidă trebuie ca mai întâi
memorie NAND flash are o lăţime de bandă de să fie şters întregul bloc de memorie – iar
20 MB/s. Dar, având în vedere faptul că un această operaţie durează 2 ms.
SSD conţine mai multe chip-uri de memorie, Ca să înţelegem mai bine, să luăm un
precum şi faptul că acestea pot lucra în paralel, mic exemplu. Să presupunem că avem de scris
rezultă că laţimea de bandă a unui SSD poate un fişier de 120 KB pe un SSD de tip MLC
ajunge chiar şi la 200 MB/s! nefolosit (deci avem doar pagini goale).
În al doilea rând, timpul de acces în Această operaţie va dura 27 ms (120 KB / 4
cazul SSD-urilor este de 0.1 ms, pe când în KB * 0.9 ms) . În cazul unui SSD care are la
cazul unui HDD normal, timpul de acces se dispoziţie doar pagini invalide de memorie şi
situează undeva pe la 8 ms. Timpul de acces presupunând că fişierul va fi scris într-un
reprezintă durata dintre momentul în care singur bloc de memorie, aceeaşi operaţie va
dispozitivul primeşte o comandă de dura: 117 ms (2 ms + 128 * 0.9 ms). Adică de
citire/scriere şi momentul în care acesta duce aproximativ 4 ori mai mult!
comanda respectivă la îndeplinire. O soluţie nepractică pentru această
problemă este ca la un anumit interval de timp
SSD vs HDD: dezavantaje să se copieze tot conţinutul SSD-ului pe un
Mai ţineţi minte expresia „There's no HDD extern, să se şteargă toate blocurile de
such thing as a free lunch”? Ei bine, din păcate memorie, iar apoi să se repună datele la loc.
se aplică şi în cazul SSD-urilor. O altă soluţie, de data aceasta practică,
În primul rând, SSD-urile sunt mai este comanda TRIM. Această comandă are
scumpe decat HDD-urile. Mult mai scumpe. grijă să informeze SO-ul atunci când un bloc
Desigur, nu mai au preţuri prohibitive ca acum de date nu mai are pagini valide. Astfel, chiar
câţiva ani, dar tot sunt de cateva ori mai dacă nu va fi folosit în viitorul apropiat, blocul
scumpe decât un HDD de aceeaşi capacitate - de date poate fi şters pentru a fi pregătit în
asta în cazul SSD-urilor de tip MLC. Un SSD vederea unei eventuale scrieri a unei pagini de
de tip SLC, având aceeaşi capacitate cu un memorie din el. Comanda TRIM trebuie sa fie
SSD de tip MLC, are în general un preţ dublu suportată de către SO, Microsoft Windows 7
decât acesta din urmă. numărându-se printre aceste SO-uri.
O altă problemă la SSD-uri este faptul
că performanţa acestora tinde să se Gânduri de final
degradeze pe masură ce sunt folosite şi Pe internet circulă o vorbă despre SSD:
încărcate cu date. n-ai crede că e rapid, până când nu rămâi fără
Să ne reamintim faptul că în cazul unui el.
SSD, prin rescrierea unui fişier, paginile de Deşi performanţa li se degradează în
memorie iniţiale ramân intacte, iar noile date timp, SSD-urile din ziua de azi rămân mai
sunt înscrise în alte pagini de memorie, pentru rapide decat HDD-urile pe întreaga durată de
a se asigura astfel o utilizare uniformă a funcţionare.
celulelor unui SSD. De asemenea, să ne În câţiva ani, tehnologia din spatele lor
reamintim faptul că, pentru a suprascrie o va fi radical îmbunătăţită, preţurile vor scădea,
pagină de memorie, trebuie ca mai întai să fie iar HDD-ul va intra în istorie alături de floppy
şters întregul bloc de memorie care o conţine şi disk.
abia apoi scrisă pagina respectivă.
Daca e să coroborăm ceea ce ştim până
acum cu faptul că majoritatea utilizatorilor au Vlad Petre
tendinţa de a îşi umple dispozitivele de stocare vlad@vladpetre.com
cu date destul de repede, rezultă imediat un http://twitter.com/vladpetre88
grad foarte mare de blocuri de memorie care http://linkedin.com/in/vladpetre88
[3]