...
...

SCSI: прошлое, настоящее, будущее 1

SCSI: прошлое, настоящее, будущее

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

Что и зачем
С ростом технической грамотности растут притязания и желание их удовлетворить. При модернизации системы подключением новых устройств есть риск столкнуться с ограниченностью их поддержки ОС, необходимостью специальных драйверов, ограниченностью стандартных периферийных шин и их низким быстродействием. SCSI — один их возможных дорогих вариантов решения всех названных проблем разом.
Стандарт SCSI (Small Com-puter System Interface) определяет физическую шину ввода-вывода и поддерживаемый ею логический интерфейс для подключения различного вида периферийных устройств. Основная идея разработки — обеспечение возможности подключения разных устройств к одной высокопроизводительной шине без необходимости модернизации аппаратной и программной части хост-системы. К SCSI могут подключаться абсолютно любые устройства: винчестеры, дисководы, приводы записи/перезаписи/чтения компакт-дисков, магнитооптические приводы, ленточные накопители, накопители ZIP, Jaz, принтеры, сканеры, фото- и видеокамеры (в последних, правда, применениях SCSI сдает свои позиции в пользу более медленных, но достаточных и гораздо более дешевых USB и IEEE1394).

Отличительной чертой современных стандартов является их универсальность и взаимозаменяемость отдельных функциональных уровней. Благодаря этому шина SCSI поддерживает физические среды и протоколы передачи и способна оперировать в широком диапазоне скоростей и расстояний. Для конфигураций, использующих соединения традиционным медным параллельным кабелем, максимальная длина шины может составлять от 1,5 до 25 метров, а скорости обмена лежать в диапазоне от 5 до 320 Мб/с. В конфигурациях, использующих в качестве соединителя последовательную оптическую среду, длина соединений может достигать 80 километров при максимальной скорости передачи свыше 10 Гбит/с.
Сейчас SCSI практически не встречается в компьютерах обычных пользователей, даже самых навороченных, но серьезные рабочие станции и серверы по-прежнему сложно представить без нее. Она является недорогим (относительно, понятно) средством построения периферийных подсистем, представленных либо устройствами в непосредственной близости от компьютера, либо внутри него. Преобладающим применением является подключение устройств хранения информации различного вида, так как именно этот класс устройств предъявляет к используемой шине самые высокие требования производительности. Кроме того, дело еще, наверное, и в том, что часто одна подсистема хранения должна обслуживать несколько рабочих станций или серверов, и SCSI предоставляет простую возможность организации разделения ресурса. А может быть, еще и в том, что изначально SCSI создавался для подключения жестких дисков и долгое время являлся для самых производительных из них стандартом де-юре и де-факто. И хотя в последние годы в этой области ему приходится конкурировать с Fibre Channel и SSA, он все еще более чем актуален.

Истоки
Исторически возникновение SCSI (произносится "скази") относится к 1970-м годам. Тогда компанией Shugart Associates — ведущим производителем дисковых накопителей — был предложен вариант собственного интерфейса для устройств такого рода — Shugart Associates System Interface (SASI) — восьмиразрядной параллельной шины и высокоуровневого протокола, обеспечивающего логический доступ к накопителю, не зависящий от его внутренней конфигурации (геометрии: числа секторов, дорожек, головок, пластин), в отличие от физического (зависящего от геометрии диска), применявшегося всеми другими интерфейсами (для реализации этого в SASI подразумевалось интегрирование контроллера в накопитель, занимающегося обработкой высокоуровневых команд в соответствии с физическими параметрами диска. Такое, казалось бы, логичное решение не воплощалось ранее ввиду сложности и дороговизны производства таких контроллеров, однако с прогрессом в области производства СБИС ситуация изменилась).

Главное достоинство такого высокоуровневого подхода к доступу — обеспечение взаимозаменяемости дисков (и оборудования вообще) разных производителей. Кроме того, сосредоточение внутри накопителя таких специфичных для него проблем, как низкоуровневый доступ к носителю, методы кодирования информации и механизмы обнаружения ошибок, позволило бы, во-первых, более гибкое построение и обслуживание многокомпонентных систем хранения данных. Во-вторых (к вопросу о совместимости), это дало бы возможность производителю жестких дисков при разработке новых устройств сосредотачиваться непосредственно на технологиях записи и хранения, а не на создании новых специфических контроллеров, требующих от потребителя в случае необходимости замены старого оборудования на новое, а следовательно, серьезных финансовых затрат. Кроме того, наблюдавшийся прогресс в области разработки и производства ленточных, оптических и других устройств хранения на альтернативных технологиях, каждое из которых оснащалось своим собственным интерфейсом и для установки в систему нуждалось в своем собственном специфическом контроллере, обуславливал необходимость интегрирования в систему необоснованно большого числа последних, что, помимо своей очевидной экономической неэффективности, влекло за собой еще и проблему подключения контроллеров к системной шине, возможности которой по поддержанию периферии численно ограничены. Эти явления привели позднее к рассмотрению возможности использования SASI в качестве шины системного уровня в малых и средних компьютерах, допускающих совместное подключение накопителей различного типа. Используя однополярную передачу сигнала, имея 8-разрядную шину, работающую в асинхронном режиме, интерфейс являлся значительным шагом вперед, предлагая скорости обмена данными в 1,5 Мб/с (великолепный по тем временам показатель, превышающий производительность отдельного жесткого диска в два, а то и в три раза) и совместное использование устройств.

В 1978 г. комитет Американского национального института стандартов (ANSI), занимающийся стандартами ввода-вывода, поднял вопрос о стандартизации такого интерфейса для малых компьютеров. На обсуждение был представлен и SASI, однако был отклонен в пользу другого, уже находившегося на рассмотрении, стандарта. После этой неудачи к совместным работам над улучшением интерфейса к Shugart подключилась NСR Corp. И в 1982 году проект снова был представлен в ANSI. Детально доработанный, он был одобрен и положен в основу стандарта SCSI — Small Computer System Interface — интерфейса малых компьютерных систем. Отличительными чертами нового стандарта стали:
1. Возможность использования дифференциальной передачи электрического сигнала, обеспечившая более высокий уровень помехоустойчивости и позволившая увеличить длину используемых соединений до 25 метров.
2. Добавление режима синхронной передачи данных на скоростях до 5 Мб/с.
3. Определение расширенного набора команд для поддержки более емких дисков и команд, позволяющих драйверам устройства осуществлять самоконфигурирование.
4. Добавление команд для поддержки устройств, отличных от магнитодисковых накопителей — принтеров, накопителей на магнитных лентах и оптических дисках.
В 1983 г. NСR начала поставки SCSI-чипов, интерфейс завоевал всеобщее признание, и в 1986 году спецификация SCSI была утверждена ANSI окончательно и получила название SCSI-1 (если быть точным, то ANSI утвердила его просто как стандарт SCSI, а цифра 1 к названию была добавлена несколько позже, с разработкой новых спецификаций, чтобы избежать путаницы. Этот первый стандарт для отличия от других еще иногда называют базовым SCSI).

Стандарты SCSI

SCSI-1
Первая версия стандарта — SCSI-1 — определяла логический интерфейс, функционирующий на 8-разрядной разделяемой шине, работающей на частоте 5 МГц и позволяющей подключение до восьми устройств. Устройства объединялись в цепочку с помощью кабеля, образуя шину, которая терминировалась с обоих концов, или же с помощью специальной платы (backplane), в которую вставлялись устройства.
Два любых устройства, подключенных к шине, могут установить соединение друг с другом и произвести обмен данными. Устройство, инициирующее соединение, называется инициатором (Initiator), а то, с которым инициатор устанавливает контакт, называется целевым устройством или адресатом (Target). Спецификацией SCSI предусматривается, что любое устройство, подсоединенное к шине, может быть как инициатором, так и целевым устройством. На практике обычно инициатором всех соединений является хост-контроллер SCSI, а подключенные к шине устройства являются целевыми устройствами. Возможность прямых соединений "периферийное устройство — периферийное устройство" тоже предусмотрена, но используется достаточно редко. Соединение в один момент времени возможно только между двумя устройствами на шине. Это справедливо для первой версии стандарта и всех последующих. Заявление о возможности одновременной работы нескольких устройств, часто встречающееся в публикациях, посвященных SCSI, не следует понимать буквально. Позднее при рассмотрении механизма обмена данными я еще вернусь к этому моменту и поясню.

В простейшей конфигурации на шине присутствуют по меньшей мере одно устройство и один хост-контроллер SCSI. В более сложных на шине может быть не только большее число периферийных устройств, но и несколько хост-контроллеров — инициаторов. С этой точки зрения можно выделить три типовых конфигурации:
1. Один инициатор — одно целевое устройство (рис. 1).
2. Один инициатор — несколько целевых устройств (рис. 2).
3. Несколько инициаторов — несколько целевых устройств (рис. 3).
Т.е., как уже я отмечал во введении, SCSI предоставляет простую возможность для совместного использования устройств. Правда, простота, как обычно, она на бумаге лишь водится, но тем не менее все равно это реализуемо.
Все SCSI-устройства подразделяются на несколько групп, для каждой из которых определен свой базовый набор команд:
1. Direct Access Device — устройство прямого доступа (жесткие диски).
2. Sequential Access Device — устройство последовательного доступа (ленточные накопители).
3. Printer device — просто принтер.
4. Processor device — устройство обработки данных.
5. Write Once Read Many Device — некоторые виды оптических накопителей с однократной записью.
6. CD-ROM Device — привычный КД-ПЗУ:-).
7. Scanner device — сканеры.
8. — другие.
(В SCSI-1 поддерживались не все приведенные устройства. Поддержка некоторых из них была добавлена в более поздних версиях. Но на суть рассматриваемого вопроса это не влияет, и потому я привел здесь сразу все (популярные), чтобы потом не возвращаться.)

Поскольку для каждого типа периферийных устройств определен свой базовый универсальный набор команд, то, в отличие от других шин и интерфейсов, устройства, оснащенные SCSI, редко требуют индивидуальных драйверов (только если их набор команд шире, чем предусмотренный базовый). В остальных случаях устройства способны работать со стандартными, входящими в ОС.
Физически шина SCSI-1 представляет собой набор из 25 пар проводников, часть которых используется для передачи данных и управляющих сигналов, а другая часть — для служебных целей или же зарезервирована для будущих расширений. Всего на шине SCSI-1 18 сигнальных линий: 9 используются для передачи управляющих сигналов, и 9 — для передачи данных. Описание их приведено в таблице.

 
Линия Значение
BSY (BUSY, Занято) Шина занята
SEL (SELECT, Выбор) Выбор целевого устройства инициатором или, при обратном выборе, целевым устройством инициатора
C/D (Control/Data, управление/данные) Тип передачи – данные или управление
I/O (Input/Output, ввод/вывод) Направление движения данных по отношению к инициатору. Также используется для различения фаз выбора и обратного выбора.
MSG (MESSAGE, сообщение) Передача сообщения
REQ (REQUEST, запрос) Запрос целевого устройства на пересылку данных инициатору
ACK (ACKNOWLEDGE, подтверждение) Ответ инициатора на REQ. Подтверждение передачи.
ATN (ATTENTION, внимание) Внимание! (Инициатор информирует целевое устройство о намерении передать сообщение)
RST (RESET, сброс) Сброс шины.
DB(7-0)(шина данных) 8 сигнальных линий для передачи данных.
DP(7-0,P) (бит четности) Бит четности. Используется для контроля передачи. Используется только в том случае, ВСЕ устройства шины поддерживают эту функцию
DIFFSENS Режим передачи по шине (дифференциальный/линейный)
TERMPWR Линия питания терминаторов

SCSI-шина является инверсной, т.е. высокому уровню сигнала соответствует состояние "ложь", а низкому — "истина". Для внутренних соединений, использующих однополярный (иногда называемый синфазным, или еще асимметричным — single ended на буржуйском языке) режим передачи проводники могут быть оформлены в шлейф, очень напоминающий шлейф привычного IDE, но только пошире (50 проводников; каждый сигнальный провод имеет свой отдельный обратный для уменьшения взаимного влияния), а для дифференциального (differential) режима проводники в шлейфе попарно переплетаются. Вообще же используемые кабели — одно из очень чувствительных мест интерфейса, и к этому вопросу мы вернемся чуть позже.

Для адресации каждое устройство, подключенное к шине, должно имеет свой идентификатор — SCSI ID, представляющий собой позиционный код, выдаваемый на шину данных: каждой линии шины данных соответствует определенный идентификатор (и, соответственно, определенное устройство) (рис. 4).
Поскольку шина SCSI-1 8-разрядная, максимально может быть адресовано (идентифицировано) 8 устройств. Каждое устройство SCSI-шины может быть подразделено на логические единицы (Logical Units), число которых в устройстве, адресуемом одним SCSI ID, может достигать 8 (от LUN0 до LUN7). Это полезно в случаях, когда конечное устройство состоит из какого-то числа подустройств (возможно, выполняющих разные функции), и есть необходимость обращаться к каждому отдельно. В этом случае адресация подустройства осуществляется парой (SCSI ID, LUN). Т.е., например, в RAID-массиве из четырех дисков, имеющем SCSI ID равным 0, первый диск будет адресован парой (0, 0), второй — (0, 1), третий — (0, 2), четвертый — (0, 3) (кстати, на приведенных при рассмотрении типовых конфигураций схемах кружочками, следующими за контроллером устройства, как раз обозначены логические единицы, на которые оно, возможно, подразделяется).
Большинство подключаемых устройств являются закрытыми, т.е. не допускают деления себя на подустройства или раздельное управление своими частями/функциями. Такие имеют один-единственный LUN, равный 0. Использование на одном ID одного устройства вместо восьми максимально допустимых является непозволительной расточительностью учитывая довольно малое число этих самых ID. Чтобы использовать на шине как можно большее число устройств, применяют мосты — контроллерные устройства, подключаемые к основной шине SCSI и образующие новую "подшину", позволяющую подсоединение нескольких устройств, имеющих один SCSI ID и разные LUN. О существовании таких устройств я слышал, но в жизни никогда не встречал.

Устройства на SCSI-шине неравноправны: каждое имеет свой приоритет в соответствии с номером ID. Максимальный приоритет имеет устройство с максимальным ID, т.е. 7-е для 8-разрядной шины SCSI-1, минимальный приоритет у устройства с номером 0. Хост-адаптер шины всегда имеет ID=7, для того чтобы он мог занять шину в любой нужный ему момент. Выбор нужного идентификатора в соответствии с необходимым уровнем приоритета для устройства целиком зависит от конкретной ситуации, но считается, что более медленным устройствам следует выставлять более высокий приоритет, чтобы избежать монопольного использования шины быстрыми устройствами. Обычно (в том числе заводскими установками) ID распределяют следующим образом:

ID    устройства
0    винчестеры
1    винчестеры
2    сканеры, принтеры
3    CD-ROM'ы
4    ленточные или оптические накопители
5    дисководы
7    хост-адаптер scsi

Первоначально назначение SCSI ID устройству осуществлялось при помощи перемычек, число которых было достаточно велико. Этот факт, а также необходимость терминирования создавали долгое время вокруг SCSI ореол чрезвычайно сложного и запутанного явления. Сейчас на месте перемычек нашли применение значительно более удобные микропереключатели (и мы увидим в дальнейшем, это не явилось порогом улучшения пользовательских качеств). Для полной ясности нужно отметить, что номер SCSI ID — это совсем не то же самое, что и номер устройства в цепочке при подключении.

Физическая шина, описываемая стандартом SCSI-1, является восьмиразрядной и функционирует на частотах вплоть до 5 МГц, как следствие теоретически имея максимальную пропускную способность в 5 Мб/с. На практике, как правило, такие скорости обмена не достигались по ряду причин:
1. Спецификация предусматривает работу также на частотах ниже 5 МГц (4 МГц и 3,33 МГц), к тому же, частота определяется самым медленным устройством в цепочке, т.е. использующим шину на самой маленькой частоте.
2. SCSI позволяет обмен в асинхронном режиме, в котором пропускная способность шины значительно меньше (порядка 1,5-3 Мб/с, что связано с увеличением объемов передаваемой служебной информации, временными задержками на ее передачу и обработку). Более того, этот режим не просто допускался, а и использовался большинством ранних SCSI-устройств, в то время как синхронный режим передачи в спецификации постоянно упоминается лишь как опциональный. Правда, следует заметить, что в отличие от случая с синхронным обменом, когда все устройства, подключенные к одной шине, используют ее на одной тактовой частоте (см. п.1), режима обмена данными такое правило не касается, и на одной шине могут присутствовать устройства, использующие оба этих способа, при этом выбор необходимого для каждого устройства осуществляется в индивидуальном порядке.
3. Передача данных не происходит при установлении соединения, а только во время фазы информационного обмена — и только во время последней возможно достижение скоростью обмена максимального теоретического значения.
4. Многие SCSI-устройства не могли обеспечить выдачу потока данных на шину со скоростью 5 Мб/с.
Для того, чтобы понять все вышесказанное, необходимо рассмотреть механизм работы шины более детально.

Шина может находиться в одной из следующих фаз (только в одной в один момент времени):
1. Bus Free — шина свободна, и никакой передачи не ведется.
2. Arbitration — арбитраж — получение доступа к среде.
3. Selection — выбор — активизация устройства, выигравшего арбитраж.
4. Reselection — повторный выбор — активизация устройства, выигравшего арбитраж, для завершения ранее начатой операции.
5. Command — командная — передача команд.
6. Data — данные — передача данных.
7. Status — статус — передача статуса.
8. Message — сообщение — передача сообщения.
Фазы с 5-й по 8-ю образуют так называемую фазу информационного обмена.

Рассматривать процесс будем в общих чертах, не вдаваясь в слишком глубокие подробности относительно изменений состояний каждой сигнальной линии. Итак, прежде всего устройство, нуждающееся в соединении, должно дождаться освобождения шины. Обнаружив, что шина свободна, оно должно получить право доступа к ней, для чего помещает на шину свой идентификатор — переводит шину в фазу арбитража. Устройство, управляющее шиной, ожидает после выдачи сигналов арбитража еще некоторое время (вдруг еще кому-нибудь потребуется доступ в это же время, тогда он также должен поместить на шину свой идентификатор) и определяет устройство, выигравшее арбитраж, — это устройство с наибольшим приоритетом, т.е. с наибольшим значением SCSI ID. Кстати говоря, именно назначением устройствам приоритетов объясняется необходимость использования отдельной сигнальной линии для передачи идентификатора: нетрудно заметить, что по восьмибитной шине можно передавать значения от 0 до 255, т.е. существует 256 идентификаторов и, следовательно, возможность подключения 256 устройств. Но тогда при попытке нескольких устройств занять шину одновременно происходила бы одновременная выдача ими идентификаторов на линию, что привело бы к их наложению и искажению (совсем как коллизия в сетях) и ошибочному определению устройства, запрашивающего соединение. Для исключения такой проблемы устройству, обнаружив на линии сигнал "занято", даже в стадии арбитража следовало бы остановиться и ожидать освобождения шины, а это, по сути, и означает отказаться от приоритетов и использовать честный доступ к шине по принципу кто первый спросил либо придумывать более сложный механизм. (Спецификация SCSI-1 также предусматривает возможность отсутствия стадии арбитража. Такие системы называются безарбитражными (nonarbitrating). Большого интереса они не представляли и в жизни, наверное, никогда не реализовывались.) Арбитраж завершается сообщением устройству, выигравшему арбитраж, о его выигрыше и передачей контроля над шиной.

Далее следует фаза выбора: получив контроль над шиной, инициатор помещает на нее свой идентификатор и выбирает устройство, с которым хочет установить соединение, для чего активирует соответствующую линию шины данных и передает последнему контроль за обменом данными до его завершения. В командной фазе происходит передача команды для выполнения адресату (по шине данных, кстати говоря). После этого устройства готовы произвести обмен собственно данными. Он может происходить в двух направлениях: передача от инициатора к адресату или от адресата к инициатору — исходящий и входящий обмен. Передача может идти в асинхронном или синхронном режиме — зависит от того, о чем устройства договорятся предварительно. Причем синхронный обмен, позволяющий достичь максимальной производительности, возможен только в этой фазе. Во всех остальных используется асинхронный обмен, и необходимость ожидания подтверждения передачи каждого байта существенно снижает производительность. В итоге получается так, что даже если обмен будет произведен на максимально возможной скорости в синхронном режиме, то общая производительность все равно будет низкой, так как доля времени, приходящегося непосредственно на передачу данных, в общей продолжительности процесса обмена очень мала. Однако, чтобы вы не стали воспринимать SCSI как что-то совсем уж несуразное, нужно заметить, что даже в этом случае производительность по меркам 1986 года оказывалась очень высокой, а в последующих версиях была еще улучшена.
Произведя обмен данными, устройство в фазе статуса убеждается в корректности передачи, посылая соответствующий запрос и получая в ответ различные коды ошибок либо сообщение об их отсутствии. Получением ответа об успешности выполнения операции процесс обмена завершается. Фаза обратной выборки используется для возобновления соединения, устанавливавшегося ранее и разорванного до выполнения команды для экономного расходования времени шины. Т.е., если устройству была передана команда, которая требует времени для обработки — например, чтение данных с диска, — то после передачи команды соединение будет прервано до тех пор, пока не будут доступны результаты ее выполнения, для того чтобы не занимать шину впустую и освободить ее для использования в это время другими устройствами. Это было самым главным преимуществом SCSI перед другими интерфейсами, в которых такой возможности не существовало — например, в уже появившемся IDE. Благодаря этому производительность SCSI при обслуживании нескольких устройств оказывалась гораздо выше. И возможность одновременной работы устройств, о которой так часто говорят, нужно понимать именно в этом смысле, а не как возможность одновременного обмена данными между несколькими устройствами сразу. (Справедливости ради нужно сказать, что подобная возможность появилась позже и в ATA начиная с ATA/ATAPI-4.)

Возвращаясь к приоритетам, следует заметить, что наиболее частыми, как легко догадаться, являются обращения к жесткому диску. И, поскольку хост-контроллер обладает наивысшим приоритетом, то в случае выставления высокого приоритета и накопителю все такие соединения будут устанавливаться, лишая возможности установления соединения медленные устройства. Именно это соображение лежит в основе рассматривавшегося ранее суждения о том, что быстрому и наиболее часто используемому устройству следует назначать SCSI ID с меньшим приоритетом.
Как уже упоминалось, стандартом SCSI предусматривались два режима передачи сигнала по линиям связи: дифференциальный и однополярный. Преимуществами однополярного интерфейса являются упрощенная конструкция самого устройства и коннекторов, уменьшение числа проводов (не всегда — лишь в некоторых случаях) в соединительном кабеле и оснащение его коннекторами меньшего размера (удобство), а также в конце концов меньшая цена. Однако такие усовершенствования привели к тому, что в однополярном режиме максимально допустимая длина шины составляет 6 метров. Потому однополярный интерфейс обычно используют для соединений внутри одного корпуса или шкафа. Дифференциальный SCSI значительно более дорог (суть его я неоднократно описывал в других статьях по интерфейсам), так как более сложен в реализации, однако его использование позволяет повысить длину шины до 25 метров. Как правило, он применяется для внешних соединений хоста и периферийных подсистем, т.е. там, где уровень помех предположительно значительно выше. Дифференциальный и однополярный SCSI не являются совместимыми, и одновременное подключение к шине устройств, использующих ее в разных режимах, невозможно без специальных переходников и преобразователей, но часто устройства поддерживают оба этих режима. Кстати, ограничения существуют не только на максимальную длину шины, но и на минимальную ее длину между устройствами: для внешних соединений интерфейсный шнур не может быть менее 10 см, для внутренних расстояние между двумя разъемами на шлейфе также не может быть менее этой величины.

Для предотвращения распространения отраженного сигнала цепочка должна быть терминирована с обоих концов. В SCSI-1 оговаривается два варианта терминаторов: активные и пассивные. Пассивные используются в основном для шины, работающей в однополярном режиме, но их использование возможно и для дифференциальной шины, правда, для нее все же в целях более устойчивой работы рекомендуется использование активных терминаторов. Часто устройства уже имеют в своем составе терминатор, избавляя от необходимости приобретать его отдельно, и допускают управление им — включено/выключено.
Несмотря на свой долгий путь к утверждению, стандарт был проработан недостаточно детально, допускал неоднозначную трактовку, что в итоге привело к возникновению несовместимости между реализациями различных производителей — история грустная и банальная. И хотя были предприняты попытки исправления ситуации, решение, как это часто бывает, припоздало и в стандарт SCSI-1 так и не было включено.
Такова технология SCSI-1. Наверняка у вас уже возник вопрос: зачем я описываю столь подробно очень древний стандарт. А все дело в том, что никаких принципиальных изменений во всех последующих версиях внесено не было, и их функционирование остается приблизительно таким же.

Korg
Продолжение следует


компьютерная газета


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

полезные ссылки
Корпусные камеры видеонаблюдения