[发明专利]支持坏块闪存扫描的启动方法有效
申请号: | 201210058090.0 | 申请日: | 2012-03-07 |
公开(公告)号: | CN102637461A | 公开(公告)日: | 2012-08-15 |
发明(设计)人: | 卢方勇;李峰;张洪柳;王璞 | 申请(专利权)人: | 山东华芯半导体有限公司 |
主分类号: | G11C29/32 | 分类号: | G11C29/32 |
代理公司: | 济南泉城专利商标事务所 37218 | 代理人: | 丁修亭 |
地址: | 250101 山东省济南市历下区(*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 闪存 扫描 启动 方法 | ||
技术领域
本发明涉及一种程序的装载与启动方法,具体是与非闪存固件的装载启动方法。
背景技术
根据与非闪存(NAND Flash)的技术要求,在出厂时允许有不多于2%的坏块(bad block),主要目的在于允许可接受比例的坏块存在可以增加产能,降低生产的成本。因此,在与非闪存的生产中会产生一些随机的坏块。为了防止数据存储到这些坏的单元中,这些坏块在IC烧录前首先必须先被识别,并被标识,隔离,用户不可见,因此这种类型的坏块并不会影响与非闪存的使用。
实际上坏块分为两种,一种是上述的在生产中过程中产生的坏块;另一种则是在使用中产生的坏块。对于后者,这是由于与非闪存只能执行有限的读和擦除次数,并且所有的闪存也都会因磨损而不能在使用。尽管使用中产生的坏块不可能被工厂所标识,但通常一个块在擦除或者烧录其一个页被报失败时,依据存储管理算法,此块也会被标识成坏块,以后就不能再访问。
支持与非闪存启动的固件也被存储在闪存上,一般对用户不可见,当然,与非闪存属于可升级闪存,用户也可以下载新版本的固件对既有的固件进行更新。一般情况下,一个闪存只有一份固件,并被固定存放在块0上(出厂前坏块被屏蔽,存储管理定义第一个好块为第0块)。随着技术的发展,固件安全性越来越多的被提出,因此,现在很多与非闪存会有一个固件加一个备份,以提高固件正常启动的成功率。当使用中存放固件的块成为坏块时,就无法进行固件的加载,导致启动失败。
一般来说,对闪存存储器会通过ECC(Error Correcting Code,错误纠正码)技术进行保护,如果读取页时发生ECC错误,则说明该块已经为坏块。但ECC仅能校验并修正部分很简单的错误,坏块无法通过ECC进行修复。
发明内容
显然,存放固件的存储空间是否损坏会影响固件最终能否被加载,而影响闪存的启动,因此,本发明的目的提供一种基于坏块扫描的闪存启动方法,提高与非闪存正常启动的概率。
那么,为了实现上述发明目的,一个技术方案表述如下:
一种支持坏块闪存扫描的启动方法,在与非闪存上分配一个存储空间用于存放固件,并在固件下载时,首先对所述存储空间进行坏块扫描,把下载的固件存放到好块中,并存储多份备份;
主机引导接入的与非闪存启动;
依据主机引导时依次扫描到的与非闪存在所述存储空间查找固件,并对查找到的固件进行错误校验,然后对错误校验通过的固件进行加载;若当前固件错误校验不通过且无法修正时,则依序查找下一份可用固件;若在所述存储空间查找溢出时,进入启动失败处理步骤。
依据上述方法,在固件下载时,首先对分配的用于存放固件的与非闪存进行坏块扫描,确保固件存储在好块中,并存储多份备份。从而,大大降低了因为无法读取固件而不能启动的概率。这里需要注意,固件不再是固定在存放在与非闪存的块0,而是被约束地存放在独立开辟的一个存储空间里,这种结构未必就会降低闪存的启动速度,假定在查找存储空间的第一个块时就命中,启动速度与既有的启动方法一样。查找被限定在有限的存储空间内,可以防止扫描固件过长而导致启动变慢。
上述支持坏块闪存扫描的启动方法,所述存储空间为与非闪存的第0块到第N块,其中N为100~250。
上述支持坏块闪存扫描的启动方法,所述固件包含用于标识该固件的固件头,且固件头被存储到分配的好块的第0页,并且该固件头包含固件代码存储所占用的总页数,并对应地包含有页号;从而,在执行查找时,以固件头为条件查找,并在查找到固件后依此加载各页上的固件代码。
上述支持坏块闪存扫描的启动方法,加载各页上的代码前要进行页错误校验,若错误校验失败且不能修正,则查找下一份固件。
上述支持坏块闪存扫描的启动方法,在多通道闪存控制器中,在闪存启动时,从通道0依次扫描各通道接入的与非闪存中存放的固件,直到找到相应固件并加载,或者在遍历各通道而没有查找到相应固件后进入启动失败处理步骤。
上述支持坏块闪存扫描的启动方法,所述启动失败处理步骤为等待下载固件。
上述支持坏块闪存扫描的启动方法,在使用MLC或TLC架构的与非闪存中对分配的用于存放固件的存储空间在存放固件前,先依据厂商提供的存储优化方法优化该存储区域。
上述支持坏块闪存扫描的启动方法,固件代码在分配的块中随机写入到被优化的页中。
附图说明
图1为依据本发明的一种支持坏块闪存扫描的启动方法所依赖的体系结构示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东华芯半导体有限公司,未经山东华芯半导体有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210058090.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:移动式双向体积管流量检定装置
- 下一篇:一种水深测量传感器