Личен блог на Георги Христов

Интерфейс към терзанията на един гийк

Диагностика на твърд диск и SSD. Тълкуване на SMART статус

Омръзна ми да попадам на компютри с дефектни твърди дискове, а някой умник да се е опитвал да преинсталира операционна система, за да реши хардуерен проблем. До гуша ми дойде от некадърници, които не се образоват, но със смелостта си и липсата на знания „конкурират“ можещите и коректни! Коректни е неслучайно написано, защото има и такива, които са може би наясно, че на съвременен твърд диск стигнеш ли до там, че да маркираш лошите сектори, значи е с единият крак в гроба, мамят клиентите си!

В случай, че периодично виждате сини екрани в Windows, операционната система се рестартира или не стартира е напълно възможно да е дефектирал твърдия диск. Много често се случва некомпетентни лица да преинсталират системен софтуер, заради проблеми в диска. Понякога това е временно решение, заради форматирането на файловата система, понякога положението е толкова лошо, че Windows-a “отказва да се инсталира“.

За наша радост в средата на 90-те години на миналия век производителите на твърди дискове създават единен стандарт за мониторинг и тестване S.M.A.R.T. Благодарение на него, с помощта на софтуер можем да проверяваме състоянието на „хардовете“ и още по-важно, да предотвратим загубата на информация. Разбира се, най-добре е да ползваме софтуера на самият вендор, но това не винаги е възможно, защото обикновено машината трябва да се стартира в DOS, а не винаги е възможно или желателно, когато става въпрос за сървър, рутер или натоварена работна станция. Затова има доста програми, които работят със стандартните S.M.A.R.T команди:

  • Windows: HDD Tune, Everest, AIDA64, Argus Monitor, SpinRite, CrystalDiskInfo (безплатна), Speccy (безплатна), SpeedFan (безплатна)
  • Mac: Disk Utility, smartmontools
  • Linux: smartmontools

Основната информация, която предоставя SMART технологията е SMART статуса. Разчитането му е критично важно, тъй като според статистиката предсказва смъртта на устройството с над 50% точност. Статусът предоставя две стойности – “threshold not exceeded” и “threshold exceeded”. В случай, че прагът е превишен, означава, че твърдият диск не отговаря на спецификациите си – не може да чете/записва дадени сектори или бързодействието му е под обявеното. Важно е да се знае, че SMART статуса не гарантира отказоустойчивостта на устройството. Възможно е поради технически проблеми да не показва правилно надежността на харда. Също така, това, че даден сектор е недостъпен не значи, че целият диск е неизползваем. Следствие е на това, че в съвременните твърди дискове капацитетът е по-голям от обявеният и тези сектори, които са скрити за потребителите, се използват за замяна на лоши.

В някои устройства, поддържащи SMART са налични вградени тестове и журнали. Тестовете се изпълняват автоматично, когато дискът не е натоварен или със специализиран софтуер. Резултатите от тези тестове се записват в журнали.

За да се анализира правилно състоянието на устройството е нужно да се оценят всички SMART атрибути. Тях ще разгледам малко по-долу.

Как работи SMART?

S.M.A.R.T. Следи за основните характеристики на диска, всяка от които получава оценка. Могат да се разделят на две основни групи:

    • параметри, отразяващи естествения процес на „стареене“ на диска – брой цикли включване-изключване, обороти на плочите, премествания на главата и т.н.
    • текущи параметри – разстояние на главата от повърхността на диска, брой заменени сектори, грешки при търсене, време за търсене на пътечки и др.

Данните се съхраняват в шестнадесетичен вид (т.нар. raw value), а след това се преизчисляват във value – значението, символизиращо надежността на устройството, спрямо еталонните стойности. Тези стойности са в диапазона от 0 до 100, от 0 до 200 или от 0 до 253, в зависимост от атрибута, който отразяват. Високата стойност говори за отсъствие на изменение в дадения параметър (не е влошен). Понижаване на стойността – във възможност за влошаване на състоянието. Естествено, когато когато даден параметър падне под минималните спецификации на производителя – сигнализира за големи проблеми! В такъв случай, никой не може да гарантира безотказна работа на дисковото устройство.

S.M.A.R.T. Позволява:

    • наблюдение на състоянието върху параметрите на устройството.
    • Сканиране на повърхността на диска (за лоши сектори).
    • Сканиране на повърхността и автоматична замяна на лошите сектори с по-надеждни.

Дисковете не могат сами да съобщават за състоянието си! За това е нужно програмно обезпечение в контролера. Много съвременни дънни платки съобщават за проблеми в SMART при стартиране на компютърната система, но не всички.

Софтуерите, които отразяват състоянието на S.M.A.R.T. атрибутите, работят по следният алгоритъм:

  1. Проверка за поддръжка на SMART.
  2. Изпраща се запитване за четене на SMART таблицата с атрибути.
  3. Когато ги получи се съхраняват във временен буфер.
  4. Разшифрова структурата на таблицата. Извлича номера на атрибута и цифровото му отражение.
  5. Преименува атрибутите по стандарт от номер към название, в зависимост от производител и модел.
  6. Визуализира числовите значения в удобни за възприемане вид. Изразява се в конвертиране на шестнадесетичните стойности в десетични.
  7. Извлича флаговете на атрибутите от таблицата, например дали са важни за работоспособността или са някакви броячи.
  8. Визуализира общото състояние на устройството.

В следната таблица са описани атрибутите на S.M.A.R.T, тълкуването им и някои съвети:

Hex Име на атрибута Най-добър при Описание
01 01 Raw Read Error Rate Съдържа броя хардуерни греши при четене на данни от повърхността на диска. Тълкуването на необработените стойности (raw value) при всеки производител са различни. Това понякога бърка неопитни потребители. Препоръчвам да гледате десетичната им стойност. Освен това например при сравнително новите модели на Samsung и Seagate отразяват и вътрешни корекции на данни, които не се отразяват при други производители.
02 02 Throughput Performance Това е общата производителност на диска. Ако стойността му е ниска, то верояно в харда има проблем.
03 03 Spin-Up Time Време за развъртане на плочите от състояние на покой до работната скорост в милисекунди. При износване на механиката стойността расте. Също така може да свидетелства за некачествено захранване (например пад на напрежение при стартиране на диска)!
04 04 Start/Stop Count Брой цикли стартиране-спиране на шпиндела. При Seagate стойността съдържа броя стартирания от изключено захранване и завръщане от режим за съхранение на ел. енергия или режим на сън .
05 05 Reallocated Sectors Count Брой заменени сектори. Когато устройството открие грешки при четене или запис на даден сектор го маркира за замяна и го заменя с друг в специална резервна зона (spare area). Този процес е познат като замяна или remapping, а замененият сектор remap. Колкото е по-голяма стойността, толкова е по-зле състоянието на повърхността на диска. Полето raw value отговаря на количеството заменени сектори.Благодарение на маркирането на лоши сектори и наличието на резервна зона, съвременните твърди дискове остават работоспособни и не би трябвало да имат лоши сектори. В случай, че има лоши сектори те могат да се маркират ръчно. Така файловата система не ги използва.

Колкото повече заменени сектори има, толкова повече пада производителността, защото главата на диска трябва да търси сектори в резервната зона.

06 06 Read Channel Margin Предел/запас на канала при четене на данни. Този атрибут не е документиран и не ми е известно да се използва в съвременните хардове. Наличен при SSD.
07 07 Seek Error Rate Грешки при позициониране на магнитната глава. Колкото по-голям е броят, толкова е по-зле състоянието на механиката и повърхността на диска. Също така на този параметър може да повлияе прегряване или външни вибрации. При всеки производител raw value е различна по структура.
08 08 Seek Time Performance Средна производителност при позициониране на магнитната глава. Понижаване на стойността говори за механически проблеми.
09 09 Power-On Hours (POH) Брой часове (при някои производители минути и секунди) във включено състояние. Сравнява се с паспортното време до отказ – MTBF.
10 0A Spin-Up Retry Count Брой повторни опити за развъртане на диска до работна скорост, ако първият е бил неуспешен. Ако стойността на атрибута е увеличена – проблем с механиката.
11 0B Recalibration Retries Брой повторни запитвания за рекалибрация, когато първият опит е бил неуспешен. Подсказва за проблеми с механиката.
12 0C Device Power Cycle Count Брой пълни цикли включване-изключване на диска.
13 0D Soft Read Error Rate Брой некорегирани грешки при четене по вина на софтуер (например операционната система). Тези грешки нямат общо с механически проблеми и говорят единствено за некоректно взаимодействие с дисковата подсистема. В някои случаи обновяване на фърмуера помага.
177 0xB1 Wear Range Delta Отношението между най-използвания блок и най-малко използвания блок. Иначе казано, колкото е по-малко това отношение, толкова по-добре работи контролера (използва равномерно блоковете за запис). При различните производители се тълкува по различен начин. Този атрибут е само за SSD.
179 0xB3 Used Reserved Block Count Total Както говори наименованието – използвани резервирани блокове. Наличен единствено при устройства на Samsung.
180 0xB4 Unused Reserved Block Count Total Неизползвани резервни блокове. Наличен само при HP.
181 0xB5 Program Fail Count Totalили

Non-4K Aligned Access Count

Брой грешки на флаш софтуера.Или

Брой специфичен достъп до информация.

182 0xB6 Erase Fail Count Наименованието говори достатъчно. Наличен само при Samsung.
183 0xB7 SATA Downshift Error Count or Runtime Bad Block Атрибут, наличен при Western Digital, Samsung и Micron. Понижаване на скоростта на SATA.
или
Общо време за изпълнение на лош блок.
184 B8 End-to-End error Тоза атрибут е част от HP SMART IV. Съдържа броя грешки при преноса на информация от кеша на устройства до оперативната памет.
185 B9 Head Stability Стабилност на главата. Наличен само при Western Digital.
186 BA Induced Op-Vibration Detection Само при Western Digital.
187 BB Reported UNC Errors Грешки, които не са хардуерно корегирани(ECC) .
188 BC Command Timeout Брой операции незавършили в нужното време. В случай, че са налични такива грешки вероятната причина е в некачествено захранване или кабели.
189 BD High Fly Writes Този атрибут съдържа грешките, които са настъпили при запис на информация, поради неестествена височина на главата от повърхността на диска!
190 BE Airflow Temperature Температура на въздуха във вътрешността на диска.
191 BF G-sense error rate Грешки, възникнали в резултат на външен удар или вибрации.
192 C0 Power-off retract count Брой непредвидени връщания на главата в изходно положение.
193 C1 Load/Unload Cycle Брой цикли за преместване на главата в зоната за паркиране / в работещо положение.
194 C2 HDA temperature Атрибута съхранява информация от датчика, предназначен за механическите части в диска. Визуализира се текущата, минималната и максималната температура. Повечето програми имат проблеми с разчитането при различните производители, затова не можем да им се доверяваме на 100%.
195 C3 Hardware ECC Recovered Брой поправени хардуерни грешки (при четене, позициониране или предаване на данни по външен интерфейс). На дискове със SATA интерфейс грешките могат да се дължат на повишена работна честота на системната шина (т. нар. овърклокинг)!
196 C4 Reallocation Event Count Брой маркиращи операции. Съхраняват се успешните и неуспешните опити за маркиране на лоши сектори.
197 C5 Current Pending Sector Count Сектори, които все още не са маркирани като лоши, но при четене се отличават от нормалните сектори. Наричат се нестабилни. Ако в последствие състоянието на сектора не дава индикации за нестабилност и се чете нормално след запис, той бива премахнат от този списък. В противен случай, бива заменен със сектор от резервната зона. Повишаването на стойността на този атрибут говори за физически проблеми с повърхността на диска.
198 C6 Uncorrectable Sector Count Брой непоправими сектори (усторйството не може да ги замени само). Увеличаването на тези сектори означава проблем с повърхността или механиката.
199 C7 UltraDMA CRC Error Count Брой грешки, възникнали по време на предаване на данни по външен интерфейс (UltraDMA, SATA и т.н.). Възможните причини за това могат да бъдат: лошо захранване, лош контакт, електромагнитни смущения, овърклокинг и понякога драйвери
200 C8 Write Error Rate /
Multi-Zone Error Rate
Грешки при запис на сектор. Атрибута е показател за надежността на повърхността и механиката.
201 C9 Soft read error rate Честота на грешки при четене по вина на софтуер.
202 CA Data Address Mark errors Греки при адресиране на данни./ Специфичен атрибут при някои производители.
203 CB Run out cancel Брой ECC грешки.
204 CC Soft ECC correction Корегирани ЕСС грешки от софтуер.
205 CD Thermal asperity rate (TAR) Брой грешки, поради висока температура.
206 CE Flying height Разстояние (височина) между главата и повърхността на харда.
207 CF Spin high current Големина на тока при развъртане на диска.
208 D0 Spin buzz Опити за развъртане на диска, поради недостатъчно мощност.
209 D1 Offline seek performance Производителност при търсене от вградените тестове.
210 D2 Vibration During Write Вибрации по време на запис.
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/Unload 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 Life Left

Температура на устройството.Или

Оставащ живот на SSD, според броя цикли запис/триене на блоковете.

232 Е8 Endurance Remainingили

Available Reserved Space

„Износване“ на диска.или

При Intel SSD параметъра показва наличното резервирано пространство, спрямо ново устройство, в проценти.

233 Е9 Power-On Hoursили

Media Wearout Indicator

Колко време е работило устройството.или

При Intel SSD отношението на най-използваните блокове към най-малко използваните.

234 ЕА Average erase count AND Maximum Erase Count Средна и максимална стойност на изтриване.
235 ЕB Good Block Count AND System(Free) Block Count Брой добри блокове и брой системни (свободни) блокове.
240 F0 Head flying hoursили

Transfer Error Rate (Fujitsu)

Време за позициониране на главата.или

Брой пъти, когато връзката е прекъсвала, когато са се предавали данни.

241 F1 Total LBAs Written Записани LBA.
242 F2 Total LBAs Read Прочетени LBA.
250 FA Read error retry rate Брой грешки при четене.
254 FE Free Fall Protection Брой включване на защита при падане на диска.

*Оцветените атрибути са критично важни!

Статията е процес на допълване и редакция.

Публикувано на | December 2, 2013 | 3 Коментара

Мнения и коментари

  • Добавете ме в Google+

  • Последни публикации

  • Последни коментари