Nand Flash iPhone - care sunt aceste erori și cum le remediați? MLC sau TLC - care este mai bine în unitățile SSD

NAND și NOR: ce sunt și cu ce se mănâncă

Cred că mulți, citind în știrile despre memoria flash, au dat peste câteva abrevieri ciudate abuzive precum NOR și NAND. În același timp, de regulă, nu a fost oferită nicio decodare a semnificațiilor și, cel mai probabil, este puțin probabil să găsiți vreo explicație pentru ele. Să încercăm să aducem măcar o oarecare claritate acestei probleme.

Deci, abrevierile NOR și NAND denotă tipul de poartă logică utilizată într-o anumită unitate de memorie flash. NOR reprezintă poarta NOR, iar NAND înseamnă NOT AND. Dar, din moment ce acum nu vreau să vă citesc un curs de algebră booleană și elementele de bază ale logicii digitale, de care, în plus, nu aveți nevoie, ne vom concentra doar pe rezultatele utilizării acestor tehnologii.
Funcția principală a unităților flash este de a stoca informații. Și de aici vine prima diferență: densitățile de înregistrare realizate astăzi pentru tehnologia NAND le depășesc pe cele realizate în NOR, iar diferența se măsoară în ordine de mărime. Iar cerințele pentru stocarea unor volume mari și compactitatea determină în mod clar tehnologia memoriei flash utilizată. Cu toate acestea, acesta nu este singurul criteriu. La fel de importantă este și capacitatea de a executa cod de program scris în memorie, de exemplu. așa-numita Capacitate XIP (XIP - eXecute In Place). Această posibilitate există în tehnologia NOR și este absentă în NAND. Se pare că scopul principal al memoriei produse folosind tehnologia NAND este stocarea datelor, iar cel al tehnologiei NOR este stocarea codului de program executabil și, într-o măsură mai mică, a datelor (ceea ce se datorează nu numai cantității mici disponibile - noi va reveni la asta puțin mai târziu).

Dispozitivele flash sunt împărțite în părți numite blocuri. Acest lucru trebuie făcut pentru a depăși anumite limitări fizice și din motive de cost. Un anumit bloc poate fi scris pe orice dispozitiv flash numai dacă acel bloc este gol sau șters. În cele mai multe cazuri, se dovedește că o operație de scriere trebuie precedată de o operație de ștergere. Și dacă în dispozitivele NAND operația de ștergere a unui bloc poate fi efectuată imediat, atunci în dispozitivele NOR este necesar să setați mai întâi toți octeții blocului la zero. De asemenea, trebuie spus că dimensiunea obișnuită a blocului în dispozitivele NOR este de 64 sau 128 KB (8-32 KB pentru NAND), ceea ce, combinat cu vitezele deja scăzute ale flash-ului, duce la faptul că operațiunile de scriere și ștergere pot ocupa la câteva secunde. Acesta este un factor limitativ în utilizarea NOR flash ca mediu de stocare a datelor. Iar utilizarea lui pentru stocarea codului executabil este posibilă dacă ți se potrivește din punct de vedere al performanței - cerințele nu ar trebui să fie mari. Timpul de ștergere a memoriei NAND este măsurat în milisecunde și este de ordinul întâi. Iar dimensiunea mică a blocului în cazul unor condiții externe nefavorabile garantează pierderea unei cantități minime de date. Deci, pentru a rezuma acest paragraf: operațiunile de citire NOR sunt puțin mai rapide decât NAND; operațiunile de scriere, dimpotrivă, sunt mai rapide pentru NAND și semnificativ; Datorită dimensiunii mici a blocului, NAND necesită mai puține ștergeri pe unitatea de timp (care, după cum vom vedea mai jos, își poate prelungi durata de viață în dispozitiv), pe care o realizează cu aproximativ trei ordine de mărime mai rapid decât NOR.

NOR flash este un dispozitiv de memorie cu acces aleatoriu. Cipurile NOR au o interfață care permite adresarea și accesul ușor la fiecare octet individual. Interfața I/O a unui dispozitiv de memorie NAND este mult mai complexă și variază de la dispozitiv la dispozitiv și de la dezvoltator la dezvoltator. Aceiași pini (adesea 8 dintre ei) sunt utilizați pentru a transmite semnale de control, adrese și date. În plus, în flash NAND, accesul se realizează în blocuri de 512 octeți, adică. Se citesc sau se scriu 512 octeți per acces. Accesul la fiecare bloc este aleatoriu, dar din moment ce nu este posibil să se acceseze un octet individual, memoria NAND nu este, într-un anumit sens, memorie cu acces aleatoriu. Fiecare octet dintr-un bloc de 512 octeți este transmis magistralei de memorie secvenţial, deci este potrivit să vorbim despre accesul secvenţial. Ceea ce fac ei. Sau despre memorie cu organizarea paginilor. Acum devine mai clar de ce NOR este mai potrivit pentru stocarea și executarea programelor, iar NAND este mai potrivit pentru stocarea datelor.
Proiectarea circuitului unei celule de memorie NAND este mai simplă: este mai mică ca dimensiune în comparație cu NOR și, în consecință, aceasta duce la o densitate crescută de înregistrare, un consum redus de energie și costuri de producție.

Dar orice tehnologie nu poate avea doar laturi pozitive. În acest sens, nici NAND nu face excepție. Ca și în cazul oricărei unități, sunt posibile erori de citire ocazionale și deteriorarea unității în ansamblu. Pentru dispozitivele de memorie flash, este important să vorbim despre citirea fără erori, procesarea blocurilor defecte și numărul de cicluri de citire/scriere. Fenomenul de scădere eronată a biților (numit bit-flipping) este mai tipic pentru memoria NAND decât pentru NOR. Prejudiciul cauzat de un singur bit eronat este determinat de tipul de date căruia îi aparține. Deci, pentru datele multimedia, acest lucru se va dovedi a fi nesemnificativ, dar o astfel de eroare în codul programului sau în datele critice poate duce la rezultate foarte tragice. După cum am spus deja, acest fenomen este mai puțin tipic pentru memoria NOR, iar memoria bazată pe tehnologii NAND necesită utilizarea unui mecanism suplimentar de detectare și corectare a erorilor.

Tehnologiile de producție a memoriei NAND sunt încă imperfecte, iar inițial memoria conține un anumit număr de elemente nefuncționale. Deoarece în NAND un grup de celule de stocare este combinat într-un bloc, o celulă deteriorată într-un bloc duce la inoperabilitatea blocului în ansamblu, adică. se dovedește a fi un bloc prost. Prin urmare, devine necesar să se monitorizeze starea blocurilor și să se utilizeze numai pe cele care funcționează, ceea ce este mult mai ușor de făcut decât să se producă memorie care să nu conțină absolut pagini proaste: o astfel de producție se dovedește a fi foarte costisitoare (o situație similară s-a întâmplat cu panouri LCD la un moment dat). Din motive evidente, acest tip de defect nu este tipic pentru NOR.

Durata de viață a cipurilor flash este exprimată în numărul minim și maxim posibil de cicluri de ștergere pentru fiecare bloc individual (și știm deja că fiecare scriere de bloc este însoțită în mod necesar de ștergerea sa preliminară). Pentru memoria bazată pe tehnologii NOR, este de 10.000 și, respectiv, 100.000 de cicluri, pentru NAND - 100.000 și 1.000.000 de cicluri. Totul este extrem de simplu și nu este nimic de comentat.
Utilizarea memoriei NOR este relativ simplă. Nu necesită drivere suplimentare și poate fi instalat și utilizat simplu. NAND este mai complicat, deoarece diferiți producători folosesc interfețe diferite și cel mai probabil va necesita un driver. Cu toate acestea, în ciuda faptului că memoria NAND are multe avantaje, nu ar trebui să vă gândiți că NOR este un lucru de ieri. Memoria NOR este astăzi utilizată în numeroase dispozitive care nu necesită volume mari și nu sunt critice pentru performanță. NAND își găsește aplicație în acele domenii în care o complexitate mai mare în aplicare este justificată de volumele mari disponibile și performanța.

Bazat pe materiale de la companii de producție flash
M-Systems, Samsung etc.

Hard disk-urile cu stare solidă devin din ce în ce mai ieftine în fiecare an și, în același timp, din ce în ce mai populare. Pe piață apar mai multe modele de astfel de unități, iar acest lucru se datorează nu numai ofertei gamei lor de către noii producători, ci și utilizării noilor tehnologii de către „jucătorii vechi”. Companiile comercializează în prezent unități SSD cu două tipuri principale de memorie: MLC și TLC. În acest articol, ne vom uita la modul în care diferă unele de altele și ce opțiune este mai bine să cumpărați pentru uz casnic.

Vă rugăm să rețineți: puteți găsi, de asemenea, hard disk-uri cu stare solidă la vânzare, a căror memorie este desemnată V-NAND sau 3D NAND. Această memorie este încă de tip MLC sau TLC; despre astfel de denumiri vom vorbi mai jos.

Cuprins: Vă recomandăm să citiți:

Tipuri de memorie de unitate SSD

Unitățile SSD folosesc memoria flash, care este celule de memorie organizate pe bază de semiconductori, grupate într-un mod special. Puteți împărți toată memoria flash utilizată înUnități SSD după cum urmează:

  • Prin metoda citirii și scrierii. SSD-urile moderne folosesc tipul de memorie NAND;
  • După metoda de stocare a datelor. Pe baza metodei de stocare a datelor, unitățile SSD pot fi împărțite în SLC și MLC. Abrevierile pot fi descifrate ca „celulă cu un singur nivel” sau „celulă cu mai multe niveluri”. În cazul memoriei SLC, o singură celulă poate stoca cel mult un bit de date, în timp ce în a doua situație, o singură celulă poate stoca mai mult de un bit. SSD-urile pentru consumatori folosesc tehnologia de stocare MLC.

TLC este un subtip de memorie MLC. Dacă memoria MLC standard stochează 2 biți de informații într-o celulă, atunci în versiunea TLC poate stoca trei biți de informații într-o celulă de memorie. Adică, TLC este, de asemenea, o celulă cu mai multe niveluri.

Vă rugăm să rețineți: Unii producători de SSD nu specificăTLC și 3-picMLC sauMLC-3. În esență, toate aceste trei opțiuni înseamnă același lucru.

TLC sau MLC: care este mai bine?

Fără a lua în considerare detaliile, putem spune că în general tipul de memorieMLC este mai bun decâtTLC, iată câteva dintre avantajele sale:

  • Memoria de acest tip va dura mai mult, în medie cu 20-30%;
  • MLC este mai rapid decât TLC;
  • SSD-urile bazate pe memorie MLC necesită mai puțină putere pentru a funcționa.

Trebuie să plătiți pentru o calitate mai bună, iar prezența memoriei MLC afectează costul hard disk-urilor cu stare solidă - sunt mai scumpe decât opțiunile TLC.

Dar dacă intrăm în detaliu și luăm în considerare utilizarea unităților SSD cu aceste tipuri de memorie la nivel de utilizator, merită să spunem că diferențele dintre ele nu sunt atât de mari și nu are întotdeauna sens să plătim în exces pentru memoria MLC. O mare parte din funcționarea lor depinde de alți factori, cum ar fi interfața de conectare. Să aruncăm o privire la câteva opțiuni:

Pentru a rezuma, putem concluziona că este clarMLC sauOpțiunea TLC nu câștigă. Există un număr mare de factori care afectează viteza unei unități SSD. Dacă achiziționați un SSD de mare capacitate bazat pe memorie TLC, se poate dovedi a fi mai bun de la un producător decât un model MLC de la alt producător, în timp ce costul va fi același. La nivel de consumator, cumpărătorul ar trebui să se concentreze nu pe tipul de memorie, ci pe performanța unui anumit drive în testele pe care producătorii le publică întotdeauna. Performanța testului poate varia chiar și între modelele aceleiași companii produse în linii diferite, în ciuda aceluiași tip de memorie din ele.

Ce este 3D NAND, 3D TLC și V-NAND în memoria SSD

O altă opțiune pe care un cumpărător o poate observa atunci când alege un hard disk cu stare solidă este 3D NAND, 3D TLC sau V-NAND. În funcție de producător, această proprietate are denumiri diferite, dar esența este aceeași. Dacă există o astfel de denumire, ar trebui să știți că în acest model de unitate, celulele de memorie flash sunt amplasate pe cipuri în mai multe straturi, în timp ce, în absența unei astfel de denumiri, cel mai probabil, acestea sunt suprapuse într-un singur strat.

#Chip_type #3D_MLC_(Multi_Level_Cell) MLC_(Multi_Level_Cell) #3D_TLC_(Triple_Level_Cell) #TLC_(Triple_Level_Cell)

Există trei tipuri cele mai comune de cipuri de memorie în SSD-urile moderne: SLC, MLC și TLC.

SLC - Single Level Cell - o celulă cu un singur nivel. Are performanță ridicată, consum redus de energie, cea mai mare viteză și cantitate de înregistrare. Acest tip de memorie este folosit de obicei la serverele high-end, deoarece costul este ridicat.

MLC - Multi Level Cell - o celulă cu mai multe niveluri. Are un cost mai mic comparativ cu SLC, dar are mai puțină rezistență și mai puțină cantitate. Este o solutie buna pentru platformele comerciale si de lucru - are un raport bun pret/viteza.

EMLC - Enterprise Multi Level Cell - o celulă similară ca structură cu un MLC obișnuit, dar cu o resursă crescută. În ceea ce privește fiabilitatea, eMLC este între SLC și MLC, în timp ce prețul nu este cu mult mai mare decât cel din urmă. Aplicațiile tipice sunt stațiile de lucru și serverele de gamă medie.

TLC - Three Level Cell - o celulă cu trei niveluri. Are o densitate mai mare, dar o rezistență mai mică, o viteză lentă de citire și scriere și o cantitate mai mică în comparație cu SLC și MLC. Până acum, memoria TLC a fost folosită în principal în unități flash (unități flash), dar îmbunătățirile aduse tehnologiilor de producție au făcut posibilă utilizarea acesteia în SSD-urile standard.

Toate tipurile de celule de memorie descrise mai sus sunt de tip planar, adică 2D. Dezavantajul lor este că pentru a crește densitatea în fiecare cip individual, este necesar să se reducă procesul tehnic și, din cauza unui număr de limitări fizice, acest lucru nu va fi posibil la infinit. Pentru a depăși acest lucru, au fost dezvoltate celule de memorie 3D. Astfel de celule sunt reprezentate de un cilindru:

Acest lucru face posibilă plasarea unui număr mai mare de celule de memorie pe un strat al cipului. Astfel de celule se numesc 3D V-NAND și 3D TLC. În ceea ce privește capacitatea și fiabilitatea, se potrivește celulelor TLC.

Numărul de stări ale celulei, în funcție de tipul de memorie
Din punct de vedere fizic, toate cele trei tipuri de tehnologii de memorie constau din aceiași tranzistori; singura diferență este că stochează cantități diferite de încărcare. Toate trei funcționează în același mod: atunci când se aplică tensiune, celula trece de la starea „oprit” la starea „pornită”. SLC folosește două valori de tensiune separate pentru a reprezenta un bit de informații pe celulă și două niveluri logice (0 și 1). MLC folosește patru valori de tensiune separate pentru a reprezenta patru stări logice (00, 01, 10, 11) sau doi biți. TLC folosește opt valori separate de tensiune pentru a reprezenta opt stări logice (000, 001, 010, 011, 100, 101, 110, 111) sau trei biți de informații.

Deoarece SLC folosește doar două valori de tensiune, acestea pot fi mai diferite unele de altele, reducând potențialul de interpretare greșită a stării curente a celulei și permițând utilizarea condițiilor standard de corecție a erorilor. Probabilitatea erorilor de citire crește atunci când se utilizează TLC NAND, astfel încât acest tip de memorie necesită mai mult ECC (Error Correction Code) atunci când resursa NAND este epuizată, deoarece în TLC este necesar să se corecteze trei biți de informații simultan, spre deosebire de unul pentru SLC și două pentru MLC.

25-05-2017 Data ultimei modificări: 10-10-2018

Articolul discută: Caracteristicile utilizării microcircuitelor NAND FLASH,metode pentru aspectul paginii și gestionarea proastă a blocurilor. Recomandări pentru programare folosind programatori.

CONȚINUT:

1. TEORIE

1.1. Diferența dintre cipurile NAND FLASH și cipurile convenționale

Dacă nu vă aprofundați în complexitatea tehnologiei, atunci diferența dintre microcircuite NAND de la alte cipuri de memorie este după cum urmează:

  • Microcircuite NAND au foarte volum mare.
  • Microcircuite NAND poate avea blocuri proaste (rele)..
  • Mărimea paginiiînregistrări nu este o putere de 2 .
  • Scrierea pe cip efectuate numai pagini , ştergere - cel putin in blocuri .

Mai sunt câteva diferențe, dar primele două caracteristici sunt cheie. Cauza cele mai multe probleme prezența blocurilor proaste.

1.2. Organizarea cipurilor NAND FLASH

Mai multe detalii despre organizarea și structura microcircuitelor NAND poate fi citit în literatura de specialitate, dar observăm că:

  • Microcircuite NAND organizat în pagini (pagini), pagini în blocuri (blocuri), blocuri în module logice (lun).
  • Mărimea paginii NAND nu multiplu de 2.
  • Pagina este formată din de bazăȘi de rezervă (de rezervă) zone.

Potrivit dezvoltatorilor NAND Vzona centrală trebuie localizat datele în sine, A în zona de rezervă (rezervă). - marcatori de blocuri proaste, sume de control zona principala, altele informatii de serviciu.

Dacă vorbesc despre mărimea paginii cipuri NAND 512 octet sau 2K octet, atunci vorbim despre dimensiunea zonei principale pagini, excluzând de rezervă.

1.3. Modalități de utilizare a zonei de rezervă a paginii

Să vă reamintim încă o dată că, conform planurilor dezvoltatorilor de cipuri NAND în zona de rezervă ar trebui situat: marcatori de blocuri proaste, sume de control zona principală de date, alte informatii de serviciu.

Majoritatea dezvoltatorilor doar descriu Locație marcatori de blocuri proasteîn microcircuitele furnizate. Pentru alte aspecte ale utilizării zonei de rezervă sunt oferite recomandări generale și un algoritm pentru calcularea ECC, de obicei conform lui Haming. Samsung merge puțin mai departe, elaborând recomandări numite „ Zona de memorie flash NAND de rezervă. Standard de scop „(„Zona de rezervă NAND Flash. Standard de atribuire”, 27. aprilie. 2005, Divizia de memorie, Samsung Electronics Co., Ltd).

Deci, acest standard sugerează următoarea utilizare a zonei de rezervă:

Pentru cipuri cu dimensiunea paginii 2048+64 octeți t zonele principale și de rezervă ale paginii sunt împărțite în 4 fragmente (sectoare) fiecare:

RegiuneDimensiune (octet)Fragment
Principal512 Sectorul 1
512 Sectorul 2
512 Sectorul 3
512 Sectorul 4
De rezervă16 Sectorul 1
16 Sectorul 2
16 Sectorul 3
16 Sectorul 4

Fiecare fragment zona lor principală este potrivită fragment de zonă de rezervă.

Folosind o zonă de rezervă (pentru fiecare dintre cele patru fragmente)
pentru cipuri cu o dimensiune a paginii de 2048+64 de octeți:
Părtinire
(octet)
mărimea
(octet)
ScopDescriere
Marcator de bloc prost
Rezervat
Numărul sectorului logic
Rezervat pentru numărul de sector
Rezervat
Cod ECC pentru zona paginii principale
Cod ECC pentru numărul de sector logic
Rezervat

Dar acesta nu este singurul „standard” pentru alocarea memoriei paginii; doar noi știm câteva zeci dintre ele, de exemplu:

  • "Gestionarea NAND FLASH sub WinCE 5.0 ", NXP;
  • "Gestionare defectuoasă a blocurilor pentru NAND Flash folosind NX2LP „, 15 decembrie 2006, Cypress Semiconductor;
  • "OLPC NAND Gestionare defectuoasă a blocurilor ", OLPC.

1.4. Imagine NAND și imagine binară

S-ar putea să întâlnești doua variante imagine pentru înregistrare:

  1. Fisier binar nu e spart la pagini şi fără zonă de rezervă.
    Această opțiune este posibilă dacă sunteți un dezvoltator de dispozitiv NAND sau a primit un astfel de fișier de la dezvoltator. Această imagine este potrivită pentru scrierea pe microcircuite cu pagini de orice dimensiune și orice distribuție a zonei de rezervă, trebuie doar să știți prin ce metodă se va forma zona de rezervă.
  2. O imagine citită dintr-un alt microcircuit (probă), care conține o zonă de rezervă cu marcaje ale blocurilor defecte, informații de service și coduri de control.
    Această imagine poate fi scrisă numaiîntr-un cip cu exact aceleasi dimensiuni pagini și blocuri.

Acei specialiști care repară diverse echipamente se întâlnesc adesea cu al doilea caz. Într-un astfel de caz, este adesea dificil să se determine metoda de alocare a suprafeței de rezervă utilizată și metoda de gestionare a blocurilor proastă utilizată.

1.5. Marcarea din fabrică a blocurilor dăunătoare

Singurul lucru care este mai mult sau mai puțin standardizat este marcarea din fabrică a blocurilor dăunătoare.

  • Blocurile proaste sunt marcate pe Pagina 0 sau prima pentru cipuri cu dimensiunea paginii mai mică de 4K.
  • Pentru pagini 4K și altele, marcajul poate fi activat ultima pagina bloc.
  • Eu insumi marcator de bloc prost situat în zona de rezervă a paginii în al 5-lea octet pentru pagini mici (512 octeți) și în al 0-lea octet pentru paginile mari (2K).
  • Marcator de bloc prost poate conta 0x00 sau 0xF0 pentru pagini miciȘi 0x00 pentru mai mult X.
  • Blocuri frumoase mereu marcat 0xFF.
  • În orice caz sensul diferit de 0xFF programatorul percepe ca marcator de bloc prost.
  • De regulă, în modern NAND blocul defect este complet umplut cu valoarea 0x00.

Există o problemă: un bloc prost poate fi șters. În acest fel, puteți pierde informații despre blocurile de cipuri proaste.

Cu toate acestea, dacă microcircuitul a funcționat deja în dispozitiv, această metodă de marcare a blocurilor dăunătoare nu este întotdeauna utilizată. Uneori, chiar și informațiile proaste ale blocurilor nu sunt stocate în memoria NAND. Dar, de cele mai multe ori, chiar dacă dezvoltatorul de software al dispozitivului folosește o schemă diferită pentru gestionarea blocurilor defecte, el preferă să nu ștergă marcajele din fabrică.

1.6. Gestionare proastă a blocurilor

Dezvoltatori NAND microcircuitele propun să utilizeze următoarele scheme de control a blocurilor proaste:

  • Trece blocuri proaste
  • Utilizare de rezervă regiune

De asemenea, metodele de gestionare a blocurilor proaste includ uneori utilizarea corectarea erorii(ECC). Trebuie remarcat faptul că utilizarea corectării unei singure erori nu elimină mai multe erori și vă obligă în continuare să utilizați una dintre schemele de mai sus. Pe lângă asta, majoritatea NAND jetoanele au o zonă garantată fără defecte în care blocurile dăunătoare nu apar. Regiunea fără defecțiuni este de obicei situată la începutul cipului.

Aceste metode de gestionare a blocurilor dăunătoare sunt bine descrise în documentația tehnică a producătorilor NANDși sunt larg discutate în literatura de specialitate cu privire la utilizare NAND. Cu toate acestea, să ne amintim pe scurt esența lor:

Sari peste blocurile proaste:
Dacă blocul curent se dovedește a fi defect, acesta este omis și informația este scrisă în următorul bloc liber. Această schemă este universală, ușor de implementat, dar oarecum problematică pentru cazurile în care apar blocuri proaste în timpul funcționării. Pentru ca această schemă să funcționeze pe deplin, numărul blocului logic trebuie să fie stocat în interiorul blocului (standardul Samsung pentru alocarea unei zone de rezervă, de fapt, presupune acest lucru). Când lucrează conform acestei scheme, controlerul trebuie să stocheze undeva un tabel de corespondență între numerele blocurilor logice și numerele lor fizice, altfel accesul la memorie va fi foarte încetinit.

Prin urmare, dezvoltarea logică este schema utilizarea zonei de rezervă:
Conform acestei metode, întregul volum de memorie este împărțit în două părți: principal și de rezervă. Când apare un bloc defect în memoria principală, acesta este înlocuit cu un bloc din memoria de rezervă și se face o înregistrare corespunzătoare în tabelul de reatribuire a blocurilor. Tabelul de reatribuire este stocat fie într-un bloc de siguranță garantat, fie în mai multe copii. Formatul tabelului este diferit, este stocat în locuri diferite. Din nou, Samsung descrie un standard pentru formatul și aspectul tabelului, dar puțini oameni îl urmează.

2. PRACTICA

2.1. Scanarea blocurilor defecte ale cipului NAND

Programator ChipStar vă permite să scanați rapid microcircuitul NAND pentru prezența blocurilor dăunătoare în conformitate cu marcajele din fabrică ale blocurilor defecte.

Selectați elementul de meniu " Chip|Căutați blocuri proaste ", cipul va fi verificat pentru blocuri proaste. Rezultatul este afișat sub formă de tabel.

Această acțiune trebuie efectuată numai dacă doriți doar să vizualizați lista blocurilor dăunătoare. În toate celelalte cazuri, căutarea blocurilor proaste se efectuează automat atunci când este necesar.

2.2. Blocuri proaste în imaginea NAND

Când citește o imagine a unui cip NAND, programatorul stochează suplimentar informații despre pagina și dimensiunea blocului cipului. Informațiile sunt salvate într-un fișier separat. Deci, dacă ați numărat și salvat imaginea cip într-un fișier <имя_файла>.nbin programul va crea un alt fișier: <имя_файла>.cfs . La deschiderea unui fișier <имя_файла>.nbin fişier <имя_файла>.cfs va fi citit la fel. În dosar <имя_файла>.cfs sunt înregistrate informații despre dimensiunea paginii și a blocului cipului. După citirea cipului sau deschiderea unui fișier ca .nbin , se efectuează o scanare de fundal a imaginii pentru prezența blocurilor proaste pe baza informațiilor despre pagină și dimensiunea blocului.

Opțiuni NANDși informații despre blocurile proaste pot fi găsite în „fila” NAND"editor programator:

Imagine binară NAND poate fi vizualizat in "fila" Memoria principala ":

În modul editor NAND este alocată zona de rezervă a paginii culoare mai tern, devin disponibile și butoanele pentru deplasarea prin pagini, blocuri și salt rapid la începutul zonei de rezervă a paginii curente. Pe lângă adresa cursorului, se afișează suplimentar linia de stare a editorului numărul paginiiȘi numărul blocului unde se află cursorul. Toate acestea vă permit să vizualizați mai convenabil conținutul microcircuitului.

2.3.Ștergerea NAND

Programator implicit nu se sterge blocuri proaste, dar dacă dezactivați opțiunea " Verificarea și omiterea blocurilor proaste " blocurile proaste pot fi șterse și marcajele blocurilor proaste pot fi pierdute. Dezactivați această opțiune numai dacă este necesar.

Numai blocurile proaste marcate în conformitate cu marcajele din fabrică sunt sărite. Dacă dispozitivul folosește un marcaj diferit pentru blocurile defectuoase, acestea vor fi șterse deoarece software-ul de programare nu le va vedea. Pentru a lucra cu marcaje non-standard ale blocurilor defectuoase, programatorul poate folosi pluginuri externe.

2.4. Testarea microcircuitului pentru lipsa inregistrarii

În mod implicit, programatorul ignoră toate blocurile proaste atunci când verifică, dar dacă dezactivați opțiunea " Scanați și omiteți blocurile proaste „blocurile proaste vor fi testate, ceea ce va duce în mod natural la erori de testare.

2.5. Scrierea imaginii finite pe cip

Arderea unei imagini NANDîn microcircuit este ușor diferită de cele convenționale FLASH microcircuite În primul rând, trebuie să se potrivească dimensiunile paginii imagine și cip țintă. Dacă se folosește controlul, blocurile proaste trebuie să se potrivească dimensiunile blocurilor imagine și microcircuit.

Software pentru toți programatorii ChipStar suporturi trei metode de gestionare a blocurilor proaste instrumente încorporate și un număr nelimitat de pluginuri. În plus, puteți seta numărul de blocuri care pot fi scrise la începutul cipului, care este de fapt Al patrulea mod de a gestiona blocurile proaste.

Metoda 1: Ignorarea blocurilor proaste

Copiere simplă, ignorând blocurile proaste (blocurile proaste sunt scrise în același mod ca și cele normale).

Imagine originală Chip
(starea initiala)
Chip
(rezultat)
Blocul 0
bun
bloc
curat
Blocul 0
bun
Blocul 1
rău
bloc
curat
Blocul 1
fals
Blocul 2
bun
bloc
curat
Blocul 2
bun
Blocul 3
bun
bloc
rău
Blocul 3
defect
Blocul 4
bun
bloc
curat
Blocul 4
bun
Limită de înregistrare
Blocul 5
bun
bloc
curat
bloc
curat

Cel mai potrivit pentru copierea cipurilor NAND, fără a pătrunde în structura sa internă, cu condiția ca cipul să fie scris nu conține blocuri proaste . Dacă în imaginea originală erau blocuri proaste , eventual formează blocuri false rele . Apariția unor blocuri false dăunătoare nu va afecta funcționarea dispozitivului. Cu toate acestea, dacă cip conține deja blocuri proaste, atunci când încercați să scrieți pe un astfel de cip, blocurile proaste vor apărea cu consecințe imprevizibile. Sfat: puteți încerca să ștergeți întregul cip, inclusiv blocurile dăunătoare, apoi să îl copiați. Dacă scrierea într-un bloc defect este finalizată cu succes (acest lucru se întâmplă adesea), dispozitivul dumneavoastră va funcționa corect; în viitor, software-ul dispozitivului va identifica blocul defect și îl va înlocui cu unul bun în conformitate cu algoritmul său de funcționare.

Metoda 2: Ocoliți blocurile proaste

Imagine originală Chip
(starea initiala)
Chip
(rezultat)
Blocul 0
bun
bloc
curat
Blocul 0
bun
Blocul 1
rău
bloc
curat
bloc
curat
Blocul 2
bun
bloc
curat
Blocul 2
bun
Blocul 3
bun
bloc
rău
bloc
rău
Blocul 4
bun
bloc
curat
Blocul 4
bun
Limită de înregistrare
Blocul 5
bun
bloc
curat
bloc
curat

Când ocoliți blocurile proaste blocurile proaste din imaginea sursă nu sunt scriseȘi informațiile nu sunt scrise în blocuri de cip proaste. Aceasta nu este cea mai bună politică de copiere, dar este sigură împotriva blocurilor de cipuri proaste: nu se pierde nicio informatie despre blocurile de chip proaste și blocurile false proaste nu apar. În unele cazuri, o astfel de politică de copiere poate ajuta la restabilirea funcționalității unui dispozitiv necunoscut.

Metoda 3: Omite blocurile proaste

Imagine originală Chip
(starea initiala)
Chip
(rezultat)
Blocul 0
bun
bloc
curat
Blocul 0
bun
Blocul 1
rău

bloc
curat
Blocul 2
bun
Blocul 2
bun
bloc
curat
Blocul 3
bun
Blocul 3
bun
bloc
rău
bloc
rău
Blocul 4
bun
bloc
curat
Blocul 4
bun
Limită de înregistrare
Blocul 5
bun
bloc
curat
bloc
curat

Scrieți sărind peste blocurile proaste presupune că dispozitivul utilizează exact acest algoritm prost de gestionare a blocurilor, și nu oricare altul. În aceste condiții, copierea corectă a informațiilor este garantată.

Metoda 4: scrieți numai zona fără erori garantată

Imagine originală Chip
(starea initiala)
Chip
(rezultat)
Blocul 0
bun
bloc
curat
Blocul 0
bun
Blocul 2
bun
bloc
curat
Blocul 1
bun
Limită de înregistrare
bloc
rău
bloc
curat
bloc
curat
Blocul 3
bun
bloc
rău
bloc
rău
Blocul 4
bun
bloc
curat
bloc
curat
Blocul 5
bun

bloc
curat

bloc
curat

În cele mai moderne NAND microcircuite, primele blocuri (cel puțin unul) sunt garantate să nu aibă defecțiuni. În multe dispozitive, la începutul cipului există cod pentru bootloader și sistemul de operare al dispozitivului. Copierea doar acestor zone este adesea suficientă.

În dialogul de setări ale modului de înregistrare, specificați dimensiunea înregistrării în blocuri.

Alte moduri de a gestiona blocurile proaste

Software Programatori ChipStar acceptă orice algoritm de management al blocurilor prost NAND folosind pluginuri externe. Dacă ați instalat pluginuri, descrierile metodelor suplimentare apar în listă " Gestionarea blocurilor NAND proaste ". Puteți configura parametrii metodei selectate făcând clic pe butonul " Plugin extern ".

Utilizarea codurilor de corectare a erorilor (ECC)

Utilizarea codurilor de corectare a erorilor permite recupera erorile individuale pe pagina NAND.

Diferiți algoritmi pot fi utilizați pentru a recupera erori individuale din sector. În funcție de algoritm ECC, un număr diferit de erori pe sector (512+16 octeți) poate fi recuperat. Sub termenul " singur „se înțelege eroare într-un singur bit date. Pentru NAND cu o dimensiune a paginii de 512+16 octeți, conceptul „ sector" Și " pagină" se potrivesc. Pentru NAND cu dimensiuni mari de pagină, programatorul ChipStar utilizează o schemă de aspect al paginii sectorului, așa cum este descris. În setările de înregistrare sau verificare, puteți specifica câte erori pe sector poate corecta algoritmul utilizat în dispozitivul dvs. În consecință, microcircuitele cu un număr acceptabil de erori nu vor fi respinse; informațiile despre numărul de erori corectabile sunt afișate în fereastra de statistici:

Informații despre numărul de erori permise pe sector pentru fiecare cip specific pot fi găsite în documentație pe cip. Toate cipurile NAND nou adăugate sunt introduse în baza de date a programatorului, ținând cont de numărul de erori permise.

Când adăugați independent microcircuite:

  • Dacă ONFI suportat, apoi numărul permis de erori pe sector citit din tabelul parametrilor microcircuitului și este instalat la valoarea dorită.
  • dacă microcircuitul nu acceptă ONFI, utilizator trebuie să setați singur valoarea, folosind documentația pentru cip.

Pentru microcircuite noi NAND producție Samsung valoarea numărului permis de erori pe sector este codificată ca parte a identificatorului de cip. Prin urmare, pentru astfel de microcircuite și numărul admisibil de erori pe sector va fi setat corect.

Când citiți conținutul unui microcircuit în scopul de a-l salva sau copia în continuare, erorile individuale nu pot fi detectate în mod fiabil. Imaginea rezultată poate fi apoi analizată separat eroarea prin calcularea codurilor de verificare ECC de către o aplicație externă, cu condiția ca se cunosc algoritmul folosit și aspectul paginii .

Software-ul de programare ChipStar oferă o metodă statistică indirectă pentru identificarea și eliminarea erorilor individuale. Metoda permite doar identificarea instabil erori cu nu este garantat fiabilitate. Pentru a efectua citirea cu detectarea erorilor, trebuie să selectați „ Lectură selectivă" și în fila "NAND", bifați caseta " Activați modul de corectare a erorilor"

Puteți configura numărul de încercări de citire pentru comparație și numărul total de încercări de citire atunci când apare o eroare. Trebuie avut în vedere că utilizarea acestei metode încetinește procesul de citire.

Algoritmul de detectare a erorilor statistice funcționează după cum urmează:

  1. Pagina NAND este citită de mai multe ori la rând (cel puțin trei).
  2. Datele citite sunt comparate octet cu octet.
  3. Dacă nu sunt detectate erori de comparație, se presupune că pagina este lipsită de erori.
  4. Dacă în timpul comparației sunt detectate erori, pagina este citită de mai multe ori.
  5. Pentru fiecare eroare, se numără numărul de citiri. unitatiȘi zerouri.
  6. Valoarea corectă („0” sau „1”) este considerată a fi cea dintre care există mai multe.

Algoritmul funcționează bine dacă probabilitatea unei erori într-un anumit bit al microcircuitului este mai mică de 0,5. La citirea unui microcircuit, se numără erorile „corectate” și probabilitatea unei citiri corecte.

2.6. Conversia unei imagini binare într-o imagine NAND

Tot ce este descris mai sus a fost mai mult despre copiere NANDși înregistrări bazate pe modelul de microcircuit, dar este adesea necesar scrieți imaginea binară originală a programului pe un cip curat. Înainte de a scrie, trebuie să convertiți imaginea binară într-o imagine NAND adăugând la fiecare pagină zonă de rezervă si completandu-l corect. Pentru a face acest lucru, deschideți fișierul binar, selectați elementul de meniu " ". Va apărea un dialog:

Setați modul de conversie NAND: " Imagine binară... ", specificați pagina și dimensiunea blocului NAND sau selectați cipul dorit. Selectați formatul zonei de rezervă. Programatorul acceptă umplerea simplă a zonei cu valori FF​​cu instrumente încorporate și alte metode folosind plug-in-uri. A plug-in-ul este furnizat împreună cu programatorul care implementează alocarea zonelor de rezervă recomandate de Samsung.

Dacă trebuie să implementați vreuna opțiune diferită de distribuție - anunțați-ne și vom pregăti pluginul corespunzător, sau puteți implementa singur pluginul necesar.

2.7. Compatibil cu imagini NAND citite de alți programatori

daca ai imagine NAND, citit de alt programator sau primit din altă sursă, trebuie să fie convertitîntr-un format potrivit pentru înregistrare Programator ChipStar.

Pentru a face acest lucru, urmați acești pași:

  • Deschideți fișierul, selectați elementul de meniu " Editare|Comută modul editor NAND ". Va apărea un dialog așa cum se arată mai sus.
  • Setați modul de conversie la format NAND: "Imaginea este deja NAND... ", indica mărimea paginiiȘi bloc NAND sau selectați cipul dorit. Faceți clic pe " Continua".
  • O filă va apărea în editor " NAND " și imaginea va începe scanarea pentru blocuri dăunătoare.
  • Fișierul rezultat poate fi salvat în format NAND, fișierul va primi extensia .nbin Mod implicit.

Originea memoriei NAND s-a bazat pe memoria flash, care a apărut mult mai devreme și a fost folosită în unitățile cu stare solidă cu o viteză de operare, durabilitate și o suprafață de cip mai mare, în mod clar mai mici decât memoria NAND. Memoria flash a fost inventată de Fujio Masuoka în 1984 în timp ce lucra pentru Toshiba. După ce a prezentat designul lui Fujio Masuoka la IEEE (International Electron Devices Meeting) din 1984 din San Francisco, California, Intel a lansat primul cip comercial NOR flash în 1988. Apariția memoriei flash NAND a fost anunțată de Toshiba în 1989 la Conferința Internațională a Circuitelor Solid-State.

Memorie flash, tipuri de memorie NAND

Diferența fundamentală dintre memoria flash este că stochează un bit de informații într-o serie de tranzistori cu poartă flotantă numite celule. Există două tipuri de memorie NAND utilizate în unitățile SSD - SLC și MLC. Care este diferența dintre tipurile de memorie SLC și MLC? Dispozitivele SLC au celule cu un singur nivel care stochează doar un bit în fiecare tranzistor, în timp ce MLC-urile cu mai multe niveluri pot stoca mai mulți biți de informații în fiecare celulă. Aceasta este o consecință a utilizării diferitelor niveluri de sarcină electrică pe poarta plutitoare a tranzistorului. Principiul de codificare (logic 0 sau 1) a informațiilor este același în toate cazurile; acesta va fi descris mai jos. Doar structura celulei diferă. Adâncimea nivelurilor MLC poate ajunge până la 4, adică poate stoca până la 4 biți de informații, în timp ce SLC este o unitate mai simplă și stochează 1 bit.

Tehnologia MLC permite, prin creșterea nivelurilor, creșterea semnificativă a capacității discului, lăsând dimensiunile fizice ale acestuia neschimbate, ceea ce reduce costul fiecărui gigabyte. Aici se termină calitățile pozitive ale acestei tehnologii. Cu fiecare nivel suplimentar, sarcina de recunoaștere a nivelului semnalului devine mai complicată, ca să nu mai vorbim de reducerea duratei de viață a discului SSD, timpul necesar pentru căutarea unei adrese de celulă crește și probabilitatea de erori crește. Controlul erorilor este efectuat în hardware, ceea ce în cazul tehnologiei MLC duce la o creștere a costului electronicii de control și, în consecință, crește costul final al SSD-ului. Unitățile SSD, vândute pe scară largă pe piața globală, folosesc tehnologia MLC cu înregistrare pe patru niveluri. În acest caz, datele sunt codificate ca (11), (10), (01), (00). Pentru SLC, o celulă cu un singur nivel poate lua doar valorile 0 sau 1.

Soluțiile cu celule SLC, cu aceeași dimensiune și preț, sunt net inferioare MLC în cantitatea de informații stocate pe ele, dar în același timp sunt mai rapide și mai durabile. Prin urmare, producătorii trebuie să folosească mai multe cipuri cu o capacitate totală de disc mai mică, ceea ce în cele din urmă crește prețul unui disc SLC cu mai mult de două ori față de discul MLC de aceeași dimensiune.

Mecanisme de scriere și citire a unei celule unitare de memorie NAND

Vom încerca să descriem mai detaliat funcționarea unui tranzistor pentru memoria NAND, care este un tranzistor cu efect de câmp de poartă izolată sau MOSFET.

Caracteristica principală a tranzistorului cu efect de câmp, care a permis utilizarea acestuia pentru stocarea informațiilor, a fost capacitatea de a reține o sarcină electrică pe o poartă „plutitoare” timp de până la 10 ani. Poarta plutitoare în sine este realizată din siliciu policristalin și este complet înconjurată de un strat dielectric, care asigură că nu are contact electric cu elementele tranzistorului. Este situat între poarta de control și substratul de joncțiune p-n. Electrodul de control al tranzistorului cu efect de câmp se numește poarta. În acest caz, conductivitatea joncțiunii p-n, cauzată de rezistența electrică, este controlată de diferența de potențial, care creează un câmp electric care afectează starea joncțiunilor p-n.

Elemente importante ale tranzistorului sunt, de asemenea, drenajul și sursa. Pentru a schimba un pic de informații scrise într-o celulă, un câmp electric este creat de tensiunea pe poarta de control și are loc un efect de tunel. Acest lucru permite unor electroni să treacă prin stratul dielectric către poarta plutitoare, furnizându-i o sarcină și, prin urmare, umplând celula unitară cu puțină informație.

Sarcina acumulată pe poarta plutitoare afectează conductanța sursei de scurgere, care este utilizată pentru citire.

Această diferență între mecanismele de înregistrare și citire afectează în mod clar consumul de energie diferit al acestor moduri. Memoria NAND consumă destul de mult curent la scriere, dar la citire, consumul de energie este, dimpotrivă, mic. Pentru a șterge informațiile, o tensiune negativă mare este aplicată la poarta de control, iar electronii de la poarta plutitoare se deplasează la sursă. Din astfel de celule elementare combinate în pagini, blocuri și matrice constă o unitate SSD modernă.

Durata de viață a memoriei NAND

Principala caracteristică a memoriei NAND care permite utilizarea acesteia în unitățile SSD este capacitatea sa de a stoca date fără o sursă de alimentare externă. Cu toate acestea, această tehnologie impune restricții asupra numărului de modificări ale stării logice a unei celule, ceea ce duce la un număr finit de cicluri de rescriere pentru această celulă. Acest lucru se datorează distrugerii treptate a stratului dielectric. Acest efect apare mult mai rapid în celulele MLC datorită rezervei mici pentru modificarea încărcăturii porții plutitoare datorită caracteristicilor de proiectare. Citirea unei celule afectează și durata de viață a acesteia, dar acest impact este mult mai puțin semnificativ decât la scriere/ștergere, ceea ce permite ca ciclurile de citire să fie considerate nelimitate, iar durata de viață a unui disc SSD este măsurată prin numărul de cicluri posibile de rescriere.

Toate discurile SSD conțin o parte care este inaccesibilă pentru operațiunile standard de scriere/citire. Este necesar ca rezerva in cazul uzurii celulelor, asemanator unitatilor HDD magnetice, care au rezerva pentru inlocuirea blocurilor defecte. Rezerva suplimentară de celule este utilizată dinamic, iar pe măsură ce celulele primare se uzează fizic, este prevăzută o celulă de rezervă de înlocuire.

Iată un tabel comparativ aproximativ al principalelor caracteristici care disting funcționarea unităților SSD cu tehnologie SLC și a unităților cu celule MLC.

Tabelul arată clar toate avantajele și dezavantajele acestor tehnologii. Arată superioritatea soluțiilor SLC față de MLC, dar nu indică principalul criteriu pentru popularitatea unităților SSD - prețul acestora. Nu are rost să o indicam din cauza reducerii rapide a costurilor unor astfel de soluții. Să spunem doar că, deși unitățile MLC sunt inferioare din toate punctele de vedere față de SLC, ele sunt de peste două ori mai scumpe și pot fi mai compacte cu aceeași cantitate de date stocate.

Structura discului SSD: dimensiunea celulei, dimensiunea paginii, bloc de memorie NAND

Pentru o utilizare mai eficientă a celulelor de memorie elementare, acestea au fost combinate în matrice cu o structură pe mai multe niveluri. O celulă, care stochează unul (pentru SLC) sau de obicei doi (pentru generația curentă de MLC) biți de date, este combinată într-un grup numit pagină și care deține 4 KB de date.

Algoritmi speciali pentru lucrul cu unități SSD

Datorită ciclurilor limitate de scriere/ștergere ale celulelor de memorie flash, dezvoltatorii au trebuit să creeze algoritmul corect pentru operarea unei unități SSD, permițându-i să „uzeze” în mod uniform întregul spațiu de stocare. După cum am observat deja, întregul volum al discului este împărțit în blocuri de 512 KB, iar acestea, la rândul lor, în pagini cu o capacitate de 4 KB, pe care se efectuează operațiuni de citire și scriere. Dar odată ce ați scris informații pe o pagină, acestea nu pot fi suprascrise până când nu sunt șters. Problema este că dimensiunea minimă a informațiilor înregistrate nu poate fi mai mică de 4 KB, iar datele pot fi șterse în blocuri de cel puțin 512 KB. Pentru a face acest lucru, controlerul grupează și transferă date (vom descrie acest algoritm mai jos) pentru a elibera întregul bloc. Această operațiune duce la o creștere a timpului de răspuns și la o reducere a resursei SSD, dar ceva trebuie sacrificat.

Să vorbim despre algoritmul de scriere/ștergere.

În urma unei solicitări de scriere din partea sistemului de operare, controlerul media determină dimensiunea și structura informațiilor. Dacă există un număr suficient de blocuri goale, este alocat un nou bloc, pe care sunt copiate datele transferate către OS pentru scriere. Cu toate acestea, pe măsură ce discul se umple și scade un număr suficient de blocuri goale, această operațiune devine semnificativ mai complicată. Controlerul caută din ce în ce mai mult blocul cel mai potrivit (din punct de vedere al numărului de pagini libere), parțial ocupat și îl rescrie într-un bloc gol, combinându-l cu datele primite de la OS pentru scriere, care îl umple complet. Blocul vechi este apoi curățat. Cu acest algoritm, obținem un bloc complet umplut și unul gol, care este inclus în grupul de blocuri goale disponibile pentru scriere. Când se face o cerere de scriere, controlerul folosește numai blocuri din acest grup.

Controlerul este de obicei echipat cu 10 canale; în special, controlerele de disc SSD de la Intel au acest număr de canale. Întregul grup de cipuri este atribuit în mod egal fiecărui canal de schimb de date. În această etapă de dezvoltare a tehnologiilor unităților SSD, cipurile de memorie care interacționează cu primul canal nu se pot intersecta în operațiunile cu al doilea, al treilea și următorul canal, dar această problemă poate fi rezolvată în viitorul apropiat. Ar fi destul de logic să folosiți legături „plutitoare” pentru toată memoria aflată pe disc. Adesea este nevoie să se înregistreze o coadă de date mici, apoi controlerul distribuie automat întregul bloc pe toate canalele, dar conexiunea dintre celule este păstrată, deoarece această bucată de date este o unitate logică.

Operațiunea de ștergere a datelor depinde și direct de volumul și locația datelor care sunt șterse. Dacă toate informațiile sunt scrise într-un bloc sau într-un grup de blocuri, ocupându-le complet, atunci blocul/blocurile sunt pur și simplu șterse și marcate ca goale și gata pentru înregistrarea ulterioară la cea mai mare viteză posibilă. Dar acest caz ideal nu apare întotdeauna.

Dacă este necesar să ștergeți nu întregul bloc, ci mai multe pagini aflate în acesta, atunci controlorul șterge datele în mod logic, fără a le șterge, ci pur și simplu marcând datele paginii ca șterse. În viitor, informațiile rămase vor fi combinate cu noile informații care au venit pentru înregistrare și scrise într-un bloc gol, iar blocul original, așa cum este deja descris în algoritmul de înregistrare, va fi complet șters și marcat ca gol.

De ce este necesară tăierea?

Aceasta este o altă tehnologie importantă care asigură o uzură mai uniformă a unității SSD și o procesare mai rapidă a datelor prin comanda TRIM. Vă permite să construiți un lanț și să determinați prioritatea blocurilor eliberate. Anterior, această operațiune a fost atribuită sistemului de operare, dar controlerele SSD moderne acceptă deja această funcție în hardware-ul firmware-ului unității. Timpul necesar pentru a șterge blocurile este legat exponențial de spațiul liber de pe disc. Cu cât sunt mai puține informații și mai mult spațiu liber, cu atât mai rapidă are loc „tunderea” pe SSD. Pe măsură ce discul ajunge la 75% plin, funcția de curățare nu este încă foarte vizibilă în raport cu timpul de inactivitate. Dar de îndată ce rămâne mai puțin de 15% din spațiul liber, tunderea devine dificilă. Desigur, o parte a dependenței este complet determinată de tipul de informații (statice, adică rar mutate și în cea mai mare parte doar citite, sau dinamice). Conform cercetărilor IBM, condițiile ideale de funcționare pentru un SSD sunt atunci când este plin cu mai puțin de 75%, iar raportul dintre informațiile statice și dinamice este de 3 la 1.

TRIM este o parte integrantă a unităților SSD moderne. Oferă un spor de performanță atunci când discurile sunt pline de date peste 2/3, datorită sortării corecte a blocurilor și pregătirii lor pentru scriere. Acest lucru vă permite să reduceți diferența de viteză a unui disc nou și deja plin cu 75% la 2-3%.

Nu uitați că în mod implicit sistemul de operare este configurat să funcționeze cu un disc HDD obișnuit, ceea ce înseamnă că utilizatorul trebuie să dezactiveze mecanismele „vechi” de creștere a vitezei discului magnetic, precum și algoritmii de defragmentare. În plus, este important să vă îngrijorați că nu folosiți tot spațiul de pe unitatea SSD.

Pentru ce este folosit tamponul cache pe unitățile SSD?

Buffer-ul cache de pe unitățile SSD nu este folosit pentru a accelera procedura de scriere/citire, așa cum este obișnuit pentru unitățile HDD. Volumul său nici măcar nu este indicat în specificațiile tehnice ale SSD-urilor de majoritatea producătorilor. Nu poate fi considerată o memorie cache obișnuită, așa cum suntem obișnuiți să o înțelegem. Memoria cache de pe discurile SSD este utilizată dinamic pentru a stoca tabele de locație și ocupare a celulelor de disc. În același timp, poate stoca informații temporare din celulele șterse dacă nu există suficient spațiu liber pe disc. Tabelele sunt o matrice tridimensională și sunt asistentul principal pentru controlerul SSD. Pe baza acestor date, discul ia decizii cu privire la ștergerea celulelor suplimentare. De asemenea, stochează informații despre frecvența și intensitatea utilizării fiecărui bloc disponibil pe disc. În plus, aici sunt înregistrate adresele „locurilor” în care înregistrarea este imposibilă din cauza uzurii fizice.

Controler SSD

Un element foarte important și îmbunătățit constant al unei unități SSD este controlerul său. Sarcina principală a controlerului este să ofere operațiuni de citire și scriere, dar datorită numeroaselor caracteristici fizice ale unității SSD, controlerul este, de asemenea, responsabil pentru gestionarea structurii de plasare a datelor. Bazat pe o matrice de plasare a blocurilor în care celulele au fost deja scrise și în care nu, controlerul optimizează vitezele de scriere și asigură cea mai lungă durată de viață a unității SSD. Datorită caracteristicilor de proiectare ale memoriei NAND, este imposibil să lucrați cu fiecare celulă separat. După cum am spus mai sus, acestea sunt combinate în pagini de 4 KB, iar informațiile pot fi înregistrate doar prin ocuparea completă a paginii. Puteți șterge datele în blocuri care sunt egale cu 512 KB. Toate aceste restricții impun anumite responsabilități asupra algoritmului inteligent corect al controlerului. Prin urmare, un controler configurat și optimizat corespunzător poate schimba semnificativ atât performanța vitezei, cât și durabilitatea unei unități SSD.

Rezultate

În acest moment, este prea devreme să vorbim despre victoria completă a unităților SSD asupra discurilor magnetice. Dacă luăm în considerare capacitatea și viteza unei unități SSD, comparându-le cu parametri similari pentru HDD-urile tradiționale, atunci principalul factor limitator în trecerea la unitățile SSD va fi în continuare prețul acestora. O analiză a ultimilor câțiva ani a arătat reticența producătorilor de a reduce prețul memoriei NAND. Doar în ultimele șase luni putem observa o ușoară tendință de scădere a prețului SSD-urilor, iar acest lucru se datorează cel mai probabil unei scăderi a cererii consumatorilor, care este cauzată de criza globală. Unitățile SSD sunt disponibile într-o gamă largă pe piața mondială de câțiva ani încoace, dar nici o perioadă atât de semnificativă pentru tehnologiile digitale nu ar putea afecta competitivitatea acestora în ceea ce privește „prețul pe GB de informații stocate” în raport cu discurile magnetice. . Densitatea de înregistrare pe disc magnetic este în continuă creștere, ceea ce contribuie la lansarea unor modele din ce în ce mai încăpătoare (în acest moment, HDD-urile cu o capacitate de 2 TB sunt disponibile pe scară largă). Această distribuție pe piață poate obliga cumpărătorul să acorde preferință unei unități SSD doar în cazurile de nevoie urgentă de viteză de citire sau rezistență la vibrații/șoc, dar cea mai mare parte a informațiilor va fi stocată în continuare pe hard disk-uri clasice.

Avantajele și dezavantajele SSD-urilor în comparație cu discurile magnetice HDD:

Avantaje:

  • viteză de citire mult mai mare;
  • absența completă a zgomotului;
  • fiabilitate datorită absenței pieselor mobile;
  • consum redus de putere;
  • rezistență ridicată la sarcinile de vibrație.

Defecte:

  • cost ridicat pentru fiecare GB de informații stocate;
  • număr limitat de cicluri de înregistrare și ștergere a datelor.

Articolul citit de 10888 ori

Abonați-vă la canalele noastre