NANDflash常见问题汇总
来源:互联网 发布:手机淘宝刷単软件 编辑:程序博客网 时间:2024/06/05 05:29
掉程序(这里专指使用NAND flash的主板掉程序),这是一个让工程师浑身发毛的问题,特别是用着用着程序就没有了,往往这个时候很多工程师都无法下手,问题出现的时候你可能根本不在旁边,无法看到问题现象,而且通过测量信号也很难发现问题的原因,这个时候很多工程师可能会采用更换主板器件的方式,用排除法来定位问题,基本上换一个NAND flash就可以解决问题了。这个时候很多工程师可能就会表示NAND flash有问题,需要换厂商,换品牌。但其实还可以更加深入的去了解问题的原因,这里我总结一下我遇到过的NAND flash掉程序的情况及原因。
1.电源电压不稳导致的NAND flash程序错误
很多时候,产品在客户手中出现了问题,工程师把产品拿回来,重新烧录程序产品可以上电启动,反复测试并不会出现掉程序的情况。如果这种产品是带有电池的产品,就可以考虑一下在客户实际使用中电池的情况,当电池的电量比较低,或者在极端情况下,程序对于电池电量的检测阈值较低,这个时候主控就有可能刚刚可以启动,但是很快电量不够,NAND flash内的程序乱掉,从而无法正常启动。
解决方法可以在程序中加入或者提高电池电量检测的阈值,保证所有芯片在这个阈值上均可以正常工作。
2.DRAM工作状态不正常导致的NAND flash程序错误
主控, DRAM和 NAND flash基本构成了一个产品的最小系统。当系统中的任何一环出现问题,整个系统就可能出现问题。但是当DRAM出现问题时,有可能反映出来的是NANDflash出错,掉程序或者查明NAND flash坏块过多。对于这种情况,处理起来就会复杂一些。如果直接重新烧录程序,系统又能正常工作,则说明之前存储在NAND flash中的程序确实乱了,但是NANDflash的功能正常,特别是SLC规格的 1bit ECC 的NAND flash,出错概率非常小。因为对于NAND flash来说,只有当写数据或者擦除数据时,数据可能产生坏块,当程序只是读取的状态时,由于不涉及电荷的改变,所以NAND flash一般不会出现问题。但从程序的调试端口读到NAND flash坏块很多时,看是否有更深入的调试工具,例如JTAG等调试工具,可以深入调试NAND flash的情况。有些时候,因为一些程序误操作,导致将原本good block的标志位标记成了badblock。用过JTAG调试工具可以修改标志位,并且重新打标,重新烧录一遍程序,有可能主板又能重新启动了。
3.坏块管理未做好
因为NAND flash都面临着可能出现坏块的问题,所以必须应该对于坏块进行管理,在规格书中可以看到,坏块产生的三种情况,在编程的时候,在擦出的时候,在读取的时候。
对于这几种情况下,程序应该怎么操作,规格书中也有流程图来说明,在读取和擦除中,如果出现失败情况,就需要重新用一个块进行目标块的转移,并且对于当前块进行标识,在坏块表中进行更新。通过对于坏块表的维护,达到程序避免写入坏块中的情况。在读取程序时,也需要对于ECC进行校验,保证读取的程度是真实可靠的。但是很多工程师可能由于对于坏块管理做的不够仔细,导致产品在实际使用中,会出现掉程序的问题。工程师也应该从程序方面着手,分析一下程序对于坏块部分管理是否完善。
从上面三种类型只是部分说明了关于掉程序这个问题的一些原因。特别是对于1bit ECC的SLC NAND flash大部分适用,工程师们可以进行参考。
- NANDflash常见问题汇总
- 常见问题汇总
- 常见问题汇总
- 常见问题汇总
- 常见问题汇总
- ASP.NET常见问题汇总
- N70常见问题汇总
- Symantec Antivirus 常见问题汇总
- 数据库常见问题汇总
- Veritas常见问题汇总
- IE常见问题汇总
- PHP常见问题汇总
- SVG常见问题汇总
- VS2005常见问题汇总
- WINCE常见问题汇总
- SQLite常见问题汇总
- 必读.NET常见问题汇总
- Asterisk卡常见问题汇总
- python中字节、数组、字符串类型的
- 一张图明了Kerberos原理
- HashMap实现原理详解
- Redis 集群搭建详细指南
- 文章标题 CDN 原理
- NANDflash常见问题汇总
- Nginx Cache方面的设置
- unity动作游戏开发笔记
- redis快速入门
- UGUI使用TexturePacker自动打包图集
- 1106: 最优对称路径(最短路+记忆化搜索)
- hdu 1498 最小顶点覆盖
- filter2D图像卷积
- 波达方向估计DOA