S-ar îmbunătăți scrierea dacă un hard disk reformat a fost umplut cu zerouri?
Dacă aveți de gând să reformați un hard-disk, există ceva care ar "îmbunătăți" performanța de scriere după aceea sau este ceva ce nu ar trebui să vă faceți griji? Postul de astăzi SuperUser Q & A are răspunsurile la întrebările curioase ale cititorului.
Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.
Fotografie prin amabilitatea lui Chris Bannister (Flickr).
Intrebarea
Cititorul SuperUser Brettetete dorește să știe dacă umplerea unui hard-disk cu zero va îmbunătăți performanța de scriere:
Am un hard disk de 2TB care a fost de 99% plin. Am șters partițiile cu fdisk și formatat ca Ext4. Din câte știu, datele existente care existau pe hard-disk încă există, totuși tabela de partiții a fost realocată.
Întrebarea mea este: S-ar îmbunătăți performanța de scriere pentru alte acțiuni de scriere dacă hard-ul a fost curat? Cu "curat" vreau sa spun umple hard-drive-ul cu zero? Ceva asemănător cu:
- dd dacă = / dev / zero = = / dev / sdx bs = 1 count = 4503599627370496
Completarea hard-diskului cu zero va îmbunătăți performanța de scriere?
Răspunsul
Contribuabilul SuperUser Michael Kjörling are răspunsul pentru noi:
Nu, nu ar îmbunătăți performanța. HDD-urile nu funcționează așa.
Mai întâi, când scrieți date pe o unitate rotativă, se transformă în domenii magnetice care ar putea să pară foarte diferite de modelul de biți pe care îl scrieți. Acest lucru se realizează parțial deoarece este mult mai ușor să se mențină sincronizarea atunci când modelul citit din platou are o anumită variabilitate. De exemplu, un șir lung de valori "zero" sau "unul" ar face foarte greu să se mențină sincronizarea. Ai citit 26.393 de biți sau 26.394 de biți? Cum recunoști limita dintre biți??
Tehnicile pentru a face acest lucru au evoluat în timp. De exemplu, căutați modulația frecvențelor modificate, MMFM, înregistrarea codurilor de grup și tehnologia mai generală a codărilor limitate de lungime de rulare.
În al doilea rând, atunci când scrieți date noi într-un sector, domeniile magnetice ale porțiunilor relevante ale tăvii sunt setate pur și simplu la valoarea dorită. Acest lucru se face indiferent de domeniul magnetic anterior "care a fost" la acea locație fizică particulară. Platoul se rotește deja sub capul de scriere; citiți prima dată valoarea curentă, apoi scrieți noua valoare dacă și numai dacă este diferită. Aceasta ar determina ca fiecare scriere să necesite două revoluții (sau un cap suplimentar pentru fiecare platou), cauzând o latență de scriere pentru a dubla sau a spori foarte mult complexitatea unității, la rândul său, creșterea costurilor.
Deoarece factorul de limitare al performanței I / O secvențiale a hard-drive-ului este cât de repede trece fiecare bit sub capul de citire / scriere, acest lucru nu ar aduce nici un beneficiu pentru utilizator. Pe de altă parte, factorul limitativ în performanța aleatorie I / O este cât de repede 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 volumele de lucru aleatorii I / O este că elimină complet ambii acești factori.
După cum a subliniat JakeGould, un motiv pentru care s-ar putea să doriți să înlocuiți unitatea cu un model fix (cum ar fi toate zerouri) ar fi să vă asigurați că nu pot fi recuperate rămășițele datelor stocate anterior, fie în mod deliberat, fie accidental. Dar acest lucru nu va avea niciun efect asupra performanței hard-drive-ului înainte, din motivele menționate mai sus.
Aveți ceva de adăugat la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.