Параллельный интерфейс АТА исчерпал свои ресурсы пропускной способности, достигшей 100 Мбайт/с в режиме UltraDMA Mode5. Для дальнейшего повышения пропускной способности интерфейса было предложено перейти на последовательную схему. Цель перехода улучшение и удешевление кабелей, коннекторов, улучшение условий охлаждения устройств в системном блоке, обеспечение возможности разработки компактных устройств, облегчение конфигурирования устройств.
Интерфейс Serial ATA является хост-центрическим, в нем определяется только взаимодействие хоста с каждым из подключенных устройств, а взаимодействие между ведущими и ведомыми устройствами исключается. Программно хост видит множество устройств, подключенных к контроллеру, как набор каналов АТА у каждого из которых имеется единственное ведущее устройство. Имеется возможность эмуляции пар устройств (ведущее — ведомое) на одном канале. Программное взаимодействие с устройствами Serial ATA практически совпадает с прежним, набор команд соответствует АТА/АТАРI-5. В интерфейсе Serial ATA хост-адаптер имеет блоки «теневых» регистров, совпадающих по назначению с обычными регистрами устройств АТА. Каждому подключенному устройству соответствует свой набор регистров. Обращение к этим теневым регистрам вызывает процессы взаимодействия хост-адаптера с подключенными устройствами и исполнение команд.
В стандарте рассматривается многоуровневая модель взаимодействия хоста и устройства, где прикладным уровнем является обмен командами, информацией о состоянии и хранимыми данными. На физическом уровне для передачи информации между контроллером и устройством используются две пары проводов. Данные передаются кадрами, транспортный уровень формирует и проверяет корректность информационных структур кадров. Для облегчения высокоскоростной передачи на канальном уровне данные кодируются по схеме 8В/10В, т.е. 8 бит данных кодируются 10-битным символом и скремблируются, после чего по физической линии передаются по простейшему методу NRZ, где уровень сигнала соответствует передаваемому биту. Между канальным и прикладным уровнем имеется транспортный уровень, отвечающий за доставку кадров. На каждом уровне имеются свои средства контроля достоверности и целостности.
В интерфейсе Serial АТА данные по кабелю передаются со скоростью 1500 Мбит/с, что с учетом кодирования 8В/ 10В обеспечивает скорость 150 Мбайт/с. В интерфейсе заложена возможность согласования скоростей обмена по каждому интерфейсу в соответствии с возможностями хоста и устройства. Хост-адаптер имеет средства управления соединениями, программно они доступны через регистры Serial ATA.
В стандарте предусмотрено управление энергорежимом интерфейсов. Каждый интерфейс кроме активного состояния может находиться в состояниях PARTIAL, и SLUMBER с пониженным энергопотреблением, для выхода из которого требуется 10мс.
Команды, требующие передачи данных, могут исполняться в различных режимах обмена. Обращение в режиме PIO и традиционный способ обмена по DMA выполняется аналогично исходному интерфейсу ATА. Однако внутренний протокол обмена между хост-адаптером и устройствами позволяет передавать между ними разноплановую информацию. В традиционном контроллере DMA адаптера АТА для каждого канала имеется буфер, в который перед выполнением операции обмена загружают дескрипторы блоков памяти, участвующих в а обмене. Теперь предлагается адресную информацию, относящуюся к оперативной памяти хост компьютера, доводить до устройства хранения, подключенного к адаптеру Serial ATA. Эта информация из устройства хранения при исполнении команд обмена выгружается в контроллер DMA хост-адаптера и используется им для формирования адреса текущей передачи.
Последовательный интерфейс АТА для подключения внутренних устройств имеет радиальное подключение кабелями обшей длиной не более 1 м. В стандарте предусматривается и непосредственное подключение к разъемам кросс платы с возможностью «горячей» замены. Стандарт определяет однорядный двухсег-ментый разъем с механическими ключами, препятствующими ошибочному подключению. Сигнальный элемент имеет 7 контактов, питающий — 15; все контакты расположены в один ряд с шагом 1,27 мм (0,05 дюйма). Малые размеры разъема и малое количество цепей облегчают компоновку системных карт и карт расширения. Для обеспечения «горячего» подключения контакты разъемов имеют разную длину, в первую очередь соединяются контакты «земли», затем контакты предза-ряда конденсаторов в цепях питания для уменьшения броска потребляемого тока, после чего соединяются основные питающие контакты и сигнальные цепи.
Каждое устройство, подключенное к адаптеру Serial ATA, представляется тремя блоками регистров, два из которых соответствуют традиционным регистрам АТА и называются «теневыми», третий блок — новый. Привязка адресов блоков к адресному пространству хоста стандартом не регламентируется. Для PCI-контроллера блоки задаются регистрами конфигурационного пространства и «теневые» регистры могут располагаться по стандартным адресам АТА.
В блоке управляющих регистров для чтения и записи используемся только по одному регистру. В блоке командных регистров разрядность регистров расширена до 16 бит, назначение младших байтов сохранилось. В режиме LВА старшие байты регистров несут биты логического адреса. При эмуляции пар устройств на одном канале бит DЕV используется для выбора устройства. Новый блок регистров состоит из 16 смежных 32-разрядных SCR0-SCR15, из которых определены только 3, остальные зарезервированы.
Устройства дисковой памяти имеют стандартную поддержку на уровне BIOS и операционной системы, которая заключается в предоставлении вышестоящим уровням программного обеспечения возможности чтения и записи секторов дисков, форматирования дорожки и выполнения вспомогательных функций. Эти возможности предоставляются программным вызовом прерывания BIOS Int 13h — дискового сервиса. Дисковый сервис работает на уровне физических устройств.
Операционная система предоставляет прикладным программам сервисы более сложные, чем функции BIOS, обеспечивая доступ к файловой системе диска. Самый низкий уровень обращения, допускаемый операционной системой, оперирует с секторами логических дисков или приводов. Один физический жесткий диск может содержать несколько логических дисков. На физическом диске могут присутствовать системные области, доступ к которым операционная система не предоставляет.
Для работы утилит и приложений с дисковой памятью имеется несколько уровней сервиса.
— Возможно обращение к контроллеру дисков на уровне регистров путем издания адреса блока и количества секторов, требуемых для передачи. Это самый производительный способ обмена данными, но он требует знания как организации разделов диски и файловой системы, так и контроллера диска (его системы команд). Доступ обеспечивается ко всем элементам, кроме блоков, закрытых командой Set Max Address (для дисков АТА). При этом обходится фаза трансляции геометрии, выполняемая по усмотрению BIOS.
— Сервисы ВIОS Int 13h также позволяют получить неограниченный доступ к диску, но если используются традиционные вызовы (функции с номерами ниже 40h), то доступны лишь диски объемом до 8,4 Гбайт (при трансляции геометрии) или до 528 Мбайт (без трансляции). Абстрагирование oт системы команд контроллера приводит к снижению производительности.
* Используя интерфейс функций DOS, можно получить доступ к любому сектору логического диска, указав его логическое имя, по функциям чтения/записи абсолютных секторов. Но при этом первым доступным сектором (логический адрес 0) является загрузочный сектор логического диска, а секторы с таблицами разделов и те, что не попадают в разделы логических дисков, оказываются недоступными.
* Интерфейс файловой системы ОС позволяет создавать, искать и удалять файлы и каталоги, выполнять чтение и запись файлов целиком или частично, а также некоторые другие вспомогательные функции.
Уровень, на котором программа обращается к дискам, выбирается из соображений минимальной достаточности: чем выше уровень сервиса, тем легче достичь совместимости с остальным ПО.
Поскольку CD-ROM по организации данных (файловой системе) существенно отличается от традиционных дисков (гибких и жестких), для обеспечения «прозрачного» доступа приложений к файлам на CD-ROM требуются специальные программные средства.
Последовательный интерфейс Serial ATA.
10 Мар, 2009
