一种可变换Cache存储系统的制作方法

文档序号:37070192发布日期:2024-02-20 21:23阅读:14来源:国知局
一种可变换Cache存储系统的制作方法

本发明涉及数据存储,特别是涉及一种可变换cache存储系统。


背景技术:

1、处理器在执行数据处理任务时,需要从存储器中读取数据,再在处理器内部的寄存器中进行运算,因此数据处理的效率首先于存储器的访问速度,现有的存储容量较大的存储器,例如ssd、emmc等存储器,均需要较长时间的访问速度,导致数据处理的效率较低,因此,现有方法提出了采用cache缓存进行数据缓存的方案,cache缓存可以分为直接映射、全相联映射和组相连映射三种类型。

2、但是,在采用直接映射类型时,主存地址与cache中的cache line地址一一对应,会导致cache可能存在较大的空闲区域,而采用全相联映射和组相联映射能够解决该问题,但又会导致cache中数据缓存变为无序的,导致对已缓存的数据进行请求时,由于是在面对存在关联的数据时,关联数据可能存储于cache的同一set中,需要反复访问单个set以获取关联数据,cache的吞吐率较低。

3、因此,如何在保证cache使用率的同时,提高cache的吞吐率成为了亟待解决的问题。


技术实现思路

1、针对上述技术问题,本发明采用的技术方案为:

2、一种可变换cache存储系统,所述系统包括:数据库、cache缓存、处理器和存储有计算机程序的存储器,其中,所述数据库中包括m个待存储数据组[a1,a2,…,am,…,am],其中,am是指第m个待存储数据组,m为[1,m]范围内的整数,m为待存储数据组的数量,am=[bm1,bm2,…,bmn,…,bmn],bmn是指第m个待存储数据组中的第n个待存储数据,n为[1,n]范围内的整数,n为单个待存储数据组中待存储数据的数量,cache缓存包括t个缓存行[c1,c2,…,ct,…,ct],ct是指第t个缓存行,t为[1,t]范围内的整数,ct=[dt,et],dt是指第t个缓存行中的索引信息,et是指第t个缓存行中的存储信息,当所述计算机程序被处理器执行时,实现以下步骤:

3、s1,根据n,确定所述t个缓存行的分区数量k,k=min(x),x满足条件:t≥x≥n且x=2y,y∈r。

4、s2,将所述cache缓存划分为k个分区,每个分区包含t/k个缓存行。

5、s3,设置第一预设值i=1,设置第二预设值j=1。

6、s4,将ai发送至所述cache缓存。

7、s5,通过所有索引信息检查bij是否存在于所述cache缓存中。

8、s6,若bij不存在于所述cache缓存中,检查所述cache缓存中是否存在空闲缓存行。

9、s8,若存在空闲缓存行,则将bij写入空闲缓存行的存储信息中。

10、s10,更新j=j+1,返回执行步骤s5至步骤s8,直至j=n。

11、s11,更新i=i+1,返回执行步骤s4至步骤s10,直至i=m。

12、本发明与现有技术相比具有明显的有益效果,借由上述技术方案,本发明提供的一种可变换cache存储系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:

13、本发明提供了一种可变换cache存储系统,所述系统包括:数据库、cache缓存、处理器和存储有计算机程序的存储器,其中,所述数据库中包括m个待存储数据组[a1,a2,…,am,…,am],其中,am是指第m个待存储数据组,m为[1,m]范围内的整数,m为待存储数据组的数量,am=[bm1,bm2,…,bmn,…,bmn],bmn是指第m个待存储数据组中的第n个待存储数据,n为[1,n]范围内的整数,n为单个待存储数据组中待存储数据的数量,cache缓存包括t个缓存行[c1,c2,…,ct,…,ct],ct是指第t个缓存行,t为[1,t]范围内的整数,ct=[dt,et],dt是指第t个缓存行中的索引信息,et是指第t个缓存行中的存储信息,当所述计算机程序被处理器执行时,实现以下步骤:

14、s1,根据n,确定所述t个缓存行的分区数量k,k=min(x),x满足条件:t≥x≥n且x=2y,y∈r。

15、s2,将所述cache缓存划分为k个分区,每个分区包含t/k个缓存行。

16、s3,设置第一预设值i=1,设置第二预设值j=1。

17、s4,将ai发送至所述cache缓存。

18、s5,通过所有索引信息检查bij是否存在于所述cache缓存中。

19、s6,若bij不存在于所述cache缓存中,检查所述cache缓存中是否存在空闲缓存行。

20、s8,若存在空闲缓存行,则将bij写入空闲缓存行的存储信息中。

21、s10,更新j=j+1,返回执行步骤s5至步骤s8,直至j=n。

22、s11,更新i=i+1,返回执行步骤s4至步骤s10,直至i=m。

23、可知,根据关联数据的数量n确定cache分区的数量,使得cache能够将关联数据中的每一项尽可能放置于不同的分区中,从而能够对关联数据请求时,能够同时请求多个分区,提高了cache的吞吐率,并且采用空闲缓存行检查并填充的方式存储新的数据,能够保证cache存储空间的使用率。



技术特征:

1.一种可变换cache存储系统,其特征在于,所述系统包括:数据库、cache缓存、处理器和存储有计算机程序的存储器,其中,所述数据库中包括m个待存储数据组[a1,a2,…,am,…,am],其中,am是指第m个待存储数据组,m为[1,m]范围内的整数,m为待存储数据组的数量,am=[bm1,bm2,…,bmn,…,bmn],bmn是指第m个待存储数据组中的第n个待存储数据,n为[1,n]范围内的整数,n为单个待存储数据组中待存储数据的数量,cache缓存包括t个缓存行[c1,c2,…,ct,…,ct],ct是指第t个缓存行,t为[1,t]范围内的整数,ct=[dt,et],dt是指第t个缓存行中的索引信息,et是指第t个缓存行中的存储信息,当所述计算机程序被处理器执行时,实现以下步骤:

2.根据权利要求1所述的可变换cache存储系统,其特征在于,任一待存储数据和任一缓存行存储信息的尺寸相同。

3.根据权利要求1所述的可变换cache存储系统,其特征在于,t=2z,z∈r。

4.根据权利要求1所述的可变换cache存储系统,其特征在于,在s6步骤中还包括如下步骤:

5.根据权利要求4所述的可变换cache存储系统,其特征在于,所述将bij写入空闲缓存行的存储信息中包括:

6.根据权利要求4所述的可变换cache存储系统,其特征在于,在s62步骤中还包括如下步骤:

7.根据权利要求1所述的可变换cache存储系统,其特征在于,当所述计算机程序被处理器执行时,还实现以下步骤:

8.根据权利要求1所述的可变换cache存储系统,其特征在于,当所述计算机程序被处理器执行时,还实现以下步骤:

9.根据权利要求8所述的可变换cache存储系统,其特征在于,步骤s9还包括以下步骤:


技术总结
本申请涉及数据存储技术领域,特别是涉及一种可变换Cache存储系统,系统包括:数据库、Cache缓存、处理器和存储有计算机程序的存储器,当计算机程序被处理器执行时,实现以下步骤:根据N,确定分区数量K,将Cache缓存划分为K个分区,将a<subgt;i</subgt;发送至Cache缓存,若b<subgt;ij</subgt;不存在于Cache缓存中,检查Cache缓存中是否存在空闲缓存行,若存在空闲缓存行,将b<subgt;ij</subgt;写入空闲缓存行,根据M配置Cache分区,将关联数据中的每一项尽可能放置于不同的分区,对关联数据请求时,能够同时请求多个分区,提高了Cache的吞吐率,采用空闲缓存行检查并填充的方式存储新的数据,又保证了Cache存储空间的使用率。

技术研发人员:任雯
受保护的技术使用者:沐曦集成电路(上海)有限公司
技术研发日:
技术公布日:2024/2/19
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1