Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



17.08.2017

24 porty i PoE

NETGEAR GS724TPv2
11.08.2017

Z helem

WD Red / Red Pro
08.08.2017

Kontener jako usługa

SUSE CaaS Platform
03.08.2017

Natywna obsługa kontenerów

Red Hat OpenShift Online
28.07.2017

Luksusowa hybryda

HP Spectre x2
25.07.2017

Nowy napęd SSD

KC1000 NVMe PCIe
21.07.2017

Rekord świata

Lenovo x3950 X6
18.07.2017

Brightness Intellgence Plus

BenQ EW2770QZ
14.07.2017

Poza pasmem

Opengear ACM7000

Złącze SATA do lamusa? Pamięci flash z protokołem NVMe

Data publikacji: 01-12-2016 Autor: Jerzy Michalczyk

Nadchodzi moment, kiedy popularne interfejsy SATA, które towarzyszyły nam od ponad dekady, odejdą w niepamięć. Pojawia się coraz więcej urządzeń (laptopów, desktopów, stacji roboczych, serwerów, pamięci masowych), które umożliwiają podłączenie szybkich pamięci SSD bezpośrednio do magistrali PCIe. Powiększa się też oferta podzespołów tego typu – prezentujemy wybrane modele.

Już w ubiegłym roku informowaliśmy, że wydajność pamięci flash zaczęła wykraczać poza możliwości standardowych interfejsów (SATA i SAS) przewidzianych do współpracy głównie z dyskami magnetycznymi. Możliwości ostatniej generacji SATA (III) kończą się na poziomie 6 Gbit/s (w praktyce ok. 600 MB/s), SAS-3 – 12 Gbit/s (ok. 1,2 GB/s), a SAS-4, który ma zostać wprowadzony w przyszłym roku – 24 Gbit/s. Okazuje się, że wydajność kontrolerów i układów pamięci flash jest obecnie znacznie wyższa. Lepsze osiągi pamięci masowych producenci uzyskiwali do tej pory, łącząc wiele napędów SATA lub SAS w macierze, nie było to jednak idealne rozwiązanie.

PCIe – ekspresowe połączenie

Aby w pełni wykorzystać możliwości nowych pamięci, konieczne jest podłączenie ich bezpośrednio do systemowego interfejsu PCI Express (Peripheral Component Interconnect Express, PCIe). Wydajność pojedynczego kanału magistrali PCIe w wersji 3.0 wynosi ok. 8 GT/s (gigatransferów na sekundę), co po odliczeniu narzutu związanego z kodowaniem sygnału daje około 7,877 Gbit/s. Nadchodząca wersja 4.0 ma podwoić przepustowość (do 16 GT/s).

Wśród zalet PCIe należy wymienić, oprócz wysokiej wydajności: skalowalność, niskie opóźnienia (3 mikrosekundy z 10 mikrosekund), bezpośrednie połączenie z CPU – brak dodatkowego kontrolera, niewielkie zapotrzebowanie na energię, oszczędność miejsca oraz możliwość użycia złączy różnego typu (gniazdo PCIe, M.2, SFF-8639, SATA Express, BGA). Pojedyncze linie można łączyć, np. typowe złącze M.2 montowane na płycie głównej ma doprowadzone 4 linie PCIe, co przy obecnej wersji 3.0 PCIe daje w sumie 32 GT/s (około 3,93 GB/s).

NVMe – ekspresowy protokół

Niestety, nie tylko sam interfejs jest czynnikiem obniżającym wydajność, jest nim również protokół komunikacyjny. Protokoły stosowane do tej pory w dyskach magnetycznych okazały się mało efektywne, gdyż wprowadzały opóźnienia, które wraz ze wzrostem prędkości transmisji miały na nią coraz większy wpływ. Było to powodem wprowadzenia NVMe – nowego protokołu, który zastępuje powszechnie używany standard AHCI, dzięki czemu możliwe jest uzyskanie wyższej wydajności i niższych opóźnień, przy jednoczesnym zmniejszeniu obciążenia procesora i poboru mocy przez sam nośnik.

W odróżnieniu od AHCI nie było konieczne zapewnienie wstecznej kompatybilności z urządzeniami poprzednich generacji, dlatego też NVMe został zaprojektowany od podstaw. Dzięki temu polecenia NVMe są znacznie prostsze i wymagają mniejszej liczby transferów do pamięci operacyjnej. Typowy kontroler SAS jest w stanie obsłużyć do 256 poleceń, a SATA – do 32 poleceń w pojedynczej kolejce, co miało sens w przypadku dysków mechanicznych. NVMe może obsłużyć do 64 tysięcy kolejek, każda po 64 tysiące poleceń, co pozwala na wykonywanie w ciągu sekundy większej liczby operacji przy mniejszym użyciu procesora. Ponadto NVMe może obsługiwać wiele kanałów komunikacji, co pozwala na podłączanie wielu nośników bez pośrednictwa kontrolera, a w przyszłości – wielokanałową komunikację z bardzo szybkimi nośnikami.

Należy pamiętać, że NVMe wymaga pamięci SSD zgodnej z tym protokołem. Ponadto konieczna jest implementacja obsługi tego protokołu w oprogramowaniu układowym komputera (firmware) oraz odpowiedni sterownik dla systemu operacyjnego. Obecnie dostępne są sterowniki dla systemów z rodziny Windows i Windows Server, Linux, FreeBSD, Chrome OS, VMWare oraz driver UEFI. Dopiero połączenie tych wszystkich elementów pozwoli na wykorzystanie pełnej prędkości interfejsu.
 

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2013 Presscom / Miesięcznik "IT Professional"