Вот и весь SCSI
 
19.08.2003
Андрей Сокольников


 
<< стр. 1
стр. 2

Кроме того, в SCSI-2 увидели свет и более тонкие хитрости для улучшения производительности. Во-первых, такая замечательная вещь, как организация очереди команд (Command Quequing) — одна из сильных сторон шины SCSI. Command Quequing позволяет отправлять не одну, а сразу несколько (до 128) команд на устройство, а устройство само выбирает последовательность их выполнения таким образом, чтобы оптимизировать свою работу. Во-вторых, метод Scatter/Gather, позволяющий в одном пакете получать/передавать информацию из нескольких (или в несколько) разрозненных страниц памяти, что заметно повышает производительность в ОС, использующих виртуальную память.

Стоит особо отметить попытку движения в сторону сбалансированного соединения (Differential Signaling, позже — HVD, High Voltage Differential Signaling). В отличие от SE, HVD использует для передачи данных не один проводник, а пару — для передачи «нуля» оба проводника пересылают нулевое напряжение, для передачи единицы один из проводников шлет некоторое положительное напряжение, а второй — его отрицательный перевертыш. Получающее устройство воспринимает разницу между напряжениями обоих проводников. Такая схема при высоком напряжении позволяет добиться значительного улучшения качества передачи: длина кабеля может достигать 25 метров даже при высоких частотах шины (например, при 20-МГц шине Fast-20 из SCSI-3, в то время как SE-кабель здесь не может быть длиннее полутора метров). Заметим также, что HVD электрически не совместим с SE из-за значительной разницы напряжений (смешать в одной цепи HVD-устройства с SE- или LVD-устройствами значит сжечь последние). Несмотря на свою эффективность, широкого распространения технология HVD не получила из-за дороговизны реализации (и из-за высокого энергопотребления готовых продуктов) — многим пользователям хватало для их целей и SE-соединений. В результате технология заглохла: цена устройств была слишком высокой, чтобы они пользовались большой популярностью, а отсутствие спроса не позволило производителям расширить масштабы и снизить цену. SE-кабели продолжили свое существование вплоть до конца 1990-х годов.

Зрелость

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

В последнем своем воплощении SCSI расцвел и разросся так бурно, что охватить его целиком было бы весьма и весьма сложно. Разработка такого гигантского стандарта заняла бы очень долгое время и потребовала бы уйму усилий множества людей. Причем нетерпеливые производители не пожелали бы ждать долго и начали бы разрабатывать усовершенствования (разумеется, несовместимые между собой), что привело бы если не к краху стандарта, то к громадной неразберихе в индустрии. Этим объясняется изменение стратегии разработки: вместо одного огромного документа SCSI-3 был разделен на множество сравнительно небольших «стандартиков», охватывающих конкретные технологии, протоколы и наборы команд. Над каждой из бумаг работает особая группа. Естественно, это ведет к более быстрому развитию наиболее востребованных частей стандарта, в то время как общая крыша SCSI-3 не дает им отойти от «генеральной линии». Казалось бы, чего еще? — разделяй и властвуй! Но со временем закралось подозрение — а не берет ли SCSI-3 больше, чем может унести? Под крышей стандарта пригрелось уже больше десятка документов (они развиваются и принимаются независимо), относящихся к SCSI и к SCSI-подобным интерфейсам, вроде FireWire и Fibre Channel. Вообще, понятие «стандарт SCSI-3» разбухло изнутри настолько, что сказать теперь «устройство совместимо со SCSI-3», значит не сказать ничего.

Таблица 1. Характеристики разновидностей интерфейса SCSI.

Сегодня мы рассмотрим только ту часть SCSI-3, которая непосредственно относится к параллельному интерфейсу. Прежде всего, это документ SPI (SCSI-3 Parallel Interface, «Ultra SCSI»), описывающий физическую часть того, что раньше было принято называть просто SCSI. В рамках его оригинальной версии появилась шина Fast-20, которая посредством удвоения тактовой частоты поднимала пиковую пропускную способность шины до 40 Мбайт/с. Следующая версия, SPI-2 (Ultra2 SCSI), помимо очередного удвоения частоты (Fast-40), ввела ряд принципиальных новшеств, самое заметное из которых — технология LVD. При скорости 40 МГц максимальная длина SE-кабеля составляет всего 75 см (и это для всей цепочки!). Назрела объективная необходимость что-то менять.

И вот принципы разностной передачи сигнала, использованные в отторгнутой в свое время технологии HVD, получили вторую жизнь. LVD представляет собой компромисс между HVD и SE: используется сбалансированная передача данных, однако с низким напряжением (максимальная длина кабеля — 12 м). Электрически технология LVD совместима с SE, на одной шине могут даже находиться и SE-, и LVD-устройства, если последние — многорежимные (LVD/SE multimode). При LVD используются особые терминаторы; кроме того, есть многорежимные LVD/SE-терминаторы, которые при работе шины в режиме SE функционируют как обычные активные. С появлением LVD необходимость в HVD отпала, из-за чего последняя технология и была полностью убрана из стандарта в SPI-3. Время жизни SE так же подошло к концу: скорости шины выше 20 МГц (Ultra SCSI) здесь не поддерживаются.

В следующей версии — SPI-3 (Ultra3 SCSI) — пропускная способность шины снова возросла вдвое (Fast-80DT), но не за счет изменения частоты, а благодаря использованию Double Transition (передача по переднему и заднему фронтам сигнала). Кроме HVD из стандарта были убраны такие рудименты, как SCAM, 32- и 8-разрядная ширина шины (использование последней просто не описано для режима Fast-80). Таким образом, начиная с SPI-3, в SCSI остается поддержка только 16-разрядной шины и требуется использование LVD. Кроме Fast-80DT, в стандарт добавилось еще две важные фичи: CRC (контроль целостности передачи с помощью циклического кода), Domain Validation (проверка окружения на способность работы с заданной скоростью). Кроме того, имеется два косметических улучшения — QAS (Quick Arbitration and Selection) и Packetization. Формально любое устройство, поддерживающее любой набор из этих пяти нововведений, может гордо именоваться Ultra3 SCSI (и быть при этом, возможно, несовместимым с другими Ultra3-устройствами). Во избежание недоразумений в индустрии появилось два коммерческих наименования Ultra3 SCSI — Ultra160 (без двух последних фич) и Ultra160+ (полный вариант). Версия SPI-4 увеличивает тактовую частоту шины до 80 МГц, доводя тем самым пиковую пропускную способность до 360 Мбайт/с (Fast-160, Ultra360). SPI-5 (Ultra640), обещающий 640 Мбайт/с, находится в разработке.

В скором времени мы планируем представить вниманию читателей еще один материал о SCSI, где сравним этот стандарт с Fibre Channel сверху и IDE/ATA снизу, с FireWire и USB 2.0, подробно расскажем о Serial SCSI (разумеется, в сравнении с Serial ATA), постараемся сделать выводы об области применения новейших спецификаций стандарта и перспективах его развития.



 
<< стр. 1
стр. 2

<<Постшаблонное мышление
Все материалы номера
Уездный скандал >>