Въведение в SSD. Част 2. Интерфейс

Въведение в SSD. Част 2. Интерфейс

В последна част цикъл "Въведение в SSD" говорихме за историята на появата на дисковете. Втората част ще разкаже за интерфейсите за взаимодействие с устройства.

Комуникацията между процесора и периферните устройства се осъществява съгласно предварително определени конвенции, наречени интерфейси. Тези споразумения регулират физическото и софтуерното ниво на взаимодействие.

Интерфейс - набор от средства, методи и правила за взаимодействие между елементите на системата.

Физическата реализация на интерфейс засяга следните параметри:

  • пропускателна способност на комуникационния канал;
  • максимален брой едновременно свързани устройства;
  • броя на възникналите грешки.

Изградени са дискови интерфейси I/O портове, което е обратното на I/O на паметта и не заема място в адресното пространство на процесора.

Паралелни и серийни портове

Според метода на обмен на данни I / O портовете са разделени на два типа:

  • паралелно;
  • последователен.

Както подсказва името, паралелният порт изпраща машинна дума наведнъж, състояща се от няколко бита. Паралелният порт е най-лесният начин за обмен на данни, тъй като не изисква сложни схемни решения. В най-простия случай всеки бит от машинната дума се изпраща по собствена сигнална линия и две служебни сигнални линии се използват за обратна връзка: Данните са готови и Данните са приети.

Въведение в SSD. Част 2. Интерфейс
На пръв поглед паралелните портове се мащабират добре: повече сигнални линии - повече битове се предават наведнъж и следователно по-висока пропускателна способност. Въпреки това, поради увеличаването на броя на сигналните линии, възникват смущения между тях, което води до изкривяване на предаваните съобщения.

Серийните портове са противоположни на паралелните. Данните се изпращат един бит наведнъж, което намалява общия брой сигнални линии, но усложнява I/O контролера. Контролерът на предавателя получава машинната дума наведнъж и трябва да предава бит по бит, а контролерът на приемника на свой ред трябва да получава битовете и да ги съхранява в същия ред.

Въведение в SSD. Част 2. Интерфейс
Малък брой сигнални линии ви позволява да увеличите честотата на предаване на съобщения без смущения.

SCSI

Въведение в SSD. Част 2. Интерфейс
Интерфейсът за малки компютърни системи (SCSI) се появява през 1978 г. и първоначално е предназначен да комбинира устройства от различни профили в една система. Спецификацията SCSI-1 предвижда свързване на до 8 устройства (заедно с контролера), като например:

  • скенери;
  • лентови устройства (стримери);
  • оптични устройства;
  • дискови устройства и други устройства.

Първоначално SCSI се наричаше Shugart Associates System Interface (SASI), но комитетът по стандартите не одобри името на компанията и след ден на мозъчна атака се роди името Small Computer Systems Interface (SCSI). Бащата на SCSI, Лари Баучер, възнамеряваше акронимът да се произнася „секси“, но Дал Алън четете "sуzzy" ("кажи"). Впоследствие произношението на "кажи" беше твърдо вкоренено в този стандарт.

В терминологията на SCSI свързаните устройства се разделят на два типа:

  • инициатори;
  • целеви устройства.

Инициаторът изпраща команда до целевото устройство, което след това изпраща отговор до инициатора. Инициаторите и целите са свързани към обща SCSI шина, която има честотна лента от 1 MB/s в стандарта SCSI-5.

Използваната топология "обща шина" налага редица ограничения:

  • в краищата на шината са необходими специални устройства - терминатори;
  • честотната лента на шината се споделя между всички устройства;
  • Максималният брой едновременно свързани устройства е ограничен.

Въведение в SSD. Част 2. Интерфейс

Устройствата в шината се идентифицират чрез извикване на уникален номер SCSI Target ID. Всяка SCSI единица в системата е представена от поне едно логическо устройство, което се адресира с уникален номер във физическото устройство. Номер на логическата единица (LUN).

Въведение в SSD. Част 2. Интерфейс
Командите в SCSI се изпращат във формуляра блокове за описание на команди (команден дескрипторен блок, CDB), състоящ се от код на операция и параметри на командата. Стандартът описва повече от 200 команди, разделени в четири категории:

  • задължителен — трябва да се поддържа от устройството;
  • По избор - могат да бъдат изпълнени;
  • Специфично за доставчика - използвани от конкретен производител;
  • остарял - остарели команди.

Сред многото команди само три от тях са задължителни за устройства:

  • ТЕСТ МОДУЛ ГОТОВ — проверка на готовността на устройството;
  • ИСКАНЕ НА СЕНС — изисква кода за грешка на предишната команда;
  • СЪОБЩЕНИЕ — поискайте основните характеристики на устройството.

След получаване и обработка на командата, целевото устройство изпраща код на състоянието на инициатора, който описва резултата от изпълнението.

По-нататъшното подобрение на SCSI (SCSI-2 и Ultra SCSI спецификации) разшири списъка с използвани команди и увеличи броя на свързаните устройства до 16, а скоростта на обмен на данни по шината до 640 MB/s. Тъй като SCSI е паралелен интерфейс, увеличаването на честотата на обмен на данни беше свързано с намаляване на максималната дължина на кабела и доведе до неудобство при използване.

Започвайки със стандарта Ultra-3 SCSI, се появи поддръжка за "горещо включване" - свързване на устройства при включено захранване.

Първият известен SCSI SSD беше M-Systems FFD-350, издаден през 1995 г. Дискът имаше висока цена и не беше широко използван.

В момента паралелният SCSI не е популярен дисков интерфейс, но наборът от команди все още се използва активно в USB и SAS интерфейси.

ATA/PATA

Въведение в SSD. Част 2. Интерфейс
интерфейс ATA (Advanced Technology Attachment), известен също като КРЪК (Parallel ATA) е разработен от Western Digital през 1986 г. Маркетинговото наименование за стандарта IDE (на английски Integrated Drive Electronics - „електроника, вградена в устройството“) подчерта важно нововъведение: контролерът на устройството беше интегриран в устройството, а не на отделна разширителна платка.

Решението да се постави контролерът вътре в устройството реши няколко проблема наведнъж. Първо, разстоянието от устройството до контролера е намаляло, което се отрази положително на производителността на устройството. Второ, вграденият контролер беше "заточен" само за определен тип задвижване и съответно беше по-евтин.

Въведение в SSD. Част 2. Интерфейс
ATA, подобно на SCSI, използва паралелен I/O метод, което се отразява в използваните кабели. Свързването на устройства с помощта на интерфейса IDE изисква 40-жилни кабели, наричани още плоски кабели. По-новите спецификации използват 80-жични щифтове, повече от половината от които са заземителни контури за намаляване на смущенията при високи честоти.

На ATA кабела има два до четири конектора, единият от които е свързан към дънната платка, а останалите към устройствата. Когато свързвате две устройства в един контур, едното от тях трябва да бъде конфигурирано като Майстор, а вторият като роб. Третото устройство може да бъде свързано само в режим само за четене.

Въведение в SSD. Част 2. Интерфейс
Позицията на джъмпера определя ролята на конкретно устройство. Термините Master и Slave по отношение на устройствата не са напълно правилни, тъй като по отношение на контролера всички свързани устройства са Slave.

Специална иновация в ATA-3 е външният вид Самонаблюдение, Технология за анализ и отчитане (SMART). Пет компании (IBM, Seagate, Quantum, Conner и Western Digital) обединиха усилията си и стандартизираха технологията за оценка на здравето.

Поддръжката на SSD устройства съществува от версия 1998 на стандарта, пусната през 33.3 г. Тази версия на стандарта осигурява скорост на трансфер на данни до XNUMX MB/s.

Стандартът поставя строги изисквания за ATA кабели:

  • шлейфът трябва да е плосък;
  • максимална дължина на влакчето 18 инча (45.7 сантиметра).

Късият и широк влак беше неудобен и пречеше на охлаждането. Ставаше все по-трудно да се увеличава честотата на предаване с всяка следваща версия на стандарта и ATA-7 реши проблема радикално: паралелният интерфейс беше заменен със сериен. След това ATA придоби думата Parallel и стана известна като PATA, а седмата версия на стандарта получи друго име - Serial ATA. Номерирането на SATA версиите започва от едно.

SATA

Въведение в SSD. Част 2. Интерфейс
Стандартът Serial ATA (SATA) беше въведен на 7 януари 2003 г. и адресира проблемите на своя предшественик със следните промени:

  • паралелният порт е заменен със сериен;
  • широк 80-жилен кабел, заменен със 7-жилен;
  • топологията "обща шина" е заменена с връзка "точка до точка".

Въпреки че SATA 1.0 (SATA/150, 150 MB/s) беше малко по-бърз от ATA-6 (UltraDMA/130, 130 MB/s), преминаването към серийна комуникация беше „поставяне на почвата“ за скорости.

Шестнадесет сигнални линии за предаване на данни в ATA бяха заменени с две усукани двойки: едната за предаване, втората за приемане. SATA конекторите са проектирани да бъдат по-устойчиви на множество повторни свързвания, а спецификацията SATA 1.0 направи възможно горещото включване.

Някои щифтове на устройствата са по-къси от всички останали. Това се прави, за да се поддържа "гореща смяна" (Hot Swap). По време на процеса на подмяна устройството "губи" и "намира" линиите в предварително определен ред.

Малко повече от година по-късно, през април 2004 г., беше пусната втората версия на SATA спецификацията. В допълнение към ускоряването до 3 Gb/s, SATA 2.0 въведе технология Опашки за родно командване (NCQ). Устройствата с поддръжка на NCQ са в състояние самостоятелно да организират реда на изпълнение на входящите команди, за да постигнат максимална производителност.

Въведение в SSD. Част 2. Интерфейс
През следващите три години работната група SATA работи за подобряване на съществуващата спецификация и версия 2.6 въвежда компактни Slimline и micro SATA (uSATA) конектори. Тези конектори са по-малка версия на оригиналния SATA конектор и са предназначени за оптични устройства и малки устройства в лаптопи.

Докато второто поколение SATA имаше достатъчно честотна лента за HDD, SSD изискваха повече. През май 2009 г. беше пусната третата версия на спецификацията SATA с увеличена честотна лента до 6 Gb / s.

Въведение в SSD. Част 2. Интерфейс
Особено внимание беше обърнато на SSD устройствата в изданието SATA 3.1. Появи се конектор Mini-SATA (mSATA), предназначен за свързване на твърди дискове в лаптопи. За разлика от Slimline и uSATA, новият конектор изглеждаше като PCIe Mini, въпреки че не беше електрически съвместим с PCIe. В допълнение към новия конектор, SATA 3.1 може да се похвали с възможността да поставя TRIM команди на опашка с команди за четене и запис.

Командата TRIM уведомява SSD за блокове от данни, които не носят полезен товар. Преди SATA 3.1 тази команда изчистваше кеш паметта и спираше I/O операциите, последвана от команда TRIM. Този подход влоши производителността на диска по време на операции за изтриване.

Спецификацията SATA не успя да се справи с бързото нарастване на скоростите на достъп за SSD, което доведе до компромис през 2013 г., наречен SATA Express в стандарта SATA 3.2. Вместо отново да удвоят честотната лента на SATA, разработчиците са използвали широко разпространената шина PCIe, чиято скорост надхвърля 6 Gb/s. Устройствата с поддръжка на SATA Express са придобили собствен форм фактор, наречен M.2.

SAS

Въведение в SSD. Част 2. Интерфейс
Стандартът SCSI, който се „конкурира“ с ATA, също не стои неподвижен и само година след появата на Serial ATA, през 2004 г., той се преражда в сериен интерфейс. Името на новия интерфейс е Сериен прикачен SCSI (ОСТРИЦА).

Въпреки че SAS наследи SCSI командния набор, промените бяха значителни:

  • сериен интерфейс;
  • 29-жилен кабел със захранване;
  • връзка от точка до точка

Терминологията на SCSI също е наследена. Контролерът все още се нарича инициатор, а свързаните устройства се наричат ​​цел. Всички целеви устройства и инициаторът образуват SAS домейн. В SAS честотната лента на връзката не зависи от броя на устройствата в домейна, тъй като всяко устройство използва свой собствен специален канал.

Максималният брой едновременно свързани устройства в SAS домейн, според спецификацията, надхвърля 16 хиляди, като вместо SCSI ID за адресиране се използва идентификатор Световно име (WWN).

WWN е уникален идентификатор с дължина 16 байта, подобен на MAC адреса за SAS устройства.

Въведение в SSD. Част 2. Интерфейс
Въпреки приликите между SAS и SATA конекторите, тези стандарти не са напълно съвместими. SATA устройство обаче може да бъде свързано към SAS конектор, но не и обратното. Съвместимостта между SATA устройствата и SAS домейна се осигурява чрез SATA Tunneling Protocol (STP).

Първата версия на стандарта SAS-1 има честотна лента от 3 Gb / s, а най-модерната, SAS-4, подобри тази цифра 7 пъти: 22,5 Gb / s.

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 GB/s на една линия и 31.5 GB/s при използване на 16 линии.

Въведение в SSD. Част 2. Интерфейс
„Апетитите“ на твърдотелните дискове растат много бързо. Както SATA, така и SAS не успяха да увеличат честотната си лента, за да поддържат темпото със SSD, което доведе до въвеждането на PCIe свързани SSD.

Въпреки че PCIe Add-In картите са завинтени, PCIe може да се сменя горещо. Късите щифтове PRSNT (англ. present - присъстват) гарантират, че картата е напълно инсталирана в слота.

Твърдотелните устройства, свързани чрез PCIe, се регулират от отделен стандарт Спецификация на интерфейса на хост контролера на енергонезависима памет и са въплътени в различни форм-фактори, но ще говорим за тях в следващата част.

Отдалечени устройства

При създаването на големи хранилища за данни имаше нужда от протоколи, които ви позволяват да свързвате устройства, разположени извън сървъра. Първото решение в тази област беше Интернет SCSI (iSCSI), разработен от IBM и Cisco през 1998 г.

Идеята зад iSCSI протокола е проста: SCSI командите се „опаковат“ в TCP/IP пакети и се изпращат към мрежата. Въпреки отдалечената връзка, тя създава илюзията на клиентите, че устройството е свързано локално. Базираната на iSCSI мрежа за съхранение (SAN) може да бъде изградена върху съществуваща мрежова инфраструктура. Използването на iSCSI значително намалява разходите за организиране на SAN.

iSCSI има "премиум" опция - Протокол за оптичен канал (FCP). SAN, използващ FCP, е изграден върху специални оптични комуникационни линии. Този подход изисква допълнително оптично мрежово оборудване, но е стабилен и с висока пропускателна способност.

Има много протоколи за изпращане на SCSI команди през компютърни мрежи. Има обаче само един стандарт, който решава обратния проблем и ви позволява да изпращате IP пакети през SCSI шината - IP през SCSI.

Повечето SAN протоколи използват набора команди SCSI за управление на устройства, но има и изключения, като простия ATA през Ethernet (AOE). AoE протоколът изпраща ATA команди в Ethernet пакети, но устройствата се появяват като SCSI в системата.

С навлизането на NVM Express устройства, iSCSI и FCP протоколите вече не отговарят на бързо нарастващите изисквания на SSD. Появиха се две решения:

  • премахване на PCI Express шината извън сървъра;
  • създаване на протокола NVMe over Fabrics.

Премахването на PCIe шината създава сложен превключващ хардуер, но не променя протокола.

Протоколът NVMe over Fabrics се превърна в добра алтернатива на iSCSI и FCP. NVMe-oF използва оптична връзка и набор от команди NVM Express.

DDR-T

Въведение в SSD. Част 2. Интерфейс
Стандартите iSCSI и NVMe-oF решават проблема със свързването на отдалечени устройства като локални, докато Intel отиде по друг начин и доближи локалното устройство възможно най-близо до процесора. Изборът падна върху DIMM слотовете, в които е свързана RAM паметта. Максималната DDR4 честотна лента е 25 GB/s, което е много по-бързо от PCIe шината. Ето как се роди Intel® Optane™ DC Persistent Memory SSD.

Изобретен е протокол за свързване на устройство към DIMM слотове DDR-T, физически и електрически съвместим с DDR4, но изискващ специален контролер, който вижда разликата между лента с памет и устройство. Скоростта на достъп до устройството е по-малка от RAM, но по-висока от NVMe.

DDR-T се предлага само с процесори от поколение Intel® Cascade Lake или по-нови.

Заключение

Почти всички интерфейси са изминали дълъг път от серийно към паралелно предаване на данни. Скоростите на SSD скачат до небето, вчера SSD бяха любопитство, а днес NVMe вече не е изненада.

В нашата лаборатория Selectel Lab можете сами да тествате SSD и NVMe устройства.

В анкетата могат да участват само регистрирани потребители. Впиши се, Моля те.

Ще заменят ли NVMe дисковете класическите SSD в близко бъдеще?

  • 55.5%да 100

  • 44.4%No80

180 потребители гласуваха. 28 потребители се въздържаха.

Източник: www.habr.com

Добавяне на нов коментар