掌桥专利:专业的专利平台
掌桥专利
首页

用于仿真EEPROM的电子设备及其操作方法

文献发布时间:2023-06-29 06:30:04


用于仿真EEPROM的电子设备及其操作方法

技术领域

本公开的示例性实施例涉及一种用于仿真电可擦除可编程只读存储器(EEPROM)的电子设备,更具体地,涉及用于仿真EEPROM的电子设备及其操作方法,所述电子设备可以通过闪存只读存储器(ROM)来仿真EEPROM。

背景技术

EEPROM是一种非易失性存储设备,并且是用作存储设置值的存储器的设备,一旦存储了内容,该设备就会将内容存储相对长的时间,并且主要只是读取和使用内容,或者备份即使在断电时也不应擦除的重要数据。

在一般车辆中,故障/诊断/学习数据存储在车辆内置的EEPROM中,使用EEPROM中存储的数据识别故障的原因,并且控制车辆以最佳状态行驶。

本公开的背景技术公开于韩国专利申请公开No.10-2021-0076676(2021年6月24日公布)。

发明内容

各种实施例旨在提供一种用于仿真EEPROM的电子设备及其操作方法,该电子设备可以通过闪存ROM来仿真EEPROM。

根据本公开的一个方面的用于仿真EEPROM的电子设备包括:由数据块和元数据块组成的闪存ROM;由闪存ROM仿真的虚拟EEPROM;以及可访问闪存ROM的处理器;数据块包括其中存储使用数据的多个第一扇区,元数据块包括其中存储使用数据上的元数据的多个第二扇区。

在一个实施例中,虚拟EEPROM可以包括多个第三扇区,并且第三扇区的大小可以被形成为与第一扇区的大小相同。

在一个实施例中,元数据可以是这样一种形式的数据结构,其中,指示第一扇区的索引的节点被布置在形成为与第三扇区的索引相对应的多个层中,在第一扇区中实际存储了当前被存储或先前被存储在第三扇区中的使用数据。

在一个实施例中,处理器可以被配置为接收用于存储在第三扇区中的使用数据的改变命令,将对应于改变命令的使用数据存储在数据块中,以及将存储在数据块中的使用数据上的元数据存储在元数据块中。

在一个实施例中,处理器可以被配置为在数据块中包括的多个第一扇区中识别其中未存储使用数据的第一扇区,以及将对应于改变命令的使用数据存储在识别的第一扇区中具有最低索引的第一扇区中。

在一个实施例中,处理器可以被配置为识别存储在元数据块中的元数据中的最新元数据,更新识别的元数据,在元数据块中包括的多个第二扇区中识别其中未存储元数据的第二扇区,以及将更新的元数据存储在识别的第二扇区中具有最低索引的第二扇区中。

在一个实施例中,处理器可以被配置为通过识别作为改变命令的目标的第三扇区的索引、在识别的元数据中包括的层中识别与第三扇区的识别的索引相对应的层、以及将指示其中存储有对应于改变命令的使用数据的第一扇区的索引的节点添加到识别的层的最右侧,来更新识别的元数据。

在一个实施例中,一种操作用于仿真EEPROM的电子设备的方法,电子设备包括:由数据块和元数据块组成的闪存ROM;由闪存ROM仿真的虚拟EEPROM;以及可访问闪存ROM的处理器;数据块包括其中存储使用数据的多个第一扇区,元数据块包括其中存储使用数据上的元数据的多个第二扇区,所述方法包括:接收用于存储在虚拟EEPROM中的使用数据的改变命令;将对应于改变命令的使用数据存储在数据块中;以及根据改变命令将存储在数据块中的使用数据上的元数据存储在元数据块中。

在一个实施例中,虚拟EEPROM可以包括多个第三扇区,并且第三扇区的大小可以被形成为与第一扇区的大小相同。

在一个实施例中,元数据可以是这样一种形式的数据结构,其中,指示第一扇区的索引的节点被布置在形成为与第三扇区的索引相对应的多个层中,在第一扇区中实际存储了当前被存储或先前被存储在第三扇区中的使用数据。

在一个实施例中,在数据块中存储使用数据可以包括在数据块中包括的多个第一扇区中识别其中未存储使用数据的第一扇区,以及将对应于改变命令的使用数据存储在识别的第一扇区中具有最低索引的第一扇区中。

在一个实施例中,将元数据存储在元数据块中可以包括识别存储在元数据块中的元数据中的最新元数据,更新识别的元数据,在元数据块中包括的多个第二扇区中识别其中未存储元数据的第二扇区,以及将更新的元数据存储在识别的第二扇区中具有最低索引的第二扇区中。

在一个实施例中,更新识别的元数据可以包括识别作为改变命令的目标的第三扇区的索引,在识别的元数据中包括的层中识别与第三扇区的识别的索引相对应的层,以及将指示其中存储有对应于改变命令的使用数据的第一扇区的索引的节点添加到识别的层的最右侧。

根据本公开的一个方面,可以通过利用闪存ROM仿真EEPROM来实施虚拟EEPROM,确保在利用闪存ROM仿真EEPROM的过程中平等使用整个闪存ROM,并且提供先前存储在利用闪存ROM仿真的EEPROM中的数据的可追溯性。

附图说明

图1是示出根据本公开的一个实施例的用于仿真EEPROM的电子设备的框图。

图2和图3是用于描述根据本公开的一个实施例的用于仿真EEPROM的电子设备的示例性视图。

图4至图7是用于描述根据本公开的一个实施例的操作用于仿真EEPROM的电子设备的方法的流程图。

图8是用于描述根据本公开的一个实施例的操作用于仿真EEPROM的电子设备的方法的示例性视图。

具体实施方式

以下,将参考附图详细描述根据本公开的实施例的用于仿真电可擦除可编程只读存储器(EEPROM)的电子设备及其操作方法。在该过程中,为了清楚和方便描述,附图中所示的线的粗细或部件的尺寸可能会被夸大。此外,下面要描述的术语是考虑到本公开中的功能而定义的术语,其可以根据用户和操作者的意图或习惯而变化。因此,术语应基于整个说明书的内容来定义。

图1是示出根据本公开的一个实施例的用于仿真EEPROM的电子设备的框图,并且图2和图3是用于描述根据本公开的一个实施例的用于仿真EEPROM的电子设备的示例性视图。

参考图1,根据本公开的一个实施例的用于仿真EEPROM的电子设备可以包括闪存ROM 100、虚拟EEPROM 200和处理器300。

图2示出了闪存ROM 100的结构的一个实施例。参考图2,闪存ROM100可以由数据块和元数据块组成,数据块包括其中存储使用数据的多个第一扇区,元数据块包括其中存储使用数据上的元数据的多个第二扇区。

数据块是其中存储使用数据的区域,并且可以包括其中存储使用数据的多个第一扇区。在数据块中包括的各个第一扇区的大小可以彼此相同,即,数据块可以被划分成具有恒定大小的扇区。对应于用于识别相应扇区的识别号的索引可以被分配给每个第一扇区,并且该索引可以是相应扇区的地址值。索引也可以被分配给元数据块和虚拟EEPROM 200中包括的每个扇区,这将在下面进行描述。

元数据块是其中存储使用数据上的元数据的区域,并且可以包括其中存储元数据的多个第二扇区。在元数据块中包括的各个第二扇区的大小可以彼此相同,即,元数据块可以被划分成具有恒定大小的扇区。对应于用于识别相应扇区的识别号的索引可以被分配给每个第二扇区,并且提供关于元数据是否被存储在相应的第二扇区中的信息的活动数据也可以被存储在第二扇区中。

虚拟EEPROM 200是由闪存ROM 100仿真的虚拟存储空间,并且可以包括多个第三扇区。在虚拟EEPROM 200中包括的各个第三扇区的大小可以彼此相同。此外,在虚拟EEPROM200中包括的第三扇区的大小可以与在数据块中包括的第一扇区的大小相同。在虚拟EEPROM 200中包括的第三扇区的数目可以被设置为小于在数据块中包括的第一扇区的数目。

元数据可以是用于将数据块中包括的多个第一扇区中的一些扇区映射到虚拟EEPROM 200中包括的多个第三扇区的映射数据。换句话说,元数据是用于指示在数据块中包括的多个第一扇区中用作虚拟EEPROM200的存储空间的第一扇区的信息,并且可以包括关于第一扇区的索引的信息,在第一扇区中实际存储了虚拟EEPROM 200中包括的每个第三扇区中存储的使用数据。元数据可以是数据结构的形式。

元数据可以是这样一种形式的数据结构,其中,指示第一扇区的索引的节点被布置在形成为与第三扇区的索引相对应的多个层中,在第一扇区中实际存储了当前被存储或先前被存储在第三扇区中的使用数据。换句话说,指示第一扇区的索引的节点可以被布置在层N中,在第一扇区中实际存储了当前被存储或先前被存储在具有索引N的第三扇区中的使用数据。

元数据可以具有树状结构的形式,并且当元数据被描述为具有树状结构时,虚拟EEPROM 200中包括的第三扇区的数量可以对应于深度,第三扇区的索引可以对应于级别,并且在其中实际存储当前被存储或先前被存储在第三扇区中的使用数据的索引可以对应于节点。

图3示出了元数据结构的一个实施例。参考图3,当提供在元数据中包括的四个第三扇区时,总共可以存在四个层,并且第一扇区的索引可以作为节点布置在层0中,在该第一扇区中实际存储了当前被存储或先前被存储在具有索引0的第三扇区中的使用数据。类似地,第一扇区的索引可以作为节点布置在层1中,在该第一扇区中实际存储了当前被存储或先前被存储在具有索引1的第三扇区中的使用数据。

同时,可以根据节点指示的使用数据存储在第三扇区中的顺序来布置每个节点。例如,指示较早存储在第三扇区中的使用数据的节点可以布置在层的左侧,并且指示较晚存储在第三扇区中的使用数据的节点可以布置在层的右侧。参考图3,在布置在层3中的节点中位于最右侧的节点可以是指示当前存储在具有索引3的第三扇区中的使用数据的节点,并且在布置在层3中的节点中位于最左侧的节点可以是指示最初存储在具有索引3的第三扇区中的使用数据的节点。

处理器300可以接收在虚拟EEPROM 200中包括的第三扇区中存储的使用数据的改变命令。改变命令可以包括关于要改变的第三扇区的信息和关于要新存储在要改变的第三扇区中的使用数据的信息。处理器300可以包括用于接收改变命令的接口。

处理器300可以将对应于改变命令的使用数据存储在数据块中。根据一个实施例,处理器300可以在数据块中包括的多个第一扇区中识别其中未存储使用数据的第一扇区,以及将对应于改变命令的使用数据存储在识别的第一扇区中具有最低索引的第一扇区中。换句话说,当存储在虚拟EEPROM 200中的使用数据被改变时,处理器300可以将改变的使用数据顺序地存储在闪存ROM 100的数据块中。

处理器300可以根据改变命令将存储在数据块中的使用数据上的元数据存储在元数据块中。具体地,处理器300可以识别存储在元数据块中的元数据中的最新元数据,通过反映改变的项目来更新先前识别的元数据,在元数据块中包括的多个第二扇区中识别其中未存储元数据的第二扇区,以及将更新的元数据存储在识别的第二扇区中具有最低索引的第二扇区中。换句话说,当存储在虚拟EEPROM 200中的使用数据被改变时,处理器300可以通过反映改变的项目来更新元数据,并且将更新的元数据顺序地存储在元数据块中。即使当使用数据首先被输入到第三扇区时,也可以以相同的方式应用上述处理。

处理器300可以识别作为改变命令的目标的第三扇区的索引,在元数据中包括的层中识别与第三扇区的所识别的索引相对应的层,以及将指示其中存储有对应于改变命令的使用数据的第一扇区的索引的节点添加到先前识别的层的最右侧。换句话说,处理器300可以通过额外将指示其中实际存储了改变的使用数据的第一扇区的索引的节点布置到位于与改变的第三扇区相对应的层中的当前节点的右侧来更新元数据。

如上所述,该实施例可以通过以添加的节点布置在当前节点的右侧的形式构成元数据来提供存储在虚拟EEPROM 200中的过去使用数据的可追溯性。换句话说,处理器300不仅可以跟踪当前存储在虚拟EEPROM 200中的使用数据,还可以通过分析树状结构来跟踪先前存储在虚拟EEPROM200中的使用数据。换句话说,处理器300可以用当前存储在对应于相应级别的第三扇区中的使用数据的地址(即,第一扇区的索引)来识别布置在元数据中包括的层中的节点中位于最右侧的节点,并且用先前存储在相应第三扇区中的使用数据的地址来识别位于其左侧的节点。

同时,在该实施例中,当使用数据被存储在数据块中或元数据被存储在元数据块中时,可以通过将使用数据或元数据顺序地存储在数据块或元数据块中来确保整个闪存ROM 100的平等使用。换句话说,在本实施例中,当数据被改变时,通过将改变的数据存储在闪存ROM 100的空白空间中而不修改相应的数据,可以防止数据仅被重复记录在闪存ROM100的特定区域中,并且整个闪存ROM 100可以被平等使用。

同时,当使用数据被存储在数据块中包括的所有第一扇区中或者元数据被存储在元数据块中包括的所有第二扇区中时,处理器300可以初始化闪存ROM 100。此时,仅存储在虚拟EEPROM 200中的使用数据在初始化之前被存储在缓冲器中,然后在初始化之后,存储在缓冲器中的使用数据也可以存储在数据块中。

图4是用于描述根据本公开的一个实施例的操作用于仿真EEPROM的电子设备的方法的第一流程图,并且参考图4,首先,处理器300接收存储在虚拟EEPROM 200中的使用数据的改变命令(S401)。

当接收到改变命令时,处理器300将对应于改变命令的使用数据存储在数据块中(S403)。下面将描述由处理器300将对应于改变命令的使用数据存储在数据块中的具体方法。

随后,处理器300根据改变命令将存储在数据块中的使用数据上的元数据存储在元数据块中(S405)。下面将描述用于由处理器300根据改变命令将存储在数据块中的使用数据上的元数据存储在元数据块中的具体方法。

图5是用于描述根据本公开的一个实施例的操作用于仿真EEPROM的电子设备的方法的第二流程图,并且将参考图5描述由处理器300将使用数据记录在数据块中的过程。

首先,处理器300在多个第一扇区中识别其中未存储使用数据的第一扇区(S501)。

随后,处理器300将对应于改变命令的使用数据存储在所识别的第一扇区中具有最低索引的第一扇区中(S503)。换句话说,当存储在虚拟EEPROM 200中的使用数据被改变时,处理器300可以将改变的使用数据顺序地存储在闪存ROM 100的数据块中。

图6是用于描述根据本公开的一个实施例的操作用于仿真EEPROM的电子设备的方法的第三流程图,并且将参考图6描述由处理器300将元数据记录在元数据块中的过程。

首先,处理器300识别存储在元数据块中的元数据中的最新元数据(S601)。处理器300可以将存储在其中存储元数据的第二扇区中具有最高索引的扇区中的元数据识别为最新元数据。

随后,处理器300通过反映改变的项目来更新元数据(S603)。下面将描述由处理器300更新元数据的具体方法。

随后,处理器300在元数据块中包括的多个第二扇区中识别其中未存储元数据的第二扇区(S605)。处理器300可以基于活动数据在元数据块中包括的多个第二扇区中识别其中未存储元数据的第二扇区。

随后,处理器300将更新的元数据存储在所识别的第二扇区中具有最低索引的第二扇区中(S607)。换句话说,当元数据随着存储在虚拟EEPROM 200中的使用数据的改变而更新时,处理器300可以将更新的元数据顺序地存储在闪存ROM 100的元数据块中。

图7是用于描述根据本公开的一个实施例的操作用于仿真EEPROM的电子设备的方法的第四流程图,并且将参考图7描述由处理器300更新元数据的过程。

首先,处理器300识别作为改变命令的目标的第三扇区的索引(S701)。处理器300可以参考改变命令识别作为改变命令的目标的第三扇区的索引。

随后,处理器300在元数据中包括的层中识别与所识别的第三扇区的索引相对应的层(S703)。

随后,处理器300将指示其中存储有对应于改变命令的使用数据的第一扇区的索引的节点添加到先前识别的层的最右侧(S705)。换句话说,处理器300可以通过额外将指示其中实际存储了改变的使用数据的第一扇区的索引的节点布置到位于与改变的第三扇区相对应的层中的当前节点的右侧来更新元数据。

图8是用于描述根据本公开的一个实施例的操作用于仿真EEPROM的电子设备的方法的示例性视图,并且将参考图8描述其中仿真EEPROM的一个实施例。

图8A示出了使用数据最初存储在包括四个第三扇区的虚拟EEPROM200中的情况。在这种情况下,从具有索引0的第三扇区到具有索引3的第三扇区的使用数据实际上可以存储在数据块中包括的从具有索引0的第一扇区到具有索引3的第一扇区中。同时,指示从具有索引0的第三扇区到具有索引3的第三扇区的使用数据被存储在从具有索引0的第一扇区到具有索引3的第一扇区中的元数据可以以数据结构的形式存储在元数据块中包括的具有索引0的第二扇区中。

图8B示出了在图8A的状态下输入用于存储在具有索引2的第三扇区中的使用数据的改变命令的情况。在这种情况下,处理器300首先将对应于改变命令的使用数据存储在具有索引4的第一扇区中。随后,处理器300通过将指示先前存储了使用数据的第一扇区的索引(即,索引4)的节点添加到层2的最右侧来更新元数据,层2是对应于元数据的层中具有索引2的第三扇区的层。随后,处理器300将更新的元数据存储在具有索引1的第二扇区中。

图8C示出了在图8B的状态下输入用于存储在具有索引3的第三扇区中的使用数据的改变命令的情况。在这种情况下,首先,处理器300将对应于改变命令的使用数据存储在具有索引5的第一扇区中。随后,处理器300通过将指示先前存储了使用数据的第一扇区的索引(即,索引5)的节点添加到层3的最右侧来更新元数据,层3是对应于元数据的层中具有索引2的第三扇区的层。随后,处理器300将更新的元数据存储在具有索引2的第二扇区中。

图8D示出了在图8C的状态下重新输入用于存储在具有索引2的第三扇区中的使用数据的改变命令的情况。在这种情况下,处理器300首先将对应于改变命令的使用数据存储在具有索引6的第一扇区中。随后,处理器300通过将指示先前存储了使用数据的第一扇区的索引(即,索引6)的节点添加到层2的最右侧来更新元数据,层2是对应于元数据的层中具有索引2的第三扇区的层。随后,处理器300将更新的元数据存储在具有索引3的第二扇区中。

图8E示出了在图8D的状态下输入用于存储在具有索引0的第三扇区中的使用数据的改变命令的情况。在这种情况下,处理器300首先将对应于改变命令的使用数据存储在具有索引7的第一扇区中。随后,处理器300通过将指示先前存储了使用数据的第一扇区的索引(即,索引7)的节点添加到层0的最右侧来更新元数据,层0是对应于元数据的层中具有索引2的第三扇区的层。随后,处理器300将更新的元数据存储在具有索引4的第二扇区中。

图8F示出了在图8E的状态下输入用于存储在具有索引1的第三扇区中的使用数据的改变命令的情况。在这种情况下,处理器300首先将对应于改变命令的使用数据存储在具有索引8的第一扇区中。随后,处理器300通过将指示先前存储了使用数据的第一扇区的索引(即,索引8)的节点添加到层1的最右侧来更新元数据,层1是对应于元数据的层中具有索引2的第三扇区的层。随后,处理器300将更新的元数据存储在具有索引5的第二扇区中。

如上所述,在本实施例中,可以通过利用闪存ROM仿真EEPROM来实施虚拟EEPROM,确保在利用闪存ROM仿真EEPROM的过程中整个闪存ROM的平等使用,并且提供利用闪存ROM仿真的先前存储在EEPROM中的数据的可追溯性。

本说明书中使用的术语“模块”可以包括以硬件、软件或固件方式实施的单元,并且可以与诸如逻辑、逻辑块、部件或电路等术语互换使用。模块可以是一体形成的部件,或者是用于执行一个或多个功能的最小单元或部件的一部分。例如,根据一个实施例,该模块可以应用专用集成电路(ASIC)的形式来实施。此外,例如,说明书中描述的实施方式可以通过方法或过程、装置、软件程序、数据流或信号来进行。尽管仅在单一形式的实施方式的上下文中讨论(例如,仅作为方法讨论),但所讨论的特征的实施方式也可以以其他形式进行(例如,装置或程序)。该装置可以实施为合适的硬件、软件、固件等。例如,该方法可以由诸如处理器之类的装置来实施,处理器通常指包括计算机、微处理器、集成电路或可编程逻辑设备的处理设备。该处理器还可以包括通信设备,例如计算机、蜂窝电话、便携式/个人数字助理(PDA)和其他设备,其促进终端用户之间的信息通信。

尽管已经参考附图中所示的示例性实施例描述了本公开,但是相关技术所属领域的技术人员将理解,这只是说明性的,并且各种修改和与其等效的其他实施例是可能的。因此,本公开的真正技术范围应当由所附权利要求定义。

相关技术
  • 一种数据查询的操作方法、装置、介质及电子设备
  • 目录文档的操作方法、装置、电子设备、可读存储介质
  • EEPROM单元仿真模型以及EEPROM阵列仿真模型
  • EEPROM单元仿真模型以及EEPROM阵列仿真模型
技术分类

06120116019991