Разработка SATA - IO-link контроллера с программными интерфейсами Legacy и AHCI презентация

Содержание

Слайд 2

Развитие интерфейсов накопителей

IDE

SATA

Слайд 3

Сравнение характеристик IDE и SATA

Максимальная пропускная способность
133 МБ/с (UDMA-6)
Способ передачи данных
параллельный

интерфейс
Кодировка
нет
Методы контроля ошибок
CRC
Метод подключения устройств
master/slave

Максимальная пропускная способность
SATA I — 150 МБ/c, SATA II 300 МБ/c
Способ передачи данных
последовательный интерфейс
Кодировка
8/10b
Методы контроля ошибок
CRC & Scrambling
Метод подключения устройств
точка-точка

IDE

SATA

Слайд 4

Постановка задачи

Разработать универсальный SATA-контроллер, удовлетворяющий следующим требованиям:
- поддержка программных интерфейсов Legacy и AHCI
- контроллер

обязан полностью соответствовать стандартам SATA v2.5 и AHCI v1.3
- интерфейс внешнего взаимодействия IO-link
- использование физического уровня фирмы «Synopsys»
- надежная работа в режимах SATA I — 1.5 GHz и SATA II — 3 GHz

Слайд 5

Расположение контроллера в структуре вычислительного комплекса

Контроллер может располагаться как в составе чипсета или

южного моста, так и подключаться извне с использованием шин PCI/PCI-X.

Слайд 6

Схема функциональных уровней стандарта SATA

- Commands and Application ― верхний уровень, обрабатывающий поступающие команды,

работающий с памятью, выставляющий прерывания и т.д.;
- Serial Digital Transport Control ― транспортный уровень выполняет преобразование контрольной информации или данных, которые необходимо передать, в пакеты\фреймы (Frame Information Structure, FIS);
- Serial Digital Link Layer ― реализует протокол звена данных, кодировка 8\10b;
- Serial Physical Interface Plant ― физический уровень отвечает за передачу и прием данных по последовательному каналу;

Слайд 7

Особенности интерфейса AHCI

- до 32-х портов
- 32-х, 64-х битная адресация
- отсутствие разделения накопителей на Master/Slave
- улучшенное

управление питанием
- поддержка режима очередей (Native Queued Command)
- ступенчатая «раскрутка» диска
- Port Multiplier

Слайд 8

Конфигурационное пространство AHCI

Конфигурационное пространство AHCI полностью совпадает с конфигурационным устройством PCI контроллера.
Базовые адреса,

расположенные в конфигурационном пространстве:
один базовый адрес 24h (реализация AHCI);
пять базовых адресов (интерфейс Legacy);

Слайд 9

Формат команды AHCI

Слайд 10

Особенности реализации

поддержка команд с невыровненным адресом
поддержка режима передачи невыровненного количества слов
поддержка 4-х портов
32-х

битная адресация
не реализована поддержка команд Native Queded Command
не поддерживается Port Multiplier

Слайд 11

Реализация

- IO-link client ― модуль, отвечающий за проведение транзакций на IO-link-интерфейсе;
- SATA ― IO-link Config

Space ― конфигурационное пространство (набор управляющих регистров) совпадающее с PCI Config Space;
- DMA Arbiter ― модуль, обеспечивающий арбитраж сигналов с разных портов;
- AHCI HCSM (AHCI HBA Controller State Machine) ― модуль, определяющий внешнее поведение контроллера в режиме AHCI, содержит в себе такие опции как глобальный reset, бит AHCI enable, а также набор регистров отвечающих за поведение устройства;
- SATA Port ― модуль, включающий в себя, модули отвечающие за обработку данных и общение с диском, самая объемная часть контроллера. К порту через SATA кабель подключается накопитель данных.

Слайд 12

Внутреннее устройство модуля SATA-port

Слайд 13

Автомат, реализующий DMA транзакции на AHCI уровне

Слайд 14

Моделирование

Пример выполнения команды на уровне Commands & Application с интерфейсом AHCI
Порядок выполнения

теста:
инициализация диска(OOB sequence);
выполнение команды записи данных на диск по определенному адресу;
выполнение команды чтения данных с диска по тому же адресу;
cравнение данных в памяти;
смещение адреса и данных на фиксированную величину и повторение команды:

Слайд 15

Отладка на макете

Из-за отсутствия тестового стенда с IO-link интерфейсом был использован PCI-интерфейс.
Использованное

тестовое оборудование:
- ВК на основе микропроцессора МЦСТ «R150»
- набор тестов, входящих в состав boot
- макетная плата (4 разъема SATA, ПЛИС Xilinx Virtex-5, SATA phy layer GTP-Dual Transceiver, 1 PCI разъем)
- логический анализатор ПО ChipScope Analyzer
Принцип тестирования совпадает с уже использованным при моделировании.

Слайд 16

Пример диаграммы, полученной с помощью логического анализатора

Начальный момент процедуры OOB Sequence:
контроллер

передает диску последовательность сигналов COM_RESET;
ожидание ответной последовательности сигналов COM_INIT;
обмен последовательностями сигналов COM_WAKE;
контроллер передает диску фиксированные данные;
если диск отвечает, что данные приняты верно, то определение диска и подстройка частоты прошла успешно.

Слайд 17

Результаты:

- разработано RTL-описание универсального SATA- IO-link контроллера с интерфейсами Legacy и AHCI;
- получен макет контроллера

с PCI-интерфейсом;
- собран тестовый стенд и успешно проведены имеющиеся тесты контроллера в составе стенда с использованием реальных SATA дисков фирмы Maxtor

проведение более сложных тестов, включающих загрузку операционной системы с диска и имитацию работы пользователя.
реализация функции Native Queded Command
проведение отладки устройства на тестовом стенде с IO-link-интерфейсом.
В конечном итоге данный контроллер будет реализован на кристалле в составе южного моста, разработанного компанией ЗАО «МЦСТ».

Перспективы:

Имя файла: Разработка-SATA---IO-link-контроллера-с-программными-интерфейсами-Legacy-и-AHCI.pptx
Количество просмотров: 23
Количество скачиваний: 0