CN103136120B - 行缓冲管理策略确定方法和装置、bank划分方法和装置 - Google Patents

行缓冲管理策略确定方法和装置、bank划分方法和装置 Download PDF

Info

Publication number
CN103136120B
CN103136120B CN201310009673.9A CN201310009673A CN103136120B CN 103136120 B CN103136120 B CN 103136120B CN 201310009673 A CN201310009673 A CN 201310009673A CN 103136120 B CN103136120 B CN 103136120B
Authority
CN
China
Prior art keywords
application
memory access
behavior information
access behavior
row
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
Application number
CN201310009673.9A
Other languages
English (en)
Other versions
CN103136120A (zh
Inventor
程旭
谢明利
冯毅
佟冬
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.)
BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING
Original Assignee
BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING
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 BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING filed Critical BEIDA ZHONGZHI MICROSYSTEM SCIENCE AND TECHNOLOGY Co Ltd BEIJING
Priority to CN201310009673.9A priority Critical patent/CN103136120B/zh
Publication of CN103136120A publication Critical patent/CN103136120A/zh
Application granted granted Critical
Publication of CN103136120B publication Critical patent/CN103136120B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

本发明提供一种行缓冲管理策略确定方法,包括:获取应用的访存行为信息,根据所述访存行为信息为所述应用分配行缓冲管理策略。本发明实施例还提供一种行缓冲管理策略确定装置。本发明可以降低系统功耗,提高系统性能。本发明还提供一种Bank划分方法,包括:获取各应用的访存行为信息;根据所述访存行为信息将所述各应用进行分组;将不同的组的应用映射到不同的rank。本发明还提供一种Bank划分装置。

Description

行缓冲管理策略确定方法和装置、bank划分方法和装置
技术领域
本发明涉及电子和计算机技术,尤其涉及一种行缓冲管理策略确定方法和装置,以及一种bank划分方法和装置。
背景技术
存储墙问题的存在以及CMP(ChipMultiProcessors,单芯片多处理器)系统的普及使得主存成为多核的主要共享资源。主存性能逐渐成为制约系统性能的关键,也是计算机系统结构设计者关心的主要问题之一。CMP系统共享主存系统,多个应用同时运行同时访问主存,使用FR-FCFS(firstreadyfirstcomefirstserve,先来先服务)策略不能保证系统的公平性,因为行局部性好的访存密集型应用总是优先调度,导致计算密集型以及访存局部性不好的应用访存延时大;同时,还需要考虑多个应用同时访问主存访存交易之间相互影响,其会破坏单个应用原有的行局部性,引发额外的行冲突、以及共享资源如地址/数据总线等的冲突,从而降低系统性能。Bank划分方法为不同的应用分配不同的bank来隔离各个应用的访存交易,从根本上消除各应用访存交易之间的相互影响,提高访存性能;但是bank划分方法没考虑主存系统的功耗开销。
另外,研究表明DRAM(DynamicRandomAccessMemory,动态随机存取存储器)主存系统的功耗开销在计算机系统总功耗开销中所占比例很大。一项近期研究表明,在一个使用FB-DIMM(FullyBufferedDIMM,全缓冲内存模组)主存的多核服务器系统中,主存子系统的功耗能达到100瓦,主存的功耗与处理器的功耗相当;虽然,DDR3(DoubleDataRate3,八倍速率同步动态随机存储器)主存比FB-DIMM能效性高,但是主存功耗开销在整个系统功耗开销中所占的比例仍然很大。随着每个核所占主存容量的增加,主存系统的功耗甚至能超过处理器的功耗。因此,如何降低DRAM主存系统的功耗开销,提高主存子系统的能效性是迫切的并且必需要解决的问题。
在DRAM主存系统中,每个bank都有一个行缓冲用来缓存一页数据,对行缓冲区的管理方法就是行缓冲管理策略。如图1所示,有两种行缓冲管理策略:open-page(开放页)策略和close-page(闭合页)策略,不同的行缓冲管理策略可以提高主存系统的性能或者降低主存系统的功耗开销。
Open-page策略通过不关闭行保存主存的一行数据来充分利用访存序列的局部性。在一个使用open-page策略的DRAM主存控制器中,一旦某个bank的一行数据被搬移到灵敏放大器中,对相同bank同一行(命中)的访存请求延时就能达到最小值列访问延时tCAS,这是因为对打开行的读访问只需要执行一个列访问命令将数据从灵敏放大器中读出给主存控制器。但是,如果下一个访问是针对相同bank的不同行,即发生bank冲突,这种情况下主存控制器必须先对bank进行预充电,激活另一行,然后再执行列访问命令,访存延时为三者之和tRP+tRCD+tCAS。与open-page不同,close-page行缓冲管理策略在进行完一次列操作命令后立即将一行关闭(通过auto-precharge(自动预充电)命令对行缓冲进行预充电),预充电之后bank处于空闲状态。使用close-page策略的主存系统访存延时为行激活延时和列操作延时之和(tRCD+tCAS)。因此,选择最佳的行缓冲管理策略能提高主存系统的性能。另外一方面,行缓冲管理策略对DRAM主存系统的功耗开销有很大影响,同样最佳的行缓冲管理策略与应用的访存行为密切相关;对于计算密集型的应用,使用close-page策略能大幅增加主存处于空闲状态的时间,从而降低主存系统的功耗开销。
发明内容
本发明所要解决的技术问题是提供一种行缓冲管理策略确定方法和装置,以及一种bank划分方法和装置,提高主存系统的性能,降低主存系统的功耗开销,从而提高主存系统的功耗有效性。
为了解决上述问题,本发明提供了一种行缓冲管理策略确定方法,包括:
获取应用的访存行为信息,根据所述访存行为信息为所述应用分配行缓冲管理策略。
上述方法还可具有以下特点,所述访存行为信息包括访存密集度参数和/或行局部性参数。
上述方法还可具有以下特点,所述根据所述访存行为信息为所述应用分配行缓冲管理策略包括:
如果所述应用的访存密集度参数小于等于第一阈值,则为所述应用分配的行缓冲管理策略为闭合页close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数小于等于第二阈值,则为所述应用分配的行缓冲管理策略为闭合页close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数大于第二阈值,则为所述应用分配的行缓冲管理策略为开放页open-page。
上述方法还可具有以下特点,周期性执行所述获取应用的访存行为信息,根据所述访存行为信息为所述应用分配行缓冲管理策略的步骤;将根据当前周期的访存行为信息为所述应用分配的行缓冲管理策略作为下一个周期所述应用的行缓冲管理策略。
上述方法还可具有以下特点,所述根据所述访存行为信息为所述应用分配行缓冲管理策略包括:
当存在多个应用时,根据每个应用的访存行为信息将所述多个应用分组,为同一组中的应用分配相同的行缓冲管理策略。
本发明实施例还提供一种行缓冲管理策略确定装置,包括:
信息获取单元,用于获取应用的访存行为信息;
分配单元,用于根据所述访存行为信息为所述应用分配行缓冲管理策略。
上述装置还可具有以下特点,所述访存行为信息包括访存密集度参数和/或行局部性参数。
上述装置还可具有以下特点,所述分配单元根据访存行为信息为所述应用分配行缓冲管理策略包括:
如果所述应用的访存密集度参数小于等于第一阈值,则为所述应用分配的行缓冲管理策略为闭合页close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数小于等于第二阈值,则为所述应用分配的行缓冲管理策略为闭合页close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数大于第二阈值,则为所述应用分配的行缓冲管理策略为开放页open-page。
上述装置还可具有以下特点,所述信息获取单元还用于周期性获取所述应用的访存行为信息;
所述分配单元还用于:周期性根据所述访存行为信息为所述应用分配行缓冲管理策略,以及,将根据当前周期的访存行为信息为所述应用分配的行缓冲管理策略作为下一个周期所述应用的行缓冲管理策略。
上述装置还可具有以下特点,所述分配单元包括:分组模块和分配模块,其中:
所述分组模块用于:当存在多个应用时,根据每个应用的访存行为信息将所述多个应用分组;
所述分配模块用于:为同一组中的应用分配相同的行缓冲管理策略。
本发明实施例还提供一种Bank划分方法,包括:
获取各应用的访存行为信息;
根据所述访存行为信息将所述各应用进行分组;
将不同的组的应用映射到不同的rank。
上述方法还可具有以下特点,所述访存行为信息包括访存密集度参数。
上述方法还可具有以下特点,所述根据所述访存行为信息将所述各应用进行分组包括:
根据所述访存行为信息将所述各应用进行排序;
将排序后的各应用依次划分为m组,当n/m为整数时,每组包含的应用个数为n/m;当n/m非整数时,该m组中的m-1组包含的应用个数为 表示向上取整,剩余的一组包含的应用个数为其中,n表示应用个数,m表示rank个数。
上述方法还可具有以下特点:
将同一组的应用映射到同一个rank,且同一组的每个应用映射到对应rank中的不同bank。
本发明实施例还提供一种Bank划分装置,包括:
分组单元,用于获取各应用的访存行为信息,根据所述访存行为信息将所述各应用进行分组;
映射单元,用于将不同的组的应用映射到不同的rank。
上述装置还可具有以下特点,所述访存行为信息包括访存密集度参数。
上述装置还可具有以下特点,所述映射单元根据所述访存行为信息将所述各应用进行分组包括:
将排序后的各应用依次划分为m组,当n/m为整数时,每组包含的应用个数为n/m;当n/m非整数时,该m组中的m-1组包含的应用个数为 表示向上取整,剩余的一组包含的应用个数为其中,n表示应用个数,m表示rank个数。
上述装置还可具有以下特点,所述映射单元还用于:
将同一组的应用映射到同一个rank,且同一组的每个应用映射到对应rank中的不同bank。
本发明提供的行缓冲管理策略确定方法,根据应用的访存行为确定行缓冲管理策略,从而达到降低访存时间提高主存系统性能的目的。本发明实施例提供的bank划分方法和装置,根据应用访存密集度将应用映射到不同的rank,可以延长冷rank(低负载rank)处于空闲状态的时间,从而降低功耗。
附图说明
图1为行缓冲管理策略的示意图;
图2为应用分组的方法;
图3为DRAM主存地址映射方法示意图;
图4为bank划分方法的示意图;
图5为本发明实施例方法示意图;
图6为本发明实施例行缓冲管理策略确定装置框图;
图7为本发明实施例bank划分装置框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供一种行缓冲管理策略确定方法,包括:
获取应用的访存行为信息,根据所述访存行为信息为所述应用分配行缓冲管理策略。
在本实施例的一种备选方案中,所述访存行为信息包括访存密集度参数和/或行局部性参数。
在本实施例的一种备选方案中,可以只根据访存密集度参数为应用分配行缓冲管理策略,包括:
如果所述应用的访存密集度参数小于等于第一阈值,则为所述应用分配的行缓冲管理策略为闭合页(close-page);
如果所述应用的访存密集度参数大于所述第一阈值,为所述应用分配的行缓冲管理策略为开放页(open-page)。
在本实施例的一种备选方案中,根据所述访存行为信息为所述应用分配行缓冲管理策略包括:
如果所述应用的访存密集度参数小于等于第一阈值,则为所述应用分配的行缓冲管理策略为close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数小于等于第二阈值,则为所述应用分配的行缓冲管理策略为close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数大于第二阈值,则为所述应用分配的行缓冲管理策略为open-page。
在本实施例的一种备选方案中,上述获取应用的访存行为信息,根据所述访存行为信息为所述应用分配行缓冲管理策略的操作可以周期性进行。根据当前周期的访存行为信息分配的行缓冲管理策略作为所述应用下一个周期的行缓冲管理策略。
在本实施例的一种备选方案中,所述根据所述访存行为信息为所述应用分配行缓冲管理策略包括:
当存在多个应用时,根据每个应用的访存行为信息将所述多个应用分组,为同一组中的应用分配相同的行缓冲管理策略。
本发明实施例提供的行缓冲管理策略确定方法根据应用的访存行局部性和密集度来选择最佳的行缓冲管理策略,从而达到降低访存时间提高主存系统性能的目的,同时延长主存处于空闲状态的时间降低主存系统的功耗开销。
下面通过具体实施例进一步说明本发明。
本发明实施例提供的行缓冲管理策略确定方法包括:
步骤101,监测应用运行时的访存行为信息;
步骤102,根据访存行为信息分配行缓冲管理策略给应用。
其中,应用的访存行为信息可以包括:访存密集程度和访存序列的行局部性(RowBufferLocality,RBL)。由于主存功耗跟应用的访存密集度密切相关,因此可以使用每个周期的访存数量(MemoryAccessesPerInterval,MAPI)来衡量访存密集程度;用行命中率(RowBufferHitRate,RBH)表示行局部性。
当存在多个应用时,根据每个应用的访存行为信息将所述多个应用分组,为同一组中的应用分配相同的行缓冲管理策略。一种分组的过程如图2所示,其中,MAPIt和RBHt两个阈值分别为访存密集度阈值和行局部性阈值,包括:
首先依据各应用的访存密集度MAPIi将应用分为访存密集型和访存不密集型两组,包括:
步骤201,判断应用i的MAPIi是否大于MAPIt,如果是,则转步骤202,否则,转步骤203;
步骤202,该应用为访存密集型;
步骤203,该应用为访存不密集型,将该应用分入第一组。
然后再依据RBHi将访存密集型应用组分为行局部性高和行局部性低两组,包括:
步骤204,判断行局部性RBHi是否大于RBHt,如果是,转步骤205,否则,转步骤206;
步骤205,当前应用分到行局部性高的一组,行局部性高的一组也称为第二组;
步骤206,当前应用分到行局部性低的一组,行局部性低的一组也称为第三组。
分组完成后,依据分组为不同的组分配行缓冲管理策略,具体的包括:
将close-page分配给第一组,即访存不密集型的应用组,可以节约DRAM功耗开销;
对于访存密集型应用组,行局部性高的组(即第二组)分配open-page策略开发行缓冲局部性,行局部性低的组(即第三组)分配close-page策略降低访存延时。
下面提供一种获取访存密集度和行局部性的方法,包括:通过在主存控制器中设置硬件计数器记录应用的访存密集度和行局部性。为每个应用设置一个MAPI计数器记录应用的访存密集度。为每个bank设置一个行地址寄存器记录上一个访存请求的行地址,然后用新访存交易的行地址与记录的行地址进行比较,对命中的交易个数进行计数,计算应用的行局部性。
在本实施例的一种备选方案中,上述步骤101和步骤102周期性的反复执行,在每个周期的末尾根据监测到的访存行为信息将应用进行分组,然后给应用分配在下一个周期使用的行缓冲管理策略。当然,也可以不进行分组,直接根据访存行为信息确定行缓冲管理策略。
基于页着色的传统bank划分方法在进行物理地址到DRAM主存地址映射的时候,将物理地址与DRAM主存地址rank和bank域重合的位标示为颜色位,如图3所示。操作系统在进行页分配时,将不同的颜色分配给不同的应用,从而消除线程间访存请求的相互影响。例如,一个4核、2rank的CMP系统,系统能同时运行4个线程,4个线程公平的共享主存系统。本发明实施例通过bank划分,将主存系统划分成4组(每组4个bank),每组映射到一个核,从而避免线程间的相互影响。
其中,使用操作系统的页着色方法划分主存的物理bank,为不同的核分配不同的bank来隔离各个应用的访存交易,从根本上消除应用访存交易之间的相互影响,提高主存系统的性能。Bank划分方法将各个应用的访存交易隔离,因此,单个应用的访存特性在DRAM主存端仍然保留。
传统bank划分方法不能感知DRAM主存系统的功耗开销。以一个4核、2rank的CMP系统为例,系统能同时运行4个线程,2rank的主存系统能分为4组(每组4个bank),如图4所示。如果将4个应用分为两组,每组映射到一个rank,在不考虑顺序的情况下有3中映射方法;随着核数量和rank数量的增多,可能的映射方法急剧增加。在DDRxDRAM主存系统中,rank是功耗管理的最小单元,将应用依据访存密集程度平均分配到rank中会减少rank处于空闲状态的时间,因此降低rank进入低功耗模式的机会;另外,即使rank进入低功耗状态,但是由于访存请求之间的时间间隔短,不能利用深度低功耗模式,退出低功耗模式也会引起较大的性能损失;将应用均衡的分配到各个rank会引起rank之间的切换开销。基于以上观察,本发明实施例提供一种bank划分方法,在现有bank划分方法的基础上考虑主存系统的功耗开销,通过将访存密集度将应用进行分组,不同组的应用分配到不同的rank,从而延长冷rank处于空闲状态的时间。
本发明实施例提供一种bank划分方法,包括:
获取各应用的访存行为信息;
根据所述访存行为信息将所述各应用进行分组;
将不同的组的应用映射到不同的rank。
在本实施例的一种备选方案中,所述应用的访存行为信息包括访存密集度参数。
在本实施例的一种备选方案中,根据所述访存行为信息将所述各应用进行分组的方法包括但不限于:
根据所述访存行为信息将所述各应用进行排序;
将排序后的各应用依次划分为m组,当n/m为整数时,每组包含的应用个数为n/m;当n/m非整数时,该m组中的m-1组包含的应用个数为 表示向上取整,剩余的一组包含的应用个数为其中,n表示应用个数,m表示rank个数。
在本实施例的一种备选方案中,还包括:
将同一组的应用映射到同一个rank,且同一组的每个应用映射到对应rank中的不同bank。
当然,也可以采取其他分组方法,保证分组个数小于等于m即可,每组包含的应用个数本申请不作限定。
该方案中,根据应用的访存密集度,将应用映射到不同的rank,可以延长冷rank(低负载rank)处于空闲状态的时间,从而降低功耗。
下面通过一个实施例说明bank方法。本实施例提供的bank划分方法包括:
步骤301,读取硬件计数器MAPI的值;
步骤302,依据MAPI的值将应用进行排序和分组,再依据分组将bank组映射到应用。
本实施例中,假设应用个数为n,rank个数为m(本实施例中,假设n为m的倍数,k=n/m),访存密集度最高的k个应用分为一组,然后访存密集度次高的k个应用分为一组,直到访存密集度最低的k个应用分为一组;由此n个应用分为m组,每个组的应用分给一个rank,每个组的应用随机分配给对应rank中的k个bank组。
如图5所示,行缓冲管理策略确定方法依据应用的访存特性(访存密集度和行局部性)为不同的应用分配最佳的行缓冲管理策略,达到提高主存系统性能和降低功耗开销的目的。bank划分方法将访存密集型(图5中的第一行和第二行所示的应用映射到一个rank)和访存不密集(图5中的第三行和第四行所示的应用映射到一个rank),从而根据访存密集度将不同应用映射到不同的rank,图中的热(hot)rank为访存密集度高的应用使用的rank,冷(cold)rank为访存密集度低的应用使用的rank,对于冷rank,由于都是访存密集度的应用在使用,因此相对于既有访存密集度高的应用,又有访存度低的应用延长了冷rank处于空闲状态的时间,有效降低DRAM主存系统的功耗开销。
本发明实施例还提供一种行缓冲管理策略确定装置,如图6所示,包括:
信息获取单元601,用于获取应用的访存行为信息;
分配单元602,用于根据所述访存行为信息为所述应用分配行缓冲管理策略。
在本实施例的一种备选方案中,所述访存行为信息包括访存密集度参数和/或行局部性参数。
在本实施例的一种备选方案中,所述分配单元602根据访存行为信息为所述应用分配行缓冲管理策略包括:
如果所述应用的访存密集度参数小于等于第一阈值,则为所述应用分配的行缓冲管理策略为闭合页close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数小于等于第二阈值,则为所述应用分配的行缓冲管理策略为闭合页close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数大于第二阈值,则为所述应用分配的行缓冲管理策略为开放页open-page。
在本实施例的一种备选方案中,所述信息获取单元601还用于周期性获取所述应用的访存行为信息;
所述分配单元602还用于:周期性根据所述访存行为信息为所述应用分配行缓冲管理策略,以及,将根据当前周期的访存行为信息为所述应用分配的行缓冲管理策略作为下一个周期所述应用的行缓冲管理策略。
在本实施例的一种备选方案中,所述分配单元包括:分组模块6021和分配模块6022,其中:
所述分组模块6021用于:当存在多个应用时,根据每个应用的访存行为信息将所述多个应用分组;
所述分配模块6022用于:为同一组中的应用分配相同的行缓冲管理策略。
本发明实施例还提供一种bank划分装置,如图7所示,包括:
分组单元701,用于获取各应用的访存行为信息,根据所述访存行为信息将所述各应用进行分组;
映射单元702,用于将不同的组的应用映射到不同的rank。
在本实施例的一种备选方案中,所述映射单元702根据所述访存行为信息将所述各应用进行分组包括:
将排序后的各应用依次划分为m组,当n/m为整数时,每组包含的应用个数为n/m;当n/m非整数时,该m组中的m-1组包含的应用个数为 表示向上取整,剩余的一组包含的应用个数为其中,n表示应用个数,m表示rank个数。
在本实施例的一种备选方案中,所述映射单元702还用于:
将同一组的应用映射到同一个rank,且同一组的每个应用映射到对应rank中的不同bank。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

Claims (10)

1.一种行缓冲管理策略确定方法,其特征在于,包括:
获取应用的访存行为信息,所述访存行为信息包括访存密集度参数和行局部性参数;其中,通过在主存控制器中设置硬件计数器记录应用的访存密集度参数和行局部性参数;
根据所述访存行为信息为所述应用分配行缓冲管理策略,包括:如果所述应用的访存密集度参数小于等于第一阈值,则为所述应用分配的行缓冲管理策略为闭合页close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数小于等于第二阈值,则为所述应用分配的行缓冲管理策略为闭合页close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数大于第二阈值,则为所述应用分配的行缓冲管理策略为开放页open-page。
2.如权利要求1所述的方法,其特征在于,周期性执行所述获取应用的访存行为信息,根据所述访存行为信息为所述应用分配行缓冲管理策略的步骤;将根据当前周期的访存行为信息为所述应用分配的行缓冲管理策略作为下一个周期所述应用的行缓冲管理策略。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述访存行为信息为所述应用分配行缓冲管理策略包括:
当存在多个应用时,根据每个应用的访存行为信息将所述多个应用分组,为同一组中的应用分配相同的行缓冲管理策略。
4.一种行缓冲管理策略确定装置,其特征在于,包括:
信息获取单元,用于获取应用的访存行为信息;所述访存行为信息包括访存密集度参数和行局部性参数;其中,通过在主存控制器中设置硬件计数器记录应用的访存密集度参数和行局部性参数;
分配单元,用于根据所述访存行为信息为所述应用分配行缓冲管理策略,包括:
如果所述应用的访存密集度参数小于等于第一阈值,则为所述应用分配的行缓冲管理策略为闭合页close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数小于等于第二阈值,则为所述应用分配的行缓冲管理策略为闭合页close-page;
如果所述应用的访存密集度参数大于所述第一阈值,且所述应用的行局部性参数大于第二阈值,则为所述应用分配的行缓冲管理策略为开放页open-page。
5.如权利要求4所述的装置,其特征在于,
所述信息获取单元还用于周期性获取所述应用的访存行为信息;
所述分配单元还用于:周期性根据所述访存行为信息为所述应用分配行缓冲管理策略,以及,将根据当前周期的访存行为信息为所述应用分配的行缓冲管理策略作为下一个周期所述应用的行缓冲管理策略。
6.如权利要求4或5所述的装置,其特征在于,所述分配单元包括:分组模块和分配模块,其中:
所述分组模块用于:当存在多个应用时,根据每个应用的访存行为信息将所述多个应用分组;
所述分配模块用于:为同一组中的应用分配相同的行缓冲管理策略。
7.一种动态随机存取存储器DRAM主存系统中Bank划分方法,其特征在于,包括:
获取各应用的访存行为信息;所述访存行为信息包括访存密集度参数;为每个应用设置一个MAPI计数器记录应用的访存密集度;
根据所述访存行为信息将所述各应用进行分组;
将不同的组的应用映射到不同的rank;
将同一组的应用映射到同一个rank,且同一组的每个应用映射到对应rank中的不同bank。
8.如权利要求7所述的方法,其特征在于,所述根据所述访存行为信息将所述各应用进行分组包括:
根据所述访存行为信息将所述各应用进行排序;
将排序后的各应用依次划分为m组,当n/m为整数时,每组包含的应用个数为n/m;当n/m非整数时,该m组中的m-1组包含的应用个数为 表示向上取整,剩余的一组包含的应用个数为其中,n表示应用个数,m表示rank个数。
9.一种动态随机存取存储器DRAM主存系统中Bank划分装置,其特征在于,包括:
分组单元,用于获取各应用的访存行为信息,根据所述访存行为信息将所述各应用进行分组;所述访存行为信息包括访存密集度参数;为每个应用设置一个MAPI计数器记录应用的访存密集度;
映射单元,用于将不同的组的应用映射到不同的rank;
将同一组的应用映射到同一个rank,且同一组的每个应用映射到对应rank中的不同bank。
10.如权利要求9所述的装置,其特征在于,所述映射单元根据所述访存行为信息将所述各应用进行分组包括:
将排序后的各应用依次划分为m组,当n/m为整数时,每组包含的应用个数为n/m;当n/m非整数时,该m组中的m-1组包含的应用个数为 表示向上取整,剩余的一组包含的应用个数为其中,n表示应用个数,m表示rank个数。
CN201310009673.9A 2012-12-31 2013-01-10 行缓冲管理策略确定方法和装置、bank划分方法和装置 Active CN103136120B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310009673.9A CN103136120B (zh) 2012-12-31 2013-01-10 行缓冲管理策略确定方法和装置、bank划分方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210593324.1 2012-12-31
CN201210593324 2012-12-31
CN201310009673.9A CN103136120B (zh) 2012-12-31 2013-01-10 行缓冲管理策略确定方法和装置、bank划分方法和装置

Publications (2)

Publication Number Publication Date
CN103136120A CN103136120A (zh) 2013-06-05
CN103136120B true CN103136120B (zh) 2016-01-27

Family

ID=48495967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310009673.9A Active CN103136120B (zh) 2012-12-31 2013-01-10 行缓冲管理策略确定方法和装置、bank划分方法和装置

Country Status (1)

Country Link
CN (1) CN103136120B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455443B (zh) * 2013-09-04 2017-01-18 华为技术有限公司 一种缓存管理方法和装置
CN104572493A (zh) 2013-10-23 2015-04-29 华为技术有限公司 一种存储器资源优化方法和装置
CN105068940B (zh) * 2015-07-28 2018-07-31 北京工业大学 一种基于Bank划分的自适应页策略确定方法
CN106919516B (zh) * 2015-12-24 2020-06-16 辰芯科技有限公司 Ddr地址映射系统和方法
CN106874106A (zh) * 2016-12-23 2017-06-20 北京北大众志微系统科技有限责任公司 一种主存bank划分方法及装置
CN108628797A (zh) * 2017-03-15 2018-10-09 北京北大众志微系统科技有限责任公司 一种实现体划分的方法及装置
CN108550102B (zh) * 2018-04-25 2022-05-17 珠海全志科技股份有限公司 一种硬件加速器
CN109308190B (zh) * 2018-07-09 2023-03-14 北京中科睿芯科技集团有限公司 基于3d堆栈内存架构的共享行缓冲系统及共享行缓冲器
KR20200089886A (ko) * 2019-01-18 2020-07-28 에스케이하이닉스 주식회사 데이터 저장 시스템 및 이를 위한 프리차지 정책 설정 방법
WO2021243700A1 (en) * 2020-06-05 2021-12-09 Micron Technology, Inc. Trims for memory performance targets of applications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1613064A (zh) * 2002-01-03 2005-05-04 英特尔公司 用于动态调整存储器页面关闭策略的方法
CN1637719A (zh) * 2004-01-05 2005-07-13 索尼株式会社 数据存储设备、数据存储控制设备、方法以及程序
CN101236547A (zh) * 2007-01-29 2008-08-06 国际商业机器公司 提供动态存储库页面策略的系统和方法
CN101639817A (zh) * 2009-03-13 2010-02-03 青岛海信信芯科技有限公司 一种存储器的控制方法、存储器控制器和存储器控制系统
CN102662853A (zh) * 2012-03-22 2012-09-12 北京北大众志微系统科技有限责任公司 实现使用存储级并行的内存管理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1613064A (zh) * 2002-01-03 2005-05-04 英特尔公司 用于动态调整存储器页面关闭策略的方法
CN1637719A (zh) * 2004-01-05 2005-07-13 索尼株式会社 数据存储设备、数据存储控制设备、方法以及程序
CN101236547A (zh) * 2007-01-29 2008-08-06 国际商业机器公司 提供动态存储库页面策略的系统和方法
CN101639817A (zh) * 2009-03-13 2010-02-03 青岛海信信芯科技有限公司 一种存储器的控制方法、存储器控制器和存储器控制系统
CN102662853A (zh) * 2012-03-22 2012-09-12 北京北大众志微系统科技有限责任公司 实现使用存储级并行的内存管理方法及装置

Also Published As

Publication number Publication date
CN103136120A (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
CN103136120B (zh) 行缓冲管理策略确定方法和装置、bank划分方法和装置
CN109155143B (zh) 精细粒度刷新
CN109564556B (zh) 具有条纹和读取/写入事务管理的存储器控制器仲裁器
CN105068940B (zh) 一种基于Bank划分的自适应页策略确定方法
CN109690508B (zh) 带虚拟控制器模式的存储器控制器
CN108845960B (zh) 一种存储器资源优化方法和装置
CN102362464B (zh) 内存访问监测方法和装置
CN103198856B (zh) 一种ddr控制器及请求调度方法
CN102609312B (zh) 基于公平性考虑的短作业优先内存请求调度方法
KR20210021302A (ko) 메모리 제어기에서의 리프레시 방식
CN105280215B (zh) 动态随机存取存储器dram的刷新方法、设备以及系统
CN104484250B (zh) 快速通道互联总线的压力测试方法和压力测试装置
Li et al. A performance & power comparison of modern high-speed dram architectures
Guo et al. A comparative study of predictable dram controllers
US8213461B2 (en) Method of designating slots in a transmission frame for controlling transmission of data over an interconnect coupling a plurality of master units with a plurality of slave units
CN101271435B (zh) 一种访问外部存储器的方法
CN106951488A (zh) 一种日志记录方法和装置
CN104298628A (zh) 一种用于并发访问的数据存储器仲裁电路及仲裁方法
CN112463074A (zh) 一种数据分类存储方法、系统、终端及存储介质
CN106325759A (zh) 一种可动态配置端口带宽的ddr控制方法及装置
CN109426623A (zh) 一种读取数据的方法及装置
CN114902198A (zh) 用于异构存储器系统的信令
CN116501249A (zh) 一种减少gpu内存重复数据读写的方法及相关设备
CN112513824B (zh) 一种内存交织方法及装置
US6272067B1 (en) SRAM synchronized with an optimized clock signal based on a delay and an external clock

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant