Prestaties over tijd (consistency)
In tegenstelling tot bij een 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 overgebleven 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 richting het 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 zogenaamd 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 de buffer gaan en later naar langzaam TLC worden weggeschreven. Is de workload echter zo lang dat de buffer vol zit, 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 zie je de scores van de benchmarks gedurende de 18 stappen. In de tabbladen staat de gemiddelde doorvoersnelheid alsook de gemiddelde lees- en schijftoegangstijd.
In deze test zijn de verschillen tussen ssd’s veel groter. Ssd’s als de Samsung 970 Evo Plus zijn hier echt een klasse beter dan de drives met Phison- of Silicon Motion-controllers, die het in de reguliere tests juist bijna even goed doen. Tegelijkertijd hebben de ssd’s met qlc-geheugen in de consistency test helemaal niets aan hun slc-buffers en andere trucs: voor dit soort extreem zware workloads zijn ze notoir ongeschikt.
Let wel: de consistency test is zoals gezegd een worst-case scenario en daarom alleen relevant als je een ssd zoekt die aan hoge eisen moet voldoen en waar veel naar wordt geschreven. Voor reguliere gebruikers, waaronder ook gamers, zijn de prestaties in de normale PCMark-tests en traces een betere maatstaf.
- 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 bepaald. Deze waardes geven een uiteindelijk beeld van de prestaties van ssd's in een worst case scenario.
- Bandwidth
- Gemiddelde lees access time
- Gemiddelde schrijf access time
32 besproken producten
Vergelijk | Product | Prijs | |
---|---|---|---|
![]() |
Corsair Force MP510 960GB
|
Niet verkrijgbaar | |
![]() |
Corsair Force MP600 2TB
|
Niet verkrijgbaar | |
![]() |
Crucial MX500 1TB
|
€ 68,1716 winkels |
|
![]() |
Crucial MX500 2TB
|
€ 126,8015 winkels |
|
![]() |
Crucial P1 1TB
|
Niet verkrijgbaar | |
![]() |
Gigabyte Aorus NVMe Gen4 1TB
|
€ 137,792 winkels |
|
![]() |
Gigabyte Aorus NVMe Gen4 2TB
|
€ 133,507 winkels |
|
![]() |
Gigabyte Aorus RGB AiC 1TB
|
€ 239,783 winkels |
|
![]() |
Intel 660p 1TB
|
€ 66,573 winkels |
|
![]() |
Intel 660p 2TB
|
€ 203,223 winkels |
|
![]() |
Kingston A1000 960GB
|
Niet verkrijgbaar | |
![]() |
Kingston A2000 SSD 1TB (M.2 2280)
|
€ 184,951 winkel |
|
![]() |
Kingston KC600 1TB
|
€ 92,0011 winkels |
|
![]() |
Kingston KC2000 1TB (M.2 2280)
|
Niet verkrijgbaar | |
![]() |
Kingston UV500 960GB
|
€ 308,001 winkel |
|
![]() |
PNY XLR8 CS3030 1TB
|
€ 160,991 winkel |
|
![]() ![]() |
Samsung 850 Evo 1TB
|
Niet verkrijgbaar | |
![]() |
Samsung 860 Evo 1TB
|
€ 289,901 winkel |
|
![]() |
Samsung 860 Pro 1TB
|
Niet verkrijgbaar | |
![]() |
Samsung 860 QVO 1TB
|
Niet verkrijgbaar | |
![]() |
Samsung 860 QVO 2TB
|
Niet verkrijgbaar | |
![]() |
Samsung 970 Evo 1TB
|
€ 135,092 winkels |
|
![]() |
Samsung 970 Evo 2TB
|
€ 707,781 winkel |
|
![]() |
Samsung 970 Evo Plus 1TB
|
€ 79,9022 winkels |
|
![]() |
Samsung 970 Evo Plus 2TB
|
€ 144,9022 winkels |
|
![]() |
Samsung 970 Pro 1TB
|
€ 179,952 winkels |
|
![]() |
Sandisk Ultra 3D 1TB
|
€ 96,916 winkels |
|
![]() |
Seagate FireCuda 510 1TB (M.2)
|
€ 197,333 winkels |
|
![]() |
Toshiba OCZ TR200 960GB
|
Niet verkrijgbaar | |
![]() |
Western Digital Black 2018 NVMe 1TB
|
Niet verkrijgbaar | |
![]() |
Western Digital WD Black SN750 1TB (M.2)
|
€ 142,654 winkels |
|
![]() |
Western Digital WD Blue 3D 1TB
|
€ 228,011 winkel |