Uvod u SSD. Dio 2. Sučelje

Uvod u SSD. Dio 2. Sučelje

U prošlog dijela ciklusa „Uvod u SSD“ govorili smo o povijesti nastanka diskova. Drugi dio će govoriti o sučeljima za interakciju s uređajima za pohranu.

Komunikacija između procesora i perifernih uređaja odvija se prema unaprijed definiranim sporazumima, nazvanim sučeljima. Ovi sporazumi reguliraju fizičku i softversku razinu interakcije.

Sučelje je skup sredstava, metoda i pravila interakcije između elemenata sustava.

Fizička realizacija sučelja utječe na sljedeće parametre:

  • propusnost komunikacijskog kanala;
  • maksimalan broj istovremeno povezanih uređaja;
  • broj nastalih grešaka.

Diskovni interfejsi su izgrađeni na ulazno-izlaznim portovima, što je suprotno ulazu-izlazu preko memorije i ne zauzima prostor u adresnom prostoru procesora.

Paralelni i serijski portovi

Prema načinu razmjene podataka, ulazno-izlazni portovi dijele se u dvije vrste:

  • paralelni;
  • serijski.

Kao što i naziv sugerira, paralelni port šalje odjednom riječ stroja koja se sastoji od više bita. Paralelni port je najjednostavniji način razmjene podataka, jer ne zahtijeva složena rješenja u sklopu. U najjednostavnijem slučaju, svaki bit riječi stroja šalje se putem svoje signalne linije, a za povratne informacije koriste se dvije pomoćne signalne linije: Podaci su spremni i Podaci su primljeni.

Uvod u SSD. Dio 2. Sučelje
Paralelni portovi, na prvi pogled, savršeno se skaliraju: više signalnih linija – više bita se prenosi odjednom i, stoga, veća propusnost. Ipak, zbog povećanja broja signalnih linija između njih dolazi do interferencijskog interakcije, što dovodi do izobličenja prenesenih poruka.

Serijski portovi su suprotnost paralelnim. Slanje podataka odvija se po jednom bitu odjednom, što smanjuje ukupan broj signalnih linija, ali komplicira kontroler ulazno-izlaznog uređaja. Kontroler odašiljača prima riječ stroja odjednom i mora prenositi po jedan bit, dok kontroler prijemnika zauzvrat mora primati bitove i čuvati ih u istom redoslijedu.

Uvod u SSD. Dio 2. Sučelje
Mali broj signalnih linija omogućava nesmetano povećanje frekvencije prijenosa poruka.

SCSI

Uvod u SSD. Dio 2. Sučelje
Small Computer Systems Interface (SCSI) pojavio se daleke 1978. godine i izvorno je razvijen s ciljem povezivanja uređaja različitih profila u jedinstven sustav. Specifikacija SCSI-1 predviđala je povezivanje do 8 uređaja (zajedno s kontrolerom), kao što su:

  • skeneri;
  • trake (streameri);
  • opticki pogoni;
  • diskovni pogoni i drugi uređaji.

Izvorno je SCSI nosio naziv Shugart Associates System Interface (SASI), no standardizacijski odbor nije odobrio naziv po tvrtki, te je nakon dana brainstorming-a nastao naziv Small Computer Systems Interface (SCSI). "Otac" SCSI-a, Larry Boucher, podrazumijevao je da će skraćenica biti izgovarana kao "sexy", ali Dal Allan pročitao je "sсuzzy" ("skazi"). Kasnije se izgovor "skazi" čvrsto učvrstio za ovaj standard.

U terminologiji SCSI povezani uređaji dijele se u dva tipa:

  • inicijatori;
  • ciljani uređaji.

Inicijator šalje naredbu ciljanom uređaju, koji zatim šalje odgovor inicijatoru. Inicijatori i ciljani uređaji povezani su na zajedničkoj SCSI sabirnici, čija propusnost prema standardu SCSI-1 iznosi 5 MB/s.

Korištena topologija "zajednička sabirnica" nameće određena ograničenja:

  • na krajevima sabirnice potrebni su posebni uređaji — terminatori;
  • propusnost sabirnice dijeli se između svih uređaja;
  • maksimalan broj istovremeno povezanih uređaja je ograničen.

Uvod u SSD. Dio 2. Sučelje

Uređaji na sabirnici identificiraju se jedinstvenim brojem, koji se naziva SCSI Target ID. Svaki SCSI uređaj u sustavu predstavljen je najmanje jednim logičkim uređajem, čija se adresacija vrši prema jedinstvenom broju unutar fizičkog uređaja Logical Unit Number (LUN).

Uvod u SSD. Dio 2. Sučelje
Naredbe u SCSI šalju se u obliku blokova opisa naredbi (Command Descriptor Block, CDB), koji se sastoje od operativnog koda i parametara naredbe. U standardu je opisano više od 200 naredbi, podijeljenih u četiri kategorije:

  • Mandatory — moraju ih podržavati uređaji;
  • Optional — mogu biti implementirane;
  • Vendor-specific — koriste se od strane određenog proizvođača;
  • Obsolete — zastarjele naredbe.

Među mnogim naredbama, samo su tri od njih obavezne za uređaje:

  • TEST UNIT READY — provjera spremnosti uređaja;
  • REQUEST SENSE — traži kod greške prethodne komande;
  • UPIT — upit osnovnih karakteristika uređaja.

Nakon primanja i obrade komande, ciljni uređaj šalje inicijatoru status kod koji opisuje rezultate izvršenja.

Daljnje unapređenje SCSI (specifikacije SCSI-2 i Ultra SCSI) proširilo je listu korištenih komandi i povećalo broj povezivih uređaja na 16, dok se brzina razmjene podataka putem sabirnice povećala na 640 MB/s. Budući da je SCSI paralelni interfejs, povećanje frekvencije razmjene podataka je bilo povezano sa smanjenjem maksimalne dužine kabla i stvaralo je nelagodu u korišćenju.

Počevši od standarda Ultra-3 SCSI uvedena je podrška za „vruće povezivanje“ — povezivanje uređaja dok je napajanje uključeno.

Prvim poznatim SSD diskom s SCSI interfejsom smatra se M-Systems FFD-350, koji je izdat 1995. godine. Disk je imao visoku cenu i nije bio široko rasprostranjen.

Trenutno paralelni SCSI nije popularan interfejs za povezivanje diskova, ali set komandi se i dalje aktivno koristi u interfejsima USB i SAS.

ATA / PATA

Uvod u SSD. Dio 2. Sučelje
Interfejs ATA (Napredna tehnološka veza), takođe poznata kao PATA (Paralelni ATA) razvijen je od strane kompanije Western Digital 1986. godine. Tržišni naziv standarda IDE (eng. Integrated Drive Electronics — „elektronika integrisana u uređaj“) naglašava važno novinu: kontroler diska bio je ugrađen u uređaj, a ne na odvojenoj proširivoj ploči.

Rešenje da se kontroler postavi unutar uređaja rešilo je nekoliko problema odjednom. Prvo, smanjila se udaljenost od skladišta do kontrolera, što je pozitivno uticalo na performanse uređaja. Drugo, ugrađeni kontroler bio je „prilagođen“ samo za određenu vrstu diska i, prema tome, bio je jeftiniji.

Uvod u SSD. Dio 2. Sučelje
ATA, kao i SCSI, koristi paralelni način ulaza-izlaza, što se odražava na korišćenim kablovima. Za povezivanje diskova koristeći IDE interfejs neophodni su 40-žični kablovi, koji se takođe nazivaju trakama. U novijim specifikacijama koriste se 80-žični kablovi: više od polovine od njih su uzemljenja za smanjenje interferencije na visokom frekvencijama.

Na ATA kabelu se nalazi od dva do četiri konektora, od kojih se jedan priključuje na matičnu ploču, a ostali na uređaje. Kada su dva uređaja spojena jednim kablom, jedno od njih mora biti konfigurirano kao Master, a drugo kao Slave. Treći uređaj može biti spojen isključivo u režimu 'samo za čitanje'.

Uvod u SSD. Dio 2. Sučelje
Položaj jumper-a određuje ulogu određenog uređaja. Pojmovi Master i Slave u odnosu na uređaje nisu sasvim točni, jer su u odnosu na kontroler svi povezani uređaji – Slaves.

Posebno dostignuće u ATA-3 je uvođenje Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.). Pet kompanija (IBM, Seagate, Quantum, Conner i Western Digital) udružilo je snage i standardiziralo tehnologiju procene stanja uređaja.

Podrška za čvrste diskove uvedena je sa četvrtom verzijom standarda, objavljenom 1998. godine. Ova verzija standarda omogućava brzinu prenosa podataka do 33.3 MB/s.

Standard postavlja stroge zahteve za ATA kablove:

  • kabel mora biti ravan;
  • maksimalna dužina kabla je 18 inča (45.7 centimetara).

Kratak i širok kabel bio je neudoban i ometao hlađenje. Povećati frekvenciju prenosa sa svakom sledećom verzijom standarda postajalo je sve teže, a ATA-7 je radikalno rešio problem: paralelni interfejs je zamenjen serijskim. Nakon toga, ATA je dobio reč Paralel i postao poznat kao PATA, a sedma verzija standarda dobila je drugo ime — Serial ATA. Numeracija verzija SATA započela je od jedinice.

SATA

Uvod u SSD. Dio 2. Sučelje
Standard Serial ATA (SATA) predstavljen je 7. januara 2003. godine i rešavao je probleme svog prethodnika sledećim izmenama:

  • paralelni port zamenjen je serijskim;
  • širok 80-žični kabel zamenjen je 7-žičnim;
  • topologija 'zajednička sabirnica' zamenjena je povezivanjem 'tačka-tačka'.

Iako je standard SATA 1.0 (SATA/150, 150 MB/s) bio neznatno brži od ATA-6 (UltraDMA/130, 130 MB/s), prelazak na serijski način razmene podataka bio je 'priprema terena' za povećanje brzina.

Šesnaest signalnih linija za prijenos podataka u ATA zamijenjeno je s dvije uvojene parice: jedna za prijenos, druga za prijem. SATA konektori su dizajnirani za veću otpornost na višestruko ponovno povezivanje, a SATA 1.0 specifikacija omogućila je "vruće povezivanje" (Hot Plug).

Neki pinovi na diskovima su kraći od drugih. To je učinjeno radi podrške "vrućoj izmjeni" (Hot Swap). Tijekom zamjene uređaj "gubi" i "pronalazi" linije u unaprijed definiranim redoslijedom.

Nešto više od godine kasnije, u travnju 2004., objavljena je druga verzija SATA specifikacije. Osim povećanja brzine do 3 Gb/s, u SATA 2.0 uvedena je tehnologija Native Command Queuing (NCQ). Uređaji koji podržavaju NCQ sposobni su samostalno organizirati redoslijed izvršenja zaprimljenih komandi radi postizanja maksimalne učinkovitosti.

Uvod u SSD. Dio 2. Sučelje
U sljedeće tri godine, SATA radna grupa radila je na poboljšanju postojeće specifikacije, a u verziji 2.6 pojavili su se kompaktni konektori Slimline i micro SATA (uSATA). Ovi konektori su smanjena verzija originalnog SATA konektora i dizajnirani su za optičke pogone i male diskove u prijenosnicima.

Iako je propusnost druge generacije SATA bila dovoljna za tvrde diskove, čvrsti diskovi zahtijevali su više. U svibnju 2009. objavljena je treća verzija SATA specifikacije s povećanom propusnošću do 6 Gb/s.

Uvod u SSD. Dio 2. Sučelje
Posebna pažnja čvrstim diskovima posvećena je u reviziji SATA 3.1. Pojavio se konektor Mini-SATA (mSATA) namijenjen za povezivanje čvrstih diskova u prijenosnicima. Za razliku od Slimline i uSATA, novi konektor bio je sličan PCIe Mini, iako nije bio električki kompatibilan s PCIe. Osim novog konektora, SATA 3.1 mogao se pohvaliti mogućnošću redoslijednog stavljanja TRIM komandi uz komande čitanja i pisanja.

TRIM komanda obavještava čvrsti disk o blokovima podataka koji nemaju korisnu vrijednost. Prije SATA 3.1, izvršavanje ove komande dovodilo je do resetiranja predmemorija i obustave ulazno-izlaznih operacija uz naknadno izvršavanje TRIM komande. Ovakav pristup pogoršavao je performanse diska tijekom operacija brisanja.

SATA specifikacija nije mogla pratiti nagli rast brzine pristupa čvrstim diskovima, što je dovelo do pojave kompromisa poznatog kao SATA Express u standardu SATA 3.2 2013. godine. Umjesto da ponovno udvostruče propusnost SATA, developeri su iskoristili široko rasprostranjenu PCIe sabirnicu, čija brzina prelazi 6 Gbit/s. Diskovi koji podržavaju SATA Express dobili su vlastiti oblik pod nazivom M.2.

SAS

Uvod u SSD. Dio 2. Sučelje
Konkurentski standard SCSI nije mirovao i samo godinu dana nakon pojave Serial ATA, 2004. godine, preobražen je u serijski sučelje. Ime novom sučelju je Serial Attached SCSI (SAS).

Iako je SAS naslijedio SCSI skup naredbi, promjene su bile značajne:

  • serijsko sučelje;
  • 29-žičasti kabel s napajanjem;
  • povezivanje „točka-točka”

Terminologija SCSI također je naslijeđena. Kontroler se i dalje naziva inicijatorom, a povezani uređaji ciljnim. Svi ciljni uređaji i inicijator tvore SAS domenu. U SAS-u propusnost veze ne ovisi o broju uređaja u domeni, budući da svaki uređaj koristi svoj dodijeljeni kanal.

Maksimalni broj istovremeno povezanih uređaja u SAS domeni prema specifikaciji premašuje 16 tisuća, a umjesto SCSI ID-a za adresiranje koristi se identifikator World-Wide Name (WWN).

WWN je jedinstveni identifikator duljine 16 bajtova, sličan MAC adresi za SAS uređaje.

Uvod u SSD. Dio 2. Sučelje
Iako su konektori SAS i SATA slični, ti standardi nisu potpuno kompatibilni. Međutim, SATA disk može biti povezan u SAS konektor, ali ne obrnuto. Kompatibilnost između SATA diskova i SAS domene osigurava se putem protokola SATA Tunneling Protocol (STP).

Prva verzija standarda SAS-1 imala je propusnost od 3 Gbit/s, a najnovija, SAS-4, poboljšala je ovaj pokazatelj sedam puta: 22,5 Gbit/s.

PCIe

Uvod u SSD. Dio 2. Sučelje
Peripheral Component Interconnect Express (PCI Express, PCIe) — serijski sučelje za prijenos podataka, koje je nastalo 2002. godine. Razvoj je započeo Intel, a kasnije je prebačen posebnoj organizaciji — PCI Special Interest Group.

Serijsko sučelje PCIe nije bilo iznimka i postalo je logički nastavak paralelnog PCI-a, koji je namijenjen za povezivanje proširenja.

PCI Express značajno se razlikuje od SATA i SAS. PCIe sučelje ima promjenjiv broj linija. Broj linija predstavlja potencije broja dva i varira od 1 do 16.

Termin "linija" u PCIe označava ne konkretne signalne linije, nego zaseban punodupleksni komunikacijski kanal, koji se sastoji od sljedećih signalnih linija:

  • prijem+ i prijem-;
  • prijenos+ i prijenos-;
  • četiri žice uzemljenja.

Broj PCIe linija izravno utječe na maksimalnu propusnost veze. Moderni standard PCI Express 4.0 omogućuje postizanje 1.9 GB/s po jednoj liniji i 31.5 GB/s kada se koristi 16 linija.

Uvod u SSD. Dio 2. Sučelje
"Apetiti" čvrstih diskova rastu vrlo brzo. I SATA i SAS ne stignu povećati svoju propusnost kako bi "uhvatili korak" sa SSD-ima, što je dovelo do pojave SSD diskova s povezivanjem preko PCIe.

Iako se PCIe Add-In kartice pričvršćuju vijkom, PCIe podržava "vruću zamjenu". Kratki pinovi PRSNT omogućuju osiguranje da je kartica potpuno umetnuta u utor.

Čvrsti diskovi povezani putem PCIe regulirani su zasebnim standardom Specifikacija sučelja za kontroler nevolatilne memorije i dolaze u raznim oblikovnim faktorima, ali o njima ćemo govoriti u sljedećem dijelu.

Daljinski diskovi

S razvojem velikih skladišta podataka pojavila se potreba za protokolima koji omogućuju povezivanje diskova smještenih izvan poslužitelja. Prvo rješenje u ovom području bio je Internet SCSI (iSCSI), razvijen od strane IBM-a i Ciscova 1998. godine.

Ideja iSCSI protokola je jednostavna: SCSI komande "umotavaju" se u TCP/IP pakete i šalju preko mreže. Unatoč daljinskoj povezanosti, korisnicima se stvara iluzija da je disk povezan lokalno. Mreža za pohranu podataka (Storage Area Network, SAN) temeljenih na iSCSI može se izgraditi na postojećoj mrežnoj infrastrukturi. Korištenje iSCSI znatno smanjuje troškove organizacije SAN-a.

iSCSI ima "premium" varijantu — Fibre Channel Protocol (FCP). SAN koji koristi FCP gradi se na namjenskim optičkim komunikacijskim linijama. Ovaj pristup zahtijeva dodatnu optičku mrežnu opremu, ali se odlikuje stabilnošću i visokom propusnošću.

Postoji mnogo protokola za slanje SCSI naredbi preko računalnih mreža. Ipak, postoji samo jedan standard koji rješava suprotan problem i omogućava slanje IP paketa putem SCSI sabirnice — IP-over-SCSI.

Većina protokola za organizaciju SAN koristi SCSI naredbe za upravljanje pohranjivanjem, ali postoje i iznimke, poput jednostavnog ATA over Ethernet (AoE). AoE protokol šalje ATA naredbe unutar Ethernet paketa, ali se u sustavu pohrana prikazuje kao SCSI.

S pojavom uređaja NVM Express, iSCSI i FCP protokoli više nisu zadovoljili rastuće zahtjeve čvrstih diskova. Pojavila su se dva rješenja:

  • izdvajanje PCI Express sabirnice izvan servera;
  • izrada NVMe over Fabrics protokola.

Izdvajanje PCIe sabirnice dolazi s potrebom za stvaranjem složene sklopovske opreme, ali ne uvodi promjene u protokol.

Protokol NVMe over Fabrics postao je dobra alternativa iSCSI i FCP. U NVMe-oF koriste se optičke komunikacijske linije i NVM Express skup naredbi.

DDR-T

Uvod u SSD. Dio 2. Sučelje
Standardi iSCSI i NVMe-oF rješavaju problem povezivanja udaljenih diskova kao lokalnih, dok je Intel odabrao drugi put i maksimalno približio lokalni disk procesoru. Odabir je pao na DIMM utore, u koje se povezuje RAM. Maksimalna propusnost DDR4 kanala iznosi 25 GB/s, što značajno premašuje brzinu PCIe sabirnice. Tako je nastala Intel® Optane™ DC Persistent Memory čvrsta memorija.

Za povezivanje diska u DIMM utore izumljen je protokol DDR-T, fizički i električni kompatibilan s DDR4, ali zahtijeva poseban kontroler koji vidi razliku između memorijskog modula i diska. Brzina pristupa disku manja je od brzine pristupa RAM-u, ali veća od brzine NVMe.

DDR-T protokol dostupan je samo s Intel® procesorima 2. generacije Cascade Lake ili novijim.

Zaključak

Gotovo svi sučelja prošla su dug put razvoja od serijskog do paralelnog prijenosa podataka. Brzine čvrstih diskova brzo rastu, jučer su čvrsti diskovi bili rijetkost, a danas NVMe više ne iznenađuje.

U našem laboratoriju Selectel Lab možete sami testirati SSD i NVMe diskove.

Samo registrirani korisnici mogu sudjelovati u anketi. Prijavite se, molimo.

Hoće li NVMe diskovi zamijeniti klasične SSD-ove u bliskoj budućnosti?

  • 55.5%Da100

  • 44.4%Ne80

Glasalo je 180 korisnika. Suzdržalo se 28 korisnika.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster