/ / Zou de schrijfprestaties verbeteren als een opnieuw geformatteerde harde schijf met nullen werd gevuld?

Zou de schrijfprestatie verbeteren als een opnieuw geformatteerde harde schijf met nullen werd gevuld?

would-schrijf-performance-verbetering if-geformatteerd-hard-drive-gevuld-met-nullen-00

Als u een harde schijf opnieuw gaat formatteren, is datis er iets dat de schrijfprestaties achteraf zou 'verbeteren' of is het iets waar u zich geen zorgen over hoeft te maken? De SuperUser Q&A post van vandaag bevat de antwoorden op de vragen van een nieuwsgierige lezer.

De vraag-en-antwoordsessie van vandaag wordt aangeboden door SuperUser, een onderdeel van Stack Exchange, een gemeenschapgestuurde groep Q & A-websites.

Foto met dank aan Chris Bannister (Flickr).

De vraag

SuperUser-lezer Brettetete wil weten of het vullen van een harde schijf met nullen de schrijfprestaties zou verbeteren:

Ik heb een 2 TB harde schijf die voor 99 procent vol was. Ik heb de partities verwijderd met fdisk en geformatteerd als ext4. Voor zover ik weet, bestaan ​​de feitelijke gegevens op de harde schijf nog steeds, maar de partitietabel is opnieuw toegewezen.

Mijn vraag is: zou het de schrijfprestaties voor verdere schrijfacties verbeteren als de harde schijf schoon was? Met ‘schoon’ bedoel ik de harde schijf vullen met nullen? Zoiets als:

  • dd if = / dev / zero of = / dev / sdx bs = 1 count = 4503599627370496

Zou het vullen van de harde schijf met nullen de schrijfprestaties verbeteren?

Het antwoord

SuperUser-bijdrager Michael Kjörling heeft het antwoord voor ons:

Nee, het zou de prestaties niet verbeteren. HDD's werken niet zo.

Ten eerste, wanneer u bepaalde gegevens naar a schrijftrotatie-aandrijving, het wordt omgezet in magnetische domeinen die er misschien heel anders uit kunnen zien dan het bitpatroon dat u aan het schrijven bent. Dit wordt gedeeltelijk gedaan omdat het veel gemakkelijker is om de synchronisatie te handhaven wanneer het patroon dat wordt teruggelezen van de plaat een zekere mate van variabiliteit heeft. Een lange reeks van 'nul'- of' één'-waarden zou het bijvoorbeeld erg moeilijk maken om de synchronisatie te handhaven. Heb je 26.393 bits of 26.394 bits gelezen? Hoe herken je de grens tussen bits?

De technieken om dit te doen zijn in de loop van de tijd geëvolueerd. Zoek bijvoorbeeld Modified Frequency Modulation, MMFM, Group Code Recording en de meer algemene technologie van run-length limited coderingen op.

Ten tweede, wanneer u nieuwe gegevens naar een sector schrijft, demagnetische domeinen van de relevante delen van de schotel worden eenvoudig ingesteld op de gewenste waarde. Dit gebeurt ongeacht wat het vorige magnetische domein ‘was’ op die specifieke fysieke locatie. De schotel draait al onder de schrijfkop; eerst de huidige waarde lezen en vervolgens de nieuwe waarde schrijven als en alleen als deze anders is. Het zou ervoor zorgen dat elke schrijfactie twee omwentelingen nodig heeft (of een extra kop voor elke plaat), waardoor de schrijflatentie verdubbelt of de complexiteit van de schijf aanzienlijk toeneemt, wat op zijn beurt de kosten verhoogt.

Sinds de beperkende factor op de harde schijfsequentiële I / O-prestaties is hoe snel elk bit onder de lees- / schrijfkop passeert, dit zou zelfs geen voordeel voor de gebruiker bieden. Terzijde, de beperkende factor bij willekeurige I / O-prestaties is hoe snel de lees- / schrijfkop op de gewenste cilinder kan worden geplaatst en vervolgens de gewenste sector onder de kop arriveert. De belangrijkste reden waarom SSD's zo snel kunnen zijn in willekeurige I / O-workloads, is dat ze beide factoren volledig elimineren.

Zoals aangegeven door JakeGould, een reden waarom jijzou de schijf willen overschrijven met een vast patroon (zoals alle nullen) om ervoor te zorgen dat geen overblijfselen van eerder opgeslagen gegevens kunnen worden hersteld, opzettelijk of per ongeluk. Maar om de bovengenoemde redenen heeft dit geen effect op de prestaties van de harde schijf in de toekomst.


Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussie.