Компьютеры

Ремонт и upgrade компьютеров своими руками

ЭВОЛЮЦИЯ ИНТЕРФЕЙСА ATA

 

Если у вас появятся вопросы, не освещенные на нашем сайте, вы можете задать вопрос непосредственно нашим специалистам по электронной почте: upgradecomputer@yandex.ru

 

  

 

Со времени появления первого интерфейса АТА-1 его новые версии, как и BIOS, включали в себя поддержку все более емких и быстрых жестких дисков, наравне с другими накопителями. Этот раздел посвящен некоторым наиболее значительным изменениям, происшедшим за последние годы.

Основным модификациям в стандартах АТА-2-АТА-7 подверглись следующие области:

■ вторичный канал АТА;

■ увеличение максимальной емкости дисков;

■ повышение скорости передачи данных;

■ интерфейс ATAPI (ATA Program Interface).


Вторичный канал АТА

Несмотря на отсутствие каких-либо ограничений, в компьютерах обычно использовался только один первичный канал, встроенный в системную плату. С момента опубликования стандарта АТА-2 большинство систем получили второй интерфейс, который был назван вторичным каналом АТА. Каждый канал позволяет поддерживать два дисковода, что дает возможность установить до четырех дисководов в одной системе.

Для установки более четырех устройств АТА рекомендуется воспользоваться платами расширения, которые содержат дополнительные порты АТА и, как правило, подключаются в разъемы PCI. BIOS системной платы непосредственно не поддерживает дополнительные порты АТА, но платы расширения зачастую содержат базовую систему ввода-вывода адаптера, распознаваемую во время начальной загрузки. Устройства, подключаемые к плате расширения, могут поддерживаться драйверами даже при отсутствии встроенной BIOS (однако теряют при этом возможность непосредственной загрузки).

Компании Promise Technologies, MicroFirmware, GSI и некоторые другие вызапускают дополнительные адаптеры расширения АТА, встраиваемые в системные платы, которые позволяют использовать более двух портов.


Ограничения емкости дисков

Современные интерфейсы ATA/IDE имеют ограничение емкости диска в 136,9 Гбайт. Кроме того, в зависимости от версии BIOS, значение этого ограничения может находиться еще ниже, к примеру на отметке в 8,4 Гбайт или даже 512 Мбайт. Это может случиться в результате наложения ограничений для АТА на ограничения BIOS, что в конечном итоге может привести к еще крупным ограничениям.

В табл. 7.6 обобщаются ограничения емкости жестких дисков, связанные непосредственно с интерфейсом АТА или BIOS.


Префиксы десятичных и двоичных множителей

Боюсь, что многие посетители плохо знакомы с MiB (mebibyte), GiB (gibibyte) и другими подобными обозначениями, которые используются как в этом сайте, так и во всей статье в целом. Эти обозначения представляют собой некоторую часть стандарта, позволяющего избежать путаницы между множителями десятичной и двоичной инфраструктуры счислений, в частности в компьютерных системах. Единицы измерений стандарта SI (международной

Таблица 7.6. Ограничения емкости ATA/IDE при использовании различных методов адресации секторов

Метод адресации

Расчет общего

Максимальное

Максимальная

Емкость

Емкость

сектора

количества

количество

емкость, байт

(в десятичной

(в двоичной


секторов

секторов


системе)

системе)

CHS: BIOS w/o TL

1024x16x63

1032 192

528 482 304

528,48 Мбайт

504,00 MiB

CHS: BIOS w/bit-shift TL

1024x240x63

15 482 880

7 927 234 560

7,93 Гбайт

7,38 GiB

CHS: BIOS w/LBA-assist TL

1024x255x63

16450 560

8 422 686 720

8,42 Гбайт

7,84 GiB

CHS: BIOS INT13h

1024x256x63

16515072

8 455 716 864

8,46 Гбайт

7,88 GiB

CHS: ATA-l/ATA-5

65536x16x255

267 386 880

136 902 082 560

136,90 Гбайт

127,50 GiB

LBA: ATA-l/ATA-5

228

268 435 456

137438 953 472

137,44 Гбайт

128,00 GiB

LBA: ATA-6+

248

281474 976710 655

144 115 188 075 855 360

144,12 Пбайт

128,00 PiB

LBA: EDO BIOS

264

18 446744 073 709 551600

9 444 732 965 739 290 430 000

9,44 Збайт

8,00 iB

CHS — Cylinder Head Sector (цилиндр, головка, сектор).

LBA — Logical Block (sector) Address (адрес логического блока).

w/ — с (with).

w/o — без (without).

TL — Translation.

INT13h — прерывание 13h.

EDD — спецификация Enhanced Disk Drive (Phoenix/ATA).

MiB — mebibyte.

GiB — gibibyte.

PiB — pebibyte.

Збайт — зетабайт (секстильон байтов).

ZiB — zebibyte.

инфраструктуры единиц, или метрической инфраструктуры) создаются на основе десятичных множителей. Такая система подходит для решения разнообразных задач, но достаточно неудобна для компьютеров, обитающих в двоичном мире, где все числа создаются на двоичной основе (т. е. на основе множителя 2). Это привело к появлений различных значений, присваиваемых одному и тому же префиксу: к примеру, 1 Кбайт (килобайт) может обозначать как 1 000 (103) байт, так и 1 024 (210) байт. В декабре 1998 года Международная электротехническая комиссия (МЭК) утвердила в качестве международного стандарта ряд префиксных названий и обозначений двоичных множителей, используемых при обработке и передаче данных. Некоторые из этих префиксов приведены в табл. 7.7.

В соответствии с принятой стандартной терминологией 1 Мбайт (мегабайт) содержит 1 000 000 байт, в то время как 1 MiB (mebibyte) — 1 048 576 байт.

Замечание

Для получения подробной информации, относящейся к промышленному стандарту десятичных и двоичных префиксов, обратитесь на Web-узел Национального института стандартов и технологий (NIST): physics.nist.gov/cuu/Units/prefixes.html.


Методы адресации CHS и LBA

Существует два основных метода, используемых для адресации (или нумерации) секторов накопителей АТА. Первый из них называется CHS (Cylinder Head Sector). Это название образовано по трем соответствующим координатам, которые используются для адресации каждого сектора дисковода. Во втором методе, который носит название LBA (Logical Block Address), для адресации секторов накопителя используется только одно значение. В основе метода CHS лежит физическая структура накопителей (а также способ организации его внутренней работы). Метод LBA, в свою очередь, представляет собой более простой и логический способ нумерации секторов, не зависящий от внутренней физической архитектуры накопителей.

При последовательном считывании данных с накопителя в режиме CHS процесс чтения начинается с цилиндра 0, головки 0 и сектора 1 (который является первым сектором на данном диске), после чего считываются все остальные секторы первой дорожки. Затем выбирается следующая головка и читаются все секторы, находящиеся на этой дорожке. Этот процесс продолжается до тех пор, пока не будут считаны данные со всех головок первого цилиндра. После этого выбирается следующий цилиндр и процесс чтения продолжается в такой же последовательности. Метод CHS подобен принципу одометра (счетчика пройденного пути): для того чтобы изменить номер головки, необходимо «провернуть» определенное количество секторов; а для того чтобы перейти на следующий цилиндр, необходимо «провернуть» несколько головок.

При последовательном считывании данных с накопителя в режиме LBA процесс чтения начинается с сектора 0, после чего читается сектор 1, сектор 2 и т. д. Как вы помните, в режиме CHS первым сектором жесткого диска является 0,0,1. В режиме LBA этот же сектор будет сектором 0.

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

Таблица 7.7. Стандартные префиксные наименования и обозначения двоичной инфраструктуры счислений

Десятичная система




Двоичная

система

103

к (к)

кило (kilo)

1000

Ki

Kibi

Kilobinary

1024

106

М(М)

Mera (Mega)

1 000 000

220

Mi

Mibi

Megabinary

1 048 576

109

T(G)

Гига (Giga)

1 000 000 000

2зо

Gi

Gibi

Gigabinary

1073 741824

1012

Т(Т)

Тера (Тега)

1 000 000 000 000

240

Ti

Tibi

Terabinary

1099 511627 776

1016

П(Р)

Пета (Peta)

1 000 000 000 000 000

250

Pi

Pibi

Petabinary

1 125 899 906 842 624

1018

Е

Экза (Еха)

1 000 000 000 000 000 000

250

Ei

Exbi

Exabinary

1 152 921504 606 846 980

1021

Z

Зетта (Zetta)

1 000 000 000 000 000 000 000

250

Zi

Zebi

Zettabinary

1 180591620717411300 000

Примечание. Обратите внимание, что обозначение «кило/kilo (к) « в соответствии с Международной системой единиц SI начинается с прописной буквы, а все остальные обозначения десятичной инфраструктуры счислений — со строчной.

Таблица 7.8. Нумерация секторов в режимах CHS и LBA для воображаемого накопителя, содержащего два цилиндра, две головки и по два сектора на каждой дорожке (в общей сложности — восемь секторов)

Режим   Соответствующие номера секторов

CHS: 0,0,1 0,0,2 0,1,1 0,1,2 1,0,1 1,0,2 1,1,1 1,1,2 LBA: 0  12 3  4  5  6 7

накопителя равна восьми (2x2x2) секторам. Обратите внимание, что нумерация цилиндров и головок начинается с числа «0», а нумерация физических секторов, находящихся на дорожке, — с числа «1». При использовании адресации CHS расположение первого сектора накопителя определяется выражением «цилиндр 0, головка 0, сектор 1 (0,0,1)»; адресом второго сектора является 0,0,2; третьего — 0,1,1; четвертого ? 0,1,2 и т. д., пока мы не дойдем до последнего сектора, адрес того 1,1,2.

Представьте теперь, что мы взяли восемь секторов и, не обращаясь непосредственно к физическим цилиндрам, головкам и секторам, пронумеровали все секторы от 0 до 7. Таким образом, если необходимо обратиться к четвертому сектору накопителя, мы можем сослаться на него как на сектор 0,1,2 в режиме CHS или как на сектор 3 в режиме LBA. Соотношение между номерами секторов воображаемого восьмисекторного накопителя в режимах CHS и LBA приведено в табл. 7.8.

Как видно из приведенного примера, использование нумерации LBA заметно облегчает и упрощает процесс обработки данных. Несмотря на это, при создании первых персональных компьютеров вся адресация BIOS и накопителей АТА была выполнена методом CHS.


Преобразования CHS/LBA и LBA/CHS

Адресация секторов может выполняться как в режиме CHS, так и в режиме LBA. Для данного накопителя существует определенное соответствие между адресациями CHS и LBA, то, в частности, позволяет преобразовывать адреса CHS в адреса LBA и наоборот. Спецификация АТА-1 предлагает довольно простую формулу, с помощью той можно преобразовывать параметры CHS в LBA:

■ LBA = (((С х НРС) + Н) х SPT) + S — 1.

Реверсирование этой формулы позволяет выполнить обратное преобразование, т. е. преобразовать параметры LBA в адрес CHS:

■ С = int(LBA/SPT/HPC),

■ Н = int((LBA/SPT) mod НРС),

■ S = (LBA mod SPT)+ 1.

В этих формулах использованы следующие выражения:

■ LBA — logical block address;

■ С — цилиндр (cylinder);

■ Н головка (head);

■ S — сектор (sector);

Таблица 7.9. Параметры CHS и соответствующая им нумерация секторов LBA для накопителя, содержащего 16383 цилиндров, 16 головок и 63 сектора на каждой дорожке (общее количество секторов — 16 514 064)

Цилиндр

Головка

Сектор

LBA

0

0

1

0

0

0

63

62

1

1

1

63

999

15

63

1007 999

1000

0

1

1 008 000

9 999

15

63

10 079 999

10 000

0

1

10 080 000

16382

15

63

16514063

■ НРС — количество головок в каждом цилиндре (общее количество головок);

■ SPT — количество секторов на каждой дорожке;

■ int X — целочисленная часть X;

■ X mod Y — модуль (остаток) от X/Y.

С помощью этих формул можно вычислить параметры LBA практически для любого адреса CHS и наоборот. Данный накопитель содержит 16383 цилиндров, 16 головок и 63 сектора на каждой дорожке. Соотношение адресов CHS и LBA отображено в табл. 7.9.


Команды Bios И Команды Ата

Помимо двух методов адресации секторов (CHS и LBA), существует еще два уровня интерфейса, в которых используется адресация секторов. Одним из интерфейсов является область взаимодействия операционной инфраструктуры и базовой инфраструктуры ввода-вывода (с помощью команд BIOS); другим — область сопряжения базовой инфраструктуры ввода-вывода и накопителя (с помощью команд АТА). На каждом из этих уровней используются определенные команды, которые поддерживают как режим CHS, так и LBA. На рис. 7.6 отображены различные уровни интерфейса.

Когда операционная система обращается к базовой системе ввода-вывода для чтения или записи секторов, она выдает соответствующие команды через программное прерывание INT13h, то представляет собой стандартную подпрограмму BIOS, используемую для доступа к диску. Подфункции прерывания INT13h позволяют выполнять чтение или запись секторов, используя при этом адресацию LBA или CHS. После этого стандартные программы базовой инфраструктуры ввода-вывода преобразуют команды BIOS в аппаратные команды АТА, которые передаются через порты шины ввода-вывода на контроллер дисковода. Аппаратные команды АТА также могут использовать адресацию CHS или LBA, несмотря на то что существуют определенные ограничения. Будет ли использоваться базовой системой ввода-вывода и накопителем адресация CHS или LBA, зависит от емкости жесткого диска, срока службы накопителя и «возраста» BIOS, установленных параметров BIOS Setup и используемой операционной инфраструктуры.

основными процессора2

Рис. 7.6. Типичные соединители жесткого диска АТА (IDE). (Здесь выражение L-CHS обозначает логический CHS, а выражение P-CHS — физический CHS)

Дополнительные сведения

Информация об ограничениях и трансляции CHS (преодолении ограничения в 528 Мбайт), преодолении ограничения емкости 2,1/4,2 Гбайт и трансляции LBA-Assist представлена на прилагаемом к статье компакт-диске.


.

           

 

 

Вся информация собрана из открытых источников. При испльзовании материалов, размещайте ссылку на источник.

Сайт создан в системе uCoz