电子文件更新期间的设备存储器管理制造技术

技术编号:2852906 阅读:197 留言:0更新日期:2012-04-11 18:40
一种用于更新电子文件的系统,其包括:    第一设备,其包括产生德耳塔文件的文件求差和更新系统的第一组件;    第二设备,其从第一设备经由至少一个耦合接收该德耳塔文件,该第二设备包括所述文件求差和更新系统的第二组件,其被配置成    通过以下来更新第二设备的电子文件;    从所述德耳塔文件读取新电子文件的至少一个新组件,该新电子文件是原始电子文件的更新版本;    通过执行对第一和第二存储器区域的依次搜索,标识并保留足够大以容纳该新组件的存储器块,其中第一存储器区域被重写以去除不用的存储器块,并且当新组件的大小超过第一和第二存储器区域的可用存储器块的大小时,第一和第二存储器区域被重新分配;    将新组件写入保留的存储器块;以及    当新组件被写入与包括原始电子文件的对应组件的原始存储器块不同的存储器块时,更新向量表;以及    通过以下来访问该设备的电子文件;    接收来自设备主程序的函数调用,该函数调用包括对应电子文件的标识信息;    从向量表读取对应电子文件的起始地址;以及    使用该起始地址和标识信息来产生用于对应电子文件的调用。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
所公开的实施例涉及电子文件更新期间的存储器管理。
技术介绍
在中央处理单元(CPU)上运行以实现主机设备某种功能性的软件经常随着时间而改变。这种改变可来自于纠正软件缺陷,适于演变的技术,或者添加新特征到主机设备的需要。特别地,在移动无线设备,如蜂窝电话中,嵌入式软件经常包括比其它便携式设备或处理系统多的缺陷并且通常需要较频繁的更新以添加新的特征到该设备。软件包括一个或多个文件,其可以处于美国信息交换标准码(ASCII)纯文本文件或二进制码的形式。软件文件可被分为较小的单位,其经常被称作组件或模块。在当前技术中,UNIX平台或者个人计算机(PC)包括多个软件组件,并且每个软件组件通过由对应的操作系统(OS)支持的文件系统来独立地管理和更新。用来更新被掌管于UNIX平台或PC上的软件文件或软件组件的信息可通过互联网来传递或从第二存储媒介,如软盘,光盘只读存储器(CD-ROM),或小型闪卡(compactflash card)来装入。相反,在大多移动无线设备中,典型地使用实时OS(real-time OS,RTOS),其中所有软件组件被链接为单一的大文件。此外,典型地在这些移动无线设备中不提供有文件系统支持。另外,该单一的大文件需要使用慢的通信链路,如无线电、红外、或串行链路来预装入或嵌入到该设备。经由慢通信链路来更新大文件的阻碍包括将更新的文件递送到设备的时间。在差别文件被传递到掌管目标用于更新/修订的文件的设备的情况中,此时间包括传递差别文件的通信时间和接收设备处理差别文件并更新/修订作为目标的文件所用的时间,此处称为主机设备处理时间。尽管如所述“相关申请”所描述的,使用德耳塔文件来传递更新的软件文件或者软件组件信息显著减少所述通信时间,但是主机设备处理时间的减少至少部分由主机设备体系结构来规定。该主机设备可以是众多基于处理器的设备中的任何一种,包括蜂窝电话和其它移动通信设备,个人数字助理(PDA),以及个人计算机。以蜂窝电话为例,典型的蜂窝电话体系结构包括快闪只读存储器(ROM),此处被称为快闪ROM或者快闪存储器,以及RTOS。快闪存储器和RTOS两者都潜在地对减少主机设备处理时间的目标产生阻碍。关于快闪存储器在减少主机设备处理时间中引起的问题涉及对快闪存储器执行写入的方式。快闪存储器以单位被分配,其经常被称作块,扇区,或段,每个都包括大量字节。写入(或者重写)典型的快闪存储器需要擦除并且写入(或者重写)整个单位,意味着单个位或者字节不能被写入(或者重写)。因此存储在快闪存储器中的字节的更新或者修订需要擦除并且重写存储该字节的整个单位。这样,更新或者修订存储在快闪存储器中的文件所需要的时间典型地大于更新或者修订存储在其它类型的可写入(或者重写)单个字节的存储或存储器中的文件所需要的时间。关于RTOS在减少主机设备处理时间中引起的问题涉及主机设备软件程序被组织和管理的方式。典型蜂窝电话的RTOS不支持用于在运行时间的函数调用的文件管理和动态地址解析。因此,蜂窝电话的所有嵌入软件组件或者程序被链接为单个的,大的寄主程序(host program),并且该寄主程序内的函数直接通过该函数预编译的起始地址从该寄主程序的任何部分被调用。这样,与支持用于函数调用的文件管理和动态地址解析的典型计算机OS相比,典型的蜂窝电话RTOS不具有管理作为分离文件的多个软件组件并支持经由运行时间调用地址解析从一个软件组件到另一个的函数调用的能力。因此,包括RTOS的系统的寄主程序管理单个的大的程序并使用静态寻址来直接访问程序的函数。当更新和修订软件组件时,该典型设备体系结构可导致问题,这是因为当该修订或者更新导致寄主程序大小改变时,在寄主程序中的经更新/修订的软件组件之后的软件组件的起始地址有作为结果的改变。软件组件的起始地址的这种改变导致需要更新该寄主程序中的对应调用地址以及该软件组件内的指令/数据地址。这在处理时间方面是昂贵的。因此,与嵌入式软件更新/修订相关的主机设备处理时间很大部分上应归于到快闪存储器的数据的低效重写以及嵌入式软件在源代码水平的小的改变可导致该嵌入式软件在二进制代码水平的大的改变这样的事实。附图说明图1是一实施例下的使用字节水平的文件求差和更新(FDU)算法来更新电子文件的系统的块图。图2是一实施例下的软件升级系统的块图。图3是一实施例下的设备存储器的块图。图4是一实施例下的非关键组件更新的流程图。图5是一实施例下的关键组件更新的流程图。图6是一实施例下的使用用于每个可升级的EBSC的保留存储器分配来静态寻址的流程图。图7是图6实施例下的被配置成支持静态寻址存储器管理的主机设备存储器的一部分的块图。图8是一实施例下的使用用于可升级的EBSC组的保留存储器分配来静态寻址的流程图。图9是图8实施例下的被配置成支持静态寻址存储器管理的主机设备存储器的一部分的块图。图10是一实施例下的支持静态寻址的客户设备ROM图的块图。图11是一实施例下的使用静态寻址的嵌入式软件发展和安排(depolyment)过程的块图。图12是一实施例下的使用动态寻址来升级EBSC或者EBSC组的流程图。图13是一实施例下的使用动态寻址的函数调用的流程图。图14是一实施例下的支持动态寻址的客户设备ROM图的块图。图15是图3和14的实施例下的示出包括升级客户、嵌入式软件区域、DMM库、向量表以及垃圾表(garbage table)的存储器组件中的交互的例子的主机设备存储器块图。图16是一实施例下的使用保留API来保留存储器区域以容纳EBSC新版本的流程图。图17是一实施例下的使用保留API的规则来定位存储器区域以容纳EBSC新版本的流程图。图18是一实施例下的嵌入式软件区域的不用区域的收集(垃圾收集)的流程图。图19是一实施例下的在保留API的升级操作之前和之后实例主机设备存储器的块图。图20是一实施例下的在升级和垃圾收集操作之后主机设备存储器的块图。图21是一实施例下的使用动态寻址的嵌入式软件发展和安排过程的块图。在附图中,相同的参考数字用于标识相同或者基本相似的元素或者动作。为了容易地标识对任何特定元素或者动作的讨论,参考数字中的最高有效数位或多个最高有效数位指的是该元素在其中第一次被引入的图号(如,元素130关于图1被第一次引入和讨论)。除非下面另有说明,图中所示的各种块和结构的构造和操作具有常规设计。因此,这种块在此不需要进一步详细描述,因为它们将被相关领域的技术人员所理解。为了简短起见并使得不混淆本专利技术的详细描述,这种进一步的细节被省略。基于此处提供的详细描述,相关领域的技术人员可容易地进行对该图的必要修改。具体实施例方式在这里详细描述一种存储器管理系统和方法。在执行存储器管理时,通过执行对第一和第二存储器区域的顺序搜索,主机设备的升级客户标识并保留足够大以容纳新软件组件的存储器块。该新软件组件是原始软件文件组件的更新或者升级版本。当该新组件的大小等于或者小于原始电子文件的对应组件的大小时,更新客户分配第一存储器区域的原始存储器块以将所接收的组件写入其中。该原始存储器块包括原始电子文件的对应组件。当该新组件的大小超过原始电子文件的对应组件的大小时,为了足够大以存储所接收的组件的存储器块,升级客户搜索第一存本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于更新电子文件的系统,其包括第一设备,其包括产生德耳塔文件的文件求差和更新系统的第一组件;第二设备,其从第一设备经由至少一个耦合接收该德耳塔文件,该第二设备包括所述文件求差和更新系统的第二组件,其被配置成通过以下来更新第二设备的电子文件从所述德耳塔文件读取新电子文件的至少一个新组件,该新电子文件是原始电子文件的更新版本;通过执行对第一和第二存储器区域的依次搜索,标识并保留足够大以容纳该新组件的存储器块,其中第一存储器区域被重写以去除不用的存储器块,并且当新组件的大小超过第一和第二存储器区域的可用存储器块的大小时,第一和第二存储器区域被重新分配;将新组件写入保留的存储器块;以及当新组件被写入与包括原始电子文件的对应组件的原始存储器块不同的存储器块时,更新向量表;以及通过以下来访问该设备的电子文件接收来自设备主程序的函数调用,该函数调用包括对应电子文件的标识信息;从向量表读取对应电子文件的起始地址;以及使用该起始地址和标识信息来产生用于对应电子文件的调用。2.如权利要求1所述的系统,其中所述第二设备进一步包括在更新电子文件中使用的第一和第二应用编程界面(API)。3.如权利要求1所述的系统,其中所述第二设备进一步包括在访问电子文件中使用的第三应用编程界面(API)。4.如权利要求1所述的系统,其中所述第一设备包括基于处理器的设备,其可由被掌管于第二设备上的软件的至少一个提供者访问。5.如权利要求1所述的系统,其中所述第二设备包括至少一个基于处理器的设备,其从个人计算机,便携式计算设备,蜂窝电话,便携式通信设备,和个人数字助理中选择。6.如权利要求1所述的系统,其中所述至少一个耦合是从以下中选择的无线耦合,有线耦合,混合无线/有线耦合,和与至少一个网络,包括局域网(LAN),城域网(MAN)和广域网(WAN),专属网,后端网,互联网的耦合,和可移动的固定媒介,包括软盘、硬盘驱动器和光盘只读存储器(CD-ROM),以及电话线,总线和电子邮件消息。7.如权利要求1所述的系统,其中所述原始和新电子文件包括软件文件,其包括动态链接库文件,共享目标文件,嵌入式软件组件(EBSC),固件文件,可执行文件,包括十六进制数据文件的数据文件,系统配置文件,以及包括个人使用数据的文件。8.一种用于主机设备中设备存储器管理的方法,其包括接收新电子文件的至少一个被接收组件的标识信息,该新电子文件为原始电子文件的更新版本,其中所述标识信息包括所接收组件的大小;通过执行对第一和第二存储器区域的依次搜索来标识并保留足够大以容纳所接收的组件的存储器块,其中第一存储器区域被重写以去除不用的存储器块,并且当所述大小超过第一和第二存储器区域的可用存储器块的大小时,第一和第二存储器区域被重新分配;提供被保留的存储器块的地址;以及通过将所接收的组件写入所述被保留的存储器块来更新原始电子文件。9.如权利要求8所述的方法,进一步包括当所接收的组件被写入与包括原始电子文件的对应组件的第一存储器区域中的原始存储器块不同的存储器块时,更新第一表,其中所述第一表包括主机设备电子文件组件的组件信息、该组件信息包括组件标识、只读存储器(ROM)数、起始地址和大小。10.如权利要求8所述的方法,其中标识和保留包括当所述大小等于或者小于原始电子文件的对应组件的大小时,保留第一存储器区域的原始存储器块,该原始存储器块包括原始电子文件的对应组件。11.如权利要求10所述的方法,其中标识和保留包括当所述大小超过原始电子文件的对应组件的大小时,为足够大以存储所接收的组件的存储器块而搜索第二存储器区域和第一存储器区域的不用区段中的至少一个。12.如权利要求8所述的方法,其中第一存储器区域的重写和第二存储器区域的重新分配进一步包括读取第二表,该第二表包括对应于第一区域不用存储器块的至少一个项目;重写第一存储器区域的组件以依次将第一存储器区域的组件打包并合并不用的存储器块;依次评估第二存储器区域的每个组件的大小并且在第二存储器区域的组件大小和所合并的不用存储器块的大小允许的情况下将第二存储器区域的组件重写到第一存储器区域;在依次评估和重写之后,标识所合并的不用存储器块的剩余块;通过指定所合并的不用存储器块的剩余块作为第二存储器区域的部分来重新分配第二存储器区域;置位第二存储器区域的指针以维持经重新分配的第二存储器区域的可用存储器的起始地址;以及更新第二表。13.如权利要求12所述的方法,其中所述第二表的项目包括不用的存储器块的信息,其包括只读存储器(ROM)数、起始地址和大小。14.如权利要求8所述的方法,进一步包括通过以下来访问由主机设备的电子文件提供的函数接收来自主机设备主程序的函数调用,该函数调用包括对应电子文件的标识信息;从向量表读取对应电子文件的起始地址;以及通过使用所述起始地址和标识信息产生用于该对应电子文件的调用。15.一种用于文件更新期间的设备存储器管理的方法,其包括使用所接收组件的标识信息来确定新电子文件的至少一个所接收组件的大小,所述新电子文件是原始电子文件的更新版本;当该大小等于或者小于原始电子文件的对应组件的大小时,分配第一存储器区域的原始存储器块,以将所接收的组件写入其中,所述原始存储器块包括原始电子文件的对应组件;当该大小超过原始电子文件对应组件的大小时,为足够大以存储所接收的组件的存储器块而搜索第二存储器区域和第一存储器区域的不用区段中的至少一个;以及当该大小超过第一和第二存储器区域的可用存储器块的大小时,重写第一存储器区域以去除不用的区段,重新分配第一和第二存储器区域,并分配第二存储器区域的存储器块,以将所接收的组件写入其中。16.如权利要求15所述的方法,其中第一存储器区域的重新写入进一步包括读取表,该表包括对应于第一存储器区域不用区段的至少一个项目;以及重写第一存储器区域的组件以依次打包第一存储器区域的组件并合并不用的存储器块。17...

【专利技术属性】
技术研发人员:彭罗生
申请(专利权)人:创道软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利