背景
参考文章:https://blog.csdn.net/weixin_42385296/article/details/129213613
参考文章:https://www.bilibili.com/read/cv22039916/
参考文章:https://www.yrxitong.com/h-nd-370.html
使用软件:
MyDiskTest_v298
ChipGenius_v4.21.0701
想着双11在淘宝买个U盘,本来想着淘个可以用的大U盘,也想着淘工厂应该没有假货,想不到买回来后续发现数据突然丢失,然后一查就发现是扩容盘,特意记录下扩容修复。
检测
先使用MyDiskTest进行快速扩容测试
使用ChipGenius检测主要控件
量产
参考文章:https://www.upantool.com/jiaocheng/liangchan/Chipsbank/13332.html
控件下载网站:https://www.upantool.com/liangchan/Chipsbank/
先用芯邦CBM2099S/CBM2199C量产工具APTool V7100(2018-01-19),
然后再用芯邦CBM2199A/C/S主控量产工具UMPTool V7100(2018-08-24)
具体设置都已参考文章为主。
GPIO错误0025
参考文章:https://blog.csdn.net/m0_64563956/article/details/131950931
如果出现类似下图的错误
是由于版本不对导致的。根据参考文章上的地址下载对应的控件即可(V7200)
设置如图-APTool
然后使用UMPTool,设置如下
ECC级别的一些问题说明
参考文章:https://grandbutterfly.com/hardware/grandbutterfly-4b142ceb5a1404f1cf01c.html
ECC是“Error Checking and Correcting”的简写,中文名称是“错误检查和纠正”。ECC是一种能够实现“错误检查和纠正”的技术,ECC也可以解释为“Error Correction [or Correcting] Code”,还可以解释为 Error Correction Circuit。
下面说一下ECC的具体设置的影响范围及如何利用ECC得到想要的效果。
一、原装正片闪存 ECC=0 就可以量产通过。
因为ECC是用来检查、纠正错误的,ECC=0时就表示没有检查、校正功能,原装正片出厂坏块是标识出来的,其它块都是好的,在工厂经过老化测试的很稳定,所以ECC=0也能量产通过;ECC值越大就表示能检查、纠正更多的错误,那么对Flash的容忍度就越好,即使有些不稳定因素导致错误,ECC也能纠正过来,所以黑片就需要开大点ECC。
**二、比如16G芯片,ECC=5量产出15G的话,ECC=1只能出12G,那么12G-15G的部分容量去哪里了? **
这个例子里ECC=5时量产出来15G,而ECC=1只能量产出来12G,就表示有3G的容量不太稳定,容易出错,如果ECC=1时这3G出错了不能校正过来,就当作坏块了;ECC=5时这3G出的错能被5位ECC校正过来,当作了好块使用,这3G的差别就是这么来的。
三、如果一直加大ECC,比如ECC=15会发生什么?
黑片ECC=15意味着用来检测错误的冗余位更多(有15位),能检测、校正更多的错,就可以容忍稳定性差的Flash。ECC的最大值要取决于Flash支持多少位。
再容易理解一点,我们把 ECC 当成 “最大容许 Error 数”, 就比较容易明白,所以:
ECC=15, 表示 Error 数 < 15 都当成好的, 容量就大了。
CC=12, 表示 Error 数 < 12 都当成好的, 容量就小了。
FLASH 的 ECC 是表示FLASH能够承受的纠错能力,ECC要求越大的FLASH表示FLASH质量越不稳定,对于黑片FLASH来说,如果量产工具ECC开的越大,容量虽然高了,但是量产出来的FLASH的稳定性肯定要差一些,如果要想量产出来的U盘稳定性好一些,ECC尽量少开一些。
恢复后
再使用MyDiskTest测试