【技术实现步骤摘要】
本专利技术涉及计算机数据处理
,尤其涉及一种基于位图的双控制器的高速缓冲存储器回写方法及装置。
技术介绍
磁盘阵列其原理是利用数组方式形成磁盘组,配合数据分散排列的设计,提升数据的安全性。目前,RAID都是由很多便宜、容量较小、稳定性较高的磁盘组成的一个大型磁盘组,实现了利用个别磁盘提供数据所产生的加成效果来提升整个磁盘系统效能。RAID通过在多个磁盘上同时存储数据来大幅提高数据存储的吞吐量,同时,RAID本身也具有缓存刷写功能,其在到达一定条件比如存储容量被占满时,会自动将缓存的数据刷写至硬盘。Cache是指磁盘阵列缓存,缓存位置在内存,缓存对象是磁盘阵列上存储的数据。双控高速缓冲存储器cache的回写(flush)需要双控IO锁的保护,用于确保flush完成之后,在双端将cache页由脏变成非脏时数据的一致性。如果不使用双控IO锁对flush和写cache进行互斥,那么在A端flush完成的时候,去通知B端页不再为脏,而恰好此时B端的Cache被写操作更新了,那么实际上B端就会认为部分脏页是干净的,不会将其flush,此时如果发生控制器失效或者电源失效,就会导致独立冗余磁盘阵列(RAID)数据丢失。IO锁的冲突强度是由两方面决定的:IO锁的锁范围大小、IO锁的持有时间。在flush时,一般的方案是在开始flush时获取IO锁的读锁,在结束并通知两个控制器flush完成之后释放IO ...
【技术保护点】
一种基于位图的双控制器的高速缓冲存储器回写方法,其特征在于,包括:建立高速缓冲存储器的位图数据结构;根据所述位图数据结构,对所述高速缓冲存储器进行写数据;其中,所述位图数据结构包括脏数据位,本地回写位,对端回写位和写数据位。
【技术特征摘要】
1.一种基于位图的双控制器的高速缓冲存储器回写方法,其特征
在于,包括:
建立高速缓冲存储器的位图数据结构;
根据所述位图数据结构,对所述高速缓冲存储器进行写数据;
其中,所述位图数据结构包括脏数据位,本地回写位,对端回写
位和写数据位。
2.根据权利要求1所述的基于位图的双控制器的高速缓冲存储器
回写方法,其特征在于,所述方法还包括:
在对所述高速缓冲存储器回写启动时,启用所述回写高速缓冲存
储器的位图保护;
在对所述高速缓冲存储器回写完成时,解除所述回写高速缓冲存
储器的位图保护。
3.根据权利要求1所述的基于位图的双控制器的高速缓冲存储器
回写方法,其特征在于,所述根据所述位图数据结构,对所述高速缓
冲存储器进行写数据步骤之前,还包括:
获取高速缓冲存储器的IO锁。
4.根据权利要求1所述的基于位图的双控制器的高速缓冲存储器
回写方法,其特征在于,所述根据所述位图数据结构,对所述高速缓
冲存储器进行写数据,包括:
获取第一端的本地回写位,将所述本地回写位存储于高速缓冲存
储器,将所述本地回写位发送至第二端;
所述第二端接收所述第一端的本地回写位,所述第二端将所述第
一端的本地回写位记录在所述第二端的对端回写位,所述第二端创建
对端回写组,将所述第二端的对端回写组的句柄发送给所述第一端;
所述第一端接收到所述对端回写组的句柄,将所述IO锁释放。
5.根据权利要求1所述的基于位图的双控制器的高速缓冲存储器
\t回写方法,其特征在于,所述根据所述位图数据结构,对所述高速缓
冲存储器进行写数据,还包括:
在所述本地回写位或所述对端回写位置为1时,且所述写数据位
置为0时,所述第一端在写IO时,将所述写数据位置为1;
在所述写数据位由0置为1时,在缓存数据被替换前,所述第一
端不释放已有数据,而所述第二端释放已有数据,在所述写数据位已
经被置为1时,在缓存数据被替换前释放已有数据,在所述写数据位
无位图结构保护时,在缓存数据替换前释放已有数据;
在所述回写IO完成时,在所述写数据位为1时,将所述IO引用
的高速缓冲存储器中的数据释放;
将所述本地回写位置为0,并将所述写数据位置为0,获取本地回
写的结果,根据所述本地回写的结果,修改所述本地的脏数据位;
将所述本地回写的结果发送给所述第二端,所述...
【专利技术属性】
技术研发人员:李浩然,
申请(专利权)人:北京神州云科数据技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。