Introduktion till SSD. Del 2. GrÀnssnitt

Introduktion till SSD. Del 2. GrÀnssnitt

I den föregÄende delen av serien «Introduktion till SSD» berÀttade vi om historien bakom diskar. Den andra delen kommer att ta upp grÀnssnitt för interaktion med lagringsenheter.

Kommunikationen mellan processorn och kringutrustningen sker enligt förutbestÀmda avtal, kallade grÀnssnitt. Dessa avtal reglerar den fysiska och programvarunivÄn för interaktionen.

Ett grÀnssnitt Àr en uppsÀttning verktyg, metoder och regler för interaktion mellan systemets element.

Den fysiska implementeringen av grÀnssnittet pÄverkar följande parametrar:

  • bandbredden i kommunikationskanalen;
  • det maximala antalet enheter som kan anslutas samtidigt;
  • antalet uppkommande fel.

DiskgrÀnssnitt Àr byggda pÄ in- och utgÄngsportar, vilket Àr motsatsen till in- och utdata genom minnet och inte tar upp utrymme i processorns adressutrymme.

Parallella och seriella portar

NÀr det gÀller datakommunikation delas in- och utgÄngsportar in i tvÄ typer:

  • parallella;
  • serielle.

Som namnet antyder, skickar den parallella porten en maskinvarusats bestÄende av flera bitar. Den parallella porten Àr det enklaste sÀttet att överföra data, eftersom det inte krÀver komplicerade kretslösningar. I det enklaste fallet skickas varje bit av maskinvarusatsen över sin egen signalledning, och för Äterkoppling anvÀnds tvÄ signalledningar: Data Àr klara och Data har mottagits.

Introduktion till SSD. Del 2. GrÀnssnitt
Parallella portar verkar, vid första anblicken, vara mycket skalbara: fler signalledningar – fler bitar skickas Ă„t gĂ„ngen och dĂ€rmed högre bandbredd. ÄndĂ„ leder det ökade antalet signalledningar till interferens mellan dem, vilket orsakar förvrĂ€ngning av de överförda meddelandena.

Seriella portar Ă€r motsatsen till parallella. Överföring av data sker en bit i taget, vilket minskar det totala antalet signalledningar, men försvĂ„rar in- och utgĂ„ngskontrollern. SĂ€ndarkontrollern tar emot maskinvarusatsen som helhet och mĂ„ste överföra en bit i taget, medan mottagarkontrollern i sin tur mĂ„ste ta emot bitar och lagra dem i samma ordning.

Introduktion till SSD. Del 2. GrÀnssnitt
Det begrÀnsade antalet signalledningar gör det möjligt att utan störningar öka överföringsfrekvensen.

SCSI

Introduktion till SSD. Del 2. GrÀnssnitt
Small Computer Systems Interface (SCSI) introducerades redan 1978 och utvecklades ursprungligen för att kombinera olika enheter i ett enda system. SCSI-1-specifikationen tillÀt anslutning av upp till 8 enheter (inklusive kontrollern), sÄsom:

  • skannrar;
  • bandstationer (streamers);
  • optiska enheter;
  • disklagringsenheter och andra enheter.

SCSI kallades ursprungligen Shugart Associates System Interface (SASI), men den standardiserande kommittén godkÀnde inte namnet efter företaget, och efter en brainstorming-session kom namnet Small Computer Systems Interface (SCSI). SCSI:s 'far', Larry Boucher, menade att akronymen skulle uttalas som 'sexy', men Dal Allan lÀste det som 'sсuzzy'. Senare blev uttalet 'suzzy' djupt rotat i denna standard.

Inom SCSI-terminologi delas anslutna enheter in i tvÄ typer:

  • initiatorer;
  • mĂ„l-enheter.

Initiatorn skickar ett kommando till mÄl-enheten, som sedan skickar ett svar tillbaka till initiatorn. Initiatorer och mÄl-enheter Àr anslutna till en gemensam SCSI-buss, vars bandbredd i SCSI-1-standarden Àr 5 MB/s.

Den anvÀndna topologin 'gemensam buss' medför ett antal begrÀnsningar:

  • specialenheter - terminatorer - behövs i Ă€ndarna av bussen;
  • bussbandbredden delas mellan alla enheter;
  • det maximala antalet anslutna enheter Ă€r begrĂ€nsat.

Introduktion till SSD. Del 2. GrÀnssnitt

Enheter pÄ bussen identifieras med ett unikt nummer som kallas SCSI Target ID. Varje SCSI-enhet i systemet representeras av minst en logisk enhet, vars adressering sker med ett unikt nummer inom det fysiska enheten. Logical Unit Number (LUN).

Introduktion till SSD. Del 2. GrÀnssnitt
Kommandon i SCSI skickas i form av kommandobeskrivningsblock (Command Descriptor Block, CDB), som bestÄr av en operationskod och kommando-parametrar. Standarden beskriver över 200 kommandon, uppdelade i fyra kategorier:

  • Obligatoriska — mĂ„ste stödjas av enheten;
  • Valfria — kan implementeras;
  • Tillverkar-specifika — anvĂ€nds av en specifik tillverkare;
  • Utdaterade — förĂ„ldrade kommandon.

Bland de mÄnga kommandona Àr endast tre av dem obligatoriska för enheter:

  • TEST UNIT READY — kontrollerar enhetens beredskap;
  • REQUEST SENSE — begĂ€r felkod frĂ„n den föregĂ„ende kommandot;
  • FÖRFRÅGAN — begĂ€r grundlĂ€ggande specifikationer för enheten.

Efter att ha mottagit och bearbetat kommandot skickar den mÄlenhet en statuskod till initiatorn som beskriver resultatet av utförandet.

Vidare förbÀttringar av SCSI (specifikationerna SCSI-2 och Ultra SCSI) utvidgade listan över kommandoanvÀndningar och ökade antalet anslutna enheter till 16, samt hastigheten för datakommunikation över bussen till 640 MB/s. Eftersom SCSI Àr en parallell grÀnssnitt var ökningen av datakommunikationshastigheten kopplad till en minskning av den maximala kabellÀngden och ledde till olÀgenheter vid anvÀndning.

Med standarden Ultra-3 SCSI introducerades stöd för "hot plugging" — anslutning av enheter medan strömmen Ă€r pĂ„.

Den första kÀnda SSD-enheten med SCSI-grÀnssnitt Àr M-Systems FFD-350, som slÀpptes 1995. Enheten var dyr och hade inte bred spridning.

För nÀrvarande Àr parallell SCSI inte en populÀr grÀnssnittsmetod för anslutning av diskar, men kommandosatsen 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. Det marknadsförda namnet IDE (eng. Integrated Drive Electronics — "elektronik inbyggd i enheten") betonade den viktiga innovationen: kontrollerkortet var inbyggt i enheten, istĂ€llet för pĂ„ ett separat expansionskort.

Beslutet att placera kontrollerkortet inuti enheten löste flera problem. För det första minskade avstÄndet frÄn lagringsenheten till kontrollerkortet vilket hade en positiv inverkan pÄ enhetens prestanda. För det andra var den inbyggda kontroller enbart anpassad för en viss typ av enhet och dÀrför billigare.

Introduktion till SSD. Del 2. GrÀnssnitt
ATA, precis som SCSI, anvÀnder en parallell metod för in- och utdata, vilket Äterspeglas i de anvÀnda kablarna. För att ansluta diskar med IDE-grÀnssnittet krÀvs 40-trÄds kablar, Àven kÀnda som flatkablar. I senare specifikationer anvÀnds 80-trÄds flatkablar: mer Àn hÀlften av dem Àr jordningar för att minska interferens vid höga frekvenser.

PÄ ATA-kabeln finns det mellan tvÄ och fyra kontakter, varav en ansluts till moderkortet och de andra till lagringsenheterna. NÀr tvÄ enheter ansluts med en kabel mÄste en av dem konfigureras som Master, och den andra som Slave. Den tredje enheten fÄr endast kopplas in i "endast lÀsning"-lÀge.

Introduktion till SSD. Del 2. GrÀnssnitt
Jumperns placering bestÀmmer vilken roll den specifika enheten fÄr. Termerna Master och Slave i relation till enheter Àr inte helt korrekta, eftersom alla anslutna enheter i förhÄllande till controllern Àr Slaves.

En sÀrskild nyhet inom ATA-3 Àr introduktionen av Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.). Fem företag (IBM, Seagate, Quantum, Conner och Western Digital) gick samman och standardiserade teknologin för att bedöma tillstÄndet hos lagringsenheterna.

Stödet för solid-state-enheter infördes med den fjÀrde versionen av standarden, som slÀpptes 1998. Denna version av standarden möjliggjorde dataöverföringshastigheter pÄ upp till 33,3 MB/s.

Standarden stÀller strikta krav pÄ ATA-kablar:

  • kabeln mĂ„ste vara platt;
  • maximal lĂ€ngd pĂ„ kabeln Ă€r 18 tum (45,7 centimeter).

Den korta och breda kabeln var obekvĂ€m och hindrade kylningen. Att öka överföringsfrekvensen med varje nĂ€sta version av standarden blev allt svĂ„rare, och ATA-7 löste problemet radikalt: den parallella grĂ€nssnittet ersattes med ett serielt. DĂ€refter fick ATA namnet Parallel och kom att kallas PATA, och den sjunde versionen av standarden fick ett annat namn — Serial ATA. Numreringen av SATA-versioner började med ett.

SATA

Introduktion till SSD. Del 2. GrÀnssnitt
Standard för Serial ATA (SATA) presenterades den 7 januari 2003 och löste problemen som dess föregÄngare hade genom följande Àndringar:

  • den parallella porten ersattes av en seriell;
  • den breda 80-ledade kabeln ersattes av en 7-ledad;
  • topologin "gemensam buss" ersattes med punkt-till-punkt-anslutning.

Även om SATA 1.0-standarden (SATA/150, 150 MB/s) var nĂ„got snabbare Ă€n ATA-6 (UltraDMA/130, 130 MB/s), var övergĂ„ngen till en seriell dataöverföring en "förberedelse" för att öka hastigheterna.

Sexton signal linjer för dataöverföring i ATA har ersatts med tvÄ tvinnade par: ett för överföring och det andra för mottagning. SATA-kontakterna Àr utformade för att vara mer motstÄndskraftiga mot flera Äterkopplingar, och SATA 1.0-specifikationen möjliggjorde "hot-pluggning".

Vissa pinnar pÄ enheterna Àr kortare Àn alla andra. Detta görs för att stödja "hot-swap". Vid byte "tappar" enheten och "hittar" linjer 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 hastigheten pÄ 3 Gbit/s introducerades i SATA 2.0 teknologin Native Command Queuing (NCQ). Enheter som stöder NCQ kan sjÀlvstÀndigt organisera ordningen för genomförande av mottagna kommandon för att uppnÄ maximal prestanda.

Introduktion till SSD. Del 2. GrÀnssnitt
Under de följande tre Ären arbetade SATA Working Group med att förbÀttra den befintliga specifikationen och i version 2.6 infördes kompakta kontakter Slimline och micro SATA (uSATA). Dessa kontakter Àr en miniatyrversion av den ursprungliga SATA-kontakten och Àr utvecklade för optiska enheter och smÄ diskar i bÀrbara datorer.

Även om bandbredden i den andra generationen SATA var tillrĂ€cklig för hĂ„rddiskar, krĂ€vde SSD:er mer. I maj 2009 slĂ€pptes den tredje versionen av SATA-specifikationen med en ökad bandbredd pĂ„ 6 Gbit/s.

Introduktion till SSD. Del 2. GrÀnssnitt
SÀrskild uppmÀrksamhet Ät solid state-enheter gavs i redigeringen av SATA 3.1. En Mini-SATA (mSATA) kontakt infördes för att ansluta solid state-enheter i bÀrbara datorer. Till skillnad frÄn Slimline och uSATA liknade den nya kontakten PCIe Mini, Àven om den inte var elektriskt kompatibel med PCIe. Förutom den nya kontakten kunde SATA 3.1 stoltsera med att köra TRIM-kommandon i kö tillsammans med lÀs- och skrivkommandon.

TRIM-kommandot informerar solid state-enheten om data Block som inte bÀr nyttiga uppgifter. Fram till SATA 3.1 ledde utförandet av detta kommando till att cache-minnen nollstÀlldes och I/O-operationer pausades tills TRIM-kommandot utfördes. Denna metod försÀmrade diskens prestanda vid borttagningsoperationer.

SATA-specifikationen hÀngde inte med i den snabba tillvÀxten av hastigheter för solid-state-enheter, vilket ledde till framvÀxten av en kompromiss kallad SATA Express i SATA 3.2-standarden 2013. IstÀllet för att Äterigen dubbla SATA:s bandbredd, anvÀnde utvecklarna den utbredda PCIe-bussen, vars hastighet överstiger 6 Gbit/s. Enheter med stöd för SATA Express fick en egen formfaktor kallad M.2.

SAS

Introduktion till SSD. Del 2. GrÀnssnitt
Den "konkurrerande" standarden SCSI stod inte stilla och bara ett Är efter att Serial ATA introducerades, Är 2004, Äterföddes den som en seriell grÀnssnitt. Namnet pÄ det nya grÀnssnittet Àr Serial Attached SCSI (SAS).

Trots att SAS Àrver SCSI-kommandona, var förÀndringarna betydande:

  • seriellt grĂ€nssnitt;
  • en 29-polig kabel med ström;
  • punkt-till-punkt-anslutning

SCSI-termerna Àrvdes ocksÄ. Styrenheten kallas fortfarande initiator, och anslutna enheter kallas mÄl. Alla mÄl-enheter och initiator bildar ett SAS-domÀn. I SAS beror bandbredden pÄ anslutningen inte pÄ antalet enheter i domÀnen, eftersom varje enhet anvÀnder sin dedikerade kanal.

Det maximala antalet samtidigt anslutna enheter i en SAS-domÀn enligt specifikationen överstiger 16 000, och istÀllet för SCSI ID anvÀnds en identifierare World-Wide Name (WWN).

WWN Àr en unik identifierare som Àr 16 byte lÄng, liknande en MAC-adress för SAS-enheter.

Introduktion till SSD. Del 2. GrÀnssnitt
Trots likheterna i kontakterna pÄ SAS och SATA Àr dessa standarder inte helt kompatibla. En SATA-enhet kan dock anslutas till en SAS-kontakt, men inte vice versa. Kompatibiliteten mellan SATA-enheter och SAS-domÀnen sÀkerstÀlls genom SATA Tunneling Protocol (STP).

Den första versionen av standarden SAS-1 har en bandbredd pÄ 3 Gbit/s, och den mest moderna, SAS-4, har förbÀttrat denna siffra sju gÄnger: 22,5 Gbit/s.

PCIe

Introduktion till SSD. Del 2. GrÀnssnitt
Peripheral Component Interconnect Express (PCI Express, PCIe) Àr ett seriellt grÀnssnitt för datatransfer, som introducerades 2002. Utvecklingen inleddes av Intel och överfördes senare till en specialiserad organisation - PCI Special Interest Group.

Det seriella grÀnssnittet PCIe var inget undantag och blev en logisk fortsÀttning pÄ det parallella PCI, som Àr avsett för anslutning av expansionskort.

PCI Express skiljer sig avsevÀrt frÄn SATA och SAS. PCIe-grÀnssnittet har ett varierande antal linjer. Antalet linjer Àr lika med potenser av tvÄ och varierar frÄn 1 till 16.

Termen "linje" i PCIe betecknar inte en specifik signalledning utan en separat helduplex kommunikationskanal bestÄende av följande signalledningar:

  • mottagning+ och mottagning-;
  • överföring+ och överföring-;
  • fyra jordledningar.

Antalet PCIe-linjer pÄverkar direkt den maximala bandbredden för anslutningen. Den moderna standarden PCI Express 4.0 möjliggör en hastighet av 1,9 GB/s per linje, och 31,5 GB/s vid anvÀndning av 16 linjer.

Introduktion till SSD. Del 2. GrÀnssnitt
"Appetiten" för SSD-enheter vÀxer mycket snabbt. BÄde SATA och SAS hinner inte öka sin bandbredd för att "hÀnga med" SSD, vilket har lett till utvecklingen av SSD-enheter med PCIe-anslutning.

Även om PCIe-tillĂ€ggskort fĂ€sts med skruvar, stödjer PCIe "hot swap". Korta stift PRSNT (frĂ„n engelskans present — nĂ€rvarande) sĂ€kerstĂ€ller att kortet Ă€r helt installerat i slotten.

SSD-enheter som ansluts via PCIe regleras av en separat standard Non-Volatile Memory Host Controller Interface Specification och kommer i mÄnga formfaktorer, men mer om dem i nÀsta del.

FjÀrrlagring

Vid skapandet av stora datalager uppstod behovet av protokoll som tillÄter koppling av lagringsenheter placerade utanför servern. Den första lösningen pÄ detta omrÄde var Internet SCSI (iSCSI), utvecklad av IBM och Cisco 1998.

Idén med iSCSI-protokollet Àr enkel: SCSI-kommandon "inkapslas" i TCP/IP-paket och överförs över nÀtverket. Trots den fjÀrranslutna kopplingen skapas en illusion för klienter av att lagringsenheten Àr ansluten lokalt. Ett lagringsomrÄde (Storage Area Network, SAN) baserat pÄ iSCSI kan byggas pÄ den befintliga nÀtverksinfrastrukturen. AnvÀndningen av iSCSI minskar avsevÀrt kostnaderna för att organisera SAN.

iSCSI har en "premium"-variant — Fibre Channel Protocol (FCP). SAN med FCP byggs pĂ„ dedikerade fiberoptiska kommunikationslinjer. En sĂ„dan lösning krĂ€ver ytterligare optisk nĂ€tverksutrustning, men erbjuder stabilitet och hög bandbredd.

Det finns mĂ„nga protokoll för att skicka SCSI-kommandon över datanĂ€tverk. Det finns dock endast en standard som löser den motsatta uppgiften och möjliggör att IP-paket skickas över SCSI-bussen — IP-over-SCSI.

De flesta protokoll för att organisera SAN anvÀnder ett set SCSI-kommandon för att styra lagringsenheter, men det finns undantag, sÄsom den enkla ATA över Ethernet (AoE). AoE-protokollet skickar ATA-kommandon i Ethernet-paket, men i systemet visas lagringsenheterna som SCSI.

Med utvecklingen av NVM Express-lagringsenheter har protokollen iSCSI och FCP slutat att tillfredsstÀlla de snabbt vÀxande kraven frÄn SSD:er. TvÄ lösningar har dykt upp:

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

Utdragning av PCIe-bussen krÀver skapande av komplexa switchutrustningar, men gör inga förÀndringar i protokollet.

NVMe over Fabrics-protokollet har blivit ett bra alternativ till iSCSI och FCP. I NVMe-oF anvÀnds fiberoptiska kommunikationslinjer och NVM Express-kommandon.

DDR-T

Introduktion till SSD. Del 2. GrÀnssnitt
Standarderna iSCSI och NVMe-oF löser uppgiften att ansluta fjĂ€rrdiskar som lokala, medan Intel har valt en annan vĂ€g och sĂ„ mycket som möjligt nĂ€rmar sig den lokala disken till processorn. Valet föll pĂ„ DIMM-slots dĂ€r RAM-minnet ansluts. Den maximala bandbredden för DDR4-kanalen Ă€r 25 GB/s, vilket överstiger hastigheten för PCIe-bussen. SĂ„ kom den IntelÂź Optaneℱ DC Persistent Memory SSD till.

För att ansluta en lagringsenhet i DIMM-slots uppfanns ett protokoll DDR-T, som Ă€r fysiskt och elektriskt kompatibelt med DDR4, men krĂ€ver en speciell kontroller som ser skillnaden mellan minnesmodulen och lagringsenheten. Åtkomsthastigheten till lagringsenheten Ă€r lĂ€gre Ă€n till RAM-minnet, men högre Ă€n till NVMe.

DDR-T-protokollet Àr endast tillgÀngligt med IntelŸ-processorer av Cascade Lake-generationen eller nyare.

Slutsats

NÀstan alla grÀnssnitt har genomgÄtt en lÄng utveckling frÄn seriel till parallell datatransmission. Hastigheterna för SSD-enheter ökar snabbt; igÄr var SSD:er en nyhet, och idag Àr NVMe inte lÀngre sÄ förvÄnande.

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

Endast registrerade anvÀndare kan delta i omröstningen. Logga in, tack.

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

  • 55.5%Ja100

  • 44.4%Nej80

180 anvÀndare har röstat. 28 anvÀndare avstod.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster