CN117393013B - 统计应用中的高效ddr控制方法及相关装置 - Google Patents
统计应用中的高效ddr控制方法及相关装置 Download PDFInfo
- Publication number
- CN117393013B CN117393013B CN202311683220.4A CN202311683220A CN117393013B CN 117393013 B CN117393013 B CN 117393013B CN 202311683220 A CN202311683220 A CN 202311683220A CN 117393013 B CN117393013 B CN 117393013B
- Authority
- CN
- China
- Prior art keywords
- target
- value
- bank
- statistic
- statistical
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005971 DNA damage repair Effects 0.000 description 1
- 102000002706 Discoidin Domain Receptors Human genes 0.000 description 1
- 108010043648 Discoidin Domain Receptors Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- 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
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种统计应用中的高效DDR控制方法及相关装置,应用于电子设备,电子设备包括DDR;方法包括:在接收到针对目标流的写统计请求时,从m个Bank中选取目标Bank,目标Bank用于进行统计的读改写操作,目标Bank为最可能空闲的Bank;写统计请求携带目标流的统计增加值和输入地址;根据输入地址确定目标Bank的目标行列位置;读取目标行列位置的初始统计值,根据统计增加值和初始统计值确定目标统计值;将目标统计值写入目标行列位置;在接收到针对目标流的读统计请求时,读取m个Bank中每一Bank的统计值,得到m个统计值;根据m个统计值确定最终统计值。
Description
技术领域
本申请涉及通信技术领域或者互联网技术领域,具体涉及一种统计应用中的高效DDR控制方法及相关装置。
背景技术
目前,网络设备中来自以太接口的输入流量可能来自多个流,为了对每条流的流量进行监控,在设备中针对每条流的报文数量及字节数量进行统计是必要的。由于通常网络设备支持的流数较多(一般为1M及以上),因此,绝大多数情况下选择容量较大的双倍速率同步动态随机存储器(double data rate,DDR)设备作为每条流的流量统计的储存设备。DDR设备中包括多个Bank,当用户连续访问同一个Bank的不同行时,DDR需要先完成上一次的操作,之后进行预充电,等待这个Bank恢复到空闲后再对DDR进行激活,其中有大量时间被浪费,效率较低,因此,如何提升统计业务效率的问题亟待解决。
发明内容
本申请提供了一种统计应用中的高效DDR控制方法及相关装置,可以提升统计业务效率。
第一方面,本申请提供一种统计应用中的高效DDR控制方法,应用于电子设备,所述电子设备包括DDR,所述DDR包括用于统计目标流的m个Bank,m为大于1的整数;所述方法包括:
在接收到针对所述目标流的写统计请求时,从所述m个Bank中选取目标Bank,所述目标Bank用于进行统计的读改写操作,所述目标Bank为最可能空闲的Bank;所述写统计请求携带所述目标流的统计增加值和输入地址;
根据所述输入地址确定所述目标Bank的目标行列位置;
读取所述目标行列位置的初始统计值,根据所述统计增加值和所述初始统计值确定目标统计值;
将所述目标统计值写入所述目标行列位置;
在接收到针对所述目标流的读统计请求时,读取所述m个Bank中每一Bank的统计值,得到m个统计值;
根据所述m个统计值确定最终统计值。
第二方面,本申请提供了一种统计应用中的高效DDR控制装置,应用于电子设备,所述电子设备包括DDR,所述DDR包括用于统计目标流的m个Bank,m为大于1的整数;所述装置包括:选取单元、确定单元、读取单元、写入单元,其中,
所述选取单元,用于在接收到针对所述目标流的写统计请求时,从所述m个Bank中选取目标Bank,所述目标Bank用于进行统计的读改写操作,所述目标Bank为最可能空闲的Bank;所述写统计请求携带所述目标流的统计增加值和输入地址;
所述确定单元,用于根据所述输入地址确定所述目标Bank的目标行列位置;
所述读取单元,用于读取所述目标行列位置的初始统计值,根据所述统计增加值和所述初始统计值确定目标统计值;
所述写入单元,用于将所述目标统计值写入所述目标行列位置;
所述读取单元,还用于在接收到针对所述目标流的读统计请求时,读取所述m个Bank中每一Bank的统计值,得到m个统计值;
所述确定单元,还用于根据所述m个统计值确定最终统计值。
第三方面,本申请提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请第一方面中的步骤的指令。
第四方面,本申请提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请第一方面中所描述的部分或全部步骤。
第五方面,本申请提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请,具备如下有益效果:
可以看出,本申请中所描述的统计应用中的高效DDR控制方法及相关装置,应用于电子设备,电子设备包括DDR,DDR包括用于统计目标流的m个Bank,m为大于1的整数;在接收到针对目标流的写统计请求时,从m个Bank中选取目标Bank,目标Bank用于进行统计的读改写操作,目标Bank为最可能空闲的Bank;写统计请求携带目标流的统计增加值和输入地址,根据输入地址确定目标Bank的目标行列位置,读取目标行列位置的初始统计值,根据统计增加值和初始统计值确定目标统计值,将目标统计值写入目标行列位置,在接收到针对目标流的读统计请求时,读取m个Bank中每一Bank的统计值,得到m个统计值,根据m个统计值确定最终统计值,通过将一个流的统计值分散储存在多个Bank中的方式,使得每次执行写统计都有最大概率选择到一个空闲的Bank,从而大大提升了写统计的性能,即提升了统计业务效率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种地址与Bank之间的映射关系的结构示意图;
图2是本申请提供的一种统计应用中的高效DDR控制方法的流程示意图;
图3是本申请提供的统计值与Bank组之间的对应关系示意图;
图4是本申请提供的另一种统计应用中的高效DDR控制方法的流程示意图;
图5是本申请提供的一种电子设备的结构示意图;
图6是本申请提供的一种统计应用中的高效DDR控制装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
具体实现中,本申请所涉及到的电子设备可以包括但不仅限于:网络设备、智能网卡、数据处理器(data processing unit,DPU)、主机(HOST)、服务器、高速串行计算机扩展总线标准(peripheral component interconnect express,PCIE)设备。例如,电子设备可以包括插上DPU网卡的主机。
本申请中,PCI即Peripheral Component Interconnect,中文意思是“外围器件互联”,是由PCISIG (PCI Special Interest Group)推出的一种局部并行总线标准。PCI总线是一种树型结构,并且独立于CPU总线,可以和CPU总线并行操作。PCI总线上可以挂接PCI设备和PCI桥片,PCI总线上只允许有一个PCI主设备,其他的均为PCI从设备,而且读写操作只能在主从设备之间进行,从设备之间的数据交换需要通过主设备中转。
其中,PCI Express由早期的PCI扩展衍生而来并且对兼容PCI,两者的主要区别在于并行到串行的切换,且速率更快。PCI Express是一种分层协议,由事务层,数据链路层和物理层组成。
本申请中,Bank可以理解为存储库,即一块内存内部划分出了多个存储库,访问的时候指定存储库编号,就可以访问指定的存储库,DDR中划分了多少个Bank,要看地址线中有几位BA地址,如果有两位,说明有4个Bank,如果有3位,说明有8个Bank。
相关技术中,每条流的统计数据仅对应DDR中的一个地址。在执行写统计时,对DDR对应的地址执行读改写操作;在执行读统计时,对DDR对应的地址执行读操作。
实际应用中,图1提供了一种典型的映射方式。其中,BG(Bank Group),即Bank组,该Bank组包括多个Bank,BA表示Bank,ROW表示行,COL表示列。映射对应的DDR设备包括4个Bank Group,每个Bank Group中包括4个Bank,每个Bank中包括由2^17个ROW和2^10个COL组成的存储阵列。由于DDR设备中通常访问的最小粒度为1个字节,因此COL中的3个bit被掩掉以支持burst_len = 8的突发访问。由此,可以得到由图1所示的映射方式。用户输入的地址位宽为28bit,其中:[27:26]代表BG,[25:24]代表BA,[23:7]对应ROW,[6:0]对应COL。
其中,DDR设备中包括多个Bank,当用户连续访问同一个Bank的不同行时,DDR需要先完成上一次的操作,之后进行预充电,等待这个Bank恢复到空闲后再对DDR进行激活,其中有大量时间被浪费,效率较低。如果一条流的流统计对应DDR中的一个地址,则DDR中的地址通常都是由用户发送读写统计请求时附带的地址映射的。
具体实现中,由于网络设备支持的流数量较多,在每条流流量相差不大的情况下,用户发送的读写统计请求可以平均地对应到每条流上,在这种场景下用户的读写统计请求附带的地址可以看作是随机的。在随机的情况下,有较大概率在进行地址映射时连续访问到同样的Bank,不同的ROW上,这时需要等待上一次进行的操作完成,此Bank预充并回到空闲(idle)后才能进行本次的操作,在等待过程中有大量时间被浪费,拉低了整体的访问效率。
为了解决相关技术中的缺陷,本申请实施例中提供一种统计应用中的高效DDR控制方法,应用于电子设备,所述电子设备包括DDR,所述DDR包括用于统计目标流的m个Bank,m为大于1的整数;可以包括如下步骤:
在接收到针对所述目标流的写统计请求时,从所述m个Bank中选取目标Bank,所述目标Bank用于进行统计的读改写操作,所述目标Bank为最可能空闲的Bank;所述写统计请求携带所述目标流的统计增加值和输入地址;
根据所述输入地址确定所述目标Bank的目标行列位置;
读取所述目标行列位置的初始统计值,根据所述统计增加值和所述初始统计值确定目标统计值;
将所述目标统计值写入所述目标行列位置;
在接收到针对所述目标流的读统计请求时,读取所述m个Bank中每一Bank的统计值,得到m个统计值;
根据所述m个统计值确定最终统计值。
本申请实施例中,可以将一个统计值分散到DDR的多个Bank上进行存储,由此,在每一次用户发起写请求操作时都有最大概率分配到一个空闲的Bank,从而提高了写统计的效率。
下面对本申请进行详细介绍。
请参阅图2,图2是本申请提供的一种统计应用中的高效DDR控制方法的流程示意图,应用于电子设备,所述电子设备包括DDR,所述DDR包括用于统计目标流的m个Bank,m为大于1的整数;如图所示,本统计应用中的高效DDR控制方法包括:
S201、在接收到针对所述目标流的写统计请求时,从所述m个Bank中选取目标Bank,所述目标Bank用于进行统计的读改写操作,所述目标Bank为最可能空闲的Bank;所述写统计请求携带所述目标流的统计增加值和输入地址。
本申请实施例中,不同的流,可以对应不同的DDR中的Bank,目标流可以任意类型的一个流,目标流可以由用户自行设置或者系统默认。
其中,电子设备包括DDR,DDR可以包括用于统计目标流的m个Bank,m为大于1的整数。M个Bank可以将目标流对应的一个统计值分散到DDR的多个Bank上进行存储。
具体实现中,在接收到针对目标流的写统计请求时,则可以从m个Bank中选取目标Bank,目标Bank用于进行统计的读改写操作,目标Bank为最可能空闲的Bank。由此在每一次用户发起写请求操作时都有最大概率分配到一个空闲的Bank,从而提高了写统计的效率。
本申请实施例中,将统计值分散储存在DDR的多个Bank上,并在执行统计业务时通过控制器动态分配最优Bank的方式增大统计业务的执行速率。
其中,写统计请求还可以携带目标流的统计增加值和输入地址。
可选的,上述步骤S201,从所述m个Bank中选取目标Bank,可以包括如下步骤:
11、获取当前时刻;
12、获取所述m个Bank中每一个Bank在最近一次被选取为用于进行统计的读改写操作的时刻,得到m个时刻;
13、确定所述当前时刻与所述m个时刻中每一时刻之间的时间长度,得到m个时间长度;
14、选取所述m个时间长度中的最大值,将所述最大值对应的Bank作为所述目标Bank。
本申请实施例中,可以获取当前时刻,再获取m个Bank中每一个Bank在最近一次被选取为用于进行统计的读改写操作的时刻,得到m个时刻,再确定当前时刻与m个时刻中每一时刻之间的时间长度,得到m个时间长度,最后,选取m个时间长度中的最大值,将最大值对应的Bank作为目标Bank,即上一次越早被选取用于响应写统计请求的Bank,则其空闲概率越大,则可以选取其作为本次响应写统计请求的Bank,则不需要等待这个Bank恢复到空闲后再对DDR进行激活,进而,提升业务统计效率。
S202、根据所述输入地址确定所述目标Bank的目标行列位置。
本申请实施例中,不同的输入地址则可以对应选择不同的行列位置,可以预先设置预设的输入地址与Bank的行列位置之间的映射关系,进而,可以基于该映射关系确定输入地址对应的目标Bank的目标行列位置。
可选的,所述电子设备还包括控制器,所述控制器生成控制指令,所述控制指令包括m个第一控制位和n个第二控制位,所述m个第一控制位与m个Bank一一对应,所述n个第二控制位与所述输入地址对应,所述m个第一控制位决定所述目标Bank,所述n个第二控制位决定所述目标行列位置。
本申请实施例中,电子设备还可以包括控制器,控制器可以用于生成控制指令,具体的,可以在接收到针对目标流的写统计请求时,生成控制指令,该控制指令可以包括m个第一控制位和n个第二控制位,m个第一控制位与m个Bank一一对应,n个第二控制位与输入地址对应,m个第一控制位决定目标Bank,n个第二控制位决定目标行列位置,n为正整数。
具体实现中,针对Bank和Bank Group,控制器通过几个bit对其进行控制,具体使用多少bit取决于需要将一个统计值分散到多少个Bank上进行存储,另外,其余bit由用户的请求附带的地址进行控制。具体的,以图1所示的映射关系为例,假设将一个统计值分散到8个Bank上进行存储,则输入地址中的[27:25]将会被掩掉,即DDR控制器将会在读写统计业务的处理中无视这几个bit,这几个bit对应的实际DDR设备中的Bank将由控制器指定。
S203、读取所述目标行列位置的初始统计值,根据所述统计增加值和所述初始统计值确定目标统计值。
本申请实施例中,目标行列位置则可能存在一个初始值,在其不存在一个初始值时,则目标行列位置对应的初始值为0,若目标行列位置存在一个初始值,则其对应的就是该初始值。
具体实现中,则可以读取目标行列位置的初始统计值,再根据统计增加值和初始统计值确定目标统计值。
可选的,上述步骤S203,根据所述统计增加值和所述初始统计值确定目标统计值,可以按照如下方式实施:
将所述统计增加值与所述初始统计值进行求和,得到求和结果,将所述求和结果作为所述目标统计值。
本申请实施例中,可以将统计增加值与初始统计值进行求和,得到求和结果,即求和结果=统计增加值+初始统计值,再将求和结果作为目标统计值。
S204、将所述目标统计值写入所述目标行列位置。
本申请实施例中,接着,可以在读改写操作的指示下,将目标统计值写入目标行列位置。
其中,写入的目标行列位置所在的Bank与步骤S203中读取目标行列位置所在的Bank一致。
S205、在接收到针对所述目标流的读统计请求时,读取所述m个Bank中每一Bank的统计值,得到m个统计值。
本申请实施例中,可以在接收到针对目标流的读统计请求时,读取m个Bank中每一Bank的统计值,得到m个统计值。
S206、根据所述m个统计值确定最终统计值。
本申请实施例中,最终可以根据m个统计值确定最终统计值,再将该最终统计值返回给用户,具体实现中,可以计算m个统计值之和,得到最终统计值。
举例说明下,本申请实施例中,可以将一个统计值分散到DDR的多个Bank上进行存储。如图3所示,假定一个统计值分配到4个不同的Bank进行储存,4个不同的Bank分别为Bank0、Bank1、Bank2、Bank3。则在增加统计值时,可以对其中的任意一个Bank进行读改写,只需保证读统计值是将所有4个Bank储存的值都读出来并进行求和,即可得到真实的统计值。
再举例说明下,本申请实施例中,当接收到写统计请求时,通过动态择优的原则挑选一个最可能空闲的Bank进行统计的读改写操作,即根据用户的输入地址选取对应的行列,将其中原有的统计值读出后加上用户输入的统计增加值,形成最新的统计值后写回原来的地址。当接收到读统计请求时,将所有Bank的统计值读出后相加得出真实的统计值,返回给用户。这样通过时间换空间的方式,主要的写统计业务可以在每次被执行时都尽可能的分配到不同的Bank上,大大增加了业务速率。
再举例说明下,如图4所示,假定一个统计值被分散到4个Bank上进行存储,且每个Bank的初始值均为0,最终统计值的实现可以参照如下过程:
1、统计值增量1,此次挑选中Bank0进行写统计,业务完成后Bank0的值为1,其他Bank的值不变;
2、统计值增量2,此次挑选中Bank2进行写统计,业务完成后Bank2的值为2,其他Bank的值不变;
3、统计值增量3,此次挑选中Bank1进行写统计,业务完成后Bank1的值为3,其他Bank的值不变;
4、统计值增量4,此次挑选中Bank0进行写统计,业务完成后Bank0的值为1+4=5,其他Bank的值不变;
5、对本条流的统计值进行读取,此时,将Bank0-Bank3的所有存储值读出来进行相加,可以得到最终统计值,即真实的统计值。
由上可知,这种方式得到的统计值与手动计算的按次累加的统计值1+2+3+4=10是相同的。
本申请实施例中,网络设备中,对于统计业务而言执行频率最高的是写统计,通过将一个统计值分散储存在多个Bank中的方式,使得每次执行写统计都有最大概率选择到一个空闲的Bank,从而大大提升了写统计的性能。
可以看出,本申请中所描述的统计应用中的高效DDR控制方法,应用于电子设备,电子设备包括DDR,DDR包括用于统计目标流的m个Bank,m为大于1的整数;在接收到针对目标流的写统计请求时,从m个Bank中选取目标Bank,目标Bank用于进行统计的读改写操作,目标Bank为最可能空闲的Bank;写统计请求携带目标流的统计增加值和输入地址,根据输入地址确定目标Bank的目标行列位置,读取目标行列位置的初始统计值,根据统计增加值和初始统计值确定目标统计值,将目标统计值写入目标行列位置,在接收到针对目标流的读统计请求时,读取m个Bank中每一Bank的统计值,得到m个统计值,根据m个统计值确定最终统计值,通过将一个流的统计值分散储存在多个Bank中的方式,使得每次执行写统计都有最大概率选择到一个空闲的Bank,从而大大提升了写统计的性能,即提升了统计业务效率。
与上述实施例一致地,请参阅图5,图5是本申请提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,所述电子设备还包括DDR,所述DDR包括用于统计目标流的m个Bank,m为大于1的整数;上述程序包括用于执行以下步骤的指令:
在接收到针对所述目标流的写统计请求时,从所述m个Bank中选取目标Bank,所述目标Bank用于进行统计的读改写操作,所述目标Bank为最可能空闲的Bank;所述写统计请求携带所述目标流的统计增加值和输入地址;
根据所述输入地址确定所述目标Bank的目标行列位置;
读取所述目标行列位置的初始统计值,根据所述统计增加值和所述初始统计值确定目标统计值;
将所述目标统计值写入所述目标行列位置;
在接收到针对所述目标流的读统计请求时,读取所述m个Bank中每一Bank的统计值,得到m个统计值;
根据所述m个统计值确定最终统计值。
可选的,在所述从所述m个Bank中选取目标Bank方面,上述程序包括用于执行以下步骤的指令:
获取当前时刻;
获取所述m个Bank中每一个Bank在最近一次被选取为用于进行统计的读改写操作的时刻,得到m个时刻;
确定所述当前时刻与所述m个时刻中每一时刻之间的时间长度,得到m个时间长度;
选取所述m个时间长度中的最大值,将所述最大值对应的Bank作为所述目标Bank。
可选的,所述电子设备还包括控制器,所述控制器生成控制指令,所述控制指令包括m个第一控制位和n个第二控制位,所述m个第一控制位与m个Bank一一对应,所述n个第二控制位与所述输入地址对应,所述m个第一控制位决定所述目标Bank,所述n个第二控制位决定所述目标行列位置,n为正整数。
可选的,在所述根据所述统计增加值和所述初始统计值确定目标统计值方面,上述程序包括用于执行以下步骤的指令:
将所述统计增加值与所述初始统计值进行求和,得到求和结果,将所述求和结果作为所述目标统计值。
可以看出,本申请中所描述的电子设备,电子设备包括DDR,DDR包括用于统计目标流的m个Bank,m为大于1的整数;在接收到针对目标流的写统计请求时,从m个Bank中选取目标Bank,目标Bank用于进行统计的读改写操作,目标Bank为最可能空闲的Bank;写统计请求携带目标流的统计增加值和输入地址,根据输入地址确定目标Bank的目标行列位置,读取目标行列位置的初始统计值,根据统计增加值和初始统计值确定目标统计值,将目标统计值写入目标行列位置,在接收到针对目标流的读统计请求时,读取m个Bank中每一Bank的统计值,得到m个统计值,根据m个统计值确定最终统计值,通过将一个流的统计值分散储存在多个Bank中的方式,使得每次执行写统计都有最大概率选择到一个空闲的Bank,从而大大提升了写统计的性能,即提升了统计业务效率。
图6是本申请中所涉及的一种统计应用中的高效DDR控制装置600的功能单元组成框图。该统计应用中的高效DDR控制装置600应用于电子设备,所述电子设备包括DDR,所述DDR包括用于统计目标流的m个Bank,m为大于1的整数;所述统计应用中的高效DDR控制装置600包括:选取单元601、确定单元602、读取单元603、写入单元604,其中,
所述选取单元601,用于在接收到针对所述目标流的写统计请求时,从所述m个Bank中选取目标Bank,所述目标Bank用于进行统计的读改写操作,所述目标Bank为最可能空闲的Bank;所述写统计请求携带所述目标流的统计增加值和输入地址;
所述确定单元602,用于根据所述输入地址确定所述目标Bank的目标行列位置;
所述读取单元603,用于读取所述目标行列位置的初始统计值,根据所述统计增加值和所述初始统计值确定目标统计值;
所述写入单元604,用于将所述目标统计值写入所述目标行列位置;
所述读取单元603,还用于在接收到针对所述目标流的读统计请求时,读取所述m个Bank中每一Bank的统计值,得到m个统计值;
所述确定单元602,还用于根据所述m个统计值确定最终统计值。
可选的,在所述从所述m个Bank中选取目标Bank方面,所述选取单元601具体用于:
获取当前时刻;
获取所述m个Bank中每一个Bank在最近一次被选取为用于进行统计的读改写操作的时刻,得到m个时刻;
确定所述当前时刻与所述m个时刻中每一时刻之间的时间长度,得到m个时间长度;
选取所述m个时间长度中的最大值,将所述最大值对应的Bank作为所述目标Bank。
可选的,所述电子设备还包括控制器,所述控制器生成控制指令,所述控制指令包括m个第一控制位和n个第二控制位,所述m个第一控制位与m个Bank一一对应,所述n个第二控制位与所述输入地址对应,所述m个第一控制位决定所述目标Bank,所述n个第二控制位决定所述目标行列位置,n为正整数。
可选的,在所述根据所述统计增加值和所述初始统计值确定目标统计值方面,所述读取单元603具体用于:
将所述统计增加值与所述初始统计值进行求和,得到求和结果,将所述求和结果作为所述目标统计值。
可以看出,本申请中所描述的统计应用中的高效DDR控制装置,应用于电子设备,电子设备包括DDR,DDR包括用于统计目标流的m个Bank,m为大于1的整数;在接收到针对目标流的写统计请求时,从m个Bank中选取目标Bank,目标Bank用于进行统计的读改写操作,目标Bank为最可能空闲的Bank;写统计请求携带目标流的统计增加值和输入地址,根据输入地址确定目标Bank的目标行列位置,读取目标行列位置的初始统计值,根据统计增加值和初始统计值确定目标统计值,将目标统计值写入目标行列位置,在接收到针对目标流的读统计请求时,读取m个Bank中每一Bank的统计值,得到m个统计值,根据m个统计值确定最终统计值,通过将一个流的统计值分散储存在多个Bank中的方式,使得每次执行写统计都有最大概率选择到一个空闲的Bank,从而大大提升了写统计的性能,即提升了统计业务效率。
可以理解的是,本实施例的统计应用中的高效DDR控制装置的各程序模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本申请还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory ,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种统计应用中的高效DDR控制方法,其特征在于,应用于电子设备,所述电子设备包括DDR,所述DDR包括用于统计目标流的m个Bank,m为大于1的整数;所述方法包括:
在接收到针对所述目标流的写统计请求时,从所述m个Bank中选取目标Bank,所述目标Bank用于进行统计的读改写操作,所述目标Bank为最可能空闲的Bank;所述写统计请求携带所述目标流的统计增加值和输入地址;
根据所述输入地址确定所述目标Bank的目标行列位置;
读取所述目标行列位置的初始统计值,根据所述统计增加值和所述初始统计值确定目标统计值;
将所述目标统计值写入所述目标行列位置;
在接收到针对所述目标流的读统计请求时,读取所述m个Bank中每一Bank的统计值,得到m个统计值;
根据所述m个统计值确定最终统计值;
其中,所述根据所述统计增加值和所述初始统计值确定目标统计值,包括:
将所述统计增加值与所述初始统计值进行求和,得到求和结果,将所述求和结果作为所述目标统计值。
2.根据权利要求1所述的方法,其特征在于,所述从所述m个Bank中选取目标Bank,包括:
获取当前时刻;
获取所述m个Bank中每一个Bank在最近一次被选取为用于进行统计的读改写操作的时刻,得到m个时刻;
确定所述当前时刻与所述m个时刻中每一时刻之间的时间长度,得到m个时间长度;
选取所述m个时间长度中的最大值,将所述最大值对应的Bank作为所述目标Bank。
3.根据权利要求1或2所述的方法,其特征在于,所述电子设备还包括控制器,所述控制器生成控制指令,所述控制指令包括m个第一控制位和n个第二控制位,所述m个第一控制位与m个Bank一一对应,所述n个第二控制位与所述输入地址对应,所述m个第一控制位决定所述目标Bank,所述n个第二控制位决定所述目标行列位置,n为正整数。
4.一种统计应用中的高效DDR控制装置,其特征在于,应用于电子设备,所述电子设备包括DDR,所述DDR包括用于统计目标流的m个Bank,m为大于1的整数;所述装置包括:选取单元、确定单元、读取单元、写入单元,其中,
所述选取单元,用于在接收到针对所述目标流的写统计请求时,从所述m个Bank中选取目标Bank,所述目标Bank用于进行统计的读改写操作,所述目标Bank为最可能空闲的Bank;所述写统计请求携带所述目标流的统计增加值和输入地址;
所述确定单元,用于根据所述输入地址确定所述目标Bank的目标行列位置;
所述读取单元,用于读取所述目标行列位置的初始统计值,根据所述统计增加值和所述初始统计值确定目标统计值;
所述写入单元,用于将所述目标统计值写入所述目标行列位置;
所述读取单元,还用于在接收到针对所述目标流的读统计请求时,读取所述m个Bank中每一Bank的统计值,得到m个统计值;
所述确定单元,还用于根据所述m个统计值确定最终统计值;
其中,在所述根据所述统计增加值和所述初始统计值确定目标统计值方面,所述确定单元具体用于:
将所述统计增加值与所述初始统计值进行求和,得到求和结果,将所述求和结果作为所述目标统计值。
5.根据权利要求4所述的装置,其特征在于,在所述从所述m个Bank中选取目标Bank方面,所述选取单元具体用于:
获取当前时刻;
获取所述m个Bank中每一个Bank在最近一次被选取为用于进行统计的读改写操作的时刻,得到m个时刻;
确定所述当前时刻与所述m个时刻中每一时刻之间的时间长度,得到m个时间长度;
选取所述m个时间长度中的最大值,将所述最大值对应的Bank作为所述目标Bank。
6.根据权利要求4或5所述的装置,其特征在于,所述电子设备还包括控制器,所述控制器生成控制指令,所述控制指令包括m个第一控制位和n个第二控制位,所述m个第一控制位与m个Bank一一对应,所述n个第二控制位与所述输入地址对应,所述m个第一控制位决定所述目标Bank,所述n个第二控制位决定所述目标行列位置,n为正整数。
7.一种电子设备,其特征在于,包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-3任一项所述的方法中的步骤的指令。
8.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311683220.4A CN117393013B (zh) | 2023-12-09 | 2023-12-09 | 统计应用中的高效ddr控制方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311683220.4A CN117393013B (zh) | 2023-12-09 | 2023-12-09 | 统计应用中的高效ddr控制方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117393013A CN117393013A (zh) | 2024-01-12 |
CN117393013B true CN117393013B (zh) | 2024-04-09 |
Family
ID=89441312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311683220.4A Active CN117393013B (zh) | 2023-12-09 | 2023-12-09 | 统计应用中的高效ddr控制方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117393013B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015233221A (ja) * | 2014-06-10 | 2015-12-24 | 日本電信電話株式会社 | 統計情報メモリシステム、ネットワーク機器、および統計情報蓄積方法 |
CN105264609A (zh) * | 2013-12-03 | 2016-01-20 | 华为技术有限公司 | 一种数据存储控制方法,及装置 |
CN106356088A (zh) * | 2015-07-15 | 2017-01-25 | 深圳市中兴微电子技术有限公司 | 一种数据处理方法及其装置 |
JP2021018510A (ja) * | 2019-07-18 | 2021-02-15 | 日本電信電話株式会社 | パケット処理装置及びそのメモリアクセス制御方法並びにプログラム |
CN112463213A (zh) * | 2019-09-06 | 2021-03-09 | 北京京东尚科信息技术有限公司 | 更新、读取统计值的方法和装置 |
CN115101104A (zh) * | 2022-07-18 | 2022-09-23 | 山东浪潮科学研究院有限公司 | 一种基于fpga改进ddr读写效率的方法 |
WO2023134574A1 (zh) * | 2022-01-12 | 2023-07-20 | 华为技术有限公司 | 流统计方法、装置及系统 |
CN116737084A (zh) * | 2023-07-13 | 2023-09-12 | 新华三半导体技术有限公司 | 一种队列统计方法、装置、电子设备及存储介质 |
CN116897395A (zh) * | 2021-02-25 | 2023-10-17 | 华为技术有限公司 | 一种存储器的刷新方法、存储器、控制器及存储系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI318348B (en) * | 2006-09-22 | 2009-12-11 | Realtek Semiconductor Corp | Memory management method |
US10468077B2 (en) * | 2018-02-07 | 2019-11-05 | Intel Corporation | Adaptive object buffering and meta-data indexing using persistent memory to improve flash memory durability in tiered storage |
CN110471861B (zh) * | 2019-07-10 | 2022-02-11 | 华为技术有限公司 | 一种闪存设备中的数据存储方法及闪存设备 |
-
2023
- 2023-12-09 CN CN202311683220.4A patent/CN117393013B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105264609A (zh) * | 2013-12-03 | 2016-01-20 | 华为技术有限公司 | 一种数据存储控制方法,及装置 |
JP2015233221A (ja) * | 2014-06-10 | 2015-12-24 | 日本電信電話株式会社 | 統計情報メモリシステム、ネットワーク機器、および統計情報蓄積方法 |
CN106356088A (zh) * | 2015-07-15 | 2017-01-25 | 深圳市中兴微电子技术有限公司 | 一种数据处理方法及其装置 |
JP2021018510A (ja) * | 2019-07-18 | 2021-02-15 | 日本電信電話株式会社 | パケット処理装置及びそのメモリアクセス制御方法並びにプログラム |
CN112463213A (zh) * | 2019-09-06 | 2021-03-09 | 北京京东尚科信息技术有限公司 | 更新、读取统计值的方法和装置 |
CN116897395A (zh) * | 2021-02-25 | 2023-10-17 | 华为技术有限公司 | 一种存储器的刷新方法、存储器、控制器及存储系统 |
WO2023134574A1 (zh) * | 2022-01-12 | 2023-07-20 | 华为技术有限公司 | 流统计方法、装置及系统 |
CN115101104A (zh) * | 2022-07-18 | 2022-09-23 | 山东浪潮科学研究院有限公司 | 一种基于fpga改进ddr读写效率的方法 |
CN116737084A (zh) * | 2023-07-13 | 2023-09-12 | 新华三半导体技术有限公司 | 一种队列统计方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117393013A (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175140B (zh) | 融合式存储器件及其操作方法 | |
US20140013061A1 (en) | System And Method To Reduce Memory Access Latencies Using Selective Replication Across Multiple Memory Ports | |
US10877913B2 (en) | Queue depth management for host systems accessing a peripheral component interconnect express (PCIe) device via a PCIe switch | |
CN108231109A (zh) | 动态随机存取存储器dram的刷新方法、设备以及系统 | |
CN114185818B (zh) | 基于扩展页表的gpu访存自适应优化方法及装置 | |
CN104991737B (zh) | 一种基于存储卡阵列架构的硬盘实现方法 | |
CN112035381A (zh) | 一种存储系统及存储数据处理方法 | |
CN105260128A (zh) | 一种将数据写入存储设备的方法及存储设备 | |
CN103154917B (zh) | 利用等级聚合的内存扩展 | |
CN109189347A (zh) | 一种共享存储模块、服务器及系统 | |
US11385900B2 (en) | Accessing queue data | |
CN117393013B (zh) | 统计应用中的高效ddr控制方法及相关装置 | |
CN106155910A (zh) | 一种实现内存访问的方法、装置和系统 | |
CN107832006A (zh) | 多主机共用同一扩展存储设备的多功能硬盘分区存储装置 | |
EP3321809B1 (en) | Memory access method, apparatus and system | |
CN110308865A (zh) | 存储器系统、计算系统及其操作方法 | |
CN116483553A (zh) | 计算设备、数据处理方法、系统及相关设备 | |
US11755235B2 (en) | Increasing random access bandwidth of a DDR memory in a counter application | |
CN114328309A (zh) | 一种存储器管理电路及共享存储器方法 | |
CN112463213B (zh) | 更新、读取统计值的方法和装置 | |
CN114238156A (zh) | 处理系统以及操作处理系统的方法 | |
CN107066208B (zh) | 一种外存设备的非对称读写方法及nvm外存设备 | |
CN117149447B (zh) | 带宽调整方法、装置、设备及存储介质 | |
CN110955644A (zh) | 一种存储系统的io控制方法、装置、设备及存储介质 | |
CN117373501B (zh) | 统计业务执行速率提升方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |