Утилиты группы SPEED

8.5. Утилиты группы SPEED

Основной функцией утилит группы SPEED является повышение скорости обмена информацией между дисками и ОЗУ. Для этого используются различные приемы: оптимизация размещения информации на дисках и создание кэшей в ОЗУ, играющих роль буферного накопителя при передаче данных с диска в память и обратно.

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

 

8.5.1. Утилита Calibrate (CALIBRAT)

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

Дополнительно к этому утилита выполняет следующие функции:

1)         «глубокое» тестирование поверхности диска с целью обнаружения дефектов в магнитном
покрытии, а также
проверку другого оборудования ПЭВМ;

2)         перемещение находящихся под угрозой разрушения данных в безопасное место;

3)         обновление служебной информации в секторах без потери данных, что может сделать снова
используемым оказавшийся дефектным сектор;

4)         определение технических (физических и логических) характеристик НЖМД.
Утилита применима только к жестким дискам.

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

1)         отменить действие всех программных продуктов, поддерживающих кэши жестких дисков;

2) обработать жесткий диск утилитой NDD для проверки целостности файловой структуры, а также выявления и регистрации в FAT дефектных секторов;

3) установить переключатель тактовой частоты на ПЭВМ (конечно, если он имеется), в положение, соответствующее обычно используемому.

Кроме того, во время выполнения Calibrate не следует активизировать резидентные программы. Лучше всего, конечно, перед запуском утилиты осуществить загрузку с «чистой» эталонной системной дискеты без установки резидентов.

Несмотря на то, что чередовании упоминалось в п. 2.4.2, здесь мы рассмотрим это понятие более подробно.

Секторы на дорожке жесткого диска не нумеруются последовательно. Вызвано это тем, что диск вращается быстро, а поэтому контроллер НЖМД не успевает передать в МП содержимое текущего сектора и подготовиться к чтению следующего до того, как последний будет подведен под магнитную головку. Поэтому при последовательной нумерации секторов контроллеру пришлось бы дожидаться окончания полного оборота диска для возобновления чтения. Таким образом, за один оборот считывался бы только один сектор. Контроллер же может работать существенно быстрее.

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

Чередованием как раз и называется непоследовательная нумерация секторов на дорожке жесткого диска. Количественными оценками чередования являются отношение чередования и коэффициент чередования.

Отношение чередования записывается в форме п:1, где n—1 — число секторов, расположенных между секторами на дорожке, номера которых отличаются на единицу. Следовательно, при отношении п:1 нумеруется каждый n-ый сектор до тех пор, пока все секторы на дорожке не будут пронумерованы.

Коэффициент чередования выражается просто тем же числом п.

Типичным является коэффициент чередования 3, нумерация секторов в соответствии с которым для 17-ти секторов на дорожке показана на рис. 8.67.

Оптимальное чередование определяется соотношением, с одной стороны, скорости вращения диска и числа секторов на его дорожке, а с другой — быстродействием контроллера НЖМД и самой ПЭВМ. Нужно подобрать такое чередование, чтобы за время передачи содержимого очередного сектора в машину и подготовки к приему следующего сектора последний оказался как раз под магнитной головкой или приближался к ней. Тогда все секторы на дорожке смогут быть прочитаны всего за п оборотов магнитного диска, где п — коэффициент чередования.

Чередование устанавливается при низкоуровневом форматировании жесткого диска специальной утилитой низкоуровневого форматирования (не содержащейся в DOS) путем записи в секторы служебной информации, в том числе их номера. Эти номера распознаются контроллером НЖМД.


Рис. 8.67. Нумерация секторов с коэффициентом чередования 3

 

На высокопроизводительных ПЭВМ (начиная с машин класса AT) оптимальным может быть чередование 2:1, а иногда даже 1:1.

Утилита способна работать как в недиалоговом, так и в диалоговом режимах и запускается командной строкой вида

CALIBRAT[E] [d:] [переключатели]

Аргумент d указывает подлежащий обработке логический диск на винчестере, а в качестве переключателей допустимы следующие:

/BATCH         — осуществить запуск утилиты в недиалоговом режиме (иначе Calibrate будет работать в диалоговом режиме);

/BLANK         — погасить экран на время тестирования поверхности диска (оно продолжается очень долго), чтобы предотвратить преждевременное прогорание люминофора;

/NOCOPY      — не копировать в память текущую дорожку при тестировании поверхности, что целесообразно указывать для диска без полезной информации с целью ускорения процесса тестирования;

/NOFORMAT       — не осуществлять переформатирование нижнего уровня, а произвести только тестирование поверхности диска, что также ускоряет работу утилиты;

/NOSEEK             — не выполнять определение технических характеристик НЖМД;

/PATTERN:m       — выполнить тестирование поверхности диска на уровне (с «глубиной») т;

/R:file               — сгенерировать отчет о работе и записать его в файл file;

/RA:file            — сгенерировать отчет о работе и дописать его в конец файла file;

/X:d...              — исключить приводы d... из обработки (сделать их недоступными).

Переключатели выполняют следующие функции:

1) параметризуют утилиту, если она запускается в недиалоговом режиме (с /BATCH);

2) сокращают диалог, если утилита запускается в диалоговом режиме;

3) задают подрежимы работы утилиты, которые в ходе диалога специфицированы быть не могут.

Даже в диалоговом режиме работа Calibrate максимально упрощена. Пользователю не нужно проявлять никакой инициативы: от него требуется лишь делать соответствующий выбор в каждом диалоговом окне. В простейшем случае достаточно каждый раз нажимать комбинацию клавиш Ctrl-Enter (клавишу Enter). Отменить какие-либо действия на любом этапе можно путем нажатия клавиши Esc. Некоторые операции должны быть обязательно завершены, а поэтому в ряде случаев Вам после нажатия Esc придется немного подождать.

Сразу после запуска утилиты в диалоговом режиме открывается окно-заставка с перечислением ее функций. После этого надо выдать подкоманду Continue для продолжения работы.

Однако если Calibrate для специфицированного диска уже когда-либо выдавалась и ее вы­полнение было приостановлено, Вам сразу будет предложено возобновить его обработку. Для этого ответьте Yes, и работа утилиты будет, возобновлена. Но в случае, когда возобновление работы невозможно из-за изменения параметров диска, появится сообщение об этом. Нажмите клавишу Enter, и Calibrate будет запущена сначала. Если же Вы не желаете возобновлять работу утилиты, то выберите No в ответ на соответствующий вопрос.

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

Вслед за этим появится окно-заставка с предупреждением о потенциальной опасности калиб­ровки (переформатирования) жесткого диска, так как данная ПЭВМ может оказаться не вполне IBM-совместимой. Поэтому предварительно следует осуществить резервирование жесткого диска. Если Вы уверены в необходимой совместимости ПЭВМ, если Вы имеете резервную копию винчестера, если Вы просто любите рисковать или имеете ситуацию, когда на жестком диске нет ценных данных, то нажмите Enter для Continue. В противном случае выдайте Quit для выхода из утилиты, зарезервируйте содержимое жесткого диска и затем вновь запустите Calibrate.

В случае продолжения работы откроется окно (см. рис. 8.68), в котором кратко описываются четыре следующие группы тестов, выполняемых утилитой перед оптимизацией жесткого диска и тестированием его поверхности с целью определения технических характеристик НЖМД, а также проверки совместимости с ним утилиты и работоспособности оборудования ПЭВМ:

System Integrity         — проверка работоспособности оборудования ПЭВМ;

Seek    — определение технических характеристик НЖМД;

Data Encoding            — определение способа кодирования данных при их записи на диск;

Interleave        — определение оптимальной величины чередования.

 

 

Рис. 8.68. Перечень предварительных тестов

 

Каждой из этих групп тестов соответствует свое информационное окно. Группы тестов реализуются в порядке их перечисления и запускаются в работу после выдачи подкоманды Continue.

Выполнение тестов группы System Integrity отображается в окне, показанном на рис. 8.69, и может быть проконтролировано пользователем по его содержимому. Три области в левой части окна содержат перечень подлежащих выполнению тестов. Область Test Status позволяет оценить прохождение текущего теста по времени, а в области Description приводится краткое описание текущего теста. Для остановки тестирования достаточно нажать Enter, чтобы выбрать Stop. Это применимо и к последующим группам тестов. Каждый успешно завершившийся тест отмечается в соответствующей области слева символом v', а текущий — точкой.

Группа System Integrity содержит три подгруппы тестов:

1) Memory Tests (тесты памяти);

2) Disk Tests (тесты диска);

3) System Tests (системные тесты).

Тесты подгруппы Memory Tests служат для проверки памяти ПЭВМ, чтобы избежать возник­новения ошибки в ней во время оптимизации. К этим тестам относятся:

1) System Memory (тест системной памяти, т.е. ОЗУ);

2) Controller Memory (тест памяти контроллера НЖМД).

Тесты подгруппы Disk Tests обеспечивают проверку работоспособности дискового оборудования и целостности файловой структуры. В их число входят такие тесты, как:

1) Controller Reliability (тест надежности контроллера НЖМД);

2) Disk Mapping (проверка правильности отображения логического диска на раздел);

 

 


3) Allocation Integrity (тест целостности размещения информации на диске);

4) Diagnostic Cylinder Test (тест диагностического цилиндра).

Тесты подгруппы System Tests предназначены для проверки обеспечивающих работу НЖМД устройств, имеющихся в ПЭВМ класса AT и старше. Этой подгруппе принадлежат следующие тесты:

1)         High Speed Timer Test (тест высокоскоростного таймера, т.е. системных часов);

2)         CMOS Disk Type Test (тест типа диска в CMOS-памяти, т.е. проверка правильности
установок конфигурации НЖМД в
CMOS-памяти).

При выполнении тестов группы Seek остается открытым окно, приведенное на рис. 8.70. В нем визуально отображается процесс и результаты определения технических характеристик НЖМД, влияющих на его быстродействие, а именно:

1)         BIOS Seek Overhead (накладные расходы BIOS по поиску), т.е. время, затрачиваемое
процессором на выполнение программы из
BIOS, посылающей запрос в контроллер на чтение
следующего сектора;

2) Ttack-to-Track (время перемещения блока магнитных головок на соседний цилиндр);

3) Full Stroke (время перемещения блока магнитных головок с первого цилиндра на последний);

4) Avarage Seek (среднее время позиционирования блока магнитных головок на заданном цилиндре,
которое определяется по набору случайных величин путем усреднения полученных значений).

Все определенные времена проставляются в миллисекундах (ms) в колонке Value. Значения временных характеристик используются при определении оптимального чередования.

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

Выполнение тестов группы Data Encoding визуализируется в окне, показанном на рис. 8.71. На данном этапе анализируется кодирование данных путем выполнения следующих тестов:

1) Drive RPMs (определение частоты вращения диска в оборотах в минуту — Revolutions Per Minute);

2) Sector Angle (определение угла, занимаемого каждым сектором, в градусах);

3) Controller Туре (тип контроллера, точнее — интерфейса контроллера с НЖМД, в качестве которого допустимы значения XT и AT);

4) Encoding Туре (тип кодирования), который определяет способ запоминания информации на диске. Чаще используется MFM, реже — RLL и ARLL (два последних способа обеспечивают сжатие данных при запоминании).

Определенные в результате тестирования величины и значения проставляются в колонке Value.

Результаты выполнения тестов группы Interleave выводятся в окне, представленном на рис. 8.72. Диаграмма в нем показывает число оборотов диска, которое требовалось бы при чтении содержимого всей дорожки для различных значений чередования. Столбец диаграммы, представ­ляющий текущее чередование на жестком диске, отмечается словом «Current». Оптимальное чередование выделяется маркером в виде прямоугольной рамки и словом «Optimal». В области Speed показывается эффект по увеличению быстродействия диска (точнее — скорости чтения/за­писи последовательных секторов), который был бы достигнут при установке этого чередования.

Маркер можно перемещать клавишами и →.

Выберите требуемую величину чередования (обычно — оптимальную), и работа утилиты будет продолжена.

 

 

Рис. 8.70. Окно результатов выполнения тестов группы Seek

 

 

Рис. 8.71. Окно выполнения тестов группы Data Encoding

 

Описанное окно не открывается, когда ПЭВМ оборудована «транслирующим» контроллером НЖМД, что не позволяет определить оптимальную величину чередования. Такой контроллер скрывает от ПЭВМ истинный формат жесткого диска, сообщая ей другое число секторов на дорожке, а не то, которое в действительности имеется. Другими словами, «транслирующий» контроллер эмулирует один жесткий диск на другом и используется для достижения одной из следующих целей:

        для обеспечения совместимости со старым ПО, требующим наличия на дорожке в точности 17-ти секторов;

        для преодоления ограничений, налагаемых архитектурой IBM PC XT на формат жесткого диска. Если утилитой обнаружен такой контроллер, то она сообщает об этом в открывшемся окне-заставке и предлагает нажать клавишу Enter для перехода к следующему этапу работы.

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



Рис. 8.72. Окно результатов выполнения тестов группы Interleave

 

Последнее обеспечит нормальную считываемость содержимого секторов и возможность записи в них инфор­мации, даже если в результате старения НЖМД произошло смещение блока магнитных головок относительно ранее выполненной разметки. Более глубокое, чем посредством NDD, тестирование поверхности диска поможет с упреждением выявить дефекты магнитного покрытия, вызванные его старением, которые проявились бы через некоторое время и могли бы привести к потере информации. В случае обнаружения дефектов информация перемещается в безопасное место, а соответствующие кластеры объявляются дефектными. Дополнительно к этому «глубокое» тестирование поверхности может привести и к восстановлению сбоящих кластеров в результате их «приработки».

Перед выполнением описанных действий открывается диалоговое окно (см. рис. 8.73), в котором Calibrate предлагает выбрать «глубину» тестирования поверхности диска из следующих вариантов:

No Pattern Testing                  — тестирование поверхности не выполнять;

Minimal Pattern Testing          — минимальное тестирование поверхности (5 операций записи-чтения секторов);

Standard Pattern Testing        — стандартное тестирование поверхности (40 операций записи-чтения секторов);

Rigorous Pattern Testing        — «глубокое» тестирование поверхности (80 операций записи-чтения).

Если есть подозрение по поводу наличия дефектов магнитного покрытия, то целесообразно выполнить стандартное тестирование. «Глубокое» же тестирование может потребовать нескольких часов.

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


                   ― чтение/форматирование блока;

                     ― тестирование поверхности блока;

                      ― используемый файловой структурой блок;

                     ― неиспользуемый файловой структурой блок;

B                     ― ранее дефектный блок;

C                     ― корректируемый блок;

U                     ― некорректируемый блок.


Уже обработанная часть диска выделяется на карте повышенной интенсивностью.

В поле Time указывается текущее (Current) время, а также предполагаемое время окончания (Finish) тестирования и переформатирования.

Процесс неразрушающего форматирования и тестирования поверхности технически реализу­ется следующей последовательностью шагов для каждой дорожки:

1) считывание данных со всей дорожки в ОЗУ;

2) переформатирование дорожки, возможно, с установкой нового коэффициента чередования;

 


Рис. 8.73. Диалоговое окно для выбора глубины тестирования поверхности диска

 

3) тестирование части поверхности диска, занимаемой дорожкой;

4) запись данных, содержавшихся на дорожке и прочитанных в ОЗУ, обратно на диск. Третий шаг выполняется последовательно для каждого сектора обрабатываемой дорожки. При этом в сектор записывается произвольный набор (pattern) битов, а затем осуществляется его считывание и сравнение с эталоном. Операция записи-чтения реализуется заданное число раз.

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

После завершения работы на экран будет выдана краткая информация о проделанной работе. Вслед за выдачей подкоманды ОК на экран будет выведен полный отчет. Он состоит из семи разделов:

1) информация о логическом диске (Logical Disk Information);

2) информация о физическом диске (Physical Disk Information);

3) результаты тестирования оборудования ПЭВМ (Reliability Tests);

4) технические характеристики НЖМД (Seek Tests);

5) технология кодирования (Encoding Technology);

6) результат тестирования чередования (Interleave Test);

7) результаты тестирования поверхности (Surface Test Status).

Отчет можно просмотреть на экране, отпечатать на принтере (выбрав Print) или сохранить в файле (выбрав Save as и введя затем спецификацию файла). Если отчет фиксировать не нужно, то следует выдать подкоманду Done, в результате чего будет осуществлен возврат к этапу выбора (другого) привода для обработки. Если другого привода нет, то выполнение Calibrate завершится.