perjantai 19. elokuuta 2016

Miten nollat ja ykköset haalistuu

Onpa olemassa Olavi Uusivirran biisi nimeltään Kultaa Hiuksissa, jossa lauletaan seuraavaa:

valokuvia kellastuneita ei meistä tuu
miten nollat ja ykköset haalistuu

Koska tiedän seikan tai pari tietokoneista, koen velvollisuudekseni auttaa Oltsua kappaleessa esitetyn kysymyksen kanssa. En toki voi olla täysin varma onko se varsinaisesti kysymys vai enemmänkin toteamus, mutta en toisaalta ole koskaan missannut tilaisuutta päästä pätemään, enkä missaa sitä nytkään.

Kuten kaikki varmasti tietävät, tietokone säilöö tietoa kovalevylle. Tälle levylle tieto tallennetaan juurikin niinä nollina ja ykkösinä, kuten kappaleessa todetaan, ja näitä nollia ja ykkösiä kutsutaan biteiksi. Vanhoissa HDD-levyissä näitä bittejä tallennetaan magnetismin keinoin, kun taas uudemmissa SSD-levyissä ykköset talletetaan sähkövirran avulla. Tärkeintä on kuitenkin tietää, että tietokoneessa on kovalevy, joka on täynnä nollia ja ykkösiä, ja bittien "haalistuminen" on mielenkiintoinen asia. Ja todellinen asia.

HDD-levyllä bitit talletetaan magneettikenttinä, joiden muutosten perusteella päätellään onko kyseessä nolla vai ykkönen. Tässä näennäisen yksinkertaisessa ajatuksessa piilee vain ongelma: jos tietoa ei kirjoiteta uudelleen, toisin sanoen jos magneettikentät eivät muutu, alkavat nämä kentät heiketä. Ajan myötä voidaankin sanoa, että nollat- ja ykköskentät haalistuvat, kun ne hitaasti palaavat tilaan, jossa niillä ei ole enää magneettista varausta. Tämä johtaa tilanteeseen, jossa bitit luetaan väärin, ja lopulta kovalevy on lukukelvoton.

Tämä ehkä selvittää jotain. Kuva täältä.

SSD-levyillä data on yleensä puolestaan sähköisesti tallessa flash-muistissa olevissa NAND-piireissä. Tällaisessa sähköön perustuvassa tallennuksessa on kuitenkin sama heikkous kuin kaikessa muussakin sähköön liittyvässä: sähkövaraus heikkenee ajan kuluessa. Bitit siis haalistuvat, mutta hieman eri tavalla: NAND-piiriin laitetaan sähkövirtaa, kun piirin sisältö halutaan lukea nollaksi. Varauksen heiketessä jossain vaiheessa piirin sisältö luetaan kuitenkin ykköseksi, ja lopputuloksena on levy, joka sisältää pelkkää ykköstä. Ykkösbitit eivät siis haalistukaan SSD-levyllä. (!)

Tämä tuskin mitään selittää. Kuva täältä.

Kun toisen säkeen kysymys on käsitelty, voidaan siirtyä ensimmäisen säkeen väitteeseen "valokuvia kellastuneita ei meistä tuu". Tämä on hieman monikäsitteinen toteamus, jonka voi ajatella usealla eri tavalla. Itse kuitenkin tulkitsen tämän niin, että "meistä" on olemassa ainoastaan digitaalisia valokuvia, jotka eivät periaatteessa kellastu, toisin kuin nostalgiset paperikuvat. Tämä kävisi erityisesti järkeen kun seuraavassa säkeessä puhutaan nollista ja ykkösistä ja niiden haalistumisesta.

Jotta voitaisiin miettiä digitaalikuvan kellastumista, täytyy aluksi pohtia kuinka kuvat talletetaan kovalevylle. Digitaalisille kuville on olemassa (liiankin) monta erilaista formaattia. Yhden vahvuus on pieni koko, toinen pystyy tuottamaan laadultaan parempia kuvia ja kolmas tukee jotain hienoa ominaisuutta. Näiden lisäksi on myös olemassa raakadataformaatteja. Nämä ovat erityisen kiinnostavia kellastumistapauksessa, sillä ne sisältävät suoraan tiedon jokaisen pikselin väristä.

Näin ollen, tämä tieto yhdistettynä tietoon datan korruptoitumisesta kiintolevyillä, on mahdollista että tietokoneelle säilytetyt kuvat itse asiassa kellastuvat. Tämä tapahtuu, kun bittikartan punaisen ja sinisen väritason bitit muuttuvat yhdessä nollista ykkösiksi, tai kun vihreän värialueen bitit alkavat lähestyä nollaa. Tämä on mahdollista lähinnä näillä pakkaamattomilla formaateilla, sillä pakatut formaatit käyttävät algoritmeja, joissa bittimuutokset herkästi korruptoivat kuvatiedoston lukukelvottomaksi tai epämääräiseksi sekamelskaksi.

Onko tällainen digitaalikuvan kellastuminen sitten mahdollista? Ehkä. Onko tällainen todennäköistä? Ei todellakaan. Todennäköisempää on, että bittimuutokset tapahtuvat satunnaisesti pitkin kuvatiedostoa, jolloin kellastumisen sijasta lopputuloksena on vain särkynyt kuvatiedosto. Lisäksi muutokset tapahtuvat normaalisti koko kovalevyn alueelle, joten kauheasti mutaatioita ei yhteen kuvatiedostoon tapahdu ennen kovalevyn käsiin lahoamista.

Toisaalta, kun tiedetään että kovalevyjen data muuttuu niiden ollessa koskemattomina, voidaan käyttää sitä tekosyynä mihin tahansa: "en oikeasti ole katsonut ultimate muscle roller legendia YouTubesta, kovo vain pisti sen sivuhistoriaani kun en käynnistänyt konetta eilen". Käytännössä tietojen häviämisestä ei liian huolissaan kuitenkaan kannata olla, sillä se on yleensä vuosien prosessi, ja jos haluaa mielenrauhaa, niin todennäköisesti datan uudellenkirjoitusta varten löytyy työkaluja. Ja varmuuskopiointi on aina jees.

Loppuun vielä itse biisi, joka oli kyseessä. Haluaisin kovasti tietää mitä videossa tapahtuu.

Ei kommentteja:

Lähetä kommentti