Rambler's Top100



3.2.3. Интерфейс SCSI

Интерфейс SCSI (Small Computer System Interface - интерфейс малых компьютеров) — это очень своеобразный дисковый интерфейс. Правильно говоря, SCSI даже не является дисковым интерфейсом. Стандарт SCSI появился в конце 1979 г. под названием SASI (Shugart Associates System Interface) За полтора десятка лет производители накопителей несколько раз модернизировали его. Современные накопители и контроллеры подчиняются версии стандарта под названием SCSI-2. Комитет, разрабатывающий этот стандарт, сейчас работает над стандартом SCST-3 Стандарт SCSI отличается от рассмотренных некоторыми важными моментами. Самая важная идея заключается в том, что в этом интерфейсе предполагается подключение к кабелю (шина SCSI) только "интеллектуальных" устройств. К кабелю одного SCSI-ведущего можно подключить до семи SCSI-ведомых устройств.
Примечание. Поясним смысл терминов "ведущий" и "ведомый". Ведущее устройство ("хозяин") сообщает ведомому устройству ("рабу"), что делать, и ведомое устройство выполняет заданное действие. Может быть только один ведущий, так как кто-то должен решать, что делать дальше. Ведущий может приказать ведомому взять на себя полное управление шиной, но, в конце концов, ведомый должен вернуть управление ведущему.

Природа SCSI-устройств может быть разнообразной. К шине можно подключать быстрые жесткие диски большой емкости, ленточные накопители, оптические диски, лазерные принтеры и даже медленные устройства, например мышь, если каждое устройство имеет соответствующую интерфейсную схему между ним и кабелем. Во мно гих отношениях SCSI больше похож на небольшую локальную сеть, чем на обычный интерфейс персонального компьютера и жесткого диска. Подключение SCSI-устройств к персональному компьютеру. Для подключения шины SCSI к персональному компьютеру необходимо иметь главный (хост) адаптер интерфейса SCSI. Адаптер — это схемная плата, которая вставляется в шину внода-вывода компьютера и к которой подключается кабель шины SCSI. Большинство устройств SCSI взаимодействуют но 50-контактно-му плоскому кабелю (пли в соответствии со стандартом SCSI-2 по 50-контактному кабелю и вспомогательному 68-контактному кабелю). Все сигналы — цифровые. Данные передаются параллельно по 8 (16 или 32) бит. Кабель имеет относительно мало управляющих сигналов.

Каждое из семи SCSI-ведомых устройств может иметь внутри до восьми логических подустройств. Таким образом, одним главным адаптером SCSI можно взаимодействовать с 56 логическими отдельными подустройствами. Скорость передачи данных первого интерфейса SASI составляла всего 12 Мбит/с или 1,5 Мбайт/с по восьми параллельным проводникам. В новейшей версии стандарта SCSI (она часто называется SCSI-2) скорость битов доходит до 10 МГц с соответствующей скоростью данных до 40 Мбайт/с (по 32 параллельным проводникам). Главный адаптер SCSI посылает команду в одно из ведомых устройств, обладающее достаточным "интеллектом" для выполнения последовательности операций с использованием кабеля SCSI (другими словами, ведомый временно становится ведущим). Когда ведомый заканчивает свою задачу, он освобождает кабель и главный адаптер SCSI может разрешить другому ведомому временно управлять кабелем. Фактически накопитель SCSI состоит из трех частей. Первая, конечно, — это сам дисковый накопитель. Вторая часть — это электронный модуль, который в ранних версиях вставлялся в контроллер диска и, наконец, должен быть специальный интерфейс ведомого SCSI. Именно в этой части сосредоточена электроника, которая взаимодействует с шиной SCSI.

Росту популярности интерфейса SCSI способствовали компьютеры Macintosh фирмы Apple. (Все компьютеры Macintosh, кроме самых ранних, поставляются со встроенным портом SCSI ) До недавнего времени компьютеры PC оказывали слабую поддержку интерфейсу SCSI. Однако, после того как фирма IBM выпустила главный адаптер SCSI и некоторые периферийные устройства с интерфейсом SCSI, ситуация стала быстро меняться. Первоначально интерфейс SCSI был рассчитан на широкий плоский кабель и параллельную передачу минимум 8 бит данных. В версию SCSI-2 встроена поддержка еще более широких кабелей с передачей до 32 бит одновременно. В некотором смысле версия SCSI-3 изменяет тенденцию. Говоря точнее, SCSI-3 поддерживает и широкий и узкий варианты. Кроме параллельного широкого кабеля SCSI-3 поддерживает последовательный кабель с передачей отдельными битами. Такая возможность, на первый взгляд, приводит к отступлению, но это не гак. Нужно понять огромную мощь системы команд SCSI. Последовательная версия SCSI-3 включена для того, чтобы использовать все новые возможности (кроме параллельной передачи данных) интерфейса SCSI в очень небольших компьютерах, например laptop, в которых просто нет места для больших разъемов параллельного интерфейса SCSI.

Беспокойство в мире SCSI. Аппаратный интерфейс для SCSI определен очень строго. К сожалению, программная поддержка SCSI на рынке ПК (в основном, это драйверы устройств, содержащиеся в файлах инсталируемых драйверов устройств и в ПЗУ главного адаптера SCSI) далека от стандартизации. Есть три конкурирующих подхода, в которых заинтересованы различные производители. Фирма Microsoft предлагает LADDR (Layered Device Driver Architecture — Слоистая архитектура драйвера устройства) Группа фирм, возглавляемая Adaptec, поддерживает ASPI (Advanced SCSI Programming Interface — Улучшенный программный интерфейс SCSI) Наконец, Американский национальный институт стандартов разработал еще один стандарт — САМ (Common Access Method — Общий метод доступа). Не все поставщики главных адаптеров SCSI предлагают драйверы устройств для всех трех вариантов Большинство производителей обычно поддерживают только один. Программы, которые обращаются к устройствам SCSI, разрабатываются для одного из трех методов доступа. В результате в вашем ПК может оказаться до трех различных главных адаптеров SCSI каждый со своим драйвером устройства (по одному для LADDR, ASPI и САМ).

Проблема заключается в том, что данный главный адаптер SCSI должен управляться и реагировать на один уровень запроса прерываний (IRQ). Следовательно, для поддержки нескольких устройств SCSI (причем одни из них взаимодействуют в соответствии с каждым из трех стандартов) потребуются три главных адаптера с тремя взаимодействующими с ними драйверами устройств (для этого потребуются до трех уровней IRQ). В идеальном случае вам нужен только один главный адаптер SCSI для любого количества устройств SCSI, но это невозможно при произвольной смеси типов устройств. Если все ваши устройства подчиняются одному из трех стандартов доступа (и вы имеете не более семи физических и не более 56 логических устройств), вы уже достигли идеала. В противном случае вам придется иметь в ПК несколько главных адаптеров SCSI. Конечно, в одном ПК можно иметь и больше трех главных адаптеров SCSI; вопрос упирается только в число свободных разъемов. В некоторых случаях можно иметь несколько главных адаптеров SCSI, использующих один и тот же метод доступа (например, ASPI), и один драйвер устройства. (Один из пользователей сообщил, что он применяет четыре главных адаптера SCSI и драйвер ASPI для управления 28 ленточными накопителями одновременно. С помощью номеров логических устройств каждого ведомого интерфейса SCSI в такой конфигурации можно управлять 224 устройствами.) До недавнего времени при подключении к ПК одного или двух высокопроизводительных накопителей проще всего было применить контроллер и накопитель интерфейса ESDI. Однако этот способ совсем не помогает при подключении других периферийных устройств, например CDROM или ленточного накопителя. Теперь при программной поддержке SCSI интерес к интерфейсу ESDI снижается. Почти во всех разработках новых высокопроизводительных дисковых накопителей большой емкости применяется SCSI или IDE.

ИЛЛЮЗИЯ СОВЕРШЕННОГО НАКОПИТЕЛЯ. По существу, жесткий диск с интерфейсом SCSI имеет свою электронику контроллера диска. Главный адаптер SCSI просто управляет шиной SCSI, которая действует как разновидность локальной минисети. Важное следствие такого многослойного управления накопителем состоит в том, что многие физические детали накопителя скрываются от компьютера. Теперь ни компьютер, ни контроллер диска, вставленный в шину компьютера, не командуют накопителю перейти на одну дорожку внутрь или наружу. Накопитель SCSI выглядит для компьютера как идеализированная большая группа логических блоков, в которых могут храниться данные. Главный адаптер SCSI адресует каждый из этих блоков по адресу логического блока (Logical Block Address — LBA). Чтобы ПК рассматривал накопитель SCSI как и любой другой жесткий диск, главный адаптер представляет накопитель SCSI омпьютеру как обычный трехмерный диск. Но главный адаптер создает количество головок, цилиндров и секторов на дорожке для такого фиктивного диска наиболее удобным для себя образом. Накопитель SCSI большой емкости может фактически иметь пять дисков с десятью головками, из которых одна или две грловки применяются для позиционирования блока головок. Накопитель имеет несколько тысяч головок. Внутренние дорожки имеют более 30 секторов, внешние дорожки — в два раза больше, а часть средних дорожек может иметь какое-то промежуточное количество секторов. Интерфейс ведомого SCSI превращает все это в простой одномерный массив запоминающих блоков. В свою очередь, главный адаптер SCSI создает из линейного массива логических блоков иллюзию фиктивного, или логического, накопителя, имеющего 64 головки, 32 сектора на дорожке и всего несколько сотен цилиндров. Именно с таким накопителем работает BIOS персонального компьютер.

Накопители SCSI всегда выглядят совершенными. В таком накопителе при выполнении программы CHKDSK никогда не видны плохие секторы. Причина этого скрыта в интеллектуальном интерфейсе SCSI-ведомого. При начальной подготовке накопитель SCSI проверяет каждую ячейку, в которой он может хранить данные, и отвергает ячейки с дефектами. Остальным ячейкам назначаются адреса логических блоков. А если дефект появится позже? Многие накопители SCSI контролируют работу диска, и если какой-то сектор начинает портиться, накопитель перемещает содержащиеся в нем данные в ближайший запасной сектор не извещая об этом пользователя (точнее, главный адаптер SCSI). Про такие накопители говорят, что они поддерживают "горячий ремонт" (hot fixes). Рассмотренный процесс служит примером преобразовании головки и сектора, которые подробнее рассматриваются в главе 7. Так как накопители SCSI представляются в некотором смысле "ирреальными", они значительно ограничивают функции таких программ, как SpinRite.



 


ГЛАВНАЯ

Copyright 2003 © FormatCenter
All Rights Reserved