CN104049915A - 一种存储系统及通信方法 - Google Patents
一种存储系统及通信方法 Download PDFInfo
- Publication number
- CN104049915A CN104049915A CN201410280174.8A CN201410280174A CN104049915A CN 104049915 A CN104049915 A CN 104049915A CN 201410280174 A CN201410280174 A CN 201410280174A CN 104049915 A CN104049915 A CN 104049915A
- Authority
- CN
- China
- Prior art keywords
- controller
- pcie
- request
- chassis
- host interface
- 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.)
- Granted
Links
Abstract
本发明公开了一种存储系统及通信方法,方法为,当第一硬盘框中的第一主机接口卡接收到上层主机发送的第一I/O请求后,将该第一I/O请求通过PCIE总线发送至第一控制框,由第一控制框处理该第一I/O请求。采用本发明技术方案,在第一硬盘框中增加第一主机接口卡,通过第一硬盘框中的第一主机接口卡接收上层主机发送的第一I/O请求,从而能够增加存储系统中的主机接口。随着硬盘框数量的增加,能够平滑实现主机接口数量的增加,无须增加新的设备,有效降低了存储系统主机接口数量扩展过程中的成本以及设备改造复杂度。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种存储系统及通信方法。
背景技术
目前,对于通信系统中的主机,其存储空间大小为固定值,当主机所需处理的数据数量较为庞大时,主机存储空间的大小将成为制约主机数据处理能力的重要因素。
为了能够增大主机的存储空间,通常在主机外加设存储系统,将存储系统作为主机的外设存储单元,通过交换网络实现存储系统与主机之间的数据交互。上述存储系统包含硬盘框和控制框,其中,硬盘框用于放置存储数据的所有硬盘,该硬盘框包含实现与其他硬盘框对接的硬盘接口以及连接控制框的数据接口;控制框包含独立的中心处理单元(Central Processing Unit,CPU)系统,用于处理数据,该控制框包含与上层主机连接的主机接口。控制框通过线缆或者光纤连接至硬盘框的数据接口,以将控制框处理后的数据存储至硬盘框的硬盘中。
目前,根据硬盘框和控制框之间的位置关系,将存储系统分为两种类型,即当存储系统中控制框和硬盘框位于同一台硬件设备中时,该存储系统为盘控一体模式;当存储系统中控制框和硬盘框位于不同的硬件设备中时,该存储系统称为独立机头模式。无论存储系统采用哪一种模式连接,由于控制框上的主机接口数量一定,因此,存储系统与上层主机之间的主机接口数量一定。当需要增加存储系统与上层主机之间的主机接口数量,以使存储系统能够连接更多的主机时,通常通过在主机和存储系统之间增加交换机来增加存储系统的主机接口数量。例如,若存储系统仅有4个主机接口,则将存储系统的4个主机接口连接至拥有20个接口的交换机,通过该交换机连接至上层主机进行存储系统与主机之间的数据交互,此时,存储系统相对于主机来说,主机接口的数量为20个。采用上述技术方案,需要在主机与存储系统之间增加额外的交换机,从而增加了数据处理的复杂度以及成本。
由此可见,目前对主机接口数量的扩展过程中,存在设备改造过程复杂以及成本高的问题。
发明内容
本发明实施例提供一种存储系统及通信方法,用以解决目前对主机接口数量的扩展过程中,存在设备改造过程复杂以及成本高的问题。
本发明实施例提供的具体技术方案如下:
第一方面,提供一种存储系统,所述存储系统包括第一硬盘框以及第一控制框,所述第一硬盘框通过外部部件高速互连标准PCIE总线与第一控制框连接,所述第一控制框包括第一控制器,所述第一硬盘框包括第一主机接口卡和第一PCIE switch,所述第一主机接口卡用于连接主机,所述第一PCIE switch通过所述PCIE总线连接所述第一控制器,其中:所述第一主机接口卡,用于接收所述主机发送的第一I/O请求,并将所述第一I/O请求转发给所述第一PCIE switch;所述第一PCIE switch,用于通过所述PCIE总线将所述第一I/O请求发送给所述第一控制器;所述第一控制器,用于执行所述第一I/O请求。
结合第一方面,在第一种可能的实现方式中,所述第一控制框还包括第二控制器,所述第一硬盘框还包括第二PCIE switch,所述第二PCIE switch通过所述PCIE总线连接所述第二控制器,所述第一PCIE switch与所述第二PCIEswitch之间具有镜像通道,所述第一I/O请求中携带有要存储的数据,其中:所述第一主机接口卡,还用于将所述数据通过所述第一PCIE switch以及所述镜像通道发送给所述第二PCIE switch;所述第二PCIE switch,用于通过所述PCIE总线将所述数据发送给所述第二控制器。
结合第一方面,或者第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述存储系统还包括第二控制框,所述第二控制框包括第三控制器,所述第三控制器通过PCIE总线与所述第一硬盘框中的第一PCIE switch连接,其中:所述第一主机接口卡,还用于接收所述主机发送的第二I/O请求;所述第一PCIE switch,还用于通过所述PCIE总线将所述第二I/O请求转发至所述第三控制器;所述第三控制器,用于执行所述第二I/O请求。
结合第一方面,或者第一方面第一种可能的实现方式,在第三种可能的实现方式中,所述存储系统还包括第二硬盘框,所述第二硬盘框通过PCIE总线与第一控制框连接,所述第二硬盘框包括第二主机接口卡和第三PCIE switch,所述第二主机接口卡用于连接所述主机,所述第三PCIE switch通过所述PCIE总线连接所述第一控制器,其中:所述第二主机接口卡,用于接收所述主机发送的第三I/O请求,并将所述第三I/O请求转发给所述第三PCIE switch;所述第三PCIE switch,用于通过所述PCIE总线将所述第三I/O请求发送给所述第一控制器;所述第一控制器,用于执行所述第三I/O请求。
结合第一方面,在第四种可能的实现方式中,所述第一主机接口卡提供的接口包括光纤通道技术FC接口、千兆以太网GE接口或万兆以太网10GE接口。
第二方面,提供一种通信方法,所述方法应用于存储系统中,所述存储系统包括第一硬盘框以及第一控制框,所述第一硬盘框通过外部部件高速互连标准PCIE总线与第一控制框连接,所述第一控制框包括第一控制器,所述第一硬盘框包括第一主机接口卡和第一PCIE switch,所述第一主机接口卡用于连接主机,所述第一PCIE switch通过所述PCIE总线连接所述第一控制器,所述方法包括:所述第一主机接口卡接收所述主机发送的第一I/O请求,并将所述第一I/O请求转发给所述第一PCIE switch;所述第一PCIE switch通过所述PCIE总线将所述第一I/O请求发送给所述第一控制器。
结合第二方面,在第一种可能的实现方式中,所述第一控制框还包括第二控制器,所述第一硬盘框还包括第二PCIE switch,所述第二PCIE switch通过所述PCIE总线连接所述第二控制器,所述第一PCIE switch与所述第二PCIEswitch之间具有镜像通道,所述第一I/O请求中携带有要存储的数据,所述方法还包括:所述第一PCIE switch通过所述镜像通道将所述第一I/O请求中携带的要存储所述数据发送给所述第二PCIE switch;所述第二PCIE switch通过所述PCIE总线将所述数据发送给所述第二控制器。
结合第二方面,或者第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述存储系统还包括第二控制框,所述第二控制框包括第三控制器,所述第三控制器通过PCIE总线与所述第一硬盘框中的第一PCIE switch连接,所述方法还包括:
所述第一主机接口卡接收到所述主机发送的第二I/O请求,并将所述第二I/O请求转发给所述第一PCIE switch;
所述第一PCIE switch接收所述第一主机接口卡发送的第二I/O请求,并通过所述PCIE总线将所述第二I/O请求转发至所述第三控制器。
结合第二方面第二种可能的实现方式中,在第三种可能的实现方式中,所述存储系统还包括第二硬盘框,所述第二硬盘框通过PCIE总线与第一控制框连接,所述第二硬盘框包括第二主机接口卡和第三PCIE switch,所述第二主机接口卡用于连接所述主机,所述第三PCIE switch通过所述PCIE总线连接所述第一控制器,所述方法还包括:
所述第二主机接口卡接收所述主机发送的第三I/O请求,并将所述第三I/O请求转发给所述第三PCIE switch;
所述第三PCIE switch接收所述第二主机接口卡发送的所述第三I/O请求,并通过所述PCIE总线将所述第三I/O请求发送给所述第一控制器。
结合第二方面,在第四种可能的实现方式中,所述主机接口卡提供的接口包括光纤通道技术FC接口、千兆以太网GE接口、或万兆以太网10GE接口。
本发明实施例中,当第一硬盘框中的第一主机接口卡接收到上层主机发送的第一I/O请求后,将该第一I/O请求通过PCIE总线发送至第一控制框,由第一控制框处理该第一I/O请求。采用本发明技术方案,在第一硬盘框中增加第一主机接口卡,通过第一硬盘框中的第一主机接口卡接收上层主机发送的第一I/O请求,从而能够增加存储系统中的主机接口。随着硬盘框数量的增加,能够平滑实现主机接口数量的增加,无须增加新的设备,有效降低了存储系统主机接口数量扩展过程中的成本以及设备改造复杂度。
附图说明
图1为本发明实施例中通信系统架构示意图;
图2为本发明实施例中主机接口扩展后存储系统结构示意图一;
图3为本发明实施例中主机接口扩展后存储系统结构示意图二;
图4为本发明实施例中主机接口扩展后存储系统结构示意图三;
图5为本发明实施例中主机接口扩展后存储系统结构示意图四;
图6为本发明实施例中主机接口扩展流程图一;
图7为本发明实施例中主机接口扩展流程图二;
图8为本发明实施例中主机接口扩展流程图三;
图9为本发明实施例中主机接口扩展后存储系统结构示意图五;
图10为本发明实施例中主机接口扩展流程图五;
图11为本发明实施例中主机接口扩展流程图六;
图12为本发明实施例中主机接口扩展后存储系统结构示意图六;
图13为本发明实施例中主机接口扩展后存储系统结构示意图七;
图14为本发明实施例中具体应用场景下主机接口扩展流程图一;
图15为本发明实施例中具体应用场景下主机接口扩展流程图二;
图16为本发明实施例中主机接口扩展后存储系统结构示意图八。
具体实施方式
参阅图1所示为本发明实施例中的通信系统架构图,该通信系统包括主机、交换网络以及存储系统,该存储系统包括至少一个硬盘框和至少一个控制框,一个硬盘框包括至少两个级联板,一个控制框至少包括两个控制器;且该存储系统的模式可以为盘控一体模式,也可以为独立机头模式。
下面结合说明书附图,对本发明实施例作进一步详细描述。
参阅图2所示,存储系统包括第一硬盘框1和第一控制框2,第一硬盘框1通过PCIE总线与第一控制框2连接,第一控制框2包括第一控制器20,第一硬盘框1包括第一级联板10,第一级联板10包括第一主机接口卡100和第一外部部件高速互连标准(Personal Computer Interface Express,PCIE)交换设备switch101,第一主机接口卡100与主机连接,第一PCIE switch101通过上述PCIE总线连接第一控制器20,其中:
第一主机接口卡100,用于接收主机发送的第一I/O请求,并将该第一I/O请求转发给第一PCIE switch101;
第一PCIE switch101,用于通过第一硬盘框1和第一控制框2之间的PCIE总线将上述第一I/O请求发送给第一控制器20;
第一控制器20,用于执行上述第一I/O请求。
可选的,参阅图3所示,第一控制框2还包括第二控制器21,第一硬盘框1还包括第二级联板11,第二级联板11包括第二PCIE switch111,第二PCIEswitch111通过PCIE总线连接所述第二控制器21,所述第一PCIE switch101与所述第二PCIE switch111之间具有镜像通道,所述第一I/O请求中携带有要存储的数据,其中:所述第一主机接口卡100,还用于将所述数据通过所述第一PCIE switch101以及所述镜像通道发送给所述第二PCIE switch111;所述第二PCIE switch111,用于通过所述第二PCIE switch111与所述第二控制器21之间的PCIE总线将所述数据发送给所述第二控制器21。其中,上述第一I/O请求与第二I/O请求不同;并且,可以通过第一主机接口卡接收第一I/O请求和第二I/O请求,如通过主机接口卡0′接收第一I/O请求和第二I/O请求,此时要求第一主机接口卡具备share IO功能,也可以通过不同的主机接口卡接收第一I/O请求和第二I/O请求,即通过第一主机接口卡接收第一I/O请求,通过第一级联板10中的其他主机接口卡接收第二I/O请求,如通过主机接口卡0′接收第一I/O请求,通过主机接口卡1′接收第二I/O请求。
可选的,参阅图4所示,所述存储系统还包括第二控制框3,所述第二控制框3包括第三控制器30,所述第三控制器30通过PCIE总线与所述第一硬盘框1中的第一PCIE switch101连接,其中:所述第一主机接口卡100,还用于接收所述主机发送的第二I/O请求;所述第一PCIE switch101,还用于通过所述第一PCIE switch101与所述第三控制器30之间的PCIE总线将所述第二I/O请求转发至所述第三控制器30。
可选的,参阅图4所示,所述第二控制框3还包括第四控制器31,第四控制器31与第二PCIE switch111之间通过PCIE总线连接,其中:所述第一主机接口卡100,还用于将所述第二I/O请求中携带的要存储数据通过所述第一PCIE switch101以及所述镜像通道发送给所述第二PCIE switch111;所述第二PCIE switch111,用于通过所述第二PCIE switch111与第四控制器31之间PCIE总线将所述第二I/O请求中携带的要存储数据发送给所述第四控制器31。
可选的,所述第一主机接口卡包括光纤通道技术(Fiber Channel,FC)接口,或者千兆以太网(Gigabit Ethernet,GE)接口,或者万兆以太网10GE接口。
可选的,参阅图5所示,所述存储系统还包括第二硬盘框4,所述第二硬盘框4通过PCIE总线与第一控制框2连接,所述第二硬盘框4包括第三级联板40,其中,第三级联板40包括第二主机接口卡400和第三PCIE switch401,所述第二主机接口卡400用于连接所述主机,所述第三PCIE switch401通过第二硬盘框4和第一控制框2之间的PCIE总线连接所述第一控制器20,其中:
所述第二主机接口卡400,用于接收所述主机发送的第三I/O请求,并将所述第三I/O请求转发给所述第三PCIE switch401;所述第三PCIE switch401,用于通过所述第二硬盘框4和第一控制框2之间的PCIE总线将所述第三I/O请求发送给所述第一控制器20;所述第一控制器20,用于执行所述第三I/O请求。
可选的,第一主机接口卡100和第二主机接口卡400可以连接相同的主机,也可以连接不同的主机。
可选的,参阅图5所示,所述第二硬盘框4还包括第四级联板41,其中,第四级联板41包括第四PCIE switch411,第四PCIE switch411通过所述第二硬盘框4和第一控制框2之间的PCIE总线连接所述第二控制器21,所述第四PCIE switch411与所述第三PCIE switch401之间具有镜像通道,所述第三I/O请求中携带有要存储的数据,其中:所述第二主机接口卡400,还用于将所述第三I/O请求中携带的要存储数据通过所述第三PCIE switch401以及所述镜像通道发送给所述第四PCIE switch411;所述第四PCIE switch411,用于通过所述第二硬盘框4和第一控制框2之间的PCIE总线将所述第三I/O请求中携带的要存储数据发送给所述第二控制器21。
可选的,所述第二主机接口卡包括FC接口,或者GE接口,或者10GE接口。
基于上述存储系统,参阅图6所示,本发明实施例中,扩展存储系统主机接口的过程包括:
步骤600:第一硬盘框1中的第一主机接口卡100接收上层主机发送的第一I/O请求,并将第一I/O请求转发至第一硬盘框1中的第一PCIE switch101。
本发明实施例中,参阅图3所示,第一级联板10中包含第一主机接口卡100以及第一PCIE switch101;其中,第一级联板10中的第一主机接口卡100提供的接口包括FC接口,或者GE接口,或者10GE接口。
可选的,参阅图3所示,上述第一硬盘框1还包括第二级联板11,第二级联板11中包含第三主机接口卡110以及第二PCIE switch111;其中,第一PCIEswitch101和第二PCIE switch111之间具有镜像通道,第二PCIE switch111用于接收第一PCIE switch101通过镜像通道发送的数据;第二级联板10中的第三主机接口卡110提供的接口包括FC接口,或者GE接口,或者10GE接口;上述镜像通道可以包括采用PCIE的通道,或者采用串行连接SCSI接口(SerialAttached SCSI,SAS)协议的通道,或者采用FC协议的通道,或者采用IB等协议的通道。
可选的,参阅图3所示,第一控制框2中的第一控制器20包含第一CPU200、第一内存201,以及第五PCIE switch202;其中,第五PCIE switch202用于通过第一硬盘框1和第一控制框2之间的PCIE总线接收第一PCIEswitch101发送的数据。
可选的,参阅图3所示,第一控制框2还包括第二控制器21,第二控制器21包含第二CPU210、第二内存211,以及第六PCIE switch212。第一控制器20和第二控制器21互为主备控制器。
可选的,参阅图3所示,第一级联板10通过本地的第一主机接口卡100(如主机接口卡0′或者主机接口卡1′)接收上层主机发送的第一I/O请求,并由第一主机接口卡100中的直接内存访问(Direct Memory Access,DMA)引擎将上述第一I/O请求转发至第一级联板10中的第一PCIE switch101。
步骤610:第一PCIE switch101将上述第一I/O请求转发至第一控制框2中的第一控制器20,该第一I/O请求由该第一控制器20执行。
本发明实施例中,上述第一I/O请求包含多种类型,如写数据请求消息,读数据请求消息等。
可选的,当上述第一I/O请求中携带有要存储的数据时,第一级联板10通过本地的第一PCIE switch101,将上述第一I/O请求中携带的要存储数据转发至第一控制框2中的第一控制器20;其中,参阅图7所示,第一级联板10将第一I/O请求中携带的要存储数据发送至第一控制器20的过程,具体包括:
步骤a1:当第一硬盘框1中的第一主机接口卡100接收到上述第一I/O请求时,第一主机接口卡100依次通过第一PCIE switch101,第一硬盘框1和第一控制框2之间的PCIE总线,以及第一控制器20中的第五PCIE switch202,与第一控制器20中的第一CPU进行通信。
本发明实施例中,第一主机接口卡100可以通过中断请求消息与第一CPU200进行通信,通知第一CPU200存储系统接收到主机发送的第一I/O请求。
步骤a2:第一CPU200在第一内存201中为上述第一I/O请求中携带的要存储的数据分配存储空间,并将分配的存储空间地址通过第五PCIE switch202发送至上述第一级联板10中的第一PCIE switch101。
步骤a3:第一PCIE switch101将上述存储空间地址转发至第一级联板10中的第一主机接口卡100。
步骤a4:第一主机接口卡100内部自带的DMA引擎通过第一PCIEswitch101以及第一硬盘框1和第一控制框2之间的PCIE总线,将上述第一I/O请求中携带的要存储数据直接发送至第一控制器20中的第五PCIE switch202。
步骤a5:第五PCIE switch202将上述数据转发至第一内存201的存储空间地址对应的存储空间中。
进一步的,在一种实施例中,参阅图8所示,第一控制器20和第二控制器21具有镜像通道,该镜像通道可以位于第一CPU200和第二CPU210之间,该镜像通道也可以位于第五PCIE switch202和第六PCIE switch212之间;当上述数据存储至第一控制器20中的第一内存201后,第一级联板10中的第一主机接口卡100依次通过第一PCIE switch101,第一硬盘框1和第一控制框2之间的PCIE总线,第一控制器20和第二控制器21之间的镜像通道,将第一I/O请求中携带的要存储数据发送至第二控制器21。
参阅图9所示,将第一I/O请求中携带的要存储数据存储至第二控制器21的过程,具体包括:
步骤b1:第一CPU200经由第一控制器20和第二控制器21之间的镜像通道,将第一控制器20的第一内存201中存储的上述第一I/O请求中携带的数据发送至第二CPU210。
步骤b2:第二CPU210在第二内存211中为上述数据分配存储空间,并将上述数据存储至分配的存储空间中。
可选的,若第一级联板10中的第一主机接口卡100通过第一中断请求消息的方式与第一CPU200进行通信时,则当第一CPU200确定上述第一I/O请求中携带的要存储数据发送至本地以及第二控制器21中的第二内存211后,生成第一中断响应消息,并通过第一硬盘框1和第一控制框2之间的PCIE总线以及第一PCIE switch101,将上述第一中断响应消息发送至第一级联板10中的第一主机接口卡100;第一级联板10中的第一主机接口卡100基于该第一中断响应消息,向主机反馈第一I/O请求执行完毕消息。
采用上述技术方案,通过第一控制器20和第二控制器21之间的镜像通道对上述数据进行镜像,从而实现了第一控制器20和第二控制器21之间的数据同步。
可选的,在另一种实施例中,参阅图3所示,第一级联板10中的第一主机接口卡100还可以通过第一PCIE switch101和第二PICE switch111之间的镜像通道,将第一I/O请求中携带的数据存储至第二控制器21中。参阅图10所示,将第一I/O请求中携带的要存储数据存储至第二控制器21的过程,具体包括:
步骤c1:第一级联板10中的第一主机接口卡100通过内部自带的DMA引擎,将第一I/O请求中携带的要存储数据发送至第一PCIE switch101之后,通过第一PCIE switch101和第二PCIE switch111之间的镜像通道,将上述数据发送至第二PCIE switch111。
步骤c2:第二PCIE switch111通过第一硬盘框1和第一控制框2之间的PCIE总线,将上述数据发送至第二控制器21中的第六PCIE switch212。
步骤c3:第六PCIE switch212将上述数据发送至第二控制器21中的第二内存211。
进一步的,第一PCIE switch101还可以采用多目的地址传送(multicast)功能将第一I/O请求中携带的要存储数据发送至第二控制器21。参阅图11所示,采用多目的地址传送将第一I/O请求中携带的要存储数据发送至第一控制器20和第二控制器21的过程,具体包括:
步骤d1:当第一级联板10中的第一主机接口卡100接收到第一I/O请求后,同时通知第一控制器20中的第一CPU200和第二控制器21中的第二CPU210分别为上述数据分配存储空间。
其中,该第一控制器20中的第二CPU210为上述数据分配的存储空间的大小与第一控制器20中的第一CPU200为上述数据分配的存储空间的大小相同。
步骤d2:第一级联板10中的第一主机接口卡100根据第二CPU210为上述数据分配的存储空间地址,通过内部自带的DMA将上述数据发送至第一PCIE switch101。
步骤d3:第一PCIE switch101通过第一硬盘框1和第一控制框2之间的PCIE总线,将第一I/O请求中携带的要存储数据发送至第一CPU200,以及第一PCIE switch101通过第一PCIE switch101和第二PCIE switch111之间的镜像通道,将上述第一I/O请求中携带的要存储数据发送至第二PCIE switch111,由第二PCIE switch111通过第一硬盘框1和第一控制框2之间的PCIE总线将上述数据分别发送至第一控制器20和第二控制器21。
本发明实施例中,由第二PCIE switch111通过第一硬盘框1和第一控制框2之间的PCIE总线将上述第一I/O请求中携带的要存储数据发送至第二CPU210,具体包括,第二PCIE switch111通过第一硬盘框1和第一控制框2之间的PCIE总线将上述第一I/O请求中携带的要存储数据发送至第二控制器21中的第六PCIE switch212;第六PCIE switch212将上述第一I/O请求中携带的要存储数据发送至第二控制器21中的第二内存211。
采用上述方式存储第一I/O请求中携带的要存储数据时,能够将上述数据同时发送至第一控制器20和第二控制器21中,无须等待数据先存储至第一控制器20后,再将数据镜像至第二控制器21,有效提高了数据传输存储效率。
可选的,若第一级联板10中的第一主机接口卡100通过第一中断请求消息的方式与第一CPU200进行通信时,则当第一CPU200确定上述第一I/O请求中携带的要存储数据发送至本地以及第二控制器21中的第二内存211后,生成第一中断响应消息,并通过第一硬盘框1和第二控制框2之间的PCIE总线以及第一PCIE switch101,将上述第一中断响应消息发送至第一级联板10中的第一主机接口卡100;第一级联板10中的第一主机接口卡100基于该第一中断响应消息,向主机反馈第一I/O请求执行完毕消息。
采用上述技术方案,通过第一硬盘框中各个级联板之间的镜像通道对第一I/O请求中携带的要存储数据进行镜像,存储系统中的镜像通道会随着硬盘框数量的增加而增加,使得镜像通道的数量不受控制框数量的限制,从而通过镜像通道的建立有效提高数据传输带宽。
进一步的,参阅图3所示,第一级联板10还包括SAS103,SAS103分别与第一PCIE switch101和硬盘连接。当上述第一I/O请求中携带的要存储数据全部发送至第一控制器20和第二控制器21之后,根据存储系统中的数据淘汰算法,确认每一个控制器的内存中的哪些数据要保存到硬盘中,哪些数据要继续保留在控制器的内存中;例如,若确定第一控制器20中存在任意一数据需要保存到硬盘中,则第一控制器20中的第一CPU200即依次通过第五PCIE switch202,第一硬盘框1和第一控制框2之间的PCIE总线,第一PCIEswitch101,以及SAS103,将第一内存201中保存的上述任意一数据发送至硬盘当中。
进一步的,当存储系统包括至少两个控制框(第一控制框2和第二控制框3),第一控制框2包括第一控制器20和第二控制器21,第二控制框3包括第三控制器30和第四控制器31时,且第三控制器30包括第七PCIE switch302,第三内存301和第三CPU300,第四控制器31包括第八PCIE switch312,第四内存311第四CPU310,第一硬盘框1中的第一主机接口卡100接收到上层主机发送的第二I/O请求时,将该第二I/O请求中携带的数据分别发送至第二控制框3中的两个控制器的方式,具体包括:
第一种方式,参阅图4所示,第一PCIE switch101和第二PCIEswitch111之间具有镜像通道,通过该镜像通道将需要传输的数据发送至第三控制器30和第四控制器31。具体包括:第一硬盘框1中的第一主机接口卡100通过内部自带的DMA引擎,将第二I/O请求中携带的要存储数据发送至第一PCIEswitch101;第一PCIE switch101通过第一硬盘框1与第二控制框3之间的PCIE总线,将上述第二I/O请求中携带的要存储数据发送至第三控制器30,由第三控制器30中的第七PCIE switch302将上述数据发送至第三CPU300在第三内存301中为上述数据分配的存储空间中;第一PCIE switch101通过第一PCIEswitch101和第二PCIE switch111之间的镜像通道,将上述第二I/O请求中携带的要存储数据发送至第二PCIE switch111;第二PCIE switch111通过第一硬盘框1与第二控制框3之间的PCIE总线,将上述第二I/O请求中携带的要存储数据由第四控制器31中的第四CPU310存储至第四内存311中。
第二种方式,参阅图12所示,第三控制器30和第四控制器31之间具有镜像通道,通过该镜像通道将需要传输的数据发送至第四控制器31。具体包括:第一硬盘框1中的第一主机接口卡100通过内部自带的DMA引擎,将第二I/O请求中携带的要存储数据发送至第一PCIE switch101;第一PCIE switch101通过第一硬盘框1与第二控制框3之间的PCIE总线,将上述第二I/O请求中携带的要存储数据发送至第三控制器30;当第三控制器30将上述数据存储至本地内存时,第三控制器30通过第三控制器30与第四控制器31之间的镜像通道,将第三控制器30的第三内存301中存储的数据由第四控制器31中的第四CPU310存储至第四内存311中。
在上述过程中,上述第一I/O请求与第二I/O请求不同;并且,可以通过第一主机接口卡接收第一I/O请求和第二I/O请求,如通过主机接口卡0′接收第一I/O请求和第二I/O请求,此时要求第一主机接口卡具备share IO功能,也可以通过不同的主机接口卡接收第一I/O请求和第二I/O请求,即通过第一主机接口卡接收第一I/O请求,通过第一级联板10中的其他主机接口卡接收第二I/O请求,如通过主机接口卡0′接收第一I/O请求,通过主机接口卡1′接收第二I/O请求。
采用上述技术方案,通过控制器之间的镜像通道或者级联板之间的镜像通道,使至少两个控制器共享同一个硬盘中的数据,由至少两个控制器共同处理硬盘中的数据,从而有效提高了存储系统的数据处理能力。
进一步的,当存储系统包括至少两个硬盘框(第一硬盘框1和第二硬盘框4)时,若该至少两个硬盘框中的第二硬盘框4中的第二主机接口卡400接收到上层主机发送的第三I/O请求时,将该第三I/O请求中携带的数据分别发送至第一控制框2中的第一控制器20以及第二控制器21的方式,具体包括:
第一种方式:参阅图5所示,第三PCIE switch401和第四PCIEswitch411之间具有镜像通道,通过该镜像通道将需要传输的数据发送至第一控制器20和第二控制器21。具体包括:第二硬盘框4中的第二主机接口卡400通过内部自带的DMA引擎,将该第三I/O请求中携带的要存储数据发送至第三PCIEswitch401;第三PCIE switch401通过第一控制框2与第二硬盘框4之间的PCIE总线,将上述第三I/O请求中携带的要存储数据发送至第一控制器20;第三PCIE switch401通过第三PCIE switch401和第四PCIE switch411之间的镜像通道,将上述第三I/O请求中携带的要存储数据发送至第四PCIE switch411;第四PCIE switch411通过第二硬盘框4与第一控制框2之间的PCIE总线,将上述第三I/O请求中携带的要存储数据发送至第二控制器21。
采用上述技术方案,通过第二硬盘框4中第三PCIE switch401与第四PCIEswitch411之间的镜像通道对数据进行镜像,镜像通道会随着存储系统中硬盘框数量的增加而增加,使得镜像通道的数量不受控制框数量的限制,从而有效提高了存储系统的数据传输带宽。
第二种方式:参阅图13所示,第一控制器20和第二控制器21之间具有镜像通道,通过该镜像通道将需要传输的数据发送至第二控制器21。具体包括:第二硬盘框4中的第三级联板40的第二主机接口卡400通过内部自带的DMA引擎,将第三I/O请求中携带的要存储数据发送至第三PCIE switch401;第三PCIE switch401通过第三级联板40与第一控制器20之间的PCIE总线,将上述数据发送至第一控制器20;当第一控制器20将上述数据存储至本地内存时,第三级联板40中的第二主机接口卡400通过内部自带的DMA引擎,通知第一控制器20通过第一CPU200与第二CPU210之间的镜像通道,将第一内存201中存储的上述数据发送至第二控制器21。
进一步的,上述第二硬盘框4还可以通过PCIE over IP通道向第一控制框2发送数据;或者,第二硬盘框4还可以通过PCIE over SAS通道向上述第一控制框2发送上述数据。
当第三级联板40中的其他主机接口卡接收到主机发送的第三I/O请求,或者第四级联板41中的任意一主机接口卡410接收到主机发送的第三I/O请求时,主机接口卡将上述第三I/O请求中携带的要存储数据发送至第一控制框2中的两个控制器的过程与上述过程类似,在此不再赘述。
基于上述技术方案,下面结合具体应用场景,详细描述存储系统中主机接口的扩展过程。
应用场景一
参阅图4所示,存储系统包括第一硬盘框1,第一控制框2和第二控制框3,其中,第一硬盘框1中包含第一级联板10和第二级联板11,第二控制框3中包含第三控制器30以及第四控制器31,上述第一级联板10中的第一PCIEswitch101和第二级联板11中的第二PCIE switch111之间具有镜像通道。
参阅图14所示,当第一硬盘框1中的第一主机接口卡100接收到上层主机发送的第二I/O请求时,若第二控制框3中的第三CPU300已经为第二I/O请求中携带的要存储数据分配存储空间,则将第二I/O请求中携带的要存储数据发送至第二控制框中的各个控制器的过程,具体包括:
步骤1400:第一硬盘框1中的第一主机接口卡100通过内部自带的DMA引擎,将该第二I/O请求中携带的要存储数据发送至第一PCIE switch101。
步骤1410:第一PCIE switch101通过第一硬盘框1与第二控制框3之间的PCIE总线,将上述第二I/O请求中携带的要存储数据发送至第三控制器30。
步骤1420:第一PCIE switch101通过第一PCIE switch101和第二PCIEswitch111之间的镜像通道,将上述第二I/O请求中携带的要存储数据发送至第二PCIE switch111。
步骤1430:第二PCIE switch111通过第一硬盘框1与第二控制框3之间的PCIE总线,将上述第二I/O请求中携带的要存储数据发送至第四控制器31。
在上述过程中,第二I/O请求中携带的要存储数据存储至第三控制器30和第四控制器31的顺序不受限制,即可以先将第二I/O请求中携带的要存储数据存储至第二控制器21,再将第二I/O请求中携带的要存储数据存储至第一控制器20。
采用上述技术方案,通过硬盘框中两个级联板之间的镜像通道,使至少两个控制器共享同一个硬盘中的数据,由多个控制器共同处理硬盘中的数据,从而有效提高了存储系统的数据处理能力。
应用场景二
参阅图5所示,存储系统包括第一硬盘框1和第二硬盘框4,以及第一控制框2,其中,第二硬盘框4中包含第三级联板40和第四级联板41,第一控制框2中包含第一控制器20以及第二控制器21,第二硬盘框4中的第三级联板40和第四级联板41之间具备镜像通道。
参阅图15所示,当第二硬盘框4中的第二主机接口卡400接收到上层主机发送的第三I/O请求时,若第一CPU200为第三I/O请求中携带的要存储数据分配存储空间后,将该第三I/O请求中携带的要存储数据发送至第一控制框2中的第一控制器20和第二控制器21的过程,具体包括:
步骤1500:第二主机接口卡400通过内部自带的DMA引擎,将该第三I/O请求中携带的要存储数据发送至第三PCIE switch401。
步骤1510:第三PCIE switch401通过第二硬盘框4与第一控制框2之间的PCIE总线,将上述第三I/O请求中携带的要存储数据发送至第五PCIEswitch202。
步骤1520:第五PCIE switch202将上述第三I/O请求中携带的要存储数据发送至第一控制器20中的第一内存201。
步骤1530:第三PCIE switch401通过第三PCIE switch401和第四PCIEswitch411之间的镜像通道,将上述第三I/O请求中携带的要存储数据发送至第四PCIE switch411。
步骤1540:第四PCIE switch411通过第二硬盘框4与第一控制框2之间的PCIE总线,将上述第三I/O请求中携带的要存储数据发送至第二控制器21。
在上述过程中,第三I/O请求中携带的要存储数据存储至第一控制器20和第二控制器21的顺序不受限制,即可以先将第三I/O请求中携带的要存储数据存储至第二控制器21,再将第三I/O请求中携带的要存储数据存储至第一控制器20。
采用上述技术方案,通过硬盘框中两个级联板之间的镜像通道将I/O请求中携带的要存储数据进行镜像,镜像通道随着存储系统中硬盘框数量的增加而增加,镜像通道的数量不受控制框数量的限制,从而有效提高了存储系统的数据传输带宽。
参阅图16所示,为本发明实施例中存储系统结构示意图。
综上所述,本发明提供了一种存储系统,该存储系统包括硬盘框和控制框,硬盘框通过PCIE总线与控制框连接,存储系统包括第一硬盘框和第一控制框,第一硬盘框通过PCIE总线与第一控制框连接,第一控制框包括第一控制器,第一硬盘框包括第一级联板,第一级联板包括第一主机接口卡和第一PCIEswitch,第一主机接口卡与主机连接,第一PCIE switch通过上述PCIE总线连接第一控制器,其中:第一主机接口卡,用于接收主机发送的第一I/O请求,并将该第一I/O请求转发给第一PCIE switch;第一PCIE switch,用于通过第一硬盘框和第一控制框之间的PCIE总线将上述第一I/O请求发送给第一控制器;第一控制器,用于执行上述第一I/O请求。采用上述技术方案,在硬盘框中增加主机接口卡,通过硬盘框中级联板上的接口卡接收上层主机发送的I/O请求,从而将存储系统中硬盘框的主机接口卡作为主机接口,随着硬盘框数量的增加,能够平滑实现主机接口数量的增加,无须增加新的设备,从而有效降低了存储系统主机接口数量扩展过程中的成本以及设备改造复杂度。
需要说明的是,本申请所提供的实施例仅仅是示意性的。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本发明实施例、权利要求以及附图中揭示的特征可以独立存在也可以组合存在。在本发明实施例中以硬件形式描述的特征可以通过软件来执行,反之亦然。在此不做限定。
Claims (10)
1.一种存储系统,其特征在于,所述存储系统包括第一硬盘框以及第一控制框,所述第一硬盘框通过外部部件高速互连标准PCIE总线与第一控制框连接,所述第一控制框包括第一控制器,所述第一硬盘框包括第一主机接口卡和第一PCIE switch,所述第一主机接口卡用于连接主机,所述第一PCIE switch通过所述PCIE总线连接所述第一控制器,其中:
所述第一主机接口卡,用于接收所述主机发送的第一输入输出I/O请求,并将所述第一I/O请求转发给所述第一PCIE switch;
所述第一PCIE switch,用于通过所述PCIE总线将所述第一I/O请求发送给所述第一控制器;
所述第一控制器,用于执行所述第一I/O请求。
2.如权利要求1所述的存储系统,其特征在于,所述第一控制框还包括第二控制器,所述第一硬盘框还包括第二PCIE switch,所述第二PCIE switch通过所述PCIE总线连接所述第二控制器,所述第一PCIE switch与所述第二PCIE switch之间具有镜像通道,所述第一I/O请求中携带有要存储的数据,其中:
所述第一主机接口卡,还用于将所述数据通过所述第一PCIE switch以及所述镜像通道发送给所述第二PCIE switch;
所述第二PCIE switch,用于通过所述PCIE总线将所述数据发送给所述第二控制器。
3.如权利要求1或2所述的存储系统,其特征在于,所述存储系统还包括第二控制框,所述第二控制框包括第三控制器,所述第三控制器通过PCIE总线与所述第一硬盘框中的第一PCIE switch连接,其中:
所述第一主机接口卡,还用于接收所述主机发送的第二I/O请求;
所述第一PCIE switch,还用于通过所述PCIE总线将所述第二I/O请求转发至所述第三控制器;
所述第三控制器,用于执行所述第二I/O请求。
4.如权利要求1或2所述的存储系统,其特征在于,所述存储系统还包括第二硬盘框,所述第二硬盘框通过PCIE总线与第一控制框连接,所述第二硬盘框包括第二主机接口卡和第三PCIE switch,所述第二主机接口卡用于连接所述主机,所述第三PCIE switch通过所述PCIE总线连接所述第一控制器,其中:
所述第二主机接口卡,用于接收所述主机发送的第三I/O请求,并将所述第三I/O请求转发给所述第三PCIE switch;
所述第三PCIE switch,用于通过所述PCIE总线将所述第三I/O请求发送给所述第一控制器;
所述第一控制器,用于执行所述第三I/O请求。
5.如权利要求1所述的存储系统,其特征在于,所述第一主机接口卡提供的接口包括光纤通道技术FC接口、千兆以太网GE接口或万兆以太网10GE接口。
6.一种通信方法,其特征在于,所述方法应用于存储系统中,所述存储系统包括第一硬盘框以及第一控制框,所述第一硬盘框通过外部部件高速互连标准PCIE总线与第一控制框连接,所述第一控制框包括第一控制器,所述第一硬盘框包括第一主机接口卡和第一PCIE switch,所述第一主机接口卡用于连接主机,所述第一PCIE switch通过所述PCIE总线连接所述第一控制器,所述方法包括:
所述第一主机接口卡接收所述主机发送的第一输入输出I/O请求,并将所述第一I/O请求转发给所述第一PCIE switch;
所述第一PCIE switch通过所述PCIE总线将所述第一I/O请求发送给所述第一控制器。
7.根据权利要求6所述的方法,其特征在于,所述第一控制框还包括第二控制器,所述第一硬盘框还包括第二PCIE switch,所述第二PCIE switch通过所述PCIE总线连接所述第二控制器,所述第一PCIE switch与所述第二PCIE switch之间具有镜像通道,所述第一I/O请求中携带有要存储的数据,所述方法还包括:
所述第一PCIE switch通过所述镜像通道将所述第一I/O请求中携带的要存储所述数据发送给所述第二PCIE switch;
所述第二PCIE switch通过所述PCIE总线将所述数据发送给所述第二控制器。
8.如权利要求6或7所述的方法,其特征在于,所述存储系统还包括第二控制框,所述第二控制框包括第三控制器,所述第三控制器通过PCIE总线与所述第一硬盘框中的第一PCIE switch连接,当,所述方法还包括:
所述第一主机接口卡接收到所述主机发送的第二I/O请求,并将所述第二I/O请求转发给所述第一PCIE switch;
所述第一PCIE switch接收所述第一主机接口卡发送的第二I/O请求,并通过所述PCIE总线将所述第二I/O请求转发至所述第三控制器。
9.如权利要求8所述的方法,其特征在于,所述存储系统还包括第二硬盘框,所述第二硬盘框通过PCIE总线与第一控制框连接,所述第二硬盘框包括第二主机接口卡和第三PCIE switch,所述第二主机接口卡用于连接所述主机,所述第三PCIE switch通过所述PCIE总线连接所述第一控制器,所述方法还包括:
所述第二主机接口卡接收所述主机发送的第三I/O请求,并将所述第三I/O请求转发给所述第三PCIE switch;
所述第三PCIE switch接收所述第二主机接口卡发送的所述第三I/O请求,并通过所述PCIE总线将所述第三I/O请求发送给所述第一控制器。
10.如权利要求6所述的方法,其特征在于,所述主机接口卡提供的接口包括光纤通道技术FC接口、千兆以太网GE接口或万兆以太网10GE接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410280174.8A CN104049915B (zh) | 2014-06-20 | 2014-06-20 | 一种存储系统及通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410280174.8A CN104049915B (zh) | 2014-06-20 | 2014-06-20 | 一种存储系统及通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104049915A true CN104049915A (zh) | 2014-09-17 |
CN104049915B CN104049915B (zh) | 2017-01-25 |
Family
ID=51502847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410280174.8A Active CN104049915B (zh) | 2014-06-20 | 2014-06-20 | 一种存储系统及通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104049915B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598403A (zh) * | 2015-01-14 | 2015-05-06 | 浪潮电子信息产业股份有限公司 | 一种基于pcie交换器的集群存储系统 |
CN111078600A (zh) * | 2019-11-15 | 2020-04-28 | 苏州浪潮智能科技有限公司 | 一种基于PCIe Switch的RSSD大容量存储系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707367B1 (en) * | 2007-06-28 | 2010-04-27 | Emc Corporation | Data storage system having separate atomic operation/non-atomic operation paths |
CN102629225A (zh) * | 2011-12-31 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 双控制器磁盘阵列、存储系统以及数据存储路径切换方法 |
CN103181133A (zh) * | 2012-10-26 | 2013-06-26 | 华为技术有限公司 | 基于pcie交换的服务器系统及其倒换方法和设备 |
-
2014
- 2014-06-20 CN CN201410280174.8A patent/CN104049915B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707367B1 (en) * | 2007-06-28 | 2010-04-27 | Emc Corporation | Data storage system having separate atomic operation/non-atomic operation paths |
CN102629225A (zh) * | 2011-12-31 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 双控制器磁盘阵列、存储系统以及数据存储路径切换方法 |
CN103181133A (zh) * | 2012-10-26 | 2013-06-26 | 华为技术有限公司 | 基于pcie交换的服务器系统及其倒换方法和设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598403A (zh) * | 2015-01-14 | 2015-05-06 | 浪潮电子信息产业股份有限公司 | 一种基于pcie交换器的集群存储系统 |
CN111078600A (zh) * | 2019-11-15 | 2020-04-28 | 苏州浪潮智能科技有限公司 | 一种基于PCIe Switch的RSSD大容量存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104049915B (zh) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109445905B (zh) | 虚拟机数据通信方法和系统以及虚拟机配置方法和装置 | |
CN102065071B (zh) | 一种支持多传输协议的存储设备 | |
CN105556496A (zh) | 通过快捷外围组件互连高速进行的可扩展直接节点间通信 | |
CN103154920A (zh) | 统一i/o适配器 | |
US20210311800A1 (en) | Connecting accelerator resources using a switch | |
US9515963B2 (en) | Universal network interface controller | |
CN101004674B (zh) | 数据处理系统和包括数据处理系统的高清晰度电视机 | |
US20130132634A1 (en) | Routing switch apparatus, network switch system, and routing switching method | |
CN103608762B (zh) | 存储设备、存储系统及数据发送方法 | |
CN102843435A (zh) | 一种在集群系统中存储介质的访问、响应方法和系统 | |
CN104049915A (zh) | 一种存储系统及通信方法 | |
CN104038550A (zh) | 数据通信方法及其装置、存储系统 | |
CN103558995A (zh) | 一种存储控制芯片及磁盘报文传输方法 | |
CN103036815B (zh) | 一种信息技术和通信技术ict融合系统 | |
CN116737624A (zh) | 一种高性能数据存取装置 | |
JP6245360B2 (ja) | 階層的並列分割ネットワークを用いる、コンピュータアーキテクチャシステム、コンピュータアーキテクチャデバイス、及び方法 | |
CN109542824A (zh) | 设备间信息转发中介装置以及信息交换系统 | |
TW201405315A (zh) | 支援雙主控裝置的資料路由系統 | |
CN102508797B (zh) | 闪存控制扩展模块、控制器、存储系统及其数据传输方法 | |
US8918559B2 (en) | Partitioning of a variable length scatter gather list | |
CN114238156A (zh) | 处理系统以及操作处理系统的方法 | |
CN105653197A (zh) | 数据缓存设备和用于数据缓存的方法 | |
US10664420B2 (en) | System and method for port-to-port communications using direct memory access | |
CN112148653A (zh) | 数据传输装置、数据处理系统、数据处理方法和介质 | |
CN105245576A (zh) | 一种基于全共享交换的存储架构系统 |
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 |