Uvod u SSD. Dio 2. Interfejs

Uvod u SSD. Dio 2. Interfejs

В zadnji dio ciklus "Uvod u SSD" govorili smo o istoriji pojave diskova. Drugi dio će govoriti o interfejsima za interakciju sa drajvovima.

Komunikacija između procesora i perifernih uređaja odvija se prema unaprijed definiranim konvencijama koje se nazivaju interfejsi. Ovi ugovori regulišu fizički i softverski nivo interakcije.

Interfejs - skup sredstava, metoda i pravila interakcije između elemenata sistema.

Fizička implementacija interfejsa utiče na sledeće parametre:

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

Interfejsi diska su izgrađeni I/O portovi, što je suprotno od memorijskog I/O i ne zauzima prostor u adresnom prostoru procesora.

Paralelni i serijski portovi

Prema načinu razmjene podataka, I/O portovi se dijele na dvije vrste:

  • paralelno;
  • dosljedan.

Kao što naziv implicira, paralelni port šalje strojnu riječ po jednu, koja se sastoji od nekoliko bitova. Paralelni port je najlakši način za razmjenu podataka, jer ne zahtijeva složena rješenja kola. U najjednostavnijem slučaju, svaki bit strojne riječi šalje se na vlastitu signalnu liniju, a dvije servisne signalne linije se koriste za povratnu informaciju: Podaci spremni и Podaci prihvaćeni.

Uvod u SSD. Dio 2. Interfejs
Paralelni portovi, na prvi pogled, dobro skaliraju: više signalnih linija - više bitova se prenosi u isto vrijeme i, prema tome, veća propusnost. Međutim, zbog povećanja broja signalnih linija dolazi do interferencije između njih, što dovodi do izobličenja poslanih poruka.

Serijski portovi su suprotni od paralelnih. Podaci se šalju jedan po bit, što smanjuje ukupan broj signalnih linija, ali komplikuje I/O kontroler. Kontrolor odašiljača prima strojnu riječ odjednom i mora prenositi jedan bit po jedan, a kontroler prijemnika zauzvrat mora primiti bitove i pohraniti ih u istom redoslijedu.

Uvod u SSD. Dio 2. Interfejs
Mali broj signalnih linija omogućava vam da povećate frekvenciju prijenosa poruka bez smetnji.

SCSI

Uvod u SSD. Dio 2. Interfejs
Interfejs malih kompjuterskih sistema (SCSI) pojavio se davne 1978. godine i prvobitno je dizajniran da kombinuje uređaje različitih profila u jedan sistem. SCSI-1 specifikacija je omogućila povezivanje do 8 uređaja (zajedno sa kontrolerom), kao što su:

  • skeneri;
  • Pogoni trake (strimeri);
  • optički pogoni;
  • disk jedinice i drugi uređaji.

SCSI se prvobitno zvao Shugart Associates System Interface (SASI), ali odbor za standarde nije odobrio naziv po kompaniji, a nakon dana razmišljanja, rođen je naziv Small Computer Systems Interface (SCSI). Otac SCSI, Larry Boucher, namjeravao je da se akronim izgovara "seksi", ali Dal Allan čitaj "ssuzzy" ("reci"). Nakon toga, izgovor "reci" je čvrsto ukorijenjen u ovom standardu.

U SCSI terminologiji, povezani uređaji se dijele na dvije vrste:

  • inicijatori;
  • ciljne uređaje.

Inicijator šalje naredbu ciljnom uređaju, koji zatim šalje odgovor inicijatoru. Inicijatori i ciljevi su povezani na zajedničku SCSI magistralu, koja ima propusni opseg od 1 MB/s u SCSI-5 standardu.

Topologija "zajedničke magistrale" koja se koristi nameće niz ograničenja:

  • na krajevima sabirnice potrebni su posebni uređaji - terminatori;
  • propusni opseg magistrale se dijeli između svih uređaja;
  • Maksimalan broj istovremeno povezanih uređaja je ograničen.

Uvod u SSD. Dio 2. Interfejs

Uređaji na sabirnici se identificiraju jedinstvenim brojem tzv SCSI ciljni ID. Svaka SCSI jedinica u sistemu je predstavljena najmanje jednim logičkim uređajem, koji je adresiran jedinstvenim brojem unutar fizičkog uređaja. Logički broj jedinice (LUN).

Uvod u SSD. Dio 2. Interfejs
Naredbe u SCSI se šalju u obrascu blokovi opisa naredbi (Blok deskriptora komande, CDB), koji se sastoji od koda operacije i parametara komande. Standard opisuje više od 200 naredbi, podijeljenih u četiri kategorije:

  • obavezan — uređaj mora podržavati;
  • Opcionalno - može se implementirati;
  • Specifičan dobavljač - koristi određeni proizvođač;
  • Zastareo - zastarjele komande.

Među brojnim komandama, samo tri su obavezne za uređaje:

  • TEST JEDINICA SPREMNA — provjera spremnosti uređaja;
  • REQUEST SENSE — traži šifru greške prethodne komande;
  • UPIT — zatražite glavne karakteristike uređaja.

Nakon prijema i obrade naredbe, ciljni uređaj šalje inicijatoru statusni kod koji opisuje rezultat izvršenja.

Daljnjim unapređenjem SCSI (SCSI-2 i Ultra SCSI specifikacije) proširena je lista korišćenih komandi i povećan broj povezanih uređaja do 16, a brzina razmene podataka na magistrali do 640 MB/s. Budući da je SCSI paralelno sučelje, povećanje frekvencije razmjene podataka bilo je povezano sa smanjenjem maksimalne dužine kabla i dovelo do neugodnosti u korištenju.

Počevši od Ultra-3 SCSI standarda, pojavila se podrška za "hot plugging" - povezivanje uređaja kada je napajanje uključeno.

Prvi poznati SCSI SSD bio je M-Systems FFD-350, objavljen 1995. godine. Disk je imao visoku cijenu i nije bio široko korišten.

Trenutno, paralelni SCSI nije popularan disk interfejs, ali skup komandi se i dalje aktivno koristi u USB i SAS interfejsima.

ATA/PATA

Uvod u SSD. Dio 2. Interfejs
sučelje ATA (Advanced Technology Attachment), također poznat kao PAW (Parallelni ATA) razvio je Western Digital 1986. godine. Marketinški naziv za IDE standard (eng. Integrated Drive Electronics - „elektronika ugrađena u drajv“) naglašava važnu inovaciju: kontroler pogona je integrisan u drajv, a ne na zasebnoj ploči za proširenje.

Odluka da se kontroler smjesti u pogon riješila je nekoliko problema odjednom. Prvo, smanjena je udaljenost od pogona do kontrolera, što je pozitivno uticalo na performanse pogona. Drugo, ugrađeni kontroler je "naoštren" samo za određenu vrstu pogona i, shodno tome, bio je jeftiniji.

Uvod u SSD. Dio 2. Interfejs
ATA, kao i SCSI, koristi paralelni I/O metod, što se odražava u korištenim kablovima. Za povezivanje pogona pomoću IDE interfejsa potrebni su 40-žilni kablovi, koji se takođe nazivaju ravnim kablovima. Novije specifikacije koriste utičnice od 80 žica, od kojih su više od polovine uzemljene petlje za smanjenje smetnji na visokim frekvencijama.

Na ATA kablu se nalaze dva do četiri konektora, od kojih je jedan spojen na matičnu ploču, a ostali na drajvove. Prilikom povezivanja dva uređaja u jednu petlju, jedan od njih mora biti konfiguriran kao Majstor, a drugi kao rob. Treći uređaj se može povezati samo u načinu rada samo za čitanje.

Uvod u SSD. Dio 2. Interfejs
Položaj skakača određuje ulogu određenog uređaja. Izrazi Master i Slave u odnosu na uređaje nisu sasvim tačni, jer su u odnosu na kontroler svi povezani uređaji Slave.

Posebna inovacija u ATA-3 je izgled Self Monitoring, Tehnologija analize i izvještavanja (SMART). Pet kompanija (IBM, Seagate, Quantum, Conner i Western Digital) udružile su snage i standardizirale tehnologiju procjene zdravlja pogona.

Podrška za SSD uređaje postoji od verzije 1998 standarda, objavljene 33.3. godine. Ova verzija standarda je pružala brzine prijenosa podataka do XNUMX MB/s.

Standard postavlja stroge zahtjeve za ATA kablove:

  • perjanica mora biti ravna;
  • maksimalna dužina vlaka 18 inča (45.7 centimetara).

Kratak i širok voz bio je nezgodan i ometao je hlađenje. Postajalo je sve teže povećavati frekvenciju prijenosa sa svakom sljedećom verzijom standarda, a ATA-7 je radikalno riješio problem: paralelno sučelje zamijenjeno je serijskim. Nakon toga, ATA je dobio riječ Parallel i postao poznat kao PATA, a sedma verzija standarda je dobila drugačiji naziv - Serial ATA. Numeracija SATA verzija je počela od jedan.

SATA

Uvod u SSD. Dio 2. Interfejs
Standard Serial ATA (SATA) uveden je 7. januara 2003. godine i riješio je probleme svog prethodnika sljedećim promjenama:

  • paralelni port zamijenjen serijskim;
  • široki 80-žični kabel zamijenjen 7-žičnim;
  • topologija "zajednička magistrala" zamijenjena je vezom "od tačke do tačke".

Iako je SATA 1.0 (SATA/150, 150 MB/s) bio neznatno brži od ATA-6 (UltraDMA/130, 130 MB/s), prelazak na serijsku komunikaciju bio je "postavljanje temelja" za brzine.

Šesnaest signalnih linija za prenos podataka u ATA zamenjeno je sa dva upredena para: jedan za prenos, drugi za prijem. SATA konektori su dizajnirani da budu otporniji na višestruka ponovnog povezivanja, a SATA 1.0 specifikacija je omogućila hot plugging.

Neki pinovi na drajvovima su kraći od svih ostalih. Ovo je urađeno kako bi se podržala "vruća zamjena" (Hot Swap). Tokom procesa zamjene, uređaj "gubi" i "pronalazi" linije po unaprijed određenom redoslijedu.

Nešto više od godinu dana kasnije, u aprilu 2004. godine, objavljena je druga verzija SATA specifikacije. Pored ubrzanja do 3 Gb/s, SATA 2.0 je uveo tehnologiju Native Command Red (NCQ). Uređaji sa NCQ podrškom mogu samostalno organizirati redoslijed izvršavanja dolaznih naredbi kako bi postigli maksimalne performanse.

Uvod u SSD. Dio 2. Interfejs
Sljedeće tri godine, SATA radna grupa je radila na poboljšanju postojeće specifikacije, a verzija 2.6 uvela je kompaktne Slimline i mikro SATA (uSATA) konektore. Ovi konektori su manja verzija originalnog SATA konektora i dizajnirani su za optičke drajvove i male drajvove u laptop računarima.

Dok je druga generacija SATA imala dovoljno propusnog opsega za HDD, SSD-ovi su zahtijevali više. U maju 2009. objavljena je treća verzija SATA specifikacije sa povećanom propusnošću na 6 Gb/s.

Uvod u SSD. Dio 2. Interfejs
Posebna pažnja je posvećena SATA drajvovima u SATA 3.1 izdanju. Pojavio se Mini-SATA (mSATA) konektor, dizajniran za povezivanje SSD uređaja u laptopima. Za razliku od Slimline i uSATA, novi konektor je izgledao kao PCIe Mini, iako nije bio električni kompatibilan sa PCIe. Pored novog konektora, SATA 3.1 se pohvalio mogućnošću postavljanja TRIM komandi u red sa komandama za čitanje i pisanje.

Komanda TRIM obavještava SSD o blokovima podataka koji ne nose teret. Prije SATA 3.1, ova komanda bi ispirala keš memorije i suspendovala I/O operacije, nakon čega bi slijedila TRIM komanda. Ovaj pristup je smanjio performanse diska tokom operacija brisanja.

SATA specifikacija nije pratila brzi rast pristupnih brzina za SSD diskove, što je dovelo do kompromisa u 2013. pod nazivom SATA Express u SATA 3.2 standardu. Umjesto da ponovo udvostruče propusni opseg SATA, programeri su koristili široko korištenu PCIe magistralu, čija brzina prelazi 6 Gb/s. Diskovi sa SATA Express podrškom su dobili svoj vlastiti faktor oblika pod nazivom M.2.

SAS

Uvod u SSD. Dio 2. Interfejs
SCSI standard, koji se „takmiči“ sa ATA, takođe nije stajao mirno i samo godinu dana nakon pojave Serial ATA, 2004. godine, ponovo je rođen u serijski interfejs. Naziv novog interfejsa je Serial Attached SCSI (SEDGE).

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

  • serijski interfejs;
  • 29-žični kabel sa napajanjem;
  • tačka-tačka veza

SCSI terminologija je također naslijeđena. Kontroler se i dalje zove inicijator, a povezani uređaji se nazivaju cilj. Svi ciljni uređaji i inicijator čine SAS domen. U SAS-u, propusni opseg veze ne zavisi od broja uređaja u domeni, budući da svaki uređaj koristi svoj namenski kanal.

Maksimalan broj istovremeno povezanih uređaja u SAS domenu, prema specifikaciji, premašuje 16 hiljada, a umjesto SCSI ID-a koristi se identifikator za adresiranje Svjetsko ime (WWN).

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

Uvod u SSD. Dio 2. Interfejs
Uprkos sličnostima između SAS i SATA konektora, ovi standardi nisu u potpunosti kompatibilni. Međutim, SATA disk se može povezati na SAS konektor, ali ne i obrnuto. Kompatibilnost između SATA disk jedinica i SAS domena je osigurana korištenjem SATA tunelskog protokola (STP).

Prva verzija standarda SAS-1 ima propusni opseg od 3 Gb / s, a najmodernija, SAS-4, poboljšala je ovu brojku za 7 puta: 22,5 Gb / s.

PCIe

Uvod u SSD. Dio 2. Interfejs
Peripheral Component Interconnect Express (PCI Express, PCIe) je serijski interfejs za prenos podataka, koji se pojavio 2002. godine. Razvoj je započeo Intel, a potom je prebačen na posebnu organizaciju - PCI Special Interest Group.

Serijski PCIe interfejs nije bio izuzetak i postao je logičan nastavak paralelnog PCI, koji je dizajniran za povezivanje kartica za proširenje.

PCI Express se značajno razlikuje od SATA i SAS. PCIe sučelje ima promjenjiv broj traka. Broj linija je jednak stepenu dvojke i kreće se od 1 do 16.

Termin "traka" u PCIe ne odnosi se na određenu signalnu traku, već na zasebnu full-duplex komunikacionu vezu koja se sastoji od sljedećih signalnih traka:

  • primati+ i primati-;
  • prijenos+ i prijenos-;
  • četiri žice za uzemljenje.

Broj PCIe traka direktno utiče na maksimalnu propusnost veze. Trenutni PCI Express 4.0 standard vam omogućava da postignete 1.9 GB/s na jednoj liniji i 31.5 GB/s kada koristite 16 linija.

Uvod u SSD. Dio 2. Interfejs
"Apetiti" SSD uređaja rastu veoma brzo. I SATA i SAS nisu bili u mogućnosti da povećaju svoju propusnost kako bi održali korak sa SSD-ovima, što je dovelo do uvođenja SSD-ova povezanih s PCIe.

Iako su PCIe Add-In kartice zašrafljene, PCIe se može zamijeniti na vrući način. Kratki pinovi PRSNT (engleski prisutan - prisutan) uverite se da je kartica potpuno instalirana u slot.

SSD uređaji povezani preko PCIe regulirani su posebnim standardom Specifikacija interfejsa kontrolera hosta za nepromenljivu memoriju i oličeni su u raznim faktorima forme, ali o njima ćemo govoriti u narednom dijelu.

Remote Drives

Prilikom kreiranja velikih skladišta podataka, postojala je potreba za protokolima koji vam omogućavaju povezivanje diskova koji se nalaze izvan servera. Prvo rješenje u ovoj oblasti bilo je Internet SCSI (iSCSI), koji su razvili IBM i Cisco 1998. godine.

Ideja iza iSCSI protokola je jednostavna: SCSI komande se "umotaju" u TCP/IP pakete i šalju na mrežu. Uprkos udaljenoj vezi, klijentima daje iluziju da je disk povezan lokalno. Mreža za skladištenje podataka (SAN) zasnovana na iSCSI može se izgraditi na postojećoj mrežnoj infrastrukturi. Upotreba iSCSI značajno smanjuje troškove organizacije SAN-a.

iSCSI ima "premium" opciju - Fibre Channel Protocol (FCP). SAN koji koristi FCP je izgrađen na namjenskim optičkim komunikacijskim linijama. Ovaj pristup zahtijeva dodatnu optičku mrežnu opremu, ali je stabilan i visoke propusnosti.

Postoji mnogo protokola za slanje SCSI komandi preko računarskih mreža. Međutim, postoji samo jedan standard koji rješava suprotan problem i omogućava vam slanje IP paketa preko SCSI magistrale - IP preko SCSI.

Većina SAN protokola koristi SCSI skup naredbi za upravljanje pogonima, ali postoje izuzeci, kao što je jednostavan ATA preko Etherneta (AOE). AoE protokol šalje ATA komande u Ethernet paketima, ali se diskovi u sistemu pojavljuju kao SCSI.

Sa pojavom NVM Express diskova, iSCSI i FCP protokoli više ne zadovoljavaju brzo rastuće zahtjeve SSD-ova. Pojavila su se dva rješenja:

  • uklanjanje PCI Express magistrale izvan servera;
  • kreiranje NVMe over Fabrics protokola.

Uklanjanje PCIe magistrale stvara složen hardver za prebacivanje, ali ne mijenja protokol.

NVMe over Fabrics protokol je postao dobra alternativa iSCSI i FCP. NVMe-oF koristi optičku vezu i NVM Express skup komandi.

DDR-T

Uvod u SSD. Dio 2. Interfejs
Standardi iSCSI i NVMe-oF rješavaju problem povezivanja udaljenih diskova kao lokalnih, dok je Intel otišao drugim putem i približio lokalni disk što je više moguće procesoru. Izbor je pao na DIMM slotove u koje je spojen RAM. Maksimalni DDR4 propusni opseg je 25 GB/s, što je mnogo brže od PCIe magistrale. Ovako je rođen Intel® Optane™ DC Persistent Memory SSD.

Izumljen je protokol za povezivanje disk jedinice sa DIMM slotovima DDR-T, fizički i električni kompatibilan s DDR4, ali zahtijeva poseban kontroler koji vidi razliku između memorijske trake i drajva. Brzina pristupa drajvu je manja od RAM-a, ali veća od NVMe.

DDR-T je dostupan samo sa procesorima Intel® Cascade Lake generacije ili novijim.

zaključak

Skoro svi interfejsi su prošli dug put od serijskog do paralelnog prenosa podataka. Brzine SSD-a vrtoglavo rastu, jučer su SSD-ovi bili kuriozitet, a danas NVMe više nije iznenađenje.

U našoj laboratoriji Selectel Lab možete sami testirati SSD i NVMe diskove.

Samo registrovani korisnici mogu učestvovati u anketi. Prijavite semolim.

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

  • 55.5%Da100

  • 44.4%No80

Glasalo je 180 korisnika. Uzdržano je bilo 28 korisnika.

izvor: www.habr.com

Dodajte komentar