S.M.A.R.T. ( — Технологія Самоконтролю, Аналізу й Звітування) — промисловий стандарт прогнозу надійності для IDE/ATA і SCSI дисководів твердих дисків () та твердотілих накопичувачів (). Дисководи твердих дисків з функцією S.M.A.R.T. дозволяють заздалегідь попередити про можливу швидку відмову твердого диску, завдяки чому важливі дані можуть бути збережені.

Історія Перший твердий диск із самодіагностикою був представлений у 1992 фірмою «IBM» у дискових масивах IBM 9337 для серверів AS/400, що використовували SCSI-2 диски IBM 0662. Технологія була названа Predictive Failure Analysis (PFA). Вимірювалися кілька ключових параметрів і оцінка їх велася безпосередньо у вбудованій програмі диска. Результат був обмежений одним бітом: або добре, або значення тестованого параметра сумнівне і може скоро призвести до виходу диску з ладу.

Пізніше компаніями «Compaq», «Seagate», «» та «» була розроблена інша технологія, названа IntelliSafe. У ній загальним був протокол видачі інформації про стан твердого диска, але вимірювані параметри та їхні пороги кожна компанія визначала самостійно.

На початку 1995 «Compaq» запропонувала провести стандартизацію, що було підтримана «IBM», «Seagate», «Quantum», «Conner» та «Western Digital» (остання на той момент ще не мала системи стеження за параметрами твердого диска). За основу була взята технологія IntelliSafe. Спільно розроблений стандарт назвали S.M.A.R.T.

SMART I передбачав моніторинг основних параметрів і запускався тільки після команди по інтерфейсу.

До розробки SMART II долучилася Hitachi, запропонувавши методику повної самодіагностики накопичувача (extended self-test), так само з'явилася функція журналювання помилок.

У SMART III з'явилася функція виявлення дефектів поверхні і можливість їхнього відновлення «прозоро» для користувача.

Опис SMART проводить спостереження за основними характеристиками накопичувача, кожна з яких отримує оцінку. Характеристики можна розділити на дві групи: параметри, що відображають процес природного старіння твердого диска (число обертів шпинделя, число переміщень головок, кількість циклів увімкнення-вимкнення); поточні параметри накопичувача (висота головок над поверхнею диска, число секторів, що перепризначувалися, час пошуку доріжки і кількість помилок пошуку).

Дані зберігаються в шістнадцятковому вигляді, званому «Raw value», а потім перераховуються в «value», значення, що символізує надійність щодо деякого еталонного значення. Зазвичай «value» має значення в діапазоні від 0 до 100 (деякі атрибути мають значення від 0 до 200 і від 0 до 253).

Висока оцінка говорить про відсутність змін контрольованого параметра або повільне його погіршення, низька — про можливий швидкий збій.

Значення, менше за мінімальне значення, при якому виробником гарантується безвідмовна робота накопичувача, означає вихід вузла з ладу.

Технологія SMART дозволяє здійснювати: моніторинг параметрів стану; сканування поверхні; сканування поверхні з автоматичною заміною сумнівних секторів надійними.

Технологія SMART дозволяє передбачати вихід пристрою з ладу в результаті механічних несправностей, що становить близько 60% від загальної кількості всіх причин виходу вінчестерів із ладу. Передбачити наслідки стрибка напруги або пошкодження накопичувача в результаті удару SMART нездатний.

Атрибути SMART

Таблиця відомих атрибутів SMART має такий вигляд: + ЛегендаБільше значення параметра — кращеМенше значення параметра — кращеКритичний параметр — червоний фон рядкаІндикатор можливої швидкої відмови пристрою

№HexІм'я атрибутаКраще якщо…Опис0101Raw Read Error RateЧастота помилок при читанні даних з диска, походження яких обумовлено апаратною частиною диска. Для всіх дисків Seagate, Samsung (сімейства F1 і новіших) і Fujitsu 2,5 це — число внутрішніх корекцій даних, проведених до видачі в інтерфейс, отже на «страшенно» величезні цифри можна реагувати спокійно.0202Throughput PerformanceЗагальна продуктивність диска. Якщо значення атрибута зменшується, то велика ймовірність, що з диском є проблеми.0303Spin-Up TimeЧас розгону пакету дисків зі стану спокою до робочої швидкості. Зростає при зносі механіки (підвищене тертя в підшипнику, тощо.), також може свідчити про неякісне живлення (наприклад, осіданні напруги при старті диска).0404Start/Stop CountПовне число циклів запуск-зупинка шпинделя. У дисків деяких виробників (наприклад, Seagate) — лічильник включення режиму енергозбереження. У полі raw value зберігається загальна кількість запусків-зупинок диска.0505Reallocated Sectors CountЧисло операцій перепризначення секторів. Коли диск виявляє помилку читання/запису, він позначає сектор «перепризначеним» та переносить дані в спеціально відведену резервну область. Ось чому на сучасних твердих дисках не можна побачити bad-блоки — всі вони заховані в перепризначених секторах. Цей процес називають remapping, а перепризначений сектор — remap. Чим більше значення, тим гірше стан поверхні дисків. Поле raw value містить загальну кількість перепризначених секторів. Зростання значення цього атрибута може свідчити про погіршення стану поверхні диска.0606Read Channel MarginЗапас каналу читання. Призначення цього ознаки не документовано. У сучасних накопичувачах не використовується.0707Seek Error RateЧастота помилок при позиціонуванні блоку магнітних головок. Чим їх більше, тим гірше стан механіки і/або поверхні твердого диска. Також на значення параметра може вплинути перегрів та зовнішні вібрації (наприклад, від сусідніх дисків у кошику).0808Seek Time PerformanceСередня продуктивність операції позиціонування магнітних головок. Якщо значення атрибута зменшується (уповільнення позиціонування), то велика ймовірність проблем із механічною частиною приводу головок.0909Power-On Hours (POH) Число годин (хвилин, секунд — у залежності від виробника), проведених у включеному стані. Як порогове значення для нього вибирається паспортний час напрацювання на відмову (MTBF — mean time between failure).100ASpin-Up Retry CountЧисло повторних спроб розкручування дисків до робочої швидкості тоді, коли перша спроба була невдалою. Якщо значення атрибута збільшується, то велика ймовірність неполадок із механічною частиною.110BRecalibration RetriesКількість повторів запитів рекалібровки у разі, якщо перша спроба була невдалою. Якщо значення атрибута збільшується, то велика ймовірність проблем із механічною частиною.120CDevice Power Cycle CountКількість повних циклів ввімкнення-вимкнення диска.130DSoft Read Error RateЧисло помилок при читанні з вини програмного забезпечення, які не піддалися виправленню. Всі помилки мають не механічну природу та вказують лише на неправильну розмітку/взаємодію з диском програм або операційної системи.184B8End-to-End errorЦей атрибут — частина технології HP SMART IV, це означає, що після передачі через кеш пам'яті буфера даних паритет даних між хостом та твердим диском не збігаються. S.M.A.R.T. attribute list (ATA) and S.M.A.R.T. attribute list (SCSI)187BBReported UNC ErrorsПомилки, які не могли бути відновлені внутрішніми апаратними засобами.188BCCommand TimeoutКількість перерваних операцій у зв'язку з HDD тайм-аут. Зазвичай, це значення атрибуту має дорівнювати нулю, і, якщо значення набагато вище нуля, то, мабуть, там будуть якісь серйозні проблеми з живленням або можливе окислення кабелю передачі даних.190BEAirflow Temperature (WDC) Температура повітря всередині корпусу твердого диска. Для дисків Seagate розраховується за формулою (100 - HDA temperature). Для дисків Western Digital — (125 - HDA).191BFG-sense error rateКількість помилок, що виникають внаслідок ударних навантажень. Атрибут зберігає свідчення вбудованого акселерометра, який фіксує всі удари, поштовхи, падіння та навіть неакуратну установку диска в корпус комп'ютера.192C0Power-off retract countЧисло циклів вимкнень або аварійних відмов (ввімкнення/вимкнення живлення накопичувача).193C1Load/Unload CycleКількість циклів переміщення блоку магнітних головок у паркувальну зону / в робоче положення.194C2HDA temperatureТут зберігаються покази вбудованого термодатчика для механічної частини диска — банки (HDA — Hard Disk Assembly). Інформація знімається зі вбудованого термодатчика, яким служить одна з магнітних головок, зазвичай нижня в банці. У бітових полях атрибуту фіксуються поточна, мінімальна та максимальна температура. Не всі програми, що працюють зі SMART, правильно розбирають ці поля, так що до їх показів варто ставитися критично.195C3Hardware ECC RecoveredЧисло корекції помилок апаратною частиною диска (читання, позиціонування, передача через зовнішній інтерфейс). На дисках із SATA-інтерфейсом значення нерідко погіршується при підвищенні частоти системної шини — SATA дуже чутливий до розгону.196C4Reallocation Event CountЧисло операцій перепризначення. У полі «raw value» атрибута зберігається загальне число спроб перенесення інформації з перепризначених секторів у резервну область. Враховуються як успішні, так і невдалі спроби.197C5Current Pending Sector CountЧисло секторів, що є кандидатами на заміну. Вони не були ще визначені як погані, але зчитування з них відрізняється від читання стабільного сектора (це так звані підозрілі або нестабільні сектори). У разі успішного подальшого читання сектора він виключається з числа кандидатів. У разі повторних помилкових читань накопичувач намагається відновити його і виконує операцію перепризначення (remaping). Зростання значення цього атрибута може свідчити про фізичну деградацію твердого диска.198C6Uncorrectable Sector CountЧисло секторів, які не можуть бути скорегованими засобами диска. У разі збільшення числа помилок велика ймовірність критичних дефектів поверхні та/або механіки накопичувача.199C7UltraDMA CRC Error CountЧисло помилок, що виникають при передачі даних через зовнішній інтерфейс у режимі UltraDMA (порушення цілісності пакетів, тощо.). Зростання цього атрибута свідчить про погані (м'яті, перекручені) кабелі та погані контакти. Також подібні помилки з'являються при розгоні шини PCI, збоях живлення, сильних електромагнітних наведеннях, а іноді — і з вини драйвера. Можливо, причина в неякісному шлейфі. Для виправлення спробуйте інший шлейф або замініть на SATA шлейф без клямок, що має щільне з'єднання з контактами диска.200C8Write Error Rate/ Multi-Zone Error RateПоказує загальну кількість помилок, що з'являються при запису сектора. Показує загальну кількість помилок запису на диск. Може служити показником якості поверхні та механіки накопичувача.201C9Soft read error rateЧастота появи «програмних» помилок при читанні даних з диска.