Сучасні носії інформації для персональних комп’ютерів/ноутбуків вміють передбачати свій вихід з ладу.

Поєднання розшифровується як self-monitoring, analysis and reporting technology, що перекладається як механізм самоконтролю, аналізу та звітності. Його перші розробки побачили світ в 1995 році і з тих пір технологія постійно вдосконалюється.

З моменту виробництва дисковий накопичувач починає зчитувати свій поточний стан, визначаючи його за допомогою спеціальних параметрів або атрибутів. Вони розташовуються в службовій зоні накопичувача, доступ до якої має лише вбудована програма. Переглянути параметри дозволяє окреме ПО, найчастіше представлене утилітами від розробників конкретного жорсткого диска.

В процесі експлуатації накопичувача, так звані Атрибути постійно змінюються. Значення атрибутів проходять шлях з максимальних показників, які гарантують високу продуктивність і ефективність до мінімальних значень, пов’язаних з високою ймовірністю виходу накопичувача з ладу.

Кожен атрибут S.M.A.R.T. має кілька полів. Кожне поле відноситься до певного класу з наступних: ID, Value, Worst, Threshold і RAW. Розглянемо кожен з класів.

ID (може також іменуватися Number) – ідентифікатор, номер атрибуту в технології S.M.A.R.T. Назва одного і того ж атрибута програмами може видаватися по-різному, а ось ідентифікатор завжди однозначно визначає атрибут. Особливо це корисно тоді, коли  загальноприйнята назва атрибута перекладена з англійської мови. Іноді виходить така нісенітниця, що зрозуміти, що ж це за параметр, можна тільки за його ідентифікатором.

Value (Current) – поточне значення атрибута в папугах (тобто в величинах невідомої розмірності). В процесі роботи вінчестера воно може зменшуватися, збільшуватися і залишатися незмінним. За показником Value неиможна судити про «здоров’я» атрибута,  не порівнюючи його зі значенням Threshold цього ж атрибута. Як правило, чим менше Value, тим гірше стан атрибута (спочатку всі  значеня, крім RAW, на новому диску мають максимальне з можливих значень, наприклад 100).

Worst – найгірше значення, якого досягало значення Value за все життя вінчестера. Вимірюється теж в «папугах». В процесі роботи воно може зменшуватися або залишатися незмінним. По ньому теж не можна однозначно судити про здоров’я атрибута, потрібно порівнювати його з Threshold.

Threshold – значення в «папугах», якого повинен досягти Value цього ж атрибута, щоб стан атрибута було визнано критичним. Простіше кажучи, Threshold – це поріг: якщо Value більше Threshold – атрибут в порядку; якщо менше або дорівнює – з атрибутом проблеми.

Саме за таким критерієм утиліти, які читають S.M.A.R.T., видають звіт про стан диска або окремого атрибута на кшталт «Good» або «Bad». При цьому вони не враховують, що навіть при Value, більшому Threshold, диск насправді вже може бути вмираючим з точки зору користувача, а то і зовсім трупом, тому при оцінці здоров’я диска дивитися варто все-таки на інший клас атрибута, а саме – RAW. Якщо саме значення Value, опустилося нижче Threshold, може стати приводом для заміни диска по гарантії – хто ж ясніше скаже про здоров’я диска, як не він сам, демонструючи поточне значення атрибута гірше критичного порогу?

Тобто при значенні Value, більшому Threshold, сам диск вважає, що атрибут здоровий, а при меншому або рівному – що хворий. Очевидно, що при Threshold = 0 стан атрибута не буде визнано критичним ніколи. Threshold – постійний параметр, зашитий виробником.

RAW (Data) – найцікавіший, важливий і потрібний для оцінки показник. У більшості випадків він містить в собі не «папуги», а реальні значення, що виражаються в різних одиницях виміру, безпосередньо говорять про поточний стан диска. Грунтуючись саме на цьому показнику, формується значення Value (а ось за яким алгоритмом воно формується – це вже таємниця виробника). Саме вміння читати і аналізувати поле RAW дає можливість об’єктивно оцінити стан вінчестера.

На картинці вище, показано атрибути диска, з якого відновлювалася інформація. Цей диск був “розстріляний” дрекспертами з допомогою такої нечисті як вікторія, гдд регенератор і т.д.

Перед тим як описувати атрибути і допустимі значення їх поля RAW, слід звернути увагу, що атрибути можуть мати поле RAW із значенням різного типу: поточним і накопичуючим. Поточне поле містить значення атрибута зараз, для нього властиво періодична зміна (для одних атрибутів – зрідка, для інших – багато разів за секунду; інша справа, що в програмах читання S.M.A.R.T. така швидка зміна не відображається). Накопичуюче поле – містить статистику, зазвичай в ньому міститься кількість  подій з часу першого запуску диска.

Поточний тип характерний для атрибутів, для яких немає сенсу підсумовувати їх попередні значення. Наприклад, показник температури диска є поточним: його мета – в демонстрації температури в даний момент, а не суми всіх попередніх температур. Накопичуючий тип властивий атрибутам, для яких весь їхній зміст полягає в наданні інформації за весь період «життя» вінчестера. Наприклад, атрибут, що характеризує час роботи диска, є накопичуючим. Містить кількість одиниць часу, відпрацьованих накопичувачем за всю його історію.

Приступимо до розгляду атрибутів і їх RAW-полів.

Атрибут: 01 Raw Read Error Rate – містить частоту виникнення помилок при читанні з пластин

Атрибут: 02 Throughput Performance – містить значення середньої продуктивності диска і вимірюється в «папугах». Зазвичай його нульове присутнє  на вінчестерах Hitachi. На них він може змінюватися після зміни параметрів акустичного менежменту ААМ, а може і сам по собі по невідомому алгоритму

Атрибут: 03 Spin-Up Time – містить час, за який шпиндель диска в останній раз розігнався зі стану спокою до номінальної швидкості. Може містити два значення – останнє і, наприклад, мінімальний час розкрутки. Може вимірюватися в мілісекундах, десятках мілісекунд і т. д. – це залежить від виробника і моделі диска

Атрибут: 04 Number of Spin-Up Times (Start / Stop Count) – містить лічильник кількості включення диска. Буває ненульовим на тільки що купленому диску, який лежав в запаяній упаковці, що може говорити про тестування диска на заводі.

Атрибут: 05 Reallocated Sector Count – містить кількість секторів, переназначених вінчестером в резервну область. Практично ключовий параметр в оцінці стану диска

Пояснимо, що взагалі таке «переназначений сектор». Коли диск в процесі роботи натикається на нечитабельний / погано читабельний сектор, він може порахувати його непоправно пошкодженим. Спеціально для таких випадків виробник передбачає на кожному диску резервну область. При наявності пошкодженого сектора диск позначає його як поганий і використовує замість нього сектор з резервної області, зробивши відповідні позначки в спеціальному списку дефектів поверхні – G-list. Така операція за призначенням нового сектора на роль старого називається remap (ремап) або переназначення, а використовуваний новий сектор – перепризначеним. Новий сектор отримує логічний номер LBA старого, і тепер при зверненні ПО до сектору з цим номером (програми ж не знають ні про які перепризначення!) Запит перенаправлятиметься в резервну область

Атрибут: 07 Seek Error Rate – містить частоту виникнення помилок при позиціонуванні блоку магнітних головок (БМГ)

Атрибут: 09 Power On Hours Count (Power-on Time) – містить кількість годин, протягом яких вінчестер був включений

Атрибут: 10 (0А – в шістнадцятковій системі числення) Spin Retry Count – містить кількість повторів запуску шпинделя, якщо перша спроба виявилася невдалою

Атрибут: 11 (0B) Calibration Retry Count (Recalibration Retries) – містить кількість повторних спроб скидання накопичувача (установки БМГ на нульову доріжку) при невдалій першій спробі

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

Атрибут: 12 (0C) Power Cycle Count– містить кількість повних циклів «включення-відключення» диска

Атрибут: 183 (B7) SATA Downshift Error Count – містить кількість невдалих спроб зниження режиму SATA. Суть в тому, що вінчестер, який працює в режимах SATA 3 Гбіт/с або 6 Гбіт/с , з якоїсь причини (наприклад, через помилки) може спробувати «домовитися» з дисковим контролером про менш швидкісний режим (наприклад, SATA 1,5 Гбіт/с або 3 Гбіт/с відповідно). У разі «відмови» контролера змінювати режим, диск збільшує значення атрибута

Атрибут: 184 (B8) End-to-End Error – містить кількість помилок, що виникли при передачі даних через кеш вінчестера

Не нульове значення вказує на проблеми з диском.

Атрибут: 187 (BB) Reported Uncorrected Sector Count (UNC Error) – містить кількість секторів, які були визнані кандидатами на перепризначення (див. Атрибут 197) за всю історію життя диска. Причому якщо сектор стає кандидатом повторно, значення атрибута теж збільшується

Ненульове значення атрибута явно вказує на ненормальний стан диска (в поєднанні з ненульовим значенням атрибута 197) або на те, що воно було таким раніше (в поєднанні з нульовим значенням 197).

Атрибут: 188 (BC) Command Timeout – містить кількість операцій, виконання яких було скасовано через перевищення максимально допустимого часу очікування відповіді

Такі помилки можуть виникати через погану якість кабелів, контактів, які використовуються, перехідників, подовжувачів і т. д., А також із-за несумісності диска з конкретним контролером SATA / РАТА на материнській платі (або дискретним). Через помилки такого роду можливі BSOD в Windows.

Ненульове значення атрибута говорить про потенційну «хворобу» диска.

Атрибут: 189 (BD) High Fly Writes – містить кількість зафіксованих випадків операцій запису при висоті польоту головки вище розрахованої – швидше за все, через зовнішні впливи, наприклад вібрації.

Для того щоб сказати, чому відбуваються такі випадки, потрібно вміти аналізувати логи S.M.A.R.T., які містять специфічну для кожного виробника інформацію.

Атрибут: 191 (BF) G-Sensor Shock Count (Mechanical Shock) – містить кількість критичних прискорень, зафіксованих електронікою диска, яких зазнав накопичувач і які перевищували допустимі норми. Зазвичай це відбувається при ударах, падіннях і т. д.

Актуальний для мобільних вінчестерів. На дисках Samsung дуже чутливий датчик, призводить до залишення БМГ на поверхні пластин при ударі. Взагалі спрацьовування датчика не є ознакою удару. Може рости навіть від позиціонування БМГ самим диском, особливо якщо його не закріпити. Основне призначення датчика – припинити операцію запису при вібраціях, щоб уникнути помилок.

Атрибут: 192 (С0) Power Off Retract Count (Emergency Retry Count) – для різних вінчестерів може містити одну з наступних двох характеристик: або сумарна кількість парковок БМГ диска в аварійних ситуаціях (по сигналу від вібродатчика, обриву / зниження живлення і т. д.), Або сумарна кількість циклів включення / виключення живлення диска (характерно для сучасних WD і Hitachi)

Атрибут: 193 (С1) Load / Unload Cycle Count – містить кількість повних циклів парковки / разпарковки БМГ. Аналіз цього атрибута – один із способів визначити, чи включена на диску функція автоматичного паркування (така улюблена, наприклад, компанією Western Digital): якщо його вміст перевищує (зазвичай – багаторазово) вміст атрибута 09 – лічильник відпрацьованих годин, – то парковка включена

Атрибут: 194 (С2) Temperature (HDA Temperature, HDD Temperature) – містить поточну температуру диска. Температура зчитується з датчика, який на різних моделях може розташовуватися в різних місцях. Поле може містити максимальну і мінімальну температури, зафіксовані за весь час експлуатації вінчестера

Атрибут: 195 (С3) Hardware ECC Recovered – містить кількість помилок, які були скориговані апаратними засобами ECC диска

Особливості, властиві цьому атрибуту на різних дисках, повністю відповідають таким атрибутам як  01 і 07.

Атрибут: 196 (С4) Reallocated Event Count – містить кількість операцій переназначення секторів

Побічно говорить про здоров’я диска. Чим більше значення – тим гірше. Однак не можна однозначно судити про здоров’я диска за цим параметром, не розглядаючи інші атрибути.

Цей атрибут безпосередньо пов’язаний з атрибутом 05. При зростанні 196 найчастіше росте і 05. Якщо при зростанні атрибута 196 атрибут 05 не росте, значить, при спробі ремапа кандидат в бед-блоки виявився софт-бедом (подробиці див. Нижче), і диск виправив його, так що сектор був визнаний здоровим, і в перепризначення не було необхідності.

Якщо атрибут 196 менше атрибута 05, значить, під час деяких операцій перепризначення Ви переносили декількох пошкоджених секторів за один прийом.

Якщо атрибут 196 більше атрибута 05, значить, при деяких операціях перепризначення були виявлені виправлені згодом софт-беди.

Атрибут: 197 (С5) Current Pending Sector Count – містить кількість секторів-кандидатів на переназначення в резервну область

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

При спробі запису в сектор диск спочатку перевіряє, чи не перебуває цей сектор в списку кандидатів. Якщо сектор там не знайдено, запис проходить звичайним чином. Якщо ж знайдений, проводиться тестування цього сектора записом-читанням. Якщо всі тестові операції проходять нормально, то диск вважає, що сектор справний. (Був так званий «Софт-бед» – помилковий сектор виник не з вини диска, а з інших причин: наприклад, в момент запису інформації відключилася електрика, і диск перервав запис. В результаті дані в секторі виявляться недописаними, а контрольна сума сектора, що залежить від даних в ньому, взагалі залишиться старою.) у такому випадку диск проводить запис і видаляє сектор зі списку кандидатів. При цьому атрибут 197 зменшується, також можливе збільшення атрибута 196.

Якщо ж тестування закінчується невдачею, диск виконує операцію переназначення, зменшуючи атрибут 197, збільшуючи 196 і 05, а також робить помітки в G-list.

Отже, не нульове значення параметра говорить про неполадки (правда, не може сказати про те, чи в самому диску проблема).

Атрибут: 198 (С6) Offline Uncorrectable Sector Count (Uncorrectable Sector Count) – означає те ж саме, що і атрибут 197, але відмінність у тому, що даний атрибут містить кількість секторів-кандидатів, виявлених при одному з видів самотестування диска – оффлайн-тестуванні, яке диск запускає  відповідно до параметрів, заданими прошивкою

Параметр цей змінюється тільки під впливом оффлайн-тестування, ніякі сканування програмами на нього не впливають. При операціях під час самотестування поведінку атрибута таке ж, як і атрибута 197.

Не нульове значення говорить про неполадки на диску (точно так само, як і 197, не конкретизуючи, хто винен).

Атрибут: 199 (С7) UltraDMA CRC Error Count – містить кількість помилок, що виникли при передачі по інтерфейсному кабелю в режимі UltraDMA (або його емуляції вінчестерами SATA) від материнської плати або дискретного контролера до контролера диска

У переважній більшості випадків причинами помилок стають неякісний шлейф передачі даних, розгін шин PCI / PCI-E комп’ютера або поганий контакт в SATA-роз’ємі на диску або на материнській платі / контролері.

Помилки при передачі по інтерфейсу і, як наслідок, зростає значення атрибута можуть призводити до перемикання операційною системою режиму роботи каналу, на якому знаходиться накопичувач, в режим PIO, що тягне різке падіння швидкості читання / запису при роботі з ним і завантаження процесора до 100% (видно в диспетчері завдань Windows).

Атрибут: 200 (С8) Write Error Rate (MultiZone Error Rate) – містить частоту виникнення помилок при запису

Ненульове значення говорить про проблеми з диском – зокрема, у дисків WD великі цифри можуть означати «вмираючі» голови читання/запису.

Атрибут: 201 (С9) Soft Read Error Rate – містить частоту виникнення помилок читання, що відбулися з вини програмного забезпечення

Як дізнатись, що диск закінчує своє життя

Сучасні комп’ютери обладнанні BIOS, що може контролювати параметри SMART при старті. Достатньо активувати дану можливість в налаштуваннях BIOS. Альтернативним варіантом є використання утиліт моніторингу в операційній системі.

Наприклад виробник обладнання для відновлення інформації ACELab надає таку утиліту безкоштовно. Її можна завантажити за посиланням SMARTVISION