CN103412779B - 一种嵌入式实时操作***的补丁文件***实现方法 - Google Patents

一种嵌入式实时操作***的补丁文件***实现方法 Download PDF

Info

Publication number
CN103412779B
CN103412779B CN201310351780.XA CN201310351780A CN103412779B CN 103412779 B CN103412779 B CN 103412779B CN 201310351780 A CN201310351780 A CN 201310351780A CN 103412779 B CN103412779 B CN 103412779B
Authority
CN
China
Prior art keywords
patch
patch file
space
file
page space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310351780.XA
Other languages
English (en)
Other versions
CN103412779A (zh
Inventor
李红
杨国青
李坤
刘娜
姜俊
逄伟
吴朝晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201310351780.XA priority Critical patent/CN103412779B/zh
Publication of CN103412779A publication Critical patent/CN103412779A/zh
Application granted granted Critical
Publication of CN103412779B publication Critical patent/CN103412779B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

本发明公开了一种嵌入式实时操作***的补丁文件***实现方法,包括如下步骤:S10:建立补丁***表、补丁集合表以及补丁信息表;S11:选取补丁文件存放基地址;S12:根据补丁文件的大小分配页空间数;S13:分配页空间数完成之后,检查页空间的位置信息;S14:往分配的空间中写入补丁文件;S15:写入补丁文件后,更新该补丁对应模块的补丁集合表。本发明通过上述嵌入式实时操作***补丁文件***可以快速完成补丁文件的存放和读取操作;其中,补丁文件按页大小分配空间,大幅度减少了存储空间的浪费;而且按照需要进行块擦除,最大化减少Nand Flash的擦除次数,延长使用寿命。

Description

一种嵌入式实时操作***的补丁文件***实现方法
技术领域
本发明属于涉及嵌入式技术领域,涉及一种嵌入式实时操作***的补丁文件***实现方法。
背景技术
在嵌入式实时操作***中,如果需要实现动态更新功能,就会涉及到补丁文件***的设计和实现。现在的嵌入式开发板外部存储大部分是采用Nand Flash。Nand Flash有这么一个特点,写数据的最小单位是页(page,2KB),擦除数据的最小单位是块(block,128KB,一个块一般由64个页组成)。
传统的补丁文件***为了在写入补丁数据之前方便实现存储空间的清空,使用一个块来存放单个补丁文件,这极大的造成了Flash存储空间的浪费。
其次,Nand Flash块擦除次数有限制,超过最大擦除次数就会报废,传统的补丁文件***涉及频繁的擦除块,这将对***带来严重的损耗。
另外,所有补丁文件按照写入Nand Flash时间顺序存储,当需要使用某一补丁时,需要遍历整个补丁***表,导致时间复杂度高。
针对上述现有技术存在的缺陷,实有必要进行开发研究,以提供一种方案,克服传统补丁文件***空间开销大、***损耗大和时间复杂度高的缺点。
发明内容
为解决上述问题,本发明的目的在于提供一种嵌入式实时操作***的补丁文件***实现方法,可快速完成补丁文件的存放和读取操作,大幅度减少了存储空间的浪费,且最大化减少Nand Flash的擦除次数,延长使用寿命。
为实现上述目的,本发明的技术方案为:
一种嵌入式实时操作***的补丁文件***实现方法,包括如下步骤:
S10:根据可更新模块数建立补丁***表,并根据每个模块最多补丁版本数建立补丁集合表,建立补丁信息表;
S11: 选取补丁文件存放基地址;
S12: 根据补丁文件的大小分配页空间数;
S13: 分配页空间数完成之后,检查页空间的位置信息;
S14: 往分配的空间中写入补丁文件;
S15: 写入补丁文件后,更新该补丁对应模块的补丁集合表。
进一步地,步骤S11中,所述补丁文件存放基地址为Nand Flash一个块的起始地址。
进一步地,步骤S12中,所述页空间数为能存放补丁文件的最小页数。
进一步地,步骤S13中,若新分配的页空间都在当前块,此时不需要擦除下一个块;若新分配的页空间在前后空间都有,此时需要擦除下一个块;若新分配的页空间全部在下一个块,此时需要擦除下一个块。
进一步地,当需要使用某版本补丁时,首先通过补丁***表快速定位到该补丁对应模块的补丁集合表,接着根据补丁集合表快速定位到该版本补丁的补丁信息表,然后通过补丁信息表获取到该版本补丁在Nand Flash中的存放首地址,最后调用读操作读取该补丁文件
相较于现有技术,本发明一种嵌入式实时操作***的补丁文件***实现方法通过上述嵌入式实时操作***补丁文件***可以快速完成补丁文件的存放和读取操作;其中,补丁文件按页大小分配空间,大幅度减少了存储空间的浪费;而且按照需要进行块擦除,最大化减少Nand Flash的擦除次数,延长使用寿命。
附图说明
图1是本发明的流程图示。
图2是本发明的分配的页空间都在当前块的示意图。
图3是本发明的分配的页空间前后两个块都有的示意图。
图4是本发明的分配的页空间都在后一个块的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明一种嵌入式实时操作***的补丁文件***实现方法,包括如下步骤:
S10:根据可更新模块数建立补丁***表,并根据每个模块最多补丁版本数建立补丁集合表,建立补丁信息表;
S11:选取补丁文件存放基地址,其中,该地址为Nand Flash一个块的起始地址;
S12:根据补丁文件的大小分配Nand Flash的页空间数,该页空间数为能存放补丁文件的最小页数;
S13:分配页空间数完成之后,检查页空间的位置信息;其中,当新分配的页空间都在当前块,此时不需要擦除下一个块;若新分配的页空间在前后空间都有,此时需要擦除下一个块;若新分配的页空间全部在下一个块,此时需要擦除下一个块;
S14:往分配的Nand Flash空间中写入补丁文件;
S15:写入补丁文件后,更新该补丁对应模块的补丁集合表。
当需要使用某版本补丁时,首先通过补丁***表快速定位到该补丁对应模块的补丁集合表,接着根据补丁集合表快速定位到该版本补丁的补丁信息表,然后通过补丁信息表获取到该版本补丁在Nand Flash中的存放首地址,最后调用读操作读取该补丁文件。
作为本发明一实施例,如表1所示,根据可更新模块数建立补丁***表,包括有可更新模块编号以及该模块补丁集合表。
如表2所示,根据每个模块最多补丁版本数建立补丁集合表,包括有补丁版本号以及该版本补丁信息。
如表3所示,建立补丁信息表,包括字段以及该字段的含义。
选取补丁文件存放基地址,该地址必须为一个块的起始地址。当需要存放补丁文件时,根据补丁文件的大小分配Nand Flash的页空间数,该页空间数为能存放补丁文件的最小页数。比如当补丁文件为3.5KB时,就需要分配2个页空间。分配完成之后,检查页空间的位置信息,其中,分以下三种情况:如图2所示,新分配的页空间都在当前块,此时不需要擦除下一个块;如图3所示,新分配的页空间在前后空间都有,此时需要擦除下一个块;如图4所示,新分配的页空间全部在下一个块,此时需要擦除下一个块。
往分配的Nand Flash空间中写入补丁文件,写入补丁文件数据之后,需要更新该补丁对应模块的补丁集合表。若需要使用某版本补丁,首先补丁***表快速定位到该补丁对应模块的补丁集合表,接着根据补丁集合表快速定位到该版本补丁的补丁信息表,然后通过补丁信息表获取到该版本补丁在Nand Flash中的存放首地址,最后调用读操作读取该补丁文件。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种嵌入式实时操作***的补丁文件***实现方法,其特征在于,包括如下步骤:
S10:根据可更新模块数建立补丁***表,并根据每个模块最多补丁版本数建立补丁集合表,建立补丁信息表;
S11:选取补丁文件存放基地址,所述补丁文件存放基地址为一个块的起始地址;
S12:根据补丁文件的大小分配页空间数,所述页空间数为能存放补丁文件的最小页数;
S13:分配页空间数完成之后,检查页空间的位置信息,若新分配的页空间都在当前块,此时不需要擦除下一个块;若新分配的页空间在前后空间都有,此时需要擦除下一个块;若新分配的页空间全部在下一个块,此时需要擦除下一个块;
S14:往分配的空间中写入补丁文件;
S15:写入补丁文件后,更新该补丁对应模块的补丁集合表。
2.如权利要求1所述嵌入式实时操作***的补丁文件***实现方法,其特征在于:当需要使用某版本补丁时,首先通过补丁***表快速定位到该补丁对应模块的补丁集合表,接着根据补丁集合表快速定位到该版本补丁的补丁信息表,然后通过补丁信息表获取到该版本补丁在Nand Flash中的存放首地址,最后调用读操作读取该补丁文件。
CN201310351780.XA 2013-08-14 2013-08-14 一种嵌入式实时操作***的补丁文件***实现方法 Active CN103412779B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310351780.XA CN103412779B (zh) 2013-08-14 2013-08-14 一种嵌入式实时操作***的补丁文件***实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310351780.XA CN103412779B (zh) 2013-08-14 2013-08-14 一种嵌入式实时操作***的补丁文件***实现方法

Publications (2)

Publication Number Publication Date
CN103412779A CN103412779A (zh) 2013-11-27
CN103412779B true CN103412779B (zh) 2016-12-28

Family

ID=49605792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310351780.XA Active CN103412779B (zh) 2013-08-14 2013-08-14 一种嵌入式实时操作***的补丁文件***实现方法

Country Status (1)

Country Link
CN (1) CN103412779B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103645917B (zh) * 2013-12-03 2016-09-14 北京中电华大电子设计有限责任公司 Java卡的Java代码补丁方法
CN110333885B (zh) * 2019-06-28 2022-11-01 兆讯恒达科技股份有限公司 一种嵌入式操作***补丁设置方法
CN110888654A (zh) * 2019-11-13 2020-03-17 重庆秦嵩科技有限公司 一种嵌入式操作***的升级方法
CN110928570A (zh) * 2019-11-27 2020-03-27 北京知道创宇信息技术股份有限公司 一种固件升级的方法及装置、可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140586A (zh) * 2007-09-30 2008-03-12 浙江大学 嵌入式***中NAND Flash存储器上建立文件***的方法
CN102841851A (zh) * 2012-07-19 2012-12-26 深圳市江波龙电子有限公司 闪存管理方法和闪存设备
CN102955741A (zh) * 2011-08-30 2013-03-06 联咏科技股份有限公司 存储器装置及其写入方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140586A (zh) * 2007-09-30 2008-03-12 浙江大学 嵌入式***中NAND Flash存储器上建立文件***的方法
CN102955741A (zh) * 2011-08-30 2013-03-06 联咏科技股份有限公司 存储器装置及其写入方法
CN102841851A (zh) * 2012-07-19 2012-12-26 深圳市江波龙电子有限公司 闪存管理方法和闪存设备

Also Published As

Publication number Publication date
CN103412779A (zh) 2013-11-27

Similar Documents

Publication Publication Date Title
CN103412779B (zh) 一种嵌入式实时操作***的补丁文件***实现方法
CN101923448B (zh) 一种nand闪存的转换层读写方法
DE112015004536T5 (de) Hardware-Automatisierung für Speicherverwaltung
CN102541851B (zh) 页面模块化生成方法及***
RU2009133317A (ru) Выборочное использование множества различающихся ячеек твердотельного запоминающего устройства
CN103744614A (zh) 固态硬盘访问的方法及其固态硬盘
CN102141933A (zh) 提供计算机应用程序多次复用粘贴的***及其方法
CN102841851A (zh) 闪存管理方法和闪存设备
DE112010004667T5 (de) Speichervorrichtung und Speichersteuerung
CN103309812A (zh) 一种智能卡内存空间的分配方法及装置
CN105302737A (zh) 一种内存分配管理方法及***
CN105468542A (zh) 地址分配方法及装置
CN104252419A (zh) 一种内存分配的方法及装置
CN102023843A (zh) 函数的调用方法、装置及智能卡
CN102467525A (zh) 单据关联方法及***
CN103699493B (zh) 智能卡dtr内存空间的控制***及方法
CN103218305A (zh) 存储空间的分配方法
CN106708422B (zh) 数据储存装置及其数据维护方法
CN101719131A (zh) 一种报表数据的处理方法、装置和***
CN103377686B (zh) Nand Flash 存储器及实现 Nand Flash 存储器连续读操作的方法
CN109271247A (zh) 内存优化方法、装置、计算机装置以及存储介质
CN104268097A (zh) 一种元数据处理方法及***
CN103455438A (zh) 一种内存管理方法及设备
CN102103530B (zh) 快照方法、设备及***
CN106326132A (zh) 存储***、存储管理装置、存储器、混合存储装置及存储管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant