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



30.12.2016

Miniaturowy projektor LED

Vivitek Qumi Q3 Plus
27.12.2016

Zarządzanie i monitorowanie...

WatchGuard Wi-Fi Cloud
25.12.2016

Serwery serii „S”

Cisco UCS-S
22.12.2016

Wymienne szkła

Axis Q1659
19.12.2016

Dwa systemy

QNAP TES-x85U
15.12.2016

Mikrus z mocą

HP Z2 Mini
13.12.2016

Platforma dla biznesu

Red Hat Enterprise Linux 7.3
09.12.2016

Cloud i storage – nowości od...

SUSE OpenStack Cloud 7 i Enterprise Storage 4
06.12.2016

IEM zamiast VPN

baramundi Management Suite 2016 R2

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"