System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据存储,特别是涉及一种可变换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,bm
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存储系统,其特征在于,任一待存储数据和任一缓存...
【专利技术属性】
技术研发人员:任雯,
申请(专利权)人:沐曦集成电路上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。