Принципы работы жестких дисков

   

Краткое описание принципов работы жестких дисков


  • Как работает жесткий диск?
  • Типы интерфейсов (IDE/SCSI)
  • Производительность
  • Файловые системы
  • S.M.A.R.T.
  • Функция Bus Master
  • Драйвера поддержки Bus Master
  • Проблемы, возникающие при работе с драйверами Bus Master

  • Как работает жесткий диск?
    Как правило, всех пользователей интересует один вопрос: "быстрый" ли диск? Ответ на него неоднозначен и требует рассказа о следующих характеристиках:

     
    Опишем, для начала, как физически устроен жесткий диск.
         На жестком диске данные хранятся на магнитной поверхности диска. Информация записывается и снимается с помощью магнитных головок (все почти как в магнитофоне). Внутри жесткого диска может быть установлено несколько пластин (дисков), в просторечье именуемые "блинами". Двигатель, вращающий диск, включается при подаче питания на диск и остается включенным до снятия питания.
    ПРИМЕЧАНИЕ: Если в разделе Power Management программы Setup из BIOS установлен параметр выключения жесткого диска при отсутствии обращения к нему, то двигатель может быть выключен программой BIOS.
         Двигатель вращается с постоянной скоростью, измеряемой в оборотах в минуту (rpm). Данные организованы на диске в цилиндрах, дорожках и секторах. Цилиндры - концентрическе дорожки на дисках, расположенные одна над другой. Дорожка затем разделяется на сектора. Диск имеет магнитный слой на каждой своей стороне. Каждая пара головок одета как бы на "вилку", обхватывающую каждый диск. Эта "вилка" перемещается над поверхностью диска с помощью отдельного серводвигателя (а не шагового, как часто ошибочно думают - шаговый двигатель не позволяет быстро перемещаться над поверхностью). Все жесткие диски имеют резервные сектора, которые используются его схемой управления, если на диске обнаружены дефектные сектора.
     
    Скорость вращения диска
            Обычно современные жесткие диски имеют скорость вращения от 5400 до 7200 об/м. Чем выше скорость вращения, тем выше скорость обмена данными. Следует только учесть, что при возрастании скорости вращения увеличивается температура корпуса жесткого диска и диски со скоростью 7200 об/мин требуют либо применения корпуса с продуманной для целей отвода тепла конструкцией, либо дополнительного охлаждения внешним вентилятором собственно диска. Вентилятора блока питания для этого недостаточно. Еще более высокооборотные диски со скоростью вращения 10000 об/мин, которые сейчас выпускают все без исключения фирмы-производители, требуют как хорошей вентиляции внутри корпуса, так и "правильного" корпуса, хорошо отводящего тепло. Жесткие диски на 15000 об/мин без принудительного обдува просто не рекомендуется использовать.
     
    Количество секторов на дорожке
           Современные жесткие диски имеют различное количество секторов на дорожке в зависимости от того, внешняя ли это дорожка или внутренняя. Внешняя дорожка длиннее и на ней можно разместить больше секторов, чем на более короткой внутренней дорожке. Данные на чистый диск начинают записываться также с внешней дорожки.
     
    Время поиска/время переключения головок/время переключения между цилиндрами
            Время поиска (seek time) минимально только в случае необходимости операции с дорожкой, которая является соседней с той, над которой в данный момент находится головка. Наибольшее время поиска соответственно при переходе с первой дорожки на последнюю. Как правило, в паспортных данных на жесткий диск указывается среднее время поиска (average seek time).
            Все магнитные головки диска находятся в каждый момент времени над одним и тем же цилиндром, и время переключения определяется тем, насколько быстро выполняется переключение между головками при чтении или записи.
            Время переключения между цилиндрами - это время, требуемое для перемещения головок на один цилиндр вперед или назад.
            Все времена указываются в документации на жесткие диски в миллисекундах (ms).
     
    Задержка позиционирования
           После того, как головка оказывается над желаемой дорожкой, она ждет появления требуемого сектора на этой дорожке. Это время называется задержкой позиционирования и также измеряется в миллисекундах (ms). Среднее время задержки позиционирования считается как время поворота диска на 180 градусов и, поэтому зависит только от скорости вращения шпинделя диска. Конкретные данные по величине задержки сведены в таблицу.
    Скорость вращения,
    об/мин
    Задержка,
    миллисекунды

    3600

    8.3

    4500

    6.7

    5400

    5.7

    7200

    4.2

    10000

    3.3

     
    Время доступа к данным
           Время доступа к данным по сути - это комбинация из времени поиска, времени переключения головок и задержки позиционирования, измеряется также в миллисекундах (ms). Время поиска, как вам уже известно, это только показатель того, как быстро головка оказывается над нужным цилиндром. До тех пор, пока данные не записаны или считаны, следует добавить время на переключение головок и на ожидание необходимого сектора.
     
    Кэш-память на жестком диске
           Как правило, на всех современных жестких дисках есть собственная оперативная память, называемая кэш-памятью (cache memory) или просто кэшем. Производители жестких дисков часто называют эту память буферной. Размер и структура кэша у фирм-производителей и для различных моделей жестких дисков существенно отличаются. Обычно кэш память используется как для записи данных так и для чтения, но на SCSI дисках иногда требуется принудительное разрешение кэширования записи, так обычно по умолчанию кэширование записи на диск для SCSI запрещено. Есть программы, позволяющие, определить, как установлены параметры кэш-памяти, например ASPIID от фирмы Seagate. Как это многим не покажется странным, размер кэша не является определяющим для оценки эффективности его работы. Организация обмена данными с кэшем более важна для повышения быстродействия диска в целом.
           Некоторые производители жестких дисков, такие как Quantum, используют часть кэша под свое программное обеспечение (для модели Quantum Fireball 1.3 Gb, например, под firmware занято 48 Kb из 128). Как нам кажется, более предпочтителен способ, используемый фирмой Western Digital. Для хранения firmware используются специально отведенные сектора на диске, невидимые для любых операционных систем. По включению питания эта программа загружается в обычную дешевую DRAM на диске и при этом отпадают затраты на микросхему флэш-памяти для хранения firmware. Такой способ позволяет легко исправлять встроенное программное обеспечение жесткого диска, что часто фирма Western Digital и делает.
     
    Размещение данных на диске
           О том, что конфигурация диска задается через количество цилиндров, головок и секторов на дорожке, все знают с начала эпохи PC. Хотя еще несколько лет тому назад точное указание в программе SETUP всех этих параметров диска было обязательным, сейчас это не так. Строго говоря, те параметры диска, которые вы видите в разделе SETUP Standard CMOS Setup, как правило, ничего общего не имеют с реальными параметрами диска, причем вы можете заметить, что эти параметры меняются в зависимости от вида трансляции геометрии диска - Normal, LBA и Large. Normal - геометрия в соответствии с данной производителем в документации на диск и не позволяет DOS увидеть более чем 504 Mb (1 Mb - 1048576 байт). LBA - Logical Block Address - эта установка позволяет видеть DOS диски объемом до 4 Gb. Large используется такой операционной системой, как Unix. Параметры, установленные в SETUP, преобразуются в реальные логикой управления жестким диском. Многие современные операционные системы работают с диском через LBA, минуя BIOS.
     
    Скорость обмена между процессором и диском
           Существует несколько способов физического сохранения данных на жестком диске. Определить способ отображения данных на диске можно, только используя различные программы определения быстродействия диска (benchmark). В программу Winbench 98/99 включен High-end тест жесткого диска, где оцениваются не достаточно отвлеченные в настоящее время 2 параметра - скорость передачи данных и время доступа, а проверяется, для каких задач и для каких наиболее популярных программ, активно работающих с диском, диск наиболее пригоден. Этот тест можно получить на сервере фирмы Ziff-Davis.

    " Вертикальное" отображение

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

    "Горизонтальное" отображение.

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

    Комбинированный способ отображения, использующий как "вертикальный" так и "горизонтальный" способ.
            При тестировании таких дисков видно, что чем дальше от начальных цилиндров, тем хуже параметры диска. Это связано с тем, что на внешних дорожках размещается больше секторов и считывание/запись выполняется быстрее.
            В справедливости этого легко убедиться, запустив Winbench 97/98/99, выбрав сначала диск C для теста диска, а затем последний логический диск (желателен диск объемом не менее 2.5 Gb). Разница в оценке быстродействия диска для модели WD AC32500 составила 15%!
            Реально диск разделен на зоны, в каждую из которых входит обычно от 20 до 30 цилиндров с одинаковым количеством секторов. Эти зоны также называются "notches".
            Чем выше плотность записи на диск, тем выше будет скорость считывания с него. Именно поэтому при оценке параметров диска следует внимательно смотреть на внутреннюю скорость передачи данных. Внутренняя скорость передачи данных прямо пропорциональна плотности записи на диск и скорости вращения шпинделя. Так как увеличивать скорость вращения диска достаточно сложно - увеличивается энергопотребление, шум, возникают проблемы с теплоотводом, то наиболее оптимальный путь повышения производительности - это увеличение плотности записи на диск. Именно поэтому современный жесткий диск со скоростью вращения 5400 об/мин легко опережает по производительности диск с 7200 об/мин, выпущенный двумя годами ранее. Все производители жестких дисков в первую очередь и заняты проблемой повышения плотности записи. При прочих равных условиях, из двух накопителей равной емкости быстрее будет работать накопитель с меньшим количеством дисков, т.е. с большей плотностью записи.
     
    Интерфейс (IDE или SCSI)
    Сейчас фактически осталось только два действующих интерфейса: IDE (распространенный сейчас в варианте Enhanced IDE - EIDE) и SCSI. На любой материнской плате, выпущенной после 1996 года, можно обнаружить контроллер EIDE. Это, а также существенно более низкая стоимость IDE дисков по сравнению со SCSI объясняет значительное превосходство IDE дисков в количественном выражении над SCSI.
            Каждый контроллер EIDE имеет два канала (primary - первичный и secondary - вторичный), к каждому из которых можно подключить до двух устройств (всего четыре). С интерфейсом IDE в настоящее время, кроме жестких дисков, выпускаются также приводы CD-ROM, накопители Iomega Zip, накопители на магнитной ленте. Интерфейс SCSI, как правило, требует отдельного контроллера, так как пока очень незначительное количество материнских плат выпускаются с контроллером SCSI. Сканеры, магнитооптические накопители, устройства записи для CD и т.п. выпускаются как с интерфейсом SCSI, так и с IDE. При принятии решения о покупке жесткого диска с тем или иным интерфейсом, следует учесть главное - если вам не требуется подключение нескольких жестких дисков, ваш компьютер не является сервером или мощной рабочей станцией, ресурсы которой доступны другим пользователям, SCSI диск НЕ ДАСТ НИКАКИХ ОЩУТИМЫХ ПРЕИМУЩЕСТВ по сравнению с EIDE диском. Это правило, естественно, справедливо для одинаковых по физическим характеристикам дисков. Выигрыш будет только в снижении нагрузки на центральный процессор за счет использования процессора SCSI контроллера. Интерфейс SCSI позволяет подключать до 7 устройств, а Wide SCSI до 14 устройств. Существуют также многоканальные SCSI контроллеры, позволяющие подключить и большее количество устройств.
            Основной недостаток интерфейса EIDE - отсутствие "интеллекта". Если на одном канале подключены жесткий диск и накопитель CD-ROM, то в случае обращения к CD-ROM процессор будет ожидать завершения операций с CD-ROM, прежде чем сможет обратиться к жесткому диску. Поэтому очевидно, что нельзя к одному каналу EIDE подключать быстрое и медленное устройство одновременно. CD-ROM всегда следует подключать только ко второму каналу. Каналы EIDE в современных контроллерах EIDE, как правило, достаточно независимы друг от друга. Для повышения производительности EIDE были разработаны и стандартизованы режимы PIO (Programming Input Output - программируемый ввод/вывод), single word DMA (обмен одиночными словами в режиме DMA - Direct Memory Access - прямого доступа к памяти) и multi word DMA (обмен несколькими словами в режиме DMA).
    SCSI интерфейс имеет несколько разновидностей, которые совместимы друг с другом (достаточно иметь пассивные переходники). 8 бит (50-ти контактный разъем) или 16 бит (68-и контактный разъем для Wide SCSI). Частота шины может быть 5 MHz (SCSI 1), 10 MHz (Fast SCSI), 20 MHz (Fast-20 or Ultra SCSI) or 40 MHz (Ultra-2 SCSI). 
            Сейчас стал активно внедряться стандарт Ultra2 SCSI LVD, являющийся разновидностью Ultra2 SCSI. Полное название стандарта - Ultra2 SCSI (LVD) Low Voltage Differential Parallel SCSI Interface, т.е. низковольтный дифференциальный параллельный SCSI интерфейс. Этот вариант SCSI существенно отличается от всех своих предшественников по двум параметрам:
    1. Скорость передачи увеличена до 80 MB/s
    2. Максимальная длина соединительного кабеля может достигать 12 метров
            Кроме этого, к одному шлейфу можно подключить до 15 устройств. Обратная совместимость, как это принято для SCSI устройств, также выдерживается и устройство с Ultra2 SCSI LVD можно подключить к обычному контроллеру SCSI.  С этим интерфейсом выпускаются только жесткие диски в вариантах с 68-контактным разъемом (Wide) и SCA.
            Но и скорость в 80 MB/s, как оказалось, не является предельной на сегодняшний день. Уже начинает внедряться производителями как контроллеров, так и жестких дисков следующий вариант SCSI, называемый официально как SPI-3 (SCSI Parallel Interface - 3), неофициально Ultra160/m SCSI. Он разработан на базе Ultra2 SCSI LVD и отличается удвоенной скоростью передачи данных. Каким образом это достигнуто, видно из схематичной временной диаграммы.
     

    ultra160diag.gif (1001 bytes)

    По диаграмме ясно, что передача данных синхронизируется как по заднему, так и по переднему фронту сигнала ACK и, тем самым, скорость передачи удваивается по сравнению с Ultra2 SCSI LVD. На обычном SCSI (Ultra2) тактовая частота составляла 40 MHz, частота для данных 20 MHz и можно таким образом передать до 40 MBytes/s (так как за один цикл передается 2 байта), на Ultra2 SCSI LVD частота передачи данных была увеличена до 40 MHz и тем самым скорость обмена возросла до 80 MBytes/s.
             Существенным отличием нового стандарта является только 32-х разрядный алгоритм CRC контроля передаваемых/принимаемых данных. Ранее в SCSI использовался только контроль по четности, да и его можно было легко отключить (что часто и делали) в BIOS SCSI контроллера. Новый алгоритм контроля позволяет обнаруживать ошибки в пакетах данных до 32-х бит длиной.
            С более подробным разъяснением терминологии SCSI можно ознакомиться в "SCSI Глоссарии".
     

    Максимально возможная скорость передачи данных для интерфейса SCSI и максимально допустимые длины кабелей

    Частота шины SCSI

    8 бит
    (50-ти контактный разъем)

    16 бит
    (68-и контактный разъем, Wide SCSI)

    Макс.
    скорость
    обмена

    Макс.
    длина
    кабеля

    Макс.
    скорость
    обмена
    Макс.
    длина
    кабеля

    5 MHz (SCSI 1)

    5 MB/s

    6 m

    N/A*

    -

    10 MHz (Fast SCSI,
    SCSI II)

    10 MB/s

    3 m

    20 MBytes/s

    3 m

    20 MHz (Fast-20,
    Ultra SCSI)

    20 MB/s

    1.5 m

    40 MBytes/s

    1.5 m

    40 MHz (Ultra-2 SCSI) LVD

    N/A

    N/A

    80 MBytes/s

    12 m

    40 MHz (Ultra3 SCSI) LVD

    N/A N/A 160 MBytes/s 12 m
    *Примечание: N/A - режим отсутствует

            С массово выпускаемыми в настоящее время жесткими дисками EIDE максимально возможная скорость обмена данными составляет 66.6 MByte/s для режима multi DMA mode 2. Поскольку собственно скорость обмена повышена за счет добавления возможности передачи данных как по переднему, так и по заднему фронту сигнала записи или чтения, совместимость как жестких дисков с UltraDMA/66 с обычным контроллером, так и контроллера UltraDMA/66 с обычным EIDE диском есть без каких-либо проблем.
            Стандарты UltraDMA/33 и UltraDMA/66 отличается от предыдущих улучшений IDE не только скоростью обмена. Впервые в них используется механизм обнаружения ошибок с помощью CRC (циклический контрольный код). Это позволяет избежать ошибок при приеме/передаче данных, так как при получении данных с ошибкой пересылка данных повторяется снова.
            Первой диски в стандарте UltraDMA/33 выпустила фирма Quantum - Fireball ST (это не удивительно, поскольку она вместе с Intel и явилась автором стандарта). При установке нового диска на компьютер, в случае появления сбоев в работе, следует понизить скорость работы жесткого диска, принудительно установив в SETUP меньший режим PIO. Мы сталкивались с таким явлением на дисках, выпущенных до 1997 года - хотя жесткий диск согласно его документации в mode 4 работать должен, но не работает устойчиво!
             Все вновь выпускаемые жесткие диски с 1999 года поддерживают стандарт UltraDMA/66, который уже стал фактически новым стандартом на интерфейс IDE жестких дисков.

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

    single word DMA 0

    2.1 MByte/s

    PIO mode 0

    3.3 Mbyte/s

    single word DMA 1, multi word DMA 0

    4.2 MByte/s

    PIO mode 1

    5.2 MByte/s

    PIO mode 2, single word DMA 2

    8.3 MByte/s

    Максимально возможная скорость передачи данных для интерфейса EIDE
    (он же ATA-2)

    PIO mode 3

    11.1 MB/s

    multi word DMA 1

    13.3 MB/s

    PIO mode 4, multi word DMA 2

    16.6 MB/s

    Максимально возможная скорость передачи данных для интерфейса Ultra-ATA (он же ATA-3)
    (он же Ultra DMA/33)

    multi word DMA 2

    33.3 MB/s

    Максимально возможная скорость передачи данных для интерфейса Ultra-ATA/66 (он же ATA-4)
    (он же UltraDMA/66)

    multi word DMA 2

    66.6 MB/s

            Реально максимальная скорость передачи данных для любого диска не превышает 10 MB/s, так как механические характеристики диска обойти невозможно. Большие значения скоростей относятся к работе с внутренним кэшем жесткого диска. Так как объем кэш-памяти для IDE дисков не превышает 2 MBytes, а объем кэш-памяти для SCSI дисков в большинстве случаев не более 4 MBytes, то скорость обмена данными не является определяющей при оценке производительности жестких дисков.
            Интерфейс SCSI дает ощутимый выигрыш в основном только в многозадачной среде, когда несколько программ одновременно добиваются доступа к дискам и в случае необходимости достижения максимальной производительности дисковой подсистемы, так как пока только диски SCSI имеют скорость вращения 10000 и 15000 об/мин и время доступа 5-6 ms.
            Применение SCSI также еще оправдано при решениях задач, связанных как с высокой нагрузкой на диск так и с существенной загрузкой процессора, например, при обработки больших (по объему) изображений в Adobe Photoshop, хотя необходимость в SCSI дисках в связи с ростом производительности процессоров в подобных случаях становится все меньшей.
            Стоимость высокоскоростных SCSI дисков в 2-3 раза выше лучших дисков IDE такой же емкости. По планам производителей жестких дисков различия в физических параметрах жестких дисков IDE и SCSI будут уменьшаться и SCSI диски будут все более уходить в сферу специальных задач - на сервера и мощные рабочие станции. Уже начиная с середины 1999 года отпала необходимость в применении SCSI дисков для работы с видеопотоками, хотя несколькими годами ранее использование IDE дисков для записи видео даже не обсуждалась.
     
    Производительность
           Оценка производительности диска - это достаточно сложная задача. Существуют десятки различных тестов, оценивающих тем или иным способом производительность дисковой подсистемы. В связи с тем, что наибольшую популярность сейчас получили многозадачные операционные системы, такие как Windows 95/98, Windows NT/2000, OS/2, Lunix, SCO UNIX и т.п., старые тесты под MS-DOS (Norton Sysinfo, VSeek, Checkit, PC Bench...) уже не дают реального представления о качестве работы диска в многозадачных средах. Для оценки работы жесткого диска под Windows 95 или Windows NT/2000, с нашей точки зрения, лучшим является Winbench 97/98/99 и аналогичные тесты тех же авторов, посколько с диском выполняются действия, максимально приближенные к реальным.
     
    Файловые системы
           Как уже сообщалось ранее, жесткие диски поступают с завода-изготовителя уже отформатированными. Все программы так называемого низкоуровнего форматирования на самом деле не выполняют физического форматирования жесткого диска, а только полностью уничтожают содержимое диска (что часто тоже требуется). Различные операционные системы же своими программами форматирования создают лишь ЛОГИЧЕСКУЮ структуру диска. В настоящее время наиболее распространены 4 файловые системы - FAT (MS-DOS, Windows 3.X, Windows 95/98), NTFS (Windows NT/2000), FAT32 (Windows 95/98) и HPFS (OS/2).
     
    FAT16
    DOS, DOS 7.0 из Windows95 использует FAT для сохранения данных как на жестких дисках, так и гибких. В качестве одного элемента адресации на диске используется кластер, объединяющий несколько секторов. FAT исторически сама старая файловая система с 16-ти разрядной адресацией и максимально возможное количество кластеров на одном логическом диске не превышает 65536. Соответственно максимальный размер одного кластера 32 Kb, так как максимальный размер логического диска 2 Gb. Поэтому один из главных недостатков FAT - большой размер кластера. Дело в том, что при кластере 32 Kb файл с информацией в 1 байт займет на диске 32 Kb. Теоретически можно заполнить логический диск в 2 Gb 65536 файлами по 1 байту, хотя физически диск будет практически пустой. Поэтому при работе с DOS, Windows 95 или Windows NT под FAT рекомендуется разбивать диск на разделы, не превышающие 1 GBytes. Для разбиения/переразбиения диска можно воспользоваться известной программой Partition Magic.

    Соотношение между размером раздела диска и размером кластера на диске

    Размер раздела

    Размер кластера

    2 GByte

    32 KByte

    <1 GByte

    16 KByte

    <512 MByte

    8 KByte

    <256 MByte

    4 KByte

    <128 MByte

    2 KByte

    FAT32
    Попытка отказаться от ограничений классической FAT и видоизменить ее была тихо предпринята фирмой Microsoft в версии Windows 95 OEM service Release 2 (v.4.00.1111&DOS 7.1 - также 950b). В этом варианте Windows 95 FAT стала 32-х разрядной. Из 32 бит 4 были зарезервированы. Таким образом, максимальный размер раздела в этом варианте становится 2 Tb (2048 Gb), а раздел в 8 Gb получает кластер размером всего 4 Kb. Кроме этого, корневая директория диска не имеет фиксированного размера, что снимает ограничения на количество файлов и директорий в корневом каталоге. При этом приложения DOS не могут работать с файлами более 2 Gb, а 32-x разрядные приложения Windows могут работать с файлами до 4 Gb.

            Все это было бы замечательно, если бы не некоторые но, существенные на момент появления FAT32:
    - кроме как DOS 7.1 и Windows 95 v.950b или Windows 98 (даже NT 4.0!) эту прекрасную систему никто не видит;
    - любые дисковые утилиты, не написанные специально под FAT32, будут "творить чудеса" с ней;
    - попытка работы с FAT32 программами, которые ее не понимают, может привести к гибели данных на диске;
    - утилиты для работы со SCSI дисками также должны быть разработаны под FAT32;
    - производительность дисковой подсистемы по Winbench 97 чуть меньше с FAT32 по сравнению с FAT16.
            Но те преимущества, которые дает FAT32, как правило, перевешивают недостатки. В команде format OSR2 есть недокументированный ключ z, с помощью которого можно создать логический диск с кластером от 1024 байт. Синтаксис команды: размер кластера 512 format диск: /z:n, где n - множитель для 512 (собственно 512 байт и параметр n=1 запрещены), поэтому n может быть равен 2, 4, 6 и т.д. Желательно только понимать, что при кластере в 1 Kb на диске объемом 3000 Mb будет 3 миллиона кластеров и процесс, скажем, дефрагментации диска может занять часы... Разумно уменьшить размер кластера на том логическом диске, который используется для хранения программ и оставить его 4 Kb (размер кластера по умолчанию для Windows 95 OSR2) на остальных.
            В Windows 98 появилась возможность конвертировать разделы FAT16 в FAT32. С появлением Windows NT 5.0 (или Windows NT 2000, как ее теперь называют) FAT32 стала новым фактическим стандартом файловой системы для приложений, не требующих высокой степени защиты информации, а FAT16 уйдет с рынка за ненадобностью.

    NTFS (NT File System)
           После выхода Windows 2000 NTFS постепенно становится все более и более популярной. Основные отличия от FAT32 - неограниченный размер файлов (до 12 TBytes) и возможность управлять правами доступа к файлам и каталогам.

    S.M.A.R.T.
    Эта аббревиатура все чаще встречается при указании технических характеристик жестких дисков. Что она означает?
    Идея S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technolodgy - технология самоанализа и информирования) технологии заключается в создании механизма предсказания возможного выхода из строя жесткого диска и предотвращения тем самым потери данных. S.M.A.R.T. была предложена фирмами COMPAQ и IBM несколько лет тому назад и сейчас включена в версию стандарта ANSI X3T10. Сейчас S.M.A.R.T. технология используется в программе BIOS от фирмы AWARD Software и в ряде программ под Windows 95 (например, S.M.A.R.T. Vision от ACE Laboratory).
            Для анализа надежности жесткого диска используются две группы параметров (здесь и далее подразумевается жесткий диск, поддерживающий S.M.A.R.T. технологию). Первая характеризует параметры естественного старения жесткого диска:

    • количество циклов включения/выключения (старт/стоп)
    • количество оборотов двигателя за время работы
    • количество перемещений головок

    Вторая группа параметров уже информирует о текущем состоянии качества накопителя. К этим параметрам относятся:

    • высота головки над поверхностью диска
    • скорость обмена данными между дисками и кэш-памятью на диске
    • количество переназначений плохих секторов (когда вместо испорченного сектора подставляется свободный исправный)
    • количество ошибок поиска
    • количество операций перекалибровки
    • скорость поиска данных на диске

    Данные о типичных дефектах жесткого диска и способах их предсказания сведены в таблицу:

    Вид   дефекта Симптом/Чем вызвано Что предсказывает
    Большое количество плохих секторов Физические дефекты поверхности, повреждения при транспортировке Количество дефектов поверхности, скорость их роста
    Чрезмерный шум Дефект мотора, повреждения при транспортировке Диагностика
    Значительное количество нерегулярных ошибок Повреждение головки или ее загрязнение Частые повторы при обращении к диску, срабатывание схемы ECC контроля
    Отказ мотора Не вырабатывается сигнал готовности, нет шума вращения дисков/ Дефект мотора, повреждения при транспортировке Повторы включения, увеличение времени набора номинальной скорости вращения
    Диск не отвечает (эффект такой же, как при отсутствии диска) Дефект электроники диска Ничто не может предсказать катастрофу в данном случае (к сожалению)
    Ошибки позиционирования серводвигателя Большое количество ошибок перемещения головок/   повреждения при транспортировке Ошибки позиционирования, частые повторы калибровки
    Сбой работы головки, резонанс при ее перемещении Значительное количество нерегулярных ошибок Рост ошибок при чтении, а также ошибок позиционирования
            Значения всех параметров (как и собственное программное обеспечение накопителя), как правило, хранятся на специальных дорожках диска, не видимых со стороны компьютера или, что бывает значительно реже, в энергонезависимой памяти.
    У производителей жестких дисков достаточно много степеней свободы, так как именно они присваивают граничные значения (thresholds) всем параметрам. Если хотя бы один параметр ушел за граничные значения, то накопитель желательно заменить. Конечно, пока механизм наблюдения за накопителем не будет встроен в операционную систему, трудно ожидать массового использования технологии S.M.A.R.T. Подробнее об этом (и обо всем, что связано с IDE) можно узнать из соответствующих документов на посвященном IDE стандартам сайте.
            В силу некоторой ограниченности технологии S.M.A.R.T (пользователь ставится перед свершившимся фактом - диск как-то почти сломался, его осталось только заменить), появились расширения способов предотвращения потери данных, разработанных отдельными фирмами-производителями жестких дисков.
    Для примера можно рассмотреть технологию Data LifeguardTM  фирмы Western Digital. Основная ее идея - проверка через каждые восемь часов работы поверхности всего диска, выявление секторов, которые могут стать плохими и перенос информации на резервные нормальные области диска. Понятно, что все эти операции выполняются в паузах (которые составляют до 90% времени работы диска) и никак не снижают производительность компьютера. Совместимость с S.M.A.R.T тем не менее полностью сохраняется. Впервые Data LifeguardTM была применена в накопителе AC310100.

    Фирма Quantum, начиная с серии жестких дисков Fireball Plus KA применила свою фирменную технологию Data Protection System (DPS), которая отличается от Data LifeguardTM доступной на WEB программой диагностики, позволяющей выявить возможные дефекты и во многих случаях устранить их. Quantum утверждает, что ее диагностическая программа способна "лечить" все диски, выпущенные этой компанией с июня 1996 года. 
     
    Функция Bus Master
             Функция Bus Master (дословно Хозяин Шины, ранее по ГОСТ в нашей стране - задатчик на шине) введена в контроллеры EIDE с приходом процессоров Pentium. Что это такое? Классический способ приема данных от какого-либо устройства следующий - процессор выполняет команду чтения порта, считывает байт или слово данных в свой регистр, после чего переписывает этот байт или слово в память, затем повторяет эту процедуру до тех пор, пока вся необходимая информация не будет считана из устройства в память. Если бы процессору больше нечего было делать, то этот способ всех бы устраивал. Но с появлением многозадачных операционных систем стало слишком накладно использовать процессор для операций ввода/вывода. Поэтому контроллеры внешних устройств (EIDE в частности) стали оборудоваться как бы собственными процессорами ввода/вывода. С появлением шины PCI, первой реально многопользовательской шины в архитектуре IBM PC реализация этой идеи стала совсем простой.
            Что происходит в этом случае? Процессор программирует контроллер EIDE на шине PCI, указывая ему, откуда он должен взять данные и куда в память их положить. После получения этих указаний контроллер захватывает управление шиной PCI, а драйвер Bus Master управляет шиной доступа к памяти и совместно с контроллером выполняет операции по считыванию данных с жесткого диска или CD-ROM непосредственно в память с помощью контроллера прямого доступа в память (DMA - Direct Memory Access). При таком способе обмена данных процессор свободен после выдачи команд контроллеру EIDE и может заниматься любыми другими делами. Надо только понимать, что процессор может в это время не получить доступ к шине PCI и основной памяти.
            Функция Bus Master делает интерфейс EIDE SCSI-подобным (хотя это только подобие - современные контроллеры SCSI на шине PCI также могут работать в режиме Bus Master и, кроме этого, "интеллектуально" управлять своей периферией). Если доступ к диску выполняет только одна, запущенная в данный момент программа, то значительного выигрыша в производительности не будет. Но достаточно запустить несколько приложений, работающих с диском, как заметное повышение производительности будет очевидным. Это легко проверить, запустив одновременно, например, два Winbench 99 с тестом диска с Bus Master драйверами или без оных. В контроллерах IDE из наборов микросхем фирмы Intel, ранее называемых Triton, встроена функция Bus Master. Intel называет эти контроллеры PIIX (Pci Isa Ide aXcelerator). Пока Intel выпустил 4 таких контроллера 80371FB (PIIX), 82371SB (PIIX3), 82371AB и 82371EB (PIIX4). Предпоследний из них входит в набор Intel 430TX - это первый Intel контроллер IDE с поддержкой режима Ultra DMA/33. Сейчас, в основном, используется 82371AB&EB, включая и материнские платы на Pentium II/III. На платах с набором 80440BX применяется микросхема 82371EB, функционально ничем не отличающаяся от 82371AB, но допускающая обращение к ней со стороны процессора с частотой 100 MHz. В наборах i810, i810e, i820, i840 поддерживается стандарт UltraDMA/66, а в наборах i815E, i815EP и далее поддерживается UltraATA100.
            Следует заметить, что Windows 95 OSR2 не совсем корректно работала с парой "UltraDMA жесткий диск - UltraDMA контроллер". Фирма Western Digital отмечает высокую вероятность ошибок при работе в этом случае и настоятельно рекомендует использовать драйвера Bus Master от Intel, поскольку в их работе ошибок нет. Сама Microsoft также подтверждает существование проблемы.
            В Windows 98 драйвера IDE работают корректно. Intel прекратила разработку отдельных драйверов Bus Master для Windows 98 до выхода наборов i8xx. В Windows NT функция Bus Master может быть включена с как с помощью специальной программы, так и драйверов от Intel.
     
    Драйвера поддержки Bus Master
         Функция Bus Master включается только специальными драйверами под соответствующую операционную систему. Для примера мы предлагаем ссылки на драйверы для Windows 95, OS/2 и Windows NT. Windows 98 не требует установки драйверов Bus Master от третьих фирм, так встроенные в систему драйвера работают вполне удовлетворительно. С нашей точки зрения, наилучшими драйверами Bus Master являлись в свое время драйверы, разработанные фирмой Triones (последняя версия 3.70). Эти драйверы разработаны не только для Windows 95/NT и OS/2, но и для Novell, SCO Unix, MS-DOS. К сожалению, продукт Triones не является freeware или shareware. Комплект драйверов Triones поставлялся вместе с некоторыми материнскими платами, например, фирм Gigabyte, DataExpert, Acer.
    В OEM service release 2 Windows 95 подобный драйвер встроен в систему (у него осталось старое имя ESDI_506.pdr). Режим перекачки данных, использующий DMA, может быть отключен в System Manager из Control Panel/System. К своим последним драйверам Intel стал прилагать диагностическую программу Intel Companion, которая сообщает подробную информацию обо всех устройствах, подключенных к IDE интерфейсу и о режимах их работы.
     
    Проблемы, возникающие при работе с драйверами Bus Master

              
    Проблемы, описанные ниже, возникали в таком виде не так давно, сейчас большинство этих проблем устранено, но тем не менее, они представляют некий исторический интерес.
               Большинство проблем возникает с накопителями CD-ROM и старыми жесткими дисками. Поэтому после установки драйверов проверьте функционирование системы (сохраните в какой-либо программе файлы, перепишите файлы с диска на диск и т.д.). Рекомендуется также проверить CD-ROM на чтение CD-ROM дисков и воспроизведение аудио дисков. CD-ROM рекомендуется всегда устанавливать как master на втором IDE канале.
            Мы столкнулись с тем, что в случае использования материнской платы на наборе 430TX и установкой под Windows NT 4.0 соответствующих драйверов происходил crash системы при использовании CD-ROM приводов Samsung (12-24x), неустойчивая работа с CD-ROM Panasonic модели CR-583 (8-ми скоростной) и т.д. Мы не можем утверждать, что виноваты накопители - может быть, виноваты драйверы (мы тестировали на драйверах от Intel и Triones - результаты были одинаковы), мы просто констатируем факт. 24-х скоростные и выше CD-ROM уже не имеют проблем с драйверами Bus Master. 
            Если вы обнаружили неприятные эффекты, например "зависание" компьютера при попытке сохранить файл, невозможность проигрывания аудио дисков и т.п., то следует удалить драйвера Bus Master или, что то же самое, очистить поле DMA в свойствах IDE контроллера. В Windows 95 это также делается повторным запуском программы Setup установки драйверов Bus Master и последующего выбора Uninstall.
    Из известных нам общих проблем - невозможно проиграть аудио диск в Windows NT 4.0, невозможность просмотра некоторых видов видеодисков в Windows 95 (с драйверами от Triones все в порядке), несколько неустойчивая работа с диском у драйверов Intel.
            Множество проблем обсуждаются на сайте BMdrivers.com. Особенно актуальны эти проблемы для пользователей Windows 95 OSR2, в которую Microsoft встроила поддержку Bus Master, но как это часто бывает, с многочисленными ошибками. Ссылки на "заплатки" к Windows 95 OSR2 также есть на этом сайте.

            Надо также понимать, что нормальное функционирование режима Bus Master и DMA возможно ТОЛЬКО на правильно спроектированных материнских платах и IDE кабелях. В противном случае операционная система снимет режим DMA, не уведомляя при этом пользователя. Производительность жесткого диска, CD-ROM и других IDE устройств существенно понизится, не говоря уже о возрастании в несколько раз нагрузки на центральный процессор.

    Последние изменения от 23.11.00