一种存储设备中多路控制器间的通信方法及装置制造方法及图纸

技术编号:16644555 阅读:40 留言:0更新日期:2017-11-26 16:56
本发明专利技术公开了一种存储设备中多路控制器间的通信方法,包括开启各多路控制器上CPU的使能端;存储设备上电后,对各多路控制器上的交换机进行枚举,并为各交换机分配各自存储空间;判断交换机是否自带DMA引擎,如果否,则根据目标NTB端口与目标CPU的对应关系,为交换机挂载与目标CPU对应的DMA引擎。因此,本方法可根据NTB端口与CPU的对应关系,为交换机挂载DMA引擎,实现各个多路控制器上CPU之间的数据传输,提高了数据传输速率;另外,当更换不同硬件平台时,只需要为交换机挂载对应的DMA引擎,避免了软件开发周期长的问题。此外,本发明专利技术还公开了一种存储设备中多路控制器间的通信装置,效果如上。

Communication method and device between multi channel controllers in storage device

The invention discloses a multi-channel storage device controller communication method, including the open multi controller CPU enable; the electricity storage device, to enumerate the various multi controller switches, and assign each storage space for each switch; the switch is judged on its own DMA engine, if not. According to the corresponding relationship between the target and the target CPU NTB port, a switch mount with the target CPU corresponding to the DMA engine. Therefore, this method can according to the relationship between the NTB and CPU ports, a switch mounted DMA engine, each multiplex controller between CPU on data transmission, improve data transmission rate; in addition, when the replacement of different hardware platforms, only need to switch to mount the corresponding DMA engine, to avoid the problem of long cycle of software development. In addition, the invention also discloses a communication device between the multi-channel controllers in the storage device, the effect is as above.

【技术实现步骤摘要】
一种存储设备中多路控制器间的通信方法及装置
本专利技术涉及通信
,特别涉及一种存储设备中多路控制器间的通信方法及装置。
技术介绍
随着科技的发展,各种存储设备中多路控制器的横向扩展越来越流行,很多厂家就是利用这种横向扩展的方法对产品进行升级的。横向扩展是指在存储设备中添加新的多路控制器,与原来的多路控制器一起工作。有很多方法可以实现这种横向扩展,例如,传统网络、InfinBand、PCIE等。尤其以PCIE技术应用最广,用PCIE技术实现横向扩展离不开PCIE交换机,这里所说的交换机主要包括PCIE芯片、多个PCIE桥、自带非透明桥,有的还带有DMA功能,并且支持多种配置,PCIE芯片配置灵活,管理方便。在存储设备的多路控制器中,每个多路控制器上都包含有多个CPU,并且CPU之间通常是通过QPI进行通信。但是QPI通信过程中,多路控制器之间数据传输效率低,更换不同硬件平台时软件开发周期长。由此可见,如何克服QPI通信带来的数据传输效率低的问题是本领域技术人员亟待解决的问题。
技术实现思路
本申请实施例提供了一种存储设备中多路控制器间的通信方法及装置,以解决现有技术中数据传输效率低的问题。为解决上述技术问题,本专利技术提供了一种存储设备中多路控制器间的通信方法,包括:开启所述存储设备中各多路控制器上的CPU的使能端;所述存储设备上电后,对各所述多路控制器上的交换机进行枚举,并为各所述交换机分配各自存储空间;判断所述交换机是否自带DMA引擎,如果否,则根据目标NTB端口与目标CPU的对应关系,为所述交换机挂载与所述目标CPU对应的DMA引擎。优选地,所述交换机为PCIE交换机。优选地,所述DMA引擎的工作方式具体为:通过描述符的方式工作。优选地,所述描述符包括源地址、目的地址以及数据长度。优选地,所述CPU使能端具体通过BIOS开启。为解决上述技术问题,本专利技术还提供一种存储设备中多路控制器间的通信装置,包括:开启单元,用于开启所述存储设备中各多路控制器上的CPU的使能端;内存分配单元,用于对所述多路控制器上的交换机枚举后,为所述交换机分配各自的存储空间;判断单元,用于判断所述交换机是否自带DMA引擎,如果否,则触发挂载单元;所述挂载单元,用于为所述交换机挂载与所述目标CPU对应的DMA引擎。优选地,所述交换机为PCIE交换机。优选地,所述DMA引擎的工作方式具体为:通过描述符的方式工作。优选地,所述描述符包括源地址、目的地址以及数据长度。优选地,所述CPU使能端具体通过BIOS开启。相对于现有技术,本专利技术所提供的存储设备中多路控制器间的通信方法及装置,当枚举出的多路控制器上的交换机本身不带DMA引擎时,就会根据目标NTB端口与目标CPU的对应关系,为对应的交换机挂载目标CPU对应的DMA引擎。由此可见,一方面,该交换机可通过挂载的DMA引擎,实现各个多路控制器上CPU之间的数据传输,而不再像现有技术中需要通过QPI实现CPU之间的数据传输,进而提高了数据传输速率;另一方面,由于交换机所挂载的DMA引擎是根据与NTB端口相对应的CPU的DMA引擎得到的,因此,能够实现NTB端口与CPU的对应,进一步提高数据传输速率。另外,当更换不同硬件平台时,只需要为交换机挂载相适应的DMA引擎即可,因此避免了软件开发周期长的问题。附图说明为了更清楚地说明本专利技术实施的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种存储设备中多路控制器间的通信方法的流程图;图2为本专利技术实施例存储设备中多路控制器间进行NTB通信的硬件示意图;图3为一个多路控制器的内部结构图;图4为本专利技术实施例提供的一种存储设备中多路控制器间的通信装置组成示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的核心是提供一种存储设备中多路控制器间的通信方法及装置,可以提高多路控制器之间数据传输效率,减少更换不同硬件平台时软件开发的周期。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。图1为本专利技术实施例存储设备中多路控制器间的通信方法流程图,如图1所示,包括以下步骤:步骤S101:开启存储设备中各多路控制器上的CPU的使能端;CPU使能端通过BIOS开启,只有开启多路控制器上CPU使能端后,系统内核才能使用该CPU的DMA引擎。步骤S102:存储设备上电后,对各多路控制器上的交换机进行枚举,并为各交换机分配各自存储空间;在存储设备中,一般有不止一个多路控制器,每个多路控制器上都有交换机,系统需要实现多路控制器上CPU之间的数据传输时,就枚举出与之相对应的交换机,并为枚举出的交换机分配各自存储空间。例如,现在需要实现第一多路控制器与第二多路控制器上CPU之间的数据传输,系统内核就自动的枚举出与第一多路控制器和第二多路控制器相对应的交换机,并为枚举出的交换机分配存储空间。在本申请实施例中所述的交换机为PICE交换机,当然,也可以是其它符合要求的交换机,交换机的类型并不影响本申请实施例的实现。步骤S103:判断枚举出的交换机是否自带DMA引擎,如果否,则进入步骤S104;步骤S104:根据目标NTB端口与目标CPU的对应关系,为枚举出的交换机挂载与目标CPU对应的DMA引擎。有的交换机自身带有DMA引擎,而有的交换机自身不带有DMA引擎,当交换机自身带有DMA引擎时就使用交换机自带的DMA引擎,如果交换机自身不带有DMA引擎则根据交换机下行NTB端口寻找到对应的上行端口,该上行端口与下行NTB端口在同一个交换机上,根据上行端口的BUS、DEVICE、FUNCTION扫描寻找到与之相连接的CPU,并自动挂载该CPU的DMA引擎。NTB端口通过使用对应CPU的DMA引擎进行收发数据,实现各个多路控制器之间CPU的数据传输。DMA引擎其实是通过描述符的方式进行的,描述符里包括很多信息,例如,源地址、目的地址、数据长度,通常,这些描述符形成一个队列供DMA引擎使用。在本申请实施例中,当枚举出的多路控制器上的交换机本身不带DMA引擎时,系统自动根据目标NTB端口与目标CPU的对应关系,为对应的交换机挂载目标CPU对应的DMA引擎。实现各个多路控制器上CPU之间的数据传输,而不再像现有技术中需要通过QPI实现CPU之间的数据传输,进而提高了数据传输速率。如图2、图3所示,图2为本专利技术实施例存储设备中多路控制器间进行NTB通信的硬件示意图;图3为一个多路控制器的内部结构图。一个存储设备201中,包含多路控制器202,当然,也可以是单路控制器,不管是单路控制器还是多路控制器并不影响本申请实施例的实现。一个多路控制器202上有多个CPU,一个多路控制器202上的多个CPU之间可以进行数据传输,各个多路控制器202上的CPU之本文档来自技高网
...
一种存储设备中多路控制器间的通信方法及装置

【技术保护点】
一种存储设备中多路控制器间的通信方法,其特征在于,包括:开启所述存储设备中各多路控制器上的CPU的使能端;所述存储设备上电后,对各所述多路控制器上的交换机进行枚举,并为各所述交换机分配各自存储空间;判断所述交换机是否自带DMA引擎,如果否,则根据目标NTB端口与目标CPU的对应关系,为所述交换机挂载与所述目标CPU对应的DMA引擎。

【技术特征摘要】
1.一种存储设备中多路控制器间的通信方法,其特征在于,包括:开启所述存储设备中各多路控制器上的CPU的使能端;所述存储设备上电后,对各所述多路控制器上的交换机进行枚举,并为各所述交换机分配各自存储空间;判断所述交换机是否自带DMA引擎,如果否,则根据目标NTB端口与目标CPU的对应关系,为所述交换机挂载与所述目标CPU对应的DMA引擎。2.根据权利要求1所述的方法,其特征在于,所述交换机为PCIE交换机。3.根据权利要求3所述的方法,其特征在于,所述DMA引擎的工作方式具体为:通过描述符的方式工作。4.根据权利要求4所述的方法,其特征在于,所述描述符包括源地址、目的地址以及数据长度。5.根据权利要求1-4任意一项所述的方法,其特征在于,所述CPU使能端具体通过BIOS开启。6.一...

【专利技术属性】
技术研发人员:王见
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1