Практические вопросы

На что следует обращать внимание, покупая платы ATA-2 (Fast ATA, EIDE)?
За последнее время появилось много дополнений в технологии хранения данных в PC, которые могут играть роль при покупке новых интерфейсных плат. Некоторые из новых возможностей, однако, могут уже быть реализованы в вашей системной плате или могут оказаться несущественными для вас.

Интерфейс ATA-2 должен обеспечивать PIO mode 3 для устройств, поддерживающих этот режим. Должна также обеспечиваться поддержка более медленных режимов PIO (0, 1 и 2) для обеспечения возможности работы со старыми винчестерами. Режимы "DMA", предлагаемые некоторыми адаптерами, зачастую могут очень мало. Другие расширенные возможности, подобные буферам выборки, встречаются весьма редко.

Поскольку приводы CD-ROM и стриммеры с интерфейсом ATAPI обретают все большую популярность среди недорогих устройств, второй порт ATA, позволяющий подключать два дополнительных устройства, играет важную роль. Отметим, что некоторые современные звуковые платы имеют порт ATA вместо традиционных интерфейсов CD-ROM; убедитесь, что этот порт можно отключить или покупайте в таком случае АТА-интерфейс с одним портом.

Вы можете купить адаптер с микросхемой BIOS, если BIOS вашей системной платы не поддерживает трансляцию или содержит ошибки. BIOS на плате адаптера будет заменять функции BIOS на системной плате в части работы с устройствами АТА. ПЗУ BIOS должно поддерживать спецификацию Phoenix Enhanced BIOS и иметь подходящую таблицу трансляции параметров дисков (Enhanced Disk Parameter Table - EDPT), если это вам требуется. Очевидно, что нестандартные BIOS могут создавать проблемы для будущих приложений, использующих трансляцию и таблицы EDPT, даже если сейчас все работает прекрасно.

Контроллер с ROM BIOS работает подобно встроенному в системную плату контроллеру EIDE и зачастую не требует специального драйвера для использования в DOS. BIOS с интерфейсной платы будет занимать 16k в старших адресах памяти (UMB), но вам по-прежнему будут требоваться драйверы для всех других операционных систем, которые вы будете использовать.

Без хорошего драйвера большинство контроллеров ATA-2 будут работать как старые ISA-адаптеры. Даже если ваш контроллер имеет BIOS и обычно обеспечивает работу без драйвера в DOS, вам потребуются драйверы для других систем, включая Windows. Многие из имеющихся драйверов недостаточно стабильны в работе.

Отметим, что большинство существующих интерфейсов "EIDE" содержит ошибки в некоторых расширениях. Это может приводить к возникновению проблем из-за несовместимости с ATA-2. Кроме того, зачастую используется общий буфер для первого и второго порта, что может приводить к искажению данных в некоторых ситуациях.

Как узнать является ли моя BIOS расширенной?
К несчастью на этот вопрос нет простого ответа. Способность поддерживать диски с числом цилиндров более 1,024 не может служить надежным подтверждением. В вашей версии программы установки параметров BIOS, параметры дисков, подобные "LBA", "ECHS" или просто "Large" являются косвенным подтверждением, однако, если дата создания BIOS раньше 1994, эти опции, скорей всего, не реализованы.

AMI BIOS с датой 4-25-94 или позже и Phoenix BIOS v4.03 или выше поддерживают трансляцию. Некоторые реализации Phoenix v4.03 могут, однако, не поддерживать трансляцию при работе с отдельными системными платами.

Компания Western Digital выпустила программу (доступную через ftp - ftp.wdc.com:/drivers/hdutil/chkbios.com) для проверки наличия расширенной таблицы параметров дисков (EDPT). Если эта программа находит расширенную таблицу в вашей системе, ваша версия BIOS является расширенной. Помните, что BIOS, поддерживающие спецификацию WD Enhanced BIOS, не будут поддерживать EDPT до тех пор, пока не разрешена поддержка LBA. Остерегайтесь также включать поддержку LBA при использовании WD EBIOS, если диск уже содержит данные - вы можете потерять их (это является следствием недоработок в спецификации).

Если вы достаточно безрассудны, вы можете просто задать число цилиндров больше 1024 и использовать, например, программу MSD для проверки возможности работы BIOS с вашим диском, но в результате такой проверки с данными на вашем диске может произойти все, что угодно. Постарайтесь при таких экспериментах ничего не писать на диск.

Совместимы ли старые диски IDE с интерфейсами ATA-2 (EIDE, Fast ATA)?
Да, они должны работать корректно.

Для использования расширенных режимов устройство должно поддерживать перенос данных с высокими скоростями. Кроме того, контроллер должен быть способен работать при высоких скоростях обмена. Старые винчестеры должны работать с интерфейсом ATA-2, поскольку такие платы могут запрашивать у диска максимальную скорость обмена данными. Существует специальная команда (Identify Drive), читающая данные из сектора, содержащего всю информацию об устройстве (включая скорость обмена). Контроллер должен быть способен корректно идентифицировать скорость обмена, поддерживаемую винчестером, для обеспечения надежной работы. "Слепой" режим PIO Mode 3 (программируемый для быстрого обмена без запроса скорости диска) при работе со старыми дисками может приводить к потере данных и другим нарушениям. Однако, большинство контроллеров достаточно интеллектуальны и не создают таких проблем.

Если вы хотите подключить старый диск к одному кабелю с современным диском ATA-2, полезно будет убедиться в возможности независимого тактирования для ведущего (master) и ведомого (slave) дисков. При отсутствии такой возможности, ваш старый диск может затормаживать работу нового.

Можно ли использовать диски ATA-2 (EIDE, Fast ATA) со старыми контроллерами IDE?
Диски Fast ATA и EIDE можно безбоязненно использовать со старыми контроллерами ISA. Поскольку диски рассчитаны на работу со скоростными контроллерами, медленнее контроллер - проще диску.

Можно ли использовать большие винчестеры со старыми BIOS?
В принципе это возможно, однако возникает проблема барьера 504MB. Если размер нового диска превосходит это значение, вы должны удостовериться, что в вашем компьютере имеется Enhanced BIOS для использования всего диска в DOS или Windows. Важно подчеркнуть, что для поддержки больших дисков не требуется специальных контроллеров, возможно программное решение задачи.

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

Реальная проблема возникает, когда BIOS не позволяет задать параметры диска вручную. Произведенные в 1991 году компьютеры PS/2 моделей 35sx и 40sx имеют такую особенность, как и все модели ValuePoint, за исключением серии 1994 года. При использовании больших дисков с такими компьютерами, следует убедиться, что винчестер позволяет спрятать цилиндры с номерами больше 1024 (Western Digital предоставляет такую программу для своих дисков 540MB, многие диски Maxtor позволяют добиться этого с помощью перемычек). Отметим, что некоторые операционные системы (такие, как Linux и OS/2) позволяют заменить хранящуюся в BIOS информацию о геометрии винчестера.

Где взять Enhanced BIOS для доступа к дискам емкостью более 504MB?
Возможные варианты: купить BIOS для системной платы или установить контроллер с встроенной BIOS. Возможно также чисто программное решение.

Для замены BIOS на системной плате купите новую версию используемой системы или заказную микросхему BIOS такой фирмы, как Microid Research (MR BIOS). В некоторых случаях более эффективным решением будет замена системной платы целиком (~$100).

Другим вариантом может служить покупка контроллера со встроенной BIOS для замены дисковых функций системной BIOS. Большинство микросхем BIOS на контроллерах ATA-2 позволяют работать с большими дисками.

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

Нужно ли использовать специальные программы для доступа к дискам емкостью более 504MB?
Это наиболее приемлемое решение во многих случаях, но следует учесть некоторые предостережения.

Программы с самыми экзотическими именами обычно являются вариантами лицензированных у двух фирм программ (EZ-Drive фирмы MicroHouse или Disk Manager компании OnTrack). Программа Disk Manager, при работе с загрузочным диском использует некоторые трюки для ранней загрузки требуемых модулей (до загрузки операционной системы). Это достигается модификацией главной загрузочной таблицы (Master Boot Record - MBR) и записью оверлейного модуля (Dynamic Drive Overlay - DDO) на первую дорожку диска. Аналогичным путем решается задача загрузки и в программе EZ-Drive.

Недостаток такого подхода состоит в том, что таблицы разделов, создаваемые этими программами полностью несовместимы (более того, нечитаемы) с другими программами. При использовании операционной системы, которая часто переписывает MBR, возникает целая масса неудобств, поскольку диск становится недоступным после изменения MBR. Вы должны будете восстанавливать MBR с дискеты, всякий раз после того, как операционная система перепишет таблицу разделов (это происходит, например, в OS/2 при каждом использовании режима Dual Boot).

Более серьезной проблемой являются конфликты с дисковыми драйверами. Наиболее типичным является конфликт с драйвером (E)IDE, без которого диск будет работать значительно медленнее. Вам потребуется драйвер, специально разработанной для используемой вами трансляционной схемы. Кроме того, многие операционные системы, отличные от DOS, будут неспособны работать с такими дисками. Дисковые утилиты (например, Norton Disk Doctor) будут сообщать об ошибках при попытке прочтения таблицы разделов или могут разрушить оверлейный модуль DDO/XBIOS.

Фирма OnTrack (tech@ontrack.com, sales@ontrack.com) решила эти проблемы в новой версии программы Disk Manager (v7), позволяющей работать с различными операционными системами и использовать разные драйверы, включая ATA-2 (EIDE) и ATAPI CD-ROM. В последнее время IBM и Microsoft включают исправленные драйверы в OS/2 (Bonus Pack) NT (Service Pack 2).

Можно ли использовать большие диски с другими операционными системами, кроме DOS?
Зачастую при работе с большими дисками в DOS не возникает проблем, однако некоторые другие операционные системы не поддерживают трансляцию параметров винчестера. При работе с операционными системами NetWare, Unix, Win/NT и OS/2 единственное, что потребуется для использования больших дисков АТА - это BIOS, обеспечивающая возможность работы с винчестерами, имеющими более 1024 цилиндров. Поскольку перечисленные ОС используют BIOS только в процессе загрузки, единственным следствием отсутствия Enhanced BIOS будет то, что администраторы загрузки (boot managers), таблицы разделов (boot partitions) и т.п. не смогут работать с цилиндрами, номера которых превышают 1024. После загрузки эти операционные системы используют для работы с винчестером свои собственные программы. Таким образом BIOS не влияет на работу с большими дисками. К несчастью, это означает также, что при наличии драйвера или EBIOS с трансляцией операционная система будет использовать свою трансляционную схему или могут возникать конфликты между используемой ОС и DOS/Windows. Если вы можете организовать таблицу разделов так, чтобы все загрузочные разделы и разделы DOS использовали цилиндры с номерами меньше 1024 (504MB), вы избавитесь от таких конфликтов.

Более старые ОС, такие как NetWare со старой версией IDE.DSK, совсем не поддерживают трансляции. Новые системы (OS/2 3.x, Linux 1.2, Win95) будут работать с трансляционными схемами за исключением Win95, не поддерживающей некоторые драйверы (EZDrive, Disk Manager v6.0 или более старые). В случае DM 6 для некоторых ОС существуют исправленные или модифицированные версии (см. выше).

Какой режим использовать: Normal, LBA или Large?
Опция 'Normal' заставляет BIOS работать подобно старым версиям без трансляции. Установите этот режим, если ваш диск не требует другого (т.е. имеет менее 1024 цилиндров) или вы хотите использовать операционную систему, отличную от DOS и не поддерживающую трансляцию параметров винчестера.

'Large' адает режим CHS-трансляции. Этот метод использует различную геометрию (число цилиндров/головок/секторов) при обращении к диску и BIOS. Такой тип трансляции применим для всех дисков.

'LBA' отличается от 'Large' использованием так называемой LBA-адресации для доступа к винчестеру. Преимуществом этого способа является то, что он теоретически несколько быстрее. Недостаток заключается в том, что поддерживается работа не со всякими устройствами (в том числе и большими). Иногда доступ к диску может замедляться при использовании этой опции.

Предупреждение!
BIOS может изменить (транслировать) геометрию диска при смене опции Normal или Large на LBA. То же самое может произойти при переносе диска, отформатированного на старом, не поддерживающем LBA, компьютере на новый, использующий LBA. Все данные на диске при этом будут потеряны.

Совместимы ли 50MHz VLB-системы с интерфейсом ATA-2?
Они должны быть совместимы, но могут возникать проблемы. Замечено, что некоторые контроллеры используют для тактирования операций ввода/вывода таймер системной шины. Это означает, что при работе с шиной 50MHz, цикл будет короче, чем при использовании шины 33MHz. Такая ситуация может привести к нежелательным результатам, если продолжительность цикла окажется меньше допустимой для вашего винчестера. Удостоверьтесь, что ваш контроллер поддерживает различные частоты синхронизации.

Где взять контроллер PCI ATA-2, использующий только один слот?
При использовании контроллеров с шиной PCI могут возникать проблемы из-за того, что этим контроллерам требуется два (или более) предопределенных прерывания, которые не могут использоваться с вашим слотом PCI. Для решения этой проблемы используют специальные платы, вставляемые в разъем ISA или встроенные в системную плату контроллеры ввода/вывода.

Некоторые производители используют хост-адаптеры PCI (single-slot), основанные на использовании специальных расширений PCI. Такие устройства обычно непереносимы; зачастую нельзя даже переставить плату в другой разъем компьютера.

Проблема здесь не в слабости PCI, а в конфликте между используемой в этом стандарте технологией plug'n'play и требованием совместимости новых ATA-контроллеров со старыми.

Повысит ли контроллер EIDE производительность дисковых операций?
Может повысить, а может и нет; возможно сделать только грубый прогноз реального воздействия.

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

Главное, что вам следует запомнить: медленный диск останется медленным независимо от качества контроллера. Если скорость физического переноса данных с диска/на диск ограничивает его производительность, существует только один способ ускорить обмен - купить новый диск. Отметим, что режимы обмена, поддерживаемые современными устройствами (11MB/s или выше) оказывают слабое влияние на производительность дисковых операций при работе со старыми винчестерами.

Кроме того, обычный контроллер с локальной шиной VESA может уже обеспечивать требуемую скорость передачи - самые быстрые платы ATA VLB могут теоретически иметь скорость 8.3 MB/s, что превосходит возможности многих винчестеров ATA-2. Контроллеры ISA редко превосходят скорость 2.5MB/s.

Как найти узкое место в системе обмена данными с диском? Вы можете попробовать использовать два различных теста производительности. Первый тест должен проверять только скорость обмена между диском и памятью компьютера (например, Norton SI или QBench). Второй тест должен измерять скорость передачи данных между процессором и кэш-буфером винчестера без проверки диска в целом. Популярна среди программ такого типа программа Coretest, которая дает верные результаты при использовании буфера, не превышающего 64К. Результат этой программы является грубой оценкой производительности контроллера.

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

Если производительность винчестера близка к производительности контроллера, показываемой вторым тестом, замена контроллера может дать ощутимые результаты.

Почему винчестер работает медленнее, чем обещано в рекламе?
Хороший вопрос. Прежде всего потому, что в рекламе используются как правило "теоретические" значения скорости.

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

В зависимости от используемой тестовой программы скорость обмена может лежать в диапазоне от 1MB/s до 9MB/s и выше при работе с тем же самым диском. Кроме того, влияние оказывает тактовая частота компьютера, размер оперативной памяти, наличие программного кэширования (в DOS) и др. Наконец, различные области одного и того же диска могут давать отличающиеся вдвое значения скорости обмена.

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

Почему новый контроллер EIDE ничуть не быстрее старого VLB?
Существует несколько причин, по которым интерфейс ATA-2 может не давать повышения производительности по сравнению с ATA VLB даже при корректной установке. Во-первых, скорость передачи самых быстрых плат ATA может достигать 8.3MB/s, что превышает реальные значения скорости обмена, доступные для многих современных винчестеров. Замена контроллера не даст в таком случае никакого результата.

Другой причиной может послужить то, что ваш винчестер не поддерживает всех режимов обмена, предусматриваемых стандартом ATA-2. В этом случае контроллер ATA-2 может повысить производительность в сравнении со старым контроллером ISA, но не будет работать быстрее, чем ATA VLB.

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

Разрешать ли кэширование записи на диск?
Не делайте этого при использовании программы Smartdrive (или подобных ей): у таких программ алгоритм управления кэшем недостаточно хорош. Кэширование записи можно использовать с новейшими программами, типа Drive Rocket, hdparm в среде Linux и с некоторыми другими. Иногда режим кэширования записи устанавливается также перемычками на плате винчестера.

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

Можно ли без риска сменить режим трансляции BIOS (None, LBA, Large)?
К несчастью, нет. Делайте это с осторожностью.

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

Более того, BIOS, соответствующие спецификации Enhanced BIOS компании Western Digital, могут использовать совсем различные варианты геометрии диска в программном интерфейсе (INT13) в зависимости от режима трансляции. В этом случае смена режима трансляции будет приводить к полной потере данных - это один из главных недостатков WD EBIOS.

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

Проблемы при использовании больших дисков с Award 4.50G BIOS.
Если дата BIOS 4.50G раньше, чем 13/12/1994, адрес таблицы трансляции в ней указан неправильно. Для доступа к дискам, имеющим больше 1024 цилиндров, вы не сможете использовать трансляцию (опция Large) и должны использовать режим LBA. В BIOS, выпущенных после 13/12/1994 эта ошибка исправлена.

Замечание: переключение в режим LBA может привести к потере данных на диске.

Можно ли использовать 32-битовый режим с моим диском?
Возникает множество проблем при рассмотрении этого вопроса из-за нечеткой терминологии.

В общем случае никакие диски ATA(-2) не поддерживают режим 32-битового доступа. Обмен данными с диском осуществляется по 16-битовой шине. Однако многие интерфейсы, использующие локальную шину способны объединять два 16-битовых слова в 32-битовое двойное слово при чтении данных с диска и выполнять обратную операцию при записи. В этом случае обмен данными между CPU и контроллером может осуществляться с использованием 32-битового режима. Это часто называется 32-битовым доступом, хотя лучше называть 32-битовым обменом с хост-адаптером.

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

Используемый в Windows 32-битовый режим доступа к дискам и файлам является предметом отдельного разговора (см. ниже).

Не работает 32-битовый доступ в Windows!
Существует много возможных причин сбоев при использовании 32BDA; будет проще, если вы сможете идентифицировать конкретную причину своих проблем (или решить, что вы хотите исправить в первую очередь).

32-битовый доступ в Windows (32BDA) - это не совсем корректное употребление термина, поскольку реального переноса данных по 32-битовой шине не происходит. Лучше называть этот метод "FastDisk" (быстрый диск). FastDisk - это возможность Windows при работе в режиме 386Enhanced использовать для обмена с диском работающие в защищенном режиме модули Windows взамен функций BIOS. Поэтому наилучшим названием для этого режима было бы "protected mode controller access" (доступ к контроллеру в защищенном режиме).

Так или иначе, главное преимущество этого метода состоит в том, что Windows может использовать виртуальную память в сеансах DOS. Без использования 32-битового доступа, в сессиях DOS невозможно организовать свопинг и каждая сессия должна получать 640k реальной (физической) памяти. Поскольку 32-битовый доступ значительно снижает число переключений между стандартным и защищенным режимом, его использование несколько повышает производительность дисковых операций.

Если режим 32BDA используется с 32-битовым доступом к файлам Windows for Workgroups, переключения между стандартным и защищенным режимом не требуется вообще (по крайней мере, для большинства дисковых операций), что ведет к несколько большему росту производительности.

К несчастью стандартные программы FastDisk, используемые Windows (их называют *wdctrl), имеют ограниченные возможности. Модули *wdctrl не умеют работать с оборудованием, не являющимся IDE (например, SCSI), не позволяют использовать более двух винчестеров или устройства с числом цилиндров, превышающим 1024, не понимают 32-битового обмена с хост-контроллером, блочного обмена и дисков ATAPI CD-ROM на основном канале ATA. Если вы используете что-либо из перечисленного, 32-битовый доступ не будет работать, пока вы не замените *wdctrl. Сегодня это означает, что 32-битовый доступ не работает в большинстве случаев.

Большинство контроллеров, несовместимых с *wdctrl, поставляются со своими программами FastDisk (обычно это файлы с расширением .386). Кроме того, многие производители оборудования часто меняют свои драйверы FastDisk. Для получения программ Western Digital вы можете использовать сервер ftp.wdc.com (файл /drivers/win31.exe); другие фирмы предоставляют программы через свои BBS или серверы Internet.

NB. Драйверы FastDisk не совместимы с режимом Stealth некоторых версий Quarterdeck QEMM. Исправленные версии драйверов можно найти на сервере ftp.wdc.com (файл /drivers/hdutil/32bda.com).

Не работает 32-битовый доступ в Windows for Workgroups!
Проблемы использования 32-битового доступа к диску с современным дисковым оборудованием породили распространенное заблуждение, что при использовании 32-битового доступа к файлам возникают аналогичные проблемы. Однако, это не совсем так. Если не работает 32-битовый доступ к файлам, вы должны сначала проверить свою файловую систему и использующие ее программы. Включите строку


DEVICE=C:\WINDOWS\IFSHLP.SYS

в файл CONFIG.SYS и удостоверьтесь, что в файле SYSTEM.INI присутствуют магические строки vfat.386, vcache.386.

[Назад] [Содержание] [Вперед]