КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Контроллеры дисковых накопителей
Низкоуровневое форматирование Низкоуровневое форматирование дисков — LLF (Low Level Formatting) — это процедура создания структуры секторов диска, которая для каждого накопителя (или сменного носителя) должна быть выполнена перед его использованием в качестве устройства хранения данных. Процедура сводится к тому, что каждый трек диска размечается и верифицируется. При разметке трека на нем формируются заголовки секторов, а в поля данных записывается какой-либо код-заполнитель. Отформатировать трек можно только целиком — за одну операцию должны быть записаны все его секторы. В процессе верификации делается попытка считывания каждого сектора, и если при считывании обнаруживается устойчивая ошибка, сектор в заголовке помечается как дефектный. Для гибких дисков низкоуровневое форматирование является составной частью процесса форматирования, выполняемого утилитой FORMAT или ей подобными. Во время форматирования жестких дисков формируется структура пакета дисков со всеми чередованиями, смещениями и прочими тонкостями. Форматирование жестких дисков АТА и SCSI, у которых контроллер совмещен с накопителем, выполняется только изготовителем с помощью специальных программных средств, учитывающих эти тонкости. Контроллеры современных накопителей представляют собой сложные устройства, построенные на основе микропроцессоров. В состав контроллера входят узлы, непосредственно связанные с обработкой и формированием сигналов блока HDA, — коммутатор головок, схемы кодирования-декодирования данных с усилителями сигналов, схемы управления позиционированием, шпинделем и, если надо, сменой носителя. Кроме того, контроллер может содержать буферную память (кэш), объем которой может достигать сотен килобайт, хотя и это не предел. Рассмотрим, на что расходуется «интеллект» контроллера. Хранение данных на магнитном носителе всегда сопровождается появлением ошибок, причин у которых может быть множество: дефект поверхности носителя, случайное перемагничивание участка носителя, попадание посторонней частицы под головку, неточность позиционирования головки над треком, колебание головки по высоте, вызванное внешней вибрацией (ударом) корпуса накопителя, уходом различных параметров (из-за старения, изменения температуры, давления и т. п.). Независимо от причин, ошибки должны быть выявлены и по возможности исправлены. Если сектор считывается с ошибкой, контроллер автоматически выполнит повторное считывание, и при случайности ошибки велик шанс правильного считывания сектора. Однако, если ошибка вызвана, например, неточностью позиционирования головки на середину трека, связанной с уходом параметров, повторное считывание может и не дать положительного эффекта. Накопитель с шаговым приводом головки в этой ситуации может только повторить позиционирование — вернуться на нулевой трек и снова «дошагать» до нужного — иногда это помогает. У привода с подвижной катушкой больше возможностей для поиска положения головки, оптимального для считывания данных. Для этого следящая система может покачать головку относительно центрального положения, заданного сервометками, и найти точку, где данные читаются верно. Если контроллеру никак не удается достоверно прочитать записанные в сектор данные, такой сектор должен быть исключен из дальнейшего использования. Если этого не сделать, бесчисленные повторные попытки обращения к этому сектору будут отнимать массу времени, а результата все равно не будет. На уровне накопителя отметка о дефектности блока делается в заголовке сектора, запись в который, как известно, производится только во время низкоуровневого форматирования. Однако современные встроенные контроллеры дисков сами обрабатывают обнаружение дефектных секторов и вместо них подставляют резервные, так что для пользователя дефектные секторы у дисков АТА и SCSI не видны. Контроллер помечает дефектный сектор специальной пометкой в заголовке, а вместо него использует сектор из резервной области, которая имеется в конце каждого трека. Однако простая подстановка номера отказавшего сектора в заголовок сектора из резервной области приведет к нарушению последовательности секторов и, следовательно, к падению производительности при обращении к длинному блоку данных. Более «хитрые» контроллеры производят сдвиг данных во всех секторах, следующих за дефектным, на один сектор назад (Defective Sector Slipping), после чего обращение к последовательной цепочке секторов снова станет «гладким» (без скачков вперед-назад) и быстрым. Конечно, со временем настанет момент, когда все резервные блоки будут использованы, и тогда появление видимого дефектного блока будет сигналом к замене накопителя. Надежность считывания в большой степени зависит от точности позиционирования головок относительно продольной оси трека. Позиционирование, обеспечиваемое сервоприводом (особенно с выделенной сервоповерхностью), может быть и не оптимальным для каждой головки и требовать коррекции. Главным образом, эта коррекция необходима из-за изменения рабочей температуры. «Умный» контроллер хранит карту отклонений для цилиндров и головок, которую он создает и периодически корректирует в процессе работы. Процесс автоматической термокалибровки накопителя (Thermal Calibration, или T-Cal) запускается встроенным контроллером автоматически, и для системы, в которую он установлен, момент запуска этого процесса случаен. Процесс автоматической термокалибровки заметен пользователю: винчестер, к которому нет обращений, вдруг «начинает жить своей жизнью», выполняя серию позиционирований (слышно по характерным звукам). Во время рекалибровки доступ к данным накопителя приостанавливается, что не всегда допустимо. Накопители, предназначенные для мультимедийных целей, а также используемые как мастер-диски для записи данных на лазерный диск, должны обеспечивать довольно длительный непрерывный поток передачи данных. Их контроллеры не должны позволять себе «вольности» термокалибровкой приостанавливать сеансы передачи данных. Кроме термокалибровки, есть еще один процесс, асинхронно запускаемый контроллером диска, — так называемое свипирование (Sweeping): если к диску долгое время отсутствуют обращения, он перемещает головки в новое, случайным образом определенное положение. Этот процесс напоминает «хранитель экрана» монитора (Screen Saver) и предназначен для выравнивания степени износа поверхности диска. Современные контроллеры имеют встроенную кэш-память, от размера которой и алгоритма использования сильно зависит производительность обмена данными. Общепринятой технологией кэширования диска является упреждающее считывание (Read Ahead). Суть его проста: если контроллер получает запрос на чтение сектора, то он автоматически считает в буфер и секторы, следующие за запрошенным. Весьма вероятный запрос к следующему сектору будет обслужен из буфера без задержки (Latency), которая возможна из-за естественной несинхронизируемости действий операционной системы и приложений с вращением диска. Более «ловкие» контроллеры идут дальше: они считывают в буфер весь трек, как только выполнится команда позиционирования, а когда придет следующая за ней команда чтения, данные уже будут в буфере. Такие хитрости (Zero Latency — нулевая задержка) позволяет система команд интерфейса SCSI. Как и для всякой кэш-памяти, для эффективности встроенного кэша накопителя существенным фактором является алгоритм выделения памяти и замещения старых записей. Как обычно, замене подлежат наиболее старые записи. Вопрос о размере выделяемых областей для упреждающего чтения может решаться исходя из текущей статистики обращений. Контроллер с адаптивным кэшированием, заметив, что последние запросы чтения являются одиночными, перестанет выделять большие области под упреждающее чтение. Если характер запросов изменится, адаптивный контроллер примет соответствующие решения. Кроме того, отпечаток на алгоритм кэширования накладывает и многозадачный характер современных операционных систем и их дисковых запросов. Таким образом, многозадачность проникает и во встроенные контроллеры дисков. Дисковые накопители являются, пожалуй, той частью компьютера, отказ которой оборачивается самыми крупными убытками (если потерянные данные не имеют дублей). Естественно, надежность их пытаются повышать всеми возможными способами, но отказы все-таки случаются. Отказы разделяются на предсказуемые и непредсказуемые. Предсказуемые отказы (Predictable Failure) появляются в результате постепенного ухода каких-либо параметров от номинальных значений, когда этот уход перейдет некоторый порог. Если наблюдать за такими параметрами накопителей, как время разгона до заданной скорости, время позиционирования, процент ошибок позиционирования, высота полета головок, производительность (зависящей и от числа вынужденных повторов для успешного выполнения операций), количество использованных резервных секторов и других параметров, то становится возможным предсказание отказов. Задачи слежения за параметрами накопителя возлагаются на контроллер, а программному обеспечению компьютера остается только периодически интересоваться, все ли в порядке в накопителе, или грядет беда. Конечно, остаются и непредсказуемые отказы (Non-Predictable Failure), которые случаются внезапно. Они чаще всего вызываются разрушениями электронных схем под действием импульсных помех, механические части страдают от ударов. Снижать вероятность непредсказуемых отказов позволяет совершенствование технологий производства компонентов.
Дата добавления: 2014-01-06; Просмотров: 726; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |