Uvod v SSD. 2. del. Vmesnik

Uvod v SSD. 2. del. Vmesnik

В zadnji del cikel "Uvod v SSD" smo govorili o zgodovini pojava diskov. Drugi del bo povedal o vmesnikih za interakcijo s pogoni.

Komunikacija med procesorjem in perifernimi napravami poteka v skladu z vnaprej določenimi konvencijami, imenovanimi vmesniki. Ti sporazumi urejajo fizično in programsko raven interakcije.

Vmesnik - niz sredstev, metod in pravil interakcije med elementi sistema.

Fizična izvedba vmesnika vpliva na naslednje parametre:

  • prepustnost komunikacijskega kanala;
  • največje število istočasno povezanih naprav;
  • število napak, ki se pojavijo.

Disk vmesniki so zgrajeni na V/I vrata, ki je nasprotje pomnilniškega V/I in ne zaseda prostora v naslovnem prostoru procesorja.

Vzporedna in serijska vrata

Glede na način izmenjave podatkov so I / O vrata razdeljena na dve vrsti:

  • vzporedno;
  • dosledno.

Kot že ime pove, vzporedna vrata pošiljajo strojno besedo naenkrat, sestavljeno iz več bitov. Vzporedna vrata so najlažji način za izmenjavo podatkov, saj ne zahtevajo kompleksnih vezijskih rešitev. V najpreprostejšem primeru se vsak bit strojne besede pošlje po lastni signalni liniji, za povratno informacijo pa se uporabljata dve službeni signalni liniji: Podatki pripravljeni и Podatki sprejeti.

Uvod v SSD. 2. del. Vmesnik
Vzporedna vrata se na prvi pogled dobro prilagajajo: več signalnih linij – več bitov se prenaša naenkrat in zato večja prepustnost. Vendar pa zaradi povečanja števila signalnih linij med njimi prihaja do motenj, ki vodijo do popačenja prenesenih sporočil.

Serijska vrata so nasprotje vzporednih. Podatki se pošiljajo en bit naenkrat, kar zmanjša skupno število signalnih linij, vendar zaplete I/O krmilnik. Krmilnik oddajnika sprejme strojno besedo naenkrat in mora oddati en bit naenkrat, krmilnik sprejemnika pa mora prejeti bite in jih shraniti v enakem vrstnem redu.

Uvod v SSD. 2. del. Vmesnik
Majhno število signalnih linij vam omogoča povečanje frekvence prenosa sporočil brez motenj.

SCSI

Uvod v SSD. 2. del. Vmesnik
Vmesnik malih računalniških sistemov (SCSI) se je pojavil leta 1978 in je bil prvotno zasnovan za združevanje naprav različnih profilov v en sistem. Specifikacija SCSI-1 je predvidevala povezavo do 8 naprav (skupaj s krmilnikom), kot so:

  • skenerji;
  • tračni pogoni (strimerji);
  • optični pogoni;
  • diskovnih pogonov in drugih naprav.

SCSI se je prvotno imenoval Shugart Associates System Interface (SASI), vendar odbor za standarde ni želel odobriti imena po podjetju, in po dnevu razmišljanja se je rodilo ime Small Computer Systems Interface (SCSI). "Oče" SCSI, Larry Boucher, je želel, da se akronim izgovori "seksi", vendar Dal Allan beri "sуzzy" ("povej"). Kasneje je bila izgovorjava "tell" trdno zasidrana v tem standardu.

V terminologiji SCSI so povezane naprave razdeljene na dve vrsti:

  • pobudniki;
  • ciljne naprave.

Iniciator pošlje ukaz ciljni napravi, ki nato pošlje odgovor iniciatorju. Iniciatorji in cilji so povezani na skupno vodilo SCSI, ki ima v standardu SCSI-1 pasovno širino 5 MB/s.

Uporabljena topologija "skupnega vodila" nalaga številne omejitve:

  • na koncih vodila so potrebne posebne naprave - terminatorji;
  • pasovna širina vodila je razdeljena med vse naprave;
  • Največje število istočasno povezanih naprav je omejeno.

Uvod v SSD. 2. del. Vmesnik

Naprave na vodilu so identificirane z edinstveno klicano številko ID cilja SCSI. Vsaka enota SCSI v sistemu je predstavljena z vsaj eno logično napravo, ki je naslovljena z edinstveno številko znotraj fizične naprave. Logična številka enote (LUN).

Uvod v SSD. 2. del. Vmesnik
Ukazi v SCSI so poslani v obliki bloki opisa ukazov (Command Deskriptor Block, CDB), sestavljen iz kode operacije in parametrov ukaza. Standard opisuje več kot 200 ukazov, razdeljenih v štiri kategorije:

  • obvezno — mora biti podprta z napravo;
  • neobvezno - se lahko izvajajo;
  • Odvisno od prodajalca - uporablja določen proizvajalec;
  • Zastarela - zastareli ukazi.

Med številnimi ukazi so le trije obvezni za naprave:

  • TESTNA ENOTA PRIPRAVLJENA — preverjanje pripravljenosti naprave;
  • ZAHTEVAJTE SENSE — zahteva kodo napake prejšnjega ukaza;
  • POVPRAŠEVANJE — zahtevajte glavne značilnosti naprave.

Po prejemu in obdelavi ukaza ciljna naprava pošlje iniciatorju statusno kodo, ki opisuje rezultat izvedbe.

Nadaljnja izboljšava SCSI (specifikacije SCSI-2 in Ultra SCSI) je razširila seznam uporabljenih ukazov in povečala število povezanih naprav na 16, hitrost izmenjave podatkov na vodilu pa na 640 MB/s. Ker je SCSI vzporedni vmesnik, je bilo povečanje pogostosti izmenjave podatkov povezano z zmanjšanjem največje dolžine kabla in povzročilo neprijetnosti pri uporabi.

Od standarda Ultra-3 SCSI se je pojavila podpora za "hot plugging" - povezovanje naprav, ko je napajanje vklopljeno.

Prvi znani SCSI SSD je bil M-Systems FFD-350, izdan leta 1995. Disk je imel visoke stroške in ni bil široko uporabljen.

Trenutno vzporedni SCSI ni priljubljen diskovni vmesnik, vendar se nabor ukazov še vedno aktivno uporablja v vmesnikih USB in SAS.

ATA/PATA

Uvod v SSD. 2. del. Vmesnik
vmesnik ATA (Advanced Technology Attachment), znan tudi kot PATA (Parallel ATA) je leta 1986 razvil Western Digital. Tržno ime za standard IDE (angl. Integrated Drive Electronics - "elektronika, vgrajena v pogon") je poudarilo pomembno novost: krmilnik pogona je bil integriran v pogon in ne na ločeni razširitveni plošči.

Odločitev o postavitvi krmilnika v pogon je rešila več težav hkrati. Prvič, razdalja od pogona do krmilnika se je zmanjšala, kar je pozitivno vplivalo na delovanje pogona. Drugič, vgrajeni krmilnik je bil "izostren" samo za določeno vrsto pogona in je bil zato cenejši.

Uvod v SSD. 2. del. Vmesnik
ATA, tako kot SCSI, uporablja metodo vzporednega V/I, kar se odraža v uporabljenih kablih. Za povezovanje pogonov z vmesnikom IDE so potrebni 40-žilni kabli, imenovani tudi ploski kabli. Novejše specifikacije uporabljajo 80-žične nastavke, od katerih je več kot polovica ozemljitvenih zank za zmanjšanje motenj pri visokih frekvencah.

Na kablu ATA so dva do štirje priključki, od katerih je eden priključen na matično ploščo, ostali pa na pogone. Pri povezovanju dveh naprav v eno zanko mora biti ena od njiju konfigurirana kot Mojster, drugi pa kot Slave. Tretjo napravo je mogoče povezati le v načinu samo za branje.

Uvod v SSD. 2. del. Vmesnik
Položaj skakalca določa vlogo določene naprave. Izraza Master in Slave v zvezi z napravami nista povsem pravilna, saj so v odnosu do krmilnika vse priključene naprave podrejene.

Posebna novost pri ATA-3 je videz Samonadzor, Tehnologija analize in poročanja (SMART). Pet podjetij (IBM, Seagate, Quantum, Conner in Western Digital) je združilo moči in standardiziralo tehnologijo ocenjevanja zdravja pogona.

Podpora za pogone SSD obstaja že od različice 1998 standarda, izdane leta 33.3. Ta različica standarda je zagotavljala hitrosti prenosa podatkov do XNUMX MB/s.

Standard postavlja stroge zahteve za kable ATA:

  • perje mora biti ravno;
  • največja dolžina vlaka je 18 palcev (45.7 centimetra).

Kratek in širok vlak je bil nepriročen in je motil hlajenje. Z vsako naslednjo različico standarda je bilo vse težje povečati frekvenco prenosa in ATA-7 je težavo radikalno rešil: vzporedni vmesnik je zamenjal serijski. Po tem je ATA pridobil besedo Parallel in postal znan kot PATA, sedma različica standarda pa je dobila drugo ime - Serial ATA. Številčenje različic SATA se začne od ena.

SATA

Uvod v SSD. 2. del. Vmesnik
Standard Serial ATA (SATA) je bil predstavljen 7. januarja 2003 in je obravnaval težave svojega predhodnika z naslednjimi spremembami:

  • vzporedna vrata zamenjajo serijska;
  • širok 80-žilni kabel zamenjan s 7-žilnim;
  • topologija "skupnega vodila" je bila nadomeščena s povezavo "od točke do točke".

Čeprav je bil SATA 1.0 (SATA/150, 150 MB/s) nekoliko hitrejši od ATA-6 (UltraDMA/130, 130 MB/s), je prehod na serijsko komunikacijo "postavil temelje" za hitrosti.

Šestnajst signalnih linij za prenos podatkov v ATA je bilo zamenjanih z dvema sukanima paricama: ena za prenos, druga za sprejem. Priključki SATA so zasnovani tako, da so bolj odporni na večkratne ponovne povezave, specifikacija SATA 1.0 pa je omogočila vročo priključitev.

Nekateri zatiči na pogonih so krajši od vseh ostalih. To je narejeno za podporo "vroče zamenjave" (Hot Swap). Med postopkom zamenjave naprava "izgubi" in "najde" črte v vnaprej določenem vrstnem redu.

Malo več kot leto kasneje, aprila 2004, je bila izdana druga različica specifikacije SATA. Poleg pospeševanja do 3 Gb / s je SATA 2.0 predstavil tehnologijo Čakalna vrsta nativnega ukaza (NCQ). Naprave s podporo NCQ lahko samostojno organizirajo vrstni red izvajanja dohodnih ukazov, da dosežejo največjo zmogljivost.

Uvod v SSD. 2. del. Vmesnik
Naslednja tri leta je delovna skupina SATA delala na izboljšanju obstoječe specifikacije in različica 2.6 je predstavila kompaktne priključke Slimline in mikro SATA (uSATA). Ti priključki so manjša različica originalnega priključka SATA in so zasnovani za optične pogone in majhne pogone v prenosnikih.

Medtem ko je imela druga generacija SATA dovolj pasovne širine za HDD, so SSD-ji zahtevali več. Maja 2009 je bila izdana tretja različica specifikacije SATA s povečano pasovno širino na 6 Gb / s.

Uvod v SSD. 2. del. Vmesnik
Posebna pozornost je bila namenjena pogonom SSD v izdaji SATA 3.1. Pojavil se je priključek Mini-SATA (mSATA), namenjen povezovanju pogonov SSD v prenosnih računalnikih. Za razliko od Slimline in uSATA je bil novi konektor videti kot PCIe Mini, čeprav ni bil električno združljiv s PCIe. Poleg novega konektorja se je SATA 3.1 ponašal z zmožnostjo postavljanja ukazov TRIM v čakalno vrsto z ukazi za branje in pisanje.

Ukaz TRIM obvesti SSD o podatkovnih blokih, ki ne prenašajo tovora. Pred SATA 3.1 je ta ukaz izpiral predpomnilnike in prekinil V/I operacije, čemur je sledil ukaz TRIM. Ta pristop je poslabšal zmogljivost diska med brisanjem.

Specifikacija SATA ni dohajala hitre rasti hitrosti dostopa za SSD diske, kar je leta 2013 privedlo do kompromisa, imenovanega SATA Express v standardu SATA 3.2. Namesto ponovne podvojitve pasovne širine SATA so razvijalci uporabili široko uporabljeno vodilo PCIe, katerega hitrost presega 6 Gb / s. Pogoni s podporo SATA Express so pridobili lastno obliko, imenovano M.2.

SAS

Uvod v SSD. 2. del. Vmesnik
Standard SCSI, ki "tekmuje" z ATA, prav tako ni miroval in le leto po pojavu Serial ATA, leta 2004, se je ponovno rodil v serijski vmesnik. Ime novega vmesnika je Serijski priključen SCSI (ŠAŠ).

Čeprav je SAS podedoval nabor ukazov SCSI, so bile spremembe pomembne:

  • serijski vmesnik;
  • 29-žilni kabel z napajalnikom;
  • povezava od točke do točke

Podedovana je bila tudi terminologija SCSI. Krmilnik se še vedno imenuje iniciator, povezane naprave pa cilj. Vse ciljne naprave in iniciator tvorijo domeno SAS. V SAS pasovna širina povezave ni odvisna od števila naprav v domeni, saj vsaka naprava uporablja svoj namenski kanal.

Največje število sočasno povezanih naprav v domeni SAS po specifikaciji presega 16 tisoč, namesto SCSI ID-ja pa se za naslavljanje uporablja identifikator Svetovno ime (WWN).

WWN je enolični identifikator, dolg 16 bajtov, podoben naslovu MAC za naprave SAS.

Uvod v SSD. 2. del. Vmesnik
Kljub podobnosti med priključkoma SAS in SATA ta standarda nista popolnoma združljiva. Pogon SATA pa je mogoče priključiti na priključek SAS, ne pa obratno. Združljivost med pogoni SATA in domeno SAS je zagotovljena s protokolom SATA Tunneling Protocol (STP).

Prva različica standarda SAS-1 ima pasovno širino 3 Gb / s, najsodobnejša SAS-4 pa je to številko izboljšala za 7-krat: 22,5 Gb / s.

PCIe

Uvod v SSD. 2. del. Vmesnik
Peripheral Component Interconnect Express (PCI Express, PCIe) je serijski vmesnik za prenos podatkov, ki se je pojavil leta 2002. Razvoj je začel Intel, nato pa je bil prenesen na posebno organizacijo - PCI Special Interest Group.

Serijski vmesnik PCIe ni bil izjema in je postal logično nadaljevanje vzporednega PCI, ki je namenjen povezovanju razširitvenih kartic.

PCI Express se bistveno razlikuje od SATA in SAS. Vmesnik PCIe ima spremenljivo število stez. Število vrstic je enako potencam dvojke in se giblje od 1 do 16.

Izraz "pas" v PCIe se ne nanaša na določen signalni pas, temveč na ločeno komunikacijsko povezavo s polnim dupleksom, ki je sestavljena iz naslednjih signalnih pasov:

  • prejeti+ in prejeti-;
  • prenos+ in prenos-;
  • štiri ozemljitvene žice.

Število pasov PCIe neposredno vpliva na največjo pasovno širino povezave. Trenutni standard PCI Express 4.0 omogoča doseganje 1.9 GB/s na eni liniji in 31.5 GB/s pri uporabi 16 linij.

Uvod v SSD. 2. del. Vmesnik
»Apetiti« pogonov SSD zelo hitro rastejo. Tako SATA kot SAS nista mogla povečati svoje pasovne širine, da bi sledila SSD diskom, kar je privedlo do uvedbe SSD diskov, povezanih s PCIe.

Čeprav so kartice PCIe Add-In privijačene, je PCIe mogoče zamenjati med delovanjem. Kratki zatiči PRSNT (angleško present - prisoten) poskrbijo, da je kartica v celoti nameščena v režo.

Pogone SSD, povezane prek PCIe, ureja poseben standard Specifikacija vmesnika gostiteljskega krmilnika trajnega pomnilnika in so utelešeni v različnih oblikah, vendar bomo o njih govorili v naslednjem delu.

Oddaljeni pogoni

Pri ustvarjanju velikih podatkovnih skladišč se je pojavila potreba po protokolih, ki omogočajo povezovanje pogonov, ki se nahajajo zunaj strežnika. Prva rešitev na tem področju je bila Internet SCSI (iSCSI), ki sta ga leta 1998 razvila IBM in Cisco.

Ideja za protokolom iSCSI je preprosta: ukazi SCSI so "zaviti" v pakete TCP/IP in poslani v omrežje. Kljub oddaljeni povezavi odjemalcem daje iluzijo, da je pogon povezan lokalno. Omrežje za shranjevanje (SAN), ki temelji na iSCSI, je mogoče zgraditi na obstoječi omrežni infrastrukturi. Uporaba iSCSI bistveno zmanjša stroške organizacije SAN.

iSCSI ima "premium" možnost - Protokol optičnega kanala (FCP). SAN, ki uporablja FCP, je zgrajen na namenskih optičnih komunikacijskih linijah. Ta pristop zahteva dodatno opremo za optično omrežje, vendar je stabilen in ima visoko prepustnost.

Obstaja veliko protokolov za pošiljanje ukazov SCSI prek računalniških omrežij. Vendar pa obstaja samo en standard, ki rešuje nasprotno težavo in omogoča pošiljanje paketov IP prek vodila SCSI - IP preko SCSI.

Večina protokolov SAN uporablja nabor ukazov SCSI za upravljanje pogonov, vendar obstajajo izjeme, kot je preprost ATA preko Etherneta (AOE). Protokol AoE pošilja ukaze ATA v paketih Ethernet, vendar so pogoni v sistemu prikazani kot SCSI.

S prihodom pogonov NVM Express protokola iSCSI in FCP ne izpolnjujeta več hitro naraščajočih zahtev SSD-jev. Pojavili sta se dve rešitvi:

  • odstranitev vodila PCI Express izven strežnika;
  • ustvarjanje protokola NVMe over Fabrics.

Odstranitev vodila PCIe ustvari zapleteno preklopno strojno opremo, vendar ne spremeni protokola.

Protokol NVMe over Fabrics je postal dobra alternativa iSCSI in FCP. NVMe-oF uporablja povezavo z optičnimi vlakni in nabor ukazov NVM Express.

DDR-T

Uvod v SSD. 2. del. Vmesnik
Standarda iSCSI in NVMe-oF rešujeta problem povezovanja oddaljenih diskov kot lokalnih, Intel pa je šel v drugo smer in lokalni disk čim bolj približal procesorju. Izbira je padla na reže DIMM, v katere je priključen RAM. Največja pasovna širina DDR4 je 25 GB/s, kar je veliko hitreje od vodila PCIe. Tako se je rodil Intel® Optane™ DC Persistent Memory SSD.

Protokol je bil izumljen za povezavo pogona z režami DIMM DDR-T, ki je fizično in električno združljiv z DDR4, vendar zahteva poseben krmilnik, ki vidi razliko med pomnilniško vrstico in pogonom. Hitrost dostopa do pogona je manjša kot do RAM-a, vendar večja kot do NVMe.

DDR-T je na voljo samo s procesorji generacije Intel® Cascade Lake ali novejšimi.

Zaključek

Skoraj vsi vmesniki so prehodili dolgo pot od serijskega do vzporednega prenosa podatkov. Hitrosti SSD-jev skokovito rastejo, še včeraj so bili SSD-ji zanimivost, danes pa NVMe ni več presenečenje.

V našem laboratoriju Selectel Lab pogone SSD in NVMe lahko preizkusite sami.

V anketi lahko sodelujejo samo registrirani uporabniki. Prijaviti se, prosim.

Bodo diski NVMe v bližnji prihodnosti nadomestili klasične SSD diske?

  • 55.5%Da100

  • 44.4%št.80

Glasovalo je 180 uporabnikov. 28 uporabnikov se je vzdržalo.

Vir: www.habr.com

Dodaj komentar