SSD-de tutvustus. Osa 2. Liides

SSD-de tutvustus. Osa 2. Liides

В viimane osa Seerias "Sissejuhatus SSD-sse" rääkisime ketaste ilmumise ajaloost. Teises osas räägitakse draividega suhtlemise liidestest.

Suhtlus protsessori ja välisseadmete vahel toimub vastavalt eelnevalt määratletud tavadele, mida nimetatakse liidesteks. Need lepingud reguleerivad suhtluse füüsilist ja tarkvaralist taset.

Liides on süsteemi elementide vahelise interaktsiooni tööriistade, meetodite ja reeglite kogum.

Liidese füüsiline rakendamine mõjutab järgmisi parameetreid:

  • sidekanali läbilaskevõime;
  • samaaegselt ühendatud seadmete maksimaalne arv;
  • esinevate vigade arv.

Kettaliidesed on üles ehitatud I/O pordid, mis on vastupidine mälu I/O-le ja ei võta protsessori aadressiruumis ruumi.

Paralleel- ja jadapordid

Vastavalt andmevahetuse meetodile jagunevad I/O-pordid kahte tüüpi:

  • paralleelselt;
  • järjekindel.

Nagu nimigi ütleb, saadab paralleelport korraga mitmest bitist koosneva masinasõna. Paralleelport on lihtsaim viis andmete vahetamiseks, kuna see ei nõua keerulisi skeemilahendusi. Lihtsamal juhul saadetakse masinasõna iga bitt mööda oma signaaliliini ja tagasisideks kasutatakse kahte teenindussignaali liini: Andmed valmis и Andmed aktsepteeritud.

SSD-de tutvustus. Osa 2. Liides
Paralleelpordid näivad esmapilgul väga hästi skaleeruvat: rohkem signaaliliine tähendab, et korraga edastatakse rohkem bitte ja seega suurem läbilaskevõime. Kuid signaaliliinide arvu suurenemise tõttu tekivad nende vahel häired, mis põhjustavad edastatavate sõnumite moonutamist.

Jadapordid on paralleelpordi vastandid. Andmeid saadetakse üks bitt korraga, mis vähendab signaaliliinide üldist arvu, kuid muudab I/O kontrolleri keerukamaks. Saatja kontroller võtab vastu masinsõna korraga ja peab edastama ühe biti kaupa ning vastuvõtja kontroller omakorda peab bitid vastu võtma ja samas järjekorras salvestama.

SSD-de tutvustus. Osa 2. Liides
Väike arv signaaliliine võimaldab teil sõnumite edastamise sagedust häireteta suurendada.

SCSI

SSD-de tutvustus. Osa 2. Liides
Small Computer Systems Interface (SCSI) ilmus juba 1978. aastal ja oli algselt mõeldud erinevate profiilidega seadmete ühendamiseks üheks süsteemiks. SCSI-1 spetsifikatsioon on ette nähtud kuni 8 seadme ühendamiseks (koos kontrolleriga), näiteks:

  • skannerid;
  • lindiseadmed (streamerid);
  • optilised draivid;
  • kettaseadmed ja muud seadmed.

SCSI kandis algselt nime Shugart Associates System Interface (SASI), kuid standardikomitee ei kiitnud ettevõtte nime heaks ja pärast päeva kestnud ajurünnakut sündis nimi Small Computer Systems Interface (SCSI). SCSI "isa" Larry Boucher kavatses akronüümi hääldada "seksikas", kuid Dal Allan Ma lugesin "scuzzy" ("ütle mulle"). Seejärel määrati "skazi" hääldus sellele standardile kindlalt.

SCSI terminoloogias jagunevad ühendatud seadmed kahte tüüpi:

  • algatajad;
  • sihtseadmed.

Algataja saadab käsu sihtseadmele, mis seejärel saadab algatajale vastuse. Initsiaatorid ja sihtmärgid on ühendatud ühise SCSI siiniga, mille ribalaius on SCSI-1 standardis 5 MB/s.

Kasutatav "ühise siini" topoloogia seab mitmeid piiranguid:

  • Siini otstes on vaja spetsiaalseid seadmeid - terminaatoreid;
  • Siini ribalaius jagatakse kõigi seadmete vahel;
  • Samaaegselt ühendatud seadmete maksimaalne arv on piiratud.

SSD-de tutvustus. Osa 2. Liides

Siinis olevad seadmed identifitseeritakse kordumatu numbri järgi SCSI sihtmärgi ID. Iga süsteemi SCSI-üksus on esindatud vähemalt ühe loogilise seadmega, mis on adresseeritud unikaalse numbriga füüsilises seadmes Loogilise üksuse number (LUN).

SSD-de tutvustus. Osa 2. Liides
SCSI-käsud saadetakse kui käsu kirjelduse plokid (Command Descriptor Block, CDB), mis koosneb operatsioonikoodist ja käsuparameetritest. Standard kirjeldab enam kui 200 käsku, mis on jagatud nelja kategooriasse:

  • kohustuslik - seade peab toetama;
  • vabatahtlik - saab rakendada;
  • Müüjapõhine - kasutatakse konkreetse tootja poolt;
  • Vananenud - aegunud käsud.

Paljude käskude hulgast on seadmete jaoks kohustuslikud ainult kolm:

  • KATSEÜKSUS VALMIS — seadme valmisoleku kontrollimine;
  • TAOTLEMINE — küsib eelmise käsu veakoodi;
  • KÜSITLUS — seadme põhiomaduste taotlus.

Pärast käsu vastuvõtmist ja täitmist saadab sihtseade algatajale olekukoodi, mis kirjeldab täitmise tulemust.

SCSI edasine täiustamine (SCSI-2 ja Ultra SCSI spetsifikatsioonid) laiendas kasutatavate käskude loendit ja suurendas ühendatud seadmete arvu 16-ni ning andmevahetuse kiirust siinil 640 MB/s-ni. Kuna SCSI on paralleelliides, seostati andmevahetussageduse suurendamist maksimaalse kaabli pikkuse vähenemisega ja põhjustas kasutamisel ebamugavusi.

Alates Ultra-3 SCSI standardist ilmus "kuumpistiku" tugi - seadmete ühendamine, kui toide on sisse lülitatud.

Esimeseks teadaolevaks SCSI-liidesega SSD-draiviks võib pidada 350. aastal välja antud M-Systems FFD-1995. Ketas oli kõrge hinnaga ja ei olnud laialt levinud.

Praegu ei ole paralleel-SCSI populaarne kettaühendusliides, kuid käsukomplekti kasutatakse USB- ja SAS-liidestes endiselt aktiivselt.

ATA/PATA

SSD-de tutvustus. Osa 2. Liides
liides ATA (Advanced Technology Attachment), tuntud ka kui HOOF (Parallel ATA) töötas välja Western Digital 1986. aastal. IDE-standardi turundusnimi (Integrated Drive Electronics) rõhutas olulist uuendust: ajami kontroller ehitati ajamisse, mitte eraldi laiendusplaadile.

Otsus paigutada kontroller draivi sisse lahendas mitu probleemi korraga. Esiteks on kaugus ajami ja kontrolleri vahel vähenenud, millel on positiivne mõju ajami omadustele. Teiseks oli sisseehitatud kontroller "kohandatud" ainult teatud tüüpi draivi jaoks ja oli vastavalt odavam.

SSD-de tutvustus. Osa 2. Liides
ATA, nagu ka SCSI, kasutab paralleelset I/O meetodit, mis mõjutab kasutatavaid kaableid. Draivide ühendamiseks IDE-liidese abil on vaja 40-juhtmelisi kaableid, mida nimetatakse ka kaabliteks. Uuemates spetsifikatsioonides kasutatakse 80-juhtmelisi silmuseid: enam kui pooled neist on põhjuseks häirete vähendamiseks kõrgetel sagedustel.

ATA-kaablil on kaks kuni neli pistikut, millest üks on ühendatud emaplaadiga ja ülejäänud draividega. Kahe seadme ühendamisel ühe kaabliga tuleb üks neist konfigureerida järgmiselt meister, ja teine ​​- nagu Ori. Kolmanda seadme saab ühendada ainult kirjutuskaitstud režiimis.

SSD-de tutvustus. Osa 2. Liides
Hüppaja asend määrab konkreetse seadme rolli. Seadmete kohta käivad mõisted Master ja Slave ei ole täiesti õiged, kuna kontrolleri suhtes on kõik ühendatud seadmed alluvad.

ATA-3 eriline uuendus on välimus Enesekontroll, Analüüsi- ja aruandlustehnoloogia (SMART). Viis ettevõtet (IBM, Seagate, Quantum, Conner ja Western Digital) on ühendanud jõud ja standardiseerinud tehnoloogia draivide seisundi hindamiseks.

Tahkisketaste tugi ilmus koos standardi neljanda versiooniga, mis ilmus 1998. aastal. See standardi versioon andis andmeedastuskiiruseks kuni 33.3 MB/s.

Standard esitab ATA-kaablitele ranged nõuded:

  • rong peab olema tasane;
  • rongi maksimaalne pikkus on 18 tolli (45.7 sentimeetrit).

Lühike ja lai rong oli ebamugav ja segas jahutamist. Iga järgneva standardi versiooniga muutus edastussageduse suurendamine üha keerulisemaks ja ATA-7 lahendas probleemi radikaalselt: paralleelliides asendati jadaliidesega. Pärast seda omandas ATA sõna Parallel ja sai tuntuks kui PATA ning standardi seitsmes versioon sai teise nime - Serial ATA. SATA versioonide nummerdamine algas ühest.

SATA

SSD-de tutvustus. Osa 2. Liides
Serial ATA (SATA) standard võeti kasutusele 7. jaanuaril 2003 ja see lahendas oma eelkäija probleeme järgmiste muudatustega:

  • paralleelport on asendatud jadapordiga;
  • lai 80-juhtmeline kaabel asendatakse 7-juhtmelisega;
  • "Ühissiinide" topoloogia on asendatud "punkt-punkti" ühendusega.

Hoolimata asjaolust, et SATA 1.0 standard (SATA/150, 150 MB/s) oli veidi kiirem kui ATA-6 (UltraDMA/130, 130 MB/s), valmistas üleminek jadaandmevahetusmeetodile maad ette. suurenenud kiirused

Kuusteist signaaliliini ATA-s andmete edastamiseks asendati kahe keerdpaariga: üks edastamiseks, teine ​​vastuvõtmiseks. SATA-pistikud on loodud mitme taasühendamise jaoks vastupidavamaks ja SATA 1.0 spetsifikatsioon tegi Hot Plugi võimalikuks.

Mõned ketaste tihvtid on lühemad kui kõik teised. Seda tehakse kiirvahetuse toetamiseks. Asendusprotsessi käigus seade "kaob" ja "leiab" read etteantud järjekorras.

Veidi rohkem kui aasta hiljem, 2004. aasta aprillis, ilmus SATA spetsifikatsiooni teine ​​versioon. Lisaks kiirendusele kuni 3 Gbit/s võttis SATA 2.0 kasutusele tehnoloogia Algne käsujärjekord (NCQ). NCQ toega seadmed suudavad maksimaalse jõudluse saavutamiseks iseseisvalt korraldada saadud käskude täitmise järjekorda.

SSD-de tutvustus. Osa 2. Liides
Järgmise kolme aasta jooksul töötas SATA töörühm olemasoleva spetsifikatsiooni täiustamise nimel ja versioonis 2.6 ilmusid kompaktsed Slimline ja micro SATA (uSATA) pistikud. Need pistikud on algse SATA-pistiku väiksem versioon ja mõeldud sülearvutite optiliste ja väikeste draivide jaoks.

Kuigi teise põlvkonna SATA-l oli kõvaketaste jaoks piisavalt ribalaiust, nõudsid SSD-d rohkem. 2009. aasta mais ilmus SATA spetsifikatsiooni kolmas versioon suurendatud ribalaiusega 6 Gbit/s.

SSD-de tutvustus. Osa 2. Liides
SATA 3.1 väljaandes pöörati erilist tähelepanu pooljuhtdraividele. Ilmunud on Mini-SATA (mSATA) pistik, mis on mõeldud sülearvutite pooljuhtdraivide ühendamiseks. Erinevalt Slimline'ist ja uSATA-st sarnanes uus pistik PCIe Miniga, kuigi see ei ühildunud elektriliselt PCIe-ga. Lisaks uuele pistikule oli SATA 3.1 võimeline seadma järjekorda TRIM-käske koos lugemis- ja kirjutamiskäskudega.

Käsk TRIM teavitab SSD-d andmeplokkidest, mis ei kanna kasulikku koormust. Enne SATA 3.1 põhjustas selle käsu täitmine vahemälu tühjendamise ja sisend-/väljundi peatamise, millele järgneb käsk TRIM. See lähenemisviis halvendas kustutamistoimingute ajal ketta jõudlust.

SATA spetsifikatsioon ei suutnud sammu pidada pooljuhtketaste juurdepääsukiiruste kiire kasvuga, mis viis 2013. aastal SATA 3.2 standardis SATA Expressi nimelise kompromissini ilmumiseni. Selle asemel, et SATA ribalaiust taas kahekordistada, kasutasid arendajad laialt levinud PCIe siini, mille kiirus ületab 6 Gbps. SATA Expressi toetavad draivid on omandanud oma vormiteguri nimega M.2.

SAS

SSD-de tutvustus. Osa 2. Liides
Ka ATA-ga “konkureeriv” SCSI standard ei seisnud paigal ja vaid aasta pärast Serial ATA ilmumist, 2004. aastal, sündis see uuesti jadaliidesena. Uue liidese nimi on Jadaühendusega SCSI (SEDGE).

Vaatamata asjaolule, et SAS päris SCSI käsukomplekti, olid muudatused märkimisväärsed:

  • jadaliides;
  • 29-juhtmeline toitekaabel;
  • punkt-punkti ühendus

Ka SCSI terminoloogia oli päritud. Kontrollerit nimetatakse endiselt initsiaatoriks ja ühendatud seadmeid sihtmärgiks. Kõik sihtseadmed ja algataja moodustavad SAS-i domeeni. SAS-is ei sõltu ühenduse läbilaskevõime domeenis olevate seadmete arvust, kuna iga seade kasutab oma spetsiaalset kanalit.

SAS-i domeenis ületab spetsifikatsiooni kohaselt samaaegselt ühendatud seadmete maksimaalne arv 16 tuhat ja SCSI ID asemel kasutatakse adresseerimiseks identifikaatorit Ülemaailmne nimi (WWN).

WWN on 16 baiti pikkune kordumatu identifikaator, mis on analoogne SAS-seadmete MAC-aadressile.

SSD-de tutvustus. Osa 2. Liides
Vaatamata SAS- ja SATA-pistikute sarnasusele ei ole need standardid täielikult ühilduvad. Kuid SATA-draivi saab ühendada SAS-pistikuga, kuid mitte vastupidi. SATA-draivide ja SAS-domeeni ühilduvus tagatakse SATA tunneliprotokolli (STP) abil.

Standardi SAS-1 esimene versioon on läbilaskevõimega 3 Gbit/s ning moodsaim SAS-4 on seda näitajat parandanud 7 korda: 22,5 Gbit/s.

PCIe

SSD-de tutvustus. Osa 2. Liides
Peripheral Component Interconnect Express (PCI Express, PCIe) on andmeedastuse jadaliides, mis ilmus 2002. aastal. Arendust alustas Intel ja viidi seejärel üle spetsiaalsele organisatsioonile - PCI Special Interest Group.

Jadaliides PCIe polnud erand ja sellest sai loogiline jätk paralleelsele PCI-le, mis on mõeldud laienduskaartide ühendamiseks.

PCI Express erineb oluliselt SATA-st ja SAS-ist. PCIe liidesel on muutuv radade arv. Ridade arv on võrdne kahe astmega ja jääb vahemikku 1 kuni 16.

Termin "rada" PCIe-s ei viita konkreetsele signaaliliinile, vaid ühele täisduplekssidekanalile, mis koosneb järgmistest signaaliliinidest:

  • vastuvõtt+ ja vastuvõtt-;
  • ülekanne+ ja ülekanne-;
  • neli maandusjuhet.

PCIe radade arv mõjutab otseselt ühenduse maksimaalset läbilaskevõimet. Kaasaegne PCI Express 4.0 standard võimaldab ühel real saavutada 1.9 GB/s, 31.5 liini kasutamisel 16 GB/s.

SSD-de tutvustus. Osa 2. Liides
Isu pooljuhtketaste järele kasvab väga kiiresti. Nii SATA-l kui ka SAS-il pole aega oma ribalaiust suurendada, et SSD-dega sammu pidada, mis tõi kaasa PCIe-ühendustega SSD-draivide ilmumise.

Kuigi PCIe lisandmooduli kaardid on kinni keeratud, on PCIe kuumvahetusetav. Lühikesed PRSNT tihvtid (inglise present - present) võimaldavad teil veenduda, et kaart on täielikult pessa paigaldatud.

PCIe kaudu ühendatud pooljuhtkettaid reguleerib eraldi standard Püsimälu hostikontrolleri liidese spetsifikatsioon ja need sisalduvad erinevates vormitegurites, kuid neist räägime järgmises osas.

Kaugdraivid

Suurte andmeladude loomisel tekkis vajadus protokollide järele, mis võimaldavad ühendada väljaspool serverit asuvaid draive. Esimene lahendus selles vallas oli Interneti-SCSI (iSCSI), mille töötasid välja IBM ja Cisco 1998. aastal.

iSCSI-protokolli idee on lihtne: SCSI-käsud pakitakse TCP/IP-pakettidesse ja edastatakse võrku. Vaatamata kaugühendusele luuakse klientidele illusioon, et draiv on lokaalselt ühendatud. Olemasolevale võrguinfrastruktuurile saab ehitada iSCSI-põhise salvestuspiirkonna võrgu (SAN). iSCSI kasutamine vähendab oluliselt SAN-i korraldamise kulusid.

iSCSI-l on "lisatasu" valik - Fiber Channel Protocol (FCP). FCP-d kasutav SAN on ehitatud spetsiaalsetele fiiberoptilistele sideliinidele. See lähenemisviis nõuab täiendavaid optilise võrgu seadmeid, kuid on stabiilne ja suure läbilaskevõimega.

SCSI-käskude saatmiseks arvutivõrkude kaudu on palju protokolle. Siiski on ainult üks standard, mis lahendab vastupidise probleemi ja võimaldab saata IP-pakette SCSI siini kaudu - IP-üle SCSI.

Enamik SAN-protokolle kasutab draivide haldamiseks SCSI-käskude komplekti, kuid on ka erandeid, näiteks lihtsaid ATA Etherneti kaudu (AoE). AoE-protokoll saadab ATA-käske Etherneti pakettidena, kuid draivid kuvatakse süsteemis SCSI-na.

NVM Expressi draivide tulekuga ei vasta iSCSI- ja FCP-protokollid enam SSD-de kiiresti kasvavatele nõudmistele. Ilmus kaks lahendust:

  • PCI Expressi siini teisaldamine väljaspool serverit;
  • NVMe over Fabricsi protokolli loomine.

PCIe siini eemaldamine hõlmab keerukate lülitusseadmete loomist, kuid ei muuda protokolli.

NVMe over Fabrics protokollist on saanud hea alternatiiv iSCSI-le ja FCP-le. NVMe-oF kasutab fiiberoptilist linki ja NVM Expressi käsukomplekti.

DDR-T

SSD-de tutvustus. Osa 2. Liides
iSCSI ja NVMe-oF standardid lahendavad kaugketaste kui kohalike ühendamise probleemi, kuid Intel valis teist teed ja viis kohaliku ketta protsessorile võimalikult lähedale. Valik langes DIMM-i pesadele, millesse RAM on ühendatud. DDR4 kanali maksimaalne ribalaius on 25 GB/s, mis on oluliselt suurem kui PCIe siini kiirus. Nii sündis Intel® Optane™ DC püsimälu SSD.

Draivide ühendamiseks DIMM-i pesadega leiutati protokoll DDR-T, füüsiliselt ja elektriliselt ühilduv DDR4-ga, kuid vajab spetsiaalset kontrollerit, mis näeb mälupulga ja draivi vahet. Draivi juurdepääsukiirus on aeglasem kui RAM, kuid kiirem kui NVMe.

DDR-T on saadaval ainult Intel® Cascade Lake'i või uuemate protsessoritega.

Järeldus

Peaaegu kõik liidesed on läbinud pika tee jada- ja paralleelandmete edastamise meetoditest. SSD kiirused kasvavad kiiresti, alles eile olid SSD-d uudne, kuid täna pole NVMe enam eriti üllatav.

Meie laboris Vali labor saate SSD- ja NVMe-draive ise testida.

Küsitluses saavad osaleda ainult registreerunud kasutajad. Logi sissepalun.

Kas NVMe-draivid asendavad lähitulevikus klassikalisi SSD-sid?

  • 55.5%jah 100

  • 44.4%Ei 80

180 kasutajat hääletas. 28 kasutajat jäi erapooletuks.

Allikas: www.habr.com

Lisa kommentaar