CN117136351A - 数据织构时钟切换 - Google Patents
数据织构时钟切换 Download PDFInfo
- Publication number
- CN117136351A CN117136351A CN202280026181.8A CN202280026181A CN117136351A CN 117136351 A CN117136351 A CN 117136351A CN 202280026181 A CN202280026181 A CN 202280026181A CN 117136351 A CN117136351 A CN 117136351A
- Authority
- CN
- China
- Prior art keywords
- power state
- memory
- controller
- clock domain
- power
- 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 claims abstract description 296
- 230000008859 change Effects 0.000 claims abstract description 36
- 238000012508 change request Methods 0.000 claims abstract description 7
- 238000012546 transfer Methods 0.000 claims abstract description 7
- 239000004744 fabric Substances 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 16
- 230000001105 regulatory effect Effects 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 21
- 238000007726 management method Methods 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 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
Classifications
-
- 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/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- 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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- 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/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- 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/3243—Power saving in microcontroller unit
-
- 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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- 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
- 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/4076—Timing circuits
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Sources (AREA)
- Memory System (AREA)
Abstract
本发明公开了一种存储器控制器,该存储器控制器耦接至数据织构时钟域并且耦接至物理层接口电路PHY时钟域。第一接口电路调节该数据织构时钟域(FCLK)与存储器控制器时钟域之间的传送,并且第二接口电路将该存储器控制器耦接至该PHY时钟域。功率控制器通过将命令发送到该第二接口电路以改变存储器系统的参数来响应于功率状态改变请求,并且用于根据多个功率状态中的所选择的功率状态而更新该存储器控制器的一组定时参数。该功率控制器还通过改变该时钟接口电路的一组定时参数而不改变该存储器系统的一组定时参数或所选择的功率状态来响应于与该FCLK域上的新频率同步的请求。
Description
背景技术
计算机系统通常使用廉价且高密度的动态随机存取存储器(DRAM)芯片作为主存储器。现今销售的大多数DRAM芯片与由联合电子设备工程委员会(JEDEC)发布的各种双倍数据速率(DDR)DRAM标准兼容。
存储器控制器是管理通过存储器总线去往和来自DRAM的数据流的数字电路。已知的存储器控制器从主机系统接收存储器访问请求,将其存储在队列中,并且以由仲裁器选择的次序将其分派给DRAM。存储器控制器通常用于根据一组定义的功率状态而改变其功率状态,以便满足计算机系统的存储器使用需求,同时在可能的情况下节省功率。通常,根据规范(诸如高级配置和电源接口(ACPI)规范)来控制功率状态,该规范是用于计算机(诸如个人计算机(PC)和服务器)的功率管理和配置标准。ACPI允许计算机操作系统通过从可以包括不同的操作频率、不同的电源电压和不同的操作模式的有限的一组模式当中改变设备的操作模式来管理在各个设备处消耗的功率。
附图说明
图1以框图形式示出了现有技术中已知的加速处理单元(APU)和存储器系统;
图2以框图形式示出了根据一些实施方案的适合于在类似图1的APU的APU中使用的存储器控制器;
图3以框图形式示出了用于在存储器通道控制器处提供时钟域信号和跨时钟域同步的APU的某些元件;
图4示出了根据一些实施方案的用于在存储器控制器处更改功率状态的过程的流程图;并且
图5示出了根据一些实施方案的用于响应于功率状态命令的过程的流程图。
在以下描述中,在不同的附图中使用相同的附图标号指示类似或相同的项。除非另有说明,否则字词“耦接”及其相关联的动词形式包括直接连接和通过本领域已知的方式的间接电连接两者,并且除非另有说明,否则对直接连接的任何描述也意味着使用合适形式的间接电连接的另选实施方案。
具体实施方式
一种存储器控制器包括存储器通道控制器和功率控制器。存储器通道控制器具有适于连接至在第一时钟域中操作的数据织构的第一接口电路以及适于连接至在第三时钟域中操作的物理层接口电路(PHY)的第二接口电路。存储器通道控制器根据一组定时参数而在第二时钟域中操作。第一接口电路包括用于调节第一时钟域与第二时钟域之间的传送的时钟接口电路。功率控制器耦接至存储器通道控制器并且响应于功率状态改变请求用于将命令发送到第二接口电路以改变存储器系统的参数,并且用于根据多个功率状态中的所选择的功率状态而更新存储器通道控制器的该一组定时参数。功率控制器还响应于使第一接口电路与第一时钟域的仅第一时钟信号的新频率同步的请求以改变时钟接口电路的该一组定时参数,而不改变存储器系统的该一组定时参数或所选择的功率状态。
一种方法包括:在存储器控制器处接收功率状态命令,并且作为响应,改变存储器控制器时钟域和存储器时钟域中的至少一者的操作频率,使存储器控制器总线接口与数据织构时钟域重新同步,以及使PHY与存储器控制器重新同步。该方法包括:接收使存储器控制器与数据织构时钟域的仅第一时钟信号的频率重新同步的请求,并且作为响应,在不使PHY与存储器控制器重新同步的情况下改变数据织构时钟域与存储器控制器时钟域之间的时钟接口电路的一组定时参数,改变存储器或存储器控制器的一组定时参数。
一种数据处理系统包括数据织构、存储器通道、存储器通道控制器和功率控制器。数据织构在数据织构时钟上操作。存储器通道包括在存储器时钟域上操作的用于耦接至DRAM存储器的PHY。存储器通道控制器还包括适于连接至数据织构的第一接口电路以及适于连接至PHY的第二接口电路。存储器通道控制器根据一组定时参数而在第二时钟域中操作。第一接口电路包括用于调节第一时钟域与第二时钟域之间的传送的时钟接口电路。功率控制器连接至存储器通道控制器并且响应于功率状态改变请求用于将命令发送到第二接口电路以改变存储器系统的参数,并且用于根据多个功率状态中的所选择的功率状态而更新存储器通道控制器的该一组定时参数。功率控制器还响应于使接口电路与数据织构时钟域(FCLK)的仅第一时钟信号的新频率同步的请求以改变时钟接口电路的该一组定时参数,而不改变存储器系统的该一组定时参数或所选择的功率状态。
图1以框图形式示出了现有技术中已知的加速处理单元(APU)100和存储器系统130。APU 100是适合于用作主机数据处理系统中的处理器的集成电路,并且通常包括中央处理单元(CPU)核心复合体110、图形核心120、一组显示引擎122、数据织构125、存储器管理集线器140、一组外围控制器160、一组外围总线控制器170和系统管理单元(SMU)180。
CPU核心复合体110包括CPU核心112和CPU核心114。在该示例中,CPU核心复合体110包括两个CPU核心,但是在其他实施方案中,CPU核心复合体110可包括任意数量的CPU核心。CPU核心112和114中的每个核心双向连接至系统管理网络(SMN)(该SMN形成控制织构)和数据织构125,并且能够将存储器访问请求提供到数据织构125。CPU核心112和114中的每个核心可以是一体式核心,或者还可以是具有共享某些资源诸如高速缓存的两个或更多个一体式核心的核心复合体。
图形核心120是高性能图形处理单元(GPU),该GPU能够以高度集成和并行方式执行图形操作诸如顶点处理、片段处理、着色、纹理混合等。图形核心120双向连接至SMN和数据织构125,并且能够将存储器访问请求提供到数据织构125。就此而言,APU 100可支持其中CPU核心复合体110和图形核心120共享相同存储空间的统一存储器架构,或其中CPU核心复合体110和图形核心120共享存储空间的一部分、同时图形核心120还使用CPU核心复合体110不能访问的私有图形存储器的存储器架构。
显示引擎122渲染并光栅化由图形核心120生成的对象以用于在监测器上显示。图形核心120和显示引擎122通过数据织构125双向连接至公共存储器管理集线器140,以统一转换成存储器系统130中的适当地址。
数据织构125包括用于在任何存储器访问代理和存储器管理集线器140之间路由存储器访问请求和存储器响应的横杆开关。数据织构还包括由基本输入/输出系统(BIOS)定义的、用于基于系统配置确定存储器访问的目的地的系统存储器映射,以及用于每个虚拟连接的缓冲器。
外围控制器160包括通用串行总线(USB)控制器162和串行高级技术附件(SATA)接口控制器164,它们中的每一者双向连接至系统集线器166和SMN总线。这两个控制器仅仅是可用于APU 100的外围控制器的示例。
外围总线控制器170包括系统控制器或“南桥”(SB)172以及外围部件互连高速(PCIe)控制器174,它们中的每一者双向连接至输入/输出(I/O)集线器176和SMN总线。I/O集线器176也双向连接至系统集线器166和数据织构125。因此,例如,CPU核心可通过数据织构125通过I/O集线器176路由的访问对USB控制器162、SATA接口控制器164、SB 172或PCIe控制器174中的寄存器进行编程。APU 100的软件和固件存储在系统数据驱动器或系统BIOS存储器(未示出)中,系统数据驱动器或系统BIOS存储器可以是多种非易失性存储器类型中的任一种,诸如只读存储器(ROM)、闪存电可擦除可编程ROM(EEPROM)等。通常,BIOS存储器通过PCIe总线访问,并且系统数据驱动器通过SATA接口。
SMU 180是控制APU 100上的资源的操作并使这些资源之间的通信同步的本地控制器。SMU 180管理APU 100上的各种处理器的上电定序,并且经由复位、启用和其他信号控制多个芯片外设备。SMU 180包括一个或多个时钟源(未示出),诸如锁相环路(PLL),以为APU 100的每个部件提供时钟信号。SMU 180还管理各种处理器和其它功能块的功率,并且可从CPU核心112和114以及图形核心120接收测量功率消耗值以确定适当的功率状态。
在该实施方案中,存储器管理集线器140及其相关联的物理接口(PHY)151和152与APU 100集成。存储器管理集线器140包括存储器通道141和142以及功率引擎149。存储器通道141包括主机接口145、存储器通道控制器143和物理接口147。主机接口145通过串行存在检测链路(SDP)将存储器通道控制器143双向连接至数据织构125。物理接口147将存储器通道控制器143双向连接至PHY 151,并且符合DDR PHY接口(DFI)规范。存储器通道142包括主机接口146、存储器通道控制器144和物理接口148。主机接口146通过另一SDP将存储器通道控制器144双向连接至数据织构125。物理接口148将存储器通道控制器144双向连接至PHY152,并且符合DFI规范。功率引擎149通过SMN总线双向连接至SMU 180,通过高级外围总线(APB)接口254连接至PHY 151和PHY 152,并且还双向连接至存储器通道控制器143和144。PHY 151具有到存储器通道131的双向连接。PHY 152具有双向连接存储器通道133。
存储器管理集线器140是具有两个存储器通道控制器的存储器控制器的实例化,并且使用共享功率引擎149以将在下面进一步描述的方式控制存储器通道控制器143和存储器通道控制器144两者的操作。存储器通道141和142中的每一者都可以连接至现有技术DDR存储器,诸如第五代DDR(DDR5)、第四代DDR(DDR4)、低功率DDR4(LPDDR4)、第五代图形DDR(GDDR5)和高带宽存储器(HBM),并且可以适于未来存储器技术。这些存储器提供高总线带宽和高速操作。同时,它们还提供低功率模式以节省用于电池供电应用诸如膝上型计算机的功率,并且还提供内置热监控。
存储器系统130包括存储器通道131和存储器通道133。存储器通道131包括连接至DDRx总线132的一组双列直插存储器模块(DIMM),包括代表性的DIMM 134、136和138,它们在该示例中对应于单独的存储列。同样,存储器通道133包括连接至DDRx总线129的一组DIMM,包括代表性的DIMM 135、137和139。
APU 100作为主机数据处理系统的中央处理单元(CPU)操作并且提供在现代计算机系统可用的各种总线和接口。这些接口包括两个双数据速率(DDRx)存储器通道、用于连接至PCIe链路的PCIe根复合体、用于连接至USB网络的USB控制器以及到SATA大容量存储设备的接口。
APU 100还实现各种系统监控和功率节省功能。具体地,一个系统监测功能是热监测。例如,如果APU 100变热,则SMU 180可降低CPU核心112和114和/或图形核心120的频率和电压。如果APU 100变得过热,则可将其完全关断。SMU 180还可经由SMN总线从外部传感器接收热事件,并且作为响应,SMU 180可降低时钟频率和/或电源电压。
图2以框图形式示出了适合于在类似于图1的APU的APU中使用的存储器控制器200。存储器控制器200通常包括存储器通道控制器210和功率控制器250。存储器通道控制器210通常包括接口212、存储器接口队列214、命令队列220、地址生成器222、内容可寻址存储器(CAM)224、包括重放队列230的重放控制逻辑231、刷新控制逻辑块232、定时块234、页面表236、仲裁器238、纠错码(ECC)检查电路242、ECC生成块244、数据缓冲器246和刷新控制逻辑232。
接口212具有通过外部总线至数据织构的第一双向连接,并且具有输出。在存储器控制器200中,该外部总线与由ARM Holdings,PLC of Cambridge,England规定的高级可扩展接口版本四(称为AXI4)兼容,但在其他实施方案中可以是其他类型的接口。接口212将存储器访问请求从称为“FCLK”域的第一时钟域转换到存储器控制器200内部的称为“UCLK”域的第二时钟域。类似地,存储器接口队列214提供从UCLK域到与DFI接口相关联的“DFICLK”域的存储器访问。
地址生成器222解码通过AXI4总线从数据织构接收的存储器访问请求的地址。存储器访问请求包括物理地址空间中以归一化格式表示的访问地址。地址生成器222将归一化地址转换成可用于对存储器系统130中的实际存储器设备进行寻址以及高效地调度相关访问的格式。该格式包括将存储器访问请求与特定存储列、行地址、列地址、存储体地址和存储体组相关联的区域标识。在启动时,系统BIOS查询存储器系统130中的存储器设备以确定它们的大小和配置,并且对与地址生成器222相关联的一组配置寄存器进行编程。地址生成器222使用存储在配置寄存器中的配置来将归一化地址转换成适当格式。命令队列220是从APU 100中的存储器访问代理诸如CPU核心112和114以及图形核心120接收的存储器访问请求的队列。命令队列220存储由地址生成器222解码的地址字段以及允许仲裁器238高效地选择存储器访问的其他地址信息,包括访问类型和服务质量(QoS)标识。CAM 224包括实施排序规则诸如写后写(WAW)以及写后读(RAW)排序规则的信息。
纠错码(ECC)生成块244确定要发送到存储器的写入数据的ECC。该ECC数据然后被添加到数据缓冲器246中的写入数据。ECC检查电路242针对传入ECC检查所接收的ECC。
重放队列230是用于存储由仲裁器238选取的所选择的存储器访问的临时队列,所选择的存储器访问正在等待响应,诸如地址和命令奇偶校验响应。重放控制逻辑231访问ECC检查电路242以确定所返回的ECC是正确的还是指示错误。重放控制逻辑231发起并控制重放序列,在该重放序列中,在这些周期中的一个周期出现奇偶校验错误或ECC错误的情况下重放访问。所重放的命令放置在存储器接口队列214中。
刷新控制逻辑232包括用于各种下电、刷新和终端电阻(ZQ)校准循环的状态机,这些校准循环与从存储器访问代理接收的正常读取和写入存储器访问请求分开生成。例如,如果存储器存储列处于预充电下电,则必须周期性地唤醒该存储器存储列以运行刷新循环。刷新控制逻辑232周期性地且响应于指定条件而生成刷新命令,以防止由于电荷从DRAM芯片中的存储器单元的存储电容器泄漏而引起的数据错误。刷新控制逻辑232包括激活计数器248,该激活计数器在该实施方案中具有用于每一存储器区域的计数器,该计数器对通过存储器通道发送到存储器区域的激活命令的滚动数目进行计数。存储区域在一些实施方案中是存储器存储体,并且在其他实施方案中是存储器子存储体,如下文进一步讨论。此外,刷新控制逻辑232周期性地校准ZQ以防止由于系统的热变化而导致的片上终端电阻的失配。
仲裁器238双向连接至命令队列220,并且是存储器通道控制器210的核心,执行访问的智能调度以改进存储器总线的使用。在该实施方案中,仲裁器238包括存储体组跟踪电路235,用于跟踪多个最近发出的写入命令的存储体组号,并且通过在特定条件下在指定的时间段内防止将命令分派给这些存储体组来“掩蔽”这些存储体组,如下文进一步描述的。仲裁器238使用定时块234通过基于DRAM定时参数来确定命令队列220中的某些访问是否有资格发布来实施正确的定时关系。例如,每个DRAM在激活命令之间具有最小规定时间,称为“tRC”。定时块234维持一组计数器,该组计数器基于该定时参数和JEDEC规范中规定的其他定时参数来确定合格性,并且该定时块双向连接至重放队列230。页面表236维持关于仲裁器238的存储器通道的每个存储体和存储列中的活动页面的状态信息,并且双向连接至重放队列230。
响应于从接口212接收到写入存储器访问请求,ECC生成块244根据写入数据计算ECC。数据缓冲器246存储用于所接收的存储器访问请求的写入数据和ECC。当仲裁器238选取对应写入访问以用于调度到存储器通道时,数据缓冲器将组合写入数据/ECC输出到存储器接口队列214。
存储器通道控制器210包括允许其选取存储器访问以用于调度到相关联的存储器通道的电路系统。为了做出期望的仲裁决定,地址生成器222将地址信息解码成预解码信息,预解码信息包括存储器系统中的存储列、行地址、列地址、存储体地址和存储体组,并且命令队列220存储预解码信息。配置寄存器262存储配置信息以确定地址生成器222解码所接收的地址信息的方式。仲裁器238使用所解码的地址信息、由定时块234指示的定时资格信息以及由页面表236指示的活动页面信息来高效地调度存储器访问,同时遵守诸如服务质量(QoS)要求等其他标准。例如,仲裁器238实现对访问打开页面的优先,以避免改变存储器页面所需的预充电和激活命令的开销,并且通过将对一个存储体的开销访问与对另一个存储体的读和写访问交错来隐藏对一个存储体的开销访问。特别是在正常操作期间,仲裁器238通常保持页面在不同的存储体中打开,直到需要对这些页面进行预充电,然后选择不同的页面。在一些实施方案中,仲裁器238至少基于相应命令的针对目标存储器区域的激活计数器248的相应值来确定命令选择的资格。
功率控制器250通常包括到高级可扩展接口版本一(AXI)的接口252、高级外围总线(APB)接口254、功率引擎260和一组功率状态控制逻辑块270。接口252具有至SMN的第一双向连接和输出。APB接口254具有连接至接口252的输出的输入,以及用于通过APB连接至PHY的输出。
功率引擎260具有连接至接口252的输出的输入、连接至存储器接口队列214的输入的输出。功率引擎260包括一组配置寄存器262、微控制器(μC)264、自刷新控制器(SLFREF/PE)266、可靠读/写定时引擎(RRW/TE)268以及存储器控制器时钟域状态改变电路(“CLKARB”)271,该CLKARB包括UCLK控制逻辑块272、DFICLK同步逻辑块274和FCLK同步逻辑块276。配置寄存器262在AXI总线上编程,并且存储配置信息以通过功率状态控制逻辑块270控制存储器控制器200中的各个块在四个不同的功率状态中的所选择的一个功率状态中的操作。因此,功率状态控制逻辑块270具有连接至存储器控制器200中未在图2中详细示出的各个块的输出。SLFREF/PE 266是除了由刷新控制逻辑232自动生成刷新之外还允许手动生成刷新的引擎。可靠读/写定时引擎268向存储器或I/O设备提供连续存储器访问流,用于诸如DDR接口最大读取延迟(MRL)训练和回送测试等目的。
在操作中,功率控制器250通过数据织构的功率管理控制接口从SMU 180(图1)接收功率状态命令,并且作为响应,改变存储器控制器200和附接的DRAM的功率状态以进入新功率状态,该新功率状态通常包括针对DFICLK域和UCLK域的不同的时钟速度。功率状态控制逻辑块270中的每个功率状态控制逻辑块通过控制存储器控制器200的各个块以根据配置寄存器262中设定的配置值根据相应功率状态而操作来实现功率状态中的相应一个功率状态。配置值包括一组定时参数和其它配置参数用于将存储器通道控制器配置为以每个功率状态操作。
当存储器控制器200的功率状态改变时,UCLK控制逻辑块272发送必要的信号以控制并协调存储器通道控制器210的各个块改变到如来自SMU 180的功率状态命令中所指定的新功率状态。UCLK控制逻辑块272包括暂停存储器通道控制器210中的各个逻辑块的操作,在需要时协调改变UCLK频率,并且协调改变存储器通道控制器210以通过相应功率状态控制逻辑块270根据新配置寄存器值进行操作的电路。
每当UCLK或DFICLK改变时,使用DFICLK同步逻辑块274。其包含用于控制存储器接口队列214中这两个时钟域之间的同步的电路,这通常包括暂停接口、应用新时钟频率以及命令接口跨新时钟频率同步。在一些实施方案中,存储器接口队列214或其中的各个队列的内容被临时保存到本地RAM以完成同步。DFICLK同步逻辑块274由μC 264针对每个功率状态改变而激活,本文所提供的仅涉及FCLK改变的功率状态改变除外,如下文进一步描述的。
每当UCLK或FCLK频率改变时,使用FCLK同步逻辑块276。FCLK同步逻辑块276包含用于控制接口212中的这两个时钟域之间的同步的电路。同步过程通常包括暂停接口212,允许SMU 180调整数据织构125的FCLK时钟域中的FCLK的频率、命令接口212跨新时钟频率同步、并且然后重新建立至数据织构的连接。
图3以框图形式示出了用于在存储器通道控制器210处提供时钟域信号和跨时钟域同步的APU 300的某些元件。该实施方案中的APU 300包括与图2的存储器控制器类似的存储器控制器200,但仅示出了相关元件。APU 300包括数据织构125、SMU 180、存储器控制器200、FCLK PLL 302、UCLK PLL 304和PHY 320。
SMU 180具有连接至FCLK PLL 302的输出、至数据织构125的双向连接以及至SMN的双向连接。SMU 180通常实现来自操作系统内核的功率状态控制决策,并且在一些实施方案中,基于遍及APU 300的各个条件而作出关于APU 300的各个部分应处于什么功率状态的附加决策。SMU将功率状态控制暴露于APU 300操作系统,如在系统功率状态规范(诸如高级配置和电源接口(ACPI))中所定义的那样,该规范是用于计算机(诸如个人计算机(PC)和服务器)的功率管理和配置规范。ACPI允许计算机操作系统通过从可以包括不同的操作频率、不同的电源电压和其它差异的有限的一组功率状态当中改变设备的操作模式来管理在各个设备处消耗的功率。具体地,SMU 180为数据织构125、存储器控制器200和PHY 320连同其相关联的DRAM存储器选择功率状态。其它功率状态调整也可以由其它系统元件进行。
数据织构125是将系统处理核心连接至各个子系统的可缩放数据织构,如关于图1所描述的,并且具有至SMU 180的双向连接、至存储器控制器200的双向连接以及连接至FCLK PLL 302的输出的输入。数据织构125基于由FCLK PLL 302提供的FCLK信号而在FCLK时钟域中操作。
存储器控制器200包括存储器通道控制器210和功率控制器250,如关于图2所描述的。功率控制器250连接至存储器通道控制器以用于控制其各个部分,具有连接至UCLK PLL304的输出、通过AXI接口至SMN的双向连接以及至PHY 320的双向连接。存储器通道控制器包括用于连接至数据织构125的接口212、用于连接至PHY 320的存储器接口队列214,以及从UCLK PLL 304接收UCLK信号的输入。如关于图2所描述,存储器通道控制器210在UCLK时钟域中运行,并且通过接口212介接至FCLK域,并且通过存储器接口队列214及其相关联的PHY接口介接至PHY 320的DFICLK域。图3中示出的是存储器通道控制器210的接口212内部的电压域交叉接口(VDCI)310,其连接在FCLK与UCLK时钟域之间。
PHY 320具有至功率控制器250的双向连接、至存储器通道控制器210的双向连接以及连接至存储器通道控制器210的输入,用于接收DFICLK时钟信号,其通常具有FCLK/2的频率。当UCLK也被设定为FCLK/2时,DFICLK和UCLK相等,并且当UCLK被设定为等于FCLK时,DFICLK是UCLK的频率的一半。PHY 320包括用于生成时钟信号的存储器时钟PLL 322,根据该时钟信号在存储器总线上进行发信号通知。PLL 322使用DFICLK作为参考。PHY 320包括一组配置寄存器324,用于保存在其各个所支持的模式和功率状态中与DDRx存储器介接所需的许多配置值。PHY 320还包括一组四个功率状态控制逻辑块326,每个功率状态控制逻辑块连接至相应组配置寄存器324,用于控制PHY电路以实现四个所支持的功率状态。虽然在一些实施方案中支持多于四个功率状态,但通常使用由ACPI接口定义的四个功率状态。添加更多功率状态通常需要添加具有相关联的功率状态控制逻辑的更多配置寄存器以实现附加功率状态。配置值包括定时参数和其它配置参数,用于配置PHY以每个功率状态操作。配置寄存器324可以通过功率控制器250在SMN上配置。
APU 300允许在FCLK域上运行的数据织构以与存储器控制器时钟域和DFICLK时钟域典型的1:1或1:2关系不同的频率运行。VDCI 310提供包括异步先入先出(FIFO)缓冲器的异步时钟接口电路,其允许数据织构以小于UCLK(例如,以在低流量操作期间节省发信号通知的功率)、大于UCLK(例如,如果数据织构在其它系统部件之间具有高流量负载)的频率操作。为了支持其中FCLK小于UCLK的设定,存储器控制器200将节流读取响应并且将缓冲传送至数据织构以防止溢出较慢的FCLK接口。
存储器控制器200以有效的方式支持FCLK域的改变,该方式不需要使UFCLK与存储器接口队列214的接口重新同步,或者重置PHY并且刷新与PHY相关的队列,如例如当根据图4的过程改变功率状态时通常进行的那样。
在操作中,功率控制器250通过以下方式来响应于功率状态改变请求:更新存储器通道控制器的该一组定时参数,将命令发送到存储器接口队列214的DFI接口电路以将存储器系统的参数改变为来自所支持的功率状态当中的所选择的存储器功率状态;以及激活电路以完成存储器控制器200中的调整。关于图4描述了该过程的示例。功率控制器250还通过以下方式来响应于请求以使存储器控制器与FCLK时钟域的仅FCLK信号的新频率同步(在本文中称为仅F时钟功率状态改变):改变VDCI 310的该一组定时参数,并且跨FCLK域和UCLK域重新同步VDCI,而不改变该一组定时参数或存储器通道控制器210和PHY 320正在以其操作的所选择的功率状态。关于图5描述了该过程的示例。
图4示出了根据一些实施方案的用于在存储器控制器处更改功率状态的过程的流程图400。该过程适于与图2和图3的存储器控制器以及包括用于更改调整功率状态的数据织构同步电路和PHY同步电路的其它存储器控制器一起使用。该过程是包括使存储器控制器的两个接口重新同步的完全功率状态转变的示例。功率状态命令通常是改变针对存储器系统定义的另一ACPI暴露功率状态的命令,并且可包括对UCLK、DFICLK和FCLK的任何组合的改变。描述了该过程以提供执行功率状态转变的复杂性和延迟的示例。
该过程开始于框402处,其中在功率控制器250处接收功率状态命令。通常,从系统管理控制器(诸如SMU 180)接收功率状态命令。在框404处,功率控制器250发信号通知数据织构以暂停至存储器控制器200的存储器访问请求。该信号通常去往数据织构上的相干从属控制器,但在其它实施方案中,信号可以去往另一系统元件,诸如SMU 180,其命令数据织构停止至存储器控制器200的存储器访问请求。
在框406处,功率控制器命令存储器控制器刷新其各个队列并且将PHY置于配置模式中。该刷新步骤是任选的,因为PHY未被断电。在框408处,功率控制器250将存储器控制器200及其相关联的DRAM置于自刷新模式中,并且关闭UCLK信号进入存储器控制器200的时钟门控。在图2的实施方案中,使用UCLK控制逻辑块272来执行框406和框408。在其它实施方案中,使用其它合适的存储器时钟域控制电路。
在框410处,功率控制器250将UCLK和/或DFICLK PLL的频率调整到由功率状态命令指定的所要求的频率,通常通过写入到指定的控制寄存器。该框包括PLL频率斜升或斜降至其新操作频率所需的时间段。然后在框412处,功率控制器开启UCLK信号进入存储器控制器200的时钟门控,并且在配置寄存器262中选择一组功率状态控制寄存器用于控制在新功率状态中的操作。该框包括存储器控制器200内的逻辑块初始化所需的时间。
在框414处,功率控制器250使PHY退出配置模式并且使存储器控制器200与PHY重新同步。在图2的实施方案中,使用DFICLK同步逻辑块274来实现框414,以使存储器接口队列214的DFI接口与PHY重新同步。在其它实施方案中,使用其它合适的存储器时钟域状态改变电路。
在框416处,功率控制器250以FCLK与UCLK之间的新频率关系使存储器控制器接口与数据织构重新同步。在图2的实施方案中,使用FCLK同步逻辑块274来实现框416,而在其它实施方案中使用其它时钟同步电路。
可以理解为,功率状态改变过程通常导致大约许多微秒的操作延迟,并且还需要各个队列的内容被卸载或刷新,并且在功率状态改变之后被重新加载。因此,存储器功率状态改变请求可导致对在功率状态改变期间生成的任何新存储器访问请求的非常长的延迟。
图5示出了根据一些实施方案的用于响应于功率状态命令的过程的流程图500。所示出的过程允许结合在存储器控制器处实现的功率状态命令来调整数据织构的频率以使存储器控制器与数据织构重新同步。该过程具有支持存储器控制器功率状态中的某些调整而不中断由图4的过程展现的存储器控制器操作的优点。该过程还具有在调整数据织构时钟时支持比由ACPI功率状态命令所提供的更多的可变性的优点。
该过程开始于框502处,其中在功率控制器250处接收功率状态命令覆写信号。功率状态覆写命令向功率控制器指示后续或伴随功率状态命令将不改变UCLK时钟频率或DFICLK时钟频率。在例示的实施方案中,功率状态覆写命令从SMU 180发送到功率控制器250。发送功率状态覆写命令和仅FCLK功率状态命令的决策在一些实施方案中由操作系统内核作出,并且由至SMU 180的命令实现。在一些其它实施方案中,SMU 180可以不将该能力暴露于操作系统,而是自行作出决策。另外的实施方案可以允许SMU 180或操作系统内核控制该特征。通常作出决策以提高数据织构的功率效率,同时仍允许其处理其工作负载需求,同时最小化对存储器通道吞吐量和延迟的影响。采用功率状态命令来完成此类改变具有利用ACPI功率状态的现有框架同时在该框架内提供扩展的能力的优点。
在框504处,功率控制器504接收仅FCLK功率状态命令,其在框502处接收的功率状态命令覆写信号之后或伴随功率状态命令覆写信号。在一些实施方案中,命令覆写信号可以被包括在功率状态命令中,而在其它实施方案中,命令覆写信号是单独的并且指示单个后续功率状态命令将服从覆写条件。
在框506处,该过程通过禁用或去激活存储器控制器时钟域状态改变电路(在该实施方案中,其为UCLK控制逻辑块272)和存储器时钟域状态改变电路(在该实施方案中,其为DFICLK同步逻辑块274)来实现覆写。该电路被禁用以防止状态改变电路改变存储器控制器时钟域(UCLK)和存储器时钟域(DFICLK),并且以防止使存储器控制器接口与PHY的重新同步。这避免了当响应于仅涉及数据织构时钟频率改变的功率状态命令时执行图4的框406、框408、框410、框412和框414。优选地,通过响应于功率状态覆写命令而设定控制位或激活控制门来禁用或去激活用于执行这些框的电路。可以在框502处在接收到功率状态覆写信号之后立即执行该设定,使得当在框504处接收到功率状态命令时禁用相关电路。以这种方式,用于在由ACPI支持的有限数量的功率状态之间改变的相同电路被用于在切换数据织构时钟域时钟频率时支持扩展能力。该方案具有为数据织构时钟域频率支持比在由存储器控制器和PHY中的控制寄存器支持的有限数量的功率状态中可用的更多值的优点。
在框508处,功率控制器250发信号通知数据织构暂停存储器访问请求。如关于图4所讨论的,在其它实施方案中,这是通过发信号通知SMU以请求它停止通过数据织构到存储器控制器的存储器访问请求来实现的。
在框520处,SMU 180通过调整FCLK PLL 302(图3)而使得数据织构时钟(FCLK)频率调整到新的期望操作频率。新操作频率优选地在框504处的功率状态命令中指定,使得其可用于功率控制器250。尽管在该实施方案中SMU 180控制FCLK PLL 302,但其它实施方案可采用其它控制方案来调整数据织构时钟频率。新数据织构时钟频率可以从在功率状态控制逻辑块270(图2)中提供的有限数量的功率状态中的一个功率状态中指定的频率中选择,并且可以从未在这些功率状态中指定的频率中选择。新数据织构时钟频率可以高于或低于存储器控制器时钟域(UCLK)频率。
当数据织构时钟频率已斜升或转变到新值且稳定时,存储器控制器在框512处使其接口与数据织构重新同步。在该实施方案中,功率控制器250通过激活FCLK同步逻辑块276来控制重新同步。这控制接口212中的VDCI 310(图3),使得其通过其异步FIFO架构与数据织构重新同步。此时,功率状态改变已完成,并且功率控制器可以发信号通知数据织构恢复发送到存储器控制器200的存储器访问请求。
可以理解为,使用仅F时钟功率状态命令允许功率状态命令框架被用于FCLK改变的附加能力,具有改进存储器控制器处的功率状态转换的速度的修改。另一个优点是,在支持仅有限数量的功率状态(诸如四个,这是提交时所支持的典型数量)的系统中,可以进行在定义的功率状态内指定的那些更改之外的FCLK更改。数据织构可以以比在定义的一组功率状态中指定的时钟频率更慢的时钟频率或更快的时钟频率运行。这允许对数据织构的效率调整以处理可能与服从仅F时钟功率状态命令的一个或多个特定存储器控制器无关的工作负载需求。在仅F时钟功率状态命令不暴露于操作系统的实施方案中,图5的过程优选地对操作系统是透明的,使得操作系统内核功率状态控制过程可以将当前功率状态视为在没有FCLK更改的情况下其将处于的功率状态,而操作系统可以以数据织构时钟域的新操作频率使用数据织构。
图2的存储器控制器200或其任何部分(诸如,功率控制器250和FCLK同步逻辑块274)可以由呈数据库形式的计算机可以访问数据结构或可以由程序读取并且直接或间接使用以制造集成电路的其它数据结构来描述或表示。例如,该数据结构可以是高级设计语言(HDL)诸如Verilog或VHDL中的硬件功能性的行为级描述或寄存器传送级(RTL)描述。描述可由合成工具读取,合成工具可合成描述以产生包括来自合成库的门列表的网表。网表包括门集,门集也表示包括集成电路的硬件的功能性。然后可以放置和路由网表以产生描述待应用于掩码的几何形状的数据集。然后可以在各种半导体制造步骤中使用掩模以产生集成电路。另选地,计算机可访问存储介质上的数据库可以是网表(具有或不具有合成库)或数据集(根据需要)或图形数据系统(GDS)II数据。
虽然已描述了特定实施方案,但是对这些实施方案的各种修改对于本领域技术人员将是显而易见的。例如,存储器通道控制器210和/或功率引擎250的内部架构在不同的实施方案中可有所变化。存储器控制器200可接口连接至除了DDRx之外的其他类型的存储器,诸如高带宽存储器(HBM)、RAMbus DRAM(RDRAM)等。虽然所示的实施方案示出了对应于单独DIMM或SIMM的每个存储器存储列,但在其他实施方案中,每个模块可支持多个存储列。再其他实施方案可包括其他类型的DRAM模块或特定模块中未包含的DRAM,诸如安装到主机母板的DRAM。因此,所附权利要求书旨在覆盖所公开实施方案的落入所公开实施方案的范围内的所有修改。
Claims (22)
1.一种存储器控制器,包括:
存储器通道控制器,所述存储器通道控制器具有适于耦接至在第一时钟域中操作的数据织构的第一接口电路以及适于耦接至在第三时钟域中操作的物理层接口电路(PHY)的第二接口电路,其中所述存储器通道控制器根据一组定时参数而在第二时钟域中操作,其中所述第一接口电路包括用于调节所述第一时钟域与所述第二时钟域之间的传送的时钟接口电路;和
功率控制器,所述功率控制器耦接至所述存储器通道控制器并且响应于功率状态改变请求用于将命令发送到所述第二接口电路以改变存储器系统的参数,并且用于根据多个功率状态中的所选择的功率状态而更新所述存储器通道控制器的所述一组定时参数,
其中所述功率控制器还响应于使所述第一接口电路与所述第一时钟域的仅第一时钟信号的新频率同步的请求而改变所述时钟接口电路的一组定时参数,而不改变所述存储器系统的一组定时参数或所选择的功率状态。
2.根据权利要求1所述的存储器控制器,其中与所述第一时钟域的仅第一时钟信号的新频率同步的所述请求包括功率状态覆写信号和后续功率状态命令,所述功率状态覆写信号使得所述功率控制器当响应于与所述第一时钟域的改变相关联的后续功率状态命令时禁用所选择的存储器控制器时钟域状态改变电路和存储器时钟域状态改变电路。
3.根据权利要求2所述的存储器控制器,其中所述功率控制器还能够操作为:
当在没有先前功率状态命令覆写信号的情况下响应于功率状态命令时,从所述存储器控制器上的包含针对所述存储器控制器的操作参数的多组功率状态寄存器当中选择新的一组功率状态控制寄存器;以及
当在存在先前功率状态命令覆写信号的情况下响应于功率状态命令时,不选择新的一组功率状态控制寄存器。
4.根据权利要求2所述的存储器控制器,其中所述功率控制器还能够操作为:
当在没有先前功率状态命令覆写信号的情况下响应于功率状态命令时,从所述PHY上的包含针对所述PHY的操作参数的多组功率状态控制寄存器当中选择所述PHY上的新的一组功率状态控制寄存器;以及
当在存在先前功率状态命令覆写信号的情况下响应于功率状态命令时,不选择所述PHY上的新的一组功率状态控制寄存器。
5.根据权利要求4所述的存储器控制器,其中所述PHY上的所述多组功率状态控制寄存器各自对应于连接至所述PHY并且与所述存储器控制器相关联的动态随机存取存储器(DRAM)的所支持的功率状态。
6.根据权利要求1所述的存储器控制器,还包括锁相环路(PLL),所述PLL向所述第二时钟域供给时钟信号并且耦接至所述功率控制器。
7.一种方法,包括:
在存储器控制器处接收功率状态命令,并且作为响应,改变存储器控制器时钟域和存储器时钟域中的至少一者的操作频率,使存储器控制器总线接口与数据织构时钟域重新同步,以及使物理层接口(PHY)与所述存储器控制器重新同步;以及
接收使所述存储器控制器与所述数据织构时钟域的仅第一时钟信号的频率重新同步的请求,并且作为响应,在不使所述PHY与所述存储器控制器重新同步的情况下改变所述数据织构时钟域与所述存储器控制器时钟域之间的时钟接口电路的一组定时参数,改变所述存储器或所述存储器控制器的一组定时参数。
8.根据权利要求7所述的方法,其中使所述存储器控制器重新同步的所述请求包括功率状态覆写信号和后续功率状态命令,所述方法还包括当响应于与所述数据织构时钟域的改变相关联的后续功率状态命令时禁用所选择的存储器控制器时钟域状态改变电路和存储器时钟域状态改变电路。
9.根据权利要求7所述的方法,还包括:
当在没有先前功率状态命令覆写信号的情况下响应于功率状态命令时,从所述存储器控制器上的包含针对所述存储器控制器的操作参数的多组功率状态控制寄存器当中选择新的一组功率状态控制寄存器;以及
当在存在先前功率状态命令覆写信号的情况下响应于功率状态命令时,不选择新的一组功率状态控制寄存器。
10.根据权利要求7所述的方法,还包括:
当在没有先前功率状态命令覆写信号的情况下响应于功率状态命令时,从所述PHY上的包含针对所述PHY的操作参数的多组功率状态控制寄存器当中选择所述PHY上的新的一组功率状态控制寄存器;以及
当在存在先前功率状态命令覆写信号的情况下响应于功率状态命令时,不选择所述PHY上的新的一组功率状态控制寄存器。
11.根据权利要求10所述的方法,其中所述PHY上的所述多组功率状态控制寄存器各自对应于连接至所述PHY并且与所述存储器控制器相关联的动态随机存取存储器(DRAM)的所支持的功率状态。
12.根据权利要求7所述的方法,还包括:在没有先前功率状态命令覆写信号的情况下响应于功率状态命令而调整向所述存储器控制器时钟域供给时钟信号的锁相环路(PLL)。
13.根据权利要求7所述的方法,还包括:在系统管理单元控制器处确定所述数据织构时钟域应当改变其操作频率,然后向所述存储器控制器发送所述功率状态命令覆写信号,使得所述数据织构时钟域改变其操作频率,以及向所述存储器控制器发送所述后续功率状态命令。
14.根据权利要求13所述的方法,其中所述后续功率状态命令包括功率状态数据,所述功率状态数据指示当前存储器控制器时钟域操作频率、当前存储器时钟域操作频率和经调节的数据织构时钟域操作频率。
15.一种数据处理系统,包括:
在数据织构时钟域上操作的数据织构;
存储器通道,所述存储器通道包括在存储器时钟域上操作的用于耦接至DRAM存储器的物理层接口(PHY);
存储器通道控制器,所述存储器通道控制器包括适于耦接至所述数据织构的第一接口电路以及适于耦接至所述PHY的第二接口电路,其中所述存储器通道控制器根据一组定时参数而在存储器通道时钟域中操作,其中所述第一接口电路包括用于调节所述数据织构时钟域与所述存储器通道时钟域之间的传送的时钟接口电路;和
功率控制器,所述功率控制器耦接至所述存储器通道控制器并且响应于功率状态改变请求用于将命令发送到所述第二接口电路以改变存储器系统的参数,并且用于根据多个功率状态中的所选择的功率状态而更新所述存储器通道控制器的所述一组定时参数,
其中所述功率控制器还响应于使所述时钟接口电路与所述数据织构时钟域的仅第一时钟信号的新频率同步的请求而改变所述时钟接口电路的一组定时参数,而不改变所述存储器系统的一组定时参数或所选择的功率状态。
16.根据权利要求15所述的数据处理系统,其中使所述时钟接口电路与所述数据织构时钟域的仅第一时钟信号的新频率同步的所述请求包括功率状态覆写信号和后续功率状态命令,所述功率状态覆写信号使得所述功率控制器当响应于与所述数据织构时钟域的改变相关联的后续功率状态命令时禁用所选择的存储器控制器时钟域状态改变电路和存储器时钟域状态改变电路。
17.根据权利要求16所述的数据处理系统,其中所述功率控制器还能够操作为:
当在没有先前功率状态命令覆写信号的情况下响应于功率状态命令时,从所述存储器控制器上的包含针对所述存储器控制器的操作参数的有限数量组功率状态寄存器当中选择新的一组功率状态控制寄存器;以及
当在存在先前功率状态命令覆写信号的情况下响应于功率状态命令时,不选择新的一组功率状态控制寄存器。
18.根据权利要求16所述的数据处理系统,其中所述功率控制器还能够操作为:
当在没有先前功率状态命令覆写信号的情况下响应于功率状态命令时,从所述PHY上的包含针对所述PHY的操作参数的多组功率状态控制寄存器当中选择所述PHY上的新的一组功率状态控制寄存器;以及
当在存在先前功率状态命令覆写信号的情况下响应于功率状态命令时,不选择所述PHY上的新的一组功率状态控制寄存器。
19.根据权利要求18所述的数据处理系统,其中所述PHY上的所述多组功率状态控制寄存器各自对应于连接至所述PHY并且与所述存储器控制器相关联的动态随机存取存储器(DRAM)的所支持的功率状态。
20.根据权利要求15所述的数据处理系统,还包括锁相环路(PLL),所述PLL向所述存储器控制器时钟域供给时钟信号并且耦接至所述功率控制器。
21.根据权利要求15所述的数据处理系统,还包括系统管理单元,所述系统管理单元耦接至所述数据织构并且能够操作为向所述存储器控制器发送所述功率状态命令和所述功率状态命令覆写信号。
22.根据权利要求21所述的数据处理系统,其中所述系统管理单元还能够操作为控制所述数据织构时钟域的操作频率。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/219,407 | 2021-03-31 | ||
US17/219,407 US11934251B2 (en) | 2021-03-31 | 2021-03-31 | Data fabric clock switching |
PCT/US2022/020694 WO2022212074A1 (en) | 2021-03-31 | 2022-03-17 | Data fabric clock switching |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117136351A true CN117136351A (zh) | 2023-11-28 |
Family
ID=83449051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280026181.8A Pending CN117136351A (zh) | 2021-03-31 | 2022-03-17 | 数据织构时钟切换 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11934251B2 (zh) |
EP (1) | EP4315014A1 (zh) |
JP (1) | JP2024512684A (zh) |
KR (1) | KR20230164091A (zh) |
CN (1) | CN117136351A (zh) |
WO (1) | WO2022212074A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230197130A1 (en) * | 2021-12-22 | 2023-06-22 | Advanced Micro Devices, Inc. | Apparatus and methods employing asynchronous fifo buffer with read prediction |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030079152A1 (en) * | 2001-08-14 | 2003-04-24 | Triece Joseph W. | Microprocessor with multiple low power modes and emulation apparatus for said microprocessor |
JP2007272573A (ja) * | 2006-03-31 | 2007-10-18 | Hitachi Ltd | 低消費電力化メモリ管理方法及びメモリ管理プログラム |
US9582060B2 (en) * | 2006-08-31 | 2017-02-28 | Advanced Silicon Technologies Llc | Battery-powered device with reduced power consumption based on an application profile data |
US7930469B2 (en) * | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to provide memory system power reduction without reducing overall memory system performance |
US8775839B2 (en) * | 2008-02-08 | 2014-07-08 | Texas Instruments Incorporated | Global hardware supervised power transition management circuits, processes and systems |
KR101529291B1 (ko) | 2008-02-27 | 2015-06-17 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것을 포함한 플래시 메모리시스템 |
US8375241B2 (en) | 2009-04-02 | 2013-02-12 | Intel Corporation | Method and system to improve the operations of a registered memory module |
EP2302519B1 (en) * | 2009-09-09 | 2013-01-16 | ST-Ericsson SA | Dynamic frequency memory control |
US9286257B2 (en) * | 2011-01-28 | 2016-03-15 | Qualcomm Incorporated | Bus clock frequency scaling for a bus interconnect and related devices, systems, and methods |
US8942056B2 (en) | 2011-02-23 | 2015-01-27 | Rambus Inc. | Protocol for memory power-mode control |
US9442739B2 (en) * | 2011-11-22 | 2016-09-13 | Intel Corporation | Collaborative processor and system performance and power management |
JP5677376B2 (ja) * | 2012-07-06 | 2015-02-25 | 株式会社東芝 | メモリ制御装置、半導体装置、およびシステムボード |
US9430418B2 (en) * | 2013-03-15 | 2016-08-30 | International Business Machines Corporation | Synchronization and order detection in a memory system |
KR102272259B1 (ko) | 2015-07-01 | 2021-07-06 | 삼성전자주식회사 | 커맨드 연동 클럭 생성 스키마를 갖는 반도체 메모리 장치 |
US10198204B2 (en) * | 2016-06-01 | 2019-02-05 | Advanced Micro Devices, Inc. | Self refresh state machine MOP array |
US10347306B2 (en) * | 2016-06-21 | 2019-07-09 | Samsung Electronics Co., Ltd. | Self-optimized power management for DDR-compatible memory systems |
US10037150B2 (en) * | 2016-07-15 | 2018-07-31 | Advanced Micro Devices, Inc. | Memory controller with virtual controller mode |
US10175905B2 (en) * | 2016-09-13 | 2019-01-08 | Apple Inc. | Systems and methods for dynamically switching memory performance states |
US11789516B2 (en) * | 2019-05-24 | 2023-10-17 | Intel Corporation | Device, method and system for transparently changing a frequency of an interconnect fabric |
US11561911B2 (en) * | 2020-02-24 | 2023-01-24 | Sunrise Memory Corporation | Channel controller for shared memory access |
-
2021
- 2021-03-31 US US17/219,407 patent/US11934251B2/en active Active
-
2022
- 2022-03-17 KR KR1020237035612A patent/KR20230164091A/ko unknown
- 2022-03-17 CN CN202280026181.8A patent/CN117136351A/zh active Pending
- 2022-03-17 WO PCT/US2022/020694 patent/WO2022212074A1/en active Application Filing
- 2022-03-17 EP EP22781868.9A patent/EP4315014A1/en active Pending
- 2022-03-17 JP JP2023560432A patent/JP2024512684A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220317755A1 (en) | 2022-10-06 |
US11934251B2 (en) | 2024-03-19 |
KR20230164091A (ko) | 2023-12-01 |
EP4315014A1 (en) | 2024-02-07 |
WO2022212074A1 (en) | 2022-10-06 |
JP2024512684A (ja) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3433752B1 (en) | Self refresh state machine mop array | |
CN107924375B (zh) | 用于高速存储器接口的命令仲裁 | |
CN109690508B (zh) | 带虚拟控制器模式的存储器控制器 | |
CN115516563B (zh) | 用于dram的刷新管理 | |
EP3436958B1 (en) | Low power memory throttling | |
CN117083588A (zh) | 仲裁期间写入存储体组掩码 | |
CN117136351A (zh) | 数据织构时钟切换 | |
JP7506272B2 (ja) | メモリコントローラ電力状態 | |
US11379388B1 (en) | Credit scheme for multi-queue memory controllers | |
KR20240022655A (ko) | 하이브리드 dram/영구 메모리 채널 중재 기능을 갖는 메모리 제어기 | |
EP3270295A1 (en) | Memory controller with virtual controller mode | |
US20240004560A1 (en) | Efficient memory power control operations | |
US20240211173A1 (en) | Performance of bank refresh | |
US20240005971A1 (en) | Channel and sub-channel throttling for memory controllers |
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 |