16Aug

Vil skrive ytelse forbedre hvis en omformatert harddisk ble fylt med nuller?

click fraud protection

Hvis du skal reformatere en harddisk, er det noe som vil "forbedre" skrive ytelse etterpå, eller er det noe du ikke engang skal bekymre deg for? Dagens SuperUser Q & A-innlegg har svar på spørsmål fra en nysgjerrig leser.

Dagens Spørsmål &Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.

Foto courtesy of Chris Bannister( Flickr).

Spørsmålet

SuperUser leser Brettetete vil vite om å fylle en harddisk med nuller ville forbedre skriveytelsen:

Jeg har en 2TB harddisk som var 99 prosent full. Jeg har slettet partisjonene med fdisk og formatert den som ext4 .Så vidt jeg vet, eksisterer de faktiske dataene som var på harddisken, men partisjonstabellen ble omfordelt.

Mitt spørsmål er: Vil det forbedre skriveytelsen for videre skrivehandlinger hvis harddisken var ren? Ved "ren" mener jeg å fylle harddisken med nuller? Noe som:

  • dd hvis = /dev/ null av = /dev/ sdx bs = 1 teller = 4503599627370496
instagram viewer

Ville fylle harddisken med nuller forbedre skriveytelsen?

Svaret

SuperUser-bidragsyter Michael Kjörling har svaret for oss:

Nei, det ville ikke forbedre ytelsen. HDDer fungerer ikke slik.

Først når du skriver noen data til en rotasjonsdriver, blir den forvandlet til magnetiske domener som faktisk kan se veldig annerledes ut enn det bitmønster du skriver. Dette gjøres delvis fordi det er mye lettere å opprettholde synkronisering når mønsteret som leses tilbake fra tallerkenen, har en viss variabilitet. For eksempel vil en lang streng med "null" eller "en" verdier gjøre det svært vanskelig å opprettholde synkronisering. Har du lest 26,393 biter eller 26,394 biter? Hvordan gjenkjenner du grensen mellom biter?

Teknikkene for å gjøre dette har utviklet seg over tid. For eksempel, slå opp Modifisert frekvensmodulasjon, MMFM, gruppekodeopptak, og den mer generelle teknologien av begrensede kodingslengde.

For det andre, når du skriver nye data til en sektor, blir de magnetiske domenene til de relevante delene av tallerkenen rett og slett satt til ønsket verdi. Dette gjøres uansett hva det tidligere magnetiske domenet "var" på den aktuelle fysiske plasseringen. Tallerkenen spinner allerede under skrivehodet;Først leser gjeldende verdi, og skriver den nye verdien hvis og bare hvis den er annerledes. Det ville føre til at hver skrivelse krever to omdreininger( eller et ekstra hode for hver tallerken), noe som forårsaker skriveforsinkelse til å doble eller øke kompleksiteten til stasjonen, noe som igjen øker kostnadene.

Siden begrensningsfaktoren i harddisk sekvensiell I / O-ytelse er hvor raskt hver bit går under lese- / skrivehodet, vil dette ikke engang gi noen fordel for brukeren. Som en side er begrensningsfaktoren i tilfeldig I / O-ytelse hvor rask les / skrivehodet kan plasseres på ønsket sylinder, og deretter kommer den ønskede sektoren under hodet. Den viktigste grunnen til at SSD-er kan være så raske i tilfeldige I / O-arbeidsbelastninger, er at de helt eliminerer begge disse faktorene.

Som påpekt av JakeGould, kan en grunn til at du kanskje vil overskrive stasjonen med noe fast mønster( som alle nuller) være å sikre at ingen rester av tidligere lagrede data kan gjenopprettes, enten bevisst eller ved et uhell. Men det vil ikke ha noen effekt på harddiskens ytelse fremover, av de grunnene som er nevnt ovenfor.

Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.