16Aug

Može li se pisati izvedbu poboljšati ako je formatiran tvrdi disk napunjen s nula?

Ako namjeravate preoblikovati tvrdi disk, postoji li nešto što bi "popravilo" pisanje izvedbe poslije ili je to nešto za što se ne bi trebalo brinuti? Današnji SuperUser Q & A post ima odgovore na pitanja čudnih čitatelja.

Današnje pitanje &Sesija odgovora nam dolazi zahvaljujući SuperUseru - podjele Stack Exchange, grupiranjem zajednice Q & A web stranica.

Fotografija ljubaznošću Chris Bannister( Flickr).

Pitanje

SuperUser čitač Brettetete želi znati da li popunjavanje tvrdog diska s nulama poboljšava performanse pisanja:

Imam 2TB tvrdi disk koji je 99% pun. Izbrisao sam particije s fdisk i formatirala kao ext4 .Koliko ja znam, stvarni podaci koji su bili na tvrdom pogonu i dalje postoje, ali je prebacila tablica particija.

Moje pitanje je: bi li poboljšala performanse pisanja za daljnje pisanje akcije ako je hard disk bio čist? Po 'čistom' mislim napuniti tvrdi pogon s nula? Nešto slično:

  • dd ako = /dev/ nula = /dev/ sdx bs = 1 count = 4503599627370496

Je li punjenje tvrdog diska s nulama poboljšalo svojstvo pisanja?

Odgovor

SuperUser suradnik Michael Kjörling ima odgovor za nas:

Ne, to ne bi poboljšalo performanse. Tvrdi diskovi ne rade tako.

Prvo, kada napišete bilo koji podatak na rotacijsku jedinicu, ona se pretvara u magnetske domene koje bi mogle izgledati vrlo različite od uzorka bitova koji pišete. To se radi dijelom jer je puno lakše održavati sinkronizaciju kada se obrazac očitava iz pladnja ima određenu varijabilnost. Na primjer, dugi niza vrijednosti "nula" ili "jedan" učinili bi vrlo teško održavati sinkronizaciju. Jeste li pročitali 26.393 bita ili 26.394 bita? Kako prepoznati granicu između bitova?

Tehnike za to su se razvile tijekom vremena. Na primjer, potražite Modificiranu modulaciju učestalosti, MMFM, snimanje grupnog koda i općenitiju tehnologiju kodiranja ograničenih duljina.

Drugo, kada pišete nove podatke sektoru, magnetske domene relevantnih dijelova pladnja jednostavno se postavljaju na željenu vrijednost. To se vrši bez obzira na prethodnu magnetsku domenu 'bila' na toj fizičkoj lokaciji. Plava se već vrti ispod glave za pisanje;prvo čitanje trenutne vrijednosti, a zatim pisanje nove vrijednosti ako i samo ako je drugačije. To bi uzrokovalo da svako pisanje zahtijeva dva okretaja( ili dodatnu glavu za svaku pladnju), što uzrokuje da latencija zapisivanja udvostruči ili uvelike povećava složenost pogona i time povećava troškove.

Budući da je ograničavajući čimbenik u sekvencijskom I / O performansu tvrdog diska kako brzo svaki bit prolazi ispod glave za čitanje / pisanje, to ne bi ni korisnicima nudilo nikakvu korist. Kao stranu, ograničavajući čimbenik u slučaju slučajnog I / O izvedbe je koliko brzo glava za čitanje / pisanje može biti postavljena na željeni cilindar, a zatim se željeni sektor nalazi ispod glave. Glavni razlog zašto SSD-ovi mogu biti tako brzo u slučajnim I / O opterećenjima je da oni u potpunosti eliminiraju oba ova čimbenika.

Kao što je istaknuo JakeGould, jedan od razloga zašto biste možda želite prebrisati pogon s nekim fiksnim uzorkom( kao što su sve nulte vrijednosti) bit će kako bi se osiguralo da niti jedan ostatak prethodno pohranjenih podataka ne može biti obnovljen, bilo namjerno ili slučajno. Ali to neće imati nikakvog utjecaja na performanse tvrdog diska naprijed, iz gore navedenih razloga.

Imate li što dodati objašnjenju? Zvuči u komentarima.Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.