6.4.2 Работа SCSI.
В SCSI контроллер устройства (например контроллер диска) и интерфейс с компьютером - устройства разные. Интерфейс с компьютером, HBA, добавляет к компьютеру дополнительную интерфейсную шину для подсоединения нескольких контроллеров устройств: до семи контроллеров устройств на канале SCSI c несимметричным выходным сигналом и до 15 на дифференциальном канале. Технически каждый контроллер может поддерживать до четырех устройств. Однако при высоких скоростях обмена сегодняшних высокоемких дисков контроллер устройства обычно встраивается в диск с целью уменьшения помех и электрических наводок. Это значит, что можно иметь до семи дисков на канале SCSI с несимметричным выходным сигналом и до 15 на дифференциальном канале SCSI.
Одно из преимуществ SCSI - обработка нескольких, накладывающихся друг на друга команд. Эта поддержка перекрывающегося ввода/вывода дает дискам SCSI возможность полностью сочетать свои операции чтения и записи с другими дисками системы, благодаря чему разные диски могут обрабатывать команды параллельно, а не по очереди.
Поскольку вся интеллектуальность дискового интерфейса SCSI заключается в HBA, HBA контролирует доступ ОС к дискам. Как результат, HBA, а не компьютер, разрешает конфликты трансляции и доступа к устройствам. В целом это значит, что при условии использования правильно написанных и установленных драйверов компьютер и ОС не видят никакой разницы между устройствами.
Вдобавок, поскольку HBA контролирует доступ между внутренней шиной расширения компьютера и шиной SCSI, он может разрешать конфликты доступа к ним обеим с предоставлением таких расширенных возможностей, как сервис обрыва/восстановления связи. Обрыв/восстановление позволяют ОС послать конкретному устройству команду на поиск, чтение или запись, после чего диск предоставляется самому себе для выполнения команды, благодаря чему другой диск на том же канале может тем временем получить команду. Этот процесс способствует значительному повышению пропускной способности дисковых каналов с более чем двумя дисками, особенно когда данные разнесены или разбросаны по дискам. Другая расширенная функция - синхронный обмен данными, вследствие чего общая пропускная способность дискового канала и целостность данных увеличиваются.
6.4.3 IDE
IDE - фактический стандарт, широко используемый в ПК на базе процессоров х86. Это лишь общая рекомендация для производителей, поэтому каждый мог свободно разрабатывать специфический интерфейс IDE для своих устройств и адаптеров. В итоге продукты от разных производителей, и даже разные модели одного и того же производителя, оказывались несовместимы друг с другом. Когда спецификация устоялась, данная проблема практически исчезла, но несовместимость все же возможна.
В отличие от SCSI, IDE, возлагает выполнение интеллектуальных функций на диск, а не HBA. HBA для IDE практически не обладает интеллектуальностью и просто напрямую выводит шину компьютера к дискам. Без промежуточного интерфейса число устройств на одном канале IDE ограничивается двумя, а длина кабеля тремя метрами.
Поскольку весь интеллект устройств IDE находится на самих устройствах, одно из устройств на канале назначается главным (channel master), а встроенный контроллер на втором отключается, и оно становится подчиненным (chanell slave). Главное устройство контролирует доступ через канал IDE к обоим устройствам и выполняет для них все операции ввода/вывода. Это одна из возможностей конфликта между устройствами из-за различных реализаций производителями интерфейса IDE. Например, один диск может быть рассчитан на работу с конкретной схемой контроллера, а главное устройство, к которому он подключен, может использовать другой тип контроллера. Вдобавок диски более нового расширенного cтандарта Enhanced IDE (EIDE) применяют расширенный набор команд и трансляционных таблиц в целях поддержки дисков большей емкости и большей производительности. Если они подсоединены к старому стандартному, главному диску IDE, они не только теряют свои расширенные функции, но и могут не предоставить всю свою доступную емкость. Хуже того, они могут сообщать ОС о своей полной емкости, будучи не в состоянии ее использовать, что чревато повреждением информации на диске.
Возможность повреждения данных обусловлена тем, что каждая ОС по-своему воспринимает информацию о конфигурации диска. Например, DOS и системный BIOS допускают максимальную емкость диска только 528 Мбайт. NetWare и другие 32-х разрядные системы не имеют этих ограничений и способны читать весь диск IDE напрямую через его электронику. Когда создается на одном диске несколько разделов различных ОС, каждая из них видит емкость и конфигурацию по-своему, а это может привести к перекрытию таблиц разделов, что, в свою очередь, существенно повышает риск потери данных на диске.
Оригинальная архитектура IDE не позволяет распознавать диски больше 528 Мбайт и может поддерживать только два устройства на канал при максимальной скорости передачи 3 Мбит/с. Для преодоления некоторых ограничений IDE в 1994 году была представлена архитектура EIDE. EIDE поддерживает большую емкость и производительность, однако ее скорости передачи от 9 до 16 Мбит/с по-прежнему медленнее скорости передачи SCSI. Кроме того, в отличие от 15 устройств на канал для SCSI, она может поддерживать максимум четыре на канал. Отметим также, что ни IDE, ни EIDE не реализуют функций многозадачности. И следовательно, не могут обеспечить в типичном серверном окружении тот же уровень производительности, что и интерфейсы SCSI.
Хотя стандарт IDE разрабатывался исходно для дисков, сейчас он поддерживает ленточные устройства и CD-ROM. Однако разделение канала с CD-ROM или ленточным устройством может отрицательно сказаться на производительности диска. В целом преимущества SCSI в производительности и расширяемости делают его в сравнении с IDE или EIDE более предпочтительным для большинства серверных приложений старшего класса, где требуется высокая производительность. Однако для приложений начального уровня, где производительность или расширяемость не играют большой роли, хватит IDE или EIDE. В то же время, если требуется избыточность дисков, то IDE из-за потенциальных проблем, связанных с подходом master-slave, не лучший вариант. Кроме того, следует опасаться возможного перекрытия таблиц разделов и проблем несовместимости устройств master-slave.
Тем не менее есть несколько случаев, когда интерфейсы IDE и EIDE могут быть использованы в серверах старшего класса. Обычной практикой является, например, использование небольшого диска IDE для раздела DOS на серверах NetWare. Широко практикуется также применение приводов CD-ROM с интерфейсом IDE для загрузки ПО.
0 комментариев