Процедура b> HDD Low Level Format b> системного b> BIOS b> p>
1. Службова інфомація HDD. H2>
розміщується
на дисках накопичувача інфомація ділиться на власне інформацію користувача
(заради якої накопичувач і існує) та службове, призначену для
забезпечення можливості зберігати інформацію користувача. Службова інформація
поділяється на: p>
службову
інформацію самого накопичувача, необхідну для його роботи на апаратному рівні
(читання-запису секторів), яку в подальшому службовою інформацією HDD; p>
службову
інформацію операційної системи (необхідну для організації інформації у вигляді,
придатному для обробки операційною системою), наеиваемую надалі
службовою інформацією ОС. p>
Службова
інформація HDD в свою чергу ділиться на три рівні: p>
Інформація,
призначена для організації зворотного зв'язку сервосистеми приводу блоку
головок, тобто для позиціонування головок на треки і утримання їх необхідної
положення. У сучасних HDD це робиться шляхом запису на всі робочі
поверхні спеціальних сервометок - полів, що дозволяють сервоприводу по
прочитаного з них сигналу отримувати інформацію про поточне положення головки. За
ним же (шляхом контролю періоду проходження сигналу) стабілізується швидкість
обертання диска. Сервометкі наносяться не тільки на місця самих треків, а й у
проміжках між ними. Запис сервометок проводиться при виготовленні HDD на
спеціальному пристрої, що забезпечує зовнішнє позиціювання блоку головок --
серворайтере (Serwowriter). Запис або відновлення сервометок засобами
самого HDD (без зовнішнього позиціонування) неможливі. p>
Інформація,
що служить для адресації секторів з даними користувача і контролю цілісності
цих даних. Містить у собі поля ідентифікатора сектора (дескриптора),
служашего для ідентифікації сектора, і поля контрольної суми (ECC check
bytes), призначених для контролю цілісності інформації, записаної в поле
даних сектору. Це і є те, що зазвичай розуміють під низькорівневим форматом.
У ранніх моделях HDD (з інтерфейсом ST506/412), як і в FDD, запис
низькорівневого формату була стандартною операцією. З появою же IDE
накопичувачів і перенесенням основних функцій роботи з "залізом" в
контролер самого HDD уніфікація внутрішнього формату втратила сенс.
Розподіл секторів в сучасних HDD індивідуально для кожної моделі,
використовується ZBR (Zone Bit Recording, різне число секторів на трек у
залежно від фізичної довжини треку), і реальне розташування сектору
відомо тільки внутрішньої програмі керування. Тому низькорівневе
форматування може бути виконано тільки самим контролером накопичувача, і
реалізовано у більшості HDD у вигляді автоформату - процедури, що викликається технологічної
командою (vendor specific, недокументовані службова команда). p>
Інформація,
необхідна для роботи керуючого процесора HDD та спеціалізованих
мікросхем контролера - Firmware, або службове ПО накопичувача. Представляє
собою набір програм, що забезпечують виконання функцій HDD і таблиць,
що містять всі необхідні для роботи дані (параметри накопичувача, назва
моделі, серійний номер і т.п., адреси заміщених дефектних секторів, атрибути
SMART і так далі). Розташована ця інформація на спеціально призначених
для цього службових циліндрах, недоступних у режимі роботи
HDD. Запис її здійснюється також за допомогою технологічних команд. P>
2. Службова інформація ОС (DOS, Windows) h2>
Операційна
система створює на HDD свою структуру службових даних для забезпечення
можливості маніпуляцій з зберігається інформацією за правилами, прийнятими в даній
ОС. З точки зору ОС накопичувач є просто сукупність
довільно адресуються блоків (секторів), незалежно від внутрішньої
конструкції пристрою. Засобами ОС створюються таблиці логічних розділів
(програмою fdisk), таблиці параметрів розділу і розташування файлів
(програмою format), записуються програми завантаження ОС. Логічне
форматування полягає саме в записі цих таблиць і програм, а також
перевірці доступності секторів даних, що входять в логічний розділ. Якщо при
перевірці виявляються недоступні сектора (сектора, при виконанні для
яких команди верифікації повертається код помилки), вони позначаються в FAT як
погані. До ідентифікаторами секторів і взагалі низкорівневому формату ця
процедура ніякого відношення не має. Запис виробляється тільки в сектори,
відведені під завантажувач ОС, FAT і кореневий каталог. p>
3. Що є Low Level
Format з BIOS p>
В
стандарті ATA (AT attachment) є команда 50h (Format Track), що залишилася
"у спадщину" від ST506/412. В даний час дана команда
підтримується усіма виробниками HDD "для сумісності",
реальне ж дія накопичувача при отриманні її варіюється від простого
ігнорування до запису нулів у зазначені сектора. Реальне н.у. форматування
режимі користувача роботи HDD неможливо хоча б через те, що
внутрішня програма транслятора контролера HDD приховує справжню адресацію секторів.
Результатом виконання "низькорівневого форматування" з BIOS
може бути: p>
Відсутність
результату ;-), тобто повне ігнорування вінчестером цієї процедури.
Позиціонування буде чесно відпрацьовано, але ніяких дій на дисках
зроблено не буде. p>
Запис
нулів в усі сектори, то є просте стирання інформації користувача. p>
Виникнення
проблем з HDD старих серій, що не забезпечують надійний захист від користувача.
Hекоторые старі HDD (місткістю 40-80 мб) можуть на 50h відповідати помилкою, що
може призвести до маркування всіх секторів як "bad", або навпаки,
записати нулями частина службових треків, що призведе до непрацездатності
накопичувача. p>
В
той же час команда форматування треку надає і вельми корисні
можливості. Сама команда виглядає таким чином (AT Attachment Interface for Disk
Drives, Revision 4c, 1994): p>
В
регістр лічильника секторів (sector count) заноситься число секторів на трек
(логічне, зазвичай 63); p>
В
регістр накопичувача/головки - номер накопичувача і головки. p>
В
регістри номера циліндра - номер циліндра. p>
В
регістр команд - 50h. p>
Потім
заповнюється буфер сектори (100h слів) блоком даних, в якому кожна з 16-бітне
слово є дескриптором сектора і містить у старшому байті - номер сектора,
а в молодшому - дескриптор, який може приймати значення: p>
00h - Format sector as good; p>
20h - Unassign the alternate
location for this sector; p>
40h - Assign this sector to
alternate location; p>
80h - Format sector as bad. p>
"Хвіст"
буфера заповнюється нулями. За заповнення буфера команда виконується. P>
Таким
чином, за допомогою команди Format Track можна робити заміну (assign)
дефектних секторів на резервні. Така можливість підтримується більшістю
сучасних IDE HDD. На жаль, процедури LLF BIOS (принаймні більшості
з них) цю процедуру не реалізують. Тому для приховування дефектів краще
використовувати програми Hddspeed і Hddutil. p>
І
останнє зауваження: LLF з BIOS може привести і до позитивного результату,
як, наприклад, у випадку з помилковою контрольною сумою поля даних сектору. При
читанні такого сектора буде виникати помилка "Uncorrectable by ECC"
до тих пір, поки новий запис в нього не скоректує байти ECC. Це може
зробити і BIOS LLF (якщо тільки вінчестер його не проігнорує). p>
Таким
чином, процедуру HDD Low Level Format, реалізовану в BIOS багатьох системних
плат, можна визнати в більшості випадків нешкідливою (для самого вінчестера,
але не для інформації на ньому), але й практично марною. Тобто її
використання може принести тільки ту користь, яку здатна принести
проста запис нулів у всі сектори логічного дискового простору. А це
простіше й швидше робити за допомогою Norton Diskedit або, наприклад, утиліти Zdisk p>
Список літератури h2>
Для
підготовки даної роботи були використані матеріали з сайту http://www.nodevice.ru/
p>