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

用于节省功率的存储器管理

文献发布时间:2023-06-19 11:16:08


用于节省功率的存储器管理

本申请要求2019年12月4日提交的法国专利申请第1913749号的优先权,其内容在法律允许的最大范围内特此以全文引用的方式并入本文。

技术领域

本文档涉及出于节省功率目的的存储器管理领域。

背景技术

系统可配置为第一操作模式和消耗较少功率的第二操作模式,可以借助于用户命令来选择这些模式。

在第一操作模式中,存储器保持其存储的所有数据,直到随后的断电为止。

在第二操作模式中,存储器不保持任何数据,因此实现了节省功率。

需要控制存储器,以便在不丢失存储器存储的任何数据的情况下进一步降低存储器的功耗。

发明内容

根据第一方面,一种系统包括:存储器,该存储器包括多个可写入的存储器单元,每个存储器单元可配置在保持状态和非保持状态,在该保持状态中,存储器单元能够保持数据,直到存储器单元随后断电为止,在该非保持状态中,存储器单元不保持数据并且与在第一状态中相比消耗更少的功率。该系统还包括控制器,该控制器被配置为:将存储器的自其上一次上电以来已经经历了至少一次写入访问的任何存储器单元配置为保持状态;并且将存储器的自其上一次上电以来尚未经历任何写入访问的至少一个存储器单元配置为非保持状态。

根据该第一方面的系统可以包括以下可选特征,在技术上可行时可以单独采用或以组合的方式采用这些可选特征。

优选地,控制器被配置为:将存储器的自其上一次上电以来尚未经历任何写入访问的任何存储器单元配置为非保持状态。

优选地,存储器可配置在多种模式。多种模式包括:第一模式,其中存储器的自其上一次上电以来已经经历了至少一次写入访问的任何存储器单元处于保持状态,并且存储器的自其上一次上电以来尚未经历任何写入访问的至少一个存储器单元处于非保持状态;以及至少一种其他模式,其中存储器的所有存储器单元都处于相同状态。

优选地,多种模式还包括所有存储器单元都处于保持状态的第二模式。多种模式又包括所有存储器单元都处于非保持状态的第三模式。

优选地,第一模式是至少一个系统时钟被去激活的模式。

优选地,系统包括接口,该接口用于接收请求将存储器配置为多种模式中的一种模式的用户指令。

优选地,该控制器被配置为:不授权借助于由接口接收到的用户命令来单独配置存储器的存储器单元的状态。

可选地,存储器是易失性存储器,例如,RAM存储器。

可选地,系统是片上系统(SoC)类型。

根据第二方面,提出了一种用于控制包括多个可写入的存储器单元的存储器的方法,每个存储器单元可配置在保持状态和非保持状态,在该保持状态中,存储器单元能够保持数据,直到存储器单元随后断电为止,在该非保持状态中,存储器单元不保持数据并且与在保持状态中相比消耗更少的功率。该方法包括以下步骤:将存储器的自其上一次上电以来已经经历了至少一次写入访问的任何存储器单元配置为处于保持状态;并且将存储器的自其上一次上电以来尚未经历任何写入访问的至少一个存储器单元配置为处于非保持状态。

附图说明

本发明的其他特征、目的和优点将在以下描述中呈现出来,该描述仅是说明性的而非限制性的,并且应当参考附图阅读该描述,其中:

图1示意性地图示了根据实施例的系统;

图2示意性地图示了图1的系统的存储器的内部组织;

图3是根据实施例的方法的在写入请求期间实施的步骤的流程图;

图4是根据实施例的方法的在擦除请求期间实施的步骤的流程图;并且

图5是根据实施例的方法的用于改变存储器的操作模式的步骤的流程图。

在所有附图中,类似的元件带有相同的附图标记。

具体实施方式

参考图1,系统1(诸如片上系统(SoC))包括至少一个存储设备2、命令接收接口4和至少一个主电路模块6。

主电路模块6通常是被配置为执行程序代码的处理器。

存储设备2包括存储器8和用于控制存储器8的控制器10。

存储器8可以由主电路模块6写入(或者甚至读取)。

存储器8是易失性的,在这种意义上,该存储器存储的任何数据会在存储器8断电期间丢失。存储器8例如是RAM类型。

参考图2,存储器8包括多个存储器单元8a、8b、8c、8d、8e。每个存储器单元8a至8e可配置为处于保持状态和处于非保持状态。

在保持状态中,存储器单元8a至8e能够保持数据,直到存储器单元随后断电为止。

在非保持状态中,存储器单元8a至8e不保持数据,并且与在存储器单元的保持状态中相比消耗更少的功率。

不同的存储器单元8a至8e可以彼此独立地被配置为这些状态中的一种状态或另一种状态。换言之,来自存储器8的不同存储器单元8a至8e可配置为不同状态。

存储器单元8a至8e中的一个存储器单元的大小具有介于1千字节与128千字节之间的大小,例如64千字节。

存储器8的存储器单元的数量例如介于1与20之间(在图2中所图示的示例性实施例中,该数量为五)。存储器8具有等于其存储器单元的相应大小之和的总大小。例如,该总大小为320千字节。

存储器8可配置为若干操作模式:被称为运行(RUN)模式的第一模式;被称为停止(STOP)模式的第二模式;以及被称为待机(STANDBY)模式的第三模式。

在上文所提及的三种操作模式中,运行模式是消耗最多功率的模式。当存储器8处于运行模式时,存储器8的所有存储器单元8a至8e处于保持状态。通常在由主电路模块6执行程序期间使用该运行模式。在运行模式中,系统的所有时钟被激活。

与运行模式相比,待机模式是低功耗模式。在待机模式中,存储器8的所有存储器单元8a至8e处于非保持状态。在该模式中,直接不向存储器8供电。因此,在该模式中,无论将数据写入哪个存储器单元,都无法通过存储器8保持这些数据。在待机模式中,系统中的所有时钟被去激活。

停止模式进而是一种中间模式,与运行模式相比,该中间模式消耗更少的功率,但是与待机模式相比,该中间模式潜在地消耗更多的功率。在停止模式中,存储器8的存储器单元能够处于彼此不同的状态中。因此,在该停止模式中,可以通过存储器8保持数据,但是该保持容量取决于所考虑的存储器单元8a至8e。在停止模式中,系统的至少一个时钟被去激活。

控制器10的功能是将存储器8配置为三种操作模式运行、停止和待机中的一种操作模式或另一种操作模式。

应当注意的是,这些操作模式运行、停止和待机是存储器8的如下操作模式,这样的操作模式可以由用户借助于经由命令接收接口4传输到系统1的命令来选择。

例如,控制器10是可编程的电路(FPGA)或不可编程的电路(ASIC)。

控制器10的功能是根据用户命令来配置存储器8的存储器单元8a至8e的相应状态,以将存储器8配置为该存储器8的全部操作模式运行、停止和待机中的一种操作模式。

不同于存储器8的运行、停止和待机操作模式,存储器8的存储器单元8a至8e的单独状态不可以由用户命令单独地调整。控制器10的功能是根据接收到的命令来调整这些状态,并且这是按照下文说明的逻辑自动完成的。

控制器10包括多个寄存器12,多个寄存器包括模式寄存器和写入寄存器。

模式寄存器被配置为存储存储器8的当前操作模式(也就是说,从系统1外部经由接口4所接收的命令请求的最近的操作模式)。

此外,写入寄存器分别与存储器单元8a至8e相关联。换言之,每个存储器单元8a至8e与特定于该存储器单元的写入寄存器相关联(在图2中所图示的示例性实施例中,假设存在五个写入寄存器)。如在下文中将更详细地看到的,与存储器单元8a至8e相关联的写入寄存器指示自系统1的上一次上电以来是否已经在该存储器单元中发生了至少一次对数据的写入。

例如,写入寄存器可以存储:

第一值(诸如零),以指示:在相关联的存储器单元中,自系统1的上一次上电以来,在存储器单元8a至8e中的相关联的存储器单元中尚未发生写入。

第二值(诸如一),以指示:在相关联的存储器单元中,自系统1的上一次上电以来,在存储器单元8a至8e中的相关联的存储器单元中已经发生了至少一次写入。

因此,可以在单个位(bit)上对写入寄存器进行编码。

此外,控制器包括处理单元14,该处理单元被配置为:处理源自主电路模块6的对存储器8的访问请求,并且处理源自接口4的用于将存储器重新配置为新操作状态的命令。

处理单元14能够中继(relay)由系统1的主电路模块发出的、对存储器单元的访问请求。

系统1可以包括根据以上描述的多个存储设备2。这些设备2中的每个设备包括存储器8和用于专门控制该存储器8的控制器10。另外,在系统1中存在与存储器8同样数量的控制器10。

当系统1包括若干存储器时,这些存储器可以具有可变大小和/或用于不同目的。

例如,系统1可以包括:专用于存储执行数据(特别是执行堆栈)的第一存储器;专用于存储安全数据(诸如校正码)的第二存储器;以及构成第一存储器的扩展的第三存储器。

上文所描述的系统1并且特别是控制器10按以下方式操作。

控制器的初始化:

当系统1被上电时,控制器10的写入寄存器都被设置为零。

此外,模式寄存器被设置在可用的不同模式(例如,停止模式)中的默认模式。

写入访问:

当主电路模块6发出将数据写入存储器8的请求时,参考图3实施以下步骤。

通过控制器10接收写入请求(步骤100)。写入请求通常包括存储器8中的写入地址和待写入存储器8的数据,这些数据占据在写入请求中所指示的大小或者可以从中推断出来的大小。

控制器10基于写入请求来确定存储器8中被请求作为目标的(多个)存储器单元8a至8b,即,内容通过写入被更新的存储器单元(步骤102)。可以在写入存储器8之前、写入存储器8期间或写入存储器8之后来实施该确定102。

与被写入请求作为目标的每个存储器单元相关联的写入寄存器被控制器10设置为一(步骤104)。例如,一旦写入有效,便实施设置为一。

另一方面,在步骤104中不修改存储器8中不受写入请求影响的存储器单元的写入寄存器。

此外,控制器10通过读取模式寄存器的内容来检查存储器8的当前操作模式的内容(步骤106)。

在该操作模式是停止模式(步骤108)的特定情况下,控制器10将在步骤102期间确定的每个存储器单元切换至保持状态(步骤110)。

另一方面,控制器10不改变不受写入请求影响的存储器单元8a至8e的相应状态。此外,如果当前操作模式不是停止模式,则控制不实施步骤110。

清除存储器单元:

当主电路模块6发出对存储在存储器8中的数据的擦除请求时,参考图4实施以下步骤。

出于安全性原因,例如当检测到对系统或甚至对存储器8的未被授权的访问时,可以发出这种擦除请求。

通过控制器10接收擦除请求(步骤200)。擦除请求通常包括擦除地址和待擦除的数据的大小。

控制器10基于擦除请求来确定存储器8的如下的至少一个存储器单元,这些存储器单元被请求作为目标以在所请求的擦除结束时被彻底清除(步骤202)。在该上下文中,短语“彻底清除”是指存储器单元在擦除之后不再包含任何可读数据。

可以在在存储器8中进行擦除之前、在在存储器8中进行擦除期间或在在存储器8中进行擦除之后,实施该确定202。

与在步骤202期间确定的每个存储器单元8a至8e相关联的写入寄存器被控制器10设置为零(步骤204)。例如,一旦擦除有效,便实施该零设置。

另一方面,在步骤204期间没有修改存储器8的未被擦除彻底清除的存储器单元的写入寄存器。

此外,控制器10检查存储器8的当前操作模式(步骤206)。在该操作模式是停止模式(步骤208)的特定情况下,控制器10将在步骤202期间确定的每个存储器单元切换至非保持状态(步骤210)。

控制器10没有改变未被擦除请求彻底清除的存储器单元的相应状态。此外,如果当前操作模式不是停止模式,则控制器不实施步骤210。

在新操作模式中的存储器配置:

当接口4接收到用于将存储器8配置为上述操作模式(运行、停止或待机)中的一种操作模式的命令时,然后参考图5实施步骤。

向控制器10传输由接口4接收到的命令。

控制器10将被所接收的命令作为目标的操作模式与在该控制器的内部模式寄存器中指示的当前操作模式进行比较(步骤302)。

如果被比较的两种模式相同,则控制器10不处理接收到的命令。

如果被比较的两种模式不同,则控制器10基于接收到的命令来确定存储器8的每个存储器单元将被切换至的目标状态。

如果接收到的命令请求将存储器8配置为运行模式,则除非所有存储器单元都已经处于保持模式,否则控制器10将这些存储器单元切换至保持模式(步骤304)。

如果接收到的命令请求将存储器8配置为待机模式,则除非所有存储器单元都已经处于非保持模式,否则控制器10将这些存储器单元切换至非保持模式(步骤306)。

如果接收到的命令请求将存储器8配置为停止模式,则控制器10针对存储器单元8a至8e采用较好的且可能是异构的(heterogeneous)配置策略。事实上,控制器10将存储器8的自其上一次上电以来已经经历了至少一次写入访问的任何存储器单元配置为保持状态(步骤310)。此外,在步骤310期间,控制器10将存储器8的自其上一次上电以来尚未经历任何写入访问的至少一个存储器单元配置为非保持状态,或者甚至将尚未经历这种写入访问的任何存储器单元配置为非保持状态。

为了应用该策略,控制器10读取分别与存储器单元8a至8e相关联的写入寄存器(步骤308)。如果写入寄存器为零,则这意味着自上一次上电以来在相关联的存储器单元中尚未发生写入;因此,除非该存储器单元已经处于非保持状态,否则该存储器单元将切换至非保持状态。与此相反,如果写入寄存器为一,则这意味着自上一次上电以来在相关联的存储器单元中已经发生了至少一次写入;因此,除非该存储器单元已经处于保持状态,否则该存储器单元将切换至保持状态。

由控制器10实施的策略允许在存储器8处于停止操作模式时最佳地降低存储器8的功耗,而不会丢失所存储的数据。

此外,应当注意的是,系统1操作在两种配置级别:

高级别和公共配置级别(存储器8的全部操作模式),系统1的用户可以选择该高级别和公共配置级别,以及

较低级别和私有配置级别(存储器单元的相应状态),其在控制器10的控制下,但是用户无法对该较低级别和私有配置级别施加单独的控制。

这种双重配置级别允许在系统1的多功能性与节省功率的最佳管理之间获得理想的折衷。

其他变型:

在上文中,已经提出了运行操作模式的实施例,其中存储器8的所有存储器单元8a至8e都处于保持状态。

备选地,当存储器8处于运行操作模式时,也实施当存储器8处于停止操作模式时实施的用于切换存储器单元的状态的策略。

相关技术
  • 用于节省功率的存储器管理
  • 用于存储器管理单元及分布式虚拟存储器网络的硬件管理的功率崩溃及时钟唤醒
技术分类

06120112860320