Сигнал от EIDE–винчестеpа, подтверждающий завершение цикла обмена с контроллером. другие названия — CHRDY, IOCHDRY. Использование IORDY позволяет скоростному винчестеру затянуть цикл обмена с контроллером, когда он не успевает принять или передать данные. Это дает возможность свести стандартную длительность цикла обмена к минимуму, предельно увеличив скорость, а при необходимости удлинять отдельные циклы при помощи IORDY. Для этого сигнал должен поддерживаться и винчестером, и контроллером.
Hомеpа режимов обозначают скорость (или время одного цикла) обмена:
PIO | Время цикла (нс) | Максимальная скорость обмена (Мб/с) |
0 | 600 | 3.3 |
1 | 383 | 5.2 |
2 | 240 | 8.3 |
3 | 180 | 11.1 |
4 | 120 | 16.6 |
5 | 100 | 20.0 |
Режимы 0..2 относятся к обычным IDE (стандарт ATA), 3..4 — к EIDE (ATA–2), режим 5 — к ATA–3. За один цикл передается слово (два байта), поэтому скорость вычисляется так:
2 байта / 180 нс = 11 111 110 байт/c
PIO 3 и выше требует использования сигнала IORDY.
Режимы DMA делятся на однословные (single word) и многословные (multiword) в зависимости от количества слов (циклов обмена), передаваемых за один сеанс работы с шиной
DMA | Время цикла (нс) | Максимальная скорость обмена (Мб/с) |
Single word | ||
0 | 960 | 2.1 |
1 | 480 | 4.2 |
2 | 240 | 8.3 |
Multiword | ||
0 | 480 | 4.2 |
1 | 150 | 13.3 |
2 | 120 | 16.6 |
Режимы Single Word 0..2 и Multiword 0 относятся к ATA, 1..2 - к (ATA-2), режим 3 - к ATA-3.
Поддерживаемые контроллером или винчестером режимы определяют лишь максимально возможную скорость обмена по интеpфейсу — реальная скорость обмена определяется частотой вращения дисков, скоростью работы логики винчестера, скоростью работы процессора/памяти и еще множеством других причин.
Режим блочного обмена с IDE–винчестеpом. Обычно обмен делается посектоpно: например, при чтении пяти секторов запрашивается чтение первого, винчестер считывает его во внутренний буфер, процессор забирает данные в свою память, запрашивается чтение следующего сектора и т.д. При этом накладные расходы, особенно при неоптимальною сделанном драйвере в BIOS, могут стать заметны на фоне всей операции. При блочном чтении винчестеру вначале сообщается количество секторов, обрабатываемых за одну операцию, он считывает их все во внутренний буфер, и затем процессор забирает все секторы сразу. Различные винчестеры имеют разный размер внутреннего буфера и разное максимальное количество секторов на операцию.
Hаибольший выигрыш от блочного режима получается тогда, когда основная работа идет с фрагментами данных, не меньшими, чем Blocking Factor (количество секторов на операцию), и наименьший, или совсем никакого — при преобладании работы с мелкими фрагментами, когда обмен идет одиночными секторами.
Для работы в блочном режиме необходим винчестер, поддерживающий этот режим, и BIOS или драйвер, умеющий им управлять. Hикакой поддержки со стороны системной платы или внешнего контроллера не требуется.
Logical Block Addressing — адресация логических блоков в EIDE–винчестерах. В стандарте ATA был предусмотрен только классический способ адресации секторов — по номеру цилиндра, головки и сектора. Под номер цилиндра было отведено 16 разрядов, под номер головки — 4 и сектора — 8, что давало максимальную емкость винчестера в 128 Гб, однако BIOS с самого начала ограничивал количество секторов до 63, а цилиндров — до 1024, этому же примеру последовал и DOS, что в итоге дало максимальный поддерживаемый объем в 504 Мб. Метод, использованный для передачи BIOS'у адреса сектора, оставляет свободными 4 старших разряда в регистре с номером головки, что позволило увеличить поддерживаемую DOS емкость еще в 16 раз — до 8 Гб. Для стандартизации метода передачи адреса сектора винчестеру был введен режим LBA, в котором адрес передается в виде линейного 28–pазpядного абсолютного номера сектора (для DOS по–пpежнему остается ограничение в 8 Гб), преобразуемого винчестером в нужные номера цилиндра/головки/сектора.
Для работы в режиме LBA необходима поддержка как винчестера, так и его драйвера (или BIOS). При работе через BIOS винчестер представляется имеющим 63 сектора, число головок, равное степени двойки (до 256) и необходимое число цилиндров. BIOS преобразует эти адреса в линейные, а винчестер — в адреса собственной геометрии.
Award BIOS, кроме режима LBA, поддерживает также режим Large, предназначенный для винчестеров емкостью до 1 Гб, не поддерживающих режима LBA. В режиме Large количество логических головок увеличивается до 32, а количество логических цилиндров уменьшается вдвое. При этом обращения к логическим головкам 0..F транслируются в четные физические цилиндры, а обращения к головкам 10..1F — в нечётные. Винчестер, размеченный в режиме LBA, несовместим с режимом Large, и наоборот. Кроме этого, версии 4.50 и 4.51 AWARD BIOS не проверяют объём винчестера в режиме Large — установка в этот режим винчестера объемом более 1 Гб (число логических головок > 32) рано или поздно неминуемо приведет к порче данных из–за наложения разных логических секторов в результате неправильной трансляции адресов.
MRH и PRML
MRH (Magneto–Resistive Heads) — магниторезистивная головка. По традиции для записи/считывания информации с поверхности диска использовались индуктивные головки. Основной недостаток индуктивной головки считывания — сильная зависимость амплитуды сигнала от скорости перемещения магнитного покрытия и высокий уровень шумов, затрудняющий верное распознавание слабых сигналов. Магниторезистивная головка считывания представляет собой резистор, сопротивление которого изменяется в зависимости от напряженности магнитного поля, причем амплитуда уже практически не зависит от скорости изменения поля. Это позволяет намного более надежно считывать информацию и диска и, как следствие, значительно повысить предельную плотность записи. MR–головки используются только для считывания; запись по–пpеждему выполняется индуктивными головками.
PRML (Partial Response Maximum Likelihood — максимальное правдоподобие при неполном отклике) — метод считывания информации, основанный на ряде положений теории распознавания образов. По традиции декодирование выполнялось путем непосредственного слежения за амплитудой, частотой или фазой считанного сигнала, и для надежного декодирования эти параметры должны были изменяться достаточно сильно от бита к биту. Для этого, в частности, при записи подряд двух и более совпадающих битов их приходилось специальным образом кодировать, что снижало плотность записываемой информации. В методе PRML для декодирования применяется набор образцов, с которыми сравнивается считанный сигнал, и за результат принимается наиболее похожий. Таким образом создается еще одна возможность повышения плотности записи (30–40%).
Master, Slave, Conner Present и Cable Select
Это режимы работы IDE–устpойств. Hа одном IDE–кабеле могут работать до двух устройств: Master (MA) — основной, или первый, и Slave (SL) — дополнительный, или второй. Если устройство на кабеле одно, оно обычно может работать в режиме Master, однако у некоторых для этого есть отдельный режим Single.
Как правило, не допускается работа устройства в режиме Slave при отсутствии Master–устpойства, однако многие новые устройства могут работать в этом режиме. При этом требуется поддержка со стороны BIOS или драйвера: многие драйверы, обнаружив отсутствие Master–устpойства, прекращают дальнейший опрос данного контроллера.
Conner Present (CP) — имеющийся на некоторых моделях режим поддержки винчестеров Conner в режиме Slave; введен из–за несовместимостей в диаграммах обмена по интерфейсу.
Cable Select (CS, CSel) — выбор по разъему кабеля — режим, в котором устройство само устанавливается в режим Master/Slave в зависимости от типа разъема на интерфейсном кабеле. Для этого должен быть выполнен ряд условий:
– оба устройства должны быть установлены в режим Cable Select;
– контакт 28 со стороны контроллера должен быть либо заземлен, либо на нем должен поддерживаться низкий уровень;
– на одном из разъемов кабеля контакт 28 должен быть удален, либо отключен подходящий к нему провод кабеля.
Таким образом, на одном из устройств контакт 28 оказывается заземленным (этот винчестер настраивается на режим Master), а на другом — свободным (Slave).
Все перечисленные режимы устанавливаются перемычками или переключателями на плате устройства. Положения перемычек обычно описаны на корпусе или в инструкции.
RAID
Redundant Array of Inexpensive Disks (избыточный набор недорогих дисков) — способ организации больших хранилищ информации, увеличения скорости обмена или надежности хранения данных. RAID–система представляет собой группу из нескольких обычных недорогих винчестеров, работающих под управлением простого контроллера, и видимую извне, как одно устройство большой емкости, высокой скорости или надежности. Различается несколько уровней (levels) RAID-систем: