S. M. A. R. T. (від англ. self-monitoring, analysis and reporting technology — технологія самоконтролю, аналізу та звітності) — технологія оцінки стану жорсткого диска вбудованою апаратурою самодіагностики, а також механізм передбачення часу виходу його з ладу.

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

ID (Number) — власне, сам індикатор атрибута. Номери стандартні для значень атрибутів, але наприклад,через кривизни перекладу один і той же атрибут може називатися по-різному, простіше орентироваться по ID, логічно?

Value (Current) — поточне значення атрибута в умовних одиницях, напевно нікому невідомих . У процесі роботи вінчестера воно може зменшуватися, збільшуватися і залишатися незмінним. За показником Value не можна судити про «здоров’я» атрибуту, не порівнюючи його зі значенням Threshold цього атрибута. Як правило, чим менше Значення, тим гірше стан атрибута (спочатку всі класи значень, крім 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 дає можливість об’єктивно оцінити стан вінчестера.

Тепер перейдемо безпосередньо до самих атрибутів.

01 (01) Raw Read Error Rate — Частота помилок при читанні даних з диска, походження яких обумовлене апаратною частиною диска. Для всіх дисків Seagate, Samsung (сімейства F1 та більш нові) і Fujitsu 2,5″ це число внутрішніх корекцій даних, проведених до видачі в інтерфейс, отже, на лякаюче величезні цифри можна реагувати спокійно.

02 (02) Throughput Performance — Загальна продуктивність диска. Якщо значення атрибута зменшується, то велика ймовірність, що з диском є проблеми.

03 (03) Spin-Up Time — Час розкрутки пакета дисків із стану спокою до робочої швидкості. Росте при зносі механіки (підвищене тертя в підшипнику тощо), також може свідчити про неякісне харчування (наприклад, зниження напруги при старті диска).

04 (04) Start/Stop Count — Повне число циклів запуск-зупинка шпинделя. У дисків деяких виробників (наприклад, Seagate) — лічильник включення режиму енергозбереження. У полі raw value зберігається загальна кількість запусків/зупинок диска.

05 (05) Reallocated Sectors Count — Кількість операцій перепризначення секторів. Коли диск виявляє помилки читання/запису, він позначає сектор «переназначенным» і переносить дані в спеціально відведену резервну область. Ось чому на сучасних жорстких дисках можна побачити bad-блоки — всі вони заховані в перепризначених секторах. Цей процес називають remapping, а перепризначений сектор — remap. Чим більше значення, тим гірше стан поверхні дисків. Поле raw value містить загальну кількість перепризначених секторів. Зростання значення цього атрибута може свідчити про погіршення стану поверхні млинців диска.

06 (06) Read Channel Margin — Запас каналу читання. Призначення цього атрибуту не документовано. У сучасних накопичувачах не використовується.

07 (07) Seek Error Rate — Частота помилок при позиціонуванні блоку магнітних головок. Чим їх більше, тим гірший стан механіки і/або поверхні жорсткого диска. Також на значення параметра може спричинити перегрів і зовнішні вібрації (наприклад, від сусідніх дисків в кошику).

08 (08) Seek Time Performance — Середня продуктивність операції позиціонування магнітними голівками. Якщо значення атрибута зменшується (уповільнення позиціонування), то велика ймовірність проблем з механічною частиною приводу головок.

09 (09) Power-On Hours (POH) — Кількість годин (хвилин, секунд — в залежності від виробника), проведених у включеному стані. В якості порогового значення для нього вибирається паспортне час напрацювання на відмову (MTBF — mean time between failure).

10 (0А) Spin-Up Retry Count — Кількість повторних спроб розкрутки дисків до робочої швидкості в разі, якщо перша спроба була невдалою. Якщо значення атрибута збільшується, то велика ймовірність неполадок з механічною частиною.

11 (0В) Recalibration Retries — Кількість повторів запитів рекалибровки у разі, якщо перша спроба була невдалою. Якщо значення атрибута збільшується, то велика ймовірність проблем з механічною частиною.

12 (0С) Device Power Cycle Count — Кількість повних циклів включення-виключення диска.

13 (0D) Soft Read Error Rate — Кількість помилок при читанні, з вини програмного забезпечення, які не піддалися виправлення. Всі помилки мають не механічну природу і вказують лише на неправильну розмітку/взаємодія з диском програм чи операційної системи.

180 (B4) Unused Reserved Block Count Total — кількість резервних секторів, доступних для ремапа.

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

184 (B8) End-to-End error — Даний атрибут — частина технології HP SMART IV, це означає, що після передачі через кеш пам’яті буфера даних паритет даних між хостом і жорстким диском не збігаються.

185 (B9) Head Stability Стабільність головок (Western Digital).

187 (BB) Reported UNC Errors — Помилки, які не могли бути відновлені, використовуючи методи усунення помилки апаратними засобами.

188 (BC) Command Timeout — містить кількість операцій, виконання яких було скасовано з–за перевищення максимально допустимого часу очікування відгуку.Такі помилки можуть виникати з-за поганої якості кабелів, контактів, використовуваних перехідників, подовжувачів і т. д., несумісності диска з конкретним контролером SATA/РАТА на материнській платі і т. д. З-за помилок такого роду можливі BSOD Windows.

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

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

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

190 (BE) Airflow Temperature (WDC) — Температура повітря всередині корпуса жорсткого диска. Для дисків Seagate розраховується за формулою (100 — HDA temperature). Для дисків Western Digital — (125 — HDA).

191 (BF) G-sense error rate — Кількість помилок, що виникають в результаті ударних навантажень. Атрибут зберігає свідчення вбудованого акселерометра, який фіксує всі удари, поштовхи, падіння і навіть неаккуратную встановлення диска в корпус комп’ютера.

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

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

192 (C0) Power-off retract count (Emergency Retry Count) — для різних вінчестерів може містити одну з двох наведених нижче характеристик: або сумарна кількість парковок БМГ диска в аварійних ситуаціях (за сигналом від вибродатчика, обриву/зниження харчування тощо), або сумарна кількість циклів включення/вимикання живлення диска (характерно для сучасних WD і Hitachi).

193 (C1) Load/Unload Cycle — Кількість циклів переміщення блоку магнітних головок в паркувальну зону / в робоче положення.

194 (C2) HDA temperature — Тут зберігаються показання вбудованого термодатчика для механічної частини диска — банки (HDA — Hard Disk Assembly). Інформація знімається з вбудованого термодатчика, яким служить одна з магнітних головок, зазвичай нижня в банку. В бітових полях атрибута фіксуються поточна, мінімальна і максимальна температура. Не всі програми, що працюють зі SMART, правильно розбирають ці поля, так що до їх показаннями варто ставитися критично.

195 (C3) Hardware ECC Відновлені — Число корекції помилок апаратною частиною диска (читання, позиціонування, передача по зовнішньому інтерфейсу). На дисках з SATA-інтерфейсом значення нерідко погіршується при підвищенні частоти системної шини — SATA дуже чутливий до розгону.

196 (C4) Reallocation Event Count — містить кількість операцій перепризначення секторів.

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

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

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

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

Враховуються як успішні, так і неуспішні спроби операцій перепризначення секторів.

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

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

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

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

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

При ненульовому значенні потрібно обов’язково запустити в програмах Victoria або MHDD послідовне читання всій поверхні з опцією remap. Тоді при скануванні диск обов’язково наткнеться на поганий сектор і спробує зробити запис у нього (у разі Victoria 3.5 і опції Advanced remap диск буде намагатися записати сектор до 10 разів). Таким чином, програма спровокує «лікування» сектора, і в підсумку сектор або буде виправлено, або перепризначений.

У випадку невдач як remap, так і Advanced remap, варто спробувати запустити послідовну запис в тих же Victoria або MHDD. Враховуйте, що операція запису стирає дані, тому перед її застосуванням обов’язково робіть бекап!

Іноді від невиконання ремапа можуть допомогти наступні маніпуляції: зніміть плату електроніки диска і почистіть контакти гермоблока вінчестера, що з’єднують його з платою, – вони можуть бути окислені. БУДЬТЕ ОБЕРЕЖНІ ПРИ ВИКОНАННІ ЦІЄЇ ПРОЦЕДУРИ – З–ЗА НЕЇ МОЖНА ПОЗБУТИСЯ ГАРАНТІЇ!

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

Якщо значення атрибута 197 ніякими маніпуляціями не знижується до 0, це може свідчити про фізичної деградації жорсткого диска і має сенс подумати про його заміну.

198 (C6) Uncorrectable Sector Count — Кількість невиправних помилок при зверненні до сектору. (можливо, малося на увазі «число некорректируемых (засобами диска) секторів», але ніяк не самих помилок!) У разі збільшення числа помилок велика ймовірність критичних дефектів поверхні і/або механіки накопичувача.

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

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

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

У разі вінчестерів Hitachi серій Deskstar 7К3000 і 5К3000 зростаючий атрибут може говорити про несумісність диска SATA-контролера. Щоб виправити ситуацію, потрібно примусово переключити такий диск у більш повільний режим, наприклад SATA3 переключити в SATA2 відповідними джамперами на ньому.

200 (C8) Write Error Rate / Multi-Zone Error Rate — Показує загальну кількість помилок, що відбуваються при запису сектора, а так само загальне число помилок запису на диск. Може служити показником якості поверхні і механіки накопичувача.

201 (C9) Soft read error rate — Частота появи «програмних» помилок при читанні даних з диска. Цей параметр показує частоту появи помилок при операціях читання з поверхні диска з вини програмного забезпечення, а не апаратної частини накопичувача.

202 (CA) Data Address Mark errors — Number of Data Address Mark (DAM) errors (or) vendor-specific.

203 (CB) Run out cancel — Кількість помилок ECC (Error Correcting Code — код, що коригує помилки).

204 (CC) Soft ECC correction — Кількість помилок ECC, скоригованих програмним способом.

205 (CD) Thermal asperity rate (TAR) — Кількість помилок із-за підвищеної температури.

206 (CE) Flying height — Висота між головкою й поверхнею диска.

207 (CF) Spin high current — Величина сили струму при розкручуванні диска.

208 (D0) Spin buzz — — Кількість спроб на розкручування шпинделя з-з недостатньої потужності живильника.

209 (D1) Offline seek performance — Продуктивність пошуку під час офлайнових операцій

(Drive’s seek performance during offline operations.)

210(D2) Vibration During Write — вібрація під час запису. (Maxtor 6B200M0 200GB і Maxtor 2R015H1 15GB)

211(D3) Vibration During Write — вібрація під час запису.

212(D4) Shock During Write — удари під час запису.

220 (DC) Disk Shift — Дистанція зміщення блоку дисків відносно шпинделя. В основному виникає через удару або падіння. Одиниця виміру невідома. При збільшенні атрибута диск швидко стає непрацездатним.

221 (DD) G-Sense Error Rate — Число помилок, що виникли із-за зовнішніх навантажень і ударів. Атрибут зберігає свідчення вбудованого датчика удару.

222 (DE) Loaded Hours — Час, проведений блоком магнітних головок між вивантаженням з паркувального області в робочу область диска і завантаженням блоку назад в паркувальну область.

223 (DF) Load/Unload Retry Count — Кількість нових спроб выгрузок/завантажень блоку магнітних головок в/паркувального області після невдалої спроби.

224 (E0) Load Friction — Величина сили тертя блоку магнітних головок при його розвантаженні паркувального області.

225 (E1) Load Cycle Count — Кількість циклів переміщення блоку магнітних головок в паркувальну область.

226 (E2) Load ‘In’-time — Час, за який привід вивантажує магнітні головки з паркувального області на робочу поверхню диска.

227 (E3) Torque Amplification Count — Кількість спроб компенсувати обертаючий момент.

228 (E4) Power-Off Retract Cycle — Кількість повторів автоматичного паркування блоку магнітних головок в результаті вимкнення живлення.

230 (E6) GMR Head Amplitude — Амплітуда «тремтіння» (відстань повторюваного переміщення блоку магнітних головок).

231 (E7) Temperature — Температура жорсткого диска. Для SSD диска цей параметр називається SSD Life Left (залишок життя SSD) — приблизна кількість залишилися циклів перезапису SSD.

232(E8) SSD Endurance Remaining — Кількість завершених фізичних циклів стирання на диску у відсотках від максимально можливого

232(E8) Intel SSD Available Reserved Space — доступне резервне простір у відсотках від загального резервного простору.

233(E9) Power-On Hours — кількість годин у вкл. стані.

233(E9) Intel SSD Media Wearout Indicator — індикатор зносу носія. 100% для нового.

240 (F0) flying Head hours — Час позиціонування головки. Для Fujitsu — Transfer Error Rate — частота помилок передачі.

241(F1) Total LBAs Written — кількість записаних LBA.

242(F2) Total LBAs Read — колисество лічених LBA.Деякі S. M. A. R. T.-утиліти можуть видавати від’ємні числа в RAW-значення, бо розрядність 48 біт, а не 32.

250 (FA) Read error retry rate — Кількість помилок під час читання жорсткого диска.

254(FE) Free Fall Event Count — містить зафіксоване електронікою кількість прискорень вільного падіння диска, яким він піддавався, тобто простіше кажучи, показує, скільки раз диск падав.