Hvis du vil omformatere en harddisk, er der noget, der vil 'forbedre' skriveydelsen bagefter, eller er det noget, du ikke engang skulle bekymre dig om? Dagens SuperUser Q & A-indlæg har svarene på en nysgerrig læsers spørgsmål.
Dagens spørgsmål og svar-session kommer til os med tilladelse fra SuperUser - en underinddeling af Stack Exchange, en community-driven gruppe af Q&A websteder.
Foto med tilladelse til Chris Bannister (Flickr) .
Spørgsmålet
SuperUser-læser Brettetete vil vide, om udfyldning af en harddisk med nuller ville forbedre skriveydelsen:
Jeg har en 2 TB harddisk, der var 99 procent fuld. Jeg har slettet partitionerne med fdisk og formaterede det som ekst4 . Så vidt jeg ved, eksisterer de faktiske data, der var på harddisken, stadig, men partitionstabellen blev allokeret igen.
Mit spørgsmål er: Ville det forbedre skriveydelsen til yderligere skrivehandlinger, hvis harddisken var ren? Med 'ren' mener jeg at fylde harddisken med nuller? Noget som:
- dd if = / dev / zero of = / dev / sdx bs = 1 count = 4503599627370496
Ville fyldning af harddisken med nuller forbedre skriveydelsen?
Svaret
SuperUser-bidragsyder Michael Kjörling har svaret til os:
Nej, det ville ikke forbedre ydeevnen. HDD'er fungerer ikke sådan.
For det første, når du skriver givne data til et rotationsdrev, bliver det forvandlet ind i magnetiske domæner der faktisk kan se meget anderledes ud end det bitmønster, du skriver. Dette gøres delvist, fordi det er meget lettere at opretholde synkronisering, når mønsteret, der læses tilbage fra pladen, har en vis variation. For eksempel ville en lang streng af 'nul' eller 'en' værdier gøre det meget svært at opretholde synkronisering. Har du læst 26.393 bits eller 26.394 bits? Hvordan genkender du grænsen mellem bits?
Teknikkerne til at gøre dette har udviklet sig over tid. Se for eksempel op Modificeret frekvensmodulation , MMFM, Gruppekodeoptagelse og den mere generelle teknologi til kørslængde begrænsede kodninger .
For det andet, når du skriver nye data til en sektor, er de magnetiske domæner i de relevante dele af tallerkenen simpelthen indstillet til den ønskede værdi. Dette gøres uanset hvad det tidligere magnetiske domæne 'var' på den bestemte fysiske placering. Tallerkenen drejer allerede under skrivehovedet; først at læse den aktuelle værdi og derefter skrive den nye værdi, hvis og kun hvis den er anderledes. Det ville få hver skrivning til at kræve to omdrejninger (eller et ekstra hoved til hvert fad), hvilket forårsager, at skrivelatens fordobles eller i høj grad øger drevets kompleksitet og igen øger omkostningerne.
Da den begrænsende faktor i harddiskens sekventielle I / O-ydelse er, hvor hurtigt hver bit passerer under læse / skrivehovedet, vil dette ikke engang give brugeren nogen fordel. Som en sidebemærkning er den begrænsende faktor i tilfældig I / O-ydeevne, hvor hurtigt læse / skrivehovedet kan placeres ved den ønskede cylinder, og derefter ankommer den ønskede sektor under hovedet. Hovedårsagen til, at SSD'er kan være så hurtige i tilfældige I / O-arbejdsbelastninger, er, at de helt eliminerer begge disse faktorer.
Som påpeget af JakeGould , en af grundene til at du måske vil overskrive drevet med noget fast mønster (såsom alle nuller) ville være at sikre, at der ikke kan være rester af tidligere gemte data genoprettet , enten med vilje eller ved et uheld. Men at gøre det vil ikke have nogen indvirkning på harddiskens ydeevne fremadrettet af ovenstående grunde.
Har du noget at tilføje til forklaringen? Lyd fra i kommentarerne. Vil du læse flere svar fra andre teknisk kyndige Stack Exchange-brugere? Tjek den fulde diskussionstråd her .