Prestaties over tijd (consistency)
In tegenstelling tot bij harde schijf is bij ssd's het prestatieniveau niet constant. Wanneer een ssd langdurig tussen pauzes wordt belast en/of wanneer een ssd vrij vol zit, kunnen de prestaties (flink) inzakken. Het prestatieniveau van ssd's onder de meest extreme omstandigheden (ofwel het worst case scenario) kunnen vasthouden worden de steady state prestaties genoemd.
Eerst wat achtergrondinformatie. We hebben meermaals geschreven dat data op een ssd per zogenaamde 'pagina', hoeveelheden van meestal 4, 8 of 16 kB, weggeschreven en uitgelezen kan worden. Om data te kunnen wegschrijven moeten datacellen echter eerst gewist worden: dat kan alleen per blok. Zo'n blok bestaat uit 128, 256 of 512 pagina's. Dit gegeven zorgt ervoor dat ssd's slimme trucjes moeten uithalen. Wanneer een aantal pagina's aan data verwijderd moet worden, moet eerst de rest van de data uit het blok gekopieerd worden naar een ander blok, waarna het gehele blok geleegd kan worden. In de praktijk betekent het dat ssd-controllers schrijfacties zoveel mogelijk opzamelen, deze vervolgens tegelijk naar nieuwe, vers geleegde blokken uitvoeren en tegelijkertijd verwijderacties pas op gezette tijden uitvoeren. Op die momenten, wanneer de ssd niets te doen heeft, schakelt de in de controller ingebakken garbage collector in, die verwijderacties daadwerkelijk doorvoert op chipniveau en overbleven data zoveel mogelijk combineert in volle blokken, om op die manier zoveel mogelijk blokken volledig leeg te kunnen maken. Wanneer de ssd echter lange tijd continu, dus zonder een seconde rust, gebruikt wordt, kan de garbage collector niet tussendoor aan de slag. Op een gegeven moment zijn er dan geen lege blokken meer over en zal de ssd tussen het uitvoeren van commando's door aan garbage collection moeten gaan doen. Het resultaat: de prestaties worden lager.
Dat effect wordt versterkt als de ssd erg vol zit; het aantal geheel lege blokken waar direct data in geschreven kan worden is dan per definitie beperkt. Nu is iedere ssd altijd enkele procenten overgeprovisioneerd, wat betekent dat er meer geheugen fysiek inzit dan je via het besturingssyteem kunt gebruiken. Zo heeft een 512 GB ssd in de regel 512 échte gigabytes (512 x 1024 x 1024 x 1024 = 549.755.813.888 bytes) aan boord, terwijl er richtinghet besturingssysteem slechts 512 GB berekend met 1000 bytes per kilobyte beschikbaar is (512 x 1000 x 1000 x 1000, ofwel 512.000.000.000 bytes, ofwel 476,8 échte gigabytes). Het verschil van 7,5% is wat de garbage collector ook wanneer de ssd helemaal volbeschreven is leeg kan maken. Duurdere ssd's zijn in de regel veel meer dan 7,5% overgeprovisioneerd, wat maakt dat ze minder snel en minder vaak de garbage collector tijdens het verwerken van data hoeven te gebruiken.
En er is nog een reden waarom ssd's tijdens een workload na enkele seconden, minuten of nog langer qua prestaties kunnen inzakken. Veel consumenten ssd's maken gebruik van zogenaamde TLC-geheugen waarbij drie bits per cel kunnen worden opgeslagen. Handig om de kosten laag te houden, maar het beschrijven van TLC-geheugen gaat veel langzamer bij bij SLC of MLC (1- resp. 2-bits per cel) geheugen. Dit wordt door sommige fabrikanten opgevangen door een buffer; een geheugenchip en/of een deel van het flashgeheugen dat als SLC wordt aangestuurd en dus sneller kan worden beschreven. Het idee is dat schrijfacties eerst naar buffer gaan en later naar langzaam TLC worden weggeschreven. Is de workload echter zo lang dat de buffer volzit, dan moet er rechtstreeks naar TLC worden geschreven met lagere doorvoersnelheden en hogere toegangstijden tot gevolg.
PCMark 8 consistency test
Wij testen de steady state prestaties met behulp van de PCMark 8 consistency test. Hierbij wordt de gehele PCMark 8 storage test, dus alle op de vorige pagina's getoonde workloads, 18 keer gedraaid.
Vooraf wordt de gehele schijf twee keer volledig met data beschreven. Dit gebeurt twee keer om er voor te zorgen dat ook de volledige overprovisionering "bezet" is. Gedurende de acht degradatie fases van de tets wordt de volledige PCMark 8 benchmark gedraaid met daar tussenin telkens een constante workload van random schrijfopdrachten gedurende achtereenvolgens 10, 15, 20, tot maximaal 45 minuten. Gedurende de steady state fase wordt de benchmark nogmaals vijf keer gedraaid, met telkens opnieuw vooraf 45 minuten random schrijfworkloads. Tijdens de recovery fase mag de schijf weer "op adem" komen en wordt de benchmark vijf keer gedraaid met telkens 5 minuten idle tijd vooraf. Gedurende die tijd kan de ssd de garbage collector en andere interne optimalisaties z'n werk laten doen.
In onderstaande grafieken die je de scores van de benchmarks gedurende de 18 stappen. In de tabbladen staat de gemiddelde doorvoersnelheid als ook de gemiddelde lees- en schijftoegangstijd.
De Kingston A2000 heeft het in het begin van de test even moeilijk, maar stabiliseert op een beduidend hoger niveau dan de oude A1000 en de Intel 660p met qlc-geheugen. De Samsung 970 Evo Plus blijft wel aanmerkelijk sneller.
- Bandwidth
- Gemiddelde lees access time
- Gemiddelde schrijf access time
hoger = beter
lager = beter
lager = beter
Van de vijf tests in de steady state fase hebben we vervolgens de gemiddelde bandbreedte, leestoegangstijd en schrijftoegangstijd bepaalt. Deze waardes geven een uiteindelijk beeld van de prestaties van ssd's in een worst case scenario.
Gemiddeld laat de Kingston A2000 een score van 275,5 MB/s noteren. Dat is veel beter dan sata-ssd's of nvme's met qlc, maar veel luxere modellen zijn hier wel sneller. Vooral het lezen gaat niet al te snel op de A2000, maar bij het schrijven heeft hij een straatlengte voorsprong op de qlc-ssd's.
- Bandwidth
- Gemiddelde lees access time
- Gemiddelde schrijf access time
3 besproken producten
Vergelijk | Product | Prijs | |
---|---|---|---|
![]() |
Kingston A2000 SSD 1TB (M.2 2280)
|
Niet verkrijgbaar | |
![]() |
Kingston A2000 SSD 250GB (M.2 2280)
|
Niet verkrijgbaar | |
![]() |
Kingston A2000 SSD 500GB (M.2 2280)
|
Niet verkrijgbaar |