Программирование устройств scsi и ide

Об историческом sternwheeler. Известном под этим именем, см. Skuzzy (sternwheeler).

Значок/логотип Single Ended Parallel SCSI

Интерфейс малой компьютерной системы (SCSI, SKUZ-ee)[1] представляет собой набор стандартов для физического подключения и передачи данных между компьютерами и периферийными устройствами. Стандарты SCSI определяют команды, протоколы. Электрические. Оптические и логические интерфейсы. Стандарт SCSI определяет наборы команд для конкретных типов периферийных устройств; наличие Начальный параллельный SCSI чаще всего использовался для жесткие диски и ленточные накопители, но он может подключать широкий спектр других устройств. Включая сканеры и

CD -диски, хотя не все контроллеры могут обрабатывать все устройства.

Предковый стандарт SCSI, X3.131-1986, обычно называемый SCSI-1, был опубликован техническим комитетом X3T9 Американского национального института стандартов (ANSI) в 1986 году. SCSI-2 был опубликован в августе 1990 года как X3.T9.2/86-109, с дальнейшими изменениями в 1994 году и последующим принятием множества интерфейсов. Дальнейшие усовершенствования привели к повышению производительности и поддержке постоянно увеличивающейся емкости хранилища данных.

[2]

Параллельный интерфейс

Карта Adaptec ACB-4000A SASI с 1985 года.

SCSI является производным от «SASI», «Shugart Associates System Interface». Разработанного около 1978 года и публично раскрытого в 1981 году[3].Ларри Бушер считается «отцом» SASI и в конечном итоге SCSI из-за его новаторской работы сначала в Shugart Associates. А затем в Adaptec.]

Контроллер SASI обеспечивал мост между низкоуровневым интерфейсом жесткого диска и главным компьютером. Который должен был считывать блоки данных. Платы контроллеров SASI обычно были размером с жесткий диск и обычно физически крепились к корпусу накопителя.

SASI, который использовался в мини — и ранних микрокомпьютерах. Определял интерфейс как использование 50-контактного плоского ленточного разъема. Который был принят в качестве разъема SCSI-1. SASI-это полностью совместимое подмножество SCSI-1, так что многие. Если не все. Существовавшие тогда контроллеры SASI были совместимы с SCSI-1.[5]

По крайней мере. До февраля 1982 года ANSI разрабатывала спецификацию как [6], однако комитет. Документирующий стандарт. Не разрешал называть его именем компании. Почти целый день ушел на то. Чтобы согласиться назвать стандарт

Дал Аллан произнес новую аббревиатуру как [4]

Ряд компаний . Таких как NCR Corporation, Adaptec и Optimem. Были ранними сторонниками SCSI. Широко распространено мнение. Что завод NCR в Уичите. Штат Канзас, разработал первый в отрасли чип SCSI-контроллера; он сработал в первый раз.[8]

С момента своей стандартизации в 1986 году SCSI широко используется в компьютерных линиях Amiga, Atari, Apple Macintosh и Sun Microsystems и серверных системах ПК. Apple начала использовать менее дорогую параллельную ATA (PATA. Также известную как IDE) для своих недорогих машин с Macintosh Quadra 630 в 1994 году и добавила ее к своим высококлассным настольным компьютерам. Начиная с Power Macintosh G3 в 1997 году.

Apple полностью отказалась от бортового SCSI в пользу IDE и FireWire с (Blue & White) Power Mac G3 в 1999 году. Но по-прежнему предлагает PCI Хост-адаптер SCSI в качестве опции подходит для моделей Power Macintosh G4 (AGP Graphics).[9] Sun переключила свой нижний диапазон на Serial ATA (SATA). Commodore включал SCSI в системы Amiga 3000/3000T и был дополнением к предыдущим моделям Amiga 500/2000. Начиная с систем Amiga 600/1200/4000 Commodore переключился на интерфейс IDE. Atari включила SCSI как стандарт в свои

Atari MEGA STE, Atari TT и Atari Falcon компьютерные модели. SCSI никогда не был популярен в мире недорогих IBM PC. Благодаря более низкой стоимости и адекватной производительности стандарта жесткого диска ATA. Однако SCSI-диски и даже SCSI-рейды стали обычным явлением на рабочих станциях ПК для производства видео или аудио.

Современный SCSI

Последние физические версии SCSI—Serial Attached SCSI (SAS). SCSI-over —Fibre Channel Protocol (FCP) и USB Attached SCSI (UAS)—отрываются от традиционной параллельной шины SCSI и выполняют передачу данных по последовательной связи с использованием

двухточечных каналов. Хотя большая часть документации SCSI говорит о параллельном интерфейсе. Все современные разработки используют последовательные интерфейсы. Последовательные интерфейсы имеют ряд преимуществ по сравнению с параллельными SCSI. Включая более высокую скорость передачи данных. Упрощение кабелей. Более длительный охват. Улучшенную изоляцию отказов и полнодуплексный режим способность. Основной причиной перехода на последовательные интерфейсы является проблема тактового перекоса высокоскоростных параллельных интерфейсов. Что делает более быстрые варианты параллельных SCSI восприимчивыми к проблемам. Вызванным прокладкой кабелей и завершением работы.[10]

Нефизический iSCSI сохраняет базовую парадигму SCSI, особенно набор команд. Почти без изменений. Благодаря встраиванию SCSI-3 через TCP/IP. Таким образом. ISCSI использует логические соединения вместо физических и может работать поверх любой сети. Поддерживающей IP. Фактические физические связи реализуются на нижних сетевых уровняхнезависимо от iSCSI. Преимущественно используется Ethernet. Который также носит последовательный характер.

SCSI популярен на высокопроизводительных рабочих станциях. Серверах и устройствах хранения данных. Почти все RAID-подсистемы на серверах десятилетиями использовали какие-то жесткие диски SCSI (первоначально Parallel SCSI. Interim Fibre Channel. Недавно SAS). Хотя ряд производителей предлагают RAID-подсистемы на базе SATA в качестве более дешевого варианта. Кроме того, SAS обеспечивает совместимость с устройствами SATA. Создавая гораздо более широкий спектр опций для RAID-подсистем наряду с существованием nearline SAS (NL-SAS) диски. Вместо SCSI современные настольные компьютеры и ноутбуки обычно используют интерфейсы SATA для внутренних жестких дисков, а NVMe по сравнению с PCIe набирает популярность. Поскольку SATA может стать узким местом для современных твердотельных накопителей.

SCSI доступен в различных интерфейсах. Первым был параллельный SCSI (также называемый SCSI Parallel Interface или SPI). Который использует параллельную шину. С 2005 года SPI был постепенно заменен Serial Attached SCSI (SAS). Который использует последовательную конструкцию. Но сохраняет другие аспекты технологии. Многие другие интерфейсы. Которые не полагаются на полные стандарты SCSI. Все еще реализуют командный протокол SCSI; другие полностью отказываются от физической реализации. Сохраняя архитектурную модель SCSI. iSCSI, например. Использует TCP/IP в качестве транспортного механизма. Который чаще всего транспортируется по Гигабитный Ethernet или более быстрые сетевые соединения.

Интерфейсы SCSI часто включались в компьютеры различных производителей для использования под операционными системами Microsoft Windows, classic Mac OS, Unix, Commodore Amiga и Linux, либо реализованными на материнской плате. Либо с помощью подключаемых адаптеров. С появлением накопителей SAS и SATA параллельное использование SCSI на материнских платах было прекращено.[требуется цитирование][11]

Параллельный SCSI

Ассорти параллельных разъемов SCSI

Первоначально параллельный интерфейс SCSI (SPI) был единственным интерфейсом. Использующим протокол SCSI. Его стандартизация началась как одинарная 8-разрядная шина в 1986 году. Передавая до 5 Мбит/с. И развилась в низковольтную дифференциальную 16-разрядную шину. Способную достигать 320 МБИТ/с. Последний стандарт SPI-5 от 2003 года также определил скорость 640 МБ/с. Которая не была реализована.

Параллельные спецификации SCSI включают в себя несколько синхронных режимов передачи данных для параллельного кабеля и асинхронный режим. Асинхронный режим-это классический протокол запроса/подтверждения. Который позволяет системам с медленной шиной или простым системам также использовать устройства SCSI. Более быстрые синхронные режимы используются чаще.

Интерфейсы SCSI

Интерфейс Альтернативные
названия

Тело спецификации / документ
Ширина
(бит)
Часы[a] Код строки Максимальный
Пропускная способность Длина[b] Устройства[c]
Ultra-320 SCSI Ультра-4; Быстро-160 SPI-5 (INCITS 367-2003) 16 80 MHz DDR Нет 320 МБИТ/с (2560 Мбит/с) 12 м 16
SSA Архитектура Последовательного Хранилища T10 / INCITS 309-1997 серийный 200 Мбит/с 8b10b 20 МБИТ/с[d][e][f] (160 Мбит/с) 25 м 96
SSA 40 T10 / INCITS 309-1997 серийный 400 Мбит/с 40 МБИТ/с[d][e][f] (320 Мбит/с) 25 м 96
Fibre Channel 1 Гбит 1GFC T11 / X3T11/94-175v0 FC-PH Проект. Редакция 4.3 серийный 1,0625 Гбит/с 8b10b 98,4 МБИТ/с[e][f] (850 Мбит/с) 500 м / 10 км[g] 127 (FC-AL)
224 (FC-SW)
Fibre Channel 2Gbit 2GFC T11 / X3T11/96-402v0 FC-PH-2, Rev 7.4 серийный 2.125 Гбит/с 197 МБИТ/с[e][f] (1700 Мбит/с) 500 м / 10 км[g] 127/224
Fibre Channel 4Gbit 4GFC T11 / INCITS Project 2118-D / Rev 6.10 серийный 4,25 Гбит/с 394 МБИТ/с[e][f] (3400 Мбит/с) 500 м / 10 км[g] 127/224
Fibre Channel 8Gbit 8GFC T11 / INCITS Project 2118-D / Rev 6.10 серийный 8,5 Гбит/с 788 МБИТ/с[e][f] (6800 Мбит/с) 500 м / 10 км[g] 127/224
Оптоволоконный канал 16 Гбит 16GFC T11 / INCITS Project 2118-D / Rev 6.10 серийный 14,025 Гбит/с 64b66b 1,575 МБИТ/с[e][f] (13,600 Мбит/с) 500 м / 10 км[g] 127/224
SAS 1.1 Последовательный подключенный SCSI T10 / INCITS 417-2006 серийный 3 Гбит/с 8b10b 300 МБИТ/с[e][f] (2400 Мбит/с) 6 м 16,256[h]
SAS 2.1 T10 / INCITS 478-2011 серийный 6 Гбит/с 600 МБИТ / с[e][f] (4800 Мбит/с) 6 м 16,256[h]
SAS 3.0 T10 / INCITS 519 серийный 12 Гбит/с 1200 МБИТ/с[e][f] (9600 Мбит/с) 6 м 16,256[h]
SAS 4.0 T10 / INCITS 534 (проект) серийный 22,5 Гбит/с 128b150b 2400 МБИТ/с[e][f] (19 200 Мбит/с) Подлежит определению 16,256[h]
IEEE 1394-2008 Firewire S3200, i.Link, Протокол последовательной шины (SBP) IEEE Std. 1394-2008 серийный 3.145728 Гбит/с 8b10b 315 МБИТ/с (2,517 Мбит/с) 4,5 м 63
SCSI Express SCSI над PCIe (SOP) T10 / INCITS 489 серийный 8 ГТ/с (PCIe 3.0) 128b130b 985 МБИТ/с[e][f][i] (7,877 Мбит/с) короткий. Только объединительная плата 258
USB-подключенный SCSI 2 УАС-2 T10 / INCITS 520 серийный 10 Гбит/с (USB 3.1) 128b132b ~1200 МБИТ/с[e][f] (~9500 Мбит/с) 3 м[j] 127
ATAPI над параллельным ATA Пакетный интерфейс ATA T13 / NCITS 317-1998 16 33 MHz DDR Нет 133 МБИТ/с[k] (1,064 Мбит/с) 457 мм (18 дюймов) 2
ATAPI через Serial ATA серийный 6 Гбит/с 8b10b 600 МБИТ / с[л] (4800 Мбит/с) 1 м 1 (15 с умножителем портов)
iSCSI Интернет-интерфейс малой компьютерной системы. SCSI over IP IETF / RFC 7143 в основном серийные реализация и зависимые от сети 1,187 МБ/с[м] или 1,239 МБ/с[н] реализация и зависимые от сети 2128 (IPv6)
SRP Протокол SCSI RDMA (SCSI по InfiniBand и тому подобное) T10 / INCITS 365-2002 реализация и зависимые от сети

Терминатор шины со снятой верхней крышкой

Параллельный интерфейс SCSI

Внутренние параллельные кабели SCSI обычно представляют собой лентыс двумя или более 50–, 68– или 80–контактными разъемами. Внешние кабели обычно экранированы (но могут и не экранироваться) с 50– или 68–контактными разъемами на каждом конце. В зависимости от конкретной поддерживаемой ширины шины SCSI. 80–контактный одинарный разъем (SCA) обычно используется для горячих подключаемых устройств

Fibre Channel

Fibre Channel может использоваться для транспортировки информационных блоков SCSI. Как это определено протоколом Fibre Channel для SCSI (FCP). Эти соединения являются горячими подключаемыми и обычно реализуются с помощью оптического волокна.

Последовательный подключенный SCSI

Последовательный подключенный SCSI (SAS) использует модифицированный кабель передачи данных и питания Serial ATA.

iSCSI

iSCSI (Internet Small Computer System Interface) обычно использует Ethernet-разъемы и кабели в качестве физического транспорта. Но может работать с любым физическим транспортом. Способным транспортировать IP.

SRP

Протокол SCSI RDMA (SRP) — это протокол. Определяющий способ передачи команд SCSI по надежному соединению RDMA. Этот протокол может работать над любым физическим транспортом с поддержкой RDMA. Например InfiniBand или Ethernet при использовании RoCE или iWARP.

USB-подключенный SCSI

USB-подключенный SCSI позволяет устройствам SCSI использовать универсальную последовательную шину.

Интерфейс автоматизации/привода

Транспортный протокол Automation/Drive Interface − Transport Protocol (ADT) используется для подключения съемных носителей информации. Таких как ленточные накопители. К контроллерам библиотек (устройств автоматизации). В которых они установлены. Стандарт ADI определяет использование RS-422 для физических соединений. Стандарт ADT-2 второго поколения определяет iADT — использование протокола ADT через IP-соединения (Internet Protocol). Например через Ethernet. Стандарты Automation/Drive Interface − Commands (ADC. ADC-2 и ADC-3) определяют команды SCSI для этих установок.

Командный протокол SCSI

В дополнение к множеству различных аппаратных реализаций стандарты SCSI также включают обширный набор определений команд. Архитектура команд SCSI первоначально была определена для параллельных шин SCSI. Но была перенесена с минимальными изменениями для использования с iSCSI и последовательным SCSI. Другие технологии. Использующие набор команд SCSI . Включают пакетный интерфейс ATA, класс USB Mass Storage и FireWire SBP-2.

В терминологии SCSI связь происходит между инициатором и целью. Инициатор отправляет целевому объекту команду, которая затем отвечает. Команды SCSI передаются в блоке дескрипторов команд (CDB). CDB состоит из одного байтового кода операции. За которым следуют пять или более байтов. Содержащих параметры. Зависящие от команды.

В конце последовательности команд цель возвращает байт кода состояния, например 00h для успешного выполнения, 02h для ошибки (называемой условием проверки) или 08h для занятости. Когда цель возвращает Условие проверки в ответ на команду. Инициатор обычно затем выдает команду SCSI Request Sense для получения квалификатора кода ключа (KCQ) от цели. Последовательность Check Condition и Request Sense включает в себя специальный протокол SCSI. Называемый условным условием лояльности.

Существует четыре категории SCSI-команд: N (без данных). W (запись данных от инициатора к цели). R (чтение данных) и B (двунаправленные). Всего существует около 60 различных SCSI-команд, наиболее часто используемыми из которых являются:

  • Test unit ready: Запрашивает устройство. Готово ли оно к передаче данных (запуск диска. Загрузка носителя и т. Д.).
  • Запрос: Возвращает основную информацию об устройстве.
  • Request sense: Возвращает все коды ошибок из предыдущей команды. Которая вернула статус ошибки.
  • Отправка диагностических и получение диагностических результатов: запускает простой самотест или специализированный тест. Определенный на диагностической странице.
  • Блок запуска/остановки: Вращает диски вверх и вниз или загружает/выгружает носители (компакт-диск, ленту и т. Д.).
  • Емкость чтения: Возвращает емкость памяти.
  • Блок форматирования: Подготовка носителя информации к использованию. На диске будет иметь место низкоуровневый формат. Некоторые ленточные накопители стирают ленту в ответ на эту команду.
  • Чтение: (четыре варианта): Считывает данные с устройства.
  • Запись: (четыре варианта): Запись данных на устройство.
  • Log sense: Возвращает текущую информацию со страниц журнала.
  • Mode sense: Возвращает текущие параметры устройства со страниц режима.
  • Выбор режима: Установка параметров устройства на странице режима.

Каждому устройству на шине SCSI присваивается уникальный идентификационный номер SCSI или идентификатор. Устройства могут включать в себя несколько логических блоков. Которые адресуются номером логического блока (LUN). Простые устройства имеют только один LUN. Более сложные устройства могут иметь несколько LUN.

Запоминающее устройство LBA). Типичная LBA приравнивается к 512 байтам памяти. Использование LBAS эволюционировало с течением времени. И поэтому для чтения и записи данных предусмотрены четыре различных варианта команд. Команды Read(6) и Write(6) содержат 21-битный адрес LBA. Команды Read(10), Read(12). Read Long, Write(10). Write(12) и Write Long содержат 32-разрядный адрес LBA плюс различные другие параметры параметров.

Емкость устройства Операции чтения и записи на устройстве последовательного доступа начинаются с текущего положения ленты. А не с определенного LBA. Размер блока на устройствах последовательного доступа может быть фиксированным или переменным. В зависимости от конкретного устройства. Ленточные устройства . Такие как полудюймовая 9-дорожечная лента, DDS (4 мм ленты . Физически похожие на DAT), Exabyteи т. Д., Поддерживают переменные размеры блоков.

Устройство идентификации

Параллельный интерфейс

На параллельной шине SCSI устройство (например. Адаптер хоста. Дисковод) идентифицируется На более ранних моделях физический перемычка или переключатель управляет SCSI ID инициатора (хост-адаптер). На современных хост-адаптерах (примерно с 1997 года) выполнение ввода-вывода с адаптером задает идентификатор SCSI; например. Адаптер часто содержит опциональный диск (SCSI BIOS) программа. Которая запускается при загрузке компьютера. И эта программа имеет меню. Позволяющие оператору выбрать идентификатор SCSI хост-адаптера. Кроме того, хост-адаптер может поставляться с программным обеспечением. Которое должно быть установлено на хост-компьютере для настройки идентификатора SCSI. Традиционный идентификатор SCSI для хост-адаптера равен 7, так как этот идентификатор имеет самый высокий приоритет во время арбитража шины (даже на 16-битной шине).

Идентификатор SCSI устройства в корпусе привода. Имеющем заднюю плоскость. Устанавливается либо перемычками. Либо пазом в корпусе. В который устанавливается устройство. В зависимости от модели корпуса. В последнем случае каждый слот на задней плоскости корпуса подает управляющие сигналы на привод для выбора уникального идентификатора SCSI. Корпус SCSI без задней плоскости часто имеет переключатель для каждого диска. Чтобы выбрать идентификатор SCSI диска. Корпус упакован с разъемами. Которые должны быть подключены к приводу. Где обычно расположены перемычки; переключатель эмулирует необходимые перемычки. Хотя стандарта. Позволяющего это сделать. Не существует. Разработчики приводов обычно настраивают свои заголовки перемычек в согласованном формате. Соответствующем способу реализации этих переключателей.

Установка загрузочного (или первого) жесткого диска на SCSI ID 0 является общепринятой рекомендацией ИТ — сообщества. SCSI ID 2 обычно отводится для дисковода гибких дисков. В то время как SCSI ID 3 обычно предназначен для привода компакт-дисков.]

Общие

Обратите внимание. Что целевое устройство SCSI (которое можно назвать Например. Дисковая подсистема высокого класса может быть одним устройством SCSI. Но содержать десятки отдельных дисков. Каждый из которых является логическим блоком. Кроме того, массив RAID может быть одним устройством SCSI. Но может содержать множество логических блоков. Каждый из которых является Идентификатор SCSI, WWN и т. Д. в этом случае идентифицирует всю подсистему. А второй номер-номер логического блока (LUN) идентифицирует дисковое устройство (реальное или виртуальное) внутри подсистемы.

Довольно часто. Хотя и неверно. Называют саму логическую единицу [13] Соответственно. Фактический LUN можно назвать [14]

В современных транспортных протоколах SCSI существует автоматизированный процесс Инициатор SSA (обычно хост-компьютер через Инициаторы Fibre Channel – Arbitrated Loop (FC-AL) используют LIP (Loop Initialization Protocol) для опроса каждого порта устройства на предмет его WWN (World Wide NameДля iSCSI из-за неограниченного объема сети (IP) этот процесс довольно сложен. Эти процессы обнаружения происходят во время включения питания/инициализации. А также при последующем изменении топологии шины. Например при добавлении дополнительного устройства.

SCSI имеет механизм идентификации CTL (Channel. Target или Physical Unit Number. Logical Unit Number) для каждого адаптера шины хостаили механизм идентификации HCTL (HBA . Channel, PUN, LUN). Один адаптер хоста может иметь более одного канала.[15]

Тип устройства

В то время как все контроллеры SCSI могут работать с устройствами хранения данных для чтения/записи. То есть дисками и магнитными лентами. Некоторые из них не будут работать с некоторыми другими типами устройств; старые контроллеры, вероятно. Будут более ограничены, иногда их программным обеспечением драйвера. И по мере развития SCSI было добавлено больше типов устройств. Даже компакт-диски обрабатываются не всеми контроллерами. Тип устройства-это 5-битное поле. Сообщаемое командой запроса SCSI; определенные типы периферийных устройств SCSI включают в себя. Помимо многих разновидностей запоминающих устройств. Принтер, сканер. Коммуникационное устройство и универсальный тип

Службы корпусов SCSI

В более крупных SCSI-серверах устройства дисководов размещаются в интеллектуальном корпусе. Поддерживающем службы SCSI Enclosure Services (SES). Инициатор может взаимодействовать с корпусом с помощью специализированного набора команд SCSI для доступа к питанию. Охлаждению и другим характеристикам. Не связанным с данными.

См. также

  1. ^
  2. ^ . global.ihs.com. Проверено 25 апреля 2017года .
  3. ^ ANSI Draft SASI Standard, Rev D, February 17, 1982, pg. ii гласит:
  4. ^ b Как компьютерное хранилище Стало современным бизнесом. Youtube.com. Извлечено 11 мая 2014года .
  5. ^ ANSI SCSI Standard, X3.131-1986, 23 июня 1986, 2-е. Предисловие.
  6. ^ рабочему документу a b для совещания ANSI 3 марта 1982 года,
  7. ^ Главная страница. Endl.com. 27 апреля 2014года . Извлечено 11 мая 2014года .
  8. ^ . Smithsonianchips.si.edu. Извлечено 11 мая 2014года .
  9. ^ . Apple, Inc. 1 апреля 2010года . Извлечено 7 июля 2014года .
  10. ^ Дэвид Аллен (1 июля 2005). . Получено 6 февраля 2015года .
  11. ^ Шуанбао Поль Ван (10 января 2013 года). Компьютерная архитектура и безопасность: Основы проектирования защищенных компьютерных систем (1-е изд.). ISBN 978-1118168813.
  12. ^ Грот, Дэвид; Дэн Ньюленд (январь 2001). A+ Полное учебное пособие (2-е изд.). Аламеда, Калифорния. США: l Sybex. p. 183. ISBN 978-0-7821-4244-0.
  13. ^ NetApp. 7 июля 2009 г. Команда lun используется для создания и управления lun[…]
  14. ^ НетАпп. 7 июля 2009 г. Если идентификатор LUN не указан. Автоматически выбирается наименьшее число [ … ].
  15. ^ . tldp.org… Извлечено 4 марта 2021года .
  16. ^ . H30097.www3.hp.com. Извлечено 11 мая 2014года .

Внешние ссылки

Викисклад имеет средства массовой информации. Связанные с SCSI.
Посмотрите SCSI в Викисловаре. Бесплатном словаре.