IDE ATA/ATAPI контролери


Частина 1


Сьогодні, шановні читачі, я б хотів поговорити з Вами про те, що таке ATA/ATAPI контролери, звідки з'явився інтерфейс IDE і що це таке?

Для початку давайте з Вами засвоїмо необхідний мінімум теорії. Колись дуже давно (ще в минулому тисячолітті :)) фірма «Western Digital» розробила паралельний інтерфейс підключення жорстких дисків.

Новим і важливим у цьому було те, що контролер (який керував усіма операціями вводу-виводу) був інтегрований в сам привід, а не винесений у вигляді окремої плати розширення, як раніше. Це дозволяло:

  • прискорити роботу пристрою
  • здешевити виробництво
  • і спростити схему обміну даними з накопичувачем
  • Давайте відразу розберемо основні абревіатури, щоб потім не плутатися. Спочатку інтерфейс отримав назву «IDE» (Integrated Drive Electronics - "Диск з вбудованим контролером"), але проблема полягала в тому, що це було занадто загальне визначення, під яке могло підійти багато чого, що має «диск» і «контролер». У зв'язку з цим був розроблений стандарт, який отримав назву «ATA» (анг. AT Attachment). Після появи пристроїв SATA, цю назву було змінено на PATA (Parallel ATA).

    Багато комп'ютерники іноді кажуть IDE замість ATA або - навпаки. В принципі, це - одне і те ж, просто правильніше - ATA :)

    Спочатку стандарт працював тільки з жорсткими дисками, але потім був змінений для роботи і з іншими пристроями. До таких пристроїв відносяться приводи CD і DVD-ROM, магнітооптичні диски стрічкові накопичувачі. Цей новий (розширений) стандарт став називатися «Advanced Technology Attachment Packet Interface» (ATAPI), і тому повна його назва виглядає як «ATA/ATAPI».

    Ось як виглядають роз'єми цього зразка на материнській платі (два нижніх, верхній - флоппі диск):


    IDE контроллеры - разъемы на плате

    Даний інтерфейс розвивався в часі і одним із значущих етапів став перехід від програмного введення-виведення даних (PIO - Programmed input-output) до прямого доступу до пам'яті (DMA - Direct Memory Access). Що це означає? При використанні програмного методу вводу-виводу зчитуванням даних з диска керував центральний процесор, що призводило до абсолютно зайвою на нього навантаженні, так як ЦП доводилося займатися ще і дисковими операціями.

    У той час пальму першості тримав інтерфейс обміну даними, що носить назву скази («SCSI» - Small Computer System Interface). Він вигідно відрізнявся високою швидкістю передачі і застосовувався у високопродуктивних серверних платформах. Тому режим DMA для пристроїв IDE став потужним поштовхом для подальшого розвитку стандарту.

    При прямому доступі до пам'яті потоком даних управляє вже сам накопичувач, зчитуючи дані в пам'ять і назад без участі процесора. Роль останнього зводиться лише до віддачі команд на виконання тієї або іншої дії. При цьому жорсткий диск видає сигнал запиту на операцію прямого доступу до пам'яті. Якщо операція доступу даний момент можлива, контролер дає "добро" і диск починає видавати дані, а контролер зчитує їх в оперативну пам'ять (без участі CPU).

    Ось, до речі, як виглядає плата типового контролера, що встановлюється виробниками на свої вироби:


    Плата контроллера жесткого диска

    Головний чіп тут - MCU (Microcontroller Unit), він і здійснює управління всіма операціями вводу-виводу накопичувача і контролює його роботу.

    Примітка: Операція прямого доступу до пам'яті можливе лише тоді, коли такий режим роботи підтримується одночасно «BIOS», контролером і операційною системою. Інакше система буде працювати використовуючи попередній режим програмного введення-висновку (PIO).

    Всю хронологію розвитку і досягнень на шляху становлення ATA інтерфейсу можна представити у вигляді наступної зведеної таблиці.


    История развития стандарта ATA

    Як бачите (з другої колонки) швидкості обміну даними через інтерфейс постійно збільшувалися, що, у свою чергу, на етапі впровадження ревізії «Ultra ATA Mode 4» (він же - Ultra DMA/66 зі швидкістю передачі 66 мегабайт в секунду) викликало необхідність впровадження нового кабелю з подвоєною кількістю провідників (четверта колонка в таблиці).

    Для порівняння - обидва кабелі поруч:


    Шлейфы данных ATA

    На колір не звертайте уваги :) Кабель зліва має 80 жив (провідників), праворуч - 40. Як ми бачимо з таблиці, раніше всі кабелі мали саме 40 жив. Але справа в тому, що із зростанням швидкостей передачі даних різко зросла роль взаємних перешкод і наведень окремих провідників в кабелі один на одного.

    Саме тому був введений новий кабель. Причому всі додаткові двадцять пар його проводів це - провідники заземлення (Ground), що чергуються з провідниками інформаційними. Таке чергування зменшує ємнісну зв'язок між окремими жилами і, таким чином, скорочує взаємні наведення. Та й якщо подумати логічно, що там ще може бути, якщо самих контактів (контакти) на пристрої залишилося все так само 40 (без урахування "ключа") - по одному на кожен провід. Наступним (більш швидким режимів) «UDMA5» і «UDMA6» також був потрібний 80-жильний кабель.

    Зверніть Вашу увагу на колодки обох кабелів. У них є "ключ" (пластмасовий «П» подібний виступ), який виключає неправильне підключення до роз'єму. Мало того, у 80-ти жильного кабелю на інтерфейсі відсутня одна з центральних гнізд (на материнських платах тоді почали встановлювати спеціальний IDE-роз'єм без центрального контакту), який також виконує функцію додаткового "ключа".

    Але, - продовжимо, щоб закінчити тему про кабелях. При збільшених швидкостях передачі даних з'являється ще одне обмеження - на максимально допустиму довжину кабелю. Стандарт ATA завжди встановлював цю межу в 46 див. У продажу, наприклад, широко поширені кабелі від 44 до 48-ми сантиметрів. Зустрічаються також вироби відверто перевищують рекомендований межа і, як Ви розумієте, їх використання навряд чи можна рекомендувати.

    Щоб більш повно висвітлити тему додам, що бувають ще, так звані, "круглі" ATA шлейфи.


    Нестандартный IDE шлейф

    Виглядають вони більш благородно, ніж свої "плоскі" побратими, але, Ви ж розумієте, що це знову - не стандарт, а - виріб сторонніх виробників, яке повинно забезпечувати роботу на відповідних швидкостях і відповідати заявленим характеристикам. Нам треба розуміти, що ключове слово тут повинно ! :)

    На шляху свого розвитку стандарт ATA подолав багато перешкод, які були закладені саме "в залізі". Спочатку це було обмеження, пов'язане з геометрією накопичувача. Стандартний PC BIOS підтримував жорстко визначене гранично можливе число голівок, секторів і циліндрів з яких складаються жорсткі диски (максимально адресуемый розмір простору дорівнював тоді 528 мегабайт).

    Це апаратне обмеження було подолано введенням не фізичної (як раніше), а логічної (умовної) адресації, не має вже нічого спільного з реальною геометрією накопичувача. З'явилися режими роботи для "великих" дисків «Large» і його наступник - «LBA» (Logical Block Address). Це дозволяло адресувати використовувати вже 8,46 гігабайти дискового простору.

    З часом, коли обсяг жорстких дисків знову збільшився, було подолано і це обмеження і планка піднялася до 32-х гігабайт, а потім (з введенням 28-ми бітного режиму адресації) - до небаченого раніше обсягу 137 гігабайт ! :) Запис 28-ми бітного числа, організована методом вписування його окремих частин у відповідні регістри самого диска. Останні специфікації ATA підтримували вже 48-ми бітну адресацію, розширюючи можливий межа адресації до 144-х петабайт (1 петабайт - 1024 терабайта).

    І тут, здавалося б, коли всі обмеження на обсяг використовуваних дисків були так героїчно подолані з'ясувалося, що паралельний інтерфейс ATA (у тому вигляді, в якому він існує на даний момент) не підходить для подальшого розвитку стандарту. Спроби збільшити його пропускну здатність зводяться на немає виникають внаслідок збільшених швидкостей наведеннями в кабелі. Вкорочувати сам кабель? Теж не вихід з положення.

    І ось тут на сцену виходить новий стандарт передачі даних - «SATA» (Serial ATA).


    Новые разъемы SATA

    Це - перероблений, і покращений варіант попереднього стандарту. Як Ви пам'ятаєте, АТА - паралельний інтерфейс (Parallel), в той час як SATA - послідовний (Serial). У цей час і відбувається перейменування відживаючого своє «ATA» в «PATA» (Parallel ATA), однозначно вказуючи, таким чином, що це - паралельний інтерфейс передачі даних.

    Незважаючи на те, що послідовний спосіб передачі повільніше, в даному випадку це компенсується можливістю роботи на більш високих частотах. Відпадає необхідність в синхронізації каналів. Також сам інтерфейсний кабель набагато більш помехоустойчив (всі його 7 жив окремо екрановані). Це, в свою чергу, дало можливість довести максимальну довжину кабелю до одного метра.

    У стандарті «SATA» Змінився також сам принцип передачі даних. Він отримав назву LVDS - низьковольтна диференціальна передача сигналів (англ. low-voltage differential signaling). Підвищення швидкості передачі і використання самосинхронизирующихся кодів дозволяють відправляти більше даних за меншої кількості проводів, ніж у випадку паралельної шини.

    За час свого існування нова специфікація встигла змінити кілька ревізій (поколінь), які характеризуються все збільшується пропускною здатністю інтерфейсу.

  • SATA-1 150 МБ/с (мегабайт в секунду)
  • SATA-2 300 МБ/с (мегабайт в секунду)
  • SATA-3 600 МБ/с (мегабайт в секунду)
  • Тут треба зрозуміти наступне: всі ці шалені швидкості це - швидкість передачі даних по інтерфейсного кабелю (від контролера, з використанням попереднього кешування і т. д.). І яка б велика цифра тут не була написана, реально нас повинна цікавити швидкість читання/запису безпосередньо з самих пластин (блінов) жорсткого диска. Адже саме вона є вузьким місцем у його швидкодії. Інша справа, що в нових моделях реалізовані більш досконалі алгоритми роботи з даними, оптимізована робота з кеш пам'яттю пристрою і т. д.

    На даний момент (в стандартних настільних конфігураціях) Ви навряд чи побачите швидкість читання з пластин, що перевищує 100-120 мегабайт в секунду. Як бачите, ця цифра тільки зараз підійшла до межі пропускної здатності старого стандарту Ultra ATA 133 (133 мегабайта в секунду). Як ми говорили вище, швидкості передачі SATA досягаються за рахунок іншого, а всі ці "300" і "600" мегабайт в секунду (три і шість гігабіт у секунду, відповідно) - робота на перспективу (твердотільні SSD накопичувачі), а при їх надмірному випинанні - безглузда реклама, сбивающая з пантелику непідготовленого користувача.

    Про що це ми? Ах, так! Про переваги сата: треба також пам'ятати, що кожне SATA пристрій розташовується на окремому каналі (контролер), тому відпадає необхідність в їх конфігуруванні з допомогою перемичок (джамперів).

    Хоча, справедливості заради варто відзначити, що на ранніх етапах впровадження нового стандарту на SATA жорстких дисках можна було виявити джампери, але вони використовувалися рідко і то лише для примусового переведення накопичувача SATA-2 в режим SATA-1 (для сумісності з першим поколінням контролерів).

    Ось так друзі, коротко ми розібрали основні поняття, пов'язані з інтерфейсом ATA/ATAPI. Тепер сміливо натискайте на посилання "наступна", переходимо до практичної частини матеріалу.

    Про те, як правильно підключати кабелі передачі даних, дивіться у відео нижче: