If-Koubou

Voisiko kirjoitustehokkuutta parantaa, jos uudelleenmuotoiltu kiintolevy täyttyisi nollilla?

Voisiko kirjoitustehokkuutta parantaa, jos uudelleenmuotoiltu kiintolevy täyttyisi nollilla? (Miten)

Jos aiot uudistaa kiintolevyn, onko mitään sellaista, joka "paranisi" kirjoitustoimintoa jälkikäteen vai onko se jotain, jota sinun ei edes tarvitse pelätä? Tänään SuperUser Q & A -postilla on vastauksia utelias lukijan kysymyksiin.

Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin hyväksi - Stack Exchangein alaosasto, joka on yhteisöllinen Q & A-sivustojen ryhmittely.

Photo courtesy Chris Bannisterista (Flickr).

Kysymys

SuperUser-lukija Brettetete haluaa tietää, täyttäisikö kiintolevy nollalla parantaisi kirjoitustulostusta:

Minulla on 2TB kiintolevy, joka oli 99 prosenttia täynnä. Olen poistanut välilehdet fdisk ja muotoili sen nimellä ext4. Tiedän, että kiintolevyn todelliset tiedot ovat vielä olemassa, mutta osiointitiheys jaetaan uudelleen.

Kysymykseni on: Voisiko se parantaa kirjoitustoimintoa jatkotoimille, jos kiintolevy oli puhdas? "Puhdas" tarkoitan kiintolevyn täyttämistä nollilla? Vähän niin kuin:

  • dd if = / dev / nolla = / dev / sdx bs = 1 count = 4503599627370496

Täyttäisikö kiintolevyn nollaus parantaa kirjoitussuorituskykyä?

Vastaus

SuperUser-avustaja Michael Kjörling on meille vastaus:

Ei, se ei paranisi suorituskykyä. Kiintolevyt eivät toimi näin.

Ensinnäkin, kun kirjoitat tietyn datan pyörivään asemaan, se muuttuu magneettisiksi verkkoalueiksi, jotka voivat todellakin näyttää hyvin erilaisilta kuin kirjoittamasi bittikuvio. Tämä tapahtuu osittain siksi, että synkronoinnin ylläpitäminen on paljon helpompaa, kun maljasta palautuva kuvio on tietyssä määrin vaihtelevaa. Esimerkiksi pitkä "nolla" tai "yksi" arvoinen merkkijono tekisi erittäin vaikeaksi synkronoinnin ylläpitämisen. Oletko lukenut 26.393 bittiä tai 26.394 bittiä? Kuinka tunnistat bittien välisen rajan?

Tekniikat tähän ovat kehittyneet ajan myötä. Esimerkiksi etsiä Modified Frequency Modulation, MMFM, Group Code Recording ja yleisemmän tekniikan run-length limited encodings.

Toiseksi, kun kirjoitat uusia tietoja sektoriin, lautasen asiaankuuluvien osien magneettiset domeenit asetetaan yksinkertaisesti haluttuun arvoon. Tämä tehdään riippumatta siitä, mitä edellinen magneettinen verkkotunnus oli "kyseisellä fyysisellä paikalla". Lautanen on jo pyöräytetty kirjoituspään alle; ensin luetaan nykyinen arvo ja kirjoitetaan sitten uusi arvo jos ja vain, jos se on erilainen. Se aiheuttaisi jokaisen kirjoituksen edellyttävän kahta kierrosta (tai ylimääräistä päätä jokaiselle maljalle), mikä aiheuttaa kirjoitusviiveen kaksinkertaistamaan tai suurentamalla taajuuden monimutkaisuutta, mikä puolestaan ​​lisää kustannuksia.

Koska kiintolevyn peräkkäisen I / O-suorituskyvyn rajoittava tekijä on, kuinka nopeasti kukin bit kulkee luku / kirjoituspään alla, se ei edes edistä käyttäjälle mitään hyötyä. Kesäaikana satunnaisen I / O-suorituskyvyn rajoittava tekijä on se, kuinka nopeasti luku- / kirjoituspää voidaan sijoittaa haluttuun sylinteriin ja sitten haluttu sektori tulee pään alle. Tärkein syy, miksi SSD: t voivat olla niin nopeita satunnaisissa I / O-työkuormissa, on se, että ne poistavat kokonaan nämä molemmat tekijät.

Kuten JakeGould huomautti, yksi syy siihen, miksi haluat halutessasi korvata aseman jollakin kiinteällä kuvioinnilla (kuten kaikki nollat), olisi varmistaa, ettei aiemmin tallennettujen tietojen jäännöksiä voida palauttaa tahallaan tai tahattomasti. Mutta sillä ei ole mitään vaikutusta kovalevyn suorituskykyyn edellä mainituista syistä.

Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.