切换到宽版
  • 21630阅读
  • 77回复

[综合]再次告诫新手:Flash不要看“仅读标记坏块”,一定要"全新+AA55",甚至低格测试! [复制链接]

上一主题 下一主题
离线羊村村长
 

发帖
10888
M币
468
专家
123
粉丝
1654
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2014-03-28
新手、老手都瞅瞅!

直奔主题!

16片MT29F64G08CBABA,别人说是好的,经过测试的(原话:芯片全是新的,我全部低格过的

我测试了一下,只测试了4片就进行不下去了,惨不忍睹啊!

不说了,上图

第1片
识别



清空



仅读标记坏块,看着还不错是吧,6个坏块



全新+AA55, ECC=4,3941个坏块!8G的片子,只剩下270M
(ECC=0的话根本就过不去)



再次清空



第2片
识别



清空



仅读标识坏块,3个坏块



全新+AA55, ECC=4, 2149个坏块,剩下一半容量



最后再清空



第3片
识别



清空



仅读标识坏块,3个坏块



全新+AA55, ECC=4, 3109个坏块,还剩1.8G



再次清空



第4片
识别


清空




仅读标识坏块,3个坏块




全新+AA55,ECC=4, 1228个坏块



最后再清空



剩下的12片也懒得测试了,浪费时间,最近实在是没什么时间折腾这些东西,偏偏还碰上这样子的垃圾!




先给新手普及一点Flash的基础知识,老手可以跳过
1. NandFlash由于本身的特性和工艺,不能保证所有存储单元都是好的,所以即使新出厂的NandFlash也可能包含坏块!而且由于制程的提高,坏块发生的比率越来越高!
2. NandFlash在出厂时,厂家已经经过了多重严格的测试,将一些坏块都标识出来了,这些坏块包括本来就是坏的、不能用的坏,或者在一些苛刻条件下不稳定的块。怎么标识呢?
3. 首先说说Flash的结构,在Flash中,有很多块(Block),每个块(Block)有很多页(Page),每个页有512字节、2K字节等不同的大小。不同款的Flash,页大小可能不同(同一款Flash中,每个页大小是一样的)。
我们以512字节页大小的Flash来举例,其实页大小512字节的Flash,一般每个页还有16字节的冗余空间, 我们称之为OOB,在OOB中,也是可以存储数据的,厂家就会在块的某个页的OOB中做个记号,来表示这个块是好的还是坏的!
以前512字节页大小的Flash,有2种规格,在每个Block的前2个页的OOB(16个字节)的第1个字节,或者第5个字节标识本块是好的还是坏的,这个字节是“FF”就表示本块是好的,这个字节是“非FF”就表示本块是坏的。这个字节我们叫做坏块标识
具体是在OOB的第1个字节?还是第5个字节来做坏块标识?要看Flash具体的规格书!
4. 好了,说完了OOB,我们继续。
厂家的坏块标识,我们称之为原厂坏块标记。一般正常操作Flash时,每操作一个块之前,都要先判断块是好的还是坏的,好的就可以操作,坏的就跳过!
一旦我们用强力擦除的方式将所有Flash块都擦除了,那么原厂坏块标识就有没有了!那么我们就得在使用前检测每个块来确定是不是好的!
这个方法其实有缺陷,因为有些坏块是厂家在严苛条件下测试才发现有问题的,一般的测试根本验证不出来坏,所以嵌入式系统工程中,严格的做法是一定要保留原厂坏块标记的!
不过,由于软件开发过程、生产流程等问题,也有可能导致原厂坏块标记丢失。特别是在U盘、SSD DIY领域,大量使用拆机Flash,大部分时候,Flash的原厂坏块是被擦除掉了的!
所以,我们只能用软件的方法逐个检测每一个块,看是好的还是坏的?
U盘、SSD的量产工具就有这个功能,比如安国的U盘量产工具,就可以在量产时选择一些方式检测Flash,包括重建坏块标识。
在安国的量产程序中,“仅读坏块标识”这个选项其实严格来说,只针对全新的Flash(从生产厂家出来后没有用过的)有效!如果Flash经过多次擦除、写入,已经产生了很多新的坏块,或者说原厂标识被擦除了,那么这个选项是不准确的。
所以,我们需要用到清空、然后全新+AA55的方式(当然还有其它方式),甚至要用到低格!
之前就发现过,高格,全新+AA55都不能检测出问题,必需低格才能发现坏块太多的例子!在我之前做SSD/ U盘的时候有遇到过,我发过帖子!有兴趣的可以找找看

所以,最后总结:
1、测试Flash时,不要只用“仅读标识坏块”的方法,多做一步,清空,再全新+AA55来测试。如果在使用中存在莫名其妙的问题,可以尝试低格看看
2、很多老手在卖Flash时,往往只贴“仅读标识坏块”的测试图,这样是省时间,但是如果Flash将来别人买去有问题,容易产生纠纷!


很久没来论坛发帖子了,就写这些吧



补充一些:
1、 4楼的刀哥说的我很赞同,现在的Flash,制程越来越先进,所以也容易出现突发错误,因此现在的Flash都支持很高的ECC,比如每512字节12位,每2K字节24位等等。量产、或者测试时,适当调高一点ECC会减少坏块,不过,我个人认为,不宜太高,我一般用4---8,太高我觉得不是很安全(个人感觉)
不过,这几片Flash,我不是不想提高ECC,而是ECC=8, ECC=12, ECC=15时,统统测试不过!
我是放在清空器上,清空、ECC=4测试;清空、ECC=8测试;清空、ECC=12测试;清空、ECC=15测试,循环测试了5遍以上,ecc=4是能通过,其它的都不能通过!!!????
个人猜测:这些Flash已经坏块太多了,ECC加大,有时能测试过去,所以减少了坏块,但是在格式化文件系统时,中途往往发生错误,导致格式化时出错!
第一片多测试了几次,
ECC=4时测试多几次,有时坏块多,有时坏块少,这是最少的一次!




ECC=8时,没有一次成功




ECC=15时,没有一次成功






2、 2楼的坛友设置ecc=0,这个我也不建议,因为现在Flash制程越来越先进,导致发生突发错误的机会越来越大,所以,有几位ECC来做纠错还是有必要的,但是我不提倡设太高,我一般4---8,太高我觉得不保险(个人想法)


3、0坏块的Flash,确实有,我自己遇到不少,特别是老制程的Flash。


4、16楼的坛友说的很好!我很赞同,如果ecc不开,都能测试到仅为个位数坏块的Flash,绝对好东西!


[ 此帖被羊村村长在2014-03-29 01:48重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共41条打赏M币+173专家+1
离线灰灰

发帖
4854
M币
7569
专家
2
粉丝
65
只看该作者 1楼 发表于: 2014-03-28
请登录后查看
离线kamijo

发帖
674
M币
2434
专家
1
粉丝
22
只看该作者 2楼 发表于: 2014-03-28
Re:再次告诫新手:Flash不要看“仅读标记坏块”,一定要"全新+AA55",甚 ..
请登录后查看
本帖最近打赏记录:共1条打赏M币+5
离线sjzjiawei

发帖
3466
M币
3527
专家
12
粉丝
261
只看该作者 3楼 发表于: 2014-03-28
Re:再次告诫新手:Flash不要看“仅读标记坏块”,一定要"全新+AA55",甚 ..
请登录后查看
本帖最近打赏记录:共1条打赏M币+5
离线dahaitaba

发帖
787
M币
1678
专家
4
粉丝
360
只看该作者 4楼 发表于: 2014-03-28
Re:再次告诫新手:Flash不要看“仅读标记坏块”,一定要"全新+AA55",甚 ..
请登录后查看
本帖最近打赏记录:共2条打赏M币+10
离线科冠维修

发帖
1219
M币
290
专家
0
粉丝
83
只看该作者 5楼 发表于: 2014-03-29
Re:再次告诫新手:Flash不要看“仅读标记坏块”,一定要"全新+AA55",甚 ..
请登录后查看
离线懒虫包子

发帖
9556
M币
1654
专家
69
粉丝
590
只看该作者 6楼 发表于: 2014-03-29
请登录后查看
离线iamminglei

发帖
1106
M币
12
专家
9
粉丝
48
只看该作者 7楼 发表于: 2014-03-29
请登录后查看
离线笑着无奈

发帖
3812
M币
151
专家
40
粉丝
11764
只看该作者 8楼 发表于: 2014-03-29
请登录后查看
本帖最近打赏记录:共1条打赏M币+5
离线nightday

发帖
1960
M币
135
专家
3
粉丝
63
只看该作者 9楼 发表于: 2014-03-29
Re:再次告诫新手:Flash不要看“仅读标记坏块”,一定要"全新+AA55",甚 ..
请登录后查看
快速回复
限80 字节
温馨提示:所有技术区严禁灌水,“沙发”“顶”字样;禁止广告贴;以免被删除
 
上一个 下一个