用于独立于硬件的存储器存储的系统及方法技术方案

技术编号:19075783 阅读:51 留言:0更新日期:2018-09-29 17:50
本发明专利技术的实施例涉及一种文件系统,更具体地说,涉及一种用于安全关键嵌入式系统(诸如,汽车的电子控制单元(ECU))的、与多种类型的非易失性存储器兼容的文件系统。本公开内容的一些示例包括具有由文件系统管理的RAM和非易失性存储器的ECU。

【技术实现步骤摘要】
【国外来华专利技术】用于独立于硬件的存储器存储的系统及方法相关申请的交叉引用本申请要求于2016年1月29日提交的美国临时申请No.62/288,938的优先权,出于所有的目的,其全部内容通过引用结合于此。
本专利技术一般涉及电子归档系统,更具体地说,涉及用于安全关键嵌入式系统(例如,汽车的电子控制单元(ECU))的、与多种类型的非易失性存储器兼容的文件系统。
技术介绍
嵌入式系统可以具有随机存取存储器(RAM)、非易失性存储器以及存储器层次结构中的其他类型存储器和存储装置。RAM可以提供快速的性能,但是要求连接电源来保留数据。然而,非易失性储存器可以在电源断开时保留数据。非易失性存储器的示例包括但不限于电可擦除可编程只读存储器(EEPROM)、电池备份RAM以及闪存。为了创建能够在电源断开时能够快速运行并保留数据的系统,可以将数据存储在非易失性存储器中,并在需要执行功能时将数据加载至RAM中。当RAM数据被修改时,随后将其保存到非易失性存储器中以在断电情况下使用。当数据被保存到RAM或非易失性存储器时,所存储的数据可以由具有地址指针的函数访问。许多嵌入式系统中的非易失性存储器可以在应用程序代码中进行手动管理或者由文件系统进行手动管理。当通过应用程序代码来管理非易失性存储器时,开发人员需要就非易失性存储器中的哪些地址被分配给各个数据结构达成一致。管理每个结构的地址可以防止数据被无意覆盖或者丢失。手动分配和跟踪每级内存层次结构的内容可能容易出错且乏味。但是,文件系统可以自动管理多级上的存储器并且提供例如如下所述的其他功能,以减轻手动存储器管理的几个缺点。文件系统可以为计算机系统内的多级存储器层次结构中的数据分配空间,并且维护每个结构所在位置的记录。文件系统的其他功能包括但不限于多级目录和使用安全凭证。这些文件系统对于具有许多文件、高级功能和/或敏感数据的计算机系统(包括但不限于移动设备、膝上型计算机以及其他消费电子产品)是有利的。然而,消费类汽车中的电子控制单元(ECU)通常运行低级别的安全关键应用程序。因此,当前的文件系统的许多特征对于管理ECU内的存储器而言是不必要的。因此,ECU领域中需要一种适用于汽车控制序列和ECU硬件的文件系统,其可以随着被结合到单个汽车中的ECU的不同而变化。
技术实现思路
本专利技术的实施例涉及一种文件系统及其用途。更具体地,本专利技术的实施例涉及一种用于安全关键嵌入式系统(诸如汽车的电子控制单元(ECU))的、与多种类型的非易失性存储器兼容的文件系统。本公开内容的一些示例包括具有由文件系统管理的RAM和非易失性存储器的ECU。当前的文件系统可以被设计成与非易失性存储器的特定硬件实现(例如,EEPROM、闪存、电池后备RAM或其他类型非易失性存储器)一起工作。在ECU的一些示例中,用于非易失性存储器的硬件可能在软件开发开始时是未知的,或者可能对于并入一系列车辆中的ECU或甚至在单个车辆内的ECU而言不一致。这种不一致性会使得开发人员团队难以为ECU选择文件系统,并且使得手动管理功能代码内的非易失性存储器变得更加困难。此外,文件系统的一些示例可以动态地分配存储器。在诸如ECU之类的安全关键系统中,例如,当有足够的时间来完成保存操作从而避免丢失关键信息时,仅保存数据可能是有利的。在一些示例中,ECU可以包括为安全关键系统设计的独立于硬件的文件系统。在一些示例中,ECU可以使用文件系统来管理RAM和非易失性存储器。在一些示例中,文件系统可以向软件开发者提供独立于硬件的功能,以通过由ECU执行代码来使用该文件系统。根据本公开内容的示例的独立于硬件的文件系统可以提供抽象层,因此开发人员不需要使他们的代码适用于ECU使用的非易失性存储器的类型。根据本公开内容的一些示例,文件系统可以包括具有条目阵列的目录。例如,该条目阵列可以记录并跟踪一个或多个数据结构,所述一个或多个数据结构可以存储在ECU的RAM和/或非易失性存储器中。该阵列可以对于每个条目的唯一ID,该条目在RAM和非易失性存储器中的地址,该条目的大小,以及元数据。元数据可以包括例如版本号、该条目上一次被保存到非易失性存储器中的时间以及根据本公开的示例的其他信息。当ECU通电时,可以将目录从非易失性存储器加载到RAM中。在电源断开之前,ECU可以在能够安全地将目录保存到非易失性存储器中的情况下将目录保存到非易失性存储器中。在一些示例中,在有足够时间完成保存过程而不会出现中断而防止数据损坏,进而使得ECU更可靠的情况下,可以将数据保存到非易失性存储器中。附图说明图1示出了根据本公开内容的示例的示例性存储器层次结构。图2示出了根据本公开内容的示例的包括RAM和非易失性存储器的示例性ECU的框图,RAM和非易失性存储器上均存储有数据。图3示出了根据本公开内容的示例的用于启动文件系统并加载或生成文件系统的目录的示例性过程。图4示出了根据本公开内容的示例的用于管理数据结构的示例性过程,该示例性过程包括使用文件系统注册条目、保存条目以及检索条目。图5示出了根据本公开内容的示例的用于使用文件系统将所有条目和目录保存到非易失性存储的示例性过程。图6示出了根据本公开的示例的包含多个ECU的示例性车辆的框图。具体实施方式在以下的描述中,参考形成该描述的一部分的附图,并且在附图中通过示例性的方式示出了可以实施的具体示例。应当理解的是,在不脱离本公开内容的示例的范围的情况下,可以使用其他示例并且可以进行结构上的更改。本专利技术涉及一种文件系统,更具体地说,涉及一种用于安全关键嵌入式系统(例如,汽车的电子控制单元(ECU))的、与多种类型的非易失性存储器兼容的文件系统。本公开内容的一些示例包括具有由文件系统管理的RAM和非易失性存储器的ECU。当前的文件系统可以被设计成与非易失性存储器的特定硬件实现(例如,EEPROM、闪存、电池后备RAM或其他类型非易失性存储器)一起工作。在ECU的一些示例中,用于非易失性存储器的硬件可能在软件开发开始时是未知的,或者可能对于并入一系列车辆中的ECU或甚至在单个车辆内的ECU而言不一致。这种不一致性会使得开发人员团队难以为ECU选择文件系统,并且使得手动管理功能代码内的非易失性存储器变得更加困难。此外,文件系统的一些示例可以动态地分配存储器。在诸如ECU之类的安全关键系统中,例如,当有足够的时间来完成保存操作从而避免丢失关键信息时,仅保存数据可能是有利的。在一些示例中,ECU可以包括为安全关键系统设计的独立于硬件的文件系统。在一些示例中,ECU可以使用文件系统来管理RAM和非易失性存储器。在一些示例中,文件系统可以向软件开发者提供独立于硬件的功能,以通过由ECU执行的代码来使用文件系统。根据本公开内容的示例的独立于硬件的文件系统可以提供抽象层,因此开发人员不需要使他们的代码适用于ECU使用的非易失性存储器的类型。根据本公开内容的一些示例,文件系统可以包括具有条目阵列的目录。例如,该条目阵列可以记录并跟踪一个或多个数据结构,所述一个或多个数据结构可以存储在ECU的RAM和/或非易失性存储器中。该阵列可以对于每个条目的唯一ID,该条目在RAM和非易失性存储器中的地址,该条目的大小,以及元数据。元数据可以包括例如版本号、该条目上一次被保存到非易失性存本文档来自技高网
...

【技术保护点】
1.一种对具有易失性存储器和非易失性存储器的车辆的电子控制单元中的数据进行管理的方法,所述方法包括以下步骤:从所述非易失性存储器中检索包括多个条目的目录,每个相应的条目在所述非易失性存储器中包括相应的地址,在所述相应的地址处存储有与相应的条目相关联的相应的数据;响应于接收到与多个条目中的第一条目相关联的一个或多个请求,进行:从所述非易失性存储器中的第一地址将与所述第一条目相关联的第一数据加载到所述易失性存储器中的第二地址,以及将所述第二地址存储到所述目录的多个条目中的第一条目中,其中,所述一个或多个请求来源于所述电子控制单元的应用程序代码。

【技术特征摘要】
【国外来华专利技术】2016.01.29 US 62/288,9381.一种对具有易失性存储器和非易失性存储器的车辆的电子控制单元中的数据进行管理的方法,所述方法包括以下步骤:从所述非易失性存储器中检索包括多个条目的目录,每个相应的条目在所述非易失性存储器中包括相应的地址,在所述相应的地址处存储有与相应的条目相关联的相应的数据;响应于接收到与多个条目中的第一条目相关联的一个或多个请求,进行:从所述非易失性存储器中的第一地址将与所述第一条目相关联的第一数据加载到所述易失性存储器中的第二地址,以及将所述第二地址存储到所述目录的多个条目中的第一条目中,其中,所述一个或多个请求来源于所述电子控制单元的应用程序代码。2.根据权利要求1所述的方法,所述方法还包括以下步骤:确定所述目录是否存储在所述非易失性存储器中;以及根据所述目录没有存储在所述非易失性存储器中,创建所述目录,此步骤包括:响应于来源于所述电子控制单元的应用程序代码的多个条目创建请求,针对多个条目请求中的每个条目请求在所述目录中创建相应的条目,以及将非易失性存储器的相应的地址分配给所述目录中相应的条目。3.根据权利要求2所述的方法,所述方法还包括:确定所述非易失性存储器上的空闲空间;以及确定所述空闲空间的地址,用于分配给所述目录的条目。4.根据权利要求2所述的方法,其中,确定所述目录是否存储在所述非易失性存储器中包括:响应于指定所述目录的版本的初始化请求而确定所述目录的该版本是否存储在所述非易失性存储器中,所述初始化请求来源于所述电子控制单元的所述应用程序代码。5.根据权利要求1所述的方法,所述方法还包括以下步骤:响应于来源于所述电子控制单元的所述应用程序代码的一个或多个初始化请求,针对所检索的目录中的多个条目中的每个相应条目进行以下操作:将所述非易失性存储器中与相应条目相关联的相应数据加载到所述易失性存储器中的相应地址,以及将所述相应地址保存到所述目录的多个条目中的相应条目中。6.根据权利要求1所述的方法,所述方法还包括以下步骤:响应于一个或多个关闭请求,将所述易失性存储器中与所述目录中所选取的条目相关联的数据加载至所述非易失性存储器。7.根据权利要求6所述的方法,所述方法还包括以下步骤:进一步响应于所述一个或多个关闭请求,仅选择将所述目录中之前从所述非易失性存储器加载到易失性存储器中的条目从所述易失性存储器加载回到所述非易失性存储器。8.根据权利要求1所述的方法,所述方法还包括以下步骤:响应于将数据从所述易失性存储器加载到所述非易失性存储器中的请求,所述请求来源于所述电子控制单元的所述应用程序代码,进行:确定所述非易失性存储器的硬件类型,以及根据所述非易失性存储器的硬件类型写入到所述非易失性存储器中。9.一种存储有指令的非易失性计算机可读存储介质,所述指令在由车辆的电子控制单元的一个或多个处理器执行时使得所述电子控制单元执行对包括易失性存储器和非易失性存储器的电子控制单元中的数据进行管理的方法,所述方法包括以下步骤:从所述非易失性存储器中检索包括多个条目的目录,每个相应的条目在所述非易失性存储器中包括相应的地址,在所述相应的地址处存储有与相应的条目相关联的相应的数据;以及响应于接收到与所述多个条目中的第一条目相关联的一个或多个请求,进行:从所述非易失性存储器中的第一地址将与所述第一条目相关联的第一数据加载到所述易失性存储器中的第二地址,以及将所述第二地址存储到所述目录的多个条目中的第一条目中,其中,所述一个或多个请求来源于所述电子控制单元的应用程序代码。10.根据权利要求9所述的非易失性计算机可读存储介质,所述方法还包括以下步骤:确定所述目录是否存储在所述非易失性存储器中;以及根据所述目录没有存储在所述非易失性存储器中,创建所述目录,此步骤包括:响应于来源于所述电子控制单元的应用程序代码的多个条目创建请求,针对多个条目请求中的每个条目请求在所述目录中创建相应的条目,以及将非易失性存储器的相应的地址分配给所述目录中相应的条目。11.根据权利要求10所述的非易失性计算机可读存储介质,所述方法还包括以下步骤:确定所述非易失性存储器上的空闲空间;以及确定所述空闲空间的地址,用于分配给所述目录的条目。12.根据权利要求10所述的非易失性计算机可读存储介质,其中,确定...

【专利技术属性】
技术研发人员:R·E·史林迪J·M·费尔南多D·D·奇德斯特
申请(专利权)人:法拉第未来公司
类型:发明
国别省市:美国,US

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

1