一种从nandflash启动处理系统的方法及装置的制作方法

文档序号:6581703阅读:107来源:国知局
专利名称:一种从nand flash启动处理系统的方法及装置的制作方法
技术领域
本发明涉及一种从NAND FLASH启动处理系统的方法,本发明还涉及一种从NAND FLASH启动处理系统的装置。
背景技术
处理系统的启动代码,例如BIOS (Basic Input/Output System),用于启动整个处 理系统,一般存于ROM (Read Only Memory)中。然而,处理系统启动代码也可以存在外部非 易丢失性内存中,如NOR FLASH,NAND FLASH等。其中,NAND FLASH由于其容量和可靠性较 高,使用寿命较长的优点,在很多设备中使用,作为存储启动代码、系统数据和用户数据的 内存,如GPS,MP3,MP4,便携式笔记本,高清播放机,智能手机,数码相机等。请一并参阅图1,图1为一个现有技术从NAND FLASH启动处理系统的装置的结构 图。NAND FLASH 105包括多个储存块,每一储存块包括多个储存页,其用于存储处理系统的 启动代码、应用程序代码和用户数据;NANDFLASH接口 104用于从NAND FLASH 105中读取数 据;中央处理单元101用于根据所述启动代码启动所述处理系统;只读内存ROM 102用于 存放系统引导代码,所述引导代码用于控制所述NAND FLASH接口 104从NANDFLASH 105中 获得处理系统的启动代码,所述引导代码是一次性写入的,写入后无法改变;内部RAM 103 用于存放从NAND FLASH 105中读到的各种代码,供中央处理单元101执行。当系统上电时,中央处理单元101从只读内存ROM 102中读取系统引导代码。系 统引导代码的功能包括控制NAND FLASH接口 104产生复位命令使NAND FLASH 105复位。所述复位命令 如图2所示,图2为现有技术NAND FLASH的复位命令的时序图。控制NAND FLASH 接口 104 读取 NAND FLASH 105 的 ID。一种 NANDFLASH 只有唯一 的ID,所述ID与NAND FLASH的基本参数一一对应,所述基本参数包括存储页大小、存储 块大小以及对应的纠错码要求的位数。所述NAND FLASH接口 104内部有预先设置好的NAND FLASH的ID表,所述ID表 中记载不同种类的NAND FLASH的ID与其基本参数一一对应的关系,在所述中央处理单元101的控制下,所述NAND FLASH接口 104根据接入系统的 NAND FLASH 105的ID查找所述ID表,得到所述NAND FLASH105的基本参数,根据所述NAND FLASH 105的参数产生页读取命令,读取所述NAND FLASH 105中的系统启动代码到内部 RAM 103中,所述页读取命令如图3所示,图3为现有技术NAND FLASH的页读取命令的时序 图。当整个系统启动代码都读取到所述内部RAM 103后,中央处理单元101执行所述启动 代码,启动所述处理系统。然而,当接入处理系统的NAND FLASH 105的ID在所述NAND FLASH接口 104的所 述ID表中查找不到时,所述NAND FLASH接口 104因当前接入的NAND FLASH 105的基本参 数未知,将不能产生正确的储存页读取命令从所述NAND FLASH 105中读取所述处理系统的 启动代码,这将导致所述处理系统启动失败。5
然而,例如常用的NAND FLASH的储存页大小并不统一,包括每个储存页2048 字,每个储存页4096字节,每个储存页8192字节以及每个储存页8192字节以上的NAND FLASH。当接入处理系统的NAND FLASH的ID在所述NAND FLASH接口 104的所述ID表中 查找不到时,在所述NAND FLASH的储存页大小未知的情况下,所述NAND FLASH接口 104将 不能产生正确的页读取命令从所述NAND FLASH中读取所述启动代码,导致所述处理系统启 动失败。发明内容
为解决现有技术从NAND FLASH启动处理系统的方法必须获得NANDFLASH的基本 参数才能从NAND FLASH中获得启动代码的问题,本发明提供一种不须获得NAND FLASH的 基本参数也能直接从NAND FLASH中获得启动代码的从NAND FLASH启动处理系统的方法。一种从NAND FLASH启动处理系统的方法,其特征在于所述处理系统的启动代码分 成若干个数据大小等于第一预设值的代码片段,所述NANDFLASH包括若干个储存页,所述 代码片段从每一所述储存页的一个预定字节开始储存在所述储存页中。所述处理系统启动 方法包括根据所述第一预设值,从所述储存页各自的所述预定字节开始读取所述代码片 段,获得所述处理系统的启动代码;根据所述处理系统的启动代码启动所述处理系统。与现有技术相比较,本发明提供的从NAND FLASH启动处理系统的方法中,由于处 理系统的启动代码分成若干个数据大小等于第一预设值的代码片段分别储存在所述储存 页中,所述代码片段储存的位置以及其大小对于任何的NAND FLASH都不改变,只需要读取 每一个储存页中,所述储存页预定字节开始至所述第一预设值之间的数据,即可以获得所 述启动代码,启动处理系统,因此,本发明提供的从NAND FLASH启动处理系统的方法不必查 找NAND FLASH的基本参数,可以直接从读取NAND FLASH中读取处理系统的启动代码,因此 本发明的从NAND FLASH启动处理系统的方法比较简便,能够适用于各种NAND FLASH。同时,为解决现有技术从NAND FLASH启动处理系统的装置必须获得NAND FLASH 的基本参数才能从NAND FLASH中获得启动代码的问题,本发明提供一种不须获得NAND FLASH的基本参数也能直接从NAND FLASH中获得启动代码的从NAND FLASH启动处理系统 的装置。一种从NAND FLASH启动处理系统的装置,所述处理系统的启动代码分成若干个数 据大小等于第一预设值的代码片段,所述NAND FLASH包括若干个储存页,所述代码片段从 每一所述储存页的一个预定字节开始储存在所述储存页中。所述处理系统启动装置包括 启动代码获取模块,用于根据所述第一预设值,从所述储存页各自的所述预定字节开始读 取所述代码片段,获得所述处理系统的启动代码;系统启动执行模块,用于根据所述处理系 统的启动代码启动所述处理系统。与现有技术相比较,本发明提供的从NAND FLASH启动处理系统的装置中,由于处 理系统的启动代码分成若干个数据大小等于第一预设值的代码片段分别储存在所述储存 页中,所述代码片段储存的位置以及其大小对于任何的NAND FLASH都不改变,所述启动代 码获取模块只需要读取每一个储存页中,所述储存页的预定字节开始至所述第一预设值之 间的数据,即可以获得所述启动代码,所述系统启动执行模块即可根据所述处理系统的启 动代码启动处理系统,因此,本发明提供的从NAND FLASH启动处理系统的装置不必查找NAND FLASH的基本参数,可以直接从读取NAND FLASH中读取处理系统的启动代码,因此本 发明的从NAND FLASH启动处理系统的装置比较简便,能够适用于各种NAND FLASH。


图1为一个现有技术从NAND FLASH启动处理系统的装置的结构图;图2为现有技术NAND FLASH的复位命令的时序图;图3为现有技术NAND FLASH的页读取命令的时序图;图4为本发明从NAND FLASH启动处理系统的方法的第一实施方式的流程图;图5为本发明从NAND FLASH启动处理系统的方法一种优选实施方式中的步骤 S102的具体流程图;图6为本发明从NAND FLASH启动处理系统的方法的第二实施方式使用的NAND FLASH中各种数据的储存位置示意图;图7为本发明从NAND FLASH启动处理系统的方法第二实施方式的流程图;图8为本发明从NAND FLASH启动处理系统的装置第一实施方式的结构示意图;图9为本发明从NAND FLASH启动处理系统的装置一种优选实施方式的结构示意 图;图10为本发明从NAND FLASH启动处理系统的装置第二实施方式的结构示意图。其中,10、20从NAND FLASH启动处理系统的装置;11、21系统启动执行模块;13、 23启动代码获取模块;131、231资料读取模块;133、233纠错模块;235校验模块;15NAND FLASH。
具体实施例方式在本发明的从NAND FLASH启动处理系统的方法中,所述NANDFLASH包括若干个储 存页,所述处理系统的启动代码分成若干个代码片段,所述代码片段的数据大小等于一第 一预设值,所述第一预设值小于所述NAND FLASH的一个储存页的大小。所述代码片段从所 述储存页的一个预定字节开始储存在所述储存页中,且每一所述储存页中对应储存一个所 述代码片段。只要满足所述代码片段从所述预定字节开始可以连续地储存在所述储存页 中,则所述预定字节可以是所述储存页的任何一个字节。所述代码片段储存时,既可以从低 位的字节开始顺序地储存,例如从第一个字节开始到第IOM个字节结束;也可以从高位的 字节开始倒序地储存,例如从最后一个字节开始到倒数第IOM个字节结束。所述代码片段的数据大小等于一第一预设值,所述第一预设值可以根据实际情况 设定,但也必须满足所述代码片段从所述预定字节开始可以连续地储存在所述储存页中。 一般设置所述第一预设值远小于所述常用的NANDFLASH的储存页数据容量大小。所述第一 预设值与NAND FLASH的种类无关,不因NAND FLASH的基本参数不同而改变。所述处理系 统的启动代码以所述第一预设值为基数分成若干个所述代码片段,如果所述启动代码的数 据总大小不是所述第一预设值的整数倍,则通过补入无效数据(例如补入数据零)的方法 使所述代码片段的数据大小都等于所述第一预设值。在本实施方式中,所述第一预设值为IOM字节。当前常用的NANDFLASH的一个储 存页的数据容量包括每页2048字,每页4096字节,每页8192字节以及每页8192字节以7上的。将所述处理系统的启动代码分成若干个大小为IOM字节的所述代码片段,如果所述 启动代码的总数据大小不是IOM字节的整数倍的,则通过补零的方式使每一个代码片段 的数据大小都达到IOM字节。请参阅图4,图4为本发明从NAND FLASH启动处理系统的方法的第一实施方式的 流程图。本发明的从NAND FLASH启动处理系统的方法包括以下步骤在步骤S102中,根据所述第一预设值,从所述储存页各自的所述预定字节开始读 取所述代码片段,获得所述处理系统的启动代码。在本发明的从NAND FLASH启动处理系统的方法中,因为所述代码片段的位置和大 小在任何一种NAND FLASH中都相同。在本实施方式中,对于任何一种NAND FLASH,所述代 码片段都储存在所述储存页的所述预定字节开始到第IOM个字节结束。因此,只需要读取 所述NAND FLASH的储存页中所述预定字节开始到第IOM个字节结束的数据,就会得到所 述代码片段,所述代码片段可组合成完整的所述处理系统的启动代码。在步骤S104中,根据所述处理系统的启动代码启动所述处理系统。与现有技术相比较,本发明提供的从NAND FLASH启动处理系统的方法中,由于处 理系统的启动代码分成若干个数据大小等于第一预设值的代码片段分别储存在所述储存 页中。所述代码片段储存的位置以及其大小对于任何的NAND FLASH都不改变,只需要读取 每一个储存页中,所述储存页的预定字节开始至所述第一预设值之间的数据,即可以获得 所述启动代码,启动处理系统,因此,本发明提供的从NAND FLASH启动处理系统的方法不必 查找NAND FLASH的基本参数,可以直接从读取NAND FLASH中读取处理系统的启动代码,因 此本发明的从NAND FLASH启动处理系统的方法比较简便,能够适用于各种NAND FLASH。作为一种优选实施方式,所述代码片段只储存在所述NAND FLASH的第一个储存块 的若干个储存页中。在一块NAND FLASH出厂之前,一般对其第一个存储块进行检测,保证所述第一个 存储块在其预设的纠错能力下,可以正确地进行读写。所以,通常NAND FLASH的第一个存 储块的质量较好,亦即,储存在NAND FLASH的第一个存储块的数据比较不易丢失。处理系 统的启动代码是比较重要的数据,因此本实施方式中将所述代码片段都储存在NAND FLASH 的第一个存储块的储存页中。读取所述NAND FLASH的第一个存储块的储存页中,从所述预 定字节开始到第IOM个字节的数据为所述代码片段,即可获得所述处理系统的启动代码。由于将所述代码片段储存在NAND FLASH的第一个存储块中,即使其他储存块由于 擦写次数过多而导致数据出错率过高,也不影响所述启动代码的正常读取,确保可以根据 所述启动代码启动处理系统。作为一种优选实施方式,在所述NAND FLASH的每一个储存页中,可进一步预先储 存一个数据大小等于一第二预设值的代码片段纠错码,所述第二预设值与所述第一预设值 的和小于所述储存页的大小。所述代码片段纠错码储存在所述储存页中紧接所述代码片 段的位置,则,储存在每一储存页中的所述代码片段纠错码的数据大小相等,对于任何NAND FLASH其位置和大小不变。所述第二预设值的大小可以预先设定,实际上,根据所述第二预 设值的大小不同可以选用不同的位数的纠错码,对于任何一种NAND FLASH都应用相同的纠 错码。由于随着对NAND FLASH擦除和烧录的次数增加,储存在NANDFLASH中的数据出错8的可能性也会相应增加,所以每一 NAND FLASH出厂时,一般都会标明其储存页采用的纠错 码的最小位数。例如每512字节数据对应1位纠错码,每512字节数据对应4位纠错码, 每512字节数据对应8位纠错码,每512字节数据对应12位纠错码,每IOM字节数据对应 M位纠错码等。由于本发明中,所述处理系统的启动代码被分成多个所述代码片段,通过 调整所述代码片段的数据大小,可使该储存页中具有足够的储存空间储存较大位数的纠错 码。例如,所述储存页的大小为2048字节,如果所述代码片段的大小(即所述第一预设值 的大小)选取为IOM字节,则有IOM字节的空间可储存所述代码片段纠错码。当所述第 二预设值为观字节时,所述代码片段纠错码可采用观个字节的纠错码,如用BCH16纠错码 需用观字节作为纠错码,可纠正16位数据错误,可报告超过16位数据错误;当所述第二预 设值为56字节时,可使用56字节的纠错码,如用BCH32纠错码,可纠正32位数据错误,可 报告超过32位数据错误;也可以使用数据量更大的,纠错能力高于32位的纠错码。请参阅图5,图5为本发明从NAND FLASH启动处理系统的方法一种优选实施方式 中的步骤S102的具体流程图。在本实施方式中,所述步骤S102包括以下步骤S1022根据所述第一预设值,从所述储存页各自的所述预定字节开始读取所述代 码片段。如果所述第一预设值的大小为IOM字节,则产生页读取命令,读取从所述储存页 的所述预定字节开始到第IOM字节的数据为所述代码片段。S1024根据所述第二预设值,从所述代码片段结束的位置开始读取所述代码片段 纠错码。如果所述第二预设值的大小为观字节,则读取从所述储存页的第1025字节开始 到第1052字节的数据为所述代码片段的纠错码。S1026根据所述代码片段的纠错码对所述代码片段进行纠错处理,根据纠错处理 后的所述代码片段获得所述处理系统的启动代码。根据每一所述储存页中的所述代码片段的纠错码,对同一储存页中的相应所述代 码片段进行纠错处理。当所述代码片段的出错的数据位数在所述代码片段的纠错码的纠错 能力范围之内时,执行纠错处理;当所述代码片段的出错的数据位数在所述代码片段的纠 错码的纠错能力范围之外时,表明这个NAND FLASH是坏片或所选用的纠错码的纠错能力不 适合这种类型的NAND FLASH,可选用更高能力纠错能力的纠错码。使用纠错码对每一代码片段都进行纠错处理,降低由所述代码片段组成的启动代 码的数据出错率,保证系统正常启动。同时,由于储存所述代码片段之后,所述储存页还有 较大的空间可以使用,所以可采用占用空间较大的,但纠错能力更高的纠错码,进一步降低 所述代码片段的数据出错率。作为一种优选实施方式,所述储存页中,可进一步预先储存一个数据大小等于第 三预设值的用户自定义数据,以及一个数据大小等于第二预设值的代码片段纠错码,所述 第三预设值、所述第二预设值与所述第一预设值的和小于所述储存页的大小。所述用户自 定义数据储存在所述储存页中紧接所述代码片段的位置,所述代码片段纠错码储存在所述 储存页中紧接所述用户自定义数据的位置。所述用户自定义数据的内容可由用户根据自己的需要设定,可用于记载用户管理信息。同时,所述纠错码应为所述代码片段和所述用户自定义的数据的纠错码。假设所述第一预设值的大小为IOM字节,所述第三预设值的大小为4字节,所述 第二预设值的大小为观字节。则在步骤S102中,读取从所述储存页的所述预定字节开始到第IOM字节的数据 为所述代码片段;读取从所述储存页的第1025字节开始到第10 字节的数据为所述用户 自定义数据;读取从所述储存页的第10 字节开始到第1056字节的数据为所述代码片段 的纠错码。并且,根据所述代码片段的纠错码对所述代码片段和所述用户自定义数据进行 纠错处理。在所述储存页中增加储存所述用户自定义数据,使用户可以通过编辑所述用户自 定义数据自由设置处理系统启动时的管理信息,使处理系统的启动方式更加人性化。请参阅图6,图6为本发明从NAND FLASH启动处理系统的方法的第二实施方式使 用的NAND FLASH中各种数据的储存位置示意图。所述第二实施方式的从NAND FLASH启动处理系统的方法与第一实施方式相比,其 区别在于所述NAND FLASH在第1个储存页至第N_1个储存页中,每一储存页依次储存所述 代码片段,所述用户自定义数据以及所述代码片段的纠错码,在第N个储存页中则预先储 存一个数据大小等于所述第一预设值的第一验证码,所述第一验证码为根据对所述处理系 统的启动代码执行预定运算而获得,其从所述预定字节开始储存在所述第N个储存页中。通过执行所述预定运算获得的所述第一验证码的大小一般小于所述第一预设值 的大小,对其不足所述第一预设值的部分补零(无效数据),使所述第一验证码与所述代码 片段的数据大小相等。在所述第N个储存页中,紧接所述第一验证码之后储存的是所述用 户自定义数据,其数据大小等于所述第三预设值;紧接所述用户自定义数据之后储存的是 所述第一验证码的纠错码,其数据大小等于第二预设值。所述第三预设值、所述第二预设值 与所述第一预设值的和小于所述储存页的大小。请参阅图7,图7为本发明从NAND FLASH启动处理系统的方法第二实施方式的流 程图。本发明第二实施方式的从NAND FLASH启动处理系统的方法包括以下步骤S602从所述NAND FLASH中读取所述代码片段、所述用户自定义数据、所述代码片 段纠错码、所述第一校验码以及所述第一校验码的纠错码。假设所述第一预设值的大小为IOM字节,所述第三预设值大小为4字节,所述第 二预设值的大小为观字节。则,在步骤S602具体为从第1个所述储存页至第N-I个储存页中,读取从所述储 存页的所述预定字节开始到第IOM字节的数据为所述代码片段;读取从所述储存页的第 1025字节开始到第10 字节的数据为所述用户自定义数据;读取从所述储存页的第10 字节开始到第1056字节的数据为所述代码片段的纠错码。在第N个储存页中,读取从所述储存页的所述预定字节开始到第IOM字节的数据 为第一验证码;读取从所述储存页的第1025字节开始到第10 字节的数据为所述用户自 定义数据;读取从所述储存页的第10 字节开始到第1056字节的数据为所述第一验证码 的纠错码。10
S604对所述代码片段,以及所述第一验证码进行纠错处理,获得所述处理系统的 启动代码和第一验证码。根据所述代码片段的纠错码对所述代码片段和所述用户自定义数据进行纠错处 理,根据纠错处理后的所述代码片段获得所述处理系统的启动代码;根据所述第一验证码 的纠错码对所述第一验证码进行纠错处理,获得所述第一验证码。S606对所述处理系统的启动代码执行预定运算,生成第二校验码,将所述第一校 验码与所述第二校验码比较,检验所述处理系统的启动代码。在步骤S606中,对获得的所述启动代码执行与获得所述第一验证码相同的预定 运算,获得第二验证码,当所述第一验证码与所述第二验证码相同时,所述获得的启动代码 有效。S608根据检验有效的所述处理系统的启动代码启动所述处理系统。与所述第一实施方式相比较,所述第二实施方式的从NAND FLASH启动处理系统的 方法中,所述NAND FLASH中进一步储存所述第一验证码,对从所述NAND FLASH中获得的启 动代码执行预定预算获得所述第二验证码,根据所述第一验证码和所述第二验证码验证启 动代码是否有效,可以进一步减少从所述NAND FLASH中获得的启动代码出错的机会,进一 步保证所述处理系统能够正常启动。以下是一段计算所述第一验证码和所述第二验证码的计算机程序
权利要求
1.一种从NAND FLASH启动处理系统的方法,其特征在于所述处理系统的启动代码分 成若干个数据大小等于第一预设值的代码片段,所述NANDFLASH包括若干个储存页,所述 代码片段从每一所述储存页的一个预定字节开始储存在所述储存页中;所述处理系统启动方法包括根据所述第一预设值,从所述储存页各自的所述预定字节开始读取所述代码片段,获 得所述处理系统的启动代码;根据所述处理系统的启动代码启动所述处理系统。
2.如权利要求1所述的从NANDFLASH启动处理系统的方法,其特征在于,每一所述储 存页中进一步储存一个数据大小等于第二预设值的代码片段纠错码,所述代码片段纠错码 储存在所述储存页中紧接所述代码片段之后的位置;所述根据所述第一预设值,从所述储存页各自的所述预定字节开始读取所述代码片 段,获得所述处理系统的启动代码的步骤包括根据所述第一预设值,从所述储存页各自的所述预定字节开始读取所述代码片段; 根据所述第二预设值,从所述代码片段结束的位置开始读取所述代码片段纠错码; 根据所述代码片段纠错码对所述代码片段进行纠错处理; 根据纠错处理后的代码片段获得所述处理系统的启动代码。
3.如权利要求1所述的从NANDFLASH启动处理系统的方法,其特征在于,每一所述储 存页中进一步储存一个数据大小等于第三预设值的用户自定义数据,以及一个数据大小等 于第二预设值的代码片段纠错码,所述用户自定义数据储存在所述储存页中紧接所述代码 片段之后的位置,所述代码片段纠错码储存在所述储存页中紧接所述用户自定义数据之后 的位置;所述根据所述第一预设值,从所述储存页各自的所述预定字节开始读取所述代码片 段,获得所述处理系统的启动代码的步骤包括根据所述第一预设值,从所述储存页各自的所述预定字节开始读取所述代码片段; 根据所述第三预设值,从所述代码片段结束的位置开始读取所述用户自定义数据; 根据所述第二预设值,从所述用户自定义数据结束的位置开始读取所述代码片段纠错码;根据所述代码片段纠错码对所述代码片段以及所述用户自定义数据进行纠错处理; 根据纠错处理后的代码片段获得所述处理系统的启动代码。
4.如权利要求1所述的从NANDFLASH启动处理系统的方法,其特征在于所述代码片段 储存在第1个至第N-I个所述储存页中,在第N个所述储存页的所述预定字节开始,储存一 个数据大小等于所述第一预设值的第一校验码,所述第一校验码通过对所述处理系统的启 动代码执行预定运算而生成;所述根据所述第一预设值,从所述储存页各自的所述预定字节开始读取所述代码片 段,获得所述处理系统的启动代码的步骤包括在第1个至第N-I个所述储存页中,根据所述第一预设值,从所述储存页各自的所述预 定字节开始读取所述代码片段,获得所述处理系统的启动代码;在所述第N个储存页中,根据所述第一预设值,从所述第N个储存页的所述预定字节开 始读取所述第一校验码;对所述处理系统的启动代码执行所述预定运算,生成第二校验码,将所述第一校验码 与所述第二校验码比较,检验所述处理系统的启动代码。
5.如权利要求4所述的从NANDFLASH启动处理系统的方法,其特征在于所述第N个储 存页中,进一步储存一个数据大小等于第二预设值的所述第一校验码的纠错码,所述第一 校验码的纠错码储存在所述第N个储存页中紧接所述第一校验码之后的位置;所述根据所述第一预设值,从所述储存页各自的所述预定字节开始读取所述代码片 段,获得所述处理系统的启动代码的步骤进一步包括在所述第N个储存页中,根据所述第二预设值,从所述第一校验码结束的位置开始读 取所述第一校验码的纠错码;根据所述第一校验码的纠错码对所述第一校验码进行纠错处理。
6.一种从NAND FLASH启动处理系统的装置,其特征在于所述处理系统的启动代码分 成若干个数据大小等于第一预设值的代码片段,所述NANDFLASH包括若干个储存页,所述 代码片段从每一所述储存页的一个预定字节开始储存在所述储存页中;所述处理系统启动装置包括启动代码获取模块,用于根据所述第一预设值,从所述储存页各自的所述预定字节开 始读取所述代码片段,获得所述处理系统的启动代码;系统启动执行模块,用于根据所述处理系统的启动代码启动所述处理系统。
7.如权利要求6所述的从NANDFLASH启动处理系统的装置,其特征在于每一所述储存 页中进一步储存一个数据大小等于第二预设值的代码片段纠错码,所述代码片段纠错码储 存在所述储存页中紧接所述代码片段之后的位置;所述启动代码获取模块包括一资料读取模块,用于根据所述第一预设值,从所述储存页各自的所述预定字节开始 读取所述代码片段;根据所述第二预设值,从所述代码片段结束的位置开始读取所述代码 片段纠错码;一纠错模块,用于根据所述代码片段纠错码对所述代码片段进行纠错处理,并根据纠 错处理后的代码片段获得所述处理系统的启动代码。
8.如权利要求6所述的从NANDFLASH启动处理系统的装置,其特征在于,每一所述储 存页中进一步储存一个数据大小等于第三预设值的用户自定义数据,以及一个数据大小等 于第二预设值的代码片段纠错码,所述用户自定义数据储存在所述储存页中紧接所述代码 片段之后的位置,所述代码片段纠错码储存在所述储存页中紧接所述用户自定义数据之后 的位置;所述启动代码获取模块包括资料读取模块,用于根据所述第一预设值,从所述储存页各自的所述预定字节开始读 取所述代码片段;根据所述第三预设值,从所述代码片段结束的位置开始读取所述用户自 定义数据;根据所述第二预设值,从所述用户自定义数据结束的位置开始读取所述代码片 段纠错码;纠错模块,用于根据所述代码片段纠错码对所述代码片段以及所述用户自定义数据进 行纠错处理,并根据纠错处理后的代码片段获得所述处理系统的启动代码。
9.如权利要求6所述的从NANDFLASH启动处理系统的装置,其特征在于,所述代码片段储存在第1个至第N-I个所述储存页中,在第N个所述储存页的所述预定字节开始,储存 一个数据大小等于所述第一预设值的第一校验码,所述第一校验码通过对所述处理系统的 启动代码执行预定运算而生成; 所述启动代码获取模块包括资料读取模块,用于在第1个至第N-I个所述储存页中,根据所述第一预设值,从所述 储存页各自的所述预定字节开始读取所述代码片段,获得所述处理系统的启动代码;在所 述第N个储存页中,根据所述第一预设值,从所述第N个储存页的所述预定字节开始读取所 述第一校验码;校验模块,用于对所述处理系统的启动代码执行所述预定运算,生成第二校验码,将所 述第一校验码与所述第二校验码比较,检验所述处理系统的启动代码。
10.如权利要求9所述的从NAND FLASH启动处理系统的装置,其特征在于所述第N个 储存页中,进一步储存一个数据大小等于第二预设值的所述第一校验码的纠错码,所述第 一校验码的纠错码储存在所述第N个储存页中紧接所述第一校验码之后的位置;所述资料读取模块进一步在所述第N个储存页中,根据所述第二预设值,从所述第一 校验码结束的位置开始读取所述第一校验码的纠错码;所述启动代码获取模块进一步包括一纠错模块,用于根据所述第一校验码的纠错码对 所述第一校验码进行纠错处理。
全文摘要
本发明提供一种从NAND FLASH启动处理系统的方法,所述处理系统的启动代码分成若干个数据大小等于第一预设值的代码片段,所述NAND FLASH包括若干个储存页,所述代码片段从每一所述储存页的一个预定字节开始储存在所述储存页中。所述处理系统启动方法包括根据所述第一预设值,从所述储存页各自的所述预定字节开始读取所述代码片段,获得所述处理系统的启动代码;根据所述处理系统的启动代码启动所述处理系统。本发明的从NANDFLASH启动处理系统的方法及其装置可以从基本参数未知的NAND FLASH中读取系统启动代码,适用于各种不同类型的NAND FLASH。
文档编号G06F11/10GK102043639SQ20091019301
公开日2011年5月4日 申请日期2009年10月12日 优先权日2009年10月12日
发明者王玉岗, 邢涛 申请人:珠海全志科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1