История SMART технологии
Технология внутреннего анализа состояния жесткого диска
Введение
Давайте немного подробнее поговорим об уже упомянутой ранее технологии SMART, а также проясним вопрос касательно появления плохих секторов, выявляемых при проверке поверхности HDD специальными программами. Коснемся и актуального вопроса исчерпания резервной поверхности для переназначения секторов.
Начнем с небольшого исторического экскурса. Надежности HDD (как в принципе и любого другого устройства хранения в общем случае) всегда придавалось огромное значение.
Дело здесь не столько в стоимости, сколько в ценности информации, которая исчезнет вместе с поломкой HDD, а также в потерях прибыли, в связи с простоями при выходе винчестеров из строя, когда речь идет о бизнесе, даже если информация сохранилась. Разумеется, о таких неприятностях лучше знать заранее. Даже обычная бытовая логика говорит нам о том, что наблюдение за состоянием HDD в процессе работы, может подсказать о таких моментах. Остается лишь реализовать эти наблюдения в носители.
Впервые эта идея пришла в голову инженерам голубого гиганта (речь идет о IBM). В 1995 году ими была предложена технология, отслеживающая некоторые критически важные параметры накопителя, и пытающаяся на основании этих данных определить риск выхода устройства из строя. Технология носила имя Predictive Failure Analysis (сокр. PFA). Идея была оценена Compaq, чуть позже создавшей свою технологию – Intelli_Safe.
В разработках Compaq приняли участие Quantum, Seagate, и Conner. Разработанная ими технология отслеживала некоторые рабочие характеристики HDD, сравнивая их с эталонными допустимыми значениями и рапортуя хост-системе в случае выявления опасности.
Разработчики сделали громадный шаг вперед возможно не в повышении надежности HDD, но в уменьшении риска пропажи информации точно. Первые попытки завершились успешно, что показало необходимость последующего развития технологии. Объединенившись, все крупные производители HDD создали технологию S.M.A.R.T (т.е. SelfMonitoring Analysing 'n Reporting Technology), которая базировалась на технологиях Intelli_Safe и PFA. К слову, PFA используется и поныне, в качестве набора технологий для анализа и наблюдения за подсистемами IBM серверов, в т. ч. за дисковой подсистемой. Наблюдение за последней основывается непосредственно на технологии SMART.
Таким образом, SMART - это технология внутреннего анализа состояния HDD, и механизм предсказания предположительного выхода накопителя из строя. Здесь необходимо отметить, что технология принципиально не решает проблем (основные проблемы изображены на рисунке ниже), она лишь предупреждает о возникшей проблеме либо о проблеме, чье проявление ожидается в ближайшее время.
Технология, разумеется, не в состоянии предсказывать проявление абсолютно всех проблем. Это логично: выход электроники из строя из-за скачка напряжения, порча поверхности и головок после удара и т.д. никакая технология не сможет предвидеть. Предсказать можно только проблемы, связанные с постепенным ухудшением определенных характеристик, постепенной деградацией компонентов.
Этапы развития технологии
Технология SMART в своем развитии прошла через три этапа. В 1-ом поколении SMART было реализовано наблюдение за незначительным числом параметров. Самостоятельные действия накопителя, при этом, не предусматривались. Запуск можно было осуществить лишь командами по интерфейсу.
Спецификаций, полностью описывающих стандарт, никогда не было, следовательно, не существует конкретного предначертания, какие параметры следует контролировать. Кроме того, их определение, а также определение допустимого уровня снижения полностью предоставлялось на усмотрение производителю винчестеров (это естественно, т.к. производителю виднее, что следует контролировать в разработанном им винчестере, ведь винчестеры сильно различаются).
По этой причине ПО, написанное, обычно, сторонними компаниями, не было универсальным, а значит, могло ошибаться, рапортуя о возможном сбое. Неразберихе способствовало то, что под одним идентификатором разные производители хранили значения разных параметров. Поступало большое количество жалоб на то, что случаев реального обнаружения предсбойного состояния непозволительно мало (в этом вся прелесть человеческой природы: хочется все и сразу, раньше до внедрения SAMRT жаловаться на внезапную поломку дисков в голову никому не приходило).
Ситуация ухудшалась также тем, что часто не выполнялись минимальные требования для корректного функционирования SMART . Статистика указывает на то, что количество предсказываемых сбоев было не более 20%. Как видите технология первого поколения была очень далека от совершенства, однако уже тогда считалась революционным шагом вперед.
Про второй этап развития SMART, технологию SMART II, информации также не много. В ней наблюдались принципиально те же проблемы, что были и в первой. Усовершенствованием стала возможность осуществления фоновой проверки поверхности, которая выполнялась диском автоматически в случае простоя либо ведения журналов ошибок. Также расширился список параметров (опять зависящий от модели и компании-производителя). Согласно статистике, число предсказываемых сбоев во втором поколении достигло 50%.
Последний этап развития технологии – это SMART III. Остановимся на нем подробней, разберемся, как она работает в общих чертах, что и с какой целью в ней нужно.
Как Вы уже знаете, с помощью SMART проводится наблюдение за главными характеристиками HDD. Параметры эти называются атрибутами. Необходимые для мониторинга параметры определяются непосредственно производителем. Для каждого атрибута назначается величина - Value. Величина эта, как правило, изменяется в диапазоне от нуля до ста (хотя может находиться в диапазоне до двухсот либо до 255).
Эта цифра определяет надежность какого-либо атрибута относительно эталона, заданного производителем. Высокое значение свидетельствует об отсутствии изменений параметра либо же, в зависимости от особенностей параметра, об его медленном ухудшении. В свою очередь, низкое значение свидетельствует о быстрой деградации либо о предположительном скором сбое.
Таким образом, чем выше Value атрибута, тем лучше сохранился Ваш HDD. Некоторые программы мониторинга выводят также значение Raw либо Raw Value, т.е. значение атрибута согласно внутреннему формату (он так же различается у дисков различных моделей и различных производителей), в том виде, в котором он записан в накопителе. Этот показатель малоинформативен для рядового пользователя, намного большую значимость имеет полученное из него Value. Для всех атрибутов производители указывают минимальное возможное значение, т.е. значение, при котором гарантирована безотказная работа HDD, т.н. Threshold.
Если значение атрибута опускается ниже величины Threshold , весьма вероятен сбой либо полный отказ в работе накопителя. Остается добавить, что атрибуты разделяются на критически важные и некритические. Если критически важный параметр выходит за пределы, установленные Threshold, это означает фактический выход накопителя из строя, в то время как выход за переделы допустимого некритического параметра говорит лишь о наличии проблемы, однако диск может продолжать работать (с ухудшением некоторых характеристик, к примеру, производительности).
Наиболее часто наблюдаемой критически важной характеристикой является Raw Read Error Rate, т.е. частота ошибок чтения данных с HDD, обусловленных аппаратной частью носителя.
Не менее важными являются слекдующие параметры:
Spin Up Time – обозначает время, необходимое для раскрутки пакета дисков из состояния покоя до нормальной рабочей скорости. Рассчитывается нормализованное значение (Value) сравнением практического времени с некой эталонной величиной, устанавливаемой изготовителем. Не max, но не ухудшающееся значение, если для SpinUp Retry Count показатель Value максимален (т.е. Raw равняется 0), не свидетельствует ни о чем неприятном. Отличие эталона от реального времени может быть вызвано различными причинами, к примеру, слабым блоком питания.
SpinUp Retry Count – указывает на количество повторных попыток раскрутки HDD до его рабочей скорости, если первая попытка оказалась неудачной. Любое ненулевое значение Raw (т.е. не max Value) говорит о проблемах, существующих в механической части диска.
Seek Error Rate – обозначает частоту ошибок, возникающих при позиционировании блока головок. Завышенное значение Raw говорит о наличии проблем, к примеру, о повреждении серво-меток, чрезмерном термическом расширении дисков, механических проблемах в блоке позиционирования и т.д. Стабильно высокий показатель Value указывает на то, что все в порядке.
Reallocated Sector Count – обозначает количество операций переназначения секторов. Современные версии SMART позволяют производить анализ сектора на стабильное выполнение работы "на лету", по признании его сбойным, производя переназначение. Далее поговорим о переназначении подробнее.
Среди некритических, т.н. информационных атрибутов, необходимо выделить следующие:
- Start-Stop Count – хранящее полное число запусков-остановок шпинделя. Мотор диска способен гарантировано перенести лишь некоторое число включений-выключений. В Treshold указывается это значение. Старые модели дисков, чья скорость вращения составляла 7200 оборотов/мин, имели весьма не надежный двигатель, из-за чего переносили лишь незначительное число включений-выключений, быстро выходя из строя.
- Power On Hours – информирует о числе часов проведенных HDD во включенном состоянии. Пороговым значения здесь выбирается паспортное время MBTF - наработки на отказ. Учитывая, как правило, совершенно невероятные значения MBTF, рискнем предположить, что параметр вряд ли достигнет критического порога. Даже если такое произойдет, выход HDD из строя совсем не обязателен.
- DrivePower Cycle Count – указывает на число полных циклов включения-выключения накопителя. Этот и предыдущий атрибут позволяют оценить, к примеру, как часто диск использовался до покупки.
- Temperatue – здесь все просто и доступно. Атрибут хранит показания встроенного термо-датчика. t⁰ имеет большое влияние на срок работы диска, даже находясь в допустимых пределах.
- Current Pending Sector - хранить число секторов, которые являются своего рода кандидатами на замену. Эти сектора не определяются как плохие, однако считывание с них отличается от считывания со стабильного сектора. Эти сектора называют подозрительными либо нестабильными.
- Uncorrectable Sector Count – указывает на число ошибок, возникающих при обращении к сектору, и, при этом, не скорректированных. Причинами их возникновения могут являться как сбои механики, так и порча поверхности.
- UDMA Error CRC Rate – информирует нас о числе ошибок, которые возникают при трансфере данных по внешнему интерфейсу. Они могут быть спровоцированы некачественными кабелями, а также нештатными режимами работы.
- Write Error Rate – указывает на частоту ошибок, которые происходят при записи на HDD. Cлужит показателем качества поверхности, а также механики накопителя.
Все ошибки, а также любые изменения параметров записываются в журналы SMART. Эта возможность была реализована в SMART II. Параметры журналов, такие как назначение, размер, их число и т.д. определяются компанией-изготовителем HDD. Для нас принципиален лишь факт их наличия. Информация, которая хранится в журналах, используется затем для анализа состояния, а также составления прогнозов.
Не вдаваясь в подробности, можно констатировать, что работа SMART весьма проста – в процессе работы HDD отслеживаются все ошибки либо подозрительные явления, отражающиеся затем в соответствующих атрибутах. Более того, начиная со SMART II, у большинства накопителей появились возможности самодиагностики. Запуск SMART тестов осуществляется в 2-х режимах. В Off-line режиме тест выполняется практически в фоновом режиме, т.к. накопитель готов в любое время принять и выполнить команду. В монопольном режиме при поступлении команды завершается выполнение теста.
Существует 3 разновидности тестов самодиагностики: сокращенный тест (англ. Short Self-test), фоновый сбор данных (англ. Off-line collection) и расширенный тест (англ. Extended Self-test). Первый и последний способны выполняться в фоновом и в монопольном режимах. Тесты, входящие в них, не стандартизированы.
Продолжительность выполнения тестов может быть секунду, а может - минуту либо часы. Если вдруг Вы не обращаетесь к HDD, но он издает звуки аналогичные рабочей нагрузке, скорее всего диск занят самоанализом. Данные, собранные в результате этих тестов, найдут отражение в журналах и атрибутах.