Scsi протокол. Сравнение интерфейсов SCSI, SATA, IDE (интерфейсы жестких дисков). Насколько LVD устройства совместимы со SCSI устройствами предыдущих спецификаций

28. 07.2017

Блог Дмитрия Вассиярова.

SCSI — быстрый и необычный интерфейс

Здравствуйте.

Из этой статьи вы узнаете самое необходимое о SCSI что это такое, где и зачем используется, сколько поколений вышло с момента появления и как реализуется на практике.

Прочитайте - вдруг, SCSI пригодится и вам?

Что означает SCSI?

Это набор заглавных букв от фразы Small Computer Systems Interface. На русском языке он звучит как «скази», а расшифровка - системный интерфейс для малых компьютеров.

Данный стандарт создан для объединения компьютерных комплектующих различного назначения на одной шине: винчестеров, дисководов, сканеров, принтеров и пр. Зачем? Чтобы обеспечить им одинаково высокую скорость работы в качестве единого, но в то же время делимого механизма. Вдобавок благодаря SCSI можно использовать один девайс на нескольких компах сразу.

Другие возможности

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

Чаще всего применяются такие команды как запись, чтение, проверка устройств, запрос их характеристик, установка для них новых параметров или возврат предыдущих и т. д.

Также бывает реализация команд поверх проводов и контроллеров других стандартов. Если речь идет о IDE, ATA или SATA, она называется ATAPI - ATA Packet Interface; если сверху протокола USB - Mass Storage device. Таким образом, вы можете, к примеру, подключить выносной жесткий диск через обычный USB и для него будет использоваться имеющийся в операционке драйвер SCSI.

Где востребован SCSI?

На серверах и рабочих станциях высокой производительности. На серверах, относящихся к низкой ценовой категории, и тем более в домашних условиях, этот интерфейс встречается крайне редко; в таких случаях оптимальным вариантом является привычный для нас .

Но естественно никто вам не запрещает ставить такие скази устройства в свой домашний компьютер. Или например в домашний сервер.

Технология на практике

Все устройства, которые вы хотите подсоединить к одной шине, работают через специальный адаптер, который, в свою очередь, вставляется в свободный слот на материнской плате. Контроллер имеет собственный биос, посредством которого вы можете управлять девайсами. Операционная система распознает и связывается с ними, как обычно, с помощью .

Наличие у SCSI адаптера означает то, что с центрального процессора снимается часть нагрузки, следовательно, железо работает быстрее.

Так как данная технология является последовательной, то и девайсы следует подключать соответственно. Причем каждый должен иметь уникальный ID, и все они - одинаковый интерфейс.

История появления

Я хочу вам поведать историю создания интерфейса не из своего занудства, а потому что через нее вы сможете больше понять о предмете нашего разговора.

Итак, в 1979 году изобретатель 8-дюймовых дискет и производитель магнитных накопителей Алан Шугарт поставил перед собой задачу сделать для своей продукции универсальный интерфейс, который не терял бы своих позиций с учетом развития технологий.

И ему удалось ее решить путем создания стандарта, поддерживающей логическую и практическую (головка, цилиндр, сектор) адресацию. Она основывалась на протоколах 8-битной параллельной отправки информации по пути, включающему в себя несколько линий.

Новшество получило не очень благозвучное для русскоязычного населения название SASI (Shugart Associates Systems Interface), то есть связующий системный интерфейс, именованный в честь отца-основателя.

Через 2 года он поделился своей разработкой с комитетом ANSI (American National Standarts Institute - Национальный Институт Стандартизации США) - то же самое, что и ГОСТ в нашей стране. На базе этого изобретения специалисты ANSI создали SCSI.

Поколения интерфейса

Примечательно, что технология создана почти полстолетия назад, а говорим мы о ней до сих пор. Все потому, что она постоянно преображалась. С момента появления вышло 10 версий. Не буду забивать вам голову подробностями о каждой из них. Расскажу только, что было изначально, и что мы имеем теперь.

SCSI-1

  • Возможно подключение максимум 8 устройств к одной шине, в том числе и контроллера.
  • Предельная скорость составляла 1,5 Мб/с в асинхронной вариации («запрос-подтверждение»), и 5 Мб/с в синхронной - на несколько запросов возвращалось столько же подтверждений.
  • Со стороны электрики было 24 линий, включая дифференциальные и однополярные, хотя чаще подавались сигналы второго типа.
  • Частота шины составляла 5 МГц.
  • Самый длинный кабель - 6 м, а для дифференциальной шины HVD - 25 м.

Ultra-640 SCSI

  • Разрядность шины выросла вдвое, соответственно, можно подсоединять до 16 девайсов одновременно.
  • Ее частота составляет 160 МГц DDR.
  • Скорость тоже не идет ни в какое сравнение с первой модификацией - сейчас она достигает 640 Мб/с.
  • Разъем состоит из 68 контактов.
  • Протяженность кабеля достигает 10 м.

Serial Attached SCSI (SAS)

  • Появилась поддержка подключения устройств SATA.
  • Скорость данного интерфейса выросла уже до 12,0 Гбит/с.
  • Как заявляют разработчики, теперь есть возможно подключить 16384 устройств на одну шину! В предыдущем поколении как описано выше было лишь 16.

Электрика

Есть 3 способа передачи информации относительно электрики:

  • SE (single-ended) - асимметричный вид. Каждый сигнал отправляется по отдельной линии.
  • LVD (low-voltage-differential) - дифференциальный стандарт с низким напряжением. Сигналы «+» и «-» переправляются по разным проводам. Каждому из них отводится одна витая пара. Передаются они под напряжением ±1,8 В.
  • HVD (high-voltage-differential) - аналог предыдущего варианта, но с особыми приёмопередатчиками и увеличенным напряжением.

Нагрузка на интерфейс распределяется при помощи терминаторов, расположенных с обоих концов шины. Согласно электрическим характеристикам они разделяются на:

  • Пассивные - простые резисторы на 132 Ом;
  • Активные - стабилизаторы, производящие необходимый сигнал, а каждая линия питания подсоединяется к ним с сопротивлением в 110 Ом;
  • FPT (Forced Perfect Terminator). Название говорит само за себя - ускоренный улучшенный тип. Он имеет ограничители выбросов, и применяется в высокочастотных интерфейсах.

Чаще всего используется 2-я модель.

Конкурентоспособность SCSI

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

  • Обладает высокой скоростью;
  • Можно создавать цепь из 15 девайсов;
  • Ими удобно управлять;
  • HDD отличаются повышенной надежностью.

Все же на долю таких накопителей приходится всего около 30 % современного рынка, так как есть у SCSI и недостатки:

  • Дороговизна. Но нужно понимать, что вы платите за качество. Хоть винчестеры SATA обладают большей емкостью при меньшей цене, они не могут похвастаться такой долговечностью.
  • Устаревание. Появился усовершенствованный конкурент - технология SAS (Serial Attached SCSI), которая имеет более компактные провода, не нуждается в терминаторах, позволяет подсоединять больше устройств и обладает лучшей пропускной способностью.

На этом всё.

Жду вас на страницах блога как можно чаще.

В этой статье мы заглянем в будущее интерфейса SCSI и рассмотрим некоторые преимущества и недостатки интерфейсов SCSI, SAS и SATA.

На самом деле, вопрос является немного более сложным, чем простая замена SCSI на SATA и SAS. Традиционный параллельный SCSI является испытанным и проверенным интерфейсом, используемым давно. В настоящее время, SCSI предлагает очень быструю скорость передачи данных в 320 Мегабайт в секунду (Mб/сек), используя современный интерфейс Ultra320 SCSI. Кроме того, SCSI предлагает большой выбор возможностей, среди которых Command-Tag Queuing (метод оптимизирования I/O команд для увеличения производительности). Жесткие диски SCSI отличаются надежностью; на коротком расстоянии можно создать последовательную цепь из 15 устройств, подключенную к каналу SCSI. Эти особенности делают SCSI замечательным выбором для производительных десктопов и рабочих станций, вплоть до серверов предприятий, по настоящее время.

Жесткие диски SAS используют набор команд SCSI и обладают схожей надежностью и производительностью, как и SCSI диски, однако используют последовательную версию интерфейса SCSI, со скоростью 300 Mб/сек. И хотя это немного медленнее, чем SCSI с 320 Mб/сек, интерфейс SAS способен поддерживать до 128 устройств на бОльших расстояниях, чем Ultra320, и может расширяться до 16000 устройств на канал. Жесткие диски SAS предлагают такую же надежность и скорости вращения (10000-15000), как и диски SCSI.

Диски SATA являются немного другими. Там, где SCSI и SAS диски уделяют внимание производительности и надежности, диски SATA жертвуют ими в пользу существенного увеличения емкости и снижения стоимости. К примеру, диск SATA в настоящий момент достиг емкости в 1 терабайт (ТБ). SATA используется там, где нужна максимальная емкость, например, для резервного копирования данных или архивирования. Сейчас SATA предлагает соединения точка-точка со скоростью до 300 Mб/сек, и легко опережает традиционный параллельный интерфейс АТА, со скоростью 150 Mб/сек.

Итак, что же случится с SCSI? Работает он прекрасно. Проблема с традиционным SCSI заключается в том, что просто подходит к окончанию его срок эксплуатации. Параллельный интерфейс SCSI, обладающий скоростью в 320 Mб/сек, не сможет работать значительно быстрее на существующих в настоящий момент длинах SCSI кабелей. Для сравнения, диски SАТА достигнут скорости в 600 Mб/сек в ближайшем будущем, SAS имеют планы для достижению 1200 Mб/сек. Диски SАТА могут, кроме того, работать с интерфейсом SAS, таким образом эти диски могут использоваться одновременно в некоторых системах хранения. Потенциал к увеличению расширяемости и производительности передачи данных гораздо превышает имеющийся у SCSI. Но SCSI не уйдет со сцены в ближайшее время. Мы будем видеть SCSI в малых и средних серверах еще несколько лет. Так как аппаратные средства обновляются, SCSI будет систематически заменяться дисками SAS/SATA, для получения большей скорости и удобства соединения.

"Отважно ступаем на неизведанную землю" - IDE диски на SCSI контроллерах

С каждым новым поколением дисков производители винчестеров достают новые тузы из своих рукавов: последние модели быстрее, тише и объемнее своих предшественников. Они уже достигли объема в 200 Гб - а вскоре мы увидим и 300 Гб диски. Но дисков такого размера с интерфейсом SCSI не выпускается, а SCSI является стандартом для серверного рынка.

Мощные серверные системы должны быть надежными, быстрыми и обладать ресурсами по мощности и емкости. Первые два параметра без проблем достигаются с помощью использования лучших SCSI контроллеров и лучших винчестеров. Но увеличение объема хранения может стать в копеечку.

Поэтому, почему бы нам ни попробовать использовать боле дешевые IDE решения - они выполняют ту же работу, что и их более дорогие SCSI собратья. Однако против использования IDE дисков говорят несколько аргументов: максимальное число устройств, надежность современных жестких дисков и недостаток функциональности контроллеров.

Тайваньский производитель Acard разработал адаптер, позволяющий IDE дискам работать на SCSI контроллерах.

На самом деле подобные проблемы не касаются домашних пользователей. Пусть даже системы на SCSI и быстрее работают, но в силу высокой стоимости они не так привлекательны. Помимо денег, которые вы заплатите за современный винчестер, вам необходимо будет купить и узловой контроллер. Если же вам нужен RAID контроллер, то будьте готовы выложить, по меньшей мере, стоимость Pentium 4.


Благодаря двум Ultra160 SCSI каналам, Adaptec 39160 обеспечивает уровень гибкости, который трудно превзойти.

Сегодня IDE диски отличаются высокой скоростью и объемом. А что касается цены, то SCSI им не конкурент.

Но серверный сегмент диктует совершенно иные правила игры. Дело там не в лишних гигабайтах - приоритетное значение отдается максимальной надежности и производительности, поскольку даже незначительный простой сервера будет стоить серьезных денег, а в худшем случае поставит под вопрос даже существование компании.

Именно поэтому SCSI решения так дороги: дорогая разработка, высококачественные компоненты, да и рынок сравнительно невелик.

Однако не так давно Maxtor объявила о входе на серверный сегмент рынка с новой линейкой приводов с IDE интерфейсом. С низкой минимальной производительностью и должной надежностью, цель заключается в достижении значительно повышенной емкости по сравнению со SCSI дисками (где максимум на сегодня 147 Гб). Теоретически план хорош, поскольку за цену пяти Ultra320 SCSI дисков, каждый по 147 Гб, вы можете купить 15 самых современных IDE дисков, каждый по 200 Гб.

Единственное, чего сегодня не хватает - это подходящих контроллеров. На то, что производители выпустят версии своих high-end контроллеров для IDE, шансов мало. Однако на рынке существует огромное количество узловых SCSI контроллеров.

Помимо IDE2SCSI адаптеров, представленных ниже, Acard главным образом известна своими SCSI и IDE контроллерами и связанными с ними продуктами, равно как и необычными решениями по работе с данными - типа CD или DVD станций копирования.


Тоже от Acard: двухканальный IDE RAID контроллер AEC-6880.


Необычная вещица: IDE2SCSI адаптер AEC7722, вид спереди.

Адаптер по ширине равняется 5,25" приводу и подключается напрямую к IDE винчестеру. Однако тока на шине IDE недостаточно для питания контроллера, поэтому требуется подключение внешнего питания.

Для тестов мы использовали жесткий диск IBM (Hitachi).


Как видим, подсоединенный адаптер чуть выступает слева. Перед покупкой адаптера не забудьте проверить наличие достаточного места в вашем компьютерном корпусе.

Будьте аккуратны при подключении адаптера, поскольку под давлением плата немного сгибается.


Сзади адаптера не размещено никаких компонентов. Только лишь IDE разъем.

Как утверждает Acard, максимальная скорость работы интерфейса адаптера составляет 80 Мбайт/с. Даже если пиковая скорость передачи современных дисков может быть и больше, подобной пропускной скорости будет вполне достаточно для большинства применений.


Чип, BIOS и перемычки (сверху). Последние две используются для установки SCSI-ID.


Сердце IDE2SCSI адаптера: контроллер, изготовленный Achip (ARC765-D).


Вид на адаптер спереди и сзади.


С ног на голову: узловой SCSI адаптер от Adaptec ищет доступные приводы. Был обнаружен 180 Гб IDE диск от IBM.


Разъем SCSI имеет 80 небольших контактов (сверху). В отличие от него у IDE всего 40 контактов.


Типичный Ultra160 SCSI кабель имеет от трех до пяти разъемов для подключения дисков. У более дорогих версий число разъемов может доходить до 15-ти.


Спецификация SCSI предусматривает терминирование обоих концов шины, то есть там должен находиться специальный резистор для предотвращения отражения сигналов.

Тестирование

Тестовая система
Процессор Intel Pentium 4, 2.0 ГГц
256 KB L2-Cache (Willamette)
Motherboard Intel D845EBT, 845E чипсет
Память 256 Мб DDR/PC2100, CL2, Infineon
Контроллер IDE: i845E UltraDMA/100-Controller (ICH4)
SCSI: Adaptec AHA-39160
Ultra160-SCSI
Видеокарта NVIDIA GeForce2 MX 400
Сетевая карта 3COM 905TX PCI 100 MBit
ОС Windows XP Pro 5.10.2600, SP1
Тесты
High-End- приложения ZD WinBench 99 - Highend Disk Winmark 1.2
Производительность HD Tach 2.61, PC Mark 2002 (HD Test)
Производительность ввода/вывода Intel I/O-Meter
Драйверы и настройки
Видео драйвер NVIDIA reference driver 29.42
IDE драйвер Intel Application Accelerator 2.2.2
Версия DirectX 8.1
Разрешения 1024x768, 16 бит, 85 Гц обновление

Чтобы посмотреть, как современный IDE жесткий диск будет работать на SCSI контроллере с обычной настройкой, мы протестировали тестовый диск IBM IC35L180 в обеих конфигурациях.

Заключение: полезно, но дорого

Результат тестов понятен: различие между жестким диском, работающим на IDE и на Adaptec 39160 SCSI контроллере, пренебрежимо мало во всех важных тестах.

Несколько пониженная производительность ввода/вывода связана с потребностью производить преобразование протоколов интерфейса, что довольно важно в серверном окружении. Каждая операция доступа к диску обрабатывается контроллером Achip. Таким образом, IDE жесткие диски с адаптером не стоит использовать в приложениях с интенсивным доступом к диску (то есть для баз данных или для веб-серверов). В данных областях SCSI приводы имеют явное преимущество перед IDE собратьями, поскольку они могут обеспечить большее количество операций ввода/вывода в секунду.

SCSI адаптеры и IDE жесткие диски с адаптерами интересны в тех применениях, где требуются винчестеры большого объема. Если вы установите объемные жесткие диски, вы можете оснастить ваше хранилище данных меньшим количеством дисков, и что более важно, оно обойдется вам намного дешевле SCSI варианта. Даже если вы установите несколько резервных дисков на случай отказа IDE винчестеров (в большом RAID кластере), вы все еще сэкономите ощутимое количество денег. Конечно, переход к такой конфигурации является, прежде всего, вопросом доверия производителю жестких дисков.

Если вы заинтересовались IDE2SCSI адаптером, то мы вас немного огорчим: он отнюдь не дешев. На сайте Acard цены начинаются с $69 - довольно существенная цена для контроллера, предназначенного для экономных решений.

Поэтому использовать Acard адаптер имеет смысл лишь в случаях, когда вы сэкономите большое количество денег, отказавшись от SCSI приводов и перейдя на объемные IDE диски, без учета дополнительных дорогих мер безопасности (избыточность, зеркалирование, отсеки для горячей замены).

Что такое SCSI?

О: Ответу на этот вопрос посвящен раздел [ SCSI Основы ].
Что такое SAS, что лучше SCSI или SAS и чем они отличаются?
О: Ответу на этот вопрос посвящен раздел [ SAS или SCSI ].
Что такое eSATA?
О: eSATA это Интерфейс SATA, предназначенный для подключения внешних устройств SATA. Он предоставляет канал с пропускной способностью 3 Гбит/с, что исключит задержки при нехватке пропускной способности, характерные для современных устройств внешнего хранения данных.

Что такое Unified Serial?
О: Все контроллеры Unified Serial позволяют подключать диски SATA и SAS, используя Интерфейс типа "точка-точка". При этом используется расширенный набор команд SCSI, обеспечивающий мощное управление данными, обработку ошибок и производительность.

Гибкость, обеспечиваемая поддержкой дисков SATA и SAS, дает компаниям возможность просто стандартизировать инфраструктуру ввода-вывода как для первичного хранения критически важных данных, так и для вторичного хранения, в зависимости от того, какие диски установлены – SATA или SAS. Клиенты могут стандартизировать свою инфраструктуру за счет использования унифицированных контроллеров ввода-вывода и систем хранения и, тем самым, уменьшить затраты на обучение и обслуживание.

Можно ли использовать SATA диски с SAS контроллерами?

О: Да, можно, при этом на одном контроллере можно одновременно использовать как SAS, так и SATA диски. Это позволяет уже сейчас начать переход на технологию SAS за умеренные деньги.

Можно ли использовать SAS диски с SATA контроллерами?
О: Нет.

Можно ли подключить SAS диски к контроллеру без использования hotswap корзины?
О: Да, можно. Для этого нужно использовать специальный кабель с разъемом SFF-8482 со стороны дисков. Разъем на другом конце кабеля определяется SAS контроллером.

В чем разница между SCSI-1, SCSI-2, Fast, Wide,Ultra Wide и Ultra2 SCSI?
О: Основное отличие заключается в наборе SCSI команд и ширине шины (соответственно - в скорости).
SCSI-1 5MB/Sec 8 bit SCSI шина
SCSI-2 5MB/Sec 8 bit SCSI шина
SCSI-2 Fast 10MB/Sec 8 bit SCSI шина
SCSI-2 Fast Wide 20MB/Sec 16 bit SCSI шина
SCSI Ultra 20MB/Sec 8 bit SCSI шина
SCSI Ultra Wide 40MB/Sec 16 bit SCSI шина
Ultra2 Wide 80MB/sec 16 bit SCSI шина
Ultra160 160MB/sec 16 bit SCSI шина
Ultra320 320MB/sec 16 bit SCSI шина

Когда нужно использовать Low Voltage Differential (LVD) контроллер?
О: В случае если:
Необходима высокая скорость передачи данных - 80 - 320 МБ/с
В окружающем пространстве очень высок уровень электромагнитных шумов, влияющих на передачу данных. Режим LVD обеспечивает намного большую помехоустойчивость, чем Single Ended (SE) SCSI
Необходимо обеспечить значительное удаление SCSI устройств от компьютера. LVD устройства могут быть удалены от SCSI контроллера на расстояние до 12 метров (это максимально допустимая длина LVD SCSI кабеля.

Что такое SCSI terminator и зачем он нужен?
О: SCSI Terminator это небольшое электронное устройство, которое должно располагаться на обоих концах SCSI шины и их (терминаторов) должно быть именно два на каждую SCSI шину. Чаще всего первым SCSI Terminator-ом служит контроллер SCSI (как правило, эту функцию можно "выключить" в BIOS контроллера, а по умолчанию она включена), а вторым - терминатор подключенный к последнему (от SCSI контроллера) разъему SCSI кабеля.

Некоторые SCSI устройства (устаревшие диски, дисководы, стримеры) имеют встроенный терминатор, который можно включить соответствующей перемычкой на устройстве. В этом случае, надо следить за тем, чтобы устройство с включенным терминатором располагалось в самом конце SCSI шины.

А у меня и без SCSI terminator-а все работает, может сойдет и так?
О: До поры до времени может и сойдет, особенно если у вас всего один диск и он используется не слишком интенсивно. Но при увеличении количества устройств на SCSI шине, или при увеличении нагрузки на нее, вы, в конце концов, рискуете потерять данные, так что, не стоит на этом экономить.

Что такое SCSI ID и зачем он нужен?
О: SCSI ID это уникальный (в пределах одной SCSI шины) идентификатор (номер) SCSI устройства. Он нужен для обеспечения адресации к устройствам на SCSI шине.

Назначается SCSI ID либо автоматически (например, если используются hotswap корзины для дисков, поддерживающие такую функцию), либо путем ручной установки соответствующих перемычек на SCSI устройствах. SCSI ID никак не связан с физическим порядком расположения устройств на SCSI шине (например, SCSI контроллер, как правило, имеет значение SCSI ID по умолчанию равным 7-ми, хотя чаще всего, но не всегда, располагается в начале SCSI шины), важно только чтобы на одной SCSI шине не было устройств с одинаковыми SCSI ID.

Значения SCSI ID могут быть:
от 0 до 15 (всего 16) для Wide (W) и UltraWide (UW, U2W, U160, U320) SCSI шины;
от 0 до 7 (всего 8) для Narrow (U, U2) SCSI шины;

Что будет если подключить к одному и тому же SCSI каналу два устройства с одинаковыми SCSI ID?
О: Ничего хорошего. В лучшем случае SCSI контроллер распознает одно из таких устройств, но правильно работать с ним все равно не сможет, в худшем - не "увидит" ни одного из этих устройств. Ни контроллер, ни диски повреждены не будут, но риск испортить данные на SCSI дисках остается.

Следует учитывать, что подавляющее большинство контроллеров никак не сообщает о возникновении такой ошибки, так что, при подключении новых устройств к SCSI шине, надо обращать внимание на соблюдение уникальности SCSI ID.

Обратите внимание на то, что сам SCSI контроллер так же имеет SCSI ID (как правило, он равен 7-ми, и может быть изменен в BIOS-е контроллера), так что не стоит назначать дискам такой же SCSI ID.

Что такое SAF-TE?
О: SAF-TE - SCSI Accessed Fault-Tolerant Enclosure (Доступный через SCSI шину Отказоустойчивый Корпус) - "открытые" технические требования, разработанные для обеспечения всестороннего и стандартизированного метода контроля и вывода информации о состоянии дисководов, источников питания и систем охлаждения, используемых в серверах высокой надежности и подсистемах хранения данных. Технические требования независимы от аппаратного обеспечения ввода - вывода, операционных систем и платформы сервера, потому что сам корпус представляется как просто еще одно устройство на SCSI шине. SAF-TE технические требования были приняты многими ведущими изготовителями серверов, устройств хранения данных и RAID контроллеров. Изделия, удовлетворяющие спецификации SAF-TE уменьшают стоимость затрат на контроль состояния корпусов, упрощают работу администратора сети, выдают аварийные уведомление и информацию о состоянии оборудования.

Общие сведения об интерфейсах……………………………………….

Классификация интерфейсов……………………………………………

История создания интерфейса SCSI……………………………………

Эволюция стандартов SCSI……………………………………………..

Как выглядит и из чего состоит SCSI контроллер…………………….

Концепция SCSI………………………………………………………….

Фазы работы шины SCSI………………………………………………..

Команды SCSI……………………………………………………………

Хост – адаптеры………………………………………………………….

Кабели SCSI……………………………………………………………...

Программная поддержка SCSI устройств……………………………...

Программирование аппаратных средств периферийных устройств

SCSI против IDE…………………………………………………………



Список литературы………………………………………………………




1. Общие сведения об интерфейсах


Создание современных средств вычислительной техники связано с задачей объединения в один комплекс различных блоков ЭВМ, устройств хранения и отображения информации, аппаратуры данных и непосредственно ЭВМ. Эта задача возлагается на унифицированные системы сопряжения – интерфейсы. Под интерфейсом понимают совокупность схемотехнических средств, обеспечивающих непосредственное взаимодействие составных элементов вычислительной системы. Интерфейс обеспечивает взаимосвязь между составными функциональными блоками или устройствами системы.

Основным назначением интерфейса является унификация внутрисистемных и межсистемных связей и устройств сопряжения с целью эффективной реализации прогрессивных методов проектирования функциональных элементов вычислительной системы.

2. Классификация интерфейсов


1) Машинные интерфейсы предназначены для организации связей между составными элементами ЭВМ, т.е. непосредственно для их построения и связи с внешней средой.

2) Интерфейсы периферийного оборудования выполняют функции сопряжения процессоров, контроллеров, запоминающих устройств и аппаратурой передачи данных.

3) Интерфейсы мультипроцессорных систем представляют собой в основном магистральные системы сопряжения, ориентированные в единый комплекс нескольких процессоров, модулей памяти, контроллеров запоминающих устройств, ограничено размещенных в пространстве.

4) Интерфейсы распределенных ВС предназначены для интеграции средств обработки информации, размещенные на значительном расстоянии.

Развитие интерфейсов осуществляется в направлении повышении уровня унификации интерфейсного оборудования и стандартизации условий совместимости, модернизации существующих интерфейсов, создания принципиально новых интерфейсов.


3. История создания интерфейса SCSI


Фамилия Shugart знакома многим: она принадлежит одному из ярчайших первопроходцев и идеологов «накопительной» индустрии - легендарному кремниевому олимпийцу (в смысле обитателю Олимпа Кремниевой Долины) Алану Ф. Шугарту, который в IBM руководил разработками флоппи и RIGID, потом работал в Memorex. В 1973 году Шугарт привлек капитал со стороны и создал компанию по производству 5,25-дюймовых FDD-приводов - Shugart Associates. Эта фирма проработала под его управлением год, после чего Шугарта выгнали те самые люди, которые инвестировали начинание. Шугарт оправлялся от удара шесть лет - в этот период он даже купил рыбацкую лодку и стал профессиональным рыбаком. Но тяга к хайтеку не прошла: в 1979 году он совместно с Финисом Коннером основал Seagate Technologies (первоначально - Shugart Technologies), после чего оставался ее руководителем в течение почти двух десятков лет, за которые компания стала крупнейшим независимым производителем жестких дисков (правда, и из Seagate в 1998-м Шугарта «поперли», но это уже совершенно другая история).

Нас больше интересует Shugart Associates, поскольку именно она в 1979 году разработала интерфейс SASI - самый ранний вариант шины SCSI. Развернуть аббревиатуру SASI в настоящее время сложно, первые две буквы достоверно означают Shugart Associates, четвертая - Interface, а третья в разных источниках расшифровывается по-разному - System, Systems или Standard (думаю, правильной версией является все-таки последняя). Возможности SASI были весьма скромными даже по сравнению с первым вариантом SCSI - скорость передачи составляла лишь 1,5 Мбайт/с, интерфейс имел очень ограниченный набор команд. Однако заложенные в SASI идеи несли в себе много прогрессивного: вместо повсеместно распространенной тогда аналоговой последовательной передачи использовалась 8-разрядная параллельная цифровая, вместо связки линий управления интерфейс предоставлял набор команд, да и работал он на логическом уровне, позволяя адресовать блоки, а не физические головки, цилиндры и секторы.

Через два года, в конце 1981-го, чтобы подстегнуть принятие интерфейса индустрией, Shugart Associates, скооперировавшись с NCR (National Cash Register), подала заявку в ANSI на создание технического комитета для доработки и стандартизации интерфейса. Такой комитет - X3T9.2 - был образован в 1982 году, а имя интерфейса сменилось на безличное описательное SCSI. В течение нескольких последующих лет стандарт дорабатывался и улучшался: расширилась полоса пропускания, добавились наборы команд - для принтеров, стримеров, процессоров, WORM- и ROM-устройств. (Необходимо заметить, что SCSI в отличие от SASI стал уже не просто дисковым интерфейсом, а родом системной шины: теоретически на «голом» SCSI можно собрать полноценную систему, подключив процессор, память, накопители и периферию.) После представления чернового варианта SCSI в 1984 году на утверждение ANSI многие фирмы стали выпускать продукты, более или менее совместимые с этим протостандартом. Первый официальный стандарт - X3.131-1986 - был принят в 1986 году (с появлением следующих версий его стали называть SCSI-1).

Последующие дополнения и усовершенствования привели к созданию спецификации SCSI-2.


4. Эволюция стандартов SCSI

Спецификации SCSI строго определяют физические и электрические параметры интерфейса и минимум команд. Применение этих команд и стало основным достоинством интерфейса SCSI, так как сделало его управляемым. Разработанная в декабре 1985 года спецификация SCSI-1 предусматривала передачу данных по шине с разрядностью 8 бит и частотой 5 МГц. Скорость передачи данных по шине SCSI в стандартном асинхронном режиме (или режиме handshake, т. е. когда после каждой отправки данных требуется подтверждение) составляет около 3 Мб/с. При передаче в синхронном режиме шина SCSI способна развить пропускную способность около 5 Мб/с.

Устройства подключались в цепочку друг за другом. Первое устройство подключалось к интерфейсу SCSI на главном компьютере, второе - к первому и т. д. (см. Рисунок 1). Первое и последнее устройства в цепочке должны были быть терминированы. На всех остальных устройствах терминирование необходимо было отключить. Устройства идентифицировались посредством задаваемого с помощью перемычек (jumper) или переключателей ID (от 0 до 7), при этом адаптеру шины на хосте присваивался, как правило, ID=7 как дающий наивысший приоритет при доступе к шине.

Рисунок 1. Типовая схема подключения SCSI-устройств в виде цепочки.


Стандарт не обязывал использовать какой-то определенный тип соединителей (коннекторов), а лишь описывал назначение контактов. Наибольшее распространение получили соединители D-Ribbon типа Centronics для ПК, а также DB-25 для Macintosh. Терминирование было преимущественно пассивное, активное же или регулируемое терминирование применялось лишь отдельными производителями.

В марте 1990 года была разработана, а в 1992-м официально одобрена спецификация SCSI-2 (Fast SCSI), определяющая 18 базовых SCSI-команд (Common Command Set, CCS), обязательных для всех периферийных устройств, а также дополнительные команды для CD-ROM и другой периферии. Стало возможно обмениваться данными без участия центрального процессора. Появились "очереди" - способность принимать цепочки до 256 команд и обрабатывать их автономно в оптимизированном порядке. А если контроллер исполнительного устройства-адресата получил команду, не требующую никаких внешних взаимодействий, то этот контроллер не будет занимать шину до появления необходимости в передаче каких-нибудь данных. Здесь можно увидеть серьезное преимущество SCSI перед IDE,особенно в мультизадачных средах: шина IDE работает как пассивный канал передачи сигналов от центрального процессора - она должна выполнить сначала одну команду перед инициацией другой.

Также появились расширения спецификации, обозначения которых часто можно видеть в прайс-листах. Базовая 8-разрядная версия - Fast SCSI (SCSI-2) -!имеет пропускную способность 10 Мб/с. Модификация Wide SCSI-2 является 16-разрядным вариантом Fast SCSI (SCSI-2) и соответственно имеет удвоенную скорость передачи данных, а также позволяет подключать до 15 периферийных устройств. Приставка Ultra обозначает повышенную до 20 МГц рабочую частоту, а контроллеры Ultra2 способны передавать данные на частоте 40 МГц. Очень часто встречаются обозначения Ultra Wide или Ultra2 Wide. Это означает, что используется комбинации вариантов. Так, например, Ultra2 Wide устройства могут обмениваться информацией с максимальной скоростью 80 Мб/с.

Спецификация Ultra160/m SCSI была принята 14 сентября 1998 года. Основными компонентами Ultra160/m SCSI явились: двойная синхронизация при передаче данных (Double Transition Clocking), контроль целостности данных за счет использования циклического кода с избыточностью (CRC), контроль окружения (Domain Validation). Скорость передачи данных в 160 Мб/с достигается за счет использования обоих фронтов сигнала запрос/подтверждение для синхронизации данных. Соответственно, это позволяет разработчикам увеличить быстродействие или надежность, так как становится возможным использовать полосу пропускания шины до 160 Мб/с с существующими Ultra2 SCSI соединительными кабелями либо повысить надежность интерфейса Ultra2 SCSI (80 Мб/с) благодаря снижению частоты, на которой происходит синхронизация.

Что касается контроля целостности данных за счет использования циклического кода с избыточностью (CRC), то в Ultra160/m используется тот же самый метод, который применяется в FDDI, в локальных сетях на основе протокола CSMA-CD и в волоконно-оптических каналах передачи данных. Контроль окружения представляет собой интеллектуальную технологию, заключающуюся в проверке подсистемы хранения данных, включая соединительные кабели, терминаторы и т.д. Эта технология контролирует функционирование системы в требуемых спецификациях, а в случае возникновения опасности потери данных даже понижает скорость передачи.

По способу связи с контроллером SCSI-устройства делятся на два типа: использующие single-ended и дифференциальный (differential, D) электрические интерфейсы. В интерфейсе single-ended используется один проводник для каждого разряда передаваемых данных или управляющих сигналов и соответствующий проводник для "земли", причем информация передается только по одному сигнальному проводнику. В дифференциальном интерфейсе сигнал разделяется на положительную и отрицательную составляющую и передается по паре проводников, что дает возможность передавать сигнал на большие дистанции без помех. Выбор типа SCSI-трансивера определяет максимальную длину шины и число подключаемых устройств. Большинство существующих SCSI-устройств используют single-ended-трансиверы, что приводит к уменьшению длины кабеля при увеличение скорости передачи Дифференциальные трансиверы преодолевают это ограничение, но стоимость их намного выше. Решить эту проблему призвана технология Low-Voltage Differential (LVD), представляющая гибрид двух вышеуказанных технологий. Большинство новых устройств поддерживают универсальные трансиверы, которые могут работать как single-ended и как LVD трансиверы.


Разрядность,

Максимальная скорость передачи, Мб/с

Максимальная длина кабеля/количество устройств, м/штук

Количество контактов в разъеме

6/7,25/6(0), 12/6 (LVD)

3/7,25/6(0), 12/6 (LVD)

Fast SCSI-2, Fast SCSI

3/15,25/15(0), 12/15 (LVD)

3/3,1,5/7,25/6 (D),12/6 (LVD)

Wide Ultra SCSI-2

3/3,1,5/7,25/15 (D), 12/15 (LVD)

Fast-20 Wide SCSI

Wide Ultra2 SCSI-2

Fast-40 Wide SCSI

Ultra3 Wide SCSI

Еще существует 80-контактный разъем для подключения устройств в режиме "горячей замены" (Hot Swap). Особенность такого разъема - присутствие контактов питания наряду с контактами для передачи данных и управляющих сигналов.

5. Как выглядит и из чего состоит SCSI контроллер

Вот картинка самого простого FastSCSI контроллера на шине PCI.

Как видно, больше всего места занимают разъемы. Самый большой (и самый старый) это разъем для 8-и битных внутренних устройств, часто называемый narrow , он аналогичен разъему IDE, только в нем не 40, а 50 контактов. На большинстве контроллеров есть и внешний разъем, как следует из названия, к нему можно и нужно подключать внешние SCSI устройства. На картинке изображен разъем типа mini-sub D на 50 контактов.

Для Wide устройств используется аналогичный, но на 68 контактов, также используется крепление не в виде защелок, а на винтах - как у COM мышек и принтеров. Он даже меньше, чем narrow, за счет более высокой плотности расположения контактов. (Кстати, несмотря на название, wide шлейф тоже уже, чем narrow). Иногда можно встретить и старый вариант внешнего разъема - просто centronix. Такой же (внешне, но не функционально:) Вы можете встретить на своем принтере. Некоторые устройства, например IOmega ZIP Plus, а также расчитанные на Mac, используют обычный 25 контактный Cannon (D-SUB), как на модеме. Для внешних высокоскоростных соединений применяется и mini-centronics. Вот полная таблица:

(размеры почти оригинальные)

Внутренние

Low-Density 50-pin

подключение внутренних narrow устройств - HDD, CD-ROM, CD-R, MO, ZIP. (как IDE, только на 50 контактов)

High-Density 68-pin

подключение внутренних wide устройств, в основном HDD

Внешние

подключение внешних медленных устройств, в основном сканеров, IOmega Zip Plus. наиболее распространен на Mac. (как у модема)

Low-Density 50-pin

или Centronics 50-pin. внешнее подключение сканеров, стриммеров. обычно SCSI-1.

High-Density 50-pin

или Micro DB50, Mini DB50. стандартный внешний narrow разъем

High-Density 68-pin

или Micro DB68, Mini DB68. стандартный внешний wide разъем

High-Density 68-pin

или Micro Centronics. по некоторым источникам применяется для внешнего подключения SCSI устройств.

Для работы любого устройства, как известно, необходима программная поддержка. Для большинства IDE устройств минимальная встроена в BIOS материнской платы, для остальных необходимы драйвера под различные операционные системы. У SCSI устройств все немного сложнее. Для первичной загрузки со SCSI жесткого диска и работы в DOS необходим свой SCSI BIOS. Здесь есть 3 варианта.

1. микросхема со SCSI BIOS есть на самом контроллере (как на VGA картах). При загрузке компьютера он активизируется и позволяет загрузиться со SCSI жесткого диска или, например, CDROM, MO. При использовании нетривиальной операционной системы (Windows NT, OS/2, *nix) для работы с устройствами SCSI всегда используются драйвера. Также они необходимы для работы устройств, не являющихся жесткими дисками, под DOS.

2. образ SCSI BIOS прошит в flash BIOS материнской платы. Далее по п.1. Обычно в BIOS платы добавляют SCSI BIOS для контроллере на основе чипа NCR 810, Symbios Logic SYM53C810 (на первой картинке именно он) или Adaptec 78xx. Этим процессом при желании можно управлять и изменять версию SCSI BIOS на более новую. При наличии на материнской плате SCSI контроллера используется именно такой подход. Этот вариант также более выгоден экономически:) - контроллер без микросхемы BIOS стоит дешевле.

3. SCSI BIOSа нет вообще. Работа всех SCSI устройств обеспечивается только драйверами операционной системы.

Кроме поддержки загрузки со SCSI устройств, BIOS обычно имеет еще несколько функций: настройка онфигурации адаптера, проверка поверхности дисков, форматирование на низком уровне, настройка параметров инициализации SCSI устройств, задание номера загрузочного устройства и т.д.

Следующее замечание следует из первого. Как Вы знаете, обычно на материнских платах есть CMOS. В нем BIOS хранит настройки платы, в том числе конфигурацию жестких дисков. Для SCSI BIOS часто необходимо также хранить конфигурацию SCSI устройств. Эту роль обычно выполняет маленькая микросхема типа 93C46 (flash). Подключается она к основному SCSI чипу. У нее всего 8 ножек и несколько десятков байт памяти, однако ее содержимое сохраняется и при выключении питания. В этой микросхеме SCSI BIOS может сохранять как параметры SCSI устройств так и свои собственные. В общем случае ее присутствие не связано с наличием микросхемы со SCSI BIOS, но, как показывает практика, обычно их устанавливают вместе.

Здесь Вы можете увидеть UltraWide SCSI контроллер фирмы ASUSTeK. На нем уже присутствует микросхема SCSI BIOS. Также можно разглядеть внутренний и внешний Wide разъемы.

На последней (больше мне не удалось быстро найти:) картинке представлен двухканальный Ultra Wide SCSI контроллер. Его спецификация включает следующие пункты: RAID уровней 0,1,3,5 ; Failure Drive Rebuilding ; Hot Swap и on-line Rebuilding; кеш память 2, 4, 8, 16, 32 Mb; Flash EEPROM для SCSI BIOS. Очень хорошо виден 486 процессор, который видимо и пытается всем этим добром управлять.

Еще на плате контроллера SCSI можно встретить

  • светодиод активности SCSI шины и/или разъем для его подключения
  • разъемы для модулей памяти
  • контроллер гибких дисков (в основном на старых платах Adaptec)
  • IDE контроллер
  • звуковую карту (на картах ASUSTeK для MediaBus)
  • VGA карту

Другие карты SCSI

Часто к сканерам и другим небыстрым SCSI устройствам в комплекте прилагается простой SCSI контроллер. Обычно это SCSI-1 контроллер на шине ISA 16 или даже 8 бит с одним (внешним или внутренним) разъемом. На нем нет BIOSа, eeprom, часто он работает без прерываний (polling mode), иногда поддерживает только одно (а не 7) устройство. В основном такой контроллер можно применять только со своим устройством, т.к. драйвера есть только для него. Однако при определенном навыке можно подключить к нему например жесткий диск или стример. Это оправдано только в случае отсутствия денег и наличия времени (или спортивного интереса:) , т.к. стандартный SCSI контроллер, как уже говорилось, можно приобрести за $20-40 и иметь на порядок меньше проблем и гораздо больше возможностей.

6. Концепция SCSI


Шина SCSI – это шина ввода-вывода, а не системная шина и не интерфейс приборного уровня. Интерфейсные средства типа шины SCSI особенно эффективны для машин, которые требуют подключения нескольких дисковых накопителей или других ПУ. Интерфейс SCSI повышает гибкость и вычислительную мощность системы, поскольку он позволяет подключить к одной шине несколько различных ПУ, которые могут непосредственно взаимодействовать друг с другом. Скорость передачи данных по шине безусловно не будет ограничивающим фактором, поскольку этот показатель для шины SCSI в настоящее время достигает 40Мбайт/с.

Шина SCSI предусматривает возможность подключения до восьми устройств. На первый взгляд это может показаться довольно серьезным ограничением, однако, если учесть, что каждое устройство может представлять восемь логических блоков, а каждый логический блок – 256 логических подблоков, то очевидно, что возможности расширения здесь более чем предостаточные.

Каждому из устройств шины SCSI должен быть назначен индивидуальный идентификатор ID, значение которого обычно задается при помощи коммутационных перемычек непосредственно в устройстве. Идентификатор ID выполняет две функции: он идентифицирует устройство на шине и определяет его приоритет в арбитраже за доступ к шине (чем больше номер устройства, тем выше его приоритет).

Каждое из восьми возможных устройств шины может играть роль инициатора(initiator), исполнителя(target), либо совмещать обе эти роли. Инициатор – это часть хост(главного) адаптера SCSI, который служит для подключения главного компьютера к шине SCSI. В типичной системе к одному инициатору подключается один или несколько исполнителей. Система повышенной сложности может содержать более одного хост- адаптера SCSI(много инициаторов). В таких системах могут устанавливаться взаимодействие не только любого процессора с любым ПУ, но также хост - адаптеров друг с другом, поскольку хост – адаптер сам является устройством шины SCSI и может играть роль как инициатора, так и исполнителя. Два ПУ(оба исполнителя), однако, не могут взаимодействовать друг с другом, поскольку только пара инициатор – исполнитель может вести обмен даннами по шине в каждый конкретный момент времени.

Хост – адаптер содержит аппаратные и программные средства для сопряжения с ЦП.

Интерфейс контроллера SCSI и системной шины может быть как совсем простым (строится по принципу программного опроса канала В/В), так и более сложным (предусматривающим высокоскоростные обмены данными в режиме прямого доступа к памяти, ПДП). Такие контроллеры воспринимают высокоуровневые команды и освобождают ЦП от необходимости обработки и контроля сигналов шины SCSI.

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

7. Фазы работы шины SCSI


Протокол шины SCSI предусматривает восемь отдельных фаз:

Bus Free – «Шина свободна»

Arbitration – «Арбитраж»

Selection – «Выборка»

Reselection – «Обратная выборка»

Command – «Команда»

Data – «Данные»

Status – «Состояние »

Message – «Сообщение»

Последние четыре фазы называются фазами передачи информации. Шина SCSI в каждый конкретный момент времени может находится только в одной из этих восьми фаз.

Фаза «Шина свободна» означает, что ни одно устройство в данный момент не работает с шиной SCSI в активном режиме, и шина свободна для обращения. Эта фаза обычно возникает после системного сброса или после сброса шины сигналом RST. Признаком фазы «Шина свободна» является отсутствие сигналов занятости BSY и выборки SEL.

Шина переключается в фазу – «Арбитраж», когда какое – либо SCSI- устройство хочет взять на себя управление шиной, т.е стать инициатором на шине. Это происходит в случаях, когда инициатор хочет выбрать исполнителя или исполнитель хочет произвести перевыборку запрашивавшего его ранее инициатора. В фазу «Арбитраж» шина может переключится только из фазы «Шина свободна». После того, как устройство определяет, что шина свободна, начинается фаза «Арбитраж». Для этого формируется сигнал BSY, на соответствующую линию данных

выдается идентификатор ID SCSI – устройства(ID – бит). При этом каждое

из восьми возможных устройств шины SCSI может выдавать свой ID - бит

только на закрепленную за ним линию данных как признак своего участия

в арбитраже. Устройство с максимальным значением идентификатора ID выигрывает арбитраж и берет на себя управление шиной.

Фаза «Выборка» дает возможность инициатору выбрать исполнителя, чтобы инициировать выполнение им соответствующей функции, например команды чтения READ или записи READ. Согласно протоколу спецификации SCSI-2 фаза «Выборка» всегда наступает после фазы «Арбитраж». В спецификации SCSI-1 предусматривается вариант системы с одним инициатором, где необходимость арбитража отсутствует, и в фазу выборки можно входить сразу же после фазы «Шина свободна». В обоих случаях для выборки исполнителя инициатор выдает его ID-бит на соответствующую линию данных шины SCSI и формирует сигнал выборки SEL.

Необязательная фаза перевыборка возможна, когда исполнитель хочет восстановить связь с тем инициатором, который ранее послал ему команду. Эта фаза в принципе напоминает фазу «Выборка», с тем исключением, что вместе с сигналом выборки SEL переходит в активное состояние линия I/O, что позволяет различать эти две фазы.

Фазы «Команда», «Данные», «Состояние » и «Сообщение» образуют группу фаз передачи информации, поскольку все они используются для передачи данных или управляющей информации по шине данных. Чтобы их различать, используются сигналы C/D – управление, I/O – ввод-вывод и MSG – сообщение, вырабатываемые исполнителями, который тем самым управляет всеми переходами из одной фазы в другую. Для управления передачей данных между исполнителем и инициатором в фазах передачи информации используются сигналы линий REQ/ACK – запрос/подтверждение (в версии SCSI-2 дополнительно применяются линии REQB/ACKB).

Реальный обмен данными может осуществляться синхронным и асинхронным способом. В обоих случаях для выполнения квитирования используются сигнальные линии ACK и REQ. Для исполнителя режим синхронной передачи является необязательным. Инициатор может потребовать, чтобы исполнитель осуществлял синхронную передачу, однако если последний отвергнет этот запрос, то будет использоваться асинхронный режим.

Чтобы передать данные инициатору в асинхронном режиме, исполнитель выдает их на линии данных шины SCSI вместе с сигналом REQ. Данные должны удерживаться на шине до тех пор, пока от инициатора не будет принят сигнал подтверждения ACK. После этого на шину выдаются следующие данные, и процесс повторяется. Если передача данных должна происходить в противоположном направлении, исполнитель выдает сигнал запроса REQ, говорящий о том, что он готов к приему данных. Инициатор выдает данные на линию данных шины SCSI, а за тем формирует сигнал ACK. Инициатор продолжает удерживать данные на шине до тех пор, пока линия REQ, не переключится в пассивное состояние. Затем исполнитель сбрасывает сигнал REQ, инициатор выдает новые данные, и процесс повторяется.

Если в фазе «Сообщения» устройства согласились использовать синхронный режим обмена, то исполнитель не будет ждать поступления сигнала подтверждения ACK перед выдачей сигнала REQ для приема следующих данных. Он может генерировать один или более импульсов REQ без ожидания соответствующих импульсов ACK(до заранее оговоренного максимума, называемого смещением REQ/ACK).

При выдаче всех запланированных импульсов REQ исполнитель сравнивает число запросов REQ и подтверждений ACK, чтобы удостовериться в том, что каждая группа данных принята успешно. При подготовке синхронного режима обмена устройства задают смещение REQ/ACK и период передачи. Период передачи определяет интервал времени между окончанием передачи очередного байта и началом передачи следующего.


8. Команды SCSI

Предшествующие спецификации интерфейсов для жестких дисков (как уже упомянутый ESDI) предусматривали последовательную передачу по одному биту за один раз, при этом управление диском осуществлялось по отдельным проводам (линиям), каждый из которых выполнял определенную функцию. Например, одна конкретная сигнальная линия задавала смещение головки чтения/записи жесткого диска, другая - направление смещения, третья - тип операции (чтение или запись), четвертая служила для передачи данных в требуемом формате. Таким образом, используемый контроллер зависел от типа жесткого диска.

SCSI же способен выполнять высокоуровневые команды, например запрашивать тип подключенного к шине устройства с помощью команды Inquiry. Таким образом, помимо спецификации физических характеристик шины (тип соединителя, уровни напряжения, назначение контактов и т. д.) стандарт для каждого типа периферии (жесткий диск, CD-ROM и т. д.) определяет поддерживаемые команды и соответствующие им ответы (порядка 12 для каждого вида периферии). Стандартные команды SCSI-1 сгруппированы в соответствии с шестью типами устройств, как показано в Таблице 1.


Таблица 1. Группы команд в соответствии с типами поддерживаемых устройств.

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

Название

Типичная функция

Случайный доступ для чтения/записи (жесткий диск)

Адреса логических блоков, длина записываемого блока

Последовательный доступ (ленточный накопитель)

Чтение следующей записи

Контроль компоновки страницы

Процессор

Отправка и прием

WORM (записывающий CD-ROM)

Большой размер, съемный

Случайный доступ только для чтения

Адреса логических блоков, длина считываемого блока

При запросе целевым устройством команды, как в примере с обращением ПК к диску, инициатор отвечает отправкой 6 байт командной информации. Эти байты служат для задания команды и идентификации устройства. Все вместе они называются блоком описания команды (Command Descriptor Block, CDB). Первый байт (точнее, байт за номером 0) определяет тип команды или операционный код (opcode). Некоторые наиболее распространенные коды имеют следующие значения (в шестнадцатеричном представлении):

00 Тестовое устройство готово;

03 Форматирование;

08 Чтение;

0А Запись;

0B Поиск.

Значение оставшихся байт зависит от конкретного операционного кода. Например, в случае команды Write (код 0A) они имеют следующий смысл:

Байт 0 Операционный код 0А;

Байт 1 Номер логического устройства в битах 5 и 6,


биты с 1 по 4 задают адрес логического блока;

Байт 2 Адрес логического блока;

Байт 3 Адрес логического блока;

Байт 4 Биты со 2 по 5 задают длину передачи;

Байт 5 Бит 1 - флаг; биты 6 и 7 назначаются производителем.

Передача команд осуществляется в асинхронном режиме. Однако если ответ содержит данные, то они могут передаваться в синхронном режиме, как в случае команды Inquiry, в ответ на которую целевое устройство передает идентифицирующую его тип строку ASCII (этот ответ часто отображается на мониторе ПК при загрузке драйверов SCSI).

9. Хост - адаптеры


Хост-адаптер реализует функции сопряжения шины SCSI с системными ресурсами, прежде всего с системной шиной и операционной системой компьютера. Он, как правило выполняет роль инициатора на шине SCSI , хотя в сложных (например, в мультипроцессорных и мультимашинных) SCSI-системах может динамически изменяться (инициатор/исполнитель).

К числу основных функций хост - адаптера, определяющих его структуру и характеристики, относятся:

Реализация протокола шины SCSI, а также физических и электрических спецификаций стандарта;

Сопряжение с аппаратными и программными системными ресурсами

Реализация протокола шины SCSI, как правило, осуществляется специализированной БИС контроллера шины SCSI. Обычно эта схема обеспечивает и реализацию электрических спецификаций стандарта.

Сопряжение с аппаратными системными средствами предполагает прежде всего согласование разрядности и пропускной способности шины SCSI и системной шины хост-системы, а также реализацию развитых средств доступа к системной памяти. Структура узла согласования разрядности шин зависит от назначения хост-адаптера и используемой версии стандарта SCSI(8 разрядов для SCSI-1;16 или 32 разряда для SCSI-2). Основным средством согласования пропускной способности системной и SCSI-шин является буферная память, реализуемая обычно в виде буфера FIFO, либо двухпортового ОЗУ. Наиболее распространенный алгоритм доступа к системной памяти – прямой доступ, реализуемый чаще всего с помощью контроллера ПДП хост-системы.

Сопряжение с программными системами предполагает наличие SCSI- драйвера для конкретной ОС.

Характеристики современных хост - адаптеров


Среди используемых БИС SCSI-контроллеров для шины AT доминирует модели фирмы NCR. Следом идут известные WD33C93 фирмы Western Digital и ALC 6250/60 фирмы Adaptec(США). Хост-адаптером чаще всего поддерживают как синхронный, так и асинхронный режимы обмена по шине SCSI. Скорость обмена существенно зависит от типа используемого контроллера. В простых хост-адаптерах она колеблется от 0,25 до 1 Мбайт/с в асинхронном режиме и синхронном режимах соответственно.

Размер буфера данных также варьируется в достаточно широких пределах: от использования внутренних буферов БИC SCSI-контроллера небольшой емкости, до ОЗУ значительной емкости (1Мбайт). Наличие большого буфера существенно увеличивает стоимость хост-адаптера.

10. Кабели SCSI

Для обеспечения нечувствительности к помехам внешние кабели SCSI не только используют витые пары, но и организованы в виде трех концентрических слоев (см. Рисунок 2). Центральный, внутренний, слой содержит три пары: Request («Запрос»), Acknowledge («Подтверждение») и Ground («Земля»). Средний - промежуточный - слой служит для передачи управляющих сигналов. Третий - внешний - слой предназначен для передачи данных и информации о четности. В среднем слое пары скручены в противоположном направлении по сравнению с прилежащими к нему внешним и внутренним слоями для уменьшения емкостной связи между слоями. Размещение жил для передачи управляющих сигналов в среднем слое обеспечивает отсутствие интерференции между данными и сигналами Request/Acknowledge.

Рисунок 2. Внешний кабель SCSI в разрезе.

Хотя весь кабель в целом изолируется с помощью полихлорвинилового покрытия, для отдельных пар такая изоляция не годится, так как ее электрические характеристики сильно зависят от температуры, а кроме того, она имеет очень большую емкость. Такая конструкция кабеля сказываются в конечном итоге на его цене. Однако мы не так богаты, чтобы покупать дешевые вещи.

11. Програмная поддержка SCSI устройств


Задача программирования SCSI систем и устройств является многоуровневой и может быть разделена следующие относительно независимые подзадачи:

Программирование аппаратных средств периферийных устройств.

Реализация протоколов SCSI шины.

Реализация SCSI команд.

Доступ к SCSI устройствам ОС и прикладных задач.

К сожалению на всех перечисленных уровнях используемые на практике решения слабо унифицированы.Многие солидные фирмы предлагают свои оригинальные, однако часто не стыкуемые друг с другом подходы. Учитывая, что в настоящее время в области программирования SCSI устройств стандарт фактически пока не сложился, целесообразно рассмотреть наиболее интересные решения на каждом из уровней.


12. Программирование аппаратных средств периферийных устройств

Конечным звеном средств программной поддержки ПУ в силу специфичности физических принципов их реализации неизбежно являются узкоспециализированные программы низкого уровня. Из-за того, что программирование на таком уровне сложно даже для общесистемных, не говоря уже о прикладных программистах, имеется тенденция к повышению уровня средств программирования ПУ за счет маскирования специфики ПУ на уровне так называемого firmware (внутреннего программного обеспечения –ВПО). Примером может служить маскирование функций непосредственного управления дисковыми накопителями на уровне внутренних команд дисковых контроллеров WD2010,8272 и др.

Однако на уровень регистров контроллеров выходят только специализированные программы. В настоящее время ПУ как правило, программируются на уровне функций системной BIOS, а программы более высокого уровня вообще используют стандартные функции ОС.

Использование интерфейса SCSI еще более повышает уровень программирования ПУ за счет использования определенного стандартом набора команд общего вида. Для прикладного программиста использование стандартных функций BIOS становится при этом практически невозможным.

Однако как элемент управления устройствами, естественно,

сохраняются на уровне ВПО контроллера ПУ и реализуется либо локальным микропроцессором (МП) контроллера, либо микроконтроллером, встроенным в базовую БИС контроллера ПУ.

В целях сохранения наработанных программных средств управления электроникой ПУ, в настоящее время широко используется эмуляция стандартных интерфейсов ПУ, предполагающая преобразование логических адресов SCSI в физические адреса конкретного устройства. Примером может служить контроллер SmartConnex/ISA фирмы Distributed Proccessing Е Technology. Он использует интерфейс известного дискового контроллера WD1003 фирмы Western Digital, в результате чего компьютер “видит” контроллер как обычное устройство, совместимое с интерфейсом ST-506.

Реально эмуляцию интерфейса выполняет невидимый для пользователя драйвер, запоминаемый при форматировании в последнем блоке НМД. Соответствующие драйверы имеются для наиболее распространенных ОС

(MS-DOS,OS/2,Xenix/Unix,Novell NetWare). Установка контроллера SmartConnex в систему осуществляется с помощью специальной утилиты поставляемой фирмой.

В известных контроллерах WD 33C92/93 фирмы Western Digital имеется даже встроенная команда преобразования форматов логических адресов в физические.

Таким образом, для реализации различных ПУ в стандарте SCSI могут

использоваться фрагменты готовых программ, поддерживающие такие стандартные функции управления ПУ в MS-DOS, как INT 13, INT 11 и др.

Следует отметить, что такой подход, видимо не в полной мере соответствует идеологии SCSI, и в перспективе будут использоваться специальные программы непосредственного управления SCSI устройством на базе SCSI-команд.

13. SCSI против IDE

Спор "Что лучше: IDE или SCSI" входит в число самых распространенных во многих телеконференциях. Число сообщений и статей на эту тему очень велико. Однако этот вопрос, как и знаменитое "Windows NT or OS/2 or Unix", в такой постановке является неразрешимым. Наиболее частая и правильная реакция на них "А для чего?". Рассмотрев этот вопрос подробнее, Вы сможете принять для себя решение о необходимости SCSI для себя.

Расскажем подробнее, что может дать простой SCSI контроллер по сравнению с IDE и за что его нужно выбирать или не выбирать.

предложение SCSI

возражения EIDE/ATAPI

ответ SCSI

возможность подключения 7 устройств к одному контроллеру (к Wide - 15)

нетрудно установить 4 контроллера IDE и всего будет 8 устройств

на каждый контроллер IDE нужно по прерыванию! И только 2 будут с UDMA/33. А 4 UWSCSI это 60 устройств:)

широкий спектр подключаемых устройств

на IDE есть СDD, ZIP, MO, CD-R, CD-RW

а драйвера и программы для всего этого у вас точно есть? и много? а вот для SCSI можно использовать любые, в том числе входящие в состав ОС

возможность подключать как внутренние, так и внешние устройства

Removable rack или LPT-IDE

общая длинна кабеля SCSI может достигать 25 метров. В обычных вариантах 3-6м *

если не разгонять шину PCI, можно и на метр

можно использовать кэширование и технологии RAID для кардинального повышения производительности и надежности

раньше были кэширующие Tekram"ы, а сейчас появились и RAID для IDE

это не работает и вообще не серьезно

* Стоит заметить, что в случае использования интерфейса Ultra или Ultra Wide SCSI на какчество соединительных кабелей и их длину накладываются дополнительные ограничения, в результате чего максимальная длина соединения может быть существенно снижена.

Чтобы не складывалось впечатление, что IDE это очень плохо и за его использование Вам должно быть стыдно, отметим и положительные качества IDE интерфейса, частично в свете выше приведенной таблицы:

1. Цена. Бесспорно иногда это очень важно.

2. Не всем нужно подключать 4 HDD и 3 CDD. Часто двух каналов IDE более чем достаточно, а всякие там сканеры идут со своими карточками.

3. В корпусе minitower сложно использовать шлейф, длиннее 80см:)

4. IDE HD установить гораздо проще, там всего один jumper, а не 4-16 как на SCSI:)

5. IDE контроллер уже есть у большинства материнских плат

6. У IDE устройств шина всегда 16 бит и для моделей, сравнимых по цене, IDE выигрывает по скорости.

Теперь о цене. Самый простой SCSI на шину ISA стоит около $20, но сейчас такие просто никому не нужны, поэтому можно найти и дешевле. Следующий вариант это контроллер на шине PCI. Простейший вариант FastSCSI стоит около $40. Однако сейчас появилось множество материнских плат, на которых всего за +$70 может быть установлен Adaptec 7880 UltraWideSCSI. Даже у знаменитых ASUS P55T2P4 и P2L97 есть варианты со SCSI. Для UWSCSI карточки цена варьируется от $100 до $600. Также бывают двухканальные (как IDE на Intel Triton HX/VX/TX) контроллеры. Цена их естественно выше. Заметим, что в случае SCSI, в отличие от IDE, где что-то новое придумать сложно, за дополнительные деньги контроллеры могут быть расширены функциями кэш-контроллера, RAID-0..5, hotswap и т.д., поэтому говорить о верхней границе стоимости контроллера не совсем корректно.

И наконец о скорости. Как известно, сегодня максимальная скорость передачи информации по шине IDE составляет 33Мб/с. Для UWSCSI аналогичный параметр достигает 40Мб/с. Основные преимущества SCSI проявляются при работе в мультизадачных средах (ну и в Windows95 немного:). Многие тесты, приведенные под WindowsNT показывают несомненное преимущество SCSI. Пожалуй это самая популярная на сегодня ОС, для которой применение SCSI более чем оправдано. Также могут быть конкретные задачи (связанные, например, с обработкой видео) в которых просто невозможно использование IDE. Про отличия внутренних архитектур, также влияющих на производительность, в этой статье говорить не будем, поскольку там слишком много специальных терминов. Отметим только, что наблюдая за развитием IDE с удивлением замечаем, что он приобретает многие черты SCSI, но, будем надеяться, все-таки совсем они не сольются.

Список литературы

1. Михаил Гук: «Интерфейсы ПК. Справочник» "Питер",1999.


2. А.П. Пятибратов:

«Вычислительные машины, системы и сети»


3. А.А. Мячев, В.Н. Степанов:

«Персональные ЭВМ и микроЭВМ»

М.: «Радио и связь», 1998.


4. А.А. Мячев:

«Интерфейсы IBM PC», 1992.


5. Стефан Фойц: «Windows 98 для пользователя»

К.: Торгово-издательское бюро BHV, 1998;


6. «PC Computing»: «IDE vs SCSI»


7. «PC Magazine»: «Interface IDE»



Репетиторство

Нужна помощь по изучению какой-либы темы?

Наши специалисты проконсультируют или окажут репетиторские услуги по интересующей вас тематике.
Отправь заявку с указанием темы прямо сейчас, чтобы узнать о возможности получения консультации.

Поделитесь с друзьями или сохраните для себя:

Загрузка...