CN104115132A - 借助于存储器通道关闭的功率节约 - Google Patents

借助于存储器通道关闭的功率节约 Download PDF

Info

Publication number
CN104115132A
CN104115132A CN201180076411.3A CN201180076411A CN104115132A CN 104115132 A CN104115132 A CN 104115132A CN 201180076411 A CN201180076411 A CN 201180076411A CN 104115132 A CN104115132 A CN 104115132A
Authority
CN
China
Prior art keywords
cache lines
storage channel
dram
memory
storage
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
Application number
CN201180076411.3A
Other languages
English (en)
Other versions
CN104115132B (zh
Inventor
M.K.纳基穆图
M.J.库马
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104115132A publication Critical patent/CN104115132A/zh
Application granted granted Critical
Publication of CN104115132B publication Critical patent/CN104115132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2024Rewritable memory not requiring erasing, e.g. resistive or ferroelectric RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本文描述了一种方法,方法包括决定进入更低功率状态,并且在响应中关闭计算机系统中的一个存储器通道,在所述响应之后计算机系统中的其它存储器通道保持活动使得在该存储器通道关闭时计算机保持运转。

Description

借助于存储器通道关闭的功率节约
 
技术领域
本发明一般涉及计算机系统领域。更具体地说,本发明涉及用于实现多级存储器层次结构的设备和方法。
背景技术
A. 当前存储器和存储配置
如今,计算机创新的限制因素之一是存储器和存储技术。在常规计算机系统中,系统存储器(也称为主存储器、主要存储器、可执行存储器)一般通过动态随机存取存储器(DRAM)实现。基于DRAM的存储器即使在无存储器读取或写发生时也耗能,这是因为它必须不断为内部电容器再充电。基于DRAM的存储器是易失性的,这意味着一旦功率去除,在DRAM存储器中存储的数据便丢失。常规计算机系统也依赖多个级别的缓存以改进性能。缓存是高速存储器,定位在处理器与系统存储器之间以便以比从系统存储器能够服务于存储器访问请求更快地服务于存储器访问请求。此类缓存一般通过静态随机存取存储器(SRAM)实现。缓存管理协议可用于确保最经常访问的数据和指令存储在缓存的级别之一内,由此降低存储器访问事务的数量和改进性能。
关于大容量存储装置(也称为次要存储装置或盘存储装置),常规大容量存储装置一般包括磁性媒体(例如,硬盘驱动器)、光学媒体(例如,压缩盘(CD)驱动器、数字多功能盘(DVD)等)、全息媒体和/或大容量存储装置闪存(例如,固态驱动器(SSD)、可移动闪存驱动器等)。通常,由于由处理器通过实现各种I/O协议的各种I/O适配器访问这些存储装置,因此,将它们视为输入/输出(I/O)装置。这些I/O适配器和I/O协议消耗大量的功率,并且能够对管芯区域和平台的形状因子具有相当大的影响。在未连接到永久性电源时具有有限电池寿命的便携式或移动装置(例如,膝上型计算机、上网本、平板计算机、个人数字助理(PDA)、便携式媒体播放器、便携式游戏装置、数码相机、移动电话、智能电话、功能电话等)可包括一般经低功率互连和I/O控制器耦合到处理器以便满足活动和闲置功率预算的可移动大容量存储装置(例如,嵌入式多媒体卡(eMMC)、安全数字(SD)卡)。
关于固件存储器(如引导存储器(也称为BIOS闪存)),常规计算机系统一般使用闪存装置存储经常读取但很少(或从不)写的持久性系统信息。例如,处理器在引导过程(基本输入输出系统(BIOS)镜像)期间为初始化关键系统组件执行的初始指令一般存储在闪存装置中。市场上当前可用的闪存装置通常具有有限的速度(例如,50 MHz)。此速度由用于读取协议的开销(例如,2.5 MHz)而进一步降低。为加快BIOS执行速度,常规处理器通常在引导过程的预可扩展固件接口(PEI)阶段期间缓存一部分BIOS代码。处理器缓存的大小限制了PEI阶段中使用的BIOS代码(也称为“PEI BIOS代码”)的大小。
B. 相变存储器(PCM)和有关技术
有时也称为相变随机存取存储器(PRAM或PCRAM)、PCME、Ovonic统一存储器或硫化物RAM (C-RAM)的相变存储器(PCM)是利用硫化物玻璃的独特行为的一种类型的非易失性计算机存储器。由于电热通过产生的热,硫化物玻璃能够在两种状态之间转换:结晶和非结晶。最近版本的PCM能够实现两种另外的不同状态。
PCM提供比闪存更高的性能,这是因为PCM的存储器元素能够更快地交换,写(将单独的比特更改成1或0)能够进行而无需先擦除单元的整个区块,以及由写产生的退化更慢(PCM装置可存活大约1亿次写循环;PCM退化是由于在编程期间的热膨胀、金属(和其它材料)迁移及其它机制)。
附图说明
下面的描述和附图用于示出本发明的实施例。在图中:
图1示出根据本发明的实施例的缓存和系统存储器布置;
图2示出在本发明的实施例中采用的存储器和存储层次结构;
图3示出具有系统存储器的DRAM部分和系统存储器的PCMS部分的存储器计算系统;
图4示出用于关闭存储器通道的方法;
图5示出用于重新激活存储器通道的方法;
图6示出由功率管理系统使用的存储器功率状态表;
图7示出用于实现存储器通道的关闭/重新激活的组件。
具体实施方式
在下面的描述中,陈述了许多特定的细节以便提供本发明更详尽的理解,如逻辑实现、操作码、指定操作数的方法、资源划分/共享/复制实现、系统组件的类型和相互关系及逻辑划分/集成选择。然而,本领域的技术人员将理解,可无需此类特定细节而实践本发明。其它情况下,控制结构、门级电路和全软件指令序列未详细示出以免混淆本发明。通过包括的描述,本领域技术人员将能够在没有不当实验的情况下实现适当的功能性。
说明书中对“一个实施例”、“一实施例”、“示例实施例”等的引用指所述实施例可包括特定特性、结构或特征,但每个实施例可能不一定包括特定特性、结构或特征。另外,此类词语不一定指同一实施例。此外,在结合实某个实施例描述某个特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例来实现此类特征、结构或特性是在本领域技术人员的认知之内。
在下面的说明和权利要求中,可使用术语“耦合”和“连接”及其衍生词。应理解,这些术语无意作为彼此的同义词。“耦合”用于指示可相互直接物理或电接触或不直接物理或电接触的两个或更多个元素相互协作或交互。“连接”用于指示在相互耦合的两个或更多个元素之间通信的建立。
括号内的文本和带虚线边的框(例如,大虚线、小虚线、点虚线、点)有时在本文中用于示出添加另外的特征到本发明的实施例的可选操作/组件。然而,此类符号不应视为表示这些符号是仅有的选择或可选操作/组件,和/或具有实线边的框在本发明的某些实施例中不是可选的。
介绍 
存储器容量和性能要求随着处理器核的增大数量和诸如虚拟化的新使用模型而继续增大。另外,存储器功率和成本已分别变成电子系统的总体功率和成本的相当大成分。
本发明的一些实施例通过在存储器技术之间智能地细分性能要求和容量要求来解决上述挑战。此方法的焦点是在使用更便宜和密集得多的非易失性随机存取存储器(NVRAM)实现大块的系统存储器的同时,通过相对小量的相对更高速度存储器(诸如DRAM)提供性能。下述本发明的实施例定义了为NVRAM的使用实现分层存储器子系统组织的平台配置。如下详细所述,存储器层级中NVRAM的使用也实现新使用,如扩展引导空间和大容量存储装置实现。
图1示出根据本发明的实施例的缓存和系统存储器布置。具体而言,图1示出包括内部处理器缓存120的集合、充当可包括内部缓存106和外部缓存107-109的远存储器缓存121的“近存储器”以及“远存储器”122的存储器层级。本发明的一些实施例中可用于“远存储器”的一个特定类型的存储器是非易失性随机存取存储器(“NVRAM”)。因此,下面提供了NVRAM的概述,之后是远存储器和近存储器的概述。
A. 非易失性随机存取存储器(“NVRAM”)
存在用于NVRAM的许多可能技术选择,包括PCM、相变存储器和开关(PCMS)(后者是前者的更具体实现)、字节可寻址的持久性存储器(BPRAM)、通用存储器、Ge2Sb2Te5、可编程金属化单元(PMC)、电阻存储器(RRAM)、RESET(非结晶)单元、SET(结晶)单元、PCME、Ovshinsky存储器、铁电体存储器(也称为聚合物存储器和聚(N-乙烯咔唑))、铁磁存储器(也称为自旋电子、SPRAM(自旋转移矩RAM)、STRAM(自旋隧穿RAM)、磁电阻存储器、磁性存储器、磁性随机存取存储器(MRAM))及半导体氧化物氮化物氧化物半导体(SONOS,也称为介电存储器)。
对于在本申请中所述存储器层级中的使用,NVRAM具有以下特性:
(1)即使功率去除,它也保持其内容,类似于在固态盘(SSD)中使用的FLASH存储器,并且不同于易失性的SRAM和DRAM;
(2)在闲置时比诸如SRAM和DRAM的易失性存储器更低的功耗;
(3)类似于SRAM和DRAM(也称为随机可寻址)的随机访问;
(4)在比SSD中发现的FLASH更低的粒度级别(例如,字节级别)可重写和可擦除(一次只能够重写和擦除一个“区块” - 大小最小对于NOR FLASH为64 KB,并且对于NAND FLASH为16 KB);
(5)可用作系统存储器并且被分配全部或一部分系统存储器地址空间;
(6)能够使用事务协议(支持事务标识符(ID)以区分不同事务,以便那些事务能够无序完成的协议)通过总线耦合到处理器,并且允许在足够小的粒度级别的访问以支持NVRAM作为系统存储器的操作(例如,诸如64或128字节的缓存线大小)。例如,总线可以是存储器总线(例如,诸如DDR3、DDR4的DDR总线),通过其运行与通常使用的非事务协议相反的事务协议。又如,总线可以是通常通过其运行事务协议(本机事务协议)的总线,如PCI express (PCIE)总线、台式管理接口(DMI)总线或利用事务协议和足够小事务有效负载大小(例如,诸如64或128字节的缓存线大小)的任何其它类型的总线;以及
(7)以下的一项或更多项:
a)比诸如FLASH的非易失性存储器/存储技术更快的写速度;
b)极高读取速度(比FLASH更快并且接近或等于DRAM读取速度);
c)直接可写(而不是在写数据前要求擦除(用1重写),象SSD中使用的FLASH存储器一样);和/或 
d)故障前量级(例如,2或3)更高的写耐久性(不止是SSD中使用的引导ROM和FLASH)。
如上所提及的,与必须一次重写和擦除一个完整“区块”的FLASH存储器不同,在任何给定实现中访问NVRAM的粒度级别可取决于特定存储器控制器和特定存储器总线或NVRAM耦合到的其它类型的总线。例如,在NVRAM用作系统存储器的一些实现中,尽管固有的能力是在字节的粒度访问,但可在缓存线的粒度访问NVRAM(例如,64字节或128字节缓存线),这是因为缓存线是在存储器子系统访问存储器的级别。因此,在存储器子系统内部署NVRAM时,可在与相同存储器子系统中使用的DRAM(例如,“近存储器”)相同的粒度级别访问它。即使如此,存储器控制器和存储器总线或其它类型的总线对NVRAM的访问的粒度级别小于闪存使用的区块大小和I/O子系统的控制器和总线的访问大小的粒度级别。
NVRAM也可包含耗损平衡算法以说明在远存储器级别的存储区块在多次写访问后开始耗损的事实,特别是在可发生相当大次数的写的情况下,如在系统存储器实现中。由于高循环计数区块最可能以此方式耗损,因此,通过将高循环计数区块的地址与低循环计数区块交换,耗损均衡跨远存储器单元扩展写。注意,大多数地址交换一般对应用是透明的,这是因为它通过硬件、更低级别软件(例如,低级别驱动器或操作系统)或两者的组合处理。
B. 远存储器
本发明的一些实施例的远存储器122通过NVRAM实现,但不一定限于任何特定存储器技术。远存储器122在其特性和/或其在存储器/存储装置层级中的应用方面与其它指令和数据存储器/存储技术是可区分的。例如,远存储器122不同于:
静态随机存取存储器(SRAM),可用于0级和1级内部处理器缓存101a-b、102a-b、103a-b、103a-b和104a-b和由处理器核共享的更低级别缓存(LLC) 105,内部处理器缓存分别专用于每个处理器核101-104。
动态随机存取存储器(DRAM),配置为处理器100内部的缓存106(例如,与处理器100在相同管芯上)和/或配置为处理器外部的一个或更多个缓存107-109(例如,与处理器100在相同或不同封装中);以及
应用为大容量存储装置(未示出)的FLASH存储器/磁盘/光盘;以及
诸如FLSH存储器或应用为固件存储器的其它只读存储器(ROM)的存储器(能够指引导ROM、BIOS闪存和/或TPM闪存)(未示出)。
远存储器122可用作由处理器100可直接寻址并且能够与处理器充分保持一致的指令和数据存储装置,与应用为大容量存储装置的FLASH/磁盘/光盘形成对比。另外,如上所述和如下面详细描述的一样,远存储器122可位于存储器总线上,并且可与存储器控制器直接进行通信,而存储器控制器又直接与处理器100进行通信。
远存储器122可与其它指令和数据存储技术(例如,DRAM)组合以形成混合存储器(也称为共处的PCM和DRAM;第一级别存储器和第二级别存储器;FLAM(FLASH和DRAM))。注意,作为系统存储器的替代或附加,包括PCM/PCMS的至少一些上述技术可用于大容量存储装置,并且以此方式应用时无需由处理器随机可访问、字节可寻址或直接可访问。
为便于解释,术语NVRAM、PCM、PCMS和远存储器可在下面的讨论中互换使用。然而,应认识到的是,如上所述,不同技术也可用于远存储器。此外,该NVRAM也不限于用作远存储器。
示范系统存储器分配方案
图1示出在本发明的实施例中,如何相对于系统物理地址(SPA)空间116-119配置各种级别的缓存101-109。如所提及的,此实施例包括具有一个或更多个核101-104的处理器100,每个核具有其自己的专用上级缓存(L0) 101a-104a和中级缓存(MLC) (L1)缓存101b-104b。处理器100也包括共享LLC 105。这些各种缓存级别的操作已为人所熟知并且在本文中将不详细描述。
图1中示出的缓存107-109可专用于特定系统存储器地址范围或非连续地址范围的集合。例如,缓存107专用于充当用于系统存储器地址范围# 1 116的存储器侧缓存(MSC),并且缓存108和109专用于充当用于系统存储器地址范围# 2 117和# 3 118的非重叠部分的MSC。后面的实现可用于其中处理器100使用的SPA空间交错到缓存107-109(例如,在配置为MSC时)使用的地址空间的系统。在一些实施例中,此后面的地址空间称为存储器通道地址(MCA)空间。在一个实施例中,内部缓存101a-106为整个SPA空间执行缓存操作。
在本文中使用时,系统存储器是处理器100上执行的软件可见和/或可直接寻址的存储器;而高速缓冲存储器101a-109可在以下意义中对软件透明操作:表现在它们不形成系统地址空间的直接可寻址部分,而核也可支持指令的执行以允许软件提供某种控制(配置、策略、提示等)到一些或所有缓存。系统存储器到区域116-119的细分可作为系统配置过程的一部分(例如,由系统设计人员)手动执行和/或可由软件自动执行。
在一个实施例中,系统存储器区域116-119使用远存储器(例如,PCM)实现,并且在一些实施例中,近存储器配置为系统存储器。系统存储器地址范围# 4表示使用诸如DRMA的更高速存储器实现的地址范围,更高速存储器可以是在系统存储器模式(不同于缓存模式)中配置的近存储器。
图2示出根据本发明的实施例,用于近存储器144和NVRAM的存储器/存储装置层级140和操作的不同可配置模式。存储器/存储装置层级140具有多个级别,包括(1)缓存级别150,其可包括处理器缓存150A(例如,图1中的缓存101A-105)和可选择地包括作为用于远存储器150B的缓存的近存储器(在某些操作模式中),(2)系统存储器级别151,其包括远存储器151B(例如,诸如PCM的NVRAM)和作为系统存储器151A操作的近存储器,(3)大容量存储装置级别152,其可包括闪存/磁性/光学大容量存储装置152B和/或NVRAM大容量存储装置152A(例如,一部分NVRAM 142);以及(4)固件存储器级别153,其可包括BIOS闪存170和/或BIOS NVRAM 172和可选择地包括受信任平台模块(TPM) NVRAM 173。
如所示的,近存储器144可实现成在以下模式中操作:其中,它作为系统存储器151A操作,并且占用一部分SPA空间(有时称为近存储器“直接访问”模式);以及一个或更多个另外的操作模式中,如暂时存储器192或写缓冲器193。在本发明的一些实施例中,近存储器是可划分的,其中,每个划分可同时在支持的模式的一个不同模式中操作;并且不同实施例可通过硬件(例如,熔丝、引脚)、固件和/或软件支持划分的配置(例如,大小、模式)(例如,通过MSC控制器124内的可编程范围寄存器集合,在控制器内例如可存储不同二进制代码以识别每个模式和划分)。
如在图2中观察到的,系统地址空间B 191用于显示在所有或一部分近存储器被指派一部分系统地址空间时的实现。在此实施例中,系统地址空间B 191表示指派到近存储器151A的系统地址空间的范围,并且系统地址空间A 190表示指派到NVRAM 174的系统地址空间的范围。
在近存储器直接存取模式中操作时,作为系统存储器151A的所有或部分近存储器对软件是直接可见的,并且形成SPA空间的一部分。此类存储器可完全在软件控制之下。此类方案可形成用于软件的非一致存储器地址(NUMA)存储器域,其中,相对于NVRAM系统存储器174,它从近存储器144获得更高性能。作为示例并且不是限制,此类使用可用于要求对某些数据结构的极快访问的某些高性能计算(HPC)和图形应用。
图2也示出一部分NVRAM 142可用作固件存储器。例如,BIOS NVRAM 172部分可用于存储BIOS镜像(作在BIOS闪存170中存储BIOS信息的替代或附加)。BIOS NVRAM部分172可以是一部分SPA空间,并且由在处理器核101-104上执行的软件直接可寻址,而BIOS闪存170通过I/O子系统115可寻址。作为另一示例,受信任平台模块(TPM) NVRAM 173部分可用于保护敏感系统信息(例如,加密密钥)。
因此,如所示的,NVRAM 142可实现成以多种不同模式操作,包括作为远存储器151B(例如,在近存储器144存在/在直接存取模式中操作时)、NVRAM大容量存储装置152A、BIOS NVRAM 172及TPM NVRAM 173。
系统存储器和大容量存储装置的选择可取决于采用本发明的实施例的电子平台的类型。例如,在个人计算机、平板计算机、笔记本计算机、智能电话、移动电话、功能电话、个人数字助理(PDA)、便携式媒体播放器、便携式游戏装置、游戏控制台、数码相机、交换机、集线器、路由器、机顶盒、数字视频记录器或具有相对小的大容量存储要求的其它装置中,大容量存储装置可使用NVRAM大容量存储装置152A单独实现,或者使用NVRAM大容量存储装置152A与闪存/磁性/光学大容量存储装置152B组合实现。
在具有较大大容量存储装置要求(例如,大型服务器)的其它电子平台中,可使用磁性存储装置(例如,硬盘驱动器)或磁性存储装置、光学存储装置、全息存储装置、大容量存储装置闪存及NVRAM大容量存储装置152A的任何组合实现大容量存储装置。在此类情况下,负责存储的系统硬件和/或软件可实现各种智能持久存储分配技术,以有效或有用的方式在FM 151B/NVRAM存储装置152A和闪存/磁性/光学大容量存储装置152B之间分配持久程序代码和数据块。
例如,在一个实施例中,高功率服务器配置有近存储器(例如,DRAM)、PCMS装置和用于大量持续存储的磁性大容量存储装置。在一个实施例中,笔记本计算机配置有近存储器和指行近存储器与大容量存储装置的角色的PCMS装置。家庭或办公室台式计算机的一个实施例类似地配置成笔记本计算机,但也可包括一个或更多个磁性存储装置以提供大量持久存储能力。
平板计算机或蜂窝电话装置的一个实施例配置有PCMS存储器,但可能没有近存储器和另外的大容量存储装置(以便实现成本节省/节能)。然而,平板/电话可配置有诸如闪存或PCMS记忆棒的可移动大容量存储装置。
各种其它类型的装置可如上所述配置。例如,便携式媒体播放器和/或个人数字助理(PDA)可以类似于上述平板/电话的方式配置,游戏控制台可以类似于台式或膝上型计算机的方式配置。可类似配置的其它装置包括数码相机、路由器、机顶盒、数字视频记录器、电视和汽车。
示范系统存储器分配方案
图3示出具有到多个存储器通道(例如,DDR通道)302_1到302_8的相应接口301_1到301_8的计算系统的存储器控制器300,其中,每个通道能够支持一个或更多个DIMM卡(即,一个或更多个DIMM卡能够插入通道中),并且图4和5示出用于通过禁用/启用存储器通道及其对应DIMM卡来控制计算系统的功耗的方法。为简明起见,示出了8个存储器通道,但技术人员将理解,本文中的教导能够应用到具有不同数量的存储器通道的系统。
根据图4的方法,例如,可做出决定(例如,通过诸如ACPI的智能功率管理软件)以通过禁用当前在运转的存储器通道使计算机系统进入更低性能状态。相反,根据图5的方法,可做出决定以通过启用当前未运转的存储器通道使计算机系统进行更高性能状态。
图1中所示,具有DRAM和NVRAM系统存储器组件的一些计算系统实施例可为DRAM保留第一部分的系统存储器地址并且为NVRAM保留第二部分的系统存储器地址。也就是说,在“充当系统存储器方法的近存储器”中,可寻址系统存储器能够包括DRAM(例如,参见图2作为系统存储器151A的近存储器)和PCMS(例如,参见图2实现为NVRAM系统存储器174的远存储器151B)。
根据一个实施例,再参照图3,每个存储器通道302_1到302_8分配有与在存储器通道上可用的存储空间一致的计算机系统存储器地址的独特部分或段。存储器通道上可用的存储空间又随插入存储器通道中的DIMM卡数量和DIMM卡上存储器装置的存储密度而变化。
根据又一实施例,存储器通道的第一部分303(以及因此系统存储器地址空间的对应第一部分/段)被保留用于DRAM DIMM,并且存储器通道的第二部分304(以及因此系统存储器地址空间的对应剩余第二部分/段)被保留用于PCMS DIMM。
根据此特定实施例,DRAM存储空间303不充当用于PCMS存储空间304的缓存。而是,系统存储器空间配置成在DRAM存储空间303中存储“访问时间关键”信息(如,程序代码指令或至少经常利用的程序代码指令)和在PCMS存储空间304中存储“访问时间非关键或更不关键”信息(如数据或至少不经常访问的数据)。
因此,在计算机的CPU上运行的操作系统和/或虚拟机监视器分配与此方案一致的系统存储器地址空间。例如,经常使用的程序代码指令(至少)被赋予对应于具有DRAM DIMM的那些存储器通道的地址空间,并且不经常使用的数据项(至少)被赋予对应于具有PCMS DIMM的那些存储器通道的地址空间。在各种实施例中,在无论DRAM还是PCMS的每个地址存储的内容是称为“缓存线”的固定长度数据字(例如,64比特数据字或128比特数据字)。为方便起见,术语“内容”或“缓存线”将在下面的讨论中互换使用以指在系统存储器地址存储的信息。
参照图4的方法,在应用到如上刚刚描述的计算机系统时,禁用存储器通道以进入更低性能状态包括禁用存储器通道的DIMM卡及其对应存储器装置,并且启用存储器通道以进入更高性能状态包括启用存储器通道的DIMM卡及其对应存储器装置。
具体而言,在选择启用/禁用具有DRAM DIMM卡的通道时,能够实现功耗和性能的有效缩放。由于DRAM装置比PCMS装置更快并且消耗更多功率,因此,通过关闭DRAM存储器通道来降低到更低性能状态应会大幅降低计算系统的性能和功耗。同样地,通过启用DRAM存储器通道来提升到更高性能状态应会大幅增大计算机系统的性能和功耗。
然而,存储器管理是关注的问题。具体而言,DRAM存储器通道被禁用或启用时,系统存储器地址空间应有效地重新配置成解释可用DRAM存储器空间的更改。这包括将要关闭的DRAM通道的内容“移”到其它系统存储器位置。根据图4的方法,操作系统和/或虚拟机监视器和/或虚拟机和/或这些中的任何一个的功率管理组件(下文称为“系统软件”)跟踪分配到DRAM的虚拟地址的使用402,以理解更经常访问哪些虚拟地址和/或更不经常访问哪些虚拟地址。
如熟知的技术领域,系统软件一般设计成参考虚拟地址,并且基础硬件负责将虚拟地址转换成系统中驻留的系统存储器的对应物理地址。
在决定禁用DRAM存储器通道时,系统软件有效地重新配置DRAM地址空间,使得更经常使用的虚拟地址空间保持指派到DRAM地址空间,并且在数量上约等于或等于要关闭的DRAM存储器通道保持的物理地址的一组更少使用的DRAM虚拟地址被重新指派到PCMS地址空间。基础物理地址的产生的重新指派(包括要关闭的DRAM通道中经常使用的地址的内容迁移到要保持活动的DRAM通道,以及更少使用的DRAM地址的内容迁移到PCMS地址空间)必然影响上面刚谈到的虚拟地址到物理地址转换。
一般情况下,中央处理单元(CPU)或“处理器”306中驻留的转换后备缓冲器(TLB) 305充当虚拟地址到物理地址转换的缓存。TLB在技术领域中被良好地理解,但其角色和功能的简述值得一提。TLB包含多个转换条目(TE),每个TE识别用于特定虚拟地址的独特物理地址,也称为地址转换。一般情况下,转换本身被指定到存储器页的粒度。因此,虚拟地址的TE包含在计算系统的系统存储器中其对应存储器页的物理地址。
TLB设计成包含最近通过执行程序代码调出其相关联虚拟地址 的TE的集合(直到TLB的大小)。因为通过执行程序代码调出的每个虚拟地址识别所操作的特定程序代码指令或特定的数据项,因此,各种处理器体系结构可包括指令TLB和数据TLB。
就指令TLB而言,在程序代码执行期间,获取用于下一指令的下一虚拟地址,并且在指令TLB中执行查找,以查找在指令的虚拟地址与指令TLB TE内虚拟地址之间的匹配。在常见方法中,查找中不使用虚拟地址的更低阶比特,使得查找参数(即,虚拟地址的更高阶比特)基本上对应于虚拟存储器页的地址。如果发现匹配,则在TE中发现的具有匹配的虚拟地址的物理地址识别能够发现所需指令的系统存储器中的特定存储器页。
如果在指令TLB中未发现匹配的虚拟地址(指令TLB“缺失”),则处理器的表寻访(tablewalk)硬件从系统存储器获取适当的TE。从系统存储器获取的TE内的物理地址识别能够发现下一指令的系统存储器中的系统存储器页。一般也在指令TLB中加载从系统存储器获取的TE的副本,并且从指令TLB中驱除至少最近使用的TE。从系统存储器获取的原TE保留在系统存储器中。
数据TLB(包括响应于TLB缺失的系统操作)操作与如上所述差不多相同,除了虚拟地址用于所需数据项,以及所需TE中发现的物理地址识别发现所需数据的系统存储器中的页面。
重要的是,注意包含用于在其操作过程中可操作程序(例如,应用和/或虚拟机)可调出的虚拟地址集的所有虚拟地址到物理地址转换(用于指令和数据两者)的TE的集合,位于保持在系统存储器中的称为“TE仓库”的特殊仓库307中。在一实施例中,作为将可操作程序加载到存储器中用于执行的一部分,将用于可操作程序的TE仓库307加载到系统存储器中。多个程序同时在计算机上操作时,在一实施例中,TE仓库保持在用于每个可操作程序的系统存储器中。在又一实施例中,所有TE仓库以及因此所有TE保持在不能禁用的DRAM通道上的DRAM系统存储器的特殊段中。
系统存储器空间重新配置成解释存储器通道的关闭(或启用)作为更改计算机的性能状态的功率管理决定的一部分时,对于要迁移并且因此具有“新”物理地址的每个缓存线,前面提及的DRAM存储器内容的移动形成了更新其对应TE以反映其新物理地址位置404的需要。应更新的特定TE包括:i)其内容要从正关闭的DRAM通道迁移到不是正关闭的DRAM通道的更经常使用的DRAM地址的TE;以及ii)其对应内容要迁移到PCMS地址空间的更不经常使用的DRAM地址的TE。
在不可能的情况下,所有最不经常使用的DRAM地址碰巧在要关闭的特定DRAM通道上。在此情况下,任何其它DRAM通道上无DRAM地址受通道关闭影响(即,正关闭的DRAM通道的所有内容迁移到PCMS存储装置)。因此,在此不可能情况下,仅修改正关闭的通道的DRAM地址的TE以反映PCMS存储器中的新物理地址。
在更可能的情形下,一些更经常使用的DRAM地址驻留在正关闭的存储器通道上,并且一些更不经常使用的DRAM地址驻留在不是正关闭的剩余通道上。在一实施例中,为到PCMS存储装置的迁移识别的最不经常使用的DRAM地址的数量与由要关闭的DRAM通道支持的地址的数量相同(或大约相同)。这基本上对应于使标记用于到PCMS存储空间的迁移的DRAM地址的数量等于通过DRAM通道的关闭“丢失”的DRAM地址的数量。
通过此方法,其内容需要迁移到新DRAM地址(具体而言,要保持活动的另一DRAM通道上的地址)的正关闭的DRAM通道上经常使用的DRAM地址的数量应与其内容需要迁移到新PCMS地址(即,PCMS存储装置中的地址)的要保持活动的那些DRAM通道上最不经常使用的DRAM地址的数量相同。因此,前者的内容能够替换在通道关闭后要保持活动的DRAM空间中后者的内容。也就是说,能够将正关闭的DRAM通道上经常使用的DRAM地址的内容写入不是正关闭的DRAM通道的最不经常使用的DRAM地址的DRAM地址。
因此,根据图4的方法,从DRAM读取最不经常使用的DRAM地址的缓存线(在要关闭的DRAM通道上的那些缓存线和在另一DRAM通道上的那些缓存线),并且将其写入PCMS存储空间403。修改如系统存储器中其对应TE中保持的用于其相应存储器页的物理地址信息(所述TE在其相应TE仓库中 - 这是因为多个软件应用可受通道关闭影响)以反映其新的相应PCMS地址404。
然后,将在活动DRAM通道上“刚空出的”DRAM地址重新填充要关闭的DRAM通道上经常使用的DRAM地址的缓存线,405。
因此,剩余活动通道上每个空出的最不经常使用的DRAM地址用来自要关闭的通道上的另一更经常使用的DRAM地址的缓存线来重写。修改正从要关闭的通道迁移到剩余活动DRAM通道的更经常使用的DRAM地址的每个存储器页的系统存储器中的TE记录以反映其新的物理地址位置406。值得注意的是,每个新的物理地址对应于以前识别为最不经常使用的地址。
在一实施例中,作为原系统初启(bring-up)的一部分(例如,在做出关闭DRAM通道的决定很早之前),保留PCMS存储装置308的部分以便在DRAM通道关闭的情况下接收缓存线的“DRAM通道的价值”。这里,除非或直到关闭DRAM通道,在PCMS部分中不存储活动信息,在关闭时,将总数据大小等于正关闭的DRAM通道的存储容量的缓存线的数量从DRAM存储空间加载到部分308中。在更新其相应TE仓库中的其对应TE时,随后从PCMS部分访问这些缓存线以支持程序操作。如上所述,可预先保留PCMS系统存储器的多个此类部分以支持正关闭多个DRAM通道时能够操作的系统407。
作为上述系统存储器重新配置过程的一部分,驻留在TLB中的修改的TE的任何副本无效。要注意的是,在系统存储器配置的过程中也可暂停系统操作。
在关闭DRAM通道后,参照图5,可由系统软件做出进入更高性能状态502的后续决定,这包括激活以前不活动的DRAM通道,502。在此情况下,将驻留在为存储从DRAM迁移的内容而保留的PCMS系统存储器304的前面提及的部分308中缓存线的“重新迁移回”正激活的DRAM通道,503。在TE仓库307中修改用于所有此类缓存线的对应存储器页的TE的物理地址组件以在新激活的DRAM通道中反映其新存储,504。再一次,可暂停系统操作以实现DRAM通道激活、缓存线迁移、TE修改和驻留于TLB中修改的TE的任何副本的失效。
图6示出软件表结构层级,该层级例如可由智能功率管理软件(如ACPI)用于如上所述支持计算机系统启用/禁用存储器通道的能力。如在图6中观察到的,存储器功率状态表600层级包括报头601、命令集602、一个或更多个功率节点603_1到603_X的定义以及由存储器功率状态表600表示的系统存储器的区域支持的不同功率状态604_1到604_Y的特性。
例如,可以为任何以下项例示存储器功率状态表的单个实例:整个系统存储器、系统存储器的技术特定区域(如为系统存储器的DRAM部分例示的第一表和为系统存储器的PCMS部分例示的第二表)等。报头信息601包括对例示存储器功率状态所代表的系统存储器的部分特定的信息。在一实施例中,报头信息601包括:i)表的签名;ii)整个表的长度,包括所有其组件602、603、604;iii)表的结构的版本号;iv)表的校验和;v) OEM标识符;vi)创建表的实用程序的供应商的ID;以及vii)创建表的实用程序的修正的ID。
命令集包括用于从/向功率状态表及其各种组件读取/写信息的基本命令。
存储器功率状态表识别表中所列功率节点结构603的数量(X),并且包括功率节点结构本身603_1到603_X,或者至少提供到这些结构的引用。在一实施例中,为表600表示的存储器的部分中能够支持多个功率状态的每个存储器通道创建单独的功率节点结构实例 - 任何一个实例可编程输入。例如,简要参照图3,如果存储器功率状态表600表示具有DRAM 303和PCMS 304两种部分的系统存储器的DRAM部分303,则能够为每个DRAM存储器通道302_1到302_4例示单独的功率节点结构。
如在图6中观察到的,诸如功率节点结构603_1的每个功率节点结构包括:i)功率节点结构的标识符605;ii)功率节点结构表示的系统存储器地址空间的地址范围606;以及iii)功率节点结构606表示的系统存储器的特定部分当前所处的功率状态607。要注意的是,当前系统存储器功率状态607对应于来自由功率状态表600整体定义的存储器功率状态集604_1到604_Y的功率状态之一。
在功率节点结构603_1表示DRAM通道的实施例中,功率节点结构的地址范围606对应于虚拟系统存储器地址的范围,虚拟系统存储器地址到物理地址空间中的转换对应于通道支持的物理地址。然而,存储器通道的前面提及的关闭和和重新启用能够跨多个存储器通道“扰杂”连续的虚拟地址范围。换而言之,至少在某个通道关闭序列后,单个存储器通道可支持虚拟地址空间的多个不连续部分。
每次启动存储器通道关闭序列时,可复合虚拟地址空间在其对应物理存储资源内的此分裂。因此,在一实施例中,可为相同存储器通道例示多个另外的功率节点结构603_1_2到603_1_R,其中,每个此类功率节点结构实例对应于在通道中有效存储的虚拟地址空间的不同范围。各种功率节点结构实例能够以如下方式有效地“捆绑”在一起,该方式通过在其对应虚拟地址范围每个中输入相同功率节点结构标识符元素605来表示其对应虚拟地址范围存储在相同存储器通道上。对此特定标识符采取的任何动作将自然地调用具有该标识符的所有功率节点结构603_1和603_1_2到603_1_R。
在通道关闭或通道重新启用转变期间,应修改特定存储器通道的功率节点结构实例以反映通道支持其存储的“新”的虚拟地址。这可涉及任何以下所述:添加为存储器通道例示的新功率节点结构实例或者删除为其例示的现有功率节点结构实例,和/或修改在为存储器通道例示的现有功率节点结构实例中指定的虚拟地址范围606。因此,根据各种实施例,在关闭或重新激活存储器通道时,不但为受影响的虚拟地址到物理地址转换修改在系统存储器中的TE仓库中的TE条目,而且也可修改功率管理软件使用的功率节点结构的地址范围606元素及此类结构本身的数量。
在如上详细所述关闭DRAM存储器通道时,存储器通道的功率节点结构实例的当前功率状态607对应于低功率状态,在该状态中,存储器通道被关闭并且未得到积极使用。在此功率状态中,可暂停施加时钟、选通和/或刷新信号到存储器通道上的DIMM卡。作为低功率状态的特性集的一部分,也可降低施加到通道上的DIMM卡的功率电压。
如果在关闭后重新激活存储器通道,则存储器通道的功率节点结构实例的当前功率状态设置607将改变到对应于在活动的存储器通道的另一功率状态。在此情况下,重新施加任何禁用的信号或功率电压。
对于上述功率状态转变,嵌在与存储器通道相关联的操作系统中驱动器软件能够监视在进入低功率状态时各种信号和供电电压的禁用以及在进入更高功率状态时各种信号和供电电压的启用。
在一实施例中,当前存储器功率状态设置607包括指向表600支持的功率状态集604_1到604_Y中功率节点结构603_1当前所处的特定功率状态的指针610。在一实施例中,功率状态定义604_1到604_Y中的每个功率状态定义对系统存储器组件在该功率状态中时消耗的平均功率(和/或最大-最小功耗率)进行了定义。在又一实施例中,每个功率状态定义也包括在转变进入或退出功率状态时花费时间量的定义(例如,退出等待时间)。
要注意的是,虽然以上讨论一直主要集中在整个单个通道的关闭上,但上面的教导能够应用到更宽和更精细的粒度。具体而言,上面的教导能够应用到其中作为相同功率状态更改序列的一部分,关闭不止一个通道的序列(例如,在跨存储器通道存在交错的情况下),或应用到其中关闭少于整个存储器通道的序列(如只一个DRAM芯片的关闭)。
图7示出软件体系结构,该软件体系结构包括功率管理软件710、如上所述的功率管理表700和跟踪软件程序的虚拟地址的使用率并更新迁移缓存线的TE信息的存储器管理软件712的组件711。
功率管理软件功能710(如ACPI)决定更低系统功率状态是必需的。借助于通过功率管理表700的可用性,先前知道系统存储器被组织成支持不同功率状态的各种功率节点703_1到703_N,功率管理软件701发出识别一个此类功率节点703_2和它应进入的新的更低功率状态的命令702。
这里,每个功率节点703_1–703_N对应于驻留于计算系统中的不同DRAM(以及可能地PCMS)存储器通道,每个通道具有插入其中的多个DIMM卡。在此示例中,功率节点703_2对应于DRAM存储器通道。响应于命令712,调用713用于计算机系统的基础存储器通道的存储器管理软件712,并且存储器管理软件712识别要关闭的特定DRAM存储器通道。
存储器管理软件712包括跟踪组件711,其跟踪哪些DRAM分配的虚拟地址更经常使用,哪些DRAM分配的虚拟地址更不经常使用。减去由于关闭DRAM存储器通道DRAM存储容量的损失,了解系统的新的更小DRAM容量。识别与此容量一致的最经常使用的DRAM虚拟地址(和/或标记其它“时间访问关键”虚拟地址)以便保持在DRAM存储装置中。剩余虚拟地址对应于更少使用的DRAM虚拟地址集,其对应内容的大小等于要关闭的存储器通道的容量。
迁移控制组件714控制如上所述的适当缓存线迁移。这里,再一次迁移包括从DRAM读取与更少使用的虚拟地址相关联的缓存线(在要关闭的存储器通道上的那些和在另一DRAM通道上的那些),并且将其写入PCMS存储器中保留的空间。与位于要关闭的存储器通道上经常使用的虚拟地址相关联的缓存线迁移到通过到PCMS存储器空间的迁移而有效空出的剩余活动存储器通道的位置中。更新由于迁移而具有新物理地址的虚拟地址的TE仓库中的TE,并且使TLB中的任何受影响TE失效。
然后,更新716表示剩余活动DRAM存储器通道的功率表700中功率节点的地址范围信息以反映其新的虚拟地址范围。这可包括创建或删除被识别为相同功率节点的一部分的功率节点实例。
然后,功率通道例如由能够停止或放慢在通道上各种时钟/选通信号(并可能进一步降低存储器通道上的功率电压)的用于存储器通道的装置驱动器软件717关闭。
功率通道能够根据类似的流程重新激活,但其中迁移控制组件714将以前在PCMS中存储的缓存线迁移到重新激活的存储器通道上。
虽然已将上述方法呈现为大部分(即使不是全部)在软件中执行,但可在硬件中或者通过硬件和软件的组合执行上述任何各种步骤。

Claims (28)

1. 一种方法,包括:
响应于进入更低性能状态的期望,执行以下操作:
将DRAM存储器通道上存储的缓存线迁移到其它DRAM存储器通道和PCMS存储器,其中,所述缓存线中与更经常使用的虚拟地址相关联的那些缓存线被迁移到所述其它DRAM存储器通道,并且所述缓存线中与更不经常使用的虚拟地址相关联的那些缓存线被迁移到所述PCMS存储器;以及,
关闭所述DRAM存储器通道。
2. 如权利要求1所述的方法,其中迁移到所述PCMS存储器的所述缓存线被迁移到所述PCMS存储器中为响应于DRAM存储器通道关闭操作而从DRAM存储装置迁移的缓存线以前保留的存储空间。
3. 如权利要求2所述的方法,其中所述方法还包括响应进入更高性能状态的期望,执行以下操作:
重新激活所述DRAM存储器通道;
将所述缓存线中迁移到PCMS存储器中的那些缓存线迁移到所述DRAM存储器通道上。
4. 如权利要求1所述的方法,还包括为所述缓存线更新虚拟到物理地址转换。
5. 如权利要求4所述的方法,其中所述虚拟到物理地址转换存储在所述其它DRAM存储器通道的存储空间中。
6. 如权利要求5所述的方法,还包括为转换后备缓冲器中发现的所述缓存线使任何虚拟到物理地址转换失效。
7. 一种方法,包括:
跟踪软件程序的虚拟地址的使用;以及,
响应于进入更低性能状态的期望,执行以下操作:
从与所述软件程序的更少使用的虚拟地址相关联的DRAM存储器通道读取缓存线;
将所述缓存线写入PCMS存储器;
将与所述DRAM存储器通道之一的更经常使用的虚拟地址相关联的缓存线写入其它剩余的一个或更多个DRAM通道的位置,所述位置以前存储写入PCMS存储器的所述缓存线中的至少一些;以及,
关闭所述一个DRAM存储器通道。
8. 如权利要求7所述的方法,其中写入PCMS存储器的所述缓存线被写入以前为从DRAM存储空间迁移的缓存线的存储保留的所述PCMS存储器的存储空间。
9. 如权利要求8所述的方法,还包括响应于进入更高性能状态的期望,执行以下操作:
重新激活所述一个DRAM存储器通道;
将写入PCMS存储器的所述缓存线迁移到所述DRAM存储器通道上。
10. 如权利要求7所述的方法,还包括为与更少使用的虚拟地址相关联的所述缓存线和与更经常使用的虚拟地址相关联的所述缓存线更新虚拟到物理地址转换。
11. 如权利要求11所述的方法,还包括为与更少使用的虚拟地址相关联的所述缓存线和与更经常使用的虚拟地址相关联的所述缓存线使在转换后备缓冲器中发现的任何虚拟到物理地址转换无效。
12. 一种方法,包括:
决定进入更低功率状态;以及,
在响应中关闭计算机系统中的存储器通道,在所述响应之后所述计算机系统中的其它存储器通道保持活动,使得所述存储器通道关闭时计算机保持运转。
13. 如权利要求12所述的方法,其中,所述方法还包括 
更改存储器功率状态表的功率节点结构以关闭所述存储器通道,其中,所述功率节点结构表示所述存储器通道。
14. 如权利要求13所述的方法,其中所述功率节点结构识别其对应缓存线存储在所述存储器通道上的虚拟地址的范围。
15. 如权利要求14所述的方法,其中创建所述功能节点结构的多个实例以表示所述存储器通道,每个独特的实例具有其对应缓存线存储在所述存储器通道中的不同虚拟地址集。
16. 如权利要求13所述的方法,其中所述功率节点结构具有表示所述存储器通道的当前功率状态的字段。
17. 如权利要求13所述的方法,其中所述存储器功率状态表包括多个功率节点结构以表示多个相应存储器通道。
18. 如权利要求17所述的方法,其中所述存储器功率表包括所述多个相应存储器通道的所述不同功率状态的特性。
19. 一种包含程序代码的机器可读媒体,所述程序代码在由计算系统的中央处理单元处理时使方法被执行,所述方法包括:
响应于进入更低性能状态的期望,执行以下操作:
将DRAM存储器通道上存储的缓存线迁移到其它DRAM存储器通道和PCMS存储器,其中,所述缓存线中与更经常使用的虚拟地址相关联的那些缓存线被迁移到所述其它DRAM存储器通道,并且所述缓存线中与更不经常使用的虚拟地址相关联的那些缓存线被迁移到所述PCMS存储器;以及,
关闭所述DRAM存储器通道。
20. 如权利要求19所述的机器可读媒体,其中迁移到所述PCMS存储器的所述缓存线被迁移到所述PCMS存储器中为响应于DRAM存储器通道关闭操作而从DRAM存储装置迁移的缓存线以前保留的存储空间。
21. 如权利要求20所述的机器可读媒体,其中所述方法还包括响应于进入更高性能状态的期望,执行以下操作:
重新激活所述DRAM存储器通道;
将所述缓存线中迁移到PCMS存储器中的那些缓存线迁移到所述DRAM存储器通道上。
22. 如权利要求19所述的机器可读媒体,其中所述方法还包括为所述缓存线更新虚拟到物理地址转换。
23. 如权利要求22所述的机器可读媒体,其中所述虚拟到物理地址转换存储在所述其它DRAM存储器通道的存储空间中。
24. 如权利要求23所述的机器可读媒体,还包括为转换后备缓冲器中发现的所述缓存线使任何虚拟到物理地址转换失效。
25. 一种包含程序代码的机器可读媒体,所述程序代码在由计算系统的中央处理单元处理时使方法被执行,所述方法包括:
决定进入更低功率状态;以及,
更改存储器功率状态表的功率节点结构以关闭计算机系统中的存储器通道。
26. 如权利要求25所述的机器可读媒体,其中所述功率节点结构表示所述存储器通道。
27. 如权利要求26所述的机器可读媒体,其中所述功率节点结构识别其对应缓存线存储在所述存储器通道上的虚拟地址的范围。
28. 如权利要求27所述的机器可读媒体,其中创建所述功能节点结构的多个实例以表示所述存储器通道,每个独特的实例具有其对应缓存线存储在所述存储器通道中的不同虚拟地址集。
CN201180076411.3A 2011-12-22 2011-12-22 借助于存储器通道关闭的功率节约 Active CN104115132B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/067007 WO2013095559A1 (en) 2011-12-22 2011-12-22 Power conservation by way of memory channel shutdown

Publications (2)

Publication Number Publication Date
CN104115132A true CN104115132A (zh) 2014-10-22
CN104115132B CN104115132B (zh) 2018-02-06

Family

ID=48669200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180076411.3A Active CN104115132B (zh) 2011-12-22 2011-12-22 借助于存储器通道关闭的功率节约

Country Status (8)

Country Link
US (2) US9612649B2 (zh)
KR (2) KR101761044B1 (zh)
CN (1) CN104115132B (zh)
BR (1) BR112014015441B1 (zh)
DE (1) DE112011106032B4 (zh)
GB (1) GB2513748B (zh)
TW (1) TWI614752B (zh)
WO (1) WO2013095559A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117285A (zh) * 2015-09-09 2015-12-02 重庆大学 一种基于移动虚拟化系统的非易失性存储器调度优化方法
CN107066068A (zh) * 2015-09-09 2017-08-18 联发科技股份有限公司 存储装置及存储装置内低功耗存储器存取方法
CN108632152A (zh) * 2018-03-30 2018-10-09 上海康斐信息技术有限公司 一种无线路由器及快速启动的方法
CN113886291A (zh) * 2021-08-29 2022-01-04 苏州浪潮智能科技有限公司 一种路径的禁用方法及系统

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8597360B2 (en) 2004-11-03 2013-12-03 Neuropro Technologies, Inc. Bone fusion device
WO2013023098A1 (en) 2011-08-09 2013-02-14 Neuropro Spinal Jaxx Inc. Bone fusion device, apparatus and method
WO2013101201A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Home agent multi-level nvm memory architecture
US9532883B2 (en) 2012-04-13 2017-01-03 Neuropro Technologies, Inc. Bone fusion device
CA2906531C (en) 2013-03-15 2020-10-06 Neuropro Technologies, Inc. Bodiless bone fusion device, apparatus and method
US11822474B2 (en) 2013-10-21 2023-11-21 Flc Global, Ltd Storage system and method for accessing same
KR102432754B1 (ko) 2013-10-21 2022-08-16 에프엘씨 글로벌 리미티드 최종 레벨 캐시 시스템 및 이에 대응하는 방법
US9389675B2 (en) * 2013-12-19 2016-07-12 International Business Machines Corporation Power management for in-memory computer systems
WO2016023519A1 (en) * 2014-08-15 2016-02-18 Mediatek Inc. Method for managing multi-channel memory device to have improved channel switch response time and related memory control system
US9658793B2 (en) * 2015-02-20 2017-05-23 Qualcomm Incorporated Adaptive mode translation lookaside buffer search and access fault
US9858201B2 (en) * 2015-02-20 2018-01-02 Qualcomm Incorporated Selective translation lookaside buffer search and page fault
KR102314138B1 (ko) * 2015-03-05 2021-10-18 삼성전자 주식회사 모바일 장치 및 모바일 장치의 데이터 관리 방법
US10127406B2 (en) * 2015-03-23 2018-11-13 Intel Corporation Digital rights management playback glitch avoidance
US9977604B2 (en) * 2015-10-16 2018-05-22 SK Hynix Inc. Memory system
US9977605B2 (en) * 2015-10-16 2018-05-22 SK Hynix Inc. Memory system
US9990283B2 (en) * 2015-10-16 2018-06-05 SK Hynix Inc. Memory system
US9977606B2 (en) * 2015-10-16 2018-05-22 SK Hynix Inc. Memory system
US9990143B2 (en) * 2015-10-16 2018-06-05 SK Hynix Inc. Memory system
US9824419B2 (en) * 2015-11-20 2017-11-21 International Business Machines Corporation Automatically enabling a read-only cache in a language in which two arrays in two different variables may alias each other
US10303372B2 (en) 2015-12-01 2019-05-28 Samsung Electronics Co., Ltd. Nonvolatile memory device and operation method thereof
US10698732B2 (en) 2016-07-19 2020-06-30 Sap Se Page ranking in operating system virtual pages in hybrid memory systems
US10452539B2 (en) * 2016-07-19 2019-10-22 Sap Se Simulator for enterprise-scale simulations on hybrid main memory systems
US10540098B2 (en) 2016-07-19 2020-01-21 Sap Se Workload-aware page management for in-memory databases in hybrid main memory systems
US10783146B2 (en) 2016-07-19 2020-09-22 Sap Se Join operations in hybrid main memory systems
US10437798B2 (en) 2016-07-19 2019-10-08 Sap Se Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems
US10387127B2 (en) 2016-07-19 2019-08-20 Sap Se Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases
US10474557B2 (en) 2016-07-19 2019-11-12 Sap Se Source code profiling for line-level latency and energy consumption estimation
US10318428B2 (en) 2016-09-12 2019-06-11 Microsoft Technology Licensing, Llc Power aware hash function for cache memory mapping
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
US10261876B2 (en) 2016-11-08 2019-04-16 Micron Technology, Inc. Memory management
US10729560B2 (en) 2017-01-18 2020-08-04 Neuropro Technologies, Inc. Bone fusion system, device and method including an insertion instrument
US10111760B2 (en) 2017-01-18 2018-10-30 Neuropro Technologies, Inc. Bone fusion system, device and method including a measuring mechanism
US10241561B2 (en) 2017-06-13 2019-03-26 Microsoft Technology Licensing, Llc Adaptive power down of intra-chip interconnect
US11010379B2 (en) 2017-08-15 2021-05-18 Sap Se Increasing performance of in-memory databases using re-ordered query execution plans
US11216203B2 (en) 2017-09-27 2022-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and reallocation component for managing reallocation of information from source to target memory sled
JP7407134B2 (ja) 2018-06-18 2023-12-28 エフ・エル・シィ・テクノロジー・グループ・インコーポレイテッド 記憶システムをメインメモリとして使用するための方法および装置
US11163680B2 (en) 2018-11-28 2021-11-02 International Business Machines Corporation Dynamic write-back to non-volatile memory
US10642734B1 (en) 2018-12-03 2020-05-05 Advanced Micro Devices, Inc. Non-power of two memory configuration
US11307779B2 (en) * 2019-09-11 2022-04-19 Ceremorphic, Inc. System and method for flash and RAM allocation for reduced power consumption in a processor
US11721379B2 (en) * 2021-06-17 2023-08-08 Micron Technology, Inc. Cell disturb on power state transition
US20230266899A1 (en) * 2022-02-23 2023-08-24 Nvidia Corporation System level hardware mechanisms for dynamic assist control

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWM286985U (en) * 2005-08-22 2006-02-01 Regulus Technologies Co Ltd Memory module with smart-type power-saving and fault-tolerance
US20080034234A1 (en) * 2006-08-02 2008-02-07 Hitachi, Ltd. Method and computer for reducing power consumption of a memory
US20110271070A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Memory usage scanning

