Дисковая подсистема и IDE/SATA-контроллер

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

Можно упомянуть еще и дисковод флоппи-дисков (дискет), весьма распространенный некоторое время назад. Сейчас же это устройство можно встретить далеко не в каждом компьютере — виной тому мизерный по современным меркам объем дискеты. Наличие дисковода в современном компьютере скорее дань совместимости или признак нестандартной конфигурации дисковой подсистемы (при установке Windows XP и более ранних версий операционной системы на RAID-массив из жестких дисков, на диск, подключенный к нестандартному IDE- или SATA-контроллеру, при использовании режима ACHI в обязательном порядке требуется дискета с драйвером оборудования).

Обычно для подключения жестких дисков и приводов оптических дисков используется стандартный контроллер IDE и (или) SATA, являющийся частью функционального контроллера чипсета. Первоначально применялся только параллельный IDE-интерфейс (называемый также E-IDE, ATA или Parallel ATA): функциональный контроллер чипсета обеспечивал два канала, к каждому из которых допускалось подсоединение до двух устройств. Первое (или единственное) из этих устройств работает в режиме Master, второе, при наличии, — в режиме Slave, что задается перемычками на самом устройстве.

Изначальный вариант стандарта IDE позволял подключать только жесткие диски. Расширение этого стандарта, допускающее подключение и других устройств (в первую очередь приводов оптических дисков), носит название ATAPI. Впрочем, на практике продолжают использовать обобщенную аббревиатуру IDE.

Первые варианты IDE-интерфейса обеспечивали весьма скромную, по нынешним меркам, скорость обмена в 3.3 Мбайт/сек — накопителям того времени ее вполне хватало. С ростом быстродействия жестких дисков появились и отвечающие новым требованиям реализации IDE, основанные на более скоростных режимах PIO Mode (Programmed Input/Output Mode — программируемый ввод/вывод).

PIO Mode 03.3 Мбайт/сек
PIO Mode 15.2 Мбайт/сек
PIO Mode 28.3 Мбайт/сек
PIO Mode 311.1 Мбайт/сек
PIO Mode 416.6 Мбайт/сек

Дальнейший прогресс потребовал введения иных механизмов обмена данными по интерфейсу IDE. Так появились режимы DMA и Ultra DMA (Direct Memory Access — прямой доступ к памяти), разгрузившие центральный процессор от обработки операций ввода/вывода.

Single-Word DMA 02.1 Мбайт/сек
Single-Word DMA 14.2 Мбайт/сек
Single-Word DMA 28.3 Мбайт/сек
Multi-Word DMA 04.2 Мбайт/сек
Multi-Word DMA 113.3 Мбайт/сек
Multi-Word DMA 216.7 Мбайт/сек
Ultra DMA 016.7 Мбайт/сек
Ultra DMA 125.0 Мбайт/сек
Ultra DMA 2 или Ultra DMA 3333.3 Мбайт/сек
Ultra DMA 344.4 Мбайт/сек
Ultra DMA 4 или Ultra DMA 6666.7 Мбайт/сек
Ultra DMA 5 или Ultra DMA 100100.0 Мбайт/сек
Ultra DMA 6 или Ultra DMA 133133.0 Мбайт/сек

Все более или менее современные жесткие диски с интерфейсом IDE способны работать как минимум в режиме Ultra DMA 100, большинство — в режиме Ultra DMA 133. Приводы оптических дисков и им подобные устройства обычно используют режим Ultra DMA 33, есть модели, использующие Ultra DMA 66.

От дальнейшего совершенствования IDE, в том виде, в котором он существовал на тот момент, было решено отказаться — ему на смену пришел последовательный, по нынешней «моде», интерфейс SATA (Serial ATA). Первая версия — SATA 1.0 (зачастую называемая SATA I или SATA 150) — по своим возможностям мало отличается от IDE: максимальная скорость обмена возросла всего до 150 Мбайт/сек. Главное достоинство — узкие интерфейсные кабели, заменившие широкие неудобные шлейфы IDE. И хотя к одному каналу SATA теперь можно подключить только одно устройство, никаких принципиальных неудобств это не создает.

В первой волне чипсетов с поддержкой нового интерфейса два канала SATA были добавлены к двум существующим каналам IDE. И если в Windows 2000 и Windows XP это не вызвало никаких проблем (для этих операционных систем, как, впрочем, и для Windows Vista, не имеет значения число IDE/SATA-каналов), то для пользователей линейки Windows 9x (Windows 95, Windows 98 и Windows Me) пришлось вводить совместимый режим. В нем операционная система «видит» либо два стандартных IDE-канала, либо один IDE-канал и один «псевдо-IDE», составленный из двух SATA — операционные системы линейки Windows 9x просто «не знают», что IDE- и SATA-каналов в сумме может быть больше двух. Кроме того, в совместимом режиме IDE/SATA-контроллеру чипсета назначаются стандартные для «классического» IDE-контроллера прерывания — с номерами 14 и 15. Естественно, расширенный (или нативный) режим всех этих ограничений не имеет.

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

С точки зрения конечного пользователя гораздо интереснее вторая версия интерфейса SATA — SATA 2.0 (часто называемая SATA II или SATA 300). Увеличившаяся до 300 Мбайт/сек скорость интерфейса пока не особо востребована, а вот остальные нововведения — «горячее» подключение дисков (на лету, без отключения питания и перезагрузки операционной системы) и NCQ или очередь команд (изменение порядка операций записи/чтения, увеличивающее общую производительность диска) пришлись «ко двору». Чтобы воспользоваться этими возможностями SATA-контроллер должен функционировать в режиме ACHI (Advanced Host Controller Interface — расширенный хост-контроллер интерфейса).

Горячее подключение дисков и очередь команд в теории могут использоваться и в первой версии интерфейса SATA. Но на практике производители чипсетов реализовали эти возможности только с приходом второй версии SATA.

Естественно, ни о какой совместимости с линейкой Windows 9x речи уже не идет, более того, драйвера для ACHI входят в состав операционной системы, только начиная с Windows Vista. Для Windows XP в процессе установки необходимо «подсунуть» дискету с соответствующими драйверами (они берутся на сайте производителя чипсета). Если вы попытаетесь установить Windows XP (или более раннюю версию этой операционной системы) без соответствующего драйвера, установщик просто не увидит жесткий диск. То же самое произойдет и при попытке задействовать режим ACHI при уже установленной Windows XP — появится «синий экран смерти» с описанием проблемы.

Если вы хотите воспользоваться преимуществами ACHI в уже установленной операционной системе Windows XP, скачайте с сайта производителя чипсета соответствующий драйвер и установите его до изменения в BIOS режима работы SATA-контроллера.

Необходимость установки драйвера для ACHI приводит к тому, что от этого режима часто отказываются (несмотря на предоставляемый им выигрыш в быстродействии дисковой подсистемы), переводя SATA-контроллер в режим «традиционного» IDE — с использованием механизмов обмена данными, существовавшими еще во времена IDE-контроллеров.

Не путайте только его с совместимым режимом для линейки Windows 9x, режим IDE-контроллера никак не ограничивает число каналов.

В BIOS Setup можно задать режимы функционирования IDE/SATA-контроллера чипсета, указать параметры жесткого диска, выбрать режимы обмена данных для имеющихся накопителей. Многие версии BIOS позволяют отключить становящийся ненужным контроллер дисковода.

Опубликовано 10.12.2008.

Служебная информация:

время выполнения: 0.0100 с;

количество запросов: 3.