Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 16 ноября 2020 года; проверки требуют 5 правок.
У этого термина существуют и другие значения, см. Smart.
S. M. A. R. T. (от англ. self-monitoring, analysis and reporting technology — технология самоконтроля, анализа и отчётности) — технология оценки состояния жёсткого диска встроенной аппаратурой самодиагностики, а также механизм предсказания времени выхода его из строя. Технология S. M. A. R. T. является частью протоколов ATA и SATA.
Современные SSD накопители с SATA интерфейсом также поддерживают S. M. A. R. T. Однако широко распространённые флеш-накопители USB (прост. «флешки») обычно не поддерживают S. M. A. R. T., поскольку USB Mass Storage device class основан на другом протоколе, SCSI, который не содержит аналогичной S. M. A. R. T. функциональности. Существует небольшое количество флеш-накопителей, сделанных на основе SATA контроллеров и переходников SATA-USB, работающих по спецификации SAT (SCSI-ATA Translation). Некоторые из таких переходников поддерживают трансляцию данных S. M. A. R. T.
Первый жёсткий диск, обладающий системой самодиагностики, был представлен в 1992 году фирмой IBM в дисковых массивах IBM 9337 для серверов AS/400, использующих IBM 0662 SCSI-2 диски. Технология была названа Predictive Failure Analysis (PFA). Измерялось несколько ключевых параметров, их оценка производилась непосредственно контроллером диска. Результат был ограничен лишь одним битом: либо всё в порядке, либо диск может в скором времени выйти из строя.
Позже компаниями Compaq, Seagate, Quantum и Conner была разработана другая технология, названная IntelliSafe. В ней был общий протокол выдачи информации о состоянии жёсткого диска, но измеряемые параметры и их пороги каждая компания определяла самостоятельно.
В начале 1995 года Compaq предложила стандартизировать технологию. Компании IBM, Seagate, Quantum, Conner и Western Digital (последняя на тот момент ещё не имела системы отслеживания параметров жёсткого диска) поддержали эту идею. За основу была взята технология IntelliSafe. Совместно разработанный стандарт назвали S. M. A. R. T.
Стандарт S. M. A. R. T. I предусматривал мониторинг основных параметров и запускался только после команды.
В разработке S. M. A. R. T. I I участвовала Hitachi, предложившая методику полной самодиагностики накопителя (extended self-test), также появилась функция журналирования ошибок.
В S. M. A. R. T. I II появилась функция обнаружения дефектов поверхности и возможность их восстановления «прозрачно» для пользователя.
S. M. A. R. T. производит наблюдение за основными характеристиками накопителя, каждая из которых получает оценку. Характеристики можно разбить на две группы:
Данные хранятся в шестнадцатеричном виде, называемом raw value («сырые значения»), а затем пересчитываются в value — значение, символизирующее надёжность относительно некоторого эталонного значения. Обычно value располагается в диапазоне от 0 до 100.
Высокая оценка говорит об отсутствии изменений данного параметра или медленном его ухудшении. Низкая — о возможном сбое в скором времени.
Значение, меньшее, чем минимальное, при котором производителем гарантируется безотказная работа накопителя, означает выход узла из строя.
Технология S. M. A. R. T. позволяет осуществлять:
Следует отметить, что накопители не могут самостоятельно сообщать о своём состоянии посредством технологии SMART, однако для этого существуют специальные программы. Таким образом, использование технологии S. M. A. R. T. невозможно без наличия следующих двух составляющих:
Программы, отображающие состояние S. M. A. R. T.-атрибутов, работают по следующему алгоритму:
Таблица известных атрибутов S. M. A. R. T. выглядит следующим образом:
Проверяет электрические и механические параметры, а также производительность на чтение. Тест, как правило, длится около двух минут.
Тест проверяет всю поверхность диска и не имеет ограничения по времени. В среднем занимает около двух-трёх часов.
«Тестировать нельзя диагностировать» – куда бы вы поставили запятую в данном предложении? Надеемся, что после прочтения данного материала вы без проблем можете чётко дать ответ на этот вопрос. Многие пользователи когда-либо сталкивались с потерей данных по той или иной причине, будь то программная или аппаратная проблема самого накопителя или же нестандартное физическое воздействие на него, если вы понимаете, о чём мы. Но именно о физических повреждениях сегодня речь и не пойдёт. Поговорим мы как раз о том, что от наших рук не зависит. Стоит ли тестировать SSD каждый день/неделю/месяц или это пустая трата его ресурса? А чем их вообще тестировать? Получая определённые результаты, вы правильно их понимаете? И как можно просто и быстро убедиться, что диск в порядке или ваши данные под угрозой?

Тестирование или диагностика? Программ много, но суть одна
Так уж получилось, что именно подсистема хранения данных в настольных системах является одним из самых уязвимых мест, так как срок службы накопителей чаще всего меньше, чем у остальных компонентов ПК, моноблока или ноутбука. Если ранее это было связано с механической составляющей (в жёстких дисках вращаются пластины, двигаются головки) и некоторые проблемы можно было определить, не запуская каких-либо программ, то сейчас всё стало немного сложнее – никакого хруста внутри SSD нет и быть не может. Что же делать владельцам твердотельных накопителей?
Программ для тестирования SSD развелось великое множество. Какие-то стали популярными и постоянно обновляются, часть из них давно забыта, а некоторые настолько хороши, что разработчики не обновляют их годами – смысла просто нет. В особо тяжёлых случаях можно прогонять полное тестирование по международной методике Solid State Storage (SSS) Performance Test Specification (PTS), но в крайности мы бросаться не будем. Сразу же ещё отметим, что некоторые производители заявляют одни скорости работы, а по факту скорости могут быть заметно ниже: если накопитель новый и исправный, то перед нами решение с SLC-кешированием, где максимальная скорость работы доступна только первые несколько гигабайт (или десятков гигабайт, если объём диска более 900 ГБ), а затем скорость падает. Это совершенно нормальная ситуация. Как понять объём кеша и убедиться, что проблема на самом деле не проблема? Взять файл, к примеру, объёмом 50 ГБ и скопировать его на подопытный накопитель с заведомо более быстрого носителя. Скорость будет высокая, потом снизится и останется равномерной до самого конца в рамках 50-150 МБ/с, в зависимости от модели SSD. Если же тестовый файл копируется неравномерно (к примеру, возникают паузы с падением скорости до 0 МБ/с), тогда стоит задуматься о дополнительном тестировании и изучении состояния SSD при помощи фирменного программного обеспечения от производителя.
Яркий пример корректной работы SSD с технологией SLC-кеширования представлен на скриншоте:

Те пользователи, которые используют Windows 10, могут узнать о возникших проблемах без лишних действий – как только операционная система видит негативные изменения в S. M. A. R. T., она предупреждает об этом с рекомендацией сделать резервные копии данных. Но вернёмся немного назад, а именно к так называемым бенчмаркам. A S SSD Benchmark, CrystalDiskMark, Anvils Storage Utilities, ATTO Disk Benchmark, TxBench и, в конце концов, Iometer – знакомые названия, не правда ли? Нельзя отрицать, что каждый из вас с какой-либо периодичностью запускает эти самые бенчмарки, чтобы проверить скорость работы установленного SSD. Если накопитель жив и здоров, то мы видим, так сказать, красивые результаты, которые радуют глаз и обеспечивают спокойствие души за денежные средства в кошельке. А что за цифры мы видим? Чаще всего замеряют четыре показателя – последовательные чтение и запись, операции 4K (КБ) блоками, многопоточные операции 4K блоками и время отклика накопителя. Важны все вышеперечисленные показатели. Да, каждый из них может быть совершенно разным для разных накопителей. К примеру, для накопителей №1 и №2 заявлены одинаковые скорости последовательного чтения и записи, но скорости работы с блоками 4K у них могут отличаться на порядок – всё зависит от памяти, контроллера и прошивки. Поэтому сравнивать результаты разных моделей попросту нельзя. Для корректного сравнения допускается использовать только полностью идентичные накопители. Ещё есть такой показатель, как IOPS, но он зависит от иных вышеперечисленных показателей, поэтому отдельно говорить об этом не стоит. Иногда в бенчмарках встречаются показатели случайных чтения/записи, но считать их основными, на наш взгляд, смысла нет.

И, как легко догадаться, результаты каждая программа может демонстрировать разные данные – всё зависит от тех параметров тестирования, которые устанавливает разработчик. В некоторых случаях их можно менять, получая разные результаты. Но если тестировать «в лоб», то цифры могут сильно отличаться. Вот ещё один пример теста, где при настройках «по умолчанию» мы видим заметно отличимые результаты последовательных чтения и записи. Но внимание также стоит обратить на скорости работы с 4K блоками – вот тут уже все программы показывают примерно одинаковый результат. Собственно, именно этот тест и является одним из ключевых.

Но, как мы заметили, только одним из ключевых. Да и ещё кое-что надо держать в уме – состояние накопителя. Если вы принесли диск из магазина и протестировали его в одном из перечисленных выше бенчмарков, практически всегда вы получите заявленные характеристики. Но если повторить тестирование через некоторое время, когда диск будет частично или почти полностью заполнен или же был заполнен, но вы самым обычным способом удалили некоторое количество данных, то результаты могут разительно отличаться. Это связано как раз с принципом работы твердотельных накопителей с данными, когда они не удаляются сразу, а только помечаются на удаление. В таком случае перед записью новых данных (тех же тестовых файлов из бенчмарков), сначала производится удаление старых данных. Более подробно мы рассказывали об этом в предыдущем материале.
На самом деле в зависимости от сценариев работы, параметры нужно подбирать самим. Одно дело – домашние или офисные системы, где используется Windows/Linux/MacOS, а совсем другое – серверные, предназначенные для выполнения определённых задач. К примеру, в серверах, работающих с базами данных, могут быть установлены NVMe-накопители, прекрасно переваривающие глубину очереди хоть 256 и для которых таковая 32 или 64 – детский лепет. Конечно, применение классических бенчмарков, перечисленных выше, в данном случае – пустая трата времени. В крупных компаниях используют самописные сценарии тестирования, например, на основе утилиты fio. Те, кому не требуется воспроизведение определённых задач, могут воспользоваться международной методикой SNIA, в которой описаны все проводимые тесты и предложены псевдоскрипты. Да, над ними потребуется немного поработать, но можно получить полностью автоматизированное тестирование, по результатам которого можно понять поведение накопителя – выявить его сильные и слабые места, посмотреть, как он ведёт себя при длительных нагрузках и получить представление о производительности при работе с разными блоками данных.
В любом случае надо сказать, что у каждого производителя тестовый софт свой. Чаще всего название, версия и параметры выбранного им бенчмарка дописываются в спецификации мелким шрифтом где-нибудь внизу. Конечно, результаты примерно сопоставимы, но различия в результатах, безусловно, могут быть. Из этого следует, как бы грустно это ни звучало, что пользователю надо быть внимательным при тестировании: если результат не совпадает с заявленным, то, возможно, просто установлены другие параметры тестирования, от которых зависит очень многое.
Регулярное тестирование или наблюдение за поведением?
Так надо ли, приходя с работы домой, приниматься прогонять в очередной раз бенчмарк? Вот это, как раз, делать и не рекомендуется. Как ни крути, но любая из существующих программ данного типа пишет данные на накопитель. Какая-то больше, какая-то меньше, но пишет. Да, по сравнению с ресурсом SSD записываемый объём достаточно мал, но он есть. Да и функции TRIM/Deallocate потребуется время на обработку удалённых данных. В общем, регулярно или от нечего делать запускать тесты никакого смысла нет. Но вот если в повседневной работе вы начинаете замечать подтормаживания системы или тяжёлого программного обеспечения, установленного на SSD, а также зависания, BSOD’ы, ошибки записи и чтения файлов, тогда уже следует озадачиться выявлением причины возникающей проблемы. Не исключено, что проблема может быть на стороне других комплектующих, но проверить накопитель – проще всего. Для этого потребуется фирменное программное обеспечение от производителя SSD. Для наших накопителей – Kingston SSD Manager. Но перво-наперво делайте резервные копии важных данных, а уже потом занимайтесь диагностикой и тестированием. Для начала смотрим в область SSD Health. В ней есть два показателя в процентах. Первый – так называемый износ накопителя, второй – использование резервной области памяти. Чем ниже значение, тем больше беспокойства с вашей стороны должно быть. Конечно, если значения уменьшаются на 1-2-3% в год при очень интенсивном использовании накопителя, то это нормальная ситуация. Другое дело, если без особых нагрузок значения снижаются необычно быстро. Рядом есть ещё одна область – Health Overview. В ней кратко сообщается о том, были ли зафиксированы ошибки разного рода, и указано общее состояние накопителя. Также проверяем наличие новой прошивки. Точнее программа сама это делает. Если таковая есть, а диск ведёт себя странно (есть ошибки, снижается уровень «здоровья» и вообще исключены другие комплектующие), то можем смело устанавливать.

Если же производитель вашего SSD не позаботился о поддержке в виде фирменного софта, то можно использовать универсальный, к примеру – CrystalDiskInfo. Нет, у Intel есть своё программное обеспечение, на скриншоте ниже – просто пример 🙂 На что обратить внимание? На процент состояния здоровья (хотя бы примерно, но ситуация будет понятна), на общее время работы, число включений и объёмы записанных и считанных данных. Не всегда эти значения будут отображены, а часть атрибутов в списке будут видны как Vendor Specific. Об этом чуть позже.


Но и это ещё не всё – взгляните на значения из фирменного ПО производителя! Невероятные значения, верно? Вот в таких случаях может помочь обновление прошивки до актуальной версии. Если таковой нет, то лучше обращаться к производителю в рамках гарантийного обслуживания. А если новая прошивка есть, то после обновления не закидывать на диск важные данные, а поработать с ним осторожно и посмотреть на предмет стабильности. Возможно, проблема будет решена, но возможно – нет.

Добавить можно ещё вот что. Некоторые пользователи по привычке или незнанию используют давно знакомый им софт, которым производят мониторинг состояния классических жёстких дисков (HDD). Так делать настоятельно не рекомендуется, так как алгоритмы работы HDD и SSD разительно отличаются, как и набор команд контроллеров. Особенно это касается NVMe SSD. Некоторые программы (например, Victoria) получили поддержку SSD, но их всё равно продолжают дорабатывать (а доработают ли?) в плане корректности демонстрации информации о подключённых носителях. К примеру, прошло лишь около месяца с того момента, как показания SMART для SSD Kingston обрели хоть какой-то правильный вид, да и то не до конца. Всё это касается не только вышеупомянутой программы, но и многих других. Именно поэтому, чтобы избежать неправильной интерпретации данных, стоит пользоваться только тем софтом, в котором есть уверенность, – фирменные утилиты от производителей или же крупные и часто обновляемые проекты.
Присмотр за каждой ячейкой – смело. Глупо, но смело
Некоторые производители реализуют в своём программном обеспечении возможность проверки адресов каждого логического блока (LBA) на предмет наличия ошибок при чтении. В ходе такого тестирования всё свободное пространство накопителя используется для записи произвольных данных и обратного их считывания для проверки целостности. Такое сканирование может занять не один час (зависит от объёма накопителя и свободного пространства на нём, а также его скоростных показателей). Такой тест позволяет выявить сбойные ячейки. Но без нюансов не обходится. Во-первых, по-хорошему, SSD должен быть пуст, чтобы проверить максимум памяти. Отсюда вытекает ещё одна проблема: надо делать бэкапы и заливать их обратно, что отнимает ресурс накопителя. Во-вторых, ещё больше ресурса памяти тратится на само выполнение теста. Не говоря уже о затрачиваемом времени. А что в итоге мы узнаем по результатам тестирования? Варианта, как вы понимаете, два – или будут битые ячейки, или нет. В первом случае мы впустую тратим ресурс и время, а во втором – впустую тратим ресурс и время. Да-да, это так и звучит. Сбойные ячейки и без такого тестирования дадут о себе знать, когда придёт время. Так что смысла в проверки каждого LBA нет никакого.
А можно несколько подробнее о S
Все когда-то видели набор определённых названий (атрибутов) и их значений, выведенных списком в соответствующем разделе или прямо в главном окне программы, как это видно на скриншоте выше. Но что они означают и как их понять? Немного вернёмся в прошлое, чтобы понять что к чему. По идее, каждый производитель вносит в продукцию что-то своё, чтобы этой уникальностью привлечь потенциального покупателя. Но вот со S. M. A. R. T. вышло несколько иначе.
В зависимости от производителя и модели накопителя набор параметров может меняться, поэтому универсальные программы могут не знать тех или иных значений, помечая их как Vendor Specific. Многие производители предоставляют в открытом доступе документацию для понимания атрибутов своих накопителей – SMART Attribute. Её можно найти на сайте производителя.

Именно поэтому и рекомендуется использовать именно фирменный софт, который в курсе всех тонкостей совместимых моделей накопителей. Кроме того, настоятельно рекомендуется использовать английский интерфейс, чтобы получить достоверную информацию о состоянии накопителя. Зачастую перевод на русский не совсем верен, что может привести в замешательство. Да и сама документация, о которой мы сказали выше, чаще всего предоставляется именно на английском.
Сейчас мы рассмотрим основные атрибуты на примере накопителя Kingston UV500. Кому интересно – читаем, кому нет – жмём PageDown пару раз и читаем заключение. Но, надеемся, вам всё же интересно – информация полезная, как ни крути. Построение текста может выглядеть необычно, но так для всех будет удобнее – не потребуется вводить лишние слова-переменные, а также именно оригинальные слова будет проще найти в отчёте о вашем накопителе.
(ID 1) Read Error Rate – содержит частоту возникновения ошибок при чтении.
(ID 5) Reallocated Sector Count – количество переназначенных секторов. Является, по сути, главным атрибутом. Если SSD в процессе работы находит сбойный сектор, то он может посчитать его невосполнимо повреждённым. В этом случае диск использует вместо него сектор из резервной области. Новый сектор получает логический номер LBA старого, после чего при обращении к сектору с этим номером запрос будет перенаправляться в тот, что находится в резервной области. Если ошибка единичная – это не проблема. Но если такие сектора будут появляться регулярно, то проблему можно считать критической.
(ID 9) Power On Hours – время работы накопителя в часах, включая режим простоя и всяческих режимов энергосбережения.
(ID 12) Power Cycle Count – количество циклов включения и отключения накопителя, включая резкие обесточивания (некорректное завершение работы).
(ID 171) Program Fail Count – подсчёт сбоев записи в память.
(ID 172) Erase Fail Count – подсчёт сбоев очистки ячеек памяти.
(ID 174) Unexpected Power Off Count – количество некорректных завершений работы (сбоев питания) без очистки кеша и метаданных.
(ID 175) Program Fail Count Worst Die – подсчёт ошибок сбоев записи в наихудшей микросхеме памяти.
(ID 176) Erase Fail Count Worst Die – подсчёт ошибок сбоев очистки ячеек наихудшей микросхемы памяти.
(ID 187) Reported Uncorrectable Errors – количество неисправленных ошибок.
(ID 194) Temperature – температура накопителя.
(ID 195) On-the-Fly ECC Uncorrectable Error Count – общее количество исправляемых и неисправляемых ошибок.
(ID 196) Reallocation Event Count – количество операций переназначения.
(ID 197) Pending Sector Count – количество секторов, требующих переназначения.
(ID 199) UDMA CRC Error Count – счётчик ошибок, возникающих при передаче данных через SATA интерфейс.
(ID 201) Uncorrectable Read Error Rate – количество неисправленных ошибок для текущего периода работы накопителя.
(ID 204) Soft ECC Correction Rate – количество исправленных ошибок для текущего периода работы накопителя.
(ID 231) SSD Life Left – индикация оставшегося срока службы накопителя на основе количества циклов записи/стирания информации.
(ID 241) GB Written from Interface – объём данных в ГБ, записанных на накопитель.
(ID 242) GB Read from Interface – объём данных в ГБ, считанных с накопителя.
(ID 250) Total Number of NAND Read Retries – количество выполненных попыток чтения с накопителя.
Пожалуй, на этом закончим список. Конечно, для других моделей атрибутов может быть больше или меньше, но их значения в рамках производителя будут идентичны. А расшифровать значения достаточно просто и обычному пользователю, тут всё логично: увеличение количества ошибок – хуже диску, снижение резервных секторов – тоже плохо. По температуре – всё и так ясно. Каждый из вас сможет добавить что-то своё – это ожидаемо, так как полный список атрибутов очень велик, а мы перечислили лишь основные.
Паранойя или трезвый взгляд на сохранность данных?
P. S. В случае возникновения проблем с SSD подорожник всё-таки не поможет 🙁

Для получения дополнительной информации о продуктах Kingston обращайтесь на сайт компании.




