Реферат - Інтерфейс ATAPI
1.doc (1 стор.)
Оригінал Зміст
Введення. 2
Походження та призначення шини ATA / ATAPI. 3
Специфікації інтерфейсів ATA / ATAPI 3
Адресація блоків даних 4
Фізичний інтерфейс 5
80-дротові кабелі для UltraDMA 6
Протоколи взаємодії з пристроями 6
Традиційні протоколи (одиночні команди) 6
Перекриття команд і використання черг при роботі з пристроями ATA / ATAPI 7
Система команд ATA / ATAPI 8
Команди доступу до даних АТА 10
Пакетний інтерфейс ATAPI 11
^ Робота зі змінними носіями 12
Підтримка флеш-пам'яті і малогабаритних карт 13
Управління енергоспоживанням і шумом 13
Захист даних 14
Журнали помилок і подій 14
Список літератури 15
Введення.
Апаратне і програмне забезпечення (елементи з'єднання та допоміжні схеми управління, їх фізичні, електричні і логічні параметри), призначене для сполучення систем або частин системи (програм або пристроїв), називають
інтерфейсом. Під сполученням маються на увазі наступні функції: видача та прийом інформації; управління передачею даних; узгодження джерела і приймача інформації.
ATA (англ. Advanced Technology Attachment, «Приєднання по просунутої технології») - паралельний інтерфейс підключення накопичувачів (жорстких дисків і оптичних приводів) до комп'ютера.
Первісна версія стандарту була розроблена в 1986 році фірмою Western Digital і з маркетингових міркувань отримала назву IDE (Integrated Drive Electronics, «Електроніка, вбудована в привід»). Воно підкреслювало важливе нововведення: контролер приводу розташовується в ньому самому, а не у вигляді окремої плати розширення, як у попередньому стандарті ST-506 і існували тоді інтерфейсах SCSI і ST412. Це дозволило: поліпшити характеристики накопичувачів (за рахунок меншого відстані до контролера), спростити управління ним (оскільки контролер каналу IDE абстрагувався від деталей роботи приводу) і здешевити виробництво (контролер приводу міг бути розрахований тільки на "свій" привід, а не на всі можливі; контролер каналу ставав стандартним).
Інтерфейс ATA (AT Attachment - підключення до ПЕОМ PC AT кінця 1980-х - початку 1990-х років) був розроблений для підключення жорстких дисків з власними вбудованими контролерами (Integrated Device або Drive Electronics). Тому і зараз, говорячи про таких дисках, можуть використовувати обидва терміни: IDE або ATA, маючи на увазі один і той же тип дисків, хоча поява послідовного інтерфейсу Serial ATA порушило однозначність відповідності цих термінів.
ATAPI (ATA Packet Interface) - стандарт, створений для того, щоб дозволити таким пристроям, як дисководи CD-ROM або стримери, підключатися безпосередньо до ATA портів - дешево і без необхідності спеціальних контролерів, як це було раніше.
З'явилися протоколи ATAPI, сталася серйозна чистка ATA від старих і вже не потрібних команд і можливостей, а натомість з'явилося багато інших, невеликих, але суттєвих. З'явився новий протокол передачі даних, multiword DMA mode 3, названий UltraDMA (прямий доступ до пам'яті) куди більш високої пропускної здатності ATA (до 33 Мбайт / с), а також дозволити забезпечити цілісність переданих на такій швидкості через стандартний 40-жильний кабель даних ( шляхом використання CRC).
^
Походження та призначення шини ATA / ATAPI.
Стандарт EIDE (англ. Enhanced IDE - «розширений IDE»), що з'явився слідом за IDE, дозволяв використання приводів місткістю, що перевищує 528 Мб (504 МІБ), аж до 8,4 Гб. Хоча ці абревіатури виникли як торгові, а не офіційні назви стандарту, терміни IDE і EIDE часто вживаються замість терміна ATA. Після введення в 2003 році стандарту Serial ATA («послідовний ATA»), традиційний ATA стали іменувати Parallel ATA, маючи на увазі спосіб передачі даних по паралельному 40 - або 80-жильний кабель.
Спочатку цей інтерфейс використовувався з жорсткими дисками, але потім стандарт був розширений для роботи і з іншими пристроями, в основному - використовують змінні носії. До числа таких пристроїв відносяться приводи CD-ROM і DVD-ROM, стрічкові накопичувачі, а також дискети великої ємності, такі, як ZIP і магнітооптичні диски (LS-120/240). Цей розширений стандарт отримав назву
Advanced Technology Attachment Packet Interface (ATAPI), у зв'язку з чим, повне найменування стандарту виглядає як
ATA / ATAPI. ATAPI являє собою апаратно-програмний інтерфейс, для того, щоб пристрої, відмінні від жорстких дисків, могли використовувати для підключення і роботи стандартний IDE / ATA інтерфейс. Це робить їх для системи практично не відрізнятись від звичайних жорстких дисків.
Специфікація
ATAPI дозволяє передавати
пакет, що містить
командний блок (звідки і частина назви PI - Package Interface). Структура командного блоку запозичена з SCSI, його вміст визначається типом підключеного пристрою: стрічкового, оптичного (CD, DVD), магнітооптичні і т. п.
Набір додаткових команд
CFA (Compact Flash Association) введений для пристроїв зберігання на флеш-пам'яті.
^
Специфікації інтерфейсів ATA / ATAPI
Розробкою специфікацій
ATA / ATAPI займається технічний комітет Т13 (колись - Т10) Інтернаціонального комітету з стандартизації в області інформаційних технологій (INCITS). Розроблені ним специфікації оформлюються у вигляді стандартів ANSI. Розвиток інтерфейсу відображає історія специфікацій:
АТА (пізніше названий АТА-1) - перший стандарт (1994 р.), вироблений американським комітетом ХЗТ10, визначає набір регістрів пристроїв і призначення сигналів 40-контактного інтерфейсного роз'єму.
^ АТА-2 - розширена специфікація АТА. Включає 2 канали, 4 пристрої, PIO Mode 3, Multiword DMA Mode 1, Block mode, обсяг диска - до 8 Гбайт (подолання 528-мегабайтного бар'єру), підтримка LBA і CHS.
Fast АТА-2 дозволяє використовувати Multiword DMA Mode 2 (13,3 Мбайт / с), PIO Mode 4.
ATA -3 - розширення АТА-2. Включає засоби парольного захисту, поліпшеного управління живленням, самотестування з попередженням наближення відмови (SMART).
ATA/ATAPI-4 - розширення АТА-3, що включає режими UltraDMA Mode 0 ... 2 зі швидкістю обміну до 33 Мбайт / с і пакетний інтерфейс ATAPI. Додана підтримка черг і можливість перекриття команд.
ATA/ATAPI-5 - ревізія ATA/ATAPI-4: видалені застарілі команди і біти, додані нові можливості захисту і управління енергоспоживанням. Введені режими UltraDMA Mode 3, 4 зі швидкістю обміну до 66 Мбайт / с.
ATA/ATAPI-6 - доповнення до ATA/ATAPI-5: 48-бітна адресація в режимі LBA, управління акустичним шумом, режим UltraDMA Mode 5 зі швидкістю обміну 100 Мбайт / с.
ATA/ATAPI-7 - проект стандарту, об'єднуючого паралельний і послідовні варіанти інтерфейсу. Стандарт складається з трьох томів:
том 1 - загальний командний рівень (система команд ATA / ATAPI). Описується система команд, що передаються через регістри (АТА), і наводяться посилання на стандарти для пакетних команд (SCSI, потокові, мультимедійні та для пристроїв зі змінними носіями). У систему команд АТА вводиться потокове розширення для читання-запису аудіо-і відеоданих, а також підтримка довгих блоків (розміром більше 512 байт);
том 2 - транспортний і фізичний рівні паралельного інтерфейсу. Наводиться детальний опис кабелів, конекторів і інтерфейсних ланцюгів. Введений режим UltraDMA Mode 6 зі швидкістю обміну до 133 Мбайт / с;
том 3 - транспортний, канальний і фізичний рівні послідовного інтерфейсу (відповідає специфікації Serial АТА 1.0).
^
Адресація блоків даних
У пристроях
ATA / ATAPI мінімальної адресується одиницею даних є
логічний блок, як правило, розміром 512 байт. Для традиційних дискових пристроїв АТА блок є
сектором. Для дискових пристроїв застосовні два способи адресації даних: тривимірна адресація (CHS) і лінійна адресація (LBA). З пристроями
ATAPI робота можлива тільки за лінійним адресою.
Лінійна (логічна) адресація
(LBA)-адресу блоку (сектору) визначається одним числом в діапазоні
0 ... N - 1, де N - ємність пристрою зберігання (у блоках). Межа адресується обсягу визначається розрядністю логічного адреси і ємністю пристрої:
32-бітна адреса, використовуваний пристроями ATAPI, дозволяє адресувати до 2 32 - 1 = 4294967295 секторів, що при розмірі сектора в 512 байт дає 2 199 023 255 040 байт (близько 2,2 Тбайт). Доступна ємність пристрою визначається посилкою пакета з SCSI-командою, відповідної класу даного пристрою.
48-бітний розширений адресу пристроїв АТА, введений в ATA/ATAPI-6 і Serial АТА, дозволяє адресувати до 2 48 - 1 = 281 474 976 710 655 секторів - 144 115 188 075 854 848 байт (близько 144 Пбайт).
Дескриптори команд SCSI, використовувані в ATAPI, підтримують і 64-бітову адресацію логічного блоку.
^
Фізичний інтерфейс
Паралельний інтерфейс АТА являє собою шину, в якій всі сигнали відповідають стандартній логіці ТТЛ:
високий рівень вихідного сигналу - не нижче 2,4 В (при струмі до 400 мкА, сигнал DMARQ - до 500 мкА), низький рівень - не вище 0,5 В (при струмі 4 мА, для лінії DASP для сумісності зі старими пристроями - 12 мА);
високий рівень вхідного сигналу - не нижче 2,0 В, низький рівень - не вище 0,8 В.
Специфікація АТА «узаконює» як 40-контактний інтерфейсний роз'єм, так і 4-контактний роз'єм живлення, але для малогабаритних пристроїв харчування може подаватися по 44-проводовому інтерфейсного кабелю. Поруч з інтерфейсним роз'ємом на пристроях можуть розташовуватися конфігураційні джампери адресації (С5, 5L, МЛ), а також аналоговий
або цифровий
аудіовихід приводів CD / DVD.


Для більшості пристроїв застосовується 40-контактний роз'єм з кроком контактів 2,54 мм. Поруч з ним можуть розташовуватися додаткові контакти, службовці для конфігурування пристрою і технологічних цілей (діагностики та інших операцій, які виконуються по службовому послідовному інтерфейсу). Специфікація
ATA / ATAPI передбачає два
варіанти. Тут порожнім квадратом позначені позиції ключових (пропущених) висновків, контакти 1-40 використовуються для інтерфейсу, а контакти А-Н - для установки джамперів і технологічних цілей.

Додаткові контакти на роз'ємах інтерфейсу АТА:
а - SFF 8057, б
- SFF 8058,
в - SFF 8212 (50-контактний роз'єм)
Для мініатюрних пристроїв призначений 50-контактний роз'єм з кроком висновків 2 мм.
^
80-дротові кабелі для UltraDMA
Для стійкої роботи в режимі UltraDMA рекомендується застосування
80 - n роводних кабелів, що забезпечують чергування сигнальних ланцюгів і проводів схемної землі
(GND). Такі кабелі потрібні для режимів UltraDMA вище 2 (швидкість вище 33 Мбайт / с).
Присутність 80-проводового кабелю повинно бути програмно визначено до включення режиму обміну UltraDMA Mode 3 і вище.
^
Протоколи взаємодії з пристроями
Протоколи взаємодії визначають послідовність дій, які повинен виконати драйвер для подачі команд і отримання результатів. Протоколи залежать від обраного режиму передачі даних (PIO, DMA, UltraDMA або FPDMA), а також від використання (або невикористання) механізму перекриття команд і черг. Режим обміну PIO підходить тільки для однозадачних ОС; для багатозадачних ОС більший інтерес представляє обмін за протоколом DMA і UltraDMA.
^
Традиційні протоколи (одиночні команди)
Традиційні протоколи працюють з пристроями однієї шини АТА черзі, без перекриттів (відключення пристроїв від шини) і черг. У цих протоколах можна виділити три етапи:
Посилка команди пристрою.
Передача даних.
3. Отримання даних про стан завершення команди (перевірка на відсутність помилок).
Під час виконання команди пристрій може виробляти
запити переривань в наступних випадках:
індикація початку передачі даних для кожного блоку (сектору) в режимі PIO;
індикація завершення всієї передачі для команди в режимі DMA;
індикація завершення (успішного або з помилкою) виконання команди.
Протокол взаємодії хоста з пристроєм при використанні режиму PIO виглядає наступним чином.
Хост читає регістр стану пристрою, чекаючи нульового значення біта BSY. Якщо присутні два пристрої, хост звертається до них «навмання» - дані про стан будуть повідомлятися останнім вибраним пристроєм.
Дочекавшись звільнення пристрою, хост записує в регістр D / H байт, у якого біт DEV вказує на пристрій, що адресується. Звернутися до пристрою можна тільки після звільнення обох пристроїв.
Хост читає основний чи альтернативний регістр стану адресованого пристрої, чекаючи ознаки готовності (DRDY = 1).
Хост заносить необхідні параметри в блок командних регістрів.
Хост записує код команди в регістр команд.
Пристрій встановлює біт BSY і переходить до виконання команди.
Подальші дії залежать від протоколу передачі даних, заданого командою.
Команди з
передачею даних в режимах DMA і
UltraDMA виконуються схожим чином, але з деякими винятками. Для передачі в умовах прямого доступу до пам'яті хост повинен ініціалізувати канал DMA до запису коду в регістр команд, щоб при появі сигналу
DMARQ почався обмін. Ініціалізація для контролерів PCI IDE включає ще й формування таблиці дескрипторів фізичних областей. Запит переривання в режимі DMA навіть для багатосекторних передач проводиться тільки один раз - по виконанні команди, що знову-таки робить цей режим більш вигідним для багатозадачних систем.
^
Перекриття команд і використання черг при роботі з пристроями ATA / ATAPI
Отримавши команду, яка допускає перекриття, пристрій може вести себе двояко:
виконувати команду таким же чином, слідуючи протоколу, описаного в попередньому розділі;
звільнити шину, якщо отримана команда вимагає виконання тривалих внутрішніх операцій (наприклад, позиціонування на носії).
Перекриття команд (звільнення шини) допускається тільки для команд
^ NOP (з подкомандой 01),
Packet, Read DMA Queued (Ext), Service і
Write DMA Queued (Ext). Для звільнення шини пристрій повинен скинути біти
DRQ і
BSY регістра стану. Після закінчення виконання внутрішньої операції пристрій встановлює біт
SERV у своєму регістрі стану, що означає його готовність до продовження виконання даної команди. Якщо хост має намір використовувати звільнилася шину для звернення до іншого пристрою, він повинен заборонити переривання від поточного вибраного пристрою, встановивши біт
nIEN в регістрі управління. Після цього він зможе працювати з іншим пристроєм тієї ж шини, подаючи йому команду або обслуговуючи виконання раніше поданої. При цьому він повинен переключити контекст DMA - вказати контролеру на таблицю дескрипторів передачі, що відноситься до цього пристрою.
Пристрої можуть підтримувати
черги команд, але лише для команд, що допускають перекриття (ці властивості тісно пов'язані). Якщо пристрій, отримавши команду, звільнило шину, то йому ж в чергу можна поставити наступну команду. При виникненні будь-якої помилки вся чергу скидається.
Нова команда ставиться в чергу лише при звільненій шині. Перед посилкою хост повинен заборонити переривання, а вирішити їх може тільки після посилки нової команди. Якщо для виконання команди пристрою не потрібно звільняти шину, команда виконується негайно, а що знаходяться в черзі команди, освободившие шину, будуть виконані пізніше. Якщо при непорожній черзі пристрій отримує команду, яка не допускає перекриття, команда відкидається (з відповідним бітом в регістрі помилок) та чергу скидається.
^
Система команд ATA / ATAPI
Стандарти
ATA / ATAPI і SATA описують систему команд, що передаються від хоста до пристрою по паралельному або послідовному інтерфейсу. Система команд була спочатку орієнтована на фіксовані накопичувачі на жорстких магнітних дисках (HDD), згодом вона «обростала» різними доповненнями, покликаними забезпечити підтримку зміни носіїв та інших типів носіїв (CFA і малогабаритні флеш-карти). Завдяки лише одній команді
Packet, система команд АТА отримала можливість майже необмеженого розширення (ATAPI) за рахунок передачі командного пакета SCSI по інтерфейсу ATA / SATA.
У таблиці наведена система команд
ATA/ATAPI-6 і SATA II: назву, призначення, застосовність і використання регістрів. Графа «Протокол» визначає протокол передачі даних, необхідний для команди:
PI - введення даних від пристрою в режимі РIO;
РВ - висновок даних на пристрій в режимі РIO;
Р - протокол передачі командного пакета (16 байт виведення в режимі PIO);
DM - обмін даними по каналу DMA;
DMQ - обмін DMA з чергами;
FPDMA - з чергами NCQ;
ND - немає обміну даними;
DR - протокол скидання;
VS - специфічно для пристрою.
^
Таблиця Система команд ATA / ATAPI і SATA
|
| ^ Тип, історія
|
| Використання регістрів
|
|
| ATA
| ATAPI
|
| FR
| SC
| SN
| CH, CL
| D / H
|
Acknowledge Media Change - підтвердження зміни носія
| VS
| Д.УЗ, і5
|
| DBh
|
|
|
|
| D
|
Boot - Post-Boot - після завантаження носія
| VS
| Д. УЗ, і5
|
| DCh
| -
| -
| -
| -
| D
|
Boot - Pre-Boot - до завантаження носія
| VS
| Д.УЗ, і5
|
| DDh
| -
| -
| -
| -
| D
|
CFA Erase Sectors - стирання секторів
| ND
| Д4
| Н
| COh
| -
| j
| i / o
| i / o
| i / o
|
CFA Request Extended Error Code - читання розширеного коду помилки
| ND
| Д4
| н
| 03h
| 0
| 0
| 0
| 0
| i / o
|
CFA Translate Sector - отримання інформації про стан сектору
| PI
| Д4
| н
| 87h
|
|
|
|
| D
|
^ CFA Write Multiple Without Erase - множинна запис без операції стирання (у попередньо стерті сектори)
| PO
| Д4
| н
| CDh
|
|
| i / o
| i / o
| i / o
|
CFA Write Sectors Without Erase - запис без операції стирання (у попередньо стерті сектори)
| PO
| Д4
| н
| 38h
|
|
| i / o
| i / o
| i / o
|
Check Media Card Type
| ND
| F6
| F6
| D1h
| i
| 0
| 0
| 0
| 0
|
Check Power Mode - перевірка режиму енергоспоживання
| ND
| Д, 04
| 04
| E5h (98h) 1
| -
| 0
| -
| -
| D
|
^ Device Configuration - управління конфігурацією пристрої
| ND / PI
| F6
| F6
| B1h
|
|
| -
| -
| D
|
Device Reset - скидання пристрою ATAPI
| DR
| Н
| 04
| 08h
| -
| 0
| 0
| 0
| D
|
Door Lock - заборона зміни носія
| VS
| Д.У4
| Д
| DEh
| -
| -
| -
| -
| D
|
Графа «Тип, історія» визначає характеристику команди роздільно для пристроїв АТА і ATAPI: ^ 0 - обов'язкова, Д - додаткова, Н - непридатна, F - обов'язкова для пристроїв з підтримкою набору спеціальних властивостей (feature set), У - застаріла, І - виключена. Цифра після букви означає номер версії специфікації ATA / ATAPI, в якій тип змінювався (S2 - SATA II). Графа «Код» містить шістнадцятковий код, що завантажується в регістр команди. У графі «Використання регістрів» прийняті наступні позначення: i - регістр містить параметри для команди, про - в регістрі передається результат. Для регістра D / H застосовуються додаткові позначення: D - використовується тільки біт D, DO - команда адресується до ведучого пристрою, але виконують її обидва пристрої, F - задіяний тільки біт FUA
^
Команди доступу до даних АТА
Команди доступу до даних АТА призначені для читання і запису пристроїв зберігання, логічно відповідних моделі жорсткого диска (HDD) з його регістрами і Посекторноє адресацією (з розміром сектора 512 байт). Для пристроїв інших класів мається альтернативний спосіб доставки команд і параметрів - команда Packet. За цією командою, використовуючи висновок у режимі РIO хост-адаптер передає пакет з блоком дескриптора команди.
^ Команди читання секторів в режимах обміну РIO і DMA - Read Sector (s) і Read DMA - дозволяють зчитувати послідовно розташовані сектори, кількість яких задано в регістрі SC.
^ Команда верифікації Read Verify Sector (s) на відміну від звичайного читання не передає дані від пристрою. У випадку помилки на адресу збійному сектора вказує блок командних регістрів. Запит переривання виконується після виконання команди.
^ Команди запису секторів Write DMA, Write Sector (s), Write Long, Write Multiple працюють аналогічно відповідним їм командам читання і також мають версії з повторами і без.
^ Команди блокового обміну Read Multiple і Write Multiple відрізняються від звичайних (з обміном PIO) тим, що запити переривання виробляються не на кожен сектор, а на блок секторів, розмір якого заданий командою
Set Multiple Mode. Команди з розширеною адресацією (з суфіксом
^ Ext) використовують подвійні командні регістри
CH, CL, SN і
SC, в яких розміщується лінійний бітний адресу (LBA
-48). В цих командах регістр
D / H використовується тільки для створення номера пристрою.
Команди, що виконуються
з постановкою в чергу (Read DMA Queued (Ext), Write DMA Queued (Ext)), повинні супроводжуватися командою
Service, яка служить для визначення тега виконаної команди.
Допоміжне призначення мають
команди пошуку. По команді пошуку
Seek пристрій встановлює головки на заданий циліндр / трек і зчитує ідентифікатор сектора.
^ Потокове розширення команд Традиційно головною якістю пристроїв зберігання даних є їх здатність надійно (достовірно) зберігати дані. Якщо при читанні (запису) блоку даних відбувається помилка, то пристрій автоматично виконує серію повторних звернень до носія, внаслідок чого найчастіше вдається отримати достовірний результат. Однак при цьому виникає непрогнозована затримка доставки даних, яка вкрай небажана для мультимедійних додатків, що виконують запис або читання аудіо-і відеоданих в реальному часі. У специфікацію
ATA/ATAPI-7 передбачається ввести потокове розширення системи команд (streaming feature set).
Потоком називається безперервна послідовність логічних блоків, які повинні бути лічені або записані з певним допустимим часом. Для потоків вводяться нові команди читання і запису в режимах РIO і DMA, а також новий журнал повідомлень про помилки потокових команд. Потокові команди дозволяють управляти поведінкою пристрої у випадку виявлення помилок, а також «підказувати» влаштуванню правильну політику кешування. Зауважимо, що раніше потокове розширення в дещо іншому вигляді (Audio Visual Data features, AV) планувалося ввести в
ATA/ATAPI-6, але в остаточну версію цього стандарту команди не увійшли.
^
Пакетний інтерфейс ATAPI
Для підключення до інтерфейсу АТА приводів CD / DVD і стримерів (а також інших пристроїв) недостатньо набору регістрів і системи команд АТА. Для них існує апаратно-програмний інтерфейс
ATAPI (АТА Package Interface - пакетний інтерфейс АТА). Пристрій ATAPI підтримує мінімальний набір команд АТА, який необмежено розширюється 16-байтним
командним пакетом. Командний пакет посилається хостом в регістр даних пристрою (в режимі PIO) по команді
Packet. Структура командного пакета (блок дескрипторів) походить від SCSI, що забезпечує схожість драйверів для пристроїв з інтерфейсами SCSI і ATAPI. При будь-якій довжині блоку дескрипторів, яка визначається кодом команди (нульовий байт пакета), переданий пакет має довжину 16 байт, але використовується тільки вказану кількість байтів. Класифікація пристроїв збігається з прийнятої в
SCSI, клас пристрою повідомляється їм на початку блоку параметрів ідентифікації. Систему команд і структуру пакетів стандарт ATA / ATAPI не описує, але для кожного класу пристроїв в SCSI визначений стандартизований набір команд з певною структурою пакетів.
Отримавши команду Packet, пристрій встановлює біт зайнятості BSY і готується прийняти пакет. За готовності до прийому воно встановлює біт DRQ і скидає біт BSY, що є сигналом хосту для передачі пакета в режимі PIO. Під час передачі останнього слова пристрій скидає біт DRQ, встановлює біт BSY і починає відпрацювання пакетної команди.
^ При подачі команди Packet регістр властивостей FR містить ознаки команди:
(регістри ATAPI-контролера перераховані в таблиці 1):
біт 0 - DMA - є вказівкою на використання режиму DMA або Ultra-DMA для обміну даними;
біт 1 - 0VL - є ознакою можливості перекриття команд.
Регістри СН і CL містять ліміт лічильника байтів даних, переданих по кожному введенню біта DRQ в режимі PIO.
Регістр D / H використовується тільки для вибору пристрою. Для пристроїв, що підтримують черги команд, біти [7:3] регістра SC містять тег завдання (Tag).
^ Після подачі команди регістр SC крім тега буде містити наступні біти:
біт 2 - REL (Release) - ознака звільнення шини (для перекриваються команд);
біт 1 - I / O (Input / Output) - покажчик напрямку передачі даних (0 - передача до пристрою, 1 - до хосту);
біт 0 - C / D (Command / Data) - ознака передачі команди (1) або даних (0). У регістрі стану SR деякі біти отримують нове призначення:
біт 5 - DMRDY (DMA Ready) - при DRQ = 1 використовується як ознака готовності до обміну в режимі (Ultra) DMA, при DRQ = 0 є ознакою відмови пристрою DF (Device Fault);
біт 4 - SERV (Service) - ознака готовності до обслуговування команди, яка звільнила шину;
біти 1, 2 не використовуються;
біт 0 - РНК (Check) - ознака помилки. Решта біти зберегли звичайне призначення.
Після подачі команди Packet хост визначає стан пристрою, прочитавши його регістри.
Таблиця 1. Регістри ATAPI-контролера
Адреса регістра
| Мета реєстру
|
Канал 1
| Канал 2
| Режим читання
| Режим запису
|
0x1F0
| 0x170
| Дані (DR)
|
|
0x1F1
| 0x171
| Помилка (ER)
| Регістр властивостей (FR)
|
0x1F2
| 0x172
| Причина переривання (IR)
|
|
0x1F3
| 0x173
| Не використовується
|
|
0x1F4
| 0x174
| Молодший байт лічильника байтів (CL)
|
|
0x1F5
| 0x175
| Старший байт лічильника байтів (CH)
|
|
0x1F6
| 0x176
| Вибір пристрою (DS)
|
|
0x1F7
| 0x177
| Стан (SR)
| Команда (CR)
|
^
Робота зі змінними носіями
Для накопичувачів зі змінними носіями в АТА-2 були призначені команди завантаження і вивантаження, підтвердження зміни носія, блокування та розблокування пристрою -
Boot - Post-Boot, Boot - Pre-Boot, Media Eject, Acknowledge Media Change, Door Lock, Door Unlock. Їх реалізація специфічна для кожної моделі пристрою.
У АТА-4 прийнято інший набір команд для змінних носіїв. Тут може працювати один з двох механізмів (наборів властивостей) захисту від несанкціонованої зміни носія, назви яких важко піддаються легко помітному перекладу:
Removable Media Status Notification - повідомлення про стан змінного носія, застосовне до пристроїв і АТА, і ATAPI;
Removable Media - змінний носій, тільки для не пакетних пристроїв.
У будь-який момент у пристрої може бути дозволений тільки один з цих механізмів.
^
Підтримка флеш-пам'яті і малогабаритних карт
Для запам'ятовуючих пристроїв на флеш-пам'яті в АТА-4 ввели команди, що починаються з абревіатури CFA (Compact Flash Association - асоціація виробників компактних флеш-карт). Специфіка цих пристроїв полягає в запису: запис забезпечується лише в попередньо стерті осередки, хоча є пристрої, автоматично здійснюють стирання при записі. Операція запису виконується значно повільніше, ніж читання, швидкість якого наближається до швидкості читання динамічної пам'яті. Операція стирання займає ще більше часу. Тому ввели команди запису в попередньо стерті сектори
- CFA Write Without Erase і
CFA Write Multiple Without Erase (сектор),
^ В
ATA/ATAPI-6 введена підтримка адаптерів малогабаритних карт пам'яті (ММС, Smart Media, SD ...). Адаптер являє собою міст, що транслює команди з інтерфейсу АТА (SATA) на специфічний інтерфейс карти. Для спрощення моста визначений діапазон кодів команд (D2h. .. D4h), трансльованих мостом. Ці команди специфічні для кожного типу карт.
^
Управління енергоспоживанням і шумом
Засоби управління енергоспоживанням (Power Management) були закладені ще в першій специфікації АТА, в
ATA/ATAPI-4 вони вже вважаються обов'язковими. Розрізняють такі стани, перелічені в порядку зростання енергоспоживання:
Sleep - «заснулого» пристрій споживає мінімум енергії, команди не сприймаються, «розбудити» його може тільки скидання.
Standby Mode (Черговий режим) - пристрій здатний приймати команду по інтерфейсу, але для доступу до носія може знадобитися настільки ж великий час. В цей стан пристрій може перейти як по команді, так і по таймеру (Standby Timer), відраховувати час від останнього запиту, отриманого в стані очікування або активному стані. Час спрацьовування таймера програмується; таймер може бути заборонений.
Idle Mode (Стан очікування) - пристрій здатний відразу почати обслуговування обігу до носія, але не дуже швидко, так як деякі вузли відключені.
Active Mode (Активний режим) - пристрій обслуговує всі запити за найкоротший час.
^ В
ATA/ATAPI-5 + ввели можливість переходу в стан
Standby при включенні живлення -
Power - Up In Standby. Це відбувається по подкоманде Set Features. При цьому знижується пікове навантаження на блок живлення в момент включення.
^ В
ATA/ATAPI-6 з'явилася нова можливість
автоматичного управління рівнем акустичного шуму (automatic acoustic management), видаваного пристроєм при роботі. Для цього вводяться спеціальні подкоманди Set Features, що задають рівень управління шумом (acoustic management level).
^
Захист даних
Починаючи з АТА-3, в стандарт введена
група команд захисту - Security, її підтримка визначається по команді ідентифікації словом 128. Якщо захист підтримується, то пристрій повинен відпрацьовувати всі команди групи
Security. В плані захисту пристрій може знаходитися в одному з трьох станів:
Відкрито (unlocked) - пристрій виконує всі властиві йому команди.
Закрито (locked) - пристрій відкидає всі команди, пов'язані з передачею даних і зміною носія. В цей стан пристрій з встановленою захистом входить кожного разу по включенню живлення.
Заморожено (frozen) - пристрій відкидає всі команди управління захистом, але виконує всі інші.
Система захисту підтримує два паролі -
головний (master password) і
користувальницький (user password) - і два рівні захисту - високий (high) і максимальний (maximum). При
високому рівні захисту пристрій можна відкривати будь-яким із двох паролів. При
максимальному рівні пристрій відкривається тільки користувальницьким паролем, а по головному паролю доступна тільки команда стирання, при цьому
вся інформація з носія буде стерта. Команди захисту в АТА-4 доповнені обмеженням максимального адреси, доступного користувачеві (повідомлюваного в блоці параметрів ідентифікації). Обмеження забезпечується командою Set Max Address.
^ В
ATA/ATAPI-5 + команди Set Мах розширені (введено їх паролювання) за рахунок введення подкоманд, що задаються через FR. Ідея паролювання відрізняється від загального захисту: після включення живлення можна обмежити максимальний адресу (але тільки один раз) або ж обмежити доступ до цієї команди. Всі ці команди незастосовні до пристроїв зі змінними носіями.
^
Журнали помилок і подій
Журнали (logs) помилок і подій - це структури даних про стан пристрою, що зберігаються на носії пристрою в спеціальній зоні (не користувальницької). Журнали доступні у вигляді послідовності секторів. Журнали з'явилися в специфікації
ATA/ATAPI-5 спочатку для системи моніторингу стану. У
ATA/ATAPI-6 введені загальні команди читання і запису різних журналів.
^
Список літератури
Авдєєв В.А. Периферійні пристрої: інтерфейси, схемотехніка, програмування. - М.: ДМК Пресс, 2009.
Гук М. Апаратні засоби IBM PC. Енциклопедія. 3-е изд., - СПб.: Питер, 2006.
Гук М. Інтерфейси пристроїв зберігання: ATA, SCSI і інші. Енциклопедія. - СПб.: Питер, 2007.
Лапін А.А. Інтерфейси: вибір і реалізація. - М.: Техносфера, 2005.