Enkonduko al SSD. Parto 2. Interfaco

Enkonduko al SSD. Parto 2. Interfaco

В lasta parto En la serio "Enkonduko al SSD", ni parolis pri la historio de la apero de diskoj. La dua parto parolos pri interfacoj por interagi kun diskoj.

Komunikado inter la procesoro kaj ekstercentraj aparatoj okazas laŭ antaŭdifinitaj konvencioj nomitaj interfacoj. Ĉi tiuj interkonsentoj reguligas la fizikan kaj programaran nivelon de interago.

Interfaco estas aro de iloj, metodoj kaj reguloj de interago inter sistemaj elementoj.

La fizika efektivigo de la interfaco influas la sekvajn parametrojn:

  • kapablo de komunika kanalo;
  • maksimuma nombro da samtempe konektitaj aparatoj;
  • nombro da eraroj kiuj okazas.

Disko-interfacoj estas konstruitaj I/O-havenoj, kio estas la kontraŭo de memoro I/O kaj ne okupas spacon en la adresspaco de la procesoro.

Paralelaj kaj seriaj havenoj

Laŭ la metodo de interŝanĝo de datumoj, I/O-havenoj estas dividitaj en du tipojn:

  • paralela;
  • konsekvenca.

Kiel la nomo sugestas, paralela haveno sendas maŝinvorton konsistantan el pluraj bitoj samtempe. Paralela haveno estas la plej simpla maniero interŝanĝi datumojn, ĉar ĝi ne postulas kompleksajn cirkuladsolvojn. En la plej simpla kazo, ĉiu peco de maŝinvorto estas sendita laŭ sia propra signallinio, kaj du servosignallinioj estas uzitaj por religo: Datumoj pretaj и Datenoj akceptitaj.

Enkonduko al SSD. Parto 2. Interfaco
Paralelaj havenoj ŝajnas skali tre bone unuavide: pli da signallinioj signifas ke pli da bitoj estas transdonitaj samtempe kaj, tial, pli altan trairon. Tamen, pro la pliiĝo en la nombro da signallinioj, interfero okazas inter ili, kondukante al distordo de la elsenditaj mesaĝoj.

Seriaj havenoj estas la malo de paralelaj havenoj. Datenoj estas senditaj unu bito je fojo, kiu reduktas la totalan nombron da signallinioj sed aldonas kompleksecon al la I/O-regilo. La dissendilo-regilo ricevas maŝinvorton samtempe kaj devas elsendi po unu biton, kaj la ricevilo-regilo siavice devas ricevi la bitojn kaj stoki ilin en la sama sinsekvo.

Enkonduko al SSD. Parto 2. Interfaco
Malmulto da signallinioj permesas pliigi la oftecon de transdono de mesaĝoj sen interfero.

SCSI

Enkonduko al SSD. Parto 2. Interfaco
Small Computer Systems Interface (SCSI) aperis reen en 1978 kaj estis origine dizajnita por kombini aparatojn de diversaj profiloj en ununuran sistemon. La SCSI-1-specifo zorgis por ligado de ĝis 8 aparatoj (kune kun la regilo), kiel ekzemple:

  • skaniloj;
  • bendodiskoj (streamers);
  • optikaj diskoj;
  • disko-diskoj kaj aliaj aparatoj.

SCSI estis origine nomita Shugart Associates System Interface (SASI), sed la normkomisiono ne aprobus la nomon post la firmao, kaj post tago da cerbumado, la nomo Small Computer Systems Interface (SCSI) estis naskita. La "patro" de SCSI, Larry Boucher, intencis ke la akronimo estu prononcita "sekseca", sed Dal Allan Mi legis "scuzzy" ("diru al mi"). Poste, la prononco de "skazi" estis firme atribuita al ĉi tiu normo.

En SCSI-terminologio, ligitaj aparatoj estas dividitaj en du tipojn:

  • iniciatintoj;
  • celaj aparatoj.

La iniciatinto sendas komandon al la cela aparato, kiu tiam sendas respondon al la iniciatinto. Iniciatintoj kaj celoj estas ligitaj al ofta SCSI-buso, kiu havas bendolarĝon de 1 MB/s en la SCSI-5-normo.

La "komuna buso-" topologio uzita trudas kelkajn restriktojn:

  • Ĉe la finoj de la buso necesas specialaj aparatoj - terminatoroj;
  • La busa bendolarĝo estas dividita inter ĉiuj aparatoj;
  • La maksimuma nombro da samtempe konektitaj aparatoj estas limigita.

Enkonduko al SSD. Parto 2. Interfaco

Aparatoj sur la buso estas identigitaj per unika nombro nomita SCSI Celo-ID. Ĉiu SCSI-unuo en la sistemo estas reprezentita per almenaŭ unu logika aparato, kiu estas traktita uzante unikan nombron ene de la fizika aparato. Logika Unua Nombro (LUN).

Enkonduko al SSD. Parto 2. Interfaco
SCSI-komandoj estas senditaj kiel komandaj priskribaj blokoj (Komanda Descriptor Block, CDB), konsistante el operacia kodo kaj komandaj parametroj. La normo priskribas pli ol 200 komandojn, dividitajn en kvar kategoriojn:

  • deviga - devas esti subtenata de la aparato;
  • laŭvola - povas esti efektivigita;
  • Vendisto-specifa - uzata de specifa fabrikanto;
  • Malaktuala - malmodernaj komandoj.

Inter la multaj komandoj, nur tri el ili estas devigaj por aparatoj:

  • TESTO-UNUO PRETA - kontroli la pretecon de la aparato;
  • PETO SENTO — petas la erarkodon de la antaŭa komando;
  • ENKETO — peto pri bazaj karakterizaĵoj de la aparato.

Post ricevi kaj plenumi la komandon, la cela aparato sendas al la iniciatinto statuskodon, kiu priskribas la ekzekutrezulton.

Plia plibonigo de SCSI (SCSI-2 kaj Ultra SCSI-specifoj) vastigis la liston de komandoj uzitaj kaj pliigis la nombron da ligitaj aparatoj al 16, kaj la datumŝanĝrapidecon sur la buso al 640 MB/s. Ĉar SCSI estas paralela interfaco, pliigi la datumŝanĝoftecon estis asociita kun malkresko en la maksimuma kablolongo kaj kaŭzis ĝenon en uzo.

Komencante kun la Ultra-3 SCSI-normo, aperis subteno por "varma ŝtopado" - konekti aparatojn dum la potenco estas ŝaltita.

La unua konata SSD-disko kun SCSI-interfaco povas esti konsiderita la M-Systems FFD-350, publikigita en 1995. La disko havis altan koston kaj ne estis disvastigita.

Nuntempe, paralela SCSI ne estas populara diskkonektinterfaco, sed la komandaro daŭre estas aktive uzata en USB kaj SAS-interfacoj.

ATA/PATA

Enkonduko al SSD. Parto 2. Interfaco
interfaco ATA (Advanced Technology Attachment), ankaŭ konata kiel HOOF (Paralela ATA) estis evoluigita fare de Western Digital en 1986. La merkata nomo por la IDE-normo (Integrated Drive Electronics) emfazis gravan novigon: la stiradoregilo estis konstruita en la stiradon, prefere ol sur aparta vastiĝtabulo.

La decido meti la regilon ene de la disko solvis plurajn problemojn samtempe. Unue, la distanco de la veturado al la regilo malpliiĝis, kio havas pozitivan efikon sur la karakterizaĵoj de la veturado. Due, la enkonstruita regilo estis "tajlorita" nur por certa speco de stirado kaj, sekve, estis pli malmultekosta.

Enkonduko al SSD. Parto 2. Interfaco
ATA, kiel SCSI, uzas paralelan I/O-metodon, kiu influas la kablojn uzitajn. Por konekti diskojn uzante la IDE-interfacon, necesas 40-drataj kabloj, ankaŭ nomitaj kabloj. Pli lastatempaj specifoj uzas 80-dratajn buklojn: pli ol duono de kiuj estas grundaj bukloj por redukti interferon ĉe altfrekvencoj.

La ATA-kablo havas de du ĝis kvar konektilojn, unu el kiuj estas konektita al la baztabulo, kaj la resto al la diskoj. Konektante du aparatojn per unu kablo, unu el ili devas esti agordita kiel majstro, kaj la dua - kiel Sklavo. La tria aparato povas esti konektita ekskluzive en nurlegebla reĝimo.

Enkonduko al SSD. Parto 2. Interfaco
La pozicio de la saltisto precizigas la rolon de specifa aparato. La terminoj Majstro kaj Sklavo rilate al aparatoj ne estas tute ĝustaj, ĉar koncerne la regilon ĉiuj konektitaj aparatoj estas Sklavoj.

