SM 2263XT AC主控双贴闪迪BGA304闪存M.2硬盘踩坑记录

这次DIY操作的起因是这样的,2018年时买的一块M.2西数黑盘(不是后来非常火爆的SN750,而是个更早期的型号SN700,据说是西数最早的M.2黑盘固态,几乎找不到什么资料):

这是当年京东自营购买记录查到的商品信息:

前段时间使用过程中电脑直接死机了,这块盘还是这台机器的系统盘,随后发现重启后也无法进系统,但是BIOS里倒是还能识别出这块硬盘。于是,抱着试一试的心态,把这块盘换到了另一台机器的副盘M.2口上,结果发现系统设备里能认到这个盘,但是不显示盘符且无法进行任何操作,比如删除分区等,包括用fdisk尝试删除重建分区都会提示错误,最后忘了用什么工具查看的,发现这个盘锁只读了,同时用Crystal Disk Info查看SMART有一堆报错,此时我意识到这个盘恐怕是凶多吉少了。

由于我之前有过一次类似问题的处理经验:一块西数绿盘SATA SSD,也是用着用着硬盘直接不能识别了,可能是传说中的掉固件,最后是把盘上的4个BGA132闪存颗粒拆下来,移植到了某宝买的SM 2258XT套料板上,然后没怎么费劲就找到了大佬的“SM2258XT万能包v2-一个工具开几乎所有制程(Avidia-Modify)”量产工具,成功量产,完美复活(也没跑RDT),这次这个感觉如法炮制应该也可复活。

于是,先拆颗粒:

可以看到是BGA304封装的,顺手还挑战了一把拆带胶芯片(缓存,最后虽然拆下来了,但是一片狼藉…😂也没有除胶刀,只能先作罢了)。

细看闪存颗粒丝印:

颗粒查询网站上根本查不到这个05562 256G,看来只能盲试了。特意买了个304的3D钢网,先给颗粒植个锡:

用的0.5mm的锡球,比之前搞BGA153的0.3mm球操作难度低多了。

然后,开始寻找合适的套料板,原盘应该是最早的一波NVME M.2硬盘,PCI-E 3.0带宽的,于是我直接忽略了所有SATA固态套料板,直接寻找NVME M.2的、双贴BGA304的,最终锁定了这个SM 2263XT的板子:

小黄鱼特意找了一家不是最便宜,但是说可以提供一定技术支持的卖家。下单前和卖家沟通时就问了一些情况,比如要贴什么颗粒之类的,发了上面的颗粒照片,卖家查了下也没查到,又问了原盘标签,发过去后说没见过西数的这个型号😂。不过最后还是给了一些建议,包括要选AC的主控不要AD,原因是AD开我这种比较老的颗粒(18年左右)可能会出问题,另外就是贴好颗粒后要去掉R8电阻,以及R57可能需要改200k,但是这两个的原理都没说。无所谓了,现在又是死马当活马医的阶段,买它。

到手后看了下板子,貌似是某种公版,上面有丝印:SM2263XT_BGA304X2_6L_V1031-RS,搜索了下,某宝和某鱼上虽然不多,但都能看到有一些卖同款的(主控有AD,还有2263ENG的)。

先焊了一颗闪存,这里还研究了一下,按ChatGPT的说法,一般靠近主控近的是一通道颗粒位置,但是买到的这个板子从丝印(F5)看是远离主控位置是一号颗粒位置。

焊好后用M.2硬盘盒(买的时候也没注意主控,后来查设备vendor id发现应该是JMS583,还好没买螃蟹的,不然据说量产工具都没法用)连电脑,很快识别出ROM模式1G容量的设备,并且板子上靠近颗粒位置的红色LED在闪,也说明了目前是ROM模式。

紧接着就是第一个踩到的坑,量产工具能识别主控,但是识别不出闪存ID!立马慌了,以为两颗闪存都阵亡了。后来和黄鱼卖家沟通了下,说闪迪颗粒必须拆掉R8,这个我后来自己查这个板子的资料才知道,这是传说中的土狗Toggle跳线,如果搭配非土狗颗粒,就会出现无法识别ID的情况,于是照做拆掉,这里我顺便把查到的所有关于这个板子的跳线资料先都贴出来:

拆掉R8后,再次插电、开机,果然,量产工具顺利识别出了闪存ID:

可以看到是个2CE的颗粒,ID是:453E99B37A72,查了下https://flashinfo.top/,能看到一些型号的颗粒,有几个丝印和我这个05562接近的,黄鱼卖家也说西数的颗粒编号非常混乱,哈哈。

最后结合买这个盘的年份,感觉应该就是闪迪BiCS3颗粒(小飞机大佬总说的必死3),于是用卖家给的量产工具里BiCs3组里的开始尝试开卡,工具里面能成功Auto出这个ID的颗粒:

这里刚开始时没理解1die、2die是什么意思,后来用gpt补了下知识,最后才知道对应的是颗粒多die,实际影响是如果选1die的话最大只能开出一半容量。

随后开始开卡,然后就遇到了第二个坑,忘了截图,但是报错信息是“pretest tran adj failed”。这个问题最开始网上搜索资料说是闪存频率过高了,量产工具默认时DDR-266,经过不断的测试,发现降到DDR-100后可以过这步(后来才知道,这不是我这个颗粒报这个错的正确处理方法),但是在开卡快结束,大概90%左右的时候,又报了这个错误:

Write InfoBlock Fail (0x50),Comapre Info Block Checksum Fail (0x28),(0x21) _SmiPtestCompareInfoCheckSum Report Fail, (0x09) Info Block Checksum is Different

这个报错是这次DIY操作过程中耗费我时间第二多的问题,不过,还是先按顺序说吧,上面那个闪存频率的问题,我虽然没直接问卖家,但是当我问他上面这个Write InfoBlock Fail的问题时,他再次提到R57要改成200k电阻的事,但是依然没说什么原理,于是我开始自己查资料,按照上面我发的那几个跳线图,能看到他说的200k是改VCCQ电压的跳线,默认100k是1.2V,改200k的话,是1.8V,按照我查到18年左右BiCS3闪存资料,又问了GPT,得到的结论是大概率我这个颗粒应该是1.8V的,如果给1.2V VCCQ的话,就有可能导致高频通信时波形畸变,误码报之前的错。

这里又有一个问题,按照卖家的说法,应该把R57改200k,但是按我找到的原理图来看,这里应该是调整降压IC的反馈端分压电阻,按标注上看应该是改旁边接地的那个R58才对,不过我最后还是按黄鱼卖家说法改了R57(现买的0201电阻包,还研究了半天怎么稳妥的焊上,人生第一次挑战0201电阻拆焊,B站上看了不少教程,感觉大部分教程类的都没什么代表性,周围空空荡荡的,烙铁也能焊,不像这个2263XT板子,要改的电阻旁边还有别的0201阻容元件,离的很近,一不小心就可能伤及无辜🤣)。

改完200k后,再次上电,果然!不用降闪存频率也能过pretest tran adj这步了,后来研究Write InfoBlock Fail问题时,卖家又让我改回100k,我觉得不对,就没动,最后看确实应该就是跳1.8V,另外,这里按照跳线说明还有一个R8旁边的R10,Flash IO power selection,表格上说BiCS3也要用0R跳上,不过网上查到的资料说是跳不跳都没啥影响,我实测也是没啥影响,不过也没长时间使用验证,所以保险起见,最后还是给它跳上了。

接下来,回到第二难题,省略排查过程以及各种失败的尝试,直接记下个人认为有效的关键操作:

首先,当然还是联系的黄鱼卖家,当时他给的方案就是让我再改会1.2V的VCCQ,同时发了我一个量产工具版本“SM2263XT_SndkBics4_PKGV0209_FWU0708A3”。改VCCQ我思考了下没有执行,但是,他给的这版量产工具,虽然标的是BiCS4的,但是我试了下Auto也可以识别出我这BiCS3的颗粒,然后最神奇的是,居然真的可以成功开卡(复制了Firmware\WD\BiCS4一份为BiCS3,不然开卡时会报错找不到文件)!

但是,开卡后的盘初始化+格式化后,只要进行大文件读写操作,就会掉盘,甚至掉固件(无数次的尝试后,总结看主要还是读,写的话比如写个几十MB的小视频文件,弹出,再插上读取都没问题,但如果是个1G+的文件,就会出现写完后硬盘主板靠近主控的红LED一直闪,硬盘无响应,弹出也没反应,强行拔掉USB,再插回就可能出现要么文件能识别,但是一往回拷就卡死,或者就是直接固件崩溃,不认盘,提示没有初始化,但是任何操作又都报错),这就是这次DIY硬盘的头号问题!

暂时回到刚才的第二难题,虽然卖家给的BiCS4量产工具能过,但我始终觉得有点不对,经过不断尝试后,我发现如果把之前用的BiCS3量产工具“SM2263XT_SndkBics3_PKGT0902A_FWT0828A3_256Gb”里的Firmware\WD\BiCS3内文件拷到BiCS4开卡工具里的同相对路径文件夹内后,它也是可以开卡成功的,并且插上后看到的固件版本也确实是BiCS3工具的版本,接着,我找到了量产工具里的SWPretestDll\SWPtest.dll这个DLL,把它从BiCS4量产工具里拷贝的BiCS3工具同路径并覆盖,然后再用BiCS3的开卡,就不会报二号问题了!感觉是这个工具的这个动态库有什么兼容BUG导致的,二号问题我用这种杂交的方式感觉是解决了。黄鱼卖家之前给的量产工具BiCS3的还有好多不同版本,我用同样的方法测试了一些其他版本,发现有的替完DLL后exe就没法启动了,报错找不到DLL函数入口,应该是这个库的导出API不同版本有过变化,反正最后就是用“SM2263XT_SndkBics3_PKGT0902A_FWT0828A3_256Gb”成功的,其他的版本就没再研究。

最后记录下开卡后读写掉盘这个头号难题最终的解决办法:

在不断反复开卡,读写测试,掉盘的循环中,我最开始以为颗粒是阵亡了,本来都要认为DIY失败放弃了,结果在mydigit论坛上看到了一些朋友发的类似DIY硬盘操作,遇到同样问题时需要跑下RDT,把坏块识别出来,然后开卡时隔离掉这些坏块的做法,于是准备再挣扎一下,跑个RDT看看。

之前DIY 2258XT时我就查到了这个RDT操作,按网上的说法,这种出过故障的硬盘闪存移植后都建议先跑下RDT。现在回想起来,当时移植2258XT的原始系数绿盘应该是主控掉固件出的问题,闪存本身没啥问题,所以当时也没跑RDT,开卡后也做过全盘读写测试,并且用到现在也没什么问题,现在看来只是狗屎运罢了。

先说一下,在跑RDT之前,我还用量产工具的“Copy Compare”做过一些测试:

这应该是开卡后的一个读写QC验证操作,而这个操作,如果用默认的50MB配置,什么问题都没有就能过!可一旦调大到500MB左右,就会发现,最后测试的时候,数据都写完,再读的时候一会就卡死了,和我之前格式化后读写测试一个现象!

接下来就是不太痛快的跑RDT过程,首先是2263XT量产工具的RDT配置:

这里一开始也不知道哪对哪,就默认参数跑的,Total Fail Count给的是50。刷完RDT固件后,量产工具上能看到蓝色的RDT标识,随后过一会,就能看到主控旁边的LED灯在慢闪,论坛上看到人家说如果是用JMS桥接转换卡的话,跑RDT不能关机,这个我头铁试过,关机后过一会儿可能会出现快闪,常量的LED状态,但是再插上USB(不短接ROM)后,提示没有RDT分区,获取不到RDT信息!

关于这个RDT的状态LED,论坛上看到最多的说法是,慢闪是正在跑,快闪是RDT失败(比如达到了某个Fail Threshold),常亮是成功,一开始我以为我这个板子也是,但最后回头看,完全对不少号!我最后跑成功是挂了一晚上,然后它一直是红灯慢闪,用手指触摸主控能感到温度明显比刚开始跑时要低,刚开始时是烫到不能一直接触的状态,这个论坛也有人说不要看LED,如果有电流表的话看电流来判断状态,我没有电流表,只能人肉判断了…🤣

第一次成功读到RDT结果是没动Total Fail Count时,结果得到的是个失败的RDT结果:

随后,又把所有失败阈值全都改成Don’t Care又跑了一次,这次得到了Pass的RDT结果:

可以看到还是有不少坏块的,估计之前原盘的主控也是因为检测到出现了很多坏块,然后才锁的只读吧。

在RDT Pass后,再次开卡,选择参考RDT结果,成功后,再次进行读写测试,果然,不再掉盘了,检查了下SMART,测了个速也都正常:

速度没记错的话基本和西数原盘时差不多。

前前后后折腾了得有两周多,好在最后还是成功复活了,现在各种存储价位都水涨船高,费了这么大劲感觉也值了,博客上做个记录,留个参考。

博主友情提示:

如您在评论中需要提及如QQ号、电子邮件地址或其他隐私敏感信息,欢迎使用>>博主专用加密工具v3<<处理后发布,原文只有博主可以看到。