Увядзенне ў SSD. Частка 2. Інтэрфейсная

Увядзенне ў SSD. Частка 2. Інтэрфейсная

В мінулай часткі цыклу "Уводзіны ў SSD" мы распавялі пра гісторыю з'яўлення дыскаў. Другая частка раскажа пра інтэрфейсы ўзаемадзеяння з назапашвальнікамі.

Зносіны паміж працэсарам і перыферыйнымі прыладамі адбываецца ў адпаведнасці з загадзя вызначанымі дамовамі, званымі інтэрфейсамі. Гэтыя пагадненні рэгламентуюць фізічны і праграмны ўзровень узаемадзеяння.

Інтэрфейс - сукупнасць сродкаў, метадаў і правіл узаемадзеяння паміж элементамі сістэмы.

Фізічная рэалізацыя інтэрфейсу ўплывае на наступныя параметры:

  • прапускная здольнасць канала сувязі;
  • максімальную колькасць адначасова падлучаных прылад;
  • колькасць памылак, якія ўзнікаюць.

Дыскавыя інтэрфейсы пабудаваны на партах уводу-вываду, Што з'яўляецца супрацьлегласцю ўводу-вываду праз памяць і не займае месца ў адраснай прасторы працэсара.

Паралельныя і паслядоўныя парты

Па спосабе абмену дадзенымі парты ўводу-высновы дзеляцца на два тыпу:

  • паралельныя;
  • паслядоўныя.

Як вынікае з назвы, раўналежны порт адпраўляе за раз машыннае слова, якое складаецца з некалькіх біт. Раўналежны порт - самы просты спосаб абмену дадзенымі, бо не патрабуе складаных схематэхнічных рашэнняў. У самым простым выпадку кожны біт машыннага слова адпраўляецца па сваёй сігнальнай лініі, а для зваротнай сувязі выкарыстоўваюцца дзве службовыя сігнальныя лініі: Дадзеныя гатовы и Дадзеныя прыняты.

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Паралельныя парты, на першы погляд, выдатна маштабуюцца: больш сігнальных ліній - больш біт перадаецца за раз і, такім чынам, вышэй прапускная здольнасць. Тым не менш, з-за павелічэнні колькасці сігнальных ліній паміж імі ўзнікае інтэрферэнцыйнае ўзаемадзеянне, якое прыводзіць да скажэння перадаюцца паведамленняў.

Паслядоўныя парты - супрацьлегласць паралельным. Адпраўка дадзеных адбываецца па адным біту за раз, што скарачае агульную колькасць сігнальных ліній, але ўскладняе кантролер уводу-высновы. Кантролер перадатчыка атрымлівае машыннае слова за раз і павінен перадаваць па адным біту, а кантролер прымача ў сваю чаргу павінен атрымліваць біты і захоўваць у тым жа парадку.

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Малая колькасць сігнальных ліній дазваляе без перашкод павялічваць частату перадачы паведамлення.

SCSI

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Small Computer Systems Interface (SCSI) з'явіўся ў далёкім 1978 годзе і быў першапачаткова распрацаваны, каб аб'ядноўваць прылады рознага профіля ў адзіную сістэму. Спецыфікацыя SCSI-1 прадугледжвала падлучэнне да 8 прылад (разам з кантролерам), такіх як:

  • сканары;
  • істужачныя назапашвальнікі (стрымеры);
  • аптычныя прывады;
  • дыскавыя назапашвальнікі і іншыя прылады.

Першапачаткова SCSI меў назву Shugart Associates System Interface (SASI), але стандартуе камітэт не ўхваліў бы назву ў гонар кампаніі і пасля дня мазгавога штурму з'явілася назва Small Computer Systems Interface (SCSI). "Бацька" SCSI, Лары Баўчар (Larry Boucher) меркаваў, што абрэвіятура будзе прамаўляцца як "sexy", але Даў Алан (Dal Allan) прачытаў "sсuzzy" ("сказы"). Пасля вымаўленне "сказы" трывала замацавалася за гэтым стандартам.

У тэрміналогіі SCSI якія падключаюцца прылады дзеляцца на два тыпу:

  • ініцыятары;
  • мэтавыя прылады.

Ініцыятар адпраўляе каманду мэтавай прыладзе, якая затым адпраўляе адказ ініцыятару. Ініцыятары і мэтавыя прылады падлучаныя да агульнай шыны SCSI, прапускная здольнасць якой у стандарце SCSI-1 складае 5 МБ/С.

Выкарыстоўваная тапалогія агульная шына накладвае шэраг абмежаванняў:

  • на канцах шыны неабходны спецыяльныя прылады - тэрмінатары;
  • прапускная здольнасць шыны дзеліцца паміж усімі прыладамі;
  • максімальная колькасць адначасова падлучаных прылад абмежавана.

Увядзенне ў SSD. Частка 2. Інтэрфейсная

Прылады на шыне ідэнтыфікуюцца па ўнікальным нумары. SCSI Target ID. Кожны SCSI-юніт у сістэме прадстаўлены мінімум адной лагічнай прыладай, адрасаванне якога адбываецца па ўнікальнай у межах фізічнай прылады нумара. Лагічны нумар адзінкі (LUN).

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Каманды ў SCSI адпраўляюцца ў выглядзе блокаў апісання каманды (Command Descriptor Block, CDB), якія складаюцца з кода аперацыі і параметраў каманды. У стандарце апісана больш за 200 каманд, падзеленых у чатыры катэгорыі:

  • абавязковае - павінны падтрымлівацца прыладай;
  • Неабавязковы - могуць быць рэалізаваны;
  • Vendor-specific - Выкарыстоўваюцца канкрэтным вытворцам;
  • састарэлы - Састарэлыя каманды.

Сярод мноства каманд толькі тры з іх з'яўляюцца абавязковымі для прылад:

  • ТЭСТ ГАТОВЫ - Праверка гатоўнасці прылады;
  • ЗАПРЫЦЬ СЕНС - запытвае код памылкі папярэдняй каманды;
  • Запыт - запыт асноўных характарыстык прылады.

Пасля атрымання і адпрацоўкі каманды мэтавая прылада адпраўляе ініцыятару статут-код, якім апісваецца вынік выканання.

Далейшае ўдасканаленне SCSI (спецыфікацыі SCSI-2 і Ultra SCSI) пашырыла спіс выкарыстоўваных каманд і павялічыла колькасць падключаюцца прылад да 16-ці, а хуткасць абмену дадзенымі па шыне да 640 МБ/c. Бо SCSI – раўналежны інтэрфейс, падвышэнне частаты абмену дадзенымі было спалучана з памяншэннем максімальнай даўжыні кабеля і прыводзіла да нязручнасці ў выкарыстанні.

Пачынальна са стандарту Ultra-3 SCSI з'явілася падтрымка "гарачага падлучэння" - падлучэнне прылад пры ўключаным сілкаванні.

Першым вядомым SSD дыскам з інтэрфейсам SCSI можна лічыць M-Systems FFD-350, выпушчаны ў 1995 годзе. Дыск меў высокі кошт і не меў шырокай распаўсюджанасці.

У цяперашні час раўналежны SCSI не з'яўляецца папулярным інтэрфейсам падлучэння дыскаў, але набор каманд дагэтуль актыўна выкарыстоўваецца ў інтэрфейсах USB і SAS.

ATA / PATA

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Інтэрфейс ATA (Advanced Technology Attachment), гэтак жа вядомы як PATA (Parallel ATA) быў распрацаваны кампаніяй Western Digital у 1986 годзе. Маркетынгавая назва стандарту IDE (англ.: Integrated Drive Electronics – «электроніка, убудаваная ў прывад») падкрэслівала важнае новаўвядзенне: кантролер прывада быў убудаваны ў прывад, а не на асобнай плаце пашырэння.

