Introduktion till SSD. Del 2. Gränssnitt

Introduktion till SSD. Del 2. Gränssnitt

В sista delen cykel "Introduktion till SSD" vi pratade om historien om utseendet på diskar. Den andra delen kommer att berätta om gränssnitten för att interagera med enheter.

Kommunikation mellan processorn och kringutrustning sker enligt fördefinierade konventioner som kallas gränssnitt. Dessa avtal reglerar den fysiska och mjukvarunivån för interaktion.

Gränssnitt - en uppsättning medel, metoder och regler för interaktion mellan element i systemet.

Den fysiska implementeringen av ett gränssnitt påverkar följande parametrar:

  • genomströmning av kommunikationskanalen;
  • det maximala antalet samtidigt anslutna enheter;
  • antalet fel som uppstår.

Diskgränssnitt byggs på I/O-portar, vilket är motsatsen till minnes I/O och tar inte upp plats i processorns adressutrymme.

Parallella och seriella portar

Enligt metoden för datautbyte är I / O-portar uppdelade i två typer:

  • parallell;
  • konsekvent.

Som namnet antyder skickar parallellporten ett maskinord åt gången, bestående av flera bitar. En parallellport är det enklaste sättet att utbyta data, eftersom det inte kräver komplexa kretslösningar. I det enklaste fallet skickas varje bit av maskinordet på sin egen signallinje, och två servicesignallinjer används för återkoppling: Data redo и Data accepteras.

Introduktion till SSD. Del 2. Gränssnitt
Parallella portar, vid första anblicken, skalar bra: fler signallinjer - fler bitar sänds åt gången och därför högre genomströmning. På grund av ökningen av antalet signallinjer uppstår emellertid interferens mellan dem, vilket leder till förvrängning av de överförda meddelandena.

Seriella portar är motsatsen till parallella. Data skickas en bit i taget, vilket minskar det totala antalet signallinjer, men komplicerar I/O-styrenheten. Sändarstyrenheten tar emot maskinordet åt gången och måste sända en bit åt gången, och mottagarstyrenheten måste i sin tur ta emot bitarna och lagra dem i samma ordning.

Introduktion till SSD. Del 2. Gränssnitt
Ett litet antal signallinjer gör att du kan öka frekvensen för meddelandeöverföring utan störningar.

SCSI

Introduktion till SSD. Del 2. Gränssnitt
Small Computer Systems Interface (SCSI) dök upp redan 1978 och designades ursprungligen för att kombinera enheter med olika profiler till ett enda system. SCSI-1-specifikationen tillhandahöll anslutning av upp till 8 enheter (tillsammans med styrenheten), såsom:

  • skannrar;
  • bandenheter (streamers);
  • optiska enheter;
  • diskenheter och andra enheter.

SCSI hette ursprungligen Shugart Associates System Interface (SASI), men standardkommittén skulle inte godkänna ett namn efter företaget, och efter en dag av brainstorming föddes namnet Small Computer Systems Interface (SCSI). "Fadern" till SCSI, Larry Boucher, avsåg att förkortningen skulle uttalas "sexig", men Dal Allan läs "sсuzzy" ("berätta"). Därefter var uttalet av "berätta" ordentligt förankrat i denna standard.

I SCSI-terminologi är anslutna enheter uppdelade i två typer:

  • initiativtagare;
  • målenheter.

Initiativtagaren skickar ett kommando till målenheten, som sedan skickar ett svar till initiatorn. Initiatorerna och målen är anslutna till en gemensam SCSI-buss, som har en bandbredd på 1 MB/s i SCSI-5-standarden.

Den "vanliga buss"-topologin som används medför ett antal begränsningar:

  • i ändarna av bussen behövs speciella enheter - terminatorer;
  • bussbandbredd delas mellan alla enheter;
  • Det maximala antalet samtidigt anslutna enheter är begränsat.

Introduktion till SSD. Del 2. Gränssnitt

Enheter på bussen identifieras av ett unikt nummer som anropas SCSI-mål-ID. Varje SCSI-enhet i systemet representeras av åtminstone en logisk enhet, som adresseras av ett unikt nummer inom den fysiska enheten. Logiskt enhetsnummer (LUN).

Introduktion till SSD. Del 2. Gränssnitt
Kommandon i SCSI skickas i formuläret kommandobeskrivningsblock (Command Descriptor Block, CDB), som består av en operationskod och kommandoparametrar. Standarden beskriver mer än 200 kommandon, indelade i fyra kategorier:

  • Obligatorisk — måste stödjas av enheten.
  • Frivillig - kan implementeras;
  • Leverantörsspecifik - används av en specifik tillverkare;
  • Föråldrad - föråldrade kommandon.

Bland de många kommandona är bara tre av dem obligatoriska för enheter:

  • TESTENHETEN KLAR — kontroll av enhetens beredskap.
  • BEGÄR SENSE — begär felkoden för föregående kommando;
  • UNDERSÖKNING — begära enhetens huvudsakliga egenskaper.

Efter att ha tagit emot och bearbetat kommandot skickar målenheten en statuskod till initiatorn, som beskriver resultatet av exekveringen.

Ytterligare förbättringar av SCSI (SCSI-2 och Ultra SCSI-specifikationer) utökade listan över använda kommandon och ökade antalet anslutna enheter upp till 16, och dataväxlingshastigheten på bussen upp till 640 MB/s. Eftersom SCSI är ett parallellt gränssnitt, var ökningen av frekvensen av datautbyte förknippad med en minskning av den maximala kabellängden och ledde till olägenheter vid användning.

Från och med Ultra-3 SCSI-standarden har stöd för "hot plugging" dykt upp - ansluta enheter när strömmen är på.

Den första kända SCSI SSD:n var M-Systems FFD-350, släppt 1995. Skivan hade en hög kostnad och användes inte särskilt mycket.

För närvarande är parallell SCSI inte ett populärt diskgränssnitt, men kommandouppsättningen används fortfarande aktivt i USB- och SAS-gränssnitt.

ATA/PATA

Introduktion till SSD. Del 2. Gränssnitt
gränssnitt ATA (Advanced Technology Attachment), även känd som PATA (Parallel ATA) utvecklades av Western Digital 1986. Marknadsföringsnamnet för IDE-standarden (Eng. Integrated Drive Electronics - "elektronik inbyggd i enheten") betonade en viktig innovation: enhetskontrollern var integrerad i enheten och inte på ett separat expansionskort.

Beslutet att placera styrenheten inuti enheten löste flera problem samtidigt. För det första har avståndet från frekvensomriktaren till regulatorn minskat, vilket positivt påverkat frekvensomriktarens prestanda. För det andra "vässades" den inbyggda kontrollern endast för en viss typ av enhet och var följaktligen billigare.

Introduktion till SSD. Del 2. Gränssnitt
ATA, liksom SCSI, använder en parallell I/O-metod, vilket återspeglas i de kablar som används. För att ansluta enheter med IDE-gränssnittet krävs 40-kärnskablar, även kallade platta kablar. Nyare specifikationer använder 80-trådsstubbar, varav mer än hälften är jordslingor för att minska störningar vid höga frekvenser.

Det finns två till fyra kontakter på ATA-kabeln, varav en är ansluten till moderkortet och resten till enheterna. När två enheter ansluts i en slinga måste en av dem konfigureras som Mästare, och den andra som Slav. Den tredje enheten kan endast anslutas i skrivskyddat läge.

Introduktion till SSD. Del 2. Gränssnitt
Bygelns position bestämmer rollen för en viss enhet. Termerna Master och Slave i förhållande till enheter är inte helt korrekta, eftersom alla anslutna enheter i förhållande till styrenheten är Slavar.

En speciell innovation i ATA-3 är utseendet Självövervakning, Analys- och rapporteringsteknik (SMART). Fem företag (IBM, Seagate, Quantum, Conner och Western Digital) har gått samman och standardiserat teknik för hälsobedömning.

Stöd för solid state-enheter har funnits sedan version 1998 av standarden, som släpptes 33.3. Denna version av standarden gav dataöverföringshastigheter på upp till XNUMX MB/s.

Standarden ställer strikta krav för ATA-kablar:

  • plymen måste vara platt;
  • maximal tåglängd 18 tum (45.7 centimeter).

Det korta och breda tåget var obekvämt och störde kylningen. Det blev svårare och svårare att öka överföringsfrekvensen med varje efterföljande version av standarden, och ATA-7 löste problemet radikalt: det parallella gränssnittet ersattes av ett seriellt. Efter det förvärvade ATA ordet Parallel och blev känt som PATA, och den sjunde versionen av standarden fick ett annat namn - Serial ATA. SATA-versionsnumrering startade från ett.

SATA

Introduktion till SSD. Del 2. Gränssnitt
Standarden Serial ATA (SATA) introducerades den 7 januari 2003 och åtgärdade problemen med sin föregångare med följande ändringar:

  • parallellport ersatt av seriell;
  • bred 80-ledarkabel ersatt av 7-ledar;
  • "common bus"-topologin har ersatts med en "punkt-till-punkt"-anslutning.

Även om SATA 1.0 (SATA/150, 150 MB/s) var marginellt snabbare än ATA-6 (UltraDMA/130, 130 MB/s), var övergången till seriell kommunikation att "sätta grunden" för hastigheter.

Sexton signallinjer för dataöverföring i ATA ersattes med två tvinnade par: en för överföring, den andra för mottagning. SATA-kontakter är designade för att vara mer motståndskraftiga mot flera återanslutningar, och SATA 1.0-specifikationen gjorde hot plugging möjlig.

Vissa stift på enheterna är kortare än alla andra. Detta görs för att stödja "hot swap" (Hot Swap). Under utbytesprocessen "förlorar" anordningen och "hittar" linjerna i en förutbestämd ordning.

Lite mer än ett år senare, i april 2004, släpptes den andra versionen av SATA-specifikationen. Förutom att accelerera upp till 3 Gb/s, introducerade SATA 2.0 teknik Inbyggd kommandokö (NCQ). Enheter med NCQ-stöd kan självständigt organisera ordningsföljden för exekvering av inkommande kommandon för att uppnå maximal prestanda.

Introduktion till SSD. Del 2. Gränssnitt
De kommande tre åren arbetade SATA Working Group med att förbättra den befintliga specifikationen, och version 2.6 introducerade kompakta Slimline- och micro SATA (uSATA)-kontakter. Dessa kontakter är en mindre version av den ursprungliga SATA-kontakten och är designade för optiska enheter och små enheter i bärbara datorer.

Medan andra generationens SATA hade tillräckligt med bandbredd för hårddiskar, krävde SSD mer. I maj 2009 släpptes den tredje versionen av SATA-specifikationen med ökad bandbredd till 6 Gb/s.

Introduktion till SSD. Del 2. Gränssnitt
Särskild uppmärksamhet ägnades åt solid state-enheter i SATA 3.1-utgåvan. En Mini-SATA (mSATA)-kontakt har dykt upp, designad för att ansluta solid-state-enheter i bärbara datorer. Till skillnad från Slimline och uSATA såg den nya kontakten ut som en PCIe Mini, även om den inte var elektriskt kompatibel med PCIe. Utöver den nya kontakten, stoltserade SATA 3.1 med möjligheten att köa TRIM-kommandon med läs- och skrivkommandon.

TRIM-kommandot meddelar SSD om datablock som inte bär någon nyttolast. Före SATA 3.1 skulle detta kommando tömma cacher och avbryta I/O-operationer, följt av ett TRIM-kommando. Detta tillvägagångssätt försämrade diskens prestanda under raderingsoperationer.

SATA-specifikationen har inte hängt med i den snabba tillväxten av åtkomsthastigheter för SSD-enheter, vilket ledde till en kompromiss 2013 kallad SATA Express i SATA 3.2-standarden. Istället för att dubbla bandbredden på SATA igen har utvecklarna använt den mycket använda PCIe-bussen, vars hastighet överstiger 6 Gb/s. Enheter med SATA Express-stöd har fått en egen formfaktor som heter M.2.

SAS

Introduktion till SSD. Del 2. Gränssnitt
SCSI-standarden, som "konkurrerade" med ATA, stod inte heller stilla och bara ett år efter uppkomsten av Serial ATA, 2004, återföds den till ett seriellt gränssnitt. Namnet på det nya gränssnittet är Serial Attached SCSI (SEDGE).

Även om SAS ärvde SCSI-kommandouppsättningen var ändringarna betydande:

  • Seriellt gränssnitt;
  • 29-ledarkabel med strömförsörjning;
  • punkt-till-punkt-anslutning

SCSI-terminologin har också ärvts. Styrenheten kallas fortfarande initiator, och de anslutna enheterna kallas mål. Alla målenheter och initiatorn bildar en SAS-domän. I SAS är anslutningsbandbredden inte beroende av antalet enheter i domänen, eftersom varje enhet använder sin egen dedikerade kanal.

Det maximala antalet samtidigt anslutna enheter i en SAS-domän, enligt specifikationen, överstiger 16 tusen, och istället för ett SCSI-ID används en identifierare för adressering Världsomfattande namn (WWN).

WWN är en unik identifierare som är 16 byte lång, liknande MAC-adressen för SAS-enheter.

Introduktion till SSD. Del 2. Gränssnitt
Trots likheterna mellan SAS- och SATA-kontakter är dessa standarder inte helt kompatibla. En SATA-enhet kan dock anslutas till en SAS-kontakt, men inte vice versa. Kompatibilitet mellan SATA-enheter och SAS-domänen säkerställs med hjälp av SATA Tunneling Protocol (STP).

Den första versionen av SAS-1-standarden har en bandbredd på 3 Gb/s, och den modernaste, SAS-4, har förbättrat denna siffra med 7 gånger: 22,5 Gb/s.

PCIe

Introduktion till SSD. Del 2. Gränssnitt
Peripheral Component Interconnect Express (PCI Express, PCIe) är ett seriellt gränssnitt för dataöverföring, som dök upp 2002. Utvecklingen startades av Intel och överfördes därefter till en speciell organisation - PCI Special Interest Group.

Det seriella PCIe-gränssnittet var inget undantag och blev en logisk fortsättning på parallell PCI, som är designad för att ansluta expansionskort.

PCI Express skiljer sig markant från SATA och SAS. PCIe-gränssnittet har ett variabelt antal körfält. Antalet linjer är lika med potenser av två och sträcker sig från 1 till 16.

Termen "bana" i PCIe hänvisar inte till en specifik signalfil, utan till en separat full-duplex kommunikationslänk som består av följande signalbanor:

  • motta+ och ta emot-;
  • transmission+ och transmission-;
  • fyra jordledningar.

Antalet PCIe-banor påverkar direkt den maximala bandbredden för anslutningen. Den nuvarande PCI Express 4.0-standarden låter dig uppnå 1.9 GB/s på en enda linje och 31.5 GB/s när du använder 16 linjer.

Introduktion till SSD. Del 2. Gränssnitt
SSD-enheternas "aptit" växer mycket snabbt. Både SATA och SAS har inte kunnat öka sin bandbredd för att hålla jämna steg med SSD, vilket har lett till introduktionen av PCIe-anslutna SSD.

Även om PCIe Add-In-kort är fastskruvade är PCIe hot-swapable. Korta stift PRSNT (engelska närvarande - närvarande) se till att kortet är helt installerat i kortplatsen.

Solid state-enheter anslutna via PCIe regleras av en separat standard Specifikation för gränssnitt för värdstyrenhet för icke-flyktigt minne och är förkroppsligade i en mängd olika formfaktorer, men vi kommer att prata om dem i nästa del.

Fjärrenheter

När man skapade stora datalager fanns det ett behov av protokoll som gör att man kan ansluta enheter utanför servern. Den första lösningen på detta område var Internet SCSI (iSCSI), utvecklad av IBM och Cisco 1998.

Tanken bakom iSCSI-protokollet är enkel: SCSI-kommandon "lindas in" i TCP/IP-paket och skickas till nätverket. Trots fjärranslutningen ger det en illusion för klienterna att enheten är ansluten lokalt. Storage Area Network (SAN), baserat på iSCSI, kan byggas på befintlig nätverksinfrastruktur. Användningen av iSCSI minskar avsevärt kostnaden för att organisera ett SAN.

iSCSI har ett "premium"-alternativ - Fiber Channel Protocol (FCP). SAN som använder FCP är byggt på dedikerade fiberoptiska kommunikationslinjer. Detta tillvägagångssätt kräver ytterligare optisk nätverksutrustning, men är stabil och hög genomströmning.

Det finns många protokoll för att skicka SCSI-kommandon över datornätverk. Det finns dock bara en standard som löser det motsatta problemet och låter dig skicka IP-paket över SCSI-bussen - IP över SCSI.

De flesta SAN-protokoll använder SCSI-kommandouppsättningen för att hantera enheter, men det finns undantag, som den enkla ATA över Ethernet (AOE). AoE-protokollet skickar ATA-kommandon i Ethernet-paket, men enheterna visas som SCSI i systemet.

Med intåget av NVM Express-enheter uppfyller iSCSI- och FCP-protokollen inte längre de snabbt växande kraven på SSD-enheter. Två lösningar dök upp:

  • borttagning av PCI Express-bussen utanför servern;
  • skapande av NVMe over Fabrics-protokollet.

Att ta bort PCIe-bussen skapar komplex kopplingshårdvara men ändrar inte protokollet.

NVMe over Fabrics-protokollet har blivit ett bra alternativ till iSCSI och FCP. NVMe-oF använder en fiberoptisk länk och kommandouppsättningen NVM Express.

DDR-T

Introduktion till SSD. Del 2. Gränssnitt
Standarderna iSCSI och NVMe-oF löser problemet med att ansluta fjärrenheter som lokala, medan Intel gick åt andra hållet och förde den lokala enheten så nära processorn som möjligt. Valet föll på DIMM-platserna som RAM-minnet är anslutet till. Den maximala DDR4-bandbredden är 25 GB/s, vilket är mycket snabbare än PCIe-bussen. Så här föddes Intel® Optane™ DC Persistent Memory SSD.

Ett protokoll uppfanns för att ansluta en enhet till DIMM-kortplatser DDR-T, fysiskt och elektriskt kompatibel med DDR4, men kräver en speciell kontroller som ser skillnaden mellan ett minnesfält och en enhet. Hastigheten för åtkomst till enheten är mindre än till RAM, men mer än till NVMe.

DDR-T är endast tillgänglig med Intel® Cascade Lake-generationens processorer eller senare.

Slutsats

Nästan alla gränssnitt har kommit långt från seriell till parallell dataöverföring. SSD-hastigheterna skjuter i höjden, igår var SSD:er en kuriosa, och idag är NVMe inte längre en överraskning.

I vårt laboratorium Selectel Lab du kan testa SSD- och NVMe-enheter själv.

Endast registrerade användare kan delta i undersökningen. Logga in, Snälla du.

Kommer NVMe-enheter att ersätta klassiska SSD-enheter inom en snar framtid?

  • 55.5%Ja 100

  • 44.4%Nr 80

180 användare röstade. 28 användare avstod från att rösta.

Källa: will.com

Lägg en kommentar