System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理领域,具体而言,涉及一种内存块选择方法及装置、逻辑装置、设备及存储介质。
技术介绍
1、ram(random access memory)是随机存取存储器,也叫主存,是与cpu(centralprocessing unit,中央处理器)直接交换数据的内部存储器,除了刷新或者读写冲突的情况下,可以随时读写,而且速度很快,目前主要作为操作系统及其它正在运行中程序的临时数据存储介质。
2、在实际生产设计中,同样大小的内存的设计,考虑到生产成本和读写高并发带来的读写冲突,当下厂商大多使用多块更小内存的ram块组合作为主存,其预期的内存效果与直接使用一块大内存ram块作为主存的预期内存效果是相同的。但是多块ram块组合,需要考虑各ram块之间的使用是否均衡。
3、现有技术中,很多厂商设计的存储逻辑是:按照一定轮询顺序来轮询出空闲的ram块进行数据写入,但是由于芯片操作的最小时间单位都是由一个共同的主频来驱动的,因此有概率会出现“周期同步效应”导致各个ram块使用不均匀。例如,假设3个ram块(a、b、c),轮询顺序每3个cycle(主频对应的周期)变换一次,而访问ram的频率是每6个cycle一次,这样容易出现其中一块ram块内存耗尽,而另外两块ram块使用率很低的情况。
技术实现思路
1、本专利技术的目的在于提供一种内存块选择方法及装置、逻辑装置、设备及存储介质,以改善现有技术存在的问题。
2、本专利技术的实施例可以这样实现:
>3、第一方面,本专利技术提供一种内存块选择方法,应用于逻辑装置的处理内核,所述逻辑装置还包括多个内存块;所述方法包括:
4、获得待写入数据;
5、从所述多个内存块中确定出n个待选内存块,并对n个内存块按照剩余空间的大小进行降序排列,得到排列次序;
6、对所述排列次序中至少一组特定有序对所对应的两个相邻待选内存块进行随机换位,得到n个待选内存块的轮询顺序;
7、按照所述轮询顺序从第一个待选内存块开始进行状态查询直至找出处于空闲状态的目标内存块,并将所述待写入数据写入所述目标内存块。
8、在可选的实施方式中,所述从所述多个内存块中确定出n个待选内存块的步骤,包括:
9、获取每个内存块的剩余空间;
10、将全部内存块中剩余空间最大的n个内存块作为待选内存块。
11、在可选的实施方式中,所述特定有序对的数量为k且k≤n/2;所述逻辑装置预先存储有每组特定有序对所对应的预设换位阈值;
12、所述对所述排列次序中至少一组特定有序对所对应的两个相邻待选内存块进行随机换位,得到n个待选内存块的轮询顺序的步骤,包括:
13、获得随机数以及每组特定有序对所对应的预设换位阈值;
14、将所述随机数与每个所述预设换位阈值依次进行比较,得到k个比较结果;
15、基于所述k个比较结果,对所述排列次序中的每组特定有序对所对应的两个相邻待选内存块进行换位调整,得到n个待选内存块的轮询顺序。
16、在可选的实施方式中,所述基于所述k个比较结果,对所述排列次序中的每组特定有序对所对应的两个相邻待选内存块进行换位调整,得到n个待选内存块的轮询顺序的步骤,包括:
17、针对所述k个比较结果中的第k个,若第k个比较结果为所述随机数大于第k个预设换位阈值,则调换所述排列次序中第k个特定有序对所对应的两个相邻待选内存块的排列顺序;
18、遍历每个所述比较结果,得到n个待选内存块的轮询顺序。
19、在可选的实施方式中,所述逻辑装置还包括线性反馈移位寄存器和配置寄存器;所述获得随机数以及每组特定有序对所对应的预设换位阈值的步骤,包括:
20、获得所述线性反馈移位寄存器生成的随机数;
21、从所述配置寄存器读出每组特定有序对所对应的预设换位阈值。
22、第二方面,本专利技术提供一种内存块选择装置,应用于逻辑装置的处理内核,所述逻辑装置还包括多个内存块;所述内存块选择装置包括:
23、数据获取模块,用于获得待写入数据;
24、筛选模块,用于从所述多个内存块中确定出n个待选内存块,并对n个内存块按照剩余空间的大小进行降序排列,得到排列次序;
25、随机换位模块,用于对所述排列次序中至少一组特定有序对所对应的两个相邻待选内存块进行随机换位,得到n个待选内存块的轮询顺序;
26、数据写入模块,用于按照所述轮询顺序从第一个待选内存块开始进行状态查询直至找出处于空闲状态的目标内存块,并将所述待写入数据写入所述目标内存块。
27、在可选的实施方式中,所述特定有序对的数量为k且k≤n/2;所述逻辑装置预先存储有每组特定有序对所对应的预设换位阈值;所述随机换位模块具体用于:
28、获得随机数以及每组特定有序对所对应的预设换位阈值;
29、将所述随机数与每个所述预设换位阈值依次进行比较,得到k个比较结果;
30、基于所述k个比较结果,对所述排列次序中的每组特定有序对所对应的两个相邻待选内存块进行换位调整,得到n个待选内存块的轮询顺序。
31、第三方面,本专利技术提供一种逻辑装置,所述逻辑装置包括处理内核,所述处理内核用于实现如前述第一方面所述的内存块选择方法。
32、第四方面,本专利技术提供一种电子设备,包括如前述第三方面所述的逻辑装置。
33、第五方面,本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面所述的内存块选择方法。
34、与现有技术相比,本专利技术实施例提供了一种内存块选择方法及装置、逻辑装置、设备及存储介质,该方法应用于包括多个内存块的逻辑装置中的处理内核,在获得待写入数据时,从多个内存块中确定出n个待选内存块,并对n个内存块按照剩余空间的大小进行降序排列,得到排列次序;对排列次序中至少一组特定有序对所对应的两个相邻待选内存块进行随机换位,得到n个待选内存块的轮询顺序;最后按照轮询顺序从第一个待选内存块开始进行状态查询直至找出处于空闲状态的目标内存块,并将待写入数据写入目标内存块。相较于现有技术中的周期同步效应导致个别内存块耗尽,本专利技术采用随机换位的方式可以保证各个内存块使用均衡,同时避免读写冲突。
本文档来自技高网...【技术保护点】
1.一种内存块选择方法,其特征在于,应用于逻辑装置的处理内核,所述逻辑装置还包括多个内存块;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从所述多个内存块中确定出N个待选内存块的步骤,包括:
3.根据权利要求1所述的方法,其特征在于,所述特定有序对的数量为K且K≤N/2;所述逻辑装置预先存储有每组特定有序对所对应的预设换位阈值;
4.根据权利要求3所述的方法,其特征在于,所述基于所述K个比较结果,对所述排列次序中的每组特定有序对所对应的两个相邻待选内存块进行换位调整,得到N个待选内存块的轮询顺序的步骤,包括:
5.根据权利要求3所述的方法,其特征在于,所述逻辑装置还包括线性反馈移位寄存器和配置寄存器;所述获得随机数以及每组特定有序对所对应的预设换位阈值的步骤,包括:
6.一种内存块选择装置,其特征在于,应用于逻辑装置的处理内核,所述逻辑装置还包括多个内存块;所述内存块选择装置包括:
7.根据权利要求6所述的内存块选择装置,其特征在于,所述特定有序对的数量为K且K≤N/2;所述逻辑装置预先存储有
8.一种逻辑装置,其特征在于,所述逻辑装置包括处理内核,所述处理内核用于实现如权利要求1-5中任一项所述的内存块选择方法。
9.一种电子设备,其特征在于,包括如权利要求8所述的逻辑装置。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的内存块选择方法。
...【技术特征摘要】
1.一种内存块选择方法,其特征在于,应用于逻辑装置的处理内核,所述逻辑装置还包括多个内存块;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从所述多个内存块中确定出n个待选内存块的步骤,包括:
3.根据权利要求1所述的方法,其特征在于,所述特定有序对的数量为k且k≤n/2;所述逻辑装置预先存储有每组特定有序对所对应的预设换位阈值;
4.根据权利要求3所述的方法,其特征在于,所述基于所述k个比较结果,对所述排列次序中的每组特定有序对所对应的两个相邻待选内存块进行换位调整,得到n个待选内存块的轮询顺序的步骤,包括:
5.根据权利要求3所述的方法,其特征在于,所述逻辑装置还包括线性反馈移位寄存器和配置寄存器;所述获得随机数以及每组特定有序对所对应的预设换位...
【专利技术属性】
技术研发人员:徐子轩,麻孝强,赵雪峰,
申请(专利权)人:苏州盛科通信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。