Рашэнне размясціць кантролер усярэдзіне прывада вырашыла адразу некалькі праблем. Па-першае, паменшылася адлегласць ад назапашвальніка да кантролера, што дадатнай выявай паўплывала на характарыстыкі назапашвальніка. Па-другое, убудаваны кантролер быў заменчаны толькі пад вызначаны тып прывада і, адпаведна, быў танней.

Увядзенне ў SSD. Частка 2. Інтэрфейсная
ATA, як і SCSI, выкарыстае раўналежны спосаб уводу-высновы, што адлюстроўваецца на выкарыстоўваных кабелях. Для падлучэння дыскаў з выкарыстаннем інтэрфейсу IDE патрэбныя 40-жыльныя кабелі, а таксама званыя шлейфамі. У пазнейшых спецыфікацыях выкарыстоўваюцца 80-жыльныя шлейфы: больш за палову з якіх - зазямлення для памяншэння інтэрферэнцыі на высокіх частотах.

На шлейфе ATA прысутнічае ад двух да чатырох раздымаў, адзін з якіх падключаецца ў матчыну плату, а астатнія - у назапашвальнікі. Пры падлучэнні двух прылад адным шлейфам, адно з іх павінна быць сканфігуравана як Майстар, а другое - як Раб. Трэцяя прылада можа быць падлучана выключна ў рэжыме "толькі чытанне".

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Становішча перамычкі задае ролю канкрэтнай прылады. Тэрміны Master і Slave па стаўленні да прылад не зусім карэктныя, бо адносна кантролера ўсе падлучаныя прылады – Slaves.

Асаблівым новаўвядзеннем у ATA-3 лічыцца з'яўленне Самакантроль, Analysis and Reporting Technology (SMART). Пяць кампаній (IBM, Seagate, Quantum, Conner і Western Digital) аб'ядналі намаганні і стандартызавалі тэхналогію ацэнкі стану назапашвальнікаў.

Падтрымка цвёрдацельных назапашвальнікаў з'явілася з чацвёртай версіі стандарту, выпушчанай у 1998 году. Гэтая версія стандарту забяспечвала хуткасць абмену дадзенымі да 33.3/XNUMX МБ / с.

Стандарт высоўвае цвёрдыя патрабаванні да шлейфаў ATA:

  • шлейф абавязкова павінен быць плоскім;
  • максімальная даўжыня шлейфу 18 цаляў (45.7/XNUMX сантыметраў).

Кароткі і шырокі шлейф быў нязручны і перашкаджаў астуджэнню. Падвышаць частату перадачы з кожнай наступнай версіяй стандарту станавілася ўсё складаней, і ATA-7 вырашыў праблему радыкальна: раўналежны інтэрфейс быў заменены паслядоўным. Пасля гэтага ATA набыў слова Parallel і стаў звацца PATA, а сёмая версія стандарту атрымала іншую назву – Serial ATA. Нумарацыя версій SATA пачалася з адзінкі.

SATA

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Стандарт Serial ATA (SATA) быў прадстаўлены 7 студзеня 2003 гады і вырашаў праблемы свайго папярэдніка наступнымі зменамі:

  • паралельны порт заменены паслядоўным;
  • шырокі 80-жыльны шлейф заменены 7-жыльным;
  • тапалогія «агульная шына» заменена на падлучэнне «кропка-кропка».

Нягледзячы на ​​тое, што стандарт SATA 1.0 (SATA/150, 150 МБ/С) быў нязначна хутчэй, чым ATA-6 (UltraDMA/130, 130 МБ/С), пераход да паслядоўнага спосабу абмену дадзенымі быў «падрыхтоўкай глебы» да павышэння. хуткасцей.

Шаснаццаць сігнальных ліній для перадачы дадзеных у ATA былі заменены на дзве вітыя пары: адна для перадачы, другая для прыёму. Канектары SATA спраектаваны для большай устойлівасці да множных перападлучэння, а спецыфікацыя SATA 1.0 зрабіла магчымым «гарачае падлучэнне» (Hot Plug).

Некаторыя піны на дысках карацейшыя, чым усе астатнія. Гэта зроблена для падтрымкі "гарачай замены" (Hot Swap). У працэсе замены прылада "губляе" і "знаходзіць" лініі ў загадзя вызначаным парадку.

Крыху больш чым праз год, у красавіку 2004-га, выйшла другая версія спецыфікацыі SATA. Апроч паскарэння да 3 Гбіт/з у SATA 2.0 увялі тэхналогію Уласная чарга каманд (NCQ). Прылады з падтрымкай NCQ здольныя самастойна арганізоўваць парадак выканання паступілі каманд для дасягнення максімальнай прадукцыйнасці.

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Наступныя тры гады SATA Working Group працавала над паляпшэннем існуючай спецыфікацыі і ў версіі 2.6 з'явіліся кампактныя канектары Slimline і micro SATA (uSATA). Гэтыя канектары з'яўляюцца паменшанай копіяй арыгінальнага канектара SATA і распрацаваны для аптычных прывадаў і маленькіх дыскаў у наўтбуках.

Нягледзячы на ​​тое, што прапускной здольнасці другога пакалення SATA хапала для цвёрдых кружэлак, цвёрдацельныя назапашвальнікі патрабавалі большага. У траўні 2009 гады выйшла трэцяя версія спецыфікацыі SATA з павялічанай да 6 Гбіт/з прапускной здольнасцю.

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Адмысловая ўвага цвёрдацельным назапашвальнікам надалі ў рэдакцыі SATA 3.1. З'явіўся канектар Mini-SATA (mSATA), прызначаны для падлучэння цвёрдацельных назапашвальнікаў у наўтбуках. У адрозненне ад Slimline і uSATA новы канектар быў падобны на PCIe Mini, хоць і не быў электрычнаму сумяшчальны з PCIe. Апроч новага канектара SATA 3.1 мог пахваліцца магчымасцю ставіць каманды TRIM у чаргу з камандамі чытання і запісы.

Каманда TRIM паведамляе цвёрдацельнай назапашвальнік аб блоках дадзеных, якія не нясуць карыснай нагрузкі. Да SATA 3.1 выкананне гэтай каманды прыводзіла да скіду кэшаў і прыпыненні аперацый уводу-высновы з наступным выкананнем каманды TRIM. Такі падыход пагаршаў прадукцыйнасць дыска пры аперацыях выдалення.

Спецыфікацыя SATA не паспявала за бурным ростам хуткасці доступу да цвёрдацельных назапашвальнікаў, што прывяло да з'яўлення ў 2013 годзе кампрамісу пад назвай SATA Express у стандарце SATA 3.2. Замест таго, каб зноў падвоіць прапускную здольнасць SATA, распрацоўшчыкі задзейнічалі шырока распаўсюджаную шыну PCIe, чыя хуткасць перавышае 6 Гбіт/з. Дыскі з падтрымкай SATA Express набылі ўласны формаў-фактар ​​пад назвай M.2.

ПАВ

Увядзенне ў SSD. Частка 2. Інтэрфейсная
"Канкуруючы" з ATA стандарт SCSI таксама не стаяў на месцы і ўсяго праз год пасля з'яўлення Serial ATA, у 2004, перарадзіўся ў паслядоўны інтэрфейс. Імя новаму інтэрфейсу SCSI з паслядоўным далучэннем (АСАКА).

Нягледзячы на ​​тое, што SAS атрымаў у спадчыну набор каманд SCSI, змены былі значныя:

  • паслядоўны інтэрфейс;
  • 29-ці жыллёвы кабель з харчаваннем;
  • падлучэнне «кропка-кропка»

Тэрміналогія SCSI таксама была ўспадкавана. Кантролер па-ранейшаму завецца ініцыятарам, а якія падключаюцца прылады - мэтавымі. Усе мэтавыя прылады і ініцыятар утвораць SAS-дамен. У SAS прапускная здольнасць падлучэння не залежыць ад колькасці прылад у дамене, бо кожная прылада выкарыстае свой вылучаны канал.

Максімальная колькасць адначасова падлучаных прылад у SAS-дамене па спецыфікацыі перавышае 16 тысяч, а замест SCSI ID для адрасавання выкарыстоўваецца ідэнтыфікатар World-Wide Name (WWN).

WWN – унікальны ідэнтыфікатар даўжынёй 16 байт, аналаг MAC-адрасы для SAS-прылад.

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Нягледзячы на ​​падабенства раздымаў SAS і SATA, гэтыя стандарты не з'яўляюцца цалкам сумяшчальнымі. Тым не менш, SATA-дыск можа быць падлучаны ў SAS-канектар, але не наадварот. Сумяшчальнасць паміж SATA-дыскамі і SAS-даменам забяспечваецца пры дапамозе пратаколу SATA Tunneling Protocol (STP).

Першая версія стандарту SAS-1 мае прапускную здольнасць 3 Гбіт/з, а самая сучасная, SAS-4, палепшыла гэты паказчык у 7 разоў: 22,5 Гбіт/з.

PCIe

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Peripheral Component Interconnect Express (PCI Express, PCIe) – паслядоўны інтэрфейс для перадачы дадзеных, які з'явіўся ў 2002 годзе. Распрацоўка была пачата кампаніяй Intel, а пасля перададзена спецыяльнай арганізацыі – PCI Special Interest Group.

Паслядоўны інтэрфейс PCIe не быў выключэннем і стаў лагічным працягам раўналежнага PCI, які прызначаны для падлучэння карт пашырэння.

PCI Express значна адрозніваецца ад SATA і SAS. Інтэрфейс PCIe мае пераменную колькасць ліній. Колькасць ліній роўна ступеням двойкі і вагаецца ў дыяпазоне ад 1 да 16.

Тэрмін "лінія" ў PCIe пазначае не пэўную сігнальную лінію, а асобны поўнадуплексны канал сувязі, які складаецца з наступных сігнальных ліній:

  • прыём+ і прыём-;
  • перадача+ і перадача-;
  • чатыры жылы зазямленні.

Колькасць PCIe-ліній напрамую ўплывае на максімальную прапускную здольнасць злучэння. Сучасны стандарт PCI Express 4.0 дазваляе дасягнуць 1.9/31.5 Гбайт / с па адной лініі, і 16/XNUMX Гбайт / с пры выкарыстанні XNUMX ліній.

Увядзенне ў SSD. Частка 2. Інтэрфейсная
"Апетыты" цвёрдацельных назапашвальнікаў растуць вельмі хутка. І SATA, і SAS не паспяваюць павялічваць сваю прапускную здольнасць, каб сагнацца за SSD, што прывяло да з'яўлення SSD-дыскаў з падлучэннем па PCIe.

Хоць PCIe Add-In карты прыкручваюцца шрубай, PCIe падтрымлівае "гарачую замену". Кароткія піны PRSNT (англ. present - прысутнічаць) дазваляюць пераканацца, што карта цалкам усталявана ў слот.

Цвёрдацельныя назапашвальнікі, якія падключаюцца па PCIe рэгламентуюцца асобным стандартам Non-Volatile Memory Host Controller Interface Specification і ўвасоблены ў мностве формаў-фактараў, але пра іх мы раскажам у наступнай частцы.

Выдаленыя назапашвальнікі

Пры стварэнні вялікіх сховішчаў дадзеных з'явілася запатрабаванне ў пратаколах, якія дазваляюць падлучыць назапашвальнікі, размешчаныя па-за серверам. Першым рашэннем у гэтай вобласці быў Інтэрнэт SCSI (iSCSI), распрацаваны кампаніямі IBM і Cisco у 1998 году.

Ідэя пратаколу iSCSI простая: каманды SCSI "абарочваюцца" у пакеты TCP/IP і перадаюцца ў сетку. Нягледзячы на ​​выдаленае падлучэнне, для кліентаў ствараецца ілюзія, што назапашвальнік падлучаны лакальна. Сетка захоўвання дадзеных (Storage Area Network, SAN), заснаваная на iSCSI, можа быць пабудавана на існай сеткавай інфраструктуры. Выкарыстанне iSCSI значна змяншае выдаткі на арганізацыю SAN.

У iSCSI існуе «прэміяльны» варыянт Fibre Channel Protocol (FCP). SAN з выкарыстаннем FCP будуецца на выдзеленых валаконна-аптычных лініях сувязі. Такі падыход патрабуе дадатковага аптычнага сеткавага абсталявання, але адрозніваецца стабільнасцю і высокай прапускной здольнасцю.

Існуе мноства пратаколаў для адпраўкі каманд SCSI па кампутарных сетках. Тым не менш, ёсць толькі адзін стандарт, які вырашае супрацьлеглую задачу і які дазваляе адпраўляць IP-пакеты па шыне SCSI. IP-over-SCSI.

Большасць пратаколаў для арганізацыі SAN выкарыстоўваюць набор каманд SCSI для кіравання назапашвальнікамі, але ёсць і выключэнні, напрыклад, просты ATA over Ethernet (AoE). Пратакол AoE адпраўляе ATA-каманды ў Ethernet-пакетах, але ў сістэме назапашвальнікі адлюстроўваюцца як SCSI.

З з'яўленнем назапашвальнікаў NVM Express пратаколы iSCSI і FCP перасталі задавальняць хутка якія растуць патрабаванням цвёрдацельных назапашвальнікаў. З'явілася два рашэнні:

  • вынас шыны PCI Express за межы сервера;
  • стварэнне пратакола NVMe over Fabrics.

Вынас шыны PCIe спалучаны са стварэннем складанага камутуе абсталявання, але не ўносіць змены ў пратакол.

Пратакол NVMe over Fabrics стаў добрай альтэрнатывай iSCSI і FCP. У NVMe-oF выкарыстоўваюцца валаконна-аптычная лініі сувязі і набор каманд NVM Express.

DDR-T

Увядзенне ў SSD. Частка 2. Інтэрфейсная
Стандарты iSCSI і NVMe-oF вырашаюць задачу падлучэння выдаленых кружэлак як лакальныя, а кампанія Intel пайшла іншай дарогай і максімальна наблізіла лакальную кружэлку да працэсара. Выбар упаў на DIMM-слоты, у якія падключаецца аператыўная памяць. Максімальная прапускная здольнасць канала DDR4 складае 25 ГБ/С, што значна перавышае хуткасць шыны PCIe. Так з'явіўся цвёрдацельны назапашвальнік Intel Optane DC Persistent Memory.

Для падлучэння назапашвальніка ў DIMM слоты быў вынайдзены пратакол DDR-T, фізічна і электрычнаму сумяшчальны з DDR4, але які патрабуе спецыяльнага кантролера, які бачыць розніцу паміж планкай памяці і назапашвальнікам. Хуткасць доступу да назапашвальніка менш, чым да аператыўнай памяці, але больш, чым да NVMe.

Пратакол DDR-T даступны толькі з працэсарамі Intel ® пакалення Cascade Lake ці навей.

Заключэнне

Амаль усе інтэрфейсы прайшлі доўгі шлях развіцця ад паслядоўнага да раўналежнага спосабу перадачы дадзеных. Хуткасці цвёрдацельных назапашвальнікаў імкліва растуць, яшчэ ўчора цвёрдацельныя назапашвальнікі былі ў навіну, а сёння NVMe ужо не выклікае асаблівага здзіўлення.

У нашай лабараторыі Selectel Lab вы можаце самастойна пратэставаць SSD і NVMe дыскі.

Толькі зарэгістраваныя карыстачы могуць удзельнічаць у апытанні. Увайдзіце, Калі ласка.

Ці выцесняць NVMe-дыскі класічныя SSD у бліжэйшы час?

  • 55.5%Так100

  • 44.4%Няма80

Прагаласавалі 180 карыстальнікаў. Устрымаліся 28 карыстальнікаў.

Крыніца: habr.com

Дадаць каментар