大家好!
ACE Lab 技术支持部门收到了大量来自您这边的关于基于流行 SMI 控制器(如 SM2258XT、SM2259XT、SM2259XT2)的现代固态驱动器的请求。所有这些控制器从 2020-2021 年开始就在 PC-3000 UDMA、Express 和 Portable III 中得到完全支持,现在如果您的目标驱动器中有这些控制器之一,我们可以尝试指导您如何恢复它。

无论如何,来自客户方面的大量请求促使我们撰写这篇文章,它可以作为一个方便的指南——如何正确处理这些驱动器以及如何初始化正确的加载程序。
在我们开始之前,先简要介绍一下加载程序——它是什么,以及谁该负责?!
PC-3000 SSD 中的加载程序——是一个经过 ACE Lab 工程师额外更新、修改和改进的内部 SSD 固件。
当我们启动驱动器并看到它显示错误的身份标识、错误的容量或处于 BSY 状态时——这是因为内部固件错误。通常,此错误是由于 SSD 中 NAND 芯片上存在大量坏扇区而出现的。

任何 SSD 出现 BSY 状态的原因
要打破这个无限循环,需要找到短接引脚,并将驱动器短接在安全模式下。这将帮助我们阻止对 NAND 芯片和内部固件的访问,并开启将 ACE Lab 加载程序上传到驱动器 RAM 的可能性:


安全模式引脚通常在 SM2258/SM2259XT 上标有 ROM 标记
之后,我们可以上传加载程序并见证 PC-3000 SSD 的神奇之处:

加载程序包含以下特性:
-
关闭后台进程(内部组件检查、TRIM 等);
-
更慢但更稳定的单通道访问 NAND 内存芯片;
-
检测正确的 SSD NAND 配置;
-
改进的错误处理;
-
解锁技术模式功能;
-
解锁隐藏的工厂功能(密码管理、恢复出厂设置等)。
利用加载程序的力量,可以解决大量与不稳定工作或完全损坏的 SSD 相关的不同问题。
对于诸如 SM2260G、SM2262ENG、SM2263XT、PS5007、PS5008、PS5012、PS5013、PS5016、SM2246XT、SM2256K、PS3108、PS3109、PS3110、PS3111、PS3112 等驱动器,加载程序是通用的,并经过优化,可与任何类型的内部固件和 NAND 内存芯片 ID 一起使用。
不幸的是,对于 SM2258XT 和 SM2259XT,无法创建通用的加载程序来适应任何类型的内部固件和 NAND 内存芯片配置。相反,用于这两种控制器的工具有一个加载程序列表。实际上,加载程序的数量非常非常多。
这些加载程序中的每一个都包含有关以下 SSD 详细信息:
-
主控制器单元;
-
NAND 内存芯片制造商和类型;
-
内部 SSD 固件版本。
所有这些参数对于驱动器初始化都极其重要。如果 NAND 芯片受支持,但内部固件版本不同——加载程序很可能不兼容,您将看到关于错误固件的消息,或者在读取 NAND 信息期间看到大量 ECC 错误。
所有这些问题使得 SM2258XT 和 SM2259XT 的恢复有点复杂,因为如果自动加载程序选择对您当前的项目不起作用,您将不得不手动选择它。
那么,我们该怎么做呢?非常简单! 这里有一个我们如何处理 SM2258XT 的示例(顺便说一下——SM2259XT 的解决方案几乎相同)。
首先,根据我们拥有的控制器类型,我们需要选择任何兼容的工具:

当然,我们应该记住,驱动器必须处于安全模式并永久短接!
在我们的案例中,我们有 SM2258XT,所以让我们选择 SmartBuy – Silicon Motion:

下一步是选择控制器:

当控制器被选中后,工具将进行基本的驱动器初始化。在这里我们可以看到安装在此驱动器上的 NAND 芯片类型。如我们所见,它是:

0x45489AB3 – 7EF20000 由 Sandisk 制造,代号为 64L BiCS3 TLC 16K。
当我们要求工具显示兼容的加载程序时,我们发现工具自动帮助我们选择了用于 BiCS3 内存芯片的加载程序:

在第一次尝试上传加载程序后,我们终于可以读取有关内部固件的信息了!它是 T0910A0 BiCS3_02。必须从加载程序列表中选择这个:

当过程结束后,我们完成了驱动器的完整初始化,并且可以重建转换器:

初始化过程完成

驱动器处于技术模式并准备就绪,可以重建转换器

自定义转换器重建命令

当转换器构建过程结束后,就可以在 DE 中基于工具创建新任务,并访问用户数据:


就是这样!
如果您仍有任何疑问,请随时向 ACE Lab 技术支持部门寻求帮助。