在存储系统中传输消息的方法、装置及存储系统、控制器的制造方法

文档序号:9631358阅读:185来源:国知局
在存储系统中传输消息的方法、装置及存储系统、控制器的制造方法
【技术领域】
[0001]本发明涉及计算机领域,特别涉及一种在存储系统中传输消息的方法、装置及存储系统、控制器。
【背景技术】
[0002]存储系统,例如存储器阵列、磁盘阵列都要求较高的可靠性。为保证可靠性,存储系统通常都配备双控制器,双控制器包括一个主控制器和一个备用控制器。在正常工作时,主控制器控制存储系统将数据写入存储系统的缓存(cache)中,进入写入存储系统永久存储器中,同时,主控制器会将存储控制信息实时同步镜像到备用控制器。当主控制器发生掉电或者其他故障时,备用控制器会立即接管主控制器的存储控制功能,以确保存储系统的存储业务连续不中断,确保存储数据不丢失。
[0003]现有的配备双控制器的存储系统中,主控制器和备用控制器之间的通信都是通过控制器之间的镜像通道来完成的。如图1所示,控制器A为主控制器,控制器B为备用控制器,控制器A与控制器B均可以控制存储器,图1所示的场景中,存储器可以是固态硬盘(Solid State Disk/Solid State Drive,简称SSD)硬盘,图1所示的存储系统包括4个SSD硬盘,控制器A将存储控制信息通过镜像通道同步至控制器B。控制器A将控制器A缓存中的信息镜像到控制器B的缓存中也会使用镜像通道。
[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]结合第三方面和第三方面的第一种可能实现方式,在第三方面的第二种可能实现方式中,所述第一发送单元具体用于将所述请求消息发送至第一控制器的消息发送队列;
[0032]所述第一发送单元还用于发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述中断信息后从所述第一控制器的消息发送队列中获取所述请求消息。
[0033]结合第三方面,在第三方面的第三种可能实现方式中,所述第一选择单元还用于若所述第一控制器在预设时间段内未收到所述第二控制器发送的响应消息,则重新从所述多个硬盘中选择转发硬盘。
[0034]第四方面,提供了一种在存储系统中传输消息的装置,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器分别与多个硬盘连接,所述装置应用于第二控制器,所述装置包括:
[0035]第二接收单元,用于接收第一转发硬盘发送的请求消息,所述请求消息是由所述第一控制器发送给所述第一转发硬盘的;
[0036]第二选择单元,用于从所述多个硬盘中选择第二转发硬盘;
[0037]第二发送单元,用于根据所述请求消息发送响应消信息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消信息发送至第一控制器。
[0038]结合第四方面,在第四方面的第一种可能实现方式中,所述第二接收单元具体用于:
[0039]接收所述第一转发硬盘发送的第二中断信息;
[0040]根据所述第二中断信息从所述第二控制器的消息接收队列中获取所述请求消息,其中,所述第二接收单元从所述第二控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述第二控制器的消息接收队列中的。
[0041]第五方面,提供了一种存储系统,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器分别与多个硬盘连接,
[0042]所述第一控制器,用于从所述多个硬盘中选择第一转发硬盘,向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至所述第二控制器;
[0043]所述第二控制器,用于接收第一转发硬盘发送的所述请求消息,从所述多个硬盘中选择第二转发硬盘,根据所述请求消息发送响应消息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消息发送至所述第一控制器;<
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1