Dacă aveți de gând să reformatați un hard disk, există ceva care să „îmbunătățească” performanța la scriere ulterior sau este ceva de care nici nu ar trebui să vă faceți griji? Postarea de astăzi a SuperUser Q&A are răspunsurile la întrebările unui cititor curios.
Sesiunea de Întrebări și Răspunsuri de astăzi ne vine prin amabilitatea SuperUser - o subdiviziune a Stack Exchange, un grup de site-uri web de întrebări și răspunsuri bazat pe comunitate.
Fotografie oferită de Chris Bannister (Flickr) .
Intrebarea
Cititorul SuperUser Brettetete vrea să știe dacă umplerea unui hard disk cu zero ar îmbunătăți performanța la scriere:
Am un hard disk de 2 TB care era plin cu 99%. Am șters partițiile cu fdisk și a formatat-o ca ext4 . Din câte știu, datele reale care se aflau pe hard disk încă există, totuși tabela de partiții a fost realocată.
Întrebarea mea este: Ar îmbunătăți performanța de scriere pentru acțiuni de scriere ulterioare dacă hard disk-ul ar fi curat? Prin „curățare” mă refer la umplerea hard disk-ului cu zerouri? Ceva asemănător cu:
- dd if = / dev / zero of = / dev / sdx bs = 1 count = 4503599627370496
Umplerea hard disk-ului cu zero ar îmbunătăți performanța la scriere?
Răspunsul
Contribuitorul SuperUser Michael Kjörling are răspunsul pentru noi:
Nu, nu ar îmbunătăți performanța. HDD-urile nu funcționează așa.
În primul rând, atunci când scrieți orice date date pe o unitate de rotație, acestea devin transformat în domenii magnetice care poate arăta de fapt foarte diferit de modelul de biți pe care îl scrieți. Acest lucru se face parțial, deoarece este mult mai ușor să mențineți sincronizarea atunci când modelul citit din platou are o anumită cantitate de variabilitate. De exemplu, un șir lung de valori „zero” sau „unu” ar face foarte dificilă menținerea sincronizării. Ați citit 26.393 biți sau 26.394 biți? Cum recunoașteți limita dintre biți?
Tehnicile pentru a face acest lucru au evoluat în timp. De exemplu, căutați în sus Modulare de frecvență modificată , MMFM, Înregistrare cod grup , și tehnologia mai generală a codificări limitate la lungime de rulare .
În al doilea rând, când scrieți date noi într-un sector, domeniile magnetice ale porțiunilor relevante ale platoului sunt setate pur și simplu la valoarea dorită. Acest lucru se face indiferent de ceea ce „a fost” domeniul magnetic anterior în acea locație fizică anume. Platoul se rotește deja sub capul de scriere; citind mai întâi valoarea curentă, apoi scriind noua valoare dacă și numai dacă este diferită. Ar face ca fiecare scriere să necesite două rotații (sau un cap suplimentar pentru fiecare platou), determinând latența de scriere să dubleze sau să mărească foarte mult complexitatea unității, crescând la rândul său costul.
Deoarece factorul limitativ în performanța I / O secvențială a hard diskului este cât de repede trece fiecare bit sub capul de citire / scriere, acest lucru nu ar oferi niciun beneficiu utilizatorului. Deoparte, factorul limitativ în performanța I / O aleatorie este viteza cu care capul de citire / scriere poate fi poziționat la cilindrul dorit și apoi sectorul dorit ajunge sub cap. Motivul principal pentru care SSD-urile pot fi atât de rapide în sarcinile de lucru I / O aleatorii este că elimină complet acești factori.
După cum subliniază JakeGould , un motiv pentru care ați putea dori suprascrie unitatea cu un anumit model fix (cum ar fi toate zero-urile) ar fi să se asigure că nu pot fi resturi de date stocate anterior recuperat , fie în mod deliberat sau accidental. Însă acest lucru nu va avea niciun efect asupra performanței unității de disc în viitor, din motivele menționate mai sus.
Aveți ceva de adăugat la explicație? Sună în comentarii. Doriți să citiți mai multe răspunsuri de la alți utilizatori ai Stack Exchange? Consultați aici firul complet de discuție .