[发明专利]NAND闪存的固化代码的执行方法无效
申请号: | 201210017042.7 | 申请日: | 2012-01-19 |
公开(公告)号: | CN102609282A | 公开(公告)日: | 2012-07-25 |
发明(设计)人: | 袁宏骏;孙纪坤;李相斌 | 申请(专利权)人: | 苏州希图视鼎微电子有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F11/00;G06F11/10 |
代理公司: | 南京苏科专利代理有限责任公司 32102 | 代理人: | 陆明耀;姚姣阳 |
地址: | 215021 江苏省苏州市苏州工*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | nand 闪存 固化 代码 执行 方法 | ||
技术领域
本发明涉及SoC从NAND 闪存启动技术,尤其涉及一种NAND闪存的固化代码的执行方法。
背景技术
随着嵌入式系统的日趋复杂,实际项目对大容量数据存储的需求越来越紧迫。当前嵌入式设备低功耗、小体积以及低成本的要求也致使硬盘无法得到广泛的应用,而大容量闪存设备恰是为了满足当前这一需求而迅速发展起来。从闪存设备装载代码来启动嵌入式系统是一项基本且必要的Soc技术,如何解决Soc从闪存启动技术中的一些特定问题是目前业内的研究重点。
目前国际上成熟的Soc从闪存启动技术通常需要完成四个部分功能和过程:
第一步,首先Soc内部硬件固化的过程代码被执行,这段硬件固化的过程代码将对闪存进行基本的初始化,然后把闪存中的装载程序代码调入SoC内部的高速缓存中(如图1所示);
第二步,片内高速缓存中的装载代码被执行,初始化内存并将启动代码从闪存拷贝到内存中(如图2所示);
第三步,内存中的启动代码被执行,初始化外部系统及其相关设备,并将操作系统核心代码从NAND闪存拷贝到内存中(如图3所示);
第四步,内存中的操作系统核心被执行,执行操作系统的控制任务(如图4所示)。
然而,NAND 闪存不同于其它存储设备,它的标准定义中允许有局部坏块,这些坏块散布在整个NAND闪存的不同位置,存在坏块的位置无法正确的进行数据访问。同时,大多数NAND闪存的硬件存在数据不可靠性的特征,不同厂商的不同型号NAND闪存对访问它的设备有数据纠错的要求,随着生产工艺日益发达,NAND闪存的容量增加,这种纠错的功能要求也越来越多。
有鉴于此,有必要提供一种新的NAND闪存的固化代码的执行方法来解决上述问题。
发明内容
为解决上述技术问题,本发明的目的在于提供一种NAND闪存的固化代码的执行方法。其通过采用坏块忽略的方法保证数据的正确性,同时装载代码在闪存中可以保存一个或多个,进而确保了装载代码数据读取的正确性。
为实现上述发明目的,本发明提供的一种NAND闪存的固化代码的执行方法,该方法包括如下步骤:
S1、启动固化代码以初始化NAND闪存,并为读取NAND闪存中的装载代码做准备。
S2、读取并解析所述NAND闪存中的装载代码,所述装载代码在NAND闪存中可设置具备相同文件格式的一个或者多个,且所述装载代码不保存在有坏块的数据区中,当读取过程中某一数据区出现坏块时,忽略对该数据区的访问并跳到下一个数据区进行访问。
作为本发明的进一步改进,所述对装载代码的读取过程按照从后向前的顺序逐一访问,所述每一个数据区包括一物理数据区号和一逻辑数据区号,出现坏块的数据区的逻辑数据区号为空。
作为本发明的进一步改进,所述步骤S2中“读取装载代码”的还包括采用数据错误检测及数据纠错过程(ECC)对数据进行处理。
作为本发明的进一步改进,所述装载代码的文件格式包括:文件标识、文件标识起始标志、若干数据段、文件数据结束标志以及文件数据校验码。
作为本发明的进一步改进,所述数据段包括:数据长度信息、数据类型信息、数据段地址信息以及数据内容或数据表单内容。
作为本发明的进一步改进,所述固化代码支持NAND闪存行业标准ONFI 2.0(Open NAND Flash Interface 2.0)。
作为本发明的进一步改进,所述固化代码参数保存于一系统参数表中,所述系统参数表的参数获取方式包括搜索固化代码内部NAND闪存设备参数表、或者从支持ONFI 2.0标准的NAND闪存获取、或者读取NAND闪存首页保存的参数表。
作为本发明的进一步改进,所述固化代码中包括一保存多种型号NAND闪存参数的设备参数表,且固化代码支持设备参数表中保存的各型号NAND闪存。
作为本发明的进一步改进,所述设备参数表中为每一种型号的NAND分别配置唯一的ID。
与现有技术相比,本发明通过采用坏块忽略的方法保证数据的正确性,同时装载代码在闪存中可以保存一个或多个,保证在某一数据区出现坏块时可跳转到另一数据区进行数据的读取,从而确保了装载代码数据读取的正确性,且实现方法简单。
附图说明
图1是现有技术中Soc从闪存启动的步骤一的工作原理示意图;
图2是现有技术中Soc从闪存启动的步骤二的工作原理示意图;
图3是现有技术中Soc从闪存启动的步骤三的工作原理示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州希图视鼎微电子有限公司,未经苏州希图视鼎微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210017042.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种口香糖瓶
- 下一篇:一种大型伺服注塑机的动力系统