搜索
查看: 12898|回复: 18

[折腾] 关于ECC级别的一些问题说明

[复制链接]
发表于 2021-10-3 09:16:38 | 显示全部楼层 |阅读模式
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 都当成好的, 容量就大了。

    ECC=12, 表示 Error 数 < 12 都当成好的, 容量就小了。

    FLASH 的 ECC 是表示FLASH能够承受的纠错能力,ECC要求越大的FLASH表示FLASH质量越不稳定,对于黑片FLASH来说,如果量产工具ECC开的越大,容量虽然高了,但是量产出来的FLASH的稳定性肯定要差一些,如果要想量产出来的U盘稳定性好一些,ECC尽量少开一些。
回复

使用道具 举报

 楼主| 发表于 2021-10-3 09:31:41 | 显示全部楼层
我的U盘,见帖子
https://bbs.luobotou.org/thread-50684-1-1.html


我把ECC改成1,量产后U盘,从64G变成21G,但是拷写文件速度不错,两个1.5G的电影,平均速度6-7M/S,
2.png
回复

使用道具 举报

发表于 2021-10-3 10:12:58 | 显示全部楼层
厉害了,学习学习,方便下一次折腾
回复

使用道具 举报

发表于 2021-10-3 14:52:54 | 显示全部楼层
所以这就是大部分山寨黑片盘容量只开一半冒充MLC的原因吗
回复

使用道具 举报

发表于 2021-10-3 17:23:10 | 显示全部楼层
我只能说U盘主控的标法跟固态主控不一样

你MLC的颗粒在SSD上 RDT=15可能才只能勉强通过
TLC正片颗粒在固态上,RDT开到35都不一定能过。
回复

使用道具 举报

发表于 2021-10-3 17:24:02 | 显示全部楼层
一、原装正片闪存 ECC=0 就可以量产通过。
在固态硬盘测试时可不一定适用

还请不要误导小白谢谢
回复

使用道具 举报

发表于 2021-10-3 18:28:17 | 显示全部楼层
乐迷晓科 发表于 2021-10-3 17:23
我只能说U盘主控的标法跟固态主控不一样

你MLC的颗粒在SSD上 RDT=15可能才只能勉强通过

好的,学习了。
回复

使用道具 举报

发表于 2021-10-3 21:47:09 来自手机 | 显示全部楼层
所以,这是黑片压缩容量以稳定读写的意思?
回复

使用道具 举报

联系我们(Contact)|手机版|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2024-12-23 03:14 , Processed in 0.093836 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表