NVM Express – rychlejší připojení pro naše SSD

6. 10. 2015 08:00    Rubrika: Technologie    Autor: Jakub Pavlis

Pokud vám přijde, že nemáte až tak starý notebook, ale chtělo by to trochu zrychlit, nejjednodušším řešením bývá pořídit SSD namísto HDD. Při výběru nového přístroje už to ale začne být složitější – jaký disk a jak připojený. Možnosti se s klesající cenou SSD rychle rozšiřují a my se dnes podíváme na tu nejrychlejší.

NVM Express – rychlejší připojení pro naše SSD

Datová úložiště dlouho byla hlavní technologickou „brzdou“ našich počítačů, u notebooků to bylo ještě znatelnější. Není tak dávno doba, kdy se do nich montovaly hlavně pomalé pevné disky s rychlostí rotace pouhých 4200 otáček za minutu. U desktopů se přitom vývoj pevných disků vyšplhal až k rychlostem 10 000 otáček za minutu. Směrem k rychlosti přístupu k datům ovšem bylo jasné, že tudy cesta dlouhodobě nevede. A tak přišly SSD (Solid State Drive), datová úložiště postavená na flash paměti. Výhody a nevýhody snad netřeba dlouze připomínat – mezi první patří tichý běh, nižší spotřeba energie, menší velikost a především mnohem vyšší výkon. Jsou ovšem i nevýhody – především nižší životnost, nižší počet datových zápisů na stejné místo a stále ještě trochu cena. Zejména při přepočtu na byte je znatelně vyšší.

Vývoj SSD šel rychle kupředu a možnosti jejich připojení, původně vyvíjené pro HDD, brzy nestačily. Abychom v tom měli pořádek – při připojování datových úložišť je třeba myslet na dvě základní věci – fyzické připojení, tedy typ konektoru a sběrnice, i z toho samozřejmě vycházejí výhody a omezení co do velikosti či výkonu. A pak technologie připojení, chcete-li tedy interface. Nejprve krátce shrnu možnosti připojení ke sběrnicím. V podstatě máte dvě základní možnosti – různé stupně SATA sběrnice, která byla původně určena pro rychlá HDD a od roku 2003, kdy byla vytvořena, prošla několika revizemi (poslední je 3.2) a nabízí několik konektorů. Z našeho pohledu je zajímavý především Mini-SATA konektor, častěji zmiňovaný zkratkou mSATA, který je přímo určen pro SSD. Pochází z roku 2009 a byl vytvořen jako menší rozhraní pro malé SSD tak, aby obé vyhovovalo potřebám stále mobilnějších zařízení, především tabletům.


Vývoj paměťových čipů však rychle překonával vývoj SATA sběrnice. Nebylo tedy nic snazšího, než použít existující, hojně používanou sběrnici, která je mnohem rychlejší – PCI Express. Rychle se vytvořily dva standardní konektory, které umožňují její využití. Prvním je SATA Express, který už názvem naznačuje, že umožňuje využívat obě sběrnice – jak SATA, tak PCI Express, je tedy velmi univerzální. Po něm se začal rozšiřovat i port M.2 (původně vyvíjený pod zkratkou NGFF – Next Generation Form Factor). Jeho hlavní výhodou je menší velikost, z čehož čerpají zejména nejmenší zařízení typu tabletů. V zásadě se dá říci, že M.2 je menší implementací SATA Express s navíc připojeným USB portem. M.2 karty tedy nemusí být jen datová úložiště, lze sem připojit prakticky cokoli. Oblíbené jsou třeba bezdrátové modemy. Díky tomu dnes může řada profesionálních notebooků hostit dvě plnohodnotná datová úložiště. Vedle obvyklé 2,5'' pozice pro HDD/SSD mívají alespoň jeden M.2 slot právě kvůli nabídce bezdrátové konektivity. A pokud se bez modemu obejdete...


Jak jsem napsal výše – vývoj paměťových čipů byl rychlejší než vývoj SATA sběrnice. Na to bylo třeba reagovat, takže se objevila potřeba vytvořit interface, který by, na rozdíl od SATA a jejího interface vytvořeného právě pro její sběrnici, lépe využíval možnosti připojení přes PCI Express. A jsme v dnešní době a u toho, co slibuje nadpis článku. SATA rozhraní pracuje s řadičem a rozhraním AHCI (Advenced Host Controller Interface). Když pomineme situaci u HDD a budeme se věnovat pouze SSD, jejichž doba odezvy (latence) je velice nízká, zjistíme, že při připojení přes SATA je třeba přičíst právě ještě odezvu řadiče a jeho ovladače. Původní interface i řadiče nebyly vyvinuty s velkým přihlédnutím k latencím – magnetický pevný disk měl tak velké zpoždění ve své fyzické vrstvě, tedy než se „roztočil“, že pár desítek milisekund bylo pod rozlišovací schopnosti uživatelů. U SSD jsou ale právě tyto latence největší na cestě informace z datové buňky flash paměti do procesoru.


NVMe (Non-Volatile Memory Host Controller Interface Specification) je tedy rozhraní neboli interface pro komunikaci mezi SSD a procesorem, resp. čipsetem obvykle integrovaným v procesoru, po PCIe. Pro sestavy s moderními procesory integrujícími řadič PCI Express je tak potřeba pouze fyzický konektor a univerzální NVMe driver. Poté lze připojit jakékoli SSD s podporou NVMe, situace podobná například USB Mass Storage. Jeden driver vládne všem, jeden jim všem káže...

Z logiky věci vyplývá, že zařízení pro NVMe mohou existovat, a také existují, jak v podobě běžných velkých 2,5'' SSD připojených přes 4 linky PCIe přes U.2 konektor, tak v podobě PCI Express Mini Card rozšiřujících karet nebo ještě menších karet pro M.2.


Historie NVMe je pochopitelně velice krátká, první náznaky řešení se objevili na IDF 2007, časem se ustavila skupina 90 firem na novém standardu spolupracujícím, předsednictví však vždy bylo věcí Intelu. První funkční verze byla představena již v roce 2011, dnes vedle sebe fungují verze 1.1 z roku 2012 a 1.0e z roku 2013, jsou vzájemně kompatibilní a očekává se další vývoj. Mimochodem, první SSD s podporou NVMe vyvinul Samsung a na trhu je od roku 2013, na širším trhu to ale začíná být téma až letos.

Ze strany operačních systémů je podpora vlastně jednohlasná, Windows ji nativně mají od verze 8.1, ovšem přidána formou updatu byla i do Windows 7, Linux ji má v jádru od verze 3.3 z roku 2012, Apple ji implementoval do OS X Yosemite 10.10.3 a podpora je i od FreeBSD, OpenBSD, Solaris nebo Chrome OS.


A na konec jedna zásadní odpověď – jak je to tedy s rychlostmi? Z předchozího článku je zřejmé, že rychlost přenosu dat pomocí NVMe bude omezena především rychlostí PCI Express sběrnice, které je dnes v počítači vlastně nejrychlejší. Pro představu – SATA 3.0 má teoretický strop na 600 MB/s (6 Gb/s), PCI Exprees ve verzi 2.0 500 MB/s na linku, ve verzi 3.0, kterou v moderních počítačích obvykle najdete, 985 MB/s (8Gb/s), při připojení na čtyřlinkové rozhraní se tedy dostáváme na teoretickou propustnost až těsně pod hranici 4 GB/s (32 Gb/s), což je dost i pro SSD. Prakticky dosažitelné hodnoty budou samozřejmě nižší, ale to i u SATA. A to znovu připomínám, že hodnoty rychlosti, které jsou o tolik vyšší, nic neříkají o latencích a využijete je především při kopírování velkých souborů dat (třeba filmy), pro běžné spouštění aplikací a odezvy operačního systému jsou důležité latence, o kterých jsme mluvili výše.

NVMe je technologie s velikou budoucností. Všechny zásadní hardwarové součástky ji dnes splňují nativně, drivery jsou připravené v operačních systémech, jediná investice je tedy SSD s podporou NVMe. Ostatní je zadarmo, očekávám tedy relativně rychlé rozšíření a věštím rychlé nárůsty prodeje s tím, jak budou přicházet na trh cenově dostupné modely. Pro představu – takové SSD od Intelu s podporou NVMe s kapacitou 1 TB (Intel SSD 750 series) začíná s cenou na 34 000 Kč (včetně DPH), zatímco nejlevnější 1TB SSD bez NVMe koupíte kolem 10 000 Kč (vč. DPH). Ale Samsung právě uvádí 256GB a 512GB varianty za ceny kolem 6000 Kč, resp 10 500 Kč (obě vč. DPH). A v druhé generaci se už ceny přiblíží zemi mnohem rychleji.

Technologie

Diskuse