[发明专利]一种读取CPU代码的方法及装置无效
申请号: | 200710119404.2 | 申请日: | 2007-07-23 |
公开(公告)号: | CN101086715A | 公开(公告)日: | 2007-12-12 |
发明(设计)人: | 张浩 | 申请(专利权)人: | 北京中星微电子有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 宋志强;麻海明 |
地址: | 100083北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 读取 cpu 代码 方法 装置 | ||
技术领域
本发明涉及读取代码的方法,尤其是指一种读取CPU代码的方法及装置。
背景技术
由Intel公司在1988年开发的或非闪存(Nor Flash)和由东芝公司在1989年开发的与非闪存(Nand Flash)是市场上两种最主要的非易失闪存。在现有技术中,由于Nor Flash支持代码的本地运行,稳定性很好,并具有较快的数据读出速度,所以通常被用来存储CPU的指令代码。但随着技术的飞速发展,片上系统(SOC,System On Chip)的规模越来越大,嵌入式CPU的功能也越来越强,其所需的代码量随之急剧增加,因此所需要的Nor Flash的存储容量也相应加大。但是,由于Nor Flash在制造过程中难以实现较高的存储密度,因此NorFlash的存储容量一般都比较小,大容量Nor Flash的制造成本比较高,因此造成了整个系统的总成本比较高。
与Nor Flash相比,Nand Flash在制造过程中容易实现很高的存储密度,因此具有更大的存储容量,其存储容量通常为Nor Flash的几十倍或几百倍,而且其制造成本也相对低廉,一般被用于大容量的数据存储。但是,Nand Flash的缺点在于稳定性不够好,容易出现坏块,从而导致所存储的内容丢失。而现有技术中的使用Nand Flash来存储并读取CPU代码的方案中,没有将所存储的CPU代码备份到Nand Flash中的不同的块中,当Nand Flash中出现坏块时,将导致这个块中所存储的CPU代码丢失,而如果在系统中发生CPU代码丢失的情况,则将使得整个系统的稳定性变得很差,因此现有技术中使用Nand Flash来存储并读取CPU代码的方法都存在着稳定性差的缺点。
发明内容
有鉴于此,本发明的主要目的在于提供一种读取CPU代码的方法及装置,使得可稳定可靠地使用与非闪存来存储CPU代码。
为达到上述目的,本发明的技术方案是这样实现的:
一种读取CPU代码的方法,该方法包括:将存储在与非闪存中的CPU代码备份到与非闪存中至少两个不同的块中,当从与非闪存中读取的CPU代码不正确时,读取备份代码;
判断所读取的备份代码是否正确,如果备份代码正确,则将所述备份代码覆盖与非闪存中所存储的相应的CPU代码及其备份代码;如果备份代码不正确,则对备份代码进行错误检测和纠错;
当对所述备份代码的错误检测和纠错不成功时,判断当前所读取的备份代码是否为最后一个备份代码,如果是,则报错,结束流程;否则,读取下一个备份代码,并返回执行所述判断所读取的备份代码是否正确的步骤;
当对所述备份代码的错误检测和纠错成功时,将所述错误检测和纠错成功后的CPU代码覆盖与非闪存中所存储的相应的CPU代码及其备份代码。
一种读取CPU代码的装置,其特征在于,该装置包括:CPU单元,缓存单元,与非闪存控制单元和与非闪存单元;所述CPU单元从所述缓存单元中读取CPU代码,向所述与非闪存控制单元发送控制命令;所述缓存单元将代码发送给所述CPU单元,接收所述与非闪存控制单元发送的CPU代码;所述与非闪存控制单元根据所述CPU单元发送的控制命令向所述与非闪存单元发送读取命令,接收所述与非闪存单元发送的CPU代码;对接收到的CPU代码进行错误检测和纠错(ECC)校验;如果校验正确无误,将所述接收到的CPU代码发送给所述缓存单元;如果发生ECC错误,则对所述接收到的的CPU代码做ECC纠错;如果纠错成功,则将纠错后的代码分别发送给所述缓存单元和与非闪存单元;如果纠错失败,则重新向与非闪存单元发送读取命令,从与非闪存单元读取所述发生错误的CPU代码的其他备份代码,重复上述检验步骤,直至将正确的CPU代码传输给所述缓存单元和所述与非闪存单元;所述与非闪存单元将所存储的CPU代码备份到至少两个不同的块中,根据所述与非闪存控制单元的读取命令,从块中读取CPU代码,将所读取的CPU代码发送给所述与非闪存控制单元;根据接收到的所述纠错后的代码,覆盖相应的CPU代码及其备份代码。
综上可知,本发明提供了一种读取CPU代码的方法及装置,通过使用NandFlash来存储CPU代码,并将存储在Nand Flash中的CPU代码备份到与非闪存中至少一个不同的块中,使得当Nand Flash中出现坏块时,可读取Nand Flash中相应的其他块中的备份CPU代码,并可根据备份CPU代码对出现错误的CPU代码进行纠错,从而可稳定可靠地使用Nand Flash来存储CPU代码,提高了系统的稳定性,同时还降低了制造成本。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中星微电子有限公司,未经北京中星微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710119404.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:散热装置
- 下一篇:一种将手机和电脑集成在一起的方法