В терминологии SCSI взаимодействие идет между инициатором и целевым устройством. Инициатор посылает команду целевому устройству, которое затем отправляет ответ инициатору.

Команды SCSI посылаются в виде блоков описания команды (англ. Command Descriptor Block, CDB ). Длина каждого блока может составлять 6, 10, 12 или 16 байт. В последних версиях SCSI блок может иметь переменную длину. Блок состоит из однобайтового кода команды и параметров команды.

После получения команды целевое устройство возвращает значение 00h в случае успешного получения, 02h в случае ошибки или 08h в случае, если устройство занято. В случае, если устройство вернуло ошибку, инициатор обычно посылает команду запроса состояния. Устройство возвращает Key Code Qualifier (KCQ) .

Все команды SCSI делятся на четыре категории: N (non-data) , W (запись данных от инициатора целевым устройством), R (чтение данных) и B ( двусторонний обмен данными). Всего существует порядка 60 различных команд SCSI , из которых наиболее часто используются:

  • Test unit ready - проверка готовности устройства, в т.ч. наличия диска в дисководе.
  • Inquiry - запрос основных характеристик устройства.
  • Send diagnostic - указание устройству провести самодиагностику и вернуть результат.
  • Request sense - возвращает код ошибки предыдущей команды.
  • Read capacity - возвращает емкость устройства.
  • Format Unit
  • Read (4 варианта) - чтение.
  • Write (4 варианта) - запись.
  • Write and verify - запись и проверка.
  • Mode select - установка параметров устройства.
  • Mode sense - возвращает текущие параметры устройства.

ATA

Спецификация 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 (ведомый). Режим работы диска задается с помощью перемычек, расположенных как правило около сигнального разъема винчестера.

Разводка Parallel ATA
Контакт Назначение Контакт Назначение
1 Reset 2 Ground
3 Data 7 4 Data 8
5 Data 6 6 Data 9
7 Data 5 8 Data 10
9 Data 4 10 Data 11
11 Data 3 12 Data 12
13 Data 2 14 Data 13
15 Data 1 16 Data 14
17 Data 0 18 Data 15
19 Ground 20 Key
21 DDRQ 22 Ground
23 I/O Write 24 Ground
25 I/O Read 26 Ground
27 IOC HRDY 28 Cable Select
29 DDACK 30 Ground
31 IRQ 32 No Connect
33 Addr 1 34 GPIO DMA66 Detect
35 Addr 0 36 Addr 2
37 Chip Select 38 Chip Select 3P
Перемычки для установки режима Master/Slave


Сравнение дисковых интерфейсов
Параметр ST506/412 MFM ST506/412 RLL ESDI SCSI IDE/ ATA
Максимальная скорость обмена 5Мбит/сек 7.5Мбит/сек 10/24Мбит/се к 24/40МБайт /сек 10МБайт/се к
Максимальное количество устройств 4 4 7 56 2
Максимальное количество устройств в DOS 2 2 2 36 2
Подключение других устройств - - - + -
Число секторов на дорожке 17 26 32-36 Не определено Не определено
Все операции ввода -вывода осуществляются с использованием процессора Частичное использование
Многозадачны й ввод-вывод - + + -[Современны е расширения IDE/ ATA поддерживают многозадачный ввод-вывод]
Автоматическая коррекция ошибок - - + + +
Низкоуровневое форматирование + + + -
Современные реализации ATA/IDE

Предложенный в конце 80-х годов интерфейс ATA (AT Attachment) , известный также под названием очень быстро завоевал широкую популярность среди производителей и пользователей персональных компьютеров. Основными причинами быстрого и широкого распространения нового интерфейса послужили невысокая цена устройств, простота их установки и эксплуатации, а также высокий уровень совместимости устройств IDE . Спецификация АТА уступает по скорости обмена с дисками и ряду других параметров интерфейсу SCSI , однако для большинства пользователей производительность играет меньшую роль, по сравнению с совместимостью, простотой и стоимостью устройств.

Ограниченность АТА

Первоначальная версия стандарта IDE обеспечивала возможность подключения к компьютеру четырех винчестеров и позволяла обмениваться данными с диском на скорости до 10Мбайт/сек, однако реальная скорость ограничивалась прежде всего возможностями самого винчестера. Подключение четырех устройств, предусмотренное спецификацией IDE , в компьютерах семейства IBM PC AT , в спецификации ATA /IDE реализовано не было. Кроме того, совместное использование стандарта ATA и программного интерфейса Int 13 BIOS ограничивало размер дисковых устройств 528Мб. Природу этого ограничения, связанную с форматами чисел, используемых для адресации головок, секторов и цилиндров винчестера ( CHS -адрес) в стандарте IDE и BIOS , можно понять из приведенной ниже таблицы и рисунка 3, иллюстрирующего взаимодействие операционной системы с диском IDE .

Взаимодействие диска IDE с операционной системой.


Другим существенным ограничением стандарта IDE/ ATA является невозможность подключения к контроллеру IDE каких-либо устройств, за исключением винчестеров.

Присущие интерфейсу IDE/ ATA ограничения тормозили развитие недорогих компьютерных систем, рассчитанных на массового пользователя, в связи с чем целый ряд фирм предпринял попытки расширения возможностей классического IDE . Наибольших успехов на этом пути добилась компания Western Digital , разработавшая спецификацию Enhanced IDE ( EIDE ) , позволяющую использовать диски, размер которых превышает 528 Мб, и обеспечившую реальную возможность подключения к компьютеру до четырех устройств IDE (не только винчестеров, но и приводов CD-ROM или стриммеров).

Другим интересным вариантом развития интерфейса IDE является технология Fast ATA , разработанная компанией Seagate Technology при поддержке фирмы Quantum . Эта технология направлена в первую очередь на повышение скорости обмена данными с дисковыми устройствами и не поддерживает возможность подключения CD-ROM или стриммеров, но обеспечивает более высокий уровень совместимости за счет соответствия широко распространенным промышленным стандартам.

Enhanced IDE


Технология Enhanced IDE компании Western Digital была разработана в результате анализа потребностей современного рынка ПК. В 1984 году компания Western Digital создала контроллеры дисководов (WD1002 ) и винчестеров (ST506 ), которые были использованы фирмой IBM при разработке компьютера IBM PC AT . Успех архитектуры АТ привел к значительному расширению рынка IBM -совместимых ПК и сделал контроллеры Western Digital стандартом de facto .

В процессе становления рынка персональных компьютеров фирма Western Digital пришла к выводу о необходимости интеграции электроники контроллера АТ и дискового устройства. В результате сотрудничества с Compaq Computer Corporation был разработан интерфейс IDE (Integrated Drive Electronics) , называемый также АТА (AT Bus attachment) . Первые промышленные устройства на базе IDE/ ATA были выпущены в 1986 году.

Продолжая лидировать в сфере IDE -устройств, компания Western Digital предложила расширение интерфейса IDE . Новая спецификация - Enhanced IDE повышает скорость обмена с диском, допускает применение более скоростных дисков и обеспечивает возможность установки в компьютере до четырех устройств IDE . Кроме того, Enhanced IDE позволяет подключать к контроллеру не только винчестеры, но и другие устройства (приводы CD-ROM , стриммеры), поддерживающие спецификацию ATAPI (AT Attachment Packet Interface) . Эта спецификация определяет интерфейс с приводами CD-ROM и другими недисковыми устройствами, позволяющий использовать стандартные контроллеры и кабели. Стандарт ATAPI получил широкую поддержку среди производителей CD-ROM -устройств и разработчиков операционных систем, что еще более расширило сферу распространения интерфейса IDE/ ATA .

Спецификация EIDE позволяет избавиться от целого ряда ограничений, присущих интерфейсу IDE/ ATA . Такое расширение обеспечивает существенный рост возможностей устройств долговременного хранения информации без роста цен, усложнения использования и потери совместимости. Ограничения, присущие IDE , по сравнению с другими интерфейсами (такими, как SCSI ) не угрожают доминированию IDE на современном рынке недорогих систем. Однако повышение производительности процессоров, разработка новых ОС и высокие запросы современных приложений к дисковому пространству привели к тому, что стандарт IDE уже не может удовлетворять всем современным требованиям. Существенно и то, что стандартный интерфейс IDE менее гибок и более ограничен по сравнению со SCSI :

  • IDE поддерживает только два винчестера, а SCSI обеспечивает возможность подключения большого количества блочных устройств различных типов (принтеры, CD-ROM , стриммеры и др.);
  • размер дисков IDE не может превышать 528Мб, поскольку для доступа к диску используется интерфейс Int 13 BIOS , тогда как SCSI не ограничивает размер диска;
  • IDE обеспечивает скорость обмена с диском 2-3 Мб/сек, а SCSI - 10 или 20Мб/сек (Fast/Wide) .

Технология Enhanced IDE позволяет избавиться от основных ограничений стандарта IDE/ATA :

  • предельный размер диска 528Мб;
  • малая скорость обмена с диском;
  • BIOS и операционной системы. Винчестер должен поддерживать спецификацию ATA (этому требованию удовлетворяет большинство современных винчестеров). BIOS также должна поддерживать спецификацию ATA ; большинство производителей системных плат и разработчиков BIOS уже поддерживают этот режим. Может потребоваться поддержка работы с большими дисками и со стороны операционной системы. Windows 3.1 не полностью соответствует ATA , поэтому приходится использовать специальные драйверы (Windows "32-bit disk access"), обычно поставляемые вместе с контроллерами EIDE . Большинство 32-разрядных операционных систем (таких, как OS/2) изначально поддерживают работу с большими дисками.
  • Ускоренный обмен данными основан на использовании скоростных режимов программируемого ввода-вывода ( PIO mode 3 ) и прямого доступа к памяти (DMA mode 1 ). Эти режимы обеспечивают скорость обмена 11.1 и 13.3 Мб/сек, соответственно. Для реализации скоростного обмена требуется поддержка со стороны винчестера и BIOS. BIOS должна поддерживать один из скоростных режимов обмена с диском ( PIO mode 3 или DMA mode 1 ), как правило это режим PIO . Со стороны дискового устройства также должна обеспечиваться поддержка скоростного обмена. Эту возможность обеспечивает большинство современных винчестеров (в том числе диски Fast ATA ). Скоростные режимы обмена позволяют полнее реализовать возможности дисковых контроллеров, использующих широкополосную локальную шину VESA или PCI .
  • Поддержка двух портов ATA . Для обеспечения этой возможности используются зарезервированные для второго контроллера адреса портов ввода-вывода и прерывание IRQ15 . Для реализации этой возможности требуется поддержка со стороны контроллера (хост-адаптера), BIOS и операционной системы. К самим устройствам (винчестерам, приводам CD-ROM или стриммерам) не предъявляется никаких дополнительных требований. Контроллер должен обеспечивать возможность установки адресов второго порта (это реализовано отнюдь не во всех современных моделях). Не все BIOS поддерживают возможность использования четырех устройств IDE , однако современные разработки включают этот режим. Важную роль играет поддержка использования четырех устройств со стороны операционной системы. Эта возможность реализована в большинстве 32-разрядных ОС и в последних версиях DOS .
  • Возможность подключения приводов CD-ROM и стримеров . Этот режим является недорогой альтернативой SCSI . Для обеспечения такой возможности требуется требуется поддержка нескольких новых команд. Спецификация ATAPI ( ATA Packet Interface) , находящаяся в стадии разработки, содержит описание новых команд. Для обеспечения возможности подключения к хост-адаптеру недисковых устройств требуется поддержка спецификации ATAPI со стороны BIOS, хост-адаптера, операционной системы и самих периферийных устройств. В настоящее время большинство устройств CD-ROM уже использует интерфейс IDE/ ATAPI для подключения ко второму порту современных контроллеров. Очевидно, что при таком обилии вариантов расширения возможностей IDE отнюдь не все устройства, рекламируемые как "Enhanced", поддерживают все четыре режима, добавленные в спецификацию Enhanced IDE . Не следует забывать также о том, что для обеспечения полной поддержки EIDE , этой спецификации должны удовлетворять BIOS , хост-адаптер, операционная система и, наконец, сами периферийные устройства.
Фирмы-разработчики аппаратного обеспечения постоянно совершенствуют внешние устройства и другие узлы персонального компьютера. Постоянно появляются новая периферийная аппаратура и новые модификации уже существующих устройств. Старые устройства наделяются новыми возможностями, новые делают такое, о чем раньше не приходилось и мечтать. И, конечно же, это коснулось устройств накопления информации.
Выпускаемые накопители информации представляют собой гамму запоминающих устройств с различным принципом действия физическими и технически эксплуатационными характеристиками. Основным свойством и назначением накопителей информации является ее хранение и воспроизведение. Запоминающие устройства принято делить на виды и категории в связи с их принципами функционирования, эксплуатационно-техническими, физическими, программными и другими характеристиками. Так, например, по принципам функционирования различают следующие виды устройств: электронные, магнитные, оптические и смешанные – магнитооптические. Каждый тип устройств организован на основе соответствующей технологии хранения/воспроизведения/ записи цифровой информации. Поэтому, в связи с видом и техническим исполнением носителя информации различают: электронные, дисковые и ленточные устройства.
Самым дешевым и наибольшим по емкости является жесткий диск. В настоящее время винчестер имеет объем до 2 Тб.

1. Жесткий диск и принцип его работы

Накопитель на жёстких магнитных дисках, жёсткий диск или винчестер, (англ.HardDiskDrive, HDD) – энергонезависимое, перезаписываемое компьютерное запоминающее устройство. Накопитель на жестком диске относится к наиболее совершенным и сложным устройствам современного персонального компьютера. Его диски способны вместить многие гигабайты информации, передаваемой с большой скоростью.
Жёсткий диск состоит из гермозоны и блока электроники.
Гермозона включает в себя корпус из прочного сплава, собственно диски (пластины) с магнитным покрытием, блок головок с устройством позиционирования, электропривод шпинделя.
Блок головок – пакет рычагов из пружинистой стали (по паре на каждый диск). Одним концом они закреплены на оси рядом с краем диска. На других концах (над дисками) закреплены головки.
Диски (пластины), как правило, изготовлены из металлического сплава, хотя были попытки делать их из пластика и даже стекла, но такие пластины оказались хрупкими и недолговечными. Обе плоскости пластин, подобно магнитофонной ленте, покрыты тончайшей пылью ферромагнетика – окислов железа, марганца и других металлов. Точный состав и технология нанесения держатся в секрете. Большинство бюджетных устройств содержит 1 или 2 пластины, но существуют модели с большим числом пластин.
Диски жёстко закреплены на шпинделе. Во время работы шпиндель вращается со скоростью несколько тысяч оборотов в минуту (4200, 5400, 7200, 10 000, 15 000). При такой скорости вблизи поверхности пластины создаётся мощный воздушный поток, который приподнимает головки и заставляет их парить над поверхностью пластины. Форма головок рассчитывается так, чтобы при работе обеспечить оптимальное расстояние от пластины. Пока диски не разогнались до скорости, необходимой для «взлёта» головок, парковочное устройство удерживает головки в зоне парковки. Это предотвращает повреждение головок и рабочей поверхности пластин.
Устройство позиционирования головок состоит из неподвижной пары сильных, как правило, неодимовых постоянных магнитов и катушки на подвижном блоке головок.
Блок электроники, интерфейсный блок – обеспечивает сопряжение электроники жёсткого диска с остальной системой.
Блок управления представляет собой систему управления, принимающую электрические сигналы позиционирования головок, и вырабатывающую управляющие воздействия приводом типа «звуковая катушка, коммутации информационных потоков с различных головок, управления работой всех остальных узлов (к примеру, управление скоростью вращения шпинделя).
Блок ПЗУ хранит управляющие программы для блоков управления и цифровой обработки сигнала, а также служебную информацию винчестера.
Буферная память сглаживает разницу скоростей интерфейсной части и накопителя (используется быстродействующая статическая память). Увеличение размера буферной памяти в некоторых случаях позволяет увеличить скорость работы накопителя.
Блок цифровой обработки сигнала осуществляет очистку считанного аналогового сигнала и его декодирование (извлечение цифровой информации).
В накопителях на жестких дисках данные записываются и считываются универсальными головками чтения/записи с поверхности вращающихся магнитных дисков, разбитых на дорожки и секторы (512 байт каждый). В накопителях обычно устанавливается несколько дисков, и данные записываются на обеих сторонах каждого из них. В большинстве накопителей есть, по меньшей мере, два или три диска (что позволяет выполнять запись на четырех или шести сторонах), но существуют также устройства, содержащие до 11 и более дисков. Однотипные (одинаково расположенные) дорожки на всех сторонах дисков объединяются в цилиндр. Для каждой стороны диска предусмотрена своя дорожка чтения/записи, но при этом все головки смонтированы на общем стержне, или стойке. Поэтому головки не могут перемещаться независимо друг от друга и двигаются только синхронно.

2. Интерфейс IDE/ATA

ATA (AdvancedTechnologyAttachment) , также называемый IDE (IntegratedDriveElectronics) – стандарт на интерфейс между компьютером (контроллером) и накопителем на жестких магнитных дисках (дисководом, HDD), включая физический уровень (разъёмы, кабели), электрические и логические характеристики сигналов, регистры устройства, команды и протоколы.

2.1 Эволюция интерфейса

Интерфейс ATA – разрабатывался для подключения накопителей на жестких магнитных дисках к компьютерам IBM PC AT с шиной ISA. Интерфейс появился в результате создания устройств со встроенным контроллером – IDE. Контроллер жесткого диска был перенесен на плату электроники накопителя с сохранением регистровой модели.
Из всех сигналов шины ISA выбрали минимальный набор сигналов, часть из которых буферизовали на небольшой плате, устанавливаемой в слот, а часть направили прямо на разъем ленточного кабеля нового интерфейса.
Стандартный контроллер AT позволял подключать до двух накопителей – эту возможность получил и интерфейс ATА. Для взаимодействия пары устройств на шине ввели несколько дополнительных сигналов. Так появился интерфейс ATА для подключения устройств IDE к шине ISA. Позже их стали подключать и к локальным шинам, но набор сигналов интерфейса и протоколы обмена сохранились.
Принятая система команд и регистров, являющаяся частью спецификации ATА, ориентирована на блочный обмен данными с устройствами прямого доступа. Для иных устройств существует спецификация ATAPI, основанная на тех же аппаратных средствах, но позволяющая обмениваться пакетами управляющей информации (PI – PackageInterface).
В спецификации АТА фигурируют следующие компоненты:
    Хост-адаптер – средства сопряжения интерфейса АТА с системной шиной (набор буферных схем между шинами ISA и АТА).
    Кабель-шлейф с двумя или тремя 40-контактными IDC-разъемами. В стандартном кабеле одноименные контакты всех разъемов соединяются вместе.
    Ведущее устройство (Master) – ПУ, в спецификации АТА называемое Device-0.
    Ведомое устройство (Slave) – ПУ, в спецификации называемое Device-1.
О своей роли устройства узнают с помощью предварительно установленных конфигурационных джамперов. Если применяется кабельная выборка, то роль устройства определяется его положением на специальном кабеле-шлейфе.
Оба устройства воспринимают команды от хост-адаптера одновременно. Однако выходные сигналы на шину АТА имеет право выводить только выбранное устройство. Такая система подразумевает, что, начав операцию обмена с одним из устройств, хост-адаптер не может переключиться на обслуживание другого до завершения начатой операции. Параллельно могут работать только устройства IDE, подключаемые к разным шинам (каналам) АТА.
Выполняемая операция и направление обмена данными между устройством и хост- адаптером определяются предварительно записанной командой. Непременным компонентом устройства является буферная память. Ее наличие позволяет выполнять обмен данными в темпе, предлагаемом хост-адаптером (в пределах возможности устройства).

2.2 Адресация устройств

Адресация в АТА тоже имеет «дисковые корни»: для накопителей изначально указывали адрес цилиндра, головки и сектора – так называемая трехмерная адресация CHS (Cyllinder-Head-Sector). Позже по ряду причин стали различать физическую (реальную для накопителя) и логическую (по которой с устройством общается программа) адресацию CHS. При этом одно и то же устройство могло иметь различную логическую геометрию (но, естественно, С?Н?S лог? С?Н?S физ). Преобразование логической адресации в физическую выполняется встроенным контроллером устройства. Позже пришли к линейной адресации логических блоков LBA (LogicalBlockAddressing), где адрес блока (сектора) определяется 28-битным числом.
Оригинальная спецификация АТА предусматривала 28-битный режим адресации. Это позволяло адресовать 228 (268 435 456) секторов по 512 байт каждый, что давало максимальную ёмкость в 137 ГБ (128 ГиБ). В стандартных PC BIOS поддерживал до 7,88 ГиБ (8,46 ГБ), допуская максимум 1024 цилиндра, 256 головок и 63 сектора. Это ограничение на число цилиндров/головок/секторов CHS в сочетании со стандартом IDE привело к ограничению адресуемого пространства в 504 МиБ (528 МБ). Для преодоления этого ограничения была введена схема адресации LBA (LogicalBlockAddress), что позволило адресовать до 7,88 ГиБ. Со временем и это ограничение было снято, что позволило адресовать сначала 32 ГиБ, а затем и все 128 ГиБ, используя все 28 разрядов (в АТА-4) для адресации сектора. Запись 28-битного числа, организована путём записи его частей в соответствующие регистры накопителя (с 1 по 8 бит в 4-й регистр, 9-16 в 5-й, 17-24 в 6-й и 25-28 в 7-й).
Адресация регистров организована при помощи трёх адресных линий DA0-DA2. 1-й регистр с адресом 0 является 16-разрядный, и используется для передачи данных между диском и контроллером. Остальные регистры 8-битные и используются для управления.
Новейшие спецификации ATA предполагают 48-битную адресацию, расширяя таким образом возможный предел до 128 ПиБ (144 петабайт). Однако файловые системы большинства современных операционных систем поддерживают диски объёмом лишь до 2 ТиБ (исключением является, например, файловая система Ext4, поддерживающая размер до 256ПиБ).

2.3 Назначение контактов разъема

Все информационные сигналы интерфейса передаются через 40-контактный разъем, у которого ключом является отсутствующий на вилке и закрытый на розетке контакт № 20. Длина кабеля не должна превышать 0,46 м, допустимая емкость проводников не более 35 пФ.
Терминаторы стандартом не предусматриваются (они имеются в каждом устройстве и хост-адаптере), но если кабель с тремя разъемами (розетками) используют для подключения одного устройства, то и его, и хост-адаптер рекомендуется подключать к противоположным концам кабеля. Все сигналы АТА являются логическими со стандартными ТТЛ-уровнями («0» – до 0,4В, «1» – 2,4-5В).
Устройства и адаптеры, рассчитанные на использование Ultra DMA, должны иметь в сигнальных цепях последовательные согласующие резисторы с сопротивлением для различных цепей 22, 33 или 82 Ом. Спецификация АТА устанавливает 40-контактный сигнальный и 4-контактный разъемы питания (Рисунок 1), но для малогабаритных устройств питание может подаваться по 44-проводному интерфейсному кабелю

Рисунок 1 – Разъемы интерфейса АТА: сигнальный и питания

2.4 Сигналы интерфейса ATA IDE

Типы и виды сигналов интерфейса ATAIDEпредставлены в следующей таблице (Таблица 1):
Таблица 1 – Сигналы интерфейса ATA IDE
Сигнал
Сигнал
RESET
I
1
2
?
GND
DD7
I/OTS
3
4
I/OTS
DD8
DD6
I/OTS
5
6
I/OTS
DD9
DD5
I/OTS
7
8
I/OTS
DD10
DD4
I/OTS
9
10
I/OTS
DD11
DD3
I/OTS
11
12
I/OTS
DD12
DD2
I/OTS
13
14
I/OTS
DD13
DD1
I/OTS
15
16
I/OTS
DD14
DD0
I/OTS
17
18
I/OTS
DD15
GND
?
19
20
?
Ключ
DMARQ
OTS 2
21
22
?
GND
DIOW | STOP 3
I
23
24
?
GND
DIOR | HDMARDY | HSTROBE 3
I
25
26
?
GND
IORDY | DDMARDY | DSTROBE 3
OTS 2
27
28
I/O
SPSYNC | SCEL
DMACK
I
29
30
?
GND
INTRQ
OTS 2
31
32
OOK
IOCS16
DA1
I
33
34
I, O 4
PDIAG | CBLID 3
DA0
I
35
36
I
DA2
CS0
I
37
38
I
CS1
DASP
I\OOK 5
39
40
?
GND
+5 В
?
41 6
42 6
?
+5 B
GND
?
43 6
44 6
?
Зарезервирован
    Тип сигнала для устройства: I – вход, О – выход, I/O – двунаправленный, TS – тристабильный, ОС – открытый коллектор.
    У старых устройств сигнал может иметь тип ОС (при разнотипных сигналах на одной шине возможен конфликт).
    Сигаалы, приведенные после символа /, используются только в режиме Ultra DMA (ATA-4).
    У ведущего устройства – вход, у ведомого – выход.
    У ведомого устройства – только выход.
    Контакты 41-44 используются только для миниатюрных дисков.
RESET (Devicereset) – сброс устройства (инвертированный сигнал сброса системной шины). Сигнал длительностью не менее 25 мкс вырабатывается после установления питающих напряжений.
DA (DeviceAddress) – три младших бита системной шины адреса, используемые для выбора регистров устройств.
DD (DeviceData) – двунаправленная 16-битная шина данных между адаптером и устройствами. При 8-битных обменах используются младшие биты D.
DIOR (Device I/O Read) – строб чтения портов ввода/вывода. Данные фиксируются по положительному перепаду сигнала.
DIOW (Device I/O Write) – строб записи портов ввода/вывода. Данные фиксируются по положительному перепаду сигнала.
IORDY (I/O channelready) – готовность устройства завершить цикл обмена. Низким уровнем сигнала во время цикла обмена устройство может ввести такты ожидания шины. Сигнал требуется при обмене в PIO MODE 3 и выше.
IOCS16 – разрешение 16-битных операций. Обращение ко всем регистрам, кроме регистра данных, всегда 8-битное. Для РЮ MODE 0, 1, 2 при активном сигнале обращения 16-битные, при неактивном – 8-битные. Для РЮ MODE 3, 4 и DMA все обмены 16-битные, кроме дополнительных байт (выходящих за границу 512-байтного сектора) «длинного» считывания и записи.
DMARQ (DMA ReQuest) – запрос обмена по каналу DMA (сигнал необязательный). При разрешении обмена сигнал (высокий уровень) вводится устройством по готовности к обмену. Введя сигнал DMARQ, устройство должно дождаться подтверждения от хост-адаптера сигналом DMACK, после чего может снять запрос DMARQ. Для очередной передачи запрос должен быть введен снова. В режиме Multi-Word DMA запрос может удерживаться на время передачи всех данных. Выход должен быть тристабильным, в активном состоянии (0 или 1) он может быть только у выбранного устройства во время работы с DMA. В АТА-1 для этого сигнала мог использоваться как тристабильный, так и стандартный ТТЛ-выход. Работа на одной шине устройств с разнотипными выходами DMARQ может привести к конфликтам.
DMACK (DMA aCKnowledge) – подтверждение DMA. Сигнал вырабатывается хост-адаптером как подтверждение цикла передачи. Передача слова данных управляется сигналами DIOR или DIOW. Во время обмена по каналу DMA сигналы IOCS16, CS0 и CS1 не используются, обмен всегда производится 16-битными словами.
INTRQ (Device interrupt) – запроспрерывания.Выход должен быть тристабильным, активный сигнал (логическую 1) вырабатывает только выбранное устройство, когда у него имеется необслуженный запрос прерывания и его вырабатывание не запрещено битом nIEN в регистре DeviceControl. Запрос сбрасывается по сигналу RESET, установке бита SRST в регистре DeviceControl, записи в регистр команд или чтении регистра состояния. При обменах РЮ запрос устанавливается в начале передачи каждого блока (сектора или группы секторов при многосекторных операциях). Исключения: по командам FormatTrack, WriteSector(S), WriteBuffer и WriteLong в начале передачи первого блока данных запрос прерывания не вырабатывается. При обменах DMA запрос прерывания вырабатывается только по завершении операции.
CSO (ChipSelect 0) – сигнал выбора блока командных регистров (CommandBlockRegisters). Для первого канала он вырабатывается при наличии на системной шине адреса порта ввода/вывода в диапазоне lFOh–lF7h (сигнал также называют CS1FX#).
CS1 (ChipSelect 1) – выбор блока управляющих регистров (ControlBlockRegisters). Для первого канала он вырабатывается при наличии на системной шине адреса порта ввода/вывода в диапазоне 3F6h-3F7h (часто этот сигнал называется CS3FX;.
PDIAG (Passeddiagnostics) – сигнал о прохождении диагностики. Ведущее устройство наблюдает за этим сигналом, который ведомое устройство должно выработать в ответ на сброс или команду диагностики. Если ведомое устройство обнаружено (по сигналу DASP), ведущее устройство ожидает сигнал в течение 31с после сброса и 6 с после команды диагностики. Если за это время сигнал не появился, ведущее устройство отмечает этот факт установкой бита 7 регистра ошибок. Если ведомое устройство не обнаружено, ведущее обнуляет регистр состояния ведомого устройства и сообщает свое состояние сразу после завершения собственной самодиагностики. Сигнал служит только для связи двух устройств и хост-адаптером не используется.
CBUD (Cable assembly type identifier) – идентификациятипакабеля.В 80-проводной сборке контакт 34 на разъеме хост-адаптера соединяется с шиной GND, а контакты 34 разъемов устройств соединяются между собой, но связи с разъемом хост-адаптера не имеют. После прохождения сброса (когда сигнал PDIAG снимается) хост может определить наличие 80-проводного кабеля по низкому" уровню сигнала.
DASP (DeviceActive, SlavePresent) – сигнал двойного назначения: индикатор активности устройства и присутствия ведомого устройства. Устройства имеют выход типа «открытый коллектор» с нагрузочным резистором 10 кОм к шине +5 В. После сброса по сигналу RESET или при инициализации по включении питания оба устройства в течение 1 мс должны деактивировать этот сигнал, после чего не позже чем через 400 мс его вводит ведомое устройство для сообщения о своем присутствии. Ведущее устройство не активирует этот сигнал в течение 450 мс. Сигнал деактивируется ведомым устройством после получения им команды или через 31с автрматически (смотря что произойдет раньше). После этого сигнал может быть введен любым устройством как индикатор активности. Адаптер использует этот сигнал для включения светодиодного индикатора доступа к диску.
SPSYNC/CSEL (SpindleSynchronization/ CableSelect) - синхронизация шпинделя/выборка кабелем. Сигнал двойного назначения, которое должно быть единым для обоих устройств. Сигнал SPSYNC позволяет синхронизировать шпиндели устройств (актуально для RAID-массивов); используется по усмотрению производителя накопителя. Сигнал CSEL позволяет устройствам определять свой адрес по положению на специальном кабеле с разрывом провода 28 между разъемами двух устройств (малораспространенная «кабельная выборка»). Эта линия на хост-адаптере заземлена, и ведущее устройство получает заземленную линию, а ведомое – не подключенную. Состояние сигнала (если он управляется хост-адаптером) должно удерживаться по крайней мере 31с после сигнала RESET.
При использовании режима Ultra DMA четыре линии получают новое назначение сигналов:
    STOP (StopUltra DMA burst) – останов передачи пакета Ultra DMA.
    DDMARDY (DeviceUltra DMA ready) – готовность устройства при приеме пакета Ultra DMA (управление потоком).
    DSTROBE (HostUltra DMA datastrobe) – строб данных устройства при передаче пакета хосту. Данные передаются по обоим перепадам DSTROBE.
    HDMARDY (HostUltra DMA ready) – готовность хоста при приеме им пакета Ultra DMA (управление потоком).
    HSTROBE (HostUltra DMA datastrobe) – строб данных хоста при передаче пакета устройству. Данные передаются по обоим перепадам HSTROBE.

2.5 Протокол взаимодействия хоста и устройства

Обычный протокол взаимодействия хоста с устройством выглядит следующим образом:
    Хост читает регистр состояния устройства, дожидаясь нулевого значения бита BSY. Если присутствуют два устройства, хост обращается к ним «наугад» – состояние будет сообщать последнее выбранное устройство.
    Дождавшись освобождения устройства, хост записывает в регистр DH байт, у которого бит DEV указывает на адресуемое устройство. Здесь кроется причина невозможности параллельной работы двух устройств на одной шине ATА: обратиться к устройству можно только после освобождения обоих устройств.
    Хост читает основной или альтернативный регистр состояния адресованного устройства, дожидаясь признака готовности (DRDY=1).
    Хост заносит требуемые параметры в блок командных регистров.
    Хост записывает код команды в регистр команд.
    Устройство устанавливает бит BSY и переходит к исполнению команды. Дальнейшие действия зависят от протокола передачи данных, заданного командой.
Для команд, не требующих передачи данных (ND):
Для команд данного типа, кроме шести вышеперечисленных пунктов стандартного взаимодействия хоста и устройства, выполняется ещё одна.
    Завершив исполнение команды, устройство сбрасывает бит BSY и устанавливает запрос прерывания (если он не запрещен). К этому моменту в регистрах состояния и ошибок уже имеется информация о результате исполнения. Выполнение завершается.
Единичное значение бита BSY может промелькнуть между шагами 6 и 7 так быстро, что хост его не зафиксирует, но для фиксации факта выполнения команды или ее части и предназначен запрос прерывания.

Для команд, требующих чтения данных в режиме PIO (PI):
Для команд данного типа, кроме шести вышеперечисленных пунктов стандартного взаимодействия хоста и устройства, выполняются ещё несколько.

    Подготовившись к передаче первого блока данных по шине АТА, устройство устанавливает бит DRQ. Если была ошибка, она фиксируется в регистрах состояния и ошибок. Далее устройство сбрасывает бит BSY и устанавливает запрос прерывания (если он не запрещен).
    Зафиксировав обнуление бита BSY (или по прерыванию), хост считывает регистр состояния, что приводит к сбросу прерывания от устройства.
    Если хост обнаружил единичное значение бита DRQ, он производит чтение первого блока данных в режиме PIO (адресуясь к регистру данных). Если обнаружена ошибка, считанные данные могут быть недостоверными.После передачи блока данных возможно одно из следующих действий:
    Если на шаге 8 ошибка не обнаружена, а требуется передача следующего блока, устройство устанавливает бит BSY, и данная последовательность повторяется с шага 7.
    Если есть ошибка или передан последний блок данных, устройство сбрасывает бит DRQ и выполнение команды завершается
Для операций записи данных после шага 6 для устройства начинается активная фаза записи на носитель, что отмечается установкой бита BSY.

Для команд, требующих записи данных в режиме PIO (PO и P):
Для команд данного типа, кроме шести вышеперечисленных пунктов стандартного взаимодействия хоста и устройства, выполняются ещё несколько.

    Подготовившись к приему первого блока данных по шине ATА, устройство устанавливает бит DRQ (если нет ошибок) и сбрасывает бит BSY. Если была ошибка, она фиксируется.
    Зафиксировав обнуление бита BSY, хост считывает регистр состояния
    Если хост обнаружил единичное значение бита DRQ, он производит запись первого блока данных в режиме PIO по адресу в регистре данных
    После передачи блока данных возможно одно из следующих действий:
    Если обнаружена ошибка, устройство сбрасывает бит DRQ, устанавливает запрос прерывания и выполнение команды завершается. Переданные по шине данные остаются необработанными устройством (не записываются на носитель).
    Если ошибка не обнаружена, устройство устанавливает бит BSY и переходит к следующему шагу
    Устройство обрабатывает принятый блок данных, затем:
    Если нет ошибок и обработанный блок – последний, устройство сбрасывает бит BSY и устанавливает запрос прерывания, на чем выполнение команды успешно завершается;
    Если обнаружена ошибка, выполнение команды завершается таким же образом, но с установкой бит ошибок;
    Если нет ошибок и требуется передача следующего блока, выполняются следующие шаги:
    По готовности приема следующего блока устройство устанавливает бит DRQ, сбрасывает бит BSY и устанавливает запрос прерывания.
    По обнулению бита BSY (или по прерыванию) хост считывает регистр состояния.
    Обнаружив бит DRQ, хост выполняет запись очередного блока в регистр данных, и последовательность повторяется с шага 11. Команды с передачей данных в режиме DMA выполняются похожим образом, но:
    Вместо PIO используется прямой доступ к памяти. Хост должен проинициализировать канал DMA до записи кода в регистр команд, чтобы по появлении сигнала DMARQ начался обмен
    Запрос прерывания даже в многосекторных передачах производится один раз – по выполнении команды

2.6 Протоколы и режимы передачи данных

Программа общается с устройствами АТА через регистры, используя инструкции ввода/вывода IN и OUT. Для передачи данных с максимальной скоростью применяют программный доступ к регистру данных или DMA. Тип обмена задается командой. Программный доступ обязателен для всех устройств. Команды режима DMA устройствами могут не поддерживаться.
Программный доступ PIO (ProgrammedInput/Output) выполняется в виде следующих друг за другом операций чтения или записи в пространстве ввода/вывода по адресу регистра данных. В отличие от программно-управляемого ввода/вывода, применяемого, например, для общения с LPT-портом, передача блока данных в режиме PIO производится без программного опроса какого-либо бита готовности для передачи каждого слова. Готовность устройства проверяется перед началом передачи блока, после чего хост производит серию операций в определенном темпе. Темп определяется выбранным режимом PIO Mode (Таблица 2).
Для режимов определены допустимые параметры временной диаграммы цикла обмена.
Таблица 2 – Параметры режимов передачи (PIO mode)

Обмен PIO программно реализуется с помощью инструкций ввода/вывода строк REP INS или REP OUTS с занесенным в регистр СХ количеством слов (или байт) в передаваемом блоке. Эти инструкции обеспечивают максимально возможную скорость обмена для данного процессора и системной шины. «Обуздать» процессор в соответствии с выбранным режимом входит в задачу адаптера АТА, который использует для удлинения цикла сигнал готовности шины (для ISA – IOCHRDY). Традиционные режимы 0, 1 и 2 имеют временные параметры, фиксируемые только хост-адаптером. Для прогрессивных режимов АТА-2 (PIO Mode 3 и старше) устройство может затормозить обмен, используя сигнал готовности IORDY. Программный обмен на все время передачи блока занимает и процессор, и системную шину.
Обмен по каналу DMA занимает исключительно шины ввода/ вывода и памяти. Процессору требуется выполнить только процедуру инициализации канала, после чего до прерывания от устройства в конце передачи блока он свободен (этим могут воспользоваться многозадачные системы). Стандартные каналы DMA шины ISA для интерфейса АТА практически не используются из-за низкой пропускной способности.
Высокопроизводительные адаптеры АТА могут иметь собственные более эффективные контроллеры. Режимы обмена по каналу DMA бывают одиночными и множественными.
При одиночном режиме (SingleWord DMA) устройство для передачи каждого слова вырабатывает сигнал запроса DMARQ и сбрасывает его по сигналу DMACK#, подтверждающему цикл обмена.
При множественном режиме (Multiword DMA) на сигнал DMARQ хост отвечает потоком циклов, сопровождаемых сигналами DMACK#. Если устройство не справляется с потоком, оно может приостановить его снятием сигнала DMARQ, a по готовности установить его снова. Множественный режим позволяет развить более высокую скорость передачи.
Новейшее достижение – режим Ultra DMA, позволяющий достигнуть скорости передачи 33 Мбайт/с и обеспечить достоверность передачи, чего не делалось ни в PIO, ни в стандартных режимах DMA. Стандартом АТА-4 определено 3 режима Ultra DMA (0, 1 и 2), выбор режима осуществляется командой SetFeatures.
В режимах Ultra DMA сигналы DMARQ и DACK# сохраняют свое назначение, а вот смысл сигналов DIOR#, DIOW# и IORDY на время передачи пакета (Ultra DMA Burst) существенно меняется.
В пакете данные на шине сопровождаются стробом, генерируемым источником данных, причем для синхронизации используются оба перепада сигналов. Это позволяет повысить пропускную способность шины, не увеличивая частоту переключений сигналов сверх 8,33 с -1 (этот предел для обычного кабеля достигается в режиме РЮ Mode 4 и Multiword DMA Mode 2).
Каждое переданное слово участвует в подсчете CRC-кода, который передается в конце пакета. Подсчет ведется и источником данных, и приемником. При несовпадении принятого и ожидаемого кода фиксируется ошибка передачи.
Передача в пакете может приостанавливаться, если приемник снимет сигнал готовности (DDMARDY или HDMARDY). Передача пакета может прекращаться по инициативе устройства (снятием сигнала) или хоста (сигналом STOP). Противоположная сторона должна подтвердить окончание цикла сигналом STOP или DMARQ соответственно.
Правильный выбор режима обмена обеспечивает надежность и производительность. Все устройства поддерживают режим PIO Mode 0, в котором считывается блок параметров идентификации. В блоке имеются поля, описывающие режим обмена по умолчанию и более эффективные режимы обмена, поддерживаемые устройством. Командой SetFeatures можно изменить параметры режима. Иногда накопитель не обеспечивает надежной передачи данных в заявленном высокоскоростном режиме. Если данные начинают пропадать, первым делом следует понизить режим обмена.
Параметры стандартных режимов обмена по DMA приведены в таблице (Таблица 3).
Таблица 3 – Параметры циклов DMA для интерфейса ATA


и т.д.................
Режим
Минимальное время цикла (нс)
Скорость передачи (Мбайт/с)
Singleword DMA Mode 0
960
2,08
Singleword DMA Mode 1
480
4,16
Singleword DMA Mode 2
240
8,33
Multiword DMA Mode 0
480
4,12
Multiword DMA Mode 1
150
13,3
Multiword DMA Mode 2

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

А почему не сказал? А потому что эта тема - достойна объема никак не меньшего целой статьи. Поэтому сегодня разберем во всех подробностях наиболее популярные на данный момент интерфейсы жесткого диска. Сразу оговорюсь, что статья или пост (кому как удобнее) в этот раз будет иметь внушительные размеры, но куда деваться, без этого к сожалению никак, потому как если написать кратко, получится совсем уж непонятно.

Понятие интерфейса жесткого диска компьютера

Для начала давайте дадим определение понятию "интерфейс". Говоря простым языком (а именно им я и буду по-возможности выражаться, ибо блог то на обычных людей рассчитан, таких как мы с Вами), интерфейс - способ взаимодействия устройств друг с другом и не только устройств. Например, многие из вас наверняка слышали про так называемый "дружественный" интерфейс какой-либо программы. Что это значит? Это значит, что взаимодействие человека и программы более легкое, не требующее со стороны пользователя большИх усилий, по сравнению с интерфейсом "не дружественным". В нашем же случае, интерфейс - это просто способ взаимодействия конкретно жесткого диска и материнской платы компьютера. Он представляет собой набор специальных линий и специального протокола (набора правил передачи данных). То есть чисто физически - это шлейф (кабель, провод), с двух сторон которого находятся входы, а на жестком диске и материнской плате есть специальные порты (места, куда присоединяется кабель). Таким образом, понятие интерфейс - включает в себя соединительный кабель и порты, находящиеся на соединяемых им устройствах.

Ну а теперь самый "сок" сегодняшней статьи, поехали!

Виды взаимодействия жестких дисков и материнской платы компьютера (виды интерфейсов)

Итак, первым на очереди у нас будет самый "древний" (80-е года) из всех, в современных HDD его уже не встретить, это интерфейс IDE (он же ATA, PATA).

IDE - в переводе с английского "Integrated Drive Electronics", что буквально означает - "встроенный контроллер". Это уже потом IDE стали называть интерфейсом для передачи данных, поскольку контроллер (находящийся в устройстве, обычно в жестких дисках и оптических приводах) и материнскую плату нужно было чем-то соединять. Его (IDE) еще называют ATA (Advanced Technology Attachment), получается что то вроде "Усовершенствованная технология подсоединения". Дело в том, что ATA - параллельный интерфейс передачи данных , за что вскоре (буквально сразу после выхода SATA, о котором речь пойдет чуть ниже) он был переименован в PATA (Parallel ATA).

Что тут сказать, IDE хоть и был очень медленный (пропускная способность канала передачи данных составляла от 100 до 133 мегабайта в секунду в разных версиях IDE - и то чисто теоретически, на практике гораздо меньше), однако позволял присоединять одновременно сразу два устройства к материнской плате, используя при этом один шлейф.

Причем в случае подключения сразу двух устройств, пропускная способность линии делилась пополам. Однако, это далеко не единственный недостаток IDE. Сам провод, как видно из рисунка, достаточно широкий и при подключении займет львиную долю свободного пространства в системном блоке, что негативно скажется на охлаждении всей системы в целом. В общем IDE уже устарел морально и физически, по этой причине разъем IDE уже не встретить на многих современных материнских платах, хотя до недавнего времени их еще ставили (в количестве 1 шт.) на бюджетные платы и на некоторые платы среднего ценового сегмента.

Следующим, не менее популярным, чем IDE в свое время, интерфейсом является SATA (Serial ATA) , характерной особенностью которого является последовательная передача данных. Стоит отметить, что на момент написания статьи - является самым массовым для применения в ПК.

Существуют 3 основных варианта (ревизии) SATA, отличающиеся друг от друга пропускной способностью: rev. 1 (SATA I) - 150 Мб/с, rev. 2 (SATA II) - 300 Мб/с, rev. 3 (SATA III) - 600 Мб/с. Но это только в теории. На практике же, скорость записи/чтения жестких дисков обычно не превышает 100-150 Мб/с, а оставшаяся скорость пока не востребована и влияет разве что на скорость взаимодействия контроллера и кэш-памяти HDD (повышает скорость доступа к диску).

Из нововведений можно отметить - обратную совместимость всех версий SATA (диск с разъемом SATA rev. 2 можно подключить к мат. плате с разъемом SATA rev. 3 и т.п.), улучшенный внешний вид и удобство подключения/отключения кабеля, увеличенная по сравнению с IDE длина кабеля (1 метр максимально, против 46 см на IDE интерфейсе), поддержка функции NCQ начиная уже с первой ревизии. Спешу обрадовать обладателей старых устройств, не поддерживающих SATA - существуют переходники с PATA на SATA , это реальный выход из ситуации, позволяющий избежать траты денег на покупку новой материнской платы или нового жесткого диска.

Так же, в отличии от PATA, интерфейсом SATA предусмотрена "горячая замена" жестких дисков, это значит, что при включенном питании системного блока компьютера, можно присоединять/отсоединять жесткие диски. Правда для ее реализации необходимо будет немного покопаться в настройках BIOS и включить режим AHCI.

Следующий на очереди - eSATA (External SATA) - был создан в 2004 году, слово "external" говорит о том, что он используется для подключения внешних жестких дисков. Поддерживает "горячую замену " дисков. Длина интерфейсного кабеля увеличена по сравнению с SATA - максимальная длина составляет теперь аж два метра. eSATA физически не совместим с SATA, но обладает той же пропускной способностью.

Но eSATA - далеко не единственный способ подключить внешние устройства к компьютеру. Например FireWire - последовательный высокоскоростной интерфейс для подключения внешних устройств, в том числе HDD.

Поддерживает "горячу замену" винчестеров. По пропускной способности сравним с USB 2.0, а с появлением USB 3.0 - даже проигрывает в скорости. Однако у него все же есть преимущество - FireWire способен обеспечить изохронную передачу данных, что способствует его применению в цифровом видео, так как он позволяет передавать данные в режиме реального времени. Несомненно, FireWire популярен, но не настолько, как например USB или eSATA. Для подключения жестких дисков он используется довольно редко, в большинстве случаев с помощью FireWire подключают различные мультимедийные устройства.

USB (Universal Serial Bus) , пожалуй самый распространенный интерфейс, используемый для подключения внешних жестких дисков, флешек и твердотельных накопителей (SSD). Как и в предыдущем случае - есть поддержка "горячей замены", довольно большая максимальная длина соединительного кабеля - до 5 метров в случае использования USB 2.0, и до 3 метров - если используется USB 3.0. Наверное можно сделать и бОльшую длину кабеля, но в этом случае стабильная работа устройств будет под вопросом.

Скорость передачи данных USB 2.0 составляет порядка 40 Мб/с, что в общем-то является низким показателем. Да, конечно, для обыкновенной повседневной работы с файлами пропускной способности канала в 40 Мб/с хватит за глаза, но как только речь пойдет о работе с большими файлами, поневоле начнешь смотреть в сторону чего-то более скоростного. Но оказывается выход есть, и имя ему - USB 3.0, пропускная способность которого, по сравнению с предшественником, возросла в 10 раз и составляет порядка 380 Мб/с, то есть практически как у SATA II, даже чуть больше.

Есть две разновидности контактов кабеля USB, это тип "A" и тип "B", расположенные на противоположных концах кабеля. Тип "A" - контроллер (материнская плата), тип "B" - подключаемое устройство.

USB 3.0 (тип "A") совместим с USB 2.0 (тип "A"). Типы "B" не совместимы между собой, как видно из рисунка.

Thunderbolt (Light Peak). В 2010 году компанией Intel был продемонстрирован первый компьютер с данным интерфейсом, а чуть позже в поддержку Thunderbolt к Intel присоединилась не менее известная компания Apple. Thunderbolt достаточно крут (ну а как иначе то, Apple знает во что стоит вкладывать деньги), стоит ли говорить о поддержке им таких фич, как: пресловутая "горячая замена", одновременное соединение сразу с несколькими устройствами, действительно "огромная" скорость передачи данных (в 20 раз быстрее USB 2.0).

Максимальная длина кабеля составляет только 3 метра (видимо больше и не надо). Тем не менее, несмотря на все перечисленные преимущества, Thunderbolt пока что не является "массовым" и применяется преимущественно в дорогих устройствах.

Идем дальше. На очереди у нас пара из очень похожих друг на друга интерфейсов - это SAS и SCSI. Похожесть их заключается в том, что они оба применяются преимущественно в серверах, где требуется высокая производительность и как можно меньшее время доступа к жесткому диску. Однако, существует и обратная сторона медали - все преимущества данных интерфейсов компенсируются ценой устройств, поддерживающих их. Жесткие диски, поддерживающие SCSI или SAS стоят на порядок дороже.

SCSI (Small Computer System Interface) - параллельный интерфейс для подключения различных внешних устройств (не только жестких дисков).

Был разработан и стандартизирован даже несколько раньше, чем первая версия SATA. В свежих версия SCSI есть поддержка "горячей замены".

SAS (Serial Attached SCSI) пришедший на смену SCSI, должен был решить ряд недостатков последнего. И надо сказать - ему это удалось. Дело в том, что из-за своей "параллельности" SCSI использовал общую шину, поэтому с контроллером одновременно могло работать только лишь одно из устройств, SAS - лишен этого недостатка.

Кроме того, он обратно совместим с SATA, что несомненно является большим плюсом. К сожалению стоимость винчестеров с интерфейсом SAS близка к стоимости SCSI-винчестеров, но от этого никак не избавиться, за скорость приходится платить.

Если вы еще не устали, предлагаю рассмотреть еще один интересный способ подключения HDD - NAS (Network Attached Storage). В настоящее время сетевые системы хранения данных (NAS) имеют большую популярность. По сути, это отдельный компьютер, этакий мини-сервер, отвечающий за хранение данных. Он подключается к другому компьютеру через сетевой кабель и управляется с другого компьютера через обычный браузер. Это все нужно в тех случаях, когда требуется большое дисковое пространство, которым пользуются сразу несколько людей (в семье, на работе). Данные от сетевого хранилища передаются к компьютерам пользователей либо по обычному кабелю (Ethernet), либо при помощи Wi-Fi. На мой взгляд, очень удобная штука.

Думаю, это все на сегодня. Надеюсь вам понравился материал, предлагаю подписаться на обновления блога, чтобы ничего не пропустить (форма в верхнем правом углу) и встретимся с вами уже в следующих статьях блога.

Сегодня, уважаемые читатели, я бы хотел поговорить с Вами о том, что такое ATA/ATAPI контроллеры, откуда появился интерфейс IDE и что это такое?

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

Новым и важным в этом было то, что контроллер (управлявший всеми операциями ввода-вывода) был интегрирован в сам привод, а не вынесен в виде отдельной платы расширения, как раньше. Это позволяло:

  1. убыстрить работу устройства
  2. удешевить производство
  3. и упростить схему обмена данными с накопителем

Давайте сразу разберем основные аббревиатуры, чтобы потом не путаться. Сначала интерфейс получил название «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 ».

Вот как выглядят разъемы этого образца на материнской плате (два нижних, верхний - флоппи диск):

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

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

При прямом доступе к памяти потоком данных управляет уже сам накопитель, считывая данные в память и обратно без участия процессора. Роль последнего сводится лишь к отдаче команд на выполнение того или иного действия. При этом жесткий диск выдает сигнал запроса на операцию прямого доступа к памяти. Если операция доступа данный момент возможна, контроллер дает "добро" и диск начинает выдавать данные, а контроллер считывает их в (без участия CPU).

Вот, к слову, как выглядит плата типичного контроллера, устанавливаемая производителями на свои изделия:


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

Примечание: Операция прямого доступа к памяти возможна только тогда, когда такой режим работы поддерживается одновременно «BIOS», контроллером и операционной системой. Иначе система будет работать используя предыдущий режим программного ввода-вывода (PIO).

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


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

Для сравнения - оба кабеля рядом:

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

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

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

Но, - продолжим, чтобы закончить тему о кабелях. При возросших скоростях передачи данных появляется еще одно ограничение - на максимально допустимую длину кабеля. Стандарт ATA всегда устанавливал эту границу в 46 см. В продаже, к примеру, широко распространены кабели от 44-х до 48-ми сантиметров. Встречаются также изделия откровенно превышающие рекомендованный предел и, как Вы понимаете, их использование вряд ли можно рекомендовать.

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


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

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

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

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

И тут, казалось бы, когда все ограничения на объем используемых дисков были так героически преодолены выяснилось, что параллельный интерфейс ATA (в том виде, в котором он существует на данный момент) не подходит для дальнейшего развития стандарта. Попытки увеличить его пропускную способность сводятся на нет возникающими вследствие возросших скоростей наводками в кабеле. Укорачивать сам кабель? Тоже не выход из положения.

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

Это - переработанный, и улучшенный вариант предыдущего стандарта. Как Вы помните, АТА - параллельный интерфейс (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" мегабайт в секунду (три и шесть гигабит в секунду, соответственно) - работа на перспективу (), а при их чрезмерном выпячивании - бессмысленная реклама, сбивающая с толку неподготовленного пользователя.

О чем это мы? Ах, да! О преимуществах сата: надо также помнить, что каждое SATA устройство располагается на отдельном канале (контроллере), поэтому отпадает необходимость в их конфигурировании с помощью перемычек (джамперов).

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

Вот так друзья, коротко мы разобрали основные понятия, связанные с интерфейсом ATA/ATAPI. Теперь смело нажимайте на ссылку "следующая", переходим к практической части материала.

Многим пользователям компьютеров не однократно встречалось слово SATA, но не многие знают, что этого такое. Стоит ли обращать на него внимание при выборе жесткого диска, системной платны или уже готового компьютера? Ведь в характеристиках данных устройств слово SATA сейчас часто упоминается.

Даем определение

SATA это последовательный интерфейс передачи данных между различными накопителями информации, который пришел на смену параллельному интерфейсу АТА.

Начало работ по созданию данного интерфейса было организованно с 2000 года.

В феврале 2000 года, по инициативе компании Intel была создана специальная рабочая группа, в которую вошли лидеры IT технологий тех и теперешних времен: компания Dell, Maxtor, Seagate, APT Technologies, Quantum и много других не менее значимых компаний.

В результате двух годичной совместной работы, первые разъемы SATA появились на системных платах в конце 2002года. Они использовались для передачи данных через сетевые устройства.

А с 2003 года последовательный интерфейс был интегрирован уже во все современные системные платы.

Чтобы визуально ощутить разницу между АТА и SATA посмотрите фото ниже.

Последовательный интерфейс Serial ATA .

Новый интерфейс на программной уровне, совместим со всеми существующими аппаратными устройствами и обеспечиваем более высокую скорость передачи данных.

Как видно из фото выше 7 контактный провод имеет меньшую толщину, что обеспечивает более удобное соединение между собой различных устройств, а также позволяет увеличить количество разъемов Serial ATA на системной плате.

В некоторых моделях материнских плат их количество может достигать аж 6.

Более низкое рабочего напряжение, меньшее количество контактов и микросхем уменьшило тепловыделение устройствами. Поэтому контроллеры портов SATA не перегреваются, а это обеспечивают еще большую надежную передачу данных.

Однако к интерфейсу Serial ATA еще проблематично подключить большинство современных дисководов, поэтому все производили современных системных плат еще не отказались от интерфейса АТА (IDE).

Кабеля и разъемы

Для полноценной передачи данных через интерфейс SATA используются два кабеля.

Один, 7 контактный, непосредственно для передачи данных, и второй, 15 контактный, силовой, для подачи дополнительного напряжения.

При этом, 15 контактный, силовой кабель подключается к блоку питания, через обычный, 4-х контактный разъем выдающий два разных напряжения, 5 и 12 В.

Силовой кабель SATA выдает рабочее напряжение 3,3, 5 и 12 В, при силе тока в 4,5 А.

Ширина кабеля 2, 4 см.

Чтобы обеспечить плавный переход от АТА к SATA, в плане подключения питания, на некоторых моделях жестких дисков еще можно увидеть старые 4-х контактные разъемы.

Но как правило, современные винчестеры уже идут только с 15 контактным новым разъемом.

Кабель передачи данных Serial ATA можно подключать к винчестеру и системной плате даже при включенных последних, что нельзя было сделать в старом интерфейсе АТА.

Это достигается за счет того, что выводы заземления в районе контактов интерфейса сделаны немного длиннее, чем сигнальные и силовые.

Поэтому при подсоединении в первую очередь контактируют провода заземления, и только потом все остальные.

Тоже самое можно сказать и про силовой 15 контактный кабель.


Таблица, силовой разъем Serial ATA .

Конфигурация SATA

Основное отличие конфигурации SATA от АТА это отсутствие специальных переключателей и фишек типа Master/Slave.

А также нет необходимости выбирать место подключения устройства к кабелю, ведь на кабеле АТА два таких места, и устройство, которое подключено в конце кабеля считается в BIOS главным.

Отсутствие настроек Master/Slave не только значительно упрощает аппаратную конфигурацию, но и позволяет более быстро устанавливать операционные системы, к примеру, .

Кстати про BIOS, настройки в нем тоже не займут много времени. Вы там быстро все найдете и настроите.

Скорость передачи данных

Скорость передачи данных это один из важных параметров, для улучшение которого и был разработан интерфейс SATA.

Но этот показатель в данном интерфейсе постоянно увеличивался и сейчас скорость передачи данных может достигать до 1969 Мбайт /с. Многое зависит от поколения интерфейса SATA, а их уже 5.

Первые поколения последовательного интерфейса, версии «0», могли передать до 50 Мбайт/с, но они не прижились, так как сразу же были заменены на SATA 1.0. скорость передачи данных которых уже тогда достигала 150 Мбайт/с.

Время появления серий SATA и их возможности.

Серии :

  1. 1.0 – время дебюта 7.01.2003 года – максимальная теоретическая скорость передачи данных 150 Мбайт/с.
  2. 2.0 – появлюсь в 2004 году, полностью совместима с версией 1.0, максимальная теоретическая скорость передачи данных 300 Мбайт/с или 3 Гбит/с.
  3. 3.0 – время дебюта июль 2008 года, начало выпуска май 2009 года. Теоретическая максимальная скорость 600 Мбайт/с или 6 Гбит/с.
  4. 3.1 – время дебюта июль 2011 года, скорость – 600 Мбайт/с или 6 Гбит/с. Более усовершенствованная версия чем в п. 3.
  5. 3.2, а также входящая в него спецификация SATA Express – время выхода 2013 год. В данной версии произошло слияние SATA и PCIe устройств. Скорость передачи данных выросла до 1969 Мбайт/с.

В данном интерфейсе передача данных осуществляется на скорости 16 Гбит/с или 1969 Мбайт/с за счет взаимодействия двух линий PCIe Express и SATA.

Интерфейс SATA Express начал внедрятся в чипсетах Intel 9-й серии и в начале 2014 года был мало еще известен.

Если не внедрятся в дебри ИТ технологий, то в двух словах можно сказать так.

Serial ATA Express, это своеобразный переходной мост, который переводит обычный режим передачи сигналов в режиме SATA на более скоростной, который возможен благодаря интерфейсу PCI Express.

eSATA

eSATA используется для подключения внешних устройств, что еще раз подтверждает универсальность интерфейса SATA.

Здесь уже используется более надежный разъемы подключения и порты.

Недостатком является то, что для работы внешнего устройства нужен отдельный специальный кабель.

Но разработчики интерфейса в скором времени решили эту проблему внедрив систему питания сразу в основной кабель в интерфейсе eSATAp.

eSATAp, это доработанный интерфейс eSATA в реализации которого была использована технология USB 2.0. Основное преимущество данного интерфейса, это передача по проводам напряжения 5 и 12 Вольт.

Соответственно встречаются eSATAp 5 V и eSATAp 12 V.

Существуют и другие названия интерфейса, все зависит от производителя. Вы можете встретить аналогичные названия: Power eSATA, Power over eSATA, eSATA USB Hybrid Port (EUHP), eSATApd и SATA/USB Combo.

Как выглядит интерфейс смотрите ниже.

Также для ноутбуков и нетбуков разработан интерфейс Mini eSATAp.

mSATA

mSATA – внедрен с сентября 2009 года. Разработан для использования в ноутбуках, нетбуков и других не больших ПК.

На фото выше, как пример, представлено два диска, один обычный SATA, он внизу. Выше диск с интерфейсом mSATA.

Кому интересно, можете ознакомится с характеристиками mSATA-накопителей.

Такие накопители установлены практически в каждом ультрабуке.

Интерфейс mSATA в обычных компьютерах применяется редко.

Переходник mSATA to Serial ATA Convertor .

Вывод

Из выше сказанного понятно, что интерфейс последовательной передачи данных SATA еще не исчерпал себя полностью.