CN105389127B - 在存储系统中传输消息的方法、装置及存储系统、控制器 - Google Patents
在存储系统中传输消息的方法、装置及存储系统、控制器 Download PDFInfo
- Publication number
- CN105389127B CN105389127B CN201510742145.3A CN201510742145A CN105389127B CN 105389127 B CN105389127 B CN 105389127B CN 201510742145 A CN201510742145 A CN 201510742145A CN 105389127 B CN105389127 B CN 105389127B
- Authority
- CN
- China
- Prior art keywords
- controller
- hard disk
- forwarding
- request message
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 72
- 230000015654 memory Effects 0.000 abstract description 14
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000009977 dual effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的实施例中公开了一种在存储系统中传输数据的方法、装置及存储系统、控制器,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器分别与多个硬盘连接,所述方法包括:所述第一控制器从所述多个硬盘中选择第一转发硬盘;所述第一控制器向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至所述第二控制器;所述第一控制器接收第二转发硬盘发送的响应消息,所述响应消息是所述第二控制器根据所述请求消息发送给所述第二转发硬盘的。本发明能提高存储系统数据传输速率,提高系统的可靠性。
Description
技术领域
本发明涉及计算机领域,特别涉及一种在存储系统中传输消息的方法、装置及存储系统、控制器。
背景技术
存储系统,例如存储器阵列、磁盘阵列都要求较高的可靠性。为保证可靠性,存储系统通常都配备双控制器,双控制器包括一个主控制器和一个备用控制器。在正常工作时,主控制器控制存储系统将数据写入存储系统的缓存(cache)中,进入写入存储系统永久存储器中,同时,主控制器会将存储控制信息实时同步镜像到备用控制器。当主控制器发生掉电或者其他故障时,备用控制器会立即接管主控制器的存储控制功能,以确保存储系统的存储业务连续不中断,确保存储数据不丢失。
现有的配备双控制器的存储系统中,主控制器和备用控制器之间的通信都是通过控制器之间的镜像通道来完成的。如图1所示,控制器A为主控制器,控制器B为备用控制器,控制器A与控制器B均可以控制存储器,图1所示的场景中,存储器可以是固态硬盘(SolidState Disk/Solid State Drive,简称SSD)硬盘,图1所示的存储系统包括4个SSD硬盘,控制器A将存储控制信息通过镜像通道同步至控制器B。控制器A将控制器A缓存中的信息镜像到控制器B的缓存中也会使用镜像通道。
现有的双控制器存储系统的弊端是控制器之间的镜像通道带宽较窄,控制器之间的信息镜像速度时延较大,会造成存储系统的性能瓶颈,降低存储系统读写速率。
发明内容
本发明实施例中提供了一种在存储系统中传输消息的方法、装置及存储系统、控制器,能解决存储系统读写速率降低的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面,提供了一种在存储系统中传输消息的方法,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器分别与多个硬盘连接,所述方法包括:
所述第一控制器从所述多个硬盘中选择第一转发硬盘;
所述第一控制器向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至所述第二控制器;
所述第一控制器接收第二转发硬盘发送的响应消息,所述响应消息是所述第二控制器根据所述请求消息发送给所述第二转发硬盘的。
结合第一方面,在第一方面的第一种可能实现方式中,所述第一控制器从多个硬盘中选择第一转发硬盘,包括:
所述第一控制器从所述多个硬盘中选择负载最小的硬盘作为所述第一转发硬盘;或者,
所述第一控制器从负载小于阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
结合第一方面或第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述第一控制器向第一转发硬盘发送请求消息,使第一转发硬盘将请求消息转发至所述第二控制器,包括:
所述第一控制器将所述请求消息发送至第一控制器的消息发送队列;
所述第一控制器发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述第一中断信息后从所述第一控制器的消息发送队列中获取所述请求消息。
结合第一方面,在第一方面的第三种可能实现方式中,若所述第一控制器在预设时间段内未收到所述第二控制器发送的响应消息,则重新从所述多个硬盘中选择转发硬盘。
第二方面,提供了一种在存储系统中传输消息的方法,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器分别与多个硬盘连接,所述方法包括:
所述第二控制器接收第一转发硬盘发送的请求消息,所述请求消息是由所述第一控制器发送至所述第一转发硬盘;
所述第二控制器从所述多个硬盘中选择第二转发硬盘;
所述第二控制器根据所述请求消息发送响应消息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消息发送至所述第一控制器。
结合第二方面,在第二方面的第一种可能实现方式中,所述第二控制器接收第一转发硬盘发送的请求消息具体包括:
所述第二控制器接收所述第一转发硬盘发送的第二中断信息;
所述第二控制器根据所述第二中断信息从所述第二控制器的消息接收队列中获取所述请求消息,其中,所述第二控制器从所述第二控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述第二控制器的消息接收队列中的。
第三方面,提供了一种在存储系统中传输消息的装置,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器分别与多个硬盘连接,所述装置应用于第一控制器,所述装置包括:
第一选择单元,用于从所述多个硬盘中选择第一转发硬盘;
第一发送单元,用于向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至第二控制器;
第一接收单元,用于接收第二转发硬盘发送的响应消息,所述响应消息是所述第二控制器根据所述请求消息发送给所述第二转发硬盘的。
结合第三方面,在第三方面的第一种可能实现方式中,其特征在于,所述第一选择单元具体用于从所述多个硬盘中选择负载最小的硬盘作为所述第一转发硬盘;或者,
从负载小于阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
结合第三方面和第三方面的第一种可能实现方式,在第三方面的第二种可能实现方式中,所述第一发送单元具体用于将所述请求消息发送至第一控制器的消息发送队列;
所述第一发送单元还用于发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述中断信息后从所述第一控制器的消息发送队列中获取所述请求消息。
结合第三方面,在第三方面的第三种可能实现方式中,所述第一选择单元还用于若所述第一控制器在预设时间段内未收到所述第二控制器发送的响应消息,则重新从所述多个硬盘中选择转发硬盘。
第四方面,提供了一种在存储系统中传输消息的装置,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器分别与多个硬盘连接,所述装置应用于第二控制器,所述装置包括:
第二接收单元,用于接收第一转发硬盘发送的请求消息,所述请求消息是由所述第一控制器发送给所述第一转发硬盘的;
第二选择单元,用于从所述多个硬盘中选择第二转发硬盘;
第二发送单元,用于根据所述请求消息发送响应消信息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消信息发送至第一控制器。
结合第四方面,在第四方面的第一种可能实现方式中,所述第二接收单元具体用于:
接收所述第一转发硬盘发送的第二中断信息;
根据所述第二中断信息从所述第二控制器的消息接收队列中获取所述请求消息,其中,所述第二接收单元从所述第二控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述第二控制器的消息接收队列中的。
第五方面,提供了一种存储系统,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器分别与多个硬盘连接,
所述第一控制器,用于从所述多个硬盘中选择第一转发硬盘,向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至所述第二控制器;
所述第二控制器,用于接收第一转发硬盘发送的所述请求消息,从所述多个硬盘中选择第二转发硬盘,根据所述请求消息发送响应消息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消息发送至所述第一控制器;
所述第一控制器还用于接收所述第二转发硬盘发送的响应消息。
结合第五方面,在第五方面的第一种可能实现方式中,所述第一控制器具体用于从所述多个硬盘中选择负载最小的硬盘作为所述第一转发硬盘;或者,
从负载小于阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
结合第五方面或第五方面的第一种可能实现方式,在第五方面的第二种可能实现方式中,所述第一控制器还用于将所述请求消息发送至第一控制器的消息发送队列,发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述中断信息后从所述第一控制器的消息发送队列中获取所述请求消息;
所述第二控制器还用于接收所述第一转发硬盘发送的第二中断信息,根据所述第二中断信息从所述第二控制器的消息接收队列中获取所述请求消息,其中,所述第二控制器从所述第二控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述第二控制器的消息接收队列中的。
结合第五方面,在第五方面的第三种可能实现方式中,所述第一控制器还用于若在预设时间段内未收到所述第二控制器发送的响应信息,则重新从所述多个硬盘中选择转发硬盘。
第六方面,提供了一种控制器,所述控制器应用于存储系统中,所述存储系统包括所述控制器和第二控制器,所述控制器和所述第二控制器分别与多个硬盘连接,所述控制器包括收发接口和处理器,所述处理器用于从所述多个硬盘中选择第一转发硬盘;
所述收发接口用于向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至所述第二控制器;
所述收发接口还用于接收第二转发硬盘发送的响应消息,所述响应消息是所述第二控制器根据所述请求消息发送给所述第二转发硬盘的。
结合第六方面,在第六方面的第一种可能实现方式中,所述处理器具体用于
从所述多个硬盘中选择负载最小的硬盘作为所述第一转发硬盘;或者,
从负载小于阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
结合第六方面或第六方面的第一种可能实现方式,在第六方面的第二种可能实现方式中,所述收发接口具体用于:
将所述请求消息发送至所述控制器的消息发送队列;
发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述第一中断信息后从所述控制器的消息发送队列中获取所述请求消息。
结合第六方面,在第六方面的第三种可能实现方式中,若所述收发接口在预设时间段内未收到所述第二控制器发送的响应消息,则所述处理器还用于重新从所述多个硬盘中选择转发硬盘。
第七方面,提供了一种控制器,所述控制器应用于存储系统中,所述存储系统包括所述控制器和第一控制器,所述控制器和所述第一控制器分别与多个硬盘连接,所述控制器包括收发接口和处理器,所述收发接口用于接收第一转发硬盘发送的请求消息,所述请求消息是由所述第一控制器发送至所述第一转发硬盘;
所述处理器用于从所述多个硬盘中选择第二转发硬盘;
所述收发接口还用于根据所述请求消息发送响应消息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消息发送至所述第一控制器。
结合第七方面,在第七方面的第一种可能实现方式中,所述收发接口具体用于:
接收所述第一转发硬盘发送的第二中断信息;
根据所述第二中断信息从所述控制器的消息接收队列中获取所述请求消息,其中,所述收发接口从所述控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述控制器的消息接收队列中的。
本发明的实施例中公开了一种在存储系统中传输消息的方法,存储系统包括第一控制器和第二控制器,第一控制器和第二控制器分别与多个硬盘连接,第一控制器从多个硬盘中选择第一转发硬盘,向第一转发硬盘发送请求消息,使第一转发硬盘将请求消息转发至第二控制器,并且接收第二转发硬盘发送的响应消息,响应消息是第二控制器根据请求消息发送给第二转发硬盘的。本发明实施例的方法在第一控制器与第二控制器之间通过转发硬盘转发消息,提高了存储系统的读写速率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1所示为现有技术中存储系统结构示意图;
图2所示为本发明实施例的在存储系统中传输消息的方法的流程图;
图3所示为本发明实施例的在存储系统中传输消息的方法的流程图;
图4所示为本发明实施例的应用场景的示意图;
图5为本发明实施例的在存储系统中传输消息的装置的示意图;
图6所示为本发明实施例的一种存储系统的示意图;
图7所示为本发明实施例的控制器的示意图。
具体实施方式
本发明如下实施例提供了一种在存储系统中传输消息的方法、装置及存储系统、控制器,在存储系统的第一控制器与第二控制器之间通过转发硬盘转发消息,提高了存储系统的读写速率。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。
图2所示为本发明实施例的在存储系统中传输消息的方法的流程图。本发明实施例的存储系统中的硬盘可以是SSD硬盘。本实施例中的SSD硬盘可以采用双端口共享机制,即两个控制器可以共享访问所有的SSD硬盘。
本发明实施例中,在存储系统中传输的请求消息可以携带控制信息和数据中的至少一种。
本发明实施例中,存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器分别与多个硬盘连接,如图2所示,所述存储系统传输数据的方法包括:
步骤201,第一控制器从多个硬盘中选择第一转发硬盘。
步骤201中,第一控制器从多个硬盘中选择第一转发硬盘,包括:
所述第一控制器选择负载最小的硬盘作为所述第一转发硬盘;或者,
所述第一控制器从负载小于负载阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
硬盘的负载包括:硬盘当前处理的IO数和当前待转发消息数的总和。
本发明实施例中,第一控制器和第二控制器之间可以通过镜通过硬盘传输数据。
本发明实施例中,第一控制器选择第一转发硬盘是从可用硬盘列表中进行选择的。实际上,与第一控制器相连的多个硬盘可能因为负载、通道带宽或其他因素无法传输消息,可用硬盘列表是当前可以用于传输消息的硬盘的信息。硬盘列表可以是列表形式的,或可以是其他形式的。
采用可用硬盘列表可以避免选择出的转发硬盘无法及时传输数据的问题,可以提高数据才传输的效率。
在步骤202之前,即在第一控制器获取可用存储器列表之前,所述方法还包括:
所述第一控制器获取可用存储器列表,并将可用存储器列表同步至所述第二控制器。
步骤202,第一控制器向第一转发硬盘发送请求消息,使第一转发硬盘将请求消息转发至第二控制器。
本发明实施例中,请求消息可以是用于控制硬盘进行存储的存储控制信息,或可以是第一控制器和第二控制器之间的其他交互信息,或可以是硬盘需要存储的数据。
步骤202中,第一控制器向第一转发硬盘发送请求消息,使第一转发硬盘将请求消息转发至第二控制器,包括:
所述第一控制器将所述请求消息发送至第一控制器的消息发送队列;
所述第一控制器发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述中断信息后从所述第一控制器的消息发送队列中获取所述请求消息。
第一转发硬盘获取到请求消息后,将所述请求消息发送至所述第二控制器的消息接收队列,并发送第二中断信息至所述第二控制器,以使所述第二控制器接收到第二中断信息后,从所述第二控制器的消息接收队列中获取所述请求消息。
步骤203,第一控制器接收第二转发硬盘发送的响应消息。
步骤203中,响应消息是第二控制器根据所述请求消息发送给第二转发硬盘的。
本发明实施例中,若所述第一控制器在预设时间段内未收到所述第二控制器发送的响应消息,则重新从所述多个硬盘中选择转发硬盘。
本发明实施例中,若存储系统中仅包括两个控制器,则请求消息和响应消息可以直接通过镜转发硬盘转发;若存储系统包括两个以上的控制器,则请求消息和响应消息中可以包括源控制器和目的控制器的标识。
本发明实施例中,第一控制器发送至第二控制器的请求消息通过转发硬盘转发,避免了由于镜像通道带宽较小造成的数据传输的时延较大,提高了存储系统的读写速率。同时由于数据传输的时延较小,在第一控制器发生故障时,第二控制器可以及时接管存储控制功能,提高了系统的可靠性。
在本发明实施例中,第二控制器接收到第一控制器发送的请求消息后,会发送响应消息至第一控制器,用来通知第一控制器己方已经收到对方发送的请求消息。第二控制器发送至第一控制器的响应消息可以通过镜像通道发送,在镜像通道满负载的情况下可以通过硬盘发送。
图3所示为本发明实施例的在存储系统中传输消息的方法的流程图,该方法应用于第二控制器,如图3所示,方法包括:
步骤301,第二控制器接收第一转发硬盘发送的请求消息。
该请求消息是由所述第一控制器发送至所述第一转发硬盘;
步骤302,第二控制器从多个硬盘中选择第二转发硬盘。
步骤303,第二控制器根据请求消息发送响应消息至第二转发硬盘,以使第二转发硬盘将响应消息发送至第一控制器。
步骤301中,第二控制器接收第一转发硬盘发送的请求消息具体包括:
所述第二控制器接收所述第一转发硬盘发送的第二中断信息;
所述第二控制器根据所述第二中断信息从所述第二控制器的消息接收队列中获取所述请求消息,其中,所述第二控制器从所述第二控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述第二控制器的消息接收队列中的。
第二转发硬盘可以与第一转发硬盘是同一个硬盘,或可以是不同的硬盘。第二控制器选择第二转发硬盘的方法,以及第二控制器通过第二转发硬盘发送响应消息至第一控制器的方法与上述实施例相同,在此不再赘述。
第二控制器通过转发硬盘传输响应消息的方法,避免了由于镜像通道带宽较小造成的数据传输的时延较大,提高了存储系统的读写速率。同时由于数据传输的时延较小,在第一控制器发生故障时,第二控制器可以及时接管存储控制功能,提高了系统的可靠性。
图4所示为本发明实施例的应用场景的示意图。图4所示的应用场景中,第一控制器401发送请求消息至第二控制器402通常通过镜像通道403,在镜像通道403不是满负载时,第一控制器401和第二控制器402之间可以通过镜像通道403传输消息,第一控制器401和第二控制器402均可以访问与其相连的SSD硬盘。
本实施例中,第一控制器401可以作为主控制器,第二控制器402可以作为备用控制器。
在镜像通道403满负载时,第一控制器401从可用SSD硬盘列表中选择第一转发SSD硬盘。本实施例中,第一转发SSD硬盘可以是SSD 404。第一控制器401将请求消息发送至第一控制器的消息发送队列,并发送第一中断信息至SSD 404。
SSD 404收到第一控制器401发送的第一中断信息后,中断当前处理的程序,从第一控制器的消息发送队列中获取请求消息,并将该请求消息发送至第二控制器的消息接收队列中,并且发送第二中断信息至第二控制器402。
第二控制器402在接收到SSD 404发送的第二中断信息后,中断当前处理的程序,从第二控制器的消息接收队列中获取请求消息。
图4中,以带箭头的实线表示数据的流向。
第二控制器402在获取到数据后,会发送响应消息至第一控制器401。通常,第二控制器发送响应消息时首选镜像通道,因此第二控制器会判断镜像通道403是否满负载,如果未满负载,则通过镜像通道403发送响应消息;如果满负载,则同样需选择一个SSD硬盘作为第二转发SSD硬盘,然后通过第二转发硬盘将响应消息发送至第一控制器401。此时,第二转发SSD硬盘可以是SSD 401,在本发明其他实施例中,第二转发硬盘也可能是其他SSD硬盘。响应消息的流向在图4中未示出。
本发明实施例中,第一控制器401发送至第二控制器402的数据在镜像通道403满负载时通过转发硬盘SSD404转发,降低了时延,提高了在存储系统中的传输消息的效率。由于第一控制器401和第二控制器402之间的传输的消息的时延较小,在第一控制器401发生故障时,第二控制器402也可以及时接管存储控制功能,提高了存储系统的可靠性。
图5为本发明实施例的中传输消息的装置的示意图,图5所示的存储系统中,存储系统包括第一控制器501和第二控制器502,所述第一控制器501和所述第二控制器502分别与多个硬盘连接,所述装置503应用于第一控制器501,所述装置503包括:
第一选择单元5031,用于从所述多个硬盘中选择第一转发硬盘;
第一发送单元5032,用于向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至第二控制器;
第一接收单元5033,用于接收第二转发硬盘发送的响应消息,所述响应消息是所述第二控制器根据所述请求消息发送给所述第二转发硬盘的。
所述第一选择单元5031还用于选择负载最小的硬盘作为所述第一转发硬盘;或者,
所述第一选择单元5031还用于从负载小于第二阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
所述第一发送单元5031还用于将所述请求消息发送至第一控制器的消息发送队列;
所述第一发送单元5031还用于发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述中断信息后从所述第一控制器的消息发送队列中获取所述请求消息
所述第一选择单元5031还用于若所述第一控制器在预设时间段内未收到所述第二控制器发送的响应消息,则重新从所述多个硬盘中选择转发硬盘。
如图5所示,本发明实施例还公开了一种在存储系统中传输消息的装置504,所述装置504应用于第二控制器,所述装置504包括:
第二接收单元5041,用于接收第一转发硬盘发送的请求消息。
所述请求消息是由所述第一控制器发送给所述第一转发硬盘的;
第二选择单元5042,用于从多个硬盘中选择第二转发硬盘;
第二发送单元5043,用于根据所述请求消息发送响应消息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消息发送至第一控制器。
本发明实施例的存储系统传输数据的装置,第一控制器发送至第二控制器的请求消息通过转发硬盘转发,降低了时延,提高了存储系统的传输消息效的率。由于第一控制器和第二控制器之间的传输的消息的时延较小,在第一控制器发生故障时,第二控制器也可以及时接管存储控制功能,提高了系统的可靠性。
图6所示为本发明实施例的一种存储系统的示意图,所述存储系统包括第一控制器601和第二控制器602,第一控制器601和第二控制器602分别通过总线与多个硬盘610连接,所述系统中:
第一控制器601,用于从所述多个硬盘中选择第一转发硬盘,向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至所述第二控制器;
所述第二控制器602,用于接收第一转发硬盘发送的所述请求消息,从所述多个硬盘中选择第二转发硬盘,根据所述请求消息发送响应消息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消息发送至所述第一控制器;
所述第一控制器601还用于接收所述第二转发硬盘发送的响应消息。
所述第一控制器601具体用于从所述多个硬盘中选择负载最小的硬盘作为所述第一转发硬盘;或者,
从负载小于阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
所述第一控制器601还用于将所述请求消息发送至第一控制器的消息发送队列,发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述中断信息后从所述第一控制器的消息发送队列中获取所述请求消息;
所述第二控制器602还用于接收所述第一转发硬盘发送的第二中断信息,根据所述第二中断信息从所述第二控制器的消息接收队列中获取所述请求消息,其中,所述第二控制器从所述第二控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述第二控制器的消息接收队列中的。
所述第一控制器601还用于若在预设时间段内未收到所述第二控制器发送的响应信息,则重新从所述多个硬盘中选择转发硬盘。
本发明实施例的存储系统,提高了存储系统的数据传输效率和可靠性。
和上述方法、装置及系统相对应,本发明实施例还提供了一种控制器,图7所示为本发明实施例的控制器的示意图,如图7所示,所述控制器应用于存储系统中,所述存储系统包括所述控制器701和第二控制器702,所述控制器701和所述第二控制器702分别与多个硬盘703连接,所述控制器701包括收发接口7011和处理器7012,所述处理器7012用于从所述多个硬盘中选择第一转发硬盘;
所述收发接口7011用于向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至所述第二控制器;
所述收发接口701还用于接收第二转发硬盘发送的响应消息,所述响应消息是所述第二控制器702根据所述请求消息发送给所述第二转发硬盘的。
可选的,所述处理器7012具体用于:
从所述多个硬盘中选择负载最小的硬盘作为所述第一转发硬盘;或者,
从负载小于阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
可选的,所述收发接口7011具体用于:
将所述请求消息发送至所述控制器的消息发送队列;
发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述第一中断信息后从所述控制器的消息发送队列中获取所述请求消息。
可选的,若所述收发接口7011在预设时间段内未收到所述第二控制器702发送的响应消息,则所述处理器还用于重新从所述多个硬盘中选择转发硬盘。
本发明实施例的控制器,可以使该控制器与第二控制器之间的传输的消息的时延较小,还可以提高系统的可靠性。
本发明实施例还提供了一种控制器,具体结构可参考图7所述第一控制器结构,所述控制器应用于存储系统中,所述存储系统包括所述控制器和第一控制器,所述控制器和所述第一控制器分别与多个硬盘连接,所述控制器包括收发接口和处理器,所述收发接口用于接收第一转发硬盘发送的请求消息,所述请求消息是由所述第一控制器发送至所述第一转发硬盘;
所述处理器用于从所述多个硬盘中选择第二转发硬盘;
所述收发接口还用于根据所述请求消息发送响应消息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消息发送至所述第一控制器。
可选的,所述收发接口具体用于:
接收所述第一转发硬盘发送的第二中断信息;
根据所述第二中断信息从所述控制器的消息接收队列中获取所述请求消息,其中,所述收发接口从所述控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述控制器的消息接收队列中的。
本发明实施例的控制器,可以使该控制器与第二控制器之间的传输的消息的时延较小,还可以提高系统的可靠性。
本发明的实施例中公开了一种在存储系统中传输消息的方法、装置及存储系统,在第一控制器发送至第二控制器的请求消息通过转发硬盘转发数据,降低了传输数据的时延,提高了存储系统的传输数据效率。此外,本发明实施例中,由于第一控制器和第二控制器之间的传输的消息的时延较小,在第一控制器发生故障时,第二控制器也可以及时接管存储控制功能,提高了系统的可靠性。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件的方式来实现,通用硬件包括通用集成电路、通用CPU、通用存储器、通用元器件等,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (22)
1.一种在存储系统中传输消息的方法,其特征在于,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器均与多个硬盘连接,所述方法包括:
所述第一控制器从所述多个硬盘中选择第一转发硬盘;
所述第一控制器向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至所述第二控制器;
所述第一控制器接收第二转发硬盘发送的响应消息,所述响应消息是所述第二控制器根据所述请求消息发送给所述第二转发硬盘的。
2.如权利要求1所述的方法,其特征在于,所述第一控制器从多个硬盘中选择第一转发硬盘,包括:
所述第一控制器从所述多个硬盘中选择负载最小的硬盘作为所述第一转发硬盘;或者,
所述第一控制器从负载小于阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
3.如权利要求1或2所述的方法,其特征在于,所述第一控制器向第一转发硬盘发送请求消息,使第一转发硬盘将请求消息转发至所述第二控制器,包括:
所述第一控制器将所述请求消息发送至第一控制器的消息发送队列;
所述第一控制器发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述第一中断信息后从所述第一控制器的消息发送队列中获取所述请求消息。
4.如权利要求1所述的方法,其特征在于,若所述第一控制器在预设时间段内未收到所述第二控制器发送的响应消息,则重新从所述多个硬盘中除所述第一转发硬盘外的硬盘中选择转发硬盘。
5.一种在存储系统中传输消息的方法,其特征在于,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器均与多个硬盘连接,所述方法包括:
所述第二控制器接收第一转发硬盘发送的请求消息,所述请求消息是由所述第一控制器发送至所述第一转发硬盘;
所述第二控制器从所述多个硬盘中选择第二转发硬盘;
所述第二控制器根据所述请求消息发送响应消息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消息发送至所述第一控制器。
6.如权利要求5所述的方法,其特征在于,所述第二控制器接收第一转发硬盘发送的请求消息具体包括:
所述第二控制器接收所述第一转发硬盘发送的第二中断信息;
所述第二控制器根据所述第二中断信息从所述第二控制器的消息接收队列中获取所述请求消息,其中,所述第二控制器从所述第二控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述第二控制器的消息接收队列中的。
7.一种在存储系统中传输消息的装置,其特征在于,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器均与多个硬盘连接,所述装置应用于第一控制器,所述装置包括:
第一选择单元,用于从所述多个硬盘中选择第一转发硬盘;
第一发送单元,用于向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至第二控制器;
第一接收单元,用于接收第二转发硬盘发送的响应消息,所述响应消息是所述第二控制器根据所述请求消息发送给所述第二转发硬盘的。
8.如权利要求7所述的装置,其特征在于,所述第一选择单元具体用于从所述多个硬盘中选择负载最小的硬盘作为所述第一转发硬盘;或者,
从负载小于阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
9.如权利要求7或8所述的装置,其特征在于,所述第一发送单元具体用于将所述请求消息发送至第一控制器的消息发送队列;
所述第一发送单元还用于发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述中断信息后从所述第一控制器的消息发送队列中获取所述请求消息。
10.如权利要求7所述的装置,其特征在于,所述第一选择单元还用于若所述第一控制器在预设时间段内未收到所述第二控制器发送的响应消息,则重新从所述多个硬盘中除所述第一转发硬盘外的硬盘中选择转发硬盘。
11.一种在存储系统中传输消息的装置,其特征在于,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器均与多个硬盘连接,所述装置应用于第二控制器,所述装置包括:
第二接收单元,用于接收第一转发硬盘发送的请求消息,所述请求消息是由所述第一控制器发送给所述第一转发硬盘的;
第二选择单元,用于从所述多个硬盘中选择第二转发硬盘;
第二发送单元,用于根据所述请求消息发送响应消信息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消信息发送至第一控制器。
12.如权利要求11所述的装置,其特征在于,所述第二接收单元具体用于:
接收所述第一转发硬盘发送的第二中断信息;
根据所述第二中断信息从所述第二控制器的消息接收队列中获取所述请求消息,其中,所述第二接收单元从所述第二控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述第二控制器的消息接收队列中的。
13.一种存储系统,其特征在于,所述存储系统包括第一控制器和第二控制器,所述第一控制器和所述第二控制器均与多个硬盘连接,
所述第一控制器,用于从所述多个硬盘中选择第一转发硬盘,向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至所述第二控制器;
所述第二控制器,用于接收第一转发硬盘发送的所述请求消息,从所述多个硬盘中选择第二转发硬盘,根据所述请求消息发送响应消息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消息发送至所述第一控制器;
所述第一控制器还用于接收所述第二转发硬盘发送的响应消息。
14.如权利要求13所述的系统,其特征在于,所述第一控制器具体用于从所述多个硬盘中选择负载最小的硬盘作为所述第一转发硬盘;或者,
从负载小于阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
15.如权利要求13或14所述的系统,其特征在于,所述第一控制器还用于将所述请求消息发送至第一控制器的消息发送队列,发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述中断信息后从所述第一控制器的消息发送队列中获取所述请求消息;
所述第二控制器还用于接收所述第一转发硬盘发送的第二中断信息,根据所述第二中断信息从所述第二控制器的消息接收队列中获取所述请求消息,其中,所述第二控制器从所述第二控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述第二控制器的消息接收队列中的。
16.如权利要求13所述的系统,其特征在于,所述第一控制器还用于若在预设时间段内未收到所述第二控制器发送的响应信息,则重新从所述多个硬盘中除所述第一转发硬盘外的硬盘中选择转发硬盘。
17.一种控制器,其特征在于,所述控制器应用于存储系统中,所述存储系统包括所述控制器和第二控制器,所述控制器和所述第二控制器均与多个硬盘连接,所述控制器包括收发接口和处理器,所述处理器用于从所述多个硬盘中选择第一转发硬盘;
所述收发接口用于向所述第一转发硬盘发送请求消息,使所述第一转发硬盘将所述请求消息转发至所述第二控制器;
所述收发接口还用于接收第二转发硬盘发送的响应消息,所述响应消息是所述第二控制器根据所述请求消息发送给所述第二转发硬盘的。
18.如权利要求17所述的控制器,其特征在于,所述处理器具体用于:
从所述多个硬盘中选择负载最小的硬盘作为所述第一转发硬盘;或者,
从负载小于阈值的硬盘中,选择任一硬盘作为所述第一转发硬盘。
19.如权利要求17或18所述的控制器,其特征在于,所述收发接口具体用于:
将所述请求消息发送至所述控制器的消息发送队列;
发送第一中断信息至所述第一转发硬盘,以使所述第一转发硬盘在接收到所述第一中断信息后从所述控制器的消息发送队列中获取所述请求消息。
20.如权利要求17所述的控制器,其特征在于,若所述收发接口在预设时间段内未收到所述第二控制器发送的响应消息,则所述处理器还用于重新从所述多个硬盘中除所述第一转发硬盘外的硬盘中选择转发硬盘。
21.一种控制器,其特征在于,所述控制器应用于存储系统中,所述存储系统包括所述控制器和第一控制器,所述控制器和所述第一控制器均与多个硬盘连接,所述控制器包括收发接口和处理器,所述收发接口用于接收第一转发硬盘发送的请求消息,所述请求消息是由所述第一控制器发送至所述第一转发硬盘;
所述处理器用于从所述多个硬盘中选择第二转发硬盘;
所述收发接口还用于根据所述请求消息发送响应消息至所述第二转发硬盘,以使所述第二转发硬盘将所述响应消息发送至所述第一控制器。
22.如权利要求21所述的控制器,其特征在于,所述收发接口具体用于:
接收所述第一转发硬盘发送的第二中断信息;
根据所述第二中断信息从所述控制器的消息接收队列中获取所述请求消息,其中,所述收发接口从所述控制器的消息接收队列中获取的所述请求消息是由所述第一转发硬盘发送到所述控制器的消息接收队列中的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510742145.3A CN105389127B (zh) | 2015-11-04 | 2015-11-04 | 在存储系统中传输消息的方法、装置及存储系统、控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510742145.3A CN105389127B (zh) | 2015-11-04 | 2015-11-04 | 在存储系统中传输消息的方法、装置及存储系统、控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105389127A CN105389127A (zh) | 2016-03-09 |
CN105389127B true CN105389127B (zh) | 2018-06-26 |
Family
ID=55421446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510742145.3A Active CN105389127B (zh) | 2015-11-04 | 2015-11-04 | 在存储系统中传输消息的方法、装置及存储系统、控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105389127B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3495939B1 (en) * | 2017-10-13 | 2021-06-30 | Huawei Technologies Co., Ltd. | Method and device for storing data in distributed block storage system, and computer readable storage medium |
CN109933478B (zh) * | 2017-12-19 | 2021-02-26 | 华为技术有限公司 | 一种存储系统的故障处理方法和存储系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574863A (en) * | 1994-10-25 | 1996-11-12 | Hewlett-Packard Company | System for using mirrored memory as a robust communication path between dual disk storage controllers |
CN101175073A (zh) * | 2006-11-01 | 2008-05-07 | 英业达股份有限公司 | 基于硬盘控制器的双控制器通讯系统及其方法 |
CN102495814A (zh) * | 2011-12-16 | 2012-06-13 | 创新科存储技术有限公司 | 存储设备的控制器之间的通讯方法 |
CN103488435A (zh) * | 2013-09-24 | 2014-01-01 | 华为技术有限公司 | Raid子系统及其数据读写方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356638B2 (en) * | 2005-10-12 | 2008-04-08 | International Business Machines Corporation | Using out-of-band signaling to provide communication between storage controllers in a computer storage system |
-
2015
- 2015-11-04 CN CN201510742145.3A patent/CN105389127B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574863A (en) * | 1994-10-25 | 1996-11-12 | Hewlett-Packard Company | System for using mirrored memory as a robust communication path between dual disk storage controllers |
CN101175073A (zh) * | 2006-11-01 | 2008-05-07 | 英业达股份有限公司 | 基于硬盘控制器的双控制器通讯系统及其方法 |
CN102495814A (zh) * | 2011-12-16 | 2012-06-13 | 创新科存储技术有限公司 | 存储设备的控制器之间的通讯方法 |
CN103488435A (zh) * | 2013-09-24 | 2014-01-01 | 华为技术有限公司 | Raid子系统及其数据读写方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105389127A (zh) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9692846B2 (en) | System, device and method for providing push service using feedback message | |
US9647972B2 (en) | Message delivery in messaging networks | |
US20170124021A1 (en) | Methods for enabling direct memory access (dma) capable devices for remote dma (rdma) usage and devices thereof | |
CN108989432B (zh) | 用户态的文件发送方法、文件接收方法和文件收发装置 | |
JP2008009497A (ja) | ストレージサブシステム、ホストコンピュータ、ストレージシステム、負荷分散方法、負荷分散プログラム | |
CN109739435B (zh) | 文件存储和更新方法及装置 | |
US10162775B2 (en) | System and method for efficient cross-controller request handling in active/active storage systems | |
KR20100031513A (ko) | 고가용성 전송 | |
CN110618785A (zh) | 双控存储系统 | |
WO2023116438A1 (zh) | 一种数据访问方法、装置以及设备 | |
CN108418859B (zh) | 写数据的方法和装置 | |
CN108512753A (zh) | 一种集群文件系统中消息传输的方法及装置 | |
CN105389127B (zh) | 在存储系统中传输消息的方法、装置及存储系统、控制器 | |
US20170308332A1 (en) | Method for writing data into storage system and storage system | |
CN109783401B (zh) | 数据存储方法以及存储系统 | |
CN113411363A (zh) | 一种镜像文件的上传方法、相关设备及计算机存储介质 | |
EP2913759A1 (en) | Memory access processing method based on memory chip interconnection, memory chip, and system | |
WO2019000423A1 (zh) | 一种数据存储方法及设备 | |
EP3363637B1 (en) | Regenerative chip and contact control method therefor | |
US9491132B2 (en) | System and method for providing push service for reducing network loads | |
US10367887B2 (en) | Data storage system and data storage method thereof | |
CN104866245A (zh) | 缓存设备和存储系统之间同步快照的方法和装置 | |
CN105938461A (zh) | 一种dma数据传输方法、装置以及网络设备 | |
JP2009217765A (ja) | 複数宛先への同期送信方法、その実施システム及び処理プログラム | |
JP2015153280A (ja) | レプリケーション制御システム、レプリケーション制御方法、及び、レプリケーション制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |