Bag om SSD teknologien
Vi vil starte med at finde hoved og hale i hvad SSD egentlig er for en størrelse, for der er nemlig en verden til forskel på en gammeldags mekanisk harddisk, som de fleste af os bruger og på en Solid State Disk. Faktisk er de eneste lighedspunkter på en HDD og en SSD, at de begge lagrer data, kan bruge de samme stik og at de har samme standardiserede størrelser.
Hvor en HDD bruger roterende magnetiske plader og et mekanisk læse/skrive-hoved, har en SSD slet ingen bevægelige dele og er derfor meget mere modstandsdygtig og i det hele taget mindre modtagelig for udefrakommende påvirkninger. En moderne mekanisk harddisk er bygget op efter de samme grundprincipper som et floppydrev med en diskette i - et magnetisk læse/skrive hoved bevæger sig hen over en plade der kan lagre data. Dette design er så blevet optimeret og genopfundet en hel masse gange, førend vi er nået dertil, hvor HDD teknologien er idag. Men vi kan hurtigt blive enige om, at idéen ikke ligefrem er helt ny.
Her er det så, at man kunne foranlediges til at tro at SSD så bygger på noget helt nyt - men nej. En SSD er bygget op af hukommelseschips, der er forbundet parallelt, og disse chips er i bund og grund ikke meget anderledes end de RAM, der har været en fast komponent i computere i endnu længere tid, end harddisken har været det.
SSD er stadig i sin spæde barndom og derfor er det også rigtig spændende at følge udviklingen netop nu, da det mere er menneskelig opfindsomhed og nye idéer, end det er fabrikationsstørrelse på selve chipsene der er en afgørende faktor. Så selv om teknologien faktisk har været ved hånden i mange år, så har de kloge hoveder ikke fået lov til at udvikle ret mange nye idéer, simpelthen fordi der ikke har været penge i det pga. produktionsomkostningerne, hvilket ultimativt betyder for høje priser. Hvis priserne er så høje at ingen køber, er der ikke noget marked, er der ikke noget marked, er der ingen penge, der skifter hænder. Derfor har ingen for alvor brugt tid og energi på teknologien før i dag, hvor hukommelsesmodulerne kan produceres tilpas billigt.
Der findes to forskellige typer hukommelseschips: Volatile og non-volatile. Almindelige RAM er volatile, hvilket betyder at data kun kan lagres så længe der er strøm på. Fjernes strømtilførslen (computeren slukkes), så forsvinder al data med det samme og kan aldrig genskabes. Man kan næsten sige, de formaterer sig selv hver gang strømmen bliver afbrudt.
Den anden type - som er den der findes i SSD - er non-volatil, hvilket vil sige at data lagres i chippen, og bliver der selv om strømmen fjernes. Der findes rigtig mange forskellige typer af både volatile og non-volatile RAM og dem, der findes i en SSD, hedder helt præcist NAND flash RAM.
NAND refererer til måden data lagres i chippen på og i denne verden gælder det om at klemme så meget data som overhovedet muligt ned på mindst mulig fysisk plads. Der hvor udviklingen sker, er enten, når selve fabrikationsstørrelsen for chippen kan gøres mindre, eller når der findes en nyere og bedre måde at gemme data i chippen på. Vi kan sammenligne det med de forskellige måder at komprimere billede- og musik-filer på. Hvor .wav og .bmp kan komprimeres til .mp3 og .jpeg, kan data i en datachip også være komprimeret på forskellige måder - her kan der bare ikke indgås nogen former for kompromis ligesom med f.eks .mp3 og .jpeg.
Helt ned på celle-niveau...
En celle i en NAND flash SSD er enten bygget som 1-bit (SLC) eller som 2-bit (MLC). Rent fysisk er de lige store, men MLC kan indeholde dobbelt så meget data. SLC har dog den fordel, at det tager kortere tid at "læse" indholdet af cellen, da hver celle kun indeholder 1-bit data, hvor en MLC indeholder 2-bit data. Dette er fordi fremgangsmåden for at "læse" indholdet, foregår ved at man tilfører en spænding og venter på svar, er cellen tom, forøges spændingen, hvilket gør, at den næste celle bliver spurgt og så fremdeles.
Altså skal en MLC-celle tjekkes med 4 forskellige spændingsniveauer, hvor en SLC kan nøjes med to.
Inde i en SSD sidder der ikke kun MLC el. SLC chips. Der er en anden meget vigtig komponent og det er controlleren. Controlleren er den del der styrer al datatrafikken frem og tilbage og en controller, der skal håndtere MLC, har op til 3x mere at lave end én, der skal håndtere SLC. Derfor er netop denne komponent meget vigtig, specielt i MLC-baserede diske, hvor den har en afgørende indflydelse på ydelsen.
Den mindste håndterbare mængde af data på en SSD er 4 kilobytes, det er intet mindre end 32.768 bits. Det vil sige, at computeren arbejder med mindst 32.768 bits ad gangen på en SSD. Det lyder måske som rigtig, rigtig meget, men det synes du måske ikke, når du får det store perspektiv.
4 kilobytes hedder også en "page", og disse er igen grupperet i blokke. En blok indeholder 128 pages hvilket er 512 kilobytes eller 4.194.304 bits.
Når man har 1024 blokke, kaldes det et "plane", der indeholder 512 megabyte eller 4.294.967.296 bits. 512 megabyte er som regel størrelsen på hver enkelt chip der sidder i en SSD. Men skindet kan bedrage, for en enkelt chip kan faktisk indeholde helt op til 4 lag, dvs. 2048 megabyte (2 GB) pr chip.
Ydelsen
NAND flash RAM findes allerede mange steder, bla. i USB-nøgler. Det der er den afgørende faktor er ikke så meget hvor hurtig den enkelte chip er, men snarere hvor mange man har at sætte sammen. Magien opstår nemlig når man parallelforbinder chipsene, hvor både ydelse og kapacitet skalerer med antallet af chips man sætter sammen. Ydelse/kapacitet-forholdet kan faktisk justeres "næsten som man vil ha' det", og tommelfingerreglen er at man uden at ændre på antallet af chips, kan halvere kapaciteten, for teoretisk set at fordoble ydelsen. Når man skalerer på denne måde hedder det data striping, og det kan bedst sammenlignes med traditionel RAID 0.
På næste side kigger vi på de praktiske aspekter ved en SSD.