Componentele cheie ale unui SSD sunt controlerul si memoria pentru stocarea datelor. Componenta de memorie primara dintr-un SSD a fost in mod traditional memoria volatila DRAM, dar din 2009 este mai frecvent folosita memoria de tip NAND flash, non-volatila.

Controler

Fiecare SSD include un controler care incorporeaza electronicele care pun in legatura componentele de memorie NAND, cu computerul gazda. Controlerul este un procesor incorporat care executa cod la nivel de firmware si este unul dintre cei mai importanti factori ai performantei unui SSD. Unele dintre functiile indeplinite de controler includ:

  • Maparea blocurilor
  • Citeste si scrie caching
  • Criptarea
  • Cripto-maruntire
  • Detectarea si corectarea erorilor prin codul de corectare a erorilor (ECC)
  • Gestionarea perturbarilor
  • Nivelarea de uzura

Performanta unui SSD poate fi adaptata la numarul de blocuri paralele NAND, utilizate in dispozitiv. Un singur cip NAND este relativ lent, datorita interfetei I / O asincrone inguste (8/16 biti) si a latentei ridicate suplimentare a operatiilor de I / O de baza (tipic pentru SLC NAND, ~ 25 μs pentru a obtine o pagina de 4 KB din matricea catre bufferul I / O pe o citire, ~ 250 μs pentru a comite o pagina de 4 KB din bufferul IO in tablou pe o scriere, ~ 2 ms pentru a sterge un bloc de 256 KB).

Cand mai multe dispozitive NAND functioneaza in paralel in interiorul unui SSD, scala de latime de banda si latentele ridicate pot fi ascunse, atata timp cat se afla in asteptare suficiente operatiuni restante si incarcarea este distribuita uniform intre dispozitive.

Micron si Intel au produs initial SSD-uri mai rapide prin implementarea de striping de date (similar cu RAID 0) si intercalarea arhitecturii lor. Aceasta a permis crearea de SSD-uri ultra-rapide cu viteze efective de citire / scriere de 250 MB / s cu interfata SATA 3 Gbit / s, in 2009.

Doi ani mai tarziu, SandForce a continuat sa utilizeze aceasta conectivitate flash paralela, lansand controlerele SSD 6 Gbit / s SATA de inalta calitate pentru consumatori, care suporta viteze de citire / scriere de 500 MB / s. Controlerele SandForce comprima datele inainte de a le trimite in memoria flash. Acest proces poate avea ca rezultat scaderea timpului de scriere si un randament logic mai mare, in functie de compresibilitatea datelor.

Nivelare de uzura

Daca un anumit bloc este programat si sters in mod repetat, fara a scrie date in alte blocuri, acel bloc se va uza inainte de toate celelalte blocuri – astfel se va incheia prematur viata unui SSD. Din acest motiv, controlerele SSD folosesc o tehnica numita nivelare de uzura, pentru a distribui scrierea cat mai uniform pe toate blocurile flash din SSD.

Intr-un scenariu perfect, acest lucru ar permite ca fiecare bloc sa fie scris in asa fel incat sa i se asigure un nivel maxim de viata si toate blocurile sa esueze in acelasi timp (in mod ideal). Procesul de distribuire uniforma a scrisului, necesita ca datele scrise anterior si care nu au fost mutate (datele reci) sa fie mutate in blocuri noi, astfel incat datele care se schimba mai frecvent (date la cald) pot fi scrise in acele blocuri.

De fiecare data cand datele sunt relocate fara a fi schimbate de sistemul gazda, aceasta mareste amplificarea de scriere si reduce astfel durata de viata a memoriei flash. Designerii incearca sa le maximizeze ambele proceduri.

Memorie

Majoritatea producatorilor de SSD utilizeaza memorie flash NAND nevolatila in constructia SSD-urilor lor, din cauza costurilor mai mici comparativ cu DRAM si capacitatea de a retine datele fara o sursa de alimentare constanta, asigurand persistenta datelor prin intreruperi bruste de energie.

SSD-urile cu memorie flash au fost initial mai lente decat solutiile DRAM, iar unele proiecte timpurii au fost chiar mai lente decat HDD-urile normale, dupa o utilizare continua. Aceasta problema a fost rezolvata de controlerele care au aparut in 2009 si ulterior.

SSD-urile pe flash stocheaza date in cipuri de circuite integrate cu oxid de metal-semiconductor (MOS) care contin celule de memorie cu porti flotante nevolatile. Solutiile bazate pe memorie flash sunt de obicei ambalate intr-un form factor asemanator cu cel al unitatii de disc standard (1.8-, 2.5- si 3.5-inch), dar si in factori de forma mai mici si mai compacti, cum ar fi factorul de forma M.2.

Unitatile cu un pret mai mic utilizeaza de obicei memorie flash cu nivel nivel celular triplu (TLC) sau cu mai multe niveluri (MLC), care este mai lenta si mai putin fiabila decat memoria flash cu un singur nivel (SLC). Acest lucru poate fi atenuat sau chiar inversat de structura de proiectare interna a unui SSD, cum ar fi interleading-ul, modificari la algoritmii de scriere si supra-aprovizionare mai mare (capacitate mai mare) cu care algoritmii de nivelare a uzurii pot functiona.

Au fost introduse unitati de stare solida care se bazeaza pe tehnologia V-NAND, in care straturile de celule sunt stivuite vertical.

DRAM

