本发明涉及存储,尤其涉及芯片存储,特别涉及一种数据存储方法、装置、电子设备和存储介质。
背景技术:
1、在存储系统中,内存可以划分为多个存储块(bank),每个存储块均可独立进行读写操作。在多个内存访问请求同时指向一个存储块时,会发生存储块冲突(bankconflict),导致内存访问效率下降。
2、为了降低存储块冲突,相关技术在数据存储中引入了swizzle算法。swizzle算法通过重新排列内存访问的偏移量,使得内存访问请求能够更均匀地分布到各个存储块中,由此减少存储块冲突的发生。
3、然而,swizzle算法仅适应算法设计时所应用的存储块粒度,一旦将swizzle算法应用到粒度大于算法设计所应用的存储块粒度的内存时,不同访问请求对应的偏移量仍可能映射到同一个存储块中,导致存储块冲突。
技术实现思路
1、本发明提供一种数据存储方法、装置、电子设备和存储介质,用以解决缺少适配不同的存储块粒度的存储方法,容易发生存储块冲突,影响内存性能的缺陷。
2、本发明提供一种数据存储方法,包括:
3、获取用于存储目标数据的第一偏移量;
4、基于存储块跨度,对所述第一偏移量进行调整,得到第二偏移量,所述存储块跨度基于用于存储所述目标数据的存储块粒度确定;
5、基于所述第二偏移量,存储所述目标数据。
6、根据本发明提供的一种数据存储方法,所述基于存储块跨度,对所述第一偏移量进行调整,得到第二偏移量,包括:
7、基于所述存储块跨度、缓存行索引、基准存储块粒度,对所述第一偏移量进行调整,得到第二偏移量;
8、所述基准存储块粒度为存储块粒度的最小值。
9、根据本发明提供的一种数据存储方法,所述基于所述存储块跨度、缓存行索引、基准存储块粒度,对所述第一偏移量进行调整,得到第二偏移量,包括:
10、基于所述存储块跨度、所述缓存行索引、所述基准存储块粒度和所述第一偏移量,确定第一位置;
11、基于所述存储块跨度和所述第一偏移量,确定第二位置;
12、基于所述第一位置和所述第二位置,确定所述第二偏移量。
13、根据本发明提供的一种数据存储方法,所述基于所述存储块跨度、所述缓存行索引、所述基准存储块粒度和所述第一偏移量,确定第一位置,包括:
14、基于所述存储块跨度和所述第一偏移量,确定初始位置;
15、基于所述缓存行索引、所述存储块跨度和所述基准存储块粒度,确定位置范围;
16、基于所述位置范围,对所述初始位置进行约束,得到所述第一位置。
17、根据本发明提供的一种数据存储方法,所述基于所述位置范围,对所述初始块内位置进行约束,得到所述第一位置,包括:
18、对所述位置范围和所述初始块内位置进行异或运算,得到所述第一位置。
19、根据本发明提供的一种数据存储方法,所述存储块跨度为用于存储所述目标数据的存储块粒度与基准存储块粒度的比值。
20、本发明还提供一种数据存储装置,包括:
21、获取单元,用于获取用于存储目标数据的第一偏移量;
22、调整单元,用于基于存储块跨度,对所述第一偏移量进行调整,得到第二偏移量,所述存储块跨度基于用于存储所述目标数据的存储块粒度确定;
23、存储单元,用于基于所述第二偏移量,存储所述目标数据。
24、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据存储方法。
25、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据存储方法。
26、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据存储方法。
27、本发明提供的数据存储方法、装置、电子设备和存储介质,基于用于存储目标数据的存储块粒度确定存储块跨度,并将存储块跨度应用在目标数据的第一偏移量调整上,由此得到第二偏移量进行目标数据存储,使得目标数据存储能够适应各种存储块粒度,从而在各种存储块粒度的数据存储场景下降低存储块冲突,保证存储性能。
1.一种数据存储方法,其特征在于,包括:
2.根据权利要求1所述的数据存储方法,其特征在于,所述基于存储块跨度,对所述第一偏移量进行调整,得到第二偏移量,包括:
3.根据权利要求2所述的数据存储方法,其特征在于,所述基于所述存储块跨度、缓存行索引、基准存储块粒度,对所述第一偏移量进行调整,得到第二偏移量,包括:
4.根据权利要求3所述的数据存储方法,其特征在于,所述基于所述存储块跨度、所述缓存行索引、所述基准存储块粒度和所述第一偏移量,确定第一位置,包括:
5.根据权利要求4所述的数据存储方法,其特征在于,所述基于所述位置范围,对所述初始块内位置进行约束,得到所述第一位置,包括:
6.根据权利要求2至4中任一项所述的数据存储方法,其特征在于,所述存储块跨度为用于存储所述目标数据的存储块粒度与所述基准存储块粒度的比值。
7.一种数据存储装置,其特征在于,包括:
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述数据存储方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据存储方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据存储方法。