Главная > Компьютеры > Накопители >
FAQ по магнитно-дисковым накопителям IBM PC [3/7]

 - Почему на винчестере написано "540 MB", а BIOS выдает "514 MB"?

На винчестерах обычно пишут емкость в миллионах байт. Одни BIOS'ы
выдают емкость тоже в миллионах байт, другие - в мегабайтах. Например,
540 000 000 байт = 527 343 килобайт = 514 мегабайт. Различные
программы тоже пользуются разными единицами измерения.

----------------------------------------------------------------------

 - Как в винчестере дюймовой высоты умещается целых 32 головки?

А никак. На самом деле там чаще всего 1-3 диска (2-6 головок), и очень
редко - больше. Все современные винчестеры работают с трансляцией,
преобразуя свою реальную (физическую) геометрию (число
цилиндров/головок/секторов) в логическую, которую и видят драйверы и
прочие программы.

----------------------------------------------------------------------

 - Что такое IORDY?

Сигнал от EIDE-винчестера, подтверждающий завершение цикла обмена с
контроллером. Другие названия - CHRDY, IOCHDRY. Использование IORDY
позволяет скоростному винчестеру затянуть цикл обмена с контроллером,
когда он не успевает принять или передать данные. Это дает возможность
свести стандартную длительность цикла обмена к минимуму, предельно
увеличив скорость, а при необходимости удлинять отдельные циклы при
помощи IORDY. Для этого сигнал должен поддерживаться и винчестером, и
контроллером.

----------------------------------------------------------------------

 - Что такое PIO и DMA?

Режимы программного ввода/вывода (Programmed Input/Output) и прямого
доступа к памяти (Direct Memory Access) на винчестерах стандарта
IDE/EIDE. Программный ввод/вывод - обычный метод обмена с
IDE-винчестером, когда процессор при помощи команд ввода/ вывода
считывает или записывет данные в буфер винчестера, что отнимает
какую-то часть процессорного времени. Ввод/вывод путем прямого доступа
к памяти идет под управлением самого винчестера или его контроллера в
паузах между обращениями процессора к памяти, что экономит
процессорное время, но несколько снижает максимальную скорость обмена.
В однозадачных системах более предпочтителен режим PIO, в
многозадачных - режим DMA. Однако для реализации режима DMA необходимы
специальные контроллеры и драйверы, тогда как режим PIO поддерживается
всеми без исключения системами.

Каждый из режимов PIO и DMA имеет несколько разновидностей,
характеризующих способ обмена и длительность цикла передачи одного
слова, от которых зависит скорость передачи:

PIO   Время цикла (нс)  Максимальная скорость обмена (Мб/с)

 0          600                         3.3
 1          383                         5.2
 2          240                         8.3
 3          180                        11.1
 4          120                        16.6

Режимы 0..2 относятся к обычным IDE (стандарт ATA), 3..4 - к EIDE
(ATA-2). В некоторых источниках упоминается режим 5, однако
распространения он не получил и стандартным не является.

За один цикл передается слово (два байта), поэтому скорость
вычисляется так:

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

Ultra DMA-33      60                   33.3

Ultra DMA-66      30                   66.6

Режимы Single Word 0..2 и Multiword 0 относятся к ATA, 1..2 - к
(ATA-2), Ultra DMA-33/66 - к Ultra ATA 33/66 соответственно.

----------------------------------------------------------------------

 - Всегда ли более скоростные PIO и DMA ускоряют работу?

Поддерживаемые контроллером или винчестером режимы PIO и DMA
определяют лишь максимально возможную скорость обмена по интерфейсу -
реальная скорость обмена определяется частотой вращения дисков,
скоростью работы логики винчестера, скоростью работы процессора/памяти
и еще множеством других причин.

Переключение между режимами PIO и DMA ощутимо влияет на скорость
обмена с винчестером только в том случае, когда скорость передачи по
интерфейсу сравнима с предельной внутренней скоростью чтения/записи.
Например, для винчестера с максимальной внутренней скоростью порядка 2
Мб/с переключение режимов PIO 2..4 практически не окажет влияния, и то
же самое справедливо для скорости чтения порядка 8 Мб/с и режимов PIO
4..5, Single/Multiword DMA 2 и Ultra DMA-33. Единственное, чем в таком
случае может помочь более скоростной режим - это несколько сократить
время занятия процессора (PIO) или системной шины (DMA).

При появлении новых стандартов PIO/DMA обычно появляются более
скоростные модели винчестеров, подчеркивающие преимущества этих
стандартов, однако это не следует связывать безусловно. Например,
винчестеры серии Fireball ST с поддержкой UDMA/33 показывают лучшие
результаты не за счет UDMA, а за счет высокой скорости вращения и
оптимизации обмена; в PIO 4/DMA 2 они дают практически ту же скорость
чтения/записи, что и в UDMA/33. Отношение к UDMA, как к радикальному
средству для ускорения работы, не имеет под собой практически никаких
оснований.

----------------------------------------------------------------------

 - Что такое Block Mode?

Режим блочного обмена с IDE-винчестером. Обычый обмен делается
посекторно: например, при чтении пяти секторов выдается команда
чтения, ожидается готовность первого сектора, он считывается из буфера
винчестера, затем ожидается готовность второго и т.п. При этом
накладные расходы, особенно при неоптимально сделанном драйвере в
BIOS, могут стать заметны на фоне всей операции. При блочном чтении
винчестеру вначале сообщается количество секторов, обрабатываемых за
одну операцию, он считывает их все во внутренний буфер, и затем
процессор забирает все секторы сразу. Различные винчестеры имеют
разный размер внутреннего буфера и разное максимальное количество
секторов на операцию.

Наибольший выигрыш от блочного режима получается тогда, когда основная
работа идет с фрагментами данных, не меньшими, чем Blocking Factor
(количество секторов на операцию), и наименьший, или совсем никакого -
при преобладании работы с мелкими фрагментами, когда обмен идет
одиночными секторами.

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

----------------------------------------------------------------------

 - Что означают режимы LBA и Large?

Logical Block Addressing - последовательная адресация логических
блоков в EIDE- винчестерах. В стандарте ATA был предусмотрен только
классический способ адресации секторов - по номеру цилиндра, головки и
сектора (CHS - Cylinder/Head/Sector). Под номер цилиндра было отведено
16 разрядов, под номер головки - 4 и сектора - 8, что давало
максимальную емкость винчестера в 128 Гб, однако BIOS с самого начала
ограничивал количество секторов до 63, а цилиндров - до 1024, этому же
примеру последовал и DOS, что в итоге дало максимальный поддерживаемый
объем в 504 Мб. Метод, использованный для передачи BIOS'у адреса
сектора, оставляет свободными 4 старших разряда в регистре с номером
головки, что позволило увеличить поддерживаемую DOS емкость еще в 16
раз - до 8 Гб. Для стандартизации метода передачи адреса сектора
винчестеру был введен режим LBA, в котором адрес передается в виде
линейного 28-разрядного абсолютного номера сектора (для DOS
по-прежнему остается ограничение в 8 Гб), преобразуемого винчестером в
нужные номера цилиндра/головки/ сектора.

Для работы в режиме LBA необходима поддержка как винчестера, так и его
драйвера (или BIOS). При работе через BIOS винчестер представляется
имеющим 63 сектора, число головок, обычно равное степени двойки (до
255) или кратное их количеству в геометрии CHS, и необходимое число
цилиндров. BIOS преобразует эти адреса в линейные, а винчестер - в
адреса собственной геометрии.

Award BIOS, кроме режима LBA, поддерживает также режим Large,
предназначенный для винчестеров емкостью до 1 Гб, не поддерживающих
режима LBA. В режиме Large количество логических головок увеличивается
до 32, а количество логических цилиндров уменьшается вдвое. При этом
обращения к логическим головкам 0..F транслируются в четные физические
цилиндры, а обращения к головкам 10..1F - в нечетные. Винчестер,
размеченный в режиме LBA, несовместим с режимом Large, и наоборот.
Кроме этого, версии 4.50 и 4.51 AWARD BIOS не проверяют объем
винчестера в режиме Large - установка в этот режим винчестера объемом
более 1 Гб (число логических головок > 32) рано или поздно неминуемо
приведет к порче данных из-за наложения разных логических секторов в
результате неправильной трансляции адресов.

----------------------------------------------------------------------

 - В чем различия поддержки режима LBA в Award и AMI BIOS?

В Award BIOS любой режим может устанавливаться либо принудительно
(Normal/LBA/Large), и тогда BIOS не обращает внимания на параметры
разделов винчестера, либо выбираться автоматически (Auto), когда BIOS
анализирует параметры разделов и подбирает наиболее подходящий режим
трансляции, отображая его потом в сводной таблице при начале загрузки.
В AMI BIOS принудительно устанавливается лишь режим Normal/CHS, когда
опция LBA отключена, а при включенной опции LBA BIOS выбирает
трансляцию автоматически на основании параметров разделов. В
частности, это может привести к тому, что в AMI BIOS диск, на котором
созданы разделы в режиме Normal/CHS, всегда будет опознаваться в этом
режиме независимо от установки опции LBA, и перевести его в LBA можно
только уничтожением разделов или ручной правкой их параметров в MBR.

----------------------------------------------------------------------

 - Почему при включенном Block Mode теряются байты от модема?

Это происходит оттого, что BIOS или драйверы типа Rocket почему-то
запрещают прерывания на время обмена с винчестером. Возможно, это
пережиток тех времен, когда в процессорах 8086/8088 при прерываниях
терялся префикс повторяемой команды. В обычном посекторном режиме
время обмена одним сектором мало, а времени обмена десятком секторов и
больше вполне достаточно для потери одного-двух байтов на модеме без
FIFO. Один из методов борьбы с этим явлением - установка подправленных
драйверов Rocket взамен работы через BIOS:

Rocket 1.00 (размер 7897)          Rocket 1.16 (размер 12607)

     02DB: FA -> 90                      0505: FA -> 90
     02DE: FB -> 90                      0508: FB -> 90
     0333: FA -> 90                      05C5: FA -> 90
     0336: FB -> 90                      05C8: FB -> 90
     03B6: FA -> 90                      2F47: 08 -> 00
     03B9: FB -> 90
     0404: FA -> 90
     0407: FB -> 90
     0498: FA -> 90
     049B: FB -> 90
     0726: FA -> 90
     0729: FB -> 90
     08C0: FA -> 90
     08C3: FB -> 90
     08EC: FA -> 90
     08EF: FB -> 90
     1CE1: 08 -> 00

----------------------------------------------------------------------

 - Что такое MRH и PRML?

MRH (Magneto-Resistive Heads) - магниторезистивная головка. По
традиции для записи/считывания информации с поверхности диска
использовались индуктивные головки. Основной недостаток индуктивной
головки считывания - сильная зависимость амплитуды сигнала от скорости
перемещения магнитного покрытия и высокий уровень шумов, затрудняющий
верное распознавание слабых сигналов. Магниторезистивная головка
считывания представляет собой резистор, сопротивление которого
изменяется в зависимости от напряженности магнитного поля, причем
амплитуда уже практически не зависит от скорости изменения поля. Это
позволяет намного более надежно считывать информацию и диска и, как
следствие, значительно повысить предельную плотность записи.
MR-головки используются только для считывания; запись по-преждему
выполняется индуктивными головками.

PRML (Partial Response Maximum Likelihood - максимальное правдоподобие
при неполном отклике) - метод считывания информации, основанный на
ряде положений теории распознавания образов. По традиции декодирование
выполнялось путем непосредственного слежения за амплитудой, частотой
или фазой считанного сигнала, и для надежного декодирования эти
параметры должны были изменяться достаточно сильно от бита к биту. Для
этого, в частности, при записи подряд двух и более совпадающих битов
их приходилось специальным образом кодировать, что снижало плотность
записываемой информации. В методе PRML для декодирования применяется
набор образцов, с которыми сравнивается считанный сигнал, и за
результат принимается наиболее похожий. Таким образом создается еще
одна возможность повышения плотности записи (30-40%).


Страница 1 2 3 4 5 6 7 <<< Предыдущая Следущая >>>


Украинская Баннерная Сеть

Главная  Алфавитный индекс  Справка  Добавить FAQ  E-mail
Новости  Поиск по сайту

Copyright © 2001 - 2003 Olexandr Slobodyan.
Сайт создан в системе uCoz