CN115605853A - 高效存储器总线管理 - Google Patents

高效存储器总线管理 Download PDF

Info

Publication number
CN115605853A
CN115605853A CN202180035137.9A CN202180035137A CN115605853A CN 115605853 A CN115605853 A CN 115605853A CN 202180035137 A CN202180035137 A CN 202180035137A CN 115605853 A CN115605853 A CN 115605853A
Authority
CN
China
Prior art keywords
command
memory
data bus
arbiter
indication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180035137.9A
Other languages
English (en)
Inventor
沈冠豪
拉温德拉·奈斯·巴尔加瓦
拉格哈瓦·斯拉万·阿迪达姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN115605853A publication Critical patent/CN115605853A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

一种存储器控制器包括仲裁器,该仲裁器引起存储器通道上读取命令的拖尾和写入命令的拖尾。在拖尾期间,该仲裁器监视该存储器通道的数据总线效率的指示。响应于该指示表明数据总线效率小于指定阈值,该仲裁器停止该当前拖尾并且开始另一类型的拖尾。

Description

高效存储器总线管理
背景技术
计算机系统通常使用廉价且高密度的动态随机存取存储器(DRAM)芯片作为主存储器。现今销售的大多数DRAM芯片与由联合电子设备工程委员会(JEDEC)发布的各种双倍数据速率(DDR)DRAM标准兼容。DDR DRAM使用具有高速存取电路的常规DRAM存储器单元阵列以实现高传送率并且提高存储器总线的利用率。
典型的DDR存储器控制器维持队列以存储待决的读取和写入请求,以允许存储器控制器无序地拾取这些待决的请求且由此提高效率。例如,存储器控制器可以从队列无序地检索对给定存储列中的同一行的多个存储器访问请求(称为″页命中″),并且将该多个存储器访问请求连续地发出到存储器系统以避免重复地预充电当前行和激活另一行的开销。但是,在利用现代存储器技术(诸如DDR5)提供的总线带宽的同时,从深度队列中扫描和拾取访问变得难以使用已知的存储器控制器来实现。存储器控制器可以采用诸如产生读取命令或写入命令的拖尾的技术来提高总线效率。然而,此类技术伴随着性能折衷,诸如因延迟并非当前拖尾的一部分的命令而引起的等待时间问题,以及与将命令总线从读取拖尾″周转″到写入拖尾(且反之亦然)相关联的附加性能开销。
附图说明
图1以框图形式示出了现有技术中已知的加速处理单元(APU)和存储器系统;
图2以框图形式示出了根据一些实施方案的适于在类似于图1的APU中使用的存储器控制器;
图3示出了根据一些实施方案的图2的存储器控制器的一部分的框图;
图4是根据一些实施方案的用于管理拖尾效率的过程的流程图;
图5是根据一些附加实施方案的用于管理拖尾效率的另一过程的流程图;
图6是根据一些实施方案的用于执行交叉模式激活命令的过程的流程图;并且
图7是根据一些实施方案的用于执行交叉模式激活命令的另一过程的流程图。
在以下描述中,在不同附图中使用相同的附图标号表示类似或相同的项目。除非另有说明,词语″耦接的″及其相关联的动词形式包括通过本领域已知的方式进行的直接连接和间接电连接两者,并且除非另有说明,对直接连接的任何描述也暗示使用适当形式的间接电连接的替代实施方案。
例示性实施方案的具体实施方式
一种存储器控制器包括仲裁器,该仲裁器可操作以(a)引起存储器通道上读取命令的拖尾和写入命令的拖尾;(b)在读取命令和写入命令中的一者的当前拖尾期间,监视该存储器通道的数据总线效率的指示;以及(c)响应于该数据总线效率的指示指示数据总线效率小于指定阈值,停止该当前拖尾并且开始读取命令和写入命令中的另一者的拖尾。
一种方法包括通过存储器通道引起读取命令的拖尾和写入命令的拖尾。在读取命令和写入命令中的一者的当前拖尾期间,监视该存储器通道的数据总线效率的指示。响应于该数据总线效率的指示指示数据总线效率小于指定阈值,停止该当前拖尾并且开始读取命令和写入命令中的另一者的拖尾。
一种数据处理系统包括中央处理单元、连接到该中央处理单元的数据织构、和连接到该数据织构以用于履行来自该中央处理单元的存储器请求的存储器控制器。存储器控制器包括命令队列、存储器接口队列和仲裁器。该命令队列包括用于接收存储器访问请求的第一输入。存储器接口队列具有用于耦接到存储器通道的输出,该存储器通道适于连接到至少一个动态随机存取存储器(DRAM)并且包括命令总线和数据总线。该仲裁器连接到该命令队列以用于从该命令队列中选择条目,并且将这些条目放置在该存储器接口队列中,从而致使这些条目通过存储器通道传输。该仲裁器可操作以(a)引起存储器通道上读取命令的拖尾和写入命令的拖尾;(b)在读取命令和写入命令中的一者的当前拖尾期间,监视该存储器通道的数据总线效率的指示;以及(c)响应于该数据总线效率的指示指示数据总线效率小于指定阈值,停止该当前拖尾并且开始读取命令和写入命令中的另一者的拖尾。
图1以框图形式示出了现有技术中已知的加速处理单元(APU)100和存储器系统130。APU 100是适于用作主机数据处理系统中的处理器的集成电路,并且通常包括中央处理单元(CPU)内核复合体110、图形内核120、一组显示引擎122、存储器管理集线器140、数据织构125、一组外围控制器160、一组外围总线控制器170和系统管理单元(SMU)180。
CPU内核复合体110包括CPU内核112和CPU内核114。在此示例中,CPU内核复合体110包括两个CPU内核,但在其它实施方案中,CPU内核复合体110可以包括任意数目的CPU内核。CPU内核112和114中的每一者双向连接到形成控制织构的系统管理网络(SMN)以及数据织构125,且能够向数据织构125提供存储器访问请求。CPU内核112和114中的每一者可以为单式内核,或可以进一步为具有共享某些资源(诸如高速缓存)的两个或更多个单式内核的内核复合体。
图形内核120是能够以高度集成且并行的方式执行图形操作(诸如顶点处理、片段处理、着色、纹理混合等)的高性能图形处理单元(GPU)。图形内核120双向连接到SMN和数据织构125,并且能够向数据织构125提供存储器访问请求。就这一点而言,APU 100可以支持其中CPU内核复合体110和图形内核120共享相同存储空间的统一存储器架构,或者支持其中CPU内核复合体110和图形内核120共享存储空间的一部分而图形内核120还使用CPU内核复合体110不可以访问的专用图形存储器的存储器架构。
显示引擎122渲染并且光栅化由图形内核120生成的对象以供在监视器上显示。图形内核120和显示引擎122双向连接到公共存储器管理集线器140以用于统一转换为存储器系统130中的适当地址,并且存储器管理集线器140双向连接到数据织构125以用于生成此类存储器访问并且接收从存储器系统返回的读取数据。
数据织构125包括用于在任何存储器访问代理和存储器管理集线器140之间路由存储器访问请求和存储器响应的纵横开关。该数据织构还包括由基本输入/输出系统(BIOS)限定的用于基于系统配置确定存储器访问的目的地的系统存储器映射以及用于每个虚拟连接的缓冲器。
外围控制器160包括通用串行总线(USB)控制器162和串行高级技术附件(SATA)接口控制器164,这两个控制器中的每一者双向连接到系统集线器166和SMN总线。这两个控制器仅仅是可以在APU 100中使用的外围控制器的示例。
外围总线控制器170包括系统控制器或″南桥″(SB)172以及周边装置互连高速(PCIe)控制器174,这两个控制器中的每一者双向连接到输入/输出(I/O)集线器176和SMN总线。I/O集线器176还双向连接到系统集线器166和数据织构125。因此,例如CPU内核可以通过数据织构125路由通过I/O集线器176的通路来对USB控制器162、SATA接口控制器164、SB 172或PCIe控制器174中的寄存器进行编程。用于APU 100的软件和固件存储在系统数据驱动器或系统BIOS存储器(未示出)中,该系统BIOS存储器可以是多种非易失性存储器类型中的任何一种非易失性存储器类型,诸如只读存储器(ROM)、闪速电可擦可编程ROM(EEPROM)等。通常,BIOS存储器通过PCIe总线访问,并且系统数据驱动器通过SATA接口访问。
SMU 180是控制APU 100上的资源的操作并且使它们之间的通信同步的本地控制器。SMU 180管理APU 100上的各个处理器的上电顺序,并且通过复位、启动和其它信号控制多个片外外设。SMU 180包括为APU 100的组件中的每个组件提供时钟信号的一个或多个时钟源(未示出),诸如锁相环路(PLL)。SMU 180还管理用于各种处理器和其它功能块的电力,并且可以从CPU内核112和114以及图形内核120接收测量的电力消耗值以确定适当电力状态。
在该实施方案中,存储器管理集线器140和其相关联的物理接口(PHY)151和152与APU 100集成。存储器管理集线器140包括存储器通道141和142以及功率引擎149。存储器通道141包括主机接口145、存储器通道控制器143和物理接口147。主机接口145通过串行存在检测链路(SDP)将存储器通道控制器143双向连接到数据织构125。物理接口147将存储器通道控制器143双向连接到PHY 151并且符合DDR PHY接口(DFI)规范。存储器通道142包括主机接口146、存储器通道控制器144和物理接口148。主机接口146通过另一个SDP将存储器通道控制器144双向连接到数据织构125。物理接口148将存储器通道控制器144双向连接到PHY 152并且符合DFI规范。功率引擎149通过SMN总线双向连接到SMU180,通过APB双向连接到PHY 151和152,并且还双向连接到存储器通道控制器143和144。PHY 151具有与存储器通道131的双向连接。PHY 152具有双向连接存储器通道133。
存储器管理集线器140是具有两个存储器通道控制器的存储器控制器的实例,并且使用共享功率引擎149来以下文将进一步描述的方式控制存储器通道控制器143和存储器通道控制器144两者的操作。存储器通道141和142中的每一者都可以连接到现有技术DDR存储器,诸如第五代DDR(DDR5)、第四代DDR(DDR4)、低功率DDR4(LPDDR4)、第五代图形DDR(GDDR5)和高带宽存储器(HBM),并且可以适于未来存储器技术。这些存储器提供高总线带宽和高速操作。同时,这些存储器还提供低功率模式以节省电池供电的应用(诸如膝上型计算机)的功率,并且还提供内置热监视。
存储器系统130包括存储器通道131和存储器通道133。存储器通道131包括连接到DDRx总线132的一组双列直插式内存模块(DIMM),该组DIMM包括在该示例中对应于单独的存储列的代表性DIMM 134、136和138。同样,存储器通道133包括连接到DDRx总线129的一组DIMM,该组DIMM包括代表性DIMM 135、137和139。
APU 100作为主机数据处理系统的中央处理单元(CPU)操作,并且提供在现代计算机系统中有用的各种总线和接口。这些接口包括两个双倍数据速率(DDRx)存储器通道、用于连接到PCIe链路的PCIe根复合体、用于连接到USB网络的USB控制器以及用于连接到SATA大容量存储设备的接口。
APU 100还实现各种系统监视和省电功能。特别地,一种系统监控功能是热监控。例如,如果APU 100变热,则SMU 180可以降低CPU内核112和114和/或图形内核120的频率和电压。如果APU 100变得过热,则该SMU可以完全关闭。热事件还可以由SMU 180经由SMN总线从外部传感器接收,并且SMU 180可以作为响应而减小时钟频率和/或电源电压。
图2以框图形式示出了适于在类似于图1的APU中使用的存储器控制器200。存储器控制器200通常包括存储器通道控制器210和功率控制器250。存储器通道控制器210通常包括接口212、存储器接口队列214、命令队列220、地址生成器222、内容可寻址存储器(CAM)224、包括重放队列230的重放控制逻辑231、刷新控制逻辑块232、定时块234、页表236、仲裁器238、纠错码(ECC)检查电路242、ECC生成块244、数据缓冲器246和刷新逻辑247。
接口212具有通过外部总线与数据织构125的第一双向连接,并且具有输出。在存储器控制器200中,此外部总线与由英国剑桥的安谋国际科技股份有限公司指定的第四代高级可扩展接口(称为″AXI4″)(但在其它实施方案中可以为其它类型的接口)兼容。接口212将存储器访问请求从被称为FCLK(或MEMCLK)域的第一时钟域转换到被称为UCLK域的存储器控制器200内部的第二时钟域。类似地,存储器接口队列214提供从UCLK域到DFICLK域与DFI接口相关联的存储器访问。
地址生成器222解码通过AXI4总线从数据织构125接收的存储器访问请求的地址。存储器访问请求包括以标准化格式表示的物理地址空间中的访问地址。地址生成器222将标准化的地址转换为可以用于寻址存储器系统130中的实际存储器设备以及有效地调度相关访问的格式。此格式包括将存储器访问请求与特定存储列、行地址、列地址、存储体地址和存储体群组相关联的区域标识符。在启动时,系统BIOS询问存储器系统130中的存储器设备以确定它们的大小和配置,且对与地址生成器222相关联的一组配置寄存器进行编程。地址生成器222使用存储在配置寄存器中的配置来将标准化的地址转换成适当的格式。命令队列220是从APU 100中的存储器访问代理(诸如CPU内核112和114以及图形内核120)接收的存储器访问请求的队列。命令队列220存储由地址生成器222解码的地址字段以及允许仲裁器238有效地选择存储器访问(包括访问类型和服务质量(QoS)标识符)的其它地址信息。CAM 224包括强制排序规则诸如写后再写(WAW)和先写后读(RAW)排序规则的信息。
纠错码(ECC)生成块244确定将被发送到存储器的写入数据的ECC。ECC检查电路242对照传入ECC检查所接收ECC。
重放队列230是用于存储由仲裁器238拾取的正在等待响应诸如地址和命令奇偶响应的所选择存储器访问的临时队列。重放控制逻辑231访问ECC检查电路242以确定所返回的ECC是正确的还是指示错误。重放控制逻辑231发起并控制重放序列,在该重放序列中,在这些周期中的一个周期出现奇偶校验错误或ECC错误的情况下重放访问。重放的命令被放置在存储器接口队列214中。
刷新控制逻辑232包括用于各种断电、刷新和终止电阻(ZQ)校准周期的状态机,这些ZQ校准周期与从存储器访问代理接收的正常读取和写入存储器访问请求分开生成。例如,如果存储器存储列处于预充电断电中,则其必须被周期性地唤醒以运行刷新周期。刷新控制逻辑232周期性地且响应于指定条件而生成刷新命令,以防止由于电荷从DRAM芯片中的存储器单元的存储电容器泄漏而引起的数据错误。刷新控制逻辑232包括激活计数器248,该激活计数器在该实施方案中具有用于每一存储器区域的计数器,该计数器对通过存储器通道发送到存储器区域的激活命令的滚动数目进行计数。存储器区域在一些实施方案中是存储体,并且在其它实施方案中是存储器子存储体,如下面进一步讨论的。另外,刷新控制逻辑232周期性地校准ZQ以防止由于系统中的热变化而导致的片上终端电阻的失配。
仲裁器238双向连接到命令队列220并且是存储器通道控制器210的心脏,并且通过智能调度访问来提高效率以改进存储器总线的使用。仲裁器238使用定时块234通过基于DRAM定时参数确定命令队列220中的某些访问是否有资格获得发出来强制正确的定时关系。例如,每个DRAM在激活命令之间具有被称为″tRC″的最小指定时间。定时块234维护基于在JEDEC规范中指定的这个和其它定时参数来确定资格的一组计数器,并且双向连接到重放队列230。页表236维持关于用于仲裁器238的存储器通道的每个存储体和存储列中的活动页的状态信息,且双向连接到重放队列230。
响应于写入从接口212接收到的存储器访问请求,ECC生成块244根据写入数据计算ECC。数据缓冲器246存储写入数据和所接收存储器访问请求的ECC。当仲裁器238拾取用于分派到存储器通道的对应写入访问时,该仲裁器将经组合的写入数据/ECC输出到存储器接口队列214。
功率控制器250通常包括第一代高级可扩展接口(AXI)的接口252、高级外围总线(APB)接口254和功率引擎260。接口252具有与SMN的第一双向连接,该接口包括用于接收在图2中单独示出的标记为″EVENT_n″的事件信号的输入以及输出。APB接口254具有连接到接口252的输出的输入以及用于通过APB连接到PHY的输出。功率引擎260具有连接到接口252的输出的输入以及连接到存储器接口队列214的输入的输出。功率引擎260包括一组配置寄存器262、微控制器(μC)264、自刷新控制器(SLFREF/PE)266和可靠的读写定时引擎(RRW/TE)268。配置寄存器262通过AXI总线进行编程,并且存储配置信息以控制存储器控制器200中的各种块的操作。因此,配置寄存器262具有连接到图2中未详细展示的这些块的输出。自刷新控制器266是除了通过刷新控制逻辑232的自动生成刷新之外还允许手动生成刷新的引擎。可靠的读写定时引擎268为诸如DDR接口最大读取等待时间(MRL)训练和回送测试的目的向存储器或I/O设备提供连续的存储器访问流。
存储器通道控制器210包括允许其拾取存储器访问以用于分派到相关联存储器通道的电路。为了做出期望的仲裁决定,地址生成器222将地址信息解码为预解码信息,该预解码信息包括存储器系统中的存储列、行地址、列地址、存储体地址和存储体群组,并且命令队列220存储预解码信息。配置寄存器262存储配置信息以确定地址生成器222解码所接收地址信息的方式。仲裁器238使用经解码的地址信息、由定时块234指示的定时资格信息以及由页表236指示的活动页信息来有效地调度存储器访问,同时遵守其它准则诸如服务质量(QoS)要求。例如,仲裁器238实现对开放页的访问的偏好以避免改变存储器页所需的预充电和激活命令的开销,并且通过使对一个存储体的开销访问与对另一存储体的读取和写入访问交错来隐藏对该存储体的开销访问。特别是在正常操作期间,仲裁器238通常在不同存储体中保持页开放,直到在选择不同页之前需要对它们进行预充电为止。在一些实施方案中,仲裁器238至少基于激活计数器248针对相应命令的目标存储器区域的相应值来确定命令选择的资格性。
图3示出根据一些实施方案的图2的存储器控制器200的部分300的框图。部分300包括仲裁器238和与仲裁器238的操作相关联的一组控制电路360。仲裁器238包括一组子仲裁器305和最终仲裁器350。子仲裁器305包括子仲裁器310、子仲裁器320和子仲裁器330。子仲裁器310包括标记为″PH ARB″的页命中仲裁器312以及输出寄存器314。页命中仲裁器312具有连接到命令队列220的第一输入、第二输入和输出。寄存器314具有连接到页命中仲裁器312的输出的数据输入、用于接收UCLK信号的时钟输入和输出。子仲裁器320包括标记为″PC ARB″的页冲突仲裁器322以及输出寄存器324。页冲突仲裁器322具有连接到命令队列220的第一输入、第二输入和输出。寄存器324具有连接到页冲突仲裁器322的输出的数据输入、用于接收UCLK信号的时钟输入以及输出。子仲裁器330包括标记为″PM ARB″的页未命中仲裁器332以及输出寄存器334。页未命中仲裁器332具有连接到命令队列220的第一输入、第二输入和输出。寄存器334具有连接到页未命中仲裁器332的输出的数据输入、用于接收UCLK信号的时钟输入以及输出。最终仲裁器350具有连接到刷新控制逻辑232的输出的第一输入、来自页关闭预测器362的第二输入、连接到输出寄存器314的输出的第三输入、连接到输出寄存器324的输出的第四输入、连接到输出寄存器334的输出的第五输入、用于向队列214提供标记为″CMD1″的第一仲裁获胜者的第一输出、以及用于向队列214提供标记为″CMD2″的第二仲裁获胜者的第二输出。
控制电路360包括如先前关于图2所描述的定时块234和页表236、页关闭预测器362、当前模式寄存器302和交叉模式启用逻辑304。定时块234具有连接到交叉模式启用逻辑304的输出、连接到页命中仲裁器312、页冲突仲裁器322和页未命中仲裁器332的输入和输出。页表234具有连接到重放队列230的输出的输入、连接到重放队列230的输入的输出、连接到命令队列220的输入的输出、连接到定时块234的输入的输出和连接到页关闭预测器362的输入的输出。页关闭预测器362具有连接到页表236的一个输出的输入、连接到输出寄存器314的输出的输入以及连接到最终仲裁器350的第二输入的输出。交叉模式启用逻辑304具有连接到当前模式寄存器302的输入和连接到命令队列220的输入、以及连接到最终仲裁器350的输入和输出、以及连接到页命中仲裁器310、页冲突仲裁器320和页未命中仲裁器330的输入和输出。
在操作中,仲裁器238通过考虑当前模式(指示读取拖尾还是写入拖尾在进行中)、每个条目的页状态、每个存储器访问请求的优先级和这些请求之间的相关性而从命令队列220和刷新控制逻辑232选择存储器访问命令。优先级与从AXI4总线接收且存储在命令队列220中的请求的服务质量或QoS相关,但是可以基于存储器访问的类型和仲裁器238的动态操作来更改。仲裁器238包括三个子仲裁器,这三个子仲裁器并行操作以用于解决现有集成电路技术的处理和传输限制之间的失配。相应子仲裁的获胜者被呈现给最终仲裁器350。最终仲裁器350在这三个子仲裁获胜者之间进行选择以及选择来自刷新控制逻辑232的刷新操作,并且可以进一步将读取或写入命令修改为具有如由页关闭预测器362确定的自动预充电命令的读取或写入。
交叉模式启用逻辑304操作以引起存储器通道上读取命令的拖尾和写入命令的拖尾。在任一类型的命令的当前拖尾期间,交叉模式启用逻辑304监视存储器通道的数据总线效率的指示,如下文关于图4和图5进一步描述的。响应于数据总线效率的指示指示数据总线效率低于指定阈值,交叉模式启用逻辑304停止当前拖尾,开始另一类型的拖尾,并且改变当前模式寄存器302中的当前模式。
页命中仲裁器312、页冲突仲裁器322和页未命中仲裁器332中的每一者都具有连接到定时块234的输出以确定命令队列220中落入这些相应类别中的命令的定时资格的输入。定时块234包括二进制计数器的阵列,该阵列对与针对每个存储列中的每个存储体的特定操作相关的持续时间进行计数。确定状态所需的定时器的数目取决于定时参数、给定存储器类型的存储体的数量以及系统在给定存储器通道上支持的存储列的数量。所实现的定时参数的数目进而取决于系统中所实现的存储器的类型。例如,与其它DDRx存储器类型相比,GDDR5存储器需要更多的定时器来遵守更多的定时参数。通过包括被实现为二进制计数器的通用定时器的阵列,定时块234可以被缩放并且重新用于不同的存储器类型。来自交叉模式启用逻辑304的输入向子仲裁器发信号通知提供哪种类型的命令(读取或写入)作为最终仲裁器350的候选。
页命中是对打开页的读取或写入周期。页命中仲裁器312在命令队列220中的访问之间仲裁以打开页。由定时块234中的定时器跟踪并且由页命中仲裁器312检查的定时资格参数包括例如行地址选通(RAS)到列地址选通(CAS)延迟时间(tRCD)和CAS等待时间(tCL)。例如,tRCD指定在RAS周期中已经打开页之后在对该页的读取或写入访问之前必须经过的最小时间量。页命中仲裁器312基于所指派的访问优先级来选择子仲裁获胜者。在一个实施方案中,优先级是4位、独热值,因此指示四个值中的优先级,然而,应当显而易见的是,此四级别优先级方案仅为一个示例。如果页命中仲裁器312检测到相同优先级级别的两个或更多个请求,则最老的条目获胜。
页冲突是当存储体中的一行当前被激活时对该存储体中的另一行的访问。页冲突仲裁器322在命令队列220中对与当前在对应的存储体和存储列中打开的页冲突的页的访问之间进行仲裁。页冲突仲裁器322选择导致发出预充电命令的子仲裁获胜者。由定时块234中的定时器跟踪并且由页冲突仲裁器322检查的定时资格参数包括例如活动以预充电命令周期(tRAS)。页冲突仲裁器322基于所分配的访问优先级来选择子仲裁获胜者。如果页冲突仲裁器322检测到相同优先级级别的两个或更多个请求,则最老的条目获胜。
页未命中是对处于预充电状态的存储体的访问。页未命中仲裁器332在命令队列220中对预充电的存储体的访问之间进行仲裁。由定时块234中的定时器跟踪且由页未命中仲裁器332检查的定时资格参数包括例如预充电命令周期(tRP)。如果存在在相同优先级级别是页未命中的两个或更多个请求,则最老的条目获胜。
每个子仲裁器为它们各自的子仲裁获胜者输出优先级值。最终仲裁器350比较来自页命中仲裁器312、页冲突仲裁器322和页未命中仲裁器332中的每一者的子仲裁获胜者的优先级值。最终仲裁器350通过执行一次考虑两个子仲裁获胜者的一组相对优先级比较来确定子仲裁获胜者之间的相对优先级。子仲裁器可以包括一组逻辑,该组逻辑用于仲裁针对每个模式读取和写入的命令,使得当当前模式改变时,一组可用的候选命令作为子仲裁获胜者是可快速获得的。
在确定这三个子仲裁获胜者之间的相对优先级之后,最终仲裁器350然后确定这些子仲裁获胜者是否冲突(即,它们是否指向相同存储体和存储列)。当不存在此类冲突时,则最终仲裁器350选择最多两个具有最高优先级的子仲裁获胜者。当存在冲突时,则最终仲裁器350遵循以下规则。当页命中仲裁器312的子仲裁获胜者的优先级值高于页冲突仲裁器322的子仲裁获胜者的优先级值并且两者均指向相同存储体和存储列时,则最终仲裁器350选择由页命中仲裁器312指示的访问。当页冲突仲裁器322的子仲裁获胜者的优先级值高于页命中仲裁器312的子仲裁获胜者的优先级值时并且两者均指向相同存储体和存储列时,则最终仲裁器350基于若干附加因素选择获胜者。在一些情况下,页关闭预测器362通过设定自动预充电属性而致使页在由页命中仲裁器312指示的访问结束时关闭。
在页命中仲裁器312内,优先级最初由来自存储器访问代理的请求优先级设定,但基于访问类型(读取或写入)和访问序列而动态地调整。一般来讲,页命中仲裁器312将较高隐式优先级指派给读取,但实现优先级提升机制以确保写入在完成方面取得进展。
每当页命中仲裁器312选择读取或写入命令时,页关闭预测器362就确定是否发送具有自动预充电(AP)属性的命令。在读取或写入周期期间,自动预充电属性用预定义地址位来设定,并且自动预充电属性致使DDR设备在读取或写入周期完成之后关闭页,这避免了存储器控制器稍后发送用于该存储体的单独预充电命令的需要。页关闭预测器362考虑命令队列220中已经存在的访问与所选择命令访问的存储体相同的存储体的其它请求。如果页关闭预测器362将存储器访问转换成AP命令,则对该页的下一次访问将是页未命中。
通过针对不同存储器访问类型使用不同子仲裁器,每个仲裁器可以用比需要在所有访问类型(页命中、页未命中和页冲突)之间进行仲裁的情况更简单的逻辑来实现。因此,可以简化仲裁逻辑并且可以使仲裁器238的大小保持相对较小。
在其它实施方案中,仲裁器238可以包括不同数量的子仲裁器。在又一实施方案中,仲裁器238可以包括特定类型的两个或更多个子仲裁器。例如,仲裁器238可以包括两个或更多个页命中仲裁器、两个或更多个页冲突仲裁器和/或两个或更多个页未命中仲裁器。
图4是根据一些实施方案的用于管理拖尾效率的过程的流程图400。在一些版本中,该过程体现在存储器控制器的仲裁器(诸如图2的仲裁器238)内部的监视逻辑电路中。在其它版本中,该过程可以由具有类似功能的数字逻辑或控制器执行,同时使用与上述子仲裁器305和最终仲裁器350所使用的不同的仲裁方法。该过程通常用于决定何时执行拖尾过程的周转,将当前模式从写入改变为读取或从读取改变为写入以提高数据总线利用效率。该过程可以与确定读取或写入命令的拖尾的长度的其它技术组合使用。
该过程在框402处开始,在命令的每个拖尾的开始处,并且监视命令的拖尾,直到该过程决定进行周转并且改变当前模式以开始新的拖尾为止。在框404处,仲裁器根据合适的命令仲裁过程来发送在拖尾的开始处的一个或多个初始命令。在框406处,监视或预计初始命令的数据总线效率。在一些实施方案中,数据总线效率的指示被计算为数据总线利用率的滚动计算结果。在其它实施方案中,如下文进一步描述的,使用其它指示。在框408处,该过程检查数据总线效率的指示是否低于指定的低效率阈值。此低效率指示在拖尾的开始处使用,因为拖尾的最初几个命令不会产生效率改变,直到资料已通过资料总线为止。随着拖尾的继续,如果一系列有效的命令可用,则期望效率快速地改变为高效率。
如果在框408处效率指示不低于所指定的低效率阈值,则过程前进到框412。如果该效率指示较低,则该过程前进到框410,在该框处检查是否存在具有高效率的可用交叉模式命令。框410可以包括在仲裁器处计算候选命令的预计效率。通常,将所计算的效率指示与指定阈值进行比较,以确定交叉模式命令是否是高效率的。在一些实施方案中,与所计算的效率指示进行比较的阈值至少部分地基于周转该过程以开始新的拖尾所花费的时间。在一些实施方案中,效率指示被计算为″成本″指示,其中高成本指示低效率命令并且低成本指示高效率命令。如果在框410处存在可用的交叉模式高效率命令,则该过程前进到框411,在该框处该过程结束当前拖尾并且开始另一类型的拖尾。如果否,则过程前进到框412,在该框处继续当前拖尾。
在框412处,将效率阈值提高到高效率水平。此较高水平被选择来反映在拖尾经过初始低效率并且已经实现了在拖尾的早中期经常发生的高效率之后所预期的高效率。在调整了效率阈值的情况下,过程在框414处通过发送拖尾中的下一命令来继续拖尾。通过计算用以监视或预计由发送命令导致或将由发送命令导致的数据总线效率的效率指示,针对每个命令继续监视数据总线效率,如框416处所示。
在框418处,如果效率指示低于高效率阈值,则结束当前拖尾可以能是有利的。该过程前进到框420,在该框处,该过程检查高效率交叉模式命令是否可用。如果是,则该过程前进到框422,在该框处该过程结束当前拖尾并开始另一类型的拖尾。如果没有可用的高效率交叉模式命令,则该过程前进到框414,在该框处继续当前拖尾。
虽然在该实施方案中,将低效率阈值调整为高效率阈值(框412),但是在其它实施方案中,在拖尾中发送的每个命令之后调整效率阈值。在这种情况下,在计算效率指示值之前,在框416处更新效率阈值。在一些实施方案中,采用计数器来跟踪当前拖尾的长度,并且在基于计数器的值发送每个命令之后调整效率阈值以要求更高的效率。
图5是根据一些附加实施方案的用于管理拖尾效率的过程的流程图500。每当拖尾开始监视拖尾效率时使用该过程,并且通常通过监视存储器控制器的仲裁器(诸如图2的仲裁器238)内部的逻辑来执行该过程。所描绘的过程采用两个或更多个邻近列地址选通(CAS)命令之间的间隔作为数据总线效率的指示,并且针对在拖尾中发送的每个命令重复直到该过程决定″周转″并且结束拖尾为止。
当新的拖尾开始时,过程在框502处开始周转监视过程。在框504处,通过命令总线发送拖尾的初始命令。在发送命令之后,该过程执行若干检查以确定拖尾应当结束还是继续。在框506处,该过程确定在仲裁器处是否仅当前模式命令可用于发送。例如,如果当前拖尾是写入拖尾,则框506确定是否仅写入命令是待决的。如果是,则该过程返回到框504继续拖尾。接着在框508处,该过程确定在仲裁器处是否仅交叉模式命令可用。如果是,则该过程结束当前拖尾并开始新的拖尾。如果否,则该过程继续到框510,在该框处该过程基于CAS命令之间的间隔(被称为″CAS到CAS″间隔)来监视或预计每个命令的数据总线效率。
框510计算至少一个命令的数据总线效率的指示。在一些实施方案中,在仲裁器处针对许多候选命令计算指示。数据总线效率的指示包括对列地址选通(CAS)命令之间的一个或多个时间间隔的测量或预计。例如,在一个实施方案中,数据总线效率的指示包括最近所传输CAS命令和可以传输所选择后续CAS命令的时间之间的时间间隔。此计算结果产生相应候选命令的数据总线效率的预计。其它实施方案在计算结果中包括多于一个的CAS至CAS间隔。通常,以时钟周期测量该间隔。
在框512处,该过程基于在框510处计算的指示来确定可用作候选的任何交叉模式命令是否都具有高效率。如果没有可用的高效率交叉模式命令,则该过程继续当前拖尾。此有条件的检查的优点是防止这种顺序:进行周转,然后在另一模式中没有可用的高效率命令,并且该过程再次重复地周转。通常,将所计算的效率指示与指定阈值进行比较,以确定交叉模式命令是否是高效率的。如果指示是在时钟周期中直接计算的CAS到CAS间隔,则该指示可以被视为成本函数,在该成本函数中低成本用信号表示高效率。在一些实施方案中,与该值进行比较的阈值至少部分地基于周转该过程以开始新的拖尾所花费的时间。
如果在框512处存在高效率交叉模式命令可用,则该过程前进到框514,在该框处该过程使用另一类型的效率指示来防止仅略微在高效率阈值内但总体上提供低效率拖尾的连续命令序列。框514计算″最近3个″当前模式CAS到CAS间隔,该间隔提供最近所传输CAS命令和在三个CAS命令之前出现的先前CAS命令之间的间隔。如果此″最近3个″间隔大于指定阈值,则该过程结束当前拖尾并且执行周转。
如果″最近3个″间隔在指定阈值内,则在框514处的过程前进到框516。在框516处,该过程检查是否存在可用于当前模式的高效率命令。如果是,则该过程继续当前拖尾。如果否,则该过程前进到框518,在该框处结束当前拖尾。在每种所描绘的情况下结束拖尾引起其中另一模式的拖尾开始的周转过程。周转包括为交叉模式(以前的当前模式)清除进程中标签并且为新的当前模式清除等待进程中标签。继续该拖尾包括仲裁器238选择用于在框504处发送的下一命令。
虽然该实施方案中的过程在决定是否结束当前拖尾时采用若干不同确定,但其它实施方案可以包括少于所有所描绘的有条件的检查。
图6是根据一些实施方案的用于执行交叉模式激活命令的过程的流程图600。在该实施方案中,所描绘的过程由交叉模式启用逻辑(诸如,图3的逻辑304)在仲裁器处执行。在一些实施方案中,所描绘的过程与效率监视技术诸如图4或图5的那些效率监视技术一起使用。一般来讲,该过程通过允许来自交叉模式的行激活(ACT)命令在当前模式命令的拖尾的结束时发生以便隐藏用于交叉模式的页未命中/冲突请求的页打开等待时间来提高命令拖尾的效率。
在框602处,该过程开始待在存储器通道上与DRAM一起被处理的连续读取命令的拖尾。在框604处,该过程将一起构成读取命令的命令发送到DRAM。在某些所选择命令之后,命令总线具有可用时间,其中可以传输ACT命令以执行用于读取或写入命令的行激活。该过程需要从待发送的在仲裁器处可用的ACT命令进行选择,以便填充可用时间并且有效地使用命令总线。
在框606处,该过程检查是否存在与当前模式命令(在此情况下为读取命令)相关联的可用ACT命令。如果是,则该过程前进到框609,在该框处该过程发送用于读取命令的ACT命令中的所选择ACT命令。如果否,则过程前进到框608,在该框处该过程检查当前为交叉模式的可用写入命令是否大于或等于指定的最小阈值。如果是,则允许该过程发送交叉模式ACT命令,并且框610检查是否存在与写入命令相关联的可用ACT命令。如果是,则在框612处选择并且发送交叉模式ACT命令。如果在框610处没有可用的交叉模式ACT,则该过程前进到框611,在该框处该过程不传输针对所考虑的命令总线时隙的ACT。
在框609或612处发送任一类型的ACT或在框611处跳过ACT之后,该过程前进到框614,在该框处该过程检查结束拖尾条件。导致拖尾结束的具体条件在不同的实施方案中不同。例如,可以使用图4或图5的过程,或者可以使用其它过程。在示例性另选的实施方案中,拖尾的长度由在拖尾开始时有多少命令可用于拖尾中的快照或计数来确定。此种快照通常可以很好地指示拖尾可以持续多长时间并且保持效率。在这种情况下,在框614处的拖尾结束条件将是拖尾的大小等于拖尾开始时可用命令的计数(快照)。响应于框614处的结束拖尾条件,该过程前进到框616,在该框处结束当前拖尾,交换当前模式和交叉模式,并且开始处理包括在框612处针对其发送ACT命令的任何交叉模式命令的交叉模式命令。如果在框614处未发现结束拖尾条件,则该过程返回到框604,在该框处该过程使当前拖尾继续发送读取命令。
图7是根据一些实施方案的用于执行交叉模式激活命令的另一过程的流程图700。所描绘的过程类似于图6的过程,不同之处在于,该过程描绘写入命令的拖尾而非读取命令的拖尾。在框702处,该过程开始在存储器通道上待被处理到DRAM的连续写入命令的拖尾。这通常伴随着先前拖尾(诸如在框616(图6)处的先前拖尾)的结束。在框704处,该过程将低级命令发送到DRAM以实现写入命令。
当ACT命令的可用时隙出现时,该过程需要从待发送的在仲裁器处可用的ACT命令进行选择。在框706处,过程检查是否存在与当前模式命令(写入命令)相关联的可用ACT命令。如果是,则该过程前进到框709,在该框处该过程发送用于写入命令的ACT命令中的所选择ACT命令。如果否,则过程前进到框708,在该框处该过程检查当前为交叉模式的可用读取命令是否大于或等于指定的最小阈值。如果是,则允许该过程发送交叉模式ACT命令,并且框710检查是否存在与写入命令相关联的可用ACT命令。当读取命令是交叉模式时,指定的最小阈值是读取阈值,并且当写入命令是交叉模式时(图6),指定的最小阈值是与读取阈值不同的写入阈值。读取阈值优选地低于写入阈值。
如果在框710处交叉模式ACT命令可用,则在框712处选择并发送交叉模式ACT命令。如果在框710处没有交叉模式ACT可用,则该过程前进到框711,在该框处该过程不传输针对所考虑的命令总线时隙的ACT。
在框709或712处发送任一类型的ACT或在框711处跳过ACT之后,该过程前进到框714,在该框处该过程检查结束拖尾条件。响应于框714处的结束拖尾条件,该过程前进到框616,在该框处结束当前拖尾,交换当前模式和交叉模式,并且开始处理包括在框712处针对其发送ACT命令的任何交叉模式命令的交叉模式命令。如果在框714处未发现结束拖尾条件,则该过程返回到框704,在该框处该过程使当前拖尾继续发送读取命令。
图2的存储器控制器200或其任何部分(诸如,仲裁器238和刷新控制逻辑232)可以由呈数据库形式的计算机可以访问数据结构或可以由程序读取并且直接或间接用于制造集成电路的其它数据结构来描述或表示。例如,此数据结构可以是高级设计语言(HDL)诸如Verilog或VHDL中的硬件功能的行为级描述或寄存器传送级(RTL)描述。描述可以由合成工具读取,该合成工具可以合成描述以产生包括来自合成库的门列表的网表。网表包括门集,其也表示包括集成电路的硬件的功能。然后可以放置和路由网表以产生描述待应用于掩模的几何形状的数据集。接着可以在各种半导体制造步骤中使用这些掩模以产生集成电路。另选地,计算机可访问存储介质上的数据库可以是网表(具有或不具有合成库)或数据集(根据需要)或图形数据系统(GDS)II数据。
虽然已经描述了特定实施方案,但是对这些实施方案的各种修改对于本领域技术人员来说将是显而易见的。例如,存储器通道控制器210和/或功率引擎250的内部架构可以在不同实施方案中变化。存储器控制器200可以与除DDRx之外的其它类型的存储器介接,诸如高带宽存储器(HBM)、RAMbus DRAM(RDRAM)等。虽然例示的实施方案示出了对应于单独的DIMM或SIMM的存储器的每个存储列,但是在其它实施方案中,每个模块可以支持多个存储列。其它实施方案可以包括其它类型的DRAM模块或未包含在特定模块中的DRAM,诸如安装到主机母板的DRAM。因此,所附权利要求旨在覆盖落入所公开的实施方案的范围内的所公开的实施方案的所有修改。

