Introducere în SSD. Partea 2. Interfața

Introducere în SSD. Partea 2. Interfața

În partea anterioară În cadrul ciclului „Introducere în SSD”, am vorbit despre istoria apariției discurilor. A doua parte va discuta despre interfețele de interacțiune cu stocatoarele.

Comunicația între procesor și dispozitivele periferice se desfășoară conform unor convenții predefinite, denumite interfețe. Aceste convenții reglementează nivelul fizic și programatic al interacțiunii.

Interfața reprezintă un ansamblu de mijloace, metode și reguli de interacțiune între elementele sistemului.

Realizarea fizică a interfeței afectează următoarele parametrii:

  • capacitatea de bandă a canalului de comunicare;
  • numărul maxim de dispozitive conectate simultan;
  • numărul de erori apărute.

Interfețele discurilor sunt construite pe mufele de intrare-ieșire, ceea ce este opus intrării-ieșirii prin memorie și nu ocupă loc în spațiul de adresare al procesorului.

Mufele paralele și seriale

După metoda de schimb de date, mufele de intrare-ieșire se împart în două tipuri:

  • paralele;
  • seriale.

După cum sugerează numele, mufele paralele trimit un cuvânt mașinal compus din mai mulți biți deodată. Mufa paralelă este cea mai simplă metodă de schimb de date, deoarece nu necesită soluții tehnice complicate. În cel mai simplu caz, fiecare bit al cuvântului mașinal este trimis pe linia sa semnal, iar pentru feedback se folosesc două linii semnal de control: Datele sunt pregătite și Datele au fost primite.

Introducere în SSD. Partea 2. Interfața
Din prima impresie, mufele paralele se scalează excelent: mai multe linii semnal — mai mulți biți transmişi deodată și, prin urmare, o capacitate de bandă mai mare. Cu toate acestea, datorită creșterii numărului de linii semnal, între ele apare o interacțiune de interferență, ducând la distorsiuni ale mesajelor transmise.

Mufele seriale reprezintă opusul mufelor paralele. Trimiterea datelor se face câte un bit deodată, ceea ce reduce numărul total de linii semnal, dar complică controlerul de intrare-ieșire. Controlerul emițătorului primește un cuvânt mașinal deodată și trebuie să transmită câte un bit, iar controlerul receptorului, la rândul său, trebuie să primească biți și să-i stocheze în aceeași ordine.

Introducere în SSD. Partea 2. Interfața
Numărul mic de linii semnal permite creșterea fără interferențe a frecvenței de transmitere a mesajului.

SCSI

Introducere în SSD. Partea 2. Interfața
Interface-ul Microrcomputer al Sistemelor (SCSI) a apărut în 1978 și a fost conceput inițial pentru a conecta dispozitive de diferite tipuri într-un singur sistem. Specificația SCSI-1 prevedea conectarea a până la 8 dispozitive (împreună cu controlerul), cum ar fi:

  • scanere;
  • unități de bandă (streamere);
  • unități optice;
  • unități de disc și alte dispozitive.

Inițial, SCSI se numea Shugart Associates System Interface (SASI), dar comitetul de standardizare nu ar fi aprobat denumirea în onoarea companiei, iar după o sesiune de brainstorming a fost ales numele Small Computer Systems Interface (SCSI). «Tatăl» SCSI, Larry Boucher, a intenționat ca acronimul să fie pronunțat ca «sexy», dar Dal Allan a citit «sсuzzy» («săzi»). Ulterior, pronunțarea «săzi» s-a consacrat pentru acest standard.

În terminologia SCSI, dispozitivele conectate sunt împărțite în două tipuri:

  • inițiatori;
  • dispozitive țintă.

Inițiatorul trimite un comandă dispozitivului țintă, care apoi trimite un răspuns inițiatorului. Inițiatorii și dispozitivele țintă sunt conectate la un autobuz SCSI comun, lățimea de bandă a căruia în standardul SCSI-1 este de 5 MB/s.

Topologia utilizată «autobuz comun» impune o serie de constrângeri:

  • la capetele autobuzului sunt necesare dispozitive speciale – terminatoare;
  • lățimea de bandă a autobuzului este împărțită între toate dispozitivele;
  • numărul maxim de dispozitive conectate simultan este limitat.

Introducere în SSD. Partea 2. Interfața

Dispozitivele de pe autobuz sunt identificate printr-un număr unic, numit SCSI Target ID. Fiecare unitate SCSI din sistem este reprezentată de minimum un dispozitiv logic, a cărui adresare are loc printr-un număr unic în cadrul dispozitivului fizic Logical Unit Number (LUN).

Introducere în SSD. Partea 2. Interfața
Comenzile în SCSI sunt trimise sub formă de blocuri de descriere a comenzii (Command Descriptor Block, CDB), constând dintr-un cod de operație și parametrii comenzii. Standardul descrie peste 200 de comenzi, împărțite în patru categorii:

  • Mandatory – trebuie să fie suportate de dispozitiv;
  • Optional – pot fi implementate;
  • Vendor-specific – utilizate de un anumit producător;
  • Obsolete – comenzi învechite.

Printre numeroasele comenzi, doar trei dintre ele sunt obligatorii pentru dispozitive:

  • TEST UNIT READY – verificarea stării dispozitivului;
  • REQUEST SENSE – solicită codul de eroare al comenzii anterioare;
  • INQUIRY – solicită caracteristicile esențiale ale dispozitivului.

După primirea și procesarea comenzii, dispozitivul țintă trimite inițiatorului un cod de stare care descrie rezultatul execuției.

Îmbunătățirea ulterioară a specificației SCSI (SCSI-2 și Ultra SCSI) a extins lista comenzilor utilizate și a crescut numărul de dispozitive conectate la 16, iar viteza de transfer de date prin magistrala SCSI la 640 MB/s. Deoarece SCSI este o interfață paralelă, creșterea frecvenței de transfer a fost asociată cu reducerea lungimii maxime a cablului, ceea ce a dus la inconveniente de utilizare.

Începând cu standardul Ultra-3 SCSI, a fost introdusă suportul pentru „conectare la cald” – conectarea dispozitivelor în timpul alimentării.

Primul SSD cunoscut cu interfață SCSI este considerat a fi M-Systems FFD-350, lansat în 1995. Discul avea un cost ridicat și nu a avut o răspândire largă.

În prezent, SCSI paralel nu mai este o interfață populară pentru conectarea discurilor, dar setul de comenzi este încă utilizat activ în interfețele USB și SAS.

ATA / PATA

Introducere în SSD. Partea 2. Interfața
Interfața ATA (Advanced Technology Attachment), cunoscut și sub numele de PATA (Parallel ATA) a fost dezvoltat de compania Western Digital în 1986. Numele de marketing al standardului IDE (îngl. Integrated Drive Electronics - „electronica integrată în driver”) sublinia o inovație importantă: controlerul acestuia era integrat în driver, nu pe o placă de extensie separată.

Decizia de a plasa controlerul în interiorul driverului a rezolvat mai multe probleme simultan. În primul rând, distanța dintre stocare și controler s-a micșorat, ceea ce a avut un impact pozitiv asupra caracteristicilor stocării. În al doilea rând, controlerul integrat era „adaptat” doar pentru un anumit tip de driver și, prin urmare, era mai ieftin.

Introducere în SSD. Partea 2. Interfața
ATA, la fel ca SCSI, utilizează metoda paralelă de intrare-ieșire, ceea ce se reflectă în cablurile utilizate. Pentru conectarea discurilor cu interfața IDE sunt necesare cabluri cu 40 de fire, numite și șleiuri. În specificațiile mai recente sunt utilizate șleiuri cu 80 de fire: mai mult de jumătate dintre acestea sunt împământări pentru a reduce interferența la frecvențe înalte.

Pe șleiul ATA sunt prezente între două și patru conectori, unul dintre ei fiind conectat la placa de bază, iar ceilalți la unități de stocare. Atunci când două dispozitive sunt conectate printr-un singur șlei, unul dintre ele trebuie configurat ca Master, iar celălalt ca Slave. Al treilea dispozitiv poate fi conectat exclusiv în modul «doar citire».

Introducere în SSD. Partea 2. Interfața
Poziția jumper-ului stabilește rolul unui anumit dispozitiv. Termenii Master și Slave în raport cu dispozitivele nu sunt tocmai corecți, deoarece, în raport cu controlerul, toate dispozitivele conectate sunt Slaves.

O inovație specială în ATA-3 este apariția Autocontrul, Tehnologia de Analiză și Raportare (S.M.A.R.T.). Cinci companii (IBM, Seagate, Quantum, Conner și Western Digital) s-au unit și au standardizat tehnologia de evaluare a stării unităților.

Suportul pentru unitățile de stocare cu stare solidă a apărut în cea de-a patra versiune a standardului, lansată în 1998. Această versiune a standardului asigura o viteză de transfer de date de până la 33.3 MB/s.

Standardul impune cerințe stricte pentru cablurile ATA:

  • cablul trebuie să fie plat;
  • lungimea maximă a cablului este de 18 inci (45.7 centimetri).

Cablul scurt și lat era incomod și încurca răcirea. Creșterea frecvenței de transfer cu fiecare versiune nouă a standardului devenea tot mai dificilă, iar ATA-7 a rezolvat problema într-un mod radical: interfața paralelă a fost înlocuită cu una serială. După aceasta, ATA a căpătat denumirea de Parallel și a devenit cunoscut sub numele de PATA, iar cea de-a șaptea versiune a standardului a primit o nouă denumire - Serial ATA. Numărătoarea versiunilor SATA a început cu unitatea.

SATA

Introducere în SSD. Partea 2. Interfața
Standardul Serial ATA (SATA) a fost introdus pe 7 ianuarie 2003 și a rezolvat problemele predecesorului său prin următoarele modificări:

  • portul paralel a fost înlocuit cu unul serial;
  • cablul lățit de 80 de fire a fost înlocuit cu unul de 7 fire;
  • topologia «bus comun» a fost înlocuită cu o conexiune «punct-la-punct».

Chiar dacă standardul SATA 1.0 (SATA/150, 150 MB/s) era ușor mai rapid decât ATA-6 (UltraDMA/130, 130 MB/s), trecerea la metoda de transfer serial a fost «pregătirea terenului» pentru creșterea vitezelor.

Șaisprezece linii de semnal pentru transferul de date în ATA au fost înlocuite cu două perechi răsucite: una pentru transmisie, cealaltă pentru recepție. Conectorii SATA au fost proiectați pentru a fi mai rezistenți la multiple reconectări, iar specificația SATA 1.0 a făcut posibilă «conectarea la cald» (Hot Plug).

Unele pini de pe discuri sunt mai scurți decât toți ceilalți. Aceasta a fost realizată pentru a susține «înlocuirea la cald» (Hot Swap). În procesul de înlocuire, dispozitivul «pierde» și «găsește» liniile într-o ordine prestabilită.

Puțin peste un an, în aprilie 2004, a fost lansată a doua versiune a specificației SATA. Pe lângă creșterea vitezei la 3 Gbit/s, SATA 2.0 a introdus tehnologia Native Command Queuing (NCQ). Dispozitivele care suportă NCQ pot organiza de sine stătător ordinea execuției comenzilor primite pentru a atinge performanța maximă.

Introducere în SSD. Partea 2. Interfața
În următorii trei ani, SATA Working Group a lucrat la îmbunătățirea specificației existente, iar versiunea 2.6 a adus conectori compacți Slimline și micro SATA (uSATA). Acești conectori sunt o variantă micșorată a conectorului original SATA, fiind proiectați pentru unități optice și discuri mici în laptopuri.

Cu toate că lățimea de bandă a celei de-a doua generații SATA era suficientă pentru hard disk-uri, unitățile cu stare solidă necesitau mai mult. În mai 2009, a fost lansată a treia versiune a specificației SATA, cu o lățime de bandă crescută la 6 Gbit/s.

Introducere în SSD. Partea 2. Interfața
O atenție deosebită unităților cu stare solidă a fost acordată în ediția SATA 3.1. A apărut conectorul Mini-SATA (mSATA), destinat conectării SSD-urilor în laptopuri. Spre deosebire de Slimline și uSATA, noul conector semăna cu PCIe Mini, deși nu era compatibil electric cu PCIe. Pe lângă noul conector, SATA 3.1 se putea lăuda cu posibilitatea de a pune comenzile TRIM în așteptare împreună cu comenzile de citire și scriere.

Comanda TRIM notifică unitatea cu stare solidă despre blocurile de date care nu conțin sarcină utilă. Până la SATA 3.1, executarea acestei comenzi ducea la resetarea memoriilor cache și la suspendarea operațiunilor de intrare-ieșire, urmată de executarea comenzii TRIM. Această abordare afecta performanța discului în timpul operațiunilor de ștergere.

Specificatia SATA nu ținea pasul cu creșterea rapidă a vitezei de acces la unitățile cu stare solidă, ceea ce a condus la apariția în 2013 a unui compromis numit SATA Express în standardul SATA 3.2. În loc să dubleze din nou lățimea de bandă SATA, dezvoltatorii au folosit magistrala PCIe extinsă, a cărei viteză depășește 6 Gbit/s. Discurile care suportă SATA Express au adoptat un format propriu numit M.2.

SAS

Introducere în SSD. Partea 2. Interfața
Standardul SCSI, „competitor” al ATA, nu a stagnat nici el, iar la un an după apariția Serial ATA, în 2004, s-a reinventat ca un interfață secvențială. Numele noului interfețe este Serial Attached SCSI (SAS).

Deși SAS a moștenit setul de instrucțiuni SCSI, au fost efectuate modificări semnificative:

  • interfață serială;
  • cablul cu 29 de fire cu alimentare;
  • conexiune «punct-la-punct»

Terminologia SCSI a fost de asemenea moștenită. Controlerul este în continuare numit inițiator, iar dispozitivele conectate – ținte. Toate dispozitivele țintă și inițiatorul formează un domeniu SAS. În SAS, lățimea de bandă a conexiunii nu depinde de numărul de dispozitive din domeniu, deoarece fiecare dispozitiv utilizează canalul său dedicat.

Numărul maxim de dispozitive conectate simultan în domeniul SAS specificat depășește 16.000, iar în loc de ID-ul SCSI pentru adresare se folosește un identificator World-Wide Name (WWN).

WWN este un identificator unic de 16 octeți, similar cu adresa MAC pentru dispozitivele SAS.

Introducere în SSD. Partea 2. Interfața
Deși conectorii SAS și SATA sunt asemănători, aceste standarde nu sunt complet compatibile. Cu toate acestea, un disc SATA poate fi conectat la un conector SAS, dar invers nu este posibil. Compatibilitatea între discurile SATA și domeniul SAS este asigurată prin protocolul SATA Tunneling Protocol (STP).

Prima versiune a standardului SAS-1 avea o lățime de bandă de 3 Gbit/s, iar cea mai recentă, SAS-4, a îmbunătățit acest parametru de 7 ori: 22,5 Gbit/s.

PCIe

Introducere în SSD. Partea 2. Interfața
Peripheral Component Interconnect Express (PCI Express, PCIe) este o interfață serială pentru transferul de date, apărută în 2002. Dezvoltarea a fost începută de compania Intel și ulterior transferată unei organizații specializate – PCI Special Interest Group.

Interfața serială PCIe nu a fost o excepție și a devenit o continuare logică a PCI-ului paralel, care este destinat să conecteze plăci de extensie.

PCI Express se diferențiază semnificativ de SATA și SAS. Interfața PCIe are un număr variabil de linii. Numărul de linii este o putere a lui 2 și variază între 1 și 16.

Termenul „linie” în PCIe nu se referă la o linie de semnal specifică, ci la un canal de comunicație duplex complet, format din următoarele linii de semnal:

  • primire+ și primire-;
  • transmitere+ și transmitere-;
  • patru fire de împământare.

Numărul de linii PCIe influențează direct lățimea maximă de bandă a conexiunii. Standardul modern PCI Express 4.0 permite atingerea unei viteze de 1.9 GB/s pe o linie și 31.5 GB/s utilizând 16 linii.

Introducere în SSD. Partea 2. Interfața
Apetitul pentru unitățile SSD crește foarte repede. Atât SATA, cât și SAS nu reușesc să își crească lățimea de bandă suficient pentru a ține pasul cu SSD-urile, ceea ce a dus la apariția discurilor SSD cu conectare PCIe.

Deși plăcile PCIe Add-In sunt fixate cu șuruburi, PCIe suportă „schimbarea la cald”. Pin-urile scurte PRSNT (eng. present — a fi prezent) asigură că placa este complet instalată în slot.

Unitățile SSD conectate prin PCIe sunt reglementate de un standard separat. Specificația Interfeței Controlerului de Memorie Non-Volatil și sunt disponibile în multiple formate, despre care vom vorbi în partea următoare.

Unități de stocare la distanță

Odată cu crearea magazinelor mari de date a apărut necesitatea unor protocoale care să permită conectarea unităților aflate în afara serverului. Prima soluție din acest domeniu a fost Internet SCSI (iSCSI), dezvoltat de companiile IBM și Cisco în 1998.

Ideea protocolului iSCSI este simplă: comenzile SCSI sunt „împachetate” în pachete TCP/IP și trimise prin rețea. În ciuda conectării la distanță, clienții au iluzia că unitatea este conectată local. O rețea de stocare de date (Storage Area Network, SAN) bazată pe iSCSI poate fi construită pe infrastructura de rețea existentă. Utilizarea iSCSI reduce semnificativ costurile de organizare a SAN-ului.

iSCSI are o variantă „premium” — Protocolul Fibre Channel (FCP). SAN-ul utilizând FCP se construiește pe linii de fibră optică dedicate. Această abordare necesită echipamente de rețea optice suplimentare, dar se distinge prin stabilitate și lățimi de bandă ridicate.

Există multe protocoale pentru trimiterea comenzilor SCSI prin rețelele de calculatoare. Cu toate acestea, există doar un singur standard care rezolvă sarcina opusă și permite trimiterea pachetelor IP prin magistrala SCSI — IP-over-SCSI.

Cele mai multe protocoale pentru organizarea SAN utilizează seturi de comenzi SCSI pentru gestionarea unităților de stocare, dar există și excepții, cum ar fi simplul ATA over Ethernet (AoE). Protocolul AoE trimite comenzi ATA în pachete Ethernet, dar în sistem, unitățile sunt afișate ca SCSI.

Odată cu apariția unităților NVM Express, protocoalele iSCSI și FCP nu mai satisfac cerințele în continuă creștere ale unităților SSD. Au apărut două soluții:

  • extinderea magistralei PCI Express dincolo de server;
  • crearea protocolului NVMe over Fabrics.

Dezvoltarea bus-ului PCIe implică crearea unor echipamente de comutare complexe, dar nu aduce modificări în protocol.

Protocolul NVMe over Fabrics a devenit o alternativă bună pentru iSCSI și FCP. În NVMe-oF se utilizează linii de comunicație cu fibră optică și un set de comenzi NVM Express.

DDR-T

Introducere în SSD. Partea 2. Interfața
Standardele iSCSI și NVMe-oF rezolvă problema conectării discurilor remote ca fiind locale, iar compania Intel a ales o altă cale, aducând discul local cât mai aproape de procesor. S-a optat pentru sloturi DIMM, în care este conectată memoria RAM. Lățimea maximă de bandă a canalului DDR4 este de 25 GB/s, ceea ce depășește semnificativ viteza bus-ului PCIe. Astfel a apărut unitatea de stocare Intel® Optane™ DC Persistent Memory.

Pentru conectarea unității în sloturile DIMM a fost inventat un protocol DDR-T, compatibil fizic și electric cu DDR4, dar necesită un controller special, care să recunoască diferența dintre un modul de memorie și o unitate de stocare. Viteza de acces la unitate este mai mică decât la memoria RAM, dar mai mare decât la NVMe.

Protocolul DDR-T este disponibil doar cu procesoare Intel® de generația Cascade Lake sau mai noi.

Concluzie

Aproape toate interfețele au parcurs un lung drum de dezvoltare de la metoda de transmisie serie la cea paralelă. Vitezele unităților de stocare cu stare solidă cresc rapid; ieri, unitățile de stocare cu stare solidă erau o raritate, iar astăzi NVMe nu mai surprinde pe nimeni.

În laboratorul nostru Selectel Lab puteți testa singuri SSD-urile și discurile NVMe.

Numai utilizatorii înregistrați pot participa la sondaj. Conectați-vă, vă rugăm.

Vor înlocui discurile NVMe pe cele clasice SSD în viitorul apropiat?

  • 55.5%Da100

  • 44.4%Nu80

Au votat 180 de utilizatori. S-au abținut 28 de utilizatori.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster