Главная страницаОбратная связьКарта сайта

Основные принципы работы накопителей. Часть 2

Зонная запись

В первых накопителях на жестких дисках каждая дорожка была разбита на одно и то же количество секторов — 64, пронумерованных от 0 до 63 (в самых ранних моделях использовалось всего 17 секторов). Эти системы работали неплохо, но разработчикам не давал покоя тот факт, что при постоянной скорости вращения дисков плотность записи данных оказывалась более высокой на внутреннихдорожках, где длина окружности меньше. При этом внешние дорожки с большей длиной окружности недоиспользовались, поскольку плотность записи на них была далека от максимально достижимой. Поэтому в последующих моделях накопителей количество секторов в цилиндрах было сделано переменным, зависящим от радиуса дорожки. Этот метод был назван зонной записью, поскольку рабочие поверхности носителей разбили на 16 областей (зон). У всех дорожек, относящихся к одной зоне (т.е. имеющих примерно одинаковые радиусы), количество секторов одинаково, при этом у дорожек, лежащих во внутренних зонах, оно наименьшее, а во внешних — наибольшее. Зонная запись позволяет более эффективно использовать пространство накопителя для хранения информации. Процессом зонной записи управляет контроллер самого накопителя, поэтому при настройке в BIOS параметров жесткого диска вводится только одно постоянное значение параметра «Sectorper Track» (количество секторов на дорожке). У современных накопителей количество физических секторов на дорожке варьируется от 195до312. Втабл. 13.1 приведено распределение количество дорожек и секторов по зонам на примере диска Maxtor D540X (зона 15 является самой внутренней зоной диска).

Несмотря на фактическое количество секторов на дорожке в режиме адресации LBA используется фиксированное количество 63 сектора на дорожку, а преобразование в физические значения осуществляется самом накопителем.


Резервирование секторов

На любом жестком диске существуют секторы, непригодные для использования. При форматировании накопителя дефектные секторы должны быть помечены и исключены из рассмотрения. Метод.резервирования секторов позволяет сохранить на каждой дорожке то количество рабочих секторов, которое определено для нее в соответствии с принципом зонной записи. При так называемом последовательном резервировании один из секторов на каждой дорожке оставляется в качестве запасного. Он не включается в общий список секторов и ни BIOS, ни операционная система не знают о его существовании. Если в процессе форматирования диска на дорожке обнаруживается поврежденный сектор, то вместо него «подставляется» запасной, а нумерация последующих секторов сдвигается на единицу. Если на дорожке обнаруживается более одного дефектного сектора, то она целиком помечается как непригодная для записи. Последовательное резервирование, однако, не получило широкого распространения. Чаще всего используется пространственное резервирование, при котором запасные секторы на дорожках не выделяются. Если в процессе форматирования на дорожке обнаруживается хотя бы один поврежденный сектор, то она сразу помечается как неиспользуемая, а вместо нее «подставляется» запасная дорожка с одного из резервных цилиндров, специально выделенных для этих целей. Этот метод используется практически во всех EIDE и UDMA накопителях на жестких дисках. В них предусмотрены 16 резервных цилиндров — по одному для каждой зоны записи (часто их называют зоной компенсации дефектов).

Единственная область накопителя, где дефектные секторы абсолютно недопустимы, — это нулевая дорожка (с номером 00). Она используется для записи информации о разбиении жесткого диска и положении FAT. Если нулевая дорожка не читается или на нее невозможно что-либо записать, то накопитель перестает работать. Если в процессе эксплуатации повреждается сектор на этой дорожке, то даже низкоуровневое переформатирование диска с целью исключения плохого сектора не обязательно восстановит его работоспособность. К сожалению, при такой неисправности чаще всего приходится заменять накопитель.

Парковка головок

Головки чтения/записи «летают» над поверхностями носителей на микроскопических расстояниях от них. Поддерживающая их воздушная подушка формируется воздушными

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

Чтобы избежать ударов головок о поверхности носителей при выключении накопителя и остановке дисков, выделяется специальный цилиндр (либо внутренний, ближайший к оси вращения, либо внешний), который играет роль посадочной полосы (LZ — landing zone) для головок. Этот цилиндр не предназначен для хранения данных, поэтому соприкосновения головок с поверхностями дисков на этом участке вполне безопасны. Все современные накопители на жестких дисках имеют систему автоматической парковки — перевода головок на посадочную полосу по мере уменьшения частоты вращения магнитных дисков, а также их надежной фиксации до момента следующего включения накопителя. Фиксация головок необходима для того, чтобы они не смещались на рабочие дорожки при сотрясениях неработающего накопителя. Для старых накопителей в программах настройки BIOS предусматривалась специальная строка — «LZ» или «Landingzone». Для современных дисков можно либо просто ввести «О» в строке «LZ», либо позволить системе автоматически определить значение этого параметра.

Чередование секторов

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

Предположим, что при форматировании низкого уровня секторы на каждой дорожке были пронумерованы последовательно (в этом случае говорят, что коэффициент чередования равен 1:1). Предположим теперь, что с диска должны быть считаны некоторые данные, и головки переместились на начало 1-го сектора нужной дорожки. Из этого сектора счи-тываются искомые данные, а пока они передаются из контроллера на системную плату и обрабатываются ею, диск продолжает вращаться с частотой 7200 об/мин (120 об/с). Наконец, данные оказываются полностью переданными на системную плату, и контроллер теперь готов к считыванию 2-го сектора.

Однако здесь возникает проблема. Поскольку диск вращается с высокой скоростью, пока компьютер разбирался с данными из 1-го сектора, 2-й сектор почти целиком успел «проскочить» под головками, и к моменту готовности контроллера головки оказались (предположим, для определенности) в начале 3-го сектора. Поскольку следующим должен быть считан все-таки 2-й сектор, контроллер должен выждать, пока диск совершит почти полный оборот и начало этого 2-го сектора снова окажется под головками. Таким образом, данные из 2-го сектора будут считаны с большой задержкой. Та же самая ситуация будет повторяться и при обращении к 3-му, 4-му и прочим секторам, т.е. при каждом обороте диска будут считываться данные только из одного сектора, а следующий будет «проскакивать», потому что компьютер не будет успевать подготовиться к его приходу. Очевидно, что, работая таким образом, накопитель окажется чрезвычайно медленным: для считывания всей дорожки потребуется столько полных оборотов диска, сколько в ней содержится секторов.

Решение возникшей проблемы напрашивается само собой: нужно просто изменить нумерацию секторов. Новая нумерация должна быть построена с учетом быстродействия контроллера, т.е. секторам должны быть присвоены такие номера, чтобы к моменту готовности контроллера к следующему сеансу чтения под головками находился сектор со следующим по порядку номером. В приведенном примере достаточно пронумеровать секторы через один (т.е. установить коэффициент чередования 1:2) — и тогда данные со всей дорожки будут считаны за 2 оборота диска.

В общем случае, количество оборотов диска, необходимое для полного считывания или записи дорожки, равно знаменателю коэффициента чередования. Для достижения максимальной производительности накопителя чередование необходимо исключить. Современные схемы интерфейсов и контроллеров работают намного быстрее, чем любой накопитель, что позволило снять проблему чередования секторов. Все секторы в современных накопителях обрабатываются последовательно, т.е. коэффициент чередования равен 1:1, и данные со всей дорожки могут быть считаны за один оборот диска (без учета запаздывания).

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

Предварительная компенсация при записи

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

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


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

Описанный метод называется предварительной компенсацией при записи (WP — Write Precompensation). Дорожка, начиная с которой должны вводиться предварительная компенсация, указывается в таблице параметров жесткого диска при настройке BIOS. Предварительная компенсация при записи играла существенную роль в старых накопителях, в которых использовались носители с оксидным рабочим слоем. Переход к тонкопленочным рабочим слоям в сочетании с методикой зонной записи в современных накопителях привел к тому, что разница в уровнях остаточной намагниченности и протяженностях зон смены знака на всей поверхности магнитного диска стала очень незначительной, поэтому необходимость в предварительной компенсации при записи практически отпала (хотя соответствующий параметр в BIOS все еще остался). В большинстве случаев при настройке BIOS следует просто ввести «О» в строке «WP» или позволить системе автоматически определить номер дорожки, начиная с которой должна вводиться предварительная компенсация.

Время запуска

Загрузка компьютера длится порядка 30 секунд, а иногда и дольше. Часть этого времени составляет искусственная задержка, специально вводимая для того, чтобы жесткий диск успел инициализироваться. После подачи питания на накопитель должно пройти от 7 до 10 секунд для того, чтобы его встроенный контроллер запустил и инициализировал все узлы жесткого диска и привел его в состояние, в котором он может быть опознан при выполнении процедуры POST (Power-On Self Test — самопроверка при включении). Эта задержка перехода в рабочее состояние называется временем запуска дисковода. Проблемы, иногда возникающие при включении компьютера с новым жестким диском, часто бывают связаны с недостаточной задержкой в процессе загрузки. BIOS слишком рано пытается проверить наличие жесткого диска, который к этому моменту еще не пришел в рабочее состояние.

Режимы энергопотребления

Современные накопители на жестких дисках могут быть «включены» или «выключены» — но не только. Во включенном состоянии, т.е. при поданном на них питании, они могут работать в нескольких режимах, каждый из которых характеризуется различным уровнем потребления энергии от основной системы. В настоящее время персональные компьютеры становятся все более «скромными» в своих энергетических запросах, поэтому возможность регулировать энергопотребление накопителей чрезвычайно важна. Подсистема управления режимами работы жесткого диска является неотъемлемой частью системы энергосбережения компьютера. В большинстве компьютеров накопители на жестких дисках могут работать в одном из 5 режимов.

■     Разгон. Шпиндельный двигатель и «стопка» носителей раскручиваются, но еще не достигли номинальной частоты вращения. Накопитель при этом потребляет максимум мощности (14-15 Вт). Если блок питания компьютера перегружен, то в нем может сработать защита, и компьютер вообще не включится.

■     Поиск. Накопитель работает в режиме произвольного доступа, т.е. пытается найти дорожки, необходимые для записи или считывания данных. Потребляемая в этом режиме мощность — 8,5-9 Вт.

■     Чтение/Запись. Поиск дорожки завершен, данные считываются с диска или записываются на него. Потребляемая мощность — около 5 Вт.

■     Режим простоя. Это основной режим энергосбережения, когда шпиндельный двигатель вращается с номинальной частотой, вся электроника накопителя включена, но привод головок обесточен и головки запаркованы. Потребляемая мощность снижается до 4 Вт. При этом накопитель способен отреагировать на команду чтения в течение 40 мс.

■     Ожидание. Шпиндельный двигатель не вращается (диски остановлены). Это режим максимального энергосбережения, при котором потребляемая мощность составляет всего около 1 Вт. Выход накопителя из этого состояния после получения команды записи или считывания (разгон) занимает несколько секунд.

Серво-коды

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

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

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

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

Все современные жесткие диски используют встроенные серво-коды.

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

Не пытайтесь форматирование IDE-диски на низком уровне — это может повредить серво-коды, в результате чего накопитель станет полностью неработоспособным.

Термальная калибровка

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

Каждые несколько минут (или при необходимости) происходит перемещение головок на определенное расстояние с одновременным подсчетом числа дорожек. На основании этих измерений определяется поправочный коэффициент, который сохраняется в памяти накопителя. Основная проблема термальной калибровки состоит в том, что она, занимая достаточно продолжительное время (сравнимое с-полным временем позиционирования), блокирует на этот период нормальную работу диска. Это не приводит к потерям данных, но для приложений реального времени (в частности, при оцифровке видео, записи компакт-дисков) подобный перерыв в поток&данных может стать критическим. Для предотвращения подобных проблем, в конце 1990-х были разработаны накопители, в которых термальная калибровка выполнялась только во время простоя (они обычно маркировались A/V — audio/video). В настоящее время с переходом на встроенные серво-коды периодичность термальной калибровки значительно снизилась, что вкупе с повышением быстродействия и увеличением емкости встроенных буферов устранило проблему прерывания потока данных. В последних моделях жестких дисков можно вообще отключить термальную калибровку во время выполнения критичных приложений.

Технология SMART

SMART (Self-Monitoring Analysis and Reporting Technology) — это система автономной диагностики, которая позволяет персональному компьютеру прогнозировать приближающиеся сбои в работе его компонентов — в частности, дисковых накопителей. При получении предупреждения о возможном сбое пользователь или системный администратор, не дожидаясь потери данных, может выполнить резервное копирование, заменить подозрительный компонент и сэкономить массу времени. Использование технологии SMART — это наилучший способ повысить сохранность и доступность данных в персональном компьютере.

Технология SMART была реализована различными фирмами и под разными названиями. Метод PFA (Predictive Failure Analysis — упреждающий анализ отказов) и соответствующий термин были предложены их разработчиком — корпорацией IBM. Метод PFA реализован во всех больших компьютерах фирмы IBM. Фирма Compaq была одной из первых компаний, которая внедрила SMART в свои жесткие диски под названием DFP (Drive Failure Prediction — прогнозирование отказов накопителей). Впоследствии первоначальная версия SMART фирмы Compaq была скорректирована и представлена на рассмотрение в качестве основного отраслевого стандарта Комитетом по малым компьютерам (Small Form Factor Committee). Сейчас технология SMART включена Американским национальным институтом стандартов (ANSI—American National Standards Institute) в стандарт АТА-4 (ANSI X3T13 ATA\ATAPI-4).

Для реализации технологии SMART ее поддержка должна обеспечиваться либо системной BIOS компьютера, либо соответствующими драйверами. В том и в другом случае система должна иметь возможность обмениваться SMART-командами с регистрами АТА-интерфейса. Популярность технологии SMART постоянно растет, и сейчас, например, ее используют все современные накопители фирмы Maxtor. Дополнительную информацию о реализации технологии SMART, разработанной фирмой Maxtor, можно найти по адресу: www.maxtor.com/products/DiamondMax/techsupport/misc/smart.html.

Кэширование

Идеальный накопитель должен работать без задержек — данные должны быть доступны в тот же момент, когда они были запрошены. К сожалению, мгновенный доступ и передача данных невозможны даже при использовании самых современных (магнитных и оптических) технологий их хранения. Реакция механических узлов (шпиндельного двигателя и привода головок) не может быть сколь угодно быстрой вследствие фундаментальных законов физики, поэтому механические задержки всегда будут замедлять работу накопителя. Проблема, с которой столкнулись разработчики компьютеров, состоит в том, что механическая система накопителя, какой бы прецизионной и быстродействующей она не была, все равно будет работать значительно медленнее, чем электронные схемы обработки информации. В компьютерном мире миллисекунда — это очень большое время. Во время работы вам наверняка довольно часто приходилось ждать, пока закончится дисковая операция — и лишь после этого начиналасьследующая. Такие задержки раздражают пользователей, снижают производительность системы — особенно в тех случаях, когда с диска загружаются большие программные файлы или файлы данных, характерные для современных пакетов программного обеспечения. Чтобы повысить «внешнее» быстродействие накопителей, используется прием, называемый кэшированием диска.

Суть кэширования сводится к тому, что непосредственно в накопителе устанавливается быстродействующая оперативная память небольшого объема, которое используется для временного хранения данных (в качестве промежуточного буфера). В кэш загружается информация, которая, как предполагается, будет запрошена системой. Когда инициируется считывание с диска, кэш проверяется на содержание в нем искомой информации. Если она там присутствует (в этом случае говорято попадании в кэш), то данные передаются из кэш-буфера в систему со скоростью, характерной для электронных схем. В этом случае не происходит считывания данных непосредственно с носителей, за счет чего и достигается высокое быстродействие. Если искомой информации в кэше нет (промах), то данные считываются с магнитных дисков с обычными для накопителя задержками и производительность системы не увеличивается. В настоящее время в накопителях на жестких дисках емкость встроенного кэша измеряется мегабайтами и достигает 128 Мбайт и более. Для предсказания того, какая информация должна быть загружена в кэш, разработано довольно много программных алгоритмов. На рис. 13.8 изображена структура алгоритма, используемого корпорацией Maxtor в некоторых жестких дисках серии ProDrive.



Рис. 13.8 Алгоритм управления кэшированием (Maxtor Corporation)

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


Накопители на жестких дисках

Обсудить статью на форуме


Если прочитаная статья из нашей обширной энциклопедия компьютера - "Основные принципы работы накопителей. Часть 2", оказалась полезной или интересной, Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по статье через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2017 Дискета.info