Įvadas į SSD. 2 dalis. Sąsaja

Įvadas į SSD. 2 dalis. Sąsaja

В paskutinė dalis Seriale „Įvadas į SSD“ kalbėjome apie diskų atsiradimo istoriją. Antroje dalyje bus kalbama apie sąsajas, skirtas sąveikai su diskais.

Ryšys tarp procesoriaus ir išorinių įrenginių vyksta pagal iš anksto nustatytas taisykles, vadinamas sąsajomis. Šios sutartys reguliuoja fizinį ir programinės įrangos sąveikos lygį.

Sąsaja – tai įrankių, metodų ir sistemos elementų sąveikos taisyklių rinkinys.

Fizinis sąsajos įgyvendinimas turi įtakos šiems parametrams:

  • ryšio kanalo pajėgumas;
  • maksimalus vienu metu prijungtų įrenginių skaičius;
  • įvykusių klaidų skaičius.

Disko sąsajos yra sukurtos I/O prievadai, kuris yra priešingas atminties I/O ir neužima vietos procesoriaus adresų erdvėje.

Lygiagretieji ir nuoseklieji prievadai

Pagal apsikeitimo duomenimis metodą I/O prievadai skirstomi į du tipus:

  • lygiagreti;
  • nuoseklus.

Kaip rodo pavadinimas, lygiagretusis prievadas vienu metu siunčia mašininį žodį, susidedantį iš kelių bitų. Lygiagretusis prievadas yra paprasčiausias būdas keistis duomenimis, nes jam nereikia sudėtingų schemų sprendimų. Paprasčiausiu atveju kiekvienas mašinos žodžio bitas siunčiamas išilgai savo signalo linijos, o grįžtamajam ryšiui naudojamos dvi aptarnavimo signalo linijos: Duomenys paruošti и Duomenys priimti.

Įvadas į SSD. 2 dalis. Sąsaja
Lygiagretieji prievadai iš pirmo žvilgsnio atrodo labai gerai: daugiau signalo linijų reiškia, kad vienu metu perduodama daugiau bitų, taigi ir didesnis pralaidumas. Tačiau dėl signalo linijų skaičiaus padidėjimo tarp jų atsiranda trukdžių, dėl kurių perduodami pranešimai iškraipomi.

Serijiniai prievadai yra priešingi lygiagrečiam prievadui. Duomenys siunčiami po vieną bitą, o tai sumažina bendrą signalo linijų skaičių, bet padidina I/O valdiklio sudėtingumą. Siųstuvo valdiklis vienu metu priima mašininį žodį ir turi perduoti po vieną bitą, o imtuvo valdiklis savo ruožtu turi priimti bitus ir saugoti juos ta pačia tvarka.

Įvadas į SSD. 2 dalis. Sąsaja
Nedidelis signalo linijų skaičius leidžia padidinti pranešimų perdavimo dažnį be trukdžių.

SCSI

Įvadas į SSD. 2 dalis. Sąsaja
Mažų kompiuterių sistemų sąsaja (SCSI) pasirodė dar 1978 m. ir iš pradžių buvo skirta sujungti įvairių profilių įrenginius į vieną sistemą. SCSI-1 specifikacija skirta prijungti iki 8 įrenginių (kartu su valdikliu), pvz.:

  • skaitytuvai;
  • juostiniai įrenginiai (streameriai);
  • optiniai įrenginiai;
  • diskų įrenginiai ir kiti įrenginiai.

Iš pradžių SCSI vadinosi „Shugart Associates System Interface“ (SASI), tačiau standartų komitetas nepatvirtino tokio pavadinimo įmonės vardu, o po dienos minčių šturmo gimė pavadinimas „Small Computer Systems Interface“ (SCSI). SCSI „tėvas“ Larry Boucheris ketino akronimą ištarti „seksualus“, bet Dal Alanas Aš skaitau „scuzzy“ („pasakyk man“). Vėliau „skazi“ tarimas buvo tvirtai priskirtas šiam standartui.

Pagal SCSI terminologiją prijungti įrenginiai skirstomi į du tipus:

  • iniciatoriai;
  • tikslinius įrenginius.

Iniciatorius siunčia komandą tiksliniam įrenginiui, kuris tada siunčia atsakymą iniciatoriui. Iniciatoriai ir taikiniai yra prijungti prie bendros SCSI magistralės, kurios pralaidumas SCSI-1 standarte yra 5 MB/s.

Naudojama „bendroji magistralės“ topologija nustato keletą apribojimų:

  • Magistralės galuose reikalingi specialūs įrenginiai - terminatoriai;
  • Magistralės pralaidumas yra bendrinamas visiems įrenginiams;
  • Maksimalus vienu metu prijungtų įrenginių skaičius yra ribotas.

Įvadas į SSD. 2 dalis. Sąsaja

Autobuse esantys įrenginiai identifikuojami pagal unikalų numerį, vadinamą SCSI tikslinio ID. Kiekvienas SCSI vienetas sistemoje yra atstovaujamas bent vienu loginiu įrenginiu, kuris fiziniame įrenginyje adresuojamas naudojant unikalų numerį Loginio vieneto numeris (LUN).

Įvadas į SSD. 2 dalis. Sąsaja
SCSI komandos siunčiamos kaip komandų aprašymo blokai (Command Descriptor Block, CDB), susidedantis iš operacijos kodo ir komandos parametrų. Standartas aprašo daugiau nei 200 komandų, suskirstytų į keturias kategorijas:

  • privalomas - turi būti palaikomas įrenginio;
  • Neprivalomas - galima įgyvendinti;
  • Priklausomai nuo pardavėjo - naudojamas konkretaus gamintojo;
  • Pasenęs - pasenusios komandos.

Iš daugelio komandų tik trys iš jų yra privalomos įrenginiams:

  • BANDYMO ĮRENGINYS PASIPARUOŠTA — prietaiso parengties patikrinimas;
  • PRAŠYTI PRAŠYMĄ — prašo ankstesnės komandos klaidos kodo;
  • TYRIMAS — prašymas dėl pagrindinių prietaiso charakteristikų.

Gavęs ir įvykdęs komandą, tikslinis įrenginys siunčia iniciatoriui būsenos kodą, apibūdinantį vykdymo rezultatą.

Tolesnis SCSI tobulinimas (SCSI-2 ir Ultra SCSI specifikacijos) praplėtė naudojamų komandų sąrašą ir padidino prijungtų įrenginių skaičių iki 16, o duomenų mainų greitį magistralėje iki 640 MB/s. Kadangi SCSI yra lygiagreti sąsaja, duomenų mainų dažnio padidinimas buvo susijęs su maksimalaus kabelio ilgio sumažėjimu ir dėl to atsirado nepatogumų naudojant.

Pradedant nuo Ultra-3 SCSI standarto, atsirado „karšto prijungimo“ palaikymas - įrenginių prijungimas, kai maitinimas įjungtas.

Pirmuoju žinomu SSD disku su SCSI sąsaja galima laikyti M-Systems FFD-350, išleistą 1995 m. Diskas buvo brangus ir nebuvo plačiai paplitęs.

Šiuo metu lygiagreti SCSI nėra populiari disko prijungimo sąsaja, tačiau komandų rinkinys vis dar aktyviai naudojamas USB ir SAS sąsajose.

ATA/PATA

Įvadas į SSD. 2 dalis. Sąsaja
sąsaja ATA (Advanced Technology Attachment), taip pat žinomas kaip HOOF (Parallel ATA) buvo sukurta Western Digital 1986 m. IDE standarto (Integrated Drive Electronics) rinkodaros pavadinimas pabrėžė svarbią naujovę: pavaros valdiklis buvo įmontuotas diske, o ne atskiroje išplėtimo plokštėje.

Sprendimas įdėti valdiklį į diską vienu metu išsprendė kelias problemas. Pirma, atstumas nuo pavaros iki valdiklio sumažėjo, o tai teigiamai veikia pavaros charakteristikas. Antra, įmontuotas valdiklis buvo „pritaikytas“ tik tam tikro tipo pavarai ir atitinkamai buvo pigesnis.

Įvadas į SSD. 2 dalis. Sąsaja
ATA, kaip ir SCSI, naudoja lygiagretų įvesties/išvesties metodą, kuris veikia naudojamus kabelius. Norint prijungti diskus naudojant IDE sąsają, reikalingi 40 laidų kabeliai, dar vadinami kabeliais. Naujausiose specifikacijose naudojamos 80 laidų kilpos: daugiau nei pusė iš jų yra įžeminimo kilpos, siekiant sumažinti aukštų dažnių trukdžius.

ATA kabelis turi nuo dviejų iki keturių jungčių, iš kurių viena jungiama prie pagrindinės plokštės, o likusios prie diskų. Sujungiant du įrenginius vienu kabeliu, vienas iš jų turi būti sukonfigūruotas kaip Meistras, o antrasis - kaip vergas. Trečiasis įrenginys gali būti prijungtas tik skaitymo režimu.

Įvadas į SSD. 2 dalis. Sąsaja
Trumpiklio padėtis nurodo konkretaus įrenginio vaidmenį. Sąvokos „Master“ ir „Slave“ įrenginių atžvilgiu nėra visiškai teisingos, nes valdiklio atžvilgiu visi prijungti įrenginiai yra pavaldiniai.

Ypatinga ATA-3 naujovė yra išvaizda Savikontrolė, Analizės ir ataskaitų teikimo technologija (SMART). Penkios įmonės (IBM, Seagate, Quantum, Conner ir Western Digital) suvienijo jėgas ir standartizavo technologiją diskų būklei įvertinti.

Kietojo kūno diskų palaikymas pasirodė su ketvirtąja standarto versija, išleista 1998 m. Ši standarto versija suteikė duomenų perdavimo spartą iki 33.3 MB/s.

Standartas kelia griežtus reikalavimus ATA kabeliams:

  • traukinys turi būti plokščias;
  • maksimalus traukinio ilgis yra 18 colių (45.7 centimetro).

Trumpas ir platus traukinys buvo nepatogus ir trukdė vėsinti. Didinti perdavimo dažnį su kiekviena sekančia standarto versija tapo vis sunkiau, o ATA-7 problemą išsprendė radikaliai: lygiagreti sąsaja buvo pakeista nuoseklia. Po to ATA įgijo žodį Parallel ir tapo žinoma kaip PATA, o septintoji standarto versija gavo kitą pavadinimą - Serial ATA. SATA versijų numeracija prasidėjo nuo vienos.

SATA

Įvadas į SSD. 2 dalis. Sąsaja
Serial ATA (SATA) standartas buvo pristatytas 7 m. sausio 2003 d. ir išsprendė savo pirmtako problemas su šiais pakeitimais:

  • lygiagretusis prievadas buvo pakeistas nuosekliuoju;
  • platus 80 laidų kabelis pakeičiamas 7 laidų laidu;
  • „Bendroji magistralė“ topologija buvo pakeista „taškas-taškas“ ryšiu.

Nepaisant to, kad SATA 1.0 standartas (SATA/150, 150 MB/s) buvo šiek tiek greitesnis nei ATA-6 (UltraDMA/130, 130 MB/s), perėjimas prie nuoseklaus duomenų mainų metodo „paruošė dirvą“ padidintas greitis

Šešiolika signalų linijų, skirtų duomenims perduoti ATA, buvo pakeistos dviem vytos poros: viena – perdavimui, kita – priėmimui. SATA jungtys sukurtos taip, kad būtų atsparesnės daugeliui pakartotinių jungčių, o SATA 1.0 specifikacija leido įjungti karštąjį kištuką.

Kai kurie diskų kaiščiai yra trumpesni nei visi kiti. Tai daroma siekiant palaikyti Hot Swap. Keitimo proceso metu įrenginys „praranda“ ir „randa“ linijas iš anksto nustatyta tvarka.

Kiek daugiau nei po metų, 2004 m. balandžio mėn., buvo išleista antroji SATA specifikacijos versija. Be pagreičio iki 3 Gbit/s, SATA 2.0 pristatė technologiją Gimtoji komandų eilė (NCQ). Įrenginiai su NCQ palaikymu gali savarankiškai organizuoti gautų komandų vykdymo tvarką, kad būtų pasiektas maksimalus našumas.

Įvadas į SSD. 2 dalis. Sąsaja
Per ateinančius trejus metus SATA darbo grupė dirbo siekdama patobulinti esamą specifikaciją ir 2.6 versijoje pasirodė kompaktiškos Slimline ir micro SATA (uSATA) jungtys. Šios jungtys yra mažesnė originalios SATA jungties versija ir yra skirtos optiniams diskams ir mažiems nešiojamųjų kompiuterių diskams.

Nors antrosios kartos SATA pakako standžiųjų diskų pralaidumo, SSD reikėjo daugiau. 2009 m. gegužės mėn. buvo išleista trečioji SATA specifikacijos versija su padidintu pralaidumu iki 6 Gbit/s.

Įvadas į SSD. 2 dalis. Sąsaja
SATA 3.1 leidime ypatingas dėmesys buvo skiriamas kietojo kūno diskams. Atsirado Mini-SATA (mSATA) jungtis, skirta nešiojamų kompiuterių kietojo kūno diskams prijungti. Skirtingai nuo „Slimline“ ir „uSATA“, naujoji jungtis buvo panaši į „PCIe Mini“, nors ir nebuvo elektra suderinama su PCIe. Be naujos jungties, SATA 3.1 gali pasigirti galimybe įrašyti TRIM komandas į eilę su skaitymo ir rašymo komandomis.

Komanda TRIM praneša SSD apie duomenų blokus, kuriuose nėra naudingo krovinio. Prieš SATA 3.1, vykdant šią komandą, talpyklos bus išvalytos, įvestis / išvestis būtų sustabdyta, o po to būtų pateikta komanda TRIM. Šis metodas sumažino disko našumą atliekant trynimo operacijas.

SATA specifikacija negalėjo neatsilikti nuo spartaus kietojo kūno diskų prieigos greičio augimo, dėl kurio 2013 m. SATA 3.2 standarte atsirado kompromisas, vadinamas SATA Express. Užuot dar kartą padvigubinę SATA pralaidumą, kūrėjai panaudojo plačiai naudojamą PCIe magistralę, kurios greitis viršija 6 Gbps. Diskai, palaikantys SATA Express, įgijo savo formos faktorių, vadinamą M.2.

SAS

Įvadas į SSD. 2 dalis. Sąsaja
SCSI standartas, „konkuruojantis“ su ATA, taip pat nestovėjo vietoje ir praėjus vos metams po Serial ATA pasirodymo, 2004 m., atgimė kaip nuoseklioji sąsaja. Naujos sąsajos pavadinimas yra Serijos prijungtas SCSI (SEDGE).

Nepaisant to, kad SAS paveldėjo SCSI komandų rinkinį, pakeitimai buvo reikšmingi:

  • Serijinė sąsaja;
  • 29 laidų maitinimo kabelis;
  • ryšys tarp taško į tašką

SCSI terminija taip pat buvo paveldėta. Valdiklis vis dar vadinamas iniciatoriumi, o prijungti įrenginiai – taikiniu. Visi tiksliniai įrenginiai ir iniciatorius sudaro SAS domeną. SAS ryšio pralaidumas nepriklauso nuo įrenginių skaičiaus domene, nes kiekvienas įrenginys naudoja savo skirtą kanalą.

Maksimalus vienu metu prijungtų įrenginių skaičius SAS domene pagal specifikaciją viršija 16 tūkst., o vietoj SCSI ID adresavimui naudojamas identifikatorius Pasaulinis pavadinimas (WWN).

WWN yra unikalus 16 baitų ilgio identifikatorius, analogiškas SAS įrenginių MAC adresui.

Įvadas į SSD. 2 dalis. Sąsaja
Nepaisant SAS ir SATA jungčių panašumo, šie standartai nėra visiškai suderinami. Tačiau SATA diską galima prijungti prie SAS jungties, bet ne atvirkščiai. SATA diskų ir SAS domeno suderinamumas užtikrinamas naudojant SATA tuneliavimo protokolą (STP).

Pirmoji SAS-1 standarto versija pasižymi 3 Gbit/s pralaidumu, o moderniausia SAS-4 šį rodiklį pagerino 7 kartus: 22,5 Gbit/s.

PCIe

Įvadas į SSD. 2 dalis. Sąsaja
Peripheral Component Interconnect Express (PCI Express, PCIe) yra nuosekli duomenų perdavimo sąsaja, kuri pasirodė 2002 m. Plėtrą pradėjo „Intel“, o vėliau perdavė specialiai organizacijai - PCI Special Interest Group.

Serijinė PCIe sąsaja nebuvo išimtis ir tapo logišku lygiagrečiojo PCI, skirto išplėtimo kortelių prijungimui, tęsiniu.

PCI Express labai skiriasi nuo SATA ir SAS. PCIe sąsaja turi kintamą juostų skaičių. Eilučių skaičius yra lygus dviejų laipsniams ir svyruoja nuo 1 iki 16.

Terminas „juosta“ PCIe reiškia ne konkrečią signalo liniją, o vieną dvipusio ryšio kanalą, kurį sudaro šios signalo linijos:

  • priėmimas+ ir priėmimas-;
  • transmisija+ ir transmisija-;
  • keturi įžeminimo laidininkai.

PCIe juostų skaičius tiesiogiai veikia didžiausią ryšio pralaidumą. Šiuolaikinis PCI Express 4.0 standartas leidžia pasiekti 1.9 GB/s vienoje linijoje ir 31.5 GB/s naudojant 16 linijų.

Įvadas į SSD. 2 dalis. Sąsaja
Apetitas kietojo kūno diskams auga labai greitai. Tiek SATA, tiek SAS neturi laiko padidinti savo pralaidumo, kad galėtų „atsilikti“ nuo SSD, todėl atsirado SSD diskai su PCIe jungtimis.

Nors PCIe priedų kortelės yra prisuktos, PCIe galima keisti karštuoju būdu. Trumpi PRSNT smeigtukai (angl. present - present) leidžia įsitikinti, kad kortelė visiškai įdėta į lizdą.

Kietojo kūno diskai, prijungti per PCIe, yra reguliuojami atskiru standartu Nekintamos atminties pagrindinio valdiklio sąsajos specifikacija ir yra įkūnyti įvairiuose formos veiksniuose, tačiau apie juos kalbėsime kitoje dalyje.

Nuotoliniai diskai

Kuriant dideles duomenų saugyklas, atsirado poreikis protokolams, leidžiantiems prijungti diskus, esančius už serverio ribų. Pirmasis sprendimas šioje srityje buvo Interneto SCSI (iSCSI), sukurta IBM ir Cisco 1998 m.

iSCSI protokolo idėja paprasta: SCSI komandos „suvyniojamos“ į TCP/IP paketus ir perduodamos į tinklą. Nepaisant nuotolinio ryšio, klientams sukuriama iliuzija, kad diskas prijungtas vietoje. iSCSI pagrįstas saugyklos tinklas (SAN) gali būti sukurtas naudojant esamą tinklo infrastruktūrą. iSCSI naudojimas žymiai sumažina SAN organizavimo išlaidas.

iSCSI turi „premium“ parinktį - Skaidulinio kanalo protokolas (FCP). SAN, naudojanti FCP, yra sukurta specialiose šviesolaidinio ryšio linijose. Šis metodas reikalauja papildomos optinio tinklo įrangos, tačiau yra stabilus ir turi didelį pralaidumą.

Yra daug protokolų, skirtų SCSI komandoms siųsti kompiuterių tinklais. Tačiau yra tik vienas standartas, kuris išsprendžia priešingą problemą ir leidžia IP paketus siųsti per SCSI magistralę - IP per SCSI.

Dauguma SAN protokolų naudoja SCSI komandų rinkinį diskams valdyti, tačiau yra išimčių, pavyzdžiui, paprastų ATA per Ethernet (AoE). AoE protokolas siunčia ATA komandas Ethernet paketais, tačiau diskai sistemoje rodomi kaip SCSI.

Atsiradus NVM Express diskams, iSCSI ir FCP protokolai nebeatitinka sparčiai augančių SSD poreikių. Pasirodė du sprendimai:

  • PCI Express magistralės perkėlimas už serverio ribų;
  • NVMe over Fabrics protokolo sukūrimas.

Pašalinus PCIe magistralę, reikia sukurti sudėtingą perjungimo įrangą, tačiau protokolas nekeičiamas.

NVMe over Fabrics protokolas tapo gera iSCSI ir FCP alternatyva. NVMe-oF naudoja šviesolaidinį ryšį ir NVM Express instrukcijų rinkinį.

DDR-T

Įvadas į SSD. 2 dalis. Sąsaja
iSCSI ir NVMe-oF standartai išsprendžia nuotolinių diskų, kaip vietinių, prijungimo problemą, tačiau „Intel“ pasirinko kitą kelią ir vietinį diską priartino kuo arčiau procesoriaus. Pasirinkimas teko DIMM lizdams, į kuriuos prijungta RAM. Didžiausias DDR4 kanalo pralaidumas yra 25 GB/s, o tai žymiai didesnis nei PCIe magistralės greitis. Taip gimė Intel® Optane™ DC nuolatinės atminties SSD.

Buvo išrastas protokolas, skirtas prijungti diskus prie DIMM lizdų DDR-T, fiziškai ir elektra suderinamas su DDR4, tačiau reikalingas specialus valdiklis, kuris mato skirtumą tarp atminties kortelės ir disko. Disko prieigos greitis yra lėtesnis nei RAM, bet greitesnis nei NVMe.

DDR-T galima tik naudojant „Intel® Cascade Lake“ arba naujesnius procesorius.

išvada

Beveik visos sąsajos nuėjo ilgą kelią nuo serijinio iki lygiagretaus duomenų perdavimo metodų. SSD sparta sparčiai auga, dar vakar SSD buvo naujovė, tačiau šiandien NVMe jau nebestebina.

Mūsų laboratorijoje Selectel Lab SSD ir NVMe diskus galite išbandyti patys.

Apklausoje gali dalyvauti tik registruoti vartotojai. Prisijungti, Prašau.

Ar NVMe diskai artimiausiu metu pakeis klasikinius SSD?

  • 55.5%Taip 100

  • 44.4%Nr.80

Balsavo 180 vartotojų. 28 vartotojai susilaikė.

Šaltinis: www.habr.com

Добавить комментарий