16Aug
Kui kavatsete kõvakettale ümber kujundada, kas on midagi sellist, mis "parandaks" kirjutamise jõudlust hiljem või on see midagi, mida te ei peaks isegi muretsema? Tänane SuperUser Q & post sisaldab vastuseid uudishimulikule lugeja küsimustele.
Tänane küsimus &Vastuste seanss tuleb meile viisakalt SuperUseriga - Q & A veebisaitide kogukonnapõhise grupi Stack Exchange jagunemisest.
Photo courtesy of Chris Bannister( Flickr).
Küsimus
SuperUser-lugeja Brettetete tahab teada, kas kõvaketta täitmine nullidega parandaks kirjutamisvõimalusi:
Mul on 2TB kõvaketas, mis oli 99 protsenti täis. Olen kustutanud partitsioonid fdisk -ga ja vormindanud seda ext4 -ga. Niipalju kui mina tean, on tegelikult kõvakettal olevad andmed endiselt olemas, kuid partitsioonitabel on ümber jaotatud.
Minu küsimus on: kas see parandaks kirjutamise jõudlust edasiste kirjutamistegevuste jaoks, kui kõvaketas oleks puhas?"Puhta" mõtlen, täitke kõvaketas nullidega? Midagi sellist:
- dd if = /dev/ null = /dev/ sdx bs = 1 loend = 4503599627370496
Kas kõvaketta täitmine nullidega parandaks kirjutamise efektiivsust?
Vastus
SuperUseri toetajale Michael Kjörlingile vastab meile:
Ei, see ei paranda tulemusi. Kõvakettad ei tööta niimoodi.
Esiteks, kui kirjutad mingeid andmeid pöörleva kettaseadme jaoks, muutub see magnetdomeenideks, mis võivad tegelikult välja lugeda väga erinevad kirjutatavast bitmustrist. Seda tehakse osaliselt seetõttu, et sünkroonimise säilitamine on palju lihtsam, kui trükil olev mustri loend on teatud määral varieeruv. Näiteks pikk nulli või ühe väärtuse string muudab sünkroonimise säilitamise väga raskeks. Kas olete lugenud 26393 bitti või 26394 bitti? Kuidas tunned bitti piiri?
Meetodid selle saavutamiseks aja jooksul on arenenud. Näiteks otsige modifitseeritud sagedusmodulatsiooni, MMFM-i, grupikoodide salvestamist ja üldisemat piiratud kodeeringus kasutatavat tehnoloogiat.
Teiseks, kui sisestate sektorile uusi andmeid, määratakse plaadi vastavate osade magnetdomeenid lihtsalt soovitud väärtusele. Seda tehakse sõltumata sellest, milline eelmine magnetväli oli selles konkreetses füüsilises asukohas. Plaat on juba ketramiseks kirjutuspea all;esimesel lugemisel praegune väärtus, siis kirjuta uus väärtus siis ja ainult siis, kui see on teistsugune. See tooks kaasa, et iga kirjutamise korral on vaja kahte pööret( või iga plaadi lisagruppi), põhjustades kirjutamise latentsuse kahekordseks muutmiseks või draivi keerukuse oluliseks suurendamiseks, mis omakorda suurendab kulusid.
Kuna kõvaketta järjestikuse sisend / väljundi jõudluse piirav tegur on see, kui kiiresti iga bitt läbib lugemis- / kirjutamispea, ei paku see isegi kasutajale mingit kasu. Kõrval on juhusliku sisend / väljundi jõudluse piirav tegur nii kiiresti, kui lugemis- / kirjutamispea saab soovitud silindrisse asetada ja siis jõuab soovitud sektor pea alla. Peamine põhjus, miks SSD-d võivad juhuslikult sisend / väljundi töökoormustes olla nii kiire, on see, et nad mõlemad neist teguritest täielikult kaotavad.
Nagu JakeGould osutas, on üks põhjus, miks võite soovida riistvara üle kirjutada mõne fikseeritud mustriga( näiteks kõik nullid), et tagada eelnevalt salvestatud andmete jääkide tahtlik või tahtlik taastamine. Kuid see ei mõjuta ülaltoodud põhjustel kõvaketta jõudlust.
Kas teil on selgitusi lisada? Helistage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Tutvu täieliku arutelu teemaga siit.