SSD-urile bazate pe memorie volatila, cum ar fi DRAM, sunt caracterizate printr-un acces la date foarte rapid, in general sub 10 microsecunde si sunt utilizate in principal pentru a accelera aplicatiile care altfel ar fi retinute de latenta SSD-urilor flash sau a HDD-urilor traditionale.

SSD-urile bazate pe DRAM includ, de obicei, fie o baterie interna, fie un adaptor AC / DC extern si sisteme de stocare de rezerva pentru a asigura persistenta datelor, in timp ce unitatea nu este alimentata de la surse externe. Daca se pierde energie, bateria furnizeaza energie in timp ce toate informatiile sunt copiate din memoria de acces aleatoriu (RAM) in stocarea de rezerva.

Cand se restabileste alimentarea cu energie, informatiile sunt copiate in memoria RAM din stocarea de rezerva, iar SSD reia functionarea normala (similar functiei de hibernare folosita in sistemele de operare moderne).

SSD-urile de acest tip sunt de obicei echipate cu module DRAM de acelasi tip utilizate in computerele si serverele obisnuite, care pot fi schimbate si inlocuite cu module mai mari, cum ar fi i-RAM, HyperOs HyperDrive, DDRdrive X1, etc. Unii producatori de SSD-uri DRAM vand cipurile DRAM direct pe unitate si nu intentioneaza schimbe cipurile – cum ar fi ZeusRAM, Aeon Drive, etc.

Un disc de acces la memorie indirecta (RIndMA Disk) utilizeaza un computer secundar cu o retea rapida sau o conexiune Infiniband (directa) pentru a actiona ca un SSD bazat pe RAM, dar noile SSD-uri, mai rapide, bazate pe memorie flash, deja disponibile din anul 2009, fac ca aceasta optiune sa nu mai fie la fel de eficienta.

In timp ce pretul DRAM continua sa scada, pretul memoriei Flash scade si mai repede. Punctul de incrucisare „Flash devine mai ieftin decat DRAM” a avut loc aproximativ in 2004.

3D XPoint

In 2015, Intel si Micron au anuntat 3D XPoint ca o noua tehnologie de memorie non-volatila. Intel a lansat prima unitate 3D bazata pe XPoint (denumita Intel® Optane ™ SSD) in Martie 2017, incepand cu produsul pentru centrul de date – Intel® Optane ™ SSD DC P4800X, urmand cu versiunea client – Intel® Optane ™ Seria SSD 900P in Octombrie 2017.

Ambele produse functioneaza mai repede si cu o rezistenta mai mare decat SSD-urile bazate pe NAND, in timp ce densitatea reala este comparabila la 128 de gigabits pe cip. Pentru pretul per bit, 3D XPoint este mai scump decat NAND, dar mai ieftin decat DRAM.

Unele SSD-uri, numite dispozitive NVDIMM sau Hyper DIMM, folosesc atat DRAM, cat si memorie flash. Cand alimentarea se va opri, SSD copiaza toate datele din DRAM-ul sau pentru backup; la revenirea alimentarii, SSD copiaza toate datele din flash in DRAM-ul sau. Intr-un mod oarecum similar, unele SSD folosesc factori de forma si celule proiectate efectiv pentru modulele DIMM, in timp ce folosesc doar memoria flash si o fac sa apara ca si cum ar fi DRAM. Aceste SSD-uri sunt de obicei cunoscute sub denumirea de dispozitive ULLtraDIMM.

Unitatile cunoscute sub numele de unitati hibride sau unitati hibride in stare solida (SSHD) folosesc un hibrid compus din discuri mecanice si memorie flash. Unele SSD folosesc memorie magnetoresistiva cu acces aleatoriu (MRAM) pentru stocarea datelor.

Memorie cache sau tampon

Un SSD bazat pe flash foloseste de obicei o cantitate mica de DRAM ca cache volatil, similar cu bufferele din unitatile de disc. Un director de date de plasare a blocului si nivelul de uzura este, de asemenea, pastrat in cache in timp ce unitatea functioneaza.

Un anumit producator de controlere SSD, SandForce, nu utilizeaza o memorie cache DRAM externa pentru produsele lor, dar totusi atinge performante ridicate. O astfel de eliminare a DRAM-ului extern reduce consumul de energie si permite reducerea suplimentara a dimensiunilor SSD-urilor.

Baterie sau supercapacitor

O alta componenta a SSD-urilor cu performante mai mari este un condensator sau o anumita forma de baterie, care sunt necesare pentru a mentine integritatea datelor, astfel incat datele din memoria cache pot fi pastrate in unitate atunci cand pierderea de energie are loc; unii pot chiar sa mentina puterea suficient de mult pentru a mentine date in cache pana la reluarea puterii.

In cazul memoriei flash MLC, o problema numita coruptia paginii inferioare poate aparea atunci cand memoria flash MLC isi pierde puterea in timpul programarii unei pagini superioare. Rezultatul este ca datele scrise anterior si prezumate sigure pot fi corupte daca memoria nu este suportata de un supercapacitor in cazul unei pierderi bruste de putere. Aceasta problema nu exista cu memoria flash SLC.

Majoritatea SSD-urilor din clasa consumer, nu au baterii sau condensatoare incorporate; printre exceptii se numara seria Crucial M500 si MX100, seria Intel 320 si cele mai scumpe ssd-uri din seriile Intel 710 si 730. SSD-urile din clasa Enterprise, cum ar fi seria Intel DC S3700, au de obicei baterii sau condensatoare incorporate.