Преодоление Топей: SCSI
Преодоление Топей: SCSI В прошлый раз мы охарактеризовали понятие протокола и внимательно рассмотрели ATA стандарт, который повсеместно используется в PCs. В мире UNIX и Macintosh SCSI - король. На этом этапе нашего путешествия мы составим план сухопутного пути, который будет вести пользователей через Tопи SCSI в стране Storland. С другой стороны, мы обратим внимание на характеристики устройств хранения как построительных блоков для общего представления хранения. Теперь оттолкнемся от берега и посмотрим, что мы найдем.
История SCSI
В 1979 году Shugart Associates разработала Shugart Associates Standardized Interface (SASI) в целях создания недорогого низкоуровневого дискового интерфейса для миникомпьютерных систем. В 1981 году Shugart (позже переименованная в Seagate Technology) и NCR Corp. совместно представили предложение по SASI стандарту Institute of Electrical and Electronics Engineers (IEEE). Когда комитет IEEE принял его (с различными изменениями) как официальный стандарт интерфейса, в 1986 году SASI переименовали в SCSI. Этот первоначальный стандарт SCSI сейчас называют SCSI-1, и на данный момент он вышел из употребления.
Следующим официальным SCSI стандартом стал в 1994 году ANSI-стандарт Fast SCSI-2. Устройства, поддерживающие скорость 10 или 20 МБ/с, поступили в продажу перед 1994 годом. Это было сделано для того, чтобы новые устройства захватили часть рынка до того, как накопители предыдущего стандарта выйдут из обихода. Фактически, разработка последующего SCSI-3 стандарта началась еще в 1993 году. Первые устройства стандарта SCSI-3 (Ultra 1), появившиеся на рынке в 1996 году, имели 68-контактный шлейф и скорость составляла 20 или 40 МБ/с. За устройствами стандарта Ultra (1) быстро подтянулись Ultra2 LVD SCSI устройства (80 МБ/с), которые начали появляться в 1998 году. Для Ultra2 ввели LVD протокол под решения проблемы ограничения длины кабеля.
С появлением 64-битной 66-MHz PCI шины (528 МБ/с) и очень быстрого Gigabit Ethernet протокола от систем хранения потребовалось большая производительность. Сейчас мы можем заметить, что на рынке появились первые Ultra3 контроллеры и Ultra160 SCSI LVD накопители (160 МБ/с), что свидетельствует о новом состоянии рынка решений хранения с угрозой FC-AL устройствам.
Как было описано в прошлый раз, протокол определяется аппаратными (физическими) и программными (логическими) компонентами интерфейса. Заметим, что логическая часть SCSI протокола также используется serial Fibre Channel: "FC-AL инициатор" использует конвертор из параллельного в последовательный и "цель" обратно не конвертируется. Скорость обмена данными зависит от количества устройств и других параметров при соблюдении ограничения дальности, но логическая часть от этого не зависит.
Обратите внимание, что производители SCSI накопителей и контроллеров (такие как Adaptec Inc., Qlogic Corp. и Mylex Corp.) производят FC накопители и контроллеры соответственно.
Шина
SCSI шина - интеллектуальная подсистема ввода-вывода, которая взаимодействует с системной шиной компьютера. Элемент, который соединяет SCSI шину и хост, называют инициатором (некоторые продавцы компьютерного оборудования называют его контроллер шины). Контроллер шины, в свою очередь, соединен через кабель SCSI шины к целям (таким устройствам ввода-вывода, как жесткие диски, стриммеры, MOs и сканеры). SCSI цели работают в составе мультизадачной команды вместе с контроллером шины. Возьмите на заметку, что в лексиконе SCSI понятие термина "устройство" включает как шинный контроллер, так и "цель", которой, соответственно, является накопитель. Как мы увидим дальше, некоторые RAID конструкции имеют 2 контроллера на одной шине (dual-initiator конструкция). В этом случае второй контроллер будет тоже рассматриваться как цель (поэтому я использую термин "инициатор" и "цель", вместо контроллер и устройство). Контроллер шины получает множественные запросы ввода-вывода от одной и более целей и посылает или принимает блоки данных от этих устройств, когда они доступны. SCSI цели соединяются с шиной (для того, чтобы получить команды или передать данные) только при помощи инициатора. Кэш-память используется для того, чтобы принять напор данных от контроллера или создания очереди для исходящих данных, которые ожидают передачи. Количество целей, которые могут быть подключены к шине, зависит только от специфики использования протокола, например: Narrow SCSI (7 целей), Wide SCSI (15 целей), FC-AL SCSI (127 целей на бумаге, но на практике далеко меньше).
SCSI контроллеры (по стоимости выше среднего) загружают CPU на 5-30% меньше за счет использования DMA. Это очень выгодно, т.к. освободившееся процессорное время (в таких ОС как Linux, Solarisx86, Mac OS 8.x и т.д.) может использоваться для других задач. Под управлением Windows 95/98 использование DMA может увеличить скорость I/O трансфера, но не освобождает процессорное время для других задач. SCSI шина управляется посредством 9 контрольных сигналов и программными командами. 5 контрольных линий находятся под управлением самого инициатора, и 4 - под управлением цели.
Как упоминалось в предыдущей статье, протоколы состоят из слоев разного уровня и включают программные команды, что обеспечивает управление шиной. Эти слои сгруппированы в фазы, которые поочередно управляют каждой операцией ввода-вывода.
Протоколы
Рассмотрим 3 типа протоколов для SCSI шин: single-ended (SE), дифференцируемый SCSI (сейчас называется high-voltage differential (HVD)) и low-voltage differential (LVD). Каждый имеет свою разводку кабеля и поэтому полностью несовместимы. SE устарел и наиболее подвержен проблемам качества пропускания сигнала. Логическая "1" достигается за счет подачи напряжения от 0 до 0.5 DC, логический "0" - от 2.5 до 5.25 DC. Из-за того, что уровень сигнала такой низкий, кабель должен быть качественным и иметь определенную длину. На длинном кабеле сигнал может "тухнуть" :), особенно при использовании Fast SCSI-2 устройств. Длина кабеля для Ultra SCSI устройств не должна превышать 1,5 метра, а для Fast SCSI-2 - 3 метра.
Дифференцированный SCSI был разработан, чтобы достичь лучшего качества сигнала на длинном кабеле. В спецификации указано, что длина может доходить до 25 метров, но на самом деле не рекомендуется больше 10-12 метров для Ultra Wide SCSI и 18-20 метров для Fast Wide SCSI. HVD был включен в SCSI-2 стандарт, так как серверы нуждались в качестве и зависели от фактора удаленности. HVD использует пары +/- с максимальным напряжением каждой сигнальной линии до 12 В для конвертора данных, в то время как SE использует только одну. Сигнал "1" достигается когда сигнал + больше сигнала -, и "0" - наоборот.
LVD SCSI не совместим с HVD стандартом. LVD также использует сигнальные пары +/-, но с максимальным напряжением 5 В вместо 12 В. Из-за этой разницы в напряжении понижается уровень сигнала данных, соответственно, LVD является более дешевой версией HVD. Также LVD диски могут быть подключены к SE шине, но при этом уровень производительности упадет до Fast SCSI-2.
Существуют 2 типа параллельных SCSI шин: 8-битная Narrow и 16-битная Wide, и 2 типа последовательных: 16-битные FC-AL (на оптоволокне) и SSA.
Для стабильности работы шины на каждом конце кабеля необходима терминация (заглушка). Существует два метода терминации: активный и пассивный. Терминация может быть произведена за счет установки устройств и внешнего коннектора. Шина требует одного вида терминации на обоих концах, поэтому нельзя использовать активный терминатор на плате контроллера и пассивный на другом конце шины. На старых и дешевых контроллерах используются пассивные заглушки (модули из резисторов). Это же справедливо и для "целей": старые используют пассивные блоки резисторов, а новые имеют перемычку, которая включает активную терминацию. Отметим, что LVD диски не имеют внутренней терминации и поэтому требуют внешней заглушки.
В таблице 1 и 2 представлено семейство SCSI и некоторые характеристики. SCSI-2 и Fast SCSI-2 используют один из четырех типов 50-пиновых коннекторов: Centronics-50, Sun SCSI-2, DB50 или IDC. В новых SCSI стандартах используются следующие типы коннекторов в зависимости от полосы пропускания: 50-пиновый SCSI-2, 68-пиновый SCSI-3, 50- и 68-пиновые IDC или 80-пиновый SCA. Интерфейс типа Single connector attachment (SCA) предназначен для дисков, помещаемых в hot-swap слоты. Таблица 1. Семейство SCSI
Таблица 2. Пиковая производительность и ограничения по длине
FC-AL - это последовательная технология соединения, которая находится на стадии разработки уже много лет. FC-AL накопители в отличие от всех остальных имеют уникальные возможности двухпортового подключения. В следующий раз мы поближе рассмотрим FC-AL технологии.
Al, al.leon@usa.net (c) компьютерная газета
История SCSI
В 1979 году Shugart Associates разработала Shugart Associates Standardized Interface (SASI) в целях создания недорогого низкоуровневого дискового интерфейса для миникомпьютерных систем. В 1981 году Shugart (позже переименованная в Seagate Technology) и NCR Corp. совместно представили предложение по SASI стандарту Institute of Electrical and Electronics Engineers (IEEE). Когда комитет IEEE принял его (с различными изменениями) как официальный стандарт интерфейса, в 1986 году SASI переименовали в SCSI. Этот первоначальный стандарт SCSI сейчас называют SCSI-1, и на данный момент он вышел из употребления.
Следующим официальным SCSI стандартом стал в 1994 году ANSI-стандарт Fast SCSI-2. Устройства, поддерживающие скорость 10 или 20 МБ/с, поступили в продажу перед 1994 годом. Это было сделано для того, чтобы новые устройства захватили часть рынка до того, как накопители предыдущего стандарта выйдут из обихода. Фактически, разработка последующего SCSI-3 стандарта началась еще в 1993 году. Первые устройства стандарта SCSI-3 (Ultra 1), появившиеся на рынке в 1996 году, имели 68-контактный шлейф и скорость составляла 20 или 40 МБ/с. За устройствами стандарта Ultra (1) быстро подтянулись Ultra2 LVD SCSI устройства (80 МБ/с), которые начали появляться в 1998 году. Для Ultra2 ввели LVD протокол под решения проблемы ограничения длины кабеля.
С появлением 64-битной 66-MHz PCI шины (528 МБ/с) и очень быстрого Gigabit Ethernet протокола от систем хранения потребовалось большая производительность. Сейчас мы можем заметить, что на рынке появились первые Ultra3 контроллеры и Ultra160 SCSI LVD накопители (160 МБ/с), что свидетельствует о новом состоянии рынка решений хранения с угрозой FC-AL устройствам.
Как было описано в прошлый раз, протокол определяется аппаратными (физическими) и программными (логическими) компонентами интерфейса. Заметим, что логическая часть SCSI протокола также используется serial Fibre Channel: "FC-AL инициатор" использует конвертор из параллельного в последовательный и "цель" обратно не конвертируется. Скорость обмена данными зависит от количества устройств и других параметров при соблюдении ограничения дальности, но логическая часть от этого не зависит.
Обратите внимание, что производители SCSI накопителей и контроллеров (такие как Adaptec Inc., Qlogic Corp. и Mylex Corp.) производят FC накопители и контроллеры соответственно.
Шина
SCSI шина - интеллектуальная подсистема ввода-вывода, которая взаимодействует с системной шиной компьютера. Элемент, который соединяет SCSI шину и хост, называют инициатором (некоторые продавцы компьютерного оборудования называют его контроллер шины). Контроллер шины, в свою очередь, соединен через кабель SCSI шины к целям (таким устройствам ввода-вывода, как жесткие диски, стриммеры, MOs и сканеры). SCSI цели работают в составе мультизадачной команды вместе с контроллером шины. Возьмите на заметку, что в лексиконе SCSI понятие термина "устройство" включает как шинный контроллер, так и "цель", которой, соответственно, является накопитель. Как мы увидим дальше, некоторые RAID конструкции имеют 2 контроллера на одной шине (dual-initiator конструкция). В этом случае второй контроллер будет тоже рассматриваться как цель (поэтому я использую термин "инициатор" и "цель", вместо контроллер и устройство). Контроллер шины получает множественные запросы ввода-вывода от одной и более целей и посылает или принимает блоки данных от этих устройств, когда они доступны. SCSI цели соединяются с шиной (для того, чтобы получить команды или передать данные) только при помощи инициатора. Кэш-память используется для того, чтобы принять напор данных от контроллера или создания очереди для исходящих данных, которые ожидают передачи. Количество целей, которые могут быть подключены к шине, зависит только от специфики использования протокола, например: Narrow SCSI (7 целей), Wide SCSI (15 целей), FC-AL SCSI (127 целей на бумаге, но на практике далеко меньше).
SCSI контроллеры (по стоимости выше среднего) загружают CPU на 5-30% меньше за счет использования DMA. Это очень выгодно, т.к. освободившееся процессорное время (в таких ОС как Linux, Solarisx86, Mac OS 8.x и т.д.) может использоваться для других задач. Под управлением Windows 95/98 использование DMA может увеличить скорость I/O трансфера, но не освобождает процессорное время для других задач. SCSI шина управляется посредством 9 контрольных сигналов и программными командами. 5 контрольных линий находятся под управлением самого инициатора, и 4 - под управлением цели.
Как упоминалось в предыдущей статье, протоколы состоят из слоев разного уровня и включают программные команды, что обеспечивает управление шиной. Эти слои сгруппированы в фазы, которые поочередно управляют каждой операцией ввода-вывода.
Протоколы
Рассмотрим 3 типа протоколов для SCSI шин: single-ended (SE), дифференцируемый SCSI (сейчас называется high-voltage differential (HVD)) и low-voltage differential (LVD). Каждый имеет свою разводку кабеля и поэтому полностью несовместимы. SE устарел и наиболее подвержен проблемам качества пропускания сигнала. Логическая "1" достигается за счет подачи напряжения от 0 до 0.5 DC, логический "0" - от 2.5 до 5.25 DC. Из-за того, что уровень сигнала такой низкий, кабель должен быть качественным и иметь определенную длину. На длинном кабеле сигнал может "тухнуть" :), особенно при использовании Fast SCSI-2 устройств. Длина кабеля для Ultra SCSI устройств не должна превышать 1,5 метра, а для Fast SCSI-2 - 3 метра.
Дифференцированный SCSI был разработан, чтобы достичь лучшего качества сигнала на длинном кабеле. В спецификации указано, что длина может доходить до 25 метров, но на самом деле не рекомендуется больше 10-12 метров для Ultra Wide SCSI и 18-20 метров для Fast Wide SCSI. HVD был включен в SCSI-2 стандарт, так как серверы нуждались в качестве и зависели от фактора удаленности. HVD использует пары +/- с максимальным напряжением каждой сигнальной линии до 12 В для конвертора данных, в то время как SE использует только одну. Сигнал "1" достигается когда сигнал + больше сигнала -, и "0" - наоборот.
LVD SCSI не совместим с HVD стандартом. LVD также использует сигнальные пары +/-, но с максимальным напряжением 5 В вместо 12 В. Из-за этой разницы в напряжении понижается уровень сигнала данных, соответственно, LVD является более дешевой версией HVD. Также LVD диски могут быть подключены к SE шине, но при этом уровень производительности упадет до Fast SCSI-2.
Существуют 2 типа параллельных SCSI шин: 8-битная Narrow и 16-битная Wide, и 2 типа последовательных: 16-битные FC-AL (на оптоволокне) и SSA.
Для стабильности работы шины на каждом конце кабеля необходима терминация (заглушка). Существует два метода терминации: активный и пассивный. Терминация может быть произведена за счет установки устройств и внешнего коннектора. Шина требует одного вида терминации на обоих концах, поэтому нельзя использовать активный терминатор на плате контроллера и пассивный на другом конце шины. На старых и дешевых контроллерах используются пассивные заглушки (модули из резисторов). Это же справедливо и для "целей": старые используют пассивные блоки резисторов, а новые имеют перемычку, которая включает активную терминацию. Отметим, что LVD диски не имеют внутренней терминации и поэтому требуют внешней заглушки.
В таблице 1 и 2 представлено семейство SCSI и некоторые характеристики. SCSI-2 и Fast SCSI-2 используют один из четырех типов 50-пиновых коннекторов: Centronics-50, Sun SCSI-2, DB50 или IDC. В новых SCSI стандартах используются следующие типы коннекторов в зависимости от полосы пропускания: 50-пиновый SCSI-2, 68-пиновый SCSI-3, 50- и 68-пиновые IDC или 80-пиновый SCA. Интерфейс типа Single connector attachment (SCA) предназначен для дисков, помещаемых в hot-swap слоты. Таблица 1. Семейство SCSI
Протокол | Частота шины | Ширина шины (бит) | Заявленная пропускная способность | Длина кабеля | Терминация |
SCSI-2 SE | 5 MHz | 8 | 5 МБ/с | 6 метров | Passive |
Fast SCSI- 2 SE | 10 MHz | 8 | 10 МБ/с | 3 метров | Active SE |
Wide Fast SCSI-2 SE | 10 MHz | 16 | 20 МБ/с | 3 метров | Active SE |
Wide Fast SCSI-2 HVD | 10 MHz | 16 | 20 МБ/с | 25 метров | Active HVD |
Ultra SCSI SE | 20 MHz | 8 | 20 МБ/с | 1.5 метров | Active SE |
Wide Ultra SCSI SE | 20MHz | 16 | 40 МБ/с | 1.5 метров | Active SE |
Wide Ultra SCSI HVD | 20MHz | 16 | 40 МБ/с | 12 метров | Active HVD |
Ultra2 SCSI LVO | 40MHz | 16 | 80 МБ/с | 12 метров | Active LVD |
Ultra 160 SCSI LVD | 80MHz | 16 | 160 МБ/с | 12 метров | Active LVD |
FC-AL SCSI | 1 GHz | 1 | 100 МБ/с | 500 метров | |
FC-SW SCSI | 1 GHz | 1 | 100 МБ/с | 10 километров |
Протокол | Частота шины | Ширина шины (бит) | Реальная пропускная способность | Максимальная длина кабеля | Случайный IOPS (2-КБ запрос) | Случайный IOPS (8-КБ запрос) | Случайный IOPS (64-КБ запрос) |
SCSI-2 SE | 5 MHz | 8 | 4.65 МБ/с | 5 метров | 2,262 | 603 | 76 |
Fast SCSI- 2 SE | 10 MHz | 8 | 9.25 МБ/с | 3 метров | 4,273 | 1,188 | 152 |
Wide Fast SCSI-2 SE | 10 MHz | 16 | 18.5 МБ/с | 3 метров | 7,692 | 2,304 | 303 |
Wide Fast SCSI-2 HVD | 10 MHz | 16 | 18.5 МБ/с | 19 метров | 7,692 | 2,304 | 303 |
Ultra SCSI | 20 MHz | 8 | 18.5 МБ/с | 1.5 метров | 7,692 | 2,304 | 303 |
Wide Ultra SCSI SE | 20 MHz | 16 | 37 МБ/с | 1.5 метров | 12,820 | 4,348 | 600 |
Wide Ultra SCSI HVD | 20 MHz | 16 | 37 МБ/с | 1.5 метров | 12,820 | 4,348 | 600 |
Ultra2 SCSI LVO | 40 MHz | 16 | 77 МБ/с | 10 метров | 19,231 | 7,813 | 1,183 |
Ultra 160 SCSI LVD | 80MHz | 16 | 150 МБ/с | <10 метров | 25,641 | 12,987 | 2,294 |
FC-AL SCSI | 1 GHz | 1 | 96 МБ/с | 500 метров | 35,714 | 10,870 | 1,466 |
Al, al.leon@usa.net (c) компьютерная газета
Компьютерная газета. Статья была опубликована в номере 43 за 2000 год в рубрике hard :: hdd