一种对目的磁盘进行访问的方法和扩展磁盘容量的系统转让专利

申请号 : CN200610066672.8

文献号 : CN100581172C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏展明

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明公开了一种对目的磁盘进行访问的方法和扩展磁盘容量的系统。主磁盘阵列中的处理单元获取命令或数据后,将该命令或数据发送至主磁盘阵列中的PCIe交换单元;主磁盘阵列中的PCIe交换单元根据所接收到命令或数据中目的磁盘的地址信息,将接收到的命令或数据发送至对应磁盘阵列中的控制单元;该对应磁盘阵列中的控制单元将接收到的命令或数据发送至与其直接相连的目的磁盘。本发明能够降低主磁盘阵列中控制单元的业务负荷量,并在一个磁盘阵列中的控制单元发生故障时,保证服务器对其它磁盘阵列的访问。另外,本发明通过PCIe交换单元级连从磁盘阵列的方式,使得主磁盘阵列后能够级连更多的从磁盘阵列,从而进一步扩展了磁盘容量。

权利要求 :

1、一种对目的磁盘进行访问的方法,其特征在于,在主磁盘阵列中的处理 单元与控制单元之间设置PCIe交换单元,并在从磁盘阵列中设置PCIe交换单 元和控制单元,将不同的磁盘阵列通过其内部的PCIe交换单元级连,该方法还 包括:A、主磁盘阵列中的处理单元获取命令或数据后,将所获取的命令或数据 发送至主磁盘阵列中的PCIe交换单元;

B、主磁盘阵列中的PCIe交换单元根据所接收到命令或数据中目的磁盘的 地址信息,将该命令或数据发送至对应磁盘阵列中的控制单元;

C、该对应磁盘阵列中的控制单元将接收到的命令或数据发送至与其直接相 连的目的磁盘。

2、根据权利要求1所述的方法,其特征在于,该方法进一步包括:在任意 一个磁盘阵列中,将该磁盘阵列中所有磁盘的地址映射为一个地址空间,在该 磁盘阵列中PCIe交换单元与控制单元相连的第一端口上保存该地址空间的信 息;并将后续级连的所有磁盘阵列中磁盘的地址映射为另一个地址空间,在该 磁盘阵列中PCIe交换单元与后级PCIe交换单元相连的第二端口上保存该另一 个地址空间的信息;

所述步骤B包括:

B1、主磁盘阵列中的PCIe交换单元将接收到的命令或数据发送至自身的第 一端口和第二端口;

B2、主磁盘阵列中PCIe交换单元的第一端口和第二端口分别判断所接收到 的命令或数据中目的磁盘的地址是否在自身所保存的地址空间范围内,如果是, 则通过自身发送所接收到的命令或数据,直至对应磁盘阵列中的控制单元,否 则,不对接收到的命令或数据进行转发。

3、一种扩展磁盘容量的系统,包括至少一个服务器、以太网、至少一个主 磁盘阵列及其级连的从磁盘阵列,服务器用于将命令或数据携带在基于IP的小 型计算机接口iSCSI协议包中并对该iSCSI协议包进行封装后通过以太网发送 至主磁盘阵列中的接口单元,其特征在于,主磁盘阵列中还包括处理单元、PCIe交换单元、控制单元和至少一个磁盘, 且在主磁盘阵列中,PCIe交换单元分别与处理单元和控制单元直接相连,控制 单元与任意一个磁盘直接相连;从磁盘阵列中包括PCIe交换单元、控制单元和 至少一个磁盘,且在从磁盘阵列中,控制单元分别与PCIe交换单元和任意一个 磁盘直接相连;各个磁盘阵列分别通过内部的PCIe交换单元级连,并且,主磁盘阵列中的处理单元,用于根据主磁盘阵列中接口单元发来的iSCSI 协议包获取命令或数据,将该命令或数据发送至主磁盘阵列中的PCIe交换单 元;

任意一个磁盘阵列中的PCIe交换单元,用于在接收到命令或数据时,将该 命令或数据发送至自身中与控制单元直接相连的第一端口和与后级PCIe交换 单元直接相连的第二端口,通过第一端口和第二端口的处理将所接收到的命令 或数据发送至对应磁盘阵列中的控制单元;

任意一个磁盘阵列中的控制单元,用于在接收到命令或数据时,根据该命 令或数据中目的磁盘的地址信息,将所接收到的命令或数据发送至与其直接相 连的目的磁盘。

4、根据权利要求3所述的系统,其特征在于,所述任意一个磁盘阵列中 PCIe交换单元的第一端口,用于保存该第一端口所在磁盘阵列中所有磁盘的地 址映射的地址空间信息,并在接收到命令或数据时,判断该命令或数据中目的 磁盘的地址是否在自身所保存的地址空间的范围内,在确定目的磁盘的地址在 自身所保存的地址空间的范围内之后,将接收到的命令或数据发送至直接相连 的、自身所在磁盘阵列中的控制单元;

所述任意一个磁盘阵列中PCIe交换单元的第二端口,用于保存后级各磁盘 阵列中所有磁盘的地址映射的地址空间信息,在接收到命令或数据时,判断该 命令或数据中目的磁盘的地址是否在自身所保存的地址空间的范围内,在确定 目的磁盘的地址在自身所保存的地址空间的范围内之后,将接收到的命令或数 据发送至直接相连的、后级磁盘阵列中的PCIe交换单元。

5、根据权利要求3或4所述的系统,其特征在于,所述PCIe交换单元为 PCIe交换芯片或符合高级交换互连ASI架构的ASI设备。

6、根据权利要求3或4所述的系统,其特征在于,所述控制单元为输入输 出处理器IOP或串行小型计算机接口控制器。

7、一种主磁盘阵列,其特征在于,该主磁盘阵列中包括:接口单元、处理 单元、PCIe交换单元、控制单元和至少一个磁盘,其中,PCIe交换单元分别与 处理单元和控制单元直接相连,控制单元与任意一个磁盘直接相连,并且,处理单元,用于在获取命令或数据后,将该命令或数据发送至PCIe交换单 元;

PCIe交换单元,用于将所接收到的命令或数据发送至自身中与控制单元直 接相连的第一端口和与后级PCIe交换单元直接相连的第二端口,通过第一端口 和第二端口的处理发送所接收到的命令或数据;

控制单元,用于在接收到命令或数据时,根据该命令或数据中目的磁盘的 地址信息,将所接收到的命令或数据发送至与其直接相连的目的磁盘。

8、根据权利要求7所述的主磁盘阵列,其特征在于,所述PCIe交换单元 的第一端口,用于保存主磁盘阵列中所有磁盘的地址映射的地址空间信息,并 在接收到命令或数据时,判断该命令或数据中目的磁盘的地址是否在自身所保 存的地址空间的范围内,在确定目的磁盘的地址在自身所保存的地址空间的范 围内之后,将接收到的命令或数据发送至主磁盘阵列中的控制单元。

9、根据权利要求7所述的主磁盘阵列,其特征在于,所述PCIe交换单元 的第二端口,用于保存后级各从磁盘阵列中所有磁盘的地址映射的地址空间信 息,在接收到命令或数据时,判断该命令或数据中目的磁盘的地址是否在自身 所保存的地址空间的范围内,在确定目的磁盘的地址在自身所保存的地址空间 的范围内之后,将接收到的命令或数据发送至直接相连的、外部从磁盘阵列中 的PCIe交换单元。

10、根据权利要求7、8或9所述的主磁盘阵列,其特征在于,所述PCIe 交换单元为PCIe交换芯片或符合高级交换互连ASI架构的ASI设备。

11、根据权利要求7、8或9所述的主磁盘阵列,其特征在于,所述控制单 元为输入输出处理器IOP或串行小型计算机接口控制器。

12、一种从磁盘阵列,其特征在于,该从磁盘阵列中包括:PCIe交换单元、 控制单元和至少一个磁盘,其中,PCIe交换单元与控制单元直接相连,控制单 元与任意一个磁盘直接相连,并且,PCIe交换单元,用于将所接收到的命令或数据发送至自身中与控制单元直 接相连的第一端口和与后级PCIe交换单元直接相连的第二端口,通过第一端口 和第二端口的处理发送所接收到的命令或数据;

控制单元,用于在接收到命令或数据时,根据该命令或数据中目的磁盘的 地址信息,将所接收到的命令或数据发送至与其直接相连的目的磁盘。

13、根据权利要求12所述的从磁盘阵列,其特征在于,所述PCIe交换单 元的第一端口,用于保存该从磁盘阵列中所有磁盘的地址映射的地址空间信息, 并在接收到命令或数据时,判断该命令或数据中目的磁盘的地址是否在自身所 保存的地址空间的范围内,在确定目的磁盘的地址在自身所保存的地址空间的 范围内之后,将接收到的命令或数据发送至该从磁盘阵列中的控制单元。

14、根据权利要求12所述的从磁盘阵列,其特征在于,所述PCIe交换单 元的第二端口,用于保存后级其它从磁盘阵列中所有磁盘的地址映射的地址空 间信息,在接收到命令或数据时,判断该命令或数据中目的磁盘的地址是否在 自身所保存的地址空间的范围内,在确定目的磁盘的地址在自身所保存的地址 空间的范围内之后,将接收到的命令或数据发送至直接相连的、外部从磁盘阵 列中的PCIe交换单元。

15、根据权利要求12、13或14所述的从磁盘阵列,其特征在于,所述PCIe 交换单元为PCIe交换芯片或符合高级交换互连ASI架构的ASI设备。

16、根据权利要求12、13或14所述的从磁盘阵列,其特征在于,所述控 制单元为输入输出处理器IOP或串行小型计算机接口控制器。

说明书 :

技术领域

本发明涉及网络存储技术,特别是涉及一种对目的磁盘进行访问的方法 和扩展磁盘容量的系统。

背景技术

在目前的网络存储技术中,存储区域网络(Storage Area Network,SAN) 是一种通过交换网络连接服务器和磁盘阵列的高速专用子网。其中,磁盘阵 列主要用于存储大量的数据,服务器主要用于对磁盘阵列进行读写操作以便 获取和存储数据。在SAN系统中,每一个服务器都可以通过交换网络访问 任意一个磁盘阵列,从而大大提高了数据的可用性。
SAN系统主要分为光纤通道(FC)SAN系统和互联网协议(IP)SAN 系统。图1是IP SAN系统的结构示意图。参见图1,IP SAN系统是一种采 用基于IP的小型计算机接口(iSCSI)协议,并架构在以太网上的SAN系 统。在IP SAN系统中,服务器通过以太网与存储控制器(SC)相连,存储 控制器再通过以太网与磁盘阵列相连。
目前,由于信息量急剧增长,因此为了满足大容量的存储需求,则必须 对磁盘阵列的容量进行扩展。图2是在现有技术中实现扩展磁盘容量的IP SAN系统的示意图。参见图2,为了扩展磁盘容量,现有技术在每一个主磁 盘阵列后级连多个从磁盘阵列。主磁盘阵列与从磁盘阵列以及各从磁盘阵列 之间均通过串行小型计算机接口(SAS)进行相连。
图3是在现有技术中主磁盘阵列与从磁盘阵列相连的示意图。参见图2 和图3,在实现扩展磁盘容量的IP SAN系统中,主磁盘阵列内部包括接口 单元、处理单元、控制单元、扩展器和多个磁盘;每一个从磁盘阵列内部均 包括扩展器和多个磁盘。主磁盘阵列与从磁盘阵列之间以及各个从磁盘阵列 之间均通过其内部的扩展器(SAS Expander)进行相连。
图4是在现有技术中利用图2所示IP SAN系统对目的磁盘进行访问的 流程图。参见图2、图3和图4,以服务器对从磁盘阵列1进行访问为例, 利用现有的可扩展磁盘容量的IP SAN系统来对一个目的磁盘进行访问的过 程包括以下步骤:
步骤401:服务器将所需下发的命令或数据携带在iSCSI协议包中,并 将该iSCSI协议包进行封装后,通过以太网发送至存储控制器(SC)。
步骤402:存储控制器对接收到的iSCSI协议包进行解封装处理,获取 命令或数据,并对所获取的命令或数据进行相关的业务处理,比如镜像或快 照等业务处理。
步骤403:存储控制器将所获取的命令或数据携带在iSCSI协议包中, 并对该iSCSI协议包进行封装后,通过以太网发送至主磁盘阵列。
需要说明的是,在图2所示的IP SAN系统中也可以没有存储控制器, 也就是说,服务器可以直接通过以太网与主磁盘阵列相连,这样,在上述图 4所示过程中,步骤401至步骤403的过程为:服务器将所需下发的命令或 数据携带在iSCSI协议包中,并将该iSCSI协议包进行封装后,通过以太网 发送至主磁盘阵列。
步骤404:主磁盘阵列内部的接口单元接收到iSCSI协议包,将该iSCSI 协议包发送至处理单元。
步骤405:主磁盘阵列内部的处理单元对接收到的iSCSI协议包进行解 封装和协议解析处理,获取该命令或数据,将所获取的命令或数据发送至控 制单元。
这里以及以下所述的控制单元可以是输入输出处理器(IOP),也可以 是串行小型计算机接口控制器(SAS/SATA Controller)。
步骤406:控制单元将该命令或数据发送至扩展器。
这里,控制单元是控制实现磁盘访问过程的核心单元,通过各个扩展器 与各个磁盘阵列中的磁盘建立物理连接通道,对磁盘进行读写、维护。在本 步骤中,控制单元利用已建立的底层物理连接执行所述的发送过程。
步骤407:主磁盘阵列内部的扩展器根据接收到的命令或数据中目的磁 盘地址,在自身保存的路由表中查找与该目的磁盘地址对应的端口,利用所 查找到的端口,将所接收到的命令或数据发送至后一级的从磁盘阵列1中的 扩展器。
步骤408:从磁盘阵列1中的扩展器根据接收到的命令或数据中目的磁 盘的地址,在自身保存的路由表中查找与该目的磁盘的地址对应的端口,利 用所查找到的端口将该命令或数据发送至与自身直接相连的一个磁盘,比如 磁盘1。
步骤409:从磁盘阵列1中的磁盘1根据所获取的命令或数据进行相应 的数据处理,比如读写数据或进行数据扫描等。
根据以上描述可以看出,现有技术具有以下缺点:
1、在一个主磁盘阵列及其级连的后续从磁盘阵列中,只有主磁盘阵列 中包括可对各个磁盘进行访问控制的控制单元,也就是说,主磁盘阵列内部 的控制单元必须负责处理所有磁盘的访问命令处理或数据读写。这样,在一 个或多个服务器同时进行大量磁盘访问时,主磁盘阵列内部的控制单元则往 往会由于业务负荷量过多而出现处理延时,甚至是业务中断或失败等一系列 问题,从而无法保证业务的正常进行。
2、由于只有主磁盘阵列中包括可对各个磁盘阵列进行访问控制的控制 单元,这样,当该唯一一个控制单元发生故障时,服务器对所有磁盘阵列的 访问均无法执行,从而导致整个系统发生瘫痪。
3、由于扩展器端口到端口的延时很长,比如,扩展器建立一个端口到 另一个端口之间的连接需要450纳秒,而扩展器将数据从一个端口交换到另 一个端口需要180纳秒,这样则大大降低了服务器对磁盘阵列的访问速度。
4、在任意一个扩展器中均保存了路由表,用于记录所有磁盘的地址与 端口的对应关系,扩展器通过查找路由表完成命令或数据的转发。然而在扩 展器中,路由表可记录的表项的数目是有限的,因此,主磁盘阵列后最多只 能级连64个从磁盘阵列,而无法继续级连更多的从磁盘阵列,从而大大限 制了磁盘容量的扩展。

发明内容

有鉴于此,本发明的主要目的在于提供一种对目的磁盘进行访问的方法 和扩展磁盘容量的系统,本发明的另一目的在于提供一种主磁盘阵列和从磁 盘阵列,以便降低主磁盘阵列内部控制单元的业务负荷量,保证业务的正常 进行。
为了达到上述目的,本发明的技术方案是这样实现的:
一种对目的磁盘进行访问的方法,在主磁盘阵列中的处理单元与控制单 元之间设置PCIe交换单元,并在从磁盘阵列中设置PCIe交换单元和控制单 元,将不同的磁盘阵列通过其内部的PCIe交换单元级连,该方法还包括:
A、主磁盘阵列中的处理单元获取命令或数据后,将所获取的命令或数 据发送至主磁盘阵列中的PCIe交换单元;
B、主磁盘阵列中的PCIe交换单元根据所接收到命令或数据中目的磁 盘的地址信息,将该命令或数据发送至对应磁盘阵列中的控制单元;
C、该对应磁盘阵列中的控制单元将接收到的命令或数据发送至与其直 接相连的目的磁盘。
其中,该方法进一步包括:在任意一个磁盘阵列中,将该磁盘阵列中所 有磁盘的地址映射为一个地址空间,在该磁盘阵列中PCIe交换单元与控制 单元相连的第一端口上保存该地址空间的信息;并将后续级连的所有磁盘阵 列中磁盘的地址映射为另一个地址空间,在该磁盘阵列中PCIe交换单元与 后级PCIe交换单元相连的第二端口上保存该另一个地址空间的信息;
所述步骤B包括:
B1、主磁盘阵列中的PCIe交换单元将接收到的命令或数据发送至自身 的第一端口和第二端口;
B2、主磁盘阵列中PCIe交换单元的第一端口和第二端口分别判断所接 收到的命令或数据中目的磁盘的地址是否在自身所保存的地址空间范围内, 如果是,则通过自身发送所接收到的命令或数据,直至对应磁盘阵列中的控 制单元,否则,不对接收到的命令或数据进行转发。
一种扩展磁盘容量的系统,包括至少一个服务器、以太网、至少一个主 磁盘阵列及其级连的从磁盘阵列,服务器用于将命令或数据携带在基于IP 的小型计算机接口iSCSI协议包中并对该iSCSI协议包进行封装后通过以太 网发送至主磁盘阵列中的接口单元,主磁盘阵列中还包括处理单元、PCIe 交换单元、控制单元和至少一个磁盘,且在主磁盘阵列中,PCIe交换单元 分别与处理单元和控制单元直接相连,控制单元与任意一个磁盘直接相连; 从磁盘阵列中包括PCIe交换单元、控制单元和至少一个磁盘,且在从磁盘 阵列中,控制单元分别与PCIe交换单元和任意一个磁盘直接相连;各个磁 盘阵列分别通过内部的PCIe交换单元级连,并且,
主磁盘阵列中的处理单元,用于在获取命令或数据后,将该命令或数据 发送至主磁盘阵列中的PCIe交换单元;
任意一个磁盘阵列中的PCIe交换单元,用于在接收到命令或数据时, 将该命令或数据发送至自身中与控制单元直接相连的第一端口和与后级 PCIe交换单元直接相连的第二端口,通过第一端口和第二端口的处理将所 接收到的命令或数据发送至对应磁盘阵列中的控制单元;
任意一个磁盘阵列中的控制单元,用于在接收到命令或数据时,根据该 命令或数据中目的磁盘的地址信息,将所接收到的命令或数据发送至与其直 接相连的目的磁盘。
其中,所述任意一个磁盘阵列中PCIe交换单元的第一端口,用于保存 该第一端口所在磁盘阵列中所有磁盘的地址映射的地址空间信息,并在接收 到命令或数据时,判断该命令或数据中目的磁盘的地址是否在自身所保存的 地址空间的范围内,在确定目的磁盘的地址在自身所保存的地址空间的范围 内之后,将接收到的命令或数据发送至直接相连的、自身所在磁盘阵列中的 控制单元;
所述任意一个磁盘阵列中PCIe交换单元的第二端口,用于保存后级各 磁盘阵列中所有磁盘的地址映射的地址空间信息,在接收到命令或数据时, 判断该命令或数据中目的磁盘的地址是否在自身所保存的地址空间的范围 内,在确定目的磁盘的地址在自身所保存的地址空间的范围内之后,将接收 到的命令或数据发送至直接相连的、后级磁盘阵列中的PCIe交换单元。
其中,所述PCIe交换单元为PCIe交换芯片或符合高级交换互连ASI 架构的ASI设备。
其中,所述控制单元为输入输出处理器IOP或串行小型计算机接口控制 器。
一种主磁盘阵列,该主磁盘阵列中包括:接口单元、处理单元、PCIe 交换单元、控制单元和至少一个磁盘,其中,PCIe交换单元分别与处理单 元和控制单元直接相连,控制单元与任意一个磁盘直接相连,并且,
处理单元,用于在获取命令或数据后,将该命令或数据发送至PCIe交 换单元;
PCIe交换单元,用于将所接收到的命令或数据发送至自身中与控制单 元直接相连的第一端口和与后级PCIe交换单元直接相连的第二端口,通过 第一端口和第二端口的处理发送所接收到的命令或数据;
控制单元,用于在接收到命令或数据时,根据该命令或数据中目的磁盘 的地址信息,将所接收到的命令或数据发送至与其直接相连的目的磁盘。
其中,所述PCIe交换单元的第一端口,用于保存主磁盘阵列中所有磁 盘的地址映射的地址空间信息,并在接收到命令或数据时,判断该命令或数 据中目的磁盘的地址是否在自身所保存的地址空间的范围内,在确定目的磁 盘的地址在自身所保存的地址空间的范围内之后,将接收到的命令或数据发 送至主磁盘阵列中的控制单元。
其中,所述PCIe交换单元的第二端口,用于保存后级各从磁盘阵列中 所有磁盘的地址映射的地址空间信息,在接收到命令或数据时,判断该命令 或数据中目的磁盘的地址是否在自身所保存的地址空间的范围内,在确定目 的磁盘的地址在自身所保存的地址空间的范围内之后,将接收到的命令或数 据发送至直接相连的、外部从磁盘阵列中的PCIe交换单元。
其中,所述PCIe交换单元为PCIe交换芯片或符合高级交换互连ASI 架构的ASI设备。
其中,所述控制单元为输入输出处理器IOP或串行小型计算机接口控制 器。
一种从磁盘阵列,该从磁盘阵列中包括:PCIe交换单元、控制单元和 至少一个磁盘,其中,PCIe交换单元与控制单元直接相连,控制单元与任 意一个磁盘直接相连,并且,
PCIe交换单元,用于将所接收到的命令或数据发送至自身中与控制单 元直接相连的第一端口和与后级PCIe交换单元直接相连的第二端口,通过 第一端口和第二端口的处理发送所接收到的命令或数据;
控制单元,用于在接收到命令或数据时,根据该命令或数据中目的磁盘 的地址信息,将所接收到的命令或数据发送至与其直接相连的目的磁盘。
其中,所述PCIe交换单元的第一端口,用于保存该从磁盘阵列中所有 磁盘的地址映射的地址空间信息,并在接收到命令或数据时,判断该命令或 数据中目的磁盘的地址是否在自身所保存的地址空间的范围内,在确定目的 磁盘的地址在自身所保存的地址空间的范围内之后,将接收到的命令或数据 发送至该从磁盘阵列中的控制单元。
其中,所述PCIe交换单元的第二端口,用于保存后级其它从磁盘阵列 中所有磁盘的地址映射的地址空间信息,在接收到命令或数据时,判断该命 令或数据中目的磁盘的地址是否在自身所保存的地址空间的范围内,在确定 目的磁盘的地址在自身所保存的地址空间的范围内之后,将接收到的命令或 数据发送至直接相连的、外部从磁盘阵列中的PCIe交换单元。
其中,所述PCIe交换单元为PCIe交换芯片或符合高级交换互连ASI 架构的ASI设备。
其中,所述控制单元为输入输出处理器IOP或串行小型计算机接口控制 器。
由此可见,本发明具有以下优点:
1、在主磁盘阵列及其级连的后续每一个从磁盘阵列中,均包括可对各 个磁盘进行访问控制的控制单元,并且,对任意一个磁盘阵列中的磁盘进行 访问时,由该磁盘所在磁盘阵列中的控制单元来负责对访问命令的处理或数 据读写。这样,在一个或多个服务器同时进行大量磁盘访问时,对该访问命 令的处理或数据读写则可以分别由不同的控制单元来执行,而不是现有技术 中的由唯一一个控制单元来处理,因此,避免了现有技术中控制单元业务负 荷量过多,出现处理延时甚至是业务中断或失败等一系列问题,从而保证了 业务的正常进行。
2、由于在主磁盘阵列及其级连的后续每一个从磁盘阵列中,均包括可 对各个磁盘进行访问控制的控制单元,因此,任意一个磁盘阵列中的控制单 元发生故障时,不会影响服务器对其它磁盘阵列的访问,从而进一步保证了 业务的正常进行。
3、由于PCIe交换单元端口到端口的延时很短,仅为15纳秒,因此大 大提高了服务器对磁盘阵列的访问速度。
4、由于在PCIe交换单元中,只需在每一个端口上设置对应的地址空间 信息,各端口按照其对应的地址空间进行转发处理,而无需现有技术中保存 所有磁盘的地址信息,因此,PCIe交换单元可记录的地址信息大幅度的增 加,使得主磁盘阵列后能够级连更多的从磁盘阵列,从而进一步扩展了磁盘 容量。
5、本发明可以利用PCIe交换芯片来实现命令或数据的转发,而现有技 术利用扩展器(Expander)来实现命令或数据的转发,相对于扩展器 (Expander),PCIe交换芯片的价格较低,因此,降低了系统的成本。

附图说明

图1是IP SAN系统的结构示意图。
图2是在现有技术中实现扩展磁盘容量的IP SAN系统的示意图。
图3是在现有技术中主磁盘阵列与从磁盘阵列相连的示意图。
图4是在现有技术中利用图2所示系统对目的磁盘进行访问的流程图。
图5A是在本发明中扩展磁盘容量的系统的基本结构示意图。
图5B是在本发明中扩展磁盘容量的系统的优化结构示意图。
图6是在本发明中主磁盘阵列与从磁盘阵列相连的示意图。
图7是在本发明实施例中对目的磁盘进行访问的流程图。

具体实施方式

在现有技术中,由于是采用集中控制的方式,即由主磁盘阵列内部的一 个控制单元完成对所有磁盘阵列访问的控制,因此,容易出现控制单元的业 务负荷量过多导致业务无法正常进行的问题,并且在该控制单元出现故障 时,会导致整个系统瘫痪。可见,为了避免现有技术的缺点,可以将集中控 制的方式变为分布式控制的方式,即由不同的控制单元分别对不同磁盘阵列 的访问进行控制。
另外,目前,PCIe协议由于可以整合多个通道,并具备多层次的服务 质量水平以及信息处理和避免拥塞的机制,在传输PCIe协议包时,只需要 根据ID路由和地址路由进行数据包转发,无需进行现有技术的查找路由列 表的过程,可大大减少命令和数据的传输时延。另外,由于主磁盘阵列中的 处理单元和控制单元均支持PCIe接口,因此,如果利用PCIe交换设备来进 行磁盘阵列中命令或数据的传输,则可大大提高访问速度。
针对上述特点,本发明提出了一种扩展磁盘容量的系统。图5A是在本 发明中扩展磁盘容量的系统的基本结构示意图。参见图5A,本发明所提出 的扩展磁盘容量的系统主要包括:至少一个服务器、以太网、至少一个主磁 盘阵列及其级连的从磁盘阵列,任意一个服务器通过以太网与主磁盘阵列相 连。图5B是在本发明中扩展磁盘容量的系统的优化结构示意图。参见图5B, 为了便于对接收到的数据或命令进行业务处理,在本发明所提出的扩展磁盘 容量的系统中还可以进一步包括:至少一个存储控制器,任意一个服务器首 先通过以太网与一个存储控制器相连,该存储控制器通过以太网与主磁盘阵 列相连。
图6是在本发明中主磁盘阵列与从磁盘阵列相连的示意图。参见图5A、 图5B和图6,在本发明系统中,主磁盘阵列与从磁盘阵列以及从磁盘阵列 之间均通过PCIe交换单元进行相连,并且,
主磁盘阵列中包括:接口单元、处理单元、PCIe交换单元、控制单元 和至少一个磁盘。其中,接口单元与处理单元直接相连,提供标准的以太网 接口,PCIe交换单元分别与处理单元和控制单元直接相连,控制单元与各 个磁盘直接相连;
从磁盘阵列中包括:PCIe交换单元、控制单元和至少一个磁盘。其中, PCIe交换单元与控制单元直接相连,控制单元与各个磁盘直接相连。
参见图5A、图5B和图6,在本发明系统中,
主磁盘阵列中的处理单元,用于在获取命令或数据后,将该命令或数据 发送至主磁盘阵列中的PCIe交换单元;
任意一个磁盘阵列中的PCIe交换单元,用于在接收到命令或数据时, 将该命令或数据发送至自身中与控制单元直接相连的第一端口和与后级 PCIe交换单元直接相连的第二端口,通过第一端口和第二端口的转发处理 将所接收到的命令或数据发送至对应磁盘阵列中的控制单元;
任意一个磁盘阵列中的控制单元,用于在接收到命令或数据时,根据该 命令或数据中目的磁盘的地址信息,将所接收到的命令或数据发送至与其直 接相连的目的磁盘;
主磁盘阵列或从磁盘阵列中的任意一个磁盘,用于在接收到命令或数据 时,根据接收到的命令或数据执行对应的操作,如读写或扫描等。
相应的,本发明还提出了一种对目的磁盘进行访问的方法,其核心思想 是:在主磁盘阵列中的处理单元与控制单元之间设置PCIe交换单元,并在 从磁盘阵列中设置PCIe交换单元和控制单元,将不同的磁盘阵列通过其内 部的PCIe交换单元相连;主磁盘阵列中的处理单元获取命令或数据后,将 所获取的命令或数据发送至主磁盘阵列中的PCIe交换单元;主磁盘阵列中 的PCIe交换单元根据所接收到命令或数据中目的磁盘的地址信息,将接收 到的命令或数据发送至对应磁盘阵列中的控制单元;该对应磁盘阵列中的控 制单元将接收到的命令或数据发送至与其直接相连的目的磁盘。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实 施例对本发明作进一步地详细描述。
为了实现本发明,需要重新设置主磁盘阵列以及从磁盘阵列的内部结 构,包括以下4个方面:
1、在主磁盘阵列中设置PCIe交换单元,将该PCIe交换单元分别与主 磁盘阵列中的处理单元和控制单元相连,并将主磁盘阵列中的控制单元与主 磁盘阵列中的各个磁盘相连。
这里,还可以去除主磁盘阵列中原有的扩展器。
2、在任意一个从磁盘阵列中设置PCIe交换单元和控制单元,将该从磁 盘阵列中的PCIe交换单元与控制单元相连,并将该从磁盘阵列中的控制单 元与该从磁盘阵列中的各个磁盘相连。
这里,还可以去除所述从磁盘阵列中原有的扩展器。
另外,由于现有的处理单元和控制单元均支持PCIe接口,因此,在上 述过程中,可以通过PCIe接口将PCIe交换单元与所述的处理单元或控制单 元相连。
3、将各个磁盘阵列相连。
这里,参见图6,不同磁盘阵列之间通过其内部的PCIe交换单元进行 相连。并且,不同磁盘阵列中的不同PCIe交换单元具体通过PCIe接口相连。
为了便于描述,在本发明中,将在任意一个磁盘阵列中,PCIe交换单 元用于与控制单元直接相连的端口统称为第一端口,将PCIe交换单元用于 与后级PCIe交换单元相连的端口统称为第二端口。
4、在每一个磁盘阵列中,包括主磁盘阵列和任意一个从磁盘阵列,将 磁盘阵列中所有磁盘的地址映射为一个地址空间,在该磁盘阵列中PCIe交 换单元的第一端口上保存该地址空间的信息;并且,将后续所有从磁盘阵列 中磁盘的地址映射为另一个地址空间,在该磁盘阵列中PCIe交换单元的第 二端口上保存该该另一个地址空间的信息。
图7是在本发明实施例中对目的磁盘进行访问的流程图。参见图5A、 图5B、图6和图7,利用本发明系统,在设置完主磁盘阵列以及从磁盘阵列 内部的结构时,本发明方法实现对一个目的磁盘进行访问的过程具体包括以 下步骤:
步骤701:当服务器需要访问特定的目的磁盘时,服务器将所需下发的 命令或数据携带在iSCSI协议包中,对该iSCSI协议包进行封装,并将封装 后的iSCSI协议包发送至主磁盘阵列。
这里,所述的命令或数据中携带有所述目的磁盘的地址。
参见图5A,当本发明系统如图5A所示时,在本步骤中,服务器将封 装后的iSCSI协议包发送至主磁盘阵列的具体实现过程包括:服务器通过以 太网将封装后的iSCSI协议包发送至存储控制器;存储控制器对接收到的 iSCSI协议包进行解封装处理,获取命令或数据,并对所获取的命令或数据 进行相关的业务处理,比如镜像或快照等业务处理;存储控制器将所获取的 命令或数据携带在iSCSI协议包中,并对该iSCSI协议包进行封装后,通过 以太网发送至主磁盘阵列。
参见图5B,当本发明系统如图5B所示时,在本步骤中,服务器直接通 过以太网将封装后的iSCSI协议包发送至主磁盘阵列。
步骤702:主磁盘阵列内部的接口单元接收到iSCSI协议包,将该iSCSI 协议包发送至处理单元。
步骤703:主磁盘阵列内部的处理单元对接收到的iSCSI协议包进行解 封装和协议解析等处理,获取该命令或数据,通过PCIe接口将所获取的该 命令或数据发送至主磁盘阵列中的PCIe交换单元。
步骤704:主磁盘阵列中的PCIe交换单元将接收到的命令或数据分别 发送至自身的第一端口和第二端口。
步骤705:主磁盘阵列中PCIe交换单元的第一端口和第二端口分别根 据自身保存的地址空间的信息,将接收到的命令或数据最终发送至对应的控 制单元。
本步骤的具体实现过程为:主磁盘阵列中PCIe交换单元的第一端口判 断所接收到命令或数据中携带的目的磁盘的地址是否在自身所保存的地址 空间的范围内,如果是,则将接收到的命令或数据发送至主磁盘阵列中的控 制单元,本步骤结束,否则,不执行转发处理;并且,主磁盘阵列中PCIe 交换单元的第二端口判断所接收到命令或数据中携带的目的磁盘的地址是 否在自身所保存的地址空间的范围内,
如果不是,主磁盘阵列中PCIe交换单元的第二端口则不执行转发处理,
如果是,主磁盘阵列中PCIe交换单元的第二端口则将接收到的命令或 数据发送至后级与其直接相连的从磁盘阵列1中的PCIe交换单元;从磁盘 阵列1中的PCIe交换单元将接收到的命令或数据同时发送至自身的第一端 口和第二端口;根据本步骤上述过程的原理,通过从磁盘阵列1中PCIe交 换单元的第一端口或第二端口的转发,将接收到的命令或数据最终发送至一 个对应磁盘阵列中的控制单元。
步骤706:接收到命令或数据的控制单元,根据该命令或数据中目的磁 盘的地址信息,将该命令或数据发送至与其直接相连的目的磁盘。
步骤707:目的磁盘根据接收到的命令或数据,执行相应的数据处理, 比如读写数据或进行数据扫描等。
在本发明中,所述的控制单元可以是输入输出处理器(IOP),也可以 是串行小型计算机接口控制器(SAS/SATA Controller)。当所述的控制单元 为IOP时,本发明还可以在该IOP上配置一些处理策略,比如RAID策略或 备份处理策略等。这样,当IOP接收到PCIe交换单元发来的命令或数据时, 该IOP还可以进一步根据预先配置的处理策略,针对当前的命令或数据执行 相关处理,比如,针对当前的命令或数据进行镜像处理或备份处理等。然后, 该IOP再将接收到的命令或数据发送至对应的磁盘。
在本发明中,所述的PCIe交换单元可以是一个对外出PCIe接口的、由 PCIe交换网组成的PCIe交换芯片。另外,由于高级交换互连(ASI)架构 支持PCIe协议,即ASI设备中包括PCIe接口和ASI交换网,ASI交换网能 够利用其协议接口直接承载PCIe协议,直接向外输出命令或数据,因此, 在本发明中,所述的PCIe交换单元还可以是符合ASI架构的ASI设备。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改 进等,均应包含在本发明的保护范围之内。