Introduktion til SSD. Del 2. Interface

Introduktion til SSD. Del 2. Interface

В sidste del cyklus "Introduktion til SSD" vi talte om historien om udseendet af diske. Den anden del vil fortælle om grænseflader til interaktion med drev.

Kommunikation mellem processor og periferiudstyr sker i henhold til foruddefinerede konventioner kaldet grænseflader. Disse aftaler regulerer det fysiske og softwaremæssige niveau af interaktion.

Interface - et sæt midler, metoder og regler for interaktion mellem elementer i systemet.

Den fysiske implementering af en grænseflade påvirker følgende parametre:

  • gennemstrømning af kommunikationskanalen;
  • det maksimale antal samtidigt tilsluttede enheder;
  • antallet af fejl, der opstår.

Diskgrænseflader er bygget på I/O-porte, som er det modsatte af memory I/O og ikke optager plads i processorens adresserum.

Parallelle og serielle porte

I henhold til metoden til dataudveksling er I/O-porte opdelt i to typer:

  • parallel;
  • konsekvent.

Som navnet antyder, sender parallelporten et maskinord ad gangen, bestående af flere bits. En parallelport er den nemmeste måde at udveksle data på, da den ikke kræver komplekse kredsløbsløsninger. I det enkleste tilfælde sendes hver bit af maskinordet på sin egen signallinje, og to servicesignallinjer bruges til feedback: Data klar и Data accepteret.

Introduktion til SSD. Del 2. Interface
Parallelle porte skaleres ved første øjekast godt: flere signallinjer - flere bits transmitteres ad gangen og derfor højere gennemløb. Men på grund af stigningen i antallet af signallinjer opstår der interferens mellem dem, hvilket fører til forvrængning af de transmitterede meddelelser.

Serielporte er det modsatte af parallelle. Data sendes en bit ad gangen, hvilket reducerer det samlede antal signallinjer, men komplicerer I/O-controlleren. Sendercontrolleren modtager maskinordet ad gangen og skal transmittere en bit ad gangen, og modtagercontrolleren skal igen modtage bitsene og gemme dem i samme rækkefølge.

Introduktion til SSD. Del 2. Interface
Et lille antal signallinjer giver dig mulighed for at øge frekvensen af ​​meddelelsestransmission uden interferens.

SCSI

Introduktion til SSD. Del 2. Interface
Small Computer Systems Interface (SCSI) dukkede op tilbage i 1978 og blev oprindeligt designet til at kombinere enheder med forskellige profiler i et enkelt system. SCSI-1-specifikationen sørgede for tilslutning af op til 8 enheder (sammen med controlleren), såsom:

  • scannere;
  • båndstationer (streamere);
  • optiske drev;
  • diskdrev og andre enheder.

SCSI blev oprindeligt kaldt Shugart Associates System Interface (SASI), men standardudvalget ville ikke godkende navnet efter virksomheden, og efter en dags brainstorming blev navnet Small Computer Systems Interface (SCSI) født. Faderen til SCSI, Larry Boucher, havde til hensigt, at akronymet skulle udtales "sexet", men Dal Allan læs "sсuzzy" ("fortælle"). Efterfølgende blev udtalen af ​​"fortælle" fast forankret i denne standard.

I SCSI-terminologi er tilsluttede enheder opdelt i to typer:

  • initiativtagere;
  • målenheder.

Initiativtageren sender en kommando til målenheden, som derefter sender et svar til initiatoren. Initiatorerne og målene er forbundet til en fælles SCSI-bus, som har en båndbredde på 1 MB/s i SCSI-5-standarden.

Den anvendte "fælles bus"-topologi pålægger en række begrænsninger:

  • i enderne af bussen er der brug for specielle enheder - terminatorer;
  • busbåndbredde deles mellem alle enheder;
  • Det maksimale antal samtidigt tilsluttede enheder er begrænset.

Introduktion til SSD. Del 2. Interface

Enheder på bussen identificeres med et unikt nummer, der kaldes SCSI-mål-id. Hver SCSI-enhed i systemet er repræsenteret af mindst én logisk enhed, som er adresseret af et unikt nummer i den fysiske enhed. Logisk enhedsnummer (LUN).

Introduktion til SSD. Del 2. Interface
Kommandoer i SCSI sendes i formularen kommandobeskrivelsesblokke (Command Descriptor Block, CDB), bestående af en operationskode og kommandoparametre. Standarden beskriver mere end 200 kommandoer, opdelt i fire kategorier:

  • Obligatorisk — skal understøttes af enheden;
  • Valgfri - kan implementeres;
  • Leverandør-specifik - bruges af en bestemt producent;
  • Forældet - forældede kommandoer.

Blandt de mange kommandoer er kun tre af dem obligatoriske for enheder:

  • TESTENHEDEN KLAR — kontrol af udstyrets beredskab;
  • ANMOD SENSE — anmoder om fejlkoden for den forrige kommando;
  • UNDERSØGELSE — anmode om enhedens vigtigste egenskaber.

Efter modtagelse og behandling af kommandoen sender målenheden en statuskode til initiatoren, som beskriver resultatet af udførelsen.

Yderligere forbedring af SCSI (SCSI-2 og Ultra SCSI specifikationer) udvidede listen over brugte kommandoer og øgede antallet af tilsluttede enheder op til 16, og dataudvekslingshastigheden på bussen op til 640 MB/s. Da SCSI er en parallel grænseflade, var en forøgelse af frekvensen af ​​dataudveksling forbundet med et fald i den maksimale kabellængde og førte til besvær ved brug.

Startende med Ultra-3 SCSI-standarden er der dukket understøttelse af "hot plugging" op - tilslutning af enheder, når strømmen er tændt.

Den første kendte SCSI SSD var M-Systems FFD-350, udgivet i 1995. Disken havde en høj pris og blev ikke brugt meget.

I øjeblikket er parallel SCSI ikke en populær diskgrænseflade, men kommandosættet bruges stadig aktivt i USB- og SAS-grænseflader.

ATA/PATA

Introduktion til SSD. Del 2. Interface
grænseflade ATA (Advanced Technology Attachment), også kendt som PATA (Parallel ATA) blev udviklet af Western Digital i 1986. Markedsføringsnavnet for IDE-standarden (Eng. Integrated Drive Electronics - "elektronik indbygget i drevet") understregede en vigtig innovation: drevcontrolleren var integreret i drevet og ikke på et separat udvidelseskort.

Beslutningen om at placere controlleren inde i drevet løste flere problemer på én gang. For det første er afstanden fra drevet til controlleren faldet, hvilket positivt påvirkede drevets ydeevne. For det andet blev den indbyggede controller kun "skærpet" for en bestemt type drev og var følgelig billigere.

Introduktion til SSD. Del 2. Interface
ATA bruger ligesom SCSI en parallel I/O-metode, som afspejles i de anvendte kabler. Tilslutning af drev ved hjælp af IDE-grænsefladen kræver 40-lederkabler, også kaldet flade kabler. Nyere specifikationer bruger 80-leder stubbe, hvoraf mere end halvdelen er jordsløjfer for at reducere interferens ved høje frekvenser.

Der er to til fire stik på ATA-kablet, hvoraf det ene er tilsluttet bundkortet, og resten til drevene. Når du forbinder to enheder i én sløjfe, skal den ene af dem konfigureres som Mestre, og den anden som Slave. Den tredje enhed kan kun tilsluttes i skrivebeskyttet tilstand.

Introduktion til SSD. Del 2. Interface
Jumperens position bestemmer rollen for en bestemt enhed. Begreberne Master og Slave i forhold til enheder er ikke helt korrekte, da alle tilsluttede enheder i forhold til controlleren er slaver.

En særlig nyskabelse i ATA-3 er udseendet Selvovervågning, Analyse- og rapporteringsteknologi (SMART). Fem virksomheder (IBM, Seagate, Quantum, Conner og Western Digital) er gået sammen og har standardiseret teknologi til driv-sundhedsvurdering.

Understøttelse af solid state-drev har eksisteret siden version 1998 af standarden, udgivet i 33.3. Denne version af standarden leverede dataoverførselshastigheder på op til XNUMX MB/s.

Standarden stiller strenge krav til ATA-kabler:

  • fanen skal være flad;
  • maksimal toglængde 18 tommer (45.7 centimeter).

Det korte og brede tog var ubelejligt og forstyrrede afkølingen. Det blev mere og mere vanskeligt at øge transmissionsfrekvensen med hver efterfølgende version af standarden, og ATA-7 løste problemet radikalt: den parallelle grænseflade blev erstattet af en seriel. Derefter erhvervede ATA ordet Parallel og blev kendt som PATA, og den syvende version af standarden fik et andet navn - Serial ATA. SATA-versionsnummerering startede fra én.

SATA

Introduktion til SSD. Del 2. Interface
Serial ATA (SATA)-standarden blev introduceret den 7. januar 2003 og løste problemerne med sin forgænger med følgende ændringer:

  • parallelport erstattet af seriel;
  • bredt 80-leder kabel erstattet af 7-leder;
  • "fælles bus"-topologien er blevet erstattet med en "punkt-til-punkt"-forbindelse.

Selvom SATA 1.0 (SATA/150, 150 MB/s) var marginalt hurtigere end ATA-6 (UltraDMA/130, 130 MB/s), var overgangen til seriel kommunikation "grundlaget" for hastigheder.

Seksten signallinjer til datatransmission i ATA blev erstattet med to snoede par: en til transmission, den anden til modtagelse. SATA-stik er designet til at være mere modstandsdygtige over for flere genforbindelser, og SATA 1.0-specifikationen gjorde hot plugging muligt.

Nogle ben på drevene er kortere end alle de andre. Dette gøres for at understøtte "hot swap" (Hot Swap). Under udskiftningsprocessen "taber" enheden og "finder" linjerne i en forudbestemt rækkefølge.

Lidt mere end et år senere, i april 2004, blev den anden version af SATA-specifikationen frigivet. Ud over at accelerere op til 3 Gb/s introducerede SATA 2.0 teknologi Native Command Queuing (NCQ). Enheder med NCQ-understøttelse er i stand til uafhængigt at organisere rækkefølgen af ​​udførelse af indkommende kommandoer for at opnå maksimal ydeevne.

Introduktion til SSD. Del 2. Interface
De næste tre år arbejdede SATA Working Group på at forbedre den eksisterende specifikation, og version 2.6 introducerede kompakte Slimline og micro SATA (uSATA) stik. Disse stik er en mindre version af det originale SATA-stik og er designet til optiske drev og små drev i bærbare computere.

Mens andengenerations SATA havde nok båndbredde til HDD'er, krævede SSD'er mere. I maj 2009 blev den tredje version af SATA-specifikationen frigivet med øget båndbredde til 6 Gb/s.

Introduktion til SSD. Del 2. Interface
Der blev lagt særlig vægt på solid state-drev i SATA 3.1-udgaven. Et Mini-SATA (mSATA)-stik er dukket op, designet til at forbinde solid-state-drev i bærbare computere. I modsætning til Slimline og uSATA lignede det nye stik en PCIe Mini, selvom det ikke var elektrisk kompatibelt med PCIe. Ud over det nye stik kunne SATA 3.1 prale af evnen til at sætte TRIM-kommandoer i kø med læse- og skrivekommandoer.

TRIM-kommandoen giver SSD'en besked om datablokke, der ikke bærer en nyttelast. Før SATA 3.1 ville denne kommando tømme caches og suspendere I/O-operationer, efterfulgt af en TRIM-kommando. Denne tilgang forringede diskens ydeevne under sletningsoperationer.

SATA-specifikationen har ikke fulgt med den hurtige vækst i adgangshastigheder for SSD'er, hvilket førte til et kompromis i 2013 kaldet SATA Express i SATA 3.2-standarden. I stedet for at fordoble SATA-båndbredden igen, har udviklerne brugt den meget brugte PCIe-bus, hvis hastighed overstiger 6 Gb/s. Drev med SATA Express-understøttelse har fået deres egen formfaktor kaldet M.2.

SAS

Introduktion til SSD. Del 2. Interface
SCSI-standarden, der "konkurrerer" med ATA, stod heller ikke stille, og blot et år efter fremkomsten af ​​Serial ATA, i 2004, blev den genfødt til en seriel grænseflade. Navnet på den nye grænseflade er Serial Attached SCSI (SEDGE).

Selvom SAS arvede SCSI-kommandosættet, var ændringerne betydelige:

  • seriel interface;
  • 29-leder kabel med strømforsyning;
  • punkt-til-punkt forbindelse

SCSI-terminologien er også gået i arv. Controlleren kaldes stadig initiatoren, og de tilsluttede enheder kaldes målet. Alle målenheder og initiativtageren danner et SAS-domæne. I SAS afhænger forbindelsesbåndbredden ikke af antallet af enheder i domænet, da hver enhed bruger sin egen dedikerede kanal.

Det maksimale antal samtidigt tilsluttede enheder i et SAS-domæne overstiger ifølge specifikationen 16 tusinde, og i stedet for et SCSI-id bruges en identifikator til adressering Verdensomspændende navn (WWN).

WWN er en unik identifikator på 16 bytes lang, svarende til MAC-adressen for SAS-enheder.

Introduktion til SSD. Del 2. Interface
På trods af lighederne mellem SAS- og SATA-stik er disse standarder ikke fuldt ud kompatible. Et SATA-drev kan dog tilsluttes et SAS-stik, men ikke omvendt. Kompatibilitet mellem SATA-drev og SAS-domænet sikres ved hjælp af SATA Tunneling Protocol (STP).

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

PCIe

Introduktion til SSD. Del 2. Interface
Peripheral Component Interconnect Express (PCI Express, PCIe) er en seriel grænseflade til dataoverførsel, som dukkede op i 2002. Udviklingen blev startet af Intel, og efterfølgende overført til en særlig organisation - PCI Special Interest Group.

Det serielle PCIe-interface var ingen undtagelse og blev en logisk fortsættelse af parallel PCI, som er designet til at forbinde udvidelseskort.

PCI Express er væsentligt forskellig fra SATA og SAS. PCIe-grænsefladen har et variabelt antal baner. Antallet af linjer er lig med to potenser og går fra 1 til 16.

Udtrykket "bane" i PCIe refererer ikke til en specifik signalbane, men til en separat fuld-dupleks kommunikationsforbindelse bestående af følgende signalbaner:

  • modtage+ og modtage-;
  • transmission+ og transmission-;
  • fire jordledninger.

Antallet af PCIe-baner påvirker direkte forbindelsens maksimale båndbredde. Den nuværende PCI Express 4.0-standard giver dig mulighed for at opnå 1.9 GB/s på en enkelt linje og 31.5 GB/s, når du bruger 16 linjer.

Introduktion til SSD. Del 2. Interface
Solid-state-drevs "appetit" vokser meget hurtigt. Både SATA og SAS har ikke været i stand til at øge deres båndbredde for at holde trit med SSD'er, hvilket har ført til introduktionen af ​​PCIe-forbundne SSD'er.

Selvom PCIe Add-In-kort er skruet på, kan PCIe hot-swap. Korte stifter PRSNT (engelsk til stede - til stede) sørg for, at kortet er installeret helt i åbningen.

Solid state-drev tilsluttet via PCIe er reguleret af en separat standard Ikke-flygtig hukommelse Host Controller Interface Specifikation og er inkorporeret i en række forskellige formfaktorer, men vi vil tale om dem i næste del.

Fjerndrev

Ved oprettelse af store datavarehuse var der behov for protokoller, der gør det muligt at tilslutte drev, der er placeret uden for serveren. Den første løsning på dette område var Internet SCSI (iSCSI), udviklet af IBM og Cisco i 1998.

Idéen bag iSCSI-protokollen er enkel: SCSI-kommandoer "pakkes" ind i TCP/IP-pakker og sendes til netværket. På trods af fjernforbindelsen giver det klienterne en illusion om, at drevet er tilsluttet lokalt. iSCSI-baseret storage area network (SAN) kan bygges på eksisterende netværksinfrastruktur. Brugen af ​​iSCSI reducerer omkostningerne ved at organisere et SAN markant.

iSCSI har en "premium" mulighed - Fiber Channel Protocol (FCP). SAN ved hjælp af FCP er bygget på dedikerede fiberoptiske kommunikationslinjer. Denne tilgang kræver yderligere optisk netværksudstyr, men er stabil og høj gennemstrømning.

Der er mange protokoller til at sende SCSI-kommandoer over computernetværk. Der er dog kun én standard, der løser det modsatte problem og giver dig mulighed for at sende IP-pakker over SCSI-bussen - IP over SCSI.

De fleste SAN-protokoller bruger SCSI-kommandosættet til at administrere drev, men der er undtagelser, som f.eks. ATA over Ethernet (AOE). AoE-protokollen sender ATA-kommandoer i Ethernet-pakker, men drevene vises som SCSI i systemet.

Med fremkomsten af ​​NVM Express-drev opfylder iSCSI- og FCP-protokoller ikke længere de hurtigt voksende krav til SSD'er. To løsninger dukkede op:

  • fjernelse af PCI Express-bussen uden for serveren;
  • oprettelse af NVMe over Fabrics-protokollen.

Fjernelse af PCIe-bussen skaber kompleks switching-hardware, men ændrer ikke protokollen.

NVMe over Fabrics-protokollen er blevet et godt alternativ til iSCSI og FCP. NVMe-oF bruger en fiberoptisk forbindelse og NVM Express-kommandosættet.

DDR-T

Introduktion til SSD. Del 2. Interface
iSCSI- og NVMe-oF-standarderne løser problemet med at forbinde fjerndrev som lokale, mens Intel gik den anden vej og bragte det lokale drev så tæt som muligt på processoren. Valget faldt på de DIMM-slots, som RAM'en er tilsluttet. Den maksimale DDR4-båndbredde er 25 GB/s, hvilket er meget hurtigere end PCIe-bussen. Sådan blev Intel® Optane™ DC Persistent Memory SSD født.

En protokol blev opfundet til at forbinde et drev til DIMM-slots DDR-T, fysisk og elektrisk kompatibel med DDR4, men kræver en speciel controller, der ser forskellen mellem en memory bar og et drev. Hastigheden af ​​adgang til drevet er mindre end til RAM, men mere end til NVMe.

DDR-T er kun tilgængelig med Intel® Cascade Lake-generationsprocessorer eller nyere.

Konklusion

Næsten alle grænseflader er kommet langt fra seriel til parallel datatransmission. SSD-hastigheder skyder i vejret, i går var SSD'er et kuriosum, og i dag er NVMe ikke længere en overraskelse.

I vores laboratorium Selectel Lab du kan selv teste SSD- og NVMe-drev.

Kun registrerede brugere kan deltage i undersøgelsen. Log ind, Vær venlig.

Vil NVMe-drev erstatte klassiske SSD'er i den nærmeste fremtid?

  • 55.5 %Ja 100

  • 44.4 %Nr 80

180 brugere stemte. 28 brugere undlod at stemme.

Kilde: www.habr.com

Tilføj en kommentar