SCSI vs SATA Крис Касперски aka мыщъх Спецвыпуск Xakep, номер #046, стр. 046-030-2 Между тем, аппаратные мощности процессоров непрерывно росли. На IBM PC начали возникать первые многозадачные системы. Как следствие, во второй ревизии стандарта, получившей кодовое наименование ATA-2, появилась поддержка режима DMA. Теперь, передав команду на чтение сектора, процессор мог спокойно переключаться на другую задачу, перекладывая заботу о дисковой подсистеме на ATA-контроллер. В последующих ревизиях скорость передачи по физическому интерфейсу увеличилась аж до 100 Мб/с, появилась прозрачная логическая адресация (а вместе с ней и поддержка жестких дисков большого объема) и расширение ATA, названное ATAPI (ATA Packed Interface – пакетный интерфейс ATA, реализующий ту же самую схему обмена командными пакетами, что и SCSI). Последние версии ATA обеспечивают контроль целостности передачи по интерфейсному кабелю, значительно увеличивая его пропускную способность, и включают в себя некоторую пародию на планировщик. Однако воспользоваться им все равно не удается, поскольку наличие второго устройства на шине многократно уменьшает скорость передачи данных, и для достижения адекватной производительности каждое устройство должно быть подключено к своему контроллеру, а таких контроллеров на подавляющем большинстве материнских плат всего два. SATA Смертельная схватка Самый главный недостаток ATA/SATA-интерфейсов (который до сих пор не преодолен) – ограниченное количество подключаемых устройств. До тех пор пока ты довольствуешься одним жестким диском и одним приводом CD/DVD-ROM, никаких проблем не возникает. Но если ты захочешь воткнуть два винчестера, один CD-ROM, один CD-RW и один DVD-ROM, остается лишь посочувствовать. Дисковые массивы, состоящие из нескольких винчестеров, на ATA-контроллерах нереализуемы в принципе, так как каждое устройство требует своего контроллера, а каждый контроллер своего канала DMA и IRQ. К тому же, отсутствие нормального планировщика отрицательно сказывается на производительности дисковой подсистемы (особенно на беспорядочных запросах) и усложняет ее программирование - при возникновении какой бы то ни было ошибки вся очередь сбрасывается, а это значит, что инициатору запросов требуется хранить ее копию, тщательно отслеживания все изменения. Короче говоря, нормальных RAID-контроллеров ни под ATA-, ни под SATA-накопители нет и, по-видимому, никогда не будет. Модели, представленные на рынке, сильно смахивают на пионерские разработки и содержат большое количество фатальных ошибок, часто приводящих к необратимой порче данных. Пользоваться ими, даже в домашних условиях, категорически не рекомендуется. Разумеется, никакие физические законы не препятствуют созданию правильного RAID-контроллера с поддержкой ATA/SATA, но фирмы-производители просто не хотят вкладывать в это деньги. И не захотят до тех пор, пока в ATA/SATA не появится полноценный планировщик очереди запросов. |