采用混合目录的双控存储服务器的缓存一致性实现方法

文档序号:6621863阅读:299来源:国知局
采用混合目录的双控存储服务器的缓存一致性实现方法
【专利摘要】本发明公开了一种采用混合目录的双控存储服务器的缓存一致性实现方法,针对双控存储服务器的缓存一致性实现,将有限目录和链式目录结合在一起,构成一种新的目录方式;在某一时刻,有限目录的限制是最多m块,存储某个内存块的高速缓存的数量为k,那么当k<m时,采用有限目录的方式;当k>m时,超过有限目录容量的部分采用链式目录。这样既可以保证系统的可扩展性,又提高了系统的效率,同时兼顾了有限目录的效率和链式目录的容量。采用本发明所提供的技术,既可以保证系统的可扩展性,又提高了系统的效率,同时兼顾了有限目录的效率和链式目录的容量。
【专利说明】采用混合目录的双控存储服务器的缓存一致性实现方法

【技术领域】
[0001]本发明涉及一种采用混合目录的双控存储服务器的缓存一致性实现方法,属于计算机存储服务器设计领域。

【背景技术】
[0002]Cache 一致性协议决定系统为维护一致性所做的具体动作,直接影响系统性能。
[0003]基于目录的协议的特点是:内存块中保存有闻速缓存目录,记录了闻速缓存块驻留在哪里的信息,从而维护高速缓存的一致性。
[0004]基于目录的协议又可以分为三类:全映射目录、有限目录和链式目录。
[0005]基于目录的协议的工作方式是:在内存块的高速缓存目录中记录着每个存储块当前的状态和当前的信息。
[0006]当前的信息指明哪些高速缓存中有该存储器的拷贝。
[0007]当高速缓存需要读一个块的信息时,它向内存发送申请,内存接到申请后,将其当前的内容发送给高速缓存,并在目录中记录该高速缓存的地址;当高速缓存需要将某个块置为无效时,除了在高速缓存中将其置为无效外,还应该发消息通知内存修改其目录;当存储器的信息被修改时,内存需要根据目录中的信息对具有其拷贝的高速缓存块发广播,通知其信息已经更改,将这个拷贝设置成无效。
[0008]在全映射目录中,存放与全局存储器的每个块有关的数据,系统中的每个高速缓存可以同时存储任何数据块的拷贝。
[0009]而在有限目录中,目录的个数是有限的,最多只允许有限个数的高速缓存同时存储合格数据块的内容。当有超过限制个数的高速缓存申请读这个内存块时,需要进行驱逐,选择一个高速缓存,将其置为无效。


【发明内容】

[0010]本发明要解决的技术问题是:提供一种采用混合目录的双控存储服务器的缓存一致性实现方法。
[0011]本发明所采用的技术方案为:
一种采用混合目录的双控存储服务器的缓存一致性实现方法,针对双控存储服务器的缓存一致性实现,将有限目录和链式目录结合在一起,构成一种新的目录方式;在某一时亥|J,有限目录的限制是最多m块,存储某个内存块的高速缓存的数量为k,那么当Km时,采用有限目录的方式;当k>m时,超过有限目录容量的部分采用链式目录。这样既可以保证系统的可扩展性,又提高了系统的效率,同时兼顾了有限目录的效率和链式目录的容量。
[0012]当k小于m时,采用有限目录的方式,具体操作如下:
有控制器要读取数据时,向内存块发送请求,内存块检查其内容的有效性;如果重写位为0,直接将内存的数据发送给高速缓存,并添加在有限目录第k+Ι个位置上,k=k+l ;如果重写位为1,命令重写的高速缓存将最新的数据分别发送给申请数据的高速缓存和内存,并将重写位置O,将申请数据的高速缓存添加进目录;
有控制器将高速缓存置为无效时,向内存块发送通知,内存块将这个处理机的序号从目录中删除,删除时直接将当前的最后一项移动到空缺的位置上。
[0013]有控制器对内存进行写操作时,将当前在读的其它高速缓存全部置为无效,对当前的目录项进行一次扫描,逐个向相应的高速缓存发送无效消息,确认所有块都无效后将重写位置I。
[0014]当k大于m时,超过的部分采用链式目录结构,具体操作如下:
有控制器要读取数据时,内存向高速缓存发送数据,将这个控制器添加到链表的首部。
[0015]有控制器需要将高速缓存置为无效时,对有限目录和链表均进行扫描,如果记录在有限目录中,将其从目录中删除,再将链表的首记录信息移动到有限目录中,删掉队首的记录;如果是在链表中,直接删除链表的这个元素即可。
[0016]若有控制器对内存进行写操作时,将当前在读的其它高速缓存全部置为无效,对当前的目录项以及链表元素进行一次扫描,逐个向相应的高速缓存发送无效消息、确认所有块都无效,将重写位置I。
[0017]所述链式目录通过一个目录指针链表来跟踪共享数据拷贝,内存块中只保存这个链表的首指针,各个高速缓存中保存链表的元素,申请读数据块和置数据块为无效表现为对链表的维护。在有限目录中,目录的个数是有限的,最多只允许有限个数的高速缓存同时存储合格数据块的内容。当有超过限制个数的高速缓存申请读这个内存块时,需要选择一个高速缓存,将其置为无效。
[0018]本发明的有益效果为:采用本发明所提供的技术,既可以保证系统的可扩展性,又提高了系统的效率,同时兼顾了有限目录的效率和链式目录的容量。

【具体实施方式】
[0019]下面通过【具体实施方式】对本发明进一步说明:
实施例1:
一种采用混合目录的双控存储服务器的缓存一致性实现方法,针对双控存储服务器的缓存一致性实现,其特征在于:将有限目录和链式目录结合在一起,构成一种新的目录方式,在某一时刻,有限目录的限制是最多m块,存储某个内存块的高速缓存的数量为k,那么当k〈m时,采用有限目录的方式;ik>m时,超过有限目录容量的部分采用链式目录。
[0020]实施例2:
在实施I的基础上,所述方法当k小于m时,采用有限目录的方式,具体操作方法如下:有控制器要读取数据时,向内存块发送请求,内存块检查其内容的有效性;如果重写位为0,直接将内存的数据发送给高速缓存,并添加在有限目录第k+Ι个位置上,k=k+l ;如果重写位为1,命令重写的高速缓存将最新的数据分别发送给申请数据的高速缓存和内存,并将重写位置0,将申请数据的高速缓存添加进目录,操作需要0(1)的时间;
有控制器将高速缓存置为无效时,向内存块发送通知,内存块将这个处理机的序号从目录中删除,删除时直接将当前的最后一项移动到空缺的位置上,删除操作只需要0(1)的时间,但是查找这个目录项需要O(k)的时间,总的需要0(k)的时间。
[0021]有控制器对内存进行写操作时,将当前在读的其它高速缓存全部置为无效,对当前的目录项进行一次扫描,逐个向相应的高速缓存发送无效消息,确认所有块都无效后将重写位置I,需要O (k)的时间。
[0022]实施例3:
在实施例1的基础上,所述方法当k大于m时,超过的部分采用链式目录结构,具体操作步骤如下:
有控制器要读取数据时,内存向高速缓存发送数据,将这个控制器添加到链表的首部,需要0(1)时间完成。
[0023]有控制器需要将高速缓存置为无效时,对有限目录和链表均进行扫描,如果记录在有限目录中,将其从目录中删除,再将链表的首记录信息移动到有限目录中,删掉队首的记录;如果是在链表中,直接删除链表的这个元素即可,查找需要0(k)的时间,而删除记录只需要0(1)时间,总的需要0(k)的时间。
[0024]若有控制器对内存进行写操作时,将当前在读的其它高速缓存全部置为无效,对当前的目录项以及链表元素进行一次扫描,逐个向相应的高速缓存发送无效消息、确认所有块都无效,将重写位置I。这个操作需要0(k)的时间。
【权利要求】
1.一种采用混合目录的双控存储服务器的缓存一致性实现方法,针对双控存储服务器的缓存一致性实现,其特征在于:将有限目录和链式目录结合在一起,构成一种新的目录方式,在某一时刻,有限目录的限制是最多m块,存储某个内存块的高速缓存的数量为k,那么当k〈m时,采用有限目录的方式;当k>m时,超过有限目录容量的部分采用链式目录。
2.根据权利要求1所述的采用混合目录的双控存储服务器的缓存一致性实现方法,其特征在于,当k小于m时,采用有限目录的方式,具体操作如下: 有控制器要读取数据时,向内存块发送请求,内存块检查其内容的有效性;如果重写位为O,直接将内存的数据发送给高速缓存,并添加在有限目录第k+Ι个位置上,k=k+l ;如果重写位为1,命令重写的高速缓存将最新的数据分别发送给申请数据的高速缓存和内存,并将重写位置O,将申请数据的高速缓存添加进目录; 有控制器将高速缓存置为无效时,向内存块发送通知,内存块将这个处理机的序号从目录中删除,删除时直接将当前的最后一项移动到空缺的位置上; 有控制器对内存进行写操作时,将当前在读的其它高速缓存全部置为无效,对当前的目录项进行一次扫描,逐个向相应的高速缓存发送无效消息,确认所有块都无效后将重写位置I。
3.根据权利要求1所述的采用混合目录的双控存储服务器的缓存一致性实现方法,其特征在于,当k大于m时,超过的部分采用链式目录结构,具体操作如下: 有控制器要读取数据时,内存向高速缓存发送数据,将这个控制器添加到链表的首部; 有控制器需要将高速缓存置为无效时,对有限目录和链表均进行扫描,如果记录在有限目录中,将其从目录中删除,再将链表的首记录信息移动到有限目录中,删掉队首的记录;如果是在链表中,直接删除链表的这个元素即可; 若有控制器对内存进行写操作时,将当前在读的其它高速缓存全部置为无效,对当前的目录项以及链表元素进行一次扫描,逐个向相应的高速缓存发送无效消息、确认所有块都无效,将重写位置I。
4.根据权利要求1、2或3所述的采用混合目录的双控存储服务器的缓存一致性实现方法,其特征在于:所述链式目录通过一个目录指针链表来跟踪共享数据拷贝,内存块中只保存这个链表的首指针,各个高速缓存中保存链表的元素,申请读数据块和置数据块为无效表现为对链表的维护。
【文档编号】G06F12/08GK104133785SQ201410367779
【公开日】2014年11月5日 申请日期:2014年7月30日 优先权日:2014年7月30日
【发明者】戴鸿君, 于治楼 申请人:浪潮集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1