Inleiding tot SSD. Deel 2. Interface

Inleiding tot SSD. Deel 2. Interface

В laaste deel siklus "Inleiding tot SSD" ons het gepraat oor die geskiedenis van die voorkoms van skywe. Die tweede deel sal vertel van die koppelvlakke vir interaksie met aandrywers.

Kommunikasie tussen die verwerker en randapparatuur vind plaas volgens vooraf gedefinieerde konvensies wat koppelvlakke genoem word. Hierdie ooreenkomste reguleer die fisiese en sagteware vlak van interaksie.

Interface - 'n stel middele, metodes en reëls van interaksie tussen elemente van die stelsel.

Die fisiese implementering van 'n koppelvlak beïnvloed die volgende parameters:

  • deurset van die kommunikasiekanaal;
  • die maksimum aantal toestelle wat gelyktydig gekoppel is;
  • die aantal foute wat voorkom.

Skyf koppelvlakke is gebou op I/O-poorte, wat die teenoorgestelde van geheue I/O is en nie spasie in die verwerker se adresruimte opneem nie.

Parallelle en seriële poorte

Volgens die metode van data-uitruiling word I / O-poorte in twee tipes verdeel:

  • parallel;
  • konsekwent.

Soos die naam aandui, stuur die parallelle poort 'n masjienwoord op 'n slag, wat uit verskeie bisse bestaan. 'n Parallelle poort is die maklikste manier om data uit te ruil, aangesien dit nie komplekse stroombaanoplossings vereis nie. In die eenvoudigste geval word elke stukkie van die masjienwoord op sy eie seinlyn gestuur, en twee diensseinlyne word vir terugvoer gebruik: Data gereed и Data aanvaar.

Inleiding tot SSD. Deel 2. Interface
Parallelle poorte, met die eerste oogopslag, skaal goed: meer seinlyne - meer bisse word op 'n slag versend en dus hoër deurset. As gevolg van die toename in die aantal seinlyne, vind steuring egter tussen hulle plaas, wat lei tot vervorming van die gestuurde boodskappe.

Seriële poorte is die teenoorgestelde van parallel. Data word een bietjie op 'n slag gestuur, wat die totale aantal seinlyne verminder, maar die I/O-beheerder bemoeilik. Die senderbeheerder ontvang die masjienwoord op 'n slag en moet een bis op 'n slag versend, en die ontvangerbeheerder moet op sy beurt die bisse ontvang en in dieselfde volgorde stoor.

Inleiding tot SSD. Deel 2. Interface
'n Klein aantal seinlyne laat jou toe om die frekwensie van boodskapversending sonder inmenging te verhoog.

SCSI

Inleiding tot SSD. Deel 2. Interface
Small Computer Systems Interface (SCSI) het in 1978 verskyn en is oorspronklik ontwerp om toestelle van verskillende profiele in 'n enkele stelsel te kombineer. Die SCSI-1-spesifikasie het voorsiening gemaak vir die koppeling van tot 8 toestelle (saam met die beheerder), soos:

  • skandeerders;
  • bandaandrywers (streamers);
  • optiese aandrywers;
  • skyfies en ander toestelle.

SCSI is oorspronklik Shugart Associates System Interface (SASI) genoem, maar die standaardkomitee sou nie 'n naam na die maatskappy goedkeur nie, en na 'n dag van dinkskrums is die naam Small Computer Systems Interface (SCSI) gebore. Die "Vader" van SCSI, Larry Boucher, het bedoel dat die akroniem as "sexy" uitgespreek moet word, maar Dal Allan lees "sсuzzy" ("vertel"). Vervolgens is die uitspraak van "vertel" stewig in hierdie standaard verskans.

In SCSI-terminologie word gekoppelde toestelle in twee tipes verdeel:

  • inisieerders;
  • teiken toestelle.

Die inisieerder stuur 'n opdrag na die teikentoestel, wat dan 'n antwoord aan die inisieerder stuur. Die inisieerders en teikens is gekoppel aan 'n gemeenskaplike SCSI-bus, wat 'n bandwydte van 1 MB/s in die SCSI-5-standaard het.

Die "gewone bus"-topologie wat gebruik word, stel 'n aantal beperkings op:

  • aan die punte van die bus is spesiale toestelle nodig - terminators;
  • busbandwydte word onder alle toestelle gedeel;
  • Die maksimum aantal toestelle wat gelyktydig gekoppel is, is beperk.

Inleiding tot SSD. Deel 2. Interface

Toestelle op die bus word geïdentifiseer deur 'n unieke nommer wat genoem word SCSI-teiken-ID. Elke SCSI-eenheid in die stelsel word verteenwoordig deur ten minste een logiese toestel, wat deur 'n unieke nommer binne die fisiese toestel aangespreek word. Logiese Eenheidnommer (LUN).

Inleiding tot SSD. Deel 2. Interface
Opdragte in SCSI word in die vorm gestuur opdrag beskrywing blokke (Command Descriptor Block, CDB), wat bestaan ​​uit 'n operasiekode en opdragparameters. Die standaard beskryf meer as 200 opdragte, verdeel in vier kategorieë:

  • Verpligtend — moet deur die toestel ondersteun word;
  • opsioneel - geïmplementeer kan word;
  • Verkoper-spesifiek - gebruik deur 'n spesifieke vervaardiger;
  • uitgediende - verouderde opdragte.

Van die vele opdragte is slegs drie van hulle verpligtend vir toestelle:

  • TOETSEENHEID GEREED - kontrolering van die gereedheid van die toestel;
  • VERSOEK SIN - versoek die foutkode van die vorige opdrag;
  • ONDERSOEK - versoek die hoofkenmerke van die toestel.

Nadat die opdrag ontvang en verwerk is, stuur die teikentoestel 'n statuskode aan die inisieerder, wat die resultaat van die uitvoering beskryf.

Verdere verbetering van SCSI (SCSI-2 en Ultra SCSI spesifikasies) het die lys van gebruikte opdragte uitgebrei en die aantal gekoppelde toestelle tot 16 verhoog, en die datawisselkoers op die bus tot 640 MB/s. Aangesien SCSI 'n parallelle koppelvlak is, was die verhoging van die frekwensie van data-uitruiling geassosieer met 'n afname in die maksimum kabellengte en het gelei tot ongerief in gebruik.

Begin met die Ultra-3 SCSI-standaard, het ondersteuning vir "hot plugging" verskyn - om toestelle te koppel wanneer die krag aan is.

Die eerste bekende SCSI SSD was die M-Systems FFD-350, wat in 1995 vrygestel is. Die skyf het 'n hoë koste gehad en is nie algemeen gebruik nie.

Tans is parallelle SCSI nie 'n gewilde skyfkoppelvlak nie, maar die opdragstel word steeds aktief in USB- en SAS-koppelvlakke gebruik.

ATA/PATA

Inleiding tot SSD. Deel 2. Interface
koppelvlak ATA (Advanced Technology Attachment), ook bekend as HOOF (Parallel ATA) is in 1986 deur Western Digital ontwikkel. Die bemarkingsnaam vir die IDE-standaard (Eng. Integrated Drive Electronics - "elektronika ingebou in die aandrywer") het 'n belangrike innovasie beklemtoon: die aandrywingbeheerder is in die aandrywer geïntegreer, en nie op 'n aparte uitbreidingsbord nie.

Die besluit om die beheerder binne die aandrywer te plaas, het verskeie probleme gelyktydig opgelos. Eerstens het die afstand van die aandrywing na die beheerder afgeneem, wat die werkverrigting van die aandrywing positief beïnvloed het. Tweedens is die ingeboude kontroleerder net vir 'n sekere tipe aandrywing "geslyp" en was dienooreenkomstig goedkoper.

Inleiding tot SSD. Deel 2. Interface
ATA, soos SCSI, gebruik 'n parallelle I/O-metode, wat weerspieël word in die kabels wat gebruik word. Om aandrywers met die IDE-koppelvlak te koppel, vereis 40-kernkabels, ook na verwys as platkabels. Meer onlangse spesifikasies gebruik 80-draadstompe, waarvan meer as die helfte grondlusse is om interferensie by hoë frekwensies te verminder.

Daar is twee tot vier verbindings op die ATA-kabel, waarvan een aan die moederbord gekoppel is, en die res aan die dryf. Wanneer twee toestelle in een lus verbind word, moet een van hulle gekonfigureer word as Meester, en die tweede as slaaf. Die derde toestel kan slegs in leesalleen-modus gekoppel word.

Inleiding tot SSD. Deel 2. Interface
Die posisie van die springer bepaal die rol van 'n spesifieke toestel. Die terme Meester en Slaaf met betrekking tot toestelle is nie heeltemal korrek nie, aangesien alle gekoppelde toestelle in verhouding tot die beheerder Slawe is.

'n Spesiale innovasie in ATA-3 is die voorkoms Selfmonitering, Analise en Verslagdoeningstegnologie (SMART). Vyf maatskappye (IBM, Seagate, Quantum, Conner en Western Digital) het kragte saamgesnoer en gestandaardiseer gesondheidsassesseringstegnologie.

Ondersteuning vir vaste toestand-aandrywers bestaan ​​sedert weergawe 1998 van die standaard, wat in 33.3 vrygestel is. Hierdie weergawe van die standaard het data-oordragsnelhede tot XNUMX MB/s verskaf.

Die standaard stel streng vereistes vir ATA-kabels voor:

  • die pluim moet plat wees;
  • maksimum treinlengte 18 duim (45.7 sentimeter).

Die kort en breë trein was ongerieflik en het inmeng met verkoeling. Dit het al hoe moeiliker geword om die transmissiefrekwensie met elke daaropvolgende weergawe van die standaard te verhoog, en ATA-7 het die probleem radikaal opgelos: die parallelle koppelvlak is vervang deur 'n seriële een. Daarna het ATA die woord Parallel verkry en bekend geword as PATA, en die sewende weergawe van die standaard het 'n ander naam gekry - Serial ATA. SATA weergawe nommering het vanaf een begin.

SATA

Inleiding tot SSD. Deel 2. Interface
Die Serial ATA (SATA)-standaard is op 7 Januarie 2003 bekendgestel en het die probleme van sy voorganger aangespreek met die volgende veranderinge:

  • parallelle poort vervang deur reeks;
  • wye 80-draad kabel vervang deur 7-draad;
  • die "gewone bus"-topologie is vervang met 'n "punt-tot-punt"-verbinding.

Alhoewel SATA 1.0 (SATA/150, 150 MB/s) effens vinniger was as ATA-6 (UltraDMA/130, 130 MB/s), was die skuif na seriële kommunikasie "die grondslag" vir spoed.

Sestien seinlyne vir data-oordrag in ATA is vervang met twee gedraaide pare: een vir transmissie, die tweede vir ontvangs. SATA-verbindings is ontwerp om meer bestand te wees teen veelvuldige herverbindings, en die SATA 1.0-spesifikasie het warmprop moontlik gemaak.

Sommige penne op die aandrywers is korter as al die ander. Dit word gedoen om "hot swap" (Hot Swap) te ondersteun. Tydens die vervangingsproses "verloor" en "vind" die toestel die lyne in 'n voorafbepaalde volgorde.

'n Bietjie meer as 'n jaar later, in April 2004, is die tweede weergawe van die SATA-spesifikasie vrygestel. Benewens die versnelling tot 3 Gb/s, het SATA 2.0 tegnologie bekendgestel Inheemse opdragtou (NCQ). Toestelle met NCQ-ondersteuning is in staat om die volgorde van uitvoering van inkomende opdragte onafhanklik te organiseer om maksimum prestasie te behaal.

Inleiding tot SSD. Deel 2. Interface
Die volgende drie jaar het die SATA-werkgroep gewerk om die bestaande spesifikasie te verbeter, en weergawe 2.6 het kompakte Slimline- en mikro-SATA (uSATA)-verbindings bekendgestel. Hierdie verbindings is 'n kleiner weergawe van die oorspronklike SATA-verbinding en is ontwerp vir optiese dryf en klein dryf in skootrekenaars.

Terwyl tweede generasie SATA genoeg bandwydte vir HDD's gehad het, het SSD's meer geëis. In Mei 2009 is die derde weergawe van die SATA-spesifikasie vrygestel met verhoogde bandwydte tot 6 Gb/s.

Inleiding tot SSD. Deel 2. Interface
Spesifieke aandag is geskenk aan vaste toestand-aandrywers in die SATA 3.1-uitgawe. 'n Mini-SATA (mSATA)-aansluiting het verskyn wat ontwerp is om vaste-toestand-aandrywers in skootrekenaars te koppel. Anders as Slimline en uSATA, het die nuwe aansluiting soos 'n PCIe Mini gelyk, hoewel dit nie elektries versoenbaar was met PCIe nie. Benewens die nuwe verbinding, het SATA 3.1 die vermoë gehad om TRIM-opdragte in tou te plaas met lees- en skryfopdragte.

Die TRIM-opdrag stel die SSD in kennis van datablokke wat nie 'n loonvrag dra nie. Voor SATA 3.1 sou hierdie opdrag kas spoel en I/O-operasies opskort, gevolg deur 'n TRIM-opdrag. Hierdie benadering het skyfwerkverrigting verswak tydens uitveebewerkings.

Die SATA-spesifikasie het nie tred gehou met die vinnige groei in toegangsnelhede vir SSD's nie, wat gelei het tot 'n kompromie in 2013 genaamd SATA Express in die SATA 3.2-standaard. In plaas daarvan om die bandwydte van SATA weer te verdubbel, het die ontwikkelaars die algemeen gebruikte PCIe-bus gebruik, waarvan die spoed 6 Gb / s oorskry. Aandrywers met SATA Express-ondersteuning het hul eie vormfaktor genaamd M.2 verkry.

SAS

Inleiding tot SSD. Deel 2. Interface
Die SCSI-standaard, wat met ATA "mededingend" het, het ook nie stilgestaan ​​nie en net 'n jaar na die verskyning van Serial ATA, in 2004, is dit hergebore in 'n seriële koppelvlak. Die naam van die nuwe koppelvlak is Seriële aangeheg SCSI (SEDGE).

Alhoewel SAS die SCSI-opdragstel geërf het, was die veranderinge betekenisvol:

  • seriële koppelvlak;
  • 29-draad kabel met kragtoevoer;
  • punt-tot-punt verbinding

Die SCSI-terminologie is ook oorgeërf. Die beheerder word steeds die inisieerder genoem, en die gekoppelde toestelle word die teiken genoem. Alle teikentoestelle en die inisieerder vorm 'n SAS-domein. In SAS hang die verbindingsbandwydte nie af van die aantal toestelle in die domein nie, aangesien elke toestel sy eie toegewyde kanaal gebruik.

Die maksimum aantal gelyktydig gekoppelde toestelle in 'n SAS-domein, volgens die spesifikasie, oorskry 16 duisend, en in plaas van 'n SCSI ID, word 'n identifiseerder gebruik vir adressering Wêreldwye Naam (WWN).

WWN is 'n unieke identifiseerder 16 grepe lank, soortgelyk aan die MAC-adres vir SAS-toestelle.

Inleiding tot SSD. Deel 2. Interface
Ten spyte van die ooreenkomste tussen SAS- en SATA-verbindings, is hierdie standaarde nie ten volle versoenbaar nie. 'n SATA-aandrywer kan egter aan 'n SAS-aansluiting gekoppel word, maar nie andersom nie. Verenigbaarheid tussen SATA-aandrywers en die SAS-domein word verseker met behulp van die SATA Tunneling Protocol (STP).

Die eerste weergawe van die SAS-1-standaard het 'n bandwydte van 3 Gb/s, en die modernste, SAS-4, het hierdie syfer met 7 keer verbeter: 22,5 Gb/s.

PCIe

Inleiding tot SSD. Deel 2. Interface
Peripheral Component Interconnect Express (PCI Express, PCIe) is 'n seriële koppelvlak vir data-oordrag, wat in 2002 verskyn het. Die ontwikkeling is deur Intel begin, en is daarna oorgeplaas na 'n spesiale organisasie - die PCI Special Interest Group.

Die seriële PCIe-koppelvlak was geen uitsondering nie en het 'n logiese voortsetting geword van parallelle PCI, wat ontwerp is om uitbreidingskaarte aan te sluit.

PCI Express verskil aansienlik van SATA en SAS. Die PCIe-koppelvlak het 'n veranderlike aantal bane. Die aantal lyne is gelyk aan magte van twee en wissel van 1 tot 16.

Die term "baan" in PCIe verwys nie na 'n spesifieke seinbaan nie, maar na 'n aparte voldupleks kommunikasieskakel wat uit die volgende seinbane bestaan:

  • ontvang+ en ontvang-;
  • transmissie+ en transmissie-;
  • vier gronddrade.

Die aantal PCIe-bane beïnvloed direk die maksimum bandwydte van die verbinding. Die huidige PCI Express 4.0-standaard laat jou toe om 1.9 GB / s op 'n enkele lyn te bereik, en 31.5 GB / s wanneer jy 16 reëls gebruik.

Inleiding tot SSD. Deel 2. Interface
Die "aptyt" van vastestofaandrywers groei baie vinnig. Beide SATA en SAS kon nie hul bandwydte vergroot om tred te hou met SSD's nie, wat gelei het tot die bekendstelling van PCIe-gekoppelde SSD's.

Alhoewel PCIe-byvoegingskaarte aangeskroef is, is PCIe hot-swapable. Kort penne PRSNT (Engels teenwoordig - teenwoordig) maak seker dat die kaart volledig in die gleuf geïnstalleer is.

Vastetoestand-aandrywers wat via PCIe gekoppel is, word deur 'n aparte standaard gereguleer Nie-vlugtige geheue gasheerbeheerder-koppelvlakspesifikasie en word beliggaam in 'n verskeidenheid vormfaktore, maar ons sal daaroor in die volgende deel praat.

Afgeleë dryf

By die skep van groot datapakhuise was daar 'n behoefte aan protokolle wat jou toelaat om aandrywers buite die bediener te koppel. Die eerste oplossing op hierdie gebied was Internet SCSI (iSCSI), ontwikkel deur IBM en Cisco in 1998.

Die idee agter die iSCSI-protokol is eenvoudig: SCSI-opdragte word in TCP/IP-pakkies "toegedraai" en na die netwerk gestuur. Ten spyte van die afstandverbinding, gee dit die illusie aan kliënte dat die aandrywer plaaslik gekoppel is. Storage Area Network (SAN), gebaseer op iSCSI, kan op bestaande netwerkinfrastruktuur gebou word. Die gebruik van iSCSI verminder die koste om 'n SAN te organiseer aansienlik.

iSCSI het 'n "premie" opsie - Veselkanaalprotokol (FCP). SAN wat FCP gebruik, is gebou op toegewyde optiesevesel-kommunikasielyne. Hierdie benadering vereis bykomende optiese netwerktoerusting, maar is stabiel en hoë deurset.

Daar is baie protokolle om SCSI-opdragte oor rekenaarnetwerke te stuur. Daar is egter net een standaard wat die teenoorgestelde probleem oplos en jou toelaat om IP-pakkies oor die SCSI-bus te stuur - IP oor SCSI.

Die meeste SAN-protokolle gebruik die SCSI-opdragstel om aandrywers te bestuur, maar daar is uitsonderings, soos die eenvoudige ATA oor Ethernet (AOE). Die AoE-protokol stuur ATA-opdragte in Ethernet-pakkies, maar die aandrywers verskyn as SCSI in die stelsel.

Met die koms van NVM Express-aandrywers, voldoen iSCSI- en FCP-protokolle nie meer aan die vinnig groeiende vereistes van SSD's nie. Twee oplossings het na vore gekom:

  • verwydering van die PCI Express-bus buite die bediener;
  • skepping van die NVMe over Fabrics-protokol.

Die verwydering van die PCIe-bus skep komplekse skakelapparatuur, maar verander nie die protokol nie.

Die NVMe over Fabrics-protokol het 'n goeie alternatief vir iSCSI en FCP geword. NVMe-oF gebruik 'n optieseveselskakel en die NVM Express-opdragstel.

DDR-T

Inleiding tot SSD. Deel 2. Interface
Die iSCSI- en NVMe-oF-standaarde los die probleem op om afgeleë aandrywers as plaaslikes te koppel, terwyl Intel anderpad gegaan het en die plaaslike aandrywer so na as moontlik aan die verwerker gebring het. Die keuse het geval op die DIMM-gleuwe waarin die RAM gekoppel is. Die maksimum DDR4-bandwydte is 25 GB/s, wat baie vinniger is as die PCIe-bus. Dit is hoe die Intel® Optane™ DC Persistent Memory SSD gebore is.

'n Protokol is uitgevind om 'n aandrywer aan DIMM-gleuwe te koppel DDR-T, fisies en elektries versoenbaar met DDR4, maar vereis 'n spesiale beheerder wat die verskil tussen 'n geheuebalk en 'n aandrywer sien. Die spoed van toegang tot die skyf is minder as tot RAM, maar meer as na NVMe.

DDR-T is slegs beskikbaar met Intel® Cascade Lake-generasie verwerkers of later.

Gevolgtrekking

Byna alle koppelvlakke het 'n lang pad gekom van reeks- tot parallelle data-oordrag. SSD-spoed skiet die hoogte in, gister was SSD's 'n nuuskierigheid, en vandag is NVMe nie meer 'n verrassing nie.

In ons laboratorium Selectel Lab jy kan self SSD- en NVMe-aandrywers toets.

Slegs geregistreerde gebruikers kan aan die opname deelneem. Meld aan, asseblief.

Sal NVMe-aandrywers klassieke SSD's in die nabye toekoms vervang?

  • 55.5%Ja 100

  • 44.4%No80

180 gebruikers het gestem. 28 gebruikers het buite stemming gebly.

Bron: will.com

Voeg 'n opmerking