CN109154918B - 自刷新状态机mop阵列 - Google Patents
自刷新状态机mop阵列 Download PDFInfo
- Publication number
- CN109154918B CN109154918B CN201680085900.8A CN201680085900A CN109154918B CN 109154918 B CN109154918 B CN 109154918B CN 201680085900 A CN201680085900 A CN 201680085900A CN 109154918 B CN109154918 B CN 109154918B
- Authority
- CN
- China
- Prior art keywords
- memory
- controller
- entry
- array
- power state
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 claims abstract description 315
- 238000012508 change request Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 25
- 230000004913 activation Effects 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 29
- 239000000872 buffer Substances 0.000 claims description 15
- 230000002457 bidirectional effect Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 17
- 239000004744 fabric Substances 0.000 description 17
- 230000008859 change Effects 0.000 description 9
- 102100025912 Melanopsin Human genes 0.000 description 8
- 239000013213 metal-organic polyhedra Substances 0.000 description 8
- 238000012011 method of payment Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4074—Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2227—Standby or low power modes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/401—Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C2211/406—Refreshing of dynamic cells
- G11C2211/4067—Refresh in standby or low power modes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Engineering (AREA)
- Dram (AREA)
- Memory System (AREA)
- Power Sources (AREA)
Abstract
在一种形式中,一种存储器控制器包括控制器和存储器操作阵列。所述控制器具有用于接收功率状态改变请求信号的输入和用于提供存储器操作的输出。所述存储器操作阵列包括多个条目,每个条目包括多个编码字段。所述控制器响应于所述功率状态改变请求信号的激活来访问所述存储器操作阵列以提取至少一个条目,并且发布由所述条目指示的至少一个存储器操作。在另一种形式中,一种系统包括存储器系统和耦接到所述存储器系统的处理器。所述处理器适于使用此类存储器控制器访问存储器模块。
Description
技术领域
本公开大体上涉及数据处理系统,并且更具体地,涉及用于与具有低功率状态的存储器介接的数据处理系统的存储器控制器。
背景技术
计算机系统通常将廉价且高密度的动态随机存取存储器(DRAM)芯片用于主存储器。当今销售的大多数DRAM芯片与联合电子器件工程委员会(JEDEC)颁布的各种双倍数据速率(DDR)DRAM标准兼容。DDR DRAM通过提供各种低功率模式来提供高性能和低功率操作。这些低功率模式之一被称为预充电掉电。在预充电掉电期间,对所有存储体进行预充电,可以停用片上延迟锁定环路(DLL),可以关闭输入时钟,并且可以停用输出缓冲器以显著降低功耗。预充电掉电相对较快退出,并且可以通过保持DLL运行来加速退出时间。
期望存储器控制器支持当今市场上的多种可能DDR存储器装置。例如,DDR版本3(DDR3)、DDR版本4(DDR4)、低功率(LP)DDR3(LPDDR3)、LPDDR4和图形DDR版本5(gDDR5)均是当前可用的选择。然而,每种不同DDR存储器装置具有不同组的模式寄存器(MR),可以具有不同数目和配置的存储体,并且可以支持不同的低功率模式。因此,难以设计单个存储器控制器来有效地支持所有这些变型的低功率模式。
附图说明
图1以框图形式示出根据一些实施方案的数据处理系统;
图2以框图形式示出适于在图1的数据处理系统中使用的高级处理单元(APU);
图3以框图形式示出根据一些实施方案的适于在图2的APU中使用的存储器控制器和相关联物理接口(PHY);
图4以框图形式示出根据一些实施方案的适于在图2的APU中使用的另一种存储器控制器和相关联PHY;
图5以框图形式示出根据一些实施方案的存储器控制器;
图6以框图形式示出根据一些实施方案的与图1的数据处理系统的若干部分对应的数据处理系统;
图7以框图形式示出根据一些实施方案的与图5的存储器通道控制器的若干部分对应的存储器通道控制器;并且
图8以框图形式示出根据一些实施方案的图7的MOP阵列的条目。
在以下描述中,在不同图式中使用相同附图标记指示相似或相同项目。除非另有说明,否则词“耦接”及其相关联动词形式包括以本领域已知的方式的直接连接和间接电连接两者,并且除非另有说明,否则对直接连接的任何描述均还暗示使用适当形式的间接电连接的另选实施方案。
发明内容
如下文将描述,存储器控制器包括控制器和存储器操作(MOP)阵列。控制器具有用于接收功率状态改变请求信号的输入和用于提供存储器操作的输出。MOP阵列包括多个条目,每个条目包括多个编码字段。控制器响应于功率状态改变请求信号的激活来访问MOP阵列以提取至少一个条目,并且发布由所述条目指示的至少一个存储器操作。例如,存储器控制器可以具有描述用于实施功率状态改变请求的特定存储器操作的MOP阵列的若干部分。例如,DDR4和LPDDR4DRAM实施不同状态机和不同低功率模式,并且需要不同序列来从活动状态移动到低功率状态。在一种情况下,存储器控制器可以使用MOP阵列来定义待写入到DDR寄存DIMM的寄存器控制字(RCW)或缓冲器控制字(BCW)的命令。
在另一种形式中,此类存储器控制器可以包括在包括处理器和存储器模块的处理系统的处理器中。处理器可以进一步包括耦接在存储器控制器与存储器系统之间的物理接口(PHY)。
在又一种形式中,公开了一种用于控制存储器系统的功率状态的方法。接收功率状态改变信号。响应于功率状态改变请求信号来访问存储器操作(MOP)阵列。将MOP阵列的条目解码成至少一个存储器操作。输出如此解码的每个存储器操作。针对MOP阵列中的连续条目重复所述解码和输出,直到出现预定终止条件为止。例如,预定终止条件可以是MOP阵列中的空条目。所接收的功率状态改变请求信号可以是从活动状态到低功率状态的改变,例如预充电掉电、自刷新掉电或空闲掉电,或者可以是在活动状态下从一个操作频率到另一个操作频率的改变。基本输入/输出系统(BIOS)还可以响应于检测到存储器系统的特性来对MOP阵列进行编程。
具体实施方式
图1以框图形式示出根据一些实施方案的数据处理系统100。数据处理系统100大体上包括呈加速处理单元(APU)形式的数据处理器110、存储器系统120、高速外围部件互连(PCIe)系统150、通用串行总线(USB)系统160以及磁盘驱动器170。数据处理器110作为数据处理系统100的中央处理单元(CPU)进行操作,并且提供在现代计算机系统中有用的各种总线和接口。这些接口包括两个双倍数据速率(DDRx)存储器通道、用于连接到PCIe链路的PCIe根复合体、用于连接到USB网络的USB控制器以及去往串行高级技术附件(SATA)大容量存储装置的接口。
存储器系统120包括存储器通道130和存储器通道140。存储器通道130包括连接到DDRx总线132的一组双列直插式存储器模块(DIMM),包括代表性DIMM 134、136和138,其在这个实例中对应于单独存储排。同样,存储器通道140包括连接到DDRx总线142的一组DIMM,包括代表性DIMM 144、146和148。
PCIe系统150包括连接到数据处理器110中的PCIe根复合体的PCIe开关152、PCIe装置154、PCIe装置156以及PCIe装置158。PCIe装置156又连接到系统基本输入/输出系统(BIOS)存储器157。系统BIOS存储器157可以是多种非易失性存储器类型中的任一者,例如只读存储器(ROM)、快闪电可擦除可编程ROM(EEPROM)等。
USB系统160包括连接到数据处理器110中的USB主装置的USB集线器162,以及各自连接到USB集线器162的代表性USB装置164、166和168。USB装置164、166和168可以是诸如键盘、鼠标、快闪EEPROM端口等装置。
磁盘驱动器170经由SATA总线连接到数据处理器110,并且为操作系统、应用程序、应用文件等提供大容量存储。
数据处理系统100通过提供存储器通道130和存储器通道140来适于在现代计算应用中使用。存储器通道130和140中的每一者可以连接到诸如DDR版本4(DDR4)、低功率DDR4(LPDDR4)、图形DDR版本5(gDDR5)和高带宽存储器(HBM)等最先进DDR存储器,并且可以适用于未来存储器技术。这些存储器提供高总线带宽和高速操作。同时,其还提供低功率模式以便为诸如膝上型计算机等电池供电的应用节省功率,并且还提供内置热监控。如下文将更详细地描述,数据处理器110包括能够在某些情况下节流功率以避免过热并减少热过载可能性的存储器控制器。
图2以框图形式示出适于在图1的数据处理系统100中使用的APU 200。APU 200大体上包括中央处理单元(CPU)核心复合体210、图形核心220、一组显示引擎230、存储器管理集线器240、数据组构250、一组外围控制器260、一组外围总线控制器270、系统管理单元(SMU)280以及一组存储器控制器290。
CPU核心复合体210包括CPU核心212和CPU核心214。在这个实例中,CPU核心复合体210包括两个CPU核心,但是在其它实施方案中,CPU核心复合体210可以包括任意数目的CPU核心。CPU核心212和214中的每一者双向连接到形成控制组构的系统管理网络(SMN)且连接到数据组构250,并且能够向数据组构250提供存储器访问请求。CPU核心212和214中的每一者可以是单一核心,或者可以进一步是核心复合体,其具有共享诸如高速缓冲存储器等某些资源的两个或更多个单一核心。
图形核心220是高性能图形处理单元(GPU),其能够以高度集成且并行的方式执行诸如顶点处理、片段处理、阴影、纹理混合等图形操作。图形核心220双向连接到SMN以及数据组构250,并且能够向数据组构250提供存储器访问请求。在这方面,APU 200可以支持CPU核心复合体210和图形核心220共享相同存储器空间的统一存储器架构或者CPU核心复合体210和图形核心220共享存储器空间的一部分而图形核心220还使用CPU核心复合体210不可访问的私有图形存储器的存储器架构。
显示引擎230渲染并栅格化图形核心220所生成的对象以供在监视器上显示。图形核心220和显示引擎230双向连接到共用存储器管理集线器240以便统一转化成存储器系统120中的适当地址,并且存储器管理集线器240双向连接到数据组构250以用于生成此类存储器访问并接收从存储器系统返回的读取数据。
数据组构250包括用于在任何存储器访问代理与存储器控制器290之间路由存储器访问请求和存储器响应的纵横开关。其还包括用于基于系统配置来确定存储器访问的目的地的由BIOS定义的系统存储器映射,以及用于每个虚拟连接的缓冲器。
外围控制器260包括USB控制器262和SATA接口控制器264,其每一者双向连接到系统集线器266和SMN总线。这两个控制器仅仅是可以在APU 200中使用的外围控制器的示例。
外围总线控制器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中的寄存器进行编程。
SMU 280是本地控制器,其控制APU 200上的资源的操作并且同步它们之间的通信。SMU 280管理APU 200上的各种处理器的上电排序,并且经由复位、启用和其它信号控制多个片外装置。SMU 280包括图2中未示出的一个或多个时钟源,诸如锁相环路(PLL),以便为APU 200的每个部件提供时钟信号。SMU 280还管理用于各种处理器和其它功能块的功率,并且可以从CPU核心212和214以及图形核心220接收测得功耗值以确定适当功率状态。
APU 200还实施各种系统监控和省电功能。明确地说,一个系统监控功能是热监控。例如,如果APU 200变热,则SMU 280可以降低CPU核心212及214和/或图形核心220的频率和电压。如果APU200变得太热,则可以将其完全关闭。SMU 280还可以经由SMN总线从外部传感器接收热事件,并且SMU 280可以作为响应而降低时钟频率和/或电源电压。
图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)双向连接到PHY330,并且还双向连接到存储器通道控制器314。PHY330具有去往存储器通道(诸如图1的存储器通道130或存储器通道140)的双向连接。存储器控制器300是用于使用单个存储器通道控制器314的单个存储器通道的存储器控制器的例示,并且具有功率引擎320以用下文将进一步描述的方式控制存储器通道控制器314的操作。
图4以框图形式示出根据一些实施方案的适于在图2的APU 200中使用的另一种存储器控制器400以及相关联PHY 440和450。存储器控制器400包括存储器通道410和420以及功率引擎430。存储器通道410包括主机接口412、存储器通道控制器414以及物理接口416。主机接口412经由SDP将存储器通道控制器414双向连接到数据组构250。物理接口416将存储器通道控制器414双向连接到PHY 440,并且符合DFI规范。存储器通道420包括主机接口422、存储器通道控制器424和物理接口426。主机接口422经由另一个SDP将存储器通道控制器424双向连接到数据组构250。物理接口426将存储器通道控制器424双向连接到PHY 450,并且符合DFI规范。功率引擎430经由SMN总线双向连接到SMU 280,经由APB双向连接到PHY440和450,并且还双向连接到存储器通道控制器414和424。PHY 440具有去往存储器通道(诸如图1的存储器通道130)的双向连接。PHY450具有去往存储器通道(诸如图1的存储器通道140)的双向连接。存储器控制器400是具有两个存储器通道控制器的存储器控制器的例示,并且使用共享功率引擎430以用下文将进一步描述的方式控制存储器通道控制器414和存储器通道控制器424两者的操作。
图5以框图形式示出根据一些实施方案的存储器控制器500。存储器控制器500大体上包括存储器通道控制器510和功率控制器550。存储器通道控制器510大体上包括接口512、队列514、命令队列520、地址生成器522、内容可寻址存储器(CAM)524、重放队列530、刷新逻辑块532、定时块534、页表536、仲裁器538、错误校正码(ECC)校验块542、ECC生成块544以及写入数据缓冲器(WDB)546。
接口512具有经由外部总线去往数据组构250的第一双向连接并且具有输出。在存储器控制器500中,这个外部总线与英国剑桥的ARM Holdings,PLC指定的高级可扩展接口版本4(称为“AXI4”)兼容,但是在其它实施方案中可以是其它类型的接口。接口512将来自称为FCLK(或MEMCLK)域的第一时钟域的存储器访问请求转化为称为UCLK域的在存储器控制器500内部的第二时钟域。类似地,队列514提供从UCLK域到与DFI接口相关联的DFICLK域的存储器访问。
地址生成器522对经由AXI4总线从数据组构250接收的存储器访问请求的地址进行解码。存储器访问请求包括以标准化格式表示的物理地址空间中的访问地址。地址生成器522将标准化地址转换为可以用于寻址存储器系统120中的实际存储器装置并且有效地调度相关访问的格式。这个格式包括将存储器访问请求与特定存储排、行地址、列地址、存储体地址和存储体群组相关联的区标识符。在启动时,系统BIOS查询存储器系统120中的存储器装置以确定其大小和配置,并且对与地址生成器522相关联的一组配置寄存器进行编程。地址生成器522使用配置寄存器中所存储的配置来将标准化地址转化为适当格式。命令队列520是从数据处理系统100中的存储器访问代理(诸如CPU核心212和214以及图形核心220)接收的存储器访问请求的队列。命令队列520存储由地址生成器522解码的地址字段以及允许仲裁器538有效地选择存储器访问的其它地址信息,包括访问类型和服务质量(QoS)标识符。CAM 524包括用于实行排序规则(诸如先写后写(WAW)和先写后读(RAW)排序规则)的信息。
重放队列530是用于存储由仲裁器538挑选的正在等待响应(诸如地址和命令奇偶校验响应、用于DDR4 DRAM的写入循环冗余校验(CRC)响应或用于gDDR5 DRAM的写入和读取CRC响应)的存储器访问的临时队列。重放队列530访问ECC校验块542以确定所返回的ECC是正确的还是指示错误。重放队列530允许在这些周期之一的奇偶校验或CRC错误的情况下重放访问。
刷新逻辑532包括用于各种掉电、刷新和终止电阻(ZQ)校准周期的状态机,所述校准周期与从存储器访问代理接收的正常读取和写入存储器访问请求分开生成。例如,如果存储排处于预充电掉电,则必须周期性地将其唤醒以运行刷新周期。刷新逻辑532周期性地生成刷新命令以防止由DRAM芯片中的存储器单元的存储电容器的电荷泄漏造成的数据错误。另外,刷新逻辑532周期性地校准ZQ以防止由于系统中的热变化引起的片上终止电阻的失配。
仲裁器538双向连接到命令队列520并且是存储器通道控制器510的心脏。其通过智能调度访问以改善存储器总线的使用率来改善效率。仲裁器538使用定时块534以通过基于DRAM定时参数确定命令队列520中的某些访问是否有资格发布来实行适当定时关系。例如,每个DRAM在激活命令之间具有最小指定时间,称为“tRC”。定时块534维持一组计数器,其基于JEDEC规范中所指定的这个和其它定时参数来确定合格性,并且定时块534双向连接到重放队列530。页表536为仲裁器538维持关于存储器通道的每个存储体和存储排中的活动页的状态信息,并且双向连接到重放队列530。
响应于从接口512接收的写入存储器访问请求,ECC生成块544根据写入数据计算ECC。DB 546存储用于所接收的存储器访问请求的写入数据和ECC。当仲裁器538挑选对应写入访问以分派给存储器通道时,其将组合写入数据/ECC输出到队列514。
功率控制器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)训练和环回测试等目的。
存储器通道控制器510包括允许其挑选存储器访问以分派给相关联存储器通道的电路。为了做出所需仲裁决定,地址生成器522将地址信息解码成包括存储器系统中的存储排、行地址、列地址、存储体地址和存储体群组的预解码信息,并且命令队列520存储所述预解码信息。配置寄存器562存储配置信息以确定地址生成器522如何对所接收的地址信息进行解码。仲裁器538使用所解码的地址信息、由定时块534指示的定时合格性信息以及由页表536指示的活动页信息来有效地调度存储器访问,同时遵守诸如QoS要求等其它标准。例如,仲裁器538实施对访问打开页的偏好以避免改变存储页所需的预充电和激活命令的开销,并且通过使其与对另一个存储体的读取和写入访问交错来隐藏对一个存储体的开销访问。明确地说,在正常操作期间,仲裁器538通常在不同存储体中保持页打开,直到在选择不同页之前需要对其进行预充电为止。
图6以框图形式示出根据一些实施方案的与图1的数据处理系统100的若干部分对应的数据处理系统600。数据处理系统600大体上包括标记为“MC”的存储器控制器610、PHY620以及存储器模块630。
存储器控制器610从处理器的存储器访问代理(诸如CPU核心212或图形核心220)接收存储器访问请求并且向其提供存储器响应。存储器控制器610对应于图2的存储器控制器290中的任一者。存储器控制器610经由DFI兼容总线向PHY 620输出存储器访问并且从其接收响应。
PHY 620经由DFI总线连接到存储器控制器610。其通过提供标记为“C/A”的一组命令和地址输出以及标记为“DQ”的一组72个双向数据信号(包括64位数据和8位ECC)来响应于所接收的存储器访问执行物理信令。
存储器模块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仅被提供给对应缓冲器和存储器。
存储器模块630根据编程到寄存器控制字(RCW)中的用于RCD650的控制信息和编程到缓冲器控制字(BCW)中的用于缓冲器660的控制信息进行操作。因此,当存储器控制器610将存储器模块630置于低功率状态时,其还以下文将更全面描述的方式改变RCW和BCW中的设置。
尽管数据处理系统600使用寄存的、缓冲的DDR4 DRAM DIMM作为存储器模块630,但是存储器控制器610和PHY 620还能够介接到若干不同类型的存储器模块。明确地说,存储器控制器610和PHY620能够支持若干不同类型的存储器(例如,DDR、FLASH、PCM等)、若干不同寄存条件(没有使用、RCD、快闪控制器等)以及若干不同缓冲条件(没有使用、仅数据缓冲等),使得存储器控制器610支持存储器类型、寄存条件和缓冲条件的各种各样组合。为了支持这些组合,存储器控制器610实施允许用于进入和退出系统BIOS可以针对特定存储器系统特性编程的低功率模式的独特计划的架构。现在将描述这些特征。
图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。
在启动时,系统BIOS存储器157中所存储的系统BIOS查询存储器系统120以确定已经安装的存储器的类型及其能力。其通常通过读取系统中存在的每个DIMM上的串行存在检测(SPD)存储器中的寄存器来这样做。例如,PHY可以被配置为支持DDR3、DDR4、低功率DDR4(LPDDR4)和图形DDR版本5(gDDR5)存储器中的任一者。响应于检测到存储器系统120中所安装的存储器的类型和能力,系统BIOS用命令序列填充MOP阵列710,所述命令序列起始进入和退出用于特定类型存储器的所支持低功率模式。
在所示实施方案中,存储器通道控制器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)。
通过包括MOP阵列710以存储形成用于自刷新控制器566的固件的可编程命令,存储器通道控制器550使用相对少量的电路区域来实施,同时支持具有不同特性的各种各样存储器类型。此外,其提供针对尚未指定但可能在将来指定的存储器类型和特性允许存储器状态改变的向上兼容架构。因此,存储器通道控制器550也是模块化的,并且避免对昂贵的未来重新设计的需要。
现在将描述这些存储器控制器装置功率状态(D状态)与DRAM操作之间的交互。D0状态是存储器控制器500的操作状态。在D0状态中,存储器控制器500支持四个可编程功率状态(P状态),每个状态具有不同MEMCLK频率和相关联定时参数。存储器控制器500针对每个P状态维持一组寄存器,其存储用于那个P状态的定时参数并且定义上下文。存储器控制器500将DRAM置于自刷新模式以改变P状态/上下文。MOP阵列710包括一组命令以供与D0状态中的频率改变一起使用以支持适当排序。
D1状态被称为停止时钟状态并且用于存储器状态改变请求。当存储器控制器500被置于D1状态时,进入和退出延时最低,除了在必须重新训练PHY 620时之外。存储器控制器500通常不会因为D1功率状态改变请求而清洗任何仲裁队列条目。然而,存储器控制器500预先清洗命令队列520中的所有写入,而通常不执行正常的待决刷新。存储器控制器500将系统中的所有存储器芯片置于预充电掉电或自刷新。
D2状态被称为待机状态并且对应于系统C1/C2/C3和停止时钟/卡顿状态。其是用于存储器控制器500本身的操作的较低功率状态。在D2状态中,存储器控制器500使用本地时钟门控和任选功率门控来进一步降低功率。存储器控制器500从命令队列520清洗写入和读取两者。在D2状态中,存储器控制器500同样将系统中的所有存储器置于预充电掉电并启用自动自刷新。然而,由于D2是较深功率状态,所以在进入预充电掉电与自动自刷新之前,其执行所有即将所需(“亏欠”)的刷新。
D3状态被称为暂停状态。存储器控制器500支持两种D3状态。第一种D3状态用于系统S3状态。存储器控制器500在预期进入系统S3状态时将DRAM和PHY置于最低功率状态。存储器控制器500通常从命令队列520清洗写入,并且执行待决刷新周期。第二种D3状态用于异步DRAM刷新(ADR)式自刷新。ADR是服务器中用于在电源故障或系统崩溃期间将待决写入数据清洗到非易失性存储器中的特征。DRAM和PHY再次被置于预充电掉电并启用自动自刷新。
如此处所使用,“功率请求”信号指示从任何一个功率状态到不同功率状态的改变。可用功率状态在不同存储器类型之间有所不同。此外,如本文所使用,“低功率状态”意指与另一种状态相比节省功率的状态。例如,DDR4 SDRAM支持两种低功率状态,称为自刷新和预充电掉电。然而,LPDDR4支持三种低功率状态,称为活动掉电、自刷新掉电和空闲掉电。可以进入和退出这些状态的条件是不同的并在对应的所公布的JEDEC标准的状态图中指定,并且“低功率状态”包括这些状态中的任一者。
MOP阵列710支持允许有效编码命令以支持所有这些功率状态改变的命令格式。MOP阵列710针对所述四个P状态上下文中的每一者使用称为“SrEnterMOP”和“SrExitMOP”的两个阵列。在针对P状态请求进入自刷新之前处理SrEnterMOP。在针对P状态请求退出自刷新之后处理SrExitMOP。MOP阵列指定模式寄存器(MR)、具有每DRAM可访问性(PDA)的MR、寄存器控制字(RCW)或缓冲器控制字(BCW)命令的顺序列表。在接收到功率状态改变请求后,自刷新控制器566访问MOP阵列710中的用于选定上下文的命令以确定发布到存储器系统的MOP的序列和定时。
部分712中的MOP包括表示对应D状态的字段。因此,自刷新控制器566从第一位置开始扫描MOP阵列712以查找适用于特定上下文的命令,忽略不适用于当前上下文的MOP。MOP阵列712还包括计数器值以在适当时确定MOP之间的适当定时以便满足存储器芯片的动态定时参数。在开始命令序列之后,自刷新控制器566继续扫描MOP阵列712并且执行有效命令,直到其遇到空条目为止,所述空条目指示用于功率状态改变的序列的结束。现在将描述可以用于实现用于功率状态改变的命令的有效存储的MOP阵列712的字段的实例。
图8以框图形式示出根据一些实施方案的图7的MOP阵列710的条目800。条目800是40位条目,其包括定义MOP的多种编码位字段。所支持的位字段在以下表I中示出:
表I
MOP阵列712具有待遵循的各种编程要求,使得自刷新控制器566将针对任何所允许的状态改变恰当地解码并发布所需MOP。自刷新控制器566线性地而没有分支地解码并发布MOP,直到从阵列读取第一个空条目为止。空条目是其中MOP_RANK的所有位和MOP_CID的所有位均为零的条目。因此,当系统BIOS对MOP阵列712进行编程时,其应当针对每个上下文编程至少一个空条目。
可以通过设置MOP_VLD_D1、MOP_VLD_D2和MOP_VLD_D3中的一者以上来由不同D状态共享MOP。特定D状态通过清除MOP_VLD_D1、MOP_VLD_D2和MOP_VLD_D3中的对应一者来跳过MOP。
D状态进入例程(SrEnterMOP)具有某些要求。如果启用奇偶校验,则其必须包括用于停用奇偶校验的命令。寄存DIMM(RDIMM)的推荐次序是首先停用DRAM芯片中的奇偶校验,接着停用缓冲器中的奇偶校验。其还必须包括用于编程命令到命令延迟时间(tCCD)的命令,根据DDR4规范,通过设置模式寄存器6(MR6)位12-10中的时间来编程所述tCCD。另外,对于具有RDIMM的系统,其必须包括用于编程目标寄存器控制字RC0A和RC3x的命令。
D状态退出例程(SrExitMOP)也具有某些要求。如果启用奇偶校验,则其必须包括用于启用奇偶校验的命令。RDIMM的推荐配置是仅在寄存器中启用奇偶校验。
预期单个MOP条目针对多个芯片选择。推荐MOP_Rank反映所有填充的芯片选择,除非偶数/奇数芯片选择有意接收不对称设置。在这方面,BEQ 514具有用于允许反转和镜射的模式,使得如果启用反转,则其将单个MOP转换为两个命令,并且如果启用反转和镜射两者,则其将单个MOP转换为四个命令。例如,对于四排DIMM,针对具有编码芯片选择的四排RDIMM,每个模式寄存器组命令可以使用两个MOP条目。
MOP阵列712支持允许有效编码命令的各种字段,并且因此允许其以小尺寸来实施。例如,自刷新控制器566用于访问MOP阵列712的命令扫描技术允许特定命令用于多个低功率状态而不必针对每个低功率状态复制命令。此外,使用空条目来发信号通知终止条件是用于编码每个命令序列的结束的有效方式而不需要自刷新控制器566基于所需状态改变和上下文来计算进入和退出点。
因此,如本文所述的存储器控制器使用控制器和可编程MOP阵列来支持各种各样可用存储器类型和DIMM配置中的任一者。控制器响应于功率状态改变请求信号的激活来访问MOP阵列以提取至少一个条目,并且发布由所述条目指示的至少一个存储器操作以实行所述功率状态改变请求。正因如此构成,MOP阵列允许存储器控制器使用紧凑电路支持各种各样存储器类型和配置。此外,系统BIOS可以在启动时确定存储器的配置,并且使用与系统中的特定类型存储器的功率状态改变动作对应的一组条目对MOP阵列进行编程。
可以用硬件和软件的各种组合来实施存储器控制器。一些软件部件(诸如存储在BIOS存储器中并且由系统BIOS加载到MOP阵列中的软件部件)可以存储在非暂态计算机可读存储介质中以供至少一个处理器执行。此外,功率状态改变中所使用的一些常见操作可以在诸如微控制器564等其它硬件中实施以简化MOP阵列的字段的数目和/或大小。
图5的存储器控制器500或其任何部分可以由呈数据库或其它数据结构的形式的计算机可访问数据结构描述或表示,所述数据结构可以由程序读取并且直接或间接地用于制作集成电路。例如,这个数据结构可以是采用诸如Verilog或VHDL等高级设计语言(HDL)的对硬件功能性的行为级描述或寄存器传送级(RTL)描述。所述描述可以由合成工具读取,所述合成工具可以合成所述描述以产生包括来自合成库的门列表的网表。网表包括一组门,其还表示组成集成电路的硬件的功能性。接着可以放置并路由网表以产生描述待应用于掩模的几何形状的数据集。接着可以在各种半导体制造步骤中使用所述掩模来生产集成电路。或者,计算机可访问存储介质上的数据库可以是网表(具有或不具有合成库)或者根据需要的数据集或图形数据系统(GDS)II数据。
尽管已经描述了特定实施方案,但是对于本领域的技术人员来说,对这些实施方案的各种修改将是显而易见的。例如,所支持的存储器装置的范围将在不同实施方案中变化,并且不限于上文所述的实例。此外,MOP阵列的字段定义将在不同实施方案中变化。另外,尽管MOP阵列710被描述为具有指示条目所应用的特定功率状态的字段,但是在其它实施方案中,MOP阵列可以被组织有对应于特定所支持的功率状态改变请求或目标功率空间的进入和退出地址。
在一种形式中,一种存储器控制器(500)包括控制器(566)和存储器操作阵列(710)。控制器(566)具有用于接收功率状态改变请求信号的输入和用于提供存储器操作的输出。存储器操作阵列(710)包括多个条目,所述条目(800)中的每一者包括多个编码字段,其中所述存储器操作阵列(710)可编程以将用于多种类型存储器中的特定类型存储器的不同命令序列存储在所述多个条目中,所述命令序列起始进入和退出用于特定类型存储器的所支持低功率模式,其中所述控制器(566)响应于所述功率状态改变请求信号的激活来访问所述存储器操作阵列(710)以提取至少一个条目,并且发布由所述至少一个条目指示的至少一个存储器操作。所述多个编码字段中的一者可以包括功率状态字段,其指示至少一个存储器装置功率状态中的哪一者对应于所述至少一个条目。
根据一个方面,所述至少一个存储器装置功率状态可以对应于以下一者:动态电压状态、动态频率状态和低功率状态。
根据另一方面,所述至少一个存储器装置功率状态对应于高级电源配置接口(ACPI)D1状态、ACPI D2状态和ACPI D3状态中的选定一者,其中所述ACPI D3状态对应于双倍数据速率存储器(660)的自刷新状态。
在另一种形式中,一种用于控制存储器系统(130/140)的功率状态的方法包括:使用用于多种类型存储器中的特定类型存储器的可编程命令序列填充存储器操作(MOP)阵列(710),所述可编程命令序列起始进入和退出用于所述特定类型存储器的所支持低功率模式;接收功率状态改变请求信号;响应于所述功率状态改变请求信号来访问所述MOP阵列(710);将所述MOP阵列(710)的条目解码成至少一个存储器操作;输出所述至少一个存储器操作;以及针对所述MOP阵列(710)中的连续条目重复所述解码和所述输出,直到出现预定终止条件为止。
根据一个方面,所述功率改变请求信号是从活动状态改变为低功率状态的请求。
根据另一方面,所述功率改变请求信号是在活动状态下从第一操作频率改变为第二操作频率的请求。
因此,所附权利要求书旨在涵盖落入所公开实施方案的范围内的所公开实施方案的所有修改。
Claims (15)
1.一种存储器控制器(500),其包括:
控制器(566),所述控制器具有用于接收功率状态改变请求信号的输入和用于提供存储器操作的输出;以及
存储器操作阵列(710),所述存储器操作阵列包括多个条目,所述条目(800)中的每一者包括多个编码字段,其中所述存储器操作阵列(710)可编程以将用于多种类型存储器中的特定类型存储器的不同命令序列存储在所述多个条目中,所述命令序列起始进入和退出用于所述特定类型存储器的所支持低功率模式,
其中所述控制器(566)响应于所述功率状态改变请求信号的激活来访问所述存储器操作阵列(710)以提取至少一个条目,并且发布由所述至少一个条目指示的至少一个存储器操作。
2.根据权利要求1所述的存储器控制器(500),其中所述存储器操作包括用于双倍数据速率(DDR)存储器模块(630)的模式寄存器组(MRS)命令。
3.根据权利要求2所述的存储器控制器(500),其中所述存储器操作包括用于配置所述双倍数据速率存储器模块(630)的寄存器时钟驱动器(650)的寄存器控制字写入命令。
4.根据权利要求3所述的存储器控制器(500),其中所述存储器操作包括用于配置所述双倍数据速率存储器模块(630)的一组缓冲器(660)的缓冲器控制字写入命令。
5.根据权利要求1所述的存储器控制器(500),其中所述多个条目包括至少一个有效条目和后续空条目。
6.根据权利要求1所述的存储器控制器(500),其中所述多个编码字段中的一者包括功率状态字段,其指示至少一个存储器装置功率状态中的哪一者对应于所述至少一个条目。
7.一种用于控制存储器系统(120)的功率状态的方法,其包括:
使用用于多种类型存储器中的特定类型存储器的可编程命令序列填充存储器操作阵列(710),所述可编程命令序列起始进入和退出用于所述特定类型存储器的所支持低功率模式;
接收功率状态改变请求信号;
响应于所述功率状态改变请求信号来访问所述存储器操作阵列(710);
将所述存储器操作阵列(710)的条目解码成至少一个存储器操作;
输出所述至少一个存储器操作;以及
针对所述存储器操作阵列(710)中的连续条目重复所述解码和所述输出,直到出现预定终止条件为止。
8.根据权利要求7所述的方法,其中当连续条目是空条目时,存在所述预定终止条件。
9.根据权利要求7所述的方法,其中所述填充包括:
响应于检测到所述存储器系统(120)的特性而将一系列操作存储在所述存储器操作阵列(710)中。
10.根据权利要求9所述的方法,其中:
所述存储包括在基本输入/输出系统(BIOS)的控制下将所述一系列操作存储在所述存储器操作阵列(710)中。
11.一种数据处理系统(100),其包括:
存储器系统(120),所述存储器系统包括存储器模块;以及
处理器(110),所述处理器耦接到所述存储器系统(120)、适于使用存储器控制器(500)访问所述存储器模块(134/136/138),其中所述存储器控制器(500)包括:
控制器(566),所述控制器具有用于接收功率状态改变请求信号的输入和用于提供存储器操作的输出;以及
存储器操作阵列(710),所述存储器操作阵列包括多个条目,所述条目中的每一者包括多个编码字段,其中所述存储器操作阵列可编程以将用于多种类型存储器中的特定类型存储器的不同命令序列存储在所述多个条目中,所述命令序列起始进入和退出用于所述特定类型存储器的所支持低功率模式,
其中所述控制器(566)响应于所述功率状态改变请求信号的激活来访问所述存储器操作阵列(710)以提取至少一个条目,并且发布由所述至少一个条目指示的至少一个存储器操作。
12.根据权利要求11所述的数据处理系统(100),其中所述处理器(110)进一步包括:
系统管理单元(280),所述系统管理单元用于响应于所述处理器(110)的动态操作来生成所述功率状态改变请求信号。
13.根据权利要求11所述的数据处理系统(100),其中所述存储器模块包括:
多个双倍数据速率(DDR)存储器芯片(640);以及
寄存器,所述寄存器具有耦接到所述处理器(110)以用于接收多个命令和地址信号的输入以及耦接到所述多个双倍数据速率存储器芯片(640)的输出。
14.根据权利要求13所述的数据处理系统(100),其中所述存储器模块进一步包括:
多个数据缓冲器(660),所述数据缓冲器各自具有耦接到所述处理器(110)的第一双向数据端口和耦接到所述多个双倍数据速率存储器芯片(640)的第二双向数据端口。
15.根据权利要求11所述的数据处理系统(100),其中所述处理器(110)进一步包括:
物理接口(620),所述物理接口耦接在所述存储器控制器(500)与所述存储器系统(120)之间。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/170,872 US10198204B2 (en) | 2016-06-01 | 2016-06-01 | Self refresh state machine MOP array |
US15/170,872 | 2016-06-01 | ||
PCT/US2016/053338 WO2017209782A1 (en) | 2016-06-01 | 2016-09-23 | Self refresh state machine mop array |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109154918A CN109154918A (zh) | 2019-01-04 |
CN109154918B true CN109154918B (zh) | 2023-08-15 |
Family
ID=60478906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680085900.8A Active CN109154918B (zh) | 2016-06-01 | 2016-09-23 | 自刷新状态机mop阵列 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10198204B2 (zh) |
EP (1) | EP3433752B1 (zh) |
JP (1) | JP6761873B2 (zh) |
KR (1) | KR102728013B1 (zh) |
CN (1) | CN109154918B (zh) |
WO (1) | WO2017209782A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102358177B1 (ko) | 2015-12-24 | 2022-02-07 | 에스케이하이닉스 주식회사 | 제어회로 및 제어회로를 포함하는 메모리 장치 |
US11755255B2 (en) | 2014-10-28 | 2023-09-12 | SK Hynix Inc. | Memory device comprising a plurality of memories sharing a resistance for impedance matching |
US10067903B2 (en) | 2015-07-30 | 2018-09-04 | SK Hynix Inc. | Semiconductor device |
US10332582B2 (en) | 2017-08-02 | 2019-06-25 | Qualcomm Incorporated | Partial refresh technique to save memory refresh power |
US10698846B2 (en) * | 2018-11-07 | 2020-06-30 | Realtek Semiconductor Corporation | DDR SDRAM physical layer interface circuit and DDR SDRAM control device |
US11226905B2 (en) * | 2019-04-01 | 2022-01-18 | Nutanix, Inc. | System and method for mapping objects to regions |
US11809382B2 (en) | 2019-04-01 | 2023-11-07 | Nutanix, Inc. | System and method for supporting versioned objects |
US11029993B2 (en) | 2019-04-04 | 2021-06-08 | Nutanix, Inc. | System and method for a distributed key-value store |
US12014213B2 (en) * | 2019-09-09 | 2024-06-18 | Advanced Micro Devices, Inc. | Active hibernate and managed memory cooling in a non-uniform memory access system |
US11704334B2 (en) | 2019-12-06 | 2023-07-18 | Nutanix, Inc. | System and method for hyperconvergence at the datacenter |
US11176986B2 (en) * | 2019-12-30 | 2021-11-16 | Advanced Micro Devices, Inc. | Memory context restore, reduction of boot time of a system on a chip by reducing double data rate memory training |
US11609777B2 (en) | 2020-02-19 | 2023-03-21 | Nutanix, Inc. | System and method for multi-cluster storage |
US20210334284A1 (en) | 2020-04-28 | 2021-10-28 | Nutanix, Inc. | System and method of querying objects on demand |
US11487787B2 (en) | 2020-05-29 | 2022-11-01 | Nutanix, Inc. | System and method for near-synchronous replication for object store |
US11664062B2 (en) * | 2020-07-24 | 2023-05-30 | Advanced Micro Devices, Inc. | Memory calibration system and method |
US12001872B2 (en) | 2020-10-14 | 2024-06-04 | Nutanix, Inc. | Object tiering from local store to cloud store |
US11900164B2 (en) | 2020-11-24 | 2024-02-13 | Nutanix, Inc. | Intelligent query planning for metric gateway |
US11822370B2 (en) | 2020-11-26 | 2023-11-21 | Nutanix, Inc. | Concurrent multiprotocol access to an object storage system |
TWI773106B (zh) * | 2021-01-28 | 2022-08-01 | 華邦電子股份有限公司 | 具有運算功能的記憶體裝置及其操作方法 |
US11636054B2 (en) | 2021-03-31 | 2023-04-25 | Advanced Micro Devices, Inc. | Memory controller power states |
US11934251B2 (en) * | 2021-03-31 | 2024-03-19 | Advanced Micro Devices, Inc. | Data fabric clock switching |
US11516033B1 (en) | 2021-05-31 | 2022-11-29 | Nutanix, Inc. | System and method for metering consumption |
US20230031388A1 (en) * | 2021-07-30 | 2023-02-02 | Advanced Micro Devices, Inc. | On-demand ip initialization within power states |
US11899572B2 (en) | 2021-09-09 | 2024-02-13 | Nutanix, Inc. | Systems and methods for transparent swap-space virtualization |
US12032857B2 (en) | 2021-11-22 | 2024-07-09 | Nutanix, Inc. | System and method for shallow copy |
US12204780B2 (en) * | 2022-04-21 | 2025-01-21 | Micron Technology, Inc. | Self-refresh arbitration |
US11983411B2 (en) * | 2022-04-25 | 2024-05-14 | Infineon Technologies LLC | Methods, devices and systems for including alternate memory access operations over memory interface |
US20240004560A1 (en) * | 2022-06-29 | 2024-01-04 | Advanced Micro Devices, Inc. | Efficient memory power control operations |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6523089B2 (en) * | 2000-07-19 | 2003-02-18 | Rambus Inc. | Memory controller with power management logic |
US6944708B2 (en) * | 2002-03-22 | 2005-09-13 | Intel Corporation | Method of self-refresh in large memory arrays |
KR100510496B1 (ko) * | 2002-11-19 | 2005-08-26 | 삼성전자주식회사 | 페이지 길이를 변환할 수 있는 구조를 가지는 반도체메모리 장치 및 상기 반도체 메모리 장치의 페이지 길이변환방법 |
US20060181949A1 (en) * | 2004-12-31 | 2006-08-17 | Kini M V | Operating system-independent memory power management |
US7610497B2 (en) * | 2005-02-01 | 2009-10-27 | Via Technologies, Inc. | Power management system with a bridge logic having analyzers for monitoring data quantity to modify operating clock and voltage of the processor and main memory |
US8438328B2 (en) * | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US7561472B2 (en) * | 2006-09-11 | 2009-07-14 | Micron Technology, Inc. | NAND architecture memory with voltage sensing |
US7788414B2 (en) * | 2007-01-16 | 2010-08-31 | Lantiq Deutschland Gmbh | Memory controller and method of controlling a memory |
US8060705B2 (en) * | 2007-12-14 | 2011-11-15 | Qimonda Ag | Method and apparatus for using a variable page length in a memory |
US7971081B2 (en) * | 2007-12-28 | 2011-06-28 | Intel Corporation | System and method for fast platform hibernate and resume |
US20100005212A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Providing a variable frame format protocol in a cascade interconnected memory system |
US8639874B2 (en) | 2008-12-22 | 2014-01-28 | International Business Machines Corporation | Power management of a spare DRAM on a buffered DIMM by issuing a power on/off command to the DRAM device |
US8742791B1 (en) | 2009-01-31 | 2014-06-03 | Xilinx, Inc. | Method and apparatus for preamble detection for a control signal |
US8799685B2 (en) * | 2010-08-25 | 2014-08-05 | Advanced Micro Devices, Inc. | Circuits and methods for providing adjustable power consumption |
US8942056B2 (en) | 2011-02-23 | 2015-01-27 | Rambus Inc. | Protocol for memory power-mode control |
US9698935B2 (en) * | 2011-09-01 | 2017-07-04 | Rambus Inc. | Variable code rate transmission |
US9195589B2 (en) | 2011-12-27 | 2015-11-24 | Intel Corporation | Adaptive configuration of non-volatile memory |
US20130262792A1 (en) | 2012-03-27 | 2013-10-03 | International Business Machines Corporation | Memory device support of dynamically changing frequency in memory systems |
CN104981872B (zh) * | 2013-03-15 | 2018-11-06 | 英特尔公司 | 存储系统 |
KR20150009295A (ko) * | 2013-07-16 | 2015-01-26 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 슬리프 상태 제어 방법 |
KR102057504B1 (ko) * | 2013-07-24 | 2020-01-22 | 삼성전자주식회사 | 어플리케이션 프로세서, 이를 구비하는 모바일 디바이스 및 전력 관리 방법 |
US9581612B2 (en) * | 2013-08-26 | 2017-02-28 | EveryFit, Inc. | Systems and methods for a power efficient method for detecting wear and non-wear of a sensor |
US9483096B2 (en) * | 2013-12-06 | 2016-11-01 | Sandisk Technologies Llc | Host interface of a memory device supplied with regulated or non-regulated power based on operating mode of the memory device |
US20160077561A1 (en) * | 2014-09-11 | 2016-03-17 | Kabushiki Kaisha Toshiba | Memory system |
US9711192B2 (en) * | 2014-11-03 | 2017-07-18 | Samsung Electronics Co., Ltd. | Memory device having different data-size access modes for different power modes |
KR20170045806A (ko) * | 2015-10-20 | 2017-04-28 | 삼성전자주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
US20190243721A1 (en) * | 2018-02-08 | 2019-08-08 | Micron Technology, Inc. | Backup operations from volatile to non-volatile memory |
-
2016
- 2016-06-01 US US15/170,872 patent/US10198204B2/en active Active
- 2016-09-23 WO PCT/US2016/053338 patent/WO2017209782A1/en active Application Filing
- 2016-09-23 EP EP16904230.6A patent/EP3433752B1/en active Active
- 2016-09-23 JP JP2018561678A patent/JP6761873B2/ja active Active
- 2016-09-23 KR KR1020187033473A patent/KR102728013B1/ko active IP Right Grant
- 2016-09-23 CN CN201680085900.8A patent/CN109154918B/zh active Active
-
2019
- 2019-01-07 US US16/241,716 patent/US11221772B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20190004302A (ko) | 2019-01-11 |
WO2017209782A1 (en) | 2017-12-07 |
KR102728013B1 (ko) | 2024-11-11 |
JP2019520640A (ja) | 2019-07-18 |
EP3433752A4 (en) | 2019-11-27 |
JP6761873B2 (ja) | 2020-09-30 |
US20190138234A1 (en) | 2019-05-09 |
EP3433752A1 (en) | 2019-01-30 |
US10198204B2 (en) | 2019-02-05 |
CN109154918A (zh) | 2019-01-04 |
US11221772B2 (en) | 2022-01-11 |
EP3433752B1 (en) | 2022-05-04 |
US20170351450A1 (en) | 2017-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109154918B (zh) | 自刷新状态机mop阵列 | |
CN109564556B (zh) | 具有条纹和读取/写入事务管理的存储器控制器仲裁器 | |
CN112506422B (zh) | 精细粒度刷新 | |
CN109690508B (zh) | 带虚拟控制器模式的存储器控制器 | |
KR102442078B1 (ko) | 고속 메모리 인터페이스들을 위한 명령 중재 | |
CN109219806B (zh) | 低功率存储器节流 | |
US11682445B2 (en) | Memory context restore, reduction of boot time of a system on a chip by reducing double data rate memory training | |
KR102444201B1 (ko) | 플랫폼 마지닝 및 디버그를 위한 소프트웨어 모드 레지스터 액세스 | |
CN116324744A (zh) | 具有多个命令子队列和对应的仲裁器的存储器控制器 | |
CN114902198B (zh) | 用于异构存储器系统的信令 | |
CN115605853A (zh) | 高效存储器总线管理 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |