Inleiding: de vraag naar bandbreedte
Inleiding: de vraag naar bandbreedte
De drang naar meer bandbreedte en snellere interfaces leidt steeds weer tot innovaties bij pci-express, usb en geheugen. Tijdens het Intel Developer Forum, beter bekend als het IDF, gaven Intel en diverse andere betrokkenen een update over de stand van zaken rond toekomstige methodes om solid state drives aan te sluiten. Ook de aanstaande versies van standaarden als ddr4, pci-express en usb passeerden de revue; allemaal moeten ze volgend jaar of het jaar erop de huidige bandbreedte verdubbelen.
Met sommige technieken zal in eerste instantie gepionierd worden in serveromgevingen. De nieuwe interface voor ssd's nvme zal eerst voor datacentra interessant zijn. Pci-express 4.0 en vooral usb 3.1 zijn echter ook voor consumenten interessant, waarbij die laatste standaard begin 2015 onder meer laptopdocks met slechts één kabeltje moet opleveren.
Hoewel op de expositieruimte van het IDF een ruimte voor thunderbolt was ingericht en Intel inmiddels versie 2 van de interface heeft uitgebracht, was er weinig aandacht voor. De aanloop naar brede adoptie van thunderbolt lijkt nog op zich te laten wachten.
Van de andere toekomstige technieken die zijn genoemd, volgt een korte uiteenzetting.
/i/1379595086.jpeg?f=imagenormal)
Ddr4: sneller en zuiniger
Een snellere en zuinigere geheugenstandaard die de huidige ddr3-repen moet opvolgen, is eigenlijk al klaar. Diverse geheugenfabrikanten hebben in de afgelopen maanden ddr4-producten aangekondigd en systemen met ddr4 werden volop getoond tijdens het IDF. De specificaties van de systemen waarin de modules werden geprikt, bleven echter nog afgeschermd. Gezien de eigenschappen van de nieuwe standaard, met lagere spanningen en meer bandbreedte als belangrijkste, zullen high-end systemen de eerste productgroep zijn waarin ddr4 wordt toegepast.
De toegenomen bandbreedte van ddr4 zal aanvankelijk ondersteund worden door Haswell E-processors, de opvolger van Intels snelste consumentenprocessors in de Ivy Bridge E-serie. Die Haswell E-cpu's worden, net als bijvoorbeeld de Core i7-4960X, in een lga2011-socket gestoken, maar het voetje is niet pin-compatible met de huidige 2011-socket. De chipset krijgt voor Haswell E eveneens een update naar de X99-chipset. Naast de snelle consumentenprocessors zullen ook servers ddr4 ondersteunen. De mainstream-consumentenmarkt moet vermoedelijk nog tot 2015 wachten op ddr4.
Een van de grootste voordelen van ddr4 is de bandbreedte. Standaardenorganisatie Jedec heeft snelheden van 2133MT/s, terwijl het maximum momenteel op het dubbele ligt. Ddr3 daarentegen is gespecificeerd op 800MT/s tot 2133MT/s. Ook de capaciteit van de geheugenchips is toegenomen tot maximaal 16Gb, met een verdubbeling van het aantal banken naar 16 stuks. De standaardspanning van ddr4-modules is verlaagd van 1,5 naar 1,2V, terwijl ook een zuinigere variant van 1,05V mogelijk is.
/i/1379587732.png?f=imagenormal)
Naar verwachting gaan vooral servers en de genoemde Haswell E-generatie in 2014 ddr4 ondersteunen. Pas in 2015 gaan ook de 'gewone' computers en laptops over de zuinigere standaard beschikken, terwijl het omslagpunt pas aan het eind van dat jaar wordt verwacht.
Usb 3.1: twee keer zo snel
Usb blijft voor veel consumententoepassingen de belangrijkste interface om randapparatuur aan te sluiten. De snelheid van usb 2.0 is inmiddels wat achterhaald en zeker voor opslag niet toereikend meer. Voor usb-drives is usb 3.0 een goede opvolger, maar zeker met ultrabooks wordt de vraag naar multifunctionele aansluitingen steeds groter. Ultrabooks hebben immers niet veel ruimte voor connectors, dus een centrale hub of 'docking station' is geen slechte optie.
Als video over zo'n hub gestuurd moet worden om een groter beeldscherm aan te kunnen sluiten, is de bandbreedte van usb 3.0 al snel niet voldoende meer. Een 1080p-scherm met 60fps aansturen gaat nog wel, maar zeker met de opkomst van 4k-schermen is de 5Gbit/s van usb 3.0 al snel ontoereikend. Een verdubbeling van de snelheid met usb 3.1 was dus aan de orde, uiteraard met backward compatbility.
De specificatie voorziet in een bandbreedte van 10Gbit/s, tweemaal die van usb 3.0 en gelijk aan de huidige thunderbolt-versie. De nieuwe standaard is te herkennen aan het vernieuwde logo met Superspeed+, maar de kabels en connectors zijn uitwisselbaar. Om van de snelheid gebruik te maken, zijn echter wel betere connectors en kabels nodig; door de verhoogde signaalsnelheid is de interface iets storingsgevoeliger. De maximale kabellengte zonder actieve kabels bedraagt één meter; voor usb 3.0 is dat drie meter. Ook de shielding moet wat zorgvuldiger gebeuren.
Een groot voordeel van usb 3.1 is de overhead; die is met 3 procent van de bandbreedte een stuk kleiner dan de 20 procent voor usb 3.0. Dat komt onder meer door de verbeterde lijncodering, waarbij niet 8 bits per keer, maar 128 bits worden gecodeerd. In verhouding tot de 10 bits in de daadwerkelijk verstuurde datastroom van usb 3.0 en de 132 bits van usb 3.1 kan data in theorie dus effectiever verstuurd worden.
Usb-versie | Usb 3.0 | Usb 3.1 |
Snelheid |
5Gbit/s |
10Gbit/s |
Naamgeving |
Superspeed usb |
Enhanced superspeed usb Superspeedplus usb |
Lijncodering |
8bit/10bit |
128bit/132bit |
Overhead |
20 procent |
3 procent |
Usb-hubs moeten overigens wel iets intelligenter worden. Met usb 3.1 wordt informatie over de ontvanger in de header meegestuurd, waardoor routering mogelijk wordt. Usb 3.0-hubs sturen alle data nu nog naar alle aangesloten devices. Als echter een usb 3.1-host op een hub wordt aangesloten en die met een usb 3.0-device moet communiceren, moet data door de hub gebufferd worden.
Pci-express: interface voor 2014
Pci-express, voluit peripheral component interconnect express, gaat inmiddels al weer negen jaar mee als elektrische interconnect en fysieke interface voor kaarten. In 2004 werd de eerste versie van de standaard gecreëerd om de oude agp- en pci-interfaces op te volgen. Vanaf de eerste versie beschikte de pci-express 1.0-interface over een bandbreedte van 250MB/s per zogeheten lane. Met maximaal zestien van die lanes kan een moderne pci-express-interface inmiddels 15,75GB/s transporteren. Vooral de nieuwste videokaarten maken dankbaar gebruik van die bandbreedte als ze in een pci-express-slot van een moederbord gestoken worden.
/i/1379594777.jpeg?f=imagenormal)
Pci-express is echter bij lange na niet voorbehouden aan videokaarten en de kleurige interfaces op een moederbord. Ten eerste kunnen ook andere insteekkaarten, zoals geluidskaarten, netwerkkaarten, raid-controllers voor harde schijven of solid state drives in de slots gestoken worden. Als elektrische interface is de pci-express-bus nog veelzijdiger; de inmiddels in onbruik geraakte expresscards maken van de interconnect gebruik en ook thunderbolt maakt gebruik van pci-express-lanes.
In de nabije toekomst moet pci-express ook voor solid state drives een grotere rol gaan spelen. Momenteel worden sommige high-end kaarten met een speciale controller op hun pcb in pci-express-slots gestoken, maar ook in laptops wordt pci-express steeds belangrijker voor ssd's. Het compacte M.2-formaat moet daarbij leidend zijn, terwijl nvm-express de snelheid van ssd's voor desktops en servers moet ontsluiten./i/1379594413.jpeg?f=imagenormal)
Aan een nieuwe versie van pci-express wordt uiteraard gewerkt. Versie 4.0 is in de maak en zou in ieder geval mechanisch compatibel zijn met versie 3.0. De elektrische compatibiliteit is niet zeker; die mogelijkheid wordt nog onderzocht. Versie 4.0 zou de bandbreedte ten opzichte van 3.0 verdubbelen tot 16GT/s per lane, omgerekend bijna tweeduizend megabyte per seconde. Met zestien lanes zou pci-express dus 31,5GB/s danwel 256GT/s leveren.
Nvm-express: ssd's on steroids
De sata-interface heeft inmiddels zijn sporen verdiend, maar de standaard is ontworpen rond traditionele, draaiende harde schijven. Die drives zijn inherent traag, omdat de lees- en schrijfkoppen van harde schijven nu eenmaal maar op één plaats tegelijk kunnen zijn. Die beperkingen gelden niet voor solid state drives; het flashgeheugen kan zeer goed parallel worden uitgelezen of beschreven, maar vanwege de vrij trage sata-interface wordt het snelheidspotentieel van ssd's niet benut.
De beoogde opvolger voor de sata-bus is nvm-express, een afkorting voor non-volatile memory (host controller interface) express. Zoals het acronym al aangeeft, is nvme van meet af aan gebouwd voor solid state-geheugen. De standaard maakt gebruik van pci-express-interconnects, wat leidt tot schaalbaarheid. Met slechts een enkele pci-e-lane beschikt een met nvme aangesloten ssd al over bijna een gigabyte per seconde aan bandbreedte, tegenover de 600 megabyte per seconde van sata. Met verschillende lanes haalt nvme een veelvoud van de sata-interconnect aan bandbreedte./i/1379591566.png?f=imagenormal)
Bovendien is nvme ontworpen met lage latencies en het parallelisme van solid state-geheugen. Zo wordt de software-latency onder Linux met ongeveer de helft gereduceerd en wordt de read latency van omstreeks 100 microseconden omlaag gebracht tot minder dan 20 microseconden. Bovendien is de commandoset gereduceerd tot dertien essentiële commando's en worden alle operaties in commando's van 64 bits verpakt. De queues kunnen daarbij extreem geschaald worden; per queue kunnen vierenzestigduizend commando's worden gegeven en er zijn vierenzestigduizend queues mogelijk. Daarbij stuurt één queue de overige queues aan, wat de schaalbaarheid weer ten goede komt.
Het energiebeheer van nvme moet, zeker voor gebruik in mobiele apparaten, nog worden herzien. Een volgende specificatie, die midden 2014 zou worden opgeleverd, zal echter verbeteringen in het energiebeheer bevatten. Nu worden de zogeheten power states gekozen na bepaalde periodes van inactiviteit. Na 50ms zonder activiteit wordt geschakeld van power state 0 naar 1 en na 500ms idle schakelt de controller naar power state 2. In de toekomst moet het besturingssysteem informatie over zijn activiteit terugkoppelen om zo de transities van power state naar power state sneller en efficiënter te maken. Dan zou idle 5mW mogelijk zijn.
M.2: hoge snelheid in kleine verpakking
De eerste toepassingsgebieden voor nvme zullen in servers te vinden zijn, maar pci-express als interface naar opslag moet op kortere termijn ook een belangrijke standaard voor consumenten worden. De M.2-formfactor, ook bekend als next generation form factor of ngff, moet daarbij een sleutelrol gaan spelen, maar alleen als pci-express of nvme als interconnect gebruikt wordt en als de juiste parameters gekozen worden. /i/1379592648.jpeg?f=imagenormal)
De M.2-interface kreeg voor het eerst bekendheid met Apples MacBook Air, waarin een M.2-ssd zit. Die lijkt wat op een verlengde msata-ssd, maar heeft een andere aansluiting. De M.2-ssd van Apple illustreert direct de diversiteit van de M.2-interface. Apple koos ervoor sata als interface te gebruiken, wat niet leidde tot een optimale snelheid en latencies. M.2-ssd's zijn 22mm breed en kunnen, afhankelijk van het aantal nand-chips onder elkaar, 42mm tot 102mm lang zijn.

De M.2-interface kan echter ook met pci-express-interconnects overweg (en met usb, voor de volledigheid), wat in theorie tot hogere snelheden en lagere latencies leidt, net als bij de nvme. Daarvoor zijn twee socket-types mogelijk: 2 en 3, en een combinatie die beide ondersteunt. De socket 2 heeft flexibiliteit als voordeel; hij kan voor zowel ssd's als andere insteekkaarten, zoals netwerkkaarten, gebruikt worden. De snelheid is echter beperkt tot een pci-express x2-interface. Socket 3 kan niet voor netwerkkaarten gebruikt worden, maar biedt met een x4-interface betere prestaties en zou de primaire keus voor ssd's moeten zijn.
In desktops, waar afmetingen van minder belang zijn, kan een pci-express-ssd ook met een kabeltje worden aangesloten. Dan is er keus tussen een sata express-kabel en een zogeheten sff-8639-kabel. De sata express-kabel biedt sata en pci-express x2 en is de goedkoopste oplossing, maar biedt net als socket 2 beperkte prestaties. Sff-8639-kabels zijn wat duurder omdat ze shielding en een kloksignaal nodig hebben, maar bieden daarentegen wel pci express x4-snelheden. De beste keus voor goedkopere implementaties lijkt dan ook een sata express-kabel met pcie x2-interface, terwijl voor de hoogste prestaties het best een socket 3-connector gebruikt kan worden, zonder kabel.
/i/1379593486.jpeg?f=imagenormal)
De energiebehoefte van een pcie-ssd kan gereduceerd worden tot ongeveer 5mW in slaapstand. Tijdens intensieve sequentiële schrijfacties kan een ssd via pcie echter flink meer energie verstoken. Met een x2-interface kan dat oplopen tot ongeveer 7W, terwijl een x4-interface zelfs 15W kan leveren. Alle negen 3,3V-voedingspinnen van de socket 3 van de M.2-connector kunnen 0,5A leveren. Met 15W energiebudget kan een pcie-ssd dus flink warmer worden dan een sata-ssd, die ongeveer 3,5W kan verstoken. Zowel interne als externe ssd's moeten dus ontworpen worden om die warmte te kunnen dissiperen.
Implementatie
Afhankelijk van de beoogde toepassing zijn er diverse opties om een van de nieuwe, in ontwikkeling zijnde interfaces te implementeren. De makkelijkse daarvan is usb 3.1. Dat wordt de logische opvolger van de huidige usb 3.0-standaard en kan al vrij snel geïmplementeerd worden. De standaard heeft imiddels zijn 1.0-specificatie gekregen en tests om hardware te valideren zijn voor 2014 gepland. Eind 2014 moet dat deels afgerond zijn, zodat begin 2015 met de verkoop en uitrol van usb 3.1 gestart kan worden.
Voor de toekomst van ssd's ligt het iets genuanceerder. Daarbij speelt niet alleen de form factor van het apparaat een grote rol, maar ook kosten en gewenste prestaties. We beginnen met de consumentenmarkt, zoals laptops, desktops, all-in-ones en convertibles. De goedkoopste uitvoeringen worden waarschijnlijk met een sata-expresskabel van een ssd voorzien. Dat levert niet de beste prestaties, maar kan op korte termijn gerealiseerd worden. In eerste instantie kan als interconnect weliswaar pci-express gebruikt worden, maar met sata-drivers. Als snelheid en prestaties belangrijker zijn, kan beter voor een M.2-uitvoering gekozen worden, waarbij socket 3 dankzij vier pci-express-lanes de beste prestaties geeft.
Servers zouden het meest profiteren van nvme, waarbij de ssd's bij voorkeur direct op de pci-express 3.0-lanes van de processor worden aangesloten. Dat geeft per processor 40 lanes, met ongekende bandbreedte in multisocket-opstellingen. Ook hier kan een sata- of ahci-driver gebruikt worden. Vanaf Windows 8.1 wordt nvme echter standaard ondersteund en ook voor diverse andere besturingssystemen, zoals Linux, Solaris en FreeBSD, zijn nvme-drivers beschikbaar.
Bios-opvolger uefi moet in de loop van 2014 nvme gaan ondersteunen, zo heeft het hoofd bios-ontwikkeling bij AMI onlangs bekendgemaakt.