SCSI: прошлое, настоящее, будущее. Окончание

Окончание. Начало в КГ №36

SCSI-2

Технология прекрасно зарекомендовала себя в работе, и потому в 1988 г. началась работа над новой версией стандарта — SCSI-2. Основными направлениями для совершенствования стали увеличение производительности, расширение числа адресуемых устройств, улучшение совместимости.

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

Завершая рассмотрение SCSI-1, мы говорили о существовании несовместимости между разработками разных производителей и созданием общего набора команд, который хоть и вышел с небольшой задержкой после выхода самой спецификации, все же опоздал. Он был включен в качестве обязательного во вторую версию. Это первое, что касается совместимости. Во-вторых, в новой спецификации значительно расширен список поддерживаемых устройств: была добавлена поддержка сканеров, коммуникационных устройств, устройств оптической памяти (как однократной, так и многократной записи), а место устройств только для чтения занял CD-ROM; расширены существующие наборы команд. Ну и, конечно, оговорены требования по обеспечению совместимости между предыдущими версиями стандарта, новой и последующими (обеспечивается полная (!) совместимость) — это в-третьих. Т.е. устройства, оснащенные интерфейсами SCSI-1 и SCSI-2, могут быть совместно использованы на шине, но в этом случае шина будет работать в режиме, поддерживаемом всеми устройствами, то есть в самом раннем, а значит, самом медленном. Думается, вопрос совместимости был далеко не самым сложным.

Увеличение максимального числа устройств на шине при сохранении прежнего механизма адресации возможно только посредством ее расширения, что и было реализовано. Новый стандарт описывал шину данных шириной 16 и 32 бита. Для сохранения совместимости была оставлена поддержка 8-разрядной шины. Кроме увеличения числа адресуемых устройств, такой подход позволяет также поднять производительность в 2 или 4 раза по сравнению с 8-битным. Правда, сразу же нужно сказать, что 32-разрядные версии практически никогда не реализовывались, так как поначалу не было необходимости в столь высокой пропускной способности, а потом оказалось, что производство качественных кабелей с большим числом проводников слишком дорого, и такое решение экономически неэффективно, так как есть другие более дешевые пути наращивания скоростей.

Для обозначения разновидностей шины по ширине были введены два термина: узкая (Narrow) и широкая (Wide). Узкая относится к первоначальной 8-разрядной шине, а широкая ввиду нераспространенности 32-битных версий — к 16-разрядной. Также для увеличения производительности была в 2 раза, т.е. до 10 МГц, увеличена частота шины при работе в синхронном режиме. Шина, работающая на такой частоте, получила название Fast (отсюда и второе название стандарта — FastSCSI). Это также увеличивает скорость синхронных передач в 2 раза.

Таким образом, новый стандарт обладает следующими возможностями:
1.Узкая шина, работающая на частоте 10 МГц (FastSCSI или SCSI-2), обеспечивает передачу данных на скорости 10 Мб/с и поддерживает до 8 устройств.
2.Широкая шина на частоте 10 МГц (WideFastSCSI или WideSCSI-2) передает данные на скорости 20 Мб/с с поддержкой до 16 устройств, в том числе рассчитанных на узкую шину через специальные переходники.

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

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

Еще одним важным нововведением является возможность организации маркированных очередей. Немаркированные очереди, позволяющие любому логическому устройству, занятому процессом от одного инициатора, начинать процесс с другим инициатором, были определены еще в SCSI-1. Маркированные очереди для каждой связи инициатор — целевое устройство — логическое устройство позволяют создавать очередь размером до 256 процессов, каждый из которых маркируется тегом и очередность выполнения которых определяется передаваемыми с ними сообщениями при постановке в очередь.

Правда, у положительных нововведений есть и свои отрицательные стороны. Так, для адаптации к более высокой частоте для однополярного режима допустимая длина соединений уменьшилась до трех метров. Для дифференциального так и остались 25. Ужесточились требования к используемым кабелям. Введены и иные коннекторы с более плотным расположением контактов. Количество соединительных проводов для узкой версии так и осталось равным 50, для широкой же увеличилось до 68 (Из 18 добавившихся проводников 16 приходятся на дополнительные старшие разряды шины данных, 2 отведены на передачу бита четности старших разрядов, т.е. передача бита четности ведется для старших и младших разрядов раздельно — очевидно, из соображений совместимости устройств узкой и широкой шины. Для полноты картины нужно отметить, что для 32-разрядной шины к широкой добавляются еще 36 проводников, из которых по 32-м ведется передача данных и по 4-м ведется передача 2-х битов четности — для 3-го и 4-го байта раздельно.)

Распределение приоритетов на широкой шине происходит по убывающей от 7 до 0, затем от 15 до 8. Мне доводилось слышать мнение, что такое несколько странноватое решение имеет под собой причину несовместимости SCSI-драйверов на момент появления WideSCSI, однако мне кажется, что причина здесь в другом, а именно в сохранении совместимости с устройствами для узкой шины: такое решение должно позволить их подключение с назначением приоритета вплоть до максимального после хост-контроллера; использование же старого принципа "большему ID больший приоритет" сделать этого бы не позволило, так как в данном случае хост-контроллер имел бы номер 15, для назначения устройству одного из 7 следующих за 15-м идентификаторов с самыми высокими приоритетами в таком случае требовалось бы использование одного из старших разрядов шины данных, в то время как устройствами для узкой шины при подключении к широкой используются только 8 младших.

Пожалуй, это все, что стоило рассказать о SCSI-2. Разве что терминаторы теперь более настойчиво рекомендуется использовать активные, хотя и пассивными пользоваться еще никто не запретил.

SCSI-3

Разработка стандарта SCSI-3 началась гораздо раньше, чем считают многие (часто это связано с тем, что путают стандарты SCSI-3 и Ultra-3), — в 1993 г. Уже стандарт SCSI-2, определяющий абсолютно все стороны интерфейса, был настолько велик, что производить его доработку целиком было крайне тяжело. Тогда был применен старый добрый принцип декомпозиции, где каждый логически завершенный набор функций был выделен в отдельный стандарт и построена архитектурная модель технологии.

{scsi_am.gif}

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

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

Технология привычной параллельной медной шины SCSI названа SCSI-3 Parallel Interface и определяется серией стандартов SPI-x. На сегодняшний день определено 5 стандартов SPI. Они уже не блещут разнообразием нововведений. Быстро пройдемся по их отличительным особенностям.

SPI-1. Самый первый параллельный медный SCSI-3-стандарт. Тактовая частота шины повышена до 20 МГц, благодаря чему он получил название UltraSCSI. Пропускная способность увеличилась до 20 Мб/с для узкой и 40 Мб/с для широкой версий. На таких частотах паразитные свойства линий проявлялись в такой степени, что усложнение задачи распознавания сигналов потребовало сокращения максимально возможной длины соединений для однополярного режима всего до полутора метров. В более помехоустойчивом дифференциальном режиме так и остались 25 м.

Хотя теоретически число поддерживаемых устройств осталось прежним — 8 для узкой и 16 для широкой, — при использовании кабельного соединения более четырех устройств объединять нельзя. Для подключения большего их числа необходимо использовать специальные соединительные печатные платы (backplane). Кабель для дифференциального режима должен выполняться из витых пар проводников плюс рост требований к соединителям. Терминаторы в UltaSCSI можно использовать только активные. Такова плата за высокую производительность.

Интересным нововведением является технология SCAM (SCSI Configured AutoMatically). Суть ее в избавлении пользователя от необходимости вручную конфигурировать SCSI-подсистему: предполагается, что контроллер сможет ее выполнить самостоятельно — этакий Plug and Play для SCSI. Останавливаться подробно на механизмах работы этой технологии абсолютно ни к чему, отметим лишь, что вообще-то задумка не плоха, но, как и большинство технологий, по ряду причин ни во что хорошее не вылилась. Для ее использования все устройства на шине должны иметь поддержку этой SCAM, что находится в полном противоречии с требованиями совместимости устройств различных версий: старые устройства в такой системе использоваться не могли, приобретение нового устройства являлось крайне нецелесообразным даже в случае, если такое устройство удавалось найти. А во-вторых, автоматическое распределение при каждой загрузке могло происходить по-разному, и номера устройств в системе могли меняться. Если для устройств типа принтеров/сканеров/камер и т.д. это не принципиально, то в случае присутствия на шине нескольких устройств хранения это могло приводить к изменению их обозначения в системе, а в случае с несколькими жесткими дисками — к загрузке не с того. Надо заметить что в SCSI-3 эта технология является лишь опциональной, и, следовательно, не все SCSI-3 устройства будут иметь ее поддержку SCAM (причем, как показывает практика, чаще они ее не имеют).

SPI-2. В общем-то, принципиально ничего нового. Привычное повышение частоты шины — на этот раз с 20 до 40 МГц — и, соответственно, максимальных скоростей обмена до 40 и 80 Мб/с в зависимости от ширины шины. Стандарт получил название Ultra2SCSI (или Fast-80).

Из непринципиально новых нововведений можно отметить изменение уровня электрических сигналов, точнее, их снижение. Разработчики поступились совместимостью со всеми предыдущими версиями стандарта, но это была вынужденная мера. Дальнейшее использование сигналов высокого уровня было затруднено совершенствовавшимися технологиями во-первых и продолжительностью переходных процессов во-вторых, а также невозможностью функционирования на высоких частотах. Интерфейс с новыми низковольтными уровнями получил название Low Voltage Differential SCSI — низковольтный дифференциальный SCSI. Старый по аналогии был назван High Voltage Differential. HVD- и LVD-устройства не могут использоваться одновременно. Реализация HVD в устройствах, соответствующих SPI-2, опциональна. Максимальная длина соединения составляет 12 метров для LVD и 25 для HVD.

SPI-3. Этот стандарт иногда называют Ultra3SCSI, и именно его часто путают с пакетом стандартов SCSI-3. Принят в 1998 году. Во-первых, полный отказ от высоковольтных сигналов. Теперь их нет даже в качестве опции. Во-вторых, удалена практически никогда не использовавшаяся технология SCAM. В-третьих, так ни разу никем не реализованная 32-разрядная шина также была опущена. Нововведений несколько. Три существенных — двойная синхронизация, использование контрольно-циклических кодов (CRC) и контроль окружения.

Это первый стандарт за всю многолетнюю историю SCSI, в котором повышение пропускной способности было достигнуто иным, нежели повышение тактовой частоты, способом. В новом стандарте используется двойная синхронизация — по обоим фронтам сигнала. Это позволило увеличить скорость до 160 Мб/с для 16-разрядной шины. 8-разрядная шина больше не используется. Применение CRC позволяет обнаруживать все одиночные разрядные ошибки, все двойные разрядные ошибки, нечетное число ошибок и все ошибки пакета длиной до 32 бит, благодаря чему существенно возрастает надежность передачи. Контроль окружения выполняется в автоматическом режиме и представляет собой интеллектуальную процедуру, проверяющую канал передачи данных на соответствие выбранному режиму. Если обнаружится опасность потери данных, будет автоматически осуществлен переход в менее скоростной режим.

SPI-4. Увеличенная до 80 МГц тактовая частота 16-битной шины и двойная синхронизация позволили достичь скорости передачи в 320 Мб/с. Содержит несколько технологических новшеств: Free-running clock для улучшения целостности частоты сигнала путем извлечения межсимвольных помех; Training pattern — процедуру для определения уровня рассогласования сигналов для выбора оптимального режима передачи и определения неравномерности распространения сигналов по линиям; packetized transfers — пакетную передачу, используемую для данных и для служебных сигналов; Transmitter pre-compensation with cutback — компенсацию потерь сигнала на первой стадии передачи путем повышения, а затем резкого снижения амплитуды; Adaptive Active Filter — метод повышения качества передаваемого сигнала; Quick Arbitration and Selection — снижение временных затрат на выборку и арбитраж; Flow Control — предсказание времени прибытия последнего пакета для оптимизации работы.

SPI-5. Ultra 640 SCSI. Параллельный интерфейс со скоростью передачи 640 Мб/с. Долгое время находился в разработке, но свет так и не увидит. Промышленная ассоциация SCSI отвергла планы по его разработке и сфокусировалась на Serial Attached SCSI. Каждое новое удвоение скорости Parallel SCSI давалось с большим трудом (взглянуть хотя бы на SPI-4), кроме того, он поддерживает очень небольшое число устройств, не самую высокую производительность и очень малую протяженность соединения, а большие коннекторы делают его неудобным в использовании. Последовательная технология позволяет преодолеть все эти барьеры. Serial Attached SCSI позволит достичь скорости в 1,5 Гб/сек при больших протяженностях соединений и, кроме всего прочего, будет поддерживать диски Serial ATA. Нерешенным остается только вопрос совместимости между последовательным и параллельным SCSI, но не исключается, что со временем будут выпущены специальные устройства. На рынок SAS должна выйти уже в этом году. Ознакомиться со спецификацией можно уже сейчас, но вообще SAS — это тема для отдельного разговора.

Использование SCSI

Первостепенно важным показателем является поддерживаемый устройством сигнальный режим работы: Single-ended HVD, Differential HVD или LVD. От этого зависят доступные режимы работы, расстояния и возможность совместного использования. Определяется это по нанесенному на устройстве символу. Все названные показатели были удачно структурированы в whitepaper by Scott Makarchuk, доступной на сайте у a2zcables (www.a2zcables.com). Позволю себе привести три таблички оттуда:

{se.bmp} — Однополярный SCSI.


Версия SCSI Число контактов Максимальное число устройств включая хост-адаптер Максимальная протяженность шины, м Скорость, Мб/с
SCSI-1 25 7 6 5
FastSCSI 50 7 3 10
FastWideSCSI 68 или 80 15 3 20
UltraSCSI 50 3 3 20
UltraSCSI 50 4-7 1,5 20
WideUltraSCSI 68 или 80 3 3 40
WideUltraSCSI 68 или 80 4-7 1,5 40


{hvd.bmp} — Высоковольтный дифференциальный SCSI.


Версия SCSI Число контактов Максимальное число устройств включая хост-адаптер Максимальная протяженность шины, м Скорость, Мб/с
SCSI-1 25 7 25 5
FastSCSI 50 7 25 10
UltraSCSI 50 7 25 20
FastWideSCSI 68 или 80 15 25 20
Ultra2SCSI 50 7 25 40
WideUltraSCSI 68 или 80 15 25 40
WideUltra2SCSI 68 или 80 15 25 80


{lvd.bmp} — Низковольтный дифференциальный SCSI.


Версия SCSI Число контактов Максимальное число устройств включая хост-адаптер Максимальная протяженность шины, метров Скорость, Мб/с
SCSI-1 25 7 12 5
FastSCSI 50 7 12 10
UltraSCSI 50 7 12 20
FastWideSCSI 68 или 80 15 12 20
Ultra2SCSI 50 7 12 40
WideUltraSCSI 68 или 80 15 12 40
WideUltra2SCSI 68 или 80 15 12 80
WideUltra3SCSI 68 или 80 15 12 160
WideUltra320SCSI 68 или 80 15 12 320


Разъемы. Их очень много. Некоторые я даже сам не видел:-).

Разъемы для внутреннего подключения.

Conn_01.bmpIDC 50-pin
Conn_02.bmpHigh Density DB 50-pin
Conn_03.bmpHigh Density DB 68-pin
Conn_04.bmpVHDCI 68-pin
Conn_05.bmpSCA 80-pin

Разъемы для внешнего подключения.

econn_01.bmpCentronics 50-pin
econn_02.bmpDB 25-pin
econn_03.bmpDB 50-pin
econn_04.bmpHigh Density DB 50-pin (clip)
econn_05.bmpHigh Density DB 50-pin (screw)
econn_06.bmpVHDCI 68-pin
econn_07.bmpHigh Density DB 68-pin (clip)
econn_08.bmpHigh Density DB 68-pin (screw)
econn_09.bmpHigh Density Centronics 50-pin
econn_10.bmpHigh Density Centronics 60-pin
econn_11.bmpHigh Density Centronics 68-pin
econn_12.bmpHDI30

Кабели. Бывают внутренние и внешние. Внутренние, предназначенные для работы на низких скоростях, в точности такие же, как и шлейфы привычного ATA, но только с большим числом проводников. Для высокоскоростных дифференциальных режимов используются кабели, в которых проводники переплетены попарно. Дешевые внешние кабели представляют собой кучу проводников в одной оболочке, способны работать на невысоких скоростях и имеют около 0,5-1 см в диаметре. Высокоскоростные кабели имеют сложную конструкцию и дороги в изготовлении. Проводники в них попарно сплетены и организованы в виде трех концентрических слоев: внутренний слой — сигналы "земля", REQ, ACK; средний — управляющие сигналы; внешний — шина данных и биты четности. Для уменьшения емкостной связи между слоями направление скручивания проводников в среднем слое противоположно направлению скручивания в соседних слоях. Для уменьшения помех кабель экранируется. Такие кабели легкоузнаваемы по высокой цене и диаметру в 1,5-2 см.

Терминаторы и терминирование. Если разобраться, то все совсем несложно. Терминаторы нужны для предотвращения распространения отраженного сигнала и подтягивания уровня сигналов к высокому потенциалу. Бывают трех типов.

Пассивные терминаторы представляют собой два резистора: один сопротивлением 330 Ом замкнут на массу, второй — 220 Ом — подключен к линии TERMPWR. Используются на низкоскоростных однополярных и дифференциальных шинах SCSI-1 и SCSI-2.

Активные терминаторы более сложны по конструкции: они обеспечивают нужное напряжение на конце цепи при помощи регулятора напряжения (это позволяет компенсировать колебания напряжения), питаемого от источника постоянного тока (обычно запитываются по линии TERMPWR). Обязательны к применению во всех высокоскоростных версиях после SCSI-2, но рекомендуются для дифференциальных SCSI-1 и SCSI-2. FPT (Forced Perfect Power) терминаторы — улучшенный вариант активных терминаторов с ограничением выбросов. Применяются в высокоскоростных версиях.

Терминаторы бывают внутренние (встроенные в устройство) и внешние (отдельные устройства, выполняемые обычно в виде вилки, вставляемой в соответствующий разъем).

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

Хост-адаптер SCSI обычно имеет два разъема — для подключения внутренних и внешних устройств. Если к нему подключаются только внутренние устройства, то следует включить терминатор на самом адаптере и на последнем устройстве (либо, если устройство терминатора не имеет, подключить внешний терминатор к концу цепочки). Аналогично нужно действовать, если предполагается подключение только внешних устройств. Если подключаются как внутренние, так и внешние устройства, терминатор на самом адаптере должен быть отключен, а включены терминаторы на крайнем внутреннем и крайнем внешнем устройствах цепочки. При использовании устройств разной разрядности на шине с помощью специальных переходников необходимо тщательно следить за тем, чтобы какие-то из разрядов шины (терминирование которых может выполняться независимо) случайно не оказались не терминированы, или (для облегчения себе жизни) не делать такие устройства крайними в цепочке. Вот, в общем-то, и все.

Korg


Компьютерная газета. Статья была опубликована в номере 37 за 2004 год в рубрике hard :: технологии

©1997-2024 Компьютерная газета