一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种动态的、离散的、碎片化的嵌入式系统nandflash使用方法与流程

2022-08-17 09:14:40 来源:中国专利 TAG:

一种动态的、离散的、碎片化的嵌入式系统nand flash使用方法
技术领域
1.本发明属于信息技术领域,尤其是涉及一种动态的、离散的、碎片化的嵌入式系统nand flash使用方法。


背景技术:

2.目前常见的网通产品如pon、路由器等,大都使用nand flash作为固件存储芯片,其使用方法都是从物理层面设计了固定的分区,分区的地址在分配完成之后是固定的,各个分区分别用作如:bootloader、 os、rootfs、datafs、config等。
3.上述各个分区的使用情况有两类:1、如bootloader、os、rootfs一般只在系统升级的时候进行一次擦写,其他都是只用作读出,写入频率很低,不易出现坏块,但如果坏块管理功能异常设备会直接损坏; 2、如datafs、config等一般在设备上电运行期间随时会保持读写状态,写入频率较高,较易出现坏块, nand flash有需要进行坏块管理,目前网通类产品方案商如联发科、博通、高通等,如果出现坏块,一般的操作都是跳过坏块,写入下一个块,很容易出现异常而导致数据丢失。


技术实现要素:

4.有鉴于此,本发明旨在提出一种动态的、离散的、碎片化的嵌入式系统nand flash使用方法,以解决上述问题中的不足之处。
5.达到上述目的,本发明的技术方案是这样实现的:
6.第一方面本方案公开了一种动态的、离散的、碎片化的嵌入式系统nand flash使用方法,在nand flash 的物理层面新增逻辑层面,所述逻辑层面用于复制管控nand flash的所有块,用于对nand flash中的每一个块进行分配管理。
7.第二方面本方案公开了一种动态的、离散的、碎片化的嵌入式系统nand flash使用方法的系统,包括block index管理表初始化模块、block index管理表维护管理模块、物理地址-逻辑地址的寻址模块。
8.进一步的,block index管理表初始化模块在进行初始化操作时,包括以下步骤:
9.s01、创建block index管理表空表;
10.s02、根据nand flash属性填充block index管理表,对block进行排序,如果原始坏块则跳过,以此形成原始block index管理表;
11.s03、存储原始block index管理表到专用区域。
12.进一步的,block index管理表维护管理在进行维护管理时,包括以下步骤:
13.s11、从block index管理表中释放目前固件区域block资源;
14.s12、根据算法要求,从闲置block资源中选取特定block填充到block index管理表中软件固件对应区域;
15.s13、存储block index管理表到专用区域;
16.s14、进行固件升级动作。
17.进一步的,block index管理表维护管理模块依赖原始block index管理表进行,包括以下动作:处理申请、处理释放。
18.进一步的,配置文件、数据文件区域在恢复配置或者主动开启整理功能时执行以下步骤:
19.s21、从block index管理表中释放对应区域block资源;
20.s22、根据算法要求,从闲置block资源中选取特定block填充到block index管理表中对应区域;
21.s23、存储block index管理表到专用区域;
22.s24、内容搬运或者写入。
23.第三方面本方案公开了一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行第一方面所述的一种动态的、离散的、碎片化的嵌入式系统nandflash使用方法。
24.第四方面本方案公开了一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行第一方面所述的一种动态的、离散的、碎片化的嵌入式系统nand flash使用方法。
25.第五方面本方案公开了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的一种动态的、离散的、碎片化的嵌入式系统nand flash使用方法。
26.相对于现有技术,本发明所述的一种动态的、离散的、碎片化的嵌入式系统nand flash使用方法具有以下优势:
27.本发明所述的一种动态的、离散的、碎片化的嵌入式系统nand flash使用方法,在nand flash的物理层面新增了一个逻辑层面,对nand flash每一个块进行分配管理。
附图说明
28.构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
29.图1a、图1b、图1c为本发明实施例所述的一种动态的、离散的、碎片化的嵌入式系统示意图。
具体实施方式
30.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
31.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相
对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
32.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
33.下面将参考附图并结合实施例来详细说明本发明。
34.本发明在nand flash的物理层面新增了一个逻辑层面,对nand flash每一个块进行分配管理。
35.按照常规使用方式,从物理层面分区,各分区都是固定按顺序分区如图1a,分配之后就无法变动, bootloader和固件很少写入,而数据和配置表示datafs、config,则频繁写入,空闲区域永远闲置。
36.本发明改变了上述固定分配的状况,增加逻辑层面,逻辑层面复制管控nand flash的所有块,实现动态变化,如图1可以从a根据对应的坏块管理功能或者写均衡算法进行演变,可以从图1a演变到图1b、图1c等。
37.nand flash以block为最小擦写单位,本发明根据此特性,制定出离散的、碎片化组合的使用方法。
38.主要行为为:
39.bootloader阶段负责初始化nandflash中的block index管理表,并进行维护
40.kernel阶段同步维护block index管理表。
41.block index管理表本发明使用nandflash方法的关键。
42.其主要表现方法为:
43.初始化阶段:
44.初始化时依据nandflash编程器烧录规则,对nandflash中各block进行顺序排序,其形式为0,1, 2,
……n45.管理维护阶段:
46.此阶段时,block index管理表根据软件设计及分配算法,进行碎片化排序,其形式可能为0,1,2, 7,3,6,4,n,5,
……
随机化顺序。
47.本发明的主要优点:
48.灵活性
49.nandflash大部分区域block是随机组合,需要多少申请多少。
50.不容易造成浪费
51.软件分区时如果不强制要求预先分配空间,则可以进行需要多少分配多少的原则动态分配,类似于内存分配。
52.可以有效的进行写均衡处理
53.针对频繁写入的配置文件、数据文件区域,可以根据特点的算法进行均衡管理,重新分配其他block 给此类区域。
54.上述block index管理表完善的前提下,为确保正确的nand flash读写,只需要在nand flash驱动中根据block index管理表进行一次物理地址-逻辑地址的寻址即可。
55.首先,先采用以下形式中的来描述软件专利的技术方案:
56.本发明涉及三个模块:block index管理表初始化、block index管理表维护管理、物理地址-逻辑地址的寻址;
57.block index管理表初始化:
58.过程:
59.s01:创建block index管理表空表。
60.s02:根据nand flash属性填充block index管理表,对block进行排序,此次一般为顺序排序,如果原始坏块则跳过。以此形成原始block index管理表
61.s03:存储此原始block index管理表到专用区域。
62.block index管理表维护管理:
63.依赖原始block index管理表进行,主要动作有:处理申请、处理释放。
64.对于软件固件只有在升级固件时才会进行此类操作:
65.s11:从block index管理表中释放目前固件区域block资源
66.s12:根据算法要求,从闲置block资源中选取特定block填充到block index管理表中软件固件对应区域。
67.s13:存储block index管理表到专用区域。
68.s14:进行固件升级动作
69.对于配置文件、数据文件区域一般在恢复配置或者主动开启整理功能时进行:
70.s21:从block index管理表中释放对应区域block资源
71.s22:根据算法要求,从闲置block资源中选取特定block填充到block index管理表中对应区域。
72.s23:存储block index管理表到专用区域。
73.s24:内容搬运或者写入。
74.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献