电子设备的复制文件系统的制作方法

文档序号:6596291阅读:259来源:国知局
专利名称:电子设备的复制文件系统的制作方法
电子设备的复制文件系统
背景技术
电子设备通常具有可在正常操作期间被修改和保存的重要信息的内部存储器。为了描述本发明,该存储器将被称作“非易失性存储器”或“NVM”。NVM内部是嵌入式文件系统(EFS)。在特定情况下,NVM的完整性是有风险的。例如,如果在写入操作期间对设备断电,则EFS可能损坏或安全受到危害。本发明描述一种在意外断电的情况下保护NVM内电子设备的EFS的方法。在许多便携式电子设备中,尺寸和成本是关键因素,所以设备上的大电池备份是不可接受的。需要一种可以在NVM损坏时重建或复制EFS的系统。

发明内容
一个实施方式公开了一种校正非易失性存储器(NVM)系统内的嵌入式文件系统 (EFS)中的损坏数据的方法,其中该非易失性存储器还包括复制文件系统(RR5)。如果EFS 初始化成功,则执行EFS存储扇区与对应的RFS存储扇区之间的存储比较。如果确定1个以上存储扇区之间不匹配,则确认、擦除并且重写与对应的EFS存储扇区不同步的RFS存储扇区。如果EFS初始化不成功,则执行EFS存储扇区与对应的RFS存储扇区之间的存储比较。如果确定1个以上存储扇区之间不匹配,则确认、擦除并且重写EFS存储扇区。在另一实施方式中,可以在一种存储用于执行该方法步骤的包含计算机程序代码的计算机程序产品的计算机可读介质上实现上面的方法。在又一实施方式中,一种能够校正损坏数据的非易失性存储器(NVM)系统包括还包括嵌入式文件系统(EFS),该嵌入式文件系统还包括应用编程接(API)、1个以上操作系统进程、闪存驱动器(flash driver)以及复制层。复制层管理EFS分区和RFS分区,其中 RFS分区是对EFS分区系统的镜像。当EFS分区或RFS分区的存储扇区彼此不同步时,它们可以利用未损坏分区的未损坏存储扇区进行再同步。NVM系统可以包括在无线通信设备内。损坏的数据可以是写入操作期间突然断电的结果,并且可以在NVM系统的下一个上电周期期间被校正。损坏的数据还可以是发生在读取操作期间的运行错误的结果,并且可以即时地 (on the fly)被校正,而不必重启无线通信设备的电源。


图1是示出了非易失性存储器(NVM)系统内的典型的嵌入式文件系统的现有技术的框图。图2是示出了根据本发明的非易失性存储器(NVM)系统内的嵌入式文件系统 (EFS)的框图。图3是示出了下一引导过程期间实施EFS校正的逻辑图。
图4是示出了在运行期间实施EFS的读取错误校正的逻辑图。
具体实施例方式非易失性存储器(NVM)损坏是无线通信设备中的问题。NVM损坏在遭遇随机断电的无线通信设备中更普遍。其实例包括在汽车或运输容器中包括或内置的指定几种应用的无线通信设备。由于NVM损坏,无线通信设备可能不再运行。即使它仍然运行,但是其也以包含关键校准数据的损坏数据而运行。例如,如果在写入操作期间对无线通信设备断电,则存储器可能会损坏。在较大的固定的计算机设备中,对该问题的解决方法包括保持第二独立文件系统以备份主要文件系统。由于存储器的类型通常不是闪存且物理空间和电力消耗问题都不是重大障碍,所以这在较大的设备和系统中更为可行。然而,在无线通信设备中,使用的存储器通常是闪存,并且包括这些无线通信设备的模块显著地被物理空间和电力所制约。因此, 由于2个独立的文件系统在竞争对同一闪存设备的访问时将产生显著的资源冲突,所以应用独立的文件系统以备份NVM内的主要嵌入式文件系统不是对于上述问题的实际的解决方法。本发明描述用于在引起NVM数据损坏之后恢复无线通信设备的NVM数据的系统和方法。这种解决办法由于仅恢复损坏数据而比独立的备份系统较为不复杂。其不需要NVM 存储系统的完全重建。对于无线通信设备,通常利用嵌入式文件系统(ER5)将数据存储在闪存设备上。 在此描述的系统和方法将对主要EFS的所有写入操作复制至被称作复制文件系统(RFS)的
第二存储位置。图1是示出了非易失性存储器(NVM)系统内的典型嵌入式文件系统(EFS)IOO的现有技术的框图。EFS 100是无线通信设备内较大的NVM系统的一部分。虽然这里没有具体示出,但是本发明所预期的类型的无线通信设备包括用于驱动(供电)和控制无线通信设备的整体操作的诸如电池的电源和处理器。EFS 100包括文件系统应用编程接口 (API) 102、文件系统操作系统(OS)进程104、闪存驱动器106以及EFS分区108。这些部件与处理器一起工作以整体处理无线通信设备的NVM的存储需求。如果EFS分区108中的数据由于突然断电而损坏,则不一定可以修复。图2是示出了根据本发明的非易失性存储器(NVM)系统内的嵌入式文件系统 (EFS) 100的框图。EFS系统100增加了复制层110。除了标准的EFS分区108之外,复制层 110还负责管理第二存储分区,即RFS分区112。存在几种可在损坏的情形后重建EFS的不同的情况。参照图3描述的一种情况包括在断电后的下一个供电周期期间重建数据。重建是上电同步处理的一部分。参照图4描述的另一种情况包括在不是断电的结果且不需要无线通信设备供电备份的运行期间校正读取错误。图3是示出了下一引导过程期间执行EFS校正的逻辑图。该解决方法是用于校正由于在对闪存的写入操作期间断电而导致的损坏的存储器的有效方法。仅更新(例如,擦除和重写)受影响的闪存扇区(可以被擦除的存储器的最小量)。受影响的扇区的更新可在断电后的下一供电周期期间完成。更具体地,可以在下一引导过程期间校正EFS而没有任何显著的性能劣化,同时对与无线通信设备连接的外部应用或系统是无影响 (transparent,^BJ )的。当在断电后对无线通信设备上电时,进行检查以确定EFS初始化是否成功301。如果成功302,则将EFS存储与RFS存储相比较303。如果比较得到匹配304,于是上电同步处理结束305。如果EFS存储与RFS存储相比较303得到不匹配306,于是确认307、擦除308 并且重写309非同步的RFS存储扇区。然后上电同步处理结束305。如果EFS初始化不成功310,则执行RFS与EFS的存储比较311。如果比较得到匹配312,于是上电同步处理结束305。如果RFS与EFS的存储比较311得到不匹配313,于是确认314、擦除315并且重写316损坏的EFS存储扇区。然后上电同步处理结束305。非同步RFS存储扇区是与对应的EFS存储扇区不同步的RFS存储扇区。非同步例如可以由于在对闪存的写入操作期间断电而发生,其中对EFS的写入操作完成而对RFS的复制写入没有完成。非同步例如还可以由于在对EFS扇区擦除期间断电而发生,其中EFS 擦除完成而复制的RFS擦除没有完成。图4是示出了运行期间执行EFS的读取错误校正的逻辑图。有时这由被称作宇宙射线位翻转(cosmic ray bit flipping)的现象产生。如果宇宙射线通过半导体芯片的感光(sensitive,灵敏)部分,例如,位的逻辑状态(“开”或“关”)会翻转。这称作单粒子翻转(SEU)。单粒子翻转还可以由宇宙射线撞击感光部件位置中的原子的原子核而产生。原子核的相互作用可以引起原子核分裂或裂变。原子核的裂片带走大部分宇宙射线的能量。 然后,这些裂片可以翻转位状态。翻转的位状态导致读取错误。如果EFS读取错误发生,则可以开始RFS与EFS之间的同步检查,并且即时地校正损坏的扇区而不需要重新启动系统。在检测到读取错误402时,开始RFS与EFS的存储比较404。确认406、擦除408并且重写410任何损坏的EFS存储扇区。然后,重新初始化EFS 412,结束读取错误校正处理414。本领域技术人员应当理解,本发明可以以方法、系统或计算机程序产品来实现。因此,本发明可以采取完全硬件的实施方式、完全软件的实施方式(包括固件、常驻软件、微码等)或组合在此总体统称为“电路”、“模块”或“系统”的硬件和软件方面的实施方式的形式。此外,本发明可以采取具有在介质中实现的计算机可用程序代码的计算机可用存储介质上的计算机程序产品的形式。可以利用任何合适的计算机可读介质。计算机可用或计算机可读介质可以是但不限于电子、磁、光学、电磁、红外线或半导体系统、装置、设备或传输介质。计算机可读介质的更具体实例(非完全的列表)将包括以下具有一条以上配线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPR0M或闪存)、光纤、便携式光盘只读存储器(⑶-ROM)、光学存储设备、诸如那些支持互联网或内联网的传输介质或磁存储设备。应注意,计算机可用或计算机可读介质甚至可以是打印有程序的纸或其他合适的介质,因为程序例如可以经由纸或其他介质的光学扫描电子获取,然后如果需要,编译、解释或以其他合适方式的处理,然后存储在计算机存储器中。在本文的语境中,计算机可用或计算机可读介质可以是能够包括、存储、通信、传播或传送由指令执行系统、装置或设备所使用或与它们有关的程序的任何介质。用于执行本发明的操作的计算机程序代码可以以诸如Java、Smalltalk或C++等的面向对象的编程语言编写。然而,用于执行本发明操作的计算机程序代码也可以以诸如 “C”编程语言或类似的编程语言的传统程序编程语言编写。程序代码可以全部在用户计算机上、部分在用户计算机上,作为独立的软件包部分在用户计算机上、以及部分在远程计算机上或全部在远程计算机或服务器上执行。在后面的情况中,远程计算机可以通过局域网 (LAN)或广域网(WAN)与用户的计算机连接,或可以来连接外部计算机(例如,通过利用互联网服务提供商的互联网)。 下面将参照根据本发明实施方式的方法、装置(系统)以及计算机程序产品的流程图和/或框图描述本发明。应理解,可以通过计算机程序指令实现流程图和/或框图的每个块、以及流程图和/或框图的块的组合。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生一种体系,使得经由计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现在流程图或框图的块中指定的功能/ 动作的手段(means,装置)。 这些计算机程序指令还可以存储在计算机可读存储器中,可以指引计算机或其他可编程数据处理装置以特别的方式运行,使得存储在计算机可读存储器中的指令产生一件包括实现在流程图或框图的块中指定的功能/动作的指令手段的产品。计算机程序指令还可以加载到计算机或其他可编程数据处理装置上,以引起一系列在计算机或其他可编程装置上执行的操作步骤以产生计算机可实现的处理,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图或框图的块中指定的功能/动作的步骤。可以经由存在于移动通信设备等的显示器上的图形用户界面呈现和响应与本发明相关联的任何提示。提示还可以是声音的、振动的等。图中的流程图和框图示出根据本发明的各种实施方式的系统、方法以及计算机程序产品的可能实现的构造、功能以及操作。在这点上,流程图或框图中的每个块可以代表包括1个以上用于实现指定的逻辑功能的可执行指令的代码的模块、段或部分。还应该注意, 在某些可选的实现方式中,在块中标明的功能可能不以图中标明的顺序发生。例如,依靠所包含的功能性,接连示出的2个块实际上可基本上同时地执行,或者有时这些块可以以相反的顺序执行。还应注意,框图和/或流程图的每个块以及框图和/或流程图的块的组合可以通过执行特定功能或动作的专用硬件类系统或专用硬件和计算机指令的组合来实现。在此使用的术语仅为了描述特定实施方式,而非旨在限制本发明。如这里所使用的,单数形式的“a”、“an”以及“thf包括复数形式,除非上下文有另外的清楚指示。还应理解,在本说明书中使用的术语“包括(comprises) ”和/或“包括(comprising) ”指定特征、 整体、步骤、操作、元件和/或部件的存在,而不排除1个以上其他特征、整体、步骤、操作、元件、部件和/或其组合的存在或增加。尽管在此已经示出并描述了具体实施方式
,但是本领域的普通技术人员应当理解,对于所示的具体实施方式
,计划为实现同样目的的任何配置都是可被替代的,并且,本发明在其他环境中具有其他应用。该应用旨在覆盖本发明的任何修改和变化。所附的权利要求决不旨在将本发明的范围限制为本文所描述的具体实施方式

权利要求
1.一种校正非易失性存储器(NVM)系统内的嵌入式文件系统(EFS)中的损坏数据的方法,所述非易失性存储器系统还包括复制文件系统(RR5),所述方法包括如果EFS初始化成功(302),则在EFS存储扇区与对应的RFS存储扇区之间执行存储比较(303),并且如果确定1个以上存储扇区之间不匹配(306),则确认与对应的所述EFS存储扇区不同步的所述RFS存储扇区(307); 擦除与对应的所述EFS存储扇区不同步的所述RFS存储扇区(308);并且重写与对应的所述EFS存储扇区不同步的所述RFS存储扇区以使它们再次变为同步 (309), 以及如果EFS初始化不成功(310),则在RFS存储扇区与对应的EFS存储扇区之间执行存储比较(311),并且如果确定1个以上存储扇区之间不匹配(313),则确认损坏的所述EFS存储扇区(314); 擦除损坏的所述EFS存储扇区(315);并且重写损坏的所述EFS存储扇区以使所述EFS存储扇区与所述RFS存储扇区再次变为同步(316)。
2.一种存储用于校正非易失性存储器(NVM)系统内的嵌入式文件系统(EFS)中的损坏数据的计算机程序产品的计算机可读介质,所述非易失性存储器系统还包括复制文件系统 (RFS),所述计算机可读介质包括如果EFS初始化成功(302),则用于在EFS存储扇区与对应的RFS存储扇区之间执行存储比较(303)的计算机程序代码,并且如果确定1个以上存储扇区之间不匹配(306),则用于确认与对应的所述EFS存储扇区不同步的所述RFS存储扇区(307)的计算机程序代码;用于擦除与对应的所述EFS存储扇区不同步的所述RFS存储扇区(308)的计算机程序代码;以及用于重写与对应的所述EFS存储扇区不同步的所述RFS存储扇区以使它们再次变为同步(309)的计算机程序代码,以及如果EFS初始化不成功(310),则用于在RFS存储扇区与对应的EFS存储扇区之间执行存储比较(311)的计算机程序代码,并且如果确定1个以上存储扇区之间不匹配(313),则用于确认损坏的所述EFS存储扇区(314)的计算机程序代码; 用于擦除损坏的所述EFS存储扇区(315)的计算机程序代码;以及用于重写损坏的所述EFS存储扇区以使所述EFS与RFS存储扇区再次变为同步(316) 的计算机程序代码。
3.—种能够校正损坏数据的非易失性存储器(NVM)系统,包括 嵌入式文件系统(ER5) (100),其包括应用编程接口(API) (102); 1个以上操作系统进程(104); 闪存驱动器(106);以及复制层(110),用于管理EFS分区(108)和RFS分区(112),其中,所述RFS分区(112) 是对所述EFS分区(108)系统的镜像,使得当所述EFS分区(108)或所述RFS分区(112)的存储扇区彼此不同步时,它们可以利用未损坏分区的未损坏存储扇区而再同步。
4.根据权利要求3所述的系统,其中,所述NVM系统包括在无线通信设备中。
5.根据权利要求4所述的系统,其中,所述损坏数据是写入操作期间突然断电的结果。
6.根据权利要求5所述的系统,其中,所述损坏数据的校正在所述NVM系统的下一个上电周期期间来执行,其中所述损坏数据是写入操作期间突然断电的结果。
7.根据权利要求4所述的系统,其中,所述损坏数据是发生在读取操作期间的运行错误的结果。
8.根据权利要求7所述的系统,其中,所述损坏数据的校正即时地执行而不必重启所述无线通信设备的电源,其中所述损坏数据是发生在读取操作期间的运行错误的结果。
全文摘要
本发明公开了用于校正非易失性存储器(NVM)系统内的嵌入式文件系统(EFS)(100)中的损坏数据的方法、系统以及计算机可读介质。NVM系统还包括复制文件系统(RFS)(112)。在EFS存储扇区与对应的RFS存储扇区之间执行存储比较(303)以确认与对应的EFS存储扇区不同步(307)的任何RFS存储扇区。然后,擦除(308)并重写(309)不同步的那些存储扇区。
文档编号G06F11/14GK102308287SQ200980156332
公开日2012年1月4日 申请日期2009年1月16日 优先权日2008年12月9日
发明者凯丽·格雷厄姆, 威廉·J·布拉马特 申请人:施克莱无线公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1