Краткий обзор многочисленных разновидностей SCSI.
Работа над новым стандартом SCSI-2 началась в том же 1986-м году, когда был принят стандарт на SCSI-1. Первоначальная его цель состояла в объединении SCSI-1 со стандартным набором команд (Standard Command Set, SCS) и внесении некоторых улучшений. Однако в итоге этим дело не ограничилось, и принятый в 1993 году документ значительно превосходил по объему первую свою версию, а кроме того, имел несколько существенных отличий и усовершенствований по сравнению с предыдущим. Так, он определял интерфейс с более высокими частотами (например, 10 МГц для быстрых разновидностей Fast SCSI вместо 5 МГц для SCSI-1 и стандартного SCSI-2 «без приставок») и более широкой шиной (в частности, 16 бит для «широких» разновидностей Wide SCSI), а также иную, дифференциальную сигнализацию.
НЕСИММЕТРИЧНЫЙ И ДИФФЕРЕНЦИАЛЬНЫЙ ИНТЕРФЕЙСЫ
С увеличением скорости и протяженности кабеля качество принимаемого сигнала ухудшается. Чем выше скорость, тем меньше должна быть протяженность кабеля, и наоборот. Однако современные приложения требуют все больших скоростей, при этом длина шины должна иметь приемлемую величину. Например, в случае внешнего дискового массива RAID шины длиной 1,5 м может оказаться недостаточно для удобного размещения компьютера и массива, а шина длиной 6 м может не обеспечивать достаточную скорость. Используемый в SCSI-1 метод передачи сигналов налагал очень жесткие ограничения на протяженность шины (не более 6 м), а с увеличением скорости эти ограничения стали еще жестче. Так, увеличение скорости в два раза ведет к уменьшению длины шины до 3 м, а в четыре раза — до 1,5 м. Все это потребовало введения качественно иного метода сигнализации.
В SCSI-1 все устройства имели несимметричный (single-ended) интерфейс, в SCSI-2 они могут иметь и дифференциальный (differential) интерфейс. Основное отличие между этими двумя разновидностями с технической точки зрения состоит в количестве используемых для передачи одного бита линий.
В случае несимметричного интерфейса одна линия определяет один бит. Высокое напряжение (сигнал отрицания) соответствует логическому нулю, а низкое напряжение (сигнал утверждения) — логической единице. Значение сигнала определялось из сравнения с сигналом на линии «земля». Такой метод сигнализации порождал значительные шумы — отсюда и жесткие ограничения на расстояние.
В случае дифференциального интерфейса один бит определяется двумя линиями как разница между двумя сигналами, при этом сигналы обозначаются просто как «+» и «-». Это метод сигнализации значительно менее подвержен шумам, поэтому он позволяет иметь шины большей длины (до 25 м). Кроме того, отсутствие шумов упрощает терминирование.
Однако все имеет свою цену. Несмотря на возможность использования одних и тех же кабелей и соединителей, дифференциальные устройства несовместимы с несимметричными — они не могут сосуществовать на одной шине и имеют несовместимые терминаторы. Кроме того, дифференциальные устройства стоят несколько дороже.
ОСНОВНЫЕ ОТЛИЧИЯSCSI-2 ОТ SCSI-1
Помимо чисто технических отличий, таких, как увеличение частоты и ширины шины, и введения дифференциального интерфейса, SCSI-2 имеет и множество других функциональных отличий от SCSI-1. Ниже мы постараемся кратко перечислить основные.
Благодаря командам Disconnect и Reconnect периферийное устройство может освободить шину на время выполнения им полученной команды, например поиска данных на диске. Как следствие, главный адаптер получает возможность в это время обратиться к другому устройству на шине. Таким образом, адаптер может передавать (или принимать) данные с одного диска, пока другие осуществляют поиск. В результате это позволяет повысить эффективность использования шины, когда к ней подключено несколько устройств. За счет этого и других усовершенствований накладные расходы удалось в результате снизить до уровня менее 30%.
Благодаря возможности постановки команд в очередь хост может передать периферийному устройству сразу несколько команд, а оно уже перегруппирует их по своему усмотрению с целью оптимизации своей работы, например выполнит второй по очередности запрос вместо первого для повышения общей пропускной способности. Вообще говоря, стандарт не определяет способы оптимизации выполнения команд, и каждый производитель делает это по-своему. Например, в случае дисков это может быть «конвейерный алгоритм» (elevator algorithm), когда диск обслуживает только те запросы из очереди, выполнение которых не требует возвратного движения головки чтения/записи. Отложенные же запросы диск выполняет после достижения головкой конца диска. Различия в алгоритмах оптимизации не влияют на совместимость устройств. Однако при этом постановка команд в очередь должна поддерживаться обоими устройствами (поддержка этой функции является, вообще говоря, необязательной).
Для каждых 8 бит данных шина теперь передает один бит контроля четности. Таким образом, в случае шины шириной 16 бит битов контроля четности два. SCSI используется проверка на нечетность (odd parity), т. е. значение бита четности задается таким образом, чтобы общее число единичных битов, включая бит четности, было нечетным. Контроль четности позволяет выявить единичные ошибки при передаче. При использовании высококачественных кабелей и соблюдение ограничений стандарта этого, как правило, оказывается достаточно. Кроме того, в качестве одной из мер повышения надежности шины в SCSI-2 предусматривается, в частности, поддержка классификации ошибок и сообщений об ошибках.
Список поддерживаемых шиной типов устройств SCSI расширился в два раза. Теперь шина может поддерживать до 10 разных типов устройств.
БЫСТРЕЕ, ВЫШЕ, СИЛЬНЕЕ
Именно этот лозунг советских физкультурников как нельзя лучше подходит, причем практически дословно, для характеристики многочисленных разновидностей SCSI — Fast, Fast Wide, Ultra, Wide Ultra, Ultra2, Wide Ultra2. Каждая из них имеет лучшие характеристики, чем ее предшественница.
«Быстрые» версии Fast Narrow SCSI появились еще в конце 80-х, и в самом начале 90-х уже практически все жесткие диски SCSI имели именно этот интерфейс. Fast SCSI (определение Narrow, т. е. «узкий», обычно опускают) часто считают собственно стандартом SCSI-2, однако в действительности он представляет собой одну из его версий с быстрой узкой шиной с тактовой частотой 10 МГц — «SCSI-2 на 10 Мбайт/с». Сам же стандарт SCSI-2, так сказать, в его «чистом» виде, не предполагает использования ни быстрой, ни широкой шины, и, как и SCSI-1, он имеет предельную скорость в 5 Мбайт/с.
Комитетом ANSI рекомендуется использовать для устройств Fast SCSI дифференциальный интерфейс, однако на практике, как и в случае других версий SCSI-2, он реализуется только на наиболее быстрых устройствах. В случае несимметричного интерфейса Fast SCSI обратно совместим с предшествующими версиями, т. е. со SCSI-1 и стандартным SCSI-2. Однако при подключении к шине устройств разных стандартов скорость обмена между каждыми двумя из них должна согласовываться на индивидуальной основе.
В случае несимметричного интерфейса вследствие двукратного увеличения скорости максимальная протяженность шины ограничена 3 м. Вообще же, чем меньше длина кабеля, тем лучше. Все устройства на шине Fast SCSI должны иметь соединители Micro-D (использование Centronics не рекомендуется). Иногда Micro-D называют также соединителем SCSI-2. Терминирование должно производиться по методу Forced Perfect Termination (FPT). При наличии хотя бы одного устройства Fast SCSI вся шина должна соответствовать приведенным ограничениям.
Fast Wide SCSI предусматривает расширение шины с тактовой частотой 10 МГц до 2 байт (16 бит) или 4 байт (32 бита). В случае 16-битной шины пиковая скорость увеличивается, таким образом, еще в два раза и составляет 20 Мбайт/с. Первые реализации этого интерфейса появились в начале 90-х. Шины шириной четыре байта так и не получили распространения, в частности, из-за отсутствия соединителя подходящих размеров для 3,5-дюймового диска. Широкая шина способна поддерживать до 16 устройств.
В принципе, устройства Fast Wide SCSI могут помещаться на ту же шину, что и их «узкие» собратья, однако такое смешение не рекомендуется ввиду применения других кабелей и соединителей. Fast Wide SCSI предусматривает использование 68-контактного P-соединителя и соответствующего кабеля. Иногда его еще называют соединителем SCSI-3, потому что, как ожидалось, он должен был стать основным соединителем в следующем, третьем варианте стандарта.
ULTRA, ULTRA2 И ULTRA3
Спецификация Ultra SCSI предусматривает еще большее увеличение частоты шины — до 20 МГц. Вследствие того, что Ultra SCSI позволяет передавать 20 млн блоков данных в секунду, ее иногда называют Fast-20. Ultra SCSI имеет пиковую скорость 20 Мбайт/с, а ее широкая разновидность Ultra Wide SCSI — 40 Мбайт/с. Первые реализации Ultra SCSI появились в 1995 году.
Спецификация Ultra2 SCSI предусматривает дальнейшее увеличение частоты шины до 40 МГц. Вследствие того, что Ultra2 SCSI позволяет передавать 40 млн блоков данных в секунду, ее иногда называют Fast-40. Первые ее реализации появились в начале 1997 года.
Ultra-2 SCSI имеет одно серьезное отличие от своих предшественниц — в ней первой стала применяться дифференциальная сигнализация низкого напряжения (Low-Voltage Differential, LVD). Используемая до того дифференциальная сигнализация высокого напряжения (High-Voltage Differential, HVD) предусматривала весьма значительную разницу в уровне напряжения — 20 В. В результате дифференциальное терминирование требовало значительной мощности и порождало значительное тепло, которое требовалось каким-то образом удалять. Кроме того, из-за высокого напряжения дифференциальные трансиверы нельзя было интегрировать в микросхемы SCSI и приходилось выполнять в виде дополнительных внешних компонентов.
LVD имеет те же преимущества, что и HVD, а именно — нечувствительность к шумам и удлиненную шину (до 12 м). Однако благодаря тому, что размах напряжения гораздо меньше, всего 1,1 В (используемые уровни напряжения — 0,7 и 1,8 В), этот интерфейс не подвержен проблемам, проистекающим от высокого энергопотребления. Как следствие, трансиверы могут быть реализованы в CMOS и интегрированы в микросхему SCSI.
Рисунок 1. Cинхронизация сигналов по методу Double Transition. |
Как и все предыдущие спецификации SCSI, Ultra2 разрабатывалась таким образом, чтобы пользователи могли эксплуатировать те же самые кабели, соединители и программное обеспечение. Однако из-за различий в уровнях напряжения LVD-устройства не могут работать на той же шине, что и несимметричные или HVD-устройства. Ultra3 SCSI еще больше увеличивает частоту шины — до 80 МГц, как следствие, она называется также Fast-80DT. Последние две буквы расшифровываются как двойной переход — Double Transition, DT. Это означает, что приемник производит синхронизацию информационных сигналов как по переднему, так и по заднему фронту сигналов REQ или ACK (см. Рисунок 1). Для широкой шины пиковая скорость составляет 160 Мбайт/с!
Ряд производителей предложил свой вариант Ultra3 SCSI — Ultra 160/m. Она сохраняет ряд особенностей Ultra3, в том числе Fast-80DT, контроль ошибок с помощью циклического избыточного кода (Cyclic Redundancy Code, CRC) и проверку доменов (Domain Validation). Последняя функция позволяет осуществлять проверку конфигурации шины. Характеристики всех стандартных, признаваемых SCSI Trade Association разновидностей SCSI и их официальные названия представлены в Таблице 1. Приведенные предельные значения протяженности шины могут быть превзойдены в случае прямых соединений и специальных приложений. Несимметричный интерфейс не определен для спецификаций после Ultra, а дифференциальный интерфейс с высоким напряжением — для скоростей выше Ultra2. Начиная с Ultra3 узкие шины не используются.
Таблица 1. Характеристики стандартных разновидностей SCSI.
Название | Максимальная скорость шины (Мбайт/с) | Ширина шины (в битах) | Максимальная протяженность шины (в метрах) | Максимальное число поддерживаемых устройств | ||
Симметричная | LVD | NVD | ||||
SCSI-1 | 5 | 8 | 6 | * | 25 | 8 |
Fast SCSI | 10 | 8 | 3 | * | 25 | 8 |
Fast Wide SCSI | 20 | 16 | 3 | * | 25 | 16 |
Ultra SCSI | 20 | 8 | 1,5 | * | 25 | 8 |
Ultra SCSI | 20 | 8 | 3 | - | - | 4 |
Wide Ultra SCSI | 40 | 16 | - | * | 25 | 16 |
Wide Ultra SCSI | 40 | 16 | 1,5 | - | - | 16 |
Wide Ultra SCSI | 40 | 16 | 3 | - | - | 4 |
Ultra2 SCSI | 40 | 8 | - | 12 | 25 | 8 |
Wide Ultra2 SCSI | 80 | 16 | - | 12 | 25 | 16 |
Ultra3 SCSI | 160 | 16 | - | 12 | - | 16 |
* означает, что в первоначальной спецификации интерфейс LVD не был определен
СОВМЕСТИМОСТЬ УСТРОЙСТВ SCSI
Многочисленные разновидности SCSI разрабатывались таким образом, чтобы каждая последующая была обратно совместима с предшествующим стандартом, в частности, чтобы одна и та же шина могла поддерживать различные типы устройств SCSI. Однако, как мы видели, например, в случае несимметричного и дифференциального интерфейсов, это условие не всегда возможно выполнить.
Для упрощения взаимодействия с устройствами предыдущего поколения производители предложили, в частности, использовать в устройствах Ultra2 так называемую «универсальную ячейку ввода/вывода» (Universal I/O cell). Универсальная ячейка определяет, в каком режиме работает шина, и автоматически настраивается надлежащим образом. В случае несимметричного режима устройства будут работать со скоростями Ultra, при этом шина должна удовлетворять соответствующим ограничениям. В случае режима LVD, а он возможен, только когда все устройства на шине имеют соответствующий интерфейс, скорости будут максимальными — Ultra2.
Другой способ поддерживать одновременно старые и новые устройства (или низкоскоростные и высокоскоростные) — использовать многоканальные главные адаптеры. В этом случае один канал обслуживал бы устройства Ultra2, такие, как жесткие диски, а другой канал — устройства Fast/Ultra, такие, как CD-ROM или ленточный накопитель.
УДЛИНИТЕЛИ ШИНЫ
С увеличением физических размеров кластерных конфигураций и числа устройств в них максимальная возможная длина кабеля приобретает все более важное значение. Протяженность шины позволяют увеличить так называемые удлинители шины (bus extender).
Рисунок 2. Конфигурация с удлинителем шины. |
Как показывают эксперименты, в случае прямых соединений протяженность шины может быть увеличена до 25 м вместо 12 м, как это предусматривается спецификацией для LVD. Это позволяет, например, подключить адаптер Ultra2 с интерфейсом LVD на главном компьютере к внешнему массиву дисков с несимметричным интерфейсом, если последний оснащен удлинителем шины с переходом от дифференциального к несимметричному интерфейсу (см. Рисунок 2).
РАДУЖНЫЕ ПЕРСПЕКТИВЫ?
За полуторадесятилетнюю историю скорости SCSI возросли на два порядка: с 1-2 Мбайт/с в первых реализациях SCSI-1 до 160 Мбайт/с в Ultra 160/m. Однако и это еще не предел. Комитет T10 работает над следующим поколением стандарта — SCSI-3. В качестве своих составных частей он будет включать все разновидности, начиная с Ultra. Однако новый стандарт во многом отходит от предыдущих спецификаций, в частности он вводит многоуровневую общую архитектурную модель. На нижнем, физическом, уровне передача сигналов вовсе не обязательно будет осуществляться параллельно. Например, в качестве физического уровня SCSI-3 может использовать своего теперешнего конкурента — технологию Fibre Channel!
Дмитрий Ганьжа — ответственный редактор LAN. С ним можно связаться по адресу: diga@lanmag.ru.