CN104460938B - 利用存储器高速缓存在系统范围内节省电力的方法和系统 - Google Patents
利用存储器高速缓存在系统范围内节省电力的方法和系统 Download PDFInfo
- Publication number
- CN104460938B CN104460938B CN201410491467.0A CN201410491467A CN104460938B CN 104460938 B CN104460938 B CN 104460938B CN 201410491467 A CN201410491467 A CN 201410491467A CN 104460938 B CN104460938 B CN 104460938B
- Authority
- CN
- China
- Prior art keywords
- cache
- last level
- memory access
- access request
- memory
- 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.)
- Expired - Fee Related
Links
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/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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开涉及利用存储器高速缓存在系统范围内节省电力的方法和系统。提供了利用存储器高速缓存在系统范围内节省电力的方法、系统和计算机程序产品。在存储器体系架构中的位置接收存储器访问请求,其中处理存储器访问请求在到达持有所请求数据的存储器设备之前必须使用末级高速缓存。利用存储器控制器使得存储器访问请求等待,并省略向被接受以利用末级高速缓存进行处理的现有存储器访问请求的队列添加存储器访问请求。利用末级高速缓存处理队列中的所有现有存储器访问请求。把末级高速缓存清除到存储器设备。利用避免末级高速缓存的到存储器设备的备选路径处理存储器访问请求。使用作为末级高速缓存的高速缓存设备断电。
Description
技术领域
本发明一般而言涉及用于管理数据处理环境中的电力使用的方法、系统和计算机程序产品。更具体地,本发明涉及用于利用存储器高速缓存在系统范围内节省电力的方法、系统和计算机程序产品。
背景技术
在数据处理系统中的存储器包括一个或多个固态存储器设备,诸如双列直插存储器模块(DIMM)。不仅处理器或处理器核,而且数据处理系统中的许多其它组件和子系统也需要对存储器进行访问。
在大多数情况下,对存储器以直接的方式进行访问比可接受的要慢。高速缓存存储器(cache)是更快且更小的存储器设备,其用于加速对存储器中最多使用的或最近使用的数据的访问。
目前有各种类型的高速缓存在使用。取决于对特定类型的高速缓存所期望的使用属性来以某种方式配置和定位该高速缓存。例如,诸如被称为CPU-高速缓存的级-1(L1)、级-2(L2)和级-3(L3)高速缓存的某种高速缓存被处理器使用来在指令执行期间读和写数据。L1、L2和L3高速缓存是快且小的存储器设备,通常与处理器核形成在同一芯片上以便靠近处理器进行快速操作。
其它级别的高速缓存不只是专门被处理器使用。例如,级-4(L4)高速缓存是数据处理系统中的任何子系统都可以访问的高速缓存,并且任何子系统都可以经L4高速缓存读或写存储器。如同其它高速缓存,与存储器相比,L4高速缓存包括较快的设备但是较小的容量,并且加快对存储器中最近使用的或频繁使用的数据的访问。作为例子,例如包括网络适配器的网络子系统,或例如包括I/O控制器的输入/输出(I/O)子系统,或例如在多分区数据处理系统中的分区管理子系统,其每个都可以经L4高速缓存以给定的配置访问存储器。
电子元件,包括用于主存储器或高速缓存存储器的存储器设备,消耗电力。在系统范围内的节省电力状态是指示数据处理系统的电力消耗作为整体必须被降低的状态。
发明内容
说明性实施例提供了用于利用存储器高速缓存在系统范围内节省电力的方法、系统和计算机程序产品。实施例在数据处理系统的存储器体系架构中的位置处接收存储器访问请求,其中处理存储器访问请求在到达持有所请求数据的存储器设备之前必须使用末级高速缓存(last level cache)。该实施例利用存储器控制器使得该存储器访问请求等待并且省略向被接受以利用末级高速缓存进行处理的现有存储器访问请求队列添加存储器访问请求。该实施例利用末级高速缓存处理队列中的所有现有存储器访问请求。该实施例将末级高速缓存清除(purge)到存储器设备。该实施例利用避免末级高速缓存的到存储器设备的备选路径来处理存储器访问请求。该实施例使用作为末级高速缓存的高速缓存设备断电。
附图说明
被认为是本申请的特性的新颖特征在所附权利要求中加以阐述。但是,本发明自身以及优选的使用模式、其另外的目的和优点将在结合附图阅读时通过参考说明性实施例的以下详细描述得到更好理解,其中:
图1描绘了其中可以实现说明性实施例的数据处理系统的网络的框图;
图2描绘了根据说明性实施例的利用末级高速缓存的示例存储器访问配置的框图;
图3描绘了根据说明性实施例的利用存储器高速缓存在系统范围内节省电力的存储器访问的示例性配置;
图4描绘了根据说明性实施例的利用存储器高速缓存在系统范围内节省电力的示例性过程的流程图;及
图5描绘了根据说明性实施例的使断电的末级高速缓存返回服务的示例性过程的流程图。
具体实施方式
在本公开内容的范围内,末级高速缓存是紧接在存储器之前的高速缓存。换句话说,在需要存储器访问的子系统和末级高速缓存之间的数据路径中可以存在任何数量的高速缓存,但是在末级高速缓存和存储器之间不存在其它高速缓存。
如同其它高速缓存,根据说明性实施例的末级高速缓存包括比在存储器中使用的设备更快的设备。通常,但是不一定,末级高速缓存的容量小于存储器的容量。
在并不暗示对其限制的情况下,在目前可用的数据处理系统中,在主存储器之前的L4高速缓存是末级高速缓存的例子。随着较新的或不同的存储器体系架构的问世,其它的或不同的高速缓存级别将变得可能。因此,末级高速缓存可被进一步从子系统中移除,诸如到对于在到达存储器之前的末级高速缓存可能可行的第五、第六或更后的高速缓存级别。
说明性实施例认识到不同的组件以不同的方式消耗电力。例如,当处理器利用率高时,比如高于利用率的阈值水平时,处理器消耗比阈值量多的电力,并且当处理器处于空闲状态时,比如当处理器利用率低于利用率的阈值水平时,处理器消耗较少的电力。因此,当处理器利用率高时,CPU高速缓存使用比阈值量多的电力,并且当处理器利用率低时,使用较少的电力。
说明性实施例认识到某些组件的电力消耗不以这样直接的方式绑定到处理器利用率。例如,即使当处理器处于低于阈值利用率的空闲状态时,诸如当前可用数据处理系统中的L4高速缓存的末级高速缓存,也会进行高电力消耗。例如,在某种情形下,数据处理系统中的一个或所有的处理器核可能处于空闲状态,但是该数据处理系统中的网络子系统可能会推送相当大量的数据,从而导致显著的L4高速缓存活动,因此在末级高速缓存中导致高于阈值的电力消耗。
说明性实施例认识到通常的电力节省技术不适于在任何省电模型中引入末级高速缓存。例如,通常地,可以使组件断电以消除或降低组件的电力消耗并从而节省电力。但是,通过使组件断电,由数据处理系统中的组件提供的功能性也丢失了。在除末级高速缓存之外的组件的情况下,功能性的丢失不是个问题,这是因为组件无论如何并没有被使用。
说明性实施例认识到由于末级高速缓存所占据的位置,简单地使末级高速缓存断电以节省电力中断了数据处理系统中许多(如果不是全部的话)子系统对存储器的访问。如果该数据处理系统即使在减少电力消耗状态下也必须保持操作的话,则这种处理器中断将是不可接受的。
用来描述本发明的说明性实施例总体上讨论并解决了关于在数据处理系统中节省电力的上述问题及其它问题。说明性实施例提供了用于利用存储器高速缓存在系统范围内节省电力的方法、系统和计算机程序产品。
说明性实施例认识到无论组件或整个系统的利用率如何,都会产生在系统范围内减少电力的需求。例如,如果多个供电单元中的一个或多个故障,那么在使用来自剩余供电单元的减少的电量的同时,必须减少数据处理系统的电力消耗以维护数据处理系统的稳定性。
作为另一个例子,规范或标准可能要求数据处理系统的电力消耗在操作的某个相应状态中在总体上不超过某个阈值。为了使系统符合规范或标准,无论诸如处理器的任何特定子系统的利用率如何,该系统的电力消耗都可能必须要减少。
说明性实施例认识到在系统范围内减少电力的情况下用于减少电力消耗的可选项是有限的,并且在不使组件断电并遭受相应的功能性损失的情况下,这通常不能被实现。示例性实施例认识到末级高速缓存可以以这里所描述的不中断功能性的方式断电,即,在减少系统的总电力足迹(footprint)的同时访问存储器。
说明性实施例仅仅作为例子对于某些状态、数据处理系统、环境、组件和应用进行描述。这种制造品的任何具体表述不是要限制本发明。在说明性实施例的范围内,可以选择条件、数据处理系统、环境、组件和应用的任何合适的表述形式。
而且,对于任何类型的数据、数据源或在数据网络上对数据源的访问,可以实现说明性实施例。在本发明的范围内,任何类型的数据存储设备都可以向本发明的实施例提供数据,或者在数据处理系统本地或者通过数据网络提供。
说明性实施例利用具体的代码、设计、体系架构、协议、布局、语义和工具进行描述只是作为例子并不是限制说明性实施例。而且,说明性实施例在一些实例中利用特定的软件、工具、和数据处理环境进行描述只是作为例子以使描述清晰。说明性实施例可以与其它可比较的或类似意图的结构、系统、应用或体系架构联合使用。说明性实施例可以用硬件、软件或其组合来实现。
使用本公开内容中的例子只是为了清晰描述起见并不是要限制说明性实施例。根据本公开内容可以想象其它的数据、操作、动作、任务、活动和操纵,并且这些可以在说明性实施例的范围内构想。
本文所列出的任何优点都只是例子并不是要限制说明性实施例。可以利用具体的说明性实施例实现附加的或不同的优点。而且,特定的说明性实施例可以具有以上所列出的优点中的一些、全部或者没有。
参考附图并且尤其参考图1和2,这些附图是说明性实施例可以在其中实现的数据处理环境的示例图。图1和2只是例子并不是要断言或暗示对于不同实施例可以在其中实现的环境的任何限制。特定的实现可以基于以下描述对所描绘的环境进行许多修改。
参考图1,该图描绘了其中可以实现说明性实施例的数据处理系统的框图。数据处理系统100可以是包括多个连接到系统总线106的处理器101、102、103和104的对称多处理器(SMP)系统。例如,数据处理系统100可以是在网络中实现为服务器的IBM Power(IBM和Power Systems是国际商用机器公司在美国和其它国家的商标)。可替换地,可以采用单处理器系统并且处理器101、102、103和104可以是单个处理器芯片中的核。可替换地,数据处理系统100可包括以处理器和核的任意组合的处理器101、102、103和104。
同样连接到系统总线106的是存储器控制器/高速缓存108,其提供到多个本地存储器160-163的接口。I/O总线桥110连接到系统总线106并且提供到I/O总线112的接口。存储器控制器/高速缓存108和I/O总线桥110可以如所描述的那样集成。末级高速缓存108A实现在存储器控制器/高速缓存108中或与其结合实现。存储器160-163构成通过末级高速缓存108A访问的存储器。
数据处理系统100是逻辑上分区的数据处理系统。因此,数据处理系统100可以具有多个同时运行的异构操作系统(或单个操作系统的多个实例)。这些多个操作系统中的每一个都可以具有在其中执行的任意数量的软件程序。数据处理系统100是逻辑上分区的,使得不同的PCI I/O适配器120-121,128-129和136、图形适配器148、及硬盘适配器149可被分配到不同的逻辑分区。在此情况下,图形适配器148连接到显示设备(未示出),而硬盘适配器149连接到并且控制硬盘150。
因此,例如,假设数据处理系统100被分成三个逻辑分区:P1、P2和P3。PCI I/O适配器120-121,128-129,136中的每一个、图形适配器148、硬盘适配器149、主机处理器101-104中的每一个、及来自本地处理器160-163的处理器被分配到这三个分区中的其中一个。在这些例子中,存储器160-163可以采用双列直插存储器模块(DIMM)的形式。DIMM通常不基于每个DIMM分配到分区。相反,分区将得到由平台所看到的全部存储器的一部分。例如,处理器101、来自本地存储器160-163的存储器的一些部分、及I/O适配器120,128和129可分配到逻辑分区P1;处理器102-103、来自本地存储器160-163的存储器的一些部分、及PCI I/O适配器121和136可分配到分区P2;并且处理器104、来自本地存储器160-163的存储器的一些部分、图形适配器148和硬盘适配器149可分配到逻辑分区P3。
在数据处理系统100中执行的每个操作系统被分配到不同的逻辑分区。因此,在数据处理系统100中执行的每个操作系统只可访问在其逻辑分区中的那些I/O单元。因此,例如,高级交互执行(Advanced Interactive Executive)操作系统的一个实例可以在分区P1中执行,AIX操作系统的第二实例(映象)可以在分区P2中执行,并且或操作系统可以在逻辑分区P3中运行。(AIX和IBM-i是国际商用机器公司在美国和其它国家的商标。Linux是Linus Torvalds在美国和其它国家的商标)。
连接到I/O总线112的外围组件互连(PCI)主桥114提供了到PCI本地总线115的接口。多个PCI输入/输出适配器120-121通过PCI至PCI桥116、PCI总线118、PCI总线119、I/O槽170和I/O槽171连接到PCI本地总线115。PCI至PCI桥116提供了到PCI总线118和PCI总线119的接口。PCI I/O适配器120和121被分别放置到I/O槽170和171中。典型的PCI总线实现支持四个和八个之间的I/O适配器(即,用于插件(add-in)连接器的扩展槽)。每个PCI I/O适配器120-121提供了数据处理系统100与输入/输出设备——诸如,例如作为数据处理系统100的客户端的其它网络计算机——之间的接口。
附加的PCI主桥122为附加的PCI本地总线123提供了接口。PCI本地总线123连接到多个PCI I/O适配器128-129。PCI I/O适配器128-129通过PCI至PCI桥124、PCI总线126、PCI总线127、I/O槽172和I/O槽173连接到PCI本地总线123。PCI至PCI桥124提供了到PCI总线126和PCI总线127的接口。PCI I/O适配器128和129被分别放置在I/O槽172和173中。以这种方式,诸如像调制解调器或网络适配器的附加I/O设备可以通过PCI I/O适配器128-129中的每一个得到支持。因此,数据处理系统100允许连接到多个网络计算机。
存储器映射的图形适配器148被插入到I/O槽174中并通过PCI总线144、PCI至PCI桥142、PCI本地总线141和PCI主桥140连接到I/O总线112。硬盘适配器149可放置在I/O槽175中,其连接到PCI总线145。反过来,PCI总线145连接到PCI至PCI桥142,其通过PCI本地总线141连接到PCI主桥140。
PCI主桥130为PCI本地总线131提供了用于连接到I/O总线112的接口。PCI I/O适配器136连接到I/O槽176,其通过PCI总线133连接到PCI至PCI桥132。PCI至PCI桥132连接到PCI本地总线131。PCI本地总线131还把PCI主桥130连接到服务处理器邮箱接口和ISA总线访问传递(pass-through)逻辑194及PCI至PCI桥132。
服务处理器邮箱接口和ISA总线访问传递逻辑194转发前往PCI/ISA桥193的PCI访问。NVRAM存储装置192连接到ISA总线196。服务处理器135通过其本地PCI总线195连接到服务处理器邮箱接口和ISA总线访问传递逻辑194。服务处理器135还经多个JTAG/I2C总线134连接到处理器101-104。JTAG/I2C总线134是JTAG/扫描总线(参见IEEE 1149.1)和PhillipsI2C总线的组合。
但是,可替换地,JTAG/I2C总线134可替换成仅仅PhillipsI2C总线或仅仅JTAG/扫描总线。主机处理器101、102、103和104的所有SP-ATTN信号一起连接到服务处理器135的中断输入信号。服务处理器135具有其自己的本地存储器191并且具有对硬件OP-面板190的访问。
当数据处理系统100初始加电时,服务处理器135使用JTAG/I2C总线134来询问系统(主机)处理器101-104、存储器控制器/高速缓存108和I/O桥110。在这步完成时,服务处理器135具有对数据处理系统100的存货(inventory)及拓扑结构的了解。服务处理器135还在通过询问主机处理器101-104、存储器控制器/高速缓存108和I/O桥110找到的所有元件上执行机内自检(Build-In-Self-Test,BIST)、基本保证测试(Basic Assurance Test,BAT)及存储器测试。服务处理器135针对在BIST、BAT和存储器测试过程中检测到的故障,收集和报告任何错误信息。
如果在取出在BIST、BAT和存储器测试过程中发现的有故障的元件之后仍然可能进行系统资源的有意义/有效的配置,则数据处理系统100被允许继续把可执行代码加载到本地(主机)存储器160-163。然后服务处理器135释放主机处理器101-104,用于执行加载到本地存储器160-163中的代码。当主机处理器101-104执行来自数据处理系统100中的各个操作系统中的代码时,服务处理器135进入监视和报告错误模式。服务处理器135监视各种项目,包括例如,冷却风扇的速度和运行、热传感器、供电调节器、及由处理器101-104、本地存储器160-163和I/O桥110报告的可恢复的和不可恢复的错误。
服务处理器135保存并报告关于数据处理系统100中所有被监视项目的错误信息。服务处理器135还根据错误的类型和定义的阈值采取行动。例如,服务处理器135可以记录处理器高速缓存存储器上过多的可恢复错误并且确定这是硬故障的预兆。基于这个决定,服务处理器135可标记该资源以便在当前运行的会话和将来的初始程序加载(IPL)过程中解除配置。IPL有时也称为“引导(boot)”或“引导程序(bootstrap)”。
数据处理系统100可以利用各种商用的计算机系统来实现。例如,数据处理系统100可利用从国际商用机器公司得到的IBM Power系统来实现。这种系统可以利用AIX操作系统支持逻辑分区,其中AIX操作系统也可从国际商用机器公司得到。
诸如存储器191、NVRAM 192、本地存储器160,161,162和163、或闪存存储器(未示出)的存储器是计算机可用存储设备的一些例子。硬盘150、CD-ROM(未示出)和其它类似的可用设备是包括计算机可用存储介质的计算机可用存储设备的一些例子。
那些本领域普通技术人员将理解,在图1中描绘的硬件可以变化。例如,诸如光盘驱动器等的其它外围设备也可以用来作为附加或替代所描绘的硬件。作为另一个例子,诸如适配器的一些物理资源可被虚拟化成相应的虚拟资源(未示出),然后该虚拟资源可分配给各种分区。作为另一个例子,在图1中描绘的硬件可配置成使用一个或多个虚拟I/O服务器(VIOS)(未示出)。VIOS允许在所支持的逻辑分区之间共享物理资源,诸如适配器、磁盘、控制器、处理器、存储器等。除了其它功能之外,共享的VIOS有助于减少分区之间所需要的大量布线,并执行实时迁移。所描绘的例子不是要暗示对于示例性实施例进行体系架构的限制。
参考图2,该图描绘了根据说明性实施例的利用末级高速缓存的示例存储器访问配置的框图。存储器控制器202是图1中存储器控制器108的改进实施例。系统200的存储控制器202使用内部或外部实现的应用204,其实现本文所描述的实施例。末级高速缓存206是图1中末级高速缓存108A的例子。
系统200包括若干个子系统。例如,子系统-A 208包括一个或多个处理器核。作为另一个例子,子系统-B 210包括联网组件。作为另一个例子,子系统-C 212包括I/O组件。在给定的数据处理系统中可以类似地存在任何数量和类型的子系统而没有限制。
系统200的子系统,诸如子系统208、210和212,利用存储器控制器202经末级高速缓存206访问存储器214。可以存在连接到其它末级高速缓存和在给定系统中连接到它们的DIMM的附加的存储器控制器和应用。该示例性实施例仅作为例子反映只有单个存储器控制器,没有暗示对其的限制。在说明性实施例的范围内可以采用任何数量的存储器控制器。在没有暗示对其限制的情况下,在目前可用的数据处理系统中的主存储器是存储器214的例子。存储器214包括一个或多个存储器设备。作为例子,在一个示例性配置中,末级高速缓存206包括八个增强的动态随机存取存储器(eDRAM)设备,每个具有16MB的容量。eDRAM比DIMM快得多,并且通常在各种高速缓存级别的高速缓存配置中使用。
末级高速缓存206中的一个单元或设备对应于或映射到存储器214中的八个DIMM,其每个的大小为1 GB或更多。示例性配置不是要对说明性实施例进行限制。在说明性实施例的范围内,在任何合适容量或类型的末级高速缓存206和存储器214中的任何数量的存储器设备都可以用在用于特定实现的任何合适的映射配置中。
电力调节器216向末级高速缓存206提供电力。电源218包括一个或多个供电单元向系统200供电。存储器控制器202控制电力调节器216的操作,用于末级高速缓存206所期望的操作状态。在一个实施例中,电力调节器216以下述方式向末级高速缓存206提供电力,即,当末级高速缓存206断电时使电力调节器216断电不影响向系统200中的其它组件供电。
参考图3,该图描绘了根据说明性实施例的用于利用存储器高速缓存在系统范围内节省电力的存储器访问的示例性配置。存储器控制器302是图2中的存储器控制器202的例子。应用304是图2中的应用204的例子并且实现本文所描述的另一种实施例。末级高速缓存306是图2中的末级高速缓存206的例子。存储器314是图2中的存储器214的例子。
在一种实施例中,应用304用固件实现。在另一种实施例中,应用304用软件实现。在还有的另一种实施例中,应用304是硬件状态机。
系统范围内的状态322是指示在系统范围内对于减少电力消耗的需要的状态。状态322可被广播到数据处理系统中的组件或子系统,或者可以由组件或子系统来检测。在一种实施例中,存储器控制器检测状态322作为用以减少电力消耗的指示324。在另一种实施例中,存储器控制器302以消息的形式从数据处理系统中的另一个组件接收减少存储器配置的电力消耗的指示324。
响应指示324,存储器控制器302根据实施例使末级高速缓存306断电。存储器控制器302关闭用于经末级高速缓存306处理存储器请求的路径326。根据实施例,存储器控制器302利用备选路径328处理对存储器314的请求。以这种方式操作,存储器请求继续被处理而不用中断,只有一些对于存储器访问的请求在被服务时经历临时的延迟,这是由于使末级高速缓存安全断电所需要的时间,如在本公开内容的其它地方所描述的。在一个示例性实现中,观察到这种延迟是几毫秒的级别,例如,小于10毫秒。
参考图4,该图描绘了根据说明性实施例的利用存储器高速缓存在系统范围内节省电力的示例性过程的流程图。过程400仅作为例子而没有暗示对这种实现的任何限制,相对于图3的应用304中的实现进行描述。在说明性实施例的范围内,过程400可类似地用图3的存储器控制器302、应用304、或其组合来实现。
诸如图3中的应用304的应用通过检测需要在系统范围内减少电力消耗开始过程400(块402)。该应用确定在块402的检测是否授权使末级高速缓存断电,诸如在图3中的末级高速缓存306(块404)。例如,在一种实施例中,需要减少电力消耗的不同指示可以是彼此间可区分的,并且可能只响应一些这种指示才需要使末级高速缓存断电。作为另一个例子,在某些情况下,末级高速缓存可能已经响应检测到以前的指示而被断电,并且可能在块402检测到另一个指示。如果末级高速缓存不能或不应该被断电(块404的“否”路径),则该应用使过程400结束。
如果末级高速缓存必须断电(块404的“是”路径),则应用停止在末级高速缓存上运行的高速缓存清理(cleaning)服务,该服务诸如优化末级高速缓存、删除未使用的数据并使得高速缓存的相应部分可用,并执行其它类似的功能(块406)。可选地或根据需要,应用也可以停止奇偶错误检测服务,诸如通过清除与末级高速缓存相关联的某些位标志(块408)。
应用强迫对于存储器访问的新请求等待,诸如通过使新到达的请求在一定时间段之后重试(块410)。在一种实施例中,如果存储器访问请求还不在在步骤404时要利用末级高速缓存进行处理的请求的队列中,则该请求被认为是新的。在一种实施例中,诸如在图3中的存储器控制器302的存储器控制器维护一个或多个这样的队列。
该应用使得对已经在这种队列中的请求的服务完成,诸如通过指示存储器控制器处理已排队的请求(块412)。该应用检查持有存储器访问请求的所有队列是否已被清空,即,没有仍然未完成的排队请求(块414)。如果一个或多个请求正在一个或多个队列上等待服务(块414的“否”路径),则应用返回到块412。
如果持有存储器访问请求的所有队列都被清空,并且在这些队列中没有待处理的请求(块414的“是”路径),则应用使末级高速缓存被清除到存储器中,诸如通过指示存储器控制器把末级高速缓存清除到存储器中(块416)。该应用使末级高速缓存被禁用,诸如通过指示存储器控制器来禁止末级高速缓存的进一步使用(块418)。
应用指示存储器控制器继续新请求的处理,无论新请求是刚到达的还是处于等待的或者作为块410的结果重试的(块420)。存储器控制器通过利用到存储器的备选路径来继续处理,备选路径诸如图3中的路径328。
随着末级高速缓存适当地挡住了任何新存储器访问请求的任何参与,并且未中断任何以前的存储器访问请求,末级高速缓存现在可以以非中断的方式断电以节省系统中的电力。因此,该应用使末级高速缓存断电,诸如通过指示存储器控制器使在末级高速缓存中使用的一个、一些或所有的设备断电(块422)。
在一种实施例中,应用在这之后使过程400结束。在另一种实施例中,应用还确定向末级高速缓存供电的电力调节器是否也可以断电用于节省额外的电力(块424)。如果电力调节器不能被断电,诸如当电力调节器正在向另一个活动的组件供电时(块424的“否”路径),则应用使过程400结束。
如果电力调节器可以被断电,诸如当电力调节器原来只向已被断电的末级高速缓存供电时(块424的“是”路径),则应用同样使电力调节器断电,诸如通过指示存储器控制器使电力调节器断电(块426)。之后,应用使过程400结束。
参考图5,该图描绘了根据说明性实施例的使断电的末级高速缓存回到服务中的示例性过程的流程图。过程500仅作为例子而没有暗示对这种实现的任何限制,相对于图3的应用304中的实现进行描述。在说明性实施例的范围内,过程500可类似地用图3中的存储器控制器302、应用304、或其组合中来实现。
诸如图3中的应用304的应用通过检测到不存在需要在系统范围内减少电力消耗开始过程500(块502)。该应用确定诸如图3中的末级高速缓存306的末级高速缓存是否目前处于断电模式(块504)。如果末级高速缓存还没被断电(块504的“否”路径),则应用使过程500结束。
如果末级高速缓存已被断电(块504的“是”路径),则应用使在末级高速缓存中使用的一个、一些或所有的设备加电(块506)。该应用确定是否所有在末级高速缓存中使用的设备都就绪(块508)。例如,目前用作为高速缓存设备的一些设备在它们准备好使用之前使用充电泵机构。在这种例子的情况下,块508确保充电泵操作已完成。如果设备没有准备好(块508的“否”路径),则应用返回到块506。
如果设备已准备好(块508的“是”路径),则应用强迫对于存储器访问的新请求等待,诸如通过使新到达的请求在一定的时间段后重试(块510)。在一种实施例中,如果存储器访问请求还不在要利用备选路径而不是利用在步骤504时的末级高速缓存处理的请求的队列中,则该请求被认为是新的。在一种实施例中,诸如图3中存储器控制器302的存储器控制器维护一个或多个这样的队列。
该应用使得对已经在这种队列中的请求的服务完成,诸如通过指示存储器控制器处理已排队的请求(块512)。该应用检查持有存储器访问请求的所有队列是否已被清空,即,没有仍然未完成的排队请求(块514)。如果一个或多个请求正在一个或多个队列上等待服务(块514的“否”路径),则应用返回到块512。
如果持有存储器访问请求的所有队列都被清空,并且在这些队列中没有待处理的请求(块514的“是”路径),则应用使末级高速缓存设备配置成用作为末级高速缓存(块516)。该应用,诸如通过指示存储器控制器来这样做,使已知的高速缓存行(cache line)删除从保存的高速缓存错误历史记录中恢复(方框518)。
高速缓存错误的历史记录是末级高速缓存设备在先前操作的时间段中遇到的错误集合,先前操作的时间段诸如直到当末级高速缓存设备被断电时的时间点的时间段。例如,如果宇宙射线爆发引起在末级高速缓存设备中的特定存储器部分的位翻转,从而导致错误状态,则该错误及相应的部分被记在历史记录中。该部分被称为高速缓存行。在一些配置中,诸如在高可靠性的环境中,其中错误在某时已被及时发现的高速缓存行被标记为不被使用(标记为删除),并记录在历史记录中。当存储器设备被故意断电或偶然遭受停电时,设备被加电并且基于该历史记录,已知的容易出错的高速缓存行被重新标记为删除,如在块518中。
该应用启用末级高速缓存以供使用,诸如通过指示存储器控制器允许启用到配置为用作为末级高速缓存的设备的存储器访问路径(块520)。应用指示存储器控制器利用重新建立的经过末级高速缓存的存储器访问路径继续新请求的处理,无论新请求是刚到达的,还是等待的或者作为块510的结果重试的(方框522)。存储器控制器通过利用经末级高速缓存到存储器的路径,诸如图3中的路径326,继续处理。
该应用还使对于末级高速缓存的其它操作或服务启动,例如通过指示存储器控制器开始奇偶错误检测和高速缓存清理服务(块524)。在这之后,应用使过程500结束。
附图中的流程图和框图说明了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在一些可替换实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
因此,在用于利用存储器高速缓存在系统范围内节省电力的说明性实施例中提供了计算机实现的方法、系统和计算机程序产品。实施例提供了用于动态地使末级高速缓存离线和在线的方法,包括使末级高速缓存断电或加电,而不用中断数据处理系统中的存储器访问操作。实施例还允许电力调节器与末级高速缓存的断电或加电一起进行断电或加电以更多地节省电力。
此外,在末级高速缓存用于到存储器的路径中之前,实施例可以动态地重新初始化末级高速缓存,并且完全恢复由于以前的可纠正或不可纠正错误而发生的以前的高速缓存行删除。尽管实施例描述了与任何组件或系统利用率无关的省电方式,但是实施例可以与改变系统的利用率结合使用。当检测到整个系统进入其中核仍然活动并在利用末级高速缓存的接近空闲状态(低于阈值利用率)时,实施例可用来使末级高速缓存断电。同样,当利用率增加到阈值之上并且系统退出接近空闲状态时,实施例可用来使末级高速缓存返回在线。
实施例还可用来管理系统中的电力故障。例如,当检测到系统中的电力故障时,实施例可用来使高速缓存断电并且当电力故障被解决时,使高速缓存返回在线。
实施例还可用来管理系统的存储器配置中的热状态。例如,当检测到末级高速缓存内部可能损坏设备的高于阈值的温度时,实施例可用来使高速缓存断电。当温度下降到阈值之下时,实施例可用来使末级高速缓存返回在线。
如本领域技术人员将理解的,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面可以实现为在一个或多个计算机可读存储设备或计算机可读介质中的计算机程序产品的形式,该计算机可读存储设备或计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读存储设备或计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储设备可以是例如但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读存储设备的更具体的例子(非穷举的列表)包括以下:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文的背景下,计算机可读存储设备可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读存储设备或计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明各方面操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本文参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给一个或多个通用计算机、专用计算机或其它可编程数据处理装置的一个或多个处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的一个或多个处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在一个或多个计算机可读存储设备或计算机可读介质中,这些指令使得一个或多个计算机、一个或多个其它可编程数据处理装置、或一个或多个其它设备以特定的方式工作,从而存储在一个或多个计算机可读存储设备或计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把这些计算机程序指令加载到一个或多个计算机、一个或多个其它可编程数据处理装置或者一个或多个其它设备上,使得一系列操作步骤在一个或多个计算机、一个或多个其它可编程数据处理装置或者一个或多个其它设备上执行,以产生一种计算机实现的过程,使得在所述一个或多个计算机、一个或多个其它可编程数据处理装置或一个或多个其它设备上执行的指令提供用于实现在所述流程图和/或框图中的一个或多个方框中所规定的功能/动作的过程。
本文所使用的术语仅仅是为了描述特定的实施例而不是要限制本发明。如本文所使用的,除非上下文明确地另外指出,否则单数形式“一个”和“这个”是要也包括复数形式。还应当理解,当在本说明书中使用时,术语“包括”和/或“包含”规定所述特征、整数、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其它特征、整数、步骤、操作、元素、组件和/或其组的存在或添加。
以下权利要求中所有方式或步骤加功能元素的对应结构、材料、动作及等价物都是要包括用于结合具体所述的其它所述元素执行所述功能的任何结构、材料或行为。已经为了说明和描述的目的给出了本发明的描述,但这不是详尽的或者要把本发明限定到所公开的形式。在不背离本发明范围与主旨的情况下,许多修改和变化对本领域普通技术人员都将是显而易见的。实施例的选择和描述是为了最好地解释本发明的原理和实践应用,并使本领域其他普通技术人员能够理解本发明具有适于预期特定使用的各种修改的各种实施例。
Claims (9)
1.一种用于利用存储器高速缓存在系统范围内节省电力的方法,所述方法包括:
在数据处理系统的存储器体系架构中的位置接收存储器访问请求,其中处理存储器访问请求在到达持有所请求数据的存储器设备之前必须使用末级高速缓存,其中存在高速缓存设备作为末级高速缓存;
利用存储器控制器使得存储器访问请求等待,并且省略向被接受以利用末级高速缓存进行处理的现有存储器访问请求的队列添加存储器访问请求;
利用末级高速缓存处理队列中的所有现有存储器访问请求;
把末级高速缓存清除到存储器设备;
标记该高速缓存设备的一部分,使得所述部分不能用来在该高速缓存设备中存储数据;
利用避免末级高速缓存的到存储器设备的备选路径处理存储器访问请求;及
使该高速缓存设备断电。
2.如权利要求1所述的方法,还包括:
检测数据处理系统中的状态,其中所述状态指示在系统范围内减少数据处理系统的电力消耗的需求,并且其中所述使得存储器访问请求等待是响应于所述检测进行的。
3.如权利要求1所述的方法,还包括:
停止在末级高速缓存上操作的高速缓存清理服务;及
停止在末级高速缓存中的奇偶错误检测。
4.如权利要求1所述的方法,其中所述使得存储器访问请求等待导致存储器访问请求的重试。
5.如权利要求1所述的方法,其中所有现有的存储器访问请求和所述存储器访问请求被处理而不用中断数据处理系统中的操作并且与数据处理系统的组件的利用率无关。
6.如权利要求1所述的方法,还包括:
使向用作为末级高速缓存的高速缓存设备提供电力的调节器断电。
7.如权利要求1所述的方法,还包括:
在数据处理系统的存储器体系架构中的所述位置接收新的存储器访问请求,其中处理存储器访问请求在到达持有另一个所请求数据的存储器设备之前必须使用末级高速缓存;
使得新的存储器访问请求等待,并且省略向被接受以利用备选路径进行处理的现有存储器访问请求的队列添加所述存储器访问请求;
利用备选路径处理队列中的所有现有存储器访问请求;
给高速缓存设备加电;
配置、形成所配置的高速缓存设备,所述高速缓存设备操作为末级高速缓存;及
利用末级高速缓存处理新的存储器访问请求。
8.如权利要求1所述的方法,还包括:
从历史信息中读取记录,其中记录指示在接收新的存储器访问请求之前的时间在所述部分中的错误。
9.一种用于利用存储器高速缓存在系统范围内节省电力的系统,所述系统包括用于执行权利要求1-8所述的任一方法的每个步骤的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/036,151 | 2013-09-25 | ||
US14/036,151 US9568986B2 (en) | 2013-09-25 | 2013-09-25 | System-wide power conservation using memory cache |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104460938A CN104460938A (zh) | 2015-03-25 |
CN104460938B true CN104460938B (zh) | 2017-05-10 |
Family
ID=52692116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410491467.0A Expired - Fee Related CN104460938B (zh) | 2013-09-25 | 2014-09-24 | 利用存储器高速缓存在系统范围内节省电力的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9568986B2 (zh) |
CN (1) | CN104460938B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170068480A1 (en) * | 2015-09-09 | 2017-03-09 | Mediatek Inc. | Power Saving Methodology for Storage Device Equipped with Task Queues |
US10318428B2 (en) | 2016-09-12 | 2019-06-11 | Microsoft Technology Licensing, Llc | Power aware hash function for cache memory mapping |
US20180210836A1 (en) * | 2017-01-24 | 2018-07-26 | Microsoft Technology Licensing, Llc | Thermal and reliability based cache slice migration |
US10241561B2 (en) | 2017-06-13 | 2019-03-26 | Microsoft Technology Licensing, Llc | Adaptive power down of intra-chip interconnect |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247639A (en) * | 1989-06-20 | 1993-09-21 | Nec Corporation | Microprocessor having cache bypass signal terminal |
US5729713A (en) * | 1995-03-27 | 1998-03-17 | Texas Instruments Incorporated | Data processing with first level cache bypassing after a data transfer becomes excessively long |
US7266641B2 (en) * | 2002-11-22 | 2007-09-04 | Sharp Kabushiki Kaisha | CPU, information processing device including the CPU, and controlling method of CPU |
US7644225B2 (en) * | 2006-10-17 | 2010-01-05 | Intel Corporation | Performance or power-optimized code/data storage for nonvolatile memories |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6105141A (en) | 1998-06-04 | 2000-08-15 | Apple Computer, Inc. | Method and apparatus for power management of an external cache of a computer system |
KR100798020B1 (ko) * | 2000-04-12 | 2008-01-24 | 엔엑스피 비 브이 | 데이터 처리 회로, 데이터 처리 회로를 포함하는 장치, 그리고 장치를 위한 컴퓨터 독출 가능 저장 매체 |
US6845457B1 (en) | 2000-09-26 | 2005-01-18 | Sun Microsystems, Inc. | Method and apparatus for controlling transitions between a first and a second clock frequency |
US7272732B2 (en) | 2003-06-30 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Controlling power consumption of at least one computer system |
US7257678B2 (en) | 2004-10-01 | 2007-08-14 | Advanced Micro Devices, Inc. | Dynamic reconfiguration of cache memory |
US7412570B2 (en) * | 2005-11-15 | 2008-08-12 | Sun Microsystems, Inc. | Small and power-efficient cache that can provide data for background DNA devices while the processor is in a low-power state |
US7467280B2 (en) | 2006-07-05 | 2008-12-16 | International Business Machines Corporation | Method for reconfiguring cache memory based on at least analysis of heat generated during runtime, at least by associating an access bit with a cache line and associating a granularity bit with a cache line in level-2 cache |
US8683139B2 (en) * | 2006-10-31 | 2014-03-25 | Hewlett-Packard Development Company, L.P. | Cache and method for cache bypass functionality |
JP5484281B2 (ja) | 2010-09-21 | 2014-05-07 | 三菱電機株式会社 | 情報処理システム |
US8984311B2 (en) | 2011-12-30 | 2015-03-17 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including dynamic C0-state cache resizing |
-
2013
- 2013-09-25 US US14/036,151 patent/US9568986B2/en not_active Expired - Fee Related
-
2014
- 2014-09-24 CN CN201410491467.0A patent/CN104460938B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247639A (en) * | 1989-06-20 | 1993-09-21 | Nec Corporation | Microprocessor having cache bypass signal terminal |
US5729713A (en) * | 1995-03-27 | 1998-03-17 | Texas Instruments Incorporated | Data processing with first level cache bypassing after a data transfer becomes excessively long |
US7266641B2 (en) * | 2002-11-22 | 2007-09-04 | Sharp Kabushiki Kaisha | CPU, information processing device including the CPU, and controlling method of CPU |
US7644225B2 (en) * | 2006-10-17 | 2010-01-05 | Intel Corporation | Performance or power-optimized code/data storage for nonvolatile memories |
Also Published As
Publication number | Publication date |
---|---|
US20150089263A1 (en) | 2015-03-26 |
CN104460938A (zh) | 2015-03-25 |
US9568986B2 (en) | 2017-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107526546B (zh) | 一种Spark分布式计算数据处理方法及系统 | |
CN104115091B (zh) | 多层级cpu高电流保护 | |
KR101973731B1 (ko) | 버퍼 충만도에 기초한 캐시에 대한 프리페치 | |
US9262322B2 (en) | Method and apparatus for storing a processor architectural state in cache memory | |
US11809252B2 (en) | Priority-based battery allocation for resources during power outage | |
CN105190567A (zh) | 用于管理存储系统快照的系统和方法 | |
US20120216057A1 (en) | Selective Power Reduction of Memory Hardware | |
CN104460938B (zh) | 利用存储器高速缓存在系统范围内节省电力的方法和系统 | |
CN109716307B (zh) | 用于延迟的高速缓存利用的系统和方法 | |
CN103927277A (zh) | Cpu和gpu共享片上高速缓存的方法及装置 | |
JP2013502647A (ja) | インサイチュでのメモリのアニール | |
CN108710583A (zh) | Ssd写缓存区的管理方法、装置、计算机设备及介质 | |
US20150363116A1 (en) | Memory controller power management based on latency | |
CN110780811B (zh) | 数据保护方法、装置及存储介质 | |
CN106133707A (zh) | 高速缓存管理 | |
CN107592927A (zh) | 管理扇区高速缓存 | |
WO2017196614A1 (en) | Selective data persistence in computing systems | |
CN111124094A (zh) | 一种服务器硬盘上下电的控制方法、控制装置及控制设备 | |
US10684964B1 (en) | System and method for reducing read latency in storage devices | |
US11294591B2 (en) | Apparatus configured to create extended configuration proposal of storage system including multiple notes | |
CN103713853A (zh) | 用于数据管理的方法和系统 | |
US11561906B2 (en) | Rinsing cache lines from a common memory page to memory | |
US9778870B2 (en) | Power management for a distributed storage system accessible by a cluster in a virtualized computing environment | |
JP7335253B2 (ja) | スコアボードの保存及び復元 | |
US20170076758A1 (en) | Power state based data retention |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170510 |