小型计算机系统接口输入输出(scsii/o)指点的定标的制作方法

文档序号:7714571阅读:121来源:国知局
专利名称:小型计算机系统接口输入输出(scsi i/o)指点的定标的制作方法
技术领域
本发明一般涉及网络存储器领域,更具体地涉及用于提供启动系统和块存储群中多个端口之间的任意数量的小型计算机系统接口 (SCSI)指点的系统和方法。
背景技术
块存储群和网络存储可以提供访问跨过多个存储装置的数据的系统/方法。

发明内容
—种方法包括但不限于发布命令至第一数据存储系统,用于定址数据集合以及
包括指向至少一个第二数据存储系统或该数据集合的第一子集合的指点的至少一个第一
指点响应,并且该第一指点响应包括指向所述至少第二数据存储系统的指点;存取该至少
一个第一指点响应,该至少一个第一指点响应包括指向所述至少第二数据存储系统或该数
据集合的第一子集合的指点,并且该第一指点响应包括指向所述至少第二数据存储系统的
指点;发布命令至第二数据存储系统,用于定址数据集合和第二指点响应,第二指点响应包
括指向第一数据存储系统和第三数据存储系统中至少一个的指点,该第二数据存储系统包
括该数据集合中的至少一个第二子集合;以及存取数据集合的第二子集合和第二指点响
应,第二指点响应包括指向第一数据存储系统和第三数据存储系统中的至少一个的指点。 存储群包括但不限于第一数据存储系统,用于产生第一指点响应或存储数据集
合的第一子集合并产生第一指点响应中的至少一种;以及第二数据存储系统,用于存储数
据集合的第二子集合并产生第二指点响应,其中第一指点响应包括指向至少第二数据存储
系统的指点,并且第二指点响应包括指向第一数据存储系统和第三数据存储系统中的至少
一个的指点。 —种系统包括但不限于用于发布命令至第一数据存储系统,用于定址数据集合以及包括指向至少一个第二数据存储系统或该数据集合的第一子集合的指点的至少一个第一指点响应的装置,以及该第一指点响应包括指向所述至少第二数据存储系统的指点;用于存取该至少一个第一指点响应的装置,该至少一个第一指点响应包括指向所述至少第二数据存储系统或该数据集合的第一子集合的指点,并且该第一指点响应包括指向所述至少第二数据存储系统的指点;用于发布命令至第二数据存储系统的装置,用于定址数据集合和第二指点响应,第二指点响应包括指向第一数据存储系统和第三数据存储系统中至少一个的指点,该第二数据存储系统包括该数据集合中的至少一个第二子集合;以及用于存取数据集合的第二子集合和第二指点响应的装置,第二指点响应包括指向第一数据存储系统和第三数据存储系统中的至少一个的指点。 应该理解,上述一般描述和下面的具体描述都仅示例性和解释性的,并且不用来限制本公开。附图结合于此并构成本说明书的一部分示出了本公开的主题内容。该说明书和附图一起用来解释本公开的原理。


通过参考附图,本公开的许多优点能够被本领域技术人员更好地理解。 图1是根据本公开的经由块存储协议可存取的网络存储实施方式/系统的框图; 图2是由/根据本公开实施的具有指点的SCSI命令/响应远程过程调用的示意框图; 图3是示出了根据本公开的用于在启动系统和块存储群之间通信的方法的流程图; 图4是根据本公开的实施例的SCSI指点列表格式的示意图; 图5是示出了用于链接指点列表分配的系列SCSI指点的框图;以及 图6是示出了用于指点列表树分配的系列SCSI指点的框图。
具体实施方案 下面具体参考附图中示出的所公开的主题内容。 总体参考图1,示出了经由块存储协议可存取的网络存储实施方式/系统。例如,块存储协议可以是在能够媒体传输的网络上实现的小型计算机系统接口 (SCSI)协议,例如Fibre信道、iSCSI或串行附加SCSI (SAS)。本发明还可以以其他块存储协议实现,例如SCSI RDMA协议(SRP)。本发明的系统/方法将块存储协议延伸供在形成块存储群的多个、离散、协作存储系统上分配具有通用逻辑块地址空间的数据。 网络存储实施方式/系统/存储结构100可以包括应用系统/服务器102。应用系统102可以运行一个或多个应用程序104。在应用系统102上运行的应用程序104可以通过/经由/使用网络(例如,存储区网络(SAN)llO)存取存储在一个或多个存储系统(106-108)上的存储资源。应用程序可以使用服务器(不失通用性)的操作系统114的块存储协议栈(例如,小型计算机系统接口 (SCSI)协议栈)112来存取存储资源/网络存储资源。服务器102的操作系统114可以在服务器硬件上直接运行或可以在不失通用性的虚拟环境中的虚拟计算机中运行。 在本发明的当前实施例中,服务器102的SCSI协议栈112可以将本地(例如服务器上)或远程(例如在网络上)存储资源呈现给应用程序104作为块存储装置/逻辑单元/SCSI逻辑单元。每个逻辑单元/SCSI逻辑单元可以具有独特的逻辑块地址空间。远程存储资源/远程存储装置(106-108)可以被服务器102的一个或多个SAN适配器116和/或存储系统(106-108)存取,其可以运行网络媒体传输协议,通过网络传输协议块存储协议被映射。例如,SCSI协议可以通过各种类型的实施的网络传输被映射。不失通用性,SAN116及其媒体传输协议层可以是物理或虚拟网络适配器。 在本发明的示例性实施例中,存储区网络110可以由允许端口层寻址的任何网络媒体和传输协议(例如Fibre信道、EtherNet、 InfiniBand和串行附加SCSI (SAS))实现。媒体传输层协议可以处理通过网络结构110的从端点至端点的所有协议包的路由。不失通用性,网络110可以被实施为单一结构或多个冗余结构。优选地,应用系统/服务器102上的网络端口能够物理到达存储系统(106-108)上的网络端口。 在本发明的其他实施例中,存储系统(106-108)可以是网络附加的存储装置。例如,存储系统(106-108)可以是通用计算机,专用存储阵列或网络盘驱动器,其使其本地装置在SAN 110上可视。存储系统的存储资源可以经由运行媒体传输协议层的SAN端口被存取。SCSI层可以使用所述SAN端口以与存储网络通信作为存储端口 。每个存储系统106-108可以包括本地块模拟层(118-120),其可以施加数据保护或块抽象至物理存储装置。例如,诸如廉价磁盘冗余阵列(RAID)可以在专用网络存储系统上使用。每个存储系统106-108还可以包括内部块协议栈(122-124),其可以存取实际附加的物理存储装置126,其输出到网络110。 应用服务器/应用系统/服务器102可用的存储量可以通过向单独存储系统(106-108)增加存储装置126来扩展,或者通过向存储区网络增加额外的存储系统(106-108)来扩展。当额外的存储装置126增加到单独存储系统(106-108)时,存储系统(106-108)中的本地块虚拟层(118-120)可以被群块虚拟层(132)使用来通过多个物理磁盘(126)创建遍布多个存储系统上的更大虚拟巻(128,130)。这可以保护虚拟巻(128,130)的单个逻辑块地址空间,但是在一些点上,单个存储系统(106-108)上的物理附加点的数量可以被耗尽,因此对全部容量扩展产生了限制。当存储系统被添加到存储区网络时,应用程序可用的全部存储可以被增加,超过单个存储系统的物理限制。然而,由多个存储系统(106-108)提供的存储可能需要被组合成供应用服务器(102)使用的共用逻辑块地址空间。 多种技术可用来从多个网络附加存储系统(106-108)上的存储资源126创建单个名字空间/共用逻辑块地址空间。例如,所述技术可以使用不同的存储协议,例如群文件系统或目标存储协议。块存储群聚集可以被添加到存储网络110,从而可以由多个冗余SAN结构110的每个中的群块虚拟化装置提供块群聚集。群块虚拟化装置可以位于网络存储系统和应用系统之间。群块虚拟化装置可以输入由网络存储系统/存储系统输出的块逻辑单元,以及可以通过创建虚拟巻来创建块虚拟化的其他层。群块虚拟化装置然后可以输出作为逻辑单元的虚拟巻至应用系统。应用系统不能看见或存取由存储系统输出的逻辑单元,但是仅可以看见虚拟巻/群虚拟巻。群物理结构发现、虚拟化映射、以及管理可以由群虚拟化管理者提供。群虚拟管理者可以位于SAN的边缘之中或之上的任何地方的分开的冗余装置对上。不失通用性,块存储群聚集功能可以分布在群块虚拟化装置/块群虚拟化装置上。
可选地,块存储群聚集/块群聚集可以添加到应用系统102(应用系统聚集)。例如,块群聚集可以由添加到应用系统的块存储协议栈的其他抽象层提供。各种选项可以被实施以将所述抽象层置于应用系统。块虚拟化层可以掩盖或隐藏由存储系统输出的逻辑单元并将虚拟巻呈现给块存储协议栈中的块虚拟化层之上的层。与块存储群聚集添加到存储区网络(网络聚集)时不同,当添加块存储群聚集到应用系统时,由存储系统输出的逻辑单元对于应用系统/服务器是可存取的。块虚拟化层可以隐藏从运行在应用系统/服务器上的应用程序存取所述逻辑单元。与网络聚集相同,当块群聚集被添加到应用系统,群虚拟化管理功能可以用来呈现发现群中的存储资源以及用于遍布应用服务器分布虚拟化映射。该管理方法的一种变形可以包括在每个服务器中具有独立的群虚拟化配置,其可以防止虚拟巻在应用服务器上被共享。可选地,为了提供共享的虚拟巻,可能需要聚集范围的虚拟化管理器。 在示出的根据本发明的实施例中(如图1所示),块存储群聚集可以被添加到存储系统(106-108)(存储系统聚集)。块群聚集可以通过添加到存储系统(106-108)中的至少一个的块协议栈(122-124)的群块虚拟化层132提供。群块虚拟化层132可以将本地和远程存储系统上的存储装置126合并到虚拟巻中(128,130)。群中的每个存储系统(106-108)上的存储装置126可以被一个或多个其他存储系统(例如,存储系统106的存储装置对于存储装置107和108是可见的,存储系统107的存储装置对于存储系统106和108是可见的,以及存储系统108的存储装置对于存储系统106和107是可见的)存储检测到或看到以允许由群块虚拟化层132创建虚拟巻(128, 130)。在多个存储系统聚集实施方式中,仅虚拟巻(128,130)通过存储区网络110由群块虚拟化层132输出到应用系统102。在一些网络存储实施方式中,到达存储系统(106-108之一)的请求一个或多个不同存储系统上的数据的输入/输出(I/O)请求可以被转发到正确的存储系统以满足I/0请求。多种技术可以被实施以执行1/0重定向,诸如代理1/0和命令转发。如同上面描述的其他块存储群技术,在存储系统聚集中,可以要求独立的群虚拟化管理功能134存在于存储结构中的至少一个存储系统(106-108)上。不失通用性,所述群虚拟化管理功能134可以分布在群中的存储系统(106-108)上,从而提供低成本、低扩散实施存储管理功能。 块存储巻可以分布在多个存储系统(106-108)上。应用系统102还可以存取群中的任何存储系统上的数据。虚拟巻(128,130)还可以提供遍布所有存储节点/存储系统(106-108)的通用块地址空间。 提供SCSI指点技术/方法用于与网络存储实施方式/系统,例如图1中所示的所述的实施方式/系统100。参考图3,示出了根据本发明的示例性实施例的经由网络存储实施方式进行数据传输的方法(例如,在启动系统/启动器和块存储群之间进行通信的方法)。例如,该方法可以如下所述(以及如图2和3所示)使用存储协议命令和应答序列(例如,诸如SCSI命令/响应远程处理调用模型)来实施用于块存储群集。在当前的本发明的实施例中,方法300包括步骤发布命令至第一数据存储系统,用于定址数据集合以及包括指向至少一个第二数据存储系统或该数据集合的至少一个第一子集合的指点的至少一个第一指点响应,以及该第一指点响应包括指向所述至少第二数据存储系统302的指点。例如,块存储群至少可以包括第一数据存储系统106、第二数据存储系统108、以及第三数据存储系统107,每个都通信连接到/包括物理存储装置126。第一数据存储系统106可以包括数据集合的第一子集合。该第一指点响应可以包括指向包括数据集合的其他子集合(例如-诸如第二数据存储系统108)的另一数据存储系统的至少一个指点。该命令可以通过启动器/启动系统/主机/服务器102经由存储区网络110发送到第一数据存储系统106(例如-目标系统/目标)。在示例性实施例中,该命令可以是I/0请求,例如对数据的请求(例如_读请求)。在其他实施例中,目的地可以是块存储群中的任何存储系统,并且该命令可以使用块存储群中的任何预期目标存储系统上的任何端口 (例如,如图2中所示的SCSI目标O的端口)被发送。该命令可以是SCSI命令,启动器/启动系统102可以是SCSI启动器,以及目标(例如-第一存储系统106)可以是SCSI目标。
在其他实施例中,当通过存储区网络110/网络传输发送时,该命令可以在建立的启动器和目标结合(例如_I_T Nexus)上发送。在SCSI协议中,启动器和目标之间的该1_T Nexus可以在启动器上的SCSI端口 (例如-服务器/应用系统102的SCSI端口 )和目标上的SCSI端口 (例如-第一存储系统106的SCSI端口 )之间建立。具有多个存储系统的块存储群可以提供用于群中的所有存储系统上的每个端口的独有的端口标识符。此外,每个SCSI命令可以通过巻的逻辑块地址空间中的起始地址和长度识别来识别将被传输的数据。 在示例性实施例中,该方法300可以还包括步骤存取该至少一个第一指点响应,该至少一个第一指点响应包括指向所述至少第二数据存储系统或该数据集合的所述至少第一子集合的指点,以及该第一指点响应包括指向所述至少第二数据存储系统304的指点。该第一指点响应可以从第一数据存储系统106发送至启动器系统102。在本发明的当前实施例中,接收该命令的存储在/驻留在存储系统(例如-目标存储系统)中的被请求数据的任何子集合可以被移动/传送至启动器或移动/传送来自启动器的被请求数据。例如,数据可以通过上述/相同的I_T Nexus上的系列SCSI数据传递步骤在目标106和启动器102之间移动(例如,存储在第一存储系统106上的数据可以被传送到应用系统/启动系统102)。在本发明的当前实施例中,数据可以根据特定SCSI命令的要求在启动器和目标之间的任意或两个方向上流动。存取该数据集合的第一子集合可以包括通过启动器系统102接收第一数据存储系统106的状态以指示第一子集合传输的结束。该状态可以是标准SCSI状态指示符。 当在数据请求中请求的数据的子集合没有存储/驻留在第一数据存储系统中,但是存储/驻留在包括在块存储群的多个存储系统中的第二数据存储系统中时,指点响应可以从第一数据存储系统发送至启动系统。指点响应可以为启动器提供不是原始数据请求中请求的所有数据被传送的指示符,该指点响应可以提供用于将启动系统定向至第二数据存储系统的指点,和/或该指点响应可以为启动系统指示/提供群的一个或多个其他存储系统(例如_第二存储系统108)存储所述数据的部分/剩余部分的指示符。指点响应可以基于包括在第一数据存储系统上的数据由第一数据存储系统产生。指点响应可以包括指向被请求的数据的剩余部分(例如_在步骤302接收到的原始数据请求中所请求的数据的剩余部分)所位于/所存储的群的一个或多个其他存储系统/群节点(例如_诸如第二存储系统108)的指点列表。 如上所述,存在用于必须被用于实现原始数据请求的启动器所获取的数据所在的每个额外群节点/存储系统的指点。在本发明的当前实施例中,指点列表的每个指点可以包括用于指示符所指向的每个存储系统/节点的下面信息(如图4所示)端口标识符(例如_与包括在原始数据请求中所请求的数据的至少一些剩余部分的群节点/存储系统上的端口结合);偏移量(例如-在其相关数据存储系统/存储节点上的数据的第一字节的逻辑块地址);以及数据长度(例如-为该指点将被传送的数据的数量)。例如,数据长度可以是将在其相关数据存储系统/存储节点上传送的子集合中的数据量。数据长度可以包括在其相关数据存储系统/存储节点的所有子数据存储系统/存储节点上传送的所有子集合中的全部数量的数据。如果第二数据存储系统/存储节点位于第一数据存储系统/存储节点的指点列表中,则第二数据存储系统/存储节点可以第一数据存储系统/存储节点的子节点。此外,第二数据存储系统/存储节点的子节点可以是第一数据存储系统/存储节点的子节点。指点响应的缺少可能表示数据存储系统/存储节点没有子数据存储系统/存储节点。需要其他信息来完成指点,例如巻、逻辑单元,以及目标可以从产生SCSI指点的命令的语境得到。 在本发明的当前实施例中,方法300还可以包括步骤发布命令至第二数据存储系统,用于定址数据集合和第二指点响应306。第二数据存储系统108可以包括数据集合的第二子集合。第二指点响应可以包括指向包括数据集合的其他子集合(例如-第三数据存储系统107)的其他数据存储系统的至少一个指点。该命令可以由启动器/启动系统/主机/服务器102通过存储区网络110发送到第二数据存储系统108(例如_目标系统/目标)。在示例性实施例中,该命令可以是I/O请求,例如对数据的请求(例如_读请求)。在其他实施例中,目标可以是块存储群中的任何存储系统,并且该命令可以使用块存储群中的任何期望目标存储系统上的任何端口 (例如-如图2所示的SCSI目标l的端口)被发送。该命令可以是SCSI命令,启动器/启动器系统102可以是SCSI启动器,以及目标(例如-第二存储系统108)可以是SCSI目标。 在其他实施例中,当通过存储区网络110/网络传输发送时,该命令可以在所建立的启动器和目标联合(例如_I_T Nexus)上发送。在SCSI协议中,启动器和目标之间的1_T Nexus可以在启动器上的SCSI端口 (例如-服务器/应用系统102的SCSI端口 )和目标上的SCSI端口 (例如-第二存储系统108的SCSI端口 )之间建立。具有多个存储系统的块存储群可以提供用于群中的所有存储系统上的每个端口的独有的端口标识符。此外,每个SCSI命令可以通过巻的逻辑块地址空间中的其起始地址和长度来识别将被传输的数据。 在示例性实施例中,方法300还可以包括存取数据集合的第二子集合和第二指点响应308的步骤。第二指点响应可以从第二数据存储系统108发送到启动器系统102。在本发明的当前实施例中,接收该命令的存储在/驻留在存储系统(例如-目标存储系统)中的所请求的数据的任何子集合可以移动/发送到启动器或从启动器移动/发送。例如,数据可以在目标108和启动器102之间通过系列SCSI数据发送步骤在上述/相同I_T Nexus上移动(例如_存储在第二数据存储系统108上的数据可以传送到应用系统/启动器系统102)。在本发明的当前实施例中,数据可以根据特定SCSI命令的需要在启动器和目标之间的任意方向或两个方向上流动。存取数据集合的第二子集合可以包括由指示器系统102接收第二数据存储系统108的状态以指示第二子集合的发送的完成。该状态可以是标准SCSI状态指示器。 当在数据请求中所请求的数据的子集合没有存储/驻留在第二数据存储系统中、但是存储/驻留在包括在块存储群的多个存储系统中的第三数据存储系统中时,指点响应可以从第二数据存储系统发送到启动器系统。指点响应可以为指示器提供不是在原始数据请求中所请求的数据都被发送的指示器,该指点响应可以提供用于将指示器系统定向至第三数据存储系统的指点,和/或指点响应可以指示/提供群的一个或多个其他存储系统(例如-第三存储系统107)存储所述数据的所述部分/剩余部分的指示器给系统。指点响应可以包括指向所请求的数据的剩余部分(例如_在步骤302接收到的原始数据请求中所请求的数据的剩余部分)所在/所存储的群的一个或多个其他存储系统/群节点(例如-第三存储系统107)的指点列表。在其他实施例中,块存储协议启动器102可以通过使用在指点列表中指示的端口来发送不同命令至持有在原始请求中所请求的数据的群中的所有其他存储系统。在响应于基于所述指点发布的命令的所有数据发送都已经完成之后,块存储协议可以通过返回其调用程序来完成该操作。 参考图5-6,示出了由本公开提供的数据集合分布的各个指点列表。例如,所链接的指点列表分布500具有四个指点的最大指点列表长度,160块的总数据长度,以及每个独立数据存储/群节点包括IO块的数据集合的子集合。在链接的指点列表分布500中,启动器系统(未示出)发布用于存取总数据长度170块的数据集合的命令至第一数据存储系统(未示出)并接收数据长度10块的数据集合的子集合和包括用于数据存储器/群节点502-508的指点的指点列表。指点502-506包括端口标识符、数据偏移量、以及由其指点引用的数据子集合的数据长度。指点508的数据存储/群节点具有包括用于数据存储/群节点510-516的指点的指点列表(由箭头550所示)。指点510-532的数据存储/群节点都是指点508的数据存储/群节点的子节点,所以指点508的数据长度包括指点510-532的总数据长度和指点508的子集合数据长度的总和。类似地,指点516的数据存储/群节点具有包括用于数据存储/群节点518-524的指点的指点列表(由箭头551所示)。指点518-532的数据存储/群节点都是指点516的子节点。数据存储/群节点502-506, 510-514,518-522以及526-532的指点不具有子节点。 指点列表树分布600具有四个指点的最大指点列表长度、160块的总数据长度以及每个独立的数据存储/群节点包括10块的数据集合的子集合。在指点列表树分布600中,启动系统(未示出)发布用于存取总数据长度170块的数据集合的命令至第一数据存储系统(未示出)并接收数据长度10块的数据集合的子集合,以及包括用于数据存储/群节点602-608的指点的指点列表。指点602-608包括端口标识符、数据偏移量、以及用于由其指点和子指点引用的数据子集合的数据长度。用于指点601-608的数据存储/群节点都具有指点列表650-653。指点608的数据存储/群节点具有包括用于数据存储/群节点628-632的指点的指点列表(由箭头653所示)。指点628-632的数据存储/群节点都是指点608的数据存储/群节点的子指点,因此指点608的输出长度包括指点628-632的总数据长度和指点608的子子集数据长度的总和。类似地,指点604的数据存储/群节点具有包括用于数据存储/群节点616-620的指点的指点列表(由箭头651所示)。指点616-620的数据存储/群节点都是指点604的子指点。数据存储/群节点610-614, 616-620, 622-626以及628-632的指点不具有子指点。 可能需要块存储群技术来提供多种属性。例如,块存储协议目标可能需要被分布在群中的所有存储系统(106-108)上。此外,群中的所有存储系统上的所有端口可能需要具有独有的端口标识符。另外,用于虚拟巻的逻辑块地址空间可能需要在其上存在虚拟巻的所有存储系统上为通用的。此外,可能需要在所有存储系统上的群块虚拟化功能(134)能够确定群中哪个存储系统持有虚拟巻(128,130)中的数据的地址范围。
如上所讨论的,本发明的方法可以在提供存储系统(106-108)上的块虚拟化的块存储群中实现。在示例性实施例中,本发明的系统/方法不是使用命令转发或代理1/0,而是实现群块虚拟化(132, 134),其通过完成其具有状态信息的本地数据传输和SCSI感测数据中的指点列表来指示数据驻留在其他群节点上。该状态信息可以包括SCSI检测状态。
在另外的实施例中,SCSI启动器102可以被配置以检测一新检测状态,为每个指点发布新的SCSI命令。启动器102可以还被配置用以累积通过跨过多个启动器_目标联结的指点取回的数据。 在本公开中,所公开的方法可以作为装置可读的指令集合或软件来实现。此外,应该理解在所公开的方法中的步骤的特定顺序或层次是示例性方法的示例。根据设计优选,应该理解方法中的步骤的特定顺序或层次可以被重新布置而保留在本公开的主题内容中。伴随的方法主张了示例顺序中的各种步骤的当前元素,但是不意味着局限于所呈现的特定顺序或层次。 应该理解本公开及其伴随的优点可以通过上面的描述被理解,而且在不背离所公开的主题内容或不牺牲其所有材料优势的情况下,对成分的形式、结构和布置进行的各种改变是显而易见的。上述的形式仅是示例性的,并且下面的权利要求包含并旨在包括这些改变。
权利要求
一种方法,包括发布一命令至一第一数据存储系统,用于定址一数据集合以及包括指向至少一个第二数据存储系统或所述数据集合的至少一个第一子集合的指点的至少一个第一指点响应,并且所述第一指点响应包括所述指向至少所述第二数据存储系统的指点;存取所述至少一个所述第一指点响应,所述至少一个第一指点响应包括指向所述至少第二数据存储系统或所述数据集合的所述至少第一子集合的指点,并且所述第一指点响应包括指向所述至少第二数据存储系统的指点;发布一命令至所述第二数据存储系统,用于定址所述数据集合和一第二指点响应,所述第二指点响应包括指向所述第一数据存储系统和一第三数据存储系统中至少一个的指点,所述第二数据存储系统包括所述数据集合中的至少一个第二子集合;以及存取所述数据集合的所述第二子集合和所述第二指点响应,所述第二指点响应包括指向所述第一数据存储系统和所述第三数据存储系统中的至少一个的所述指点。
2. 根据权利要求1所述的方法,所述发布一命令至所述第一数据存储系统进一步包括通过小型计算机系统接口 (SCSI)输入/输出(I/O)请求命令发布一命令至所述第一数据存储系统,所述第一数据存储系统是一 SCSI存储系统以及所述第二数据存储系统是一SCSI存储系统;以及所述发布一命令至所述第二数据存储系统进一步包括通过SCSI 1/0请求命令发布一命令至所述第二数据存储系统,所述第二数据存储系统是一 SCSI存储系统以及所述第三数据存储系统是一 SCSI存储系统。
3. 根据权利要求1所述的方法,其中指向所述第一数据存储系统的所述指点进一步包括一第一端口标识符,所述第一端口标识符标识所述第一数据存储系统的一端口 ,通过所述端口可存取所述第一数据存储系统;其中指向所述第二数据存储系统的所述指点进一步包括一第二端口标识符,所述第二端口标识符标识所述第二数据存储系统的一端口 ,通过该端口可存取所述第二数据存储系统;以及其中指向所述第三数据存储系统的所述指点进一步包括一第三端口标识符,所述第三端口标识符标识所述第三数据存储系统的一端口 ,通过该端口可存取所述第三数据存储系统。
4. 根据权利要求1所述的方法,其中指向所述第一数据存储系统的所述指点进一步包括一第一端口标识符,其与所述第一数据存储系统的一端口相关,所述数据集合的所述第一子集的一第一数据偏移量,以及用于所述第一数据存储系统的一第一数据长度;其中指向所述第二数据存储系统的所述指点进一步包括一第二端口标识符,其与所述第二数据存储系统的一端口相关,所述数据集合的所述第二子集合的一第二数据偏移量,以及用于所述第二数据存储系统的一第二数据长度;以及其中指向所述第三数据存储系统的所述指点进一步包括一第三端口标识符,其与所述第三数据存储系统的一端口相关,所述数据集合的所述第三子集合的一第三数据偏移量,以及用于所述第三数据存储系统的一第三数据长度。
5. 根据权利要求4所述的方法,其中用于所述第一数据存储系统的所述第一数据长度是用于所述数据集合的所述第一子集合的所述数据长度和用于在用于所述第一数据存储系统的所有子指点响应中的所有子数据存储系统上的所述数据集合的所有子集合的数据长度之和;用于所述第二数据存储系统的所述第二数据长度是用于所述数据集合的所述第二子集合的所述数据长度和用于在用于所述第二数据存储系统的所有子指点响应中的所有子数据存储系统上的所述数据集合的所有子集合的数据长度之和;以及用于所述第三数据存储系统的所述第三数据长度是用于所述数据集合的所述第三子集合的所述数据长度和用于在用于所述第三数据存储系统的所有子指定响应中的所有子数据存储系统中的所述数据集合的所有子集合的数据长度之和。
6. 根据权利要求1所述的方法,其中所述存取所述至少一个所述第一指点响应,所述至少一个第一指点响应包括指向所述至少第二数据存储系统或所述数据集合的所述至少第一子集合的指点,并且所述第一指点响应包括指向所述至少第二数据存储系统的指点进一步包括接收用于所述第一数据存储系统和包括指向所述至少所述第二数据存储系统的所述指点的所述第一指点响应的状态;以及其中存取所述数据集合的所述第二子集合进一步包括接收用于所述第二数据存储系统和包括指向所述第一数据存储系统或所述第三数据存储系统中的所述至少一个的所述指点的所述第二指点响应的状态。
7. 根据权利要求6所述的方法,其中所述存取所述数据集合的所述第一子集合是经由传送用于所述第一数据存储系统的状态的所述第一数据存储系统来完成的;以及其中所述存取所述数据集合的所述第二子集合是经由传送用于所述第二数据存储系统的状态的所述第二数据存储系统来完成的。
8. —种存储群,包括一第一数据存储系统,其用于产生一第一指点响应或存储一数据集合的一第一子集合并产生所述第一指点响应中的至少一种;以及一第二数据存储系统,其用于存储所述数据集合的一第二子集合并产生一第二指点响应;其中所述第一指点响应包括指向至少所述第二数据存储系统的一指点并且所述第二指点响应包括指向所述第一数据存储系统和一第三数据存储系统中的至少一个的一指点。
9. 根据权利要求8所述的存储群,其中所述第一数据存储系统是一 SCSI存储系统;其中所述第二数据存储系统是一 SCSI存储系统;以及其中所述第三数据存储系统是一 SCSI存储系统。
10. 根据权利要求8所述的存储群,其中所述至所述第一数据存储系统的所述指点进一步包括一第一端口标识符,所述第一端口标识符识别经由其可存取所述第一数据存储系统的 所述第一数据存储系统的一端口;其中所述至所述第二数据存储系统的所述指点进一步包括一第二端口标识符,所述第二端口标识符识别经由其可存取所述第二数据存储系统的 所述第二数据存储系统的一端口 ;以及其中所述至所述第三数据存储系统的所述指点进一步包括一第三端口标识符,所述第三端口标识符识别经由其可存取所述第三数据存储系统的 所述第三数据存储系统的一端口 。
11. 根据权利要求8所述的存储群,其中指向所述第一数据存储系统的所述指点进一 步包括一第一端口标识符,其与所述第一数据存储系统的一端口相关, 所述数据集合的所述第一子集合的一第一数据偏移量,以及 用于所述第一数据存储系统的一第一数据长度; 其中指向所述第二数据存储系统的所述指点进一步包括 一第二端口标识符,其与所述第二数据存储系统的一端口相关, 所述数据集合的所述第二子集合的一第二数据偏移量,以及 用于所述第二数据存储系统的一第二数据长度;以及 其中指向所述第三数据存储系统的所述指点进一步包括 一第三端口标识符,其与所述第三数据存储系统的一端口相关, 所述数据集合的所述第三子集合的一第三数据偏移量,以及 用于所述第三数据存储系统的一第三数据长度。
12. 根据权利要求11所述的存储群,其中用于所述第一数据存储系统的所述第一数据 长度是用于所述数据集合的所述第一子集合的所述数据长度和用于在用于所述第一数据 存储系统的所有子指点响应中的所有子数据存储系统上的所述数据集合的所有子集合的 数据长度之和;用于所述第二数据存储系统的所述第二数据长度是用于所述数据集合的所述第二子 集合的所述数据长度和用于在用于所述第二数据存储系统的所有子指点响应中的所有子 数据存储系统上的所述数据集合的所有子集合的数据长度之和;以及用于所述第三数据存储系统的所述第三数据长度是用于所述数据集合的所述第三子 集合的所述数据长度和用于在用于所述第三数据存储系统的所有子指定响应中的所有子 数据存储系统中的所述数据集合的所有子集合的数据长度之和。
13. —种系统,包括用于发布一命令至一第一数据存储系统的装置,用于定址一数据集合以及包括指向至 少一个第二数据存储系统或所述数据集合的第一子集合的一指点的至少一个第一指点响 应,并且所述第一指点响应包括指向所述至少所述第二数据存储系统的琐述指点;用于存取所述至少一个所述第一指点响应的装置,所述至少一个第一指点响应包括指 向所述至少第二数据存储系统或所述数据集合的所述第一子集合的指点,并且所述第一指 点响应包括指向所述至少第二数据存储系统的指点;用于发布一命令至所述第二数据存储系统的装置,用于定址所述数据集合和一第二指点响应,所述第二指点响应包括指向所述第一数据存储系统和一第三数据存储系统中至少一个的指点,所述第二数据存储系统包括所述数据集合中的至少一个第二子集合;以及用于存取所述数据集合的所述第二子集合和所述第二指点响应的装置,所述第二指点响应包括指向所述第一数据存储系统和所述第三数据存储系统中的至少一个的所述指点。
14. 根据权利要求13所述的系统,所述用于发布命令至所述第一数据存储系统的装置进一步包括用于通过小型计算机系统接口 (SCSI)输入/输出(I/O)请求命令发布一命令至所述第一数据存储系统的装置,所述第一数据存储系统是一 SCSI存储系统以及所述第二数据存储系统是一 SCSI存储系统;以及所述用于发布一命令至所述第二数据存储系统的装置进一步包括用于通过SCSI 1/0请求命令发布一命令至所述第二数据存储系统的装置,所述第二数据存储系统是一 SCSI存储系统以及所述第三数据存储系统是一 SCSI存储系统。
15. 根据权利要求13所述的系统,其中指向所述第一数据存储系统的所述指点进一步包括一第一端口标识符,所述第一端口标识符标识所述第一数据存储系统的一端口 ,通过所述端口可存取所述第一数据存储系统;其中指向所述第二数据存储系统的所述指点进一步包括一第二端口标识符,所述第二端口标识符标识所述第二数据存储系统的一端口 ,通过该端口可存取所述第二数据存储系统;以及其中指向所述第三数据存储系统的所述指点进一步包括一第三端口标识符,所述第三端口标识符标识所述第三数据存储系统的一端口 ,通过该端口可存取所述第三数据存储系统。
16. 根据权利要求13所述的系统,其中指向所述第一数据存储系统的所述指点进一步包括一第一端口标识符,其与所述第一数据存储系统的一端口相关,所述数据集合的所述第一子集的一第一数据偏移量,以及用于所述第一数据存储系统的一第一数据长度;其中指向所述第二数据存储系统的所述指点进一步包括一第二端口标识符,其与所述第二数据存储系统的一端口相关,所述数据集合的所述第二子集合的一第二数据偏移量,以及用于所述第二数据存储系统的一第二数据长度;以及其中指向所述第三数据存储系统的所述指点进一步包括一第三端口标识符,其与所述第三数据存储系统的一端口相关,所述数据集合的所述第三子集合的一第三数据偏移量,以及用于所述第三数据存储系统的一第三数据长度。
17. 根据权利要求16所述的系统,其中用于所述第一数据存储系统的所述第一数据长度是用于所述数据集合的所述第一子集合的所述数据长度和用于在用于所述第一数据存储系统的所有子指点响应中的所有子数据存储系统上的所述数据集合的所有子集合的数据长度之和;用于所述第二数据存储系统的所述第二数据长度是用于所述数据集合的所述第二子集合的所述数据长度和用于在用于所述第二数据存储系统的所有子指点响应中的所有子数据存储系统上的所述数据集合的所有子集合的数据长度之和;以及用于所述第三数据存储系统的所述第三数据长度是用于所述数据集合的所述第三子集合的所述数据长度和用于在用于所述第三数据存储系统的所有子指定响应中的所有子数据存储系统中的所述数据集合的所有子集合的数据长度之和。
18. 根据权利要求13所述的系统,其中所述用于存取所述至少一个所述第一指点响应的装置,所述至少一个第一指点响应包括指向所述至少第二数据存储系统或所述数据集合的所述第一子集合的指点,并且所述第一指点响应包括指向所述至少第二数据存储系统的指点,进一步包括用于接收用于所述第一数据存储系统和包括指向所述至少所述第二数据存储系统的所述指点的所述第一指点响应的状态的装置;以及其中用于存取所述数据集合的所述第二子集合装置进一步包括用于接收用于所述第二数据存储系统和包括指向所述第一数据存储系统或所述第三数据存储系统中的所述至少一个的所述指点的所述第二指点响应的状态的装置。
19. 根据权利要求18所述的系统,其中所述用于存取所述至少一个所述第一指点响应的装置被通知所述存取所述数据集合的所述第一子集合是经由传送用于所述第一数据存储系统的状态的所述第一数据存储系统来完成的,所述至少一个第一指点响应包括指向所述至少第二数据存储系统或所述数据集合的所述第一子集合的指点,并且所述第一指点响应包括指向所述至少第二数据存储系统的指点,以及其中所述存取所述数据集合的所述第二子集合的装置被通知所述存取所述数据集合的所述第二子集是经由传送用于所述第二数据存储系统的状态的所述第二数据存储系统来完成的。
全文摘要
小型计算机系统接口输入输出(SCSI I/O)指点的定标。一种方法包括发布命令至第一数据存储系统,用于定址数据集合及包括指向至少一个第二数据存储系统或数据集合的第一子集合的指点的至少一个第一指点响应。存取至少一个第一指点响应,至少一个第一指点响应包括指向至少第二数据存储系统或数据集合的第一子集合的指点。发布命令至第二数据存储系统,用于定址数据集合和第二指点响应,第二指点响应包括指向第一数据存储系统和第三数据存储系统中至少一个的指点,第二数据存储系统包括数据集合中至少一个第二子集合。存取数据集合的第二子集合和第二指点响应,第二指点响应包括指向第一数据存储系统和第三数据存储系统中至少一个指点。
文档编号H04L29/08GK101751227SQ200910181079
公开日2010年6月23日 申请日期2009年10月28日 优先权日2008年12月15日
发明者安德鲁·J·斯派瑞, 杰拉尔德·J·弗雷丁, 罗斯·E·泽维斯勒, 肯尼思·J·吉布森 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1