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


 
стр. 1
стр. 2 >>

Помните конец семидесятых годов прошлого столетия, время только-только появившихся 5-дюймовых флоппи, процессоров Motorola 6800 и Intel 8088, модема Hayes, принтера Epson MX-80?.. Нет, это не приступ ностальгии, а всего лишь праздно-риторическое любопытство: честно говоря, я тех времен совершенно не помню, потому что тогда еще находился в стадии проектирования. Тогда же в той стадии находился интерфейс, теперь известный под именем SCSI (Small Computer System Interface).

Детство

Вероятно, фамилия 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 уже окончательно вышел из употребления, базовые принципы получили развитие в новых воплощениях, поэтому имеет смысл рассмотреть их. Шина была 8-разрядной и работала на частоте 5 МГц. Максимальная длина кабеля (с 50-контактными разъемами) не должна была превышать 6 м, поскольку использовалось несбалансированное соединение (SE — Single-Ended, единственный проводник для каждого сигнала). В истоке шины находился хост-адаптер, к которому подключалось до семи устройств (в цепочке, одно за другим). В синхронном режиме (когда устройства создают канал определенной ширины и общаются по нему без подтверждений) потолок скорости находился на уровне 5 Мбайт/с. Но на практике этот режим почти не применялся, а в асинхронном режиме (запрос-ответ) скорость редко достигала 2 Мбайт/с (более реальная цифра — 1,5 Мбайт/с).

На первом и последнем устройствах шины должно было включаться терминирование (в настоящее время большинство SCSI-устройств включает его автоматически, если устройство оказывается крайним), то есть к каждой сигнальной линии подключалось сопротивление для подавления отраженных сигналов. В первоначальном варианте использовалось только пассивное терминирование, при котором линии подключались к пассивному делителю напряжения (между двумя резисторами на пути от источника питания к земле). При таком подключении колебания напряжения в источнике питания (4,25–5,25 В) вели к скачкам напряжения на сигнальных линиях, поэтому позже стало применяться активное терминирование, где линии подключаются через резисторы к стабилизатору с постоянным выходным напряжением (2,85 В). Есть еще особый «продвинутый» тип, наилучший для использования с SE-шиной — FPT (Forced Perfect Termination, принудительное абсолютное терминирование). Здесь в цепь добавляются диоды, что начисто гасит практически любые отраженные сигналы.

Юность

SCSI: от серверов до ноутбуков (контроллеры компании Adaptec).За год до принятия SCSI-1 к X3T9.2 (подразделение ANSI по разработке SCSI) обратилась группа производителей с просьбой сделать стандарт более строгим и подробным (чтобы расширить совместимость и упростить разработку устройств). Вместо того чтобы задерживать принятие стандарта, X3T9.2 отпочковала от себя специальную группу для работы над бумагой CCS (Common Command Set), которая впоследствии обрела большую популярность — многие производители выпустили устройства на ее основе. Одновременно с CCS началась разработка нового стандарта — SCSI-2, который должен был вобрать в себя результаты CCS, а также улучшить производительность и добавить возможностей интерфейсу, устранив при этом лишние опции, мешавшие совместимости. Финальная версия SCSI-2 была одобрена ANSI лишь в 1994 году. В стандарте появилась поддержка CD-ROM-приводов (взамен абстрактных ROM-устройств в SCSI-1), оптических устройств с возможностью записи/перезаписи, сканеров, значительно расширился набор для принтеров и т. д. Пассивные терминаторы остались разрешенными, однако был рекомендован переход на активное терминирование.

Что касается улучшения производительности, здесь появилось два основных нововведения (с которых началась известная путаница с названиями типов SCSI) — интенсивное и экстенсивное: Fast и Wide SCSI. Fast SCSI — это опция, позволяющая увеличить тактовую частоту (а значит, и пропускную способность шины) вдвое — с 5 до 10 МГц. Wide SCSI — опция увеличения разрядности шины с 8 до 16 бит (и даже до 32, правда, до выпуска устройств с 32-разрядным Wide SCSI дело так и не дошло) путем наращивания количества сигнальных линий. Арбитраж шины, команды, статус, сообщения, к сожалению, остались в стандарте 8-разрядными (впоследствии SCSI-3 начал как раз с перехода на 16-разрядные команды и арбитраж). Для Wide SCSI потребовался новый 68-контактный разъем вместо 50-контактного (разъемы совместимы при использовании кабеля A-to-B). Скорость передачи данных возрастает еще вдвое, достигая в пределе 20 Мбайт/с (Fast Wide SCSI).


 
стр. 1
стр. 2 >>

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