CN101719051B - 一种多控磁盘阵列及其实现方法 - Google Patents
一种多控磁盘阵列及其实现方法 Download PDFInfo
- Publication number
- CN101719051B CN101719051B CN2009102372830A CN200910237283A CN101719051B CN 101719051 B CN101719051 B CN 101719051B CN 2009102372830 A CN2009102372830 A CN 2009102372830A CN 200910237283 A CN200910237283 A CN 200910237283A CN 101719051 B CN101719051 B CN 101719051B
- Authority
- CN
- China
- Prior art keywords
- access
- hard disk
- pci
- switch chip
- module
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种多控磁盘阵列,包括:用于发读写数据请求至背板模块、并接收背板模块发来的访问结果的控制器,用于设定缓冲时间段、每隔设定的缓冲时间段根据该缓冲时间段内接收到的各控制器发来的读写数据请求访问硬盘、并将访问结果以多播方式发送至各控制器的背板模块。本发明还提供一种多控磁盘阵列的实现方法,该方法通过背板模块根据各控制器发读写数据请求访问硬盘,并将访问结果以多播方式发送至各控制器,实现多个控制器通过双通道管理硬盘。采用本发明所述的磁盘阵列和方法,能够实现多个控制器通过双通道管理硬盘。
Description
技术领域
本发明涉及磁盘阵列技术,尤其涉及一种多控磁盘阵列及其实现方法。
背景技术
随着计算机技术和网络技术的发展,越来越多的信息被数据化,而这些数据化的信息需要能长时间保存,并且能快速方便地检索,磁盘阵列因具有高性能、高容量、高可靠性等特性而被作为这些数据化的信息的存储载体。磁盘阵列包括多个硬盘,由控制器对各硬盘进行管理;其中,各硬盘支持双通道,因而目前主流的双控磁盘阵列中,所述控制器对各硬盘进行管理为:每一个控制器占用一个硬盘通道,对各硬盘进行管理,但在多控磁盘阵列中,控制器数量大于各硬盘支持的通道数量,每一个控制器占用一个硬盘通道的方法显然行不通,如何使得多个控制器通过双通道管理硬盘成为急待解决的问题。
目前用于解决上述问题的多控磁盘阵列如图1所示,其中各控制器之间是主从关系,先上电的作为主控制器,其它作为从控制器,由主控制器通过各硬盘支持的双通道与硬盘交换数据,并通过主控制器与从控制器的数据同步来实现从控制器与磁盘的数据交换,从而使得多个控制器通过双通道管理硬盘,但与从控制器的数据同步会造成主控制器的数据压力太大,在数据吞吐量不是很高、控制器数量较少的情况下还可行,但当数据吞吐量高、控制器数量较多时,主控制器即可能不能负担与多个从控制器的数据同步,进而限制了磁盘阵列的规模,可见,该装置不能较好的解决上述问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种多控磁盘阵列及其实现方法,能够解决主控制器数据压力太大而限制磁盘阵列规模的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种多控磁盘阵列,包括:背板模块、多个控制器和多个硬盘;其中,
控制器,用于发读写数据请求至背板模块;并接收背板模块发来的访问结果;
所述控制器包括:CPU和本板外设部件高速扩展接口转换(PCI-E switch)芯片;其中,本板PCI-E switch芯片与第一背板PCI-E switch芯片上除与第一访问模块连接的下行端口外的其余下行端口之一、和第二背板PCI-E switch芯片上除与第二访问模块连接的下行端口外的其余下行端口之一分别连接;
背板模块,用于设定缓冲时间段,并每隔设定的缓冲时间段,根据该缓冲时间段内接收到的各控制器发来的读写数据请求访问硬盘,并将访问结果以多播方式发送至各控制器;
所述背板模块包括:第一背板PCI-E switch芯片、第二背板PCI-E switch芯片、第一访问模块和第二访问模块;其中,第一访问模块与第一背板PCI-Eswitch芯片的下行端口连接,第二访问模块与第二背板PCI-E switch芯片的下行端口连接。
进一步地,所述第一背板PCI-E switch芯片,用于将接收到的读写数据请求发至第一访问模块;接收第一访问模块返回的访问结果,并通过接收到该访问结果的下行端口将该访问结果发至第一背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器;
所述第二背板PCI-E switch芯片,用于将接收到的读写数据请求发至第二访问模块;接收第二访问模块返回的访问结果,并通过接收到该访问结果的下行端口将该访问结果发至第二背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器;
所述第一访问模块,与第一背板PCI-E switch芯片的下行端口连接,用于设定缓冲时间段,将设定的缓冲时间段发至第二访问模块;每隔设定的缓冲时间段,与第二访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第一背板PCI-E switch芯片;
所述第二访问模块,与第二背板PCI-E switch芯片的下行端口连接,用于接收缓冲时间段并存储;每隔存储的缓冲时间段,与第一访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第二背板PCI-E switch芯片。
进一步地,所述CPU,用于发出读写数据请求;
所述本板PCI-E switch芯片,用于将CPU发出的读写数据请求分别发至第一背板PCI-E switch芯片和第二背板PCI-E switch芯片;并接收第一背板PCI-Eswitch芯片和第二背板PCI-E switch芯片发来的访问结果。
进一步地,所述第一访问模块包括:第一时钟模块、第一收发模块、第一指令处理模块和第一硬盘环路芯片;其中,
第一时钟模块,用于设定缓冲时间段,将设定的缓冲时间段发至第二访问模块;并每隔缓冲时间段,触发第一指令处理模块;
第一收发模块,用于与第一背板PCI-E switch芯片的下行端口连接,接收第一背板PCI-E switch芯片发来的读写数据请求;并将第一硬盘环路芯片发来的访问结果发至第一背板PCI-E switch芯片;
第一指令处理模块,用于将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;并在合并后的各指令中取部分指令作为选定指令发至第二访问模块,并在接收到第二访问模块回复的剩余指令后,将选定指令中的各硬盘号转换为该硬盘号在第一磁盘映射表中对应的硬盘物理位置,并将转换后的选定指令发至硬盘环路芯片第一硬盘环路芯片;
第一硬盘环路芯片,用于根据接收到的转换后的选定指令访问硬盘,并将访问结果发至第一收发模块。
进一步地,所述第一访问模块还包括:第一统计模块和第一管理模块;其中,
第一统计模块,用于输出所述缓冲时间段内接收到的读写数据请求需要访问各硬盘的次数至第一管理模块;
第一管理模块,用于将所述缓冲时间段内接收到的各读写数据请求需要访问各硬盘的次数分别累加至第一访问记录中该硬盘对应的访问次数中,之后,比较各硬盘对应的访问次数是否超过预先设定的阈值,将超过的硬盘作为热点盘;将热点盘中的数据拷贝至备用盘;在拷贝完毕后,使用所述备用盘的物理位置替换第一磁盘映射表中该热点盘的硬盘号对应的物理位置;并用于扫描各硬盘的状态,并在扫描到某硬盘或某些硬盘的状态不正常时,向各控制器发出告警;
所述第一时钟模块还用于,在触发第一指令处理模块时,触发第一统计模块。
进一步地,所述第二访问模块包括:第二时钟模块、第二收发模块、第二指令处理模块和第二硬盘环路芯片;其中,
第二时钟模块,用于接收缓冲时间段并存储;并每隔存储的缓冲时间段,触发第二指令处理模块;
第二收发模块,用于与第二背板PCI-E switch芯片的下行端口连接,接收第二背板PCI-E switch芯片发来的读写数据请求;并将第二硬盘环路芯片发来的访问结果发至第二背板PCI-E switch芯片;
第二指令处理模块,用于将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;将合并后的各指令中除接收到选定指令外的其余指令作为剩余指令回复至第一访问模块,将剩余指令中的各硬盘号转换为该硬盘号在第二磁盘映射表中对应的硬盘物理位置,并将转换后的剩余指令发至硬盘环路芯片第二硬盘环路芯片;
第二硬盘环路芯片,用于根据接收到的转换后的剩余指令访问硬盘,并将访问结果发至第二收发模块。
进一步地,所述第二访问模块还包括:第二统计模块和第二管理模块;其中,
第二统计模块,用于输出所述缓冲时间段内接收到的读写数据请求需要访 问各硬盘的次数至第二管理模块;
第二管理模块,用于将所述缓冲时间段内接收到的各读写数据请求需要访问各硬盘的次数分别累加至第二访问记录中该硬盘对应的访问次数中,之后,比较各硬盘对应的访问次数是否超过预先设定的阈值,将超过的硬盘作为热点盘;监控到第一管理模块将热点盘中的数据拷贝至备用盘后,使用所述备用盘的物理位置替换第二磁盘映射表中该热点盘的硬盘号对应的物理位置;并用于在第一管理模块故障时,扫描各硬盘的状态,并在扫描到某硬盘或某些硬盘的状态不正常时,向各控制器发出告警;
所述第二时钟模块还用于,在触发第二指令处理模块时,触发第二统计模块。
进一步地,所述第一管理模块与第一背板PCI-E switch芯片的上行端口连接;所述第二管理模块与第二背板PCI-E switch芯片的上行端口连接;
所述第一背板PCI-E switch芯片还用于,各下行端口定时向上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的错误信息、状态信息发至所述第一管理模块;
所述第二背板PCI-E switch芯片还用于,各下行端口定时向上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的错误信息、状态信息发至所述第二管理模块;
所述第一管理模块和第二管理模块还用于,将接收到的错误信息、状态信息发至各控制器的CPU;
所述各控制器的CPU还用于,根据接收到的错误信息、状态信息判断第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线是否故障,以及当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线是否故障,并在第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线故障时,或者当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线故障时,指示本板PCI-E switch芯片仅向第二背板PCI-E switch芯片或第一背板PCI-E switch芯片发送读写数据请求,并指示第二访问模块或第一访问模块独自根据该缓冲时间段内接收到的读写数据请求访问硬盘。
本发明还提供一种多控磁盘阵列的实现方法,该方法包括:
预先设定缓冲时间段;
各控制器发读写数据请求至背板模块;所述控制器包括:本板模块;所述本板模块包括:CPU和本板PCI-E switch芯片;其中,本板PCI-E switch芯片与第一背板PCI-E switch芯片上除与第一访问模块连接的下行端口外的其余下行端口之一、和第二背板PCI-E switch芯片上除与第二访问模块连接的下行端口外的其余下行端口之一分别连接;
背板模块每隔设定的缓冲时间段,根据该缓冲时间段内接收到的各控制器发来的读写数据请求访问硬盘,并将访问结果以多播方式发送至各控制器;
所述背板模块包括:第一背板PCI-E switch芯片、第二背板PCI-E switch芯片、第一访问模块和第二访问模块;其中,第一访问模块与第一背板PCI-Eswitch芯片的下行端口连接,第二访问模块与第二背板PCI-E switch芯片的下行端口连接。
进一步地,所述每隔设定的缓冲时间段,根据该缓冲时间段内接收到的各控制器发来的读写数据请求访问硬盘,并将访问结果以多播方式发送至各控制器为:
第一背板PCI-E switch芯片将接收到的读写数据请求发至第一访问模块;第二背板PCI-E switch芯片将接收到的读写数据请求发至第二访问模块;
第一访问模块每隔设定的缓冲时间段,与第二访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第一背板PCI-E switch芯片;第二访问模块每隔存储的缓冲时间段,与第一访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第二背板PCI-E switch芯片;
第一背板PCI-E switch芯片接收第一访问模块返回的访问结果,并通过接收到该访问结果的下行端口将该访问结果发至第一背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器;第二背板PCI-Eswitch芯片接收第二访问模块返回的访问结果,并通过接收到该访问结果的下行端口将该访问结果发至第二背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器。
进一步地,所述与第二访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘为:
将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;
在合并后的各指令中取部分指令作为选定指令发至第二访问模块;
在接收到第二访问模块回复的剩余指令后,将选定指令中的各硬盘号转换为该硬盘号在第一磁盘映射表中对应的硬盘物理位置,根据转换后的选定指令访问硬盘。
进一步地,所述与第一访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘为:
将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;
将合并后的各指令中除接收到选定指令外的其余指令作为剩余指令回复至第一访问模块;
将剩余指令中的各硬盘号转换为该硬盘号在第二磁盘映射表中对应的硬盘物理位置,并根据转换后的剩余指令访问硬盘。
进一步地,所述与第二访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘时,该方法进一步包括:
所述第一统计模块输出所述缓冲时间段内接收到的读写数据请求需要访问各硬盘的次数至第一管理模块;
第一管理模块将接收到的需要访问各硬盘的次数分别累加至第一访问记录中该硬盘对应的访问次数中;之后,比较各硬盘对应的访问次数是否超过预先设定的阈值,将超过的硬盘作为热点盘;将热点盘中的数据拷贝至备用盘;并在拷贝完毕后,使用所述备用盘的物理位置替换第一磁盘映射表该热点盘的硬盘号对应的物理位置;
所述与第一访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘时,该方法进一步包括:
所述第二统计模块输出所述缓冲时间段内接收到的读写数据请求需要访问各硬盘的次数至第二管理模块;
第二管理模块将接收到的需要访问各硬盘的次数分别累加至第二访问记录中该硬盘对应的访问次数中;之后,比较各硬盘对应的访问次数是否超过预先设定的阈值,将超过的硬盘作为热点盘;并在监控到第一管理模块将热点盘中的数据拷贝至备用盘后,使用所述备用盘的物理位置替换第二磁盘映射表该热点盘的硬盘号对应的物理位置;
该方法还包括:所述第一管理模块或第二管理模块扫描各硬盘的状态,并在扫描到某硬盘或某些硬盘的状态不正常时,向各控制器发出告警。
进一步地,第一管理模块与第一背板PCI-E switch芯片的上行端口连接;第二管理模块与第二背板PCI-E switch芯片的上行端口连接;
该方法进一步包括:
在所述第一背板PCI-E switch芯片上,各下行端口定时向上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的错误信息、状态信息发至所述第一管理模块;在所述第二背板PCI-E switch芯片上,各下行端口定时向其上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的错误信息、状态信息发至所述第二管理模块;
所述第一管理模块和第二管理模块将接收到的错误信息、状态信息发至各控制器的CPU;
所述各控制器的CPU根据接收到的错误信息、状态信息判断第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线是否故障,以及当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线是否故障,并当第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线故障时,或者当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线故障时,指示本板PCI-E switch芯片仅向第二背板PCI-E switch 芯片或第一背板PCI-E switch芯片发送读写数据请求,并指示第二访问模块或第一访问模块独自根据该缓冲时间段内接收到的读写数据请求访问硬盘。
本发明通过背板模块根据各控制器发读写数据请求通过磁盘支持的双通道访问硬盘,并将访问结果以多播方式发送至各控制器,实现多个控制器通过双通道管理硬盘,使得各控制器处于对等地位,避免了通过主控制器与从控制器的数据同步来实现硬盘管理的方法中,因与从控制器的数据同步造成主控制器的数据压力太大,进而限制磁盘阵列规模的问题。本发明所提供的装置和方法,还具有以下的优点和特点:
1、本发明中,通过第一访问模块与第二访问模块协同根据缓冲时间段内接收到的读写数据请求访问硬盘,提高硬盘的访问速率;
2、本发明通过将访问同一硬盘的各指令合并为一条指令,减少等待硬盘回复的时间;
3、本发明通过第一背板PCI-E switch芯片、第一访问模块和与之连接的PCI-E总线、与第二背板PCI-E switch芯片、第二访问模块和与之连接的PCI-E总线相互备用,提高多控磁盘阵列的可靠性。
附图说明
图1为现有多控磁盘阵列的结构示意图;
图2为本发明实施例多控磁盘阵列的结构示意图;
图3为本发明实施例多控磁盘阵列的实现方法的流程图。
具体实施方式
本发明实施例多控磁盘阵列的结构如图2所示,包括:背板模块、多个控制器和多个硬盘;其中,
控制器,用于发读写数据请求至背板模块;接收、并处理背板模块发来的访问结果;
其中,处理背板模块发来的访问结果包括:由背板模块发来的访问结果中 查询控制器自身发送的读写数据请求对应的访问结果。
背板模块,用于设定缓冲时间段,并每隔设定的缓冲时间段,根据该缓冲时间段内接收到的各控制器发来的读写数据请求通过各硬盘支持的双通道访问硬盘,并将访问结果以多播方式发送至各控制器;
这里,所述缓冲时间段不应太长,以免使得访问硬盘的响应时间太长,较佳的,该缓冲时间段为微秒量级;所述访问结果为从硬盘中读出的数据和/或将数据写入硬盘后回复的读写数据请求应答信息。
其中,所述背板模块包括:第一背板外设部件高速扩展接口转换(PCI-Eswitch)芯片、第二背板PCI-E switch芯片、第一访问模块和第二访问模块;其中,第一访问模块与第一背板PCI-E switch芯片的下行端口连接,第二访问模块与第二背板PCI-E switch芯片的下行端口连接;
所述控制器包括:本板模块;所述本板模块包括:CPU和本板PCI-E switch芯片;其中,本板PCI-E switch芯片与第一背板PCI-E switch芯片上除与第一访问模块连接的下行端口外的其余下行端口之一、以及和第二背板PCI-E switch芯片上除与第二访问模块连接的下行端口外的其余下行端口之一分别连接;其中,
第一背板PCI-E switch芯片,用于将接收到的读写数据请求发至第一访问模块;接收第一访问模块返回的访问结果,并通过接收到该访问结果的下行端口将该访问结果发至第一背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器;
第二背板PCI-E switch芯片,用于将接收到的读写数据请求发至第二访问模块;接收第二访问模块返回的访问结果,并通过接收到该访问结果的下行端口将该访问结果发至第二背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器;
第一访问模块,与第一背板PCI-E switch芯片的下行端口连接,并与各硬盘支持的双通道中的一个通道相连,用于设定缓冲时间段,将设定的缓冲时间段发至第二访问模块;每隔设定的缓冲时间段,与第二访问模块协同根据将该 缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第一背板PCI-E switch芯片;
第二访问模块,与第二背板PCI-E switch芯片的下行端口连接,并与各硬盘支持的双通道中的另一个通道相连,用于接收缓冲时间段并存储;每隔存储的缓冲时间段,与第一访问模块协同根据该缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第二背板PCI-E switch芯片;
CPU,用于发出读写数据请求;接收并处理本板PCI-E switch芯片发来的访问结果。
本板PCI-E switch芯片,用于将CPU发出的读写数据请求分别发至第一背板PCI-E switch芯片和第二背板PCI-E switch芯片;并接收第一背板PCI-Eswitch芯片和第二背板PCI-E switch芯片发来的访问结果,并发至CPU;
其中,所述将CPU发出的读写数据请求分别发至第一背板PCI-E switch芯片和第二背板PCI-E switch芯片具体为:
将CPU发出的读写数据请求转换成PCI-E信号,并拷贝该PCI-E信号,将该PCI-E信号发至第一背板PCI-E switch芯片的下行端口,将拷贝的PCI-E信号发至第二背板PCI-E switch芯片的下行端口;这里,第一背板PCI-E switch芯片和第二背板PCI-E switch芯片接收到PCI-E信号后,还原PCI-E信号即可得到所述读写数据请求。
本发明实施例中,实现背板模块的功能的原理为:由于PCI-E switch芯片的下行端口间可以直接交换数据,因此,使得各控制器、第一访问模块与第一背板PCI-E switch芯片的下行端口连接,并使得各控制器、第二访问模块与第二背板PCI-E switch芯片的下行端口连接,即能够使得各控制器与第一访问模块、以及各控制器与第二访问模块可以直接交换数据,以将读写数据请求直接发给第一访问模块和第二访问模块,将第一访问模块和第二访问模块的访问结果直接发至各控制器,进而实现背板模块的功能。
进一步地,本发明实施例中,各模块、以及各芯片间的连接均通过外设部件高速扩展接口(PCI-E)总线实现。
进一步地,所述第一访问模块包括:第一时钟模块、第一收发模块、第一指令处理模块和第一硬盘环路芯片;其中,
第一时钟模块,用于设定缓冲时间段,将设定的缓冲时间段发至第二访问模块;并每隔缓冲时间段,触发第一指令处理模块;
第一收发模块,用于与第一背板PCI-E switch芯片的下行端口连接,接收第一背板PCI-E switch芯片发来的读写数据请求;并将第一硬盘环路芯片发来的访问结果发至第一背板PCI-E switch芯片;
第一指令处理模块,用于将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;并在合并后的各指令中取部分指令作为选定指令发至第二访问模块,并在接收到第二访问模块回复的剩余指令后,将选定指令中的各硬盘号转换为该硬盘号在第一磁盘映射表中对应的硬盘物理位置,并将转换后的选定指令发至硬盘环路芯片第一硬盘环路芯片;
其中,所述读写数据请求包括一个或多个访问硬盘的指令,例如,某读写数据请求包括三个访问硬盘的指令,分别为:读硬盘号为1的硬盘的1磁道15至18扇区存储的数据、读硬盘号为5的硬盘的20磁道6至13扇区存储的数据、和将数写入硬盘号为3的硬盘的8磁道5至10扇区。
所述将访问同一硬盘的各指令合并为一条指令的具体操作如以下例子所示:将读硬盘号为1的硬盘的1磁道15至18扇区存储的数据的指令、和读硬盘号为1的硬盘的3磁道1至8扇区存储的数据的指令合并为:读硬盘号为1的硬盘的1磁道15至18扇区和3磁道1至8扇区存储的数据。访问硬盘时,每向硬盘发送一条访问指令,均需等待硬盘回复后才可访问该硬盘,因此,本步骤中,将访问同一硬盘的各指令合并为一条指令可以减少等待硬盘回复的时间。
这里,为了操作简单,一般将合并后的各指令按照其包含的硬盘号的大小排序,并取序列的前半段硬盘号对应的各指令作为所述选定指令。
第一硬盘环路芯片,用于根据接收到的转换后的选定指令访问硬盘,并将 访问结果发至第一收发模块。
进一步地,所述第一访问模块还包括:第一统计模块和第一管理模块;其中,
第一统计模块,用于输出所述缓冲时间段内接收到的读写数据请求需要访问各硬盘的次数至第一管理模块;
第一管理模块,用于将所述缓冲时间段内接收到的各读写数据请求需要访问各硬盘的次数分别累加至第一访问记录中该硬盘对应的访问次数中,之后,比较各硬盘对应的访问次数是否超过预先设定的阈值,将超过的硬盘作为热点盘;将热点盘中的数据拷贝至备用盘;在拷贝完毕后,使用所述备用盘的物理位置替换第一磁盘映射表中该热点盘的硬盘号对应的物理位置;并用于扫描各硬盘的状态,并在扫描到某硬盘或某些硬盘的状态不正常时,向各控制器发出告警;其中,各硬盘的状态包括:各硬盘的电压、温度和在位信息等;所述扫描各硬盘的状态包括:定时扫描各硬盘的状态、以及按需扫描各硬盘的状态,按需扫描各硬盘的状态具体为:在用户手动刷新软件界面时,即时扫描硬盘状态,此外,第一管理模块定时扫描各硬盘的状态。
所述第一时钟模块还用于,在触发第一指令处理模块时,触发第一统计模块。
进一步地,所述第二访问模块包括:第二时钟模块、第二收发模块、第二指令处理模块和第二硬盘环路芯片;其中,
第二时钟模块,用于接收缓冲时间段并存储;并每隔存储的缓冲时间段,触发第二指令处理模块;
第二收发模块,用于与第二背板PCI-E switch芯片的下行端口连接,接收第二背板PCI-E switch芯片发来的读写数据请求;并将第二硬盘环路芯片发来的访问结果发至第二背板PCI-E switch芯片;
第二指令处理模块,用于将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;将合并后的各指令中除接收到选定指令外的其余指令作为剩余指令回复至第一访问模块,将剩余指令中的各硬盘号转 换为该硬盘号在第二磁盘映射表中对应的硬盘物理位置,并将转换后的剩余指令发至硬盘环路芯片第二硬盘环路芯片;
第二硬盘环路芯片,用于根据接收到的转换后的剩余指令访问硬盘,并将访问结果发至第二收发模块。
进一步地,所述第二访问模块还包括:第二统计模块和第二管理模块;其中,
第二统计模块,用于输出所述缓冲时间段内接收到的读写数据请求需要访问各硬盘的次数至第二管理模块;
第二管理模块,用于将所述缓冲时间段内接收到的各读写数据请求需要访问各硬盘的次数分别累加至第二访问记录中该硬盘对应的访问次数中,之后,比较各硬盘对应的访问次数是否超过预先设定的阈值,将超过的硬盘作为热点盘;监控到第一管理模块将热点盘中的数据拷贝至备用盘后,使用所述备用盘的物理位置替换第二磁盘映射表中该热点盘的硬盘号对应的物理位置;并用于在第一管理模块故障时,扫描各硬盘的状态,并在扫描到某硬盘或某些硬盘的状态不正常时,向各控制器发出告警;
所述第二时钟模块还用于,在触发第二指令处理模块时,触发第二统计模块。
进一步地,本发明实施例中,所述第一指令处理模块和第一统计模块的功能通过一个现场可编程门阵列(FPGA)实现,和所述第二指令处理模块和第二统计模块的功能通过一个FPGA实现,所述第一管理模块和第二管理模块分别通过一个微处理器实现。
进一步地,本发明实施例中,所述第一管理模块与第一背板PCI-E switch芯片的上行端口连接;所述第二管理模块与第二背板PCI-E switch芯片的上行端口连接;
所述第一背板PCI-E switch芯片还用于,各下行端口定时向上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的错误信息、状态信息 发至所述第一管理模块;
所述第二背板PCI-E switch芯片还用于,各下行端口定时向上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的错误信息、状态信息发至所述第二管理模块;
所述第一管理模块和第二管理模块还用于,将接收到的错误信息、状态信息发至各控制器的CPU;
所述各控制器的CPU还用于,根据接收到的错误信息、状态信息判断第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线是否故障,以及当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线是否故障,并在第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线故障时,或者当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线故障时,指示本板PCI-E switch芯片仅向第二背板PCI-E switch芯片或第一背板PCI-E switch芯片发送读写数据请求,并指示第二访问模块或第一访问模块独自根据该缓冲时间段内接收到的读写数据请求访问硬盘。
本发明实施例中,将合并后各指令分组后,由第一访问模块和第二访问模块分别处理,可以提高访问速率,而当第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线故障,或者当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线故障时,不将合并后各指令分组,没有发生故障的第一访问模块或第二访问模将合并后的指令中的各硬盘号转换为该硬盘号在第一磁盘映射表或第二磁盘映射表中对应的硬盘物理位置,并根据转换后的指令对磁盘进行数据读写操作,即第一背板PCI-E switch芯片、第一访问模块和与之连接的PCI-E总线、与第二背板PCI-E switch芯片、第二访问模块和与之连接的PCI-E总线相互备用,第一磁盘映射表和第二磁盘映射表互为备份,以提高多控磁盘阵列的可靠性。
进一步地,所述第一磁盘映射表和第二磁盘映射表均如表1所示。
硬盘号 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | ... |
硬盘的物理位置 | 02 | 03 | 05 | 01 | 07 | 06 | 04 | ... |
表1
采用本发明所述多控磁盘阵列实现方法的流程如图3所示,包括以下步骤:
步骤301:预先设定缓冲时间段。
步骤302:各控制器发读写数据请求至背板模块。
步骤303:背板模块每隔设定的缓冲时间段,根据该缓冲时间段内接收到的各控制器发来的读写数据请求访问硬盘,并将访问结果以多播方式发送至各控制器。
其中,所述背板模块包括:第一背板PCI-E switch芯片、第二背板PCI-Eswitch芯片、第一访问模块和第二访问模块;其中,第一访问模块与第一背板PCI-E switch芯片的下行端口连接,第二访问模块与第二背板PCI-E switch芯片的下行端口连接;
所述控制器包括:本板模块;所述本板模块包括:CPU和本板PCI-E switch芯片;其中,本板PCI-E switch芯片与第一背板PCI-E switch芯片上除与第一访问模块连接的下行端口外的其余下行端口之一、和第二背板PCI-E switch芯片上除与第二访问模块连接的下行端口外的其余下行端口之一分别连接;
所述每隔设定的缓冲时间段,根据该缓冲时间段内接收到的各控制器发来的读写数据请求访问硬盘,并将访问结果以多播方式发送至各控制器为:
第一背板PCI-E switch芯片将接收到的读写数据请求发至第一访问模块;第二背板PCI-E switch芯片将接收到的读写数据请求发至第二访问模块;
第一访问模块每隔设定的缓冲时间段,与第二访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第一背板PCI-E switch芯片;第二访问模块每隔存储的缓冲时间段,与第一访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第二背板PCI-E switch芯片;
第一背板PCI-E switch芯片接收第一访问模块返回的访问结果,并通过接 收到该访问结果的下行端口将该访问结果发至第一背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器;第二背板PCI-Eswitch芯片接收第二访问模块返回的访问结果,并通过接收到该访问结果的下行端口将该访问结果发至第二背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器。
进一步地,所述与第二访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘为:
将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;
在合并后的各指令中取部分指令作为选定指令发至第二访问模块;
在接收到第二访问模块回复的剩余指令后,将选定指令中的各硬盘号转换为该硬盘号在第一磁盘映射表中对应的硬盘物理位置,根据转换后的选定指令访问硬盘。
进一步地,所述与第一访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘为:
将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;
将合并后的各指令中除接收到选定指令外的其余指令作为剩余指令回复至第一访问模块;
将剩余指令中的各硬盘号转换为该硬盘号在第二磁盘映射表中对应的硬盘物理位置,并根据转换后的剩余指令访问硬盘。
进一步地,所述与第二访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘时,该方法进一步包括:
所述第一统计模块输出所述缓冲时间段内接收到的读写数据请求需要访问各硬盘的次数至第一管理模块;
第一管理模块将接收到的需要访问各硬盘的次数分别累加至第一访问记录中该硬盘对应的访问次数中;之后,比较各硬盘对应的访问次数是否超过预先 设定的阈值,将超过的硬盘作为热点盘;将热点盘中的数据拷贝至备用盘;并在拷贝完毕后,使用所述备用盘的物理位置替换第一磁盘映射表该热点盘的硬盘号对应的物理位置;
进一步地,所述与第一访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘时,该方法进一步包括:
所述第二统计模块输出所述缓冲时间段内接收到的读写数据请求需要访问各硬盘的次数至第二管理模块;
第二管理模块将接收到的需要访问各硬盘的次数分别累加至第二访问记录中该硬盘对应的访问次数中;之后,比较各硬盘对应的访问次数是否超过预先设定的阈值,将超过的硬盘作为热点盘;并在监控到第一管理模块将热点盘中的数据拷贝至备用盘后,使用所述备用盘的物理位置替换第二磁盘映射表该热点盘的硬盘号对应的物理位置;
进一步地,该方法还包括:所述第一管理模块或第二管理模块扫描各硬盘的状态,并在扫描到某硬盘或某些硬盘的状态不正常时,向各控制器发出告警。
进一步地,所述第一管理模块与第一背板PCI-E switch芯片的上行端口连接;所述第二管理模块与第二背板PCI-E switch芯片的上行端口连接;
相应的,该方法进一步包括:
在所述第一背板PCI-E switch芯片上,各下行端口定时向上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的错误信息、状态信息发至所述第一管理模块;在所述第二背板PCI-E switch芯片上,各下行端口定时向其上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的错误信息、状态信息发至所述第二管理模块;
所述第一管理模块和第二管理模块将接收到的错误信息、状态信息发至各控制器的CPU;
所述各控制器的CPU根据接收到的错误信息、状态信息判断第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线是否故障,以及当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线是否 故障,并当第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线故障时,或者当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线故障时,指示本板PCI-E switch芯片仅向第二背板PCI-E switch芯片或第一背板PCI-E switch芯片发送读写数据请求,并指示第二访问模块或第一访问模块独自根据该缓冲时间段内接收到的读写数据请求访问硬盘。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (14)
1.一种多控磁盘阵列,其特征在于,包括:背板模块、多个控制器和多个硬盘;其中,
控制器,用于发读写数据请求至背板模块;并接收背板模块发来的访问结果;
所述控制器包括:CPU和本板外设部件高速扩展接口转换(PCI-E switch)芯片;其中,本板PCI-E switch芯片与第一背板PCI-E switch芯片上除与第一访问模块连接的下行端口外的其余下行端口之一、和第二背板PCI-E switch芯片上除与第二访问模块连接的下行端口外的其余下行端口之一分别连接;
背板模块,用于设定缓冲时间段,并每隔设定的缓冲时间段,根据该缓冲时间段内接收到的各控制器发来的读写数据请求访问硬盘,并将访问结果以多播方式发送至各控制器;
所述背板模块包括:第一背板PCI-E switch芯片、第二背板PCI-E switch芯片、第一访问模块和第二访问模块;其中,第一访问模块与第一背板PCI-Eswitch芯片的下行端口连接,第二访问模块与第二背板PCI-E switch芯片的下行端口连接。
2.根据权利要求1所述多控磁盘阵列,其特征在于,
所述第一背板PCI-E switch芯片,用于将接收到的读写数据请求发至第一访问模块;接收第一访问模块返回的访问结果,并通过接收到该访问结果的下行端口将该访问结果发至第一背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器;
所述第二背板PCI-E switch芯片,用于将接收到的读写数据请求发至第二访问模块;接收第二访问模块返回的访问结果,并通过接收到该访问结果的下行端口将该访问结果发至第二背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器;
所述第一访问模块,与第一背板PCI-E switch芯片的下行端口连接,用于 设定缓冲时间段,将设定的缓冲时间段发至第二访问模块;每隔设定的缓冲时间段,与第二访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第一背板PCI-E switch芯片;
所述第二访问模块,与第二背板PCI-E switch芯片的下行端口连接,用于接收缓冲时间段并存储;每隔存储的缓冲时间段,与第一访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第二背板PCI-E switch芯片。
3.根据权利要求2所述多控磁盘阵列,其特征在于,
所述CPU,用于发出读写数据请求;
所述本板PCI-E switch芯片,用于将CPU发出的读写数据请求分别发至第一背板PCI-E switch芯片和第二背板PCI-E switch芯片;并接收第一背板PCI-Eswitch芯片和第二背板PCI-E switch芯片发来的访问结果。
4.根据权利要求2或3所述多控磁盘阵列,其特征在于,所述第一访问模块包括:第一时钟模块、第一收发模块、第一指令处理模块和第一硬盘环路芯片;其中,
第一时钟模块,用于设定缓冲时间段,将设定的缓冲时间段发至第二访问模块;并每隔缓冲时间段,触发第一指令处理模块;
第一收发模块,用于与第一背板PCI-E switch芯片的下行端口连接,接收第一背板PCI-E switch芯片发来的读写数据请求;并将第一硬盘环路芯片发来的访问结果发至第一背板PCI-E switch芯片;
第一指令处理模块,用于将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;并在合并后的各指令中取部分指令作为选定指令发至第二访问模块,并在接收到第二访问模块回复的剩余指令后,将选定指令中的各硬盘号转换为该硬盘号在第一磁盘映射表中对应的硬盘物理位置,并将转换后的选定指令发至硬盘环路芯片第一硬盘环路芯片;
第一硬盘环路芯片,用于根据接收到的转换后的选定指令访问硬盘,并将访问结果发至第一收发模块。
5.根据权利要求4所述多控磁盘阵列,其特征在于,所述第一访问模块还包括:第一统计模块和第一管理模块;其中,
第一统计模块,用于输出所述缓冲时间段内接收到的读写数据请求需要访问各硬盘的次数至第一管理模块;
第一管理模块,用于将所述缓冲时间段内接收到的各读写数据请求需要访问各硬盘的次数分别累加至第一访问记录中该硬盘对应的访问次数中,之后,比较各硬盘对应的访问次数是否超过预先设定的阈值,将超过的硬盘作为热点盘;将热点盘中的数据拷贝至备用盘;在拷贝完毕后,使用所述备用盘的物理位置替换第一磁盘映射表中该热点盘的硬盘号对应的物理位置;并用于扫描各硬盘的状态,并在扫描到某硬盘或某些硬盘的状态不正常时,向各控制器发出告警;
所述第一时钟模块还用于,在触发第一指令处理模块时,触发第一统计模块。
6.根据权利要求2或3所述多控磁盘阵列,其特征在于,所述第二访问模块包括:第二时钟模块、第二收发模块、第二指令处理模块和第二硬盘环路芯片;其中,
第二时钟模块,用于接收缓冲时间段并存储;并每隔存储的缓冲时间段,触发第二指令处理模块;
第二收发模块,用于与第二背板PCI-E switch芯片的下行端口连接,接收第二背板PCI-E switch芯片发来的读写数据请求;并将第二硬盘环路芯片发来的访问结果发至第二背板PCI-E switch芯片;
第二指令处理模块,用于将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;将合并后的各指令中除接收到选定指令外的其余指令作为剩余指令回复至第一访问模块,将剩余指令中的各硬盘号转换为该硬盘号在第二磁盘映射表中对应的硬盘物理位置,并将转换后的剩余指 令发至硬盘环路芯片第二硬盘环路芯片;
第二硬盘环路芯片,用于根据接收到的转换后的剩余指令访问硬盘,并将访问结果发至第二收发模块。
7.根据权利要求6所述多控磁盘阵列,其特征在于,所述第二访问模块还包括:第二统计模块和第二管理模块;其中,
第二统计模块,用于输出所述缓冲时间段内接收到的读写数据请求需要访问各硬盘的次数至第二管理模块;
第二管理模块,用于将所述缓冲时间段内接收到的各读写数据请求需要访问各硬盘的次数分别累加至第二访问记录中该硬盘对应的访问次数中,之后,比较各硬盘对应的访问次数是否超过预先设定的阈值,将超过的硬盘作为热点盘;监控到第一管理模块将热点盘中的数据拷贝至备用盘后,使用所述备用盘的物理位置替换第二磁盘映射表中该热点盘的硬盘号对应的物理位置;并用于在第一管理模块故障时,扫描各硬盘的状态,并在扫描到某硬盘或某些硬盘的状态不正常时,向各控制器发出告警;
所述第二时钟模块还用于,在触发第二指令处理模块时,触发第二统计模块。
8.根据权利要求7所述多控磁盘阵列,其特征在于,所述第一管理模块与第一背板PCI-E switch芯片的上行端口连接;所述第二管理模块与第二背板PCI-E switch芯片的上行端口连接;
所述第一背板PCI-E switch芯片还用于,各下行端口定时向上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的错误信息、状态信息发至所述第一管理模块;
所述第二背板PCI-E switch芯片还用于,各下行端口定时向上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的错误信息、状态信息发至所述第二管理模块;
所述第一管理模块和第二管理模块还用于,将接收到的错误信息、状态信息发至各控制器的CPU;
所述各控制器的CPU还用于,根据接收到的错误信息、状态信息判断第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线是否故障,以及当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线是否故障,并在第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线故障时,或者当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线故障时,指示本板PCI-E switch芯片仅向第二背板PCI-E switch芯片或第一背板PCI-E switch芯片发送读写数据请求,并指示第二访问模块或第一访问模块独自根据该缓冲时间段内接收到的读写数据请求访问硬盘。
9.一种多控磁盘阵列的实现方法,其特征在于,该方法包括:
预先设定缓冲时间段;
各控制器发读写数据请求至背板模块;所述控制器包括:本板模块;所述本板模块包括:CPU和本板PCI-E switch芯片;其中,本板PCI-E switch芯片与第一背板PCI-E switch芯片上除与第一访问模块连接的下行端口外的其余下行端口之一、和第二背板PCI-E switch芯片上除与第二访问模块连接的下行端口外的其余下行端口之一分别连接;
背板模块每隔设定的缓冲时间段,根据该缓冲时间段内接收到的各控制器发来的读写数据请求访问硬盘,并将访问结果以多播方式发送至各控制器;
所述背板模块包括:第一背板PCI-E switch芯片、第二背板PCI-E switch芯片、第一访问模块和第二访问模块;其中,第一访问模块与第一背板PCI-Eswitch芯片的下行端口连接,第二访问模块与第二背板PCI-E switch芯片的下行端口连接。
10.根据权利要求9所述多控磁盘阵列的实现方法,其特征在于,所述每隔设定的缓冲时间段,根据该缓冲时间段内接收到的各控制器发来的读写数据请求访问硬盘,并将访问结果以多播方式发送至各控制器为:
第一背板PCI-E switch芯片将接收到的读写数据请求发至第一访问模块;第二背板PCI-E switch芯片将接收到的读写数据请求发至第二访问模块;
第一访问模块每隔设定的缓冲时间段,与第二访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第一背板 PCI-E switch芯片;第二访问模块每隔存储的缓冲时间段,与第一访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘,并将访问结果返回给第二背板PCI-E switch芯片;
第一背板PCI-E switch芯片接收第一访问模块返回的访问结果,并通过接收到该访问结果的下行端口将该访问结果发至第一背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器;第二背板PCI-Eswitch芯片接收第二访问模块返回的访问结果,并通过接-收到该访问结果的下行端口将该访问结果发至第二背板PCI-E switch芯片的其余下行端口,由其余下行端口将该访问结果发至各控制器。
11.根据权利要求10所述多控磁盘阵列的实现方法,其特征在于,所述与第二访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘为:
将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;
在合并后的各指令中取部分指令作为选定指令发至第二访问模块;
在接收到第二访问模块回复的剩余指令后,将选定指令中的各硬盘号转换为该硬盘号在第一磁盘映射表中对应的硬盘物理位置,根据转换后的选定指令访问硬盘。
12.根据权利要求11所述多控磁盘阵列的实现方法,其特征在于,所述与第一访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘为:
将所述缓冲时间段内接收到的读写数据请求中访问同一硬盘的各指令合并为一条指令;
将合并后的各指令中除接收到选定指令外的其余指令作为剩余指令回复至第一访问模块;
将剩余指令中的各硬盘号转换为该硬盘号在第二磁盘映射表中对应的硬盘物理位置,并根据转换后的剩余指令访问硬盘。
13.根据权利要求10所述多控磁盘阵列的实现方法,其特征在于,所述与第二访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘时, 该方法进一步包括:
所述第一统计模块输出所述缓冲时间段内接收到的读写数据请求需要访问各硬盘的次数至第一管理模块;
第一管理模块将接收到的需要访问各硬盘的次数分别累加至第一访问记录中该硬盘对应的访问次数中;之后,比较各硬盘对应的访问次数是否超过预先设定的阈值,将超过的硬盘作为热点盘;将热点盘中的数据拷贝至备用盘;并在拷贝完毕后,使用所述备用盘的物理位置替换第一磁盘映射表该热点盘的硬盘号对应的物理位置;
所述与第一访问模块协同根据将该缓冲时间段内接收到的读写数据请求访问硬盘时,该方法进一步包括:
所述第二统计模块输出所述缓冲时间段内接收到的读写数据请求需要访问各硬盘的次数至第二管理模块;
第二管理模块将接收到的需要访问各硬盘的次数分别累加至第二访问记录中该硬盘对应的访问次数中;之后,比较各硬盘对应的访问次数是否超过预先设定的阈值,将超过的硬盘作为热点盘;并在监控到第一管理模块将热点盘中的数据拷贝至备用盘后,使用所述备用盘的物理位置替换第二磁盘映射表该热点盘的硬盘号对应的物理位置;
该方法还包括:所述第一管理模块或第二管理模块扫描各硬盘的状态,并在扫描到某硬盘或某些硬盘的状态不正常时,向各控制器发出告警。
14.根据权利要求10所述多控磁盘阵列的实现方法,其特征在于,第一管理模块与第一背板PCI-E switch芯片的上行端口连接;第二管理模块与第二背板PCI-E switch芯片的上行端口连接;
该方法进一步包括:
在所述第一背板PCI-E switch芯片上,各下行端口定时向上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的错误信息、状态信息发至所述第一管理模块;在所述第二背板PCI-E switch芯片上,各下行端口定时向其上行端口上报PCI-E总线的错误信息、状态信息,上行端口将接收到的 错误信息、状态信息发至所述第二管理模块;
所述第一管理模块和第二管理模块将接收到的错误信息、状态信息发至各控制器的CPU;
所述各控制器的CPU根据接收到的错误信息、状态信息判断第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线是否故障,以及当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线是否故障,并当第一背板PCI-E switch芯片、第一访问模块、或与之连接的PCI-E总线故障时,或者当第二背板PCI-E switch芯片、第二访问模块、或与之连接的PCI-E总线故障时,指示本板PCI-E switch芯片仅向第二背板PCI-E switch芯片或第一背板PCI-E switch芯片发送读写数据请求,并指示第二访问模块或第一访问模块独自根据该缓冲时间段内接收到的读写数据请求访问硬盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102372830A CN101719051B (zh) | 2009-11-09 | 2009-11-09 | 一种多控磁盘阵列及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102372830A CN101719051B (zh) | 2009-11-09 | 2009-11-09 | 一种多控磁盘阵列及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101719051A CN101719051A (zh) | 2010-06-02 |
CN101719051B true CN101719051B (zh) | 2012-06-13 |
Family
ID=42433631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102372830A Expired - Fee Related CN101719051B (zh) | 2009-11-09 | 2009-11-09 | 一种多控磁盘阵列及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101719051B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102592644B (zh) * | 2011-01-13 | 2015-03-18 | 赛恩倍吉科技顾问(深圳)有限公司 | 硬盘背板 |
JP5346979B2 (ja) * | 2011-04-18 | 2013-11-20 | シャープ株式会社 | インターフェイス装置、配線基板、及び情報処理装置 |
CN103049218B (zh) * | 2012-12-11 | 2016-11-16 | 华为技术有限公司 | 数据存储方法和控制器 |
CN105224263A (zh) * | 2015-11-09 | 2016-01-06 | 深圳市迪菲特科技股份有限公司 | 双控磁盘阵列间通过vpd芯片进行数据交换的方法与装置 |
CN106354428B (zh) * | 2016-08-24 | 2019-12-31 | 苏州浪潮智能科技有限公司 | 一种多物理层分区计算机体系结构的存储共享系统 |
CN107229424B (zh) * | 2017-05-31 | 2020-09-22 | 苏州浪潮智能科技有限公司 | 一种分布式存储系统数据写入方法及分布式存储系统 |
CN107544760B (zh) * | 2017-09-20 | 2020-10-02 | 郑州云海信息技术有限公司 | 一种分布式存储请求的下发方法、装置、设备及存储介质 |
CN107817953B (zh) * | 2017-11-20 | 2020-07-28 | 杭州宏杉科技股份有限公司 | 一种双控存储设备访问硬盘的方法及装置 |
CN107992437A (zh) * | 2017-12-12 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种支持双控模式的硬盘背板连接方法、系统及连接线缆 |
CN110750220A (zh) * | 2019-10-25 | 2020-02-04 | 北京浪潮数据技术有限公司 | sheepdog分布式存储系统中卷的读写方法及装置 |
CN111078600B (zh) * | 2019-11-15 | 2021-04-27 | 苏州浪潮智能科技有限公司 | 一种基于PCIe Switch的RSSD大容量存储系统 |
CN114167941B (zh) * | 2021-08-27 | 2023-07-18 | 苏州浪潮智能科技有限公司 | 一种硬盘卡槽双端口时钟信号配置装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1407461A (zh) * | 2001-08-30 | 2003-04-02 | 威达电股份有限公司 | 磁盘阵列控制装置 |
CN101453485A (zh) * | 2007-12-07 | 2009-06-10 | 英业达股份有限公司 | 使用多播数据流进行数据传输及写入的方法 |
-
2009
- 2009-11-09 CN CN2009102372830A patent/CN101719051B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1407461A (zh) * | 2001-08-30 | 2003-04-02 | 威达电股份有限公司 | 磁盘阵列控制装置 |
CN101453485A (zh) * | 2007-12-07 | 2009-06-10 | 英业达股份有限公司 | 使用多播数据流进行数据传输及写入的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101719051A (zh) | 2010-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101719051B (zh) | 一种多控磁盘阵列及其实现方法 | |
US10372339B2 (en) | Extensible memory hub | |
US20080005514A1 (en) | Storage system and storage control device | |
US9678667B2 (en) | Techniques for maintaining device coordination in a storage cluster system | |
CN101477480B (zh) | 内存控制方法、装置及内存读写系统 | |
TW201324130A (zh) | 複數個磁碟陣列系統之資料儲存方法及資料儲存系統 | |
CN102272745A (zh) | 存储器系统控制器 | |
CN103907088A (zh) | 用于可扩展低时延固态驱动器接口的方法和装置 | |
CN103150128A (zh) | 基于ssd和磁盘的可靠混合存储系统实现方法 | |
US20160253268A1 (en) | Apparatus and method for accessing a non-volatile memory blade using multiple controllers in a non-volatile memory based storage device | |
US20030046460A1 (en) | Disk array system and a method for controlling the disk array system | |
US9804940B2 (en) | Techniques for maintaining device coordination in a storage cluster system | |
CN105786400A (zh) | 一种异构混合内存组件、系统及存储方法 | |
CN112035381A (zh) | 一种存储系统及存储数据处理方法 | |
CN103403667A (zh) | 数据处理方法和设备 | |
CN103019893A (zh) | 一种多盘容错的二维混合盘raid4系统架构及其读写方法 | |
KR20110073920A (ko) | 프로그램 시간을 감소시킨 비휘발성 메모리 장치 | |
US20240078045A1 (en) | Hardware queue handling system, method, solid state drive controller, and solid-state drive | |
US20110283063A1 (en) | Disk array device, a disk array device control method and a disk array device control program | |
CN103929475A (zh) | 一种以太网架构的硬盘存储系统及硬盘数据操作方法 | |
CN106919339A (zh) | 一种硬盘阵列及硬盘阵列处理操作请求的方法 | |
CN106844234B (zh) | 数据写入方法及装置、双活系统 | |
CN105938461A (zh) | 一种dma数据传输方法、装置以及网络设备 | |
US20160011791A1 (en) | Storage control apparatus, storage system, and program | |
US20100325373A1 (en) | Duplexing Apparatus and Duplexing Control Method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120613 Termination date: 20171109 |