首页 / 专利库 / 电信 / 数据速率 / 自刷新状态机MOP阵列

自刷新状态机MOP阵列

阅读:1031发布:2020-06-09

专利汇可以提供自刷新状态机MOP阵列专利检索,专利查询,专利分析的服务。并且在一种形式中,一种 存储器 控制器 ,包括控制器和存储器操作阵列。所述控制器具有用于接收功率状态改变 请求 信号 的输入和用于提供存储器操作的输出。所述存储器操作阵列包括多个条目,每个条目包括多个编码字段。所述控制器响应于所述功率状态改变请求信号的激活来 访问 所述存储器操作阵列以提取至少一个条目,并且发布由所述条目指示的至少一个存储器操作。在另一种形式中,一种系统包括存储器系统和耦接到所述存储器系统的处理器。所述处理器适于使用此类存储器控制器访问存储器模 块 。,下面是自刷新状态机MOP阵列专利的具体信息内容。

1.一种存储器控制器(500),其包括:
控制器(566),所述控制器具有用于接收功率状态改变请求信号的输入和用于提供存储器操作的输出;以及
存储器操作阵列(710),所述存储器操作阵列包括多个条目,所述条目(800)中的每一者包括多个编码字段,
其中所述控制器(566)响应于所述功率状态改变请求信号的激活来访问所述存储器操作阵列(710)以提取至少一个条目,并且发布由所述条目指示的至少一个存储器操作。
2.根据权利要求1所述的存储器控制器(500),其中所述存储器操作包括用于双倍数据速率(DDR)存储器模(630)的模式寄存器组(MRS)命令。
3.根据权利要求2所述的存储器控制器(500),其中所述存储器操作包括用于配置所述DDR存储器模块(630)的寄存器(650)的寄存器控制字写入命令。
4.根据权利要求3所述的存储器控制器(500),其中所述存储器操作包括用于配置所述DDR存储器模块(630)的数据缓冲器(660)的缓冲器控制字写入命令。
5.根据权利要求1所述的存储器控制器(500),其中所述多个条目包括至少一个有效条目和后续空条目。
6.根据权利要求1所述的存储器控制器(500),其中所述多个编码字段中的一者包括功率状态字段,其指示至少一个存储器装置功率状态中的哪一者对应于所述条目。
7.根据权利要求6所述的存储器控制器(500),其中所述至少一个存储器装置功率状态对应于以下各项中的一者:动态电压状态、动态频率状态和低功率状态。
8.根据权利要求6所述的存储器控制器(500),其中所述至少一个存储器装置功率状态对应于高级电源配置接口(ACPI)D1状态、ACPI D2状态和ACPI D3状态中的选定一者,其中所述ACPI D3状态对应于双倍数据速率存储器(660)的自刷新状态。
9.一种用于控制存储器系统(130/140)的功率状态的方法,其包括:
接收功率状态改变请求信号;
响应于所述功率状态改变请求信号而访问存储器操作(MOP)阵列(710);
将所述MOP阵列(710)的条目解码成至少一个存储器操作;
输出所述至少一个存储器操作;以及
针对所述MOP阵列(710)中的连续条目重复所述解码和所述输出,直到出现预定终止条件为止。
10.根据权利要求9所述的方法,其中当连续条目是空条目时,存在所述预定终止条件。
11.根据权利要求9所述的方法,其中:
所述功率改变请求信号是从活动状态改变为低功率状态的请求。
12.根据权利要求9所述的方法,其中:
所述功率改变请求信号是在活动状态下从第一操作频率改变为第二操作频率的请求。
13.根据权利要求9所述的方法,其进一步包括:
响应于检测到所述存储器系统(130)的特性而将一系列操作存储在所述MOP阵列(710)中。
14.根据权利要求13所述的方法,其中:
所述存储包括在基本输入/输出系统(BIOS)的控制下将所述一系列操作存储在所述MOP阵列(710)中。
15.一种系统(100),其包括:
存储器系统(130),所述存储器系统包括存储器模块(134/136/138);以及处理器(110),所述处理器耦接到所述存储器系统(130)、适于使用存储器控制器(500)访问所述存储器模块(134/136/138),其中所述存储器控制器(500)包括:
控制器(566),所述控制器具有用于接收功率状态改变请求信号的输入和用于提供存储器操作的输出;以及
存储器操作阵列(710),所述存储器操作阵列包括多个条目,所述条目中的每一者包括多个编码字段,
其中所述控制器(566)响应于所述功率状态改变请求信号的激活来访问所述存储器操作阵列(710)以提取至少一个条目,并且发布由所述条目指示的至少一个存储器操作。
16.根据权利要求15所述的系统(100),其中所述处理器(110)进一步包括:
系统管理单元(130),所述系统管理单元用于响应于所述处理器(110)的动态操作来生成所述功率状态改变请求。
17.根据权利要求15所述的系统(100),其中所述存储器模块(134/136/138)包括:
多个双倍数据速率(DDR)存储器芯片(660)。
18.根据权利要求17所述的系统(100),其中所述存储器模块(134/136/138)进一步包括:
寄存器(660),所述寄存器具有耦接到所述处理器(110)以用于接收多个命令和地址信号的输入以及耦接到所述多个DDR存储器芯片(660)的输出。
19.根据权利要求17所述的系统(100),其中所述存储器模块(134/136/138)进一步包括:
多个数据缓冲器(650),所述多个数据缓冲器各自具有耦接到所述处理器(110)的第一双向数据端口和耦接到所述多个DDR存储器芯片(660)的第二双向数据端口。
20.根据权利要求15所述的系统(100),其中所述处理器(110)进一步包括:
物理接口(PHY)(620),所述物理接口耦接在所述存储器控制器(500)与所述存储器系统(620)之间。

说明书全文

自刷新状态机MOP阵列

技术领域

[0001] 本公开总体涉及数据处理系统,并且更具体地,涉及用于与具有低功率状态的存储器介接的数据处理系统的存储器控制器

背景技术

[0002] 计算机系统通常将廉价且高密度的动态随机存取存储器(DRAM)芯片用于主存储器。当今销售的大多数DRAM芯片与联合电子器件工程委员会(JEDEC)颁布的各种双倍数据速率(DDR)DRAM标准兼容。DDR DRAM通过提供各种低功率模式来提供高性能和低功率操作。这些低功率模式之一被称为预充电掉电。在预充电掉电期间,对所有存储体进行预充电,可以停用片上延迟定环路(DLL),可以关闭输入时钟,并且可以停用输出缓冲器以显著降低功耗。预充电掉电相对较快退出,并且可以通过保持DLL运行来加速退出时间。
[0003] 期望存储器控制器支持当今市场上的多种可能DDR存储器装置。例如,DDR版本3(DDR3)、DDR版本4(DDR4)、低功率(LP)DDR3(LPDDR3)、LPDDR4和图形DDR版本5(gDDR5)均是当前可用的选择。然而,每种不同DDR存储器装置具有不同组的模式寄存器(MR),可以具有不同数目和配置的存储体,并且可以支持不同的低功率模式。因此,难以设计单个存储器控制器来有效地支持所有这些变型的低功率模式。附图说明
[0004] 图1以框图形式示出根据一些实施方案的数据处理系统;
[0005] 图2以框图形式示出适于在图1的数据处理系统中使用的高级处理单元(APU);
[0006] 图3以框图形式示出根据一些实施方案的适于在图2的APU中使用的存储器控制器和相关联物理接口(PHY);
[0007] 图4以框图形式示出根据一些实施方案的适于在图2的APU中使用的另一种存储器控制器和相关联PHY;
[0008] 图5以框图形式示出根据一些实施方案的存储器控制器;
[0009] 图6以框图形式示出根据一些实施方案的与图1的数据处理系统的若干部分对应的数据处理系统;
[0010] 图7以框图形式示出根据一些实施方案的与图5的存储器通道控制器的若干部分对应的存储器通道控制器;并且
[0011] 图8以框图形式示出根据一些实施方案的图7的MOP阵列的条目。
[0012] 在以下描述中,在不同图式中使用相同附图标记指示相似或相同项目。除非另有说明,否则词“耦接”及其相关联动词形式包括以本领域已知的方式的直接连接和间接电连接两者,并且除非另有说明,否则对直接连接的任何描述均还暗示使用适当形式的间接电连接的另选实施方案。

具体实施方式

[0013] 如下文将描述,存储器控制器包括控制器和存储器操作(MOP)阵列。控制器具有用于接收功率状态改变请求信号的输入和用于提供存储器操作的输出。MOP阵列包括多个条目,每个条目包括多个编码字段。控制器响应于功率状态改变请求信号的激活来访问MOP阵列以提取至少一个条目,并且发布由所述条目指示的至少一个存储器操作。例如,存储器控制器可以具有描述用于实施功率状态改变请求的特定存储器操作的MOP阵列的若干部分。例如,DDR4和LPDDR4DRAM实施不同状态机和不同低功率模式,并且需要不同序列来从活动状态移动到低功率状态。在一种情况下,存储器控制器可以使用MOP阵列来定义待写入到DDR寄存DIMM的寄存器控制字(RCW)或缓冲器控制字(BCW)的命令。
[0014] 在另一种形式中,此类存储器控制器可以包括在包括处理器和存储器模的处理系统的处理器中。处理器可以进一步包括耦接在存储器控制器与存储器系统之间的物理接口(PHY)。
[0015] 在又一种形式中,公开了一种用于控制存储器系统的功率状态的方法。接收功率状态改变信号。响应于功率状态改变请求信号来访问存储器操作(MOP)阵列。将MOP阵列的条目解码成至少一个存储器操作。输出如此解码的每个存储器操作。针对MOP阵列中的连续条目重复所述解码和输出,直到出现预定终止条件为止。例如,预定终止条件可以是MOP阵列中的空条目。所接收的功率状态改变请求信号可以是从活动状态到低功率状态的改变,例如预充电掉电、自刷新掉电或空闲掉电,或者可以是在活动状态下从一个操作频率到另一个操作频率的改变。基本输入/输出系统(BIOS)还可以响应于检测到存储器系统的特性来对MOP阵列进行编程。
[0016] 图1以框图形式示出根据一些实施方案的数据处理系统100。数据处理系统100大体上包括呈加速处理单元(APU)形式的数据处理器110、存储器系统120、高速外围部件互连(PCIe)系统150、通用串行总线(USB)系统160以及磁盘驱动器170。数据处理器110作为数据处理系统100的中央处理单元(CPU)进行操作,并且提供在现代计算机系统中有用的各种总线和接口。这些接口包括两个双倍数据速率(DDRx)存储器通道、用于连接到PCIe链路的PCIe根复合体、用于连接到USB网络的USB控制器以及去往串行高级技术附件(SATA)大容量存储装置的接口。
[0017] 存储器系统120包括存储器通道130和存储器通道140。存储器通道130包括连接到DDRx总线132的一组双列直插式存储器模块(DIMM),包括代表性DIMM 134、136和138,其在这个实例中对应于单独存储排。同样,存储器通道140包括连接到DDRx总线142的一组DIMM,包括代表性DIMM 144、146和148。
[0018] PCIe系统150包括连接到数据处理器110中的PCIe根复合体的PCIe开关152、PCIe装置154、PCIe装置156以及PCIe装置158。PCIe装置156又连接到系统基本输入/输出系统(BIOS)存储器157。系统BIOS存储器157可以是多种非易失性存储器类型中的任一者,例如只读存储器(ROM)、快闪电可擦除可编程ROM(EEPROM)等。
[0019] USB系统160包括连接到数据处理器110中的USB主装置的USB集线器162,以及各自连接到USB集线器162的代表性USB装置164、166和168。USB装置164、166和168可以是诸如键盘鼠标、快闪EEPROM端口等装置。
[0020] 磁盘驱动器170经由SATA总线连接到数据处理器110,并且为操作系统、应用程序、应用文件等提供大容量存储。
[0021] 数据处理系统100通过提供存储器通道130和存储器通道140来适于在现代计算应用中使用。存储器通道130和140中的每一者可以连接到诸如DDR版本4(DDR4)、低功率DDR4(LPDDR4)、图形DDR版本5(gDDR5)和高带宽存储器(HBM)等最先进DDR存储器,并且可以适用于未来存储器技术。这些存储器提供高总线带宽和高速操作。同时,其还提供低功率模式以便为诸如膝上型计算机等电池供电的应用节省功率,并且还提供内置热监控。如下文将更详细地描述,数据处理器110包括能够在某些情况下节流功率以避免过热并减少热过载可能性的存储器控制器。
[0022] 图2以框图形式示出适于在图1的数据处理系统100中使用的APU 200。APU 200大体上包括中央处理单元(CPU)核心复合体210、图形核心220、一组显示引擎230、存储器管理集线器240、数据组构250、一组外围控制器260、一组外围总线控制器270、系统管理单元(SMU)280以及一组存储器控制器290。
[0023] CPU核心复合体210包括CPU核心212和CPU核心214。在这个实例中,CPU核心复合体210包括两个CPU核心,但是在其它实施方案中,CPU核心复合体210可以包括任意数目的CPU核心。CPU核心212和214中的每一者双向连接到形成控制组构的系统管理网络(SMN)且连接到数据组构250,并且能够向数据组构250提供存储器访问请求。CPU核心212和214中的每一者可以是单一核心,或者可以进一步是核心复合体,其具有共享诸如高速缓冲存储器等某些资源的两个或更多个单一核心。
[0024] 图形核心220是高性能图形处理单元(GPU),其能够以高度集成且并行的方式执行诸如顶点处理、片段处理、阴影、纹理混合等图形操作。图形核心220双向连接到SMN以及数据组构250,并且能够向数据组构250提供存储器访问请求。在这方面,APU 200可以支持CPU核心复合体210和图形核心220共享相同存储器空间的统一存储器架构或者CPU核心复合体210和图形核心220共享存储器空间的一部分而图形核心220还使用CPU核心复合体210不可访问的私有图形存储器的存储器架构。
[0025] 显示引擎230渲染栅格化图形核心220所生成的对象以供在监视器上显示。图形核心220和显示引擎230双向连接到共用存储器管理集线器240以便统一转化成存储器系统120中的适当地址,并且存储器管理集线器240双向连接到数据组构250以用于生成此类存储器访问并接收从存储器系统返回的读取数据。
[0026] 数据组构250包括用于在任何存储器访问代理与存储器控制器290之间路由存储器访问请求和存储器响应的纵横开关。其还包括用于基于系统配置来确定存储器访问的目的地的由BIOS定义的系统存储器映射,以及用于每个虚拟连接的缓冲器。
[0027] 外围控制器260包括USB控制器262和SATA接口控制器264,其每一者双向连接到系统集线器266和SMN总线。这两个控制器仅仅是可以在APU 200中使用的外围控制器的示例。
[0028] 外围总线控制器270包括系统控制器或“南桥”(SB)272以及PCIe控制器274,其每一者双向连接到输入/输出(I/O)集线器276和SMN总线。I/O集线器276还双向连接到系统集线器266和数据组构250。因此,例如,CPU核心可以通过数据组构250经由I/O集线器276路由的访问来对USB控制器262、SATA接口控制器264、SB 272或PCIe控制器274中的寄存器进行编程。
[0029] SMU 280是本地控制器,其控制APU 200上的资源的操作并且同步它们之间的通信。SMU 280管理APU 200上的各种处理器的上电排序,并且经由复位、启用和其它信号控制多个片外装置。SMU 280包括图2中未示出的一个或多个时钟源,诸如锁相环路(PLL),以便为APU 200的每个部件提供时钟信号。SMU 280还管理用于各种处理器和其它功能块的功率,并且可以从CPU核心212和214以及图形核心220接收测得功耗值以确定适当功率状态。
[0030] APU 200还实施各种系统监控和省电功能。明确地说,一个系统监控功能是热监控。例如,如果APU 200变热,则SMU 280可以降低CPU核心212及214和/或图形核心220的频率和电压。如果APU200变得太热,则可以将其完全关闭。SMU 280还可以经由SMN总线从外部传感器接收热事件,并且SMU 280可以作为响应而降低时钟频率和/或电源电压
[0031] 图3以框图形式示出根据一些实施方案的适于在图2的APU 200中使用的存储器控制器300和相关联物理接口(PHY)330。存储器控制器300包括存储器通道310和功率引擎320。存储器通道310包括主机接口312、存储器通道控制器314以及物理接口316。主机接口
312经由可缩放数据端口(SDP)将存储器通道控制器314双向连接到数据组构250。物理接口
316经由符合DDR-PHY接口规范(DFI)的总线将存储器通道控制器314双向连接到PHY 330。
功率引擎320经由SMN总线双向连接到SMU 280,经由高级外围总线(APB)双向连接到PHY 
330,并且还双向连接到存储器通道控制器314。PHY330具有去往存储器通道(诸如图1的存储器通道130或存储器通道140)的双向连接。存储器控制器300是用于使用单个存储器通道控制器314的单个存储器通道的存储器控制器的例示,并且具有功率引擎320以用下文将进一步描述的方式控制存储器通道控制器314的操作。
[0032] 图4以框图形式示出根据一些实施方案的适于在图2的APU 200中使用的另一种存储器控制器400以及相关联PHY 440和450。存储器控制器400包括存储器通道410和420以及功率引擎430。存储器通道410包括主机接口412、存储器通道控制器414以及物理接口416。主机接口412经由SDP将存储器通道控制器414双向连接到数据组构250。物理接口416将存储器通道控制器414双向连接到PHY440,并且符合DFI规范。存储器通道420包括主机接口
422、存储器通道控制器424和物理接口426。主机接口422经由另一个SDP将存储器通道控制器424双向连接到数据组构250。物理接口426将存储器通道控制器424双向连接到PHY 450,并且符合DFI规范。功率引擎430经由SMN总线双向连接到SMU 280,经由APB双向连接到PHY 
440和450,并且还双向连接到存储器通道控制器414和424。PHY 440具有去往存储器通道(诸如图1的存储器通道130)的双向连接。PHY 450具有去往存储器通道(诸如图1的存储器通道140)的双向连接。存储器控制器400是具有两个存储器通道控制器的存储器控制器的例示,并且使用共享功率引擎430以用下文将进一步描述的方式控制存储器通道控制器414和存储器通道控制器424两者的操作。
[0033] 图5以框图形式示出根据一些实施方案的存储器控制器500。存储器控制器500大体上包括存储器通道控制器510和功率控制器550。存储器通道控制器510大体上包括接口512、队列514、命令队列520、地址生成器522、内容可寻址存储器(CAM)524、重放队列530、刷新逻辑块532、定时块534、页表536、仲裁器538、错误校正码(ECC)校验块542、ECC生成块544以及写入数据缓冲器(WDB)546。
[0034] 接口512具有经由外部总线去往数据组构250的第一双向连接并且具有输出。在存储器控制器500中,这个外部总线与英国剑桥的ARM Holdings,PLC指定的高级可扩展接口版本4(称为“AXI4”)兼容,但是在其它实施方案中可以是其它类型的接口。接口512将来自称为FCLK(或MEMCLK)域的第一时钟域的存储器访问请求转化为称为UCLK域的在存储器控制器500内部的第二时钟域。类似地,队列514提供从UCLK域到与DFI接口相关联的DFICLK域的存储器访问。
[0035] 地址生成器522对经由AXI4总线从数据组构250接收的存储器访问请求的地址进行解码。存储器访问请求包括以标准化格式表示的物理地址空间中的访问地址。地址生成器522将标准化地址转换为可以用于寻址存储器系统120中的实际存储器装置并且有效地调度相关访问的格式。这个格式包括将存储器访问请求与特定存储排、行地址、列地址、存储体地址和存储体群组相关联的区标识符。在启动时,系统BIOS查询存储器系统120中的存储器装置以确定其大小和配置,并且对与地址生成器522相关联的一组配置寄存器进行编程。地址生成器522使用配置寄存器中所存储的配置来将标准化地址转化为适当格式。命令队列520是从数据处理系统100中的存储器访问代理(诸如CPU核心212和214以及图形核心220)接收的存储器访问请求的队列。命令队列520存储由地址生成器522解码的地址字段以及允许仲裁器538有效地选择存储器访问的其它地址信息,包括访问类型和服务质量(QoS)标识符。CAM 524包括用于实行排序规则(诸如先写后写(WAW)和先写后读(RAW)排序规则)的信息。
[0036] 重放队列530是用于存储由仲裁器538挑选的正在等待响应(诸如地址和命令奇偶校验响应、用于DDR4DRAM的写入循环冗余校验(CRC)响应或用于gDDR5DRAM的写入和读取CRC响应)的存储器访问的临时队列。重放队列530访问ECC校验块542以确定所返回的ECC是正确的还是指示错误。重放队列530允许在这些周期之一的奇偶校验或CRC错误的情况下重放访问。
[0037] 刷新逻辑532包括用于各种掉电、刷新和终止电阻(ZQ)校准周期的状态机,所述校准周期与从存储器访问代理接收的正常读取和写入存储器访问请求分开生成。例如,如果存储排处于预充电掉电,则必须周期性地将其唤醒以运行刷新周期。刷新逻辑532周期性地生成刷新命令以防止由DRAM芯片中的存储器单元的存储电容器的电荷泄漏造成的数据错误。另外,刷新逻辑532周期性地校准ZQ以防止由于系统中的热变化引起的片上终止电阻的失配。
[0038] 仲裁器538双向连接到命令队列520并且是存储器通道控制器510的心脏。其通过智能调度访问以改善存储器总线的使用率来改善效率。仲裁器538使用定时块534以通过基于DRAM定时参数确定命令队列520中的某些访问是否有资格发布来实行适当定时关系。例如,每个DRAM在激活命令之间具有最小指定时间,称为“tRC”。定时块534维持一组计数器,其基于JEDEC规范中所指定的这个和其它定时参数来确定合格性,并且定时块534双向连接到重放队列530。页表536为仲裁器538维持关于存储器通道的每个存储体和存储排中的活动页的状态信息,并且双向连接到重放队列530。
[0039] 响应于从接口512接收的写入存储器访问请求,ECC生成块544根据写入数据计算ECC。DB 546存储用于所接收的存储器访问请求的写入数据和ECC。当仲裁器538挑选对应写入访问以分派给存储器通道时,其将组合写入数据/ECC输出到队列514。
[0040] 功率控制器550大体上包括去往高级可扩展接口版本1(AXI)的接口552、APB接口554以及功率引擎560。接口552具有去往SMN的第一双向连接,其包括用于接收图5中单独示出的标记为“EVENT_n”的事件信号的输入以及输出。APB接口554具有连接到接口552的输出的输入,以及用于经由APB连接到PHY的输出。功率引擎560具有连接到接口552的输出的输入,以及连接到队列514的输入的输出。功率引擎560包括一组配置寄存器562、微控制器(μC)564、自刷新控制器(SLFREF/PE)566以及可靠读取/写入定时引擎(RRW/TE)568。经由AXI总线对配置寄存器562进行编程,并且其存储配置信息以控制存储器控制器500中的各种块的操作。因此,配置寄存器562具有连接到这些块的输出,这些输出未在图5中详细示出。自刷新控制器566是除了刷新逻辑532自动生成刷新之外还允许手动生成刷新的引擎。可靠读取/写入定时引擎568向存储器或I/O装置提供连续存储器访问流以实现诸如DDR接口最大读取延时(MRL)训练和环回测试等目的。
[0041] 存储器通道控制器510包括允许其挑选存储器访问以分派给相关联存储器通道的电路。为了做出所需仲裁决定,地址生成器522将地址信息解码成包括存储器系统中的存储排、行地址、列地址、存储体地址和存储体群组的预解码信息,并且命令队列520存储所述预解码信息。配置寄存器562存储配置信息以确定地址生成器522如何对所接收的地址信息进行解码。仲裁器538使用所解码的地址信息、由定时块534指示的定时合格性信息以及由页表536指示的活动页信息来有效地调度存储器访问,同时遵守诸如QoS要求等其它标准。例如,仲裁器538实施对访问打开页的偏好以避免改变存储页所需的预充电和激活命令的开销,并且通过使其与对另一个存储体的读取和写入访问交错来隐藏对一个存储体的开销访问。明确地说,在正常操作期间,仲裁器538通常在不同存储体中保持页打开,直到在选择不同页之前需要对其进行预充电为止。
[0042] 图6以框图形式示出根据一些实施方案的与图1的数据处理系统100的若干部分对应的数据处理系统600。数据处理系统600大体上包括标记为“MC”的存储器控制器610、PHY 620以及存储器模块630。
[0043] 存储器控制器610从处理器的存储器访问代理(诸如CPU核心212或图形核心220)接收存储器访问请求并且向其提供存储器响应。存储器控制器610对应于图2的存储器控制器290中的任一者。存储器控制器610经由DFI兼容总线向PHY 620输出存储器访问并且从其接收响应。
[0044] PHY 620经由DFI总线连接到存储器控制器610。其通过提供标记为“C/A”的一组命令和地址输出以及标记为“DQ”的一组72个双向数据信号(包括64位数据和8位ECC)来响应于所接收的存储器访问执行物理信令。
[0045] 存储器模块630可以支持许多存储器类型和速度等级中的任一者。在所示实施方案中,存储器模块630是DDR4寄存DIMM(RDIMM),其包括各自标记为“DDR4”的一组存储器芯片640、标记为“RCD”的寄存器时钟驱动器650以及各自标记为“B”的一组缓冲器660。存储器芯片640包括M位组的N元存储器芯片。为了支持72个数据信号(64位数据加上8位ECC),M*N=72。例如,如果每个存储器芯片是四元(N=4),则存储器模块620包括18个DDR4存储器芯片。或者,如果每个存储器芯片是八元(N=8),则存储器模块620包括9个DDR4存储器芯片。每个缓冲器660与一个N元存储器芯片相关联并且用于锁存对应N位数据。在图6所示的实例中,存储器模块630含有DDR4存储器,并且C/A信号包括DDR4规范中所描述的那些信号。DDR4规范指定“旁切转弯”架构,其中由RCD 650接收并锁存的相同C/A信号被左右重新驱动到每个存储器芯片640。然而,数据信号DQ仅被提供给对应缓冲器和存储器。
[0046] 存储器模块630根据编程到寄存器控制字(RCW)中的用于RCD650的控制信息和编程到缓冲器控制字(BCW)中的用于缓冲器660的控制信息进行操作。因此,当存储器控制器610将存储器模块630置于低功率状态时,其还以下文将更全面描述的方式改变RCW和BCW中的设置。
[0047] 尽管数据处理系统600使用寄存的、缓冲的DDR4DRAM DIMM作为存储器模块630,但是存储器控制器610和PHY 620还能够介接到若干不同类型的存储器模块。明确地说,存储器控制器610和PHY620能够支持若干不同类型的存储器(例如,DDR、FLASH、PCM等)、若干不同寄存条件(没有使用、RCD、快闪控制器等)以及若干不同缓冲条件(没有使用、仅数据缓冲等),使得存储器控制器610支持存储器类型、寄存条件和缓冲条件的各种各样组合。为了支持这些组合,存储器控制器610实施允许用于进入和退出系统BIOS可以针对特定存储器系统特性编程的低功率模式的独特计划的架构。现在将描述这些特征。
[0048] 图7以框图形式示出根据一些实施方案的与图5的存储器通道控制器550的若干部分对应的存储器通道控制器700。存储器通道控制器700包括如以上图5所示的UMCSMN 552和自刷新控制器566,以及存储器操作(MOP)阵列710。UMCSMN 552具有用于连接到如上文描述的SMN的第一端口,并且如此处以相关细节所示,具有用于从数据组构250接收标记为“功率请求”的功率状态改变请求信号的输入以及用于向数据组构250提供标记为“功率确认”的功率状态改变确认信号的输出。UMCSMN 552还具有第二端口,其具有用于提供标记为“M_PSTATE REQ”的存储器功率状态改变请求信号的第一输出以及用于提供数据以供存储在MOP阵列710中的第二输出。自刷新控制器566具有连接到UMCSMN 552的第二端口的第一输出的输入、双向端口以及连接到BEQ 514以用于将经解码的MOP提供到BEQ 514的输出。MOP阵列710具有连接到UMCSMN 552的第二端口的第二输出的输入以及去往自刷新控制器566的双向连接,并且被划分成用于存储命令(即,MOP)的第一部分712以及用于存储数据的第二部分714。
[0049] 在启动时,系统BIOS存储器157中所存储的系统BIOS查询存储器系统120以确定已经安装的存储器的类型及其能。其通常通过读取系统中存在的每个DIMM上的串行存在检测(SPD)存储器中的寄存器来这样做。例如,PHY可以被配置为支持DDR3、DDR4、低功率DDR4(LPDDR4)和图形DDR版本5(gDDR5)存储器中的任一者。响应于检测到存储器系统120中所安装的存储器的类型和能力,系统BIOS用命令序列填充MOP阵列710,所述命令序列起始进入和退出用于特定类型存储器的所支持低功率模式。
[0050] 在所示实施方案中,存储器通道控制器550支持根据高级配置和电源接口(ACPI)规范所描述的模型定义的各种装置低功率状态。根据ACPI规范,装置(诸如存储器控制器500)的工作状态被称为D0状态或“完全开启”状态。其它状态是低功率状态并且包括D1、D2和D3状态,其中D3状态是“关闭”状态。存储器控制器500能够将存储器系统120置于与存储器控制器500的D状态对应的低功率状态并且在D0状态下做出频率和/或电压变化。在接收到“功率请求”后,UMCSMN 552即刻将M_PSTATE REQ信号提供到自刷新控制器566以指示请求哪个功率状态。自刷新控制器566作为响应而访问MOP阵列710以执行一系列MOP,所述MOP将存储器芯片以及DIMM的RCW和BCW(如果支持的话)置于用于所请求D状态的适当状态。自刷新控制器566将索引输出到MOP阵列710中,并且MOP阵列710作为响应而返回经编码的命令(MOP)。
[0051] 通过包括MOP阵列710以存储形成用于自刷新控制器566的固件的可编程命令,存储器通道控制器550使用相对少量的电路区域来实施,同时支持具有不同特性的各种各样存储器类型。此外,其提供针对尚未指定但可能在将来指定的存储器类型和特性允许存储器状态改变的向上兼容架构。因此,存储器通道控制器550也是模块化的,并且避免对昂贵的未来重新设计的需要。
[0052] 现在将描述这些存储器控制器装置功率状态(D状态)与DRAM操作之间的交互。D0状态是存储器控制器500的操作状态。在D0状态中,存储器控制器500支持四个可编程功率状态(P状态),每个状态具有不同MEMCLK频率和相关联定时参数。存储器控制器500针对每个P状态维持一组寄存器,其存储用于那个P状态的定时参数并且定义上下文。存储器控制器500将DRAM置于自刷新模式以改变P状态/上下文。MOP阵列710包括一组命令以供与D0状态中的频率改变一起使用以支持适当排序。
[0053] D1状态被称为停止时钟状态并且用于存储器状态改变请求。当存储器控制器500被置于D1状态时,进入和退出延时最低,除了在必须重新训练PHY 620时之外。存储器控制器500通常不会因为D1功率状态改变请求而清洗任何仲裁队列条目。然而,存储器控制器500预先清洗命令队列520中的所有写入,而通常不执行正常的待决刷新。存储器控制器500将系统中的所有存储器芯片置于预充电掉电或自刷新。
[0054] D2状态被称为待机状态并且对应于系统C1/C2/C3和停止时钟/卡顿状态。其是用于存储器控制器500本身的操作的较低功率状态。在D2状态中,存储器控制器500使用本地时钟控和任选功率门控来进一步降低功率。存储器控制器500从命令队列520清洗写入和读取两者。在D2状态中,存储器控制器500同样将系统中的所有存储器置于预充电掉电并启用自动自刷新。然而,由于D2是较深功率状态,所以在进入预充电掉电与自动自刷新之前,其执行所有即将所需(“亏欠”)的刷新。
[0055] D3状态被称为暂停状态。存储器控制器500支持两种D3状态。第一种D3状态用于系统S3状态。存储器控制器500在预期进入系统S3状态时将DRAM和PHY置于最低功率状态。存储器控制器500通常从命令队列520清洗写入,并且执行待决刷新周期。第二种D3状态用于异步DRAM刷新(ADR)式自刷新。ADR是服务器中用于在电源故障或系统崩溃期间将待决写入数据清洗到非易失性存储器中的特征。DRAM和PHY再次被置于预充电掉电并启用自动自刷新。
[0056] 如此处所使用,“功率请求”信号指示从任何一个功率状态到不同功率状态的改变。可用功率状态在不同存储器类型之间有所不同。此外,如本文所使用,“低功率状态”意指与另一种状态相比节省功率的状态。例如,DDR4SDRAM支持两种低功率状态,称为自刷新和预充电掉电。然而,LPDDR4支持三种低功率状态,称为活动掉电、自刷新掉电和空闲掉电。可以进入和退出这些状态的条件是不同的并在对应的所公布的JEDEC标准的状态图中指定,并且“低功率状态”包括这些状态中的任一者。
[0057] MOP阵列710支持允许有效编码命令以支持所有这些功率状态改变的命令格式。MOP阵列710针对所述四个P状态上下文中的每一者使用称为“SrEnterMOP”和“SrExitMOP”的两个阵列。在针对P状态请求进入自刷新之前处理SrEnterMOP。在针对P状态请求退出自刷新之后处理SrExitMOP。MOP阵列指定模式寄存器(MR)、具有每DRAM可访问性(PDA)的MR、寄存器控制字(RCW)或缓冲器控制字(BCW)命令的顺序列表。在接收到功率状态改变请求后,自刷新控制器566访问MOP阵列710中的用于选定上下文的命令以确定发布到存储器系统的MOP的序列和定时。
[0058] 部分712中的MOP包括表示对应D状态的字段。因此,自刷新控制器566从第一位置开始扫描MOP阵列712以查找适用于特定上下文的命令,忽略不适用于当前上下文的MOP。MOP阵列712还包括计数器值以在适当时确定MOP之间的适当定时以便满足存储器芯片的动态定时参数。在开始命令序列之后,自刷新控制器566继续扫描MOP阵列712并且执行有效命令,直到其遇到空条目为止,所述空条目指示用于功率状态改变的序列的结束。现在将描述可以用于实现用于功率状态改变的命令的有效存储的MOP阵列712的字段的实例。
[0059] 图8以框图形式示出根据一些实施方案的图7的MOP阵列710的条目800。条目800是40位条目,其包括定义MOP的多种编码位字段。所支持的位字段在以下表I中示出:
[0060] 表I
[0061]
[0062] MOP阵列712具有待遵循的各种编程要求,使得自刷新控制器566将针对任何所允许的状态改变恰当地解码并发布所需MOP。自刷新控制器566线性地而没有分支地解码并发布MOP,直到从阵列读取第一个空条目为止。空条目是其中MOP_RANK的所有位和MOP_CID的所有位均为零的条目。因此,当系统BIOS对MOP阵列712进行编程时,其应当针对每个上下文编程至少一个空条目。
[0063] 可以通过设置MOP_VLD_D1、MOP_VLD_D2和MOP_VLD_D3中的一者以上来由不同D状态共享MOP。特定D状态通过清除MOP_VLD_D1、MOP_VLD_D2和MOP_VLD_D3中的对应一者来跳过MOP。
[0064] D状态进入例程(SrEnterMOP)具有某些要求。如果启用奇偶校验,则其必须包括用于停用奇偶校验的命令。寄存DIMM(RDIMM)的推荐次序是首先停用DRAM芯片中的奇偶校验,接着停用缓冲器中的奇偶校验。其还必须包括用于编程命令到命令延迟时间(tCCD)的命令,根据DDR4规范,通过设置模式寄存器6(MR6)位12-10中的时间来编程所述tCCD。另外,对于具有RDIMM的系统,其必须包括用于编程目标寄存器控制字RC0A和RC3x的命令。
[0065] D状态退出例程(SrExitMOP)也具有某些要求。如果启用奇偶校验,则其必须包括用于启用奇偶校验的命令。RDIMM的推荐配置是仅在寄存器中启用奇偶校验。
[0066] 预期单个MOP条目针对多个芯片选择。推荐MOP_Rank反映所有填充的芯片选择,除非偶数/奇数芯片选择有意接收不对称设置。在这方面,BEQ 514具有用于允许反转和镜射的模式,使得如果启用反转,则其将单个MOP转换为两个命令,并且如果启用反转和镜射两者,则其将单个MOP转换为四个命令。例如,对于四排DIMM,针对具有编码芯片选择的四排RDIMM,每个模式寄存器组命令可以使用两个MOP条目。
[0067] MOP阵列712支持允许有效编码命令的各种字段,并且因此允许其以小尺寸来实施。例如,自刷新控制器566用于访问MOP阵列712的命令扫描技术允许特定命令用于多个低功率状态而不必针对每个低功率状态复制命令。此外,使用空条目来发信号通知终止条件是用于编码每个命令序列的结束的有效方式而不需要自刷新控制器566基于所需状态改变和上下文来计算进入和退出点。
[0068] 因此,如本文所述的存储器控制器使用控制器和可编程MOP阵列来支持各种各样可用存储器类型和DIMM配置中的任一者。控制器响应于功率状态改变请求信号的激活来访问MOP阵列以提取至少一个条目,并且发布由所述条目指示的至少一个存储器操作以实行所述功率状态改变请求。正因如此构成,MOP阵列允许存储器控制器使用紧凑电路支持各种各样存储器类型和配置。此外,系统BIOS可以在启动时确定存储器的配置,并且使用与系统中的特定类型存储器的功率状态改变动作对应的一组条目对MOP阵列进行编程。
[0069] 可以用硬件软件的各种组合来实施存储器控制器。一些软件部件(诸如存储在BIOS存储器中并且由系统BIOS加载到MOP阵列中的软件部件)可以存储在非暂态计算机可读存储介质中以供至少一个处理器执行。此外,功率状态改变中所使用的一些常见操作可以在诸如微控制器564等其它硬件中实施以简化MOP阵列的字段的数目和/或大小。
[0070] 图5的存储器控制器500或其任何部分可以由呈数据库或其它数据结构的形式的计算机可访问数据结构描述或表示,所述数据结构可以由程序读取并且直接或间接地用于制作集成电路。例如,这个数据结构可以是采用诸如Verilog或VHDL等高级设计语言(HDL)的对硬件功能性的行为级描述或寄存器传送级(RTL)描述。所述描述可以由合成工具读取,所述合成工具可以合成所述描述以产生包括来自合成库的门列表的网表。网表包括一组门,其还表示组成集成电路的硬件的功能性。接着可以放置并路由网表以产生描述待应用于掩模的几何形状的数据集。接着可以在各种半导体制造步骤中使用所述掩模来生产集成电路。或者,计算机可访问存储介质上的数据库可以是网表(具有或不具有合成库)或者根据需要的数据集或图形数据系统(GDS)II数据。
[0071] 尽管已经描述了特定实施方案,但是对于本领域的技术人员来说,对这些实施方案的各种修改将是显而易见的。例如,所支持的存储器装置的范围将在不同实施方案中变化,并且不限于上文所述的实例。此外,MOP阵列的字段定义将在不同实施方案中变化。另外,尽管MOP阵列710被描述为具有指示条目所应用的特定功率状态的字段,但是在其它实施方案中,MOP阵列可以被组织有对应于特定所支持的功率状态改变请求或目标功率空间的进入和退出地址。
[0072] 因此,所附权利要求书旨在涵盖落入所公开实施方案的范围内的所公开实施方案的所有修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