Pooljuhtketas

Pooljuhtketas ehk SSD-ketas (ingl solid state drive) on arvutitehnikas välkmälul põhinev andmesalvesti, millel erinevalt HDD-kõvakettast puuduvad liikuvad osad. SSD väliskuju ja elektrilised ühendused võivad sarnaneda HDD-kettale, kuid võivad ka erineda. Näiteks võib SSD olla teostatud PCIe-laiendkaardina. Ka võib SSD olla HDDga kombineeritud hübriidkettaks SSHD (solid state hybrid drive), kus tihedamini kasutatavad failid paigutatakse kiirema kättesaadavuse huvides SSDsse.

Ajalugu

RAM põhised pooljuhtkettad

Pooljuhtketaste algus ulatub 1950. aastatesse kahe sarnase tehnoloogiaga: magnetilise tuumamälu ja kaardikondensaatoriga loetav salvesti. Need abimäluühikud (nagu kaasaegsed neid nimetasid) ilmusid vaakumtoru arvutite ajastul. Kuid odavamate trummimäluseadmete tutvustamisel lõpetati nende kasutamine. Hiljem, 1970. ja 1980. aastatel, rakendati SSD-sid pooljuhtmäluks varajastes IBM-i, Amdahli ja Cray superarvutites, kuid neid kasutati harva kõrge hinna tõttu. Hilistes 1970. aastates tootis General Instruments elektriliselt muudetavat ROM-i, mis toimis omamoodi hilisema NAND-välkmäluga sarnaselt. Kahjuks ei olnud võimalik saavutada kümneaastast eluiga ja paljud ettevõtted loobusid sellest tehnoloogiast.

1976. aastal alustas Dataram müüki toote nimega Bulk Core, mis pakkus kuni 2 MB tahket olekut salvestusvõimalust, mis oli sobiv Digital Equipment Corporation (DEC) ja Data General (DG) arvutitele. 1978. aastal tõi Texas Memory Systems turule 16-kilobaidise RAM-põhise tahkisolekuketta, mida kasutasid naftafirmad seismiliste andmete kogumiseks. Järgmisel aastal arendas StorageTek välja esimese RAM-põhise tahkisolekuketta.

Aastal 1983 tutvustati Sharp PC-5000, mis kasutas 128 KB tahket olekut salvestavaid kassetikandjaid, mis sisaldasid mullimälu. Aastal 1984 oli Tallgrass Technologies Corporationil 40 megabaidine lintvarundusseade, millel oli sisseehitatud tahke olekuga 20 MB seade. 20 MB seadet võis kasutada kõvaketta asemel. Septembris 1986 tutvustas Santa Clara Systems BatRam-i, 4 MB massmälusüsteemi, mida sai laiendada kuni 20 MB, kasutades 4 MB mälumooduleid. Paketti kuulus taaslaetav aku, et säilitada mälumälu kiipi sisu, kui massiiv ei olnud toiteallikaga ühendatud. Aastal 1987 astus SSD turule EMC Corporation, tutvustades draive miniarvutite turule. Siiski oli 1993. aastaks EMC turult lahkunud.

Tarkvara-põhiseid RAM-kettaid kasutati veel aastal 2009, kuna need on tellimuse võrra kiiremad kui muud tehnoloogiad, ehkki nad tarbivad rohkem protsessoriressursse ja maksavad gigabaidi kohta palju rohkem.[1]

Flash-põhised pooljuhtkettad

1983. aastal oli esimene mobiilne arvuti, milles oli neli pesa väljalõigatavatele andmekandjatele kujul, milleks olid flash-põhised tahkisolekukettad, kasutades samatüübilisi flash-mälukaarte. Flash-moodulitel oli piirang, et kogu ruumi vabanemiseks kustutatud või muudetud failidest tuli need täielikult uuesti vormindada; vanad failiversioonid, mis olid kustutatud või muudetud, jätkasid ruumi hõivamist kuni mooduli vormindamiseni. 1984. aastal müüdi 20 MB tahke olekuga ketas 1000 dollariga. 1985. aasta alguses teatati flash-põhiste tahkisolekuketaste tutvustamisest. Neil oli eelis mittevajadusest aku abil andmeid mälus säilitada (mida eeldasid eelmised lenduvad mälusüsteemid), kuid nad ei olnud nii kiired kui dünaamilise juhusliku juurdepääsuga mälu (DRAM) põhised lahendused. Sellest ajast peale on SSD-sid edukalt kasutatud kõvaketta asendustena sõjaväe- ja kosmosetööstuses ning muudes kriitilise tähtsusega rakendustes. Need rakendused nõuavad erakordset keskmist rikete vahelist aega, mida tahkisolekukettad saavutavad tänu nende võimele taluda äärmuslikke lööke, vibratsioone ja temperatuurivahemikke.

2007. aastal tutvustati PCIe-põhist SSD-d, mis suutis ühes kaardis saavutada 100 000 sisend-väljund operatsiooni sekundis jõudlust ja mahutavusi kuni 320 GB. 1-terabaidine (TB) flash-SSD, kasutades PCI Express ×8 liidest, võib saavutada maksimaalse kirjutuskiiruse 654 megabaiti sekundis (MB/s) ja maksimaalse lugemiskiiruse 712 MB/s.[1]

SSD-välismälu 2,5" kõvakettakorpuses
512 GB SSD koos adapteriga paigaldamiseks 3,5" HDD asemele
mSATA SSD avatult

Arendusjärgud

  • 1978 – USA firma StorageTek töötas välja esimese pooljuhtsalvesti RAM-mälu baasil
  • 1995 – Iisraeli firma M-Systems esitles esimest välkmälul põhinevat pooljuhtsalvestit
  • 2007 – esimene sülearvuti EEE PC 701 SSD-salvestusmälu 4 GB
  • 2008 – Lõuna-Korea firma Mtron Storage Technology valmistas SSD-ketta mahutavusega 128 GB
  • 2012. aastast hakkas SSD konkureerima HDDga, esmalt tahvel- ja sülearvutites, seejärel ka lauaarvutites, samuti välise SSD-salvestina.

SSD gigabaidi hind on küll aastate kestel kiiresti langenud, kuid jäi ka 2010ndate lõpuaastail siiski kõrgemaks kui kõvaketastel. Hinnavahe kasvab seda enam, mida suurem on salvesti mahutavus, sest SDD-ketta hind kasvab peaaegu võrdeliselt mahutavusega.

SSD mäluelementide tüübid

 Pikemalt artiklis Välkmälu

Vastavalt mäluelemendi CMOS-transistoristruktuuride ühendamise loogikale eristatakse NAND- ja NOR-mäluelemente. Pooljuhtketastes on (alates 2008. aastast) kasutusel NAND-Flash-struktuurid, sest need võtavad kiibil palju vähem ruumi, on vastupidavamad ja suurema kirjutuskiirusega, lugemiskiirus on siiski väiksem kui NOR-kiipidel. Välja on töötatud tehnoloogiaid, mis püüavad mõlema tüübi eeliseid ühendada: OneNAND (Samsung), mDOC (Sandisk) ja ORNAND (Spansion).

NAND-Flash-mäluelemente liigitatakse selle järgi, mitme biti salvestamiseks on element ette nähtud:

  • SLC-element (single-level cell) salvestab ühe biti (sest elemendil saab olla ainult kaks laengutaset);
  • MLC-element (multi-level cell) salvestab rohkem kui ühe biti, seni reaalselt kaks bitti (neli laengutaset);
  • TLC-element (triple-level cell) ehk MLC-3 salvestab kolm bitti (kuus laengutaset).

Arhitektuur

Põhifunktsioonid

SSD põhilised komponendid on NAND-komponendid, millel võib olla mitu NAND-mälu kiipi, ning kontroller, mis ühendab NAND-komponendid hostiliidesega. Sõltuvalt SSD kujundusest kasutatavate NAND-komponentide arv, kuid lõppkokkuvõttes määravad ketta NAND-komponentide arvu ja nende kiipide arvu selle pooljuhtketta mahtuvus. Mida rohkem NAND-kiipe on SSD-s integreeritud ja mida paremini kontroller saab juurde pääseda neile, seda suurem on ketta mahutavus. Kontroller asub NAND-i ja hostiliidese vahel. See toimib protsessorina NAND-komponendi toimimise haldamiseks ja on standardne liides lihtsaks integreerimiseks hostisüsteemidesse. Samuti NAND-mälu maht ei pea olema piiratud ruumi tõttu. Väikestes SSD-des, näiteks microSD-kaartides, on NAND ja kontrolleri kiibid virnastatud ning ühenduste loomiseks kasutatakse traadivõlve. Üllatavalt palju NAND-kiipe saab virnastada, nii et ühes väikeses SSD-s võib olla kuni 16 virnastatud kiipi.[2]

Kontrolleri arhitektuur

Kontrolleri kuju pole nii oluline kui selle paigutus ja funktsioonid. Kui vaadata SSD-d, leiab kontrolleri asetsemas kohal, kuhu kaart tegelikult hostisüsteemi ühendatakse, ja NAND-komponentide ees. Ainus erand on väike SSD, kus kontroller on virnastatud.[2]

Kontroller vastutab SSD kõige olulisemate funktsioonide eest. Nende hulka kuuluvad lugemise ja kirjutamise puhvrid, ECC, kulumise tasandamine ja lugemise häirumise juhtimine. See teostab ka halbade plokkide kaardistamist. Ilma nende funktsioonideta võiks SSD enneaegselt kulumisele kuluda ja võib-olla ei toimiks nii usaldusväärselt, kui vaja.[2]

SSD-tehnika iseärasusi

Andmete salvestamisel (kirjutamisel) võetakse üksteisele järgnevad bitid kokku plokkideks (ingl block või page), igaüks näiteks 4 kB suurune. Kui plokis tehakse muudatusi, jäävad ülejäänud andmed kustutamata, küll aga vabastatakse need kirjutamiseks. Iga muudetud baidi pärast tuleb kogu ploki sisu kopeerida reservplokki. Nii lisandub järjest uusi osaliselt täidetud plokke. Et nendest leida kirjutamiseks vabastatud üksusi, tuleb teha palju tarbetuid loe-kustuta-kirjuta-tsükleid, mis aeglustab tööd ja kulutab ketast.

Pöördumise kiirendamiseks ja plokkide vastupidavuse suurendamiseks on kasutusele võetud TRIM-tugi, mis näiteks arvuti operatsioonisüsteemi ATA-liidese kaudu teavitab ketta koosseisu kuuluvat kontrollerit, millised piirkonnad plokis ei kanna kasulikku infot, nii et nende sisu saab eelnevalt kustutada ja niiviisi kiirendada uute andmete kirjutamist.

Arvuti operatsioonisüsteemi ja mäluplokke ühendav pooljuhtketta kontroller hoolitseb ka selle eest, et mäluplokid oleksid enam-vähem ühtlaselt koormatud: kontroller registreerib mäluplokkidesse pöördumisi ja suunab kirjutuskäsud vähem koormatud plokkidesse.

Selleks, et vabaks jäänud mäluelementidele saaks kirjutada, tuleb selle sisu enne kustuda. Selle lisatoimingu poolest erineb välkmälu kõvaketta magnetmälust, mille vabaks jäänud sektorites saab andmeid kohe üle kirjutada.

Ühendusliidesed

Ühendusliides on tavaliselt SSD-kontrollerisse sisse ehitatud. Populaarseimad liidesed on:

Sama liidesestandardiga pooljuhtketta saab paigaldada samade mõõtmetega kõvaketta asemele.

SSD plussid ja miinused

SSD eelised HDDga võrreldes

  • Liikuvate osade puudumine ja sellest tulenevalt:
    • hea mehaaniline vastupidavus (suur löögi- ja vibratsioonikindlus);
    • müra puudumine.
  • stabiilne lugemiskiirus, mis ei sõltu faili osade paigutusest ega fragmenteeritusest;
  • suurem kirjutus- ja lugemiskiirus, mis võib olla lähedane SATA-liidese läbilaskevõimele;
  • oluliselt suurem pöörduskiirus, mis võimaldab teha sisend-väljundoperatsioone umbes kümme korda kiiremini kui HDD-kettal, kus iga operatsiooni eel kulub teatud aeg ketta ettepööramiseks;
  • palju väiksem sõltuvus välistest elektromagnetilistest mõjutustest (tugev elektrostaatiline väli võib siiski häiringut põhjustada);
  • väiksemad mõõtmed ja kaal (nt kujuteguri mSATA korral mõõtmed 51×30×3 mm).

SSD puudused

  • NAND-SSD peamine puudus on piiratud kirjutuskordade arv. SSD-ketastes laialt kasutusel olev MLC-mäluelement võimaldab andmeid kirjutada 3000–10 000 korda (garanteeritud ressurss). Kallites, ühebitiste SLC-mäluelementidega salvestites garanteeritakse sada tuhat kuni miljon tsüklit.[3]. Andmete lugemine mäluelementide tööiga ei lühenda.
  • SSD-ketta rikkeid põhjustab sageli viga keeruka ehitusega kontrolleris, mis peab täitma mitmesuguseid andmete paigutamise ja vigade parandamise funktsioone, seda eriti TLC-mäluelementidega salvestites.
  • Tulenevalt sellest, et andmete olekut ja paigutust juhitakse ka TRAM-käsuga, on raske, kui mitte võimatu rikkis kettalt andmeid taastada. Kui viga on ainult kontrolleris, võib see siiski olla võimalik.
  • Kasutuskõlbmatuks muutunud SSD-kettalt on andmeid väga keeruline elektriliselt täielikult eemaldada, nii et jääb ainult füüsilise purustamise võimalus.

Võrdlus kõvaketta ja RAM-virtuaalkettaga

 Pooljuhtketas
(TLC NAND Flash)
Kõvaketas
(HDD)
RAM-viruaalketas
(muutmälu osana)
Mahutavuskuni 16 TBkuni 14 TBkuni 32 GB mooduli kohta
LiidesIDE/(P)ATA, SATA, mSATA, PCIe, M.2SCSI, IDE/(P)ATA, SATA, SASpeamiselt DIMM-konnektor
Lugemiskiirus)kuni 3400 MB/skuni ca 227 MB/skuni 51 200 MB/s
Kirjutamiskiiruskuni 2500 MB/skuni ca 160 MB/skuni 51 200 MB/s
Keskmine pöördusaeg lugemiselalates 0,027 msalates 3,5 ms0,000 .02 ms
Keskmine pöördusaeg kirjutamiselalates 0,021 msalates 3,5 ms0,000 02 ms
Ülekirjutamise tsüklite arvüle 3000 (TLC)ca 10 miljardit (3 aastat)1015
Võimsustarve jõudeolekus0,03 Wvähemalt 4 W1 W SDRAM-mooduli kohta
Võimsustarve pöördumisel5–6 Wvähemalt 6 W8 W SDRAM-mooduli kohta
Käitumine voolukatkestuse korralkaitsekondensaatori puudumisel
andmekadu võimalik
andmekadu võimalikandmed lähevad kaduma
S.M.A.R.T. (tõrkeennetuse süsteem)onon

Viited