NVMe

Gebruikt NVMe PCIe?

Gebruikt NVMe PCIe?
Gegevensverwerking vormt de kern van elk bedrijf. Een pc met middelmatige specificaties is goed genoeg voor eenvoudige gegevensverwerking, maar op grotere schaal is het niet voldoende. Naarmate gegevens blijven groeien, zijn bedrijven altijd op zoek naar de nieuwste technologieën die de gegevensverwerking kunnen versnellen. Snelle computercomponenten zijn cruciaal bij het realtime verwerken van grote hoeveelheden gegevens. Een van de belangrijkste componenten die moeten worden geüpgraded, is het interne secundaire opslagapparaat. Deze apparaten spelen een cruciale rol bij het vastleggen, openen, verwerken en transformeren van gegevens, en deze apparaten zijn aanzienlijk geëvolueerd om aan de zakelijke eisen te voldoen. NVMe-schijf (Non-Volatile Memory Express) is de nieuwste en verreweg de snelste evolutie van opslagapparaten. Voordat we dieper ingaan op NVMe, laten we even kijken naar de verschillende interne secundaire opslagmedia die tegenwoordig worden gebruikt.

Harde schijf (HDD). De magnetische en mechanische draaiende schijf wordt beschouwd als een verouderd opslagapparaat. Het bestaat al sinds het midden van de 20e eeuw. HDD's zijn gemaakt van bewegende delen waardoor het apparaat vaker uitvalt. Momenteel zijn de beschikbare vormfactoren de 3.5” en 2”.5” HDD's. De huidige HDD's gebruiken de SATA-standaard (Serial Advanced Technology Attachment) interface die de reeds verouderde IDE (Integrated Drive Electronics) en PATA (Parallel Advanced Technology Attachment) standaarden verving.

Solid State-schijf (SSD). SSD is het nieuwe generatie opslagapparaat dat de informatie opslaat in op flash gebaseerde geheugens. Het doet dezelfde functies als HDD, alleen sneller. In tegenstelling tot de HDD is het onwaarschijnlijk dat deze defect raakt omdat er geen bewegende delen zijn. SSD's gebruiken de SATA- of PCIe-interface (Peripheral Component Interconnect Express).

Dus waar past NVMe in?? Om NVMe beter te begrijpen, laat ons eerst de verschillen weten tussen SATA- en PCIe-interface.

SATA versus PCIe

SATA en PCIe zijn de interfacemedia voor interne opslagapparaten. SATA wordt gebruikt voor zowel HDD als SSD, terwijl de recentere PCIe wordt gebruikt voor SSD's.

De harde schijf is de langzaamste van de hardwarecomponenten van computers. Om gelijke tred te houden met de snelheid van andere componenten, was het een absolute noodzaak om de IDE- en PATA-standaarden te vervangen door de snellere interface, SATA.

SATA is zowel een connector als een busstandaard. De SATA-connector verbindt HDD's en SSD's met de SATA-bus van het moederbord van de computer. Deze eenvoudige connector heeft verschillende ontwikkelingen ondergaan en de nieuwste versie, SATA III, wordt veel gebruikt in moderne HDD's en SSD's. SATA III heeft een overdrachtssnelheid van 600 MB/s en gebruikt AHCI (Advanced Host Controller Interface) om te communiceren met SATA-apparaten. AHCI is expliciet ontworpen voor de draaiende HDD's, maar omdat er bij de ontwikkeling geen standaard was voor SATA-schijven, werd AHCI goedgekeurd om met SATA te werken. Hoewel AHCI compatibel was met SATA-schijven, heeft het het potentieel van de op flash gebaseerde SSD's niet volledig geoptimaliseerd vanwege de lage overdrachtssnelheid. Er is ook behoefte aan een SATA-controller voor AHCI om te communiceren met de SATA-schijf, waardoor de gegevensoverdracht verder wordt vertraagd. Fabrikanten verkenden vervolgens andere interfaces die snellere overdrachtssnelheden zouden kunnen leveren.

PCIe is een snelle uitbreidingsbusstandaard die de oudere en langzamere PCI-, PCI-X- en AGP-busstandaarden heeft vervangen. Het werd voornamelijk gebruikt voor grafische kaarten, Wi-Fi- en Ethernet-kaarten. PCIe heeft een directe verbinding met de CPU, wat de overdrachtsnelheid aanzienlijk versnelt. In tegenstelling tot SATA vereist PCIe geen controller tussen de schijf en de CPU om gegevens heen en weer te sturen. PCIe wordt ook geleverd met andere indrukwekkende voordelen, zoals lagere latentie, schaalbare prestaties, verhoogde I/O van maximaal 40 banen per CPU-socket en laag stroomverbruik.[1] PCIe 3.0 is de nieuwste generatie PCIe en heeft een overdrachtssnelheid van 985 MB/s per baan en kan uit maximaal 16 banen bestaan. Deze uitstekende eigenschappen van PCIe maken het een ideale sleuf voor SSD's. Maar één ding ontbreekt nog; de communicatiestandaard tussen SSD's en de PCIe-interface. Dit is wanneer NVMe in beeld komt.

Gebruikt NVMe PCIe?

Er is veel verwarring tussen NVMe en PCIe, omdat deze twee woorden vaak door elkaar worden gebruikt. In andere gevallen worden SSD en NVMe als twee verschillende schijven beschouwd. Maar wat is NVMe precies??

NVMe is noch een interface, noch een schijf. Het is momenteel de industriële communicatiestandaard voor NVM-opslagapparaten zoals SSD's. Het is trouwens speciaal ontworpen voor op flash gebaseerde SSD's. Terwijl PCIe de fysieke interface is, is NVMe het protocol dat de NVM-apparaten beheert die de PCIe gebruiken. Het is daarom vergelijkbaar met AHCI, alleen veel sneller.

Ter vergelijking: AHCI heeft slechts één opdrachtwachtrij en kan 32 opdrachten per wachtrij verzenden, NVMe daarentegen heeft een verbluffende 64K wachtrijen en kan verzenden 64K opdrachten per wachtrij. Dat is een overweldigende 4M-opdrachten in totaal! In tegenstelling tot AHCI die door de SATA-controller gaat voordat gegevens naar de CPU worden verzonden, communiceert NVMe rechtstreeks met de CPU zonder dat er een controller nodig is. Bovendien heeft het meer dan een miljoen IOP's (Input/Output Operations per seconde) in tegenstelling tot 100.000 AHCI. Bovendien heeft het een lagere latentie van slechts een paar microseconden in vergelijking met AHCI's 30-100 microseconden. Laten we het hebben over de overdrachtssnelheid. Zoals eerder vermeld, heeft PCIe een overdrachtssnelheid van 1 GB/s per rijstrook. NVMe gebruikt vier rijen PCIe, wat in theorie betekent dat NVMe SSD's een overdrachtssnelheid van 3.9 GB/s.[2] Meer dan 6x sneller in vergelijking met de overdrachtssnelheid van 600 MB/s van SATA-schijven.

Het is een uitgemaakte zaak, NVMe is de zekere winnaar in alle opzichten, maar er is één nadeel: de prijs. NVMe heeft een hoger prijskaartje en voor sommigen is het een onpraktische keuze. SATA SSD's kunnen relatief snel programma's uitvoeren, bestanden overbrengen en een computer opstarten, maar voor het verwerken van grote videobestanden bijvoorbeeld, of in industrieën die meerdere applicaties tegelijk moeten uitvoeren en enorme bestanden in realtime moeten verwerken, wordt het extra geld dat wordt uitgegeven aan NVMe-schijven is een waardige beloning.

Gebruikt NVMe PCIe? Het is een duidelijke Ja! NVMe werkt hand in hand met PCIe voor een uitzonderlijk snelle gegevensoverdracht en is een aanzienlijke verbetering ten opzichte van de oudere AHCI-standaard.

bronnen:

[1] J. Metz, “NVMe voor absolute beginners”, 11 november 2014, https://blogs.cisco.com/datacenter/nvme-for-absolute-beginners, Toegankelijk op 16 december 2020

[2] Westrick, Tom, "Wat zijn NVMe-schijven en moet je er een kopen?"?”, 16 september 2020, https://www.howtogeek.com/404627/wat-zijn-nvme-schijven-en-moet-je-een-kopen/, Toegankelijk op 16 december 2020

HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...
Hoe FPS-teller in Linux-games te tonen
Linux-gaming kreeg een grote duw toen Valve in 2012 Linux-ondersteuning voor Steam-client en hun games aankondigde. Sindsdien hebben veel AAA- en indi...