CN112506422A - 精细粒度刷新 - Google Patents
精细粒度刷新 Download PDFInfo
- Publication number
- CN112506422A CN112506422A CN202011204071.5A CN202011204071A CN112506422A CN 112506422 A CN112506422 A CN 112506422A CN 202011204071 A CN202011204071 A CN 202011204071A CN 112506422 A CN112506422 A CN 112506422A
- Authority
- CN
- China
- Prior art keywords
- refresh
- memory
- auto
- state
- bank
- 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.)
- Granted
Links
Images
Classifications
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/40611—External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
-
- 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/061—Improving I/O performance
-
- 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/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
- 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
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0653—Monitoring storage devices or 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/0683—Plurality of storage 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/40618—Refresh operations over multiple banks or interleaving
-
- 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/40622—Partial refresh of memory arrays
-
- 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/40603—Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
-
- 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
- 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/2272—Latency related aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
本发明涉及精细粒度刷新,本发明提供了一种数据处理系统,包括:存储器通道;以及耦合至所述存储器通道的数据处理器。所述数据处理器适于访问至少一个存储区块并具有刷新逻辑。响应于所述刷新逻辑的激活,所述数据处理器生成对所述存储器通道的存储体的刷新周期。所述数据处理器选择第一状态和第二状态中的一个状态,所述第一状态对应于第一自动刷新命令,所述第一自动刷新命令导致所述数据处理器自动刷新所述存储体,所述第二状态对应于第二自动刷新命令,所述第二自动刷新命令导致所述数据处理器自动刷新所述存储体的选定子集。所述数据处理器响应于所述刷新逻辑检测到与所述存储体有关的第一条件而开始所述第一状态与所述第二状态之间的切换,并且响应于刷新逻辑电路检测到第二条件而开始所述第二状态与所述第一状态之间的切换。
Description
本申请是申请号为201780030093.4、申请日为2017年5月23日、发明名称为“精细粒度刷新”的发明专利申请的分案申请。
技术领域
本公开总体上涉及数据处理系统,且更具体来说,涉及刷新数据处理系统中的存储器系统。
背景技术
已经开发了各种各样的技术来提高计算机系统的整体处理速度。集成电路处理技术的巨大改进促使能够提高计算机处理速度和存储器容量,由此有助于改善计算机系统的整体性能。能够生产具有亚微米特征的集成电路使每个集成电路的例如电容器等电子部件的数目也增加成为可能。
动态随机存取存储器(DRAM)芯片包含具有亚微米特征的大型电容器阵列,所述DRAM芯片用于计算机系统中的主存储器。DRAM通常便宜且密度高,由此实现每个装置集成大量DRAM。由于电容器的固有性质,必须不断刷新DRAM,否则存储在电容器内的数据将会丢失。每个电容器缓慢地漏电,并且如果不刷新DRAM,则最终电容器将泄漏足够的电荷并遭遇不可逆的数据损坏。
目前销售的大多数DRAM芯片与由联合电子器件工程委员会(JEDEC)发布的各种双倍数据速率(DDR)DRAM标准兼容。由JEDEC所提供的标准提供了防止在某一时间段内访问数据的刷新周期时间。增加计算机系统内的DDR DRAM装置密度会增加刷新所需的时间量,并由此增加计算机处理延迟。
为了解决这些问题,JEDEC采用称为1X、2X和4X刷新模式的DDR版本4(DDR4)标准中的特征。在这些模式中,DDR4存储器可以响应于单个刷新(REF)命令而分别刷新选定存储体、所选存储体的二分之一,或所选存储体的四分之一。模式寄存器,即模式寄存器3(MR3)用于在这些模式之间进行选择。此外,MR3还可以被编程为支持“动态”模式,在所述动态模式下,1X或2X的选择,或者1X或4X的选择可以动态地执行并由未使用的地址位指示。
附图说明
图1以框图形式示出根据一些实施方案的数据处理系统;
图2以框图形式示出适用于图1的数据处理系统的加速处理单元(APU);
图3以框图形式示出根据一些实施方案的适用于图2的APU的存储器控制器和相关联物理接口(PHY);
图4以框图形式示出根据一些实施方案的适用于图2的APU的另一种存储器控制器和相关联PHY;
图5以框图形式示出根据一些实施方案的存储器控制器;
图6以状态图形式示出根据一些实施方案的刷新条件;
图7以框图形式示出根据一些实施方案的在不同存储器刷新状态下的刷新操作;以及
图8示出根据一些实施方案的图5的存储器控制器可以使用的流程图。
在以下描述中,在不同附图中使用相同参考数字可指示相似或相同项目。除非另外说明,否则词语“耦合”以及其相关动词形式包括通过本领域已知的方式实现的直接连接与间接电气连接两者,并且除非另外说明,否则对直接连接的任何描述也暗示使用适当形式的间接电气连接的替代实施方案。
具体实施方式
如下文将以一种形式描述,数据处理系统包括具有至少一个存储区块的存储器通道,以及耦合至存储器通道的数据处理器,所述数据处理器具有刷新逻辑。响应于刷新逻辑的激活,数据处理器生成对存储器通道的存储体的刷新周期。数据处理器选择第一状态和第二状态中的一个状态,其中第一状态对应于第一自动刷新命令,所述第一自动刷新命令导致数据处理器自动刷新存储体,并且第二状态对应于第二自动刷新命令,所述第二自动刷新命令导致数据处理器自动刷新存储体的选定子集。数据处理器响应于刷新逻辑检测到与存储体有关的第一条件而开始第一状态与第二状态之间的切换,并且响应于刷新逻辑电路检测到第二条件而开始第二状态与第一状态之间的切换。
在另一形式中,数据处理器包括存储器访问代理和存储器控制器,所述存储器控制器耦合至存储器访问代理并适于耦合至存储器系统。存储器控制器包括刷新逻辑电路,用于生成对存储器系统的存储器的刷新周期。存储器控制器具有动态模式,所述动态模式包括第一状态和第二状态。第一状态对应于第一自动刷新命令(例如,REF1),所述第一自动刷新命令导致存储器自动刷新存储体。第二状态对应于第二自动刷新命令(例如,REF2或REF4),所述第二自动刷新命令导致存储器自动刷新存储体的选定子集。存储器控制器响应于刷新逻辑电路检测到与存储体有关的第一条件而在第一状态与第二状态之间切换。存储器控制器响应于刷新逻辑电路检测到第二条件而在第二状态与第一状态之间切换。
在另一形式中,描述一种用于通过存储器控制器管理存储器系统中的存储器刷新的方法。当存储器控制器处于第一状态时,生成第一自动刷新命令,其中第一自动刷新命令导致存储器控制器自动刷新存储体。当存储器控制器处于第二状态时,生成第二自动刷新命令,其中第二自动刷新命令导致存储器自动刷新存储体的选定子集。响应于存储器控制器检测到第一条件,在第一状态与第二状态之间进行切换。响应于存储器控制器检测到第二条件,在第二状态与第一状态之间进行切换。
图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,所述代表性DIMM在此实例中对应于单独存储区块。同样,存储器通道140包括连接至DDRx总线142的一组DIMM,包括代表性DIMM 144、146和148。
PCIe系统150包括PCIe开关152,其连接至数据处理器110中的PCIe根联合体;PCIe装置154;PCIe装置156;以及PCIe装置158。PCIe装置156又连接至系统基本输入/输出系统(BIOS)存储器157。系统BIOS存储器157可以是各种非易失性存储器类型中的任一种,例如,只读存储器(ROM)、闪存电可擦除可编程ROM(EEPROM)等。
USB系统160包括USB集线器162,其连接至数据处理器110中的USB主设备,以及代表性USB装置164、166和168,其各自连接至USB集线器162。USB装置164、166和168可以是例如键盘、鼠标、闪存EEPROM端口等的装置。
磁盘驱动器170通过SATA总线连接至数据处理器110,并且为操作系统、应用程序、应用文件等提供大容量存储。
数据处理系统100通过提供存储器通道130和存储器通道140而适用于现代计算应用。存储器通道130和140中的每个存储器通道可以连接至最先进的DDR存储器,例如,DDR版本4(DDR4)、低功率DDR4(LPDDR4)、图形DDR版本5(gDDR5)和高带宽存储器(HBM),并且可以适用于未来存储器技术。这些存储器提供高总线带宽和高速操作。同时,这些存储器还提供低功率模式,以便为例如便携式计算机的电池供电应用节省电力,并且还提供内置热温监控。
图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核心联合体可以包括任意数目的CPU核心。CPU核心212和214中的每个CPU核心双向连接至形成控制结构的系统管理网络(SMN)并双向连接至数据结构250,并且能够向数据结构250提供存储器访问请求。CPU核心212和214中的每个CPU核心可以是单一核心,或可以另外为具有共享例如缓存器等某些资源的两个或更多个单一核心的核心联合体。
图形核心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核心可以通过访问来编程USB控制器262、SATA接口控制器264、SB 272或PCIe控制器274中的寄存器,数据结构250通过I/O集线器276路由所述访问。
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的频率和电压。如果APU 200变得太热,则可以完全关闭所述APU。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。PHY 330具有至存储器通道,例如图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双向连接至PHY 440和450,并且还双向连接至存储器通道控制器414和424。PHY 440具有至存储器通道,例如图1的存储器通道130的双向连接。PHY 450具有至存储器通道,例如图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和数据缓冲器(DB)546。
接口512具有通过外部总线至数据结构250的第一双向连接,并且具有输出。在存储器控制器500中,此外部总线与英国剑桥的ARM Holdings,PLC指定的高级可扩展接口版本4(称为“AXI4”)兼容,但是在其它实施方案中可以是其它类型的接口。接口512将来自称为FCLK(或MEMCLK)域的第一时钟域的存储器访问请求转化至存储器控制器500内部的称为UCLK域的第二时钟域。类似地,队列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)响应,或用于gDDR5DRAM的写和读CRC响应。重放队列530访问ECC校验块542,以确定所返回ECC正确还是指示错误。重放队列530允许在这些周期中的一个周期的奇偶校验或CRC错误的情况下重放访问。
刷新逻辑532包括用于各种断电、刷新和终端电阻(ZQ)校准周期的状态机,所述状态机与从存储器访问代理接收的正常读和写存储器访问请求分开生成。例如,如果存储器区块处于预充电断电状态,则必须周期性地唤醒所述存储器区块以运行刷新周期。刷新逻辑532周期性地生成刷新命令,以防止由DRAM芯片中的存储器单元的存储电容器泄露电荷引起的数据错误。另外,刷新逻辑532周期性地校准ZQ,以防止由于系统中的热变化引起的片上终端电阻失配。
仲裁器538双向连接至命令队列520并且是存储器通道控制器510的核心。所述仲裁器通过智能调度访问以提高存储器总线的使用率来提高效率。通过基于DRAM定时参数确定命令队列520中的某些访问是否适于发布,仲裁器538使用定时块534来执行适当的定时关系。例如,每个DRAM具有激活命令之间的最小指定时间,称为“tRC”。定时块534保持一组计数器,所述计数器基于此定时参数以及JEDEC规范中指定的其它定时参数而确定合格性,并且定时块534双向连接至重放队列530。页面表536保存与仲裁器538的存储器通道的每个存储体和存储区块中的活动页面有关的状态信息,并且双向连接至重放队列530。
响应于从接口512接收的写存储器访问请求,ECC生成块544根据写数据计算ECC。DB 546存储写数据和用于接收到的存储器访问请求ECC。当仲裁器538选择分派至存储器通道的对应写访问时,所述DB将组合的写数据/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。配置寄存器562在AXI总线上进行编程,并且存储配置信息以控制存储器控制器500中的各个块的操作。因此,配置寄存器562具有连接至这些块的输出,这些块在图5中未详细示出。自刷新控制器566是除了由刷新逻辑532自动生成刷新之外还允许手动生成刷新的引擎。可靠的读/写定时引擎568出于所述目的将连续的存储器访问流提供至存储器或I/O装置,作为DDR接口最大读延迟(MRL)训练和环回测试。
存储器通道控制器510包括允许其选择分派至相关联存储器通道的存储器访问的电路。为了做出需要的仲裁决定,地址生成器522将地址信息解码成预解码信息,包括存储器系统中的存储区块、行地址、列地址、存储体地址和存储体组,并且命令队列520存储预解码信息。配置寄存器562存储配置信息以确定地址生成器522如何对接收到的地址信息进行解码。仲裁器538使用解码后的地址信息、由定时块534指示的定时合格性信息和由页面表536指示的活动页面信息来有效地调度存储器访问,同时遵守例如QoS要求的其它标准。例如,仲裁器538优先访问打开的页面,以避免改变存储器页面所需的预充电和激活命令的开销,并且通过将所述访问与对另一存储体的读和写访问交错来隐藏对一个存储体的开销访问。具体来说,在正常操作期间,仲裁器538通常在不同存储体中保持页面打开,直到所述存储体需要在选择不同页面之前进行预充电。
图6示出根据一些实施方案的图5的存储器控制器500可以使用的状态图600。状态图600是对应于存储器控制器500将使用的刷新命令类型的状态的图。状态图600包括自刷新状态602、刷新一状态(REF1)604、刷新二状态(REF2)606和刷新四状态(REF4)608。状态图600通过箭头表示状态转换,并且存储器控制器500响应于对应条件,包括条件610、612、614、616、618、620、622和624而执行状态转换。
在操作中,例如图5的存储器控制器500的存储器控制器连接至存储器访问代理并从存储器访问代理接收存储器访问请求,所述存储器访问代理例如,图2的CPU核心联合体210中的CPU核心或图形核心220。存储器控制器500还适于连接至图1的存储器系统120。如上所述,存储器系统120可以包括实施为图1中的DIMM 134、136和138的多个存储器区块。存储器控制器500包括例如图5的刷新逻辑532的刷新逻辑电路,用于周期性地生成对存储器系统120中的每个存储体或存储体组合的刷新周期。刷新逻辑532实施动态刷新模式,在所述动态刷新模式下,所述刷新逻辑以其响应于与待刷新的存储器存储体相关联的条件而自动选择的粒度生成刷新命令。
刷新逻辑532使用第一状态,即REF1状态604和第二状态,即REF2状态606或REF4状态608实施动态模式。REF1状态604对应于第一自动刷新命令REF1的使用,所述REF1导致存储器响应于刷新(REF)命令而自动刷新整个存储体。REF2状态606对应于第二自动刷新命令REF2的使用,所述REF2导致存储器响应于REF命令而自动刷新存储体的选定子集,在此实例中,存储体的二分之一。REF4状态608也对应于第三自动刷新命令REF4的使用,所述REF4导致存储器响应于REF命令而自动刷新存储体的较小选定子集,在此情况下,存储体的四分之一。存储器控制器290响应于检测到与待刷新的存储体有关的第一条件(分别是条件618或条件622)而在REF1状态604与REF2状态606或REF4状态608之间切换。存储器控制器290响应于检测到第二条件(分别是条件624或条件620)而从REF2状态606或REF4状态608切换至REF1状态604。
一般来说,刷新逻辑532以足以在刷新间隔参数tREFI指示的时间周期内刷新每个存储器存储体的速率发出刷新命令。在每个tREFI周期期间发出的刷新命令的数目取决于在当前刷新状态下发出的刷新命令的类型。如果存储体处于REF1状态604,则刷新逻辑532在每个tREFI周期期间将一个REF1命令提供至存储体,如果存储体处于REF2状态606,则刷新逻辑532在每个tREFI周期期间将两个REF2命令提供至存储体,或如果存储体处于REF4状态608,则刷新逻辑532在每个tREFI周期期间将四个REF4命令提供至存储体。
当对应存储器处于低功率状态时,刷新逻辑532处于自刷新状态602。当存储器控制器500导致存储器退出低功率状态时,刷新逻辑532从自刷新状态602转换至REF1状态604、REF2状态606和REF4状态608中的选定状态。在满足某些条件之前,如用于REF1状态604、REF2状态606和REF4状态608的状态转换632、634和636所指示,存储器控制器290保持在其当前状态下。
可以单独地或以各种组合使用用于在刷新状态之间切换的多个条件中的任一个条件。在所示实施方案中,这些条件包括对存储体的待处理刷新次数、在图5的命令队列520中对存储体的待处理存储器访问请求次数、对存储体的待处理存储器访问请求的优先级和/或类型(读或写),以及是否存在对给定存储体待处理的刷新条件,其中待处理刷新次数高于预定阈值。此外,尽管图6示出用于给定存储器区块中的单个存储体的刷新状态机,但是刷新状态机可以通过各种方式扩展至存储器系统的较大子集,例如,用于给定存储区块中的所有存储体以及用于多个存储区块中的对应存储体。
举一个简单例子,如果对存储体的待处理存储器访问请求次数高于阈值数量,则刷新逻辑532可以在REF1状态604与REF2状态606之间切换。此条件指示出较低延迟以及因此更精细的刷新粒度是优选的。另一方面,如果刷新逻辑532处于REF2状态606下,但是确定已发出偶数个REF2命令并且不存在对存储体的待处理存储器访问请求,则所述刷新逻辑从REF2状态606改变回REF1状态604以保持效率。刷新逻辑532进行从REF2状态606或REF4状态608的状态转换的前提条件是发出的刷新次数对应于一次刷新的存储体的部分。因此,刷新逻辑532如图5所示连接至仲裁器538以追踪这些条件。
图7以框图形式示出在不同存储器刷新状态下的刷新操作。图7的存储器刷新状态包括刷新一(REF1)状态700、刷新二(REF2)状态710和刷新四(REF4)状态720。REF1状态700包括在刷新开始之前的存储体702、在REF1命令期间的REF1_1存储体704以及刷新的存储体706。REF2状态710包括在刷新开始之前的存储体702、在第一REF2命令期间的REF2_1存储体714、在第二REF2命令期间的REF2_2存储体716以及刷新的存储体706。REF4状态720包括在刷新状态之前的存储体702、在第一REF4命令期间的REF4_1存储体724、在第二REF4命令期间的REF4_2存储体726、在第三REF4命令期间的REF4_3存储体728、在第四REF4命令期间的REF4_4存储体730以及刷新的存储体706。
REF1状态700对应于第一自动刷新命令,即REF1命令的使用,所述REF1命令导致存储器自动刷新一个或多个存储体702。当执行REF1命令时,刷新REF1存储体704,从而产生刷新的存储体706。
REF2状态710对应于第二自动刷新命令,即REF2命令的使用,所述REF2命令导致存储器在称为刷新间隔(tREFI)的周期内自动刷新存储体702的第一子集和第二子集,如通过REF2_1存储体714和REF2_2存储体716所示。REF2_1存储体714和REF2_2存储体716各自是存储体702的单独二分之一子集。
REF4状态720也对应于第三自动刷新命令,即REF4命令的使用,所述REF4命令导致存储器在tREFI周期内自动刷新存储体702的第一子集、第二子集、第三子集和第四子集。REF4_1存储体724、REF4_2存储体726、REF4_3存储体728和REF4_4存储体730对应于存储体702的刷新的第一子集、第二子集、第三子集和第四子集。REF4_1存储体724、REF4_2存储体726、REF4_3存储体728和REF4_4存储体730各自是REF4状态720内的存储体702的单独四分之一子集。
刷新次数必须对应于状态可以发生变化之前的子集总数。在一个实施方案中,接收第一自动刷新命令REF1,从而导致存储器自动刷新整个存储体,例如存储体702。响应于检测到第一条件,进行从REF1700至REF2 710或REF4 720的切换。当接收到REF2命令时,在满足条件之前,刷新总次数必须是2的倍数。当接收到REF4命令时,在满足条件之前,刷新总次数必须是4的倍数。
通过以比REF1模式更精细的粒度提供这些不同刷新模式,以及使用已由存储器控制器500追踪的待处理存储器访问请求的特征来动态地做出状态改变决策,存储器控制器500能够减少在高系统总线使用率的周期期间进入的存储器访问请求的延迟,同时在低系统总线使用率的周期期间更有效地刷新存储器存储体。
图8示出图5的存储器控制器500可以使用的方法800的流程图。在框802处,在第一状态下生成第一自动刷新命令。在框804处,在第二状态下生成第二自动刷新命令。在框806处,检测第一条件。在框808处进行第一状态与第二状态之间的切换。在框810处,检测第二条件。响应于在框810处检测第二条件,在框812处,在第二状态与第一状态之间进行切换。过程在结束框处结束。
图8中所示的一些或全部方法可以由指令控制,所述指令存储在计算机可读存储媒体中并且由至少一个处理器执行。图8中所示的操作中的每个操作可以对应于存储于非暂时性计算机存储器或计算机可读存储媒体中的指令。在各个实施方案中,非暂时性计算机可读存储媒体包括磁盘或光盘存储装置、例如闪存存储器的固态存储装置,或一个或多个其它非易失性存储器装置。存储在非暂时性计算机可读存储媒体上的计算机可读指令可以呈源代码、汇编语言代码、目标代码,或由一个或多个处理器解释或可执行的其它指令格式。
尽管已描述具体实施方案,但是本领域技术人员将明白对这些实施方案的各种修改。存储器控制器500可以介接到除了DDRx存储器之外的其它类型的存储器,例如,高带宽存储器(HBM)、RAMbus DRAM(RDRAM)等。尽管所示实施方案示出对应于单独DIMM的每个存储器区块,但是在其它实施方案中,每个DIMM可以支持多个存储区块。此外,存储器通道可以包括双速率版本4DDR4存储器的多个存储区块。
因此,所附权利要求书意图涵盖落入所公开实施方案的范围内的所公开实施方案的所有修改。
Claims (28)
1.一种存储器控制器,所述存储器控制器具有用于接收存储器访问请求的输入,以及用于向存储器系统提供存储器访问的输出,所述存储器控制器包括:
命令队列,用于接收所述存储器访问请求并具有多个条目以及用于提供选定存储器访问的输出;
仲裁器,所述仲裁器耦合至所述命令队列,用于从所述命令队列选择分派至所述存储器系统的条目;以及
刷新逻辑电路,所述刷新逻辑电路耦合至所述仲裁器,其中在动态刷新模式下,所述刷新逻辑电路以其响应于与待刷新的存储器存储体相关联的条件而自动选择的粒度生成对所述存储器系统的自动刷新命令,并在刷新间隔期间发出与所述粒度成反比的一定数目个自动刷新命令。
2.如权利要求1所述的存储器控制器,其中当处于第一状态时,所述刷新逻辑电路在所述刷新间隔期间提供第一自动刷新命令(REF1),所述第一自动刷新命令导致存储器自动刷新所有所述存储器存储体,并且当处于第二状态时,所述刷新逻辑电路在所述刷新间隔期间提供多个自动刷新命令,以自动刷新与所述多个自动刷新命令对应的所述存储器存储体的一部分。
3.如权利要求2所述的存储器控制器,其中当处于第二状态时,所述刷新逻辑电路在所述刷新间隔期间提供两个第二自动刷新命令(REF2),所述两个第二自动刷新命令中的每个第二自动刷新命令导致所述存储器自动刷新所述存储器存储体的二分之一。
4.如权利要求3所述的存储器控制器,其中当处于第三状态时,所述刷新逻辑电路在所述刷新间隔期间提供四个第三自动刷新命令(REF4),所述四个第三自动刷新命令中的每个第三自动刷新命令导致所述存储器自动刷新所述存储器存储体的四分之一。
5.如权利要求2所述的存储器控制器,其中所述刷新逻辑电路响应于对所述存储体的待处理刷新次数、对所述存储体的待处理请求次数、对所述存储器存储体的待处理请求的优先权,以及对所述存储体的待处理请求的类型中的一者或多者而在所述第一状态与所述第二状态之间过渡。
6.如权利要求2所述的存储器控制器,其中所述刷新逻辑电路响应于对所述存储器存储体的待处理存储器访问请求次数高于预定阈值而在所述第一状态与所述第二状态之间过渡。
7.如权利要求2所述的存储器控制器,其中所述刷新逻辑电路仅在发出与一次刷新的所述存储器存储体的一部分对应的一定数目个自动刷新命令之后在所述第二状态与所述第一状态之间过渡。
8.如权利要求7所述的存储器控制器,其中还当所述命令队列不存储对所述存储器存储体的存储器访问请求时,所述刷新逻辑电路在所述第二状态与所述第一状态之间过渡。
9.如权利要求1所述的存储器控制器,其中在所述动态刷新模式下,所述刷新逻辑电路以所述粒度生成对所述存储器系统的自动刷新命令,所述刷新逻辑电路针对所述存储器系统的给定存储区块中的所有存储体自动选择所述粒度。
10.如权利要求1所述的存储器控制器,其中在所述动态刷新模式下,所述刷新逻辑电路以所述粒度生成对所述存储器系统的自动刷新命令,所述刷新逻辑电路针对所述存储器系统的多个存储区块中的对应存储体自动选择所述粒度。
11.一种存储器控制器,所述存储器控制器包括:
接口,所述接口具有用于接收存储器访问请求的输入,以及输出;
解码器,所述解码器耦合至所述接口的所述输出,用于对所述存储器访问请求进行解码并作为响应,提供对应存储器访问;
命令队列,所述命令队列具有耦合至所述解码器的所述输出的第一输入、第二输入和输出,并具有多个条目;
仲裁器,所述仲裁器耦合至所述命令队列,用于向所述命令队列的所述第二输入提供自动刷新命令,从所述命令队列选择分派至存储器系统的条目;
第二队列,所述第二队列具有耦合至所述命令队列的所述输出的输入,以及用于耦合至存储器通道的输出;以及
刷新逻辑电路,所述刷新逻辑电路耦合至所述仲裁器,其中在动态刷新模式下,所述刷新逻辑电路以其响应于与待刷新的存储器存储体相关联的条件而自动选择的粒度生成对所述存储器系统的自动刷新命令,并在刷新间隔期间发出与所述粒度成反比的一定数目个自动刷新命令,并且向所述仲裁器提供所述自动刷新命令。
12.如权利要求11所述的存储器控制器,其中当处于第一状态时,所述刷新逻辑电路在所述刷新间隔期间提供第一自动刷新命令(REF1),所述第一自动刷新命令导致存储器自动刷新所有所述存储器存储体,并且当处于第二状态时,所述刷新逻辑电路在所述刷新间隔期间提供多个自动刷新命令,以自动刷新与所述多个自动刷新命令对应的所述存储器存储体的一部分。
13.如权利要求12所述的存储器控制器,其中当处于第二状态时,所述刷新逻辑电路在所述刷新间隔期间提供两个第二自动刷新命令(REF2),所述两个第二自动刷新命令中的每个第二自动刷新命令导致所述存储器自动刷新所述存储器存储体的二分之一。
14.如权利要求13所述的存储器控制器,其中当处于第三状态时,所述刷新逻辑电路在所述刷新间隔期间提供四个第三自动刷新命令(REF4),所述四个第三自动刷新命令中的每个第三自动刷新命令导致所述存储器自动刷新所述存储器存储体的四分之一。
15.如权利要求12所述的存储器控制器,其中所述刷新逻辑电路响应于对所述存储体的待处理刷新次数、对所述存储体的待处理请求次数、对所述存储器存储体的待处理请求的优先权,以及对所述存储体的待处理请求的类型中的一者或多者而在所述第一状态与所述第二状态之间过渡。
16.如权利要求12所述的存储器控制器,其中所述刷新逻辑电路响应于对所述存储器存储体的待处理存储器访问请求次数高于预定阈值而在所述第一状态与所述第二状态之间过渡。
17.如权利要求12所述的存储器控制器,其中所述刷新逻辑电路仅在发出与一次刷新的所述存储器存储体的一部分对应的一定数目个自动刷新命令之后在所述第二状态与所述第一状态之间过渡。
18.如权利要求17所述的存储器控制器,其中还当所述命令队列不存储对所述存储器存储体的存储器访问请求时,所述刷新逻辑电路在所述第二状态与所述第一状态之间过渡。
19.如权利要求11所述的存储器控制器,其中在所述动态刷新模式下,所述刷新逻辑电路以所述粒度生成对所述存储器系统的自动刷新命令,所述刷新逻辑电路针对所述存储器系统的给定存储区块中的所有存储体自动选择所述粒度。
20.如权利要求11所述的存储器控制器,其中在所述动态刷新模式下,所述刷新逻辑电路以所述粒度生成对所述存储器系统的自动刷新命令,所述刷新逻辑电路针对所述存储器系统的多个存储区块中的对应存储体自动选择所述粒度。
21.一种控制对存储器的访问的方法,所述方法包括:
接收存储器访问请求;
对所述存储器访问请求进行解码以提供解码后的存储器访问请求;
将所述解码后的存储器访问请求存储在命令队列中;
将自动刷新命令存储在所述命令队列中;
在所述命令队列中的所述解码后的存储器访问请求与所述自动刷新命令之间仲裁,以向所述存储器提供所述解码后的存储器访问请求和所述自动刷新命令中的选定一者;并且
在动态刷新模式下以响应于与待刷新的存储器存储体相关联的条件而自动选择的粒度生成所述自动刷新命令。
22.如权利要求21所述的方法,其中所述生成包括:在刷新间隔期间生成与所述粒度成反比的一定数目个自动刷新命令。
23.如权利要求22所述的方法,其中所述生成包括:当处于第一状态时,在所述刷新间隔期间提供第一自动刷新命令(REF1),所述第一自动刷新命令导致存储器自动刷新所有所述存储器存储体,并且当处于第二状态时,在所述刷新间隔期间提供两个第二自动刷新命令(REF2),所述两个第二自动刷新命令中的每个第二自动刷新命令导致所述存储器自动刷新所述存储器存储体的二分之一。
24.如权利要求23所述的方法,其中所述生成还包括:当处于第三状态时,在所述刷新间隔期间提供四个第三自动刷新命令(REF4),所述四个第三自动刷新命令中的每个第三自动刷新命令导致所述存储器自动刷新所述存储器存储体的四分之一。
25.如权利要求23所述的方法,还包括:响应于对所述命令队列中的所述存储器存储体的待处理刷新次数而在所述第一状态与所述第二状态之间过渡。
26.如权利要求25所述的方法,所述过渡包括:响应于对所述命令队列中的所述存储体的所述待处理刷新次数高于预定阈值而在所述第一状态与所述第二状态之间过渡。
27.如权利要求23所述的方法,还包括:当所述命令队列不存储对所述存储体的访问请求时,在所述第一状态与所述第二状态之间过渡。
28.如权利要求23所述的方法,还包括:仅在发出与在所述第二状态中一次刷新的所述存储体的一部分对应的一定数目个自动刷新命令之后在所述第二状态与所述第一状态之间过渡。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/164,721 US9576637B1 (en) | 2016-05-25 | 2016-05-25 | Fine granularity refresh |
US15/164,721 | 2016-05-25 | ||
CN201780030093.4A CN109155143B (zh) | 2016-05-25 | 2017-05-23 | 精细粒度刷新 |
PCT/US2017/034010 WO2017205378A1 (en) | 2016-05-25 | 2017-05-23 | Fine granularity refresh |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780030093.4A Division CN109155143B (zh) | 2016-05-25 | 2017-05-23 | 精细粒度刷新 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112506422A true CN112506422A (zh) | 2021-03-16 |
CN112506422B CN112506422B (zh) | 2022-12-20 |
Family
ID=58017784
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011204071.5A Active CN112506422B (zh) | 2016-05-25 | 2017-05-23 | 精细粒度刷新 |
CN201780030093.4A Active CN109155143B (zh) | 2016-05-25 | 2017-05-23 | 精细粒度刷新 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780030093.4A Active CN109155143B (zh) | 2016-05-25 | 2017-05-23 | 精细粒度刷新 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9576637B1 (zh) |
EP (2) | EP3965107A1 (zh) |
JP (1) | JP6730453B2 (zh) |
KR (1) | KR102235055B1 (zh) |
CN (2) | CN112506422B (zh) |
WO (1) | WO2017205378A1 (zh) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102346629B1 (ko) * | 2014-12-05 | 2022-01-03 | 삼성전자주식회사 | 메모리 접근 제어 방법 및 장치 |
US9576637B1 (en) * | 2016-05-25 | 2017-02-21 | Advanced Micro Devices, Inc. | Fine granularity refresh |
KR20180047778A (ko) * | 2016-11-01 | 2018-05-10 | 삼성전자주식회사 | 단계별 저전력 상태들을 갖는 메모리 장치 |
US10446215B1 (en) * | 2016-11-16 | 2019-10-15 | Cadence Design Systems, Inc. | System and method for adaptively optimized refresh of memory |
US10490251B2 (en) | 2017-01-30 | 2019-11-26 | Micron Technology, Inc. | Apparatuses and methods for distributing row hammer refresh events across a memory device |
CN106875971B (zh) * | 2017-02-16 | 2021-01-22 | 上海兆芯集成电路有限公司 | 动态随机存取存储器控制器及其控制方法 |
BR112019021554B1 (pt) * | 2017-04-14 | 2024-02-27 | Huawei Technologies Co., Ltd | Método de renovação de memória, controlador de memória, aparelho de renovação de memória, sistema de computador e meio de armazenamento legível por computador |
CN110520929B (zh) | 2017-04-14 | 2022-07-22 | 华为技术有限公司 | 内存刷新方法、装置及计算机系统 |
US10141041B1 (en) | 2017-11-01 | 2018-11-27 | Micron Technology, Inc. | Systems and methods for maintaining refresh operations of memory banks using a shared |
WO2019222960A1 (en) | 2018-05-24 | 2019-11-28 | Micron Technology, Inc. | Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling |
US10573370B2 (en) | 2018-07-02 | 2020-02-25 | Micron Technology, Inc. | Apparatus and methods for triggering row hammer address sampling |
CN110729006B (zh) | 2018-07-16 | 2022-07-05 | 超威半导体(上海)有限公司 | 存储器控制器中的刷新方案 |
US10535393B1 (en) * | 2018-07-21 | 2020-01-14 | Advanced Micro Devices, Inc. | Configuring dynamic random access memory refreshes for systems having multiple ranks of memory |
US10685696B2 (en) | 2018-10-31 | 2020-06-16 | Micron Technology, Inc. | Apparatuses and methods for access based refresh timing |
CN113168861B (zh) | 2018-12-03 | 2024-05-14 | 美光科技公司 | 执行行锤刷新操作的半导体装置 |
CN117198356A (zh) * | 2018-12-21 | 2023-12-08 | 美光科技公司 | 用于目标刷新操作的时序交错的设备和方法 |
US10957377B2 (en) | 2018-12-26 | 2021-03-23 | Micron Technology, Inc. | Apparatuses and methods for distributed targeted refresh operations |
US11615831B2 (en) | 2019-02-26 | 2023-03-28 | Micron Technology, Inc. | Apparatuses and methods for memory mat refresh sequencing |
US11227649B2 (en) | 2019-04-04 | 2022-01-18 | Micron Technology, Inc. | Apparatuses and methods for staggered timing of targeted refresh operations |
US10915451B2 (en) * | 2019-05-10 | 2021-02-09 | Samsung Electronics Co., Ltd. | Bandwidth boosted stacked memory |
US11069393B2 (en) | 2019-06-04 | 2021-07-20 | Micron Technology, Inc. | Apparatuses and methods for controlling steal rates |
US10978132B2 (en) | 2019-06-05 | 2021-04-13 | Micron Technology, Inc. | Apparatuses and methods for staggered timing of skipped refresh operations |
US10811076B1 (en) * | 2019-06-29 | 2020-10-20 | Intel Corporation | Battery life based on inhibited memory refreshes |
US11302374B2 (en) | 2019-08-23 | 2022-04-12 | Micron Technology, Inc. | Apparatuses and methods for dynamic refresh allocation |
US11302377B2 (en) | 2019-10-16 | 2022-04-12 | Micron Technology, Inc. | Apparatuses and methods for dynamic targeted refresh steals |
US11137941B2 (en) * | 2019-12-30 | 2021-10-05 | Advanced Micro Devices, Inc. | Command replay for non-volatile dual inline memory modules |
US11531601B2 (en) | 2019-12-30 | 2022-12-20 | Advanced Micro Devices, Inc. | Error recovery for non-volatile memory modules |
US11222685B2 (en) * | 2020-05-15 | 2022-01-11 | Advanced Micro Devices, Inc. | Refresh management for DRAM |
US11120860B1 (en) * | 2020-08-06 | 2021-09-14 | Micron Technology, Inc. | Staggering refresh address counters of a number of memory devices, and related methods, devices, and systems |
US11309010B2 (en) | 2020-08-14 | 2022-04-19 | Micron Technology, Inc. | Apparatuses, systems, and methods for memory directed access pause |
US11380382B2 (en) | 2020-08-19 | 2022-07-05 | Micron Technology, Inc. | Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit |
US11348631B2 (en) | 2020-08-19 | 2022-05-31 | Micron Technology, Inc. | Apparatuses, systems, and methods for identifying victim rows in a memory device which cannot be simultaneously refreshed |
US11809743B2 (en) * | 2020-09-21 | 2023-11-07 | Advanced Micro Devices, Inc. | Refresh management list for DRAM |
US11557331B2 (en) | 2020-09-23 | 2023-01-17 | Micron Technology, Inc. | Apparatuses and methods for controlling refresh operations |
US11222686B1 (en) | 2020-11-12 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for controlling refresh timing |
US11264079B1 (en) | 2020-12-18 | 2022-03-01 | Micron Technology, Inc. | Apparatuses and methods for row hammer based cache lockdown |
US11995008B2 (en) * | 2021-06-22 | 2024-05-28 | Advanced Micro Devices, Inc. | Memory controller with hybrid DRAM/persistent memory channel arbitration |
US11755246B2 (en) * | 2021-06-24 | 2023-09-12 | Advanced Micro Devices, Inc. | Efficient rank switching in multi-rank memory controller |
CN113823340B (zh) * | 2021-09-18 | 2023-08-25 | 长鑫存储技术有限公司 | 刷新命令保护方法及电路、存储器刷新方法及电路、设备 |
US20230178138A1 (en) * | 2021-12-08 | 2023-06-08 | Advanced Micro Devices, Inc. | Read clock start and stop for synchronous memories |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1530962A (zh) * | 2003-03-17 | 2004-09-22 | 富士通株式会社 | 具有刷新地址生成电路的半导体存储器件 |
CN101023417A (zh) * | 2004-06-08 | 2007-08-22 | 罗切斯特大学 | 对集群处理器中的通信并行性折衷的动态管理 |
CN103680593A (zh) * | 2012-08-30 | 2014-03-26 | 爱思开海力士有限公司 | 刷新控制电路和包括刷新控制电路的半导体存储器件 |
US20160078918A1 (en) * | 2014-09-11 | 2016-03-17 | SK Hynix Inc. | Memory device and memory system including the same |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226709B1 (en) | 1997-10-24 | 2001-05-01 | Compaq Computer Corporation | Memory refresh control system |
US6295586B1 (en) | 1998-12-04 | 2001-09-25 | Advanced Micro Devices, Inc. | Queue based memory controller |
JP4869011B2 (ja) * | 2006-09-29 | 2012-02-01 | 富士通セミコンダクター株式会社 | メモリシステム |
US7788414B2 (en) * | 2007-01-16 | 2010-08-31 | Lantiq Deutschland Gmbh | Memory controller and method of controlling a memory |
JP2011192343A (ja) * | 2010-03-12 | 2011-09-29 | Elpida Memory Inc | 半導体装置及びそのリフレッシュ制御方法並びにコンピュータシステム |
US8990490B2 (en) * | 2011-11-29 | 2015-03-24 | Rambus Inc. | Memory controller with reconfigurable hardware |
KR102021401B1 (ko) * | 2012-08-30 | 2019-11-04 | 에스케이하이닉스 주식회사 | 메모리 장치 |
US9734888B2 (en) * | 2013-12-11 | 2017-08-15 | SK Hynix Inc. | Address storage circuit and memory and memory system including the same |
US9412433B2 (en) * | 2014-01-22 | 2016-08-09 | Nanya Technology Corp. | Counter based design for temperature controlled refresh |
US9293188B2 (en) | 2014-02-03 | 2016-03-22 | Advanced Micro Devices, Inc. | Memory and memory controller for high reliability operation and method |
US9490002B2 (en) | 2014-07-24 | 2016-11-08 | Rambus Inc. | Reduced refresh power |
US9418723B2 (en) * | 2014-12-23 | 2016-08-16 | Intel Corporation | Techniques to reduce memory cell refreshes for a memory device |
US9576637B1 (en) * | 2016-05-25 | 2017-02-21 | Advanced Micro Devices, Inc. | Fine granularity refresh |
-
2016
- 2016-05-25 US US15/164,721 patent/US9576637B1/en active Active
-
2017
- 2017-01-17 US US15/408,126 patent/US9899074B2/en active Active
- 2017-05-23 JP JP2018556343A patent/JP6730453B2/ja active Active
- 2017-05-23 CN CN202011204071.5A patent/CN112506422B/zh active Active
- 2017-05-23 CN CN201780030093.4A patent/CN109155143B/zh active Active
- 2017-05-23 EP EP21204864.9A patent/EP3965107A1/en active Pending
- 2017-05-23 KR KR1020187030776A patent/KR102235055B1/ko active IP Right Grant
- 2017-05-23 EP EP17803423.7A patent/EP3433860B1/en active Active
- 2017-05-23 WO PCT/US2017/034010 patent/WO2017205378A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1530962A (zh) * | 2003-03-17 | 2004-09-22 | 富士通株式会社 | 具有刷新地址生成电路的半导体存储器件 |
CN101023417A (zh) * | 2004-06-08 | 2007-08-22 | 罗切斯特大学 | 对集群处理器中的通信并行性折衷的动态管理 |
CN103680593A (zh) * | 2012-08-30 | 2014-03-26 | 爱思开海力士有限公司 | 刷新控制电路和包括刷新控制电路的半导体存储器件 |
US20160078918A1 (en) * | 2014-09-11 | 2016-03-17 | SK Hynix Inc. | Memory device and memory system including the same |
Also Published As
Publication number | Publication date |
---|---|
EP3433860B1 (en) | 2021-12-01 |
US20170345482A1 (en) | 2017-11-30 |
CN109155143A (zh) | 2019-01-04 |
KR102235055B1 (ko) | 2021-04-01 |
EP3965107A1 (en) | 2022-03-09 |
EP3433860A1 (en) | 2019-01-30 |
JP2019519836A (ja) | 2019-07-11 |
JP6730453B2 (ja) | 2020-07-29 |
KR20190003517A (ko) | 2019-01-09 |
US9576637B1 (en) | 2017-02-21 |
CN109155143B (zh) | 2020-11-20 |
EP3433860A4 (en) | 2019-11-20 |
CN112506422B (zh) | 2022-12-20 |
WO2017205378A1 (en) | 2017-11-30 |
US9899074B2 (en) | 2018-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112506422B (zh) | 精细粒度刷新 | |
US11221772B2 (en) | Self refresh state machine mop array | |
CN109564556B (zh) | 具有条纹和读取/写入事务管理的存储器控制器仲裁器 | |
CN109690508B (zh) | 带虚拟控制器模式的存储器控制器 | |
CN109863481B (zh) | 用于平台裕度调节和调试的软件模式寄存器访问 | |
CN109219806B (zh) | 低功率存储器节流 | |
JP7357169B2 (ja) | Dramのリフレッシュ管理 |
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 |