[发明专利]一种读取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代码,提高了系统的稳定性,同时还降低了制造成本。

附图说明

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中星微电子有限公司,未经北京中星微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200710119404.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top