【技术实现步骤摘要】
一种非易失性缓存实现方法及装置
本专利技术涉及存储
,特别是涉及一种应用于集中分布式存储架构的集中控制设备中,提高集中控制设备及整个存储系统的存储性能的非易失性缓存实现方法及装置。
技术介绍
随着半导体技术的发展,高速非易失性存储器件(例如闪存)的存储密度越来越高,目前已经作为数据访问加速设备在数据中心中被广泛使用。与机械磁盘相比,非易失性存储器件(例如闪存)具有更快的随机访问速度;与DRAM相比,非易失性存储器件(例如闪存)能够在电源关闭后继续保持数据,并且具有更大的存储密度。闪存的高存储密度,非易失性,以及高访问速度的特点,使得闪存在存储系统中得到广泛的应用,其中一种应用就是作为存储系统的加速设备。闪存作为存储系统的加速设备,也有多种实现形式。有闪存加速卡,闪存加速存储层,以及闪存加速缓存。闪存作为加速缓存应用时,需要记录缓存的每一个缓存行(CacheLine)的信息。例如缓存对象的地址,缓存的状态(脏,无效,冻结,清除中,装载中等),以及缓存行的老化程度等。缓存行的个数和闪存缓存的大小和IO请求的颗粒度有关。闪存作为加速缓存应用时,还需要保证闪存缓存和 ...
【技术保护点】
一种非易失性缓存实现方法,其特征在于:首先将物理的闪存存储资源虚拟化为闪存存储池,然后在所述存储池上创建三种逻辑存储单元,大缓存单元、小缓存单元和写镜像单元,所述大缓存单元用于提供常规的缓存服务,所述小缓存单元用于提供随机写操作的加速服务和读操作的数据暂存服务,所述写镜像单元用于为大缓存单元和小缓存单元中的脏数据提供冗余备份保护功能;数据写入时,如该写操作命中了小缓存单元的缓存行,则把数据写入小缓存单元,如未命中小缓存单元但命中了大缓存单元的缓存行,则把数据写入大缓存单元,如大缓存单元和小缓存单元都未命中且加速标识有效,则将数据写入小缓存单元,否则数据不写入闪存存储资源而直 ...
【技术特征摘要】
1.一种非易失性缓存实现方法,其特征在于:首先将物理的闪存存储资源虚拟化为闪存存储池,然后在所述存储池上创建三种逻辑存储单元,大缓存单元、小缓存单元和写镜像单元,所述大缓存单元用于提供常规的缓存服务,所述小缓存单元用于提供随机写操作的加速服务和读操作的数据暂存服务,所述写镜像单元用于为大缓存单元和小缓存单元中的脏数据提供冗余备份保护功能;数据写入时,如该写操作命中了小缓存单元的缓存行,则把数据写入小缓存单元,如未命中小缓存单元但命中了大缓存单元的缓存行,则把数据写入大缓存单元,如大缓存单元和小缓存单元都未命中且加速标识有效,则将数据写入小缓存单元,否则数据不写入闪存存储资源而直接写入后端存储集群;数据读取时,如该读操作命中了小缓存单元的缓存行,则把小缓存单元中的数据返回,如未命中小缓存单元但命中了大缓存单元的缓存行,则把大缓存单元中的数据返回,如大缓存单元和小缓存单元都未命中且加速标识有效,则从后端存储集群读取大缓存单元的缓存行对应大小的数据并装载到大缓存单元的缓存行,再把数据返回给前端数据申请单元,如大缓存单元和小缓存单元都未命中且加速标识无效但数据暂存标识有效,则从后端存储集群读取对应小缓存单元的缓存行数据并装载到小缓存单元的缓存行,再把数据返回给前端数据申请单元,否则从后端存储集群读取的数据不经过闪存存储资源而直接送给前端数据申请单元。2.如权利要求1所述的非易失性缓存实现方法,其特征在于:所述大缓存单元、小缓存单元和写镜像单元的大小满足如下公式(Little_Size+Mirror_size)/Little_granularity+Big_Size/Big_granularity<=available_DRAM_Size/entry_size,其中,Big_Size为大缓存单元的大小,Little_Size为小缓存单元的大小,Mirror_size为写镜像单元的大小,Little_granularity为小缓存单元缓存行的大小,Big_granularity为大缓存单元缓存行的大小,available_DRAM_Size是可用的存储缓存状态表的DRAM的大小,entry_size是缓存每个表项的大小。3.如权利要求1所述的非易失性缓存实现方法,其特征在于:所述写镜像单元由至少一个逻辑写镜像子单元组成,所述大缓存单元、小缓存单元分别由至少一个逻辑大缓存子单元、至少一个逻辑小缓存子单元组成。4.如权利要求1所述的非易失性缓存实现方法,其特征在于:所述物理的闪存存储资源包括两个以上物理托盘,所述大缓存单元、小缓存单元和写镜像单元均横跨所述两个以上物理托盘。5.如权利要求4所述的非易失性缓存实现方法,其特征在于:数据在写入所述大缓存单元、小缓存单元和写镜像单元时,所述大缓存单元的写入物理位置与所述写镜像单元的写入物理位置处于不同的所述物理托盘上,所述小缓存单元的写入物理位置与所述写镜像单元的写入物理位置亦处于不同的所述物理托盘上。6.如权利要求4所述的非易失性缓存实现方法,其特征在于:所述小缓存单元和写镜像单元的单个缓存行位于同一个物理托盘内或横跨两个以上物理托盘,所述大缓存单元的单个缓存行位于同一个物理托盘内或横跨两个以上物理托盘。7.如权利要求4所述的非易失性缓存实现方法,其特征在于,数据写入操作和数据读取操作落到哪个物理托盘按以下原则:当某个物理托盘损坏时,仅仅将原来映射到该物理托盘上的操作转移到其他的物理托盘上,而原来就映射到其他物理托盘上的读写操作维持映射关系不变。8.如权利要求1所述的非易失性缓存实现方法,其特征在于:所述大缓存单元的缓存行至少包括脏状态、干净状态和无效状态,所述脏状态表示缓存行中的数据和后端存储系统中的数据不一致,所述干净状态表示缓存行中的数据和后端存储系统中的数据一致,所述无效状态表示缓存行中无有效数据;当缓存行处于无效状态时,收到数据写入请求时跳转到脏状态,收到干净数据装载请求时跳转到干净状态;当缓存行处于脏状态时,只有收到缓存行清除请求时跳转为干净状态;当缓存行处于干净状态时,收到数据写入请求时跳转到脏状态,收到失效请求时跳转到无效状态。9.如权利要求1所述的非易失性缓存实现方法,其特征在于:所述小缓存单元的缓存行至少包括脏状态、干净状态、无效状态和冻结状态,所述脏状态表示缓存行中的数据和后端存储系统中的数据不一致,所述干净状态表示缓存行中的数据和后端存储系统中的数据一致,所述无效状态表示缓存行中没有有效数据,所述冻结状态表示当前缓存行处于冻结状态,只能被读取,不能被写入;当缓存行处于无效状态时,收到数据写入请求时跳转到脏状态,收到干净数据装载请求时跳转到干净状态;当缓存行处于脏状态时,收到缓存行清除请求时跳转为无效状态,收到移动请求时跳转为冻结状态;当缓存行处于干净状态时,收到数据写入请求时跳转到脏状态,收到读请求时跳转到无效状态;当缓存行处于冻结状态时,只有收到移动完成的返回时缓存行跳转到无效状态。10.如权利要求1所述的非易失性缓存实现方法,其特征在于:还包括守护单元,该守护单元用于在后台将写镜像单元中的脏数据清除到后端存储集群,以限制所述闪存存储资源中需做冗余备份的脏数据在预定的范围内。11.如权利要求10所述的非易失性缓存实现方法,其特征在于:所述冗余备份采用写镜像方式。12.如权利要求1-11任一项所述的非易失性缓存实现方法,其特征在于:所述物理的闪存存储资源是闪存或相位存储器。13.一种非易失性缓存实现装置,其特征在于包括:闪存存储资源虚拟化单元,用于将物理的...
【专利技术属性】
技术研发人员:刘建伟,丁杰,刘乐乐,周文,
申请(专利权)人:北京麓柏科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。