Claims (26)

1.一种存储器控制器,包括:
仲裁器,所述仲裁器能够操作以(a)引起存储器通道上读取命令的拖尾和写入命令的拖尾;(b)在读取命令和写入命令中的一者的当前拖尾期间,监视所述存储器通道的数据总线效率的指示;以及(c)响应于所述数据总线效率的指示指示数据总线效率小于指定阈值,停止所述当前拖尾并且开始读取命令或写入命令中的另一者的拖尾。
2.根据权利要求1所述的存储器控制器,还包括:
命令队列,所述命令队列具有用于接收存储器访问请求的第一输入;
存储器接口队列,所述存储器接口队列具有用于耦接到存储器通道的输出,所述存储器通道适于耦接到至少一个动态随机存取存储器(DRAM)并且包括命令总线和数据总线;并且
其中所述仲裁器耦接到所述命令队列以用于从所述命令队列选择条目,并且将所述条目放置在所述存储器接口队列中,从而致使所述条目通过所述存储器通道传输。
3.根据权利要求1所述的存储器控制器,其中所述数据总线效率的指示包括数据总线利用率的滚动计算结果。
4.根据权利要求1所述的存储器控制器,其中所述数据总线效率的指示包括列地址选通(CAS)命令之间的多个时间间隔的测量结果。
5.根据权利要求4所述的存储器控制器,其中所述数据总线效率的指示包括最近所传输CAS命令和能够传输所选择后续CAS命令的时间之间的时间间隔。
6.根据权利要求4所述的存储器控制器,其中所述数据总线效率的指示包括在其内已经传输三个最近所传输CAS命令的间隔。
7.根据权利要求1所述的存储器控制器,其中所述仲裁器进一步能够操作以在拖尾期间的所选择命令之后并且在同一拖尾的后续命令之前调整所述指定阈值。
8.根据权利要求7所述的存储器控制器,其中所述仲裁器进一步能够操作以允许拖尾的初始读取或写入的较低数据总线效率,并且随后需要较高数据总线效率。
9.根据权利要求1所述的存储器控制器,其中指示数据总线效率小于指定阈值进一步基于用于停止所述当前拖尾并且开始另一类型的拖尾的预计周转时间。
10.一种方法,包括:
引起存储器通道上读取命令的拖尾和写入命令的拖尾;
在读取命令和写入命令中的一者的当前拖尾期间,监视所述存储器通道的数据总线效率的指示;以及
响应于所述数据总线效率的指示指示数据总线效率小于指定阈值,停止所述当前拖尾并且开始读取命令和写入命令中的另一者的拖尾。
11.根据权利要求10所述的方法,还包括:
接收包括存储器读取和存储器写入的多个存储器访问请求;以及
将用于履行所述存储器访问请求的存储器访问命令选择性地放置在存储器接口队列中,并且将所述存储器访问命令从所述存储器接口队列传输到耦接到至少一个动态随机存取存储器(DRAM)的存储器通道。
12.根据权利要求10所述的方法,其中所述数据总线效率的指示包括数据总线利用率的滚动计算结果。
13.根据权利要求10所述的方法,其中所述数据总线效率的指示包括列地址选通(CAS)命令之间的多个时间间隔的测量结果。
14.根据权利要求13所述的方法,其中所述数据总线效率的指示包括最近所传输CAS命令和能够传输所选择后续CAS命令的时间之间的时间间隔。
15.根据权利要求13所述的方法,其中所述数据总线效率的指示包括在其内已经传输三个最近所传输CAS命令的间隔。
16.根据权利要求10所述的方法,还包括:在拖尾期间的所选择命令之后并且在同一拖尾的后续命令之前调整所述指定阈值。
17.根据权利要求16所述的方法,还包括:允许拖尾的初始读取或写入的较低数据总线效率,并且随后需要较高数据总线效率。
18.根据权利要求10所述的方法,其中指示数据总线效率小于指定阈值进一步基于用于停止所述当前拖尾并且开始另一类型的拖尾的预计周转时间。
19.一种数据处理系统,包括:
中央处理单元;
数据织构,所述数据织构耦接到所述中央处理单元;和
存储器控制器,所述存储器控制器耦接到所述数据织构以用于履行来自所述中央处理单元的存储器请求,所述存储器控制器包括:
命令队列,所述命令队列具有用于接收存储器访问请求的第一输入;
存储器接口队列,所述存储器接口队列具有用于耦接到存储器通道的输出,所述存储器通道适于耦接到至少一个动态随机存取存储器(DRAM);
仲裁器,所述仲裁器耦接到所述命令队列以用于从所述命令队列选择条目,并且将所述条目放置在所述存储器接口队列中,从而致使所述条目通过所述存储器通道传输,所述仲裁器能够操作以(a)引起所述存储器通道上读取命令的拖尾和写入命令的拖尾;(b)在读取命令和写入命令中的一者的当前拖尾期间,监视所述存储器通道的数据总线效率的指示;以及(c)响应于所述数据总线效率的指示指示数据总线效率小于指定阈值,停止所述当前拖尾并且开始读取命令和写入命令中的另一者的拖尾。
20.根据权利要求19所述的数据处理系统,其中所述数据总线效率的指示包括数据总线利用率的滚动计算结果。
21.根据权利要求19所述的存储器控制器,其中所述数据总线效率的指示包括列地址选通(CAS)命令之间的多个时间间隔的测量结果。
22.根据权利要求21所述的存储器控制器,其中所述数据总线效率的指示包括最近所传输CAS命令和能够传输所选择后续CAS命令的时间之间的时间间隔。
23.根据权利要求21所述的数据处理系统,其中所述数据总线效率的指示包括在其内已经传输三个最近所传输CAS命令的间隔。
24.根据权利要求19所述的数据处理系统,其中所述仲裁器进一步能够操作以在拖尾期间的所选择命令之后并且在同一拖尾的后续命令之前调整所述指定阈值。
25.根据权利要求24所述的数据处理系统,其中所述仲裁器进一步能够操作以允许拖尾的初始读取或写入的较低数据总线效率,并且随后需要较高数据总线效率。
26.根据权利要求19所述的数据处理系统,其中指示数据总线效率小于指定阈值进一步基于用于停止所述当前拖尾并且开始另一类型的拖尾的预计周转时间。
CN202180035137.9A 2020-05-14 2021-04-27 高效存储器总线管理 Pending CN115605853A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/931,825 2020-05-14
US15/931,825 US20210357336A1 (en) 2020-05-14 2020-05-14 Efficient memory bus management
PCT/US2021/029299 WO2021231076A1 (en) 2020-05-14 2021-04-27 Efficient memory bus management

Publications (1)

Publication Number Publication Date
CN115605853A true CN115605853A (zh) 2023-01-13

Family

ID=78513578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180035137.9A Pending CN115605853A (zh) 2020-05-14 2021-04-27 高效存储器总线管理

Country Status (6)

Country Link
US (1) US20210357336A1 (zh)
EP (1) EP4150468A1 (zh)
JP (1) JP2023527685A (zh)
KR (1) KR20230004912A (zh)
CN (1) CN115605853A (zh)
WO (1) WO2021231076A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11625352B2 (en) * 2020-06-12 2023-04-11 Advanced Micro Devices, Inc. DRAM command streak management

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194561B2 (en) * 2001-10-12 2007-03-20 Sonics, Inc. Method and apparatus for scheduling requests to a resource using a configurable threshold
US7162567B2 (en) * 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US9361240B2 (en) * 2013-04-12 2016-06-07 International Business Machines Corporation Dynamic reservations in a unified request queue
US11675659B2 (en) * 2016-07-15 2023-06-13 Advanced Micro Devices, Inc. DDR memory error recovery
US10402120B2 (en) * 2016-07-15 2019-09-03 Advanced Micro Devices, Inc. Memory controller arbiter with streak and read/write transaction management

Also Published As

Publication number Publication date
EP4150468A1 (en) 2023-03-22
US20210357336A1 (en) 2021-11-18
KR20230004912A (ko) 2023-01-06
WO2021231076A1 (en) 2021-11-18
JP2023527685A (ja) 2023-06-30

Similar Documents

Publication Publication Date Title
CN109564556B (zh) 具有条纹和读取/写入事务管理的存储器控制器仲裁器
KR102442078B1 (ko) 고속 메모리 인터페이스들을 위한 명령 중재
US11669274B2 (en) Write bank group mask during arbitration
CN114902198B (zh) 用于异构存储器系统的信令
CN115885268A (zh) Dram命令拖尾管理
US20240069811A1 (en) Efficient rank switching in multi-rank memory controller
CN115605853A (zh) 高效存储器总线管理
EP3270294B1 (en) Command arbitration for high-speed memory interfaces
US11782640B2 (en) Efficient and low latency memory access scheduling
US11687281B2 (en) DRAM command streak efficiency management
US20220405214A1 (en) Memory controller with hybrid dram/persistent memory channel arbitration

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination