Блог Элкомсофт

«…Восстановление паролей, расшифровка данных,
мобильная и облачная криминалистика… »


Как определить модель контроллера и тип памяти SSD

Январь 31st, 2019 by Oleg Afonin
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

В статье Почему SSD выходят из строя: кто виноват и что делать мы рассказали о выносливости современных твердотельных накопителей, о наработке на отказ и о причинах, по которым SSD может выйти из строя при относительно небольшом износе. При написании статьи мы ориентировались на то, что заявленные для конкретной модели характеристики накопителя соответствуют реальным и остаются неизменными на протяжении всего жизненного цикла модели. К сожалению, ожидания не всегда соответствуют действительности. Излюбленный трюк производителей современных твердотельных накопителей – изменение реальных спецификаций уже выпускаемой (и протестированной обозревателями) модели в середине её жизненного цикла. Так, известен ряд моделей таких производителей, как ADATA, Kingston, Transcend, которые получали отличные отзывы от обозревателей – после чего производитель менял «начинку» устройств, сохраняя прежнее название и номер модели. В редких случаях новая ревизия получала дополнительный индекс, позволяющий отличить её от прежней модели, но чаще всего потребителю доставался «кот в мешке». Не минула проблема и такого крупного производителя как Crucial, выпустившего модель BX300 на основе 3D-MLC памяти и впоследствии заменившая чипы в этом недорогом накопителе на более дешёвую 3D-TLC. Как отличить одно от другого и убедиться, что начинка выбранного накопителя соответствует ожиданиям? Используем низкоуровневые утилиты для проверки модели контроллера и типа использованной памяти.

Для начала – ссылка на подробную инструкцию: Как определить тип памяти в SSD. В принципе, инструкций по ссылке уже достаточно для уверенного определения как точной модели контроллера, так и набора чипов памяти. Здесь мы лишь уточним приведённые по ссылке инструкции.

Во-первых, нам потребуется набор утилит 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

 

Какие выводы можно сделать о накопителе на основе выданной информации?

  • Используется память типа MLC производства Micron. То, что это MLC с трёхмерной компоновкой, можно определить по спецификациям контроллера.
  • Конфигурация накопителя — 16 банков по 256 Гбит
  • Количество банков позволило использовать два канала доступа из поддерживаемых контроллером четырёх. Налицо экономия: при использовании 4-канальной конфигурации, как в старших накопителях, устоявшаяся скорость потоковой записи после полного заполнения SLC-кэша была бы выше. Впрочем, в таком случае и стоимость накопителя была бы другой.
  • Полный объём накопителя – 512 ГБ, но «маркетинговая» ёмкость – всего 480 ГБ (а не 500, как у старших моделей). На этом остановимся подробнее. Если мы возьмём накопитель MX500, то увидим заявленную ёмкость 500 ГБ (при аналогичной физической ёмкости чипов); а у бюджетного BX300 – всего 480. Соответственно, у MX500 в резерве блоков на 12 ГБ, а у BX300 – на целых 32 ГБ (при ёмкости 480 – это очень много). Для чего производителю потребовалась такая большая резервная ёмкость, учитывая высокую надёжность памяти 3D-MLC? С большой вероятностью можно предположить, что в модели BX300 была использована память, отбракованная при производстве 3D-TLC. Менее качественная память была использована в режиме MLC, который не предъявляет таких жёстких требований к качеству чипов. В качестве дополнительной подстраховки выделена огромная по современным меркам ёмкость резервного пула, в котором содержатся блоки, которые пойдут на замену вышедшим из строя.
  • Контроллер SM2258AB реализует технологию SLC-кэширования (которую, обратите внимание, производитель диска Crucial в этой модели никак не рекламирует – потому что официально технология доступна только в старших моделях линейки MX). После использования всей ёмкости кэша скорость потоковой записи падает, и восстанавливается лишь спустя некоторое время, после «уплотнения» содержимого SLC кэша в MLC.

На практике мы имеем накопитель с высокой ожидаемой надёжностью, но не без подвоха.

Первый недостаток диска – использование двух из 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.


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Tags: , ,

Подписаться на рассылку о новостях и новинках компании ElcomSoft

Комментирование статьи отключено