В статье Почему SSD выходят из строя: кто виноват и что делать мы рассказали о выносливости современных твердотельных накопителей, о наработке на отказ и о причинах, по которым SSD может выйти из строя при относительно небольшом износе. При написании статьи мы ориентировались на то, что заявленные для конкретной модели характеристики накопителя соответствуют реальным и остаются неизменными на протяжении всего жизненного цикла модели. К сожалению, ожидания не всегда соответствуют действительности. Излюбленный трюк производителей современных твердотельных накопителей – изменение реальных спецификаций уже выпускаемой (и протестированной обозревателями) модели в середине её жизненного цикла. Так, известен ряд моделей таких производителей, как ADATA, Kingston, Transcend, которые получали отличные отзывы от обозревателей – после чего производитель менял «начинку» устройств, сохраняя прежнее название и номер модели. В редких случаях новая ревизия получала дополнительный индекс, позволяющий отличить её от прежней модели, но чаще всего потребителю доставался «кот в мешке». Не минула проблема и такого крупного производителя как Crucial, выпустившего модель BX300 на основе 3D-MLC памяти и впоследствии заменившая чипы в этом недорогом накопителе на более дешёвую 3D-TLC. Как отличить одно от другого и убедиться, что начинка выбранного накопителя соответствует ожиданиям? Используем низкоуровневые утилиты для проверки модели контроллера и типа использованной памяти.
Во-первых, нам потребуется набор утилит Phison Flash ID, Silicon Motion Flash ID и SandForce Flash ID. Разумеется, использовать нужно только одну из них – ту, которая соответствует производителю контроллера исследуемого SSD. Производителя контроллера придётся определять по опубликованным спецификациям диска. Вам потребуется набор из трёх утилит: Phison Flash ID, Silicon Motion Flash ID и SandForce Flash ID.
Сохранять утилиту нужно на том диске, который точно не будет исследоваться – к примеру, в каталоге на системном диске C: Запускать её необходимо с администраторскими привилегиями, для чего приложение командной строки cmd.exe следует запустить с опцией Run as administrator.
В приведённой по ссылке инструкции утверждается, что в Windows 10 требуется удалить с исследуемого диска все разделы или по крайней мере «отнять» букву накопителя в диспетчере дисков. Оказалось, что это утверждение верно не во всех случаях: все проверенные нами накопители Crucial на основе контроллеров Silicon Motion вернули точные данные. Никакой информации не удалось получить от единственной модели MX200, которая работает под управлением контроллера Marwell.
Итак, посмотрим на информацию, которую может сообщить утилита об установленном в систему экземпляре диска Crucial BX300, ранние версии которого производились на основе 3D-MLC памяти, но более поздние ревизии выходили с 3D-TLC.
smi_flash_id_ata.exe SMI 224x/225x SSD Flash ID ATA reader v0.51a by Ochkin Vadim OS: 10.0 build 17763 Use: smi_flash_id disk_num[u] - u - model check override 0: (CT2000MX500SSD1 1: (CT2000MX500SSD1 2: (CT500MX500SSD1 3: (Crucial_CT500MX200SSD1 4: (CT480BX300SSD1 Please select drive number:4 Drive: 4(ATA) Identify - ok! Smart - ok! Model: CT480BX300SSD1 Fw : M2CR010 Size : 457862 MB From smart : [SM2258] [M2CR010 ] Controller : SM2258AB Bank00: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank01: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank02: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank03: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank04: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank05: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank06: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank07: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank16: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank17: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank18: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank19: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank20: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank21: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank22: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die Bank23: 0x2c,0xa4,0x64,0x32,0xaa,0x4,0x0,0x0 - Micron MLC 256Gb/CE 256Gb/die
Какие выводы можно сделать о накопителе на основе выданной информации?
На практике мы имеем накопитель с высокой ожидаемой надёжностью, но не без подвоха.
Первый недостаток диска – использование двух из 4 каналов контроллера в силу конфигурации банков памяти. Использование большего числа каналов (и большего числа чипов) позволило бы заметно увеличить скорость потоковой записи после заполнения SLC кэша. Впрочем, в реальной жизни с ситуацией замедления скорости записи столкнуться вряд ли удастся: для этого на максимальной скорости (500 МБ/с) на диск нужно непрерывно записать весь объём SLC кэша (для модели на 480ГБ объём кэша – 16ГБ); задача, прямо скажем, исключительно редкая у целевой аудитории данной модели.
Вторым недостатком модели является вероятное использование отбракованных при производстве 3D-TLC чипов памяти. С учётом того, что ресурс записи в одну и ту же ячейку в режиме MLC приблизительно в три раза выше, чем в неё же – в режиме TLC, даже такая отбраковка способна выдать очень высокую наработку на отказ.
Что делать, если утилита не работает? Утилита выдаст следующий результат:
Identify - ok! Smart - ok! Model: CT2000MX500SSD1 Fw : M3CR022 Size : 1907729 MB From smart : [SM2258B16AR] [M3CR022 ] Controller : SM2258AB IOCtl: failed 0x5! Possible disk has partition within first 64MB.
В данном случае утилита была запущена на другой системе, и ей действительно помешало наличие на диске существующих разделов. Для начала можно попробовать удалить в диспетчере дисков Windows букву диска. Если это не поможет, то единственным вариантом будет удаление первого раздела; имеет ли это смысл — решать самому пользователю. Для сравнения, так выглядит информация для той же модели диска Crucial MX500 (2000GB) на основе 3D-TLC при запуске утилиты на другом компьютере:
Model: CT2000MX500SSD1 Fw : M3CR022 Size : 1907729 MB From smart : [SM2258B16AR] [M3CR022 ] Controller : SM2258AB Bank00: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank01: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank02: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank03: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank04: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank05: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank06: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank07: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank08: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank09: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank10: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank11: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank12: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank13: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank14: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank15: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank16: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank17: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank18: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank19: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank20: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank21: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank22: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank23: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank24: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank25: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank26: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank27: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank28: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank29: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank30: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die Bank31: 0x2c,0xc4,0x89,0x32,0xa1,0x0,0x0,0x0 - Micron TLC 512Gb/CE 256Gb/die
Мы рассказали, как при помощи простых утилит определить модель контроллера и конфигурацию чипов памяти накопителей SSD.