Задумался я над этой проблемой, которая до этого разговора казалась мне очевидной

. И решил, помимо своих представлений и предрассудков на этот счет, посмотреть, что по этому поводу думается в Сети.
Оказывается, почти ничего... Те же представления и предрассудки.
Имеется полный комплект докуметации по стандартам ATA:
http://www.t13.org/ Все там хорошо, только вот никаких практических рекомендаций оттуда почерпнуть невозможно. Бо как ресурс для разработчиков, а не для юзеров.
Есть ОЧЕНЬ хорошая статья
Оптимизация дисковой системы. Но материал успел устареть, как никак 2000-года. В частности, там говорится:
Цитата:
К сожалению, сложившийся протокол работы с IDE устройствами не позволяет двум накопителям, работающим на одном канале, работать полностью отдельно друг от друга. Дело даже не в том, что они используют общий шлейф (кабель) для подсоединения к контроллеру. Проблема стоит несколько острее - сам протокол передачи данных (устройство контроллера) и режим работы драйвера, используемый в подавляющем числе IDE систем, не позволяет использовать одно из устройств, пока другое устройство не выполнило данную ему команду. На практике это выливается в очень неприятную вещь: например, винчестер получил команду считать сектор. Часто он не может сделать этого сразу - например, потому, что головки жесткого диска находятся в другой области, и для чтения сектора придется совершать механические операции. Во время поиска нужных данных - порядка десятка миллисекунд - устройство просто молчит, выполняя команду контроллера. К огромному сожалению, во время этого периода второе IDE устройство, расположенное на том же контроллере (канале), просто недоступно. Проблема двух жестких дисков, расположенных на одном IDE контроллере, еще не так страшна, потому что жесткий диск в любом случае способен выполнить данные ему команды достаточно быстро. В случае же, например, с приводом CD-ROM, проблема может встать гораздо серьезнее. Когда CD-ROM осуществляет поиск дорожки (порядка сотни миллисекунд, в редких случаях - и больше), выполняет какие-то свои, например калибровочные, манипуляции, или даже просто испытывает затруднения при чтении сектора (до десятка (!) секунд), второе устройство, работающее на том же канале, просто недоступно.
|
Насколько я понял, в спецификациях АТА-5 и более новых, за счет новых процедур обработки ошибок, это ограничение если и не снимается совсем, то ощутимо смягчается.
Замечу еще, что убеждение, что девайсы на одном канале реботают со скоростью самого медленного из них, является предрассудком со времен стандарта АТА-4. Допускается спецификацией присутствие на 1 шлейфе 2-х устройств с разными скоростями обмена. Ограничения могут возникнуть из-за самого чипсета или драйверов чипсета или ограничения биоса. Такие проблемы были, в основном, на старых компах.
В остальном материалы статьи по-прежнему актуальны. Действительно, для более-менее новых материнских плат выбор бут-девайсов никак не связан с их расселением по шлейфам.
1. От себя добавлю еще пару замечаний. Встречался со случаями тяжелых глюков, скажем, пишущих ДВД, когда помогало только их перетаскивание "методом тыка" со слейва на мастер или наоборот, а то и отсадка на отдельный шлейф. В последнее время таких проблем практически нет. Это могу объяснить неполной АТА-совместимостью отдельных резаков. Помнится, особенно грешили этим делом ранние NEC'и.
2. Не всегда геометрические соображения (расположение разъемов, высота корпуса, длина шлейфов) позволяют добиться желаемого из каких-то соображений (больше "эстетических"

) размещения АТА-девайсов по шлейфам. Особенно, если этих девайсов 4 штуки. Я в таких случаях всегда исходил из обеспечения хорошей вентиляции для хардов, возможности подключить шлейфы без натягов и перекосов. По крайней мере, в этом случае, поимеешь меньше глюков, нежели от потери быстродействия из-за интерференции АТА-устройств, тем более, что современные АТА-контроллеры сводят эту интерференцию почти к минимуму.
З.Ы. Комменты и новые линки приветствуются