Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

Нажав на кнопку "Отправить", Я даю своё согласие на автоматизированную обработку указанной информации, распространяющейся на осуществление всех действий с ней, включая сбор, передачу по сетям связи общего назначения, накопление, хранение, обновление, изменение, использование, обезличивание, блокирование, уничтожение и обработку посредством внесения в электронную базу данных, систематизации, включения в списки и отчетные формы.


Блок регистров SCR (Serial ATA Status and Control registers).

Блок регистров SCR (Serial ATA Status and Control registers).

Каждое устройство, подключенное к адаптеру Serial ATA, представляется тремя блоками регистров, два из которых соответствуют традиционным регистрам ATA и называются «теневыми», третий блок является новым. Привязка адресов блоков к адресному пространству хоста стандартом не регламентируется. Для PGI-контроллера блоки задаются регистрами конфигурационного пространства и «теневые» регистры могут располагаться по стандартным адресам ATA.

В блоке управляющих регистров, как и в ATA, используется лишь один (AS для чтения, DC для записи). В блоке командных регистров разрядность регистров SC, SN, CL и СН расширена до 16 бит, назначение младших байтов сохранилось. В режиме LBA старшие байты регистров SN, СL и СН несут биты логического адреса [24:31], [32:39] и [40:47] соответственно. В регистре D/H бит DEV игнорируется (при эмуляции пар устройств на одном канале бит DEV используется для выбора устройства). Из спецификации не совсем ясно, используются ли младшие биты D/H для задания бит LBA[27:24], поскольку эти же биты фигурируют в старшем байте SN.

Новый блок регистров SCR (Serial ATA Status and Control registers) состоит из 16 смежных 32-разрядных регистров SCR0-SCR15, из которых пока определены лишь 3 (остальные зарезервированы).

Регистр SStatus (SCR0) - регистр текущего состояния интерфейса хост адаптера (только чтение).

Биты [3:0] - поле DET, подключение устройств:

0000 - устройство не обнаружено, физической связи нет;

0001 - устройство обнаружено, но физическая связь не установлена;

0011 - устройство обнаружено, физическая связь установлена;

0100 - устройство отключено (запретом интерфейса или запуском внутреннего теста).

Биты [7:4] - SPD, скорость:

0000 - нет согласованной скорости (устройство не подключено или связь не установлена);

0001 - согласована скорость 1-го поколения.

Биты [11:8] - поле IPM, состояние энергопотребления интерфейса:

0000 - устройство не обнаружено, физической связи нет;

0001 - интерфейс в активном состоянии;

0010 - интерфейс в состоянии PARTIAL;

0110 - интерфейс в состоянии SLUMBER.

Остальные биты и значения полей зарезервированы.

Регистр SError (SCR1) - регистр диагностической информации, относящейся к интерфейсу. В регистре представлены ошибки, накапливающиеся с момента последней очистки регистра. Регистр очищается операцией сброса, отдельные биты можно сбрасывать операцией записи в регистр (единицы в позициях сбрасываемых бит).

Биты [15:0] - поле ERR, ошибки, обрабатываемые обычным программным обеспечением:

бит 9 - С - устойчивая неисправимая ошибка связи или нарушение целостности данных (может возникать при неправильном подключении, отказе или отключении устройства);

бит 11 - Е - внутренняя ошибка, обнаруженная хост-адаптером (если ошибка повторяется после сброса, она может быть признаком несовместимости адаптера и устройства);

бит 0 - I - исправленное нарушение целостности данных (не требует действий со стороны программного обеспечения, но может учитываться, например, для принятия решения о снижении скорости);

бит 1 - М - исправленная ошибка связи (может возникать при временном отключении устройства, потере синхронизации, не требует действий со стороны программного обеспечения);

бит 10 - Р - протокольная ошибка, требует сброса интерфейса и повтора операции (в случае устойчивости может быть признаком несовместимости устройства и адаптера);

бит 8 - Т - не исправленное нарушение целостности данных, требует повтора операции.

Биты [31:16] - поле DIAG, используемое диагностическим программным обеспечением:

бит 19 - В - ошибка декодирования 10В/8В;

бит 21 - С - ошибка CRC на канальном уровне;

бит 20 - D - ошибка паритета блоков данных (Disparity);

бит 26 - F - неопознанный тип FIS (ошибка, обнаруженная на транспортном уровне при корректном CRC-коде);

бит 17 - I - внутренняя ошибка физического уровня интерфейса;

бит 16 - N - сигнал готовности физического уровня менял состояние;

бит 22 - Н - ошибка подтверждения кадров (может возникать как следствие ошибок В, С, D);

бит 23 - S - ошибка последовательности состояний канального уровня;

бит 24 - Т - ошибка на транспортном уровне;

бит 18 - W - обнаружен пробуждающий сигнал Соmm Wake.

Остальные биты зарезервированы.

Регистр SControl (SCR2) - регистр управления интерфейсом (запись и чтение).

Биты [3:0] - поле DET, управление обнаружением и инициализацией устройств:

0000 - нет действий;

0001 - инициализация и установление соединения (эквивалентно аппаратному сбросу);

0100 - запрет интерфейса и перевод физического уровня в режим Offline.

Биты [7:4] - поле SPD, задает ограничение на скорость при согласовании соединений:

0000 - нет ограничений;

0001 - скорость не выше 1-го поколения.

Биты [11:8] - поле IPM, управление энергорежимом интерфейса:

0000 - нет ограничений;

0001 - запрет перехода в состояние PARTIAL',

0010 - запрет перехода в состояние SLUMBER;

0011 - запрет перехода в состояние PARTIAL и SLUMBER.

Остальные биты и значения полей зарезервированы.


Лицензия