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

文档序号:8905178阅读:544来源:国知局
应用于双控存储系统的缓存同步方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机存储领域,特别是涉及一种应用于双控存储系统的缓存同步方法及系统。
【背景技术】
[0002]磁盘高速缓存是一种软件机制,其可以让系统把一些平时储存在磁盘上的数据存放在RAM(Random-Access Memory,随机存取存储器)中,使得后续对该数据存取时直接从RAM中存取,而无需存取磁盘,使得系统的快速读写迅速得到满足,以此提高系统的效率。Cache Miiror(缓存镜像)是在双控系统运行时,让两边的控制器的快速读取同步,当第一控制器出现故障时,第二控制器能够马上接替第一控制器的工作,由于两台控制器的快取一致,因此系统能够继续正常运行,且数据也不会丢失。
[0003]传统的缓存镜像(Cache Mirror),主要有以下几种运作情况,分别为MirrorPage (镜像页面),Cache Writeback (缓存回写)、Read Shipping (读传递)、Failover 及faiIback(故障转移及故障恢复),其中Mirror Pager能够达到镜像的目的,但却多了许多页面同步的过程,同时,镜像页面是以页面大小(4K)为单位写入数据的,造成镜像缓存的效率不佳、性能较差。

【发明内容】

[0004]针对缓存镜像运作时效率不佳、性能较差的问题,本发明提供了一种应用于双控存储系统的缓存同步方法及系统,不需镜像缓存,还能够大大提高运作效率,且性能较好。
[0005]为达到发明目的,本发明提供一种应用于双控存储系统的缓存同步方法,包括以下步骤:
[0006]主机发送写请求信号到第一控制器;
[0007]判断所述第一控制器是否为所述写请求信号对应逻辑卷的预设主控制器;
[0008]若所述第一控制器为所述预设主控制器,则所述第一控制器将所述写请求信号对应的数据缓存至所述第一控制器的第一缓存中,并将所述写请求信号传递到第二控制器;
[0009]所述第二控制器接收到所述写请求信号后,将所述写请求信号对应的数据写入所述第二控制器的第二缓存中,使得所述第二缓存的数据与所述第一缓存的数据同步,并在同步后发送确认信号到所述第一控制器,所述第一控制器接收到所述确认信号后返回同步完成信号到所述主机;
[0010]若所述第一控制器不是所述预设主控制器,则所述第一控制器将写请求信号传递给作为所述逻辑卷预设主控制器的第二控制器,所述第二控制器将所述写请求信号对应的数据缓存至所述第二控制器的第二缓存中,发送确认信号到所述第一控制器;
[0011]所述第一控制器接收所述确认信号后,将所述写请求信号对应的数据写入所述第一控制器的第一缓存中,使得所述第一缓存的数据与所述第二缓存的数据同步,并在同步后返回同步完成信号到所述主机。
[0012]作为一种可实施例,若所述第一控制器为所述预设主控制器,且所述第一控制器接收所述确认信号后,包括如下步骤:
[0013]所述第一控制器用已写缓存标记将所述第一缓存标记为已写缓存,将所述已写缓存中与所述写请求信号对应的数据写入所述逻辑卷对应的磁盘中,将所述已写缓存中已写入所述磁盘的数据删除,并将所述第一缓存中的所述已写缓存标记清空。
[0014]作为一种可实施例,所述第一控制器用已写缓存标记将所述第一缓存标记为已写缓存,将所述已写缓存中与所述写请求对应的数据写入所述逻辑卷对应的磁盘中,将所述已写缓存中已写入所述磁盘的数据删除,并将所述第一缓存中的所述已写缓存标记清空之后,还包括如下步骤:
[0015]所述第二控制器轮询所述第一缓存的状态,若获得所述已写缓存标记已清空,则所述第二控制器将所述第二缓存中与所述第一缓存中已写入所述磁盘的数据对应的数据删除,从而使所述第二缓存的数据与所述第一缓存的数据同步。
[0016]作为一种可实施例,若所述第二控制器为所述预设主控制器,且所述第一控制器将所述写请求信号对应的数据写入所述第一缓存之后,包括如下步骤:
[0017]所述第二控制器用已写缓存标记将所述第二缓存标记为已写缓存,所述第二控制器将所述已写缓存中与所述写请求信号对应的数据写入所述逻辑卷对应的磁盘中,将所述已写缓存中已写入所述磁盘的数据删除,并将所述第二缓存中的所述已写缓存标记清空。
[0018]作为一种可实施例,所述第二控制器用已写缓存标记将所述第二缓存标记为已写缓存,所述第二控制器将所述已写缓存中与所述写请求信号对应的数据写入所述逻辑卷对应的磁盘中,将所述已写缓存中已写入所述磁盘的数据删除,并将所述第二缓存中的所述已写缓存标记清空之后,还包括如下步骤:
[0019]所述第一控制器轮询所述第二缓存的状态,若获得所述已写缓存标记已清空,则所述第一控制器将所述第一缓存中与所述第二缓存中已写入所述磁盘的数据对应的数据删除,从而使所述第一缓存的数据与所述第二缓存的数据同步。
[0020]本发明还提供一种应用于双控存储系统的缓存同步系统,包括第一控制器,第二控制器和主机,所述第一控制器和所述第二控制器均包括接收模块,判断模块,第一缓存模块,第一同步模块,第二缓存模块,第二同步模块和返回模块,其中:
[0021]所述第一控制器,被配置以通过所述接收模块接收主机发送的写请求信号,通过所述判断模块判断所述第一控制器是否为所述写请求信号对应逻辑卷的预设主控制器;
[0022]所述第一控制器,被配置以若所述第一控制器为所述预设主控制器,则通过所述第一缓存模块将所述写请求信号对应的数据缓存至所述第一控制器的第一缓存中,并将所述写请求信号传递到第二控制器;
[0023]所述第二控制器,被配置以若所述第二控制器接收到所述写请求信号后,通过所述第一同步模块将所述写请求信号对应的数据写入所述第二控制器的第二缓存中,使得所述第二缓存的数据与所述第一缓存的数据同步,并在同步后发送确认信号到所述第一控制器,所述第一控制器接收到所述确认信号后,通过所述返回模块返回同步完成信号到所述主机;
[0024]所述第二控制器,被配置以若所述第二控制器为所述预设主控制器,则通过所述第二缓存模块接收所述第一控制器传递的写请求信号,并将所述写请求信号对应的数据缓存至所述第二控制器的第二缓存中,发送确认信号到所述第一控制器;
[0025]所述第一控制器,被配置以若接收到所述确认信号后,通过所述第二同步模块将所述写请求信号对应的数据写入所述第一控制器的第一缓存中,使得所述第一缓存的数据与所述第二缓存的数据同步,并在同步后通过所述返回模块返回同步完成信号到所述主机。
[0026]作为一种可实施例,还包括第一标记模块;
[0027]所述第一控制器,被配置以若所述第一控制器为所述预设主控制器,且接收到所述确认信号后,通过所述第一标记模块用已写缓存标记将所述第一缓存标记为已写缓存,将所述已写缓存中与所述写请求信号对应的数据写入所述逻辑卷对应的磁盘中,将所述已写缓存中已写入所述磁盘的数据删除,并将所述第一缓存中的所述已写缓存标记清空。
[0028]作为一种可实施例,还包括第一轮询模块;
[0029]所述第二控制器,被配置以通过所述第一轮询模块轮询所述第一缓存的状态,若获得所述已写缓存标记已清空,则将所述第二缓存中与所述第一缓存中已写入所述磁盘的数据对应的数据删除,从而使所述第二缓存的数据与所述第一缓存的数据同步。
[0030]作为一种可实施例,还包括第二标记模块;
[0031]所述第二控制器,被配置以若所述第二控制器为所述预设主控制器,且获得所述第一控制器将所述写请求信号对应的数据写入所述第一缓存后,通过所述第二标记模块用已写缓存标记将所述第二缓存标记为已写缓存,将所述已写缓存中与所述写请求信号对应的数据
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1