Panimula sa SSD. Bahagi 2. Interface

Panimula sa SSD. Bahagi 2. Interface

В huling parte Sa seryeng "Introduction to SSD", pinag-usapan namin ang kasaysayan ng paglitaw ng mga disk. Ang ikalawang bahagi ay magsasalita tungkol sa mga interface para sa pakikipag-ugnayan sa mga drive.

Ang komunikasyon sa pagitan ng processor at mga peripheral na aparato ay nangyayari ayon sa mga paunang natukoy na convention na tinatawag na mga interface. Kinokontrol ng mga kasunduang ito ang pisikal at antas ng software ng pakikipag-ugnayan.

Ang interface ay isang hanay ng mga tool, pamamaraan at panuntunan ng pakikipag-ugnayan sa pagitan ng mga elemento ng system.

Ang pisikal na pagpapatupad ng interface ay nakakaapekto sa mga sumusunod na parameter:

  • kapasidad ng channel ng komunikasyon;
  • maximum na bilang ng sabay-sabay na konektadong mga device;
  • bilang ng mga error na nangyayari.

Ang mga interface ng disk ay binuo sa I/O port, na kabaligtaran ng memory I/O at hindi kumukuha ng espasyo sa address space ng processor.

Parallel at serial port

Ayon sa paraan ng pagpapalitan ng data, ang mga I/O port ay nahahati sa dalawang uri:

  • kahanay;
  • pare-pareho.

Tulad ng iminumungkahi ng pangalan, ang isang parallel port ay nagpapadala ng isang machine word na binubuo ng ilang mga bit sa isang pagkakataon. Ang isang parallel port ay ang pinakasimpleng paraan upang makipagpalitan ng data, dahil hindi ito nangangailangan ng mga kumplikadong solusyon sa circuitry. Sa pinakasimpleng kaso, ang bawat bit ng machine word ay ipinapadala sa sarili nitong linya ng signal, at dalawang linya ng signal ng serbisyo ang ginagamit para sa feedback: Handa na ang data и Tinanggap ang data.

Panimula sa SSD. Bahagi 2. Interface
Ang mga parallel port ay mukhang napakahusay sa unang tingin: mas maraming linya ng signal ang nangangahulugang mas maraming bit ang inililipat sa isang pagkakataon at, samakatuwid, mas mataas na throughput. Gayunpaman, dahil sa pagtaas ng bilang ng mga linya ng signal, nangyayari ang interference sa pagitan nila, na humahantong sa pagbaluktot ng mga ipinadalang mensahe.

Ang mga serial port ay ang kabaligtaran ng mga parallel port. Ang data ay ipinapadala nang paisa-isa, na nagpapababa sa kabuuang bilang ng mga linya ng signal ngunit nagdaragdag ng pagiging kumplikado sa I/O controller. Ang transmitter controller ay tumatanggap ng isang machine word sa isang pagkakataon at dapat magpadala ng isang bit sa isang pagkakataon, at ang receiver controller naman ay dapat tumanggap ng mga bit at iimbak ang mga ito sa parehong pagkakasunud-sunod.

Panimula sa SSD. Bahagi 2. Interface
Ang isang maliit na bilang ng mga linya ng signal ay nagbibigay-daan sa iyo upang taasan ang dalas ng pagpapadala ng mensahe nang walang panghihimasok.

SCSI

Panimula sa SSD. Bahagi 2. Interface
Ang Maliit na Computer Systems Interface (SCSI) ay lumitaw noong 1978 at orihinal na idinisenyo upang pagsamahin ang mga aparato ng iba't ibang mga profile sa isang solong sistema. Ang detalye ng SCSI-1 na ibinigay para sa pagkonekta ng hanggang 8 device (kasama ang controller), gaya ng:

  • mga scanner;
  • tape drive (mga streamer);
  • optical drive;
  • mga disk drive at iba pang device.

Ang SCSI ay orihinal na tinawag na Shugart Associates System Interface (SASI), ngunit hindi inaprubahan ng komite ng pamantayan ang pangalan pagkatapos ng kumpanya, at pagkatapos ng isang araw ng brainstorming, ipinanganak ang pangalang Small Computer Systems Interface (SCSI). Ang "ama" ng SCSI, si Larry Boucher, ay nilayon na ang acronym ay binibigkas na "sexy", ngunit Dal Allan Binasa ko ang “scuzzy” (“tell me”). Kasunod nito, ang pagbigkas ng "skazi" ay matatag na itinalaga sa pamantayang ito.

Sa terminolohiya ng SCSI, ang mga konektadong device ay nahahati sa dalawang uri:

  • initiators;
  • target na mga aparato.

Nagpapadala ang initiator ng command sa target na device, na pagkatapos ay nagpapadala ng tugon sa initiator. Ang mga nagsisimula at target ay konektado sa isang karaniwang SCSI bus, na may bandwidth na 1 MB/s sa pamantayan ng SCSI-5.

Ang ginamit na topology ng "karaniwang bus" ay nagpapataw ng ilang mga paghihigpit:

  • Sa mga dulo ng bus, kinakailangan ang mga espesyal na aparato - mga terminator;
  • Ang bandwidth ng bus ay ibinabahagi sa lahat ng device;
  • Limitado ang maximum na bilang ng mga device na magkakasabay na konektado.

Panimula sa SSD. Bahagi 2. Interface

Ang mga device sa bus ay nakikilala sa pamamagitan ng isang natatanging numero na tinatawag SCSI Target ID. Ang bawat yunit ng SCSI sa system ay kinakatawan ng hindi bababa sa isang lohikal na aparato, na tinutugunan gamit ang isang natatanging numero sa loob ng pisikal na aparato Logical Unit Number (LUN).

Panimula sa SSD. Bahagi 2. Interface
Ang mga utos ng SCSI ay ipinapadala bilang mga bloke ng paglalarawan ng command (Command Descriptor Block, CDB), na binubuo ng isang operation code at mga parameter ng command. Ang pamantayan ay naglalarawan ng higit sa 200 mga utos, na nahahati sa apat na kategorya:

  • sapilitan - dapat na suportado ng device;
  • Opsyonal - maaaring ipatupad;
  • Partikular sa vendor - ginagamit ng isang tiyak na tagagawa;
  • Hindi na ginagamit - hindi napapanahong mga utos.

Sa maraming utos, tatlo lang sa mga ito ang sapilitan para sa mga device:

  • HANDA NA ANG TEST UNIT — pagsuri sa kahandaan ng aparato;
  • HUMINGI NG SENSE — humihiling ng error code ng nakaraang command;
  • INQUIRY — kahilingan para sa mga pangunahing katangian ng device.

Pagkatapos matanggap at maisakatuparan ang command, ang target na device ay magpapadala sa initiator ng isang status code na naglalarawan sa resulta ng pagpapatupad.

Ang karagdagang pagpapabuti ng SCSI (SCSI-2 at Ultra SCSI specifications) ay nagpalawak ng listahan ng mga command na ginamit at nadagdagan ang bilang ng mga konektadong device sa 16, at ang bilis ng palitan ng data sa bus sa 640 MB/s. Dahil ang SCSI ay isang parallel na interface, ang pagtaas ng dalas ng palitan ng data ay nauugnay sa pagbaba sa maximum na haba ng cable at humantong sa abala sa paggamit.

Simula sa pamantayan ng Ultra-3 SCSI, lumitaw ang suporta para sa "hot plugging" - pagkonekta ng mga device habang naka-on ang power.

Ang unang kilalang SSD drive na may SCSI interface ay maaaring ituring na M-Systems FFD-350, na inilabas noong 1995. Ang disk ay may mataas na halaga at hindi laganap.

Sa kasalukuyan, ang parallel SCSI ay hindi isang sikat na interface ng koneksyon sa disk, ngunit ang command set ay aktibong ginagamit pa rin sa mga interface ng USB at SAS.

ATA/PATA

Panimula sa SSD. Bahagi 2. Interface
interface Ata (Advanced Technology Attachment), na kilala rin bilang PATA (Parallel ATA) ay binuo ng Western Digital noong 1986. Ang pangalan ng marketing para sa pamantayan ng IDE (Integrated Drive Electronics) ay nagbigay-diin sa isang mahalagang pagbabago: ang drive controller ay binuo sa drive, sa halip na sa isang hiwalay na expansion board.

Ang desisyon na ilagay ang controller sa loob ng drive ay nalutas ang ilang mga problema nang sabay-sabay. Una, ang distansya mula sa drive patungo sa controller ay nabawasan, na may positibong epekto sa mga katangian ng drive. Pangalawa, ang built-in na controller ay "iniayon" lamang para sa isang tiyak na uri ng drive at, nang naaayon, ay mas mura.

Panimula sa SSD. Bahagi 2. Interface
Ang ATA, tulad ng SCSI, ay gumagamit ng parallel na I/O method, na nakakaapekto sa mga cable na ginamit. Upang ikonekta ang mga drive gamit ang interface ng IDE, kinakailangan ang 40-wire cable, na tinatawag ding mga cable. Gumagamit ang mas kamakailang mga detalye ng 80-wire na mga loop: higit sa kalahati nito ay batayan upang mabawasan ang interference sa matataas na frequency.

Ang ATA cable ay may dalawa hanggang apat na konektor, ang isa ay konektado sa motherboard, at ang iba sa mga drive. Kapag nagkokonekta ng dalawang device gamit ang isang cable, dapat na i-configure ang isa sa mga ito bilang Panginoon, at ang pangalawa - bilang Alipin. Ang ikatlong device ay maaaring ikonekta nang eksklusibo sa read-only na mode.

Panimula sa SSD. Bahagi 2. Interface
Tinutukoy ng posisyon ng jumper ang papel ng isang partikular na device. Ang mga terminong Master at Slave na may kaugnayan sa mga device ay hindi ganap na tama, dahil may kinalaman sa controller ang lahat ng konektadong device ay Slaves.

Ang isang espesyal na pagbabago sa ATA-3 ay ang hitsura Pagsubaybay sa Sarili, Teknolohiya ng Pagsusuri at Pag-uulat (SMART). Limang kumpanya (IBM, Seagate, Quantum, Conner at Western Digital) ang nagsanib-puwersa at standardized na teknolohiya para sa pagtatasa ng kalusugan ng mga drive.

Ang suporta para sa mga solid-state drive ay lumitaw kasama ang ika-apat na bersyon ng pamantayan, na inilabas noong 1998. Ang bersyon na ito ng pamantayan ay nagbigay ng bilis ng paglilipat ng data na hanggang 33.3 MB/s.

Ang pamantayan ay naglalagay ng mga mahigpit na kinakailangan para sa mga ATA cable:

  • ang tren ay dapat na patag;
  • ang maximum na haba ng tren ay 18 pulgada (45.7 sentimetro).

Ang maikli at malawak na tren ay hindi maginhawa at nakagambala sa paglamig. Ito ay naging mas at mas mahirap upang madagdagan ang dalas ng paghahatid sa bawat kasunod na bersyon ng pamantayan, at ang ATA-7 ay nalutas ang problema nang radikal: ang parallel na interface ay pinalitan ng isang serial. Pagkatapos nito, nakuha ng ATA ang salitang Parallel at naging kilala bilang PATA, at ang ikapitong bersyon ng pamantayan ay nakatanggap ng ibang pangalan - Serial ATA. Nagsimula sa isa ang pagnunumero ng mga bersyon ng SATA.

SATA

Panimula sa SSD. Bahagi 2. Interface
Ang pamantayang Serial ATA (SATA) ay ipinakilala noong Enero 7, 2003 at tinutugunan ang mga problema ng hinalinhan nito sa mga sumusunod na pagbabago:

  • ang parallel port ay pinalitan ng serial one;
  • ang malawak na 80-wire cable ay pinalitan ng isang 7-wire;
  • Ang topology ng "common bus" ay pinalitan ng "point-to-point" na koneksyon.

Sa kabila ng katotohanan na ang pamantayan ng SATA 1.0 (SATA/150, 150 MB/s) ay bahagyang mas mabilis kaysa sa ATA-6 (UltraDMA/130, 130 MB/s), ang paglipat sa isang serial data exchange na paraan ay "inihanda ang lupa" para sa tumaas na bilis

Ang labing-anim na linya ng signal para sa pagpapadala ng data sa ATA ay pinalitan ng dalawang twisted pairs: isa para sa pagpapadala, ang isa para sa pagtanggap. Ang mga konektor ng SATA ay idinisenyo upang maging mas nababanat sa maraming muling pagkonekta, at ginawang posible ng detalye ng SATA 1.0 ang Hot Plug.

Ang ilang mga pin sa mga disk ay mas maikli kaysa sa lahat ng iba pa. Ginagawa ito upang suportahan ang Hot Swap. Sa panahon ng proseso ng pagpapalit, ang aparato ay "nawawala" at "naghahanap" ng mga linya sa isang paunang natukoy na pagkakasunud-sunod.

Makalipas ang kaunti sa isang taon, noong Abril 2004, inilabas ang pangalawang bersyon ng detalye ng SATA. Bilang karagdagan sa acceleration hanggang 3 Gbit/s, ipinakilala ng SATA 2.0 ang teknolohiya Katutubong Command Queuing (NCQ). Ang mga device na may suporta sa NCQ ay nakapag-iisa na ayusin ang pagkakasunud-sunod kung saan ang mga natanggap na utos ay isinasagawa upang makamit ang pinakamataas na pagganap.

Panimula sa SSD. Bahagi 2. Interface
Sa susunod na tatlong taon, ang SATA Working Group ay nagtrabaho upang pahusayin ang kasalukuyang detalye at sa bersyon 2.6 compact Slimline at micro SATA (uSATA) connectors ay lumitaw. Ang mga konektor na ito ay isang mas maliit na bersyon ng orihinal na konektor ng SATA at idinisenyo para sa mga optical drive at maliliit na drive sa mga laptop.

Bagama't ang pangalawang henerasyon ng SATA ay may sapat na bandwidth para sa mga hard drive, ang mga SSD ay nangangailangan ng higit pa. Noong Mayo 2009, ang ikatlong bersyon ng detalye ng SATA ay inilabas na may tumaas na bandwidth sa 6 Gbit/s.

Panimula sa SSD. Bahagi 2. Interface
Ang partikular na atensyon ay binayaran sa mga solid-state drive sa SATA 3.1 na edisyon. May lumitaw na Mini-SATA (mSATA) connector, na idinisenyo para sa pagkonekta ng mga solid-state drive sa mga laptop. Hindi tulad ng Slimline at uSATA, ang bagong connector ay katulad ng PCIe Mini, bagama't hindi ito electrically compatible sa PCIe. Bilang karagdagan sa bagong connector, ipinagmamalaki ng SATA 3.1 ang kakayahang mag-queue ng mga TRIM command gamit ang read and write commands.

Inaabisuhan ng TRIM command ang SSD ng mga bloke ng data na hindi nagdadala ng payload. Bago ang SATA 3.1, ang pagpapatupad ng command na ito ay magiging sanhi ng pag-flush ng mga cache at ang I/O ay masususpinde, na sinusundan ng isang TRIM command. Ang diskarteng ito ay nagpapahina sa pagganap ng disk sa panahon ng pagtanggal ng mga operasyon.

Ang detalye ng SATA ay hindi makasabay sa mabilis na paglaki ng mga bilis ng pag-access para sa mga solid-state drive, na humantong sa paglitaw noong 2013 ng isang kompromiso na tinatawag na SATA Express sa pamantayan ng SATA 3.2. Sa halip na doblehin muli ang SATA bandwidth, ginamit ng mga developer ang malawakang ginagamit na PCIe bus, na ang bilis ay lumampas sa 6 Gbps. Ang mga drive na sumusuporta sa SATA Express ay nakakuha ng sarili nilang form factor na tinatawag na M.2.

SAS

Panimula sa SSD. Bahagi 2. Interface
Ang pamantayan ng SCSI, "nakikipagkumpitensya" sa ATA, ay hindi rin tumigil at isang taon lamang pagkatapos ng paglitaw ng Serial ATA, noong 2004, ito ay muling isinilang bilang isang serial interface. Ang pangalan ng bagong interface ay Serial Attached SCSI (SEDGE).

Sa kabila ng katotohanan na minana ng SAS ang set ng command ng SCSI, ang mga pagbabago ay makabuluhan:

  • serial interface;
  • 29-wire power cable;
  • point-to-point na koneksyon

Ang terminolohiya ng SCSI ay minana din. Ang controller ay tinatawag pa ring initiator, at ang mga konektadong device ay tinatawag pa ring target. Ang lahat ng target na device at ang nagpasimula ay bumubuo ng isang SAS na domain. Sa SAS, ang throughput ng koneksyon ay hindi nakadepende sa bilang ng mga device sa domain, dahil ang bawat device ay gumagamit ng sarili nitong nakalaang channel.

Ang maximum na bilang ng sabay-sabay na konektadong mga device sa isang SAS domain ayon sa detalye ay lumampas sa 16 thousand, at sa halip na isang SCSI ID, isang identifier ang ginagamit para sa pagtugon Pangalan sa Buong Mundo (WWN).

Ang WWN ay isang natatanging identifier na 16 bytes ang haba, na kahalintulad sa isang MAC address para sa mga SAS device.

Panimula sa SSD. Bahagi 2. Interface
Sa kabila ng pagkakatulad ng mga konektor ng SAS at SATA, ang mga pamantayang ito ay hindi ganap na magkatugma. Gayunpaman, ang isang SATA drive ay maaaring konektado sa isang SAS connector, ngunit hindi vice versa. Ang pagiging tugma sa pagitan ng mga SATA drive at ng SAS domain ay sinisiguro gamit ang SATA Tunneling Protocol (STP).

Ang unang bersyon ng pamantayan ng SAS-1 ay may throughput na 3 Gbit/s, at ang pinakamodernong, SAS-4, ay napabuti ang figure na ito ng 7 beses: 22,5 Gbit/s.

PCIe

Panimula sa SSD. Bahagi 2. Interface
Ang Peripheral Component Interconnect Express (PCI Express, PCIe) ay isang serial interface para sa paglilipat ng data, na lumabas noong 2002. Ang pag-unlad ay sinimulan ng Intel, at pagkatapos ay inilipat sa isang espesyal na organisasyon - PCI Special Interest Group.

Ang serial PCIe interface ay walang exception at naging lohikal na pagpapatuloy ng parallel PCI, na idinisenyo para sa pagkonekta ng mga expansion card.

Malaki ang pagkakaiba ng PCI Express sa SATA at SAS. Ang interface ng PCIe ay may variable na bilang ng mga lane. Ang bilang ng mga linya ay katumbas ng kapangyarihan ng dalawa at mula 1 hanggang 16.

Ang terminong "lane" sa PCIe ay hindi tumutukoy sa isang partikular na linya ng signal, ngunit sa isang solong full-duplex na channel ng komunikasyon na binubuo ng mga sumusunod na linya ng signal:

  • pagtanggap+ at pagtanggap-;
  • transmission+ at transmission-;
  • apat na grounding conductor.

Ang bilang ng mga PCIe lane ay direktang nakakaapekto sa maximum throughput ng koneksyon. Ang modernong pamantayan ng PCI Express 4.0 ay nagbibigay-daan sa iyong makamit ang 1.9 GB/s sa isang linya, at 31.5 GB/s kapag gumagamit ng 16 na linya.

Panimula sa SSD. Bahagi 2. Interface
Ang gana sa solid-state drive ay mabilis na lumalaki. Ang parehong SATA at SAS ay walang oras upang madagdagan ang kanilang bandwidth upang "makasabay" sa mga SSD, na humantong sa paglitaw ng mga SSD drive na may mga koneksyon sa PCIe.

Bagama't naka-screw ang mga PCIe Add-In card, ang PCIe ay hot-swappable. Ang mga maiikling PRSNT pin (Ingles na kasalukuyan - kasalukuyan) ay nagbibigay-daan sa iyo upang matiyak na ang card ay ganap na naka-install sa slot.

Ang mga solid-state drive na konektado sa pamamagitan ng PCIe ay kinokontrol ng isang hiwalay na pamantayan Non-Volatile Memory Host Controller Interface na Detalye at nakapaloob sa iba't ibang anyo, ngunit pag-uusapan natin ang mga ito sa susunod na bahagi.

Mga remote na drive

Kapag lumilikha ng malalaking data warehouse, lumitaw ang pangangailangan para sa mga protocol na nagpapahintulot sa pagkonekta ng mga drive na matatagpuan sa labas ng server. Ang unang solusyon sa lugar na ito ay Internet SCSI (iSCSI), na binuo ng IBM at Cisco noong 1998.

Ang ideya ng iSCSI protocol ay simple: Ang mga command ng SCSI ay "nakabalot" sa mga TCP/IP packet at ipinadala sa network. Sa kabila ng malayuang koneksyon, nilikha ang ilusyon para sa mga kliyente na lokal na konektado ang drive. Ang isang iSCSI-based na Storage Area Network (SAN) ay maaaring itayo sa umiiral na imprastraktura ng network. Ang paggamit ng iSCSI ay makabuluhang binabawasan ang gastos ng pag-aayos ng isang SAN.

Ang iSCSI ay may "premium" na opsyon - Protocol ng Fiber Channel (FCP). Ang isang SAN na gumagamit ng FCP ay binuo sa nakalaang fiber optic na mga linya ng komunikasyon. Ang diskarte na ito ay nangangailangan ng karagdagang kagamitan sa optical network, ngunit ito ay matatag at may mataas na throughput.

Maraming mga protocol para sa pagpapadala ng mga command ng SCSI sa mga network ng computer. Gayunpaman, mayroon lamang isang pamantayan na lumulutas sa kabaligtaran na problema at nagpapahintulot sa mga IP packet na maipadala sa SCSI bus - IP-over-SCSI.

Karamihan sa mga protocol ng SAN ay gumagamit ng SCSI command set para pamahalaan ang mga drive, ngunit may mga exception, gaya ng simple ATA sa Ethernet (AoE). Ang AoE protocol ay nagpapadala ng mga utos ng ATA sa mga Ethernet packet, ngunit lumilitaw ang mga drive bilang SCSI sa system.

Sa pagdating ng mga NVM Express drive, hindi na natutugunan ng mga protocol ng iSCSI at FCP ang mabilis na lumalagong pangangailangan ng mga SSD. Dalawang solusyon ang lumitaw:

  • paglipat ng PCI Express bus sa labas ng server;
  • paglikha ng NVMe over Fabrics protocol.

Ang pag-alis ng PCIe bus ay nagsasangkot ng paglikha ng mga kumplikadong kagamitan sa paglipat, ngunit hindi binabago ang protocol.

Ang NVMe over Fabrics protocol ay naging isang magandang alternatibo sa iSCSI at FCP. Gumagamit ang NVMe-oF ng fiber optic na link at ang set ng pagtuturo ng NVM Express.

DDR-T

Panimula sa SSD. Bahagi 2. Interface
Ang mga pamantayan ng iSCSI at NVMe-oF ay malulutas ang problema ng pagkonekta ng mga malalayong disk bilang mga lokal, ngunit ang Intel ay kumuha ng ibang ruta at dinala ang lokal na disk nang mas malapit hangga't maaari sa processor. Ang pagpipilian ay nahulog sa mga DIMM slot kung saan nakakonekta ang RAM. Ang maximum na bandwidth ng isang DDR4 channel ay 25 GB/s, na mas mataas kaysa sa bilis ng PCIe bus. Ito ay kung paano ipinanganak ang Intel® Optane™ DC Persistent Memory SSD.

Naimbento ang isang protocol upang ikonekta ang mga drive sa mga DIMM slot DDR-T, pisikal at elektrikal na tugma sa DDR4, ngunit nangangailangan ng espesyal na controller na nakikita ang pagkakaiba sa pagitan ng memory stick at ng drive. Ang bilis ng pag-access ng drive ay mas mabagal kaysa sa RAM, ngunit mas mabilis kaysa sa NVMe.

Available lang ang DDR-T sa mga processor ng Intel® Cascade Lake o mas bago.

Konklusyon

Halos lahat ng mga interface ay malayo na ang narating mula sa serial hanggang sa parallel na paraan ng paglilipat ng data. Ang bilis ng SSD ay mabilis na lumalaki; kahapon lang ang mga SSD ay bago, ngunit ngayon ang NVMe ay hindi na nakakagulat.

Sa aming laboratoryo Selectel Lab maaari mong subukan ang SSD at NVMe drive sa iyong sarili.

Ang mga rehistradong user lamang ang maaaring lumahok sa survey. Mag-sign in, pakiusap

Papalitan ba ng mga NVMe drive ang mga klasikong SSD sa malapit na hinaharap?

  • 55.5%Oo100

  • 44.4%No80

180 user ang bumoto. 28 na user ang umiwas.

Pinagmulan: www.habr.com

Magdagdag ng komento