Startpagina » hoe » Zou schrijfprestaties verbeteren als een opnieuw geformatteerde harde schijf vol zat met nullen?

    Zou schrijfprestaties verbeteren als een opnieuw geformatteerde harde schijf vol zat met nullen?

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

    De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een gemeenschapsgedreven groep 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 met verwijderd 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 dat ik de harde schijf vul 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 een gegeven gegevens naar een rotatie-eenheid schrijft, wordt het getransformeerd in magnetische domeinen die er in werkelijkheid heel anders kunnen uitzien dan het bitpatroon dat u schrijft. Dit wordt gedeeltelijk gedaan omdat het veel gemakkelijker is om de synchronisatie te handhaven wanneer het patroon dat van de schijf wordt teruggelezen, een zekere mate van variabiliteit heeft. Een lange reeks 'nul' of 'één' waarden zou het bijvoorbeeld heel 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 eens naar Modified Frequency Modulation, MMFM, Group Code Recording en de meer algemene technologie van run-length limited encodings..

    Ten tweede, wanneer u nieuwe gegevens naar een sector schrijft, worden de magnetische domeinen van de relevante gedeelten van de schaal eenvoudig op de gewenste waarde ingesteld. Dit gebeurt ongeacht wat het vorige magnetische domein 'was' op die specifieke fysieke locatie. De schaal draait al onder de schrijfkop; eerste lezing van de huidige waarde, dan schrijven van de nieuwe waarde als en alleen als het anders is. Het zou ervoor zorgen dat elke schrijf twee omwentelingen vereist (of een extra kop voor elke schijf), waardoor de latentie van de schrijf wordt verdubbeld of de complexiteit van de schijf aanzienlijk wordt verhoogd, waardoor de kosten stijgen.

    Omdat de beperkende factor in hard-drive sequentiële I / O-prestaties is hoe snel elke bit onder de lees / schrijfkop passeert, zou dit zelfs geen enkel voordeel voor de gebruiker opleveren. Even terzijde, de beperkende factor bij willekeurige I / O-prestaties is hoe snel de lees / schrijfkop op de gewenste cilinder kan worden geplaatst en de gewenste sector onder de kop aankomt. De belangrijkste reden waarom SSD's zo snel kunnen zijn in willekeurige I / O-workloads, is dat ze beide factoren volledig elimineren.

    Zoals opgemerkt door JakeGould, zou een reden waarom u de schijf wilt overschrijven met een vast patroon (zoals alle nullen) ervoor kunnen zorgen dat er geen overblijfselen van eerder opgeslagen gegevens kunnen worden hersteld, hetzij opzettelijk of per ongeluk. Maar dit zal geen effect hebben op de prestaties van de harde schijf in de toekomst, om de hierboven genoemde redenen.


    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 discussiethread.