Family Cites Families (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US122011A (en) * 1871-12-19 Improvement in keepers for door-latches
US22008A (en) * 1858-11-09 Hoisting-machine
US711129A (en) * 1901-11-18 1902-10-14 Robert Shedenhelm Animal-shears.
US711207A (en) * 1901-12-14 1902-10-14 Martin V Grogan Circular handsaw.
US5912839A (en) 1998-06-23 1999-06-15 Energy Conversion Devices, Inc. Universal memory element and method of programming same
US7000102B2 (en) 2001-06-29 2006-02-14 Intel Corporation Platform and method for supporting hibernate operations
US6917999B2 (en) 2001-06-29 2005-07-12 Intel Corporation Platform and method for initializing components within hot-plugged nodes
US6732241B2 (en) * 2001-09-07 2004-05-04 Hewlett-Packard Development Company, L.P. Technique for migrating data between storage devices for reduced power consumption
US7493438B2 (en) 2001-10-03 2009-02-17 Intel Corporation Apparatus and method for enumeration of processors during hot-plug of a compute node
US7673090B2 (en) 2001-12-19 2010-03-02 Intel Corporation Hot plug interface control method and apparatus
US7117311B1 (en) 2001-12-19 2006-10-03 Intel Corporation Hot plug cache coherent interface method and apparatus
US7003658B2 (en) 2002-02-21 2006-02-21 Inventec Corporation Method for user setup of memory throttling register in north bridge via BIOS to save power
US20040028066A1 (en) * 2002-08-06 2004-02-12 Chris Quanbeck Receiver architectures with dynamic symbol memory allocation and methods therefor
TW200410255A (en) 2002-12-10 2004-06-16 Comax Semiconductor Inc A memory device with power-saving mode and an electrics device with the memory device
US7350087B2 (en) 2003-03-31 2008-03-25 Intel Corporation System and method of message-based power management
TW564991U (en) * 2003-04-25 2003-12-01 Sunplus Technology Co Ltd Power-saving static memory control circuit
US7376775B2 (en) 2003-12-29 2008-05-20 Intel Corporation Apparatus, system, and method to enable transparent memory hot plug/remove
US7475174B2 (en) 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
US8046488B2 (en) * 2004-05-21 2011-10-25 Intel Corporation Dynamically modulating link width
US7337368B2 (en) 2004-06-07 2008-02-26 Dell Products L.P. System and method for shutdown memory testing
US7480808B2 (en) * 2004-07-16 2009-01-20 Ati Technologies Ulc Method and apparatus for managing power consumption relating to a differential serial communication link
US7562202B2 (en) * 2004-07-30 2009-07-14 United Parcel Service Of America, Inc. Systems, methods, computer readable medium and apparatus for memory management using NVRAM
US7590918B2 (en) 2004-09-10 2009-09-15 Ovonyx, Inc. Using a phase change memory as a high volume memory
US7246224B2 (en) 2004-09-27 2007-07-17 Intel Corporation System and method to enable platform personality migration
US20070005922A1 (en) 2005-06-30 2007-01-04 Swaminathan Muthukumar P Fully buffered DIMM variable read latency
US8010764B2 (en) * 2005-07-07 2011-08-30 International Business Machines Corporation Method and system for decreasing power consumption in memory arrays having usage-driven power management
US7376037B1 (en) 2005-09-26 2008-05-20 Lattice Semiconductor Corporation Programmable logic device with power-saving architecture
US8145732B2 (en) 2005-11-21 2012-03-27 Intel Corporation Live network configuration within a link based computing system
US7496742B2 (en) * 2006-02-07 2009-02-24 Dell Products L.P. Method and system of supporting multi-plugging in X8 and X16 PCI express slots
US7600078B1 (en) 2006-03-29 2009-10-06 Intel Corporation Speculatively performing read transactions
US7913147B2 (en) 2006-05-08 2011-03-22 Intel Corporation Method and apparatus for scrubbing memory
US7756053B2 (en) 2006-06-30 2010-07-13 Intel Corporation Memory agent with error hardware
US7493439B2 (en) 2006-08-01 2009-02-17 International Business Machines Corporation Systems and methods for providing performance monitoring in a memory system
WO2008040028A2 (en) 2006-09-28 2008-04-03 Virident Systems, Inc. Systems, methods, and apparatus with programmable memory control for heterogeneous main memory
WO2008055271A2 (en) * 2006-11-04 2008-05-08 Virident Systems, Inc. Seamless application access to hybrid main memory
US8344475B2 (en) * 2006-11-29 2013-01-01 Rambus Inc. Integrated circuit heating to effect in-situ annealing
US7908501B2 (en) * 2007-03-23 2011-03-15 Silicon Image, Inc. Progressive power control of a multi-port memory device
US20080270811A1 (en) 2007-04-26 2008-10-30 Super Talent Electronics Inc. Fast Suspend-Resume of Computer Motherboard Using Phase-Change Memory
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8347005B2 (en) * 2007-07-31 2013-01-01 Hewlett-Packard Development Company, L.P. Memory controller with multi-protocol interface
JP2009211153A (ja) * 2008-02-29 2009-09-17 Toshiba Corp メモリ装置、情報処理装置及び電力制御方法
US20090313416A1 (en) 2008-06-16 2009-12-17 George Wayne Nation Computer main memory incorporating volatile and non-volatile memory
US8639874B2 (en) 2008-12-22 2014-01-28 International Business Machines Corporation Power management of a spare DRAM on a buffered DIMM by issuing a power on/off command to the DRAM device
US8161304B2 (en) * 2009-01-20 2012-04-17 Microsoft Corporation Power management for large memory subsystems
US8331857B2 (en) 2009-05-13 2012-12-11 Micron Technology, Inc. Wireless interface to program phase-change memories
US8250282B2 (en) 2009-05-14 2012-08-21 Micron Technology, Inc. PCM memories for storage bus interfaces
US8180981B2 (en) * 2009-05-15 2012-05-15 Oracle America, Inc. Cache coherent support for flash in a memory hierarchy
US8504759B2 (en) 2009-05-26 2013-08-06 Micron Technology, Inc. Method and devices for controlling power loss
US20100306453A1 (en) 2009-06-02 2010-12-02 Edward Doller Method for operating a portion of an executable program in an executable non-volatile memory
US9123409B2 (en) 2009-06-11 2015-09-01 Micron Technology, Inc. Memory device for a hierarchical memory architecture
KR20100133710A (ko) * 2009-06-12 2010-12-22 삼성전자주식회사 메모리 시스템 및 그것의 코드 데이터 로딩 방법
US20110047316A1 (en) * 2009-08-19 2011-02-24 Dell Products L.P. Solid state memory device power optimization
US8578138B2 (en) 2009-08-31 2013-11-05 Intel Corporation Enabling storage of active state in internal storage of processor rather than in SMRAM upon entry to system management mode
US8296496B2 (en) * 2009-09-17 2012-10-23 Hewlett-Packard Development Company, L.P. Main memory with non-volatile memory and DRAM
US9041720B2 (en) * 2009-12-18 2015-05-26 Advanced Micro Devices, Inc. Static image retiling and power management method and circuit
US8914568B2 (en) * 2009-12-23 2014-12-16 Intel Corporation Hybrid memory architectures
US8407516B2 (en) 2009-12-23 2013-03-26 Intel Corporation Controlling memory redundancy in a system
US8612809B2 (en) 2009-12-31 2013-12-17 Intel Corporation Systems, methods, and apparatuses for stacked memory
US20110179311A1 (en) * 2009-12-31 2011-07-21 Nachimuthu Murugasamy K Injecting error and/or migrating memory in a computing system
US20110161592A1 (en) 2009-12-31 2011-06-30 Nachimuthu Murugasamy K Dynamic system reconfiguration
US8621255B2 (en) * 2010-02-18 2013-12-31 Broadcom Corporation System and method for loop timing update of energy efficient physical layer devices using subset communication techniques
US20110208900A1 (en) 2010-02-23 2011-08-25 Ocz Technology Group, Inc. Methods and systems utilizing nonvolatile memory in a computer system main memory
KR20110131781A (ko) 2010-05-31 2011-12-07 삼성전자주식회사 위치정보의 정확도 확인방법 및 장치
US9032398B2 (en) * 2010-07-12 2015-05-12 Vmware, Inc. Online classification of memory pages based on activity level represented by one or more bits
JP2012027655A (ja) * 2010-07-22 2012-02-09 Hitachi Ltd 情報処理装置および省電力メモリ管理方法
US8762760B2 (en) * 2010-09-14 2014-06-24 Xilinx, Inc. Method and apparatus for adaptive power control in a multi-lane communication channel
US8649212B2 (en) 2010-09-24 2014-02-11 Intel Corporation Method, apparatus and system to determine access information for a phase change memory
US8838935B2 (en) * 2010-09-24 2014-09-16 Intel Corporation Apparatus, method, and system for implementing micro page tables
US8612676B2 (en) 2010-12-22 2013-12-17 Intel Corporation Two-level system main memory
US8462577B2 (en) 2011-03-18 2013-06-11 Intel Corporation Single transistor driver for address lines in a phase change memory and switch (PCMS) array
US8462537B2 (en) 2011-03-21 2013-06-11 Intel Corporation Method and apparatus to reset a phase change memory and switch (PCMS) memory cell
US8607089B2 (en) 2011-05-19 2013-12-10 Intel Corporation Interface for storage device access over memory bus
US8605531B2 (en) 2011-06-20 2013-12-10 Intel Corporation Fast verify for phase change memory with switch
US8463948B1 (en) 2011-07-01 2013-06-11 Intel Corporation Method, apparatus and system for determining an identifier of a volume of memory
US8671309B2 (en) 2011-07-01 2014-03-11 Intel Corporation Mechanism for advanced server machine check recovery and associated system software enhancements
WO2013048503A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
EP2761476B1 (en) * 2011-09-30 2017-10-25 Intel Corporation Apparatus, method and system that stores bios in non-volatile random access memory
WO2013048485A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
WO2013048497A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy
EP3346386B1 (en) * 2011-09-30 2020-01-22 Intel Corporation Non-volatile random access memory (nvram) as a replacement for traditional mass storage
EP2761480A4 (en) 2011-09-30 2015-06-24 Intel Corp APPARATUS AND METHOD FOR IMPLEMENTING MULTINIVE MEMORY HIERARCHY ON COMMON MEMORY CHANNELS
CN107391397B (zh) * 2011-09-30 2021-07-27 英特尔公司 支持近存储器和远存储器访问的存储器通道
EP2761467B1 (en) * 2011-09-30 2019-10-23 Intel Corporation Generation of far memory access signals based on usage statistic tracking
WO2013048470A1 (en) 2011-09-30 2013-04-04 Intel Corporation Statistical wear leveling for non-volatile system memory
EP2761468B1 (en) 2011-09-30 2019-12-11 Intel Corporation Platform storage hierarchy with non-volatile random access memory having configurable partitions
US20130091331A1 (en) * 2011-10-11 2013-04-11 Iulian Moraru Methods, apparatus, and articles of manufacture to manage memory
US8593866B2 (en) * 2011-11-11 2013-11-26 Sandisk Technologies Inc. Systems and methods for operating multi-bank nonvolatile memory
CN103975287B (zh) * 2011-12-13 2017-04-12 英特尔公司 使用非易失性随机存取存储器的服务器中的增强系统睡眠状态支持
US9336147B2 (en) * 2012-06-12 2016-05-10 Microsoft Technology Licensing, Llc Cache and memory allocation for virtual machines
US9811276B1 (en) * 2015-09-24 2017-11-07 EMC IP Holding Company LLC Archiving memory in memory centric architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWM286985U (en) * 2005-08-22 2006-02-01 Regulus Technologies Co Ltd Memory module with smart-type power-saving and fault-tolerance
US20080034234A1 (en) * 2006-08-02 2008-02-07 Hitachi, Ltd. Method and computer for reducing power consumption of a memory
US20110271070A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Memory usage scanning

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117285A (zh) * 2015-09-09 2015-12-02 重庆大学 一种基于移动虚拟化系统的非易失性存储器调度优化方法
CN107066068A (zh) * 2015-09-09 2017-08-18 联发科技股份有限公司 存储装置及存储装置内低功耗存储器存取方法
CN105117285B (zh) * 2015-09-09 2019-03-19 重庆大学 一种基于移动虚拟化系统的非易失性存储器调度优化方法
CN108632152A (zh) * 2018-03-30 2018-10-09 上海康斐信息技术有限公司 一种无线路由器及快速启动的方法
CN113886291A (zh) * 2021-08-29 2022-01-04 苏州浪潮智能科技有限公司 一种路径的禁用方法及系统
CN113886291B (zh) * 2021-08-29 2023-08-18 苏州浪潮智能科技有限公司 一种路径的禁用方法及系统

Also Published As

Publication number Publication date
WO2013095559A1 (en) 2013-06-27
TW201331941A (zh) 2013-08-01
DE112011106032B4 (de) 2022-06-15
KR101572403B1 (ko) 2015-11-26
GB2513748B (en) 2020-08-19
GB2513748A (en) 2014-11-05
US10521003B2 (en) 2019-12-31
TWI614752B (zh) 2018-02-11
BR112014015441A8 (pt) 2017-07-04
BR112014015441B1 (pt) 2021-05-25
DE112011106032T5 (de) 2014-12-04
US20140143577A1 (en) 2014-05-22
KR101761044B1 (ko) 2017-07-24
US9612649B2 (en) 2017-04-04
CN104115132B (zh) 2018-02-06
KR20140098221A (ko) 2014-08-07
US20170206010A1 (en) 2017-07-20
BR112014015441A2 (pt) 2017-06-13
GB201411390D0 (en) 2014-08-13
KR20150138404A (ko) 2015-12-09

Similar Documents

Publication Publication Date Title
CN104115132A (zh) 借助于存储器通道关闭的功率节约
US11054876B2 (en) Enhanced system sleep state support in servers using non-volatile random access memory
US9817758B2 (en) Instructions to mark beginning and end of non transactional code region requiring write back to persistent storage
CN103946812B (zh) 用于实现多级别存储器分级体系的设备和方法
CN103999161B (zh) 用于相变存储器漂移管理的设备和方法
EP2761467B1 (en) Generation of far memory access signals based on usage statistic tracking
US20140229659A1 (en) Thin translation for system access of non volatile semicondcutor storage as random access memory
CN103946811A (zh) 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
CN103946816A (zh) 作为传统大容量存储设备的替代的非易失性随机存取存储器(nvram)
CN103946826A (zh) 用于在公共存储器通道上实现多级存储器层级的设备和方法
CN105493052A (zh) 用于存储器管理的高速缓存操作
CN104115136A (zh) 非易失性随机访问存储器中存储bios的装置、方法和系统
WO2013048493A1 (en) Memory channel that supports near memory and far memory access
US9202548B2 (en) Efficient PCMS refresh mechanism
CN103593324A (zh) 一种具有自学习功能的快速启动低功耗计算机片上系统
Wang et al. File system-independent block device support for storage class memory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant