SSD performance

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

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: 8.838


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)