Жил был PCI-E SSD OCZ RevoDrive 3 240GB (RVD3-FHPX4-240G).

Два! контроллера SD-2281VB1-SDC. Память маркирована OCZ.

Как это обычно бывает с SSD, однажды перестал инициализироваться (ругается во время POST).

SSD сделан на паре контроллеров печально известных контроллеров SandForce (насколько я понимаю, в чём-то, вроде, RAID 0).

Несколько лет назад я потаскал диск по разным мастерским, но никто не смог с ним совладать. Некоторые говорили, что скорее всего полетел не контроллер, а один из чипов памяти.

Я слышал, что проблемы в расшифровке были связаны с тем, что OCZ поделилась алгоритмами шифрования только с парой фирм по восстановлению (не Российскими, конечно).

Научились ли за эти годы расшифровывать SSD на SandForce?

Очередь просмотра

Очередь

  • Удалить все
  • Отключить

YouTube Premium

Хотите сохраните это видео?

  • Пожаловаться

Пожаловаться на видео?

Выполните вход, чтобы сообщить о неприемлемом контенте.

Понравилось?

Не понравилось?

Текст видео

В данном видео Покажу как можно восстановить работоспособность SSD-Диска работающего на контроллере SandForce. На примере SSD-Диска ADATA XPG SX900 ASX900S3-128GM. Данные которые были на диске Удалятся!

Не важно какой производитель диска, важно лишь (Контроллер, и конфигурация памяти!)

Скачать набор программ из данного видео можно тут:

RFRemix-14-i686-LiveDVD.iso https://goo.gl/2ZdYra
Набор программ для восстановления https://yadi.sk/d/edoQxZhn3EKZyK
Зеркало (Из-за ограничений майл ру, архив разбит пополам. Архиватор 7-zip в комплекте. )
https://cloud.mail.ru/public/4ugH/bZM.

In this video I’ll show you how you can restore the operation of the SSD-drive running on the SandForce controller. The example of the SSD-Disk ADATA XPG SX900 ASX900S3-128GM. Data that was on the disk Removed!

No matter which disk manufacturer, it is important only (Controller, and memory configuration!)

Пациент: дешевый SSD накопитель Kingston SKC300S37A/120G.
Труп. Не определяется в системе, никак. Труп, но не для нас.

Сложность первая — вскрыть устройство. Преодолел с помощью товарища (он же это устройство и предоставил для опытов).

"Звездочка а ля торкс с точкой посредине, производитель страхуется от вскрытия обычными юзверямя, преодолели с помощью нужного инструмента, купленного вроде бы в авто-магазине.

Так уж сложилось, что делать подробные фото я не мог(валялся дома с температурой), да и много фото вы найдете по ссылкам на другие инструкции и отчеты, так что они будут тут носить разве что развлекательный характер, дабы разбавить текст.

Сложность вторая:
Софт, прошивки, технология:
Устройство сего девайса простое, ну — достаточно простое — печатная плата, контроллер, чипы памяти, корпус.

Для примера мой накопитель выглядел примерно так, стрелочкой указаны нужные нам контакты для прошивки.

В сети почти нет информации как это делать, в смысле как перепрошить устройство, за исключением двух ссылок на подробный процесс тут (geektimes) и тут (авторский блог Ильи Коваленко) и форума ru-board.com, где сидят "гуру" и можно спросить несведущему или тому, кто делает все впервые, как я. Да, я не хватаю звезд с неба, я обычный сисадмин и мое дело немного связано с другими вещами, юзвери и устройства с GUI (график юзер интерфейс, проще говоря "гуй" или удобные окошки) попроще, да и спросить у "гуру" для меня совсем не зазорно, все мы человеки, все знать невозможно, но к этому надо стремиться.

1. Определить что за "оно" перед нами, что за "конфигурация" у этого SKC300S37A/120G. Опытным путем всрытия было определено, что это чудо инженерной мысли c прошивкой под номером 27788:
Контроллер: SF-2281 Чипы памяти: TC58TEG6DDJTA00 на микросхемах TSOP. Из xls таблицы мне более всего подходил SF-2281-Gold-KC 120GB Toshiba19 MLC Type C TSOP 16xTC58TEG6DDJTA00, т.к. на плате было 16 чипов TC58TEG6DDJTA00 и SF-2281 контроллер, их было видно даже невооруженным глазом, объем совпадал с написанным на упаковке.
2. Софт. Linux, на базе Fedora RFRemix-14-i686-LiveDVD: Можно взять опять же у Ильи Коваленко или порыться в сети (если не знаете что такое командная строка или "терминал" дальше можете особо не читать — не поймете ничего ))) привет олдфагам и системе DOS, для тех кто хочет освоить — начните с Linux Ubuntu, попробуйте уйти с Windows и пожить на этой системе пару месяцев, многое станет понятно, уже потом можно уйти на Debian или FreeBSD или еще куда-нибудь, красные глаза в зеркале подскажут вам путь самурая )))
3. Подготовка платформы — ноутбук, я использовал свой служебный Lenovo ThinkPad X220 (неудобно вставлять на горячую диск, все же в идеале ПК). Пинцет, ножницы, скрепка или еще что-то, чтобы замкнуть нужные контакты на плате. Задача — чтобы наше устройство определилось в "режиме прошивки" как sandforce в диспетчере устройств "Windows" легче всего увидеть.
4. Процесс прошивки. Закатываем на флешку RFRemix-14-i686-LiveDVD.iso c помощью win32diskimager-1.0.0. Загружаемся с нее, у меня загрузилась нормально только в режиме Basic Video. Далее установка пакетов lsscsi-0.23-2.fc14.i686.rpm, mailx-12.5-1.fc14.i686.rpm, sg3_utils-1.29-1.fc14.i686.rpm, smartmontools-5.40-5.fc14.i686.rpm.
И распаковка прошивок: запуск SF_OEM_PackageManager, я брал SF_Genesis-v1.7.0.01020130612-fc14-32bit, указать все пути к файлам:

Distribution Firmware Package File – пакет с прошивками
License File – файлы лицензии
Destination Folder – папка, куда будут распаковываться прошивки, я использовал внешний пустой жесткий диск. Размер паки будет достаточно большой, флешки на 4GB может не хватить.
Customer Identification Number — должен быть 0
Diagnostic Unlock Key – должен быть 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6
Firmware Revision Override String – версия прошивки, чаще используют 5.8.2.

После распаковки прошивки — ищем нужный нам файл lic, для моего SSD это когда процесс был завершен, на флешке, в указанной Destination Folder, появились прошивки для всех конфигураций, номера которых, есть в используемом файле лицензий. Для моего SSD это 27788. Открываем SF_ConfigurationManager из папки SF_Genesis-v1.7.0.01020130612-fc14-32bit, и через него, выбираем в папке с распакованными прошивками папку Configuration_Files, и в ней уже находим файл конфигурации, начинающийся на нужный номер. В нашем случае, это — 27788.0.driveconfig.
-=-=-=-=
Открываем конфигуратор — SF_ConfigurationManager, и меняем там три параметра:
Model No. – название устройства, например, я ввел KINGSTON SKC300S37A120G
Serial Number — любой серийный номер, я вводил 12345. Нажимаем кнопку Save, и это окно можно закрыть — конфигурация готова, всё это можно прошивать.
Device Nominal Form Factor – устанавливаем форм-фактор устройства, у нас он 2,5 дюйма, оставляем 2.5 inch nominal form factor
-=-=-=-=-=
В процессе попыток прошивки у меня выбивало ошибки: Format Drive Failed with extStatus c048, PanicCode=0 Решилось установкой режима "External Write Protect" при настройке конфигурации в SF_ConfigurationManager, по умолчанию стоит на No External Write Protect.
Еще получал ошибку FATAL_ERROR (0x10090020:SF_GENESIS_ALREADY_RUNNING_MFB_ERROR) — устройство подключлось, но контакты не замкнулись (перемычка из скрепки соскочила, вот почему лучше использовать ПК, а не ноутбук).
Третий раз устройство зашилось, опознало объем диска, но не опознало само устройство, возможная ошибка — модель вписал KINGSTON SKC300S37A/120G видимо софтине не понравился сисвол / в названии модели, выставил KINGSTON SKC300S37A120G и прошилось на ура.
-=-=-=-=-=
Сам процесс прошивки, когда уже все подготовлено достаточно прост:
Открываем терминал, вводим su — получаем права суперпользователя.
Вводим lsscsi — узнаем адрес нашего диска, он должен определяться как sandforce . В моём случае, адрес оказался 0:0:0:0.
Держим также открытой папку SF_Genesis-v1.7.0.01020130612-fc14-32bit
Теперь, вводим в консоль путь до SF_Genesis из вышеуказанной папки, но не руками, а просто перетаскиваем файл SF_Genesis, из папки SF_Genesis-v1.7.0.01020130612-fc14-32bit в окно консоли, и вводим пробел.
Затем вводим аргумент –PROCESS_SSD и адрес диска через пробел, например: –PROCESS_SSD 0:0:0:0
Далее, естественно — снова пробел, затем открываем папку в которую распаковались прошивки, и там находим (в папке FW_PPRO_5_8_2_Release.906190.release—0) файл с расширением .mfp, и тоже перетаскиваем его в окно консоли.
После него опять пробел, затем открываем папку Configeration_files, и там выбираем наш файл конфигурации устройства, который мы редактировали ранее, это — 27788.0.driveconfig (не перепутайте с 27788.0.edriveconfig файл "edrive" устройство не зашьет.) Перетаскиваем его в окно терминала. И вводим пробел.
Теперь введем последнее: 12345 www_123 log= и вот уже после знака "=", нужно вести какой-нибудь адрес, где можно будет создать журнал, и его имя. Для этого, перетащите, например — любой файл из папки с распакованными прошивками, и переименуйте этот файл в name.log.
Нажимаем Enter и наблюдаем за процессом прошивки (или видим какую-то ошибку). Результат может быть самым неожиданным, ведь точная причина неисправности SSD-накопителя, нам неизвестна.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
В моем случае лог выглядел так:
[root@localhost liveuser]# lsscsi
[0:0:0:0] disk ATA SandForce<200026 306A /dev/sda
[6:0:0:0] disk USB DISK 2.0 PMAP /dev/sdb
[8:0:0:0] disk Seagate M3 Portable 0708 /dev/sdc
[root@localhost liveuser]# /media/DATA/SSD/Genesis/SF_Genesis-v1.7.0.01020130612-fc14-32bit/SF_Genesis -PROCESS_SSD 0:0:0:0 /media/DATA/SSD/Firmwares/FW_PPRO_5_8_2_Release.906190.release—0/FW_PPRO_5_8_2_Release.906190.release.0.mfp /media/DATA/SSD/Firmwares/FW_PPRO_5_8_2_Release.906190.release—0/Configuration_Files/27788.0.driveconfig 12345 www_123 log=/media/DATA/SSD/Firmwares/123.log

SandForce Genesis Utility v1.7.0.01020130612-fc14-32bit
SF_Core Library: v1.7.1.20130612-fc14-32bit

Copyright 2010-2012, LSI Corporation, All Rights Reserved Worldwide.

[Mon 04/16/2018 12:50:10] — SF_Genesis has been invoked with the following parameters:

argv[1]: -PROCESS_SSD
argv[2]: 0:0:0:0
argv[3]: /media/DATA/SSD/Firmwares/FW_PPRO_5_8_2_Release.906190.release—0/FW_PPRO_5_8_2_Release.906190.release.0.mfp
argv[4]: /media/DATA/SSD/Firmwares/FW_PPRO_5_8_2_Release.906190.release—0/Configuration_Files/27788.0.driveconfig
argv[5]: 12345
argv[6]: www_123
argv[7]: log=/media/DATA/SSD/Firmwares/123.log

[Mon 04/16/2018 12:50:10] — Instructing the operating system to purge any existing cached data for device: ‘0:0:0:0’
[Mon 04/16/2018 12:50:15] — Issuing a discovery command for device: ‘0:0:0:0’
[Mon 04/16/2018 12:50:20] — Discovery command completed…
[Mon 04/16/2018 12:50:20] — Waiting 5 seconds for the system to settle…
[Mon 04/16/2018 12:50:25] — Device designation string ‘0:0:0:0’ is mapped to node ‘/dev/sg0’
[Mon 04/16/2018 12:50:25] — Proceeding to process SSD device with the following parameters:

DeviceName = /dev/sg0
MFP Package Filename = /media/DATA/SSD/Firmwares/FW_PPRO_5_8_2_Release.906190.release—0/FW_PPRO_5_8_2_Release.906190.release.0.mfp
Configuration File = /media/DATA/SSD/Firmwares/FW_PPRO_5_8_2_Release.906190.release—0/Configuration_Files/27788.0.driveconfig
Serial No. = 12345
World W >

[Mon 04/16/2018 12:50:25] — Successfully received the IDENTIFY data from the drive…
[Mon 04/16/2018 12:50:25] — Validating Manufacturing Firmware Package: /media/DATA/SSD/Firmwares/FW_PPRO_5_8_2_Release.906190.release—0/FW_PPRO_5_8_2_Release.906190.release.0.mfp
[Mon 04/16/2018 12:50:26] — Successfully opened the package: /media/DATA/SSD/Firmwares/FW_PPRO_5_8_2_Release.906190.release—0/FW_PPRO_5_8_2_Release.906190.release.0.mfp
[Mon 04/16/2018 12:50:26] — file /media/DATA/SSD/Firmwares/FW_PPRO_5_8_2_Release.906190.release—0/Configuration_Files/27788.0.driveconfig Loaded successfully
[Mon 04/16/2018 12:50:26] — Warning: Unable to query diagnostics information to perform power management settings check
[Mon 04/16/2018 12:50:26] — B01 Power Management configuration request detected
[Mon 04/16/2018 12:50:26] — Successfully extracted *.DriveConfig file: /media/DATA/SSD/Firmwares/FW_PPRO_5_8_2_Release.906190.release—0/Configuration_Files/27788.0.driveconfig
[Mon 04/16/2018 12:50:26] — Extracted Config_ID: 1 (27788) in DriveConfig file: /media/DATA/SSD/Firmwares/FW_PPRO_5_8_2_Release.906190.release—0/Configuration_Files/27788.0.driveconfig
[Mon 04/16/2018 12:50:26] — Extracted SerialOutputControl: 0
[Mon 04/16/2018 12:50:26] — Searching for flashware image for configuration 27788
[Mon 04/16/2018 12:50:26] — Manifest found for configuration 27788
[Mon 04/16/2018 12:50:26] — Flashware image extracted: 27788_fw_cl_mlc_Toshiba_B02_64Gb_TC58TEG6DDJTA00_2Q_2C_1D_S_PP_R01980_s512.vic
[Mon 04/16/2018 12:50:26] — Searching for manufacturing image for configuration 27788
[Mon 04/16/2018 12:50:26] — Manifest found for configuration 27788
[Mon 04/16/2018 12:50:26] — Manufacturing image extracted: 27788_mf_mlc_Toshiba_B02_64Gb_TC58TEG6DDJTA00_2Q_2C_1D_S_PP_R01980_s512.vic
[Mon 04/16/2018 12:50:26] — Proceeding in ROM mode, download feature 3…
[Mon 04/16/2018 12:50:26] — Successfully downloaded MFB to the drive…
[Mon 04/16/2018 12:50:26] — Waiting (5 sec) for the drive to settle…
[Mon 04/16/2018 12:50:31] — Successfully received the IDENTIFY data from the drive…
[Mon 04/16/2018 12:50:31] — Firmware revision reported to be: ‘582ABBM0’. This indicates MFB download was successful.
[Mon 04/16/2018 12:50:31] — Successfully enabled SMART capabilities…
[Mon 04/16/2018 12:50:33] — Successfully issued a diagnostic unlock…
[Mon 04/16/2018 12:50:34] — Performing the flash test of block 0 (0x0000)…
[Mon 04/16/2018 12:50:37] — Flash Test Results:

——————————————————————————
Flash Test Parameters:
——————————————————————————
Block Count: 0
Page Count: 1
Bus Count: 2
Chip Enabled Count: 2
Die Count: 1
Lane Count: 4
Plane Count: 2
——————————————————————————
Results Notes:
————————
N1 — At least one page tested and passed with no bit errors.
N2 — No test data available. Test may have aborted, or failed during the testing.
N3 — At least one page tested and had errors less than or equal to half the range of ECC correction power.
N4 — At least one erased page tested had bit error rate greater than half the correction power.
N5 — Walking zeros test failed.
N6 — Walking ones test failed.
N7 — Block contained factory bad block markings and testing was skipped.
N8 — At least one page tested and had bit error rate greater than the correction power on plane 0.
N9 — Block in plane 0 was marked as a factory bad block.
N10 — At least one page tested and had bit error rate greater than the correction power on plane 1.
N11 — Block in plane 1 was marked as a factory bad block.
——————————————————————————

[Mon 04/16/2018 12:50:37] — Performing the FORMAT Command with the following parameters:

MemoryWearCycleCapability = 0
CurrentPE_CycleCount = 0
LifeInSeconds = 0
LogicalCapacity = 234441648
SectorSize = 512
SectorAlignmentOffset = 0
ExpectedMemory >ExpectedNumDies = 0
SerialOutputControl = 0
Time[8] = 0x0000000000000000
MiscFlag_Erase_R_Block = 0
MiscFlag_PanicHandlingEnabled = 0
MiscFlag_PanicOnSATA_Error = 0
MiscFlag_WriteThrottlingTestMode = 0
MiscFlag_DisableUserBandECCX = 0
L_PageSize = 0
E_PageSize = 0
ErrorCorrectionPower = 0
ConfigDeviceReadDisturbCount = 0
ConfigDeviceReadDisturbCountLow = 0
ExtraOptions_0_1 = 0

[Mon 04/16/2018 12:50:53] — FORMAT command completed…
[Mon 04/16/2018 12:50:53] — Waiting (2 sec) for the drive to settle…
[Mon 04/16/2018 12:50:55] — Setting up the stamp information through CDU command…
[Mon 04/16/2018 12:50:58] — Waiting (2 sec) for the drive to settle…
[Mon 04/16/2018 12:51:00] — Downloading the flashware to the drive… feature 3
[Mon 04/16/2018 12:51:02] — Successfully downloaded flashware to the drive…
[Mon 04/16/2018 12:51:02] — Waiting (15 sec) for the drive to settle…
[Mon 04/16/2018 12:51:17] — Successfully received the IDENTIFY data from the drive…
[Mon 04/16/2018 12:51:17] — Firmware revision reported to be: ‘5.8.2 ‘
[Mon 04/16/2018 12:51:17] — Enabling SMART support…
[Mon 04/16/2018 12:51:17] — Issuing a diagnostic unlock to the drive…
[Mon 04/16/2018 12:51:19] — Setting up Max LBA settings…
[Mon 04/16/2018 12:51:22] — Change of sector size is not required, sector size is already set to 512
[Mon 04/16/2018 12:51:24] — Setting the serial number of the drive to: 12345
[Mon 04/16/2018 12:51:26] — Setting the World Wide Name (WWN) of the drive to: www_123
[Mon 04/16/2018 12:51:29] — Processing completed for device: 12345
[Mon 04/16/2018 12:51:29] — Begin collecting the device post-process log/information
[Mon 04/16/2018 12:51:29] — Creating the Log Bundle…
[Mon 04/16/2018 12:51:29] — Plain text identify log created
[Mon 04/16/2018 12:51:30] — Plain text diagnostics identify log created
[Mon 04/16/2018 12:51:31] — Plain text diagnostics information log created
[Mon 04/16/2018 12:51:32] — Plain text format information log created
[Mon 04/16/2018 12:51:33] — Plain text SMART log created
[Mon 04/16/2018 12:51:34] — Plain text manufacturing defect list log created
[Mon 04/16/2018 12:51:35] — Plain text grown defect list log created
[Mon 04/16/2018 12:51:36] — Plain text panic directory listing log created
[Mon 04/16/2018 12:51:36] — Completed collecting all plain text log files.
[Mon 04/16/2018 12:51:36] — End of logs and information collection
[Mon 04/16/2018 12:51:37] — Applying the remaining ConfigUniqueDrive settings…
[Mon 04/16/2018 12:51:38] — Setting Customer ID with value : 0
[Mon 04/16/2018 12:51:38] — Setting Device Nominal Form Factor with value : 3
[Mon 04/16/2018 12:51:38] — Setting Diagnostic Unlock Key with value supplied
[Mon 04/16/2018 12:51:38] — Setting Max LBA Count for 4096 Plus DIFF Sectors with value : 0
[Mon 04/16/2018 12:51:38] — Setting Max LBA Count for 4096 Sectors with value : 0
[Mon 04/16/2018 12:51:38] — Setting Max LBA Count for 512B Plus DIFF Sectors with value : 0
[Mon 04/16/2018 12:51:38] — Setting Max LBA Count for 512B Sectors with value : 0
[Mon 04/16/2018 12:51:38] — Setting Max LBA Count for 520B Sectors with value : 0
[Mon 04/16/2018 12:51:38] — Setting Max LBA Count for 524B Sectors with value : 0
[Mon 04/16/2018 12:51:38] — Setting Max LBA Count for 528B Sectors with value : 0
[Mon 04/16/2018 12:51:38] — Setting Model No. with value : KINGSTON SKC300S37A120G
[Mon 04/16/2018 12:51:38] — Setting Power Management Version with value : 0
[Mon 04/16/2018 12:51:38] — Setting Serial Number with value : 12345
[Mon 04/16/2018 12:51:38] — Total of 1 valid MaxLBA settings were setup to be written to the drive.
[Mon 04/16/2018 12:51:40] — Successfully applied the remaining ConfigUniqueDrive settings…
[Mon 04/16/2018 12:51:40] — Issuing an IdleImmediate command to the drive…
[Mon 04/16/2018 12:51:40] — Not an Enterprise drive, so, continuing without setting master password.
[Mon 04/16/2018 12:51:40] — End of Genesis manufacturing log.
[Mon 04/16/2018 12:51:40] — Exiting…
[Mon 04/16/2018 12:51:40] — Overall Result for Device: /dev/sg0 ****** PASS ******

****** PASS ****** значит прошился, ** Fail ** значит что-то не так — курим форумы и лог, возможно где-то вы ошиблись в командах.
Теперь, завершите работу Linux, и выключите компьютер на несколько секунд. Вытаскиваем диск, подключаем к другому ПК и смотрим что получилось.

5. Финальный результат.

Устройстов живо и трудится в офисе товарища. Зачем я этим всем заморочился? Потому что все что попадает ко мне в руки "ремонтируется" до потери сознания в 5 утра, сделай или умри, такой уж характер. Товарищ мой доволен, я заработал "на пиво", а это главное в нашей жизни ))))
Зачем накидал текст, местами с копипастив куски с чужой статьи с указанием ссылок? Наболело, уж очень много времени отняло восстановление железки. Если это изложение мысли поможет хоть одному человеку — значит я писал текст не зря, имхо. В моем случае это была прошивка, а не аппаратная проблема. Всем удачи и всех благ!