在动态随机存取存储器中提供高速缓存标记的机制和技术的制作方法

xiaoxiao2020-7-22  15

在动态随机存取存储器中提供高速缓存标记的机制和技术的制作方法
【专利摘要】动态随机存取存储器(DRAM)被操作为与处理器核心耦接的高速缓冲存储器。从所述处理器核心向所述DRAM传输作为偶数和奇数比特对的数据块。所述数据块包括N个纠错码(ECC)比特和11*N个数据比特。要将两个或更多个高速缓存行存储在存储器页中,聚合到一起的标记比特位于所述存储器页内。
【专利说明】在动态随机存取存储器中提供高速缓存标记的机制和技术
【技术领域】
[0001]本发明的实施例涉及动态随机存取存储器(DRAM)作为高速缓冲存储器的使用。更 具体地,本发明的实施例涉及在用作高速缓冲存储器的标准DRAM中提供高速缓存标记的 技术。
【背景技术】
[0002]多年以来,高速缓冲存储器系统的一般用途在计算技术中已经被熟知。目前的高 速缓冲存储器系统是典型的多级高速缓存系统,其中不同的高速缓存等级具有不同的尺寸 并且物理上位于不同的地方。在一些较大的系统中,可以利用动态随机存取存储器(DRAM) 作为该高速缓冲存储器系统的至少一个等级。
[0003]与高速缓冲存储器结构相关联的一个挑战是也必须存储诸如标记的与标记行相 关联的信息。对于专用的硬件高速缓冲存储器结构,可以将这一相关联的信息与相对应的 高速缓存行分离地存储。然而,这一策略可能阻止标准DRAM模块在高速缓冲存储器系统中 使用。
【专利附图】

【附图说明】
[0004]在附图中通过示例而非限制的方式来说明本发明的实施例,附图中类似的附图标 记指代类似的元件。
[0005]图1是可以用于向和自物理存储器设备传输数据的高速缓存行的数据布置的一 个实施例的概念说明。
[0006]图2是可以与图1的数据配置一起使用的一种存储器组织的概念图。
[0007]图3是电子系统的一个实施例的框图。
【具体实施方式】
[0008]在下面的描述中阐释了大量的具体细节。然而,可以在没有这些具体细节的情况 下来实践本发明的实施例。在其它实例中,没有详细地示出公知的电路、结构和技术,以便 不混淆对本说明书的理解。
[0009]传统上,高速缓存要求对于高速缓存标记的分离或隔离的存储。分离的标记和数 据存储由于优化的存储器组织而经常利用不同的ECC方案。分离的标记存储要求分离的控 制逻辑和相关联的数据路径以及功率需求。
[0010]由于难于高效地使用DRAM作为高速缓冲存储器并且DRAM由于支持分离的标记存 储的控制器中的复杂性而不能够很好地适合于被重新配置为暂时存储器或快速系统存储 器,因此不存在利用DRAM作为高速缓存。此外,标记存储通常是高度专门化的存储器,如果 数据存储被重新配置为不作为高速缓存使用,则该高度专门化的存储器不提供任何价值。
[0011]本文描述的技术提供利用新的存储器层级显著地作为高速缓冲存储器并且在工 作负荷和/或操作系统支持快速/暂时存储器时允许该新的存储器层级被重新配置为暂时/快速存储器的能力。本文描述了在不要求高速缓存用途改变的情况下利用72字节纠错码 (ECC)支持的技术。这在同时支持高速缓存和非高速缓存用途的同时,可以产生简化的存储 器控制器架构。
[0012]更具体地说,本文描述的技术支持可以利用标准动态随机存取存储器(DRAM)模块 并且将数据和标记存储在相同的存储器页中的高速缓冲存储器的实现。传统的高速缓存使 用单独地存储标记并且不允许标记或数据存储被重新配置为暂时/快速系统存储器的特 殊的标记存储。可以使用新的且更高效的ECC码用于高速缓存数据,以便释放比特(已经被 用作ECC比特)用于用作标记存储。
[0013]在一个实施例中,高速缓存数据存储器页内的新的数据布置可以用于将标记比特 聚合到一起用于存储。在一个实施例中,利用具体的高速缓存组织和事务流来一次有效地 获取高速缓存集合的标记并且对于随后的高速缓存数据存取提供优化的存取。
[0014]外部存储器通常支持单x4纠错-双x4误差检测(S4EC/D4ED)或“Chipkill”。如 果144比特是128个数据比特和16个校验比特,则这保护了横跨包括36个x4比特设备的 “秩”存储的144比特宽的数据字。在单片存储器中,单个管芯提供该数据字。在这些情况 下,芯片故障方案不是必需的,但是仍然可以提供单纠错-双误差检测(SEC/DED)ECC。
[0015]在一个实施例中,可以与8比特突发一起使用72比特数据总线,以便传输64字节 高速缓存行。在一个实施例中,可以提供布线SEC/DED。更确切地说,72比特总线的任何单 个布线故障可校正并且任何第二布线故障可检测。对于共享公共布线的偶数/奇数比特 对,单个布线故障能够产生比特误差的三种情况。在一个实施例中,如图1中说明的,可以 将144比特条带化为具有ECC码的72比特数据总线。
[0016]图1是可以用于向和自物理存储器设备传输数据的高速缓存行的数据布置的一 个实施例的概念说明。在图1的示例中,如果布线具有故障(例如固定型故障),则可能发生 下列任何情况:1)没有误差,偶数/奇数数据值二者都与故障值相匹配;2)单比特误差,当 偶数或奇数数据值中的任意一个与故障值相匹配时;3)双比特误差,当偶数/奇数数据值 都不与故障值相匹配时。所有组合都可校正。
[0017]第二布线故障将生成类似的情况,并且原始布线比特误差与第二布线比特误差情 况的所有组合在没有混淆现象的情况下都可检测。在一个实施例中,与传统的chip-kill 码相比较,将SEC-DED码约束为使用12比特的变型的汉明码,以考虑到四个额外的比特可 用于每一个数据字中的数据。
[0018]在一个实施例中,对于给定的布线,布线误差码是比特误差码或者两个比特误差 码对的异或。布线误差码对于布线故障可校正是唯一的。并且,来自不同布线的任意两布 线误差码的异或不可能是另一布线误差码。否则,将不能够检测某些双布线故障。
[0019]利用这些约束,能够构造足够的ECC码。能够将每一个12比特的比特误差码认为 是基数-4的数目,并且可以通过非零首位数字来划分该12比特空间。
[0020]
【权利要求】
1.一种装置,包括:处理器核心;耦接到所述处理器核心的总线;经由所述总线与所述处理器核心耦接的动态随机存取存储器(DRAM),所述DRAM操作为用于所述处理器核心的高速缓冲存储器,所述处理器核心向所述DRAM传输作为偶数和奇数比特对的数据块,所述数据块具有N个纠错码(ECC)比特和11*N个数据比特。
2.如权利要求1所述的装置,其中,N等于12。
3.如权利要求2所述的装置,其中,所述处理器核心使两个或更多个高速缓存行存储在存储器页中,聚合到一起的标记比特位于所述页内。
4.如权利要求3所述的装置,其中,所述存储器页中的高速缓存行的数目为四。
5.如权利要求3所述的装置,其中,每一个高速缓存行包括数据块,包括位于所述页的开始处的四个标记字节的所述存储器的页、以及被存储为所述页的每第八字节的一部分的用于每一个高速缓存行的ECC比特。
6.如权利要求1所述的装置,其中,经由划分的码空间来构造ECC码。
7.如权利要求6所 述的装置,其中,通过首位非零数字值来划分所述划分的码空间。
8.如权利要求7所述的装置,其中,数目基数为4。
9.一种方法,包括:将动态随机存取存储器(DRAM)操作为与处理器核心耦接的高速缓冲存储器;利用所述处理器核心向所述DRAM传输作为偶数和奇数比特对的数据块,所述数据块具有N个纠错码(ECC)比特和11*N个数据比特;并且使两个或更多个高速缓存行存储在存储器页中,聚合到一起的标记比特位于所述页内。
10.如权利要求9所述的方法,其中,N等于12。
11.如权利要求9所述的方法,其中,所述存储器页中的高速缓存行的数目为四。
12.如权利要求11所述的方法,其中,每一个高速缓存行包括数据块、包括位于所述页的开始处的四个标记字节的所述存储器的页、以及被存储为所述页的每第八字节的一部分的用于每一个高速缓存行的ECC比特。
13.如权利要求9所述的方法,其中,经由划分的码空间来构造ECC码。
14.如权利要求13所述的方法,其中,通过首位非零数字值来划分所述划分的码空间。
15.如权利要求14所述的方法,其中,数目基数为4。
16.一种包括具有存储在其上的指令的非暂态计算机可读介质的制品,当被执行时,所述指令使一个或多个处理器执行下列步骤:将动态随机存取存储器(DRAM)操作为与处理器核心耦接的高速缓冲存储器;利用所述处理器核心向所述DRAM传输作为偶数和奇数比特对的数据块,所述数据块具有N个纠错码(ECC)比特和11*N个数据比特;并且使两个或更多个高速缓存行存储在存储器页中,聚合到一起的标记比特位于所述页内。
17.如权利要求16所述的制品,其中,N等于12。
18.如权利要求16所述的制品,其中,所述存储器页中的高速缓存行的数目为四。
19.如权利要求18所述的制品,其中,每一个高速缓存行包括数据块、包括位于所述页的开始处的四个标记字节的所述存储器的页、以及被存储为所述页的每第八字节的一部分的用于每一个高速缓存行的ECC比特。
20.如权利要求16所述的制品,其中,经由划分的码空间来构造ECC码。
21.如权利要求20所述的制品,其中,通过首位非零数字值来划分所述划分的码空间。
22.如权利要求21所述的制品,其中,数目基数为4。
23.—种系统,包括:具有天线的收发机;与所述收发机耦接的处理器核心;耦接到所述处理器核心的总线;经由所述总线与所述处理器核心耦接的动态随机存取存储器(DRAM),所述DRAM操作为用于所述处理器核心的高速缓冲存储器,所述处理器核心用于向所述DRAM传输作为偶数和奇数比特对的数据块,所述数据块具有N个纠错码(ECC)比特和11*N个数据比特。
24.如权利要求23所述的系统,其中,N等于12。
25.如权利要求24所述的系统,其中,所述处理器核心使两个或更多个高速缓存行存储在存储器页中,聚合到一起的标记比特位于所述页内。
26.如权利要求25所述的系统,其中,所述存储器页中的高速缓存行的数目为四。
27.如权利要求25所述的系统 ,其中,每一个高速缓存行包括数据块、包括位于所述页的开始处的四个标记字节的所述存储器的页、以及被存储为所述页的每第八字节的一部分的用于每一个高速缓存行的ECC比特。
【文档编号】G06F11/10GK103562885SQ201280026417
【公开日】2014年2月5日 申请日期:2012年3月29日 优先权日:2011年4月1日
【发明者】D·S·麦金尼斯, C·S·赫德尔斯顿, R·阿加瓦尔, M·R·津哈马尼 申请人:英特尔公司

最新回复(0)