Test: Aorus NVMe Gen4 SSD X2 i RAID0

Solid state disk d.  31. december. 2019, skrevet af Renissen2 9 Kommentarer.  Vist: 10889 gange.

Korrekturlæser: jmose
Billed behandling: Renissen2
Oversættelse: jmose

Pristjek på  3200,00
Produkt udlånt af: Gigabyte
DK distributør: Proshop.dk

SSD'en i praksis

 

 

På forrige side kiggede vi på SSD teknologien, men hvordan er det lige det forholder sig i den virkelige verden. På denne side tager vi et kig på SSD'ens fordele og ulemper, samt et kig på TRIM teknologien, som mange nye SSD'er har indbygget. 
 

Fordele

Som det fremgår af forrige side, så har SSD'en mange fordele i forhold til dens ældre roterende brødre. Da en SSD ikke består af bevægelige dele bevirker det, at den ikke genererer noget støj. Dette kan være et plus i mange sammenhænge, hvor der stilles krav om et lavt støjniveau, såsom mediecentre, bærbare PC'er og lign. En anden fordel ved at SSD'en ikke indeholder bevægelige dele, er, at den er mere modstandsdygtig over for slag og stød. Den egenskab bliver hilst velkommen i den mobile del af IT-branchen, hvor flere og flere bærbare computere benytter SSD'er frem for harddiske (HDD).
En fordel som også tiltaler det mobile marked er, at en SSD bruger meget mindre strøm end en mekanisk harddisk. Det resulterer i længere batterilevetid og det kan man vel aldrig få for meget af.

Et andet punkt hvor SSD'en overgår de mekaniske er den lave søgetid. En gennemsnitlig HDD har en søgetid der ligger på 5-8 millisekunder (ms), fordi det mekanisk læse/skrive-hoved skal bevæges hen over de magnetiske plader. Dette lyder måske ikke af meget, men en SSD har en søgetid på under 0,1 ms, svarende til næsten omgående. Det betyder, at styresystem og programmer indlæses hurtigere og derved starter hurtigere op. En sidste ting som også er værd at tage med er, at en SSD har en lavere varmeudvikling end de mekaniske, igen pga. de bevægelige dele, som SSD'en jo er fri for.
 

SSD'en kendetegnes ved: 

  • Ingen støj
  • Robust
  • Lavt strømforbrug
  • Lav søgetid
  • Lav varmeudvikling


Den flittige læser bemærker sikkert, at der her ikke bliver nævnt noget om læse- og skrivehastighed, men da det er muligt, at købe mekaniske drev, som er hurtigere end nogle typer SSD'er, er dette punkt ikke medtaget som en af fordelene.
 

Ulemper

SSD teknologien har som beskrevet ovenfor en del fordele frem for den ældre mekaniske teknologi, men den nuværende SSD teknologi har også nogle skyggesider. En af de mere åbenlyse negative aspekter ved en SSD er, at den indtil nu og sikkert også i den nærmeste fremtid, har været en del dyrere pr. GB i forhold til de alm. harddiske. I skrivende stund er prisen ca. 2,5 kr per GB for en SATA SSD og omkring 35 øre/MB for en mekanisk disk.

En anden skyggeside som de nuværende SSD'er har, er at de mister ydelse med tiden. Når en SSD bliver brugt, altså når der bliver installeret programmer, oprettet og slettet filer osv., bliver SSD'en med tiden langsommere, hvilket giver sig udslag i knap så hurtige læse- og skrive hastigheder. Dette fænomen har mange flotte engelske navne, men på godt jysk kan man kalde det slid. Dette slid forekommer som skrevet når disken bliver brugt og det kan beskrives således:

Vi har en SSD med en kapacitet på 20 KiloByte (KB) fordelt på 1 blok med 5 pages. I hver page er der 4 KB til rådighed. Læsehastighed: 2 KB/s, skrivehastighed 1 KB/s. Det kan illustreres således:
 


SSD'en bliver bedt om at skrive en fil til blokken. Denne operation sker problemfrit. Efter denne operation er SSD 20% fyldt.
 


Dernæst bliver SSD'en bedt om at skrive en stor fil til blokken, hvilket også sker problemfrit. Efter denne operation er SSD 60% fyldt.

Hvis nu vi ikke længere har brug for den første fil, smider vi den i papirkurven og tømmer denne. På en HDD ville den pågældende page blive overskrevet (tømt) og være klar til at modtage en ny fil. Men på en SSD bliver page'en ikke overskrevet. På en SSD bliver page'en blot markeret som optaget, selve page'en er intakt, men indholdet (den lille fil på 4 KB) kan ikke længere benyttes. Styresystemet ved godt at disken kun har tre pages, to tomme og én markeret at gøre godt med, men reelt set er der ved at opstå et lille pladsproblem.
 

 


Hvis vi nu ønsker at skrive en meget stor fil til blokken, står vi over for et problem. Der er kun to tomme pages tilbage og vi skal bruge tre til billedet. Ganske vist er der tre pages, som kan benyttes af styresystemet, men den ene er ikke tom. Nu breder panikken sig, men der er hjælp at hente og hjælpen hedder cache

Grundet SSD'ernes opbygning kan man ikke blot overskrive en page og på den måde have tre tomme pages til rådighed til den meget store fil på 3 x 4 KB, man er derimod nødt til at overskrive en hel blok af gangen. Det er her cachen kommer ind i billedet. Cachen er en plads mængde, som står til klar til at modtage hele indholdet af vores blok. Når der er oprettet en kopi af vores blok i cachen (billede 1 og 2), kan den oprindelige blok overskrives og gøres klar til at modtage filer igen. I cachen bliver blokkens indhold modificeret således, at den nu indeholder tre tomme pages (billede 3). Den meget store fil bliver nu skrevet ind på de tre tomme pladser (billede 4). Til sidst bliver den modificerede blok kopieret tilbage til den tomme oprindelige blok (billede 5). 
 

   


Hvis vi lige tager et resume af hvad der lige skete: Operationen gik ud på at skrive 12 KB til disken, hvilket også blev udført. Men der blev jo samtidigt udført et par krumspring undervejs. For at skrive de 12 KB data var disken først nødt til at læse 12 KB for derefter at skrive en hel blok - eller 20 KB. Hvis vi kigger på hvilken hastighed dette blev udført med, så bliver det: 12 sekunder med 2 KB/s til læsning og 20 sekunder med 1 KB/s til skrivning, hvilket samlet set giver 26 sekunder til en operation, som kun burde tage 12! For hr. og fru Jensen vil dette se ud som, at skrivehastigheden er faldet fra 1 KB til under 0,5 KB, da det tog 26 sekunder at skrive 12 KB. 

Så med andre ord bliver en SSD gradvist langsommere i takt med, at den bliver fyldt op, fordi der ikke bliver ryddet op af og til (overskrivning/sletning af enkelte pages), men først når disken er ved at løbe tør for plads. Hvis der ikke er plads i den pågældende blok til den fil, der skal skrives, "hopper" SSD'en bare videre til en blok, hvor der er plads. Derved tvinges SSD'en til at gøre hovedrent og slette hele blokke af gangen og dette er en langsommelig proces.  

Denne kedelige tendens er kendt af producenterne, men det er ikke noget de snakker højt om. Det er dog muligt at genskabe de oprindelige læse- og skrive hastigheder, men det er ikke noget man bare sådan lige gør. Man kan genskabe sin SSD ved at overskive hele disken med programmer, men denne proces sletter alt indhold på SSD'en.

Selvom denne slitage gør SSD'en langsommere, har producenterne et es i ærmet, som pynter lidt på det. Dette es hedder TRIM og det skal hjælpe SSD'en med at rydde op og sørge for at den bevarer sin oprindelige hastighed. 

En ting, der endnu ikke er fuldt kendskab til, er, hvordan de enkelte flash-RAM moduler håndterer gentagne overskrivninger. Man forventer, at SSD'er med MLC chips kan håndtere op imod 100.000 overskrivninger, mens SLC chips kan klare ti gange så meget, altså 1.000.000. Men da SSD teknologien stadig er ny, er det svært at sige med sikkerhed.
 

TRIM og Garbage Collection

TRIM er et værktøj, som er indbygget i de fleste nye SSD'er. Dette værktøj kan benyttes af styresystemer til at holde disken "i form". Dog er det kun nyere styresystemer som f.eks. Windows 7 og Linux 2.6.33, der kan udnytte dette værktøj. Det bliver aktiveret, når der slettes en fil fra en eller flere pages. Som tidligere skrevet, bliver en page ikke overskrevet med det samme, når den bliver slettet, den bliver blot markeret som optaget. Hvis TRIM-værktøjet er aktiveret, vil en page når den slettes, blive overskrevet og gjort klar til brug med det samme. Med andre ord så varetager TRIM-værktøjet oprydning af SSD'en, før den løber tør for tomme blokke. Dette medfører at SSD'en beholder sin oprindelige læse- og skrivehastighed længere.
 


http://en.wikipedia.org/wiki/Garbage_collection_%28SSD%29#Garbage_collection


Garbage Collection er en funktion der sørger for at frigøre blokke så de kan overskrives. En blok består som sagt af flere pages. En page kan have 3 stadier - VALID: Den indeholder data vi ønsker at beholde - INVALID: Den indeholder data vi har slettet og FREE : Den er klar til skrivning. Hvis en blok indeholder både VALID og INVALID pages, så sørger Garbage Collection for at flytte VALID data til en ny blok med FREE pages. Derefter kan den oprindelige blok slettes og får så værdien FREE. Herved opnår man at få mere plads der kan skrives på. Funktionen kører ligesom TRIM når systemet er idle. Det kræver selvfølgelig, at man har plads på SSD'en til at flytte VALID data over på og en af de mest almindelige metoder til at garantere dette er at inkludere mere flashram i enheden end brugeren har adgang til, aka overkapacitet.
 

Overkapacitet

Skiller du f.eks. en 120GB SSD ad, vil du næsten helt sikkert finde ud af at den samlede mængde flashram er højere end de angivne 120GB, typisk 128-160GB alt efter type. Det har stor betydning for både levetiden og stabiliteten hvor meget ekstra plads der er afsat. SSD controlleren bruger hele den samlede mængde ram til alle tider, men du har altså kun adgang til en del af det. Det er også controlleren der suverænt styrer TRIM og Garbage Collection funktionerne, når den får GO fra operativsystemet. Det kan nogen gange betale sig manuelt at afsætte ekstra plads til overkapacitet, da SSD'en så får nemmere ved at vedligeholde sig selv og have skrivbare blokke klar til brug. Slidte og døde flashram-celler erstattes af friske fra overkapacitetsområdet, efterhånden som drevet slides.


NVMe

NVM Express, NVMe, eller Non-Volatile Memory Host Controller Interface Specification (NVMHCI) - kært barn har mange navne - er det nye sort når vi snakker om interface til SSD'er. De fleste nuværende SSD'er bruger det gamle AHCI interface og når jeg skriver interface, så mener jeg den måde din SSD's controller snakker med din CPU på, når der skal udveksles data. AHCI er udviklet til brug med mekaniske harddiske og følgelig er der nogle begrænsninger i hastigheden. AHCI er optimeret til roterende magnetiske plader og SSD opfører sig mere som en ramblok.  Derfor er der i AHCI indlagt nogle "jeg venter lige " trin, der skal synkronisere lagermediet til cpu'en. Det er ikke nødvendigt med en SSD. Derfor har man udviklet NVMe, der understøttes af de fleste moderne bundkort og bl.a er en del af M.2 specifikationen. Herunder et lille skema der lister nogle af forskellene på AHCI og NVMe.

 

High-level comparison of AHCI and NVMe
  AHCI NVMe
Maximum queue depth One command queue;
32 commands per queue
65536 queues;
65536 commands per queue
Uncacheable register accesses
(2000 cycles each)
Six per non-queued command;
nine per queued command
Two per command
MSI-X
and interrupt steering
A single interrupt;
no steering
2048 MSI-X interrupts
Parallelism
and multiple threads
Requires synchronization lock
to issue a command
No locking
Efficiency
for 4 KB commands
Command parameters require
two serialized host DRAM fetches
Gets command parameters
in one 64-byte fetch


Som det ses er NVMe's styrke at kunne køre flere ting parallelt, i modsætning til AHCI der venter på at magnetpladen i harddisken når rundt til det rigtige punkt, så læsehovedet kan få fat i data. NVMe låser op for potentialet i SSD teknologien og især PCI-Ekspress baserede SSD'er bør få stor nytte af den nye specifikation.

 

 

Burgurne
 
Elitebruger
Tilføjet:
31-12-2019 11:39:25
Svar/Indlæg:
5871/1286

En yderst interessant test, Renissen. Har dog lige et opfølgende spm, da der tilsyneladende er problemer med (især read) 4k filer.

Da du oprettede dette RAID0 array, hvad størrelse valgte du så til stripe size? Dette valg kan give ret forskellige resultater i div testprogrammer.

 


 

Man kan jo så undre sig over, at Intel stadig ikke er kommet med på PCIe4 vognen, ikke engang på det kommende Z470 chipsæt




Svaret blev redigeret 1 gang, sidst af Burgurne d. 31-12-2019 11:42:25.


Renissen2
 
Senior Skribent
Tilføjet:
31-12-2019 12:47:05
Svar/Indlæg:
2045/273

#1

Hmmm godt spørgsmål. Jeg mener ikke der var mulighed for at vælge dette, men jeg kan have overset det. Jeg husker det kun som opret array RAID0, med måske en mulighed for forskellig cache size.

Ja utroligt at intel ikke straks hoppede med på Gen4 PCIe. 🙂



Svaret blev redigeret 2 gange, sidst af Renissen2 d. 31-12-2019 12:49:17.


Phz
 
Superbruger
Tilføjet:
01-01-2020 21:45:04
Svar/Indlæg:
157/0

Har du tænkt på om dine problemer stammer fra mangel af PCI-E lanes? - jeg har selv rodet med det (dog kun på pci-e 3.0) og endt med samme problemer og mærkelige hastigheder i visse sammenhæng. 

Uanset om du køber vilde bundkort med 3  stk x16 sokler og 4 stk x1 sokler har du reelt kun 20 lanes og give af. Cpu'en er en 24lane chip - de 4 er afsat til chipset. Tag for givet at dit grafikkort får de 16 af de 20 tilgængelige lanes - så beder du om at få 2*4 lanes mere til dit NVMe storage - for slet ikke at snakke om at du skal have lanes til dine sata controllere, usb porte, network osv osv osv (hvor det meste givetvis deles via de 4x til chipset). 

https://en.wikichip.org/wiki/a...

Expansions

In addition to the x4 lanes that are reserved for the chipset, the Ryzen 5 3600X has x16 for a 

https://en.wikichip.org/w/inde...

 and x4 for storage (NVMe or 2 ports SATA Express). 

 

Syntes ikke jeg personligt har haft held med at finde review sider der er gået tilpas i dybden med hvordan AMD vælger og fordeler disse PCI-E lanes. Min situation stod jeg også og skulle have et x8 10gbps netkort i maskinen samtidig. Alm matematik sagde jo vi var løbet tør for lanes længe forinden - men tingene virkede - blot ikke med håbede hastigheder. 

Prøvede selv at løse problemet med en 3200G/3400G chip og tænkte - onboard gfx måtte da løse det - men så går de x16 lanes blot til onboard. 

Back on topic - god artikel ... 🙂



speed
 
Elitebruger
Tilføjet:
02-01-2020 08:44:56
Svar/Indlæg:
786/83

Jeg tror, at #3 er inde på noget.

Du skal også være opmærksom på, at 1 af M.2 ”stikkene” kommunikerer direkte med CPU`en mens det andet M.2 stik kommunikerer via chipsettet. Det kan også have betydning. Dette stik deler ofte samtidigt sine PCI-baner med SATA portene. Så hvis du også har dem i brug, kan det reducere den båndbredde, du har til rådighed.



Burgurne
 
Elitebruger
Tilføjet:
02-01-2020 11:59:00
Svar/Indlæg:
5871/1286

#4 Ikke helt korrekt (på Intels chipsæt i hvert fald). De PCIe lanes der deles mellem NVMe og SATA kan KUN bruges til enten det ene eller det andet, man kan altså ikke have en SATA og en NVMe der hver får det halve antal baner. Det er enten eller.

 

Jeg har selv 2 NVMe drev i min (intel) PC, Samsung 970 EVO, og jeg har testet på kryds og tværs mellem det NVMe stik der kører direkte til CPU'en og det der kører gennem chipsættet. Der er INGEN forskel. Den teoretiske hastighedsforskel der måtte være kommer ikke til udtryk da begrænsningen i hastighed åbenbart ligger et andet sted. Jeg tabte et væddemål på dette, så tro mig ... jeg gjorde alt hvad jeg kunne for at modbevise at dette ville blive resultatet 😉.

Men da det kun er PCIe 3 jeg har, så giver det ingen mening i at teste i RAID 0, da drevene hver især er meget tæt på max. ydelse i.forb.m PCIe 3.

 

På RAID0 med alm. harddiske kan stripe size have en hel del at sige, men jeg har aldrig prøvet med SATA SSD i RAID0, så derfor mit oprindelige spm i #1



drcasino
 
Superbruger
Tilføjet:
03-01-2020 18:11:04
Svar/Indlæg:
374/32

Rigtig spændende læsning, tak for en fin artikel.

 

Jeg undrer mig over nedenstående:

"Jeg har opbygget RAID0 ARRAYET med en 1TB AORUS NVMe Gen4 SSD på 1TB og endnu en på 2TB hvilket giver et ARRAY på 1TB samlet."

 

Bør det ikke ende med at være 3TB samlet, når du kører 0?



Renissen2
 
Senior Skribent
Tilføjet:
03-01-2020 18:41:06
Svar/Indlæg:
2045/273

Nå jo det kan da egentlig godt tænkes. :) Jeg var i min egen lille RAID verden da min NAS kører RAID 1 og der giver det samlede af 2 stk.2TB hd'er 2 TB samlet. My bad :)



Die_Happy
 
Elitebruger
Tilføjet:
03-01-2020 20:00:00
Svar/Indlæg:
3385/80

Var Corsair ikke først med "verdens første" PCIe 4.0 SSD? https://www.kitguru.net/compon...



Renissen2
 
Senior Skribent
Tilføjet:
03-01-2020 23:16:04
Svar/Indlæg:
2045/273

Jo det var de vist... hvorfor? 🙂