SSD best buy guide

Door CiPHER op vrijdag 14 juni 2013 22:32 - Reacties (81)
Categorie: SSD, Views: 29.076


Inleiding

Mijn derde blog zal voor velen een handige referentie zijn om zich te oriënteren op de aanschaf van een nieuwe SSD.

Voor veel consumenten is de aanschaf van een SSD een onzekere. Zo hebben zij niet de kennis die hen in staat stelt om een goede afweging te maken. Nog erger is dat fabrikanten en reviews zich vrijwel uitsluitend concentreren op prestaties. Vaak worden daarbij ook nog prestaties getoond die helemaal niet van belang zijn voor de uiteindelijke snelheidservaring van consumenten. Je krijgt de hoge getallen voor je ogen gedrukt en daarmee moet je het maar doen.

Een mooi voorbeeld van misleidende marketing zijn nepspecificaties vergelijken met echte specificaties. Zo worden Sandforce SSDs vaak als 500MB/s write aangeprezen, terwijl andere SSDs binnen dezelfde klasse bijvoorbeeld slechts 130MB/s als opgegeven snelheid krijgen. Als je dit hoort als consument, dan is de keuze snel gemaakt en koopt men de Sandforce SSD. Dit heeft met name in het verleden gezorgd dat veel consumenten lekker gemaakt werden met nepspecificaties en uiteindelijk opgezadeld werden met een veel minder betrouwbare SSD. Uiteindelijk een inferieur product gekocht dus, waar ze in de praktijk teleurstellende resultaten behaalden op het gebied van prestaties, maar vooral te lijden hadden onder de slechte betrouwbaarheid van SSDs met Sandforce controller.

Als je veel geld uitgeeft aan een SSD, dan wil je ook wat goeds. Dus hopelijk kan deze guide jou in staat stellen hier een goede afweging in te maken. Er zijn een paar dingen die je moet weten:
  • Dit is een levend document, het kan continu aangepast worden mocht mijn advies veranderen. Alle wijzigingen zullen worden vermeld aan het einde van dit document.
  • Ik behandel enkel SSDs bedoeld voor de consumentenmarkt. Zogenaamde enterprise SSDs zullen niet worden behandeld. Dat ligt waarschijnlijk ook buiten je budget.
  • Ik krijg absoluut niet betaald voor deze adviezen. Mijn advies is 100% onafhankelijk.
Voor meer achtergrondinformatie verwijs ik naar: SSD performance en SSD betrouwbaarheid.


Index:

Beste allround SSD


AlternatiefPluspunten
  • Extra voorzieningen die de betrouwbaarheid vergroten, zoals power-safe capacitors
  • Lage prijs, met name de grotere modellen zijn relatief goedkoop
  • Goede prestaties, met name de leesprestaties en random IOps
  • Bekend merk; Crucial van het grote bedrijf Micron (op twee na grootste flashfabrikant ter wereld)
  • Goede verkrijgbaarheid
Minpunten
  • Ietwat lage schrijfprestaties, met name voor het 120GB model.
  • Mogelijkheid tot onontdekte firmwarebugs, omdat de SSD nog maar pas op de markt is

Toelichting
Nog voordat de Crucial M500 op de markt werd gebracht, had ik al gezegd dat dit dé SSD van 2013 zou gaan worden. Dit omdat de Crucial M500 de opvolger is van de zeer succesvolle Crucial M4 die een goede balans had van betrouwbaarheid, prijs en prestaties. De Crucial M500 is op alle drie gebieden beter, maar wel in die volgorde. De grootste vorderingen zijn dus op het gebied van de betrouwbaarheid; de prijs is met name voor de hogere capaciteit modellen lager, terwijl de prestaties ook wel iets gestegen zijn maar veel minder prominent. Doordat de SSD nog relatief nieuw is, is het overigens wel mogelijk dat er onontdekte firmwarebugs gevonden worden in de toekomst. De SSD moet zich dus nog bewijzen qua betrouwbaarheid, terwijl de Intel 320 zijn betrouwbaarheid al ruimschoots heeft bewezen.

De Crucial M500 is niet de allersnelste SSD. Maar daar ga je in de praktijk niets van merken behalve voor kopieeracties van SSD naar SSD. Het grootste pluspunt van deze SSD is zijn theoretische betrouwbaarheid. Zo heeft deze SSD hardwarematige voorzieningen die veel concurrerende SSDs niet hebben - met name de power-safe capacitors en RAID5 bitcorrectie. Mede doordat deze SSD een ideale mix heeft en zich onderscheidt in voorzieningen die de betrouwbaarheid ten goede zou moeten komen, zie ik deze als de beste allround SSD. Het leeuwendeel van de consumenten zou deze SSD hoog in hun lijstje moeten hebben staan. Simpel gezegd is dit de nummer één SSD voor consumenten.




Meest betrouwbare SSD



AlternatievenPluspunten
  • Opvolger van de uiterst betrouwbare Intel 320 series
  • Voorzien van power-safe capacitors
  • Intel Quality Assurance; Intel test hun spulletjes erg goed voordat ze de fabriek verlaten
  • Goede leesprestaties en redelijk goede random IOps
  • Alignment correctie voor het beperken van de negatieve invloed van misaligned writes
  • Consistent performance; verminderde negatieve pieken qua performance/latency
  • Zeer lage write amplification dus optimale write endurance
Nadelen
  • Hogere prijs per gigabyte dan andere consumenten SSDs
  • matige schrijfprestaties; leesprestaties zijn wel goed

Toelichting
De meest bewezen consumenten SSD is de Intel 320. De nieuwe S3500 kan als opvolger worden gezien van de Intel 320 series. Net als zijn voorganger heeft deze als één van de weinige SSDs bedoeld voor de consumentenmarkt een beschermde stroomvoorziening in de vorm van power-safe capacitors. Daarnaast gebruikt Intel een RAID4 bitcorrectie wat beschermt tegen onleesbare pages, als extra bescherming naast het alombekende ECC wat door alle SSDs en HDDs gebruikt wordt.

Wat de Intel 320 en S3500 nog betrouwbaarder maakt dan de Crucial M500 - die vergelijkbare hardwarematige voorzieningen heeft - is dat de Intel 320 een bewezen track record heeft op het gebied van betrouwbaarheid. De SSD is al geruime tijd op de markt. De enige échte bug - bekend als de Intel '8MB bug' - is inmiddels gefixed en het is onaannemelijk dat er nog meer ernstige bugs gevonden worden die dataverlies kunnen veroorzaken. Daarnaast laten de Intel 320 en S3500 geen user-data over de DRAM-geheugenchip lopen, wat de Crucial M500 wel doet. Met name voor ZFS intent log en ander specialistisch gebruik zoals voor databaseservers is dit erg belangrijk. Simpel gezegd is dit de meest betrouwbare SSD wat binnen het bereik van consumenten ligt.




SSD met de hoogste prestaties



Pluspunten
  • Bijna 500MB/s sequential write; simpelweg de snelste SATA SSD
  • Trekt de SATA/600 interface bijna helemaal vol; veel rek zit er niet meer in de interface
  • Hoge kwaliteit SSD met vijf jaar garantie
Minpunten
  • Ontbeert belangrijke bescherming die de betrouwbaarheid vergroten, zoals power-safe capacitors
  • Hogere snelheid versus andere SSDs alleen merkbaar bij zeer specifiek gebruik
  • Erg hoge prijs voor de Pro versie, de niet-Pro versie heeft TLC flashgeheugen (minder snel, minder betrouwbaar wanneer de NAND cellen flink versleten zijn)

Toelichting
Als je puur geïnteresseerd bent in hoge prestaties voor met name sequential write, dan kun je deze SSD overwegen. Bijvoorbeeld wanneer je een vette 10 gigabit netwerkkaart hebt aangesloten op een dikke fileserver, dan kun je de hogere schrijfsnelheden ook daadwerkelijk benutten. Hij is wel flink duurder dan andere SSDs en op het gebied van betrouwbaarheid in elk geval op papier inferieur aan de Crucial M500 omdat hij belangrijke beveiligingsmechanismen ontbeert. Tevens kun je in mijn blog over SSD performance lezen dat prestatieverschillen tussen SSDs onderling in typische situaties vrijwel niet merkbaar zijn voor consumenten. Kortom, ik zou deze SSD alleen aanraden als prestaties in zeldzame gevallen een hogere prioriteit krijgen.




Beste goedkope SSD


AlternatievenToelichting
Is je budget beperkt dan is een 60GB of 120GB SSD waar je naar moet kijken. De schrijfprestaties zijn vaak beperkt, maar dat mag geen groot probleem zijn als je de SSD als systeemschijf gebruikt. Applicaties en games starten net zo snel op. Alleen je moet zuinig zijn met je ruimte. Hibernation dus uitschakelen en pagefile tot een minimum beperken. Qua prestaties lever je dus nauwelijks in, maar wel qua comfort omdat het soms passen en meten is met een kleine SSD. Als je een kleine SSD gebruikt naast een grotere hardeschijf, dan is het echter prima te doen voor veel mensen. Ook voor de wat oudere systemen kan dit een geweldige upgrade zijn en een grote stap in merkbare prestaties. Let er wel op dat je Windows of Linux vers installeert!

De alternatieven zijn ook het overwegen waard; de Kingston is nog iets goedkoper en heeft een redelijke Sandforce controllerchip. De Samsung 840 non-pro heeft iets minder kwalitatief TLC geheugen, maar je krijgt wel 120GB opslag voor 85 euro. Hij is echter lang niet zo snel als de Pro versie en ook weer een stuk duurder dan de Crucial M4 - dit is de voorloper van de nieuwe Crucial M500.




Beste SSD voor massaopslag



Pluspunten
  • Lekker veel opslag waar je je niet meer druk hoeft te maken over het plaatsen op HDD of SSD
  • Relatief goedkope prijs per gigabyte versus kleinere modellen
  • Extreem zuinig met DIPM-stroombesparing; 0.1 watt voor bijna 1TB aan supersnelle opslag!
  • Heerlijk als vervanger voor hardeschijf voor de mensen waarvoor ~1TB precies goed is
Minpunten
  • Blijft veel geld vergeleken met een hardeschijf
  • Slechts drie jaar garantie; vijf jaar had wel gemogen voor zo'n duur product vind ik
  • Je prestaties blijven beperkt tot de SATA/600 interface; meerdere kleinere SSDs in RAID0 betekent hogere prestaties
  • Slecht leverbaar

Toelichting
Het tijdperk begint aan te breken waarbij SSDs een hardeschijf kunnen gaan vervangen. Dit geldt met name voor mensen die niet zo heel veel opslag nodig hebben en een grote behoefte hebben om helemaal vrij te zijn van mechanische opslag. Daar moet je dan wel voor betalen; meer dan 500 euro voor een SSD van bijna 1TB is een heleboel geld! Daar koop je ook 24TB aan mechanische opslag voor. Dat gezegd, heb je zo wel alle voordelen van SSDs en als 1TB voor jou genoeg is, ben je nu al wel in één klap af van alle nadelen van mechanische opslag. Heb je de knaken dan is dit echt wel het overwegen waard. Het enige minpunt vind ik dat over enkele jaren de prijs van een dergelijk grote SSD al gehalveerd kan zijn. Als je dat geen probleem vindt en je wilt nu graag de stap maken naar 100% solid state storage, dan is dit dé SSD!




Beste SSD voor gebruik in een mSATA slot


AlternatiefToelichting
Als jouw computer een mSATA slot heeft, dan heb je een speciale SSD nodig die hiervoor geschikt is. mSATA is een soort insteekkaartje wat fysiek lijkt op mini-PCI-express maar wat wel gewoon door normaal SATA wordt aangestuurd, veelal afkomstig van de Intel or AMD chipset. De SSDs hiervoor doen niets onder voor de normale varianten, behalve dan dat er minder ruimte is en de snelheden door de lagere capaciteit ook iets minder zijn. Maar in principe gelijkwaardig aan de SATA varianten.




Beste SSD voor Intel SRT caching



Toelichting
Voor de Intel SRT caching feature wil je een SSD van minimaal 64GB. Maar liever wil je nog iets meer ruimte om overprovisioning toe te passen. Dit houdt in dat je een gedeelte van de SSD niet gebruikt en ook ongepartitioneerd laat. Met name als je caching gebruikt, is dit belangrijk. Dit komt omdat het gebruik van caching een zwaardere belasting is voor je SSD en ook omdat de caching-feature geen TRIM-instructie ondersteunt die ongebruikte ruimte weer teruggeeft aan de SSD. Dus 120GB is een goede hoeveelheid en neem dan gelijk een van de beste SSDs: de Crucial M500. Voor 100 eurotjes ben je dan klaar en kun je je terabytes-grote hardeschijf array versnellen. Dit houdt in dat de snelheid hiervan ongeveer tussen die van een SSD en een HDD zal komen te liggen. Bedenk wel dat caching alleen effectief werkt als je je computer niet regelmatig herstart. Bij het herstarten zal de cache namelijk gereset worden. Voor 24/7 systemen die veel gegevens verwerken zoals hardcore gamers is Intel SRT een goede feature omdat je zo heel veel ruimte grofweg de gevoelssnelheid van een SSD kunt geven.




Beste SSD voor ZFS caching en intent log


AlternatievenToelichting
Als je een SSD zoekt voor gebruik met het ZFS bestandssysteem dan is het belangrijk of je alleen caching gaat gebruiken of ook de intent log functie; ook wel SLOG or incorrect ZIL geheten. Als je alleen caching gebruikt, heb je geen veilige SSD nodig. Een tweedehands crappy SSD is dan prima, omdat ZFS zal weten wanneer de data op de SSD cache corrupt is. In dit geval wordt de data van je hardeschijf array gelezen zodat corruptie op de SSD nooit kan doorvloeien naar je applicaties. Echter, als je ook de intent log feature gaat gebruiken heb je een SSD nodig met power-safe capacitors. Dit zijn alleen de Intel 320, Intel S3500, Crucial M500 en Seagate 600 Pro. De eerste drie kan ik aanraden. De Intel 320 en S3500 zijn hierin beter omdat ze geen user-data over de DRAM-geheugenchip laten lopen. Dus als je serieus met ZFS aan de slag wilt, is een Intel S3500 dé keuze.




Beste USB-stick voor grote bestanden



AlternatiefToelichting
Een forse prijs, maar dan ben je ook in één klap af van elke keer een nieuwe USB stick kopen omdat de vorige niet voldoet. Zelfs de grootste blu-ray rips zijn voor deze stick geen probleem. En de snelheid is met 180MB/s voor deze klasse extreem hoog te noemen. Tevens zijn de random write snelheden erg hoog wat redelijk zeldzaam is voor USB-sticks. Let wel op dat de kwaliteit van de behuizing veel minder indrukwekkend is dan de prestaties. Het alternatief van Kingston heeft een stevigere behuizing maar wel een iets lagere schrijfsnelheid van 135MB/s.




Beste USB-stick voor het draaien van een operating system




Toelichting
Voor het draaien van een besturingssysteem zoals Linux of UNIX vanaf een USB-stick moet je vooral niet kijken naar de sequentiële snelheden. Het gaat hier voornamelijk om de random write snelheid. Deze is voor sommige USB-sticks extreem traag; 0,001MB/s; dat is een factor duizend trager dan een hardeschijf. Deze stick doet ongeveer 5MB/s random write en dat is dus 5000 keer sneller dan een trage USB-stick op dit performancegebied. Dit ga je tevens merken met de levensduur van de stick, dat komt door de zogeheten write amplification. Als een SSD of USB-stick traag is, betekent dit vrijwel automatisch dat de levensduur ook harder afneemt. Trage sticks zijn dus ook veel sneller kapot dan sticks met goede 4K random write snelheden. De 55MB/s sequential write is ook hoog voor een stick van deze grootte, maar daar hoef je opzich niet zo naar te kijken. Het gaat allemaal om de random write als je de stick voor operating systems wilt gebruiken!




SSDs die je beter niet kunt kopen

Let op: de namen die vetgedrukt staan, zijn namen van SSD controllers. Dergelijke controllers worden gebruikt in diverse merken SSDs. Voordat je een SSD koopt, dien je te weten welke controllerchip erin zit. Als je het merk en type controller niet weet; koop de SSD dan vooral niet!

Phison
Dit is een controller die veelvuldig voorkomt in USB-sticks. Hij belooft goede prestaties maar in de praktijk kunnen deze ernstig degraderen. Ook is de controller waarschijnlijk minder betrouwbaar. Er is ook niet zoveel over bekend. Hij wordt voornamelijk gebruikt in budget SSDs zoals de Crucial V4. Het prijsverschil met de veel betere M4 is zeer gering maar het verschil in kwaliteit is wel erg groot. Om deze redenen zijn SSDs met deze controller dan ook totaal niet interessant. Ik zou je sterk aanraden om één tientje - tegenwoordig drie kopjes koffie op het terras - meer uit te geven voor een véél betere SSD.

Sandforce
De bedrieger onder de SSD controllers. Als enige controller past deze technieken toe als compressie en deduplicatie. Dit zodat de controller populaire benchmarks om de tuin kan leiden. Het hele doel van Sandforce was om goed te scoren in benchmarks. Dat is ook gelukt, althans in het begin toen hier nog niet zoveel over bekend was. Dit heeft ervoor gezorgd dat Sandforce heel populair werd en veel werd gebruikt in SSDs. Het grote nadeel is dat consumenten massaal werden benadeeld omdat de SSD niet zo snel was als werd geadverteerd. Een SSD kan als 500MB/s verkocht worden, terwijl daar in het meest extreme geval in de praktijk maar 35MB/s van over bleef. De specificaties zijn dus gebakken lucht. Maar nog veel erger is dat de technieken die gebruikt worden om benchmarks te misleiden, ervoor hebben gezorgd dat de controller heel complex werd en dat heeft gezorgd voor heel veel firmwaredefecten resulterende in met bosjes uitvallende SSDs. Sandforce werd vooral gebruikt in het slechte merk OCZ. Later is Intel - die juist weer wel een goede naam heeft - ook Sandforce gaan gebruiken. Dit was wel in een tijd waarin veel bugs al verholpen waren, en bovendien Intel eigen firmware gebruikte om de kans op uitval te reduceren. Toch had Intel veel beter aan hun eigen controllerontwerp kunnen werken, die juist van uitzonderlijke kwaliteit was destijds. Helaas is daar heel lange tijd niets van terecht gekomen. Intel telt dan ook niet echt meer mee in SSD land, in elk geval niet voor consumenten. Vergane glorie, helaas. ;(

De grap is ook dat tegenwoordig Sandforce veel betrouwbaarder is dan vroeger en helemaal niet zo slecht meer is. Maar juist nu zijn alle trucjes en misleiding van de controller niet meer nodig, omdat ook zonder dergelijke trucjes moderne SSDs nu puur en eerlijk tot 500MB/s performance halen. Alle moeite voor niets dus, achteraf. Sandforce was vroeger een slechte keuze. Nu is het een middenmoter. Maar niet het aanbevelen waard; er zijn betere SSDs.

Indilinx Everest
Na de overname van Indilinx door OCZ bracht het bedrijf SSDs op de markt die een Indilinx Everest controller zouden hebben. In feite zijn dit echter controllers van Marvell: de Indilinx Everest 1 maakt gebruik van een overgeclockte Marvell 88SS9174 en de Indilinx Everest 2 maakt gebruikt van diens opvolger de Marvell 88SS9187. Beide controllerchips hebben echter de opdruk "Indilinx" gekregen, wat impliceert dat het eigen ontwerpen waren van OCZ; iets wat achteraf niet blijkt te kloppen. De firmware is echter wel door OCZ/Indilinx ontwikkeld, met hulp van Marvell.

De firmware en opgevoerde controller lijkt echter geen groot succes, want de uitval is volgens sommige bronnen meer dan 50% geweest; oh my god! :X


OCZ propaganda
No shit sherlock! But what good is a fast SSD when it stops working?!


Indilinx Barefoot 3
De nieuwe controller van OCZ genoemd naar de fabrikant van SSD controllers die nu is overgenomen door OCZ. De grap is dat deze controller helemaal geen 'Indilinx' is; maar een eigen ontwerp van OCZ met ook eigen firmware. Alleen de naam en wellicht patentenportenfolio zijn van Indilinx, wat OCZ aan de overname heeft gehad is mij dan ook niet geheel duidelijk. De Barefoot 3 controller wordt gebruikt in de OCZ Vector series.

JMicron
Ah, jaaa, mijn lieveling de JMicron JMF602! Gebruikt in de OCZ Core 1 en 2 series; zo ongeveer de slechtste SSDs ooit. Doordat deze controller de write latency extreem hoog liet oplopen, was hij zo goed als onbruikbaar. Het gevolg waren blauwe schermen en hangende applicaties. Door de stotteringen veroorzaakt door hoge latencies heeft deze controller een beruchte reputatie gekregen. Zo berucht zelfs, dat andere merken die deze budgetcontroller wilde gebruiken de naam JMicron zelfs weglaserden en er de naam Toshiba opzette. Ha ha ha! :D Het Noord-Korea onder de SSD controllers. You love to hate them. :+

Basically, the JMicron JMF602 controller has been laser etched with the Toshiba name as Kingston didn't want consumers to see the JMicron name.

JMicron heeft nog wel wat pogingen gedaan met nieuwere ontwerpen hun faalcontroller nieuw leven in te blazen. Maar je vindt deze controllers alleen terug op onbekende budget SSDs. Absoluut niet doen dus!




Updates

Dit is een levend document dat wordt aangepast zodra er bij mij nieuwe inzichten ontstaan of er nieuwe ontwikkelingen zijn zoals prijsfluctuaties en nieuwe producten. Overzicht van inhoudelijke wijzigingen:
  • 15 juni 2013 - toelichting aangepast van de Samsung 840 Pro naar aanleiding van feedback.
  • 15 juni 2013 - alternatief voor beste USB stick toegevoegd naar aanleiding van tip van Perkouw.
  • 20 juni 2013 - stuk over OCZ Indilinx en Barefoot 3 herschreven naar aanleiding van feedback.
  • 24 augustus 2013 - prijzen geupdate en Intel 320 vervangen door zijn opvolger: de Intel S3500.

SSD betrouwbaarheid

Door CiPHER op vrijdag 07 juni 2013 10:34 - Reacties (22)
Categorie: SSD, Views: 17.083


Inleiding

Mijn tweede blog zal gaan over SSD betrouwbaarheid; of eigenlijk moet ik zeggen de gebreken op dit vlak.

Zoals in mijn vorige blogpost over SSD performance valt te lezen, ben ik van mening dat menig consument zich niet zo moet blindstaren op prestatieverschillen tussen SSDs. Vooral omdat die verschillen er niet zo toe doen; je merkt er nauwelijks wat van. Elke moderne SSD is een grote stap als je van een hardeschijf komt. Prestatieverschillen tussen moderne SSDs onderling zijn echter nauwelijks merkbaar.

Als verschillen op het gebied van prestaties er niet toe doen, worden andere verschillen veel belangrijker. En behalve prijs gaat het dan met name over de betrouwbaarheid van een SSD. Vreemd genoeg lijkt bijna niemand zich druk te maken over betrouwbaarheid. Jammer, want juist bij SSDs is dit het gebied waar de heren zich onderscheiden van de mannen.

Maar waar moet je dan op letten? Hoe moet jij nou weten welke SSD betrouwbaarheid is? Daarvoor lees je natuurlijk mijn blog! Dan kun je als consument gewapend met onafhankelijke kennis op pad; immuun voor alle deceptie die de leveranciers graag marketing noemen.

Voor diegenen met weinig tijd, snel doorklikken naar:

Wat is betrouwbaarheid?

Hier moet ik echt mee beginnen, want zo vreemd als het klinkt weet niet iedereen hierin de nuance aan te brengen. Dit werd duidelijk in mijn vorige blogpost, waar in de reacties onduidelijkheid bestond over het verschil tussen write endurance en betrouwbaarheid.

Laat ik betrouwbaarheid omschrijven als het zonder merkbare storingen blijven functioneren van het opslagapparaat, gedurende zijn levensduur. Je kunt dit omschrijven als betrouwbaarheid van een specifiek exemplaar - dus één sample - of in het algemeen over een productserie met heel veel samples. Dat laatste is tricky, want als iets als héél betrouwbaar te boek staat kan het nog steeds voorkomen dat jouw exemplaar de uitzondering is. En omgekeerd ook, SSDs die meer dan 50% failure rate hebben, kunnen bij anderen correct functioneren zonder dat zij problemen hebben ondervonden.

Betrouwbaarheid kun je wel onderscheiden in diverse aspecten:
  • Het niet zomaar defect raken van het apparaat gedurende de nominale levensduur, waarbij het apparaat ophoudt te functioneren, zoals niet meer herkend worden door de BIOS.
  • Het probleemloos functioneren van het apparaat, zonder timeouts, bad sectors, datacorruptie en andere tekortkomingen die te wijten zijn aan het opslagapparaat zelf.
  • Het hebben van een lange voorspelbare levensduur - de write endurance in geval van SSDs. Dit is een voorspelbaar gegeven afhankelijk van de SSD zelf en de wijze van gebruik; hoe snel je een apparaat slijt. Een goede analogie is een gloeilamp die een voorspelbaar aantal branduren heeft, of bijvoorbeeld een kaars. Dit is duidelijk verschillend van het punten hierboven, waarbij het juist gaat om onvoorspelbare levensduur.
  • Voorzieningen die tekortkomingen van het opslagapparaat zelf te adresseren, zoals een beveiliging voor de DRAM-writeback en interne werking van de SSD, zoals power-safe capacitors. Dit is deels overlappend met het 1e en 2e punt hierboven genoemd.
  • Voorzieningen die tekortkomingen van de host te adresseren. Een goed voorbeeld hiervan is TLER. Dit is niet nodig als de host goed met het apparaat omgaat, maar wel nodig om tekortkomingen in specifieke implementaties - voornamelijk hardware RAID - te adresseren. Eigenlijk een workaround voor een design flaw dus.
Bij veel discussies over writecycli wordt de betrouwbaarheid volkomen genegeerd. De enige vraag die men stelt is na hoeveel write cycli de SSD er totaal mee ophoudt. Maar die vraag is eigenlijk helemaal niet interessant. Veel interessanter is echter of de SSD bij normaal gebruik betrouwbaar blijft functioneren.



Annual Failure Rate

De meest universele expressie van betrouwbaarheid is de AFR wat in normaal Nederlands de jaarlijkse kans op falen inhoudt. Een AFR van 3% betekent dus dat als je tienduizend exemplaren gaat testen over een periode van 5 jaar, hier gemiddeld 15% van de exemplaren het einde van het 5e jaar niet halen. Dit betekent overigens niet dat de failures gelijkmatig zijn verdeeld over die 5 jaar; vooral bij hardeschijven zit hier veel verschil in waarbij de eerste jaren een lagere failure rate geldt terwijl die na het 3e jaar sterk kan oplopen. Er zijn diverse studies gedaan die dit patroon onderschrijven. Bij SSDs lijken de failures zich veel gelijkmatiger te spreiden over de jaren heen, wat betekent dat de kans op een defecte SSDs binnen enkele maanden na aanschaf relatief groter is dan bij een hardeschijf, maar uiteindelijk de hardeschijf het zal afleggen. De oorzaak hiervan kan heel divers zijn, maar naar mijn inschatting is het mechanische karakter van de hardeschijf hier debet aan. De SSD is solid state en als deze defect raakt is daar een oorzaak aan die anders is dan natuurlijke degradatie van fysieke componenten.

http://tweakers.net/ext/f/8FSMRkidOL2S8WJ1BH2YrTyh/full.jpg
AFR zoals opgegeven door Intel voor de Intel X25-M SSD


Wat is een failure?
Bedenk wel dat een failure in dit verband een niet heel duidelijk gedefinieerd begrip is. Volgens sommigen omvat dit alle defecten die de correcte werking verstoren. Dit betekent overigens niet dat een hardeschijf met bad sectors gelijk een failure is; technisch gesproken zijn deze ontworpen om bad sectors te genereren. Dit is vastgelegd in de uBER-specificatie. Een failure in dit verband betekent dat het niveau van bad sectors of andere oorzaken die die de normale werking verstoren, de opgegeven specificaties overstijgen. Kortom, als er meer bad sectors zijn dan zou mogen, dan is het een failure.

Maar anderen hanteren een striktere definitie van failure, waarbij het apparaat permanent defect dient te zijn. Bij hardeschijven betekent dit bijvoorbeeld niet meer opspinnen of niet gedetecteerd worden. Bij SSDs betekent dit dat ook na een secure erase-procedure de SSD niet meer tot leven komt.

Zelf denk ik dat de eerste definitie het beste is. Zo lang dat een apparaat binnen zijn specificaties opereert, is het niet defect. Als de specificaties zeggen dat tienduizend bad sectors normaal is - simpel gezegd - dan is het apparaat niet defect zolang het nog werkt en deze grens niet overschrijdt. Immers, je wist waar het product voor gespecificeerd cq. gecertificeerd was. De aanname hierbij is dat je rekening kunt houden met waar het product voor ontworpen is.



Write endurance

Dan belanden we bij de expressie van betrouwbaarheid waar veel consumenten zich druk over maken. Onterecht eigenlijk, want het zijn juist zakelijke gebruikers waarbij endurance oftewel duurzaamheid van belang is.

Een kleine opfrisser: SSDs kunnen vrijwel oneindig worden gelezen, maar hebben een beperkt aantal wis- en schrijfbewerkingen. Als je je SSD dus hoofdzakelijk gebruikt om van te lezen, kan deze absurd lang meegaan. Maar als je heel intensief gegevens schrijft naar de SSD, kan deze ook zeer snel onbruikbaar worden. Belangrijk hierbij is hoe de SSD gebruikt wordt, daarom kijken we specifiek naar:

Typisch consumentengebruik
Consumenten gebruiken een SSD eigenlijk op lichte manier. Dat wil zeggen dat de SSD maar zelden op volle snelheid wordt gebruikt. De keren dat een SSD op zijn snelst moet werken, is hoofdzakelijk als deze wordt gebenchmarkt. Bij normaal gebruik hoeft een SSD maar zeer zelden veel gegevens te schrijven. Denk aan installatie of updaten van software en kopieeracties. Maar daar houdt het dan wel bij op. Zeker een kleine SSD die als systeemschijf gebruikt wordt, zou maar minimaal belast moeten worden met writes. Als je zuinig bent met je SSD, kan deze dus decennia lang meegaan. Theoretisch zelfs meer dan 100 jaar.

Power-users of gebruikers met een grote SSD die niet alleen als systeemschijf wordt gebruikt, maar ook voor het downloaden en verwerken van grote bestanden, zullen hun SSD zwaarder belasten. Maar daarbij spelen twee verzachtende factoren: een grotere SSD kan automatisch ook meer schrijfacties verwerken. Normaliter betekent een dubbel zo grote SSD ook een dubbel zo grote write-endurance. Kortom, een 240GB SSD kan twee keer zoveel writes verwerken als een 120GB SSD. Daarnaast geldt dat het schrijven van grote bestanden minder belastend is dan zogenaamde random writes. Dit heeft te maken met de Write Amplification factor (WAf) - wat grofweg betekent dat het schrijven van 100GB ervoor zorgt dat een SSD intern tot 150GB moet verwerken. In dit voorbeeld is de WA-factor 1.50.

Typisch zakelijk gebruik
Bij zakelijke klanten gaat het veelal om serversystemen die zwaar belast worden en 24/7 hun werk doen. Denk aan webservers, databases, verwerking van betalingstransacties en klantbeheersystemen. De eigenaars van dergelijke servers willen natuurlijk een betrouwbaar product, maar als het product betrouwbaar werkt voor slechts 3 maanden lang, dan betekent dit wel een hoge kostenpot. Zie het als een kaars: hij kan betrouwbaar branden, maar wel snel 'op' zijn. Daarbij doel ik op de maximale writecycles waarvoor een SSD gespecificeerd is.

Voor zakelijke gebruikers is write endurance vooral een geldkwestie. Het kost geld om elke x maanden de SSDs te vervangen voor nieuwe exemplaren omdat ze hun opgegeven write cycles hebben overschreden. Niet alleen de kosten van de SSDs zelf - die doorgaans veel duurder zijn dan consumenten SSDs - maar vooral ook het offline halen van de servers en arbeidskosten die hierbij komen kijken. Minder vaak hoeven te vervangen betekent dus minder kosten.

Belangrijk is dat zakelijk gebruik zich kenmerkt door een veel zwaardere belasting in termen van absolute writes, maar ook in termen van het soort writes. Serversystemen zullen vaker dan bij consumentengebruik zogenaamde random writes uitvoeren, dit zijn kleine writes die een zwaardere belasting opleveren voor de SSD. Technisch gesproken betekent dit dat de WA-factor sterk zal stijgen. Dit betekent dat bij intensief gebruik in servers de SSD veel sneller door zijn writes zal gaan. Oftewel: de kaars brandt sneller op.

Omdat zakelijke gebruikers behoefte hebben aan hogere write endurance, kiezen zij vaak voor andere SSD technologie. Hieronder valt het bekende SLC NAND-geheugen, maar sinds enige tijd ook het eMLC geheugen. Dit laatste onderscheidt zich van normaal MLC-geheugen op twee punten: het kan meer writes verwerken, maar dat gaat wel ten korte van de dataretentie, die soms nog maar 3 maanden kan worden gegarandeerd. Dit type geheugen is veel minder geschikt voor consumenten en ook duurder.

Write endurance is voorspelbaar
Zoals hierboven uitgelegd, is write endurance eigenlijk helemaal niet zo relevant als het om betrouwbaarheid gaat. Immers: het is zo voorspelbaar. Je hebt een gegarandeerd aantal writes en je kunt middels de SMART simpelweg uitlezen hoeveel endurance je nog te gaan hebt. Oftewel, hoeveel van de kaars je reeds hebt opgebrand. Door de tijdsduur hierbij te betrekken, kun je ook een schatting maken op welke datum je SSD door zijn gegarandeerde writes heen zal gaan, aangenomen dat je gebruikspatroon nauwelijks verandert.

http://tweakers.net/ext/f/uwJKYqnsNEzJWQL9JHxqEFDn/full.png
Voorbeeld van voorspelbare duurzaamheid met SSDLife


Write endurance in reviews
Zoals hierboven uitgelegd is write endurance voor consumenten eigenlijk het minst interessant. Toch wordt hier veel aandacht aan geschonken door consumenten maar ook reviewers. Met name testen die zouden moeten aantonen dat SSDs ook nog blijven functioneren lang nadat zij de opgegeven write endurance hebben overschreden, zijn populair. Cruciaal hierbij is om te vermelden dat de write endurance niet een kwestie is van absolute writes waarna het apparaat er geheel mee ophoudt. Het échte probleem is dat naarmate de geheugencellen door hun write cycles heenbranden, de betrouwbaarheid sterk afneemt. Dit aspect wordt veelal niet vermeld bij de testen die dergelijke reviews uitvoeren, terwijl dit toch een cruciaal punt is van zorg.

De write endurance is derhalve niet een kwestie van absoluut aantal write cycles dat je opslagapparaat kan verwerken, maar meer een algemene grens waarbij je SSD betrouwbaar blijft functioneren gegeven een hoeveelheid writes. Naarmate je de opgegeven writecycles overschrijdt, zal de betrouwbaarheid namelijk sterk afnemen en neemt de kans op corruptie toe. Dit wordt enigszins gemaskeerd door de manier van testen, omdat de betreffende geheugencellen continu worden ververst met nieuwe gegevens die de retentietijd telkens resetten. Hierdoor blijft het probleem van verminderde betrouwbaarheid grotendeels gemaskeerd.

Dit leidt uiteindelijk tot verkeerde conclusies door lezers van dergelijke reviews. Zij zullen namelijk in de veronderstelling zijn dat write endurance een totaal non-issue is omdat je zelfs nog een werkend opslagapparaat hebt naarmate je de opgegeven writes met grote marge hebt overschreden. Echter, dat de SSD hierdoor flink inboet in termen van betrouwbaarheid, wordt niet altijd voldoende begrepen of uitgelegd in de reviews. In zijn algemeenheid kun je stellen dat je SSD het meest betrouwbaar is tot de helft van de opgegeven write endurance. Daarna loopt het gestaag af en na de opgegeven write endurance gaat de betrouwbaarheid hard achteruit. De kans op corruptie neemt dan sterk toe, met name bij realistisch gebruik waarbij de retentietijd niet continu gereset wordt en de SSD niet continu van stroom wordt voorzien.



Dataretentie

Vaak hopeloos genegeerd is de retentie van de opgeslagen data, oftewel de dataretentie. Dit houdt simpelweg in dat het opslagapparaat de opgeslagen gegevens slechts beperkte tijd kan behouden zonder deze opnieuw te schrijven. Retentie bij hardeschijven is een moeilijk begrip waar ik dieper op in zal gaan in de toekomstige blog over HDD betrouwbaarheid. In deze blog richt ik mij specifiek op SSDs en in dit verband is de retentie veel duidelijker, zij het vaak verkeerd begrepen of zelfs geheel onbekend bij het grote publiek.

Retentie bij consumenten SSDs
Normaliter hebben SSDs bedoeld voor consumenten een gegarandeerde retentieduur van tenminste 12 maanden. Dit is vastgelegd in JEDEC-specificatie JESD22-A117B die NAND-producenten hanteren om tot algemene standaardisering te komen. Die 12 maanden is dus een soort garantie dat 99%+ van de NAND cellen gedurende hun write endurance hun data blijven behouden.

Retentie bij enterprise SSDs
Heel anders dan de SSDs voor consumenten hebben zakelijke gebruikers er baat bij om wat retentie op te offeren in ruil voor extra writecycli ofwel write endurance. Aangezien de gebruikers van dergelijke enterprise SSDs weten dat het product een minder hoge retentietijd heeft van bijvoorbeeld 3 maanden, kunnen ze hier rekening mee houden. Zij zullen dergelijke vaak peperdure SSDs echt niet een half jaar op de plank laten liggen. In elk geval niet terwijl de gegevens nog nodig zijn. Enterprise-gebruikers hebben vaak hun backups goed geregeld en retentietijd is derhalve helemaal niet zo interessant. Voorts worden de gegevens veelal ook vaak bijgewerkt en dus overschreven, waardoor de benodigde retentietijd in sommige gevallen niet langer hoeft te zijn dan een week. Maar enige marge is altijd fijn, en drie maanden tijd is veruit voldoende voor het typische gebruik van enterprise SSDs.

Retentie loopt terug naarmate de SSD gebruikt is
Interessant om te vermelden is dat de retentietijd sterk afhangt van de mate van slijtage van de NAND cellen. Een SSD met 12 maanden gegarandeerde retentie, zal in de praktijk een gemiddelde retentie hebben van ongeveer 10 jaar wanneer de SSD nog vers en ongebruikt is. De retentie neemt af naarmate de SSD door zijn write cycles heengaat, waarbij 12 maanden retentie nog haalbaar zou moeten zijn - gemiddeld - wanneer de gegarandeerde writecycles zijn opgebruikt. Er zit hier echter wel een grote maar bij: de retentie is niet gelijkmatig verdeeld over alle NAND cellen. De ene cell zal sneller degraderen dan andere cellen. Gevolg is dat je gemiddelde retentie wel 12 maanden kan zijn, maar dat een handjevol cellen een sterk verminderde retentie kennen. Je wilt dus altijd een flinke marge hebben om dit effect te minimaliseren, vooral omdat je niet vooraf kunt meten welke cellen een lagere retentietijd hebben.

http://tweakers.net/ext/f/LK3x6lWvsPLcaaa5smCrNfOL/full.gif
De retentie loopt terug van 10 jaar tot 1 jaar vanaf 10% van de opgegeven write endurance


Retentie loopt terug wanneer de SSD onverwacht stroom verliest
Als een SSD onverwacht stroom verliest en deze beschikt niet over power-safe capacitors zoals hieronder beschreven, dan kunnen één of meerdere NAND pages permanent beschadigd worden. Dit valt niet of nauwelijks te meten of te detecteren en geldt zeer specifiek voor de pages waarvan de write-cycle is onderbroken door onverwacht stroomverlies. Deze pages zullen in veel gevallen permanent een lagere retentie krijgen dan gebruikelijk is voor het type NAND chip. Hier valt ook niets meer aan te doen. Zeker voor zakelijk gebruik is stroombeveiliging in de vorm van UPS maar vooral power-safe capacitors dus eigenlijk een absolute must. Equivalent hieraan is de ECC-bescherming voor RAM-geheugen, die eigenlijk ook niet optioneel is voor échte servers die gewoon absoluut betrouwbaarheid moeten functioneren. Met dergelijke serieuze eisen aan betrouwbaarheid dient de technologie ook over de juiste voorzieningen te beschikken om dit mogelijk te maken. Enterprise-gebruikers wantrouwen om deze reden veelal consumentenproducten, omdat deze vaak ontworpen zijn om nét betrouwbaar genoeg te zijn voor consumentenbegrippen, maar zeker niet voldoen aan de eisen die zakelijke gebruikers stellen. Maar er zijn uitzonderingen, zoals we straks zullen zien.

Retentie kan worden gemanaged door de controller
Om het verhaal nóg iets complexer - maar daarmee ook vollediger - te maken, moet ik vermelden dat retentie kan worden gemanaged door de controllerchip. Dit betekent dat de controller kan weten welke cellen lange tijd niet ververst zijn en zodra er een grens wordt bereikt - de retention threshold - kan de controllerchip besluiten de gegevens opnieuw te schrijven. Het probleem hierbij is dat de controllerchip moet bijhouden welke cellen lange tijd onbeschreven zijn. Hier kunnen diverse mechanismen voor gebruikt worden, maar de mechanismen die echt effectief zijn, zijn erg complex en zul je naar alle waarschijnlijkheid niet terugvinden in consumenten SSDs. De meest simpele implementatie is de tijd meten hoelang de SSD voor het laatst van stroom is voorzien. Als deze tijd te lang is, zal er een verversing plaatsvinden van alle NAND cellen die host-data bevatten. De complexe implementaties zullen een tabel bijhouden naast de mapping tables die bijhouden hoe lang geleden deze beschreven zijn, en dynamisch de data verversen wanneer nodig. Het is mij niet bekend welke producten welke implementaties gebruiken. Ik denk dat je moet aannemen dat consumenten SSDs geen afdoende bescherming hebben in dit opzicht. Ze zullen simpelweg vertrouwen op de relatief hoge retentietijd die de reguliere NAND-chips van nature hebben.

Retentie wordt getest in de oven
Geen grapje! De JEDEC - een onafhankelijke organisatie voor standaardisering in de halfgeleidersindustrie - gebruikt methoden van verhitting om de retentietijd de voorspellen. Het is namelijk ondoenlijk om een product 10 jaar lang uit te testen op retentie voordat het op de markt wordt gebracht. In plaats daarvan worden geheugenchips in de oven geplaatst ter certificatie. Daarbij geldt dat 24 uur in een oven van 250 °C overeenkomt met een duur van 1000 jaar bij 25 °C. Dit is echter louter een wiskundige formule die wel ongeveer zal kloppen, maar waar ik altijd redelijk skeptisch over ben. Ik vraag mij namelijk af of je na 1000 jaar bij 25 graden Celsius wel degelijk in de praktijk overeenkomt met die 24 uur in de oven. Maar het is een standaard, tenminste iets waarop je de retentietijd kunt testen. Beter iets dan niets. Maar neem het wat mij betreft met een korrel zout. Niemand die over 1000 jaar gaat klagen dat de retentietijd niet klopt met wat de JEDEC destijds heeft aanbevolen. Aangezien geld in zijn huidige vorm over een dergelijke periode ook niet meer zal bestaan, kun je je schadeclaim dus wel vergeten. ;)



Hardwarematige bescherming

Betrouwbaarheid begint met de hardware. Hardware wil zeggen dat je het kunt aanraken; dat het fysiek is. Een SSD is een fysiek apparaat, dus hardware. Maar de data die erop staat, valt binnen het softwarematige oftewel digitale domein. De data is afhankelijk van de kwaliteit van de hardware. Dit omvat de kwaliteit van de NAND chips, de controllerchip en de connectie naar de controller toe.

SSDs onderscheiden zich in de mate van hardwarematige voorzieningen die tot doel hebben om dataverlies te voorkomen. We kunnen hierbij onderscheiden:

Stroomvoorziening
SSDs op basis van NAND technologie zijn om meerdere redenen zeer kwetsbaar voor onverwacht stroomverlies. Voordat de SSD stroom mag verliezen, dient deze eerst een STANDBY IMMEDIATE commando te ontvangen van de host; een seintje dat zegt: hey bereid je maar voor want de stroom gaat er zo af. Iedere keer dat een SSD stroom verliest zonder dat dit commando eraan voorafging, telt als een Unexpected Power-Loss. Dit kun je voor de betere SSDs ook terugvinden in de SMART-informatie, die je met het programma CrystalDiskInfo kunt uitlezen.

Onverwacht stroomverlies gebeurt veel vaker dan veelal wordt aangenomen. Veel mensen denken namelijk dat dit enkel gebeurt als je een stroomstoring hebt thuis. Dit is echter niet correct; ook een blauw scherm/crash gevolgd door een power-cycle, of de stroomknop gebruiken terwijl je in het BIOS zit, telt als onverwacht stroomverlies. Ook kunnen er bugs zijn waardoor hibernation, energiebesparingsfuncties en zelfs een nette shutdown als onverwacht stroomverlies zal tellen. Onder andere Windows heeft dergelijke bugs gekend, wat ervoor zorgde dat iedere shutdown telde als een unclean shutdown. Dan is het eigenlijk meer een kwestie van tijd dat het misgaat. Want iedere unclean shutdown is dobbelen in het casino. Als je maar lang genoeg dobbelt, krijg je een keer de hoofdprijs. En in dit geval is dat een corrupte SSD.

Power-safe capacitors
Om het risico van onverwacht stroomverlies in te dammen, worden de betere SSDs uitgerust met een beveiliging die bij onverwacht stroomverlies nog héél heel even stroom kunnen leveren. Dit is genoeg om de huidige write cycle af te maken en de mapping tables veilig af te sluiten. In de meeste gevallen gaat de write buffer wel verloren; dit zijn writes die de controller heeft ontvangen maar nog niet zijn weggeschreven. Echter, hier bieden filesystems afdoende bescherming voor in de vorm van intent logs, journalling en soft updates. Dit zou dus niet voor corruptie mogen zorgen, hooguit dat je de laatste x seconden kwijt bent; alsof die nooit hebben plaatsgevonden.

Er zijn twee vormen van power-safe capacitors:
  • Supercapacitor
  • Array of capacitors
Het verschil is simpel: de supercapacitor is één hele grote capacitor en de array of capacitors is een batterij van kleinere capacitors. De term supercapacitor wordt vaak gebruikt voor dit type beveiliging, maar tegenwoordig wordt vooral de array of capacitors geïmplementeerd in moderne SSDs. Dit omdat een supercapacitor stuk kan gaan en de bescherming dan niet meer werkt, terwijl bij de batterij van kleinere capacitors er één of twee capacitors stuk mogen gaan terwijl de bescherming dan nog intact blijft. Er zit namelijk een marge in de hoeveelheid stroom die nodig is en die de capacitors kunnen leveren.

http://tweakers.net/ext/f/3nsg1vL4mBrKCvpeYzjQAQCB/medium.jpghttp://tweakers.net/ext/f/l0w1P70Z0o42mlu5vejylz9k/medium.jpg
SupercapacitorArray of capacitors


Interessant om te vermelden in dit verband is dat het simpelweg aanbrengen van wat capacitors niet voldoende is. De firmware - de software - moet deze ook op de juiste wijze benutten. De eerste consumenten SSD met deze beveiliging - de Intel 320 - liet het op dit punt afweten. De firmware werkte niet goed samen met de capacitors, met als gevolg dat er alsnog een stroomonderbreking plaatsvond op het verkeerde moment. Dit is bekend komen te staan als de 8MB bug. Echter, deze benaming is misleidend. De 8MB bug was eerder het gevolg van onverwacht stroomfalen doordat de power-safe capacitorbeveiliging niet correct functioneerde door een firmwarebug. Doordat de beveiliging niet goed werkte, kon er alsnog corruptie plaatsvinden in de mapping tables - die tabellen houden bij hoe en waar je data is opgeslagen en zijn cruciaal voor het functioneren van een SSD. Als die corrupt raken, kan de firmware van de SSD heel divers reageren. Sommige SSDs zullen niet langer herkend worden door het BIOS, anderen zullen totale corruptie over het gehele oppervlak tonen, terwijl Intel de eigenschap had dat bij corrupte tabellen de SSD als 8MB groot werd herkend; vandaar de naam '8MB bug'.

Dit werd door veel consumenten opgevat als dat de Intel 320 minder betrouwbaar was. De ironie is echter, dat juist alle andere SSDs een '8MB bug' hebben, omdat deze sowieso geen power-safe capacitorbescherming hebben en dus altijd corrupt kunnen raken bij stroomverlies op het verkeerde moment. De Intel 320 had deze bescherming wel als enige moderne consumenten SSDs destijds. Dat deze in het begin niet goed functioneerde - iets wat Intel oploste met een firmwareupdate - doet daar niets aan af. Kortom, alle SSDs hebben de 8MB bug, terwijl een Intel 320 met geüpdated firmware deze bug juist niet heeft. Best wel ironisch dat de Intel 320 dan altijd in verband wordt gebracht met de '8MB bug'. ;)

DRAM write-back
Een ander hardwarematig punt is de aanwezigheid van de DRAM geheugenchip, vaak vlak naast de controllerchip gehuisvest. Deze geheugenchip, die je ook op RAM-geheugenmodules kunt terugvinden, wordt gebruikt om de controllerchip te ondersteunen in zijn taak en is vooral van belang voor het opkrikken van de prestaties. Echter, er zijn twee manieren waarop de chip gebruikt kan worden:
  • Cachen van de mapping tables - de FTL
  • Bufferen van schrijfbewerkingen; write-back buffering
Het eerste is de meest belangrijke; de DRAM-chip is veel sneller dan de NAND chips qua latency (vertraging) en kan dus veel beter dienen om de controllerchip te ondersteunen wanneer het de mapping tables moet raadplegen, wat minimaal eens het geval is bij elke I/O-bewerking en soms zelfs meerdere keren per bewerking. Ook kunnen wijzigingen aan de tabellen zo worden gebuffered, zodat niet voor iedere schrijfbewerking de tabellen naar NAND hoeven worden weggeschreven.

Sommige SSDs gebruiken de DRAM chip enkel voor het cachen en bufferen van de mapping tables. De Intel 320 is hiervan het beste voorbeeld; de DRAM-chip wordt niet gebruikt voor schrijfacties. In plaats daarvan heeft de controllerchip een 256KiB grote SRAM buffercache om de writes tijdelijk in te kunnen opslaan. Dit SRAM-geheugen is gelijk aan de Level1 en Level2 SRAM-cache zoals aanwezig in moderne Intel en AMD-processors en is sneller en betrouwbaarder dan DRAM geheugen, maar ook vele malen duurder dan DRAM.

Helaas is het erg verleidelijk om niet te investeren in SRAM maar de DRAM-chip te gebruiken voor het bufferen van schrijfbewerkingen. Dit betekent dat de schrijfbewerkingen simpelweg verdwijnen zodra de stroom onaangekondigd wegvallen. Ook is het een extra risico aangezien de data een omweg neemt waarbij corruptie op de loer ligt.

http://tweakers.net/ext/f/E7voCrR866eilKVajX1nnn4E/full.png
Midden: Samsung controller; onder: DRAM-chip; rechts: NAND-geheugenchips


End-to-end data integrity
Met name op het gebied van datacorruptie is de end-to-end data integrity het vermelden waard. Want zoals velen weten kunnen DRAM-chips corruptie vertonen en dit heeft de potentie om al je data te corrumperen zonder dat dit opgemerkt wordt. Je NAND kan dan heel betrouwbaar zijn evenals je controllerchip, maar als de DRAM-chip als buffer wordt gebruikt voor de schrijfbewerkingen en deze vertoont corruptie, dan heb je een groot probleem. Om dit enigszins te verzachten, is er het principe van end-to-end data integrity. Dit heeft tot doel om de data van bron tot eindbestemming te volgen en de integriteit ervan te bewaken. Anders gezegd: zodra de SSD de gegevens in handen heeft, garandeert het dat de gegevens ervan niet gecorrumpeerd worden. Ofwel het kan de gegevens niet meer leveren en het stuurt een I/O-error terug, ofwel het stuurt de gegevens terug zoals deze origineel door de SSD zijn ontvangen. Corruptie mag dus niet plaatsvinden, dat is een essentieel onderdeel van een betrouwbaar opslagapparaat.

In veel implementaties van end-to-end data integrity wordt ECC ofwel pariteitsbescherming toegevoegd om corruptie op te merken. Indien er corruptie heeft plaatsgevonden die niet te corrigeren is, zal de I/O-bewerking opnieuw plaatsvinden. In de SMART-gegevens kan men vaak aflezen hoe vaak dit gebeurt. Een slechte score op het gebied van end-to-end data integrity betekent vaak dat de DRAM-chip defect is en corruptie vertoont. Het apparaat wordt hierdoor minder betrouwbaar, maar blijft veelal wel functioneren.



Softwarematige bescherming

Zoals het verhaal hierboven met de Intel 320 al duidelijk maakt, zijn hardwarematige beveiligingen nog geen garantie dat alles goed werkt. De mogelijkheden die de hardware biedt, moeten ook door de software op juiste wijze worden benut. De software in dit verband is de firmware die de controllerchip aanstuurt. Deze firmware is niet zomaar uitwisselbaar met andere SSDs; dergelijke firmware is heel specifiek voor een controllerchip geschreven. Maar de firmware is doorgaans wel te updaten, wat nodig kan zijn om bepaalde bugs te verhelpen. En dat is enorm vaak voorgekomen in de historie van moderne SSDs vanaf de 2e generatie. Er zijn eigenlijk geen uitzonderingen: alle controllerchips hebben firmwarebugs gekend die tot dataverlies konden leiden. Sommigen waren minder ernstig, zoals de Intel X25-M G2 een datalossbug had die enkel optrad als je een BIOS HDD wachtwoord instelde en ook TRIM gebruikte. Dit deden niet veel mensen, en ik kan me voorstellen dat zoiets door de certificatie komt omdat een BIOS wachtwoord niet zovaak wordt gebruikt laat staan getest.

Toch is het belangrijk om stil te staan hoe complex een moderne SSD eigenlijk is. Dat is ook de grootste reden dat SSDs zoveel gebreken kennen die hun betrouwbaarheid aantasten. De SSD is eigenlijk een kleine computer met een processor, met geheugen, met een operating system (de firmware) die uiteindelijk de NAND-chips aansturen. Waarom zoveel complexiteit? Dat is iets wat ik in een volgende blog zal behandelen. De korte conclusie is dat dergelijke complexiteit nodig is omdat zonder die complexiteit SSDs heel traag zouden zijn met random writes. USB-sticks zijn hier een goed voorbeeld van. Sommige USB-sticks zijn een factor 100 tot 1000 trager dan een 5400rpm hardeschijf op het gebied van random write. Een moderne SSD is een factor 100 sneller dan een dergelijke schijf; dus je zit aan een factor 100.000 verschil. Aha, nu snap je waarom die compexiteit nodig is. ;)

Laten we kijken naar welke softwarematige voorzieningen we kunnen onderscheiden als het gaat om betrouwbaarheid:

ECC
De basis van gegevensbescherming begint met errorcorrectie. De meest bekende en meest toegepaste vorm hiervan is ECC; Error Correcting Code. Dit is een vorm van errorcorrectie, terwijl het eveneens bekende CRC een vorm van errordetectie is. Het verschil mag duidelijk zijn: waar CRC enkel fouten kan detecteren, kan ECC deze ook corrigeren. De ECC errorcorrectie wordt toegepast binnen NAND pages; dit zijn blokjes van 4K of 8K waar een vorm van ECC is toegepast. Technisch gesproken heet dit de spare area - wat niet verward mag worden met de spare space die SSDs veelal hebben om hun prestaties op peil te houden. De spare area is een extra opslaggebied van een NAND page die errorcorrectie kan worden gebruikt. Als we aannemen een NAND page van 2KiB groot, dan is deze niet 2048 bytes zoals je zou verwachten, maar in werkelijk is deze 2048+64 = 2112 bytes groot.

http://tweakers.net/ext/f/UBge2HHm2SEaUBJpUhQcMsuK/full.png
NAND page van 2KiB met 64 bytes aan spare area


ECC overhead
Hedendaags zijn de NAND pages groter geworden omdat dit voordelen kent op het gebied van prestaties en gemakkelijker is om bij te houden; minder blocks betekent minder overhead. De huidige page size is om die reden 8KiB bij de huidige generatie SSDs. Dit betekent overigens niet dat de ruimte voor foutcorrectie in gelijke grootte dient toe te nemen. Met grote blocks is relatief minder foutcorrectie nodig:

http://tweakers.net/ext/f/aSiu1nfePVjo7v3jWZXdYulp/full.png
Grotere blocks betekent relatief minder ECC-overhead


RAID5 bitcorrectie
Naast ECC is een belangrijke vorm van foutcorrectie de toepassing van pariteit. Dit is beter bekend als RAID5. Zoals in de vorige blog over SSD performance reeds is opgemerkt, zijn SSDs in feite RAID-controllers die meerdere NAND-chips in RAID0 aanspreken voor extra performance. Maar moderne SSD controllerchips gebruiken echter geen RAID0 maar gebruiken ofwel RAID4 (Intel) of RAID5 (Marvell, Sandforce). Dit betekent dat er naast ECC nog een extra laag aanwezig is die fouten kan corrigeren.

http://tweakers.net/ext/f/eIK4rLleuLFmh7EVbcQSD5tG/full.png
RAISE foutcorrectie gebruikmakende van pariteit zoals gebruikt in Sandforce controllers


Meer bitcorrectie nodig naarmate NAND-chips kleiner worden
Het effect van dergelijke pariteitscorrectie is dat de uncorrectable Bit-Error Rate oftewel de uBER nog verder wordt verkleind. Helaas voor ons consumenten wordt dergelijke bescherming in het huidige tijdperk veelal gebruikt als compensatie voor ECC, zodat in werkelijkheid de betrouwbaarheid niet zo hoog is als zou kunnen en zoals in het bovenstaande plaatje wordt gesuggereerd. Dit komt omdat naarmate de NAND-geheugenchips kleiner worden, er meer foutcorrectie nodig is. De overhead die hierdoor nodig is, stijgt steeds sneller naarmate de chips kleiner worden en de datadichtheid toeneemt:

http://tweakers.net/ext/f/slQSRu7oa0npuE9LF05b0Bqx/full.jpg
De noodzaak voor errorcorrectie neemt toe naarmate de NAND-chips kleiner worden


Errorcorrectie is dynamisch aan te passen
Belangrijk om te weten is dat errorcorrectie een dynamisch iets is. Daarme bedoel ik dat betrouwbaarheid simpelweg een afweging is tussen overhead (benodigde rekenkracht en opslagruimte) en bruikbare opslagruimte. Het is gemakkelijk om een veel betrouwbaardere SSD te maken die simpelweg meer ruimte ter beschikking stelt aan foutcorrectie. Dat betekent wel een verhoging van de benodigde rekenkracht en daarmee een daling van de prestaties. Tevens is er minder ruimte beschikbaar voor het behouden van dataretentie of bruikbare opslagruimte als de ruimte voor foutcorrectie wordt vergroot. Kortom, het zijn afwegingen. Het is een soort van slider. Je kunt de foutcorrectie dynamisch aanpassen als je toegang zou krijgen tot de firmware. Mijns inziens zou het wenselijk zijn om de foutcorrectie een flinke boost te geven, om opslagappraten in de buurt van uBER=10^-29 te krijgen zoals het plaatje hierboven van Sandforce doet suggereren. Dat zou werkelijk fantastisch zijn omdat je dan een geweldige marge van foutcorrectie hebt en daarmee de betrouwbaarheid naar een hoger niveau tilt. Maar in wiens belang is het? Niet in het belang van de fabrikant, die wil zijn apparaat tegen een zo'n lage prijs verkopen en tegen zulk hoge specificaties als maar mogelijk is. Kortom, er is hier sprake van tegengestelde belangen, zoals zo vaak in de wereld van het kapitalisme.

http://tweakers.net/ext/f/xvCQH22Jfb8G2oywbHJPp2vn/full.jpg
uBER en BER is een kwestie van afwegen tussen betrouwbaarheid en overhead


Firmwarebugs
Ten slot de firmware zelf. Dit is in feite software die de ARM-processorchip bestuurt en het NAND-geheugen aanstuurt om uiteindelijk aan de host een werkend opslagapparaat te presenteren. De firmware is waar alle magie plaatsvindt. De betrouwbaarheid van een SSD hangt dan ook voornamelijk af van de firmware. Echter, de firmware kan enkel magie gebruiken voor zover de hardware toelaat. De hardware is de ultieme bottleneck, de firmware oftewel de software is de mate waarin de potentie van de hardware wordt benut. Dit geldt zowel voor de prestaties als voor de betrouwbaarheid.

Bekend is dat de Crucial M4 een firmware-update kreeg die zijn prestaties opkrikte van 400MB/s sequential read naar 500MB/s sequential read. Dit is de merkbare invloed van firmware op de prestaties. Maar evengoed merkbaar is de invloed van firmware op de betrouwbaarheid. Het is namelijk geen geheim dat SSD firmwareupdates cruciaal zijn voor het oplossen van bugs. Bugs met soms heel vervelende gevolgen, zoals verlies van gegevens of het belemmeren van de normale werking, zoals bij de 5000-urenbug van de Crucial M4.

Belangrijk om te weten is dat vrijwel alle fabrikanten inclusief Intel te maken hebben gehad met ernstige firmwarebugs die dataverlies konden veroorzaken. Er zijn uitschieters in negatieve zin zoals Sandforce die als brokkenpiloot bekend staat, maar positieve uitschieters zijn er nauwelijks. Het meest betrouwbaar in termen van firmware zijn Intel en Samsung, die de minste firmwarebugs hebben die dataverlies konden veroorzaken. Maar zoals gezegd; iedereen is aan de beurt geweest. Laat dit een waarschuwing zijn voor de relatieve kwetsbaarheid van SSDs voor firmwaredefecten. Mijns inziens is dit het gevolg van de hoge mate van complexiteit van moderne SSDs. Teneinde de prestaties op te krikken wordt er ingeleverd op betrouwbaarheid.



Hall of fame

Ere wie ere toekomt. Mijn lijst van de meest betrouwbare consumer-grade SSDs:

Eerste plaats: Intel 320 series
Tweede plaats: Crucial M500
Derde plaats: Seagate 600 Pro

De nummers twee en drie zijn nieuwkomers die zichzelf nog moeten bewijzen. Echter, deze drie zijn wel de enige moderne SSDs die inherent veilig zijn door de aanwezigheid van hardwarematige voorzieningen zoals RAID-bitcorrectie en power-safe capacitors. Aangenomen dat de firmware het niet laat afweten in de vorm van verborgen firmwarebugs, hebben deze SSDs dus alle potentie om heel betrouwbaar te zijn. Nog steeds niet zo betrouwbaar als eigenlijk zou moeten; 0.5% AFR vind ik nog steeds te hoog. Maar dergelijke cijfers zijn lager dan die van hardeschijven (0,7 - 3,0%).



Hall of shame

Eigenlijk zouden de fabrikanten van alle SSDs die een hogere annual failure rate (AFR) hebben dan 0,5% zich moeten schamen. Vooral omdat een SSD zoveel potentie heeft om betrouwbaar te zijn. Dat er SSDs zijn die ogenschijnlijk hier ver bovenuit schieten is dan ook ronduit schandalig. Dus een Hall of Shame is denk ik wel gerechtvaardigd.

Slechtste SSD ooit: OCZ Octane 3Gbps (45 - 52% failure rate)
Tweede slechtste SSD: OCZ Petrol (41 - 45% failure rate)
Derde slechtste SSD: OCZ Agility 4 (7 - 10% failure rate)

http://tweakers.net/ext/f/nSiepTR9P4mr3Exyn2yOLNoM/full.png
OCZ: de experts op het gebied van failure rates!


OCZ moet zich schamen
De boodschap is duidelijk als je de failure statistieken moet geloven: OCZ is de leverancier van SSDs met veruit de hoogste failures rates. Niet alleen voor gemiddeld alle SSDs die het bedrijf levert, maar ook voor specifieke series die de lijst van de minst betrouwbare SSDs aanvoeren. Dit valt een bedrijf als OCZ natuurlijk zeer aan te rekenen, vooral omdat dit merk zeer succesvol is gebleken met het binden van consumenten en het voeren van effectieve marketingstrategie. Zoveel consumenten die zo graag een mooie SSD wilden en hier voor hebben gespaard of deze kado hebben gekregen, hebben veel ellende en verdriet gehad van de enorme problemen waar zij mee kampten. Zoals nu blijkt uit diverse bronnen van failure statistieken, is het zeker geen overdrijving dat OCZ veel vaker dan andere merken het laat afweten. Failure rates van boven de 50% zijn bijna crimineel te noemen. Als je het zo slecht doet als bedrijf, verdien je het naar mijn oordeel om hier stevig op te worden aangesproken. Naming and shaming is dan ook mijn devies.

Desalniettemin moet ook worden gezegd dat zelfs een failure rate van boven de 50% betekent dat er ook consumenten zijn waarvan hun OCZ SSD goed functioneert. Met name de betere modellen (Vertex 3) doen het nog vrij aardig, ook al hebben zij ook te maken met hoger dan gebruikelijke failure rates.

Het is eigenlijk nóg erger
Belangrijk is wel om op te merken dat OCZ - anders dan andere fabrikanten - direct garantie afwikkelt met de eindgebruiker. Intel doet dit bijvoorbeeld niet en dat betekent dat alle failures via de officiële distributiekanalen verlopen. Dit maakt het vormen van betrouwbare failure statistieken ook makkelijker. OCZ en Samsung handelen echter direct met de consument als via distributiekanalen de garantieclaims af. Dit betekent dat naar alle waarschijnlijkheid de failure rates zoals gemeten door distributeurs nog veel hoger zijn. Ik speculeer hierbij dat OCZ dit wel moet doen, om te voorkomen dat hun distributeurs en retailers gek worden van de extreem hoge uitval. Door de garantie direct met de consument af te handelen, voorkomen ze dat de leveranciers het zat worden en stoppen met de import/verkoop van OCZ SSDs. Daarnaast maakt OCZ goede naam op het gebied van aftersales door laagdrempelige garantieafwikkeling aan te bieden via hun website, waar je op het forum heel gemakkelijk in contact kunt komen en al snel wordt verwezen naar de interne garantieafdeling van het bedrijf. Dit geeft consumenten al gauw een positieve indruk van de garantieafwikkeling, totdat zij hun geretourneerde SSD voor de derde maal stuk hebben zien gaan. Dan maken zij vaak geen gebruik meer van de laagdrempelige service maar kopen een SSD van een ander merk wat wél betrouwbaar functioneert.

Sterf!
Het is voor mij erg moeilijk om genuanceerd te blijven als het gaat om OCZ. Het is dan ook met groot genoegen dat ik lees over de financiële problemen, dreigend bankroet en een strafrechterlijk onderzoek naar dit bedrijf. Laten we hopen dat het 'tijdperk OCZ' zo snel mogelijk kan worden begraven en consumenten niet langer massaal worden benadeeld door dit bedrijf. Helaas voor ons weten de ratten het zinkende schip veelal op het laatste moment te verlaten en zichzelf in leven te houden.



Conclusie

De conclusie van het bovenstaande verhaal is dat SSDs niet alleen op prestatiegebied maar ook op gebied van betrouwbaarheid sterk afwijken van mechanische hardeschijven. Een SSD kan op veel verschillende manieren stuk gaan, terwijl een hardeschijf eigenlijk maar twee failure modes kent: bad sectors en mechanisch falen. SSDs zijn extra kwetsbaar door de fundamentele tekortkomingen van de huidige generatie SSDs op basis van NAND-flashgeheugen.

Tevens zijn de huidige generatie SSDs inherent onveilig. Ze zijn in feite gemaakt om defect te raken. Niet opzettelijk, maar desalniettemin is hun falen het gevolg van een gebrekkig ontwerp; de SSD heeft een window of opportunity waarin het corrupt kan raken als op dat moment de stroom onaangekondigd wegvalt. Dat is echter onnodig; er kunnen voldoende beveiligingen worden ingebouwd die de betrouwbaarheid van de SSD sterk vergroten.

Op dit moment zijn er slechts drie moderne consumenten SSDs die voldoende bescherming bieden, waarvan er twee relatief nieuw zijn op de markt en zich nog niet volledig hebben bewezen. Dat is belangrijk om te weten als potentiële koper van een SSD en derhalve zou betrouwbaarheid hét belangrijkste criterium kunnen zijn - en wat mij betreft ook moeten zijn. Prestatieverschillen merk je vrijwel niets van, maar gezeik met je SSD en niet meer kunnen opstarten of het opstarten duurt opeens 15 minuten; dat zijn zaken die je niet verwacht van een dure investering wat een SSD toch nog steeds is. Kortom, laat je aandacht uitgaan naar betrouwbaarheid. Daarmee vergroot je de kans dat je vele jaren plezier van je SSD zult beleven zonder problemen, frustratie en dataverlies. Gun jezelf een kwaliteits SSD voor een tientje extra!

SSD performance

Door CiPHER op zaterdag 25 mei 2013 23:58 - Reacties (21)
Categorie: SSD, Views: 11.338


Inleiding

Laat ik mijn blog eens beginnen met een perspectief op SSD performance. Daar wordt zoveel over gesproken, terwijl het eigenlijk niet zo heel interessant is. Waarom ik er dan toch over schrijf? Omdat veel mensen er hun keuze voor een bepaalde SSD op baseren. Want, we kopen een SSD toch juist voor de extra performance, toch? Anders hadden we wel een hardeschijf gekocht met lagere prijs per gigabyte. Klinkt redelijk, maar toch zitten jullie er naast. :)



Wat is een SSD precies?

Laten we beginnen met een definitie van een SSD. Een Solid State Drive onderscheidt zich van een hardeschijf ofwel HDD omdat deze geen bewegende onderdelen bevat. De term solid state betekent in deze context dat er geen bewegende onderdelen aanwezig zijn. De huidige generatie SSDs werken op basis van NAND flashgeheugen. Dit type geheugen houdt een elektrische lading vast waarmee bepaald kan worden of een 0 of een 1 is opgeslagen. Anders dan het DRAM-computergeheugen heeft NAND als bijzondere eigenschap dat het ook lange tijd zonder spanning van buitenaf zijn gegevens kan behouden. Kortom: de data is niet vluchtig, zoals bij DRAM wel het geval is.

Dat is dan ook een kern van verschil: het vluchtige Dynamisch RAM geheugen kan enkel zijn gegevens bewaren als het continu spanning van buitenaf aangeleverd krijgt, terwijl het niet-vluchtige NAND geheugen zijn gegevens ook behoudt zonder stroom van buitenaf. Dit noemen we Non-Volatile Storage.

In de toekomst krijgen we SSDs op basis van een ander geheugentype. De kandidaten daarbij zijn onder meer Magnetisch RAM (MRAM) en Phase-Change Memory (PCM). SSDs op basis van deze technieken hebben heel andere eigenschappen dan de huidige SSDs op basis van NAND flashgeheugen. Dit beïnvloedt ook in hoge mate de prestaties en betrouwbaarheid. Kortom, de huidige generatie SSDs is slechts de eerste generatie, die nog allerlei tekortkomingen telt.

Over de toekomst van SSDs schrijf ik wel in volgende blogs. Nu wil ik mij concentreren op de huidige generatie SSDs en met name de prestaties. Daar lijkt het mensen om te doen. Immers: je koopt een SSD toch vanwege de hoge prestaties? Niet vanwege de lage prijs per gigabyte, want die ligt veel hoger dan bij hardeschijven het geval is. Klinkt logisch...



Wat is performance eigenlijk?

Als we over prestaties ofwel performance praten, dan bedoelen we het feit dat een opslagapparaat een bepaalde vertraging kent. De computer - de host - stuurt een verzoek om bepaalde gegevens te lezen, en het duurt een tijd totdat we deze gegevens aangeleverd krijgen. Omgekeerd bij schrijfacties krijgen we bericht als de schrijfactie is voltooid. De wachttijd ofwel latency, is de meest fundamentele uitdrukking van performance. Een oneindig snel opslagapparaat heeft altijd een latency van 0; dit is puur hypothetisch en zoiets als oneindig hoge snelheid. Er is altijd een bepaalde latency, hoe klein ook.

Maar performance laat zich uitdrukken in vele vormen. We onderscheiden daarbij:
  • Throughput oftewel doorvoer; voorbeeld: 500MB/s
  • IOps oftewel I/O opdrachten per seconde; voorbeeld: 4000 IOps
  • Latency oftewel wachttijd; voorbeeld: 0,25 milliseconden
Al deze drie kenmerken zijn met elkaar verbonden, en kunnen uitgerekend worden naar elkaar ongeveer zoals spanning, stroom en vermogen onderling naar elkaar kunnen worden uitgerekend. In het voorbeeld hierboven staat 500MB/s aan doorvoer gelijk aan 4000 I/O opdrachten van elk 128KiB groot (128K * 4000 = 500MB per seconde). En de gemiddelde latency is met 1/4000 gelijk aan 0,25 milliseconden.

Nu stel je de vraag; als alle drie min of meer hetzelfde zijn, waarom zeggen we dan niet gewoon 500MB/s dat is toch veel makkelijker? Om de nuances van performance te begrijpen dien ik een ingewikkelder voorbeeld te gebruiken. Maar laten we rustig beginnen! Het hoeft niet te moeilijk te worden. :)



Waarom is een SSD zo snel vergeleken met een hardeschijf?

Consumenten houden van hoge getalletjes. Als product X het getal 200 mee krijgt, en product Y krijgt 500, dan zullen veel consumenten voor het laatstgenoemde product kiezen. Ook al weten consumenten over het algemeen helemaal niet wat ze kopen, en voelen ze ergens ook wel dat ze bedrogen worden door alle marketing. Toch hebben dit soort cijfertjes een grote invloed op hun koopgedrag. Immers, je moet toch ergens op afgaan?

Maar, laat ik jullie een relativering geven van performanceverschillen tussen SSDs en hardeschijven. Dat maakt het in één klap duidelijk:

Performanceverschil met grote bestanden: factor 3 ofwel 300% sneller dan een moderne schijf.
Performanceverschil met kleine bestanden: factor 100 tot 1000 ofwel tienduizend tot honderdduizend procent sneller dan een moderne schijf.

Dat is nogal een groot verschil! Waar een SSD dus maar drie keer sneller is dan een hardeschijf, is hij enorm veel sneller met het verwerken van kleine bestanden. Dat laatste wordt vaak uitgedrukt in IOps, omdat het verwerken van kleine bestanden meer I/O-opdrachten veroorzaakt dan het verwerken van grote bestanden.

Ik hou van dingen visualiseren, dus laat ik eens een voorbeeld geven:

Bij het verwerken van één groot bestand:
SSD: 500MB/s, 4.000 I/O opdrachten per seconde (IOps) van elk 128KiB groot,
HDD: 150MB/s, 1.200 I/O opdrachten per seconde (IOps) van elk 128KiB groot

Bij het verwerken van vele superkleine bestandjes:
SSD: 250MB/s, 64.000 I/O opdrachten per seconde (IOps) van elk 4KiB groot,
HDD: 0,2MB/s, 60 I/O opdrachten per seconde (IOps) van elk 4KiB groot

Gelijk valt op, dat SSDs bij kleine bestandjes nauwelijks snelheid inleveren, terwijl hardeschijven dan juist volledig op hun bek gaan. Anders gezegd: het sterke punt van SSDs is het verwerken van kleine bestandjes (hoge IOps) terwijl het sterke punt van HDDs het verwerken van grote bestanden is (hoge doorvoer ofwel throughput).

De reden dat een SSD zoveel sneller aanvoelt dan een hardeschijf, heeft dus weinig te doen met de 500MB/s die je overal ziet bij specificaties, maar veel meer met de hoge IOps. Maar 500MB/s klinkt zo lekker simpel en duidelijk, en verkoopt simpelweg beter. Maar als je echt wilt leren over SSD performance, dan moet je iets verder kijken dan de gemiddelde consument die in 2 seconde zijn afweging maakt. De waarheid ligt vaak verborgen achter een gordijn van misleiding en deceptie.



Performance van een SSD

Als consument word je doodgegooid met allerlei specificaties over snelheden. 500MB/s dit en 80.000 IOps dat. Maar wat betekent dit nu eigenlijk? Laten we dit eens helder op een rij zetten! En dat doen we lekker simpel met... een screenshot!

http://tweakers.net/ext/f/6UAOxISofdJkCEwcvdaJGvYw/full.jpg

We draaien CrystalDiskMark, één van de meest bekende benchmarks voor Windows. Velen die een SSD kopen, willen namelijk wel even testen of het beestje zijn trucje doet. Daar hebben we onze zuurverdiende centjes natuurlijk voor gespaard, zodat we nu een snel opslagapparaatje hebben. We willen allemaal dat we de cijfertjes halen die we zouden moeten halen.

Maar wat betekenen al die getallen eigenlijk? Daar ga ik nu iets dieper op in, en het verhaal wordt daarmee wel iets technischer. Het geeft absoluut niet als je niet helemaal begrijpt wat ik bedoel, want het kost me veel meer tijd om dat begrijpelijk uit te leggen. Maar het gaat erom dat je een indruk hebt.

Wat je namelijk écht wilt weten:
  • Welke getallen zijn nu echt belangrijk?
  • Waarom is die 4K read zo laag en andere getallen veel hoger?
  • Presteert mijn SSD zoals verwacht?
Met het antwoord op deze vragen kan ik je helpen zonder dat je alles van benchmark-fetisj hoeft te begrijpen. Laten we dit gewoon stapsgewijs behandelen:



Welke getallen zijn nu echt belangrijk?

De belangrijkste performancekenmerken van SSDs in orde van meest belangrijk naar minder belangrijk:
  • Random read - single queue depth (dit is voor alle SSDs tussen de 20MB/s en 30MB/s)
  • Random write latency - low queue depth (QD2 - QD8)
  • Sequential read - queue depth is irrelevant; patroon is voorspelbaar
  • High queue depth random I/O
  • Sequential write
Random read met enkele queue depth
De belangrijke performance specificatie is voor alle moderne SSDs vrijwel gelijk. De random read met single queue depth is altijd rond de 20MB/s omdat deze niet kan worden versnelt door de interne RAID0-achtige structuur van SSDs. Omdat het patroon 'random' is en dus niet voorspelbaar, kan de SSD nog niet aan de volgende I/O request beginnen zoals bijvoorbeeld wel bij sequential read mogelijk is omdat dit patroon voorspelbaar is. Resultaat is dat slechts één van de kanalen en één van de dies per channel effectief benut kan worden. Dat wil zeggen dat de SSD op 1/16e van zijn snelheid draait. Een goede analogie hiermee is een 16-core processor waarvan een programma slechts één core op volle snelheid benut. Zou er achtergrondactiviteit zijn, dan zijn de overige cores wel nuttig. Technisch gesproken kun je stellen dat het hier om pure latency gaat, en niet om (parallelle) throughput.

Deze specificatie is zo belangrijk omdat het voor zoveel desktoptaken wordt gebruikt. Onder andere booten/opstarten (zonder SuperFetch) en applicaties starten zijn sterk afhankelijk van dit type access patroon.

Omdat dit type access patroon zo belangrijk is maar voor alle SSDs ongeveer gelijk is, zijn de verschillen tussen SSDs voor consumenten ook nauwelijks te onderscheiden van het placebo-effect. Dit komt dus niet alleen omdat SSDs al bloedjesnel zijn en nóg sneller weinig meer uitmaakt, maar dus ook omdat het performanceaspect wat nog wel merkbaar verschil zou kunnen opleveren gelijk is voor alle SSDs. De RAID0-achtige interleaving-techniek wordt bij dit type I/O juist buitenspel gezet.

Random write latency - QD2 - QD8
Random writes zijn 4K of 8K blokjes die weggeschreven worden, wat vaak op een regelmatige burst-achtige manier gebeurt. Dat wil zeggen dat een random write zelden alleen wordt uitgevoerd; vaak gebeurt het in kleine bosjes tegelijk. Dat komt omdat random writes vaker dan andere writes als synchronous writes worden uitgevoerd; writes die veilig moeten worden weggeschreven. Dit betekent in de praktijk dat er filesystem overhead bij komt kijken zoals journaling en metadata. Meer hierover in volgende blogs.

Bij random write is de latency het enige van belang. Deze mag niet te hoog zijn. Echter, SSDs kunnen juist sterk variëren op latency bij writes. Dit komt omdat SSDs wellicht garbage collection moeten uitvoeren voordat een writeopdracht kan worden verwerkt. Met name bij gebruikte SSDs of zeer slechte SSDs. Een voorbeeld van een slechte SSD is de JMicron JMF-612 welke vooral bekend is onder de OCZ Core-series. Deze hadden zo'n hoge write latency dat je 'stotterende' prestaties kreeg en irritant gedrag van applicaties die tijdelijk bevroren. En soms zelfs blauwe schermen omdat de latency te hoog werd.

Intel is de laatste jaren bezig met consistente prestaties in plaats van absoluut/gemiddeld hoge prestaties. In het bijzonder gaat het dan om write latency, de gemiddelde writelatency kan wel laag zijn, maar je moet ook de uitschieters - de maximale latency - in toom kunnen houden. Hier valt nog werk te verrichten voor SSDs in toekomstige generaties. Intel is hier recent druk mee bezig.

Sequential read
Is ook belangrijk en merkbaar bij het starten van games en andere algemene taken. Omdat dit performanceaspect heel gemakkelijk te bereiken is met de RAID0-achtige interleavingtechnologie in SSDs, is dit dan ook een koud kunstje. De controller is vaak wel beperkt qua rekenkracht en de SATA-interface beperkt de sequential read ook enorm. Bedenk dat een 32GiB Crucial M4 (mSATA) al een sequential read heeft van 400MB/s. Zou je dit vertalen naar de 256GB versie dan kom je aan 3,2GB/s. Hier blijft echter maar 400 - 500MB/s van over afhankelijk van de firmware. Bij MLC NAND geldt dat lezen véél sneller is dan schrijven; ongeveer een factor 10 sneller. Dus als schrijven al 400MB/s is dan kun je raden wat de sequential read geweest had kunnen zijn. Helaas heb je bottlenecks als de SATA interface en de controller zelf die deze snelheid niet bij kunnen houden. Maar de potentie is er wel.

Random I/O met hoge queue depth
Queue depth wil zeggen een wachtrij aan I/O opdrachten die parallel kunnen worden uitgevoerd. Analoog hieraan zijn er programma's met meerdere threads die op een multicore-processor gelijktijdig kunnen worden uitgevoerd. Een quadcore met een sterk multithreaded applicatie zal deze in potentie vier keer sneller kunnen uitvoeren dan een singlecore chip, zaken als turbocore niet meegerekend. Bij queue depth werkt het ongeveer hetzelfde, met als verschil dat een moderne SSD dus al tot 16 I/O-opdrachten gelijktijdig kan verwerken. Een RAID0 van twee moderne SSDs dus al tot 32 I/O opdrachten. Kortom: de sky is the limit hier.

In veel gevallen is het zeer lastig om in de praktijk een hoge queue depth te bereiken. Zie het meer dat de pieken niet voor vertraging kunnen zorgen. Als er een piek is van een grote wachtrij van I/O opdrachten, dan zuigt de SSD deze helemaal leeg. 16 opdrachten worden uitgevoerd in grofweg dezelfde tijd als dat één opdracht zou worden uitgevoerd. Dat vind ik persoonlijk erg cool. Dat is de kracht van het principe van interleaving, beter bekend als RAID0.

Sequential write
Grote bestanden schrijven is iets wat je zelden zult doen op SSDs, uitzonderingen daargelaten. In veel gevallen gaat het om clonen van SSDs of een spel overzetten van NAS of hardeschijf naar SSD. Echter, in heel veel gevallen is juist de bron de bottleneck. Een hardeschijf zal maximaal met 150MB/s kunnen lezen dus is de ~400MB/s sequential write van een bloedsnelle SSD vrijwel nutteloos. Ook met een NAS die via gigabit ethernet loopt heb je weinig aan de hoge sequential write.

Helaas is dit wel het enige aspect waar consumenten naar kijken en ook hun keuze op bepalen, terwijl de verschillen op dit gebied dus juist het minst interessant zijn. Maar dat gebeurt wel vaker, dat consumenten een product vergelijken op basis van irrelevante specificaties. Fabrikanten spelen hier gretig op in. Sandforce aan kop, die door de gebakken lucht specificaties 500MB/s sequential write biedt, terwijl dit enkel wordt bereikt als je nulletjes schrijft. Dit komt door de compressie- en deduplicatieengine van Sandforce. De werkelijke snelheid ligt tussen 35MB/s en 450MB/s in.



Waarom is die 4K read zo laag en andere getallen veel hoger?

Een SSD is eigenlijk een RAID0-array van 16 geheugenchips. Technisch gezegd: een enkele SSD bevat een 8-kanaalscontroller met 16-way interleaving (2 dies per package). Simpel gezegd betekent dit dus dat een SSD vanzichzelf al tot 16 keer zo snel is als een enkelkanaals SSD.

Maar.. er is één gebied wat RAID0 ofwel interleaving absoluut niet kan versnellen. Dat is de 4K random read met enkele queue depth. Kortweg 4K read. Dit komt omdat de SSD simpelweg niet weet welke I/O opdracht er na de huidige komt. Krijgt de SSD maar één leesopdracht per keer te verwerken, dan blijven de overige kanalen onbenut. Een goede analogie is een 16-core processor waarvan een programma slechts één core op volle snelheid benut. De overige cores kunnen wel, maar krijgen geen gegevens aangeleverd. Pas als die ene core klaar is met de huidige instructie, wordt de volgende instructie aangeleverd.

Bij random read met hoge queue depth kunnen alle kanalen worden benut en dan doet de RAID0-achtige interleavingtechnologie zijn werk uitstekend. Bij random write is het een ander verhaal overigens. Ook bij een enkele queue depth kunnen random writes worden opgespaard (write-back) om een soort wachtrij te vormen, waardoor de SSD deze toch tegelijk kan uitvoeren. Daarom is de 4K write veelal hoger dan de 4K read. Vaak is de 4K write nog wel lager dan de 4K write met hoge queue depth, maar dit komt omdat de wachtrij nauwelijks kans krijgt op te bouwen. Bij 4K write met een queue depth van tussen de 2 en 4 zie je al dat deze vrijwel verzadigd raakt. Je hebt dus geen 4K write met QD32 nodig om alle kanalen te benutten.



Presteert mijn SSD zoals verwacht?

Je kunt je SSD testen met benchmarks zoals CrystalDiskMark en AS SSD. Andere benchmarks zoals HDtune en ATTO zijn veel minder geschikt omdat ze sterk verouderd zijn en eigenlijk voornamelijk geschikt voor oudere hardeschijven zonder RAID.

Sommige leveranciers van SSDs gebruiken ATTO omdat deze benchmark nulletjes schrijft in plaats van random data. Voor alle SSDs maakt dit niets uit, behalve voor SSDs met een Sandforce controller. Deze controller beschikt over compressie- en deduplicatietechnieken. Dit stelt de controller in staat om benchmarks te misleiden en een kunstmatig hoge score te leveren. Ik ga zelfs zo ver door te beweren dat de Sandforce controller vanaf de tekentafel is ontworpen om goed te scoren in benchmarks. Meer daarover in een volgende blogpost waar ik dieper inga op Sandforce en OCZ - 'the dark side of the force'.

Bij het benchmarken kun je grofweg onderscheid maken tussen Sequential performance en Random I/O performance, zoals hierboven uitvoerig uitgelegd. De sequential performance hoort eigenlijk altijd conform de verwachting te zijn. Als deze te laag is, is het bijna altijd de schuld van de SSD zelf. Bij random I/O is dat ingewikkelder, en met name laptops en AMD-processors kunnen een lagere random read score geven omdat de processor de SSD nauwelijks kan bijhouden. Bedenk daarbij dat een benchmark een 100% load legt op de SSD terwijl de processor verder met niets bezig is. In de praktijk zal je processor ook wat met de data moeten doen, zoals wanneer je een spel opstart. Kortom, in veel gevallen is je processor de bottleneck omdat je SSD alleen al je processor kan voltrekken, althans één processorcore.



Mijn SSD scoort slecht in benchmarks!

Als je SSD niet presteert zoals verwacht, kan dit diverse oorzaken hebben:
  • Je hebt je SSD niet op de chipset SATA-controller aangesloten, maar op een SATA-poort die geleverd wordt door een extra SATA controller zoals Marvell, ASMedia, JMicron of Promise. Met name komt dit voor bij mensen die een oudere 50-series chipset hebben waarvan de Intel chipset enkel SATA/300 levert, maar een extra chip zogenaamd SATA/600 poorten toevoegt. Deze poorten zijn van mindere kwaliteit dan de Intel poorten, en dienen enkel als marketing om het bord als 'SATA/600 ready' te kunnen verkopen. Sluit je SSD dus altijd aan op de chipset SATA poorten! Meestal hebben poorten van een andere controller ook een andere kleur, check dit dus goed in de handleiding van je moederbord!
  • Je hebt geen beschikking over AHCI, maar draait in IDE compatibiliteitsmodus. Dit is een instelling in je BIOS, vaak kun je kiezen tussen IDE (soms SATA genoemd), AHCI en RAID. Als je kiest voor RAID, betekent dit veelal dat je SSD gewoon als AHCI wordt herkend, mits de SSD zelf geen onderdeel is van een RAID-array.
  • Je hebt niet de beschikking over TRIM, meestal door oude drivers of doordat je SSD niet op de chipset SATA-controller is aangesloten. Je kunt niet makkelijk controleren of TRIM werkt (de fsutil disabledeletenotify-methode is onzin) maar je kunt wel controleren welke driver je gebruikt met het programma AS SSD. Deze staat linksboven. Iastor = Intel, amdsat = AMD, msahci = Microsoft, pciide = Microsoft IDE. Al deze ondersteunen TRIM. De meeste andere drivers ondersteunen geen TRIM.
  • Je hebt je SSD bijna helemaal volgeschreven, je dient je SSD bij voorkeur niet meer te vullen dan 80 tot 85 procent. Dit staat overigens los van overprovisioning, een techniek waarbij je een gedeelte helemaal niet partitioneert en dus nooit gebruikt wordt.
  • Je hebt recentelijk veel benchmarks gedraaid en de SSD heeft rust nodig om garbage collection uit te voeren - probeer het een dag later nog eens. Teveel benchmarken is niet goed voor je SSD, af en toe een benchmark kan zeker geen kwaad tenzij je geen TRIM-ondersteuning hebt.
  • Je processor is niet zo snel en kan - zeker bij random I/O - de SSD simpelweg niet bijhouden. Windows heeft een single threaded storage backend en zal dus snel beperkt zijn door de processor. Dit geldt met name voor de random read met hoge queue depth (QD32 of QD64). Bedenk verder dat AMD processors minder goede single threaded performance hebben, en dat geldt ook voor ultrabooks en oudere laptops.
  • Je draait oude storage drivers; probeer je drivers eens te updaten. Vaak worden de storage drivers geleverd door de 'chipset drivers'. Vaak kun je kiezen om de standaard Microsoft-drivers te draaien, of de vendor-specifieke drivers.
  • Je hebt last van energiebesparende technieken, met name op laptops. Om dit te testen kun je in de achtergrond een CPU-intensief programma draaien zoals Prime95 (torture test). Gedurende dat deze draait, doe je opnieuw de benchmark. Als je nu veel hogere getallen krijgt, betekent dit dat je energiebesparingstechnieken zorgen voor lagere scores. Maar let op: dit geldt enkel voor kunstmatige benchmarks. Bij echte applicaties zal niet alleen de SSD belast worden maar ook je processor, dus in de praktijk is dit geen enkel probleem. Ga dus vooral niet je energiebesparing om zeep helpen dat is gewoon zonde. Specifiek gaat het hier om C1e wat je vaak in het BIOS kunt instellen. Ik raad sterk aan dat je deze technieken ingeschakeld laat; dat mag in de praktijk geen significant verschil uitmaken - alleen voor testdoeleinden of benchmarking kan het uitschakelen nuttig zijn.
  • Je SSD is gewoon niet zo snel als je dacht. Ga nog eens goed kijken welke SSD je precies hebt en bedenk daarbij dat een SSD van 240GB sneller hoort te zijn dan een 120GB model. Theoretisch zelfs dubbel zo snel, al zie je dit veelal alleen terug bij de schrijfsnelheden.
  • In een zeldzaam geval is je SSD gewoon stuk. Dit kun je testen door een Secure Erase uit te voeren met HDDErase.exe (DOS) of via een Secure Erase-procedure met een Ubuntu LiveCD. Als na de secure erase - wat de prestaties zou moeten resetten naar 'fabrieksniveau' - je nog steeds belabberde resultaten hebt op meerdere computers uitgetest, dan kan het echt aan je SSD zelf liggen.
Ten slot: bedenk dat CrystalDiskMark en AS SSD niet op dezelfde manier testen. AS SSD is eerlijker en geeft een gemiddelde score. CrystalDiskMark geeft een maximumscore uit alle benchmarks, en laat daardoor vaak hogere getallen zien dan AS SSD. Maar beide testen wel grofweg op dezelfde manier, via het filesystem zoals het hoort en met random data. Je test hiermee de low-level performance die relevant is en uiteindelijk zich zal vertalen in goede prestaties in de praktijk.



Mijn SSD scoort perfect in benchmarks, maar het booten gaat traag?

Dat komt vaak niet door je SSD, maar door drivers die het systeem laten wachten voor niets. Je kunt dit simpelweg controleren door te kijken naar je hardeschijf LED van je computerbehuizing. Als deze niet helder brandt gedurende lange tijd, is je SSD niet druk bezig.

Brandt het HDD-ledje wel flink, dan kunnen er twee dingen aan de hand zijn:
  • Je hebt kabelproblemen - controleer met CrystalDiskInfo of je kabelproblemen hebt door naar UDMA CRC Error Count te kijken; deze is vaak 0 maar als je hier honderden tot duizenden fouten hebt, is dit een indicatie voor een defecte kabel. Deze waarde gaat overigens nooit meer naar beneden. Dus kijk vooral of de waarde blijft stijgen; zo niet dan heb je sinds de vorige meting geen kabelproblemen gehad. Het betreft hier de (vaak roodkleurige) data-kabel, de stroomkabel is wat anders.
  • Je SSD is druk bezig met recovery omdat je niet netjes hebt afgesloten. Laat de SSD lekker een tiental minuten bezig zijn en ga deze niet onderbreken. Controleer met CrystalDiskInfo of je Unexpected Power-Loss niet voortdurend stijgende is. Dit is namelijk niet fijn voor je SSD, vooral als deze geen capacitor-beveiliging heeft, wat veel consumenten SSDs ontberen.
Je kunt het programma Soluto uitproberen om je boottime te analyseren.



Waarom is SSD performance niet belangrijk?

SSD performance is wel belangrijk; het is de reden dat je flink veel centen per gigabyte uitgeeft aan dat kreng, of althans de meest vooraanstaande reden voor veel mensen. Andere redenen kunnen zijn de lagere energieconsumptie, gebrek aan geluidsproductie en vibraties, theoretisch hogere betrouwbaarheid en relatieve ongevoeligheid voor temperatuur en andere omgevingsinvloeden.

Mijn stelling dat SSD performance weinig uitmaakt, heeft vooral betrekking op de performanceverschillen tussen moderne SSDs onderling. Kortom, als je overweegt SSD X te kopen versus SSD Y, kijk dan niet zo op die kleine verschillen die in de praktijk niet of nauwelijks het placebo-effect (dat je alleen dénkt dat het sneller is) overstijgen. In veel gevallen merk je niets van de prestatieverschillen tussen moderne SSDs. Wel tussen oudere slechte SSDs met een prutcontroller, daar kan wel duidelijk merkbaar verschil tussen zitten. Maar tegenwoordig is het best moeilijk een langzame SSD te kopen. Koop je een bekend merk - en vaak zijn dat niet de merken van hardeschijffabrikanten - dan zit je bijna altijd wel goed.

Tenminste, op het gebied van prestaties. Daar zijn weinig verschillen in de praktijk. Dat betekent automatisch dat de SSDs zich voornamelijk onderscheiden in de overige kenmerken, voornamelijk prijs maar vooral betrouwbaarheid. Dat is ook mijn stelling: ga vooral af op prijs en betrouwbaarheid. Een betrouwbare SSD geeft je een hogere kans op een product waar je jarenlang plezier van zult hebben zonder gezeik en dataverlies. Is dat niet eigenlijk veel belangrijker om je keuze op te baseren? Ik zou vinden van wel.

Welke SSDs betrouwbaar zijn en waarom zal ik dieper op ingaan in een volgende blog. Maar grofweg kan ik drie SSDs noemen die een bescherming hebben die andere SSDs niet hebben, namelijk power-safe capacitors die zouden moeten voorkomen dat een SSD zomaar corrupt of zelfs defect raakt als hij op het verkeerde moment onverwacht stroom verliest. En dat gebeurt vaker dan je denkt! De betreffende SSDs:
  • Intel 320 (met stip de meest betrouwbare consumenten SSD)
  • Crucial M500 (allround beste consumenten SSD)
  • Seagate Pro 600 (nieuwkomer)
De Intel 320 is vooral duur per gigabyte en enigszins verouderd met een klassieke SATA/300 controller, maar wel heel veilig. De Crucial M500 is waarschijnlijk de beste keus voor 90% van alle consumenten die een SSD willen. Lage prijs per gigabyte, theoretisch goede betrouwbaarheid, bekend merk met een groot bedrijf achter zich (Micron) en allround uitstekende prestaties - alleen de 120GB versie doet het op writegebied iets slechter dan concurrerende SSDs.

Vraag het aan CiPHER!

Door CiPHER op zaterdag 25 mei 2013 21:00 - Reacties (15)
Categorie: Algemeen, Views: 4.900


Overzicht huidige en toekomstige blogs
01 - SSD performance
02 - SSD betrouwbaarheid
03 - SSD best buy guide
04 - SSD interne werking
05 - SSD toekomstverwachting

06 - HDD performance
07 - HDD betrouwbaarheid
08 - HDD best buy guide
09 - HDD interne werking
10 - HDD toekomstverwachting

11 - Filesystems - de basics
12 - Filesystems - de eerste generatie (FAT, Ext2, UFS)
13 - Filesystems - de tweede generatie (NTFS, Ext3/4, UFS+SU)
14 - Filesystems - de derde generatie (ReFS, Btrfs, ZFS)
15 - Filesystems - de toekomst

16 - RAID - de basics
17 - RAID - de levels
18 - RAID - de implementaties
19 - RAID - de betrouwbaarheid
20 - RAID - de performance
21 - RAID - de tekortkomingen

22 - Special: ZFS versus RAID
23 - Special: ZFS tuning guide
24 - Special: de toekomst van storage


Vraag het aan CiPHER
Laat ik mijn tweakblog beginnen met het verzoek vooral te reageren met vragen die jullie hebben. Wat wil je weten over storage? Wat begrijp je nog niet aan de huidige artikelen? Wat kan er nog duidelijker of vollediger? Ik doe graag mijn best hetgeen ik heb geleerd over te dragen aan jullie, omdat ik ook zoveel geleerd heb van anderen.

De bedoeling van deze blogpost is om reacties te verzamelen voor ideeën voor nieuwe blogs.

De gebieden waar ik redelijk veel van weet, zijn:
  • Theoretische storage-concepten
  • Filosofie achter storageconcepten
  • Toekomstige storageconcepten
  • Performanceaspecten van mechanische hardeschijven
  • Performanceaspecten van solid state drives
  • Interfaces en bussen en de gevolgen voor performance
  • RAID en andere aggregatietechnieken
  • Aspecten op het gebied van betrouwbaarheid en bescherming van gegevens
  • ZFS - alhoewel ook ik hier nog veel van heb te leren :)
Zaken waar ik vooral geen kaas van heb gegeten, zijn:
  • Propriëtaire softwaretechnieken zoals Active Directory
  • Innerlijke werking van software zoals Samba
  • Technieken zoals clustering, high availability en managementtools voor beheer van grote groepen servers
Kortom, alles in de wereld van het grote geld; daar interesseer ik me niet voor. Ik vind de theoretische concepten en mogelijkheden - de potentie - veel interessanter en daar wil ik mij dan ook op richten.


Tot slot
Overal waar ik jullie wel mee kan helpen, hoop ik in een helder verhaal te kunnen communiceren naar jullie. Omdat ik streef om mijn kennis en inzichten zo goed mogelijk te laten aansluiten bij een breed publiek, zul je merken dat ik soms erg verbose ben, oftewel ik leg dingen uitgebreid uit. Soms omvat dit dingen die je allang weet. Toch kan het zeker nuttig zijn de zaken die je al beheerst nog eens uitgebreid te horen van een ander. Zo kunnen de kleine snippertjes waar misschien nog onduidelijkheid over bestond toch aanvullen met kennis die ik weer bezit.

Schroom vooral niet te vragen; zij die niet durft te vragen zal verstoken blijven van kennis en inzichten van de ander. En omgekeerd geldt: laat mij vooral ook weten op welke manier het nóg beter kan!

Dus zowel beginners als rotten in het vak hoop ik van te kunnen leren. De beginners mogen mij uitdagen de kennis zo duidelijk mogelijk uit te leggen zodat iedereen het kan begrijpen, terwijl de kenners mij mogen uitdagen om mijn inzichten te toetsen aan hun genadeloze mening en inzichten en waar nodig mij aan te vullen dan wel te corrigeren. Daar hebben zowel jullie als ik wat aan!

Obscuris vera involvens (obscuriteit verbergt waarheid)