Інтерфейс IDE (Integrated Drive Electronics)
Вступ
У сучасних комп'ютерах пристрої для запису даних і програм на магнітні диски (їх часто називають твердими дисками чи "вінчестерами") є основним засобом довгострокового збереження інформації, тому базові принципи роботи дискових пристроїв корисно знати кожному. Це допоможе більш раціонально організувати використання диска, продовжити термін його служби, а також позбутися від зайвих проблем при установці в комп'ютер додаткового диска чи заміні старого.
У сучасних персональних комп'ютерах найбільш поширена дискова підсистема IDE/ATA, тому ми здійснемо розгляд властивостей та можливостей цього інтерфейсу. Стандарт SCSI і його наступні реалізації Fast-SCSI і Wide-SCSI, також широко розповсюджені в сучасних системах (файлові сервери й інші високопродуктивні пристрої), вимагають окремого розгляду. Інші варіанти дискових інтерфейсів описані дуже коротко, скоріше як історичну довідку, ніж для роз'яснення принципів їхньої роботи.
Пристрій для збереження інформації на основі обертового магнітного диска було розроблено фірмою IBM на самому початку 70-х років. Цей громіздкий 14-дюймовий диск дозволяв записати 30 доріжок по 30 секторів у кожній з них; позначення диска "30/30" нагадувало назву широко розповсюдженої моделі рушниці фірми "Winchester", у результаті чого в англійській мові для позначення дискових пристроїв з незнімними дисками стали широко застосовувати слово "winchester". У 1973 році фірма IBM створила перший нагромаджувач з декількома дисками об’ємом 140 Мб, що продавався за ціною $8600.
При розробці першої моделі комп'ютера IBM PC у ньому не був передбачений вбудований вінчестер, однак вже в наступній моделі він був встановлений (20 Мб). У комп'ютері PC AT вінчестер вже був основним засобом підвищення ефективності комп'ютера - користувачам не було потрібно більше завантажувати операційну систему з дискет і шукати щораз нову дискету при початку роботи з якою-небудь програмою. Можливість збереження на вбудованому диску великих обсягів даних і програм значно розширила діапазон використання персональних комп'ютерів.
У 1988 був створений Комітет зі стандартизації методів доступу (Common Access Method Committee) для розробки програмного інтерфейсу пристроїв SCSI. Одним з результатів діяльності цього комітету з'явилася розробка специфікації інтерфейсу ATA (AT Attachment - приєднання до шини АТ), відомого також під ім'ям IDE (Integrated Drive Electronics). Новий стандарт зробив дійсний бум в індустрії дискових нагромаджувачів, коли виробники PC одержали можливість використання цих недорогих пристроїв. З кінця 80-х років інтерфейс ATA (така назва більш правильна, ніж IDE) став самим розповсюдженим серед недорогих настільних систем.
В даний час розроблений попередній стандарт ATA-2 (AT Attachment Interface with Extensions).
Існує також стандарт ATAPI (ATA Packed Interface) для підключення приводів CD-ROM і стриммерів. Цей інтерфейс значно спростив задачу підключення приводів CD-ROM, увівши єдиний стандарт замість декількох раніше існували інтерфейсів (таких, як Mitsumi, Panasonic, Sony). З появою ATAPI відпала необхідність установки в комп'ютер звукової плати чи спеціального контролера для роботи з компакт-дисками.
Крім того, існує ще ряд інтерфейсів для підключення вінчестерів до комп'ютера - вони коротко розглянуті нижче. До дійсного моменту фактично залишилися у вживанні тільки інтерфейс ATA і SCSI, кожний з який перетерпів у своєму розвитку значні зміни в порівнянні з первісним варіантом. Їхні сучасні реалізації забезпечують високу швидкість обміну з вінчестерами й іншими пристроями збереження даних.
Специфікація IDE/ATA була запропонована як недорога альтернатива інтерфейсам ESDI і SCSI для персональних комп'ютерів сімейств IBM PC XT/AT. У результаті співробітництва компанії Western Digital з Compaq Computer Corporation був розроблений інтерфейс IDE (Integrated Drive Electronics), називаний також АТА (AT attachment). Перші промислові пристрої на базі IDE/ATA були випущені в 1986 році. Інтерфейс був стандартизований (ANSI X3T9.2/90-143) у 1990р. як ATA (AT Attachment). Основною відмінністю нового інтерфейсу була реалізація більшості функцій контролера безпосередньо на платі дискового нагромаджувача. Такий підхід спростив і удешевив хост-адаптери, використовувані для підключення вінчестерів до комп'ютера, і дозволив забезпечити високий рівень сумісності пристроїв різних фірм.
Використовувані пристроями IDE адреси введення/висновку збігаються з адресами ST506/412, але функції контролера перенесені на плату управління приводом диска і голівок вінчестера. Інформація про геометрію диска (число голівок, циліндрів і секторів) зберігається в самому пристрої. Найчастіше в BIOS передаються логічні параметри диска, що не збігаються з його фізичними параметрами, тобто використовується трансляція, що дозволяє встановлювати вінчестери в комп'ютери зі старими BIOS, що не забезпечують можливість довільної установки параметрів пристрою (у більшості сучасних реалізацій BIOS така можливість підтримується як тип 47 - User Defined).
Базовий набір команд інтерфейсу IDE цілком відповідав набору команд контролера WD1002/1003 компанії Western Digital, що був використаний у комп'ютері IBM PC AT. При стандартизації інтерфейсу IDE до 12 базових команд було додано ще стільки ж. Перенос більшості функцій контролера на плату керування дозволяє трохи підвищити швидкість обміну даними з диском. Як правило диски IDE мають невелику убудовану кеш-пам'ять (до 256 Кб) і дозволяють працювати з фактором чергування 1:1 (доріжка може бути прочитана цілком за один оборот диска).
Хост-адаптер для підключення дисків IDE найчастіше встановлюється на системній платі (Mother board) чи сполучається з контролером дисководів і портами введення-висновку (послідовними і рівнобіжним) на спеціальній, що вставляється в гніздо розширення, платі (мультикарті, як її найчастіше називають). Підключення пристроїв до хост-адаптера здійснюється за допомогою 40-провідного плоского кабелю, до якого можна приєднати два вінчестери. Для коректної адресації пристроїв один з вінчестерів повинен бути встановлений у режим Master (ведучий), інший - у режим Slave (ведомий). Режим роботи диска задається за