Úvod do SSD. Část 2. Rozhraní

Úvod do SSD. Část 2. Rozhraní

В poslední část cyklu „Úvod do SSD“ jsme si povídali o historii vzhledu disků. Druhá část bude vyprávět o rozhraních pro interakci s jednotkami.

Komunikace mezi procesorem a periferiemi probíhá podle předem definovaných konvencí nazývaných rozhraní. Tyto dohody upravují fyzickou a softwarovou úroveň interakce.

Rozhraní – soubor prostředků, metod a pravidel interakce mezi prvky systému.

Fyzická implementace rozhraní ovlivňuje následující parametry:

  • propustnost komunikačního kanálu;
  • maximální počet současně připojených zařízení;
  • počet chyb, které se vyskytnou.

Disková rozhraní jsou postavena na I/O porty, což je opak paměťových I/O a nezabírá místo v adresovém prostoru procesoru.

Paralelní a sériové porty

Podle způsobu výměny dat se I/O porty dělí na dva typy:

  • paralelní;
  • konzistentní.

Jak název napovídá, paralelní port posílá najednou slovo stroje, které se skládá z několika bitů. Paralelní port je nejjednodušší způsob výměny dat, protože nevyžaduje složitá obvodová řešení. V nejjednodušším případě je každý bit strojového slova vysílán po svém vlastním signálním vedení a pro zpětnou vazbu se používají dvě servisní signální vedení: Data připravena и Data přijata.

Úvod do SSD. Část 2. Rozhraní
Paralelní porty se na první pohled dobře škálují: více signálových linek – více bitů je přenášeno najednou, a tedy vyšší propustnost. Nárůstem počtu signálových linek však mezi nimi dochází k rušení, které vede ke zkreslení přenášených zpráv.

Sériové porty jsou opakem paralelních. Data jsou odesílána po jednom bitu, což snižuje celkový počet signálových linek, ale komplikuje I/O řadič. Řídicí jednotka vysílače přijímá strojové slovo najednou a musí vysílat po jednom bitu a řídicí jednotka přijímače zase musí přijímat bity a ukládat je ve stejném pořadí.

Úvod do SSD. Část 2. Rozhraní
Malý počet signálových linek umožňuje zvýšit frekvenci přenosu zpráv bez rušení.

SCSI

Úvod do SSD. Část 2. Rozhraní
Small Computer Systems Interface (SCSI) se objevil již v roce 1978 a byl původně navržen pro spojení zařízení různých profilů do jednoho systému. Specifikace SCSI-1 umožňovala připojení až 8 zařízení (spolu s řadičem), jako jsou:

  • skenery;
  • páskové jednotky (streamery);
  • Optické mechaniky;
  • diskové jednotky a další zařízení.

SCSI se původně jmenovalo Shugart Associates System Interface (SASI), ale výbor pro standardy název po společnosti neschválil a po dni brainstormingu se zrodil název Small Computer Systems Interface (SCSI). Otec SCSI, Larry Boucher, zamýšlel, aby se zkratka vyslovovala „sexy“, ale Dal Allan číst "sсuzzy" ("vyprávět"). Následně byla v této normě pevně zakotvena výslovnost „tell“.

V terminologii SCSI se připojená zařízení dělí na dva typy:

  • iniciátory;
  • cílová zařízení.

Iniciátor odešle příkaz cílovému zařízení, které pak odešle odpověď iniciátorovi. Iniciátory a cíle jsou připojeny ke společné sběrnici SCSI, která má ve standardu SCSI-1 šířku pásma 5 MB/s.

Použitá topologie „společné sběrnice“ ukládá řadu omezení:

  • na koncích sběrnice jsou zapotřebí speciální zařízení - terminátory;
  • šířka pásma sběrnice je sdílena mezi všemi zařízeními;
  • Maximální počet současně připojených zařízení je omezen.

Úvod do SSD. Část 2. Rozhraní

Zařízení na sběrnici jsou identifikována jedinečným volaným číslem ID cíle SCSI. Každá jednotka SCSI v systému je reprezentována alespoň jedním logickým zařízením, které je v rámci fyzického zařízení adresováno jedinečným číslem. Číslo logické jednotky (LUN).

Úvod do SSD. Část 2. Rozhraní
Příkazy v SCSI se odesílají ve formuláři bloky popisu příkazů (Command Descriptor Block, CDB), skládající se z kódu operace a parametrů příkazu. Standard popisuje více než 200 příkazů, rozdělených do čtyř kategorií:

  • povinné — musí být podporováno zařízením;
  • volitelný - lze realizovat;
  • Specifické pro dodavatele - používá konkrétní výrobce;
  • Zastaralý - zastaralé příkazy.

Z mnoha příkazů jsou pro zařízení povinné pouze tři z nich:

  • ZKUŠEBNÍ JEDNOTKA PŘIPRAVENA — kontrola připravenosti zařízení;
  • ŽÁDEJTE SMYSL — požaduje chybový kód předchozího příkazu;
  • DOTAZ — požadovat hlavní charakteristiky zařízení.

Po přijetí a zpracování příkazu odešle cílové zařízení iniciátorovi stavový kód, který popisuje výsledek provedení.

Další vylepšení SCSI (specifikace SCSI-2 a Ultra SCSI) rozšířilo seznam používaných příkazů a zvýšilo počet připojených zařízení až na 16 a rychlost výměny dat na sběrnici až na 640 MB/s. Protože SCSI je paralelní rozhraní, bylo zvýšení frekvence výměny dat spojeno se snížením maximální délky kabelu a vedlo k nepříjemnostem při používání.

Počínaje standardem Ultra-3 SCSI se objevila podpora „hot plugging“ – připojení zařízení při zapnutém napájení.

První známý SCSI SSD byl M-Systems FFD-350, vydaný v roce 1995. Disk měl vysokou cenu a nebyl široce používán.

V současné době není paralelní SCSI populární diskové rozhraní, ale příkazová sada se stále aktivně používá v rozhraních USB a SAS.

ATA/PATA

Úvod do SSD. Část 2. Rozhraní
rozhraní ATA (Advanced Technology Attachment), také známý jako PATA (Parallel ATA) byl vyvinut společností Western Digital v roce 1986. Marketingový název standardu IDE (anglicky Integrated Drive Electronics - „elektronika zabudovaná do jednotky“) zdůrazňoval důležitou inovaci: řadič jednotky byl integrován do jednotky, a nikoli na samostatné rozšiřující desce.

Rozhodnutí umístit ovladač do jednotky vyřešilo několik problémů najednou. Zaprvé se zmenšila vzdálenost od pohonu k ovladači, což pozitivně ovlivnilo výkon pohonu. Za druhé, vestavěný ovladač byl „nabroušený“ pouze pro určitý typ pohonu, a proto byl levnější.

Úvod do SSD. Část 2. Rozhraní
ATA, stejně jako SCSI, používá metodu paralelních I/O, což se odráží v použitých kabelech. Připojení jednotek pomocí rozhraní IDE vyžaduje 40žilové kabely, označované také jako ploché kabely. Novější specifikace používají 80-vodičové pahýly, z nichž více než polovina jsou zemní smyčky pro snížení rušení při vysokých frekvencích.

Na ATA kabelu jsou dva až čtyři konektory, z nichž jeden je připojen k základní desce a zbytek k jednotkám. Při připojení dvou zařízení do jedné smyčky musí být jedno z nich nakonfigurováno jako Mistr, a druhý jako otrok. Třetí zařízení lze připojit pouze v režimu pouze pro čtení.

Úvod do SSD. Část 2. Rozhraní
Poloha propojky určuje roli konkrétního zařízení. Pojmy Master a Slave ve vztahu k zařízením nejsou zcela správné, protože ve vztahu k ovladači jsou všechna připojená zařízení Slave.

Speciální inovací v ATA-3 je vzhled Vlastní monitorování, Technologie analýzy a sestav (SMART). Pět společností (IBM, Seagate, Quantum, Conner a Western Digital) spojilo své síly a standardizovalo technologii hodnocení zdravotního stavu pohonů.

Podpora pro disky SSD existuje již od verze 1998 standardu vydané v roce 33.3. Tato verze standardu poskytovala rychlost přenosu dat až XNUMX MB/s.

Norma předkládá přísné požadavky na ATA kabely:

  • vlečka musí být plochá;
  • maximální délka vlaku 18 palců (45.7 centimetrů).

Krátký a široký vlak byl nepohodlný a překážel v chlazení. Zvyšovat přenosovou frekvenci s každou další verzí standardu bylo stále obtížnější a ATA-7 problém vyřešil radikálně: paralelní rozhraní bylo nahrazeno sériovým. Poté ATA získalo slovo Parallel a stalo se známým jako PATA a sedmá verze standardu dostala jiný název - Serial ATA. Číslování verzí SATA začalo od jedné.

SATA

Úvod do SSD. Část 2. Rozhraní
Standard Serial ATA (SATA) byl představen 7. ledna 2003 a řešil problémy svého předchůdce s následujícími změnami:

  • paralelní port nahrazen sériovým;
  • široký 80-žilový kabel nahrazen 7-žilovým;
  • topologie „common bus“ byla nahrazena spojením „point-to-point“.

Přestože SATA 1.0 (SATA/150, 150 MB/s) byl nepatrně rychlejší než ATA-6 (UltraDMA/130, 130 MB/s), přechod na sériovou komunikaci „připravil půdu“ pro rychlosti.

Šestnáct signálových linek pro přenos dat v ATA bylo nahrazeno dvěma kroucenými páry: jedna pro přenos, druhá pro příjem. Konektory SATA jsou navrženy tak, aby byly odolnější vůči vícenásobnému opětovnému připojení a specifikace SATA 1.0 umožnila připojení za provozu.

Některé kolíky na jednotkách jsou kratší než všechny ostatní. To se provádí pro podporu "hot swap" (hot swap). Během procesu výměny zařízení „ztratí“ a „najde“ řádky v předem určeném pořadí.

O něco více než rok později, v dubnu 2004, byla vydána druhá verze specifikace SATA. Kromě zrychlení až na 3 Gb/s představila technologie SATA 2.0 Nativní řízení front (NCQ). Zařízení s podporou NCQ jsou schopna samostatně organizovat pořadí provádění příchozích příkazů pro dosažení maximálního výkonu.

Úvod do SSD. Část 2. Rozhraní
Následující tři roky pracovala SATA Working Group na vylepšení stávající specifikace a verze 2.6 představila kompaktní konektory Slimline a micro SATA (uSATA). Tyto konektory jsou menší verzí původního SATA konektoru a jsou určeny pro optické mechaniky a malé mechaniky v noteboocích.

Zatímco druhá generace SATA měla dostatečnou šířku pásma pro HDD, SSD vyžadovala více. V květnu 2009 byla vydána třetí verze specifikace SATA se zvýšenou šířkou pásma na 6 Gb/s.

Úvod do SSD. Část 2. Rozhraní
Zvláštní pozornost byla věnována jednotkám SSD v edici SATA 3.1. Objevil se konektor Mini-SATA (mSATA), určený pro připojení pevných disků v přenosných počítačích. Na rozdíl od Slimline a uSATA vypadal nový konektor jako PCIe Mini, i když nebyl elektricky kompatibilní s PCIe. Kromě nového konektoru se SATA 3.1 chlubilo schopností řadit příkazy TRIM do fronty s příkazy pro čtení a zápis.

Příkaz TRIM upozorní SSD na datové bloky, které nenesou užitečné zatížení. Před SATA 3.1 tento příkaz vyprázdnil mezipaměti a pozastavil I/O operace, po kterém následoval příkaz TRIM. Tento přístup snížil výkon disku během operací odstranění.

Specifikace SATA nedržela krok s rychlým růstem přístupových rychlostí pro SSD, což vedlo v roce 2013 ke kompromisu nazvanému SATA Express ve standardu SATA 3.2. Místo opětovného zdvojnásobení šířky pásma SATA vývojáři použili hojně používanou sběrnici PCIe, jejíž rychlost přesahuje 6 Gb/s. Disky s podporou SATA Express získaly svůj vlastní tvarový faktor nazvaný M.2.

SAS

Úvod do SSD. Část 2. Rozhraní
Standard SCSI, „konkurující“ ATA, také nezůstal stát a pouhý rok po objevení Serial ATA, v roce 2004, se přerodil v sériové rozhraní. Název nového rozhraní je Sériově připojený SCSI (OSTŘICE).

Ačkoli SAS zdědil sadu příkazů SCSI, změny byly významné:

  • sériové rozhraní;
  • 29-žilový kabel s napájením;
  • spojení bod-bod

Terminologie SCSI byla také zděděna. Ovladač se stále nazývá iniciátor a připojená zařízení se nazývají cíl. Všechna cílová zařízení a iniciátor tvoří doménu SAS. V SAS nezávisí šířka pásma připojení na počtu zařízení v doméně, protože každé zařízení používá svůj vlastní vyhrazený kanál.

Maximální počet současně připojených zařízení v doméně SAS dle specifikace přesahuje 16 tisíc a místo SCSI ID je pro adresování použit identifikátor Světové jméno (WWN).

WWN je jedinečný identifikátor dlouhý 16 bajtů, podobný MAC adrese pro zařízení SAS.

Úvod do SSD. Část 2. Rozhraní
Navzdory podobnosti mezi konektory SAS a SATA nejsou tyto standardy plně kompatibilní. Disk SATA však lze připojit ke konektoru SAS, nikoli však naopak. Kompatibilita mezi disky SATA a doménou SAS je zajištěna pomocí protokolu SATA Tunneling Protocol (STP).

První verze standardu SAS-1 má šířku pásma 3 Gb/sa nejmodernější SAS-4 toto číslo zlepšila 7krát: 22,5 Gb/s.

PCIe

Úvod do SSD. Část 2. Rozhraní
Peripheral Component Interconnect Express (PCI Express, PCIe) je sériové rozhraní pro přenos dat, které se objevilo v roce 2002. Vývoj byl zahájen společností Intel a následně převeden na speciální organizaci - PCI Special Interest Group.

Sériové rozhraní PCIe nebylo výjimkou a stalo se logickým pokračováním paralelního PCI, které je určeno pro připojení rozšiřujících karet.

PCI Express se výrazně liší od SATA a SAS. Rozhraní PCIe má proměnný počet pruhů. Počet řádků se rovná mocninám dvou a pohybuje se od 1 do 16.

Termín „pruh“ v PCIe neodkazuje na konkrétní signální pruh, ale na samostatný plně duplexní komunikační spoj sestávající z následujících signálních pruhů:

  • přijímat+ a přijímat-;
  • přenos+ a přenos-;
  • čtyři zemnící vodiče.

Počet PCIe pruhů přímo ovlivňuje maximální šířku pásma připojení. Současný standard PCI Express 4.0 umožňuje dosáhnout rychlosti 1.9 GB/s na jedné lince a 31.5 GB/s při použití 16 linek.

Úvod do SSD. Část 2. Rozhraní
„Chuť k jídlu“ u pevných disků velmi rychle roste. SATA ani SAS nebyly schopny zvýšit svou šířku pásma, aby udržely krok s SSD, což vedlo k zavedení SSD připojených přes PCIe.

Přestože jsou přídavné karty PCIe přišroubované, PCIe je vyměnitelné za provozu. Krátké piny PRSNT (anglicky present - present) zajišťují, že je karta zcela nainstalována ve slotu.

SSD připojené přes PCIe jsou regulovány samostatným standardem Specifikace rozhraní hostitelského řadiče s energeticky nezávislou pamětí a jsou ztělesněny v různých formových faktorech, ale o nich budeme hovořit v příštím díle.

Vzdálené pohony

Při vytváření velkých datových skladů byly potřeba protokoly, které umožňují připojit disky umístěné mimo server. První řešení v této oblasti bylo Internet SCSI (iSCSI), vyvinutý společnostmi IBM a Cisco v roce 1998.

Myšlenka protokolu iSCSI je jednoduchá: příkazy SCSI jsou „zabaleny“ do paketů TCP/IP a odeslány do sítě. Navzdory vzdálenému připojení dává klientům iluzi, že je disk připojen lokálně. Síť SAN (Storage Area Network) založená na iSCSI může být postavena na stávající síťové infrastruktuře. Použití iSCSI výrazně snižuje náklady na organizaci SAN.

iSCSI má "prémiovou" možnost - Protokol Fibre Channel (FCP). SAN využívající FCP je postaven na vyhrazených optických komunikačních linkách. Tento přístup vyžaduje dodatečné vybavení optické sítě, ale je stabilní a má vysokou propustnost.

Existuje mnoho protokolů pro odesílání příkazů SCSI přes počítačové sítě. Existuje však pouze jeden standard, který řeší opačný problém a umožňuje odesílat IP pakety přes sběrnici SCSI - IP přes SCSI.

Většina protokolů SAN používá ke správě disků sadu příkazů SCSI, ale existují výjimky, například jednoduchý ATA přes Ethernet (AOE). Protokol AoE odesílá příkazy ATA v ethernetových paketech, ale jednotky se v systému zobrazují jako SCSI.

S příchodem disků NVM Express již protokoly iSCSI a FCP nesplňují rychle rostoucí požadavky SSD. Existují dvě řešení:

  • odstranění sběrnice PCI Express mimo server;
  • vytvoření protokolu NVMe over Fabrics.

Odstranění sběrnice PCIe vytváří složitý přepínací hardware, ale nezmění protokol.

Protokol NVMe over Fabrics se stal dobrou alternativou k iSCSI a FCP. NVMe-oF používá optické spojení a sadu příkazů NVM Express.

DDR-T

Úvod do SSD. Část 2. Rozhraní
Standardy iSCSI a NVMe-oF řeší problém připojení vzdálených disků jako lokálních, zatímco Intel šel jinou cestou a přivedl lokální disk co nejblíže k procesoru. Volba padla na DIMM sloty, do kterých se zapojuje RAM. Maximální šířka pásma DDR4 je 25 GB/s, což je mnohem rychlejší než sběrnice PCIe. Tak se zrodil Intel® Optane™ DC Persistent Memory SSD.

Byl vynalezen protokol pro připojení jednotky ke slotům DIMM DDR-T, fyzicky a elektricky kompatibilní s DDR4, ale vyžaduje speciální řadič, který vidí rozdíl mezi paměťovou lištou a jednotkou. Rychlost přístupu k disku je menší než k RAM, ale větší než k NVMe.

DDR-T je k dispozici pouze s procesory Intel® Cascade Lake generace nebo novějšími.

Závěr

Téměř všechna rozhraní ušla dlouhou cestu od sériového k paralelnímu přenosu dat. Rychlosti SSD raketově rostou, včera byly SSD kuriozitou a dnes už NVMe není překvapením.

V naší laboratoři Selectel Lab SSD a NVMe disky můžete otestovat sami.

Průzkumu se mohou zúčastnit pouze registrovaní uživatelé. Přihlásit se, prosím.

Nahradí NVMe disky v blízké budoucnosti klasická SSD?

  • 55.5%Ano 100

  • 44.4%No80

Hlasovalo 180 uživatelů. 28 uživatelů se zdrželo hlasování.

Zdroj: www.habr.com

Přidat komentář