Als u een harde schijf opnieuw gaat formatteren, is er dan 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 nieuwsgierige lezers.
De vraag- en antwoordsessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een community-gedreven groepering van 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 harde schijf van 2 TB 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 die op de harde schijf stonden 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 een roterende schijf schrijft, wordt deze getransformeerd in magnetische domeinen die er in feite 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 behouden wanneer het patroon dat van de plaat wordt teruggelezen een zekere mate van variabiliteit vertoont. Een lange reeks van ‘nul’ of ‘een’ waarden zou het bijvoorbeeld erg moeilijk maken om de synchronisatie te behouden. 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. Kijk bijvoorbeeld omhoog Gemodificeerde frequentiemodulatie , MMFM, Groepscode-opname , en de meer algemene technologie van run-length beperkte coderingen .
Ten tweede, wanneer u nieuwe gegevens naar een sector schrijft, worden de magnetische domeinen van de relevante delen van de plaat eenvoudig op de gewenste waarde ingesteld. Dit wordt gedaan ongeacht wat het vorige magnetische domein ‘was’ op die specifieke fysieke locatie. Het plateau 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 vereist (of een extra kop voor elke schotel), waardoor de schrijflatentie verdubbelt of de complexiteit van de drive aanzienlijk toeneemt, wat op zijn beurt de kosten verhoogt.
Aangezien de beperkende factor bij sequentiële I / O-prestaties van de harde schijf is hoe snel elke bit onder de lees- / schrijfkop passeert, zou dit de gebruiker niet eens enig voordeel opleveren. Even terzijde, de beperkende factor in willekeurige I / O-prestaties is hoe snel de lees- / schrijfkop op de gewenste cilinder kan worden gepositioneerd en vervolgens de gewenste sector onder de kop arriveert. De belangrijkste reden waarom SSD's zo snel kunnen zijn bij willekeurige I / O-workloads, is dat ze beide factoren volledig elimineren.
Zoals opgemerkt door JakeGould , een reden waarom u dat misschien wilt overschrijven de schijf met een vast patroon (zoals allemaal nullen) zou zijn om ervoor te zorgen dat er geen overblijfselen van eerder opgeslagen gegevens kunnen worden hersteld , een van beide opzettelijk of per ongeluk. Maar dit heeft om de hierboven genoemde redenen geen effect op de prestaties van de harde schijf.
Iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden lezen van andere technisch onderlegde Stack Exchange-gebruikers? Bekijk hier de volledige discussiethread .