• 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧
  • 欢迎加博主微信:jiang_shaobo

闪存质量问题调查报告

点滴 admin 5年前 (2015-01-27) 321次浏览 已收录 扫描二维码

最近在网上看到了A11的NAND驱动,开始怀疑有批次平板的闪存芯片是不是质量有严重问题,是不是在用所谓的“固件升级”在隐瞒什么呢?

如果各位经常出现data丢失、文件系统损坏、甚至不能刷固件的现象,请回复下以下信息:



1. 机器版本,固件版本

2. 是否开启了barrier=1,看http://www.ondabbs.cn/thread-219815-1-1.html

3. 进行测试。首先取出外置TF卡避免测试结果发生干扰,取出后要重启下。没有外置TF卡的可直接开始。

4. 开机一段时间后,在adb或者终端模拟器应用上输入su回车,然后输入dmesg|busybox grep PHY回车。把结果回复在本贴子里。



结果解析:

如果命令输出结果有这个:PHY_PageRead : too much ecc err,bank xxxx block yyy,page zzz

说明你的NAND坏得有点厉害。虽然说任何NAND芯片都会有一定的坏块,但是连ECC检验算法都救不活的闪存明显是不合格的。

如果是PHY_PageRead: ecc limit aa bb cc dd这种也是种错误,是遇到坏块了,ECC检验算法达到最大允许量,要比先前一种好点。



我先来我的:

1. v972 v.133

2. 开了barrier=1

3. 输出结果:

接近30个:PHY_PageRead: ecc limit, 0xa, 0x0, 0xa, 0x0



附:为什么说PHY_PageRead: ecc limit是闪存有问题的证据:

看drivers/block/sun5i_nand/src/physic/nand_phy.c(A11闪存驱动,A31应该也差不多),788行,PHY_PageRead函数中:

if(ret == ECC_LIMIT)

{

PHY_ERR(“%s : %d : ecc limitn”,FUNCTION,LINE);

}



再看drivers/block/sun4i_nand/src/include/nand_type.h,340行左右:

//define the return value

#define ECC_LIMIT 10 //reach the limit of the ability of ECC

#define ERR_MALLOC 11 //request buffer failed

#define ERR_ECC 12 //too much ecc error

#define ERR_NANDFAIL 13 //nand flash program or erase fail

#define ERR_TIMEOUT 14 //hardware timeout

#define ERR_PHYSIC 15 //physical operation module error

#define ERR_SCAN 16 //scan module error

#define ERR_FORMAT 17 //format module error

#define ERR_MAPPING 18 //mapping module error

#define ERR_LOGICCTL 19 //logic control module error

#define ERR_ADDRBEYOND 20 //the logical sectors need be accessed is beyond the logical disk

#define ERR_INVALIDPHYADDR 21



注释说的很清楚,ECC_LIMIT是因为ECC已经达到极限,而ERR_ECC(也就是PHY_PageRead : too much ecc err)是连ECC都救不活的坏块。

以上代码均出自全志官方源代码。



结论

建议只出现PHY_PageRead : ecc limit的用户,可以打开barrier=1再观察下还出现错误不。如果没出问题可以算了。

建议出现大量PHY_PageRead : too much ecc err、PHY_PageRead: read timeout、PHY_PageWrite: writetimeout这些错误的用户立即要求昂达返修平板。

此类平板闪存有严重问题,无法用固件修复。除非你能忍受一个三天两头数据全丢失的平板。

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。