Introduksjon til SSD. Del 2. Grensesnittet

Introduksjon til SSD. Del 2. Grensesnittet

I i forrige del I syklusen «Introduksjon til SSD» har vi snakket om historien bak harddiskene. Den andre delen vil fortelle om grensesnitt for interaksjon med lagringsenheter.

Kommunikasjonen mellom prosessoren og perifere enheter skjer i henhold til forhÄndsbestemte avtaler, kjent som grensesnitt. Disse avtalene regulerer bÄde fysiske og programvare-nivÄer for interaksjon.

Grensesnittet er en samling av midler, metoder og regler for interaksjon mellom systemelementer.

Den fysiske realiseringen av grensesnittet pÄvirker fÞlgende parametere:

  • bĂ„ndbredden til kommunikasjonskanalen;
  • maksimalt antall samtidig tilkoblede enheter;
  • antallet oppstĂ„tte feil.

Diskgrensesnitt er bygget pÄ inngangs- og utgangsporter, noe som er motsatt av inngang/utgang gjennom minnet og ikke tar opp plass i prosessorens adresseomrÄde.

Parallell- og serielle porter

Etter mÄten data utveksles pÄ, deles inngangs- og utgangsporter inn i to typer:

  • parallell;
  • seriell.

Som navnet antyder, sender en parallellport en maskinord, som bestÄr av flere biter, samtidig. Parallellporten er den enkleste formen for datautveksling, da den ikke krever komplekse kretsdesign. I det enkleste tilfellet sendes hver bit av maskinordet gjennom sin egen signalbane, og to service-signallinjer brukes for tilbakemelding: Data klar og Data mottatt.

Introduksjon til SSD. Del 2. Grensesnittet
Parallellporter ser ved fÞrste Þyekast ut til Ä vÊre veldig skalerbare: flere signallinjer betyr flere biter som overfÞres samtidig, og dermed hÞyere bÄndbredde. Likevel, pÄ grunn av det Þkte antallet signallinjer, oppstÄr det interferensinteraksjon mellom dem, noe som fÞrer til forvrengning av de overfÞrte meldingene.

Serielle porter er det motsatte av parallellporter. DataoverfÞring skjer én bit om gangen, noe som reduserer det totale antallet signallinjer, men kompliserer inngangs- og utgangskontrolleren. OverfÞringskontrolleren mottar maskinordet om gangen og mÄ overfÞre én bit, mens mottakerkontrolleren pÄ sin side mÄ motta bitene og lagre dem i samme rekkefÞlge.

Introduksjon til SSD. Del 2. Grensesnittet
Det lave antallet signallinjer gjĂžr at overfĂžringsfrekvensen kan Ăžkes uten stĂžy.

SCSI

Introduksjon til SSD. Del 2. Grensesnittet
Small Computer Systems Interface (SCSI) ble introdusert i 1978 og ble opprinnelig utviklet for Ă„ samordne forskjellige typer enheter i et felles system. SCSI-1 spesifikasjonen tillot tilkobling av opptil 8 enheter (inkludert kontrolleren), slik som:

  • skannere;
  • bĂ„ndstasjoner (streamere);
  • optiske drivere;
  • diskstasjoner og andre enheter.

Opprinnelig ble SCSI kalt Shugart Associates System Interface (SASI), men standardiseringskomiteen ville ikke godkjenne et navn oppkalt etter selskapet, og etter en idémyldring kom navnet Small Computer Systems Interface (SCSI). «Faren» til SCSI, Larry Boucher, hadde til hensikt at forkortelsen skulle uttales som «sexy», men Dal Allan leste det som «sсuzzy» («skazi»). Senere ble uttalen «skazi» godt etablert som standard.

I SCSI-terminologi deles tilkoblede enheter inn i to typer:

  • initiativer;
  • mĂ„l-enheter.

Initiatoren sender en kommando til mÄl-enheten, som deretter sender svar tilbake til initiatoren. Initiatorer og mÄl-enheter er koblet til en felles SCSI-buss, med en bÄndbredde pÄ 5 MB/s i SCSI-1 standarden.

Den brukte «felles buss» topologien medfÞrer visse begrensninger:

  • spesielle enheter — termineringsenheter — mĂ„ befinne seg i endene av bussen;
  • bĂ„ndbredden pĂ„ bussen deles mellom alle enhetene;
  • det maksimale antallet enheter som kan tilkobles samtidig er begrenset.

Introduksjon til SSD. Del 2. Grensesnittet

Enhetene pÄ bussen identifiseres med et unikt nummer, kalt SCSI Target ID. Hver SCSI-enhet i systemet er representert av minst én logisk enhet, som adresseres med et unikt nummer for den fysiske enheten, kalt Logical Unit Number (LUN).

Introduksjon til SSD. Del 2. Grensesnittet
Kommandoer i SCSI sendes som kommando beskrivelsesblokker (Command Descriptor Block, CDB), som bestÄr av operasjonskode og parameterne for kommandoen. Standarden beskriver over 200 kommandoer, delt inn i fire kategorier:

  • Mandatory — mĂ„ stĂžttes av enheten;
  • Optional — kan implementeres;
  • Vendor-specific — brukes av en spesifikk produsent;
  • Obsolete — utdaterte kommandoer.

Blant de mange kommandoene er kun tre av dem obligatoriske for enhetene:

  • TEST UNIT READY — sjekker enhetens beredskap;
  • REQUEST SENSE — ber om feilkoden fra forrige kommando;
  • INQUIRY — ber om grunnleggende spesifikasjoner for enheten.

Etter Ä ha mottatt og behandlet kommandoen, sender det mÄlrettede enheten en statuskode tilbake til initiatoren, som beskriver resultatet av utfÞrelsen.

Videre forbedring av SCSI (spesifikasjonene SCSI-2 og Ultra SCSI) utvidet listen over brukte kommandoer og Þkte antall tilkoblede enheter til 16, samt hastigheten pÄ dataoverfÞring via bussen til 640 MB/s. Siden SCSI er et parallelt grensesnitt, var Þkningen av dataoverfÞringshastigheten knyttet til en reduksjon i maksimal kabel lengde, noe som fÞrte til ulemper ved bruk.

Fra standarden Ultra-3 SCSI ble stÞtten for 'hot plugging' introdusert - tilkobling av enheter mens strÞmmen er pÄ.

Den fĂžrste kjente SSD-en med SCSI-grensesnitt kan anses som M-Systems FFD-350, utgitt i 1995. Disken hadde en hĂžy kostnad og var ikke allment tilgjengelig.

I dag er parallell SCSI ikke en populĂŠr tilkoblingsgrensesnitt for disker, men kommandosettet brukes fortsatt aktivt i USB- og SAS-grensesnitt.

ATA / PATA

Introduksjon til SSD. Del 2. Grensesnittet
Grensesnittet ATA (Advanced Technology Attachment), ogsÄ kjent som PATA (Parallel ATA) ble utviklet av Western Digital i 1986. Den markedsfÞrte betegnelsen IDE (Integrated Drive Electronics) understreket den viktige innovasjonen: kontrolleren ble innebygd i enheten, snarere enn pÄ et eget utvidelseskort.

LÞsningen Ä plassere kontrolleren inne i enheten lÞste flere problemer. For det fÞrste, avstanden fra lagringsenheten til kontrolleren ble redusert, noe som hadde en positiv effekt pÄ ytelsen til dataenheten. For det andre var den innebygde kontrolleren 'tilpasset' kun for en type enhet og var derfor billigere.

Introduksjon til SSD. Del 2. Grensesnittet
ATA, i likhet med SCSI, bruker en parallell metode for inn- og utgang, noe som reflekteres i de brukte kablene. For tilkobling av disker med IDE-grensesnitt er 40-ledere kabler, ogsÄ kalt flate kabler, nÞdvendige. I nyere spesifikasjoner brukes 80-leders flate kabler, hvor over halvparten er jordingsledninger for Ä redusere interferens pÄ hÞye frekvenser.

PÄ ATA-flaten er det mellom to og fire kontakter, hvorav en er koblet til hovedkortet, mens de andre er til lagringsenhetene. NÄr to enheter er tilkoblet samme kabel, mÄ en av dem konfigureres som Master, mens den andre mÄ vÊre Slave. Det tredje enheten kan kun kobles til i «kun les»-modusen.

Introduksjon til SSD. Del 2. Grensesnittet
Plasseringen av jumperen definerer rollen til den spesifikke enheten. Begrepene Master og Slave i forhold til enheter er ikke helt korrekte, da alle tilkoblede enheter er Slaves i forhold til kontrolleren.

En spesiell nyvinning i ATA-3 er innfĂžringen av Selvmonitorering, Analyse- og rapporteringsteknologi (S.M.A.R.T.). Fem selskaper (IBM, Seagate, Quantum, Conner og Western Digital) samarbeidet og standardiserte teknologien for vurdering av tilstandene til lagringsenheter.

StĂžtte for SSD-er kom med den fjerde versjonen av standarden, utgitt i 1998. Denne versjonen av standarden ga dataoverfĂžringshastigheter opptil 33,3 MB/s.

Standarden stiller strenge krav til ATA-kabler:

  • kabelen mĂ„ vĂŠre flat;
  • maksimal lengde pĂ„ kabelen er 18 tommer (45,7 centimeter).

Den korte og brede kabelen var upraktisk og hindret kjĂžlingen. Det ble stadig vanskeligere Ă„ Ăžke overfĂžringsfrekvensen med hver pĂ„fĂžlgende versjon av standarden, og ATA-7 lĂžste problemet radikalt: den parallelle grensesnittet ble erstattet med et seriĂžst. Etter dette fikk ATA tillegget Parallel og ble kalt PATA, mens den syvende versjonen av standarden fikk et nytt navn — Serial ATA. Versjonsnummereringen for SATA begynte med en.

SATA

Introduksjon til SSD. Del 2. Grensesnittet
Standarden Serial ATA (SATA) ble introdusert 7. januar 2003 og lĂžste problemene til sin forgjenger med fĂžlgende endringer:

  • den parallelle porten ble erstattet med en seriell;
  • den brede 80-trĂ„ds kabelen ble erstattet med en 7-trĂ„ds;
  • topologien «felles buss» ble erstattet med tilkoblingen «punkt-til-punkt».

Selv om standarden SATA 1.0 (SATA/150, 150 MB/s) var litt raskere enn ATA-6 (UltraDMA/130, 130 MB/s), var overgangen til seriell datautveksling en «forberedelse til» hastighetsÞkning.

Seksten signallinjer for datatransport i ATA ble erstattet med to tvinnede par: ett for sending og ett for mottak. SATA-kontaktene er designet for stÞrre motstand mot flere tilkoblinger, og spesifikasjonen SATA 1.0 muliggjorde «hot plug».

Noen pinner pÄ diskene er kortere enn de andre. Dette er gjort for Ä stÞtte «hot swap». Under utskifting «taper» enheten og «finner» linjene i en forhÄndsbestemt rekkefÞlge.

Litt over ett Är senere, i april 2004, ble den andre versjonen av SATA-spesifikasjonen lansert. Utover en hastighetsÞkning til 3 Gbit/s, ble det introdusert teknologien Native Command Queuing (NCQ). Enheter som stÞtter NCQ kan selvstendig organisere rekkefÞlgen pÄ utfÞrelsen av innkommende kommandoer for Ä oppnÄ maksimal ytelse.

Introduksjon til SSD. Del 2. Grensesnittet
I lÞpet av de neste tre Ärene jobbet SATA Working Group med Ä forbedre den eksisterende spesifikasjonen, og i versjon 2.6 ble det innfÞrt kompakte kontakter som Slimline og micro SATA (uSATA). Disse kontaktene er en redusert versjon av den originale SATA-kontakten og er designet for optiske stasjoner og smÄ disker i bÊrbare datamaskiner.

Selv om den andre generasjonen av SATA hadde tilstrekkelig bÄndbredde for harddisker, krevde solid-state-disker mer. I mai 2009 ble den tredje versjonen av SATA-spesifikasjonen lansert med en Þkt bÄndbredde pÄ 6 Gbit/s.

Introduksjon til SSD. Del 2. Grensesnittet
Spesielt mye oppmerksomhet ble rettet mot solid-state-disker i SATA 3.1-utgaven. En Mini-SATA (mSATA) kontakt ble introdusert for tilkobling av solid-state-disker i bÊrbare datamaskiner. I motsetning til Slimline og uSATA, var den nye kontakten lik PCIe Mini, selv om den ikke var elektrisk kompatibel med PCIe. Utover den nye kontakten kunne SATA 3.1 ogsÄ skryte av muligheten til Ä sette TRIM-kommandoer i kÞ sammen med lese- og skrivekommandoer.

TRIM-kommandoen varsler solid-state-disken om dataspor som ikke bĂŠrer nyttelast. FĂžr SATA 3.1, fĂžrte utfĂžrelsen av denne kommandoen til tilbakestilling av hurtigbufferne og pauser i inn- og utdataoperasjoner fĂžr TRIM-kommandoen ble utfĂžrt. Denne tilnĂŠrmingen reduserte diskens ytelse under slettingsoperasjoner.

SATA-spesifikasjonen klarte ikke Ä fÞlge den raske veksten i tilgangshastigheten til solid-state-disker, noe som fÞrte til introduksjonen av en kompromisslÞsning kalt SATA Express i SATA 3.2-standarden i 2013. I stedet for Ä doble bÄndbredden til SATA igjen, utnyttet utviklerne den utbredte PCIe-bussen, som har hastigheter som overskrider 6 Gbit/s. Disker som stÞtter SATA Express fikk sin egen formfaktor kalt M.2.

SAS

Introduksjon til SSD. Del 2. Grensesnittet
Den «konkurrerende» ATA-standarden SCSI sto heller ikke stille, og bare ett Är etter lanseringen av Serial ATA, i 2004, ble det omdannet til et sekvensielt grensesnitt. Navnet pÄ det nye grensesnittet er Serial Attached SCSI (SAS).

Til tross for at SAS arvet SCSI-instruksjonssettet, var endringene betydelige:

  • sekventiell grensesnitt;
  • 29-pinners strĂžm kabel;
  • punkt-til-punkt tilkobling

Terminologien fra SCSI ble ogsÄ arvet. Kontrolleren kalles fortsatt initiator, mens de tilkoblede enhetene kalles mÄl. Alle mÄl-enheter og initiator danner et SAS-domene. I SAS er bÄndbredden pÄ tilkoblingen uavhengig av antall enheter i domenet, da hver enhet bruker sin dedikerte kanal.

Det maksimale antallet enheter som kan kobles til et SAS-domene ifĂžlge spesifikasjonen overstiger 16 000, og i stedet for SCSI-ID for adressering brukes en identifikator World-Wide Name (WWN).

WWN er en unik identifikator med en lengde pÄ 16 byte, lik MAC-adressen for SAS-enheter.

Introduksjon til SSD. Del 2. Grensesnittet
Til tross for likheten mellom SAS- og SATA-kontakter, er disse standardene ikke helt kompatible. Imidlertid kan en SATA-disk kobles til en SAS-kontakt, men ikke omvendt. Kompatibiliteten mellom SATA-disker og SAS-domenet oppnÄs ved hjelp av SATA Tunneling Protocol (STP).

Den fÞrste versjonen av SAS-1 har en bÄndbredde pÄ 3 Gbit/s, mens den nyeste, SAS-4, forbedret dette tallet syv ganger: 22,5 Gbit/s.

PCIe

Introduksjon til SSD. Del 2. Grensesnittet
Peripheral Component Interconnect Express (PCI Express, PCIe) er et sekvensielt grensesnitt for datatransport, introdusert i 2002. Utviklingen ble startet av Intel, og ble senere overfþrt til en spesialorganisasjon — PCI Special Interest Group.

Det sekvensielle grensesnittet PCIe var ikke noe unntak og ble en logisk fortsettelse av det parallelle PCI, som var ment for tilkobling av utvidelseskort.

PCI Express skiller seg betydelig fra SATA og SAS. PCIe-grensesnittet har et variabelt antall linjer. Antallet linjer er lik potenser av to og varierer mellom 1 og 16.

Begrepet «linje» i PCIe refererer ikke til en spesifikk signal linje, men til en separat full duplex kommunikasjonskanal bestÄende av fÞlgende signal linjer:

  • mottak+ og mottak-;
  • overfĂžring+ og overfĂžring-;
  • fire jordlinjer.

Antallet PCIe-linjer pÄvirker direkte den maksimale bÄndbredden til forbindelsen. Den moderne standarden PCI Express 4.0 tillater Ä oppnÄ 1,9 GB/s per linje, og 31,5 GB/s ved bruk av 16 linjer.

Introduksjon til SSD. Del 2. Grensesnittet
«Appetitten» til solid-state-disker vokser veldig raskt. BÄde SATA og SAS klarer ikke Ä Þke bÄndbredden sin for Ä «henge med» SSD, noe som har fÞrt til fremkomsten av SSD-disker med PCIe-tilkobling.

Selv om PCIe Add-In-kort festes med skruer, stÞtter PCIe «hot swapping». De korte pinnene PRSNT lar deg bekrefte at kortet er helt installert i sporet.

Solid-state-disker som er koblet til via PCIe reguleres av en egen standard. Non-Volatile Memory Host Controller Interface Specification og finnes i mange formfaktorer, men om dem vil vi snakke i neste del.

Fjernlagringsenheter

Med opprettelsen av store datalagringssystemer oppsto det behov for protokoller som lar deg koble til lagringsenheter som er plassert utenfor serveren. Den fÞrste lÞsningen i dette omrÄdet var Internet SCSI (iSCSI), utviklet av IBM og Cisco i 1998.

Ideen bak iSCSI-protokollen er enkel: SCSI-kommandoer «pakket» i TCP/IP-pakker og sendt over nettverket. Til tross for den fjerndrevne tilkoblingen gir det klientene inntrykk av at lagringsenheten er koblet lokalt. Et Storage Area Network (SAN) bygget pÄ iSCSI kan bygges pÄ eksisterende nettverksinfrastruktur. Bruken av iSCSI reduserer betydelig kostnadene knyttet til opprettelsen av SAN.

iSCSI har en «premium» versjon — Fibre Channel Protocol (FCP). SAN som bruker FCP bygges pĂ„ dedikerte fiberoptiske kommunikasjonslinjer. Denne tilnĂŠrmingen krever ekstra optisk nettverksutstyr, men er stabil og har hĂžy bĂ„ndbredde.

Det finnes mange protokoller for Ă„ sende SCSI-kommandoer over datanettverk. Likevel er det bare Ă©n standard som lĂžser den motsatte oppgaven og lar deg sende IP-pakker over SCSI-bussen — IP-over-SCSI.

De fleste protokoller for opprettelse av SAN bruker SCSI-kommandoer for Ă„ styre lagringsenheter, men det finnes unntak, for eksempel den enkle ATA over Ethernet (AoE). AoE-protokollen sender ATA-kommandoer i Ethernet-pakker, men i systemet vises lagringsenhetene som SCSI.

Med fremkomsten av NVM Express-lagringsenheter har iSCSI- og FCP-protokollene sluttet Ă„ oppfylle de raskt voksende kravene til solid-state-disker. To lĂžsninger har dukket opp:

  • Ă„ fĂžre PCI Express-bussen utenfor serveren;
  • opprettelse av NVMe over Fabrics-protokollen.

Utslepp av PCIe-banen kobles til opprettelsen av komplisert svitsjeutstyr, men endrer ikke protokollen.

NVMe over Fabrics-protokollen har blitt et godt alternativ til iSCSI og FCP. NVMe-oF bruker fiberoptiske forbindelser og NVM Express-kommandoer.

DDR-T

Introduksjon til SSD. Del 2. Grensesnittet
Standardene iSCSI og NVMe-oF lĂžser problemet med tilkobling av eksterne disker som lokale, mens Intel har valgt en annen vei og maksimerer nĂŠrhet av lokale disker til prosessoren. Valget falt pĂ„ DIMM-spor, hvor RAM installeres. Den maksimale bĂ„ndbredden til DDR4-kabelen er 25 GB/s, som betydelig overstiger hastigheten til PCIe-bussen. Dermed kom IntelÂź Optaneℱ DC Persistent Memory til.

For Ă„ koble lagringsenheten til DIMM-sporene ble det oppfunnet en protokoll DDR-T, fysisk og elektrisk kompatibel med DDR4, men krever en spesiell kontroller som ser forskjellen mellom minnebrikken og lagringsenheten. Tilgangshastigheten til lagringsenheten er lavere enn for RAM, men hĂžyere enn for NVMe.

DDR-T-protokollen er kun tilgjengelig med IntelÂź prosessorer av Cascade Lake generasjonen eller nyere.

Konklusjon

Nesten alle grensesnitt har gjennomgÄtt en lang utviklingsprosess fra sekvensiell til parallell datatransmisjon. Hastighetene for solid-state-disker vokser raskt, i gÄr var solid-state-disker en sjeldenhet, men i dag vekker NVMe ikke lenger spesiell overraskelse.

In our laboratory Selectel Lab du kan teste SSD- og NVMe-disker selv.

Kun registrerte brukere kan delta i undersÞkelsen. Logg inn, vÊr sÄ snill.

Vil NVMe-disker erstatte klassiske SSD-er snart?

  • 55.5%Ja100

  • 44.4%Nei80

180 brukere har stemt. 28 brukere avsto.

Kilde: habr.com

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster