DRAM控制器及其控制方法和计算机程序产品技术

技术编号:15508056 阅读:62 留言:0更新日期:2017-06-04 02:29
本发明专利技术涉及DRAM控制器及其控制方法和计算机程序产品。一种用于控制包括多个块的动态随机存取存储器即DRAM的控制器。块是DRAM中的一个或多个存储单元,针对该一个或多个存储单元,DRAM控制器可以选择性地启用或禁用刷新。DRAM控制器包括多个标志,该多个标志各自用于与DRAM的多个块中的块相关联。净化控制器确定要净化块,并且作为响应,设置与该块相关联的标志,并且针对该块禁用刷新。响应于后续接收到从该块中的位置读取数据的请求,在清除了该标志的情况下,DRAM控制器读取该位置并返回从该位置读取到的数据;以及在设置了该标志的情况下,DRAM控制器抑制读取DRAM并且返回零值。

DRAM controller and its control method and computer program product

The invention relates to an DRAM controller and a control method thereof and a computer program product. A controller for controlling a dynamic random access memory, including DRAM, comprising a plurality of blocks. The block is one or more storage units in the DRAM, and the DRAM controller can selectively enable or disable the refresh for one or more memory cells. The DRAM controller includes a plurality of flags each associated with blocks in a plurality of blocks of the DRAM. The purge controller determines the purge block, and sets the flag associated with the block as a response, and disables the refresh for that block. In response to subsequent received requests to read data from the block position, in the clearance of this marker under the condition that the DRAM controller reads the position and returned from the position of the read data; and in the setting up of the sign of the case, the DRAM controller reads the DRAM and return to zero suppression.

【技术实现步骤摘要】
DRAM控制器及其控制方法和计算机程序产品相关申请的交叉引用本申请要求2016年4月15日提交的标题为“SANITIZE-AWAREDRAMCONTROLLER”的第62/323,177号美国临时申请的优先权,其全部内容通过引用包含于此。
技术介绍
动态随机存取存储器(DRAM)在现代计算机系统中无处不在。DRAM由于其相对较低的成本、高容量/密度和高速度而无处不在。密度的益处很大程度上是由于用于存储数据位的各单元仅需要电容器和单个晶体管的事实而得到的。这与例如静态随机存取存储器(SRAM)的每单元所需要的硬件相比,明显是更少的硬件。然而,数据位在单元的电容器上的存储暗示了电力消耗成本。这是因为电容器电荷可能随时间经过而泄漏,从而使得单元失去其值。结果,电容器必须周期性地“刷新”以保持其值。这涉及从单元读取当前值并将该值写回至单元,从而“刷新”单元的值。刷新操作与不需要刷新的其它存储器技术相比消耗额外的电力。刷新根据系统对DRAM访问的需求可能带来DRAM的能量消耗中显著的百分比(例如,约20%),并且可能劣化系统性能(例如,约30%)。本专利技术的共同专利技术人之一获得授权的第5,469,559号美国专利说明了用于抑制刷新不包含有效数据的DRAM的所选部分的存储器控制器和方法。这可以减少对于无效数据而言不必要的刷新所消耗的电量。本专利技术的专利技术人提供了提供更多益处的DRAM控制器的实施例。额外的益处主要是通过专利技术人认识到如下事实而得到的:许多操作系统通过向解除分配的存储器写入零来“净化(sanitize)”该存储器,从而例如通过防止黑客和/或该存储器被分配至的下一用户看到第一个用户的数据来提高系统安全性。
技术实现思路
本专利技术提供一种用于控制动态随机存取存储器即DRAM的DRAM控制器,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述DRAM控制器包括:多个标志,其各自用于与所述DRAM的所述多个块中的块相关联;以及净化控制器,用于确定为要净化所述多个块中的块,并且作为响应,设置所述多个标志中的与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;其中,响应于后续接收到要从所述块中的位置读取数据的请求:在清除了所述标志的情况下,所述DRAM控制器读取所述位置并返回从所述位置读取到的数据;以及在设置了所述标志的情况下,所述DRAM控制器返回零值并且抑制读取所述DRAM。本专利技术还提供一种用于控制动态随机存取存储器即DRAM的方法,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述方法包括以下步骤:确定为要净化所述多个块中的块,并且作为响应,设置与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;所述标志是各自用于与所述DRAM的所述多个块中的块相关联的多个标志中的标志;以及响应于后续接收到从所述块中的位置读取数据的请求:在清除了所述标志的情况下,读取所述位置并返回从所述位置读取到的数据;以及在设置了所述标志的情况下,返回零值并且抑制读取所述DRAM。本专利技术还提供一种计算机程序产品,其编码在与计算装置一起使用的至少一个非暂态计算机可用介质中,所述计算机程序产品包括:在所述介质中包括的计算机可用程序代码,用于指定用于控制动态随机存取存储器即DRAM的DRAM控制器,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述计算机可用程序代码包括:第一程序代码,用于指定多个标志,所述多个标志各自用于与所述DRAM的所述多个块中的块相关联;以及第二程序代码,用于指定净化控制器,所述净化控制器确定要净化所述多个块中的块,并且作为响应,设置所述多个标志中的与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;其中,响应于后续接收到要从所述块中的位置读取数据的请求:在清除了所述标志的情况下,所述DRAM控制器读取所述位置并返回从所述位置读取到的数据;以及在设置了所述标志的情况下,所述DRAM控制器抑制读取所述DRAM并且返回零值。附图说明图1是示出计算系统的框图。图2是示出根据替代例的计算系统的框图。图3~5是示出系统的操作的流程图。图6是示出根据一个实施例的用以进行针对净化后的DRAM块的选择性刷新的系统的操作的流程图。图7是示出净化检测硬件(SDH)实例的框图。图8是示出通过采用图7的SDH实例检测为要对DRAM块进行净化的DRAM控制器的操作的流程图。具体实施方式术语表DRAM的块是DRAM中的一个或多个存储单元,其中,针对该一个或多个存储单元,DRAM控制器可以选择性地启用或禁用刷新。例如,数据RAM的(通常被称为)“行”是可刷新的。对于一些DRAM,作为示例,行是512字节的存储。净化DRAM的块是指将块中的所有位置清除为零值。现在参考图1,示出用于例示计算系统100的框图。计算系统100包括处理器102、DRAM104、将处理器102连接至DRAM104的DRAM控制器103、以及经由DRAM控制器103访问DRAM104的其它总线主装置(例如,总线主控I/O装置)。处理器102可以是多核处理器。处理器102执行包括系统软件(诸如操作系统和/或系统固件(诸如基本输入/输出系统(BIOS)或可扩展固件等)等)、实用工具和应用程序的程序。DRAM104被配置为多个DRAM块142。除其它事项外,系统软件还对包括DRAM块142整体的DRAM104的一部分进行净化。许多操作系统以根据处理器102支持的虚拟存储器系统确定大小的页为粒度来净化存储器。例如,常见页大小为4KB、64KB、1MB、16MB、256MB、1GB和2GB。DRAM控制器103将DRAM104中的一个或多个存储单元(例如DRAM104的行)视为DRAM块142,其中,针对该一个或多个存储单元,DRAM控制器可以选择性地启用或禁用刷新。在一些实施例中,DRAM块142的大小与处理器102的虚拟存储器系统所支持的最小页的大小相对应。例如,如果DRAM控制器可以选择性地启用或禁用刷新所针对的存储单元是512字节的行,并且处理器102所支持的最小页的大小为4KB,则DRAM控制器103将DRAM104的8个邻接行视为DRAM块142。DRAM控制器103包括多个净化标志132(还被称为净化位132)以及净化控制器134。在一个实施例中,DRAM控制器103包括针对DRAM104的各相应DRAM块142的净化位132。在替代例(这里被称为净化范围实施例)中,各净化位132具有相应的范围寄存器,其中净化位132和范围寄存器一起构成净化对。范围寄存器保持用以指定邻接DRAM块142的范围的地址和计数。该地址指定该范围内的第一个或起始DRAM块142,并且该计数指定该范围内的邻接DRAM块142的数量。如以下更详细所述,如果设置了净化位132,则在相应的范围寄存器中所指定的DRAM块142的范围被视为经过净化。净化控制器134将多个净化对视为如下的池,其中,本文档来自技高网
...
DRAM控制器及其控制方法和计算机程序产品

【技术保护点】
一种用于控制动态随机存取存储器即DRAM的DRAM控制器,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述DRAM控制器包括:多个标志,其各自用于与所述DRAM的所述多个块中的块相关联;以及净化控制器,用于确定为要净化所述多个块中的块,并且作为响应,设置所述多个标志中的与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;其中,响应于后续接收到要从所述块中的位置读取数据的请求:在清除了所述标志的情况下,所述DRAM控制器读取所述位置并返回从所述位置读取到的数据;以及在设置了所述标志的情况下,所述DRAM控制器返回零值并且抑制读取所述DRAM。

【技术特征摘要】
2016.04.15 US 62/323,177;2016.10.26 US 15/335,1411.一种用于控制动态随机存取存储器即DRAM的DRAM控制器,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述DRAM控制器包括:多个标志,其各自用于与所述DRAM的所述多个块中的块相关联;以及净化控制器,用于确定为要净化所述多个块中的块,并且作为响应,设置所述多个标志中的与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;其中,响应于后续接收到要从所述块中的位置读取数据的请求:在清除了所述标志的情况下,所述DRAM控制器读取所述位置并返回从所述位置读取到的数据;以及在设置了所述标志的情况下,所述DRAM控制器返回零值并且抑制读取所述DRAM。2.根据权利要求1所述的DRAM控制器,其中,还包括:响应于后续接收到要向所述块中的位置写入数据的请求:(a)在清除了所述标志的情况下,所述DRAM控制器向所述位置写入所述数据;以及(b)在设置了所述标志的情况下,所述DRAM控制器:针对所述块启用刷新;以及将所述数据写入所述位置。3.根据权利要求2所述的DRAM控制器,其中,还包括:响应于后续接收到要向所述块中的所述位置写入数据的请求:(b)在设置了所述标志的情况下,所述DRAM控制器还:清除所述标志;以及向所述块中的所有其它位置写入零值。4.根据权利要求2所述的DRAM控制器,其中,还包括:响应于后续接收到要向所述块中的所述位置写入数据的请求:在设置了所述标志的情况下,所述DRAM控制器仅在要写入的所述数据非零的情况下进行操作(a)和(b)。5.根据权利要求1所述的DRAM,其中,还包括:控制寄存器;以及所述净化控制器通过利用包括所述DRAM和所述DRAM控制器的系统的系统软件来检测向所述控制寄存器的写入,确定为要净化所述块。6.根据权利要求1所述的DRAM控制器,其中,还包括:所述净化控制器包括以下硬件,所述硬件通过检测向所述块的所有位置的一系列零值写入,确定为要净化所述块,其中所述一系列零值写入不具有介于其中的向所述块的任何位置进行的非零值写入。7.根据权利要求6所述的DRAM控制器,其中,所述硬件还包括:多个净化检测硬件实例,其中所述净化控制器针对所述DRAM的所述多个块中的不同块能够单独分配所述多个净化检测硬件实例。8.根据权利要求7所述的DRAM控制器,各净化检测硬件实例包括:位图,所述DRAM控制器使用所述位图来记录所述块内的哪些位置已被写入零值;以及逻辑,其检测所述位图的位何时全部为真。9.根据权利要求7所述的DRAM,其中,各净化检测硬件实例包括:寄存器,其保持所述块中最近以零值写入的固定大小的字之后的下一固定大小的字的索引,所述寄存器在所述索引与当前为零值的固定大小的字的写入的索引匹配时递增;以及逻辑,其检测所述当前为零值的固定大小的字的写入的索引何时是所述块中的最高索引。10.一种用于控制动态随机存取存储器即DRAM的方法,其中,所述DRAM包括多个块,所述块是所述DRAM中的一个或多个存储单元,针对该一个或多个存储单元,所述DRAM控制器能够选择性地启用或禁用刷新,所述方法包括以下步骤:确定为要净化所述多个块中的块,并且作为响应,设置与所述多个块中的所述块相关联的标志,并且针对所述块禁用刷新;所述标志是各自用于与所述DRAM的所述多个...

【专利技术属性】
技术研发人员:罗德尼·E·虎克道格拉斯·R·瑞德泰瑞·帕克斯
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:上海,31

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

1