[发明专利]基于NandFlash存储介质的固件程序检测方法有效
| 申请号: | 200910104931.5 | 申请日: | 2009-01-09 |
| 公开(公告)号: | CN101710302A | 公开(公告)日: | 2010-05-19 |
| 发明(设计)人: | 覃敏;李志雄 | 申请(专利权)人: | 深圳市江波龙电子有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F12/02 |
| 代理公司: | 深圳市睿智专利事务所 44209 | 代理人: | 陈鸿荫 |
| 地址: | 518057 广东省深圳市南*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 nandflash 存储 介质 程序 检测 方法 | ||
技术领域
本发明涉及电数字数据处理,特别是涉及电数字数据处理中通过软件的测试或调试防止错误,尤其涉及基本Nand Flash作为存储介质的固件程序检测方法。
背景技术
Nand Flash即“与-非”闪存是一种非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何Nand Flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。参见图3,现有技术在固件程序Firmware管理数据的时候,当需要写入数据到块A中的某个位置时,则需要选择一个可用块B,将B擦除干净,然后分别把A的数据A1搬到B1,把需要写入的数据写入B2,把A3数据写入B3,再把逻辑映射表指向B块,从而完成一次写入。实际操作中,考虑到速度的优化,在地址连续写入的时候,或者跨区Zone轮流写入的时候,还有更复杂的闪存Flash管理流程。
目前,测试固件程序FW逻辑读写的方式都采用文件拷贝比较或者Burn In Test测试软件,其方式都是写入数据B2,然后读取B2,看是否匹配;这两种方式都有在Flash管理中需要频繁搬运数据的特点。但是存在这种现象:B2是搬对了,但是B1和B3在从A1、A3过来的时候搬错了,对于这些搬错的B1、B3,上述的拷贝比较工具并不能及时发现。甚至在后面的操作中,覆盖了B1或者B3,从而忽略了曾经发生的错误。
传统的测试方法是做文件拷贝后进行数据比较,或者用测试软件做全盘数据写入后进行读取匹配,这些方法都存在测试覆盖Firmware算法分支不全面,并且发生数据不匹配后无法辅助分析Firmware错误原因的缺陷。
Nand Flash领域中的开发难点主要包括坏块管理、损耗平衡、逻辑映射,其中验证逻辑映射算法的正确性是一件复杂的工作,具有调试难、覆盖算法分支难、问题重现难的特点,通常研发人员在编写程序完成后,都是交付测试部门的人员,通过文件拷贝进行逻辑算法正确性的验证。通过拷贝比较来发现逻辑映射算法不足之处主要有两个途径,一个是手工拷贝文件到存储器中,拷满后,通过文件比较工具File Compare进行数据比较,发现其中数据不匹配的情况,再反馈给研发人员;另外一种方法是使用随机数填充、比较软件进行测试,例如Burnin软件、wrtest软件等,自动进行随机写入和读取比较,从而发现写入和读取不匹配的情况。以上两种方法都有着明显的缺陷是:测试时间长,没有针对性,无法生成测试脚本,无法复现错误,无法给研发人员分析问题所在提供有价值的参考信息。
发明内容
本发明要解决的技术问题在于避免上述现有技术的不足而提出一种的基于NandFlash存储介质的固件程序检测方法,从而令现有技术中存在的测试时间长、没有针对性、无法生成测试脚本、,无法复现错误、无法给研发人员分析问题所在提供有价值的参考信息等缺陷得到解决。
本发明解决所述技术问题可以通过采用以下技术方案来实现,该方案是基于NandFlash存储介质的固件程序检测方法,包括步骤:
A.判定待测试的基本NandFlash的存储器是否为新生产的存储器,如是,即对所述存储器以随机数进行全盘填充;如否,则执行步骤B;
B.在所述存储器逻辑读写范围内随机选择一个逻辑扇区地址Addr,然后随机选择N个扇区作为操作长度;
C.读取步骤B中已选中地址Addr前面、从地址Addr-M到Addr扇区地址的M个扇区数据,再读取从地址Addr+N到Addr+N+M扇区地址的M个扇区数据,即读取所述扇区地址Addr到addr+N这段所选目标数据的前后M个扇区;
D.从所述逻辑扇区地址Addr起,写入N个扇区的随机数据;如果超过SCSI命令限制的一次64k的限制,则拆分后写入;
E.从所述逻辑扇区地址Addr-M开始,连续读取所述M+N+M个扇区的数据,获取步骤D写入操作后当前目标设备逻辑扇区地址上的数据;
F.将步骤C读取的数据和步骤D写入的数据、与步骤E读取的数据进行比较,判定写入前后数据是否匹配;如是,则执行步骤B;如否,则将所述两组数据分别存入两个文件中,再执行步骤B。
在步骤B中所述“随机选择N个扇区”,其中N可为1至255中任一整数。在步骤C中所述“M个扇区”中,其中M可为1至256中任一整数。
本发明采用的上述技术方法的有益效果在于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市江波龙电子有限公司,未经深圳市江波龙电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910104931.5/2.html,转载请声明来源钻瓜专利网。





