16Aug

De ce dispozitivele de tip solid state încetinesc în timp ce le umpleți

Punctele de referință sunt clare: unitățile de tip solid-state lent în timp ce le umpleți. Umpleți unitatea solid-state la o capacitate de aproape și performanța de scriere va scădea dramatic. Motivul pentru care se află în modul în care funcționează SSD-urile și spațiul de stocare Flash NAND.

Umplerea unității la capacitate este unul dintre lucrurile pe care nu trebuie să le faceți niciodată cu o unitate SSD.O unitate solidă de aproape plină va avea operații de scriere mult mai lente, încetinind computerul.

Blocuri goale și blocuri parțial umplete

Când scrieți un fișier pe unitatea SSD, acesta caută blocuri goale și le umple. Scrierea într-un bloc gol este cea mai rapidă operație de scriere posibilă.De aceea, noile sisteme de operare( Windows 7 și versiunile ulterioare) acceptă caracteristica TRIM, care șterge automat datele unui fișier din unitatea SSD de îndată ce ștergeți fișierul din sistemul dvs. de operare. Acest lucru funcționează diferit de hard disk-urile magnetice, unde biți de fișiere șterse stau pe hard disk.

Nu stau pe un drive solid - TRIM asigură că blocul este golit, astfel încât SSD-ul poate scrie rapid date noi în blocul gol în viitor. Scrierea pe un sector deja scris este la fel de rapidă ca scrierea într-un sector gol pe un hard disk mechnical, dar o unitate solid-state trebuie să ștergă un bloc înainte de a scrie la el.

NAND Flash memorează datele în 4 pagini KB în interiorul blocurilor de 256 KB.Pentru a adăuga pagini adiționale unui bloc parțial umplut, unitatea SSD trebuie să ștergă întregul bloc înainte de a scrie date către el.

Pe măsură ce unitatea SSD se umple, sunt disponibile mai puține și mai puține blocuri goale.În locul lor sunt blocuri parțial umplute. Unitatea solid-state nu poate scrie doar datele noi acestor blocuri parțial umplut - ceea ce ar șterge datele existente.În loc de o operație simplă de scriere, unitatea solid-state trebuie să citească valoarea blocului în memoria cache, să modifice valoarea cu noile date și apoi să o scrie înapoi. Rețineți că scrierea unui fișier va implica probabil scrierea în multe blocuri, astfel încât aceasta poate introduce o cantitate semnificativă de întârziere suplimentară.

TRIM nu consolidează blocurile parțial umpluturate

Dacă umpleți o unitate de capacitate sau o capacitate aproape de capacitate, probabil că veți termina cu multe blocuri parțial umplut după ștergerea fișierelor. Comanda TRIM direcționează doar o unitate SSD pentru a elimina datele fișierelor atunci când fișierul este șters. Nu forțează unitatea să facă orice fel de operațiune de curățare.

Cu alte cuvinte, umpleți o unitate SSD la capacitate înainte de a șterge fișierele și probabil veți termina cu multe blocuri parțial umplut. Unitatea nu va ieși din calea sa de a consolida aceste blocuri parțial umplut în blocuri complete, eliberând blocuri goale. Unitatea va fi încă plină de blocuri parțial umplute, iar performanța de scriere va fi degradată.

Supravegherea și colectarea gunoiului

Pentru a împiedica consumatorii să-și umple unitățile SSD și să se termine cu performanțe severe degradate, producătorii de SSD nu reușesc să contracareze acest lucru.

Dispozitivele de tip solid-state de la consumatori deseori au pus deoparte aproximativ 7% din memoria flash totală și le fac indisponibile utilizatorului. Acest lucru este cunoscut sub numele de "overprovisioning" - hardware-ul suplimentar de stocare este adăugat la unitate, dar nu este vizibil pentru calculator ca spațiu de stocare disponibil pe care îl poate utiliza. Zona de rezervă asigură că unitatea nu poate deveni complet plină - va exista întotdeauna o anumită capacitate de rezervă pentru a menține performanța de scriere stabilă.

Fiecare controler al unității SSD are un algoritm de colectare a gunoiului pentru a încerca să atenueze această problemă.Când unitatea devine plină, va căuta blocuri parțial umplut și începe să le consolideze, eliberând cât mai multe blocuri goale posibil. Diferitele unități SSD execută aceste operații la momente și praguri diferite - depinde de controlerul unității.

Dovezi de referință

Anandtech a efectuat o varietate de repere cu diferite unități pentru a distruge relația dintre zona de rezervă a unității SSD și consecvența performanței sale de operare de scriere. La umplerea unei unități goale, au descoperit performanțe ridicate de scriere foarte devreme în proces și o scădere semnificativă pe măsură ce operațiile de scriere continuă să umple unitatea.

Dedicarea mai multor zone de rezervă de pe unități a ajutat performanța să rămână consecventă, deoarece a asigurat că unitatea ar trebui să aibă mereu destule blocuri goale pregătite.

Ei au descoperit că "performanța minimă se îmbunătățește substanțial odată ce ați lovit 25% din suprafața de rezervă pentru aceste unități [consumatoare]". Recomandarea lor finală este că trebuie să "planificați să utilizați doar aproximativ 75% din capacitatea unității dvs. dacă doriți un bunechilibru între consistența performanței și capacitate. "

Dacă aveți o unitate SSD, ar trebui să încercați să evitați să utilizați mai mult de 75% din capacitatea sa. Cumpărați o unitate mai mare cu mai mult spațiu de stocare decât aveți nevoie și veți asigura că aveți întotdeauna performanță consistentă de scriere. Din fericire, SSD-urile devin treptat mult mai ieftine, deci nu este atât de scump cum a fost odată.

Credit de imagine: Sortare de muzică la Wikimedia Commons, Simon Wüllhorst pe Flickr