Úvod do SSD diskov. Časť 2. Rozhranie

Úvod do SSD diskov. Časť 2. Rozhranie

В posledná časť V sérii „Úvod do SSD“ sme hovorili o histórii vzhľadu diskov. Druhá časť bude hovoriť o rozhraniach na interakciu s jednotkami.

Komunikácia medzi procesorom a periférnymi zariadeniami prebieha podľa vopred definovaných konvencií nazývaných rozhrania. Tieto dohody upravujú fyzickú a softvérovú úroveň interakcie.

Rozhranie je súbor nástrojov, metód a pravidiel interakcie medzi prvkami systému.

Fyzická implementácia rozhrania ovplyvňuje nasledujúce parametre:

  • kapacita komunikačného kanála;
  • maximálny počet súčasne pripojených zariadení;
  • počet chýb, ktoré sa vyskytnú.

Rozhrania disku sú postavené na I/O porty, ktorý je opakom pamäťových I/O a nezaberá miesto v adresnom priestore procesora.

Paralelné a sériové porty

Podľa spôsobu výmeny údajov sa I/O porty delia na dva typy:

  • paralelne;
  • konzistentné.

Ako už názov napovedá, paralelný port posiela strojové slovo pozostávajúce z niekoľkých bitov naraz. Paralelný port je najjednoduchší spôsob výmeny dát, pretože nevyžaduje zložité obvodové riešenia. V najjednoduchšom prípade sa každý bit strojového slova posiela po svojom vlastnom signálovom vedení a na spätnú väzbu sa používajú dve servisné signálne vedenia: Dáta pripravené и Údaje prijaté.

Úvod do SSD diskov. Časť 2. Rozhranie
Paralelné porty sa na prvý pohľad zdajú byť veľmi dobre škálovateľné: viac signálových liniek znamená, že sa prenesie viac bitov naraz, a tým aj vyššiu priepustnosť. V dôsledku nárastu počtu signálových vedení však medzi nimi dochádza k rušeniu, ktoré vedie k skresleniu prenášaných správ.

Sériové porty sú opakom paralelných portov. Dáta sa odosielajú po jednom bite, čo znižuje celkový počet signálových liniek, ale zvyšuje zložitosť I/O radiča. Riadiaca jednotka vysielača prijíma strojové slovo naraz a musí vysielať po jednom bite a riadiaca jednotka prijímača zasa musí prijímať bity a ukladať ich v rovnakom poradí.

Úvod do SSD diskov. Časť 2. Rozhranie
Malý počet signálových liniek umožňuje zvýšiť frekvenciu prenosu správ bez rušenia.

SCSI

Úvod do SSD diskov. Časť 2. Rozhranie
Small Computer Systems Interface (SCSI) sa objavil už v roku 1978 a bol pôvodne navrhnutý tak, aby spájal zariadenia rôznych profilov do jedného systému. Špecifikácia SCSI-1 poskytuje pripojenie až 8 zariadení (spolu s radičom), ako napríklad:

  • skenery;
  • páskové mechaniky (streamery);
  • optické mechaniky;
  • diskové jednotky a iné zariadenia.

SCSI sa pôvodne volalo Shugart Associates System Interface (SASI), no výbor pre štandardy neschválil názov po spoločnosti a po dni brainstormingu sa zrodil názov Small Computer Systems Interface (SCSI). „Otec“ SCSI, Larry Boucher, chcel, aby sa skratka vyslovovala ako „sexy“, ale Dal Allan Čítal som „scuzzy“ („povedz mi to“). Následne bola k tomuto štandardu pevne priradená výslovnosť „kazi“.

V terminológii SCSI sa pripojené zariadenia delia na dva typy:

  • iniciátori;
  • cieľové zariadenia.

Iniciátor odošle príkaz cieľovému zariadeniu, ktoré potom odošle odpoveď iniciátorovi. Iniciátory a ciele sú pripojené na spoločnú zbernicu SCSI, ktorá má v štandarde SCSI-1 šírku pásma 5 MB/s.

Použitá topológia „spoločnej zbernice“ ukladá množstvo obmedzení:

  • Na koncoch zbernice sú potrebné špeciálne zariadenia - terminátory;
  • Šírka pásma zbernice je rozdelená medzi všetky zariadenia;
  • Maximálny počet súčasne pripojených zariadení je obmedzený.

Úvod do SSD diskov. Časť 2. Rozhranie

Zariadenia na zbernici sú identifikované jedinečným volaným číslom ID cieľa SCSI. Každá jednotka SCSI v systéme je reprezentovaná aspoň jedným logickým zariadením, ktoré je adresované pomocou jedinečného čísla v rámci fyzického zariadenia Číslo logickej jednotky (LUN).

Úvod do SSD diskov. Časť 2. Rozhranie
Príkazy SCSI sa odosielajú ako bloky popisu príkazov (Command Descriptor Block, CDB), pozostávajúci z operačného kódu a parametrov príkazu. Štandard popisuje viac ako 200 príkazov rozdelených do štyroch kategórií:

  • povinné - musí byť podporovaný zariadením;
  • Voliteľný - možno realizovať;
  • Špecifické pre dodávateľa - používané konkrétnym výrobcom;
  • Zastaraný - zastarané príkazy.

Spomedzi mnohých príkazov sú pre zariadenia povinné iba tri z nich:

  • TESTOVACIA JEDNOTKA PRIPRAVENÁ — kontrola pripravenosti zariadenia;
  • ŽIADAŤ ZMYSEL — požaduje kód chyby predchádzajúceho príkazu;
  • OTÁZKA — žiadosť o základné charakteristiky zariadenia.

Po prijatí a vykonaní príkazu cieľové zariadenie odošle iniciátorovi stavový kód, ktorý popisuje výsledok vykonania.

Ďalšie vylepšenie SCSI (špecifikácie SCSI-2 a Ultra SCSI) rozšírilo zoznam používaných príkazov a zvýšilo počet pripojených zariadení na 16 a rýchlosť výmeny dát na zbernici na 640 MB/s. Keďže SCSI je paralelné rozhranie, zvýšenie frekvencie výmeny dát bolo spojené so znížením maximálnej dĺžky kábla a viedlo k nepríjemnostiam pri používaní.

Počnúc štandardom Ultra-3 SCSI sa objavila podpora pre „hot plugging“ - pripojenie zariadení pri zapnutom napájaní.

Za prvý známy SSD disk s rozhraním SCSI možno považovať M-Systems FFD-350, vydaný v roku 1995. Disk mal vysokú cenu a nebol rozšírený.

V súčasnosti nie je paralelné SCSI populárnym rozhraním na pripojenie disku, ale sada príkazov sa stále aktívne používa v rozhraniach USB a SAS.

ATA/PATA

Úvod do SSD diskov. Časť 2. Rozhranie
rozhranie ATA (Advanced Technology Attachment), tiež známy ako PATA (Parallel ATA) bol vyvinutý spoločnosťou Western Digital v roku 1986. Marketingový názov štandardu IDE (Integrated Drive Electronics) zdôrazňoval dôležitú inováciu: radič jednotky bol zabudovaný do jednotky a nie na samostatnej rozširujúcej doske.

Rozhodnutie umiestniť ovládač do mechaniky vyriešilo niekoľko problémov naraz. Po prvé, vzdialenosť od pohonu k ovládaču sa zmenšila, čo má pozitívny vplyv na vlastnosti pohonu. Po druhé, vstavaný ovládač bol „šitý na mieru“ len pre určitý typ pohonu, a preto bol lacnejší.

Úvod do SSD diskov. Časť 2. Rozhranie
ATA, podobne ako SCSI, používa metódu paralelných I/O, ktorá ovplyvňuje použité káble. Na pripojenie jednotiek pomocou rozhrania IDE sú potrebné 40-žilové káble, nazývané aj káble. Novšie špecifikácie používajú 80-drôtové slučky: viac ako polovica z nich je uzemnenie na zníženie rušenia pri vysokých frekvenciách.

Kábel ATA má dva až štyri konektory, z ktorých jeden je pripojený k základnej doske a zvyšok k jednotkám. Pri prepojení dvoch zariadení jedným káblom musí byť jedno z nich nakonfigurované ako majster, a druhý - as otrok. Tretie zariadenie je možné pripojiť výlučne v režime iba na čítanie.

Úvod do SSD diskov. Časť 2. Rozhranie
Poloha prepojky určuje úlohu konkrétneho zariadenia. Pojmy Master a Slave vo vzťahu k zariadeniam nie sú úplne správne, pretože vzhľadom na ovládač sú všetky pripojené zariadenia Slave.

Špeciálnou novinkou v ATA-3 je vzhľad Vlastné monitorovanie, Technológia analýzy a vykazovania (SMART). Päť spoločností (IBM, Seagate, Quantum, Conner a Western Digital) spojilo svoje sily a štandardizovalo technológiu na hodnotenie zdravia diskov.

Podpora pre SSD sa objavila so štvrtou verziou štandardu, vydanou v roku 1998. Táto verzia štandardu poskytovala rýchlosť prenosu dát až 33.3 MB/s.

Norma stanovuje prísne požiadavky na káble ATA:

  • vlak musí byť plochý;
  • maximálna dĺžka vlaku je 18 palcov (45.7 centimetra).

Krátky a široký vlak bol nepohodlný a prekážal pri chladení. S každou ďalšou verziou štandardu bolo čoraz ťažšie zvyšovať prenosovú frekvenciu a ATA-7 tento problém radikálne vyriešil: paralelné rozhranie bolo nahradené sériovým. Potom ATA získalo slovo Parallel a stalo sa známym ako PATA a siedma verzia štandardu dostala iný názov - Serial ATA. Číslovanie verzií SATA začalo od jednotky.

SATA

Úvod do SSD diskov. Časť 2. Rozhranie
Štandard Serial ATA (SATA) bol predstavený 7. januára 2003 a riešil problémy svojho predchodcu nasledujúcimi zmenami:

  • paralelný port bol nahradený sériovým;
  • široký 80-žilový kábel je nahradený 7-žilovým;
  • Topológiu „spoločnej zbernice“ nahradilo spojenie „bod-bod“.

Napriek tomu, že štandard SATA 1.0 (SATA/150, 150 MB/s) bol o niečo rýchlejší ako ATA-6 (UltraDMA/130, 130 MB/s), prechod na sériovú metódu výmeny dát „pripravil pôdu“ pre zvýšené rýchlosti

Šestnásť signálnych liniek na prenos dát v ATA bolo nahradených dvoma krútenými pármi: jedna na vysielanie, druhá na príjem. Konektory SATA sú navrhnuté tak, aby boli odolnejšie voči viacnásobným opätovným pripojeniam a špecifikácia SATA 1.0 umožnila Hot Plug.

Niektoré kolíky na diskoch sú kratšie ako všetky ostatné. Toto je robené pre podporu Hot Swap. Počas procesu výmeny zariadenie „stratí“ a „nájde“ riadky vo vopred určenom poradí.

O niečo viac ako rok neskôr, v apríli 2004, bola vydaná druhá verzia špecifikácie SATA. Okrem zrýchlenia až do 3 Gbit/s predstavila technológiu SATA 2.0 Natívne zaraďovanie príkazov do fronty (NCQ). Zariadenia s podporou NCQ sú schopné samostatne organizovať poradie, v ktorom sa vykonávajú prijaté príkazy, aby sa dosiahol maximálny výkon.

Úvod do SSD diskov. Časť 2. Rozhranie
Počas nasledujúcich troch rokov pracovala SATA Working Group na vylepšení existujúcej špecifikácie a vo verzii 2.6 sa objavili kompaktné Slimline a micro SATA (uSATA) konektory. Tieto konektory sú menšou verziou pôvodného konektora SATA a sú určené pre optické mechaniky a malé mechaniky v notebookoch.

Hoci druhá generácia SATA mala dostatočnú šírku pásma pre pevné disky, SSD si vyžadovali viac. V máji 2009 bola vydaná tretia verzia špecifikácie SATA so zvýšenou šírkou pásma na 6 Gbit/s.

Úvod do SSD diskov. Časť 2. Rozhranie
Osobitná pozornosť bola venovaná jednotkám SSD v edícii SATA 3.1. Objavil sa konektor Mini-SATA (mSATA), určený na pripojenie pevných diskov v notebookoch. Na rozdiel od Slimline a uSATA bol nový konektor podobný PCIe Mini, aj keď nebol elektricky kompatibilný s PCIe. Okrem nového konektora sa SATA 3.1 pýšil možnosťou zaradiť príkazy TRIM do fronty s príkazmi na čítanie a zápis.

Príkaz TRIM upozorní SSD na dátové bloky, ktoré nenesú užitočné zaťaženie. Pred SATA 3.1 by vykonanie tohto príkazu spôsobilo vyprázdnenie vyrovnávacej pamäte a pozastavenie I/O, po ktorom by nasledoval príkaz TRIM. Tento prístup znížil výkon disku počas operácií odstraňovania.

Špecifikácia SATA nedokázala držať krok s rýchlym rastom rýchlosti prístupu pre disky SSD, čo viedlo v roku 2013 k objaveniu kompromisu s názvom SATA Express v štandarde SATA 3.2. Namiesto opätovného zdvojnásobenia šírky SATA pásma vývojári použili široko používanú zbernicu PCIe, ktorej rýchlosť presahuje 6 Gbps. Jednotky podporujúce SATA Express získali svoj vlastný tvarový faktor s názvom M.2.

SAS

Úvod do SSD diskov. Časť 2. Rozhranie
Štandard SCSI, „konkurujúci“ ATA, tiež nezostal na mieste a len rok po objavení sa Serial ATA v roku 2004 sa znovuzrodil ako sériové rozhranie. Názov nového rozhrania je Sériovo pripojené SCSI (SEDGE).

Napriek skutočnosti, že SAS zdedil sadu príkazov SCSI, zmeny boli významné:

  • sériové rozhranie;
  • 29-žilový napájací kábel;
  • spojenie point-to-point

Zdedila sa aj terminológia SCSI. Ovládač sa stále nazýva iniciátor a pripojené zariadenia sa stále nazývajú cieľ. Všetky cieľové zariadenia a iniciátor tvoria doménu SAS. V SAS priepustnosť pripojenia nezávisí od počtu zariadení v doméne, pretože každé zariadenie používa svoj vlastný vyhradený kanál.

Maximálny počet súčasne pripojených zariadení v doméne SAS podľa špecifikácie presahuje 16 tisíc a namiesto SCSI ID sa na adresovanie používa identifikátor Svetové meno (WWN).

WWN je jedinečný identifikátor s dĺžkou 16 bajtov, analogický s MAC adresou pre zariadenia SAS.

Úvod do SSD diskov. Časť 2. Rozhranie
Napriek podobnosti konektorov SAS a SATA nie sú tieto štandardy úplne kompatibilné. Disk SATA je však možné pripojiť ku konektoru SAS, ale nie naopak. Kompatibilita medzi diskami SATA a doménou SAS je zabezpečená pomocou protokolu SATA Tunneling Protocol (STP).

Prvá verzia štandardu SAS-1 má priepustnosť 3 Gbit/s a najmodernejšia SAS-4 tento údaj zlepšila 7-krát: 22,5 Gbit/s.

PCIe

Úvod do SSD diskov. Časť 2. Rozhranie
Peripheral Component Interconnect Express (PCI Express, PCIe) je sériové rozhranie na prenos dát, ktoré sa objavilo v roku 2002. Vývoj začal Intel a následne prešiel do špeciálnej organizácie - PCI Special Interest Group.

Sériové rozhranie PCIe nebolo výnimkou a stalo sa logickým pokračovaním paralelného PCI, ktoré je určené na pripojenie rozširujúcich kariet.

PCI Express sa výrazne líši od SATA a SAS. Rozhranie PCIe má premenlivý počet pruhov. Počet riadkov sa rovná mocninám dvoch a pohybuje sa od 1 do 16.

Pojem „pruh“ v PCIe sa nevzťahuje na špecifickú signálnu linku, ale na jeden plne duplexný komunikačný kanál, ktorý pozostáva z nasledujúcich signálnych liniek:

  • príjem+ a príjem-;
  • prenos+ a prenos-;
  • štyri uzemňovacie vodiče.

Počet PCIe pruhov priamo ovplyvňuje maximálnu priepustnosť pripojenia. Moderný štandard PCI Express 4.0 umožňuje dosiahnuť 1.9 GB/s na jednej linke a 31.5 GB/s pri použití 16 liniek.

Úvod do SSD diskov. Časť 2. Rozhranie
Chuť po pevných diskoch veľmi rýchlo rastie. SATA aj SAS nemajú čas na zvýšenie šírky pásma, aby „držali krok“ s SSD, čo viedlo k vzniku SSD diskov s pripojeniami PCIe.

Aj keď sú prídavné karty PCIe priskrutkované, PCIe je vymeniteľné za chodu. Krátke piny PRSNT (anglicky present - present) umožňujú uistiť sa, že je karta úplne nainštalovaná v slote.

Jednotky SSD pripojené cez PCIe sú regulované samostatným štandardom Špecifikácia rozhrania hostiteľského radiča s trvalou pamäťou a sú stelesnené v rôznych formových faktoroch, ale o nich si povieme v ďalšej časti.

Vzdialené pohony

Pri vytváraní veľkých dátových skladov vznikla potreba protokolov, ktoré umožňujú pripojenie diskov umiestnených mimo servera. Prvé riešenie v tejto oblasti bolo Internet SCSI (iSCSI), vyvinutý spoločnosťami IBM a Cisco v roku 1998.

Myšlienka protokolu iSCSI je jednoduchá: príkazy SCSI sú „zabalené“ do paketov TCP/IP a prenášané do siete. Napriek vzdialenému pripojeniu sa pre klientov vytvára ilúzia, že disk je pripojený lokálne. Sieť SAN (Storage Area Network) založená na iSCSI môže byť vybudovaná na existujúcej sieťovej infraštruktúre. Používanie iSCSI výrazne znižuje náklady na organizáciu siete SAN.

iSCSI má „prémiovú“ možnosť - Protokol Fibre Channel (FCP). SAN využívajúca FCP je postavená na vyhradených komunikačných linkách z optických vlákien. Tento prístup vyžaduje dodatočné vybavenie optickej siete, ale je stabilný a má vysokú priepustnosť.

Existuje mnoho protokolov na odosielanie príkazov SCSI cez počítačové siete. Existuje však iba jeden štandard, ktorý rieši opačný problém a umožňuje odosielanie paketov IP cez zbernicu SCSI - IP-over-SCSI.

Väčšina protokolov SAN používa na správu jednotiek príkazový súbor SCSI, existujú však výnimky, napríklad jednoduché ATA cez Ethernet (AoE). Protokol AoE odosiela príkazy ATA v ethernetových paketoch, ale jednotky sa v systéme zobrazujú ako SCSI.

S príchodom diskov NVM Express už protokoly iSCSI a FCP nespĺňajú rýchlo rastúce požiadavky SSD. Objavili sa dve riešenia:

  • presun zbernice PCI Express mimo server;
  • vytvorenie protokolu NVMe over Fabrics.

Odstránenie zbernice PCIe zahŕňa vytvorenie zložitého prepínacieho zariadenia, ale nemení protokol.

Protokol NVMe over Fabrics sa stal dobrou alternatívou k iSCSI a FCP. NVMe-oF používa optické spojenie a inštrukčnú sadu NVM Express.

DDR-T

Úvod do SSD diskov. Časť 2. Rozhranie
Štandardy iSCSI a NVMe-oF riešia problém pripojenia vzdialených diskov ako lokálnych, no Intel sa vybral inou cestou a priviedol lokálny disk čo najbližšie k procesoru. Voľba padla na DIMM sloty, do ktorých sa zapája RAM. Maximálna šírka pásma kanála DDR4 je 25 GB/s, čo je výrazne viac ako rýchlosť zbernice PCIe. Takto sa zrodil Intel® Optane™ DC Persistent Memory SSD.

Bol vynájdený protokol na pripojenie jednotiek k slotom DIMM DDR-T, fyzicky a elektricky kompatibilný s DDR4, ale vyžaduje špeciálny ovládač, ktorý vidí rozdiel medzi pamäťovou kartou a jednotkou. Prístupová rýchlosť disku je nižšia ako RAM, ale rýchlejšia ako NVMe.

DDR-T je k dispozícii iba s procesormi Intel® Cascade Lake alebo novšími.

Záver

Takmer všetky rozhrania prešli dlhú cestu od sériového k paralelnému prenosu dát. Rýchlosti SSD rýchlo rastú, ešte včera boli SSD novinkou, no dnes už NVMe nie je nijak zvlášť prekvapivé.

V našom laboratóriu Selectel Lab SSD a NVMe disky môžete otestovať sami.

Do prieskumu sa môžu zapojiť iba registrovaní užívatelia. Prihlásiť saProsím.

Nahradia NVMe disky v blízkej budúcnosti klasické SSD?

  • 55.5%Áno100

  • 44.4%č.80

Hlasovalo 180 užívateľov. 28 užívateľov sa zdržalo hlasovania.

Zdroj: hab.com

Pridať komentár