[发明专利]基于Nand闪存的动态分区搜索装置及其方法有效
| 申请号: | 201310720438.2 | 申请日: | 2013-12-24 |
| 公开(公告)号: | CN103744694B | 公开(公告)日: | 2017-08-11 |
| 发明(设计)人: | 曹木莲 | 申请(专利权)人: | 武汉烽火众智数字技术有限责任公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F12/02;G06F11/10 |
| 代理公司: | 北京汇泽知识产权代理有限公司11228 | 代理人: | 刘淑敏 |
| 地址: | 430074 湖*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 nand 闪存 动态 分区 搜索 装置 及其 方法 | ||
1.一种基于Nand闪存的动态分区搜索装置,其特征在于,该装置包括版本升级模块、可烧录版本模块、烧录模块以及动态分区解析模块;其中:
版本升级模块,用于将预存储在动态分区的各分区的二进制执行部件按序组装合并成一个文件,并加入版本头信息部件,形成版本升级文件;
可烧录版本模块,用于将Nand闪存中实际存储的N个分区的顺序依次进行烧录版本组装;由N-M个静态分区预存储的二进制执行部件和所述版本升级文件进行组装合并,形成可烧录版本文件,对所述可烧录版本文件加入ECC算法进行填充处理,其中N为正整数,M为正整数,且1<M<N;
烧录模块:用于当需要烧录版本文件到Nand闪存中时,将所述带ECC算法的可烧录版本文件提供给烧录器,由所述烧录器将所述可烧录版本文件烧录到Nand闪存中;
动态分区解析模块:用于在引导程序启动时搜索版本头,根据版本头记录的信息和Nand闪存依次搜索到的块状态构造出动态分区表,内核通过引导程序传递环境变量的方式或者通过将动态分区表共享到同一段未使用的内存的方式获取来构造内核分区表。
2.根据权利要求1所述基于Nand闪存的动态分区搜索装置,其特征在于,所述的版本升级模块,用于按照块对齐的方式记录各动态分区存储文件的实际大小。
3.根据权利要求1或2所述基于Nand闪存的动态分区搜索装置,其特征在于,还用于在Nand闪存中的引导程序能正常启动的情况下,将该版本升级文件用于通过软件的方式进行版本的在线升级更新。
4.根据权利要求1所述基于Nand闪存的动态分区搜索装置,其特征在于,在所述可烧录版本模块中,如果N-M个静态分区预存储的二进制执行部件未达到该分区大小,则所述未达到的部分需要按0xFF进行填充。
5.一种基于Nand闪存的动态分区搜索方法,其特征在于,该方法包括:
A、获取原始分区信息,所述原始分区信息包括N个分区及每个所述分区的空间大小,其中N为正整数;
B、将需要运用动态构造分区搜索方法的分区数M合并成一个大的静态分区C;其中M为正整数,且1<M<N;
C、根据分区C的起始地址和分区大小,通过从分区C的起始地址开始搜索特定的软件版本头信息,并根据版本头信息和块状态确定各分区起始地址和动态分区大小;通过版本头中记录的各分区存储的实际二进制文件大小信息和检测C分区的块状态,生成M个分区的动态分区表;
D、将所述的动态分区表通过环境变量的方式或将动态分区表共享同一段未使用的内存的方式传递给内核构造内核分区表信息;
所述步骤A、B、C、D在引导程序中执行,并在引导程序引导内核之前执行。
6.根据权利要求5所述基于Nand闪存的动态分区搜索方法,其特征在于,步骤C所述根据版本头信息和块状态确定各分区起始地址和动态分区大小的过程,具体包括:
C1、从所述的C分区的起始地址开始搜索特定的软件版本头信息,当检测到当前的块状态为坏块,则将坏块加1;当检测到当前的块状态为好,则读取该块特定软件版本头结构大小的数据内容判断是否为版本头;如果该块存储的不是版本头,则继续依次检测下一块的状态;如果是版本头,则根据版本头的信息获取各分区实际存储的二进制文件大小的相关信息;
C2、当搜到的是存储版本头信息的块时,继续检测下一块的状态,如果是坏块,则将坏块加1;当检测到的块状态为好,则此块存储的就是M分区里面的第1个动态分区的起始地址;根据版本头信息记录的该分区的大小和依次搜索到的块状态即可确定第1个动态分区的终止地址。
7.根据权利要求5所述基于Nand闪存的动态分区搜索方法,其特征在于,进一步包括:在改变内核原有构造内核分区表的方式时,引导程序将动态分区表通过环境变量的方式或将动态分区表共享同一段未使用的内存的方式传递给内核构造内核分区表信息。
8.根据权利要求5或6所述基于Nand闪存的动态分区搜索方法,其特征在于,依据所述版本头信息,按第i个动态分区的起始地址和版本头信息记录的第i个动态分区实际存储文件大小的块数能够确定第i+1个动态分区的起始地址,其中1≤i≤M;具体为:第i+1个动态分区的起始地址=第i个动态分区的起始地址+(第i个动态分区坏块数+第i个动态分区存储的实际文件内容所占的块数)*块大小。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉烽火众智数字技术有限责任公司,未经武汉烽火众智数字技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310720438.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能电器设备软件升级的方法及其装置
- 下一篇:管桩泵送布料设备





