System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种可变换Cache存储系统技术方案_技高网

一种可变换Cache存储系统技术方案

技术编号:40422670 阅读:7 留言:0更新日期:2024-02-20 22:42
本申请涉及数据存储技术领域,特别是涉及一种可变换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存储空间的使用率。

【技术实现步骤摘要】

本专利技术涉及数据存储,特别是涉及一种可变换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还包括以下步骤:

...

【技术特征摘要】

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存储系统,其特征在于,任一待存储数据和任一缓存...

【专利技术属性】
技术研发人员:任雯
申请(专利权)人:沐曦集成电路上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1