Introduksjon til SSD. Del 2. Grensesnitt

Introduksjon til SSD. Del 2. Grensesnitt

В siste del syklus "Introduksjon til SSD" vi snakket om historien til utseendet til disker. Den andre delen vil fortelle om grensesnittene for samhandling med stasjoner.

Kommunikasjon mellom prosessoren og periferiutstyr skjer i henhold til forhåndsdefinerte konvensjoner kalt grensesnitt. Disse avtalene regulerer det fysiske og programvarenivået for interaksjon.

Grensesnitt - et sett med midler, metoder og regler for samhandling mellom elementer i systemet.

Den fysiske implementeringen av et grensesnitt påvirker følgende parametere:

  • gjennomstrømning av kommunikasjonskanalen;
  • maksimalt antall samtidig tilkoblede enheter;
  • antall feil som oppstår.

Diskgrensesnitt er bygget på I/O-porter, som er det motsatte av minne I/O og tar ikke opp plass i prosessorens adresserom.

Parallelle og serielle porter

I henhold til metoden for datautveksling er I / O-porter delt inn i to typer:

  • parallell;
  • konsistent.

Som navnet tilsier sender parallellporten et maskinord om gangen, bestående av flere biter. En parallellport er den enkleste måten å utveksle data på, siden den ikke krever komplekse kretsløsninger. I det enkleste tilfellet sendes hver bit av maskinordet på sin egen signallinje, og to servicesignallinjer brukes for tilbakemelding: Data klar и Data akseptert.

Introduksjon til SSD. Del 2. Grensesnitt
Parallelle porter, ved første øyekast, skalerer godt: flere signallinjer - flere biter overføres om gangen og dermed høyere gjennomstrømning. På grunn av økningen i antall signallinjer oppstår imidlertid interferens mellom dem, noe som fører til forvrengning av de overførte meldingene.

Serieporter er det motsatte av parallelle. Data sendes en bit om gangen, noe som reduserer det totale antallet signallinjer, men kompliserer I/O-kontrolleren. Senderkontrolleren mottar maskinordet om gangen og må sende en bit om gangen, og mottakerkontrolleren må på sin side motta bitene og lagre dem i samme rekkefølge.

Introduksjon til SSD. Del 2. Grensesnitt
Et lite antall signallinjer lar deg øke frekvensen for meldingsoverføring uten forstyrrelser.

SCSI

Introduksjon til SSD. Del 2. Grensesnitt
Small Computer Systems Interface (SCSI) dukket opp tilbake i 1978 og ble opprinnelig designet for å kombinere enheter med forskjellige profiler til et enkelt system. SCSI-1-spesifikasjonen sørget for tilkobling av opptil 8 enheter (sammen med kontrolleren), for eksempel:

  • skannere;
  • båndstasjoner (streamere);
  • optiske stasjoner;
  • diskstasjoner og andre enheter.

SCSI ble opprinnelig kalt Shugart Associates System Interface (SASI), men standardkomiteen ville ikke godkjenne et navn etter selskapet, og etter en dag med brainstorming ble navnet Small Computer Systems Interface (SCSI) født. "Faren" til SCSI, Larry Boucher, hadde til hensikt at akronymet skulle uttales "sexy", men Dal Allan les "sсuzzy" ("fortell"). Deretter ble uttalen av "fortell" godt forankret i denne standarden.

I SCSI-terminologi er tilkoblede enheter delt inn i to typer:

  • initiativtakere;
  • målenheter.

Initiativtakeren sender en kommando til målenheten, som deretter sender et svar til initiatoren. Initiatorene og målene er koblet til en felles SCSI-buss, som har en båndbredde på 1 MB/s i SCSI-5-standarden.

Den "vanlige buss" -topologien som brukes pålegger en rekke begrensninger:

  • i enden av bussen er det nødvendig med spesielle enheter - terminatorer;
  • bussbåndbredde deles mellom alle enheter;
  • Maksimalt antall samtidig tilkoblede enheter er begrenset.

Introduksjon til SSD. Del 2. Grensesnitt

Enheter på bussen identifiseres med et unikt nummer som kalles SCSI-mål-ID. Hver SCSI-enhet i systemet er representert av minst én logisk enhet, som adresseres av et unikt nummer i den fysiske enheten. Logisk enhetsnummer (LUN).

Introduksjon til SSD. Del 2. Grensesnitt
Kommandoer i SCSI sendes i skjemaet kommandobeskrivelsesblokker (Command Descriptor Block, CDB), som består av en operasjonskode og kommandoparametere. Standarden beskriver mer enn 200 kommandoer, delt inn i fire kategorier:

  • Påbudt, bindende — må støttes av enheten;
  • Valgfritt - kan implementeres;
  • Leverandørspesifikk - brukt av en spesifikk produsent;
  • Foreldet - foreldede kommandoer.

Blant de mange kommandoene er bare tre av dem obligatoriske for enheter:

  • TESTENHET KLAR — kontrollere beredskapen til enheten;
  • FORESPØR SENSE — ber om feilkoden til forrige kommando;
  • KONTAKT — be om hovedegenskapene til enheten.

Etter å ha mottatt og behandlet kommandoen, sender målenheten en statuskode til initiativtakeren, som beskriver resultatet av utførelsen.

Ytterligere forbedring av SCSI (SCSI-2 og Ultra SCSI spesifikasjoner) utvidet listen over brukte kommandoer og økte antall tilkoblede enheter opp til 16, og datautvekslingshastigheten på bussen opp til 640 MB/s. Siden SCSI er et parallelt grensesnitt, var økning i frekvensen av datautveksling assosiert med en reduksjon i maksimal kabellengde og førte til ulemper ved bruk.

Fra og med Ultra-3 SCSI-standarden, har støtte for "hot plugging" dukket opp - kobler til enheter når strømmen er på.

Den første kjente SCSI SSD-en var M-Systems FFD-350, utgitt i 1995. Disken hadde en høy pris og ble ikke mye brukt.

Foreløpig er ikke parallell SCSI et populært diskgrensesnitt, men kommandosettet brukes fortsatt aktivt i USB- og SAS-grensesnitt.

ATA/PATA

Introduksjon til SSD. Del 2. Grensesnitt
grensesnitt ATA (Advanced Technology Attachment), også kjent som PATA (Parallel ATA) ble utviklet av Western Digital i 1986. Markedsføringsnavnet for IDE-standarden (Eng. Integrated Drive Electronics - "elektronikk innebygd i stasjonen") understreket en viktig innovasjon: stasjonskontrolleren var integrert i stasjonen, og ikke på et eget utvidelseskort.

Beslutningen om å plassere kontrolleren inne i stasjonen løste flere problemer på en gang. For det første har avstanden fra stasjonen til kontrolleren redusert, noe som påvirket ytelsen til stasjonen positivt. For det andre ble den innebygde kontrolleren "skjerpet" bare for en viss type stasjon og var følgelig billigere.

Introduksjon til SSD. Del 2. Grensesnitt
ATA, som SCSI, bruker en parallell I/O-metode, som gjenspeiles i kablene som brukes. Koble til stasjoner ved hjelp av IDE-grensesnittet krever 40-kjerner kabler, også referert til som flatkabler. Nyere spesifikasjoner bruker 80-leder stubber, mer enn halvparten av disse er jordsløyfer for å redusere interferens ved høye frekvenser.

Det er to til fire kontakter på ATA-kabelen, hvorav den ene er koblet til hovedkortet, og resten til stasjonene. Når du kobler to enheter i en sløyfe, må en av dem konfigureres som Master, og den andre som Slave. Den tredje enheten kan bare kobles til i skrivebeskyttet modus.

Introduksjon til SSD. Del 2. Grensesnitt
Posisjonen til jumperen bestemmer rollen til en bestemt enhet. Begrepene Master og Slave i forhold til enheter er ikke helt korrekte, siden i forhold til kontrolleren er alle tilkoblede enheter Slaver.

En spesiell innovasjon i ATA-3 er utseendet Selvovervåking, Analyse- og rapporteringsteknologi (SMART). Fem selskaper (IBM, Seagate, Quantum, Conner og Western Digital) har slått seg sammen og standardisert drive helsevurderingsteknologi.

Støtte for solid state-stasjoner har eksistert siden versjon 1998 av standarden, utgitt i 33.3. Denne versjonen av standarden ga dataoverføringshastigheter på opptil XNUMX MB/s.

Standarden stiller strenge krav til ATA-kabler:

  • plommen må være flat;
  • maksimal toglengde 18 tommer (45.7 centimeter).

Det korte og brede toget var upraktisk og forstyrret kjølingen. Det ble mer og mer vanskelig å øke overføringsfrekvensen med hver påfølgende versjon av standarden, og ATA-7 løste problemet radikalt: det parallelle grensesnittet ble erstattet av et seriell. Etter det kjøpte ATA ordet Parallel og ble kjent som PATA, og den syvende versjonen av standarden fikk et annet navn - Serial ATA. SATA-versjonsnummerering startet fra én.

SATA

Introduksjon til SSD. Del 2. Grensesnitt
Serial ATA (SATA)-standarden ble introdusert 7. januar 2003 og tok opp problemene til forgjengeren med følgende endringer:

  • parallellport erstattet av seriell;
  • bred 80-leder kabel erstattet av 7-leder;
  • "vanlig buss"-topologien er erstattet med en "punkt-til-punkt"-forbindelse.

Selv om SATA 1.0 (SATA/150, 150 MB/s) var marginalt raskere enn ATA-6 (UltraDMA/130, 130 MB/s), var overgangen til seriell kommunikasjon "satte grunnen" for hastigheter.

Seksten signallinjer for dataoverføring i ATA ble erstattet med to snoede par: en for overføring, den andre for mottak. SATA-kontakter er designet for å være mer motstandsdyktige mot flere gjentilkoblinger, og SATA 1.0-spesifikasjonen gjorde hot plugging mulig.

Noen pinner på stasjonene er kortere enn alle de andre. Dette gjøres for å støtte "hot swap" (Hot Swap). Under erstatningsprosessen "mister" og "finner" enheten linjene i en forhåndsbestemt rekkefølge.

Litt mer enn et år senere, i april 2004, ble den andre versjonen av SATA-spesifikasjonen utgitt. I tillegg til å akselerere opptil 3 Gb/s, introduserte SATA 2.0 teknologi Innfødt kommandokø (NCQ). Enheter med NCQ-støtte er i stand til å uavhengig organisere rekkefølgen for utførelse av innkommende kommandoer for å oppnå maksimal ytelse.

Introduksjon til SSD. Del 2. Grensesnitt
De neste tre årene jobbet SATA Working Group for å forbedre den eksisterende spesifikasjonen, og versjon 2.6 introduserte kompakte Slimline og micro SATA (uSATA) kontakter. Disse kontaktene er en mindre versjon av den originale SATA-kontakten og er designet for optiske stasjoner og små stasjoner i bærbare datamaskiner.

Mens andregenerasjons SATA hadde nok båndbredde for HDD-er, krevde SSD-er mer. I mai 2009 ble den tredje versjonen av SATA-spesifikasjonen utgitt med økt båndbredde til 6 Gb/s.

Introduksjon til SSD. Del 2. Grensesnitt
Spesiell oppmerksomhet ble viet til solid state-stasjoner i SATA 3.1-utgaven. En Mini-SATA (mSATA)-kontakt har dukket opp, designet for å koble til solid-state-stasjoner i bærbare datamaskiner. I motsetning til Slimline og uSATA så den nye kontakten ut som en PCIe Mini, selv om den ikke var elektrisk kompatibel med PCIe. I tillegg til den nye kontakten, skrøt SATA 3.1 av muligheten til å sette TRIM-kommandoer i kø med lese- og skrivekommandoer.

TRIM-kommandoen varsler SSD-en om datablokker som ikke har nyttelast. Før SATA 3.1 ville denne kommandoen tømme cacher og suspendere I/O-operasjoner, etterfulgt av en TRIM-kommando. Denne tilnærmingen reduserte diskytelsen under sletteoperasjoner.

SATA-spesifikasjonen har ikke holdt tritt med den raske veksten i tilgangshastigheter for SSD-er, noe som førte til et kompromiss i 2013 kalt SATA Express i SATA 3.2-standarden. I stedet for å doble båndbredden til SATA igjen, har utviklerne brukt den mye brukte PCIe-bussen, hvis hastighet overstiger 6 Gb/s. Disker med SATA Express-støtte har fått sin egen formfaktor kalt M.2.

SAS

Introduksjon til SSD. Del 2. Grensesnitt
SCSI-standarden, "konkurrerer" med ATA, sto heller ikke stille, og bare et år etter at Serial ATA dukket opp, i 2004, ble den gjenfødt til et serielt grensesnitt. Navnet på det nye grensesnittet er Serial Attached SCSI (SEDGE).

Selv om SAS arvet SCSI-kommandosettet, var endringene betydelige:

  • seriell grensesnitt;
  • 29-leder kabel med strømforsyning;
  • punkt-til-punkt forbindelse

SCSI-terminologi har også blitt arvet. Kontrolleren kalles fortsatt initiator, og de tilkoblede enhetene kalles målet. Alle målenheter og initiativtakeren danner et SAS-domene. I SAS avhenger ikke tilkoblingsbåndbredden av antall enheter i domenet, siden hver enhet bruker sin egen dedikerte kanal.

Maksimalt antall samtidig tilkoblede enheter i et SAS-domene, i henhold til spesifikasjonen, overstiger 16 tusen, og i stedet for en SCSI-ID, brukes en identifikator for adressering Verdensomspennende navn (WWN).

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

Introduksjon til SSD. Del 2. Grensesnitt
Til tross for likhetene mellom SAS- og SATA-kontakter, er disse standardene ikke fullt ut kompatible. En SATA-stasjon kan imidlertid kobles til en SAS-kontakt, men ikke omvendt. Kompatibilitet mellom SATA-stasjoner og SAS-domenet er sikret ved hjelp av SATA Tunneling Protocol (STP).

Den første versjonen av SAS-1-standarden har en båndbredde på 3 Gb/s, og den mest moderne, SAS-4, har forbedret dette tallet med 7 ganger: 22,5 Gb/s.

PCIe

Introduksjon til SSD. Del 2. Grensesnitt
Peripheral Component Interconnect Express (PCI Express, PCIe) er et seriell grensesnitt for dataoverføring, som dukket opp i 2002. Utviklingen ble startet av Intel, og deretter overført til en spesiell organisasjon - PCI Special Interest Group.

Det serielle PCIe-grensesnittet var intet unntak og ble en logisk fortsettelse av parallell PCI, som er designet for å koble til utvidelseskort.

PCI Express er vesentlig forskjellig fra SATA og SAS. PCIe-grensesnittet har et variabelt antall baner. Antall linjer er lik to potenser og varierer fra 1 til 16.

Begrepet "bane" i PCIe refererer ikke til et spesifikt signalfelt, men til en separat full-dupleks kommunikasjonskobling som består av følgende signalfelt:

  • motta+ og motta-;
  • overføring+ og overføring-;
  • fire jordledninger.

Antall PCIe-baner påvirker direkte den maksimale båndbredden til forbindelsen. Den nåværende PCI Express 4.0-standarden lar deg oppnå 1.9 GB/s på en enkelt linje, og 31.5 GB/s ved bruk av 16 linjer.

Introduksjon til SSD. Del 2. Grensesnitt
«Appetitten» til solid-state-stasjoner vokser veldig raskt. Både SATA og SAS klarer ikke å øke båndbredden for å holde tritt med SSD-er, noe som har ført til bruken av PCIe-tilkoblede SSD-er.

Selv om PCIe Add-In-kort er skrudd på, er PCIe hot-swapable. Korte pinner PRSNT (engelsk present - present) sørg for at kortet er helt installert i sporet.

Solid state-stasjoner tilkoblet via PCIe er regulert av en egen standard Ikke-flyktig minne vertskontrollergrensesnittspesifikasjon og er nedfelt i en rekke formfaktorer, men vi vil snakke om dem i neste del.

Eksterne stasjoner

Ved opprettelse av store datavarehus var det behov for protokoller som lar deg koble til stasjoner plassert utenfor serveren. Den første løsningen på dette området var Internett SCSI (iSCSI), utviklet av IBM og Cisco i 1998.

Ideen bak iSCSI-protokollen er enkel: SCSI-kommandoer "pakkes" inn i TCP/IP-pakker og sendes til nettverket. Til tross for den eksterne tilkoblingen, gir det en illusjon for klientene at stasjonen er tilkoblet lokalt. Storage Area Network (SAN), basert på iSCSI, kan bygges på eksisterende nettverksinfrastruktur. Bruken av iSCSI reduserer kostnadene ved å organisere et SAN betydelig.

iSCSI har et "premium"-alternativ - Fiberkanalprotokoll (FCP). SAN som bruker FCP er bygget på dedikerte fiberoptiske kommunikasjonslinjer. Denne tilnærmingen krever ekstra optisk nettverksutstyr, men er stabil og høy gjennomstrømming.

Det finnes mange protokoller for å sende SCSI-kommandoer over datanettverk. Imidlertid er det bare én standard som løser det motsatte problemet og lar deg sende IP-pakker over SCSI-bussen - IP over SCSI.

De fleste SAN-protokoller bruker SCSI-kommandosettet for å administrere stasjoner, men det finnes unntak, for eksempel den enkle ATA over Ethernet (AOE). AoE-protokollen sender ATA-kommandoer i Ethernet-pakker, men stasjonene vises som SCSI i systemet.

Med bruken av NVM Express-stasjoner oppfyller ikke lenger iSCSI- og FCP-protokoller de raskt voksende kravene til SSD-er. To løsninger dukket opp:

  • fjerning av PCI Express-bussen utenfor serveren;
  • opprettelse av NVMe over Fabrics-protokollen.

Fjerning av PCIe-bussen skaper kompleks svitsjmaskinvare, men endrer ikke protokollen.

NVMe over Fabrics-protokollen har blitt et godt alternativ til iSCSI og FCP. NVMe-oF bruker en fiberoptisk kobling og NVM Express-kommandosettet.

DDR-T

Introduksjon til SSD. Del 2. Grensesnitt
iSCSI- og NVMe-oF-standardene løser problemet med å koble til eksterne stasjoner som lokale, mens Intel gikk den andre veien og brakte den lokale stasjonen så nærme prosessoren som mulig. Valget falt på DIMM-sporene som RAM-en er koblet til. Maksimal DDR4-båndbredde er 25 GB/s, som er mye raskere enn PCIe-bussen. Dette er hvordan Intel® Optane™ DC Persistent Memory SSD ble født.

En protokoll ble oppfunnet for å koble en stasjon til DIMM-spor DDR-T, fysisk og elektrisk kompatibel med DDR4, men krever en spesiell kontroller som ser forskjellen mellom en minnelinje og en stasjon. Hastigheten for tilgang til stasjonen er mindre enn til RAM, men mer enn til NVMe.

DDR-T er bare tilgjengelig med Intel® Cascade Lake-generasjonsprosessorer eller nyere.

Konklusjon

Nesten alle grensesnitt har kommet langt fra seriell til parallell dataoverføring. SSD-hastighetene skyter i været, i går var SSD-er en kuriositet, og i dag er NVMe ikke lenger en overraskelse.

I vårt laboratorium Selectel Lab du kan teste SSD- og NVMe-stasjoner selv.

Kun registrerte brukere kan delta i undersøkelsen. Logg inn, vær så snill.

Vil NVMe-stasjoner erstatte klassiske SSD-er i nær fremtid?

  • 55.5%Ja 100

  • 44.4%No80

180 brukere stemte. 28 brukere avsto.

Kilde: www.habr.com

Legg til en kommentar