2015: het jaar van PCI-Express SSD’s?

36 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Form-factors
  3. 3. SATA Express: nu al dood?
  4. 4. M.2 varianten
  5. 5. Implementaties op moederborden
  6. 6. NVMe
  7. 7. Ervaringen met huidige producten
  8. 8. Veel in de pijplijn
  9. 9. Besproken producten
  10. 10. Reacties

Inleiding

Op de nieuwste generatie moederborden zijn SATA Express en M.2 aansluitingen geen uitzondering meer. De PC is dus klaar voor de PCI-Express SSD-revolutie. Volgend jaar moet die echt gaan plaatsvinden.

Wie online de SSD-reviews van Hardware.Info volgt (klik hier voor onze laatste grote SSD vergelijkingstest), ziet de laatste jaren vooral grafieken waarin SSD’s uit het luxere segment nagenoeg identiek presteren. Zeker bij sequentiële lees- en schrijftests moeten we je consequent een grafiek voorschotelen waarin vrijwel alle moderne SSD’s rond de 550 MB/s presteren. Dat is niet gek: die 550 MB/s is in de praktijk het maximale wat je door de Serial ATA 600 interface, waarvan vrijwel alle SSD’s gebruik maken, kunt loodsen. Toen we nog louter harde schijven kenden, hadden we het nooit durven dromen, maar de lange tijd theoretische 600 MB/s van SATA600 is inmiddels al geruime tijd de praktische bottleneck die verdere toename van SSD prestaties voorkomt.

De oplossing is er: toekomstige SSD’s zullen niet langer Serial ATA 600 als interface gebruiken, maar PCI-Express. De eerste PCI-Express SSD’s hebben we inmiddels bij Hardware.Info voorbij zien komen, het is nu wachten op de echte doorbraak. Als we de aankondigingen van verschillende fabrikanten mogen geloven, gaat die er volgend jaar echt komen. Vermoedelijk zullen tijdens de CES-beurs in januari de nodige modellen aangekondigd worden en volgt er daarna snel meer.

PCI-Express

Dankzij PCI-Express is het mogelijk om aanzienlijk hogere doorvoersnelheden te behalen dan met Serial ATA 600, zonder dat het nodig is een volledig nieuwe interface te bedenken. Een enkele PCI-Express lane van de 2.0 generatie biedt een doorvoersnelheid van 500 MB/s. PCI-Express SSD-controllers maken in de regel gebruik van twee of vier lanes, wat dus neer komt op respectievelijk 1000 MB/s en 2000 MB/s. Dat laatste is ruim drie keer meer dan wat mogelijk is met SATA600. Komt versie 3.0 van PCI-Express in het spel, dan verdubbelen deze waardes nog eens naar 2000 MB/s en 4000 MB/s. Daarmee kunnen dus grote stappen gemaakt worden, al zal het met het parallel aansturen van voldoende flashchips ook niet bijster lang duren eer dergelijke snelheden behaald worden.

Form-factors

Op PCI-Express gebaseerde SSD’s heb je in drie verschillende form factors. Allereerst als PCI-Express uitbreidingskaarten, die je in een leeg PCI-Express x4, x8 of x16 slot van je moederbord steekt. Voor servers en desktops ligt deze form factor voor de hand en zeker bij een platform als Intel X99, waar alle borden veel PCI-Express sloten met voldoende lanes aan boord hebben, is het niet zo gek om te denken dat we in de toekomst steeds vaker een PCI-Express kaart als primaire opslag gaan plaatsen.

Intel DC P3700 400GB (PCIe x4)
PCI-Express SSD's kunnen uitgevoerd worden als uitbreidingskaart...

Een tweede form factor zijn 2,5" drives, zoals dat nu gebruikelijk is bij SSD’s. Er zijn twee technologieën/connectors die het mogelijk maken om een 2,5" SSD middels PCI-Express aan te sturen: SATA Express, gericht op consumenten PC’s, en SFF-8639, gericht op servers. Juist voor servers is 2,5" een logische form factor, omdat de moderne PCI-Express SSD’s net als nu SATA/SAS SSD’s en HDD’s in (hot) swappable drivetrays aan de voorkant van de server kunnen worden geplaatst. Een PCI-Express kaart is een stuk lastiger te vervangen, zeker als een server in gebruik is. Voor desktops heeft de 2,5" form-factor voornamelijk een kans van slagen omdat we het nu zo gewend zijn, niet omdat het technisch zo voor de hand liggend is.


... als 2,5" drive (dankzij SATA Express of SFF-8639) ...

De derde form factor zijn kleine printplaatjes, waarvoor men de M.2-connector heeft ontwikkeld. Deze fysiek kleine SSD’s zijn natuurlijk uitermate geschikt voor laptops en Ultrabooks, maar vanwege de hogere snelheid die M.2 mogelijk maakt en de vermoedelijk in de toekomst rijkere keus aan M.2 SSD’s, breekt de standaard ook snel door bij desktop moederborden.

Samsung XP941 512GB
... en als M.2 module.

SATA Express: nu al dood?

Voor het verbinden van 2,5" SSD’s in desktops via PCI-Express is eigenlijk de SATA Express standaard ontwikkeld. De connector hiervan ziet er uit als twee normale SATA-connectors, met nog een derde, mini-connector ernaast. SATA Express is dan ook compatible met Serial ATA. De Intel Z97 en X99 chipsets bieden de mogelijkheid om ofwel het geheel als SATA Express (met PCI-Express interface dus) te gebruiken, ofwel de twee inwendige connectors als twee Serial ATA 600-aansluitingen te benutten.

SATA Express heeft echter een nadeel ten opzichte van PCI-Express en M.2 uitbreidingskaarten: een SATA Express-kabel kan slechts twee PCI-Express lanes transporteren. Met PCI-Express 2.0 is de maximale doorvoersnelheid hierdoor beperkt tot 1000 MB/s, een relatief beperkte vooruitgang ten opzichte van Serial ATA 600. Het is ons niet duidelijk of SATA Express ook geschikt is voor PCI-Express 3.0, maar de huidige Intel-implementatie in de Z97 en X99 chipsets is dat sowieso niet.

De lagere snelheid is niet de enige reden waarom de meeste moederbordfabrikanten weinig in deze standaard zien. SATA Express gaat immers per definitie enkel in desktops gebruikt worden, want voor laptops is M.2 dé standaard. Het is maar de vraag hoeveel SATA Express SSD’s de verschillende SSD-fabrikanten zullen uitbrengen voor de desktop nichemarkt. Nog voordat de eerste SATA Express SSD’s zijn uitgebracht, heeft ASRock dan ook bij haar nieuwe X99-moederborden de standaard alweer dood verklaard. ASUS daarentegen implementeert juist twee SATA Express poorten op sommige van haar borden. Eén daarvan is dan verbonden met de Intel-chipset, de ander met een ASMedia-controller die eveneens PCI-Express x2 met 2x SATA600 als terugvaloptie biedt. Een M.2 aansluiting zit echter op alle X99-moederborden die we tot dusver getest hebben…

Voor servers is zoals gezegd de SFF-8639 connector bedacht. De signalering over daarvoor geschikte kabels is een stuk complexer, onder meer doordat een kloksignaal moet worden meegestuurd. SFF-8639 kabels vereisen ook veel meer shielding, wat ze een stuk duurder maakt. Een voordeel van SFF-8639 is echter dat het wél mogelijk is om vier PCI-Express lanes te gebruiken. Een 2,5" SSD met SSF-8639 aansluiting kan dus net zo snel zijn als een PCI-Express uitbreidingskaart.

Inter-Tech SY-603 White
De SATA Express connector zoals aanwezig op veel moderne moederborden.

Inter-Tech SY-603 WhiteEen SATA Express kabel

Inter-Tech SY-603 White
Moederbord kant

Inter-Tech SY-603 White
SSD-kant

M.2 varianten

De M.2-connector, die tijdens de ontwikkeling nog bekend stond onder codenaam NGFF ofwel Next Generation Form Factor, is een bijzondere, aangezien er meerdere varianten van zijn en er allerhande interfaces over geloodst kunnen worden: Serial ATA, PCI-Express en USB 3.0 zijn de belangrijkste. Het maakt dat M.2 niet alleen gebruikt kan worden voor SSD’s, maar ook voor bijvoorbeeld draadloze netwerkkaartjes, 4G-modules en zo verder.

Het betekent ook dat wanneer je een M.2 SSD in de winkel ziet, daarmee niet gezegd is dat hij een PCI-Express interface heeft. Sterker nog: de overgrote meerderheid van de M.2 SSD’s die op het moment van schrijven in omloop zijn, is nog gebaseerd op Serial ATA 600 en biedt dus geen prestatievoordeel ten opzichte van conventionele 2,5" SATA of mSATA modellen.

Van de M.2 connector bestaan meerdere varianten met halverwege een nokje dat op verschillende plekken kan zitten. De verschillende varianten worden aangeduid met letters. Voor SSD’s zijn variant B en M in gebruik. Een B-slot biedt zo’n beetje alle interfaces: PCI-Express, SATA 600, USB 3.0 en 2.0, audio, en I²C. PCI-Express is bij zo’n B-slot echter beperkt tot twee lanes, ofwel 1000 MB/s bij PCI-Express 2.0.

Een M.2 M-slot biedt enkel Serial ATA en PCI-Express, maar dat laatste dan wel met tot vier lanes. Daarmee is dus 2000 MB/s met PCI-Express 2.0 en zelfs 4000 MB/s met PCI-Express 3.0 mogelijk. Minder vaak gebruikt en bovenal niet geschikt voor SSD’s zijn de A-variant met PCIe x2, USB 2.0 en DisplayPort en de E-variant met PCIe x2, USB 2.0, I²C en SDIO. Om het nog wat complexer te maken: de aanwezigheid van een M-slot betekent niet dat er ook daadwerkelijk vier lanes zijn aangesloten, het kunnen er ook twee of één zijn.

In feite passen in een B-slot alleen M.2-modules met een inkeping op de B-plek en in een M-slot alleen M.2-modules met een inkeping op de M-plek. In de praktijk hebben Serial ATA 600 of PCI-Express x2 SSD’s zowel een B- als een M-inkeping en kunnen dus in beide sloten geplaatst worden voor zo groot mogelijke compatibiliteit. Een PCI-Express x4 gebaseerde M.2 heeft echter alleen een M-inkeping en kan dus niet in een B-slot geplaatst worden.


Alleen een M-type M.2-slot kan vier PCI-Express lanes bevatten.

Plextor M6e 256GB
De Plextor M6e is één van de eerste PCI-Express M.2 SSD’s en werkt met PCIe 2.0 x2.

Implementaties op moederborden

Het moge dus duidelijk zijn: het ene M.2-slot is het andere niet en daar komt bij dat moederbordfabrikanten ook nog eens verschillende manieren hebben om een M.2-slot te implementeren. Bij alle moderne Intel-platformen zit er namelijk zowel in de processor als in de chipset een PCI-Express controller.

Bij het normale Haswell-platform (Socket 1150) hebben de processors een PCI-Express 3.0 controller met 16 lanes. Daarnaast biedt de chipset nog een achttal PCI-Express 2.0 lanes. Op één uitzondering na zijn de M.2-sloten die we tegenkwamen op Intel Z97/H97 borden middels twee PCI-Express 2.0 lanes verbonden met de chipset. 1000 MB/s dus, en dus een beperkte te verwachten winst ten opzichte van Serial ATA 600. De enige uitzondering is ASRock dat op de Z97 Extreme6 het M.2-slot met vier PCI-Express 3.0 lanes met de CPU heeft verbonden. Daarmee zijn dus PCIe x4 SSD’s mogelijk met veel hogere snelheid, maar het heeft wel als nadeel dat er voor de videokaart nog maar 8 lanes overblijven bij gebruik van zo’n SSD, aangezien Socket 1150 CPU’s simpelweg te weinig lanes bieden.

Bij het X99-platform zijn er lanes te over. De Haswell-E processors bieden afhankelijk van het type 40 of 28 PCI-Express 3.0 lanes. Ook de X99-chipset beschikt nog eens over acht PCI-Express 2.0 lanes. ASRock, ASUS en MSI bieden zoals gezegd op al hun X99-borden een M.2 slot met vier PCI-Express 3.0 lanes vanuit de CPU, de snelste optie dus. De CPU’s bieden voldoende lanes om een of twee videokaarten nog altijd op volle snelheid aan te sturen. Gigabyte is de uitzondering: hun X99-borden hebben op één uitzondering een M.2-slot met twee PCI-Express 2.0 lanes uit de chipset, de langzamere optie dus. De enige uitzondering is de X99-SOC Force, met vier PCI-Express 2.0 lanes uit de chipset. Wel vier lanes dus, maar in tegenstelling tot de andere borden niet van de 3.0 versie.

In de regel worden overigens altijd zogenaamde M-sloten gebruikt op moederborden en is dus geen visueel verschil.

In meer en meer moderne laptops komen we ook M.2 sloten tegen. Bij moderne Ultrabooks is het vaak zelfs de enige beschikbaar storage interface. Het is echter in de meeste gevallen niet helemaal duidelijk of de sloten wel of geen PCI-Express functionaliteit bieden naar Serial ATA en zo ja met twee of vier lanes. Zolang het zelf upgraden van M.2 SSD’s niet is ingeburgerd, is er voor laptopfabrikanten ook weinig motivatie om hier duidelijkheid over te bieden.

Het is bij moederborden even opletten of een M.2 slot twee of vier PCI-Express lanes heeft. ASRock geeft dat laatste aan met de titel “Ultra M.2”.

Samsung XP941 512GB
De Samsung XP941 is een PCI-Express x4 SSD, maar helaas officiëel niet los te koop.

NVMe

De overstap van Serial ATA 600 naar PCI-Express is niet de enige reden waarom toekomstige SSD’s een stuk sneller zijn. Er is namelijk ook een nieuw aansturingsprotocol uitgedokterd, NVMe. Dit is de opvolger van het AHCI-protocol dat nu voor Serial ATA drives wordt gebruikt. AHCI is ontwikkeld in een tijd dat SSD’s nog niet in zicht waren en is dus geoptimaliseerd voor harde schijven. Zo kunnen bij AHCI bijvoorbeeld slechts 32 commando’s tegelijkertijd naar de schijf gestuurd worden. Voor een harde schijf is dat prima, want de magenetische disks met lees- en schrijfarm kunnen toch niet meerdere dingen tegelijkertijd doen. SSD’s zijn juist zeer geschikt voor parallelle verwerking. Bij NVMe zijn er 65536 queues van elke 65536 commando’s, dus die bottleneck is voorbij. Ook daarnaast zijn er vele bottlenecks weggehaald en is de CPU-belasting van het protocol ook veel lager.

NVMe en PCI-Express SSD’s zijn zeker niet onlosmakelijk met elkaar verbonden. Sterker nog: de eerste generatie PCI-Express SSD’s en sowieso alle varianten voor consumenten maken vooralsnog gebruik van AHCI. NVMe maakt het echter mogelijk om écht alle potentie uit een PCI-Express SSD te halen.

Softwareondersteuning is er inmiddels: vanaf Windows 8.1 en Windows Server 2012 R2 heeft Microsoft native support ingebakken en kun je Windows dus direct installeren en booten vanaf een NVMe storage-apparaat. Voor oudere Windows-versies zul je drivers moeten installeren. In de Intel-chipset drivers zit tegenwoordig NVMe support ingebakken. Bij Linux is NVMe support aanwezig vanaf kernel versie 3.3.


Het NVMe Express protocol moet AHCI gaan vervangen en SSD’s nóg sneller maken.

Intel DC P3700 400GB (PCIe x4)
De Intel DC P3700 PCI-Express SSD voor servers is één van de eerste NVMe producten.

Ervaringen met huidige producten

Vrijwel alle nieuwste generatie moederborden hebben M.2 en/of SATA Express aansluitingen en ook bij laptops begint M.2 ingeburgerd te raken, maar we staan pas aan de vooravond van een invasie van PCI-Express gebaseerde SSD’s.

Voor consumenten is er op het moment van schrijven welgeteld één op PCI-Express gebaseerde M.2 SSD beschikbaar, de Plextor M6e. Deze wordt ofwel als losse M.2 module ofwel als M.2 module in een adapter in de vorm van een PCI-Express uitbreidingskaart geleverd. De gebruikte Marvell 88SS9183 controller maakt gebruik van PCI-Express 2.0 x2. De SSD heeft net als (vrijwel) alle Serial ATA gebaseerde M.2 SSD’s zowel de B- als de M-inkeping, zodat hij in beide type sloten geplaatst kan worden. Wij hebben de M6e getest en maten sequentiële leessnelheden van ruim 700 MB/s, iets wat met Serial ATA 600 uiteraard niet mogelijk zou zijn. Het is echter geen verschil van dag en nacht en aangezien de schrijfsnelheid niet de SATA600-grens voorbij gaat en de M6e op andere vlakken ook niet bijster geweldig presteert, zijn de snelste SATA600 SSD’s in de praktijk sneller dan deze M6e. Een leuke eerste ervaring dus, maar niet veel meer.

Samsung heeft de XP941 SSD die communiceert met vier PCI-Express 2.0 lanes. Deze SSD wordt echter door Samsung officieel niet los verkocht en levert Samsung puur aan OEM-klanten. Je vindt hem bijvoorbeeld in de Apple Mac Pro, de Apple Macbook Pro, de Sony Vaio Pro 3, de HP Z420 workstation en LaCies externe Thunderbolt SSD. Door de laatste twee apparaten te de-assembleren konden wij de XP941 al testen. Inmiddels zijn er een handvol online shops die de SSD ook los verkopen, vermoedelijk doordat een distributeur ze ergens bij de OEM-tak van Samsung heeft ingekocht. Wanneer je hem plaatst op een moederbord met een M.2 slot met vier lanes, mag je leessnelheden tot boven de 1300 MB/s en schrijfsnelheden boven de 1000 MB/s verwachten. Dat is echt aanzienlijk meer dan Serial ATA 600 SSD’s. De random performance van de XP941 is echter niet (veel) beter dan van de beste SATA600 modellen (zoals Samsungs eigen 850 Pro). Maar goed, in sommige situaties kan een XP941 echt twee keer zo snel zijn.

De beste blik in de toekomst die we tot nu toe kregen is aan de hand van de Intel DC P3700 PCI-Express SSD voor servers. Deze PCI-Express x4 uitbreidingskaart is (voor zover wij weten) de eerste SSD die gebruik maakt van NVMe. De prestaties zijn om bij te likkebaarden: in de PCMark8 Storage Bandwith test, die is gebaseerd op de hardeschijf toegangspatronen van echte applicaties, komt de snelste SATA600 SSD op gemiddeld 516,2 MB/s. De Plextor M6e (PCIe 2.0 x2) en Samsung XP941 (PCIe 2.0 x4) scoren respectievelijk 636,9 en 1058,4 MB/s. Met de op NVMe-gebaseerde Intel P3700 – die absoluut niet geoptimaliseerd is voor consumenten workloads – scoren we niet minder dan 2160,7 MB/s. Kijken we naar de Atto 1MB schrijftest, dan blijven de SATA-drives rond de 550 MB/s hangen, terwijl de P3700 de 2700 MB/s voorbij gaat.

De P3700 is peperduur, mede door het speciale flashgeheugen dat 10 drive writes per dag aankan, maar wij kunnen niet wachten totdat technologie als deze beschikbaar komt voor consumenten.

Veel in de pijplijn

Gelukkig zit er voldoende in de pijplijn. SandForce, tegenwoordig onderdeel van hardeschijvenfabrikant Seagate, kondigde ruim een jaar geleden al de SF3700 serie aan. Topmodel SF3739 hiervan zal via PCI-Express x4 werken. Tijdens CES in januari en Computex in juni toonde Kingston al een prototype PCI-Express uitbreidingskaart op basis van deze controller. Volgens de specificaties moet deze controller met oncomprimeerbare data 1800 MB/s kunnen halen, zowel met lezen als schrijven. Daarnaast zet SandForce in op 150.000+ 4k random read Iops. De controller wordt zowel geschikt voor AHCI als voor NVMe. De SF3719 en SF3729 zijn goedkopere varianten met SATA en PCI-Express x2. Adata toonde tijdens Computex al een M.2 SSD op basis van één van deze controllers. SF3700 SSD’s zijn echt iets waar we naar uitkijken; begin 2015 moet het eindelijk zo ver zijn.

Marvell heeft ook verschillende nieuwe PCI-Express SSD-controllers aangekondigd. De 88SS9293 werd al werkend tijdens Computex getoond, deze werkt met vier PCI-Express 2.0 lanes. Bij de demo werden snelheden boven de 1300 MB/s behaald. De 88SS1093 moet een nieuw topmodel worden. Het ondersteunt PCI-Express 3.0 x4 en zou dus in theorie in de buurt van 4000 MB/s moeten komen. Ook deze controller gaat naast AHCI ook NVMe ondersteunen. Wanneer we exact SSD’s op basis van Marvell 88SS1093 controllers mogen verwachten is nog onduidelijk. De ontwikkelaar maakt het zelf niet concreter dan “in 2015”. Vermoedelijk zullen vaste Marvell-klanten als Crucial/Micron, Sandisk en Plextor er als eerste mee aan de slag gaan. Voor betaalbare PCI-Express SSD’s komt Marvell met de 88S1083, die twee PCI-Express 2.0 biedt, maar wel overweg kan met toekomstige generaties flashgeheugen. Of deze controller NVMe gaat ondersteunen, wagen we te betwijfelen.

Samsung heeft zoals geschreven al een PCI-Express x4 controller klaar, zoals gebruikt op de XP941. Ga er maar vanuit dat men werkt aan een opvolger en dat de Koreanen zodra ze de markt rijp vinden ook PCI-Express SSD’s in de losse verkoop zullen zetten. OCZ maakt er ook geen geheim van dat het Indilinx team werkt aan een PCIe-controller, al zijn de te verwachten specificaties daarvan nog niet bekend. Andere SSD controllerfabrikanten (Phison, LAMD) zijn over het algemeen wat minder scheutig met roadmaps, maar ook daarvan mogen we aannemen dat men er hard aan werkt om in 2015 de nodige producten te laten zien.


In januari toonde Kingston al deze op SandForce SF-3700 gebaseerde Predator PCI-Express SSD.

Wat gaat het worden?

Toch nog even terug naar de discussie over de form factors. Voor laptops wordt M.2 zonder enige twijfel de standaard. Voor servers zal het een combinatie worden van PCI-Express uitbreidingskaarten en SFF-8639 2,5” drives. Op basis van de vele gesprekken die we het afgelopen jaar met moederbord- en SSD-fabrikanten hebben gevoerd, geven we voor high-end desktops de PCI-Express uitbreidingskaart de grootste kans. Voor betaalbare desktops zal Serial ATA nog lang de belangrijkste interface blijven. Maar juist omdat we verwachten dat SSD fabrikanten voor de laptop upgrademarkt veel losse M.2 SSD’s gaat uitbrengen, ligt het toch ook wel voor de hand dat die form factor ook op de desktop een kans van slagen heeft. Over SATA Express zijn we inmiddels enigszins sceptisch, want zoals al geschreven: de standaard is al achterhaald voordat het eerste product op de markt is.


Besproken producten

Vergelijk alle producten

Vergelijk  

Product

Prijs

Samsung XP941 128GB

Samsung XP941 128GB

  • SSD
  • 128 GB
  • PCI-Express 2.0 x4
  • 1080 MB/s
  • 800 MB/s
  • M.2 2280
Niet verkrijgbaar
Samsung XP941 256GB

Samsung XP941 256GB

  • SSD
  • 256 GB
  • PCI-Express 2.0 x4
  • 1080 MB/s
  • 800 MB/s
  • M.2 2280
Niet verkrijgbaar
Samsung XP941 512GB

Samsung XP941 512GB

  • SSD
  • 512 GB
  • PCI-Express 2.0 x4
  • Samsung S4LNO53X01
  • 1170 MB/s
  • 950 MB/s
  • M.2 2280
Niet verkrijgbaar
0
*