
V Sari «Sissejuhatus SSD-dele» käsitleb ketaste ajaloo kujunemist. Teises osas räägitakse salvestusseadmete ühendamise liidestest.
Kommunikatsioon protsessori ja perifeersete seadmete vahel toimub eelnevalt määratletud kokkulepete kohaselt, mida nimetatakse liidesteks. Need kokkulepped reguleerivad füüsilist ja programmilist taset suhtlemiseks.
Liides on süsteemi elementide vahelise suhtlemise vahendite, meetodite ja reeglite kogum.
Liidese füüsiline teostus mõjutab järgmisi parameetreid:
- suunakanali läbilaskevõime;
- maksimaalne samaaegselt ühendatud seadmete arv;
- tekkivate vigade arv.
Kettaliideseid ehitatakse sisendi-väljundi sadamate, mis on vastand mälu kaudu sisendi-väljundile ja ei hõivata protsessori aadressiruumi.
Paarita ja järjestikused sadamad
Andmete edastamise meetodite kohaselt jagunevad sisendi-väljundi sadamad kahte tüüpi:
- paarita;
- järjestikused.
Nagu nimest järeldada, edastab paralleelne port korraga masinasõna, mis koosneb mitmest bitist. Paralleelport on kõige lihtsam andmevahetuse viis, kuna see ei nõua keerulisi skeemitehnilisi lahendusi. Kõige lihtsamal juhul edastatakse iga masinasõna bitt oma signaalijoonel, tagasiside jaoks kasutatakse kahte teenuslikku signaalijoont: Andmed on valmis ja Andmed on vastuvõetud.
Paralleelportide loomine näib esmapilgul suurepäraselt skaleeruv: rohkem signaalijoone — rohkem bitte edastatakse korraga ja seega kõrgem läbilaskevõime. Siiski, signaalijoonte arvu suurenemise korral tekib nende vahel interferentsiline koostoime, mis toob kaasa edastatavate sõnumite moonutamise.
Sekventiaalportid on vastand paralleelportidele. Andmete saatmine toimub bititi, mis vähendab signalisatsioonide arvu, kuid keerukendab sisendi ja väljundi kontrollerit. Edastuse kontroller saab masin sõna korraga ja peab edastama ühe bit'i, samas kui vastuvõtu kontroller peab bitid vastu võtma ja neid samas järjekorras salvestama.
Väike signalisatsioonide arv võimaldab sõnumi edastamise sageduse tõhusal suurendamisel ilma häireteta.
SCSI

Small Computer Systems Interface (SCSI) ilmus 1978. aastal ja oli algselt loodud erinevate seadmete ühendamiseks ühtseks süsteemiks. SCSI-1 spetsifikatsioon võimaldas ühendada kuni 8 seadet (koos kontrolleriga), nagu:
- skannerid;
- lintmälud (streamer'id);
- optilised seadmed;
- ketasmälud ja muud seadmed.
Alguses oli SCSI nimeks Shugart Associates System Interface (SASI), kuid standardiseerimiskomisjon ei oleks heaks kiitnud nime, mis on saanud oma nime ettevõtte järgi. Pärast ideede genereerimise päeva sündis nimi Small Computer Systems Interface (SCSI). SCSI 'isa', Larry Boucher, soovis, et akronüümi hääldataks kui "sexy", kuid luges selle "sсuzzy" ("skuzzy"). Hiljem kindlaks saanud hääldus "skuzzy" muutus käesoleva standardi jaoks püsivaks.
SCSI terminoloogias jagunevad ühendatud seadmed kaheks tüübiks:
- algatajad;
- sihtseadmed.
Algataja saadab käsu sihtseadmest, mis siis saadab vastuse algatajale. Algatajad ja sihtseadmed on ühendatud ühisele SCSI bussi, mille läbilaskevõime SCSI-1 standardis on 5 MB/s.
Kasutatav "ülevaatusbussi" topoloogia seab mitmed piirangud:
- bussi otstes on vajalikud spetsiaalsed seadmed — terminatorid;
- bussi läbilaskevõime jaguneb kõigi seadmete vahel;
- samuti on maksimaalne samaaegselt ühendatud seadmete arv piiratud.
Bussil asuvaid seadmeid tuvastatakse unikaalse numbri kaudu, mida nimetatakse SCSI siht-ID. Iga SCSI-üksus süsteemis on esindatud vähemalt ühe loogilise seadmena, mille adresseerimine toimub füüsilise seadme piires ainulaadse numbri järgi. Loogiline seadme number (LUN).

SCSI käskude saatmine toimub käskude kirjeldusplokkidena (Command Descriptor Block, CDB), mis koosnevad operatsiooni koodist ja käsku parametritest. Standardis on kirjeldatud üle 200 käsku, mis jagunevad neljaks kategooriaks:
- Kohustuslikud — peavad olema seadme poolt toetatud;
- Valikuline — võivad olla rakendatud;
- Tootja-spetsiifilised — konkreetse tootja kasutatavad;
- Ajaloolised — aegunud käskud.
Paljude käskude seas on ainult kolm, mis on seadmete jaoks kohustuslikud:
- TEST UNIT READY — seadme valmisoleku kontroll;
- REQUEST SENSE — küsib eelmise käsku veakoodi;
- INQUIRY — küsib seadme põhijooni.
Pärast käsku saamist ja töötlemist saadab sihtseade algatajale olekoodi, mis kirjeldab teostamise tulemust.
SCSI edasine arendamine (SCSI-2 ja Ultra SCSI spetsifikatsioonid) laiendas kasutatavate käskude nimekirja ja suurendas ühendatavate seadmete arvu kuni 16-ni ning andmeedastuskiirus bussil kuni 640 MB/s. Kuna SCSI on paralleelne liides, siis andmeedastuskiirus suurenes maksimumi pikkuse vähenemisega ja põhjustas kasutusmugavuse languse.
Alates Ultra-3 SCSI standardist ilmus toetuse „kuumühendamine“ — seadmete ühendamine sisse lülitatud toide ajal.
Esimene tuntud SCSI liidese SSD-disk on M-Systems FFD-350, mis anti välja 1995. aastal. Disk oli kõrge hinnaga ja ei olnud laialdaselt levinud.
Praegu ei ole paralleelne SCSI populaarne diskide ühendamise liides, kuid käskude komplekti kasutatakse endiselt aktiivselt USB ja SAS liidestes.
ATA / PATA

Liides ATA (Evoluutsioonitehnoloogia ühendamine), tuntud ka kui PATA (Parallel ATA) loodi Western Digitali poolt 1986. aastal. Standardi IDE (ingl. Integrated Drive Electronics — „sisse ehitatud elektroonika draividesse”) turundusnimi rõhutas olulist uuendust: draivi kontroller oli ehitatud draivi sisse, mitte eraldi laiendusplaadile.
Kontrolleri paigutamine draivi sisse lahendas mitmeid probleeme. Esiteks vähenes kaugus seadme ja kontrolleri vahel, mis mõjutas positiivselt seadme omadusi. Teiseks oli sisseehitatud kontroller „kohandatud” ainult teatud tüüpi draivi jaoks ja seetõttu odavam.

ATA, nagu ka SCSI, kasutab paralleelset sisendi-väljundi meetodit, mis kajastub kasutatavates kaablites. IDE-liidese abil ketaste ühendamiseks on vajalikud 40-takti kaablid, mida tuntakse ka kui ribakaarte. Hiljemates spetsifikatsioonides kasutatakse 80-takti ribakaare: rohkem kui pool neist on maandused häirete vähendamiseks kõrgetel sagedustel.
ATA kaabel sisaldab kahest neljani pistikut, millest üks on ühendatud emaplaadiga ja ülejäänud ketastega. Kui kaks seadet on ühendatud ühe kaabliga, peab üks neist olema konfigureeritud kui Master, ja teine — kui Slave. Kolmas seade saab olla ühendatud ainult "ainult lugemise" režiimis.
Jumperi asend määrab konkreetse seadme rolli. Termini Master ja Slave kasutamine seadmete puhul ei ole täpne, kuna kõik ühendatud seadmed on võrreldes kontrolleriga Slaves.
ATA-3 uusim uuendus on Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.). Viis ettevõtet (IBM, Seagate, Quantum, Conner ja Western Digital) ühendasid jõud ja standardiseerisin ketaste seisundi hindamise tehnoloogia.
Flash-kettade tugi ilmus neljanda versiooni standardiga, mis välja anti 1998. aastal. See versioon tagas andmeedastuskiiruseni kuni 33,3 MB/s.
Standard seab rangelt nõuded ATA kaablitele:
- kaabel peab olema kindlasti lame;
- maksimaalne kaabli pikkus 18 tolli (45,7 sentimeetrit).
Lühike ja lai kaabel oli ebamugav ning takistas jahutust. Iga järgmise standardiversiooniga muutus edastuskiiruseni üleminek üha keerulisemaks, ja ATA-7 lahendas probleemi radikaalselt: paralleelne liides asendati järjestikusega. Pärast seda sai ATA uue nime – Parallel, ja seitsmes standardiversioon sai teise nime – Serial ATA. SATA versioonide numbreerimine algas ühest.
SATA

Serial ATA (SATA) standard esitati 7. jaanuaril 2003 ning lahendas oma eelkäija probleeme järgmiste muudatustega:
- paralleelport asendati järjestikusega;
- lai 80-jäljeline kaabel asendati 7-jäljega;
- topoloogia 'ühine buss' asendati 'punkt-punkt' ühendusega.
Kuigi SATA 1.0 standard (SATA/150, 150 MB/s) oli ainult veidi kiirem kui ATA-6 (UltraDMA/130, 130 MB/s), valmistati üleminek järjestikusele andmevahetusele ette kiirusetõusuks.
Kaksikümmend kuus signaalijoont andmete edastamiseks ATA-s asendati kahe pöörisepaariga: üks edastamiseks, teine vastuvõtmiseks. SATA konnektorid on loodud suurema vastupidavuse tagamiseks mitme ühenduse korral, ning SATA 1.0 spetsifikatsioon võimaldas "kuuma ühendamist" (Hot Plug).
Mõned pin-nupud kettadel on lühemad kui kõik teised. See on tehtud "kuuma vahetamise" (Hot Swap) toetamiseks. Asendamise käigus seade "kaotab" ja "leiab" liinid ette määratud järjekorras.
Veidi rohkem kui aasta pärast, aprillis 2004, ilmus SATA teine spetsifikatsiooni versioon. Peale edasiviimiseks kuni 3 Gbit/s toodi SATA 2.0-sse tehnoloogia Native Command Queuing (NCQ). NCQ-toega seadmed suudavad iseseisvalt korraldada saabunud käskude täitmise järjekorda maksimaalse jõudluse saavutamiseks.
Järgmise kolme aasta jooksul töötas SATA töörühm olemasoleva spetsifikatsiooni täiustamise kallal ning versioonis 2.6 ilmusid kompaktsed Slimline ja micro SATA (uSATA) konnektorid. Need konnektorid on originaal SATA konnektori vähendatud koopia ja on välja töötatud optiliste seadmete ja väikeste ketaste jaoks sülearvutites.
Kuigi teise põlvkonna SATA ribalaius oli piisav kõvaketaste jaoks, nõudsid tahkisefailid rohkem. Mai 2009. aastal ilmus SATA spetsifikatsiooni kolmas versioon ribalaiusega 6 Gbit/s.
Tahkisefailidele pöörati erilist tähelepanu SATA 3.1 redaktsioonis. Ilmus Mini-SATA (mSATA) pistik, mis oli mõeldud tahkisefailide ühendamiseks sülearvutitesse. Erinevalt Slimline'ist ja uSATA'st meenutas uus pistik PCIe Mini't, ehkki see ei olnud elektriliselt ühilduv PCIe'ga. Peale uue pistiku sai SATA 3.1 uhkeldada ka TRIM käskude järjekordade asetamise võimalusega koos lugemis- ja kirjutamiskäskudega.
TRIM käsk teavitab tahkisefaili andmeplokkidest, mis ei kanna koormust. Enne SATA 3.1 implementeerimist tõi selle käsu täitmine kaasa vahemälu tühjendamise ja sisendi/väljundi operatsioonide peatamise, järgides TRIM käsu täitmist. Selline lähenemine halvendab ketta jõudlust kustutamisoperatsioonide korral.
SATA spetsifikatsioon ei jäänud sammu kiire SSD-de andmeedastuskiirusest, mistõttu 2013. aastal ilmus kompromiss nimega SATA Express SATA 3.2 standardis. Selle asemel, et jälle kahekordistada SATA läbilaskevõimet, kasutasid arendajad laialdaselt levinud PCIe bussi, mille kiirus ületab 6 Gbit/s. SATA Express toega kettad said oma vormifaktori nimega M.2.
SAS

Sellele „konkurendiks“ ATA standardile SCSI ei seisanud samuti paigal ja vaid aasta pärast Serial ATA tekkimist, 2004. aastal, kujunes see ümber järjestikuseks liideseks. Uue liidese nimi on Serial Attached SCSI (SAS).
Hoolimata sellest, et SAS pärandab SCSI käsu komplekti, olid muudatused märkimisväärsed:
- järjestikune liides;
- 29-poolne kaabel koos toitega;
- punkt-punkt ühendus
SCSI terminoloogia oli samuti pärandatud. Kontrollerit nimetatakse endiselt algatajaks ja ühendatud seadmeid - sihtseadmeteks. Kõik sihtseadmed ja algatajad moodustavad SAS-domeeni. SAS-is ei sõltu ühenduse läbilaskevõime domeenis olevate seadmete arvust, kuna iga seade kasutab oma pühendatud kanalit.
SAS-domeeni täielik ühendatud seadmete arv ületab spetsifikatsiooni kohaselt 16 000, ning aadressimiseks kasutatakse SCSI ID asemel identifikaatorit. World-Wide Name (WWN).
WWN on ainulaadne 16-baidine identifikaator, mis sarnaneb MAC-aadressiga SAS-seadmete jaoks.
Kuigi SAS-i ja SATA pistikud on sarnased, ei ole need standardid täielikult ühilduvad. SATA-disk võib siiski olla ühendatud SAS-pistiku külge, kuid vastupidi ei toimi. SATA-diskide ja SAS-domeeni vaheline ühilduvus tagatakse SATA Tunneling Protocol (STP) protokolli kaudu.
Esimese versiooni standard SAS-1 ribalaius on 3 Gbit/s, samas kui uusim versioon, SAS-4, on selle näitaja parandanud 7 korda, jõudes 22,5 Gbit/s.
PCIe

Peripheral Component Interconnect Express (PCI Express, PCIe) on andmeedastusprotokoll, mis ilmus 2002. aastal. Arendust juhtis Intel, seejärel anti see üle spetsiaalsele organisatsioonile — PCI Special Interest Group.
Seotud PCIe liides ei olnud erand ja kujunes loogiliseks jätkuks paralleelsele PCI-le, mis on mõeldud laienduspinkide ühendamiseks.
PCI Express erineb SATA-st ja SAS-ist oluliselt. PCIe liidesel on muutuva arvu radu, mille kogus on võrdne kahteteistkümnendate astmetega ja ulatub vahemikku 1 kuni 16.
Termin „rida“ PCIe-s ei tähenda konkreetset signaalirada, vaid eraldi täisdüpleksset sidekanalit, mis koosneb järgmistest signaalijoonest:
- vastuvõtt+ ja vastuvõtt-;
- ülekanne+ ja ülekanne-;
- neli maandusjuhti.
PCIe ridade arv mõjutab otseselt ühenduse maksimaalset ribalaiust. Kaasaegne PCI Express 4.0 standard võimaldab saavutada 1,9 GB/s ühe rea puhul ja 31,5 GB/s 16 rea kasutamisel.

Tahkete ketaste "isu" kasvab väga kiiresti. Nii SATA kui ka SAS ei suuda oma ribalaiust suurendada, et SSD-dele järele jõuda, mis tõi kaasa PCIe-liideseed SSD-diskid.
Kuigi PCIe lisakaardid kinnitatakse kruviga, toetab PCIe „kuuma vahetust“. Lühikesed PRSNT (ingl. present — kohal) pinnad võimaldavad kinnitada, et kaart on täielikult ühendatud pesa.
Tahkekettad, mis on ühendatud PCIe kaudu, on reguleeritud eraldi standardiga. Non-Volatile Memory Host Controller Interface Specification ja ja on ellu viidud mitmesugustes vormifaktorites, kuid neist räägime järgmises osas.
Kaugnakkujad
Suuremate andmehõive loomisel tekkis vajadus protokollide järele, mis võimaldavad ühendada andmekandjad, mis asuvad serverist väljas. Esimene lahendus selles valdkonnas oli Internet SCSI (iSCSI), mille töötasid välja ettevõtted IBM ja Cisco 1998. aastal.
iSCSI protokolli idee on lihtne: SCSI käsud „ümberpakitakse” TCP/IP pakettidesse ja edastatakse võrku. Hoolimata kaugühendustest loob see klientidele illusiooni, et andmekandja on ühendatud kohapeal. iSCSI-põhine andmesalvestusvõrk (Storage Area Network, SAN) võib olla üles ehitatud olemasolevale võrguinfrastruktuurile. iSCSI kasutamine vähendab SAN-i korraldamise kulusid oluliselt.
iSCSI-l on olemas „premiaarne” variant — Fibre Channel Protocol (FCP). FCP-d kasutav SAN ehitatakse eraldatud kiudoptiliste sidekanalitele. Selline lähenemine nõuab täiendavat optilist võrguseadet, kuid erineb stabiilsuse ja suure läbivusega.
On olemas palju protokolle, mis saadavad SCSI käske arvutivõrkudes. Siiski on vaid üks standard, mis lahendab vastupidise ülesande ja võimaldab saata IP-pakette SCSI bussil — .
Enamik SAN-i korraldamise protokolle kasutab SCSI käskude kogumit kettaseadmete haldamiseks, kuid on ka erandeid, nagu näiteks lihtne ATA over Ethernet (AoE). AoE protokoll saadab ATA käsku Etherneti pakettides, kuid süsteemis kuvatakse kettaseadmed SCSI-na.
NVM Expressi kettaseadmete tulekuga on iSCSI ja FCP protokollid lõpetanud kiirelt kasvavate tahkete ketaste nõudmiste rahuldamise. On tekkinud kaks lahendust:
- PCI Expressi bussi viimine väljapoole serverit;
- NVMe over Fabrics protokolli loomine.
PCIe bussi viimine kaasneb keerulise lülitushardware loomisega, kuid ei muuda protokolli.
NVMe over Fabrics protokoll on saanud heaks alternatiiviks iSCSI ja FCP-le. NVMe-oF-is kasutatakse kiudoptilisi sidekanaleid ja NVM Expressi käskude kogumit.
DDR-T

iSCSI ja NVMe-oF standardid lahendavad kauged kettad nagu lokaalsed, kuid Intel läks teist teed ja tõi lokaalse ketta protsessorile võimalikult lähedale. Valik langes DIMM-pesade kasuks, kuhu ühendatakse mälu. DDR4 teede maksimaalne läbilaskevõime on 25 GB/s, mis ületab PCIe bussi kiirus. Nii valmis Intel® Optane™ DC Persistent Memory.
DIMM pesadele ühendamiseks loodi protokoll DDR-T, mis on füüsiliselt ja elektriliselt ühilduv DDR4-ga, kuid vajab spetsiaalset kontrollerit, mis tuvastab erinevuse mälu ja salvesti vahel. Salvestile ligipääsukiirus on madalam kui mälule, kuid suurem kui NVMe-l.
DDR-T protokoll on saadaval ainult Intel® Cascade Lake'i või uuemate protsessoritega.
Kokkuvõte
Peaaegu kõik liidesed on läbinud pika arengu alates järjestikustest andmeedastusmeetoditest paralleelseteni. SSD-de kiirus kasvab kiiresti, veel eile olid SSD-d haruldased, täna ei üllata NVMe enam kedagi.
Meie laboratooriumis saate SSD ja NVMe kettaid ise testida.
Ainult registreeritud kasutajad saavad küsitluses osaleda. , palun.
Kas NVMe kettad asendavad varsti klassikalised SSD-d?
55.5%Jah100
44.4%Ei80
Hääletas 180 kasutajat. 28 kasutajat jäid erapooletuks.
Allikas: habr.com
