用于独立于硬件的存储器存储的系统及方法与流程

文档序号:15575373发布日期:2018-09-29 05:24阅读:177来源:国知局

本申请要求于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和非易失性存储器中的地址,该条目的大小,以及元数据。元数据可以包括例如版本号、该条目上一次被保存到非易失性存储器中的时间,以及根据本公开的示例的其他信息。当ecu通电时,可以将目录从非易失性存储器加载到ram中。在电源断开之前,ecu可以在能够安全地将目录保存到非易失性存储器中的情况下将目录保存到非易失性存储器中。在一些示例中,在有足够时间完成保存过程而不会出现中断而防止数据损坏,进而使得ecu更可靠的情况下,可以将数据保存到非易失性存储器中。

根据本公开内容的示例文件系统可以被用于诸如嵌入式系统、消费电子产品和计算机之类的计算系统中以管理存储在其上的数据。计算系统可以包括多级存储器,例如易失性存储器(例如,随机存取存储器(ram))和非易失性存储器。每级可以具有与之相关的权衡。图1示出了根据本公开内容的示例的存储器层次结构100。例如,存储器层次结构100可以包括多级存储器,存储器具有相关的诸如速度120和成本130的权衡,在一些示例中,存储器层次结构100包括存储装置102、非易失性存储器104、ram106以及高速缓存108。例如,存储装置102可以通过硬盘驱动器来实现。例如,非易失性存储器104可以通过eeprom,电池后备ram或闪存来实现。存储器102和非易失性存储器106的其他实现是可能的。其他示例性计算机系统可以具有在适合于计算机系统的存储器层次结构内的更多级或更少级。例如,一些ecu可以具有包括ram和非易失性存储器的存储器层次结构。

在图1的示例中,高速缓存108是层次结构100中最快且最昂贵的一级存储器,并且存储装置102是最慢且最便宜的。由此,例如,具有示例性存储器层次结构100的示例性计算机系统可以在高速缓存108中具有最小量的空间并且在存储装置102中具有最大量的空间。通过使更快、更昂贵的存储器占用更少的空间,而使更慢、更便宜的存储器占用更多的空间,系统可以在必要时以高速执行,而无需包括过多的昂贵的高速存储器。

此外,在一些示例中,存储器层次结构的诸如高速缓存108和ram106的易失性级仅在连接有系统电源时保留数据。存储器层次结构的诸如非易失性存储器104和存储装置102之类的其他级可以在系统电源断开时保留数据。因此,除了上文所讨论的其他权衡之外,具有多级存储器可以例如使得计算机系统能够在断电时保留数据。

为了有效地使用其存储器层次结构,计算机系统可以在操作期间在层级间移动数据。在一些示例中,当计算机系统正在执行应用程序或修改文件时,使得数据驻留在诸如高速缓存108的高速、高成本存储器上可能是有利的。当计算机完成修改数据时,可以将数据保存到较慢、较便宜的存储器级别,例如非易失性存储器104或存储装置102。在一些示例中,将当前未使用的数据保存到非易失性存储器104或存储装置102可以在高速缓存108和ram106中为其他数据腾出空间并且可以在断电的情况下保护当前未使用的数据。例如,对于简单的存储器层次结构(例如,仅包括ram和非易失性存储器的存储器层次结构)而言,开发人员可以手动跟踪数据结构要在每级存储器中的哪些地址中进行存储。例如,记录各个数据结构在各级存储器中进行保存的位置可以帮助开发人员团队避免无意中覆盖数据或丢失数据跟踪。

在一些示例中,随着存储器层次结构变得更加复杂,随着开发人员团队的增长,或者随着开发以更快的速度进行,手动跟踪每个数据结构的位置会变得容易出错且繁琐。此外,为了手动管理非易失性存储器,开发人员必须了解计算机系统将使用哪个硬件以及如何管理计算机系统的存储器。因此,许多计算机系统包括用于管理多级存储器的文件系统。在一些示例中,文件系统可以为系统内的多级存储器层次结构分配空间,并对每个结构所在的位置的记录进行维护。文件系统的其他特征包括但不限于多级目录和使用安全凭证。这些文件系统对于例如具有许多文件、高级功能和/或敏感数据的系统是有利的。在一些示例中,文件系统被设计为与针对每级存储器的特定类型的硬件一起工作。

然而,消费类汽车中的电子控制单元(ecu)通常例如运行低级别的安全关键应用程序。因此,根据本公开内容的一些示例,当前文件系统的许多特征对于管理ecu内的存储器可能是不必要的。此外,在一些示例中,当前的文件系统可以是依赖于硬件的。例如,非易失性存储器的硬件实现会因项目的不同而变化,或者在项目开始时并未达成一致,存储器管理对于开发人员来说具有挑战性,因为不同类型非易失性存储器通过不同的方式进行操作。根据本公开内容的示例的文件系统可以包括独立于硬件的功能,以供开发人员在编写用于ecu的软件时使用。

在一些示例中,ecu可以包括由文件系统进行管理的ram和非易失性存储器。图2示出了根据本公开内容的示例的包括ram210和非易失性存储器250的示例性ecu200的框图,ram210和非易失性存储器250各自存储有数据242和数据292。ram210中的数据可以例如通过字节号232和位号234来寻址。非易失性存储器250中的数据可以例如通过字节号272和位号274来寻址。在一些示例中,ram210可能比非易失性存储器250更快且更昂贵。例如,即使至ecu200的电源(未示出)断开时,非易失性存储器250也可以保持数据。根据本公开内容的示例,非易失性存储器250可以用eeprom、闪存、电池后备的ram或其他类型的非易失性存储器来实现。在一些示例中,文件系统可以包括独立于硬件的功能,以供开发人员调用从而使用文件系统,使独立于硬件的函数的代码与各种非易失性存储器类型兼容。因为ram210和非易失性存储器250具有不同的优点和缺点,所以ecu200可以使用这两级存储器以得到在没有连接电源的情况下能够保存数据、性能快速且廉价的存储器。

根据本公开内容的一些示例,ecu200可以具有能够管理ram210和非易失性存储器250中的数据的文件系统。文件系统可以包括目录,该目录中的内容可以是保存在ram210中的副本220和/或保存在非易失性存储器250中的副本260。当存储在ram210中的目录220被更新且随后被保存到非易失性存储器250中时,副本220和副本260二者会是相同的。例如,存储在ram210中的目录220可以包括条目(例如条目222)并且可以指示ecu中的每个数据结构存储在ram210和非易失性存储器250中的位置。同样地,例如,存储在ecu200的非易失性存储器260中的目录260可以包括相应的条目262。

例如,对于目录220的条目222可以包括唯一的id221、数据结构在ram中的地址223、数据结构在非易失性存储器250中的地址225以及数据结构的大小227。同样地,例如,目录260中的条目262可以包括唯一的id261、数据结构在ram210中的地址263、数据结构在非易失性存储器250中的地址265以及数据结构的大小267。如图2所示,例如,“前灯(frontlights)”存储在ram210中的地址为0x7ef并且在非易失性存储器250中的地址为0x013cf。这些地址反映在目录210中的条目222中以及反映在目录260中的条目262中。一些示例性目录还可以包括关于每个条目的元数据(未示出)。元数据可以包括版本号和指示条目上一次何时被保存到非易失性存储器的时间。附加地或可替代地,本公开内容的一些示例可以具有关于目录中的每个条目的其他类型的元数据。

在一些示例中,目录(例如,目录220或目录260)也可以包括其自身的元数据(未示出)。该元数据可以包括用于指示目录在非易失性存储器中的位置的id、指示目录的结构的版本、指示目录何时被创建的时间,以及指示目录上一次何时被保存至非易失性存储器的时间。附加地或可替代地,本公开内容的一些示例可以具有关于目录的其他类型的元数据。

根据本公开内容的示例的文件系统可以在启动时自动地管理在ram和非易失性存储器中的位置中的什么地方存储ecu数据。图3示出了根据本公开内容的示例的用于启动文件系统并加载332或生成334文件系统的目录的示例性过程300。存储在ecu上的应用程序可以执行命令以启动文件系统(例如,命令可以来源于应用程序代码)。一旦接收到命令310,ecu就可以检查320非易失性存储器以查找现有的目录。在一些示例中,在ecu电源断开之前,目录及其条目已经被保存到非易失性存储器中。在一些示例中,如果在非易失性存储器中找到目录,则可以将该目录移动332到ram。在一些示例中,如果没有找到目录,则可以在ram中创建334新的目录。一旦将目录被移动332到ram中或者在ram中创建334目录,根据本公开内容的示例,ecu可以读取和编辑该目录以管理数据。

在一些示例中,一旦目录在ram中,ecu可以使用文件系统来管理数据。图4示出了根据本公开的示例的用于管理数据结构的示例性过程400,该示例性过程包括使用文件系统注册条目410、保存条目430以及检索条目450。例如,对于要由文件系统管理的数据,可以用目录来注册410该数据。在一些示例中,由ecu执行的应用程序可以包括注册条目的命令。例如,该命令可以包括关于条目的唯一的id、数据结构的大小和版本号。当接收到命令412时,可以根据本公开的示例将条目添加到目录414并由文件系统进行管理。

在一些示例中,可以在每个条目被注册时为其分配ram和非易失性存储器中的空间。在其他示例中,可以根据需要动态地分配ram和非易失性存储器中的空间。在一些示例中,如下文所描述的那样,当条目注册到目录时,该条目可以不包括非易失性存储器中的地址,直到应用程序代码执行保存该地址的命令为止。附加地或可替代地,如下文所描述的那样,在一些示例中,存储在非易失性存储器中的数据可以不具有与其相关联的ram地址,直到该数据从非易失性存储器中加载为止。现在将描述根据本公开内容的示例的利用文件系统保存和加载数据的示例。

在一些示例中,文件系统可以将所注册的条目保存430到非易失性存储器中。如上所讨论的那样,将数据保存到非易失性存储器中可以具有下述优点:在断电的情况下保护数据和/或在ram中为需要编辑的数据创建更多空间。根据本公开的示例的由ecu执行的应用程序可以修改与所注册的条目相关联的数据,然后执行将其保存到非易失性存储器中的命令。一旦命令被接收432,就可以例如将数据保存到例如非易失性存储器中434。在一些示例中,当条目被注册时,在非易失性存储器中,该条目可以具有为其分配的空间。也就是说,例如,在非易失性存储器中会存在被分配给数据的空间,而该数据尚未保存到非易失性存储器中。在一些示例中,当条目被注册时,在非易失性存储器中,该条目可以不具有为其分配的空间。也就是说,例如,在条目被保存到非易失性存储器之前,条目在非易失性存储器中的地址可以不包括在目录中。

在一些示例中,一旦用目录注册410了条目并将该条目保存430到非易失性存储器中,就可以从非易失性存储器中检索450出所述条目并将其加载到ram中。如上文所讨论的那样,将数据加载到ram中可以具有例如快速访问和编辑的优点。在一些示例中,由ecu执行的应用程序可以通过执行命令来检索要由ecu编辑或者使用的数据。一旦接收到命令452,就可以将数据复制到ram454中。在一些示例中,可以在接收到检索条目的数据的命令之前为数据在ram中分配地址。也就是说,例如,目录可以在条目被检索之前已经包括在ram中为条目分配的地址。在一些示例中,当接收到检索条目的数据的命令时,可以在ram中为该条目分配地址。也就是说,例如,在将条目加载到ram中之前,该条目在ram中的地址可以不包括在目录中。根据本公开内容的示例,只要将条目注册到目录中并且将其数据保存到非易失性存储器中,就可以检索条目。例如,如果ecu自通电以来没有使用其ram来保存或编辑数据,则该ecu可以通过从非易失性存储器检索该数据的方式来访问在先前使用期间被保存到非易失性存储器中的数据。

在一些示例中,当数据被保存到非易失性存储器时,诸如断电或其他错误之类的中断可能损坏该数据。在诸如ecu之类的安全关键系统中,例如,只有在有足够的时间来可靠地完成未中断的过程的情况下完成保存才是重要的。因此,当从用户接收到保存命令时或者当系统检测到有足够时间执行该保存时,本公开内容的一些示例仅将数据保存到非易失性存储器。在一些示例中,为了保存目录和当前存储在ram中的所有数据,可以在电源断开之前将所有内容保存到非易失性存储器中。图5示出了根据本公开内容的示例的用于使用文件系统将所有条目520和目录530保存到非易失性存储的示例性过程500。例如,系统接收保存所有内容的命令510。然后,例如,所有条目可以被保存到非易失性存储器中520,并且目录可以被保存到非易失性存储器中530。在一些示例中,根据本公开内容的各种示例,步骤520和步骤530可以按照任何顺序或同时执行。

具有根据本公开内容的示例的文件系统的ecu可以结合到消费类汽车中。图6示出了根据本公开的示例的包含多个ecu660、ecu630和ecu650的示例性车辆600的框图。在一些示例中,每个ecu可以控制和/或监测车辆600的电子系统。例如,灯ecu610可以控制和/或监测车辆600的前灯611、尾灯613、制动灯615以及雾灯617。作为另一示例,电池ecu630可以控制和/或监测车辆的电池631。作为第三示例,电动门ecu650可以控制门a651、门b653、门c655、门d657以及行李箱659。附加地或可替代地,本公开内容的其他示例可以包括用于控制车辆的其他电子系统的其他ecu。

因此,根据上述内容,本公开内容的一些示例涉及一种对包括易失性存储器和非易失性存储器的车辆的电子控制单元中的数据进行管理的方法,该方法包括:在车辆的电子控制单元处:从非易失性存储器中检索包括多个条目的目录,每个相应的条目包括非易失性存储器中的相应地址,这些相应地址存储有与相应条目相关联的各个数据;并且响应于与多个条目中的第一条目相关联的一个或多个请求,所述一个或多个请求来源于电子控制单元的应用程序代码,进行:将与第一条目相关联的第一数据从非易失性存储器中的第一地址加载至易失性存储器中的第二地址,并且将第二地址存储在目录的多个条目中的第一条目中。除了上面所公开的示例中的一个或多个示例以外或者作为上面所公开的示例中的一个或多个示例的替代,在一些示例中,该方法还包括:确定目录是否被存储在非易失性存储器中;并且根据没有被存储在非易失性存储器中的目录创建目录,包括:响应于来源于电子控制单元的应用程序代码的多个条目创建请求,针对多个条目请求中的每一个在目录中创建相应的条目,以及将非易失性存储器中的相应地址分配给目录中的相应条目。除了上面所公开的一个或多个示例以外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:确定非易失性存储器中的空闲空间;以及确定空闲空间的地址用于分配给目录中的条目。除了上面所公开的一个或多个示例以外或作为上面所公开的一个或多个示例的替代,在一些示例中,确定目录是否存储在非易失性存储器中包括响应于指定目录的版本的初始化请求而确定目录的版本是否存储在非易失性存储器中,该初始化请求来源于电子控制单元的应用程序代码。除了上面所公开的一个或多个示例之外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:响应于来源于电子控制单元的应用程序代码的一个或多个初始化请求,针对所检索的目录中的多个条目中的每个相应条目进行以下操作:将非易失性存储器中与相应条目相关联的相应数据加载到易失性存储器中的相应地址,以及将相应地址保存到目录的多个条目中的相应条目中。除了上面所公开的一个或多个示例之外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:响应于一个或多个关闭请求,将易失性存储器中与目录中所选取的条目相关联的数据加载至非易失性存储器。除了上面所公开的一个或多个示例之外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:进一步响应于一个或多个关闭请求,仅选择将目录中之前从非易失性存储器加载到易失性存储器中的条目从易失性存储器加载回到非易失性存储器。除了上面所公开的一个或多个示例之外,在一些示例中,该方法还包括:响应于将数据从易失性存储器加载到非易失性存储器中的请求,该请求来源于电子控制单元的应用程序代码,进行以下操作:确定非易失性存储器的硬件类型,并根据非易失性存储器的硬件类型写入到非易失性存储器中。

本公开内容的一些示例涉及一种存储有指令的非易失性计算机可读存储介质,所述指令在由车辆的电子控制单元的一个或多个处理器执行时使得电子控制单元执行对包括易失性存储器和非易失性存储器的电子控制单元中的数据进行管理的方法,该方法包括:在车辆的电子控制单元处:从非易失性存储器中检索包括多个条目的目录,每个相应的条目包括非易失性存储器中的相应地址,这些相应地址存储有与相应条目相关联的各个数据;并且响应于与多个条目中的第一条目相关联的一个或多个请求,所述一个或多个请求来源于电子控制单元的应用程序代码:将与第一条目相关联的第一数据从非易失性存储器中的第一地址加载至易失性存储器中的第二地址,并且将第二地址存储在目录的多个条目中的第一条目中。除了上面所公开的示例中的一个或多个示例以外或者作为上面所公开的示例中的一个或多个示例的替代,在一些示例中,该方法还包括:确定目录是否被存储在非易失性存储器中;并且根据没有被存储在非易失性存储器中的目录创建目录,包括:响应于来源于电子控制单元的应用程序代码的多个条目创建请求,针对多个条目请求中的每一个在目录中创建相应的条目,以及将非易失性存储器中的相应地址分配给目录中的相应条目。除了上面所公开的一个或多个示例以外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:确定非易失性存储器中的空闲空间;以及确定空闲空间的地址用于分配给目录中的条目。除了上面所公开的一个或多个示例以外或作为上面所公开的一个或多个示例的替代,在一些示例中,确定目录是否存储在非易失性存储器中包括响应于指定目录的版本的初始化请求而确定目录的版本是否存储在非易失性存储器中,该初始化请求来源于电子控制单元的应用程序代码。除了上面所公开的一个或多个示例之外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:响应于来源于电子控制单元的应用程序代码的一个或多个初始化请求,针对所检索的目录中的多个条目中的每个相应条目进行以下操作:将非易失性存储器中与相应条目相关联的相应数据加载到易失性存储器中的相应地址,以及将相应地址保存到目录的多个条目中的相应条目中。除了上面所公开的一个或多个示例之外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:响应于一个或多个关闭请求,将易失性存储器中与目录中所选取的条目相关联的数据加载至非易失性存储器。除了上面所公开的一个或多个示例之外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:进一步响应于一个或多个关闭请求,仅选择将目录中之前从非易失性存储器加载到易失性存储器中的条目从易失性存储器加载回到非易失性存储器。除了上面所公开的一个或多个示例之外,在一些示例中,该方法还包括:响应于将数据从易失性存储器加载到非易失性存储器中的请求,该请求来源于电子控制单元的应用程序代码:确定非易失性存储器的硬件类型,并根据非易失性存储器的硬件类型写入到非易失性存储器中。

本公开内容的一些示例涉及一种对包括易失性存储器和非易失性存储器的车辆的电子控制单元中的数据进行管理的方法,该方法包括:在车辆的电子控制单元处:从非易失性存储器中检索包括多个条目的目录,每个相应的条目包括非易失性存储器中的相应地址,这些相应地址存储有与相应条目相关联的各个数据;并且响应于与多个条目中的第一条目相关联的一个或多个请求,所述一个或多个请求来源于电子控制单元的应用程序代码:将与第一条目相关联的第一数据从非易失性存储器中的第一地址加载至易失性存储器中的第二地址,并且将第二地址存储在目录的多个条目中的第一条目中。除了上面所公开的示例中的一个或多个示例以外或者作为上面所公开的示例中的一个或多个示例的替代,在一些示例中,该方法还包括:确定目录是否被存储在非易失性存储器中;并且根据没有被存储在非易失性存储器中的目录创建目录,包括:响应于来源于电子控制单元的应用程序代码的多个条目创建请求,针对多个条目请求中的每一个在目录中创建相应的条目,以及将非易失性存储器中的相应地址分配给目录中的相应条目。除了上面所公开的一个或多个示例以外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:确定非易失性存储器中的空闲空间;以及确定空闲空间的地址用于分配给目录中的条目。除了上面所公开的一个或多个示例以外或作为上面所公开的一个或多个示例的替代,在一些示例中,确定目录是否存储在非易失性存储器中包括响应于指定目录的版本的初始化请求而确定目录的版本是否存储在非易失性存储器中,该初始化请求来源于电子控制单元的应用程序代码。除了上面所公开的一个或多个示例之外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:响应于来源于电子控制单元的应用程序代码的一个或多个初始化请求,针对所检索的目录中的多个条目中的每个相应条目进行以下操作:将非易失性存储器中与相应条目相关联的相应数据加载到易失性存储器中的相应地址,以及将相应地址保存到目录的多个条目中的相应条目中。除了上面所公开的一个或多个示例之外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:响应于一个或多个关闭请求,将易失性存储器中与目录中所选取的条目相关联的数据加载至非易失性存储器。除了上面所公开的一个或多个示例之外或者作为上面所公开的一个或多个示例的替代,在一些示例中,该方法还包括:进一步响应于一个或多个关闭请求,仅选择将目录中之前从非易失性存储器加载到易失性存储器中的条目从易失性存储器加载回到非易失性存储器。除了上面所公开的一个或多个示例之外,在一些示例中,该方法还包括:响应于将数据从易失性存储器加载到非易失性存储器中的请求,该请求来源于电子控制单元的应用程序代码:确定非易失性存储器的硬件类型,并根据非易失性存储器的硬件类型写入到非易失性存储器中。

尽管已经参考附图对示例进行了充分描述,但是应该注意的是,各种更改和修改对于本领域技术人员而言将变得明显。这些更改和修改应当被理解为包括在本公开内容的由所附权利要求限定的示例的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1