If-Koubou

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

De ce dispozitivele de tip solid state încetinesc în timp ce le umpleți (Cum să)

Indicatoarele de referință sunt clare: drive-urile de stare solidă încetinesc î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.

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

Blocuri goale și blocuri parțial umplut

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.

Ei 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 mai multe blocuri, astfel încât aceasta poate introduce o cantitate semnificativă de întârziere suplimentară.

TRIM nu consolidează blocurile parțial pline

Dacă încărcați o unitate la capacitate sau la o capacitate apropiată, 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șierului 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 că veți termina cu multe blocuri parțial umplute. 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 drive-urile de solid-state și să se încheie 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 anulează aproximativ 7% din memoria flash totală și o fac indisponibilă utilizatorului. Acest lucru este cunoscut sub numele de "overprovisioning" - hardware-ul de stocare suplimentar este adăugat la unitate, dar nu este vizibil pentru computer 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 solid-state și coerenț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.

Lăsând la o parte mai multă zonă de rezervă 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ă a fost că trebuie să "planificați să utilizați doar aproximativ 75% din capacitatea unității [dacă doriți un echilibru bun între consistența și capacitatea de performanță. "

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