CN104460941B - 一种降低主存存储器满负荷运行功耗的方法 - Google Patents
一种降低主存存储器满负荷运行功耗的方法 Download PDFInfo
- Publication number
- CN104460941B CN104460941B CN201410728907.XA CN201410728907A CN104460941B CN 104460941 B CN104460941 B CN 104460941B CN 201410728907 A CN201410728907 A CN 201410728907A CN 104460941 B CN104460941 B CN 104460941B
- Authority
- CN
- China
- Prior art keywords
- rank
- power consumption
- memory
- data
- oepration
- 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.)
- Active
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明涉及存储技术领域,尤其涉及一种降低主存存储器满负荷运行功耗的方法,在统计一段时间内不同客户的不同应用程序的不同特征数据的使用频率并进行排名后,以此区分主存中的主数据(即热数据)和辅助数据(即冷数据),将主数据和辅助数据存储在主存中不同rank中,然后通过自学习的方法统计并学习判断主存中辅助数据所在的rank由空闲状态下进入低功耗模式的最佳切换时间,从而最大程度的降低主存在满负荷运行下的功耗。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种降低主存存储器满负荷运行功耗的方法。
背景技术
主存存储器(DRAM,也被称为内存或主存)是一种暂时存放处理器(CPU)运算数据以及与硬盘等外部存储器交换数据的易失性存储器,它是与CPU进行沟通的桥梁,所有程序的运行都是在主存中进行的,其性能对系统的影响非常大,尤其是在服务器领域内。然而,无论是个人笔记本(PC)还是服务器,主存技术的发展速度要远低于CPU甚至硬盘技术,特别在功耗方面。据统计,在服务器级别的应用中主存功耗占整个系统功耗的比例已经超过了40%,主存功耗已经成为整个系统的瓶颈。
目前很多技术被提出来以降低主存功耗。一种方法就是主存在不同功耗状态之间转换,如图1所示,主存主要包含两个工作状态:当主存被CPU访问时,主存所有模块均处于繁忙工作状态;当主存没有被CPU访问时,即主存空闲状态。在空闲状态下,由于CPU不访问主存,为了降低功耗,可以将主存的外围电路例如时钟模块、译码模块、控制模块等全部关闭,只保留主存的存储模块和刷新电路开启,从而进入低功耗模式下。当CPU再度访问主存时,主存被唤醒并从低功耗模式下切换至工作模式。虽然这种方法能够降低功耗,但是在主存被密集访问应用中却并非有用。因为主存有时候进入空闲状态下的时间非常短,如果此时主存切换至低功耗模式下,很快又会被唤醒至工作模式下,不仅没有降低多少功耗,还因为频繁在两种模式之间切换而造成更多的功耗开销,并且两种模式之间的转换所需的时间开销还会导致系统性能的降低。
因此如何找到一种切换预测技术来确定主存何时进入低功耗模式才能够使系统功耗和性能达到最优成为本领域技术人员致力于研究的方向。
发明内容
针对上述存在的问题,本发明公开一种降低主存存储器满负荷运行功耗的方法。
一种降低主存存储器满负荷运行功耗的方法,其中,所述主存存储器中设置有第一rank集合和第二rank集合,且所述第一rank集合包括rank1至rankm-1,所述第二rank集合包括rankm至rankn-1,其中,m和n均为正整数,且n>m>1;所述方法包括如下步骤:
步骤S1:预先将所述主存存储器中存储的数据划分为主数据和辅助数据;
步骤S2:将所述主数据存储至所述第一rank集合中,将所述辅助数据存储至所述第二rank集合中;
步骤S3:通过自学习的方法获取所述第二rank集合中rankL由空闲状态进入低功耗模式的最佳模式切换时间,其中,L为正整数,且m≤L≤n-1;
其中,当所述第二rank集合中rankL的主存存储模块进入空闲状态时,所述rankL的主存存储模块等待所述最佳模式切换时间后进入低功耗模式。
上述的降低主存存储器满负荷运行功耗的方法,其中,所述步骤S1包括:
统计预定时间段内不同客户的不同应用程序的不同特征数据的使用频率;
根据所述使用频率将所述主存存储器中存储的数据划分为所述主数据和所述辅助数据;
其中,所述主数据的使用频率大于所述辅助数据的使用频率。
上述的降低主存存储器满负荷运行功耗的方法,其中,所述步骤S3包括:
通过自学习模块获取所述第二rank集合中rankL由空闲状态进入低功耗模式的最佳模式切换时间。
上述的降低主存存储器满负荷运行功耗的方法,其中,所述自学习模块统计并学习rankL中不同特征数据组合下的x种组合形式的x个最佳模式切换时间,其中,x为正整数。
上述的降低主存存储器满负荷运行功耗的方法,其中,当模式切换时间T小于所述最佳模式切换时间时,rankL的主存存储模块的平均功耗随着模式切换时间T的增加而减小,当模式切换时间T大于所述最佳模式切换时间时,rankL的主存存储模块的平均功耗随着模式切换时间T的增加而增加。
上述的降低主存存储器满负荷运行功耗的方法,其中,所述步骤S3具体为:
所述自学习模块根据rankL的主存存储模块的平均功耗获取所述第二rank集合中rankL由空闲状态进入低功耗模式的最佳模式切换时间。
上述的降低主存存储器满负荷运行功耗的方法,其中,按照不同的时间段分别统计不同客户的不同应用程序的不同特征数据的使用频率,并通过自学习的方法获取不同的时间段内所述第二rank集合中rankL由空闲状态进入低功耗模式的最佳模式切换时间。
上述的降低主存存储器满负荷运行功耗的方法,其中,所述特征数据为实现若干设定功能的指令或数据集合。
上述的降低主存存储器满负荷运行功耗的方法,其中,所述主存存储器上集成有非易失性存储器模块;
所述非易失性存储器模块或所述主存存储器外部的非易失性存储器中存储有所述自学习模块统计并学习不同特征数据组合下的x种组合形式的x个最佳模式切换时间的统计信息。
上述的降低主存存储器满负荷运行功耗的方法,其中,所述非易失性存储器模块中还存储有固件程序和算法。
上述的降低主存存储器满负荷运行功耗的方法,其中,所述非易失性存储器模块为相变随机存取存储器、铁电随机存取存储器、磁随机存取存储器或电阻式随机存取存储器。
上述的降低主存存储器满负荷运行功耗的方法,其中,所述方法应用于计算机系统中,且所述方法还包括如下步骤:
上电后,所述系统从所述非易失性存储器模块或所述外部的非易失性存储中读取rankL的最佳模式切换时间;
当所述第二rank集合中rankL的主存存储模块进入空闲状态时,所述rankL的主存存储模块等待所述最佳模式切换时间后进入低功耗模式。
上述的降低主存存储器满负荷运行功耗的方法,其中,所述第一rank集合中的主存存储模块不会进入低功耗模式。
本发明公开的一种降低主存存储器满负荷运行功耗的方法,在统计一段时间内不同客户的不同应用程序的不同特征数据的使用频率并进行排名后,以此区分主存中的主数据(即热数据)和辅助数据(即冷数据),将主数据和辅助数据存储在主存中不同rank中,然后通过自学习的方法统计并学习判断主存中辅助数据所在的rank由空闲状态下进入低功耗模式的最佳切换时间,从而最大程度的降低主存在满负荷运行下的功耗。
具体附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未可以按照比例绘制附图,重点在于示出本发明的主旨。
图1是主存在工作模式与低功耗模式之间切换的示意图;
图2是主存按访问频率分rank的示意图;
图3是本发明主存按主数据和辅助数据分rank的示意图;
图4是本发明系统按数据的访问频率统计排名的示意图;
图5是本发明rank为L的主存存储模块的示意图;
图6是一段时间范围内主存工作状态的示意图;
图7是rankL的主存存储模块的功耗随模式切换时间T变化的曲线示意图;
图8是本发明不同时间段内系统按数据的访问频率统计排名的示意图;
图9是本发明确定rankL的主存存储模块的最佳模式切换时间TD的流程示意图;
图10是本发明增加非易失性存储器模块的主存结构示意图。
具体实施方式
下面结合附图和具体的实施例对本发明作进一步的说明,但是不作为本发明的限定。
一般来说,一个内存条(DIMM,双列直插式主存模块)内包含多个rank,对于rank,我们都知道,内存与处理器之间的数据传输接口位宽是64-bit(ECC错误校验的另算),为保持协同工作,每次传输都必须保证这一点,但是单颗内存芯片的位宽达不到64-bit,一般都是4-bit、8-bit、16-bit之类的,所以必须将多颗内存芯片组成一个小集体,共同实现64-bit的总位宽。这一小撮内存芯片,就是一个物理Bank(P-Bank),又称为rank。一个rank是由许多DRAM芯片构成的,rank中最小的数据存取单位一般为一个页(page)。然后将那些主存访问频率高的页数据(称之为主存热数据/主数据)迁移到同一个rank中,主存访问频率低的页数据(称之为冷数据/辅助数据)迁移到另一个rank中,如图2所示。对于热数据/主数据来说,其读写频率较高,进入空闲状态的时间也相对较短,不宜在工作模式和低功耗模式之间转换;冷数据/辅助数据因为访问频率相对较低,相对来说就拥有更长的空闲时间,那么就有利于主存模式切换从而进入低功耗模式下以降低整个主存系统功耗。此外还可以通过统计不同rank内的历史空闲状态和时间分布,从而能够更好的预测何时进入低功耗模式对降低功耗更有利。虽然这种切换预测技术能够有效的降低主存满负荷运行功耗,但是其缺点也显而易见。首先,根据页数据的访问频率进行动态数据迁移以及根据区域数据访问模型进行预测都会产生额外功耗,也会造成处理器访问延时,比如主存在进行动态数据迁移的过程中处理器不能对主存进行访问。其次,这种切换预测技术需要主存控制器来监测主存访问,由于主存控制器位于处理器芯片内,对其进行配置相当复杂,成本也很高。最后,这种状态切换预测技术也不能很好的适用于所有的客户或及其所有的应用程序,因为某个特定的切换预测技术是基于某种主存应用模型而建立的,没有很好的通用性。
针对上述问题,本发明提出一种降低主存满负荷运行功耗的方法。系统通过统计一段时间内不同客户的不同应用程序的不同特征数据的使用频率并进行排名并以此区分主存中的冷热数据(即主数据和辅助数据),并将冷热数据存储在主存中不同rank中,然后通过自学习的方法统计并学习判断主存中冷数据所在的rank由空闲状态下进入低功耗模式的最佳切换时刻,从而最大程度的降低主存在满负荷运行下的功耗。
本发明提出一种降低主存存储器满负荷运行功耗的方法,该主存存储器中设置有第一rank集合和第二rank集合,且第一rank集合包括rank1至rankm-1,第二rank集合包括rankm至rankn-1,该方法主要包括如下步骤。
步骤S1:预先将主存存储器中存储的数据划分为主数据和辅助数据。
步骤S2:将主数据存储至第一rank集合中,将辅助数据存储至第二rank集合中。
步骤S3:通过自学习的方法获取第二rank集合中rankL由空闲状态进入低功耗模式的最佳模式切换时间,其中,L为正整数,且m≤L≤n-1。
其中,当第二rank集合中rankL的主存存储模块进入空闲状态时,rankL的主存存储模块在等待最佳模式切换时间后进入低功耗模式。
具体的,首先,对主存中的rank按所存储的数据类型进行划分,这些数据类型可在一段时间内按照不同客户X所使用的不同应用程序Y下的不同特征数据Z划分,其中,不同特征数据Z可包括不同的函数(Function)、不同的调用(Call)等,它是可实现一个或多个特定功能(或设定功能)的指令或数据集合。应用程序Y可由一个或多个Z数据构成。这些Z数据按照冷热程度来划分,如图3所示,主存存储器中rank1至rankm-1的主存存储模块中存储热数据,rankm至rankn-1中的主存存储模块存储冷数据,其中m和n均为正整数,且n>m>1。热数据是指CPU片上高速缓存器在一段时间内最不经常或最不频繁被使用的数据,冷数据是指CPU片上高速缓存器在一段时间内最经常使用或最频繁被使用的数据。这是因为片上高速缓存器会缓存一段时间内系统最经常或者最频繁被访问的数据,而存储在主存中的这部分数据就会很少被访问,系统会直接从片上高速缓存中读取这部分数据,因而相对来说,片上高速缓存器这些最经常或最频繁被使用的数据是主存中的冷数据(该冷数据即辅助数据);当片上高速缓存器存储空间已满,那么就会将最少被访问或最不频繁被访问的数据替换出去,这些数据对于主存来说,系统就需要经常要从主存中去读取这些数据,因而对于主存来说这部分数据是热数据(该热数据即主数据)。系统通过统计一段时间内不同客户X所使用的不同应用程序Y中相对应的被使用的数据Z的次数或频率,并按统计结果排列形成一个表格。如图4所示的是一示例表格,系统使用频率排名为r的是客户X_i所使用的应用程序Y_j下的特征数据Z_k,系统根据这些排名决定所有特征数据应当存放至哪一rank的主存存储模块中:排名较靠前的数据相对于主存来说是冷数据,系统应当将这部分数据存储至第二rank集合(即rankm至rankn-1)的主存存储模块中;而排名较靠后的数据相对于主存来说是热数据,系统应当将这部分数据存储至第一rank集合(即rank1至rankm-1)的主存存储模块中。这样就完成了主存中的数据划分。将冷数据存储在rankm至rankn-1的主存存储模块中,相比热数据来说,因为系统访问频率较低,因而总体来说在空闲状态时保持的时间更长,有利于进入低功耗模式下节省功耗。热数据存储在即rank1至rankm-1的主存存储模块中,由于这些数据经常要被访问,因而进入空闲状态的时间也较短,不利于进入低功耗模式,因而最优方案是一直处于工作/空闲状态下,不进入低功耗模式。
其次,本发明提出一种自学习的方法来判定rankm至rankn-1的主存存储模块的最佳模式切换时间TD。该模式切换时间是指某个rank中的主存存储模块在空闲状态时经过时间T之后再切换进入低功耗模式,等待的时间T即为模式切换时间,即在主存的rankL(m≤L≤n-1,且L为正整数)中的所有存储模块在空闲状态时需等待时间T才能进入低功耗模式,否则一直处于空闲状态,空闲状态时间不足T的时候也不能进入低功耗模式。所述自学习方法是一种通过软件或硬件实现(称之为自学习模块)通过不断记录和统计并自学习从而使主存在满负荷运行功耗达到最小的过程。假设对于rank序号为L(m≤L≤n-1)的主存存储模块来说,其上存储着客户X_i所使用的应用程序Y_j的若干特征数据Z_k,附图5所示。例如图6所示的一段时间范围内rankL的工作状态示意图,在该段时间范围内,当rankL空闲时,经过T时间,该主存存储模块进入低功耗模式,即模式切换时间为T。所述一段时间是指能够表征不同用户X所使用的不同应用程序Y的不同特征数据Z被使用行为特征的一个时间段,可以是一个小时,一天或者三天等。在该段时间内,自学习模块控制rankL中主存存储模块的模式切换时间T,即该主存存储模块一旦进入空闲状态后等待时间T(前提是该主存存储模块进入空闲状态的时间长度要大于T),然后进入低功耗模式,自学习模块监测并统计这段时间内的平均功耗。下一次在同样的时间段内,自学习模块控制增大或者减小模式切换时间T,然后再检测并统计该主存模块在该段时间内的平均功耗。通过不断改变T的大小,自学习模块根据其平均功耗的统计、比较和学习来判定最佳的模式切换时间TD。
下面将具体阐述通过自学习模块如何得到最佳的模式切换时间TD:
自学习模块对一段时间内rankL主存存储模块的平均功耗随模式切换时间T的变化统计曲线应如图7所示的抛物线。在区域1内,rankL主存存储模块的平均功耗P随着模式切换时间T的增加而减小,这是因为模式切换时间太小,该主存存储模块不可避免有时刚进入低功耗模式就会被系统唤醒至工作模式,不仅不会节省功耗,还会造成额外的功耗开销,因而需要增加模式切换时间才能获得更低的功耗。在区域2内,rankL主存存储模块的平均功耗P随着模式切换时间T的增加而增加,这是因为模式切换时间T太长,该主存存储模块长时间在空闲状态下,却没有进入低功耗模式,因而消耗更多的待机功耗,因而在这段时间范围内需要减小模式切换时间才能获得更低的功耗。自学习模块得到最佳的模式切换时间TD的过程如图9所示。在区域1内,假设一段时间范围内,该主存存储模块在空闲状态时经过时间T1就进入低功耗模式,自学习模块检测这段时间内的平均功耗为P1(0);下一次在同样的一段时间内,自学习模块控制该主存存储模块在空闲状态时经过T1+△T的时间进入低功耗模式,自学习模块检测这段时间内的平均功耗为P1(1)。结合图7可以看出,P1(1)<P1(0),说明此时的模式切换时间T1并不能使rankL中主存存储模块的平均功耗达到最低,自学习模块通过增加n(n≥0,n为正整数)来增加模式切换时间T+n*△T,直至自学习模块检测这段时间内的平均功耗P1(n+1)大于P1(n),即得到最佳的模式切换时间TD=T1+n*△T。同理,在区域2内,假设一段时间范围内,该主存存储模块在空闲状态时经过时间T2就进入低功耗模式,自学习模块检测这段时间内的平均功耗为P2(0);下次在同样的一段时间内,自学习模块控制该主存存储模块在空闲状态时经过T2-△T的时间进入低功耗模式,自学习模块检测这段时间内的平均功耗为P2(1)。结合图7可以看出,P2(1)<P2(0),说明此时的模式切换时间T2并不能使rank(L)中主存存储模块的平均功耗达到最低,自学习模块通过增加n来减小模式切换时间T2-n*△T,直至自学习模块检测这段时间内的平均功耗P2(n+1)大于P2(n),即得到最佳的模式切换时间TD=T2-n*△T,上述过程即自学习模块根据rankL的主存存储模块的平均功耗获取第二rank集合中rankL由空闲状态进入低功耗模式的最佳模式切换时间TD的过程。可见,本发明通过自学习的方法,不断调节模式切换时间T,从而能够最大程度的降低该主存存储模块在满负荷运行时的功耗。
本发明系统按照特征数据的访问频率来确定该数据应存储在主存中的哪一个rank主存存储模块中,如图5所示的rank序号为L(L为正整数,且m≤L≤n-1)的主存存储模块中存储了不同客户X所使用的不同应用程序Y下的若干Z特征数据。若在一段时间范围内,系统经过统计将Z_1、Z_2、Z_3及Z_4等存储在rankL中,在接下来的自学习或是之后的正常使用过程中,系统应当考虑继续将这些数据放在同一rankL中,因为在自学习过程中系统是根据这些特征数据来统计并自学习得到rankL的最佳模式切换时间TD,即根据特定用户的使用习惯的。一旦这些特征数据组合发生变化,例如一段时间后,该主存存储模块中存储了数据Z_1、Z_5和Z_6,那么自学习模块需重新经过一段时间的自学习才能得出此时rankL的最佳模式切换时间TD1才能达到最小的功耗。如果系统不能继续将Z_1、Z_2、Z_3及Z_4等存储在该主存存储模块中,那么自学习模块应当能够统计并学习rank(L)不同特征数据组合下的x种组合形式的x个最佳模式切换时间TD,其中x为正整数。
考虑到用户在不同时间段内的使用习惯有可能不同,即特征数据内容或访问频率差异也非常大,因而在不同的时间段内,如图4所示的表格内容有可能不同,所以导致对不同时间段某个用户的不同使用习惯,经过一段时间的统计需要将不同的特征数据放入rankL中。例如某个服务器使用公司或用户在白天和在晚上对主存满负荷访问时的特定数据访问频率和内容可能是完全不同的,因而自学习模块在白天统计和自学习的结果并不能适用于晚上的情形,因此系统在统计特征数据使用频率的过程中,可以按不同的时间段分别统计特征数据使用频率进而重新排序,然后进行不同的自学习过程,得出针对rankL在不同时间段内的TD。例如图8所示的系统统计表格中就考虑了在不同的时间段内的特征数据使用频率排名,显然可以看出,在不同的时间段内,系统使用的特征数据排名是不一样的,因而根据这些排名将特征数据放入rank(L)中主存存储模块的特征数据有可能是不一样的,自学习模块通过检测统计和自学习得出的最佳时刻TD也是不一样的。可见,考虑到不同的统计时间段,自学习模块检测和自学习的结果也就越精确,从而能够最大限度的降低主存在满负荷运行下的功耗。
系统为了统计不同客户X所使用的不同应用程序Y中不同特征数据Z的使用次数或频率,以及自学习模块需要检测不同时段内的不同主存存储模块的功耗信息,需要额外的非易失性存储器来存储这些信息。传统的内存条上会集成一块容量较小的非易失性存储器(例如EEPROM或者闪存)以存储一些固化程序或算法等,该非易失性存储器容量较小,无法存储大容量的数据,尤其是系统需要统计不同时间段内的特征数据信息,自学习模块需要统计并学习不同特征数据组合下的在空闲状态时由工作模式进入低功耗模式的最佳模式切换时间TD,所需的容量就更大,传统的这些集成在主存PCB电路板中的非易失性存储器根本无法满足要求。本发明这些统计信息可以存储在外部的非易失性存储器上,例如磁盘、固态硬盘或者BIOS中,但显然系统在主存满负荷运行时访问这些数据的速度会下降,系统的访问性能也会降低。本发明提出一种优选的解决方案,在内存条PCB上(比如DIMM内存)中集成新型非易失性存储器模块(以替代传统Flash芯片模块),如图10所示。新型非易失性存储器模块由新型存储器构成,例如相变随机存取存储器(PRAM)、铁电随机存取存储器(FRAM)、磁随机存取存储器(MRAM)及电阻式随机存取存储器(RRAM)等。新型非易失性存储器无论在读取速度、可擦写寿命、数据保持能力及数据存储密度都要优于传统的磁盘或闪存存储器。本发明新型非易失性存储器不仅可以存储大量的系统统计特征数据信息和自学习统计的最佳切换时刻TD信息,还可以存储传统主存PCB上EEPROM或闪存中的固化程序和一些算法。
当系统通过不断对不同用户X所使用的Y应用数据下的特征数据Z统计和自学习,得到在一段时间内rankL的最佳模式切换时间TD,系统工作流程如下所示:
步骤1:整个系统上电,系统从内存条PCB上集成的非易失性存储器(EEPROM、闪存或新型存储器等)或者外部的非易失性存储器中读取rankL(m≤L≤n-1)的最佳模式切换时刻TD(L)数据。显然,系统从内存条PCB上读取数据要远快于从外部的磁盘、硬盘或BIOS等中读取数据,而在主存PCB上使用新型存储器的性能又要远优于EEPROM或闪存。
步骤2:在主存满负荷工作时,系统让序号为0至m-1的rank中的主存存储模块一直保持工作/空闲状态下,不进入低功耗模式(因为空闲时间段太短);对序号为m至n-1的主存存储模块来说,当其进入空闲状态时,系统控制rankL的主存存储模块等待TD(L)时间后进入低功耗模式,使主存能在满负荷运行下尽可能的降低功耗。
本领域技术人员应该理解,本领域技术人员在结合现有技术以及上述实施例可以实现变化例,在此不做赘述。这样的变化例并不影响本发明的实质内容,在此不予赘述。
以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (13)
1.一种降低主存存储器满负荷运行功耗的方法,其特征在于,所述主存存储器中设置有第一rank集合和第二rank集合,且所述第一rank集合包括rank1至rankm-1,所述第二rank集合包括rankm至rankn-1,其中,m和n均为正整数,且n>m>1;所述方法包括如下步骤:
步骤S1:预先统计预定时间段内不同客户的不同应用程序的不同特征数据的使用频率,并根据该使用频率将所述主存存储器中存储的数据划分为主数据和辅助数据;
步骤S2:将所述主数据存储至所述第一rank集合中,将所述辅助数据存储至所述第二rank集合中;
步骤S3:通过自学习的方法获取所述第二rank集合中rankL由空闲状态进入低功耗模式的最佳模式切换时间,其中,L为正整数,且m≤L≤n-1;
其中,当所述第二rank集合中rankL的主存存储模块进入空闲状态时,所述rankL的主存存储模块等待所述最佳模式切换时间后进入低功耗模式。
2.如权利要求1所述的降低主存存储器满负荷运行功耗的方法,其特征在于,所述主数据的使用频率大于所述辅助数据的使用频率。
3.如权利要求2所述的降低主存存储器满负荷运行功耗的方法,其特征在于,所述步骤S3包括:
通过自学习模块对不同模式切换时间下的平均功耗进行统计、比较和学习,从而获取所述第二rank集合中rankL由空闲状态进入低功耗模式的最佳模式切换时间。
4.如权利要求3所述的降低主存存储器满负荷运行功耗的方法,其特征在于,所述自学习模块统计并学习rankL中不同特征数据组合下的x种组合形式的x个最佳模式切换时间,其中,x为正整数。
5.如权利要求3所述的降低主存存储器满负荷运行功耗的方法,其特征在于,当模式切换时间T小于所述最佳模式切换时间时,rankL的主存存储模块的平均功耗随着模式切换时间T的增加而减小,当模式切换时间T大于所述最佳模式切换时间时,rankL的主存存储模块的平均功耗随着模式切换时间T的增加而增加。
6.如权利要求4所述的降低主存存储器满负荷运行功耗的方法,其特征在于,所述步骤S3具体为:
所述自学习模块根据rankL的主存存储模块的平均功耗获取所述第二rank集合中rankL由空闲状态进入低功耗模式的最佳模式切换时间。
7.如权利要求2所述的降低主存存储器满负荷运行功耗的方法,其特征在于,按照不同的时间段分别统计不同客户的不同应用程序的不同特征数据的使用频率,并通过自学习的方法获取不同的时间段内所述第二rank集合中rankL由空闲状态进入低功耗模式的最佳模式切换时间。
8.如权利要求2所述的降低主存存储器满负荷运行功耗的方法,其特征在于,所述特征数据为实现若干设定功能的指令或数据集合。
9.如权利要求4所述的降低主存存储器满负荷运行功耗的方法,其特征在于,所述主存存储器上集成有非易失性存储器模块;
所述非易失性存储器模块或所述主存存储器外部的非易失性存储器中存储有所述自学习模块统计并学习不同特征数据组合下的x种组合形式的x个最佳模式切换时间的统计信息。
10.如权利要求9所述的降低主存存储器满负荷运行功耗的方法,其特征在于,所述非易失性存储器模块中还存储有固件程序和算法。
11.如权利要求9所述的降低主存存储器满负荷运行功耗的方法,其特征在于,所述非易失性存储器模块为相变随机存取存储器、铁电随机存取存储器、磁随机存取存储器或电阻式随机存取存储器。
12.如权利要求9所述的降低主存存储器满负荷运行功耗的方法,其特征在于,所述方法应用于计算机系统中,且所述方法还包括如下步骤:
上电后,所述系统从所述非易失性存储器模块或所述外部的非易失性存储中读取rankL的最佳模式切换时间;
当所述第二rank集合中rankL的主存存储模块进入空闲状态时,所述rankL的主存存储模块等待所述最佳模式切换时间后进入低功耗模式。
13.如权利要求1所述的降低主存存储器满负荷运行功耗的方法,其特征在于,所述第一rank集合中的主存存储模块不会进入低功耗模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410728907.XA CN104460941B (zh) | 2014-12-03 | 2014-12-03 | 一种降低主存存储器满负荷运行功耗的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410728907.XA CN104460941B (zh) | 2014-12-03 | 2014-12-03 | 一种降低主存存储器满负荷运行功耗的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104460941A CN104460941A (zh) | 2015-03-25 |
CN104460941B true CN104460941B (zh) | 2017-12-05 |
Family
ID=52907144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410728907.XA Active CN104460941B (zh) | 2014-12-03 | 2014-12-03 | 一种降低主存存储器满负荷运行功耗的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104460941B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834484B (zh) * | 2015-05-11 | 2018-10-23 | 上海新储集成电路有限公司 | 基于嵌入式可编程逻辑阵列的数据处理系统及处理方法 |
CN105550034A (zh) * | 2015-11-26 | 2016-05-04 | 东莞酷派软件技术有限公司 | 一种ddr控制方法及移动终端 |
CN108430098B (zh) * | 2017-12-26 | 2021-03-26 | 联芯科技有限公司 | 无线通信终端及其省电方法 |
CN109445688B (zh) * | 2018-09-29 | 2022-04-15 | 上海百功半导体有限公司 | 一种存储控制方法、存储控制器、存储设备及存储系统 |
CN109388349A (zh) * | 2018-10-25 | 2019-02-26 | 江苏华存电子科技有限公司 | 一种闪存存储装置中智能化调整参考电压的方法 |
CN111240459B (zh) * | 2020-01-08 | 2021-05-28 | 珠海全志科技股份有限公司 | 片上系统功耗管理方法、计算机装置及计算机可读存储介质 |
CN116909495B (zh) * | 2023-09-14 | 2023-12-15 | 合肥康芯威存储技术有限公司 | 一种存储装置及其控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101351760A (zh) * | 2005-12-30 | 2009-01-21 | 科潘系统公司 | 用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统 |
CN102591593A (zh) * | 2011-12-28 | 2012-07-18 | 华为技术有限公司 | 一种混合存储模式的切换方法、装置及系统 |
US8370672B2 (en) * | 2010-02-26 | 2013-02-05 | Microsoft Corporation | Reducing power consumption of distributed storage systems |
-
2014
- 2014-12-03 CN CN201410728907.XA patent/CN104460941B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101351760A (zh) * | 2005-12-30 | 2009-01-21 | 科潘系统公司 | 用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统 |
US8370672B2 (en) * | 2010-02-26 | 2013-02-05 | Microsoft Corporation | Reducing power consumption of distributed storage systems |
CN102591593A (zh) * | 2011-12-28 | 2012-07-18 | 华为技术有限公司 | 一种混合存储模式的切换方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104460941A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104460941B (zh) | 一种降低主存存储器满负荷运行功耗的方法 | |
DE102014111990B4 (de) | Heterogener Speicherzugriff | |
TWI416323B (zh) | 用於管理工作量之方法、系統及半導體裝置 | |
JP5389865B2 (ja) | メモリ・アクセス速度のダイナミックな制御 | |
US11693775B2 (en) | Adaptive cache | |
US20160041596A1 (en) | Power efficient method and system for executing host data processing tasks during data retention operations in a storage device | |
Mittal et al. | A survey of techniques for architecting DRAM caches | |
Zheng et al. | Power and performance trade-offs in contemporary DRAM system designs for multicore processors | |
EP3676716A1 (en) | Cache line data | |
CN105068940A (zh) | 一种基于Bank划分的自适应页策略确定方法 | |
CN106024052A (zh) | 存储器控制器和存储器系统的控制方法 | |
Gulur et al. | Multiple sub-row buffers in dram: Unlocking performance and energy improvement opportunities | |
US10705977B2 (en) | Method of dirty cache line eviction | |
Quan et al. | Prediction table based management policy for STT-RAM and SRAM hybrid cache | |
US10719247B2 (en) | Information processing device, information processing method, estimation device, estimation method, and computer program product | |
US10175893B2 (en) | Predictive scheduler for memory rank switching | |
CN103927203B (zh) | 一种计算机系统及控制方法 | |
Tan et al. | Uimigrate: Adaptive data migration for hybrid non-volatile memory systems | |
US8990473B2 (en) | Managing requests to open and closed banks in a memory system | |
Mittal | Using cache-coloring to mitigate inter-set write variation in non-volatile caches | |
US20140040900A1 (en) | Storage managing device and method and electronic apparatus | |
Sleiman et al. | Embedded way prediction for last-level caches | |
Park et al. | Management of virtual memory systems under high performance PCM-based swap devices | |
Sudan | Data placement for efficient main memory access | |
Lai et al. | Fine-grained write scheduling for PCM performance improvement under write power budget |
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 |