应用于双控存储系统的缓存同步方法及系统的制作方法_3

文档序号:8905178阅读:来源:国知局
据已删除,已写缓存标记已清空,即此时第一缓存已不是dirty状态,而此时第二缓存的状态依然为dirty状态(即两个控制器的cache memory的dirty状态是不同的),轮询时会有一定的等待时间,因此第二控制器会占用的更多的内存。当第二控制器的第二缓存快要用尽的时候,调用背景的Cache Writeback流程,将第二缓存与第一缓存同步,以清空第二缓存,从而使得第二缓存释放更多内存,提高其存储效率。
[0057]较优的,在其中一个实施例中,第二控制器将第二缓存中与第一缓存中已写入磁盘的数据对应的数据删除,从而使第二缓存的数据与第一缓存的数据同步之后,还包括以下步骤:第二控制器发送确认信号给第一控制器,第一控制器返回同步完成信号到主机,通知主机当前写请求信号对应的数据已写入相应的磁盘且已同步完成,可以发送下一个写请求信号。其中,需要说明的是,第二控制器将写请求信号对应的数据写入第二缓存后,发送确认信号给第一控制器,此时第一控制器也发送同步完成信号到主机,通知主机写请求信号对应的数据已同步至第一缓存和第二缓存。
[0058]作为一种可实施方式,若第二控制器为预设主控制器,且第一控制器将写请求信号对应的数据写入第一缓存之后,包括如下步骤:
[0059]S600a,第二控制器用已写缓存标记将第二缓存标记为已写缓存,第二控制器将已写缓存中与写请求信号对应的数据写入逻辑卷对应的磁盘中,将已写缓存中已写入磁盘的数据删除,并将第二缓存中的已写缓存标记清空。
[0060]与步骤S400a的原理类似,此处不再赘述,该实施例为前端控制器不是预设主控制器时的流程步骤,其也完成了写请求对应数据的真正写操作,将写请求对应的数据批量写入,减小了磁盘的访问频率,大大提高双控存储系统的效率。同时,将第二缓存中已写入磁盘的写请求对应的数据删除,并将已写缓存标记清空,以清空第二缓存,使得第二缓存在存储数据时效率更高。
[0061]作为一种可实施方式,步骤S600a之后,还包括如下步骤:
[0062]S600b,第一控制器轮询第二缓存的状态,若获得已写缓存标记已清空,则第一控制器将第一缓存中与第二缓存中已写入磁盘的数据对应的数据删除,从而使第一缓存的数据与第二缓存的数据同步。
[0063]与步骤S400b的原理类似,不同的是第一控制器通过轮询的方式获取第二缓存的状态,从而使第一缓存与第二缓存同步,以清空第一缓存,即使得第一缓存释放更多内存,提高其存储效率。且写请求对应的数据批量写入磁盘或删除,大大提高系统效率。其中,第一控制器和第二控制器的cache memory (高速缓存存储器)的dirty状态是不相同的。
[0064]较优的,在其中一个实施例中,第一控制器将第一缓存中与第二缓存中已写入磁盘的数据对应的数据删除,从而使第一缓存的数据与第二缓存的数据同步之后,还包括以下步骤:第一控制器返回同步完成信号到主机,通知主机当前写请求信号对应的数据已写入相应的磁盘且已同步完成,可以发送下一个写请求信号。其中,需要说明的是,第一控制器将写请求信号对应的数据写入第一缓存之后,也发送同步完成信号到主机,通知主机写请求信号对应的数据已同步至第一缓存和第二缓存。
[0065]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0066]基于同一发明构思,本发明还提供了一种应用于双控存储系统的缓存同步系统,由于此系统解决问题的原理与前述一种应用于双控存储系统的缓存同步方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
[0067]本发明实施例提供的应用于双控存储系统的缓存同步系统,参见图3,包括主机,第一控制器和第二控制器,第一控制器和第二控制器均包括接收模块010,判断模块100,第一缓存模块200,第一同步模块300,第二缓存模块400,第二同步模块500和返回模块600。其中:第一控制器,被配置以通过接收模块010接收主机发送的写请求信号,并通过判断模块100判断第一控制器是否为写请求信号对应逻辑卷的预设主控制器。第一控制器,被配置以若第一控制器为预设主控制器,则通过第一缓存模块200将写请求信号对应的数据缓存至第一控制器的第一缓存中,并将写请求信号传递到第二控制器。第二控制器,被配置以若第二控制器接收到写请求信号后,通过第一同步模块300将写请求信号对应的数据写入第二控制器的第二缓存中,使得第二缓存的数据与第一缓存的数据同步,并在同步后发送确认信号到第一控制器,第一控制器接收到确认信号后,通过返回模块600返回同步完成信号到主机。
[0068]第二控制器,被配置以若第二控制器为预设主控制器,则通过第二缓存模块400接收第一控制器传递的写请求信号,并将写请求信号对应的数据缓存至第二控制器的第二缓存中,发送确认信号到第一控制器。第一控制器,被配置以若接收到确认信号后,通过第二同步模块500将写请求信号对应的数据写入第一控制器的第一缓存中,使得第一缓存的数据与第二缓存的数据同步,并在同步后通过返回模块600返回同步完成信号到主机。
[0069]本发明的应用于双控存储系统的缓存同步系统,结合了写请求信号传递的功能,不仅传递写请求信号,而且将写请求信号对应的数据缓存至一台控制器的本地缓存中,通过写请求信号的传递将其对应的数据缓存至另一控制器的缓存中,只需同步,不需镜像缓存,且page同步只是限定在Cache Writeback(缓存回写)过程中,省却了许多page同步的流程,同时,由于写请求信号进行传递时其对应的数据是批量写入或读出的,减小了磁盘的访问频率,从而大大提高了双控存储系统的效率及性能。
[0070]较优的,在其中一个实施例中,第一控制器和第二控制器的结构、功能相同。当然,第一控制器和第二控制器的结构、功能也可以不相同,能够实现其对应的功能即可。其中,在上述实施例中,是以第一控制器为主作的示例性说明。
[0071]作为一种可实施方式,还包括第一标记模块300a。第一控制器,被配置以若第一控制器为预设主控制器,且接收到确认信号后,通过第一标记模块300a用已写缓存标记将第一缓存标记为已写缓存,并将已写缓存中与写请求信号对应的数据写入逻辑卷对应的磁盘中,将已写缓存中已写入磁盘的数据删除,并将第一缓存中的已写缓存标记清空。
[0072]作为一种可实施方式,还包括第一轮询模块300b。第二控制器,被配置以通过第一轮询模块300b轮询第一缓存的状态,若获得已写缓存标记已清空,则将第二缓存中与第一缓存中已写入磁盘的数据对应的数据删除,从而第二缓存的数据与第一缓存的数据同步。
[0073]作为一种可实施方式,还包括第二标记单元500a。第二控制器,被配置以若第二控制器为预设主控制器,且获得第一控制器将写请求信号对应的数据写入第一缓存后,通过第二标记模块500a用已写缓存标记将第二缓存标记为已写缓存,将已写缓存中与写请求信号对应的数据写入逻辑卷对应的磁盘中,将已写缓存中已写入磁盘的数据删除,并将第二缓存中的已写缓存标记清空。
[0074]作为一种可实施方式,还包括第二轮询模块500b。第一控制器,被配置以通过第二轮询模块500b轮询第二缓存的状态,若获得已写缓存标记已清空,则将第一缓存中与第二缓存中已写入磁盘的数据对应的数据删除,从而使第一缓存的数据与第二缓存的数据同步。
[0075]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1