首页> 中国专利> 具有用于高可靠性操作的存储控制器的数据处理器和方法

具有用于高可靠性操作的存储控制器的数据处理器和方法

摘要

一种数据处理器包括存储器访问代理和存储控制器。所述存储器访问代理产生到存储器的多个访问。所述存储控制器被耦接到所述存储器访问代理,并基于所述存储器的特性来按顺序安排所述多个存储器访问。所述存储器的所述特性包括行周期页面时间(t

著录项

  • 公开/公告号CN105518784A

    专利类型发明专利

  • 公开/公告日2016-04-20

    原文格式PDF

  • 申请/专利权人 超威半导体公司;

    申请/专利号CN201480049008.5

  • 发明设计人 凯文·M·布朗德;

    申请日2014-10-06

  • 分类号G11C8/00;

  • 代理机构上海胜康律师事务所;

  • 代理人樊英如

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 15:46:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-12

    授权

    授权

  • 2016-11-16

    实质审查的生效 IPC(主分类):G11C8/00 申请日:20141006

    实质审查的生效

  • 2016-04-20

    公开

    公开

说明书

技术领域

本公开大体上涉及数据处理系统,并且更具体地说涉及具有存储 控制器的数据处理器。

背景技术

计算机系统使用典型地利用廉价且高密度的动态随机存取存储 器(DRAM)芯片所形成的主存储器。当激活DRAM芯片中的第一行 时,沿着所述第一行的存储单元的内容被读入页面缓冲区。在所述第 一行中对存储单元的随后的读取和写入存取可以全部在页面缓冲区 内发生,而没有再次存取所述第一行。当数据处理器在相同的存储体 中稍后存取第二行时,沿着所述行的存储单元在可以激活其他行之前 在预充电操作中被恢复。数据处理器可以稍后在相同的存储体中再次 存取第一行。

现代DRAM芯片典型地使用深亚微米技术来存储一到八个千兆 比特(Gb)的数据。由于高密度和小特征尺寸,存储器的行在物理上如 此接近其他行,以至于特定行的激活可能通过改变存储单元电容器上 的电荷来扰乱存储在邻近行中的数据。通常这些扰乱是有害的,因为 存储单元被定期刷新。然而,一些存储器存取模式偶尔会引起某些行 在下一个刷新周期之前被激活和预充电许多次,以至于在邻近行中的 存储单元变成毁损和反向逻辑状态。在毁损之后,原始数据丢失并且 在随后的刷新周期中无法进行恢复。

附图简述

图1以方框图形式示出易于数据扰乱的动态随机存取存储器 (DRAM);

图2示出根据一些实施方案的可以合并图1的存储器的双列直插 式存储模块(DIMM)的顶视图;

图3以方框图形式示出根据一些实施方案的具有存储控制器的 微处理器;

图4以方框图形式示出根据一些实施方案的图3的存储控制器;

图5以方框图形式示出根据一些实施方案的诸如图4的存储控制 器的存储控制器的部分;

图6示出适用于理解图4的存储控制器的操作的时序图;

图7以方框图形式示出根据一些实施方案的数据处理系统;以及

图8示出适用于图4的存储控制器的方法的流程图。

在以下描述中,不同图中使用的相同的参考数字指示相似或相同 的项目。除非另外指出,否则单词“耦接”及其相关联的动词形式包括 直接连接和通过本领域中已知手段的间接电气连接,并且除非另外指 出,否则对直接连接的任何描述也意味着使用适当形式间接电气连接 的替代性实施方案。

具体实施方式

如下文所公开的数据处理器利用存储控制器处理了数据毁损问 题,所述存储控制器通过考虑行周期页面时间(tRCPAGE)来安排存取。 行周期页面时间可指示在预先确定的时间窗口内对存储器中的行的 激活命令的可接受的数量。数据处理器包括用于产生到存储器的访问 的存储器访问代理,所述数据处理器将所述访问提供给存储控制器。 存储控制器被耦接到存储器访问代理,并基于存储器的特性(包括行 周期页面时间)来按顺序安排存取。

在一种形式中,到存储器的第一页面的第一存储器访问被派分。 到存储器的第一页面的第二存储器访问被接收,但是第二存储器访问 的派分被抑制直到经历时间,因为第一存储器访问的派分超过了行周 期页面时间。

图1以方框图形式示出易于数据扰乱的存储器100。存储器100 是动态随机存取存储器(DRAM)并且大体上包括行路径110、八个存 储体120、列电路140、数据路径150以及一组数据暂记区160中的 标记为“DQi”的代表性的一个。

行路径110包括用于每个存储体的行地址锁存器与解码器,诸如 用于第一存储体的标记为“存储体0”的行地址锁存器与解码器112和 用于最后存储体的标记为“存储体7”的行地址锁存器与解码器114。 行路径110具有一组输入端和一组输出端,所述输入端用于接收标记 为“A[13:0]”的行地址和标记为“BA[2:0]”的存储体地址。八个存储体 120中的每一个包括相关联的存储器阵列和页面缓冲区,诸如用于存 储体0的存储器阵列122和页面缓冲区124。八个存储体120中的每 一个具有一组输入端,所述输入端被连接到对应的行地址锁存器与解 码器的所述组输出端。

列电路140包括一组列开关142和列解码器144。所述组列开关 142被连接到存储体120中的每一个的页面缓冲区,并且具有用于接 收列选择信号的一组输入端。列解码器144具有一组输入端和一组输 出端,所述输入端用于接收在输入端A[13:0]上进行的列地址,所述 列地址用于选择八个存储体中由BA[2:0]所选择的一个的列,所述输 出端被连接到列开关142的输入端。

数据路径150包括读取数据路径152和写入数据路径154。读取 数据路径152具有被连接到列开关142的一组输入端和被连接到数据 暂记区160的一组输出端。写入数据路径154具有被连接到数据暂记 区160的一组输入端和被连接到列开关142的一组输出端。

在操作中,存储器100允许存储体中的并行操作,并且在一个实 施方案中,存储器100与由联合电子设备工程委员会(JEDEC)所公开 的双倍数据速率(DDR)标准中的一个兼容,诸如DDR3或DDR4。为 了存取数据,诸如数据处理器的存储器访问代理通过发出激活 (“ACT”)命令来激活存储体中的行。响应于ACT命令,来自沿着所选 择行(诸如存储体0中的行125)的存储单元的数据被存储在对应的页 面缓冲区中,诸如页面缓冲区124。在DRAM中,数据读取对于存 储单元的内容是破坏性的,但是数据的副本被存储在页面缓冲区124 中。在存储器访问代理结束在行125中存取数据之后,存储器访问代 理通过发出预充电(“PRE”)命令来关闭所述行。PRE命令引起页面缓 冲区124中的数据恢复到沿着行125的动态存储单元。

由于存储器100是DRAM,存储单元中的电荷缓慢泄漏,并且 因此数据必须被定期刷新。刷新间隔(称为tREFI)基于较弱的存储单元 由于泄漏将丢失它们的内容的时间量。例如在DDR4DRAM中,tREFI在典型的环境中等于7.8微秒(μs)。

在通过现代、深亚微米制造过程所形成的DRAM中,给定行的 重复激活可能扰乱存储在物理上邻近的行中的存储单元中的数据。例 如,每当对行125进行激活和预充电时,在邻近行126和127中的存 储单元中的电荷被改变。如果行125在行126和127中的存储单元被 刷新之前被激活和预充电太多次,那么它们的数据可能变毁损。

为了在没有重新设计存储器的情况下减轻数据毁损问题,本发明 人已开发出一种具有存储控制器的数据处理器,所述存储控制器通过 考虑给定行中的存储单元在一个刷新间隔内被激活的次数来安排存 取。例如,如果存取的速率太高,存储控制器延迟存取直到一定时间 期满之后。这个时间与存储器在刷新窗口内能够被安全地存取的次数 有关。

图2示出根据一些实施方案的可以合并图1的存储器的双列直插 式存储模块(DIMM)200的顶视图。DIMM200大体上包括在多层印 刷电路板(PCB)上的一组存储器芯片210和串行存在检测(SPD)只读 存储器(ROM)220。存储器芯片210包括八个x8存储器芯片,所述 芯片中的每一个可以对应于图1的存储器100。在一些实施方案中, 存储器芯片210是DDR3SDRAM。在一些实施方案中,存储器芯片 210是DDR4SDRAM。

应注意的是,在一些实施方案中,DIMM200在基板背面上可以 具有像存储器芯片210一样布置的第二组存储装置。在一些实施方案 中,每个存储器芯片可以包括使用芯片上芯片技术或堆叠裸片技术的 具有多个存储器裸片的半导体封装,以形成每个芯片的超过一个层 级。此外,DIMM200代表了一种可以使用像图1的存储器100的存 储器芯片的存储器系统。在其他实施方案中,存储器100可以适用于 单列直插式存储模块(SIMM),或者可以被安装在与数据处理器芯片 相同的PCB上。

SPDROM220存储指示DIMM200的各种特征的值。JEDEC例 如在针对DDR3DRAM的标准JESD21-C附录K中指定了这些位的 位置和含义。近来,对于SPD标准的增加部分已被提出,所述增加 部分允许制造商指定存储器芯片210对数据扰乱问题的敏感性。因此 如图2中所示,SPDROM220包括字节222,所述字节222具有与存 储器的数据扰乱特性有关的字段。字节222位于SPDROM220内的 已由先前版本的SPDROM规格所保留的地址中,例如在字节$41处。

字节222包括被保留的位[7:6]、限定了最大激活窗口(tMAW)的位 [5:4]、标记为“无限MAC”的位[3]以及限定了最大活动计数(MAC)的 位[2:0]。这些位的含义如下所示。当位[3]被设置成“1”时,存储器芯 片210中的行在没有毁损数据的情况下能够被激活无限次数,并且位 [2:0]被编码000。这种设置对应于例如具有足够小的数据扰乱的设计, 以使得不管ACT速率如何没有错误被预期到。当位[3]被设置成“0” 时,位[2:0]在由位[5:4]中的tMAW所限定的一段时期内限定了MAC。 例如,如图2中所示,如果位[5:4]=00,位[3]=0并且位[2:0]=100,那 么在没有由于数据扰乱问题的毁损的情况下,存储器芯片210中的行 可以在64毫秒(ms)的窗口内被激活高达40万次。应当清楚的是,将 这些特性存储在SPDROM220的字节222中仅仅是识别这个速率的 一种可能的技术。

如下文所述,存储控制器响应被称为基于MAC和tMAW的行页面 周期时间(tRCPAGE)的值,以选择性地抑制对相同行的激活,直到从最 后的激活开始已经历所述行页面周期时间。通过确保那种激活不太频 繁地发生,存储控制器能够避免由于数据扰乱问题的数据毁损。

图3以方框图形式示出根据一些实施方案的具有存储控制器342 的数据处理器300。数据处理器300大体上包括CPU部分310、GPU 核心320、互连电路330、存储器存取控制器340以及输入/输出控制 器350。

CPU部分310包括分别被标记为“核心0”、“核心1”、“核心2” 以及“核心3”的CPU核心311-314,和共享的第三级(L3)高速缓存316。 每个CPU核心能够执行来自指令集的指令,并且能够执行独特的程 序线程。每个CPU核心包括它自己的第一级(L1)高速缓存和第二级 (L2)高速缓存,但是共享的L3高速缓存316是由所有的CPU核心共 用和共享的。共享的L3高速缓存316操作为存储器访问代理来提供 存储器访问请求,所述请求包括用于高速缓存线填充的存储器读取突 发和用于高速缓存线回写的存储器写入突发。

GPU核心320是芯片上的图形处理器,并且还操作为存储器访 问代理。

互连电路330大体上包括系统请求接口(SRI)/主桥332和纵横开 关334。SRI/主桥332将来自共享的L3高速缓存316和GPU核心320 的访问请求排队,并管理未完成事务和完成的那些事务。纵横开关 334是在五个双向端口之间的交叉点交换器,所述五个双向端口中的 一个被连接到SRI/主桥332。

存储器存取控制器340具有连接到纵横开关334的双向端口,用 于连接到芯片外的DRAM。存储器存取控制器340大体上包括存储 控制器342和标记为“PHY”的物理接口电路344。存储控制器342针 对来自CPU核心311-314和GPU核心320的请求产生特定的读取和 写入事务,并将事务结合至相关地址。存储控制器342处理DRAM 初始化、刷新、打开和关闭页面、将事务进行分组来有效地使用存储 器总线等的开销。物理接口电路344通过管理物理信令提供到外部 DRAM(诸如DIMM)的接口。存储控制器342和物理接口电路344一 起支持至少一种特定的存储器类型,并且可以支持DDR3和DDR4。

输入/输出控制器350包括一个或多个高速接口控制器。例如, 输入/输出控制器可以包含遵守超传输链路协议的三个接口控制器。

数据处理器300包括两个CPU核心和一个GPU核心,并且因此 被称为加速处理单元(APU)。这些多样的数据访问代理能够产生可能 引起数据扰乱问题的若干种存取模式。例如,CPU核心311-314中的 一个可能以引起相同的存储器行的频繁激活的模式运行通过存储在 存储器中的数据而进展的程序线程。另一个实例是当CPU核心 311-314中的一个或GPU核心320从相同的行和从不可缓存的区域反 复存取数据。又一个实例是当CPU核心311-314中的超过一个或GPU 核心320存取和修改相同的数据元。在这种情况下,共享的L3高速 缓存316可以遵循一种策略,即每当由一个核心所修改的数据被由另 一个核心进行存取时来刷新主存储器。其他情境也是可能的。

图4以方框图形式示出根据一些实施方案的图3的存储控制器 342。存储控制器342包括队列410、判优器420以及多路复用器430。 队列410存储从纵横开关334接收的存储器访问请求。存储器访问请 求可以是对存储器中的任何存储体的读取周期或写入周期,并且是由 数据处理器300中的任何一个存储器访问代理所产生的。在图4的实 例中,队列410具有用于所有存储体和层级的总共16个条目,每个 条目在写入周期的情况下存储存取地址、数据以及指示其相对阶段的 标签。判优器420被双向连接到队列410中的每个条目用于读取其属 性,所述判优器420具有用于当访问被派分时来将其接收的另外的输 入端,具有用于提供协议命令(诸如ACT命令和PRE命令)的输出端, 并且具有用于选择十六个条目中的一个来派分给物理接口电路344 的控制输出端。多路复用器430具有连接到队列410的相应条目的十 六个输入端、连接到判优器420的输出端的另外的输入端、连接到判 优器420的输出端的控制输入端以及用于将派分的访问提供到物理 接口电路344的输出端。

在操作中,队列410存储从纵横开关334接收的访问并分配指示 所述访问的相对阶段的标签。判优器420基于一组策略(诸如定时合 格性、阶段和公平性)来确定将队列410中的哪一个待处理访问安排 和派分至物理接口电路344。因此,所述判优器420包括页面表,所 述页面表指示在存储器系统的每个存储体和层级中的打开页面。一般 来说,通过同时安排对相同行的多次访问并延迟对相同存储体中的不 同行的更早的访问,判优器420能够增加存储器系统总线的效率。因 此判优器420通过选择性地推迟对与当前激活的行相比是不同行的 访问而增加了效率。判优器420还使用条目的阶段标签来限制访问的 等待时间。因此,当对另一个页面的访问呈待处理状态已有一定时间 时,判优器420将中断对存储器中的打开页面的一系列访问。判优器 420在对给定的存储体的ACT命令和PRE命令之间还安排对其他存 储体的访问,以隐藏开销。

判优器420还确定定时合格性来避免由于由对相同行的反复 ACT和PRE周期所引起的数据扰乱问题的数据毁损。判优器420限 定了新的定时参数,称为行周期页面时间(tRCPAGE),所述行周期页面 时间在预先确定的时间窗口内(tMAW)与到存储器中的行的激活命令的 可接受的数量(即MAC)成反比,以避免数据毁损。

在一些实施方案中,tRCPAGE可以被近似为时间窗口tMAW除以 MAC计数,或者tRCPAGE=tMAW/MAC。例如,如果刷新间隔是64ms, 并且MAC计数是400K,那么tRCPAGE=64ms/400,000=160纳秒(ns)。 通过在160ns窗口内不将产生ACT命令的命令派分给相同的行,判 优器420能够避免由于数据扰乱问题的数据毁损。

在其他实施方案中,通过考虑到刷新时间,tRCPAGE可以根据二阶 计算来进行确定。如果每个刷新(REF)命令消耗等于tRFC的时间,那 么tMAW可以通过tRFC乘以在tMAW中的刷新周期的数量而减少,或者 tRCPAGE=(tMAW–tRFC*(tMAW/tREFI))/MAC。在下文中的表I中示出了针对 DDR4DRAM的不同的DRAM密度的tRCPAGE的示例性计算:

表I

例如,如果刷新间隔(tREFI)是7.8μs(7.8125μs),那么每一行在64 ms的参考间隔中将被刷新8192次。如果刷新时间是160ns,那么在 64ms的间隔中,将花费1,310,720ns在刷新中。因此,有效的参考 间隔是62,689,280ns。在那个间隔中可能的ACT的理论数量是 62,689,280/tRC=1,319,774个可能的ACT。然而,tRCPAGE等于 62,689,280/100,000=626.689ns。因此,如果DRAM制造商在64ms 的参考窗口中仅仅允许100K次存取,那么存储器存取控制器340必 须确保到相同行的平均ACT与每隔626.89ns一次相比不会更频繁地 发生。

图5以方框图形式示出根据一些实施方案的诸如图4的存储控制 器400的存储控制器的部分500。部分500示出多路复用器430和判 优器420的包括代表性的合格性电路510和代表性的条目就绪电路 520的部分。

合格性电路510是第j个合格性电路,并且代表了一组合格性电 路。判优器420仅需要足够的地址寄存器和用于可能的ACT的数量 的计数器,所述ACT的阶段小于tRCPAGE,并且因此判优器420包括 tRCPAGE/tRC个这种电路,其中所述比率tRCPAGE/tRC被四舍五入取整到下 一个整数。合格性电路510包括计数器512、可选散列电路514以及 地址寄存器516。计数器512具有用于接收被标记为“ACT”的信号的 负载输入端、数据输入端以及被标记为“就绪”的输出端。散列电路514 具有m位输入端和输出端,所述m位输入端用于接收来自多路复用 器430的输出端的m个位的地址。所述m个位足以确定访问的唯一 的存储体和行。地址寄存器516具有被连接到散列电路514的输出端 的n位的输入端和n位的输出端,并存储用于判优器420近期已发出 的特定ACT命令的地址值。

条目就绪电路520是第i个条目就绪电路,并且代表了对应于队 列410中的每个条目的一组条目就绪电路。条目就绪电路520包括比 较器522、“或”(OR)门524以及“与”(AND)门526。比较器522具有连 接到地址寄存器516的输出端的第一输入端、连接到队列410的相应 条目用于接收其地址的第二输入端以及用于提供被标记为“匹配[i,j]” 的信号的输出端。“或”门524具有耦接到计数器512的输出端的第一 输入端、连接到比较器522的输出端的第二输入端以及输出端。“与” 门526具有连接到“或”门526的输出端的第一输入端、连接到其他对 应的“或”门的输出端的另外的输入端以及用于提供被标记为“条目[i] 就绪”的信号的输出端。

寄存器530具有连接到计数器512的数据输入端的输出端。寄存 器530以将在下文中进一步描述的方式来存储tRCPAGE值。

在操作中,每当ACT通过多路复用器430从队列410派分时, 多路复用器430激活ACT信号,所述ACT信号将旋转设置的 tRCPAGE/tRC个合格性电路的诸如计数器512的计数器加载有tRCPAGE的 值。计数器512递减计数直到其达到零,在零点处所述计数器512激 活所述就绪信号。如果队列410的第i个条目中的地址与同第j个合 格性电路相关联的地址相匹配,那么比较器522输出所述信号。当第j个ACT已出现长于tRCPAGE阶段或者条目[i]地址与第j 个合格性电路的地址不匹配时,“或”门524输出逻辑高值。当条目就 绪电路520中的所有“或”门的输出是逻辑高时,那么“与”门526在逻 辑高下激活信号条目[i]就绪,以指示对应于条目[i]的行已就绪待激 活。

判优器420中的剩余的逻辑接收条目[i]就绪信号,并基于条目[i] 就绪是否被激活以及其他安排的约束何时被满足来选择性地允许发 生存取。

散列电路514是可选的。如果存在,散列电路514将m位的输 入地址关联到合格性电路的更小数量n位中。因此,如果tRCPAGE相 对于tRC变得较大,设计者可能发现实现tRCPAGE/tRC个组的计数器和比 较器是非常昂贵的。散列函数可以基于实现的硬件来进行选择和设定 大小。因此,其允许了在电路尺寸与偶尔的误报之间的折衷。当行地 址X和行地址Z散列到相同的n位地址时,将发生误报。因此,如 果tRCPAGE对于行X还未期满,并且行X和行Z的散列函数是等同的, 那么对行Z的访问将错误地需要等待,即使行地址确实是不同的。误 报导致安排的损失。

图6示出适用于理解图4的存储控制器400的操作的时序图600。 在图6中,水平轴以ns表示时间,并且垂直轴以伏特表示各种信号 的振幅。图6示出了感兴趣的两个信号组,包括信号对610 和命令(CMD)信号组620。在DDRDRAM中,CMD信号由各种控制 信号形成,包括以及并且根据DDR标准被映 射到特定的命令。图6还示出了感兴趣的若干个时间点,包括被标记 为“t0”、“t1”、“t2”、“t3”、“t4”、“t5”以及“t6”的时间。

在DDRDRAM中,命令被记录在CK的上升沿和的下降沿 上。在时间t0处,存储器100记录被标记为“ACTX”的对行X的激活 命令。根据DDR标准,tRC指定了激活命令之间的最小时间量。在图 6的实例中,可以产生另一个激活命令的最早的时间是在t2处。存储 器100在时间t1处接收针对行X的PRE命令。根据DDR标准,在 t2之后行X可以再次被激活tRC

然而,判优器420还基于tRCPAGE参数来执行合格性。因此,判 优器420在t0之后防止行X被激活直到tRCPAGE。在这种情况下,行X 没有资格被再次激活直到t4,因此插入了对激活行X的另外的延迟, 所述延迟等于在t3与t4之间的时间。同样地,判优器420在t2之后防 止行Y被激活直到tRCPAGE。在这种情况下,行Y没有资格被再次激 活直到t6,并且如果在t4之后时间t5代表tRC,那么判优器420插入 了对激活行Y的另外的延迟,所述延迟等于在t5与t6之间的时间。

对于大多数存储器存取模式来说,基于tRCPAGE来延迟新的ACT 命令的发出将不会明显地降低性能,因为存储控制器400能够执行另 外的有用的工作,同时特定行对于新的ACT命令还未够资格。然而, 其将在偶尔的存储器存取模式中通过在tMAW中将超过MAC的持续模 式的频繁行激活来减少或消除由于行扰乱问题的数据毁损。在这种情 境下,稍微降低的性能将是可接受的来防止数据毁损。

图7以方框图形式示出根据一些实施方案的数据处理系统700。 数据处理系统700包括呈加速处理单元(APU)710形式的数据处理 器,存储器系统720、被称为“南桥”730的输入/输出(I/O)控制器以及 基本输入输出系统(BIOS)只读存储器(ROM)740。数据处理器710具 有连接到存储器系统720用于执行存储器存取操作的PHY712。在这 个实例中,存储器系统720是存储与行扰乱问题有关的数据的 DIMM,诸如图2的DIMM200。数据处理器710还通过高速I/O电 路714连接到I/O控制器730,所述I/O控制器730转而被连接到存 储器系统720和BIOSROM740。

在初始化时,数据处理器710通过经I/O控制器730读取存储在 BIOSROM740中的指令来将数据处理系统700初始化。BIOSROM 740包括存储器系统初始化部分742。存储器系统初始化部分742引 起数据处理器710读取存储器系统720中的SPDROM中的行扰乱参 数,计算tRCPAGE,并将tRCPAGE存储在寄存器530中。

图8示出适用于图4的存储控制器400的方法800的流程图。在 步骤810处,例如通过在BIOS的控制下来读取DIMM上的SPDROM 来确定tRCPAGE,并如上文关于表I所描述地来计算tRCPAGE。在步骤820 中,在时间t0处激活行125。在由判优器420从队列410中所选的读 取或写入访问之后执行所述激活来打开行125。在步骤830处,由于 例如在相同存储体中的对另一个页面的介入访问或对相同存储体的 介入刷新操作,对行125预充电。在步骤840处,接收对行125的第 二存储器访问。由于在步骤830处对行125的介入PRE命令,这个 第二存储器访问需要新的ACT命令。环路850确定是否有资格来激 活行125。在判定框852中,将经历时间(即在当前时间与时间t0之间 的持续时间)与tRCPAGE进行比较。当在步骤840处如上文关于图5所 描述地接收第二存储器访问的时候,例如通过在步骤820处启动具有 tRCPAGE的值的计数器并检测所述计数器是否已递减计数至零,可以实 现这个比较。如果这个时间未经历,步骤854抑制行125的激活。如 果这个时间已经历,随后步骤860确定是否满足存储器系统中的其他 条件。例如,到新的页面的访问通常倾向于到需要ACT命令的新的 页面的访问,服从某种公平性准则。最终,一旦满足其他准则,那么 在步骤870处再次激活行125,并在步骤880处派分对行125的第二 存储器访问。

尽管在数据处理器300中包括使用硬件电路(诸如地址寄存器、 计数器和比较逻辑)来确定合格性的存储控制器342,这些功能可以利 用硬件和软件的各种组合来实现。软件部件中的一些可存储在计算机 可读存储介质中,以便由至少一个处理器执行。此外,图8中示出的 一些或所有的方法也可由指令来管理,所述指令存储在计算机可读存 储介质中并且由至少一个处理器执行。图8中示出的操作中的每一个 可对应于存储在非暂时性计算机存储器中或计算机可读存储介质中 的指令。在各种实施方案中,非暂时性计算机可读存储介质包括:磁 盘或光盘存储装置、诸如闪存的固态存储装置,或其他非易失性存储 器装置。存储在非暂时性计算机可读存储介质中的计算机可读指令可 以是源代码、汇编语言代码、目标代码或可由一个或多个处理器解译 且/或执行的其它指令格式。

此外,图3的数据处理器300或其任何部分可由呈数据库形式的 计算机可存取数据结构或其他数据结构来描述或表示,所述其他数据 结构可由程序读取并且直接或间接用来制造集成电路。例如,这种数 据结构可以是用高级设计语言(HDL)(诸如Verilog或VHDL)对硬件功 能性的行为级描述或寄存器传送级(RTL)描述。所述描述可以由合成 工具读取,所述合成工具可以对描述进行合成,以便从合成库生成包 括一系列门的网表。所述网表包括门集合,所述门还表示包括集成电 路的硬件的功能性。随后可放置或选路发送所述网表以产生描述要应 用于掩模的几何形状的数据集。然后可以在各种半导体制造步骤中使 用掩模来生产集成电路。或者,计算机可存取存储介质上的数据库根 据需要可以是网表(具有或不具有合成库)或数据集或图形数据系统 (GDS)II数据。

虽然描述了特定实施方案,但本领域技术人员应了解这些实施方 案的各种修改。示出的数据处理器包括四个CPU核心和一个GPU核 心,但是在其他实施方案中,所述数据处理器可以包括不同数量的存 储器访问代理。此外,示出的数据处理器包括一个存储控制器和相关 联的存储通道,但是在其他实施方案中,所述数据处理器可以包括具 有对应的存储通道的多个存储控制器。如上所述,可选散列电路可以 被包括在一些实施方案中以减少电路面积,并且在其他实施方案中被 排除以避免误报并因此维持更高的性能。在其他实施方案中,存储控 制器可以为每个存储体维持单独的队列。在这些实施方案中,合格性 电路和条目就绪电路的数量将按比例增加。此外,tRCPAGE值可以被计 算成作为刷新间隔除以MAC计数的一阶近似,或者通过考虑到刷新 时间被计算成二阶近似。此外,在一些实施方案中,存储控制器执行 在相对较长的时间窗口上安排的tRCPAGE存储器访问,同时仍然允许 在正常的tRC速率下跟踪较小的突发活动。

因此,所附权利要求意图涵盖落入所公开实施方案的范围内的对 所公开实施方案的所有修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号