SSD ZNS: caracteristicile și utilizarea acestui format de stocare

SSD-urile ZNS vor fi o realitate în cel mai scurt timp. Nu sunt un tip diferit de hardware, dar variază în modul în care accesează datele de pe cipurile de memorie Flash NAND și adoptă o metodă mai optimizată pentru utilizarea memoriei Flash NAND. Deci, acestea implică modificări în Flash Controller integrat în fiecare SSD.

Standardul SSD ZNS a fost aprobat ca standard în cadrul NVMe și face parte din versiunea 2.0 a aceluiași. Implică schimbări majore în modul în care accesați și organizați datele stocate în interior. Până în prezent SSD-ul a fost accesat ca și cum ar fi un hard disk convențional, care nu este cea mai bună metodă pentru acest tip de memorie.

SSD ZNS

Ce este un SSD?

Un SSD convențional la nivel hardware este un set de non-volatile RAM memorii, în special memoria NAND Flash, care sunt conectate la un controler flash, care funcționează la fel ca un controler de memorie normal și este responsabil pentru gestionarea cererilor de acces la memoria pe care ați conectat-o.

Până în prezent, SSD-urile au folosit același mod de gestionare a datelor ca un hard disk convențional, care nu este foarte eficient în ceea ce privește durata lor de viață și modul de utilizare a capacităților lor. Motivul este că memoria flash NAND, în ciuda faptului că nu este volatilă ca cea a unui hard disk, este mai asemănătoare cu RAM în ceea ce privește accesul la date. Ceea ce face mai bine să adoptați un nou mod de a accesa acest tip de memorie, care este mai avansat și, prin urmare, în conformitate cu capacitățile sale.

ZNS este exact acea formă, să vedem acum caracteristicile sale.

Ce este un SSD ZNS?

Controler ZNS

În primul rând, ce înseamnă ZNS? Ei bine, acestea sunt acronimul pentru Zoned NameSpaces. Care este un mod de organizare a stocării pe un disc și, prin urmare, vorbim despre modul în care datele sunt stocate pe SSD. Pe hard diskuri, ceea ce se face este să organizăm informațiile în pagini, care sunt stocate în tabele, iar acestea din urmă în directoare. Sistemul de paginare este utilizat pentru a organiza datele pe un hard disk convențional în care fiecare pagină are un spațiu fix și specific.

Pe de altă parte, într-un SSD ZNS, ceea ce se face este să împărțiți spațiul în zone de diferite dimensiuni. Obiectivul este ca atunci când Procesor, GPU sau orice alt element trebuie să scrie datele în memorie în loc să arate spre o adresă de memorie virtuală, ceea ce va face este să indice acea zonă. Care va fi fost definit anterior în termeni de mărime. Care este funcționarea sa? Simplu, de fiecare dată când doriți să scrieți în memoria flash, este invocat spațiul de nume atribuit acelei zone. Controlerul blițului va scrie apoi datele în acea zonă și nu în afara acesteia. De asemenea, o va face secvențial, pentru a nu lăsa spații moarte pe disc și pentru a optimiza utilizarea acestuia.

SSD ZNS

Ceea ce se realizează cu această tehnică este că controlerul de memorie flash nu trebuie să gestioneze scrieri la adrese de memorie aleatorii și utilizarea spațiului pe SSD este optimizată. CPU pur și simplu rezervă o parte delimitată a stocării ca zonă pentru stocarea datelor. Când trebuie să accesați acea zonă, computerul va spune controlerului de memorie flash că dorește să acceseze datele din acea zonă specifică, invocând acel spațiu de nume specific.

SSD-urile ZNS folosesc ceea ce numim adresarea blocurilor logice, fiecare dintre zone fiind alcătuită din blocuri logice sau LBA. Fiecare zonă poate avea orice număr de blocuri logice pentru stocarea datelor, dar trebuie să aibă o dimensiune minimă de 2 și atunci când datele unui bloc logic sau LBA au fost scrise, atunci informațiile următorului sunt completate secvențial.

Principalul avantaj este că nu creează spații moarte pe SSD prin faptul că nu rezervă în permanență mai multă memorie decât este necesar. Acest lucru face ca ciclurile de scriere să fie mult mai scurte și, de asemenea, ne permite să prezicem mai ușor latența în accesul datelor, deoarece acestea sunt organizate secvențial în loc să fie distribuite de unitate.

Afișați mașina pe un SSD ZNS și comenzi

Máquina Estado ZNS

Pentru a susține zonele NameSpaces, atunci controlerul de memorie flash trebuie să poată efectua o serie de instrucțiuni pentru a gestiona corect informațiile și accesul la SSD. De aceea, o serie de mașini cu stare finită sunt utilizate pentru a controla informațiile de pe SSD. Mașinile cu stare finită sunt coduri micro-cablate în hardware, în acest caz controlerul flash, care, pe baza informațiilor de intrare, indică modul în care trebuie să funcționeze cu acea zonă de memorie flash.

  • Gol: datele pot fi scrise atunci când nu există nimic, dacă se efectuează o citire, acestea vor returna datele care sunt predefinite de producător. De cele mai multe ori gunoi. O zonă poate fi complet ștearsă prin comanda reset, aceasta distruge organizarea diferitelor zone.
  • Deplin: zona este plină de date și nu poate stoca mai multe informații, dar poate fi folosită doar pentru citire.
  • Deschide: permite citirea și scrierea datelor în actualul LBA activ al zonei. Fiecare zonă poate fi fie deschisă implicit, fie deschisă explicit. Primul se referă la faptul că îl putem deschide invocând comanda Open a controlerului flash. Modul explicit are în schimb aceeași funcție, dar din aplicația însăși.
  • Închis: când o zonă este închisă, acceptă numai comenzi de citire și nu permite introducerea de date noi.
  • Finish: nu șterge datele, dar marchează zona ca fiind completă. Indiferent dacă mai multă memorie a fost alocată inițial pentru stocare sub formă de LBA multiple, nu mai pot fi stocate date în acea zonă.

La începutul fiecărei zone, ceea ce face controlerul de bliț este să plasați o etichetă care să vă amintească de starea zonei respective în memorie.