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

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

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


Особенности реализации интерфейса и регистры Serial ATA.

Особенности реализации интерфейса и регистры Serial ATA.

 

Спецификация SATA (Serial ATA), описывает интерфейс для жестких дисков с последовательным способ обмена информацией. Последовательный SATA интерфейс программно совместим с традиционным - параллельным. Для обмена в нем используются те же регистры и команды, что обеспечивает программную совместимость с предыдущими версиями ATA. Все жесткие диски SATA подключаются независимым информационным кабелем, который состоит из 7 проводов, из которых 3 провода не используются, а оставшиеся 4 используются парами (одна пара для передачи, другая для приема). Кабель стал тонким и круглым, что позволило снизить температуру компонентов внутри системного блока компьютера за счет улучшения вентиляции. Разъем конструктивно предусматривает защиту от неправильного подключения. Нахождение кабеля SATA вблизи источников сильных электромагнитных помех нежелательно, т.к. в кабеле SATA уровень сигналов снижен до 0.4 вольт, что привело к снижению помехозащищенности при передаче информации. Поддержка подключения и замены жестких дисков без выключения компьютера описана в стандарте опционально, и производители жестких дисков стали реализовывать ее по своему усмотрению, что тоже привело к различным проблемам совместимости.

Спецификация Serial ATA версии 2.0 обеспечивала большую пропускную способность и специальные средства для поддержки сетевых устройств хранения. Расширения SATA-2 были направлены на повышение надежности этой системы и оптимизацию обработки запросов, однако подавляющая часть нововведений рассчитана на применение в серверах. Пропускная способность SATA-2 составляет 300 мегабайт в секунду (современный жесткий диск пока способен использовать не более 60-70 процентов от пропускной способности SATA). Спецификация SATA-2 предусматривает возможность подключения к одному порту нескольких жестких дисков при помощи так называемого концентратора или умножителя портов (port multiplier). При этом уменьшается число кабельных соединений, экономится место и достигается возможность гибкого масштабирования системы. Спецификация SATA Revision 3.0 предусматривает возможность передачи данных на скорости до 6 Гбит/с (600 Мбайт/с) и обладает полной обратной совместимостью с устройствами, поддерживающие предыдущие версии стандарта. В спецификации SATA 3.0 добавлены новые возможности, позволяющие улучшить работу NCQ, увеличить энергосбережение и использовать новые, более компактные разъемы.

Интерфейс Serial ATA является хост-центрическим, в нем определяется только взаимодействие хоста с каждым из подключенных устройств, а взаимодействие между ведущим и ведомым устройствами, свойственное традиционному интерфейсу АТА, исключается. Программно хост видит множество устройств, подключенных к контроллеру, как набор каналов АТА, у каждого из которых имеется единственное ведущее устройство (имеется возможность эмуляции пар устройств «ведущее — ведомое» на одном канале, если такая необходимость возникнет).

Программное взаимодействие с устройствами Serial ATA практически совпадает с прежним, набор команд соответствует ATA/ATAPI-5. В то же время аппаратная реализация хост-адаптера Serial ATA сильно отличается от достаточно простого (в исходном варианте) интерфейса АТА.

ATA/ATAPI-7 – определил протокол Ultra DMA-6 (133 Мбайт/с), расширенные режимы самотестирования SMART (Selective, Conveyance), поддержка расширенных журналов SMART, версия последовательного интерфейса ATA - SATA.  ATA/ATAPI-8 – добавил аппаратное шифрование (Trusted Computing feature), датчик свободного падения (Free-fall Control), проверка чтением после записи (Write-Read-Verify feature), дополнительный протокол управления параметрами жесткого диска и чтения расширенной информации (SCT Command Transport), флэш память с возможностью управления ее энергосбережением (NV Cache, NV Cache Power Mode), определение номинальной скорости вращения двигателя (Nominal media rotation rate), время раскрутки магнитных пластин до номинальной скорости (Time to Spin Up in Seconds), команду - WRITE UNCORRECTABLE EXT.

В параллельном интерфейсе АТА хост-адаптер был простым средством, обеспечивающим программное обращение (доступ) к регистрам, расположенным в самих подключенных устройствах. В Serial ATA ситуация иная: хост-адаптер имеет блоки так называемых «теневых» регистров (Shadow Registers), совпадающих по назначению с обычными регистрами устройств АТА. Каждому подключенному устройству соответствует свой набор регистров. Обращения к этим теневым регистрам вызывают процессы взаимодействия хост-адаптера с подключенными устройствами и исполнение команд.

В стандарте SATA рассматривается многоуровневая модель взаимодействия хоста и устройства, где прикладным уровнем является обмен командами, информацией о состоянии и хранимыми данными. На физическом уровне для передачи информации между контроллером и устройством используются две пары проводов. Данные передаются кадрами.  Транспортный уровень формирует и проверяет корректность информационных структур кадров (Frame Information Structure -  FIS).

Для облегчения высокоскоростной передачи на канальном уровне данные кодируются по схеме 8В/10В (8 бит данных кодируются 10-битным символом) и скремблируются, после чего по физической линии передаются по простейшему методу NRZ (уровень сигнала соответствует передаваемому биту).

Между канальным и прикладным уровнем имеется транспортный уровень, отвечающий за доставку кадров. На каждом уровне имеются свои средства контроля достоверности и целостности.

В первом поколении Serial ATA данные по кабелю передавались со скоростью 1500 Мбит/с, что с учетом кодирования 8В/10В обеспечивало скорость 150 Мбайт/с (без учета накладных расходов протоколов верхних уровней). В дальнейшем была повышена скорость передачи, и в интерфейсе была заложена возможность согласования скоростей обмена по каждому интерфейсу в соответствии с возможностями хоста и устройства, а также качеством связи.

Хост-адаптер имеет средства управления соединениями, программно эти средства доступны через специальные регистры Serial ATA.

В стандарте предусматривается управление энергорежимом интерфейсов. Каждый интерфейс кроме активного состояния может находиться в состояниях PARTIAL и SLUMBER с пониженным энергопотреблением, для выхода из которых требуется заметное время (10 мс).

Команды, требующие передачи данных, могут исполняться в различных режимах обмена. Обращение в режиме PIO и традиционный способ обмена по DMA (legacy DMA) выполняется аналогично привычному интерфейсу ATА. Однако внутренний протокол обмена между хост-адаптером и устройствами позволяет передавать между ними разноплановую информацию (структуры FIS определены не только для команд, состояния и собственно хранимых данных). В приложении D к спецификации описывается своеобразный способ обмена по DMA, который предполагается основным (First-party DMA) для устройств Serial ATA. В традиционном контроллере DMA адаптера ATА для каждого канала имеется буфер, в который перед выполнением операции обмена загружают дескрипторы блоков памяти, участвующей в обмене. Теперь же предполагается, что адресная информация, относящаяся к оперативной памяти хост компьютера, будет доводиться до устройства хранения, подключенного к адаптеру Serial ATA. Эта информация из устройства хранения при исполнении команд обмена выгружается в контроллер DMA хост-адаптера и используется им для формирования адреса текущей передачи (расплатой за это некоторое упрощение хост-адаптера - особенно многоканального, является усложнение протокола и расширение функций, выполняемых устройством хранения). При традиционном разделении функций, задача устройств внешней памяти была лишь хранить данные, «не интересуясь» тем, в каком месте оперативной памяти компьютера они должны находиться при операциях обмена.

Последовательный интерфейс SATA, как и его параллельный предшественник ATA, предназначен для подключений устройств внутри компьютера. Длина кабелей не превышает 1 м, при этом все соединения радиальные, каждое устройство подключается к хост-адаптеру своим кабелем. В стандарте предусматривается и непосредственное подключение устройств к разъемам кросс-платы с возможностью «горячей» замены.

Стандарт определяет новый однорядный двухсегментный разъем с механическими ключами, препятствующими ошибочному подключению. Сигнальный сегмент имеет 7 контактов (S1-S7), питающий - 15 (Р1- Р15); все контакты расположены в один ряд с шагом 1,27 мм. Назначение контактов приведено в табл.1. Малые размеры разъема (полная длина — около 36 мм) и малое количество цепей облегчают компоновку системных плат и карт расширения. Питающий сегмент может отсутствовать (устройство может получать питание и от обычного 4-контактного разъема ATА).

Для обеспечения «горячего» подключения контакты разъемов имеют разную длину, в первую очередь соединяются контакты «земли» Р4 и Р12, затем остальные «земли» и контакты предзаряда конденсаторов в цепях питания РЗ, Р7 и Р13 (для уменьшения броска потребляемого тока), после чего соединяются основные питающие контакты и сигнальные цепи.

 

Таблица 1. Разъем Serial ATA

Контакт

Цепь

Назначение

S1

GND

Экран3

S2

А+

Дифференциальная пара сигналов А

S3

А-

Дифференциальная пара сигналов А

S4

GND

Экран

S5

В-

Дифференциальная пара сигналов В

S6

В+

Дифференциальная пара сигналов В

S7

GND

Экран

Ключи и свободное пространство

Р1

   V33

Питание 3, 3 В

Р2

   V33

Питание 3, 3 В

РЗ

   V33

Питание 3, 3 В, предзаряд

Р4

   GND

Общий

Р5

   GND

Общий

Р6

   GND

Общий

Р7

   V5

Питание 5 В, предзаряд

Р8

   V5

Питание 5 В, предзаряд

Р9

   V5

Питание 5 В, предзаряд

Р10

   GND

Общий

P11

Резерв

 

Р12

   GND

Общий

Р13

   V12

Питание 12В, предзаряд

Р14

   V12

Питание 12 В

Р15

   V12

Питание 12 В

 

Регистры Serial ATA. Каждое устройство, подключенное к адаптеру SATA, представляется тремя блоками регистров, два из которых соответствуют традиционным регистрам (см. табл. 2) АТА и называются «теневыми», третий блок регистров - новый. Привязка адресов блоков к адресному пространству хоста стандартом не регламентируется (для PCI-контроллера блоки задаются регистрами конфигурационного пространства и «теневые» регистры могут располагаться по стандартным адресам АТА).

 

Таблица 2. Адреса и функциональное назначение регистров контроллеров устройств АТА

Адрес для канала 

Сигналы адресации

(0 - низкий уровень, 1 – высокий)

Назначение (R - чтение, W - запись)

1

2

СS0#

СS1#

DА2

DА1

DА0

 

 

1

1

X

X

X

Нет обращения (шина данных в третьем состоянии)

 

 

0

0

X

X

X

Недопустимый адрес (шина данных в третьем состоянии)

ЗFХ

37Х

Control Block Registers – блок управляющих регистров

 

 

1

0

0

X

X

Не используется (шина данных в третьем состоянии)

 

 

1

0

1

0

X

Не используется (шина данных в третьем состоянии)

ЗF6

376

1

0

1

1

0

R: Alternate Status (AS) - альтернативный регистр состояния

ЗF6

376

1

0

1

1

0

W: Device Control (DС) - регистр управления устройством

ЗF7

377

1

0

1

1

1

R: Device Address (DА) - регистр адреса (не используется)1

1FХ

17Х

Command Block Registers - блок командных регистров

1F0

170

0

1

0

0

0

R/W: Data (DR) - регистр данных

1F1

171

0

1

0

0

1

R: Errоr (ER) - регистр ошибок

1F1

171

0

1

0

0

1

W: Features (FR) - регистр свойств

1F2

172

0

1

0

1

0

R/W: Sector Count (SС) - регистр счетчика секторов

1FЗ

173

0

1

0

1

1

R/W: Sector Number (SN) - регистр номера сектора/LВА [7:0]2

1F4

174

0

1

1

0

0

R/W: Cylinder Low (СL) - регистр младшего байта номера цилиндра/LВА[ 15:8]2

1F5

175

0

1

1

0

1

R/W: Cylinder High (СН) - регистр старшего байта номера цилиндра/LВА[23:16]2

1F6

176

0

1

1

1

0

R/W: Device/Head (D/Н) - регистр номера устройства и головки/LВА[27:24]2

1F7

177

0

1

1

1

1

R: Status (SR) - регистр состояния

1F7

177

0

1

1

1

1

W: Command (СR) - регистр команд

Примечания:   

                        1 Рекомендуется, чтобы на сигнал чтения по этому адресу устройство не отвечало.

                        2  Регистры сектора, цилиндра, головки в режиме LBA содержат указанные разряды логического адреса.

 

Любая  программа, в конечном счете, осуществляет управление накопителями на жестких дисках на физическом уровне через программно-доступные регистры их контроллеров, используя для этого команды процессора  IN и OUT (чтение порта, запись в порт). Стандартный набор регистров контроллера ATA-дисков состоит из двух блоков регистров, выбираемых сигналами СS0# и СS1#, из которых активным может быть только один. В табл. 2  приведены адреса регистров для первого и второго каналов контроллеров АТА-дисков. Блок командных регистров служит для приема команд,  управляющей информации и чтения информации о состоянии и ошибках. На действительность содержимого регистров команд­ного блока и альтернативного регистра состояния указывает нулевое значение бита BSY – 7 разряд регистра состояния (SR). Запись в регистры должна производиться лишь при BSY= 0 и DRQ = 0 (3 разряд регистра SR), кроме особо оговоренных случаев. Если устройство поддержива­ет управление энергопотреблением, в «спящем» режиме содержимое этих регист­ров недействительно и запись игнорируется, кроме особых случаев.

Альтернативный регистр состояния АS (для первого канала его адрес ЗF6h, для вто­рого канала -  376h) имеет те же биты, что и основной SR, но его чтение не приво­дит ни к каким изменениям состояния устройства.

Регистр управления устройством DС (ЗF6h, 376h) служит для программного сбро­са обоих устройств одновременно и управления разрешением прерывания выбран­ного устройства. Запись в этот регистр возможна в любой момент. Программный сброс через регистр DC должен отрабатываться и в состоянии Sleep.

Назначение битов регистра DC:

- биты [7:3] зарезервированы;

- бит 2 -  SRST(Software Reset) -  программный сброс, действует все время, пока бит не будет снят. Оба устройства на шине воспринимают программный сброс одновременно;

- бит 1 -  n/IEN (Interrup Еnаble) -  бит запрещения прерывания (при нулевом значении бита выбранное устройство может вырабатывать сигнал INTRQ через тристабильный выход);

- бит 0 равен нулю.

Регистр адреса устройства DA (3F7h, 377h) использовался только в первой вер­сии АТА для совместимости со старыми контроллерами, чтением этого регистра можно было определить адресованный привод и головку. Адрес регистра совпадает с адресом диагностического регистра состояния контроллера НГМД, и рекомендуется, чтобы устройство АТА не отвечало на чтение этого регистра, а если устройство отвечает на чтение, то оно не должно управлять битом 7 во избежание конфликта с контроллером НГМД, у которого по в этом бите хранится признак смены носителя.

Назначение битов регистра DA:

-  бит 7 -  (HiZ)  -  высокоимпедансный, при считывании не выдается на шину;

-  бит 6  -  nWTG  -  инверсный признак записи (во время физического выполне­ния записи на носитель бит нулевой);

-  биты [5:2]  -  пНS[3:0]  -  номер головки (инверсные биты);

-  биты [1:0]  -  пDS[1:0]  -  выбор устройства (инверсные биты): 10  -  выбрано устройство 0, а  01 - выбрано устройство 1.

Регистр данных DR (1F0h, 170h) может использоваться как 8-битный или 16-бит­ный в зависимости от типа данных, передаваемых в текущей команде (обращение к этому регистру происходит в режиме обмена РIO (когда DМАСК# неактивен), при выполнении передач протокола РО (РIO Оut) хост производит запись в этот регистр, при РI (РIO In) – чтение, а в режиме DMA обмен данными происхо­дит через порт данных, при этом активны DМАRQ и DМАСК#, а СS0# и СS1# неактивны).

Регистр ошибок ER (1F1h, 171h) хранит состояние контроллера после выполнения последней опера­ции или диагностический код ошибки. После завершения операции на наличие ошибки указывает бит ERR регистра состояния.

Назначение битов регистра ER:

-  бит 7 зарезервирован;

-  бит 6 -  UNC (Uncorrectable Data Еггог)  -  неисправимая ошибка данных;

-  бит 5 -  MC(Меdiа Сhanged) - смена носителя (после смены носителя первая команда обращения отвергается и устанавливается данный бит, а после сброса бита следующие команды будут выполняться нормальным образом);

-  бит 4  - IDNF (ID Not Found)  -  указывает на ненайденный идентификатор сектора;

-  бит 3  -  ABRT (Аbort Соmmand)  -  устанавливается, если команда отвергну­та как недействительная или в случае возникновения иной ошибки;

- бит 2 -  MCR (Меdia Сhange Requested)  -  индикатор запроса смены носителя (после обнаружения запроса смены носителя команды Dоог Lock будут возвра­щать бит ошибки ЕRR и бит MCR, а бит MCR сбрасывается командами Door Unlock, Media Eject или аппаратным сбросом);

-  бит 1  -  TK0NF (Тгаск 0 Nоt Found) указывает на то, что по команде Recalibrate не удалось найти нулевой трек;

-  бит 0  -  AMNF (Аddress Mark Not Found)  -  не найден адресный маркер данных в заголовке сектора.

После выполнения любого сброса или команды Execute Device Diagnostic регистр ошибок содержит диагностический код. Трактовка битов, за исключением бита 3 (ABRT), может меняться в зависимости от исполненной команды.

Регистр свойств FR (1F1h, 171h) используется в зависимости от команды. В коман­де Set Features, через регистр свойств,  задается код подкоманды (некоторые старые устройства могут игнорировать запись в этот регистр, до принятия стандарта АТА-2 в этот регистр поме­щали значение рекомендуемого номера цилиндра для предкомпенсации записи.

Регистр счетчика секторов SC (1F2h, 172h) содержит число секторов, участвую­щих в обмене (хост инициализирует этот регистр до подачи команды (нулевое значение соответствует 256 секторам). По успешному завершению операции до­ступа к данным регистр должен обнулиться. Если команда завершилась с ошибкой, в регистре будет число секторов, которые должны быть переданы для успешного завершения предыдущего запроса. Команды Initialize Device Parameters или Write Same могут переопределить значение этого регистра, а в некоторых командах ре­гистр используется для передачи иных параметров.

Регистры номера сектора SN (1FЗh, 173h) и номера цилиндра  -  младшего CL (1F4h, 174h) и старшего байта CH (1F5h, 175h)  -  имеют двоякое назначение в зависимо­сти от выбранной системы адресации (СНS или LВА), они инициализируются хост-адаптером, а в случае возникновения ошибки  при выполнении операции, устройство поместит в них адрес, по которому встретилась ошибка.

Регистр номера устройства и головки D/H (1F6h, 176h) кроме хранения части ад­ресной информации служит для выбора ведущего или ведомого устройства и ме­тода адресации регистра D/H:

Назначение битов номера устройства и головки D/H:

-  биты 7 и 5 вплоть до АТА-3 должны были быть единичными, в АТА/АТАРI-4 их объявили устаревшими.

- бит 6  -  L -  единичным значением указывает на применение режима адреса­ции LВА, а при нулевом значении бита используется режим СНS;

-  бит 4  -  DEV (Device)  -  выбор устройства, при DEV= 0 выбрано ведущее, при DEV = 1  -  ведомое;                   -  биты [3:0] имеют двоякое назначение в зависимости от выбранной системы адресации, в режиме СНS они содержат номер головки, в режиме LВА   -  стар­шие биты логического адреса.

Как и предыдущие (SN, CH, CL) этот адресный регистр инициализируется хост-адаптером, а в случае возникновения ошибки при операции устройство поместит в них адрес, по которому встретилась ошибка (до принятия АТА-2 считалось, что адресные регистры должны модифицироваться и после успешного выполнения операции, отражая текущее значение адреса в носителе).

Регистр состояния SR (1F7h, 177h) отражает текущее состояние устройства в про­цессе выполнения команд. Чтение регистра состояния разрешает дальнейшее из­менение его битов и сбрасывает запрос аппаратного прерывания (IRQ). Назначение битов регистра SR:

 -  бит 7  -  BSY (Busy) указывает на занятость устройства, значение этого бита действительно всегда, при BSY = 1, устройство игнорирует попытки записи в командный блок регистров, а чтение этих регистров дает неопределенный ре­зультат, а при BSY = 0 регистры командного блока доступны, в это время устрой­ство не может устанавливать бит DRQ, изменять значение битов ERR и содер­жимое остальных командных регистров (могут меняться только значения битов IDX, DRDY, DF, DSC, CORR); бит BSY может устанавливаться на кратковре­менный интервал, так что хост может этого не заметить;  бит BSY устанавливается: при сбросе устройства;  по получении команды, если не устанавливается DRQ;  между передачами блоков данных в режиме РIO и после них, пока не обнулился DRQ; во время передач данных в режиме DМА;

 -  бит 6  -  DRDY(Device Ready) указывает на готовность устройства к воспри­ятию любых кодов команд, если состояние бита изменилось, оно не может измениться обратно до чтения регистра состояния (при DRDY = 0 устройство воспринимает только команды Ехесиte Dеvice Diagnosnic и Initialize Device Раrameters, прекращая выполнение текущей команды и сообщая об этом фла­гом ABRT в регистре ошибок и ERR в регистре состояния. Другие команды приводят к непредсказуемым результатам. Бит устанавливается устройством АТА, когда оно готово к выполнению всех команд;

 -  бит 5  -  DF(Device Fault)  -  индикатор отказа устройства;

 -  бит 4 -   DSC (Device Seek Complete) -  индикатор завершения поиска трека, а в командах, допускающих перекрытие, бит называется SERV(Service Required)  -  устройство требует обслуживания;

 -  бит 3  -  DRQ (Data Request)  -  индикатор готовности к обмену словом или бай­том данных;

 -  бит 2  -  CORR (Соггеcted Datа)  -  индикатор исправленной ошибки данных;

 -  бит 1  -  IDX (Index)   -   индекс, трактуется особо каждым производителем;

 -  бит 0  -  ERR (Еггог)  -  индикатор ошибки выполнения предыдущей операции. Дополнительная информация содержится в регистре ошибок. Если установ­лен бит ЕRR, до приема следующей команды, программного или аппаратного сброса устройство не изменит состояние этого бита, а также регистра ошибок, регистра количества секторов и регистров цилиндра, головки и номера секто­ра. Для команд Packet и Service бит называется CHK и служит признаком ис­ключительной ситуации. В стандарте АТА/АТАРI-4 для некоторых команд биты 4 и 5 могут иметь иное назначение, а биты 1 и 2 объявлены устаревшими.

Регистр команд СR (1F7h, 177h) – его назначение очевидно из названия. Устройство начинает исполнять команду сразу, после записи кода команды в регистр CR.

После включения электропитания, по окончании сигнала начального сброса (power on reset), или после аппаратного сброса (hardware reset) по сигналу RESET, или  после программного сброса (software reset) по установке бита SRST регистра DC — выполняется самотестирова­ние, запускается двигатель, проверяется механика, устанавливаются парамет­ры умолчания, интерфейс и регистры сбрасываются в исходное состояние.

После любого «сброса» или выполнения команды диагностики устройство АТА в блоке командных регистров содержит сигнатуру, определяющую его тип:  SC=01h, SN=01h, CL=00h, CH=00h, DH=00h. Основной функцией контроллера жесткого диска является отработка определенного для него разработчиком набора команд. В системе команд контроллера жесткого диска имеются служебные команды для идентификации и управления свойствами устройств, включая возможность обновления встроенного программного обеспечения (микрокода). Эти команды позволяют получить подробнейшую информацию об устройстве, в том числе и по средствам защиты от несанкционированного доступа к накопителю.

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

Новый блок регистров 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, ошибки, обрабатываемые обычным программным

обеспечением:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ном уровне при корректном CRC-коде).

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

Регистр 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.

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

 


Лицензия