CN117480484A - 存储器事务的路由 - Google Patents
存储器事务的路由 Download PDFInfo
- Publication number
- CN117480484A CN117480484A CN202180099264.5A CN202180099264A CN117480484A CN 117480484 A CN117480484 A CN 117480484A CN 202180099264 A CN202180099264 A CN 202180099264A CN 117480484 A CN117480484 A CN 117480484A
- Authority
- CN
- China
- Prior art keywords
- memory
- sub
- persistent
- persistent memory
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 426
- 230000002085 persistent effect Effects 0.000 claims abstract description 239
- 238000012545 processing Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000001514 detection method Methods 0.000 claims abstract description 6
- 230000009977 dual effect Effects 0.000 claims abstract description 6
- 238000012546 transfer Methods 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 7
- 238000011144 upstream manufacturing Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 15
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- COVKSLBAQCJQMS-UHFFFAOYSA-N 1-chloro-4-[(4-chlorophenoxy)methoxy]benzene Chemical compound C1=CC(Cl)=CC=C1OCOC1=CC=C(Cl)C=C1 COVKSLBAQCJQMS-UHFFFAOYSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/068—Hybrid storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
-
- 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
-
- 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)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
提供了一种用于处理数据的装置,包括持久性存储器电路、非持久性存储器电路和存储器控制器电路。存储器控制器电路提供两个或更多个存储器子通道并且每个存储器子通道用于持久性存储器电路和非持久性存储器电路中的至少一者的存储器访问事务的路由。存储器控制器电路具有通道选择电路,该通道选择电路用来检测两个或更多个存储器子通道中的一个存储器子通道上何时没有非持久性存储器事务,并且响应于该检测,将任何持久性存储器事务路由到两个或更多个存储器子通道中的另一不同存储器子通道。还提供了一种存储器控制器装置,一种持久性存储器双列直插式存储器模块,一种方法以及计算机程序。
Description
技术领域
本文描述的实施例概括而言涉及存储器事务的领域。更具体而言,实施例涉及在具有持久性和非持久性存储器的处理系统中的存储器事务的路由。
背景技术
处理系统中的存储器层次体系一直在演进,以适应对于不断增大的存储容量、减少的访问延时、改善的功率效率和更好的可靠性的计算需求。动态随机访问存储器(Dynamic Random Access Memory,DRAM)自从20世纪40年代起就已面世,而NAND闪存则自从20世纪80年代起就已面世。DRAM是非持久性(或易失性)的,并且需要电力来保持存储的数据,而NAND是持久性(或非易失性)存储器的一个示例。DRAM可用于处理系统的主存储器。NAND存储器具有有限数目的写入循环,因此会随着时间的推移而磨损,并且具有高于DRAM的访问延时。DRAM的性能优于NAND,但更昂贵并且密度更低,因此需要更多的DRAM模块才能达到与NAND相同的给定存储器容量。静态随机访问存储器(Static Random AccessMemory,SRAM)作为缓存层被引入,以适应不断提高的处理器时钟速度,并且弥补DRAM和NAND之间的延时差距。多级别缓存现在已很普遍。SRAM比DRAM更快并且更昂贵。
双列直插式存储器模块(Dual In-Line Memory Module,DIMM)包括安装在印刷电路板上的一系列DRAM电路(器件)并且可用于个人计算机、工作站和服务器中。DIMM最初变得流行是因为它们具有与64比特处理器总线宽度相匹配的64比特数据路径。DDR4 SDRAM具有高带宽(“双倍数据速率”)接口,并且在时钟信号的上升沿和下降沿都传送数据,从而使得数据总线带宽加倍,而在时钟频率中没有相应的增大。DIMM最初往往被安装在存储器总线上,并且只用于易失性存储器。然而,最近,DIMM也被用于非易失性存储器,并且与易失性存储器一起被安装在同一存储器总线上。这两种不同类型的DIMM(持久性和非持久性)可提供既能够具有高性能也能够具有低延时的主存储器。
“存储器阶列(memory rank)”是连接到同一芯片选择信号的一组DRAM芯片,因此可以被同时访问。每个“阶列”的芯片选择引脚是分开的,而数据引脚则可酌情在所有阶列之间共享。从而,不同的存储器阶列可以被独立地但非同时地访问。DIMM可具有一个或多于一个存储器阶列。DDR设备具有“自刷新”模式,这是一种低功率模式,在该模式中,时钟(或多个时钟)被停用以降低功率消耗,但通过使用内部刷新计数器执行刷新操作来保持数据。
处理系统(例如当今的数据中心)中的功率消耗通常很大,因此希望降低功率占用。功率管理单元(power management unit,PMU)可用于将处理系统的功率预算保持在目标范围内。PMU可通过若干种方法来实现处理系统中的功率节省。这些功率节省方法之一是,如果在存储器控制器的内部队列中没有去到某个存储器阶列的待处理事务,则在该存储器阶列级别使用DRAM自刷新模式。芯片设计者经常寻求新类型的功率节省。
附图说明
在附图中以示例方式而非限制方式图示了本文描述的实施例,附图中相似的标号指代相似的元素:
图1示意性图示了一种数据处理装置,该装置在单个通道上包括持久性存储器DIMM和非持久性存储器DIMM两者;
图2更详细地示意性图示了图1的两个不同DIMM,并且示出了存储器控制器如何提供用于执行存储器事务的单个通道的两个子通道;
图3示意性图示了双倍数据速率(DDR)非持久性存储器设备的组件,包括刷新计数器,用来实现自刷新模式;并且
图4示意性图示了图1或图2的装置中的存储器控制器与单个存储器通道和分量子通道之间的信号流。
具体实施方式
本公开的说明性实施例包括——但不限于——用于数据处理装置中的存储器事务路由的方法、系统和装置以及机器可读指令。
图1示意性图示了数据处理装置。该装置包括一组处理电路110,其中包括多个中央处理单元(central processing unit,CPU)112-1、112-2至112-n和一个或多个图形处理单元(Graphics Processing Unit,GPU)114。存储器控制器160具有SOC DDRIO 113,它是存储器控制器160中包括双倍数据速率输入和输出通道的电路,这些通道连接到馈送入DIMM172、174中的迹线。SOC DDRIO 113消耗的功率可以是其在驱动的任何读取和写入的带宽的函数。由于有两个或更多个DIMM,数据处理装置可能会有额外的功率成本,但相对于读取和写入带宽而言,这只是二阶影响。许多高DDRIO功率工作负载并不涉及相应繁重的处理电路功率,而以处理为中心的工作负载往往具有较低或中等的DDRIO使用率。
装置100还包括I/O系统120、一组功率管理电路140、(一个或多个)电压调节器150、存储器控制器160,该存储器控制器具有用于与持久性存储器DIMM 172对接的持久性存储器控制器组件162和用于与非持久性存储器DIMM 174对接的非持久性存储器控制器组件164。可能有多于一个电压调节器,但图1中示出了是单个电压调节器150作为简化示例。类似地,为了便于图示,图1中将存储器控制器160示为单组电路,但在一些示例中,在集成电路上可能存在多个存储器控制器实例,这与存在多个CPU 112-1至112-N的情况类似。所有组件都被布置为经由例如系统总线180与其他装置组件具有通信路径。可以提供其他总线(未示出),例如DDR总线。持久性存储器DIMM 172具有本地功率管理集成电路(PowerManagement Integrated Circuit,PMIC)173。非持久性存储器DIMM 172也具有本地功率管理集成电路(Power Management Integrated Circuit,PMIC)176,并且还包括寄存器时钟驱动器(Register Clock Driver,RCD)178。
功率管理电路140可控制向处理系统100的一个或多个组件供应电力。功率管理电路140可以耦合到(一个或多个)电压调节器150、处理电路110、I/O系统120和存储器控制器160中的至少一者。功率管理电路140可控制操作频率、操作电流或操作电压中的至少一者,以管理一个或多个CPU 112-1至112-n和GPU 114的功率消耗,来在给定时间段中将阈值平均功率维持在一定限度内。功率管理电路140可以实现一个或多个功率限制算法,以限制高于相应功率限制的功率峰值的持续时间,或者防止低于相应功率限制的电压峰值。(一个或多个)电压调节器150可向非持久性存储器DIMM 174的本地PMIC 176供应输入电压Vin。本地PMIC 176可将这个Vin分为两个或更多个不同的电压轨,来供非持久性存储器DIMM 174内使用。
DDRIO 113还可以从(一个或多个)主板电压调节器150接收电压供应。要注意,电压轨斜升和斜降可能是耗时的,而根据本技术,与经由电压斜降可能实现的相比,至少可以在非持久性存储器DIMM内在相对更快的时间尺度上实现功率节省。一般而言,存储器的频率并不特别重要。在较低电压下运行可限制存储器系统(例如DDR系统)上可实现的频率,并且频率可影响DIMM可消耗的最大功率量,但运行大多数存储器工作负载的功率对频率并不特别敏感,从而降低存储器频率的好处可能有限。PMIC 176使得能够实现电压斜坡和电平的可配置性以及电流监视,并且它还使得能够实现阈值保护、差错注入能力、可编程加电序列以及功率管理特征。PMIC 176还能配送VDD供应,有助于信号完好性和噪声。本地PMIC173和176的存在使得能够实现更好的DIMM级功率调节,并且通过减小DRAM和持久性存储器电力输送网络的范围来降低主板设计的复杂性。
非持久性存储器DIMM 174可包括若干种不同类型的非持久性存储器中的任何一种。然而,在此示例中,非持久性存储器DIMM是DDR5DIMM。联合电子设备工程委员会(JointElectron Device Engineering Council,JEDEC)取决于功率、性能和面积规格定义了若干种不同类别的DRAM。DDR的一种流行变体的DDR4,它经由使用存储器库组群组和高达16G比特的每管芯密度,提供了高达3200M比特/s的数据速率,1.2V的操作电压,以及性能增强。DDR5是一种JEDEC DDR变体,在1.1V的操作电压下,其数据速率相对于DDR4可增大达4800M比特/s。DDR5提供DIMM级PMIC 173、176、改进的存储器刷新、比DDR4更有效的数据通道使用、更大的存储器库组(memory bank)群组以提升性能,并且使得更容易支持更大的存储器容量。此外,它还提供了更新后的存储器体系结构,以更高效地使用数据通道。DDR5与DDR4之间的一个关键区别是向DDR5引入了子通道。在DDR5中有两个独立的子通道,每个子通道具有最多达两个物理封装阶列。根据2020年7月的JEDEC DDR5规范JESD79-5,可以将给定子通道的两个阶列中的一个置于自刷新模式中,同时保持子通道的另一个阶列活跃。如果活跃阶列的DDR5数据可以被重路由到不同的子通道,那么将两个阶列中只有一个处于自刷新模式中的子通道置于低功率模式中就可能是能够实现的。为了使得每个事务的DDR4数据有效载荷与子通道布局相匹配,DDR5突发长度被从8增大到16。突发长度的这种加倍意味着,对于给定的系统访问大小,用于满足相同数据量的数据输入/输出的数目可以减半,并且这促进了两个子通道。例如,突发长度为16的32个数据I/O可产生64字节有效载荷,并且从经组合的两个子通道的读取操作可提供128字节的输出。在DDR5中引入的两个独立子通道可提高并发性,并且可促进存储器控制器160更好地进行存储器访问调度。DDR5通道体系结构是40比特数据通道(32数据+8纠错码),并且对于每个DIMM有两个通道。作为对比,DDR4具有72比特数据通道(64数据+8ECC),并且对于每个DIMM有单个通道。
来自片上系统(System on Chip,SOC)的DDRIO 113的单个时钟(CLK)信号177作为输入被提供给非持久性存储器DIMM 174的RCD 178。这单个CLK信号177被RCD 178划分成两个信号,以支持两个独立的DDR5子通道。如果两个子通道中的任何一个是活跃的,那么来自DDRIO 113的CLK信号177仍然被利用,因此在先前已知的系统中不应当被关断以节省功率。然而,在RCD 178内,根据本技术,两个子通道时钟信号中的一个可以被停止,如果该子通道当前没有活跃流量的话。
在DDR4中,RCD 178将提供每左侧两个输出时钟,以及每右侧两个输出时钟。在DDR5中,DIMM的左侧和右侧的每一者由共享RCD 178的独立的40比特宽通道提供服务,该RCD 178提供每侧四个输出时钟。在具有x4 DRAM的最高密度DIMM中,这使得每组5个DRAM(单阶列、半通道)可以接收其自己的独立时钟。为每个阶列和子通道提供独立时钟可改善信号完好性。RCD 178的另一个输入是针对非持久性存储器DIMM 174的存储器访问命令。作为对比,各有40个数据引脚的两个子通道不被路由通过RCD。
持久性存储器DIMM 172与非持久性存储器DIMM 174一起存在于同一系统总线180上,并且可与之协同工作,以实现更高的总体存储器容量,或者通过DRAM缓存实现更好的性能。持久性存储器DIMM 172上的存储器的非易失性意味着,当处理系统关机或经历断电时,它可以保留数据。从而,具有两个DIMM组件173、174的系统存储器可被用作一种永久存储形式,类似于硬盘驱动器或固态驱动器,但具有类似于系统存储器的延时。从而,更多的数据可以被保存在更靠近处理电路110的位置,以实现更快的处理。本技术适用于任何在系统存储器级支持持久性存储器配置的处理系统。持久性存储器控制器162可以使用专用的持久性存储器协议与持久性存储器DIMM 172相对接,例如,英特尔(Intel)专有的DDR-T或DDRT2协议,这些协议支持异步命令和数据定时,相对于先前的CPU管理的DIMM实现了改善的控制。主机存储器控制器162可经由持久性存储器协议控制数据总线方向和时序。非持久性存储器控制器164可使用诸如JEDEC DDR协议之类的协议与非持久性存储器DIMM 174相对接,该协议自2000年起已标准化并且在此后被数次更新。持久性存储器协议和DDR协议都可在同一物理总线上提供,该物理总线是连接到DIMM 173、176的DDR总线(未示出)。
图2更详细地示意性图示了图1的持久性和非持久性存储器DIMM,并且示出了全局存储器控制器如何提供用于执行存储器事务的两个不同的子通道261和263。这两个不同的子通道可以是DDR5子通道。在其他示例中,可以提供两个以上的子通道。图2示出了存储器控制器260,它具有存储器事务调度电路266-1、266-2、268,用来调度与持久性存储器DIMM272的持久性存储器事务和与非持久性存储器DIMM 274的非持久性存储器事务。存储器控制器260可被视为全局存储器控制器,这是因为它控制持久性和非持久性存储器事务两者,而不是只控制其中之一。作为存储器控制器260的一部分,存在第一非持久性存储器“SC0”调度器266-1,用来调度子通道0上的存储器事务,以及第二非持久性存储器“SC1”调度器266-2,用来调度子通道1上的存储器事务。去往持久性存储器DIMM 272的存储器事务也由相应的持久性存储器调度器268跨两个不同的DDR5子通道261和263进行调度。持久性存储器DIMM具有PMIC 272,用来在本地管理功率,类似于非持久性存储器DIMM 274中的相应组件。
根据本技术,如果确定SC0或SC1上没有活跃的DDR5流量,但在没有DDR5流量的子通道上有活跃的持久性存储器流量,则可以对持久性存储器流量进行重定向,以确保其在当前确实有活跃DDR5流量的子通道上被优先服务。
为了执行优先选择要将活跃持久性存储器流量路由到的子通道以避开没有活跃非持久性存储器流量的子通道的功能,提供了第一组通道选择电路269,用来与持久性存储器调度器268合作选择适当的子通道。第一通道选择电路269可以通过多种不同方式中的任何一种确定适当的子通道,例如通过检查子通道0的一个或多个DDR设备292或子通道1的一个或多个DDR设备294当前是否处于功率降低模式中,例如自刷新模式。第一通道选择电路269可优先将任何活跃的持久性存储器事务引导至这样的子通道:该子通道当前不处于降低功率模式中,或者预期不会由于活跃DDR5事务较少或完全不存在而即将转变到降低功率模式中。
非持久性存储器DIMM 274包括与子通道0相对应的第一多个DDR设备292和与子通道1相对应的第二多个DDR设备294。在一个示例中,在非持久性存储器DIMM 275是DDR5DIMM的情况下,两个不同子通道的每一者可具有一个或多个阶列的DDR设备。在一个实现方式中,DDR5中的单个阶列包括十个DDR设备,每个设备占用关联子通道的40个引脚中的4个。在一些示例中,非持久性存储器DIMM 274可具有每子通道单个阶列,但在其他示例中,它可具有每子通道两个或更多个阶列。
根据本技术,一个或多个阶列的DIMM设备292、294可以被置于自刷新模式中。自刷新模式可以使用刷新计数器340来实现,如下文参考图3所述。非持久性存储器DIMM 274还包括本地PMIC 276和RCD 278。如图1所示,RCD 278从存储器控制器中的DDRIO电路213接收CLK,并且接收命令。DDR设备292经由第一组40个引脚(在本DDR5示例中)接收存储器事务数据,并且DDR设备294经由另一组40个引脚接收存储器事务数据。来自DDRIO电路213的CLK在RCD 278内被分成两个信号:服务于子通道0的第一子时钟信号CLK0和关联的DDRIO0,以及服务于子通道1的第二子时钟信号CLK1和关联的DDRIO1。在2020年7月发布并且可在https://www.jedec.org/standards-documents/docs/jesd79-5处访问的当前版本的JEDEC DDR5规范“DDR5 SDRAM”JESD79-5中,至少一些引脚是两个不同的子通道共用的。在当前版本的DDR5标准中,每个子通道有40个引脚,在本示例中给出了每个DIMM总共80个引脚,但在其他示例中,引脚的数目可能是不同的。从而,即使两个子通道中的一个(比如子通道0)上当前没有活跃流量,那么保持两个子通道的(一个或多个)DDRIO时钟接通也可能是适当的,如图4的上部所示(在下文描述)。
图4示意性图示了图1或图2的装置中的存储器控制器460与单个存储器通道480之间的信号流。存储器通道480包括单个DDR5子通道0482、持久性存储器子通道0 484和另一个持久性存储器子通道1 486。注意,持久性存储器子通道0 484和DDRT 5子通道0代表不同的逻辑通道,它们共享同一物理通道即子通道0上的带宽。
图4的上半部分示意性图示了当在DDR5子通道上实现自刷新而不应用本技术的持久性存储器流量调度时可能发生的信号流。本技术包括在子通道没有活跃DDR5(或其他类似的非持久性存储器)流量时利用单子通道模式。首先,存储器控制器460经由调度信息(或以其它方式)确定子通道0上当前没有活跃DDR5事务。因此,存储器控制器向DDR 5子通道0482发出自刷新(self refresh,SR)命令,但也继续经由子通道0向持久性存储器DIMM发出作为请求的存储器事务,并且经由子通道1向持久性存储器DIMM发出进一步请求。尽管子通道0上没有活跃的DDR5流量,但子通道0DDRIO时钟(参见图2中的RCD 278的DDRIO中的时钟信号CLK0)仍保持接通,并且这是适当的,因为子通道0上仍有持久性存储器流量。
图4的下半部分示意性图示了当应用本技术时,当在DDR5子通道上实现自刷新时可能发生的信号流。根据本技术,当没有活跃流量去到DDR5子通道0时,与图4的上半部分类似,存储器控制器460会向与子通道0相对应的至少一个阶列的DDR设备发出自刷新命令。存储器控制器还响应于确定子通道0上没有DDR5流量,将所有传入的持久性存储器事务路由到持久性存储器DIMM的子通道1,避免任何进一步将事务分配到子通道0。虽然此命令将任何传入的事务从子通道0转移,但在子通道0上的所有活跃DDR5流量停止时,持久性存储器DIMM中的具有去往子通道0的数据的数据缓冲器可能已经在存储数据。然而,第二通道选择电路296可用来将任何这种缓冲的流量向上游路由到存储器控制器460,以便从子通道0转移到子通道1。本技术可以在第一通道选择电路269和第二通道选择电路296之间没有任何直接通信的情况下实现。在一些示例中,功率管理电路140可以协调第一和第二通道选择电路269、296的活动,以实现如图4中所示的通信流序列。没有任何来自子通道0的持久性和非持久性活跃流量,这意味着可以向子通道0发送低功率命令。此外,存储器控制器420可以向RCD 278发送命令,指示RCD 279关断DDRIO0中的(一个或多个)子通道零时钟CLK0。
注意,虽然可以假定对于某些数据处理系统,例如在可能大量使用存储器交织的服务器环境中,在不同子通道之一上没有活跃流量的任何时间段都可能是不频繁的,但事实并非如此。事实上,当数据处理系统在同一DDRIO通道上既有DDR5也有持久性存储器DIMM272时,并且在持久性存储器DIMM 272在持久性模式中操作的情况下,工作负载很可能有两个不相连的地址范围,一个用于DDR5,另一个用于持久性存储器(例如,DDRT或DDRT2)。工作负载可以选择这些地址范围中的任一个或另一个,从而预期对DDR5 DIMM 274和持久性存储器DIMM 272的存储器访问不太可能是同步的。从而,尽管在至少一个子通道上有活跃的持久性存储器流量,但预期会经常有这样的时段:此时没有去到一个或两个子通道的活跃DDR5流量。
图3示意性地图示了图2的非持久性存储器DIMM 274的DDR设备292、294之一的内部组件。DDR设备300包括存储器阵列库组310、控制电路320、地址寄存器330,该地址寄存器330向一组地址解码电路332提供地址。可以设置刷新计数器340,以将库组存储器阵列310置于自刷新模式中。在一些示例中,非持久性存储器DIMM 274上的属于同一阶列的所有DDR设备同时被置于自刷新模式中。DDR设备还包括接口电路350和一组数据输入/输出寄存器360。
DRAM设备(与SRAM不同)可以被周期性地刷新以便保持数据有效。刷新存储器包括就简单地将数据从库组存储器阵列310读出,然后再将数据写回。在正常操作期间,非持久性存储器控制器164(参见图1)会周期性地发出刷新命令,以刷新设备的一部分。整个设备被周期性地刷新(比如在数十毫秒的量级)。在不使用给定通道时,可以将该通道上的一个或多个DIMM置于自刷新状态中,在该状态中由DIMM自身负责处理自刷新。这种状态既能节省DIMM上的功率,又允许了在处理电路、存储器控制器和I/O中节省额外的功率。例如,在实现自刷新时,数据I/O寄存器以及可能关联的I/F电路也可被置于低功率模式中。
额外的功率节省可能会伴随着延时成本。自刷新有不同的模式,这些模式提供不同的功率节省并且具有不同的延时特性。带时钟停止的自刷新和不带时钟停止的自刷新是不同自刷新模式的两个示例。在一些示例中,时钟信号可以是一对差分时钟信号,用于在处理电路110和非持久性存储器DIMM 174之间驱动数据。
对于带有时钟停止的自刷新(SR),对于16Gb设备,SR退出时间可能约为一个刷新周期时间的2倍,而对于8Gb设备,约为一个刷新周期时间的3倍。然而,在这两种情况下,REF、ACT和少数其他命令都可能只在单个刷新周期之后就被发出。即使在活跃模式中,即,即使通道未处于自刷新,任何请求也可能随机地经历一个刷新周期的延迟。通过对传入流量的某种提早检测,可以进一步降低自刷新退出时间对存储器流量的任何不利影响。
在本技术之前的系统中,自刷新是以通道粒度而非子通道粒度执行的,并且其往往具有更长的退出延时,因此其经常被用于在数据处理系统完全空闲时节省功率。在本技术之前,活跃系统中的自刷新驻留率可能是较低的,而根据本技术,一个或多个子通道可被置于自刷新模式中,同时持久性存储器事务可被转移到不同的子通道,以提高功率节省潜力。
根据本技术,在非持久性存储器DIMM 174和用于x4 DDR5 DIMM的DDRIO 113上的40个DQ(数据)引脚、10对DQS(数据选通)引脚和一个子通道命令总线上可以节省空闲功率。DDR5 DIMM 274上的自刷新可以在系统上节省大量功率,并且在DCPMM DIMM与DDR5 DIMM一起被安装在同一通道上的数据处理装置中,以及在去到持久性存储器DIMM 172的流量仍在发生而DDR5流量至少在短时间内不可用的场景中,本技术为DDR5 DIMM中在子通道级实现自刷新(带有/不带有时钟停止)提供了机会。此外,带有时钟停止模式的自刷新与功率管理电路140实现的电压和频率缩放功率控制(例如,“C状态”)配对,那么任何自刷新延时(如果显著的话)都有可能通过与任何长延时操作(例如改变操作电压或锁定锁相环)并行地执行它来抵消。
在图2中,持久性存储器DIMM 272包括多个持久性存储器设备282-1至282-N,例如DC持久性存储器设备(DC Persistent Memory device,DCPMM),这些设备由持久性存储器DIMM 272本地的DCPMM存储器控制器262控制。图2示例的持久性存储器DIMM 272既具有单子通道操作模式也具有双通道操作模式。根据本技术,提供了包括第二通道选择电路296在内的新的一组电路,作为持久性存储器DIMM 272的一部分。这个第二通道选择电路296执行以下功能:将持久性存储器DIMM 272本地的任何待处理流量向上游路由回到存储器控制器260,以便在持久性存储器调度器最近或正在将持久性存储器流量从一个子通道转移到不同子通道的情况下,为该流量适当地选择子通道,来最大限度地减少这两个子通道之一上的任何类型的活跃流量。T
存储器控制器260——可能与持久性存储器DIMM 272的DCPM存储器控制器262合作——可将持久性存储器DIMM 272置于单子通道操作模式中,以选择具有最活跃DDR5流量的子通道。第二通道选择电路296的存在允许了否则可能在触发实现自刷新过程来“引退”DIMM中的子通道0上的待处理的持久性存储器事务时必须引发的任何延迟。在子通道之一上的DDR5活动消失时调用自刷新的任何延迟否则都可能对可用的功率节省机会产生负面影响。
上述示例的持久性存储器DIMM可以实现为例如英特尔OptaneTMDC持久性存储器(DCPMM),并且可以实现英特尔专有协议,例如DDR-T协议。
在本说明书中,短语“A或B中的至少一者”和短语“A和B中的至少一者”应当被解释为意指按任意和所有的排列组合共同和单独考虑的所列出的多个项目A、B等等中的任何一个或多个。
在功能单元被描述为电路的情况下,电路可以是由程序代码配置来执行指定的处理功能的通用处理器电路。也可以通过对处理硬件的修改来配置电路。配置电路以执行指定的功能可以完全用硬件进行,完全用软件进行,或者使用硬件修改和软件执行的组合来进行。程序指令可用于配置通用或专用处理器电路的逻辑门以执行处理功能。
电路可例如被实现为硬件电路,该硬件电路包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器,等等)、集成电路、专用集成电路(applicationspecific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组,等等。
处理器可包括通用处理器,处理通过计算机网络传达的数据的网络处理器,或者其他类型的处理器,包括精简指令集计算机RISC或者复杂指令集计算机CISC。处理器可具有单核心或多核心设计。多核心处理器可以在同一集成电路管芯上集成不同的处理器核心类型。
可以在暂态介质(例如传输介质)或者非暂态介质(例如存储介质)上提供机器可读程序指令。可以用高级过程编程语言或者面向对象的编程语言来实现这种机器可读指令(计算机程序代码)。然而,如果希望的话,可以用汇编或机器语言来实现(一个或多个)程序。在任何情况下,该语言可以是经编译或者解释的语言,并且与硬件实现方式相结合。
本发明的实施例适用于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组组件、可编程逻辑阵列(programmablelogic array,PLA)、存储器芯片、网络芯片,等等。在一些实施例中,本文描述的一个或多个组件可以体现为片上系统(System On Chip,SOC)器件。SOC可包括例如一个或多个中央处理单元(Central Processing Unit,CPU)核心、一个或多个图形处理单元(GraphicsProcessing Unit,GPU)核心、输入/输出接口以及存储器控制器。在一些实施例中,SOC及其组件可被提供于一个或多个集成电路管芯上,例如,被封装到单个半导体器件中。
以下示例涉及进一步的实施例。
示例
示例1是一种用于处理数据的装置,包括:
持久性存储器电路;
非持久性存储器电路;
存储器控制器电路,用来提供两个或更多个存储器子通道,每个存储器子通道用于所述持久性存储器电路和所述非持久性存储器电路中的至少一者的存储器访问事务的路由;
其中,所述存储器控制器电路包括通道选择电路,该通道选择电路用来检测所述两个或更多个存储器子通道中的一个存储器子通道上何时没有非持久性存储器事务,并且响应于该检测,将任何持久性存储器事务路由到所述两个或更多个存储器子通道中的另一不同存储器子通道。
示例2可以是如示例1所述的装置,包括功率管理电路,用来响应于检测到所述一个存储器子通道上没有非持久性存储器事务而将该子通道从较高功率模式转变到较低功率模式。
示例3可以是如示例1或示例2所述的装置,其中,所述存储器控制器电路包括全局存储器控制器组件和本地存储器控制器组件,所述全局存储器控制器组件用来控制持久性存储器事务和非持久性存储器事务两者,所述本地存储器控制器组件专门用来控制持久性存储器事务。
示例4可以是如示例3所述的装置,其中,所述本地存储器控制器组件用来将任何持久性存储器事务向上游路由到所述全局存储器控制器,并且其中,所述全局存储器控制器用来将所述两个或更多个存储器子通道中的一者分配用于持久性存储器事务的路由。
示例5可以是如示例4所述的装置,其中,所述全局存储器控制器包括持久性存储器调度器和至少一个非持久性存储器调度器,所述持久性存储器调度器用来调度持久性存储器事务,所述非持久性存储器调度器用来调度非持久性存储器事务。
示例6可以是如示例5所述的装置,其中,所述全局存储器控制器组件或者是所述持久性存储器调度器的一部分,或者与所述持久性存储器调度器合作,来将持久性存储器事务路由到所述两个或更多个存储器子通道中的一者。
示例7可以是如示例2所述的装置,其中,所述非持久性存储器电路和所述持久性存储器电路中的至少一者包括双列直插式存储器模块DIMM.
示例8可以是如示例7所述的装置,其中,所述非持久性存储器电路是包括多个双倍数据速率DDR存储器设备的DIMM。
示例9可以是如示例7所述的装置,其中,其上没有非持久性存储器事务的所述一个存储器子通道是DDR子通道,并且其中,将所述DDR子通道转变到所述较低功率模式包括:所述存储器控制器电路向所述DDR子通道发出自刷新命令。
示例10可以是如示例8所述的装置,其中,所述DIMM包括DDR输入/输出电路,并且其中,将所述一个存储器子通道转变到所述较低功率模式还包括:向所述DDR输入/输出电路发送用来关断时钟的控制信号。
示例11可以是如示例7至10中的任一项所述的装置,其中,所述DIMM的DDR存储器设备遵从联合电子设备工程委员会JDEC DDR5存储器规范或更后来的规范。
示例12可以是如示例1至11中的任一项所述的装置,包括处理电路,用来为所述持久性存储器电路或所述非持久性存储器电路发出一个或多个存储器事务。
示例13是一种双列直插式存储器模块DIMM,包括:
两个或更多个持久性存储器设备;
本地存储器控制器电路,用来使用两个或更多个存储器子通道控制持久性存储器事务的处理,所述持久性存储器事务与所述持久性存储器设备中的一者或多者相对应,所述两个或更多个存储器子通道是与非持久性存储器DIMM的事务共享的;
通道选择电路,用来重定向与所述两个或更多个存储器子通道中的当前没有活跃持久性存储器事务的一个存储器子通道相对应的任何当前待处理的持久性存储器访问事务,其中,所述重定向将任何待处理的事务从所述一个存储器子通道转移到另一不同存储器子通道。
示例14可以是如示例13所述的DIMM,其中,所述一个存储器子通道的待处理存储器事务被向上游重定向到全局存储器控制器电路,该全局存储器控制器电路具有用于所述持久性存储器DIMM和所述非持久性存储器DIMM两者的调度电路。
示例15是一种全局存储器控制器电路,包括:
第一调度电路,用来调度与非持久性存储器事务相对应的存储器事务;
第二调度电路,用来调度与非持久性存储器事务相对应的存储器事务;以及
通道选择逻辑,用来从两个或更多个子通道中,选择用于为持久性存储器事务服务的至少一个子通道,所述选择避免将当前处于自刷新操作模式的子通道用来处理所述持久性存储器事务。
示例16可以是如示例15所述的全局存储器控制器电路,其中,所述非持久性存储器事务和所述持久性存储器事务中的至少一者是DIMM事务。
示例17可以是如示例15所述的全局存储器控制器,其中,所述持久性存储器事务将由持久性存储器DIMM执行,并且其中,所述通道选择逻辑用来将所述持久性存储器DIMM置于单子通道模式,以针对所述非持久性存储器避开当前处于自刷新操作模式的子通道。
示例18是一种路由存储器事务的方法,该方法包括:
提供两个或更多个存储器子通道,每个存储器子通道用于持久性存储器设备和非持久性存储器设备中的至少一者的存储器访问事务的路由;
检测在所述两个或更多个存储器子通道中的一个存储器子通道上不存在非持久性存储器事务,并且响应于该检测,将任何持久性存储器事务路由到所述两个或更多个存储器子通道中的另一不同存储器子通道来进行服务。
示例19可以是如示例18所述的方法,包括响应于在所述两个或更多个存储器子通道中的一个存储器子通道上没有非持久性存储器事务,向所述一个存储器子通道发出自刷新命令以在非持久性存储器设备中执行自刷新。
示例20是一种在暂态或非暂态介质上提供的机器可读指令,所述指令用来实现如示例18或示例19所述的方法。
示例21是一种用于处理数据的装置,包括:
用于数据的持久性存储的装置;
用于数据的非持久性存储的装置;
用于控制存储器并且用于提供两个或更多个存储器子通道的装置,每个存储器子通道用于路由所述用于数据的持久性存储的装置和所述用于数据的非持久性存储的装置中的至少一者的存储器访问事务;
其中,用于控制存储器的装置包括用于通道选择的装置,该用于通道选择的装置用来检测所述两个或更多个存储器子通道中的一个存储器子通道上何时没有非持久性存储器事务,并且响应于该检测,将任何持久性存储器事务路由到所述两个或更多个存储器子通道中的另一不同存储器子通道。
示例22是一种用于控制存储器的装置,包括:
用于执行第一调度来调度与非持久性存储器事务相对应的存储器事务的装置;
用于执行第二调度来调度与非持久性存储器事务相对应的存储器事务的装置;以及
用于信道选择的装置,用来从两个或更多个子通道中选择至少一个子通道来为持久性存储器事务服务,所述选择避免将当前处于自刷新操作模式的子通道用来处理所述持久性存储器事务。
示例23是如示例21或示例22所述的装置,包括用于控制功率的装置,用来响应于检测到所述一个存储器子通道上没有非持久性存储器事务而将该子通道从较高功率模式转变到较低功率模式。
示例24是一种集成电路,包括:
用于数据的持久性存储的两个或更多个装置;
用于使用两个或更多个存储器子通道控制持久性存储器事务的处理的装置,所述持久性存储器事务与用于持久性存储的装置中的一者或多者相对应,所述两个或更多个存储器子通道是与用于数据的非持久性存储的装置的事务共享的;
用于通道选择的装置,用来重定向与所述两个或更多个存储器子通道中的当前没有活跃持久性存储器事务的一个存储器子通道相对应的任何当前待处理的持久性存储器访问事务,其中,所述重定向将任何待处理的事务从所述一个存储器子通道转移到另一不同存储器子通道。
示例25是如示例24所述的集成电路,包括用于控制功率的装置,用来响应于检测到所述一个存储器子通道上没有非持久性存储器事务而将该子通道从较高功率模式转变到较低功率模式。
Claims (25)
1.一种用于处理数据的装置,包括:
持久性存储器电路;
非持久性存储器电路;
存储器控制器电路,用来提供两个或更多个存储器子通道,每个存储器子通道用于所述持久性存储器电路和所述非持久性存储器电路中的至少一者的存储器访问事务的路由;
其中,所述存储器控制器电路包括通道选择电路,该通道选择电路用来检测所述两个或更多个存储器子通道中的一个存储器子通道上何时没有非持久性存储器事务,并且响应于该检测,将任何持久性存储器事务路由到所述两个或更多个存储器子通道中的另一不同存储器子通道。
2.如权利要求1所述的装置,包括功率管理电路,用来响应于检测到所述一个存储器子通道上没有非持久性存储器事务而将该子通道从较高功率模式转变到较低功率模式。
3.如权利要求1所述的装置,其中,所述存储器控制器电路包括全局存储器控制器组件和本地存储器控制器组件,所述全局存储器控制器组件用来控制持久性存储器事务和非持久性存储器事务两者,所述本地存储器控制器组件专门用来控制持久性存储器事务。
4.如权利要求3所述的装置,其中,所述本地存储器控制器组件用来将任何持久性存储器事务向上游路由到所述全局存储器控制器,并且其中,所述全局存储器控制器用来将所述两个或更多个存储器子通道中的一者分配用于所述持久性存储器事务的路由。
5.如权利要求4所述的装置,其中,所述全局存储器控制器包括持久性存储器调度器和至少一个非持久性存储器调度器,所述持久性存储器调度器用来调度持久性存储器事务,所述非持久性存储器调度器用来调度非持久性存储器事务。
6.如权利要求5所述的装置,其中,所述全局存储器控制器组件或者是所述持久性存储器调度器的一部分,或者与所述持久性存储器调度器合作,来将持久性存储器事务路由到所述两个或更多个存储器子通道中的一者。
7.如权利要求2所述的装置,其中,所述非持久性存储器电路和所述持久性存储器电路中的至少一者包括双列直插式存储器模块DIMM。
8.如权利要求7所述的装置,其中,所述非持久性存储器电路是包括多个双倍数据速率DDR存储器设备的DIMM。
9.如权利要求7所述的装置,其中,其上没有非持久性存储器事务的所述一个存储器子通道是DDR子通道,并且其中,将所述DDR子通道转变到所述较低功率模式包括:所述存储器控制器电路向所述DDR子通道发出自刷新命令。
10.如权利要求8所述的装置,其中,所述DIMM包括DDR输入/输出电路,并且其中,将所述一个存储器子通道转变到所述较低功率模式还包括:向所述DDR输入/输出电路发送用来关断时钟的控制信号。
11.如权利要求7所述的装置,其中,所述DIMM的DDR存储器设备遵从联合电子设备工程委员会JDEC DDR5存储器规范或更后来的规范。
12.如权利要求1所述的装置,包括处理电路,用来为所述持久性存储器电路或所述非持久性存储器电路发出一个或多个存储器事务。
13.一种双列直插式存储器模块DIMM,包括:
两个或更多个持久性存储器设备;
本地存储器控制器电路,用来使用两个或更多个存储器子通道控制持久性存储器事务的处理,所述持久性存储器事务与所述持久性存储器设备中的一者或多者相对应,所述两个或更多个存储器子通道是与非持久性存储器DIMM的事务共享的;
通道选择电路,用来重定向与所述两个或更多个存储器子通道中的当前没有活跃持久性存储器事务的一个存储器子通道相对应的任何当前待处理的持久性存储器访问事务,其中,所述重定向将任何待处理的事务从所述一个存储器子通道转移到另一不同存储器子通道。
14.如权利要求13所述的DIMM,其中,所述一个存储器子通道的待处理存储器事务被向上游重定向到全局存储器控制器电路,该全局存储器控制器电路具有用于所述持久性存储器DIMM和所述非持久性存储器DIMM两者的调度电路。
15.一种全局存储器控制器电路,包括:
第一调度电路,用来调度与非持久性存储器事务相对应的存储器事务;
第二调度电路,用来调度与非持久性存储器事务相对应的存储器事务;以及
通道选择逻辑,用来从两个或更多个子通道中,选择用于为持久性存储器事务服务的至少一个子通道,所述选择避免将当前处于自刷新操作模式的子通道用来处理所述持久性存储器事务。
16.如权利要求15所述的全局存储器控制器电路,其中,所述非持久性存储器事务和所述持久性存储器事务中的至少一者是DIMM事务。
17.如权利要求15所述的全局存储器控制器,其中,所述持久性存储器事务将由持久性存储器DIMM执行,并且其中,所述通道选择逻辑用来将所述持久性存储器DIMM置于单子通道模式,以针对所述非持久性存储器避开当前处于自刷新操作模式的子通道。
18.一种路由存储器事务的方法,该方法包括:
提供两个或更多个存储器子通道,每个存储器子通道用于持久性存储器设备和非持久性存储器设备中的至少一者的存储器访问事务的路由;
检测在所述两个或更多个存储器子通道中的一个存储器子通道上不存在非持久性存储器事务,并且响应于该检测,将任何持久性存储器事务路由到所述两个或更多个存储器子通道中的另一不同存储器子通道来进行服务。
19.如权利要求18所述的方法,包括响应于在所述两个或更多个存储器子通道中的一个存储器子通道上没有非持久性存储器事务,向所述一个存储器子通道发出自刷新命令以在非持久性存储器设备中执行自刷新。
20.一种在非暂态介质上提供的机器可读指令,所述指令用来实现如权利要求18或权利要求19所述的方法。
21.一种用于处理数据的装置,包括:
用于数据的持久性存储的装置;
用于数据的非持久性存储的装置;
用于控制存储器并且用于提供两个或更多个存储器子通道的装置,每个存储器子通道用于路由所述用于数据的持久性存储的装置和所述用于数据的非持久性存储的装置中的至少一者的存储器访问事务;
其中,用于控制存储器的装置包括用于通道选择的装置,该用于通道选择的装置用来检测所述两个或更多个存储器子通道中的一个存储器子通道上何时没有非持久性存储器事务,并且响应于该检测,将任何持久性存储器事务路由到所述两个或更多个存储器子通道中的另一不同存储器子通道。
22.一种用于控制存储器的装置,包括:
用于执行第一调度来调度与非持久性存储器事务相对应的存储器事务的装置;
用于执行第二调度来调度与非持久性存储器事务相对应的存储器事务的装置;以及
用于信道选择的装置,用来从两个或更多个子通道中选择至少一个子通道来为持久性存储器事务服务,所述选择避免将当前处于自刷新操作模式的子通道用来处理所述持久性存储器事务。
23.如权利要求22所述的装置,包括用于控制功率的装置,用来响应于检测到所述一个存储器子通道上没有非持久性存储器事务而将该子通道从较高功率模式转变到较低功率模式。
24.一种集成电路,包括:
用于数据的持久性存储的两个或更多个装置;
用于使用两个或更多个存储器子通道控制持久性存储器事务的处理的装置,所述持久性存储器事务与用于持久性存储的装置中的一者或多者相对应,所述两个或更多个存储器子通道是与用于数据的非持久性存储的装置的事务共享的;
用于通道选择的装置,用来重定向与所述两个或更多个存储器子通道中的当前没有活跃持久性存储器事务的一个存储器子通道相对应的任何当前待处理的持久性存储器访问事务,其中,所述重定向将任何待处理的事务从所述一个存储器子通道转移到另一不同存储器子通道。
25.如权利要求24所述的集成电路,包括用于控制功率的装置,用来响应于检测到所述一个存储器子通道上没有非持久性存储器事务而将该子通道从较高功率模式转变到较低功率模式。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/050499 WO2023043439A1 (en) | 2021-09-15 | 2021-09-15 | Routing of memory transactions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117480484A true CN117480484A (zh) | 2024-01-30 |
Family
ID=85603374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180099264.5A Pending CN117480484A (zh) | 2021-09-15 | 2021-09-15 | 存储器事务的路由 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN117480484A (zh) |
TW (1) | TW202318181A (zh) |
WO (1) | WO2023043439A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7236416B2 (en) * | 2004-05-21 | 2007-06-26 | Qualcomm Incorporated | Method and system for controlling refresh in volatile memories |
US8253751B2 (en) * | 2005-06-30 | 2012-08-28 | Intel Corporation | Memory controller interface for micro-tiled memory access |
US9052899B2 (en) * | 2011-08-10 | 2015-06-09 | Intel Corporation | Idle power reduction for memory subsystems |
WO2016101165A1 (zh) * | 2014-12-24 | 2016-06-30 | 华为技术有限公司 | 事务处理的方法、装置及计算机系统 |
US10037150B2 (en) * | 2016-07-15 | 2018-07-31 | Advanced Micro Devices, Inc. | Memory controller with virtual controller mode |
-
2021
- 2021-09-15 WO PCT/US2021/050499 patent/WO2023043439A1/en active Application Filing
- 2021-09-15 CN CN202180099264.5A patent/CN117480484A/zh active Pending
-
2022
- 2022-07-08 TW TW111125744A patent/TW202318181A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023043439A1 (en) | 2023-03-23 |
TW202318181A (zh) | 2023-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9583157B2 (en) | Memory device power managers and methods | |
US8347005B2 (en) | Memory controller with multi-protocol interface | |
US7496777B2 (en) | Power throttling in a memory system | |
US8631193B2 (en) | Emulation of abstracted DIMMS using abstracted DRAMS | |
US8812886B2 (en) | Dynamic utilization of power-down modes in multi-core memory modules | |
US8438358B1 (en) | System-on-chip with memory speed control core | |
US20060179334A1 (en) | Dynamic power management via DIMM read operation limiter | |
US8607023B1 (en) | System-on-chip with dynamic memory module switching | |
JP2013012233A (ja) | メモリ回路システム及び方法 | |
CN105518784A (zh) | 具有用于高可靠性操作的存储控制器的数据处理器和方法 | |
CN115516563B (zh) | 用于dram的刷新管理 | |
US20200066328A1 (en) | System and Method for Performing Per-Bank Memory Refresh | |
US6046952A (en) | Method and apparatus for optimizing memory performance with opportunistic refreshing | |
WO2013147746A1 (en) | Reduction of power consumption in memory devices during refresh modes | |
US11815978B2 (en) | DDR5 client PMIC power up sequence and state transitions | |
US20190042095A1 (en) | Memory module designed to conform to a first memory chip specification having memory chips designed to conform to a second memory chip specification | |
EP3767430B1 (en) | Techniques to adapt dc bias of voltage regulators for memory devices as a function of bandwidth demand | |
US10963404B2 (en) | High bandwidth DIMM | |
US20100077240A1 (en) | Methods and apparatuses for reducing power consumption of fully-buffered dual inline memory modules | |
US6931479B2 (en) | Method and apparatus for multi-functional inputs of a memory device | |
US20220171551A1 (en) | Available memory optimization to manage multiple memory channels | |
CN117480484A (zh) | 存储器事务的路由 | |
KR20230096845A (ko) | 고속 셀프 리프레시 종료 전력 상태 | |
US11783885B2 (en) | Interactive memory self-refresh control | |
US10304530B2 (en) | Per-pin compact reference voltage generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |