Tiedon tallentaminen Marsissa

maanantai 17. kesäkuuta 2019 - Mikey Anderson

Avaruudessa tiedon tallentaminen ei onnistu tuosta vain. Tietokoneet nimittäin toimivat varsin eri lailla Maassa kuin muilla planeetoilla tai avaruudessa. Onneksi kuusipyöräiset ystävämme ovat auttaneet meitä ymmärtämään näitä eroja paremmin. Kiinnitä siis vyösi ja lähde mukaamme tutustumaan Mars-mönkijöiden elämään ja siihen, kuinka tiedon tallennus Marsissa onnistuu!

Mars-mönkijöiden lyhyt historia

Aloitetaan lyhyellä katsauksella Marsin tutkimuksen historiaan. Tähän päivään mennessä NASA on onnistunut lähettämään punaisen planeetan pinnalle neljä mönkijää. Alla olevassa kuvassa on esillä niistä kolme: etummainen on Sojourner (1997), vasemmalla on keskikokoinen Spirit/Opportunity-mallin (2004) mönkijä ja oikealla mönkijöistä isoin, Curiosity (2011).

Opportunity päätyi hiljattain uutisiin NASAn menetettyä yhteyden siihen 15 vuoden ansiokkaan palveluksen jälkeen. RIP! Opportunityn sisarmönkijä juuttui hiekkaan maaliskuussa 2010.

Pienen auton kokoinen Curiosity on viimeinen yhä toimiva oleva Mars-mönkijä. Se laskeutui planeetan pinnalle elokuussa 2012 ja on säilynyt toimintakunnossa vuoteen 2019 asti!

Kuvan lähde: NASA/JPL-Caltech

Oikean tallennusvälineen valitseminen

Avaruuteen matkaavien tietokonelaitteiden on oltava varsin lujatekoisia, sillä niiden on kestettävä ensin nousu Maan pinnalta ja sen jälkeen avaruuslento tyhjyyden läpi. Mars-mönkijöiden laitteiden on selvittävä ehjinä myös laskeutumisesta ja pysyttävä toimintakunnossa Marsin pinnan ankarissa olosuhteissa.

Mönkijän käyttämän tallennusvälineen on ensinnäkin siis siedettävä nousuun ja laskeutumiseen liittyvät tärähdykset. Koska huomioon on kuitenkin otettava myös muitakin seikkoja, jokaiseen tallennusvälineeseen liittyvät omat haasteensa.

HDD-kiintolevyt eivät esimerkiksi toimi tyhjiössä vaan tarvitsevat ilmaa toimiakseen kunnolla (lisää aiheesta tulevassa blogipostauksessa). On tosin mahdollista sulkea kiintolevy paineistettuun koteloon ja saada se näin toimimaan myös avaruudessa (näin on tehty esimerkiksi ISS-avaruusasemalla ja NASAn avaruussukkuloissa), mutta asioiden monimutkaistamisen lisäksi tähän liittyy suuri toimintavirheiden riski.

Avaruussukkuloissa on käytetty myös magneettinauhoihin perustuvia tallennusjärjestelmiä. Useimmat varhaisista planeettainvälisiä lentoja tehneistä avaruusluotaimista käyttivät magneettinauhaa tietojen tallentamista varten; esimerkkejä ovat mm. Jupiteriin lähetetty Galileo-luotain (1989) sekä Venukseen matkannut Magellan (1989). Magneettinauhan ongelma on kuitenkin sen suuri koko: edellä mainituissa luotaimissa oli nimittäin käytössä lähes 2 km magneettinauhaa, eikä sillä siltikään saavutettu kuin ainoastaan 2 GB tallennuskapasiteetti!

Entä sitten SSD-muisti? SSD on itse asiassa ollut käytössä useilla avaruuslennoilla, mukaan lukien Mars Global Surveyor (1996), Cassini (1997) ja New Horizons (2006). SSD-levyt ovat pienikokoisia ja lujatekoisia eikä niillä ole HDD-levyjen ja magneettinauhan huonoja puolia. Lisäksi niiden suorituskyky on kaiken kaikkiaan muita tallennusjärjestelmiä parempi, minkä ansiosta SSD-levyt ovat nykyisin selvästi järkevin valinta planeettojenvälisten lentojen tietojen tallentamiseen.

Tietojen tallentaminen Marsissa

Vaikka SSD vaikuttaisi olevan tallenusvälineistä paras, se ei suinkaan ratkaise kaikkia tietojen tallentamiseen liittyvistä haasteista! Yhden suurimmista muodostavat Marsin pinnalla sekä avaruuslennon aikana vallitsevat ankarat olosuhteet. Mönkijät eivät onneksi ole vaarassa kastua, sillä Marsissa ei ole virtaavaa vettä. Lämpötilan säätely on kuitenkin yksi erittäin tärkeä huomioon otettava seikka.

Useimmat nykyaikaiset tallennusvälineet on suunniteltu käytettäviksi tietyissä ihanneolosuhteissa. SSD-levyt on esimerkiksi tyypillisesti suunniteltu käytettäviksi -40⁰C ja +85⁰C välisissä lämpötiloissa.

Tämä on epäilemättä tarpeeksi suuri haarukka maan kamaralla käytettävälle tietokoneelle, mutta onko se riittävä myös Marsissa? Marsin keskilämpötila on noin -63⁰C ja riippuen sijainnista planeetan pinnalla, lämpötila voi vaihdella yön -140⁰C päivän +20⁰C. Maahan verrattuna lämpötilan vaihteluväli on siis todella suuri! Matka Marsiin muodostaa myös oman ongelmansa, sillä avaruudessa lämpötilat vaihtelevat kylmimpien alueiden -273⁰C jopa +120⁰C avaruusaluksen ollessa auringon puolella.

Jotta kaikki mönkijöissä säilyisi ehjänä avaruusmatkan aikan sekä Marsin pinnalla, NASA käyttää mönkijöissä erityistä lämpötilan säätelyjärjestelmää sekä joukkoa erilaisia lämmittimiä.

Muista suojautua auringolta!

Lämpötilan ohella toinen iso uhkatekijä Mars-mönkijöille ja avaruusaluksille on säteily. Prosessorien lisäksi myös tietokoneiden tallennusvälineiden on kyettävä kestämään säteilyä.

Mars-mönkijöissä käytössä olevat NAND-flash-muistit ovat säteilyn kestäviä mutta eivät  kuitenkaan sille täysin immuuneja, minkä takia SSD-levyjen ehjinä pysyminen on varmistettava erilaisten suojauskeinojen avulla. Esimerkiksi mönkijän elektroniikan sisällään pitävä runko on suojattava huolellisesti ja niiden flash-muistin on käytettävä riittävää redundanssia ja virheenkorjausta.

Curiosity-mönkijän muistinvarausjärjestelmällä on itse asiassa oma diagnostiikkatoimintonsa, joka pitää karttaa sen muistin käytöstä ja kaikista siihen mahdollisesti liittyvistä ongelmista. Jos muistin toiminnassa ilmenee levyn heikentymisestä johtuvia ongelmia, NASAn tiimi voi yrittää hoitaa ongelman. Lisää tästä alempana!

Tietojenkäsittelyjärjestelmien vertailu

Maan pinnalla meillä on nykyisin käytettävissämme tietokoneita, joissa on useiden teratavujen verran kovalevytilaa ja RAM-muistia. Mars-mönkijöiden tietokoneiden ei kuitenkaan tarvitse suoriutua kuin tehtäväänsä liittyvistä toiminnoista eivätkä ne siksi tarvitse valtavasti tallenustilaa tai laskentatehoa.

On myös muistettava että Spirit- ja Opportunity-mönkijöiden suunnittelu alkoi jo vuonna 2000 ja silloin käytettävissä oleva teknologia asetti rajoitukset niihin valittaville tallennusvälineille. Tarkastellaanpa pikaisesti NASAn Mars-mönkijöiden laskentatehon ja tallenusvälineiden muutoksia vuodesta 1997 alkaen:

Rover Prosessori RAM EEPROM Flash-muisti
Sojourner - 1997 2 MHz Intel 80C85 512KB - 176KB
Spirit/Opportunity - 2004

(Mars Exploration Rover)

20 MHz RAD6000 128MB 3MB 256MB
Curiosity - 2011

(Mars Science Laboratory)

200 Mhz RAD 750 256MB 256KB 2GB

 

Curiosityn käyttämä, säteilysuojattu RAD750-mikroprosessori maksaa muuten noin 200,000 dollaria! Se kuuluu PowerPC 750 -suoritinperheeseen ja perustuu samoihin suorittimiin joita on käytetty myös Apple PowerBook G3:ssa, iBookissa sekä monissa muissa 90-luvun jälkipuoliskon Maceissa.

Jotta Marsin maisemien valokuvaamiseen ja videoimiseen olisi riittävästi tallennustilaa, Curiosityssa on varsinaisen päämuistin lisäksi myös erilliset 8 gigatavun flash-muistit molemmille mönkijän eteenpäin suunnatuista kameroista.

Varmuuskopioi kaikki

Sekä Curiosity- että Spirit/Opportunity-mönkijät käyttävät virheenkorjauksella varustettua RAM-muistia. Muista Mars-mönkijöistä poiketen Curiosity on kuitenkin ainoa, jossa on kaksi keskenään identtistä tietokonetta. Näistä käytössä on aina kerrallaan vain toinen; toinen on valmiina siltä varalta, että jokin menee pieleen.

Hyvä näin, sillä kun etäisyyttä maahan on keskimäärin 225 miljoonaa kilometriä, huoltokäynnin tekeminen mönkijän luo ei onnistu ihan tuosta vain, eikä Ibas Ontrackilla (ainakaan tätä postausta kirjoitettaessa) valitettavasti ole toimipistettä Marsissa!

Kun mönkijä on poistunut maan kamaralta, vikojen korjaus on mahdollista ainoastaan satelliittiyhteyden välityksellä. Tämä tarkoittaa fyysisten ongelmien olevan yleensä mahdottomia ratkaista. Mönkijän suunnittelijoiden on siksi osattava valmistautua etukäteen kaikkiin mahdollisuuksiin ja mahdolliset virheet on voitava kiertää loogisilla korjauksilla.

Ongelmia flash-muistin kanssa

Kuten kaikki muistityypit, myös flash-muisti tulee jossain vaiheessa tiensä päähän. SSD-muistille voidaan esimerkiksi kirjoittaa dataa vain tietty määrä kertoja ennen kuin sen muistisolut alkavat kulua loppuun. Koska Mars-mönkijöiden kaikki tietokoneet käyttävät flash-muistia, on oikeastaan vain ajan kysymys milloin niiden käyttämä muisti pettää kokonaan ja mönkijöistä tulee täysin toimintakyvyttömiä.

Opportunityn flash-muistille kirjoittaminen alkoi tökkiä ensimmäisen kerran vuonna 2011, jolloin mönkijän “muistihäiriöt” aiheuttivat tietojen katoamista. NASA onnistui lopulta selvittämään ongelman syyn vuonna 2014; yksi flash-muistipankeista oli alkanut pettää, minkä takia Opportunity ei toisinaan onnistunut kirjoittamaan uutta tietoa haihtumattomaan muistiinsa. Jos näin tapahtui, mönkijä tallensi tiedon automaattisesti haihtuvaan RAM-muistiin, joka tyhjeni joka ilta mönkijän virran sammuessa.

Flash-muistiin kirjoittamisen toistuva epäonnistuminen sai Opportunity käynnistämään itsensä jatkuvasti uudelleen, mikä teki sen ohjaamisesta Maasta käsin erittäin haastavaa. Näin NASA kommentoi asiaa vuonna 2014:

 

“Koska mönkijän flash-muistin toiminnassa on ollut jatkuvasti ongelmia, tiimimme on päättänyt kytkeä mönkijän haihtumattoman flash-muistin pois käytöstä ja käyttää telemetriaan eli mönkijän mittaamien tietojen tallentamiseen ainoastaan sen haihtuvaa RAM-muistia. Pidemällä tähtäimellä pyrkimyksenä on kehittää keino ongelmaisen muistiosion peittämiseksi niin että muuta osaa flash-muistista voidaan käyttää normaalisti.”

Alustamalla ja ohjelmoimalla flash-muistin uudelleen etäyhteyden kautta Opportunity-projektin työryhmä onnistuikin ohittamaan vioittuneen muistiosion ja saamaan flash-tallennusjärjestelmän takaisin toimintakuntoon, tosin aiempaa pienemmällä tallennuskapasiteetilla. Hyvää työtä!

Lisää muistiongelmia

Tämä ei valitettavasti kuitenkaan ollut viimeinen kerta kun Mars-mönkijässä oli muistiin liittyvä toimintahäiriö. Sittemmin myös Curiosity-mönkijän flash-muistissa on ollut korjattavaa. Mutta kuten jo mainittu, Curiosity on varustettu kahdella identtisellä tietokoneella, minkä ansiosta se voi jatkaa toimintaansa silloinkin kun ongelmia tulee vastaan.

Ongelmiin ennalta varautuminen osoittautui äärimmäisen viisaaksi teoksi vuonna 2013. NASAn oli silloin pakko ohjata Curiosity käyttämään varatietokonettaan sillä mönkijän päätietokoneessa oli vika, joka häiritsi komentojen välittämistä mönkijälle ja sai sen akut tyhjentymään. NASA ratkaisi ongelman samaan tapaan kuin Opportunityn kohdalla; muistin vaurioitunut osa tunnistettiin ja eristettiin niin että tietokonetta oli taas mahdollista käyttää normaalisti. Tässäkin tapauksessa ongelman korjaaminen edellytti siis tallennuskapasiteetin pienentämistä.

Vuoden 2018 syyskuussa samankaltainen vika iski puolestaan mönkijän siihen asti terveenä pysyneeseen tietokoneeseen eikä se enää pystynyt tallentamaan keräämiään tietoja luotettavasti. Väliaikaisena ratkaisuna mönkijä ohjattiin käyttämään jälleen sen alkuperäistä päätietokonetta eli sitä, jonka muistissa oli ollut ongelmia viisi vuotta aiemmin, samalla kun insinöörit kävivät töihin ongelman syyn selvittämiseksi ja korjaamiseksi.

Tiesitkö muuten, että kun Curiosity lähettää keräämänsä tiedot Maahan analysoitaviksi, mukana on flash-muistikartan dump-tiedosto? Näin toimitaan siksi, että katkeamaton tallennehistoria auttaa insinöörejä mahdollisesti vastaan tulevien muistiongelmien juurisyyn selvittämisessä.

Valitettavasti mönkijän flash-muistin lopullinen pettäminen on kuitenkin vain ajan kysymys. Siihen asti Curiosity, joka ainakin toistaiseksi on viimeinen toimiva Mars-mönkijä, jatkaa kuitenkin urhoollista taivaltaan punaisen planeetan pinnalla ja lähettää iloksemme muun muassa tällaisia upeita valokuvia:

Curiosityn ottama selfie, sol 2082 (15. kesäkuuta 2018). Kuvan lähde: NASA/JPL-Caltech/MSSS

Bonusosa: käyttöjärjestelmä

Meille tekniikasta kiinnostuneille yksi mielenkiintoinen piirre Mars-mönkijöissä on niiden käyttöjärjestelmä. Avaruudessa toimimiseen liittyvien vaatimusten takia tavallinen Windows tai Mac OS ei nimittäin kelpaa Mars-mönkijöihin; useimmissa niistä käyttöjärjestelmänä on VxWorks, etupäässä avaruus- ja armeijakäytössä oleva

sulautettu reaaliaikainen käyttöjärjestelmä (RTOS).

Reaaliaikainen käyttöjärjestelmä on suunniteltu suorituskyky ja luotettavuus edellä. Yksinkertaisesti sanottuna sen toiminta perustuu siis siihen että se suorittaa tehtävän loppuun nopeammin kuin mitä toisen vastaavantyyppisen tehtävän aloittaminen kestää. VxWorks on myöskin ns. kova RTOS, mikä tarkoittaa sen soveltuvan alustaksi aikakriittisille sovelluksille eli sellaisille, joiden toimintojen on tultava aina suoritetuiksi ajoissa ja virheettömästi.

Jos Mars-mönkijä ohjataan esimerkiksi ajamaan ensin yhteen suuntaan ja sitten vaihtamaan kurssiaan tietyn ajan (tai matkan) kuluttua, on äärimmäisen tärkeää, että mönkijän tietokone suorittaa jokaisen toiminnon ajallaan; muutoin mönkijä saattaisi harhautua ennalta määrätyltä kurssiltaan ja ajautua vaaralliseen, sille mahdollisesti kohtalokkaaseen maastoon.

Tavallisessa Windows-koneessa, Macissa tai mobiililaitteessa käyttöjärjestelmänä on kovan sijaan pehmeä RTOS, jossa klikkaamalla tai koskettamalla annetut käskyt kyllä tulevat suoritetuiksi, mutta niiden ei ole pakko tulla suoritetuiksi tietyssä ajassa. Kun esimerkiksi avaat tiedoston tai sovelluksen, sen ei ole ensiarvoisen tärkeää aueta tietyn ajan sisällä; puhelimesi tai tietokoneesi käyttöjärjestelmä saattaa pitää jonkin muun toiminnon suorittamista tärkeämpänä, jolloin tiedoston tai sovelluksen latautumiseen kuluu enemmän aikaa.

Et luultavasti edes huomaa, jos ottamasi selfien latautumiseen kuluu murtosekunnin verran tavallista pidempi aika. Mars-mönkijälle käskyjen toteutumisen viivästyminen voi kuitenkin aiheuttaa isompia ongelmia ja jopa vaarantaa mönkijän olemassaolon. VxWorksin ansiosta Curiosity ja muut Mars-mönkijät pystyvät suorittamaan useita toimintoja samanaikaisesti jaetulla muistin allokoinnilla ja luottaa siihen, että kaikki toiminnot tulevat suoritetuiksi niin nopeasti kuin niiden pitääkin.

Mars-mönkijät tulevaisuudessa

Seuraavaksi punaiselle planeetalla lähetetään Mars 2020 -luotain. Sen odotetaan käyttävän samanlaista tietokonetta ja yhtä isoa muistia kuin Curiosity. Nykyisillä Mars-tehtävillä ei yksinkertaisesti ole tarvetta valtavalle tallennuskapasiteetille tai laskentateholle. NASA pitää mieluummin kiinni Curiosityssa hyväksi havaituista ratkaisuista ja suosii ennen kaikkea luotettavuutta.

Lopuksi vielä yksi kiinnostava seikka Mars 2020-mönkijästä: se tulee olemaan ensimmäinen Mars-mönkijä, johon asennetaan mikrofonit Marsin äänimaisemien tallentamista varten. Mönkijä tallentaa nauhoittamansa audiotiedostot flash-muistiinsa ja lähettää ne sitten Maahan, niin että pääsemme kuulemaan miltä Marsin pinnalla kuulostaa. Jos David Bowie olisi yhä keskuudessamme, pätkä äänimaisemaa löytäisi varmasti tiensä hänen kappaleeseensa!

Lopetamme katsauksemme Mars-mönkijöiden tallennusjärjestelmiin ja tietojen tallentamisen haasteisiin Marsissa tähän. Toivottavasti tämä kirjoitus on auttanut sinua ymmärtämään paremmin kuinka nämä tallennusteknologiat toimivat sekä kuinka ne eroavat tavallisista, Maassa käyttämistämme laitteista. Vaikka ihmisen saapuminen Marsin pinnalla ei välttämättä tulekaan tapahtumaan ihan lähitulevaisuudessa, Curiosityn kaltaiset mönkijät auttavat meitä jo nyt ymmärtämään paremmin, mihin teknologia pystyy ja ei pysty toisilla planeetoilla sekä mitä kaikkia haasteita sen toimimaan saamiseen liittyy.

 

Jos lisätieto Mars-mönkijöistä kiinnostaa, suosittelemme seuraavia lähteitä:

 

NASA: Mars Curiosity Overview

CppCon 2014: C++ on Mars: Incorporating C++ into Mars Rover Flight Software

Chaos Computer Club 2018: 35C3 - The Mars Rover On-board Computer

Scott Manley: NASA Stops Trying to Wake Mars Opportunity After It Remains Silent

 

 

Kuvan tekijänoikeudet:

Gray and White Robot

https://www.pexels.com/photo/gray-and-white-robot-73910/

https://www.pexels.com/creative-commons-images/

img_600x600_shirtontrack

Soita ja pyydä apua heti!