Speciala novigo en ATA-3 estas la aspekto Mem-Monitorado, Analiza kaj Raporta Teknologio (SMART). Kvin kompanioj (IBM, Seagate, Quantum, Conner kaj Western Digital) kunigis fortojn kaj normigis teknologion por taksi la sanon de diskoj.

Subteno por solidsubstancaj diskoj aperis kun la kvara versio de la normo, publikigita en 1998. Ĉi tiu versio de la normo disponigis datumtransigajn rapidecojn de ĝis 33.3 MB/s.

La normo prezentas striktajn postulojn por ATA-kabloj:

  • la trajno devas esti plata;
  • maksimuma trajnolongo estas 18 coloj (45.7 centimetroj).

La mallonga kaj larĝa trajno estis maloportuna kaj malhelpis malvarmigon. Pli kaj pli malfaciliĝis pliigi la dissendofrekvencon kun ĉiu posta versio de la normo, kaj ATA-7 solvis la problemon radikale: la paralela interfaco estis anstataŭigita per seria. Post tio, ATA akiris la vorton Parallel kaj iĝis konata kiel PATA, kaj la sepa versio de la normo ricevis malsaman nomon - Serial ATA. La numerado de SATA-versioj komenciĝis de unu.

SATA

Enkonduko al SSD. Parto 2. Interfaco
La Serial ATA (SATA) normo estis lanĉita la 7-an de januaro 2003 kaj traktis la problemojn de sia antaŭulo kun la sekvaj ŝanĝoj:

  • la paralela haveno estis anstataŭigita per seria;
  • la larĝa 80-drata kablo estas anstataŭigita per 7-drata;
  • La "komuna buso-" topologio estis anstataŭigita per "punkt-al-punkta" ligo.

Malgraŭ la fakto ke la SATA 1.0 normo (SATA/150, 150 MB/s) estis marĝene pli rapida ol ATA-6 (UltraDMA/130, 130 MB/s), la transiro al seria datuma interŝanĝo metodo "preparis la grundon" por pliigitaj rapidoj

La dek ses signallinioj por elsendado de datenoj en la ATA estis anstataŭigitaj per du torditaj paroj: unu por elsendado, la aliaj por ricevado. SATA-konektiloj estas dizajnitaj por esti pli rezistemaj al multoblaj rekonektigoj, kaj la SATA 1.0-specifo ebligis Hot Plug.

Kelkaj pingloj sur la diskoj estas pli mallongaj ol ĉiuj aliaj. Ĉi tio estas farita por subteni Hot Swap. Dum la anstataŭiga procezo, la aparato "perdas" kaj "trovas" liniojn en antaŭdeterminita ordo.

Iom pli ol jaron poste, en aprilo 2004, la dua versio de la SATA-specifo estis publikigita. Krom akcelo ĝis 3 Gbit/s, SATA 2.0 enkondukis teknologion Denaska Komandvico (NCQ). Aparatoj kun NCQ-subteno kapablas sendepende organizi la ordon en kiu ricevitaj komandoj estas efektivigitaj por atingi maksimuman efikecon.

Enkonduko al SSD. Parto 2. Interfaco
Dum la venontaj tri jaroj, la SATA Laborgrupo laboris por plibonigi la ekzistantan specifon kaj en versio 2.6 kompaktaj Slimline kaj mikro SATA (uSATA) konektiloj aperis. Ĉi tiuj konektiloj estas pli malgranda versio de la origina SATA-konektilo kaj estas dizajnitaj por optikaj diskoj kaj malgrandaj diskoj en tekkomputiloj.

Kvankam la dua generacio de SATA havis sufiĉe da bendolarĝo por malmolaj diskoj, SSDoj postulis pli. En majo 2009, la tria versio de la SATA-specifo estis publikigita kun pliigita bendolarĝo ĝis 6 Gbit/s.

Enkonduko al SSD. Parto 2. Interfaco
Speciala atento estis pagita al solidsubstancaj diskoj en la SATA 3.1 eldono. Aperis Mini-SATA (mSATA) konektilo, dizajnita por konekti solidsubstantajn diskojn en tekkomputiloj. Male al Slimline kaj uSATA, la nova konektilo estis simila al PCIe Mini, kvankam ĝi ne estis elektre kongrua kun PCIe. Krom la nova konektilo, SATA 3.1 fanfaronis pri la kapablo vicigi TRIM-komandojn kun legi kaj skribi komandojn.

La TRIM-komando sciigas la SSD pri datumblokoj, kiuj ne portas utilan ŝarĝon. Antaŭ SATA 3.1, ekzekuti ĉi tiun komandon kaŭzus kaŝmemorojn esti purigitaj kaj I/O estus suspendita, sekvita per TRIM-komando. Ĉi tiu aliro degradis disko-efikecon dum forigaj operacioj.

La SATA-specifo ne povis daŭrigi kun la rapida kresko de alirrapidoj por solidsubstancaj diskoj, kiu kaŭzis la aperon en 2013 de kompromiso nomita SATA Express en la SATA 3.2 normo. Anstataŭ duobligi la SATA-bendolarĝon denove, la programistoj uzis la vaste uzatan PCIe-buson, kies rapideco superas 6 Gbps. Diskoj subtenantaj SATA Express akiris sian propran forman faktoron nomitan M.2.

SAS

Enkonduko al SSD. Parto 2. Interfaco
La SCSI-normo, "konkuranta" kun ATA, ankaŭ ne staris senmove kaj nur jaron post la apero de Serial ATA, en 2004, ĝi renaskiĝis kiel seria interfaco. La nomo de la nova interfaco estas Seria Alkroĉita SCSI (KRECO).

Malgraŭ la fakto, ke SAS heredis la SCSI-komandaron, la ŝanĝoj estis signifaj:

  • seria interfaco;
  • 29-drata elektra kablo;
  • punkto-al-punkta konekto

SCSI-terminologio ankaŭ estis heredita. La regilo daŭre estas nomita la iniciatinto, kaj la ligitaj aparatoj daŭre estas nomitaj la celo. Ĉiuj celaj aparatoj kaj la iniciatinto formas SAS-domajnon. En SAS, konekta trairo ne dependas de la nombro da aparatoj en la domajno, ĉar ĉiu aparato uzas sian propran dediĉitan kanalon.

La maksimuma nombro da samtempe konektitaj aparatoj en SAS-domajno laŭ la specifo superas 16 mil, kaj anstataŭ SCSI-ID, identigilo estas uzata por trakti. Tutmonda Nomo (WWN).

WWN estas unika identigilo 16 bajtojn longa, analoga al MAC-adreso por SAS-aparatoj.

Enkonduko al SSD. Parto 2. Interfaco
Malgraŭ la simileco de SAS kaj SATA-konektiloj, ĉi tiuj normoj ne estas tute kongruaj. Tamen, SATA-disko povas esti konektita al SAS-konektilo, sed ne inverse. Kongrueco inter SATA-diskoj kaj la SAS-domajno estas certigita per la SATA Tunneling Protocol (STP).

La unua versio de la normo SAS-1 havas trafluon de 3 Gbit/s, kaj la plej moderna, SAS-4, plibonigis ĉi tiun ciferon je 7 fojojn: 22,5 Gbit/s.

PCIe

Enkonduko al SSD. Parto 2. Interfaco
Peripheral Component Interconnect Express (PCI Express, PCIe) estas seria interfaco por datumtransigo, kiu aperis en 2002. Disvolviĝo estis komencita fare de Intel, kaj poste transdonita al speciala organizo - PCI Special Interest Group.

La seria PCIe-interfaco ne estis escepto kaj iĝis logika daŭrigo de paralela PCI, kiu estas dizajnita por ligado de vastiĝkartoj.

PCI Express estas signife diferenca de SATA kaj SAS. La PCIe-interfaco havas varian nombron da lenoj. La nombro da linioj estas egala al potencoj de du kaj varias de 1 ĝis 16.

La esprimo "leno" en PCIe ne rilatas al specifa signallinio, sed al ununura plendupleksa komunika kanalo konsistanta el la sekvaj signallinioj:

  • ricevo+ kaj akcepto-;
  • transdono+ kaj transdono-;
  • kvar teraj konduktiloj.

La nombro da PCIe-lenoj rekte influas la maksimuman trairon de la ligo. La moderna PCI Express 4.0 normo permesas vin atingi 1.9 GB/s sur unu linio, kaj 31.5 GB/s kiam vi uzas 16 liniojn.

Enkonduko al SSD. Parto 2. Interfaco
La apetito por solidsubstancaj diskoj kreskas tre rapide. Kaj SATA kaj SAS ne havas tempon por pliigi sian bendolarĝon por "teni" kun SSD-oj, kio kaŭzis la aperon de SSD-diskoj kun PCIe-konektoj.

Kvankam PCIe Aldonkartoj estas ŝraŭbitaj, PCIe estas varme interŝanĝebla. Mallongaj PRSNT-pingloj (angle ĉeestantaj - nunaj) permesas vin certigi, ke la karto estas tute instalita en la fendo.

Solidsubstancaj diskoj konektitaj per PCIe estas reguligitaj per aparta normo Ne-Volatile Memory Host Controller Interface Specification kaj estas enkorpigitaj en diversaj formfaktoroj, sed pri ili ni parolos en la sekva parto.

Foraj stiradoj

Dum kreado de grandaj datumstokejoj, ekestis la bezono de protokoloj, kiuj permesas konekti diskojn situantajn ekster la servilo. La unua solvo en ĉi tiu areo estis Interreta SCSI (iSCSI), evoluigita fare de IBM kaj Cisco en 1998.

La ideo de la iSCSI-protokolo estas simpla: SCSI-komandoj estas "envolvitaj" en TCP/IP-pakaĵoj kaj transdonitaj al la reto. Malgraŭ la malproksima konekto, la iluzio estas kreita por klientoj, ke la stirado estas konektita loke. iSCSI-bazita Stokada Reto (SAN) povas esti konstruita sur ekzistanta retinfrastrukturo. Uzado de iSCSI signife reduktas la koston de organizado de SAN.

iSCSI havas "superan" opcion - Fibra Kanala Protokolo (FCP). SAN uzanta FCP estas konstruita sur diligentaj fibro-optikaj komunikadlinioj. Tiu aliro postulas kroman optikan retan ekipaĵon, sed estas stabila kaj havas altan trairon.

Estas multaj protokoloj por sendi SCSI-komandojn tra komputilaj retoj. Tamen ekzistas nur unu normo, kiu solvas la kontraŭan problemon kaj ebligas sendi IP-pakojn tra la SCSI-buso - IP-super-SCSI.

Plej multaj SAN-protokoloj uzas la SCSI-komandoaron por administri diskojn, sed ekzistas esceptoj, kiel simpla ATA super Eterreto (AoE). La AoE-protokolo sendas ATA-komandojn en Ethernet-pakaĵoj, sed la diskoj aperas kiel SCSI en la sistemo.

Kun la apero de NVM Express-diskoj, iSCSI kaj FCP-protokoloj ne plu renkontas la rapide kreskantajn postulojn de SSDoj. Aperis du solvoj:

  • movante la PCI Express-buson ekster la servilo;
  • kreado de la protokolo NVMe over Fabrics.

Forigi la PCIe-buson implikas krei kompleksan ŝanĝan ekipaĵon, sed ne ŝanĝas la protokolon.

La protokolo NVMe super Fabrics fariĝis bona alternativo al iSCSI kaj FCP. NVMe-oF uzas fibro-optikan ligon kaj la NVM Express-instrukciaĵon.

DDR-T

Enkonduko al SSD. Parto 2. Interfaco
La normoj iSCSI kaj NVMe-oF solvas la problemon konekti forajn diskojn kiel lokaj, sed Intel prenis alian vojon kaj alportis la lokan diskon kiel eble plej proksime al la procesoro. La elekto falis sur DIMM-fendojn en kiuj RAM estas konektita. La maksimuma bendolarĝo de DDR4-kanalo estas 25 GB/s, kio estas signife pli alta ol la rapideco de la buso PCIe. Jen kiel naskiĝis la Intel® Optane™ DC Persistent Memory SSD.

Protokolo estis inventita por konekti diskojn al DIMM-fendoj DDR-T, fizike kaj elektre kongrua kun DDR4, sed postulanta specialan regilon kiu vidas la diferencon inter la memorbastono kaj la stirado. La alirrapideco de la disko estas pli malrapida ol RAM, sed pli rapida ol NVMe.

DDR-T disponeblas nur kun procesoroj Intel® Cascade Lake aŭ poste.

konkludo

Preskaŭ ĉiuj interfacoj venis longan vojon de seriaj al paralelaj datumtransigo metodoj. SSD-rapidecoj kreskas rapide; ĝuste hieraŭ SSD-oj estis novaĵo, sed hodiaŭ NVMe ne plu estas aparte surpriza.

En nia laboratorio Selectel Lab vi povas testi SSD kaj NVMe-diskojn mem.

Nur registritaj uzantoj povas partopreni la enketon. Ensaluti, bonvolu.

Ĉu NVMe-diskoj anstataŭigos klasikajn SSDojn en proksima estonteco?

  • 55.5%Jes100

  • 44.4%No80

180 uzantoj voĉdonis. 28 uzantoj sindetenis.

fonto: www.habr.com

Aldoni komenton