CN100334534C - 在存储区域网中实现存储虚拟化的方法与装置 - Google Patents

在存储区域网中实现存储虚拟化的方法与装置 Download PDF

Info

Publication number
CN100334534C
CN100334534C CNB03806717XA CN03806717A CN100334534C CN 100334534 C CN100334534 C CN 100334534C CN B03806717X A CNB03806717X A CN B03806717XA CN 03806717 A CN03806717 A CN 03806717A CN 100334534 C CN100334534 C CN 100334534C
Authority
CN
China
Prior art keywords
virtual
grouping
frame
network equipment
physical
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
Application number
CNB03806717XA
Other languages
English (en)
Other versions
CN1708742A (zh
Inventor
托马斯·詹姆斯·埃兹尔
西尔瓦诺·加伊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN1708742A publication Critical patent/CN1708742A/zh
Application granted granted Critical
Publication of CN100334534C publication Critical patent/CN100334534C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

本发明公开了在存储区域网的网络设备上实现存储虚拟化的方法与装置。在该网络设备的端口处接收到帧或分组。之后确定该帧或分组与虚拟存储单元的虚拟存储位置有关,所述虚拟存储单元的虚拟存储位置代表存储区域网的一个或多个物理存储单元上的一个或多个物理存储位置。于是就获得了一个或多个物理存储位置和虚拟存储位置之间的虚拟物理映射。新的或经修改的帧或分组随后被发送到虚拟物理映射指定的目标或发起者。

Description

在存储区域网中实现存储虚拟化的方法与装置
技术领域
本发明一般地涉及网络技术。更具体而言,本发明涉及支持存储区域网中的存储虚拟化的方法与装置。
背景技术
近年来,存储设备的容量没有存储的需求增加得快。因此给定服务器或其它宿主机必须访问多个物理上不同的存储节点(一般是盘)。为了解决这些存储限制,开发了存储区域网(SAN)。通常,存储区域网是用来互连不同数据存储设备和代表更大用户网络的相关数据宿主机的高速专用网络。然而,尽管SAN能够将存储设备配置成由网络内部的多种网络设备和/或实体使用,但是数据存储需求常常是动态的而非静态的。
图1A图示了示例性传统存储区域网。更具体地说,在存储区域网102中,可以将一组宿主机(例如,服务器或工作站)104、106、108耦合到存储设备(例如,盘)池。在SCSI用法中,宿主机可以被视为“发起者”,存储设备可以被视为“目标”。例如通过一组存储阵列或盘阵列110、112、114可以实现存储池。每个盘阵列110、112、114还对应一组盘。在本例中,第一盘阵列110对应盘116、118,第二盘阵列112对应盘120,第三盘阵列114对应盘122、124。优于使所有宿主机104-108能够访问所有盘116-124,可取的是通过盘阵列110、112、114使存储器(例如,盘)能够动态并隐式分配到每个宿主机104-108。换句话说,可以通过虚拟存储器(例如,虚拟盘)的概念分配物理存储器(例如,物理盘)。这允许人们以能够动态并透明分配存储器的方式将异质的发起者连接到分布式的异质目标组(存储池)。
虚拟存储器的概念已经在传统上用来通过物理存储器中的物理地址和虚拟存储器中的虚拟地址之间的翻译使物理存储器虚拟化。最近,通过多种机制,已经在存储区域网中实现“虚拟化”概念。虚拟化交互转换存储网络上的虚拟存储器和物理存储器。宿主机(发起者)将虚拟盘视为目标。虚拟盘以限定但又相当灵活的方式代表可用物理存储器。虚拟化向宿主机提供不受存储器的某些物理安排/分配限制的可用物理存储器的表示。
一种早期的技术,独立盘冗余阵列(RAID),提供了虚拟化的一些有限特征。已经实现了多种RAID子类型。在RAID1中,虚拟盘可以对应于存储相同数据(或者以其他方式支持相同数据的恢复)的两个物理盘116、118,从而在存储区域网中提供冗余。在RAID0中,单个虚拟盘对应多个物理盘。一些其它类型的虚拟化包括串联、备用(sparing)等。最近通过在存储区域网内的各个位置中实现虚拟化功能,已经实现了虚拟化的一些方面。三个这样的位置已经获得了某种程度上的接受:宿主机(例如,104-108)中的虚拟化、盘阵列或存储阵列(例如,110-114)中的虚拟化以及与宿主机和存储池分离的存储装备126中的虚拟化。令人遗憾的是,这些实现方案中的每个都有不理想的性能限制。
存储阵列中的虚拟化是当今最通用的存储虚拟化解决方案之一。通过该方法,在具体存储子系统(例如,盘阵列)的存储空间上创建虚拟卷。在存储子系统级别上创建虚拟卷提供了宿主机的独立性,这是因为存储池的虚拟化对宿主机不可见。并且,存储系统级别上的虚拟化能够最优化存储器访问,从而实现高性能。然而,这样的虚拟化方案一般将使用只用于同质存储环境的统一管理结构,并且尽管这样只具有有限的灵活性。此外,由于在存储子系统级别上进行虚拟化,所以在存储子系统级别上设置的物理-虚拟限制被强加到存储区域网中的所有宿主机上。并且,每个存储子系统(或者盘阵列)被独立地管理。因此存储级别上的虚拟化很少允许虚拟卷跨越多个存储子系统(例如,盘阵列),进而限制基于存储设备的方法的可伸缩性(scalability)。
当在每个宿主机上进行虚拟化的时候,可以跨越多个存储子系统(例如,盘阵列)。基于宿主机的方法具有其它的优点,优点在于存储区域网上一个宿主机上的限制不影响其它宿主机的操作。然而,在宿主机级别上的虚拟化需要存在运行在实现虚拟化功能的每个宿主机(例如,服务器)上的软件层。因此运行该软件影响运行该软件的宿主机的性能。本方法的另一个关键问题是其假定各个宿主机预先划分可用存储设备。由于是在宿主机级别上支持这样的划分的,并且每个宿主机的虚拟化功能独立于存储区域网中的其它宿主机而被执行,所以难以协调宿主机之间的存储访问。因此,基于宿主机的方法没能提供足够级别的安全性。由于该安全性的限制,难以实现多种冗余方案,例如需要在读取和写入操作期间“锁定”存储器的RAID。并且,当进行镜像时,宿主机必须多次复制数据,进而增加了它的输入-输出和CPU负载,并且增加了SAN上的流量。
在设置于宿主机和存储设备之间的存储区域网装备中的虚拟化解决了基于宿主机的方法与基于存储设备的方法的一些困难。存储装备全局管理物理存储设备到虚拟卷的映射和分配。一般来说,存储装备管理提供由物理到虚拟的当前映射的中心表。这样,基于存储装备的方法能够独立于存储区域网上的宿主机和存储子系统两者来实现虚拟卷,从而提供较高级别的安全性。并且,该方法支持跨越多个存储子系统的虚拟化。该体系结构的许多实现的主要缺点是必须通过存储区域网装备发送每个宿主机的每个输入/输出(I/O),这引起显著的性能劣化和存储区域网瓶颈。这在支持冗余方案例如RAID的系统中尤为不利,因为数据必须跨越多个盘进行镜像。在另一个基于存储装备的方法中,该装备确保所有宿主机接收表的当前版本。这样,为了使宿主机能够从装备接收表,需要从装备到宿主机的软件补偿(software shim),这增加了系统的复杂度。并且,由于软件层被实现在宿主机上,所以同样存在基于宿主机的方法的许多不利之处。
有鉴于此,如果各个存储设备或其部分能够逻辑地并且动态地被分配到网络中的各个设备和/或实体,这应当是可取的。并且,如果该机制能够被实现为支持SAN中的存储虚拟化而没有传统虚拟化方法的缺点,这应当是有利的。
发明内容
本发明公开了在存储区域网中实现存储虚拟化的方法与装置。这通过使用能够置于宿主机和存储设备之间的数据路径中的一个或多个网络设备来实现。结果,存储设备和宿主机都不需要其它的软件或硬件来支持存储虚拟化。从而,本发明优于基于宿主机的方法,基于宿主机的方法需要每个宿主机负担额外的软件来实现虚拟化功能。并且,本发明使得多个网络设备能够同时管理异质存储设备的虚拟化。重要的是,可以在每个端口的基础上实现基于交换机的虚拟化。交换机上的任何数量的端口可以管理它自身流量的虚拟化。这允许网络的虚拟化能力随端口数量而定。由于在任何网络系统中都有大量端口,所以虚拟化几乎总是有充足的带宽。因此可以实现没有传统虚拟化方案所存在的许多缺陷的存储虚拟化。
根据本发明的一个方面,公开了在存储区域网的网络设备上实现存储虚拟化的方法与装置。首先在网络设备的端口处接收帧或分组。然后确定该帧或分组与虚拟存储单元的虚拟存储位置的访问有关,所述虚拟存储单元的虚拟存储位置代表存储区域网的一个或多个物理存储单元上的一个或多个物理存储位置。于是就获得了一个或多个物理存储位置和虚拟存储位置之间的虚拟物理映射。新的或经修改的帧或分组随后被发送到虚拟物理映射指定的目标或发起者。
根据本发明的另一个方面,在每个端口的基础上实现本发明。换句话说,所选择的一个或多个网络设备的虚拟化端口可以硬件和/或软件方式实现虚拟化功能。这允许虚拟化处理能力随端口的数量而定。因此,与基于宿主机或基于存储设备的虚拟化方案提供的带宽相比,本发明为虚拟化提供了大得多的带宽。
根据本发明的另一个方面,虚拟化端口确保在访问由虚拟存储位置代表的一个或多个物理存储位置之前,“锁定”对那些存储位置的访问。这样,虚拟化端口确保没有其它网络节点将同时试图访问相同数据位置。当访问(例如,读取和/或写入访问)完成后,可以释放锁定。在一个实施例中,这通过同步由虚拟化端口提交的存储器访问来实现。更具体地说,虚拟化端口向主虚拟化端口提交锁定请求(除非该虚拟化端口自身是主虚拟化端口)。主虚拟化端口管理所有锁定请求,并且当已同意锁定请求之后,通知进行请求的从属虚拟化端口。主虚拟化端口同样地处理“锁定释放”请求。
多种网络设备可以被配置成或适用于截取、产生、修改和传输分组或帧,以实现所公开的虚拟化功能。这些网络设备包括但不局限于服务器(例如,宿主机)、路由器和交换机。此外,可以以软件和硬件的方式实现上述虚拟化过程的功能。
本发明的另一方面与包括机器可读介质的计算机程序产品有关,其中在机器可读介质上提供有用于部分或全部实现上述方法与技术的程序指令。本发明的任何方法都可部分或全部实现为可在这样的机器可读介质上提供的程序指令。此外,本发明与如这里所述而产生和/或使用的数据的各种组合与安排有关。例如,具有这里所描述的格式并且在合适介质上提供的分组和帧是本发明的一部分。
结合附图,将在下文本发明的详细说明中更加具体地描述本发明的这些以及其它特征。
附图说明
图1A是图示了示例性传统存储区域网的框图;
图1B是图示了能够实现现有技术虚拟化功能的多个实施例的存储区域网的框图;
图2是图示了可以根据本发明的多个实施例实现的虚拟化模型的框图;
图3A是图示了可以实现本发明的多个实施例的示例性虚拟化交换机的框图;
图3B是图示了可以实现本发明的多个实施例的示例性标准交换机的框图;
图4是图示了可以实现本发明的多个实施例的示例性系统体系结构的框图;
图5是图示了传统SCSI写入操作的示例性事务流程图;
图6是图示了传统SCSI读取操作的示例性事务流程图;
图7是图示了根据本发明的一个实施例执行的示例性SCSI写入操作的事务流程图;
图8是图示了根据本发明的一个实施例执行的示例性SCSI读取操作的事务流程图;
图9A是图示了由根据本发明的一个实施例执行的RAID 1+0操作应用得到的示例性存储配置的示例性框图;
图9B是图示了由根据本发明的一个实施例执行的RAID 0+1操作应用得到的示例性存储配置的示例性框图;
图10A是图示了由根据本发明的一个实施例执行的RAID 1+0操作应用得到的示例性存储配置的另一个示例性框图,其中在镜像之后进行分拆(strip);
图10B和10C一起表示一个事务流程图,该事务流程图表示在图10A的RAID 1+0操作期间执行的步骤。
具体实施方式
在下文的描述中,为了提供对本发明的充分理解,阐述了许多具体细节。然而对本领域普通技术人员来说很明显,可以在没有这些具体细节的某些和全部的情况下实施本发明。在其它的情况下,没有详细描述公知的过程步骤,以免不必要的混淆本发明。
根据本发明的多个实施例,可以在一个或多个网络设备中实现存储区域网内的存储虚拟化,所述网络设备这里指的是虚拟化交换机。更具体地说,诸如虚拟化交换机的网络设备截取帧或分组并从该帧或分组获得信息(例如,虚拟地址),下文将参考图3A进一步详细描述诸如虚拟化交换机的网络设备。网络设备随后从所获得的信息确定虚拟-物理映射。例如,网络设备可以将所获得的信息用作虚拟到物理映射表或算法中的“关键字”,以决定如何修改帧或分组以及/或者是否生成其它的帧或分组。
随后可以使用从虚拟-物理映射获得的信息组成新的或修改后的帧或分组。该新的或修改后的帧或分组随后被发送到所截取帧或分组的预定接收者。例如,可以生成一个或多个帧或分组,并将它们传输到与所截取帧或分组中指定的虚拟地址相对应的一个或多个物理地址。这样,如在下文将要进一步描述的那样,本发明的实施例可以应用于分组或帧。为方便起见,后面的讨论将参考帧来描述本发明的实施例。交换机对帧起作用并且使用有关SAN的信息来作出交换决定。
注意,由虚拟化交换机接收并发送的帧具有由诸如以太网或光纤通道的标准协议规定的帧格式。因此,可以在本发明中采用传统上用来生成这样的帧的软件和硬件。根据本发明,使用其它硬件和/或软件修改和/或生成与该标准协议相兼容的帧。本领域普通技术人员将理解如何开发必要的硬件和软件以实现如下文所述的虚拟化。
帧由诸如宿主机、交换机或存储设备的网络设备生成。很明显,合适的网络设备应当配置有用于执行虚拟化功能的合适软件和/或硬件。当然,不是存储区域网中的所有网络设备都需要配置有虚拟化功能。而是可以将经选择的交换机和/或端口配置有虚拟化功能或使之适应于虚拟化功能。类似地,在多个实施例中,通过选择多种模式可以使能或禁用这样的虚拟化功能。并且,可取的是将网络设备的经选择端口配置为能够进行虚拟化(virtualization-capable)的端口,该端口能够持续执行或只在虚拟化使能状态下执行虚拟化。
存储区域网中采用的标准协议(即,用来成帧化数据的协议)一般与网络运输的“流量类型”同义,尽管这不是必需的。如下文所解释的,在一些密封帧中定义流量类型。流量类型的示例一般是第2层或对应层格式,例如以太网、光纤通道和无限带宽(InfiniBand)。
如上所述,存储区域网(SAN)是高速专用网络,其代表较大用户网络来互连不同数据存储设备和相关联的网络宿主机(例如,数据服务器或端用户机)。SAN由系统的物理配置定义。换句话说,SAN中的那些设备必须物理上相互连接。在诸如图1B所图示的存储区域网131中,可以实现设备132、134、136、138、140和142,它们可以是同质的(例如,相同设备类型、尺寸或配置),也可以是异质的(例如,不同设备类型、尺寸或配置)。响应于宿主机144和146发出的命令,可以从存储设备132-142的多个部分读取数据以及向其写入数据。通过借助一个或多个交换机、路由器或被配置为执行交换功能的其它网络节点将存储设备与宿主机耦合起来,实现存储设备和宿主机之间的通信。在本示例中,交换机148、150和152通过交换机间链路154和156相互通信。
如上所述,本发明涉及存储网络中的“虚拟化”。与现有方法不同,本发明的虚拟化被实现在存储区域网的交换机或其它“内部”网络节点上。优选地,组成网络组构的多个交换机将一起实现给定存储区域网的虚拟化模型。此外,本发明的虚拟化一般在每个端口的基础上实现。换句话说,多端口交换机将具有在其一个或多个端口上分别实现的虚拟化。独立端口具有用于为该独立端口操作的分组或帧操作虚拟化功能的专用逻辑。这允许虚拟化处理能力随端口的数量而定,因而比基于宿主机或基于存储设备的虚拟化提供大得多的用于虚拟化的带宽。在这样的现有技术方法中,宿主机和网络组构之间连接的数量或者存储节点和网络组构之间连接的数量是有限的——至少与网络组构中端口的数目相比是有限的。
在本发明的具体及优选实施例中,在给定交换机的独立端口处分别实现虚拟化逻辑——而不是对交换机的所有端口进行集中处理。这允许虚拟化处理能力能够在每个端口的基础上密切配合交换机的确切需要。如果为整个交换机(具有多个端口)采用中心处理器,则处理器必须被设计成/选定为操作所有端口处的最大流量。对于许多应用,这意味着非常高的处理要求和非常大/昂贵的处理器。如果中心处理器太小,则交换机有时将不能跟上网络的交换/虚拟化需要。
虚拟化可以采取多种形式。一般而言,它可以被定义为用来相互关联存储网络上的物理存储设备和虚拟存储设备的逻辑或例程。宿主机看见可用物理存储设备的外在表现,其不受存储设备中固有的物理安排或位置的限制。虚拟化所超越的物理限制的一个示例包括组成物理存储块的大小和位置。例如,小计算机系统接口(SCSI)标准所定义的逻辑单元使用精确的物理大小(例如,36 GB和72 GB)。虚拟化可以以虚拟逻辑单元表示存储设备,所述虚拟逻辑单元小于或大于物理逻辑单元的规定大小。此外,虚拟化可以表现出包括来自两个或多个不同物理逻辑单元的多个区域的虚拟逻辑单元,所述两个或多个不同物理逻辑单元有时是在不同厂家的设备上提供的。虚拟化操作优选地对至少一些网络实体(例如,宿主机)透明。在一些通用方法中,存储区域网上的虚拟化类似于一般计算机系统上的虚拟存储器。然而,网络上的虚拟化具有更高的复杂度和更大的灵活性。复杂度的增加直接来自以下因素,即存在许多分散互连的网络节点。虚拟化必须含概这些节点。所述节点包括宿主机、存储子系统和交换机(或者类似的网络流量控制设备,例如路由器)。由于由不同的厂家提供,宿主机和/或存储子系统通常是异质的。厂家可能采用完全不同的协议(标准协议或专有协议)。因此,在很多情况下,虚拟化提供下述能力,即将异质的发起者(例如,宿主机或服务器)连接到分布式的异质目标(存储子系统)组,使得能够动态并透明地分配存储设备。
针对网络的虚拟化操作的示例包括下述方式:RAID0至RAID5,来自物理存储器的两个或多个完全不同的逻辑单元的存储器的串联,备用(故障物理介质的自动替代),物理存储器的远程镜像,日志信息(例如,错误和/或统计),多个物理存储器系统之间的负载平衡,分拆(例如,RAID0),诸如用于访问物理存储器的访问控制算法的安全测量,调整虚拟存储器块的大小,使任意的逻辑单元(LUN)用作启动设备的LUN映射,物理存储器的备份(时间点(point in time)的拷贝)等等。这些只是虚拟化功能的示例。本发明不限于上述整个集合或它的任何特定子集。
在这里的讨论的许多部分里,是就SCSI协议来描述本发明的虚拟化交换机的功能的。这是因为商业上的许多存储区域网运行SCSI协议来访问存储站点。存储区域网常常使用光纤通道(FC-PH(ANSI X3.2301994,光纤通道一物理和信令接口))作为较低级别的协议,并在光纤通道之上运行IP和SCSI。注意本发明不限于这些协议中的任何一个。例如,光纤通道可以替换为以太网、无限带宽等。并且较高级别的协议不需要包括SCSI。例如,宿主机可以使用其它协议访问存储设备。此外,重要的要注意,将在这里使用的SCSI指代FC上的SCSI、iSCSI(IP上的SCSI)、并行SCSI(并行电缆上的SCSI)、串行SCSI(串行电缆上的SCSI)以及SCSI的所有其它具体形式的任何实现方式。
由于SCSI在存储区域网中得到如此广泛的使用,所以这里使用的许多术语将是SCSI术语。SCSI术语(例如,“发起者”和“目标”)的使用不意味着所描述的过程或装置必须使用SCSI。在进行说明之前,有必要解释一些将在本讨论中使用的SCSI术语。首先,“发起者”是请求由另一个设备执行的操作的设备(通常是宿主机系统)。在本文的上下文中,宿主机发起者一般将请求读取或写入操作,该读取或写入操作在虚拟或物理存储器的区域上执行。其次,“目标”是执行由发起者请求的操作的设备。例如,目标物理存储器盘将获得或写由宿主机发起者最初请求的数据。注意,尽管宿主机发起者可以提供指令以从具有虚拟地址的“虚拟”目标读取或向其写入,但是在指示之前,本发明的交换机必须首先将这些指令转换为物理目标地址。
目标可以被划分成物理或虚拟“逻辑单元”。这些是可通过目标寻址的特定设备。例如,物理存储子系统可以被组织为多个完全不同的逻辑单元。在本文中,宿主机将虚拟存储器视为完全不同的虚拟逻辑单元。这里有时将逻辑单元称为“LUN”。在SCSI标准中,LUN指的是逻辑单元号,但在通用说法中,LUN也指代逻辑单元本身。
虚拟化的核心是“虚拟化模型”的概念。这是将存储子系统(诸如盘阵列)上提供的物理存储设备关联到网络上宿主机或其它发起者所见的虚拟存储设备的方法。尽管所述关联关系可以采用多种形式并且可以由多种术语表征,但是如上所述将使用基于SCSI的术语。因此,存储区域网的物理一方将被描述为物理LUN。宿主机方依次见到一个或多个虚拟LUN,这些虚拟LUN是物理LUN的虚拟表示。物理LUN到虚拟LUN的映射在逻辑上可以在一个、两个或更多级别上发生。最后,具有一个可以由本发明的交换机使用的映射功能,以在物理LUN地址和虚拟LUN地址之间相互转换。
图2是图示了根据本发明的多个实施例可以在存储区域网中实现的虚拟化模型的示例的框图。如图所示,存储区域网的物理存储设备由一个或多个物理LUN组成,物理存储设备在这里被示为物理盘202。每个物理LUN是能够含有存储在一个或多个连续块中的数据的设备,其中所述连续块可以分别且直接被访问。例如,物理LUN中的存储器的每个块可以表示为块204,其可被称为盘单元(Dunit)。
通过映射功能206,可以将与物理LUN202相关联的物理LUN地址转换为虚拟LUN地址,反之亦然。更具体地说,如上所述,虚拟化和映射功能可以在一个或多个级别上发生。例如如图所示,在第一虚拟化级别处,一个或多个虚拟化LUN208每个可以表示一个或多个物理LUN202或它的多个部分。一起组成单个虚拟LUN208的多个物理LUN202不需要是连续的。类似地,被映射到虚拟LUN208的物理LUN202不需要位于单个目标中。因此,通过虚拟化,所创建的虚拟LUN208可以表示位于物理上完全不同的目标上的物理存储器(这些存储器可能来自不同的厂家),因此可以支持不同协议和流量类型。
尽管虚拟化模型可以以单个级别实现,但是本发明的多个实施例可以支持任何数量级别的分层次安排。例如如图所示,图2的虚拟化模型中的第二虚拟化级别被称为高级别VLUN或卷210。一般而言,当访问数据时,发起者设备只“看见”VLUN210。
在本示例中,VLUN210被实现为虚拟LUN208的“逻辑”RAID阵列。此外,可以例如通过使用分拆和/或镜像进一步实现这样的虚拟化级别。例如如下文将要参考图10A至10C进一步详细讨论的那样,可以顺序地执行RAID1+0或RAID0+1。并且,重要的是要注意,不必规定虚拟化级别的数量来支持映射功能206。更可取的是例如通过分层次映射功能,可以支持任何数量的虚拟化级别。例如,可以在树形数据结构、链表或其它可以被遍历的合适数据结构中创建并维护节点的多个级别。
借助位于分层次虚拟化模型的任何级别处的节点,每个发起者因而可以访问物理LUN。在给定存储区域网中实现的分层次模型的给定虚拟化级别中的节点可以对允许的发起者集合(未示出)可见,并且可被其访问。具体虚拟化级别(例如,VLUN)中的节点需要在可以在这些节点上操作功能(例如,读取、写入)之前创建。这可以例如通过具体发起者的主启动记录来完成。此外,多个发起者可以被赋予对特定虚拟化级别中的特定节点(例如,VLUN)的写入和/或读取特权。这样,特定虚拟化级别中的节点可以对所选择的发起者可见,并可由其访问。
如上所述,存储区域网中的多个交换机可以是支持虚拟化功能的虚拟化交换机。图3A是图示了可以实现本发明的多个实施例的示例性虚拟化交换机的框图。如图所示,数据经由双向连接器302由智能虚拟化端口接收。提供介质访问控制(MAC)块304与进入端口相关联,其能够使例如以太网或光纤通道的多种协议的帧被接收。此外,虚拟化截取交换机306确定进入帧中规定的地址是否与虚拟存储单元的虚拟存储位置的访问有关,其中虚拟存储位置表示存储区域网的一个或多个物理存储单元的一个或多个物理存储位置。在本示例中,该帧经由双向连接器302接收,并且新的或经修改的帧从交换机组构320出来。然而,重要的是要注意,可以以其它方式实现虚拟化交换机。例如,该帧可以从组构320接收,由306-308重定向,进行虚拟化并发送回交换机组构320。这对于下述情况来说很重要,所述情况即宿主机和盘连接到如图3B所示的标准线路卡以及宿主机和盘共享诸如图3A所示的几个虚拟化卡。
当虚拟化截取交换机306确定进入帧中规定的地址与虚拟存储位置的访问而非物理存储位置的访问有关时,该帧由能够执行如上所述的映射功能的虚拟化处理器308处理。更具体地说,虚拟化处理器308获得一个或多个物理存储位置和虚拟存储位置之间的虚拟-物理映射。这样,虚拟化处理器308可以适合地查找合适的物理或虚拟地址。例如,可能需要执行从物理地址到虚拟地址的映射,或者从虚拟地址到一个或多个物理地址的映射。
一旦获得了虚拟-物理映射,虚拟化处理器308随后可以使用所获得的映射生成新的帧或修改已有帧,从而能够使帧被发送到由虚拟-物理映射规定的发起者或目标。例如,在镜像写入的情况下,帧可以被多次复制。该复制需要可以由虚拟-物理映射功能规定。此外,源地址和/或目的地地址被合适地修改。例如,对于来自目标的数据,虚拟化处理器将最初是物理LUN地址的源地址替换为对应的虚拟LUN和虚拟地址。
在目的地地址中,端口将它自身的地址替换为发起者的地址。对于来自发起者的数据,端口将源地址从发起者地址改变为端口的自身地址。它还将目的地地址从虚拟LUN/地址改变为对应的物理LUN/地址。新的或经修改的帧随后可以被提供给虚拟化截取交换机306以使该帧能够被发送到它的预定目的地。
尽管虚拟化处理器308获得并应用虚拟-物理映射,但是帧或相关联的数据可以存储在临时存储器位置(例如,缓存)310中。并且,可能需要或期望存储所发送或接收的数据,直到已确认已经成功完成所期望的读取或写入操作。作为一个示例,可能期望向虚拟LUN写入大量数据,这些数据必须在多个帧中分别被传输。因此可能期望临时缓冲存储数据,直到接收到数据的接收确认。作为另一个示例,可能期望从虚拟LUN读取大量数据,这些数据可能在多个帧中分别接收。并且,接收该数据的顺序可能与数据应当传输到读取命令的发起者的顺序不同。在这种情况下,如下做法可能是有益的,即在将数据传输到发起者之前对数据进行缓冲存储以使数据能够在传输之前重新排序。类似地,可能期望在变得需要验证已发送到发起者(或目标)的数据完整性的情况下对数据进行缓冲存储。
新的或经修改的帧随后可以由转发引擎312接收,该转发引擎312从该帧的多个字段获得信息,所述信息例如是源地址和目的地地址。转发引擎312随后访问转发表314以确定源地址是否可以到达规定的目的地地址。更具体地说,转发表314可以包括物理LUN地址和虚拟LUN地址。转发引擎312还确定交换机中发送该帧的合适端口,并且为该帧生成合适的路由标记。
一旦为传输合适地格式化了帧,则在传输之前该帧将由缓存排队框316接收。并非如接收帧那样传输它们,可能期望临时将帧存储在缓存或队列318中。例如,可能期望在队列集合中的一个队列中临时存储基于服务质量的分组,其中队列集合中的每个对应不同的优先权级别。帧随后经由交换机组构320被传输到合适端口。如图所示,外发端口具有其自身的MAC块322和双向连接器324,帧可以经由双向连接器324被发送。
如上所述,存储区域网中的交换机不需要都是虚拟化交换机。换句话说,交换机可以是没有任何端口实现“智能”虚拟化功能的标准交换机。图3B是图示了可以实现本发明的多个实施例的示例性标准交换机的框图。如图所示,标准端口326具有MAC块304。然而,诸如图3A中示出的虚拟化截取交换机和虚拟化处理器并没有被实现。在进入端口处接收到的帧仅由转发引擎312和它关联的转发表314处理。在传输之前,帧可以在缓存或队列318中排队316。随后经由交换机组构320将帧转发到外发端口。如图所示,外发端口也具有关联的MAC块322和双向连接器324。
如上所述,虚拟化交换机至少可以部分地实现本发明。虚拟化优选地在每个端口的基础上执行而不是在每个交换机的基础上执行。因此,每个虚拟化交换机可以具有能够执行虚拟化功能的一个或多个虚拟化端口以及不具有这样的虚拟化功能的端口。在一个实施例中,交换机是混合式的,具有如上文参考图3A和图3B所描述的线路卡的组合。
虽然上面参考图3A和3B所述的网络设备被描述为交换机,但是这些网络设备仅仅是示例性的。因此,也可实现其他网络设备例如路由器来接收、处理、修改和/或生成具有如上所述功能的分组或帧以在存储区域网络中传输。而且,上述网络设备仅仅是示例性的,因此可以实现其他类型的网络设备来执行所公开的虚拟化功能。
如上所述,可以用适于实现虚拟化功能的虚拟化交换机和标准交换机实现存储区域网。图4是图示了可以实现本发明的多个实施例的示例性系统体系结构的框图。在本示例中,实现了两个虚拟化交换机402和404以支持帧在存储区域网中的传输。每个虚拟化交换机可以包括一个或多个“智能”虚拟化端口和一个或多个标准端口。更具体地说,本示例中的虚拟化交换机402和404每个分别具有虚拟化端口406和408。此外,虚拟化交换机402和404的每个分别具有多个标准端口410、412、414、416和418、420、422、424。为了支持虚拟-物理映射并支持多个应用和/或宿主机对存储器的访问能力,期望在虚拟化交换机402和404之间协调存储器访问。交换机402和404之间的通信可以由两个交换机之间的交换机间链路426完成。如图所示,交换机间链路426可以在两个标准端口之间。换句话说,两个交换机进行存储器访问的同步仅仅需要两个交换机之间的通信。该通信可以通过智能虚拟化端口执行,但不必一定通过虚拟化端口或在两个虚拟化端口之间执行。
可以为多个理由执行存储虚拟化,例如镜像。例如,考虑四个物理LUN,PLUN1 428、PLUN2 430、PLUN3 432和PLUN4 434。为了冗余的目的,常常期望将两个物理LUN形成组。如图所示,因此两个物理LUN,PLUN1 428和PLUN2 430由单个虚拟LUN,VLUN1 436表示。当数据被镜像时,数据被镜像(例如,存储)到多个物理LUN以使数据在物理LUN之一发生故障时能够被获取。
当数据被写入一组“镜像”或从其读取的时候可能产生多种问题。例如如链路438、440所示,运行在相同或不同宿主机上的多个应用程序可能同时访问相同数据或存储器位置(例如,盘位置或盘块)。类似地,如在438、440和442、443处所示的,从两个不同宿主机发送的命令例如读取或写入命令可以在同时帧中发送。每个宿主机可以具有如所示的对应宿主机总线适配器(HBA)。由应用程序或宿主机访问或存储的数据应当保持镜像完整。更具体地说,即使在向镜像之一进行写操作之后,存储在所有镜像中的数据将保持一致。换句话说,如果镜像之一发生故障,其他镜像应当继续用作冗余物理LUN。
在使能镜像的传统系统中,两个不同源的几乎同时的访问常常导致固有的竞争状态。例如,当两个不同客户发送写命令到相同虚拟LUN的情形,如所示,运行在宿主机1 424上的应用程序1 444发送带有数据“A”的写命令,而运行在宿主机2 426上的应用程序2 446发送带有数据“B”的写命令。如果第一应用程序444首先发送数据“A”到VLUN1 436,则可以向例如PLUN1 428写入数据“A”。然而,在它能被镜像到PLUN2430之前,第二应用程序446可能发送数据“B”。数据“B”可以在被镜像到PLUN1 428之前被写入到PLUN2 430。数据“A”随后被镜像到PLUN2 430。类似地,数据“B”被镜像到PLUN1 428。这样如图所示,最后的写操作控制在特定物理LUN中存储的数据。在本例中,在完成两个镜像操作之后,PLUN1 428存储数据“B”而PLUN2 430存储数据“A”。这样,两个物理LUN不再互相镜像,导致分歧的数据。
为了解决传统系统中存在的固有竞争状态,虚拟化端口如上所述地经由交换机间链路例如426相互通信。换句话说,端口同步它们相互之间的虚拟化LUN的访问。在一个实施例中,这是通过建立单个主虚拟化端口来完成的,其它虚拟化端口将这个主虚拟化端口认做主端口。可以通过多种机制建立主端口的身份。作为一个示例,主端口可以向其它虚拟化端口发出组播消息,指示其是主虚拟化端口。作为另一个示例,虚拟化端口可以以主端口的身份进行初始化。此外,在主虚拟化端口故障的情况下,可能期望使能从属虚拟化端口之一来充当主端口。
主虚拟化端口可以以多种方式解决由固有竞争状态引起的问题。一种解决方法是这里描述的锁定机制。另一种方法是将SCSI命令重定向到主虚拟化端口,其将负责执行虚拟到物理映射和合适的互锁。从属端口随后可以从主端口获知该映射,并处理数据。
在访问虚拟LUN之前,从属虚拟化端口启动与主虚拟化端口的会话,以请求允许访问虚拟LUN。这是通过锁定机制完成的,该锁定机制锁定对虚拟LUN的访问,直到该锁定被释放。例如,从属虚拟化端口(例如,端口406)可以从主虚拟化端口(例如,端口408)请求锁定的许可。主虚拟化端口随后当许可锁定时通知从属虚拟化端口。当许可了锁定后,对相应物理存储位置的访问被“锁定”,直到该锁定被释放。换句话说,锁定的保持具有对存储在那些物理位置处的数据的排他读取和/或写入访问。在本例中,数据“A”随后被存储在物理LUN1 428和物理LUN2430两者中。当从属虚拟化端口406接收指示对虚拟LUN的写入操作成功的STATUS OK消息时,可以释放锁定。主虚拟化端口408随后可以获得对访问虚拟LUN的锁定,直到数据“B”被存储在VLUN1 436的两个镜像中。这样,虚拟化端口同步对虚拟LUN的访问,以确保存储在下层物理存储介质中的数据的完整性。
通常,在用于存储器访问的SCSI协议中,由发起者和目标发送命令以实现读取或写入操作。为了请求对目标的读取或写入访问,发起者发送请求命令(CMD)。更具体地说,命令请求对目标中的具体存储器位置的访问。为此目的,请求命令含有下述信息:SCSI LUN、将要在逻辑单元中访问的数据的起始存储器地址(逻辑单元的开始地址的偏移量)、存储器访问的长度(例如,以块或字节为单位)和命令类型(读取或写入)。在接收到请求命令之后,目标设备(一般经由存储器控制器)确定是否能够访问所请求的存储器位置。如果能并且访问是写入操作,则目标以传送就绪信号(XFR RDY)答复发起者,其还指示可以传送的数据量。此后,发起者发送数据的一个或多个帧到目标。目标的控制器试图将进入数据写入到指定的存储器位置。在命令完成(成功或不成功)后,目标向发起者返回状态字节。由于多数错误和异常状态不能恰当地以单个状态字节描述,所以一个状态码CHECK CONDITION指示可获取其它的信息。假定写入操作成功,则目标以STATUS OK信号答复。为了结束操作,目标发送COMMAND COMPLETE消息到发起者。SCSI写入操作随后完成。
如果请求命令指定读取操作,则目标直接答复从所请求位置读取的数据。不需要传送就绪信号。当已经发送了所有所请求的数据之后,目标答复STATUS OK和COMMAND COMPLETE信号。为了与本发明相对照,下文描述的图5和图6阐述了标准SCSI读取和写入操作。
根据本发明,虚拟化交换机被置于目标与发起者(通常是存储子系统和宿主机)之间。这些交换机上的虚拟化端口截取SCSI命令,并且在通知发起者或目标之前进行某些动作,如例子可能有的情况那样。下文描述的图7至图10示出了多种情形,其中虚拟化交换机操纵SCSI命令。
通常,在请求命令(读取或写入)的情况下,虚拟化端口执行三个操作。首先,它将请求的虚拟化LUN和关联的地址和长度转换为它的对应物理LUN和关联地址和长度。当然,在镜像和分拆的情况下,从虚拟LUN、地址和长度进行的该转换的结果可能产生多个对应的物理LUN、地址和长度组。这可以通过询问虚拟和物理位置之间的映射的内部表或列表来完成。当然,也可以使用其它合适的数据结构例如列表和树。此外,还可以使用算法计算虚拟-物理映射(例如,在分拆的情况下)。注意,数据的单个虚拟块可能对应数据的两个或多个物理块——跨越多个LUN。在这种情况下,虚拟化端口必须识别出物理映射指定两个独立的物理位置。
其次,在虚拟化端口已标识物理LUN、地址和长度之后,端口随后可以确保没有其它节点将同时试图访问相同数据位置。这样,根据一个实施例,虚拟化请求该物理数据位置锁定,直到完成访问。这可以通过向主虚拟化端口提交锁定请求来完成——除非进行请求的端口自身是主端口。重要的是要注意,锁定可以在虚拟地址空间操纵,也可以在物理地址空间操纵。换句话说,可以锁定VLUN中或PLUN上的一系列字节。此外,可以在执行虚拟到物理翻译之前或在执行翻译之后执行锁定。两种情况下结果应当相同。
第三,在许可锁定之后,虚拟化端口准备一个或多个新(代替)SCSI请求命令。这些命令包括与在来自发起者的所截取请求命令中指定的虚拟位置相对应的物理位置(或多个位置)。这些命令还可以包括作为源地址的虚拟化端口地址。这样,来自目标的答复返回到虚拟化端口而不是返回到宿主机。例如,如果虚拟化端口从目标接收传送就绪(XFR_RDY)命令,则它可以将对应的传送就绪命令发送回发起者。然而,一般在所传输的数据或传送就绪命令中没有LUN字段(其含有VLUN或PLUN)。这样的LUN字段只存在于SCSI命令中。在一个实施例中,智能端口能够通过使用光纤通道帧中的其它字段使传送就绪与数据相关于SCSI命令。
在某些情况下,虚拟化端口将为单个读取/写入请求接收多个传送就绪命令。这通常在虚拟存储器位置映射到多个完全不同的物理LUN时发生。在这种情况下,每个物理LUN将响应于虚拟化端口发送的读取/写入请求命令答复一个传送就绪命令。这样,虚拟化端口应当能够在发起者只发送单个请求命令时只向发起者发送单个传送就绪命令——而不必考虑请求中暗含多少物理LUN。虚拟化端口如对待传送就绪命令那样对待状态命令。
关于发起者和目标之间的实际数据传输,虚拟化交换机简单地截取数据帧,并合适地替换源和目的地地址。对于来自目标的数据,端口将最初是物理LUN地址的源地址替换为对应的虚拟LUN和虚拟地址。
在目的地地址中,端口将它自身的地址替换为发起者的地址。对于来自发起者的数据,端口将源地址从发起者的地址改变为端口自身的地址。它还将目的地地址从虚拟LUN/地址改变到对应的物理LUM/地址。还存在该处理更为复杂的情形。例如,在一个实施例中,在镜像或分拆的情况下,状态没有被简单地重写到并发送到发起者。而是收集发往PLUN的所有命令的所有状态。如果所有状态都是SUCCESS,SUCCESS状态被返回到发起者。
在图示截取、修改、生成及传输SCSI命令以支持存储虚拟化的方法之前,讨论传统SCSI读取和写入操作是有帮助的。图5是图示了传统SCSI写入操作的示例性事务流程图。如图所示,在宿主机和物理LUN之间执行事务,二者分别由垂直线502和504表示。当运行在宿主机上的应用程序想要将数据存储到盘中时,它通过操作系统库发出写入命令506。写入命令被传送到SCSI驱动器,该SCSI驱动器将命令转发到合适的盘。如图所示,写入命令一般将标识要存储的数据、存储器中的具体物理地址以及在该物理地址处所需的存储器的量。在本例中,所需存储器的量为4KB。
当驱动器502接收写入命令后,这触发SCSI交换。更具体地说,驱动器502发送SCSI写入命令508,该写入命令508指定物理LUN(PLUN)、物理地址(即,偏移量)、所需的存储器长度(例如,4KB),并且其指示该命令是写入命令。当PLUN准备好接收数据的时候,PLUN504随后发送指示PLUN504准备好接收4KB数据的传送就绪命令510。帧通常具有最大尺寸,这常常禁止整个数据集在单个帧中传输。因此在本例中,宿主机502以两个连续帧512、514发送数据,每个帧传输初始4 KB数据中的2KB。PLUN504随后在写入成功后以STATUS(OK)消息516响应,或者在发生错误的情况下以CHECK CONDITION消息响应。
类似地,图6中示出了传统SCSI读取操作期间执行的步骤。当客户想要从物理地址读取指定的数据量时,客户发送读取命令602。如上所述,宿主机502对命令的接收读取触发了SCSI交换。宿主机502随后发送SCSI读取命令604,并指示该命令是读取命令而非写入命令,其中读取命令604指示物理LUN、物理地址(即,偏移量)、长度。PLUN504随后以两个连续帧606、608响应,其中每个帧包括2KB数据。假定读取操作成功,则PLUN504发送STATUS(OK)消息610到宿主机504。
为了支持存储区域网中的存储虚拟化,虚拟化使能设备(这里称为虚拟化交换机)截取SCSI消息(例如,帧)。虚拟化交换机优选地生成或修改所接收的SCSI帧,使得虚拟化对宿主机(例如,发起者)和物理LUN(例如,目标)两者都透明。换句话说,不需要修改宿主机和物理存储设备来支持本发明所公开的实施例。
根据本发明的多个实施例,虚拟化交换机支持存储区域网中的存储虚拟化。图7图示了用于执行SCSI写入操作的存储虚拟化的应用,而图8图示了用于执行SCSI读取操作的存储虚拟化的应用,二者将在下文进一步详细介绍。
图7是图示根据本发明的一个实施例执行的示例性SCSI写入操作的事务流程图。如图所示,宿主机702、虚拟化端口704、物理LUN1 706和物理LUN2 708由垂直线表示。在本例中,数据在两个物理LUN中进行镜像。如图所示,宿主机702发送WRITE命令710,并指示该命令是写入命令,其中WRITE命令710标识虚拟LUN、虚拟LUN中的地址、要写入的数据长度(例如,4 KB)。当虚拟化端口704截取WRITE命令后,它获得虚拟-物理映射712以标识由虚拟-物理映射指定的一个或多个物理LUN和关联的物理地址(例如,与虚拟LUN和虚拟地址相关联)。并且,当将要镜像数据时,虚拟化端口可以执行镜像选择算法714,该算法指示哪个物理LUN将被首先写入。例如,算法可以以随机方式或循环顺序进行操作。虚拟化端口随后获得锁定716,使得它可以向物理LUN706和708两者开始数据传送。
一旦虚拟化端口704获得锁定,则它向第一物理LUN发送WRITE命令(如718所示),并向第二物理LUN发送WRITE命令(如720所示)。每个帧标识物理LUN、物理LUN中的物理地址、所需的存储器长度(例如,4KB),并指示该命令是WRITE命令。重要的是要注意,虚拟化端口发送的帧与虚拟化端口从发起者接收的帧的标准协议(例如,流量类型)相兼容。在本例中,由于数据被镜像,所以在虚拟化端口从发起者接收单个WRITE命令之后,虚拟化端口将发送多个WRITE命令。因此,尽管虚拟化端口可以修改所接收的帧以用于传输,但是在本例中,虚拟化端口还必须生成至少一个新的帧用于传输。
如上所述,当目标接收SCSI WRITE命令之后,在目标准备好接收从发起者传送的数据之后,目标通常发送XFR_RDY信号。因此,还期望将XFR_RDY信号从虚拟化端口传输到发起者(目标)。然而,根据本发明的一个实施例,在从任何一个物理LUN接收到对应的XFR_RDY信号之前,虚拟化端口704就将XFR_RDY信号722发送到宿主机702。这样,虚拟化端口704可能在多个物理LUN准备好接收数据之前就获得要被传送的数据。因此,只要从多个物理LUN之一接收到XFR_RDY信号,数据就可以被即发送到发出信号的物理LUN。
例如,如图所示,一旦宿主机702接收到XFR_RDY信号722,指示虚拟LUN准备好接收4KB的数据,则宿主机702就在两个连续帧724和730中传送4KB数据,每个帧包含2KB数据。在第一帧724被发送到虚拟化端口704之后,从第一物理LUN706接收到XFR_RDY信号726。因此,通过将第一帧数据在728处发送到第一物理LUN,可以立即启动从虚拟端口704到第一物理LUN的数据传输。类似地,只要虚拟化端口704从宿主机702接收到第二帧数据730,则虚拟化端口704就发送第二数据帧732到第一物理LUN706。类似地,只要从第二物理LUN708接收到XFR_RDY消息734,指示准备好接收整个4KB数据,则数据就以两个帧736、740被传输到第二物理LUN708。在此期间,虚拟化端口704可以从第一物理LUN706接收到STATUS(OK)消息738。类似地,在成功完成向第二物理LUN708的数据传送之后,第二物理LUN708将发送STATUS(OK)消息742到虚拟端口。虚拟端口704随后发送单个STATUS(OK)消息744到宿主机702,指示数据被成功存储在存储器中。当然,如果状态指示命令未成功,可以将一个或多个帧重新发送到合适的(多个)物理LUN。因此,需要向多个物理LUN复制多个写入操作的镜像操作对宿主机702透明。
一旦数据如上参考图7所述的那样在两个或多个物理LUN中进行镜像,则SCSI读取操作将触发从镜像之一的数据读取。图8是图示了根据本发明的一个实施例执行的示例性SCSI读取操作的事务流程图。如图所示,宿主机702发送SCSI读取命令802到虚拟化端口704,其中读取命令标识虚拟LUN、关联的虚拟地址、要获得的数据长度,并且指示该命令是读取操作(而非写入操作)。虚拟化端口704接收读取命令触发由虚拟化端口704执行的若干操作。更具体地说,虚拟化端口可能分配存储器804以存储其接收的数据。例如,可能期望分配要从之读取(或向其写入)的存储器的量。由于若干原因,这可能很重要。例如,虚拟化端口处接收的数据的接收顺序可能与数据发送到读取操作的发起者的顺序不一致。此外,如果读取操作失败,可能期望保留该数据,以确保先前发送到宿主机的数据的完整性。例如,这可以通过从预备的镜像读取数据用于与先前发送的数据比较来实现。
在从多个镜像(例如,多个物理LUN)之一读取数据之前,虚拟化端口704可以实现镜像选择算法806以选择若干镜像之一,以从其读取数据。如上所述,存储在每个镜像中的数据应当反映(例如,复制)存储在其它镜像中的数据。例如,镜像选择算法可以随机选择多个镜像之一或者选择优选镜像(例如,物理LUN1),以从其读取数据。
如上文参考虚拟化写入命令所描述的那样,在808处获得锁定以确保对指定存储器位置的排他访问。此外,在810处获得虚拟-物理映射。虚拟化端口704随后发送读取命令812到所选择的镜像,物理LUN1 706。类似于上文参考图7所描述的写入虚拟化操作,命令指定物理LUN(例如,PLUN1)和关联的物理地址,要读取的数据长度,并指示该操作是读取操作。如上文参考图7所描述的那样,可能需要在两个或更多帧中发送大块数据。因此,PLUN1 706以在两个分开的帧814和816中的所请求数据答复虚拟化端口。虚拟化端口704随后可以在818处将数据存储于先前分配的存储器中。虚拟化端口704随后可以将数据以两个分开的帧820和822发送到宿主机702。当虚拟化端口704从PLUN1 706接收STATUS824之后,虚拟化端口704可以确定是否需要在826重新传输命令和/或数据。换句话说,如果STATUS指示操作未成功,则可能期望从其它镜像(例如,物理LUN)读取数据,以将该数据和先前发送到宿主机(并且存储在所分配的存储器中)的数据相比较。随后可以传输STATUS828到宿主机702。例如,虚拟化端口704可以在发送状态到宿主机之前一直等待,直到命令已被成功完成。
本发明可以适用于完成多种虚拟化操作,包括镜像和分拆。例如,RAID1+0操作包括镜像操作和随后的分拆操作。图9A是图示了由根据本发明的一个实施例执行的RAID1+0操作应用得到的示例性存储配置的示例性框图。如图所示,图示了多个物理LUN,其中数据A-E存储在多个数据块中。更具体地说,以所示的对应号码1-10的顺序存储数据。执行RAID1+0操作,使得数据被存储在物理LUN PLUN1 902、PLUN2904、PLUN3 906和PLUN4 908,并被镜像到物理LUN PLUN5 910和PLUN6 912中。由于首先执行镜像,所以每个数据块在被分拆之前被镜像到物理LUN PLUN5 910和PLUN6 912中。换句话说,在经过多个镜像“分拆”整个数据块之前,数据的单个部分被镜像到多个物理LUN中。在本例中,数据A被存储在LUN902中,随后被镜像到LUN910中。数据B随后被存储在LUN904中,并被镜像到LUN912中,如图所示,其横跨LUN创建“分拆带(stripe)”。如图所示,执行连续的镜像和分拆操作来存储数据C、D和E。
作为另一个示例,可以执行RAID0+1操作,其包括分拆操作和随后的镜像操作。图9B是图示了由根据本发明的一个实施例执行的RAID0+1操作应用得到的示例性存储配置的示例性框图。如图所示,图示了多个物理LUN,其中数据A-E存储在多个数据块中。更具体地说,以所示的对应号码1-10的顺序存储数据。执行RAID0+1操作,使得数据被存储在物理LUN PLUN1 914、PLUN3 918、PLUN5 922和PLUN7 926,并被镜像到物理LUN PLUN2 916、PLUN4 920、LUN6 924和PLUN8 928中。由于首先执行分拆,如图所示,所以在将单个数据块镜像到多个物理LUN之前,所有数据块都横跨物理LUN被“分拆”。在本例中,数据A-E的整个集合横跨物理LUN914、918、922、926和914而被分拆,如号码1-5所示。然后,数据A、B、C、D和E的每个部分分别被镜像到物理LUN916、920、924、928和916中,分别如对应的号码6-10所示。
图10A是图示了由根据本发明的一个实施例执行的RAID1+0操作应用得到的示例性存储配置的另一个示例性框图。如上所示,RAID1+0操作包括镜像和随后的分拆步骤。如图所示,虚拟LUN 1002可以表示三个物理LUN、PLUN1 1004、PLUN2 1006和PLUN3 1008。如图所示,物理LUN可以是异质的,并且因而可以包括不同的存储器量。在本例中,数据A、B和C中的每块是100字节。数据以号码1-6表示的顺序被镜像和分拆。如图所示,每块数据分别被镜像到PLUN3 1008中。在此过程中,数据A-C横跨PLUN 1004和1006被分拆。
图10B和10C一起表示一个事务流程图,该事务流程图表示在图10A的RAID1+0操作期间执行的步骤。其中分拆在镜像之后。如图所示,由宿主机、从属虚拟化端口、主虚拟化端口和物理LUN PLUN1-PLUN3执行的步骤分别由垂直线1010、1012、1014、1016、1018和1019表示。宿主机1010首先如1020所示的那样发送写入命令,该命令指示虚拟LUN(例如,VLUN1)、虚拟LUN中的地址(例如,0)、要被传送的数据长度(例如,300字节),并且指示该命令是写入命令。当虚拟化端口1012接收该命令时,它可以为要被写入的数据分配存储器1022,如上文参考读取命令所描述的那样。
如上所述,如果虚拟化端口不是主端口,则它在访问虚拟LUN之前从主端口获得锁定。因此,从属虚拟化端口1012发送锁定请求1024到主虚拟化端口1014。例如,锁定请求可以用来请求在指定地址处对虚拟LUN的访问,以及指示要被锁定的存储器的量。当从主虚拟化端口1014接收到锁定许可1026后,从属虚拟化端口1012可能想发送XFR_RDY信号1028到宿主机1010以优化虚拟化过程。
虚拟化端口1012随后以发送数据的顺序向三个PLUN发送写入命令,如图10A所示。更具体地说,数据A将被存储在PLUN1中地址0处,随后是PLUN3中地址0处。因此,对应的写入命令1030和1032被发送到PLUN1 1016和PLUN3 1019,两个命令都指示100字节的数据将被写入对应物理LUN中的物理地址0处。类似地,写入命令1034和1036对应于在PLUN2和PLUN3中的数据B的镜像,指示100字节的数据将被分别写入地址0和100,如图10A所示。写入命令1038和1040随后被发送到对应于数据C的PLUN1 1016和PLUN3 1019,其分别指示将要传送的数据量和物理地址100和200,其中数据将要存储在这些物理LUN中的这些物理地址处。当物理LUN准备好接收数据的传送时,PLUN1、PLUN2和PLUN3发送对应于每个写入命令的传送就绪信号1042-1052。
在上文描述的示例中,图示了每个写入命令和关联的XFR_RDY命令。但是,存储器在1022处被分配,因此数据在虚拟化端口上被缓冲。结果,如上所示,如图10A所示的诸如A1-C5数据的写入以及数据A2-B4-C6的写入(以及关联的XFR_RDY命令)可以合并在单个步骤中而不用分别执行。例如,步骤1030和1038可以合并到200字节的单个写入中,而步骤1032、1036和1040可以合并到300字节的单个写入中。类似地,步骤1042和1044可以合并到200字节的来自PLUN1的单个XFR_RDY命令中,并且步骤1048、1050合1052可以合并到300字节的来自PLN3的单个XFR_RDY命令中。
由于已经接收到XFR_RDY信号,所以只要从宿主机1010接收到数据,虚拟化端口1012就可以开始向对应的物理LUN发送数据。因此,当在1053处从宿主机接收数据A后,数据在1054处被发送到PLUN1 1016并在1056处被发送到PLUN3 1019。类似地,当从宿主机接收数据B后,它可以如1058和1060处所示的那样被分别发送到PLUN2 1018和PLUN31019。在此期间,如1059处所示,可以从宿主机1010接收数据C。数据C随后如1062和1064所示的那样被分别发送到PLUN1和PLUN3。假定写入命令成功,则分别从PLUN1、PLUN2和PLUN3接收STATUS(OK)消息1066-1076。随后STATUS(OK)消息1077返回到宿主机。在通知命令已经成功完成之后,所分配的存储器可以在1080处被解除分配。
由于系统中的多种限制,可能存在最大传送单元。流入,虚拟化端口可能具有有限的存储器量用于具体传送的分配。修改图10B中图示的示例,宿主机可以用最初请求的400字节的存储器来发送数据A至D(而不是如图所示的300字节的存储器),尽管虚拟化端口可能只有300字节可用于分配。因此如上所述,虚拟化端口可以发送XFR_RDY消息,指示只可以传送300字节。在这种情况下,只要存储器被解除分配,虚拟化端口就在1082处分配存储器的剩余100字节。第二锁定请求可以例如标识虚拟LUN、虚拟LUN中的地址、要被写入的数据长度(100字节),并且指示该数据将被写入VLUN。当在1086处许可锁定后,传送就绪信号1087被发送到宿主机,指示可以传送剩余的100字节数据。类似地,向PLUN2 1018和PLUN3 1019的写入命令被分别在1088和1090处发送,指示写入操作所需的存储器量和物理地址。当如1092和1094所示从对应的物理LUN接收到传送就绪信号后,在1095处从宿主机接收的数据D在1096和1098处被发送到两个物理LUN。如1100和1102所示,在从两个物理LUN接收状态之后,在1103处向宿主机发送合适的状态。在成功完成命令之后,在1104处再次解除分配存储器。
一旦存储区域网中的“主端口”已许可锁定,则该锁定可以在不再需要的时候被“释放”。在释放之后,其它网络实体或方法可以访问虚拟LUN和对应的物理LUN。例如,在已成功完成写入(或读取)命令之后,从属虚拟化端口可以发送锁定释放或解锁请求1106到主虚拟化端口。如上所示,在从对应目标接收STATUS之后可以指示命令的成功完成。主虚拟化端口随后可以在1108处向从属虚拟化端口提供所许可的锁定已被释放的通知。
尽管这里示出并描述的本发明的示例性实施例和应用,但是可以有保持在本发明的概念、范围和精神之内的许多变化和修改,并且在本领域普通技术人员熟读本申请之后,这些变化将会变得很清楚。例如所描述的本发明适用于帧,但是应当理解,本发明不限于这种实现,相反也可以等同地适用于分组。并且,应用本发明不用考虑实现它的环境和提供。因此,一般而言,本发明不需要使用如上所述的虚拟化操作来执行,而可以用来支持存储区域网中的其它虚拟化操作。
此外,尽管描述了示例性交换机,但是上述的实施例可以在多种网络设备(例如,服务器)和多种介质中实现。例如,用于实现上述发明的指令和数据可以存储在盘驱动、硬驱动、软盘、服务器计算机或远程网络计算机中。因此,本实施例被认为是示例性的而非限制性的,并且本发明不限于这里给出的细节,而是可以在权利要求的范围和等同物内进行修改。

Claims (59)

1.一种在存储区域网的网络设备上实现存储虚拟化的方法,所述方法包括:
(a)在所述网络设备的端口处接收帧或分组;
(b)确定所述帧或分组与虚拟存储单元的虚拟存储位置的访问有关,所述虚拟存储单元的所述虚拟存储位置代表所述存储区域网的一个或多个物理存储单元上的一个或多个物理存储位置;
(c)获得所述一个或多个物理存储位置和所述虚拟存储位置之间的虚拟-物理映射;以及
(d)将新的或经修改的帧或分组发送到所述虚拟-物理映射指定的发起者或目标。
2.如权利要求1所述的方法,其中所述网络设备是交换机、路由器、iSCSI网关或被配置成执行交换功能的网络节点。
3.如权利要求1所述的方法,其中所述虚拟存储单元包括所述存储区域网上的虚拟逻辑单元或存储设备的虚拟表示。
4.如权利要求1所述的方法,其中由所述网络设备的所述端口专用的逻辑来执行所述步骤(b)、(c)和(d)。
5.如权利要求1所述的方法,其中在所述网络设备的所述端口处接收的所述帧或分组是光纤通道帧。
6.如权利要求1所述的方法,其中在所述网络设备的所述端口处接收的所述帧是iSCSI帧。
7.如权利要求1所述的方法,其中在所述网络设备的所述端口处接收的所述帧或分组包括读取或写入命令。
8.如权利要求1所述的方法,其中在所述网络设备的所述端口处接收的所述帧或分组包括SCSI读取或写入命令。
9.如权利要求1所述的方法,其中确定所述帧或分组与虚拟存储位置的访问有关的步骤包括:在来自所述发起者的所述帧或分组中识别所述虚拟存储单元的地址。
10.如权利要求9所述的方法,其中所述地址是目的地地址。
11.如权利要求1所述的方法,其中确定所述帧或分组与虚拟存储位置的访问有关的步骤包括:在来自所述目标的所述帧或分组的目的地地址字段中识别所述端口的地址。
12.如权利要求1所述的方法,其中所述虚拟存储单元是虚拟逻辑单元,所述一个或多个物理存储单元是物理逻辑单元。
13.如权利要求1所述的方法,其中所述虚拟-物理映射由虚拟化模型定义。
14.如权利要求1所述的方法,所述方法还包括:
以将所述虚拟存储单元的目的地地址替换为所述一个或多个物理存储单元的一个或多个目的地地址的方式,修改所述所接收的分组或帧,或者生成一个或多个新的分组或帧。
15.如权利要求1所述的方法,所述方法还包括:
以将物理存储单元的源地址替换为所述虚拟存储单元的源地址的方式,修改所述所接收的分组或帧,或者生成新的分组或帧。
16.如权利要求1所述的方法,所述方法还包括:
以将所述发起者的源地址替换为所述网络设备上的所述端口的地址的方式,修改所述所接收的分组或帧,或者生成新的分组或帧。
17.如权利要求1所述的方法,所述方法还包括:
以将所述网络设备上的所述端口的目的地地址替换为所述虚拟存储单元的目的地地址的方式,修改所述所接收的分组或帧,或者生成新的分组或帧。
18.如权利要求1所述的方法,其中由所述网络设备的所述端口专用的处理器来执行所述步骤(b)、(c)和(d)。
19.如权利要求1所述的方法,还包括在向所述一个或多个物理存储位置提交读取或写入命令之前,请求所述一个或多个物理存储位置的锁定。
20.如权利要求19所述的方法,其中请求所述一个或多个物理存储位置的锁定的步骤包括请求所述虚拟存储位置的锁定。
21.如权利要求19所述的方法,其中请求所述一个或多个物理存储位置的锁定的步骤包括:
向所述存储区域网中的网络设备的另一个端口发送锁定请求。
22.如权利要求21所述的方法,还包括:
从所述存储区域网中的所述网络设备的所述另一个端口接收锁定许可。
23.如权利要求22所述的方法,其中所述所许可的锁定指示,许可了对所述虚拟存储位置的排他读取和写入访问中的至少一个。
24.如权利要求22所述的方法,还包括:
当接收所述锁定许可之后,向所述发送者发送传送就绪消息。
25.如权利要求22所述的方法,还包括:
从所述存储区域网中的所述网络设备的所述另一个端口请求释放所述所许可的锁定。
26.如权利要求25所述的方法,还包括:
接收所述所许可的锁定已被所述另一个端口释放的通知。
27.如权利要求25所述的方法,其中当已经成功完成所述读取或写入命令后,执行请求释放所述所许可的锁定的步骤。
28.如权利要求27所述的方法,其中当从所述发起者或所述目标接收到指示所述命令成功的状态时,所述命令已被成功完成。
29.如权利要求1所述的方法,其中在所述网络设备的端口处接收的所述帧或分组包括读取或写入命令,所述读取或写入命令指示将要读取或写入的存储器的量,所述方法还包括:
在所述网络设备处分配所述存储器的量。
30.如权利要求29所述的方法,还包括:
在向所述目标发送所述新的或经修改的帧或分组之后,从所述目标接收状态;以及
当所述状态指示所述命令成功时,在所述网络设备处解除分配所述存储器的量。
31.如权利要求1所述的方法,其中在所述网络设备的端口处接收的所述帧或分组包括读取或写入命令,所述方法还包括:
在发送所述新的或经修改的帧或分组之后,从所述目标接收传送就绪信号,所述传送就绪信号指示所述目标准备好接收数据的传送。
32.如权利要求31所述的方法,还包括:
在发送所述新的或经修改的帧或分组之后,向所述发起者发送传送就绪信号,所述传送就绪信号指示所述网络设备准备好接收来自所述发起者的数据的传送;
其中在从所述目标接收传送就绪信号之前,执行向所述发起者发送所述传送就绪信号。
33.如权利要求1所述的方法,其中在所述网络设备的端口处接收的所述帧或分组包括读取或写入命令,所述方法还包括:
在发送所述新的或经修改的帧或分组之后,接收状态,所述状态指示所述命令是否成功。
34.如权利要求33所述的方法,还包括:
向所述发起者发送所述状态。
35.如权利要求33所述的方法,还包括:
向所述虚拟-物理映射指定的发起者或目标发送第二新的或经修改的帧或分组;
在发送所述第二新的或经修改的帧或分组之后,接收第二状态,所述第二状态指示所述命令是否成功;
合并所述状态和所述第二状态;以及
将所述合并的状态发送到所述发起者。
36.如权利要求33所述的方法,还包括:
从所述状态确定所述命令是否成功;以及
当确定所述命令不成功时,重新发送所述新的或经修改的帧或分组。
37.如权利要求36所述的方法,还包括:
当确定所述命令成功时,向所述发起者发送所述状态。
38.如权利要求36所述的方法,其中所述新的或经修改的帧或分组包括数据。
39.如权利要求36所述的方法,其中所述新的或经修改的帧或分组包括读取或写入命令。
40.如权利要求36所述的方法,其中在所述网络设备的端口处接收的所述帧或分组包括数据,所述方法还包括:
在存储器位置中存储所述数据;
其中重新发送所述新的或经修改的帧或分组包括:
从所述存储器位置获得所述数据;以及
向所述虚拟-物理映射指定的所述发起者或所述目标发送含有所述所获得数据的新的或经修改的帧或分组。
41.如权利要求36所述的方法,还包括:
从由所述虚拟-物理映射指定的所述目标接收数据,并且在存储器位置中存储所述数据。
42.如权利要求41所述的方法,其中重新发送所述新的或经修改的帧或分组的步骤包括:
从所述存储器位置获得所述数据;以及
向所述虚拟-物理映射指定的所述发起者发送含有所述所获得数据的新的或经修改的帧或分组。
43.如权利要求41所述的方法,其中重新发送所述新的或经修改的帧或分组的步骤包括向所述虚拟-物理映射指定的其它目标发送所述新的或经修改的帧或分组,所述方法还包括:
从由所述虚拟-物理映射指定的所述其它目标接收其它数据;以及
比较所述其它数据和存储在所述存储器位置中的所述数据。
44.如权利要求43所述的方法,还包括:
采用镜像算法来选择所述其它目标。
45.如权利要求1所述的方法,其中在所述网络设备的所述端口处接收的所述帧或分组以及由所述网络设备发送的所述新的或经修改的帧或分组与标准协议相兼容。
46.如权利要求45所述的方法,其中所述标准协议是SCSI。
47.如权利要求45所述的方法,其中在所述网络设备的所述端口处接收的所述帧或分组以及由所述网络设备发送的所述新的或经修改的帧或分组与所述帧或分组携带的流量类型相兼容。
48.如权利要求47所述的方法,其中所述流量类型是光纤通道。
49.如权利要求47所述的方法,其中所述流量类型是iSCSI。
50.如权利要求1所述的方法,其中在所述网络设备的所述端口处接收的所述帧或分组包括SCSI读取命令,并且由所述网络设备发送的所述新的或经修改的帧或分组包括SCSI读取命令。
51.如权利要求1所述的方法,其中在所述网络设备的所述端口处接收的所述帧或分组包括SCSI写入命令,并且由所述网络设备发送的所述新的或经修改的帧或分组包括SCSI写入命令。
52.如权利要求1所述的方法,其中在所述网络设备的所述端口处接收的所述帧或分组包括读取命令,并且由所述网络设备发送的所述新的或经修改的帧或分组包括读取命令。
53.如权利要求1所述的方法,其中在所述网络设备的所述端口处接收的所述帧或分组包括写入命令,并且由所述网络设备发送的所述新的或经修改的帧或分组包括写入命令。
54.一种存储区域网的网络设备,所述存储区域网适于实现存储虚拟化,所述网络设备包括:
(a)用于在所述网络设备的端口处接收帧或分组的装置;
(b)用于确定所述帧或分组与虚拟存储单元的虚拟存储位置的访问有关的装置,所述虚拟存储单元的所述虚拟存储位置代表所述存储区域网的一个或多个物理存储单元上的一个或多个物理存储位置;
(c)用于获得所述一个或多个物理存储位置和所述虚拟存储位置之间的虚拟-物理映射的装置;以及
(d)用于将新的或经修改的帧或分组发送到所述虚拟-物理映射指定的发起者或目标的装置。
55.一种存储区域网的网络设备,所述存储区域网适于实现存储虚拟化,所述网络设备包括:
处理器;以及
存储器,所述处理器和所述存储器中的至少一个适于:
(a)在所述网络设备的端口处接收帧或分组;
(b)确定所述帧或分组与虚拟存储单元的虚拟存储位置的访问有关,所述虚拟存储单元的所述虚拟存储位置代表所述存储区域网的一个或多个物理存储单元上的一个或多个物理存储位置;
(c)获得所述一个或多个物理存储位置和所述虚拟存储位置之间的虚拟-物理映射;以及
(d)将新的或经修改的帧或分组发送到所述虚拟-物理映射指定的发起者或目标。
56.一种在支持虚拟化的存储区域网中使用的网络设备,所述网络设备包括多个端口,其中至少一些所述端口包括:
(i)用于在存储区域网上发送和接收分组或帧的接口;以及
(ii)所述网络设备的所述端口专用的逻辑,所述逻辑用于
识别与虚拟存储单元的虚拟存储位置的访问有关的帧或分组,所述虚拟存储单元的所述虚拟存储位置代表所述存储区域网的一个或多个物理存储单元上的一个或多个物理存储位置;以及
实现所述一个或多个物理存储位置和所述虚拟存储位置之间的虚拟-物理映射。
57.一种在存储区域网的网络设备上实现存储虚拟化的方法,所述方法包括:
(a)在所述网络设备的端口处接收帧或分组;
(b)从与对存储在所述存储区域网的一个或多个物理存储单元上的一个或多个物理位置中的数据的访问有关的所述帧或分组获得信息,所述信息标识一个或多个物理位置或标识代表所述一个或多个物理存储位置的虚拟存储位置;
(c)获得所述一个或多个物理存储位置和所述虚拟存储位置之间的虚拟-物理映射;以及
(d)将新的或经修改的帧或分组发送到所述虚拟-物理映射指定的发起者或目标。
58.如权利要求57所述的方法,其中所述新的或经修改的帧或分组含有从所述虚拟-物理映射获得的源地址和目的地地址中的至少一个。
59.如权利要求57所述的方法,其中所述所接收的帧或分组含有源地址和目的地地址,其中所述所获得的信息含有所述源地址和所述目的地地址中的至少一个。
CNB03806717XA 2002-01-23 2003-01-10 在存储区域网中实现存储虚拟化的方法与装置 Expired - Fee Related CN100334534C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/056,238 2002-01-23
US10/056,238 US7433948B2 (en) 2002-01-23 2002-01-23 Methods and apparatus for implementing virtualization of storage within a storage area network

Publications (2)

Publication Number Publication Date
CN1708742A CN1708742A (zh) 2005-12-14
CN100334534C true CN100334534C (zh) 2007-08-29

Family

ID=27609274

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB03806717XA Expired - Fee Related CN100334534C (zh) 2002-01-23 2003-01-10 在存储区域网中实现存储虚拟化的方法与装置

Country Status (8)

Country Link
US (2) US7433948B2 (zh)
EP (1) EP1552378A2 (zh)
JP (1) JP2005525619A (zh)
KR (1) KR100995466B1 (zh)
CN (1) CN100334534C (zh)
AU (1) AU2003238219B2 (zh)
CA (1) CA2473832C (zh)
WO (1) WO2003062979A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105814533A (zh) * 2014-03-07 2016-07-27 株式会社日立制作所 计算机系统

Families Citing this family (270)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483967B2 (en) * 1999-09-01 2009-01-27 Ximeta Technology, Inc. Scalable server architecture based on asymmetric 3-way TCP
US7792923B2 (en) 2000-10-13 2010-09-07 Zhe Khi Pak Disk system adapted to be directly attached to network
AU2002319929A1 (en) 2001-07-16 2003-03-03 Han Gyoo Kim Scheme for dynamically connecting i/o devices through network
US7685126B2 (en) 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US7146524B2 (en) * 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US6851070B1 (en) * 2001-08-13 2005-02-01 Network Appliance, Inc. System and method for managing time-limited long-running operations in a data storage system
US7171434B2 (en) * 2001-09-07 2007-01-30 Network Appliance, Inc. Detecting unavailability of primary central processing element, each backup central processing element associated with a group of virtual logic units and quiescing I/O operations of the primary central processing element in a storage virtualization system
US7472231B1 (en) 2001-09-07 2008-12-30 Netapp, Inc. Storage area network data cache
US20050149682A1 (en) * 2001-10-09 2005-07-07 Han-Gyoo Kim Virtual multiple removable media jukebox
US20090259816A1 (en) * 2001-12-26 2009-10-15 Cisco Technology, Inc. Techniques for Improving Mirroring Operations Implemented In Storage Area Networks and Network Based Virtualization
US20070094465A1 (en) * 2001-12-26 2007-04-26 Cisco Technology, Inc., A Corporation Of California Mirroring mechanisms for storage area networks and network based virtualization
US20090259817A1 (en) * 2001-12-26 2009-10-15 Cisco Technology, Inc. Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization
US7433948B2 (en) * 2002-01-23 2008-10-07 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network
US9009427B2 (en) 2001-12-26 2015-04-14 Cisco Technology, Inc. Mirroring mechanisms for storage area networks and network based virtualization
JPWO2003075161A1 (ja) * 2002-03-07 2005-06-30 富士通株式会社 ストレージ仮想化システムの変換管理装置およびストレージ仮想化システムの変換管理方法
US6954839B2 (en) * 2002-03-13 2005-10-11 Hitachi, Ltd. Computer system
US6880052B2 (en) * 2002-03-26 2005-04-12 Hewlett-Packard Development Company, Lp Storage area network, data replication and storage controller, and method for replicating data using virtualized volumes
US7433952B1 (en) * 2002-04-22 2008-10-07 Cisco Technology, Inc. System and method for interconnecting a storage area network
EP1540957A4 (en) * 2002-04-30 2009-07-08 Gen Dynamics Advanced Inf Sys METHOD AND DEVICE FOR SERIAL INLINE DATA ENCRYPTION
US7385971B1 (en) * 2002-05-09 2008-06-10 Cisco Technology, Inc. Latency reduction in network data transfer operations
US20030212735A1 (en) * 2002-05-13 2003-11-13 Nvidia Corporation Method and apparatus for providing an integrated network of processors
US9344235B1 (en) * 2002-06-07 2016-05-17 Datacore Software Corporation Network managed volumes
US8200871B2 (en) * 2002-06-28 2012-06-12 Brocade Communications Systems, Inc. Systems and methods for scalable distributed storage processing
US7752361B2 (en) * 2002-06-28 2010-07-06 Brocade Communications Systems, Inc. Apparatus and method for data migration in a storage processing device
US7353305B2 (en) * 2002-06-28 2008-04-01 Brocade Communications Systems, Inc. Apparatus and method for data virtualization in a storage processing device
US20040143639A1 (en) * 2002-06-28 2004-07-22 Venkat Rangan Apparatus and method for data replication in a storage processing device
US7237045B2 (en) 2002-06-28 2007-06-26 Brocade Communications Systems, Inc. Apparatus and method for storage processing through scalable port processors
US6948044B1 (en) * 2002-07-30 2005-09-20 Cisco Systems, Inc. Methods and apparatus for storage virtualization
US7269168B2 (en) * 2002-07-31 2007-09-11 Brocade Communications Systems, Inc. Host bus adaptor-based virtualization switch
US7120728B2 (en) * 2002-07-31 2006-10-10 Brocade Communications Systems, Inc. Hardware-based translating virtualization switch
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US7181578B1 (en) * 2002-09-12 2007-02-20 Copan Systems, Inc. Method and apparatus for efficient scalable storage management
JP4202709B2 (ja) * 2002-10-07 2008-12-24 株式会社日立製作所 ストレージ装置を有するネットワークにおける、ボリューム及び障害管理方法
US7242682B1 (en) * 2002-10-09 2007-07-10 Storage Technology Corporation Hardware frame modifier apparatus and method for storage virtualization
US7774325B2 (en) * 2002-10-17 2010-08-10 Intel Corporation Distributed network attached storage system
AU2003264788A1 (en) * 2002-11-05 2004-06-07 Koninklijke Philips Electronics N.V. Data processing apparatus with address redirection in response to periodic address patterns
JP4136615B2 (ja) 2002-11-14 2008-08-20 株式会社日立製作所 データベースシステム及びデータベースのアクセス方法
US7937421B2 (en) 2002-11-14 2011-05-03 Emc Corporation Systems and methods for restriping files in a distributed file system
US7162582B2 (en) 2002-11-18 2007-01-09 Aristos Logic Corporation Caching in a virtualization system
JP2004192105A (ja) * 2002-12-09 2004-07-08 Hitachi Ltd 記憶装置の接続装置およびそれを含むコンピュータシステム
JP4116413B2 (ja) 2002-12-11 2008-07-09 株式会社日立製作所 プリフェッチアプライアンスサーバ
JP4704660B2 (ja) * 2002-12-18 2011-06-15 株式会社日立製作所 記憶デバイス制御装置の制御方法、記憶デバイス制御装置、及びプログラム
US7203801B1 (en) 2002-12-27 2007-04-10 Veritas Operating Corporation System and method for performing virtual device I/O operations
US6839740B1 (en) 2002-12-27 2005-01-04 Veritas Operating Corporation System and method for performing virtual device I/O operations
US7606239B2 (en) * 2003-01-31 2009-10-20 Brocade Communications Systems, Inc. Method and apparatus for providing virtual ports with attached virtual devices in a storage area network
JP4237515B2 (ja) * 2003-02-07 2009-03-11 株式会社日立グローバルストレージテクノロジーズ ネットワークストレージ仮想化方法およびネットワークストレージシステム
US7383264B2 (en) * 2003-03-27 2008-06-03 Hitachi, Ltd. Data control method for duplicating data between computer systems
US7284014B2 (en) 2003-04-07 2007-10-16 Hitachi, Ltd. Pre-fetch computer system
US7460528B1 (en) 2003-04-15 2008-12-02 Brocade Communications Systems, Inc. Processing data packets at a storage service module of a switch
US7382776B1 (en) 2003-04-15 2008-06-03 Brocade Communication Systems, Inc. Performing block storage virtualization at a switch
US20040221123A1 (en) * 2003-05-02 2004-11-04 Lam Wai Tung Virtual data switch and method of use
JP4253224B2 (ja) * 2003-07-02 2009-04-08 株式会社日立製作所 アドレス管理方法および装置
US7523201B2 (en) * 2003-07-14 2009-04-21 Network Appliance, Inc. System and method for optimized lun masking
US7870334B2 (en) * 2003-11-12 2011-01-11 International Business Machines Corporation Distributed task queues in a multiple-port storage system
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
US7430175B2 (en) 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7420982B2 (en) 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7406092B2 (en) 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
US20050080982A1 (en) * 2003-08-20 2005-04-14 Vasilevsky Alexander D. Virtual host bus adapter and method
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US7457880B1 (en) * 2003-09-26 2008-11-25 Ximeta Technology, Inc. System using a single host to receive and redirect all file access commands for shared data storage device from other hosts on a network
US7290071B2 (en) * 2003-09-30 2007-10-30 Agere Systems Inc. Processor with input data block discard mechanism for use in an oversubscription condition
US20050114464A1 (en) * 2003-10-27 2005-05-26 Shai Amir Virtualization switch and method for performing virtualization in the data-path
FR2862457B1 (fr) * 2003-11-13 2006-02-24 Arteris Systeme et procede de transmission d'une sequence de messages dans un reseau d'interconnexions.
US20050114595A1 (en) * 2003-11-26 2005-05-26 Veritas Operating Corporation System and method for emulating operating system metadata to provide cross-platform access to storage volumes
US7934023B2 (en) 2003-12-01 2011-04-26 Cisco Technology, Inc. Apparatus and method for performing fast fibre channel write operations over relatively high latency networks
US7475211B2 (en) * 2004-02-13 2009-01-06 International Business Machines Corporation Method and system for restoring data
US7664836B2 (en) * 2004-02-17 2010-02-16 Zhe Khi Pak Device and method for booting an operation system for a computer from a passive directly attached network device
US20050193017A1 (en) * 2004-02-19 2005-09-01 Han-Gyoo Kim Portable multimedia player/recorder that accesses data contents from and writes to networked device
US20060069884A1 (en) * 2004-02-27 2006-03-30 Han-Gyoo Kim Universal network to device bridge chip that enables network directly attached device
US20050193105A1 (en) * 2004-02-27 2005-09-01 Basham Robert B. Method and system for processing network discovery data
JP2005267546A (ja) 2004-03-22 2005-09-29 Hitachi Ltd ディスク制御装置、及びディスク制御装置におけるネットワーク接続ストレージの接続管理方式
US7486689B1 (en) * 2004-03-29 2009-02-03 Sun Microsystems, Inc. System and method for mapping InfiniBand communications to an external port, with combined buffering of virtual lanes and queue pairs
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US8694538B1 (en) * 2004-06-18 2014-04-08 Symantec Operating Corporation Method and apparatus for logging write requests to a storage volume in a network data switch
JP4575059B2 (ja) 2004-07-21 2010-11-04 株式会社日立製作所 ストレージ装置
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US7746900B2 (en) * 2004-07-22 2010-06-29 Zhe Khi Pak Low-level communication layers and device employing same
US7860943B2 (en) * 2004-08-23 2010-12-28 Zhe Khi Pak Enhanced network direct attached storage controller
US20060047850A1 (en) * 2004-08-31 2006-03-02 Singh Bhasin Harinder P Multi-chassis, multi-path storage solutions in storage area networks
US7062624B2 (en) * 2004-09-29 2006-06-13 Hitachi, Ltd. Method for managing volume groups considering storage tiers
US7593997B2 (en) * 2004-10-01 2009-09-22 Qlogic, Corporation Method and system for LUN remapping in fibre channel networks
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US7380157B2 (en) * 2004-10-27 2008-05-27 Pillar Data Systems, Inc. Staggered writing for data storage systems
US8051425B2 (en) 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
US8055711B2 (en) 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
JP4428202B2 (ja) * 2004-11-02 2010-03-10 日本電気株式会社 ディスクアレイ・サブシステム、ディスクアレイ・サブシステムにおける分散配置方法、制御方法、プログラム
US7516174B1 (en) * 2004-11-02 2009-04-07 Cisco Systems, Inc. Wireless network security mechanism including reverse network address translation
US20060136508A1 (en) * 2004-12-16 2006-06-22 Sam Idicula Techniques for providing locks for file operations in a database management system
US7716260B2 (en) * 2004-12-16 2010-05-11 Oracle International Corporation Techniques for transaction semantics for a database server performing file operations
US7627574B2 (en) * 2004-12-16 2009-12-01 Oracle International Corporation Infrastructure for performing file operations by a database server
US7548918B2 (en) * 2004-12-16 2009-06-16 Oracle International Corporation Techniques for maintaining consistency for different requestors of files in a database management system
US7849257B1 (en) 2005-01-06 2010-12-07 Zhe Khi Pak Method and apparatus for storing and retrieving data
US7574464B2 (en) * 2005-02-14 2009-08-11 Netapp, Inc. System and method for enabling a storage system to support multiple volume formats simultaneously
US7609649B1 (en) 2005-04-26 2009-10-27 Cisco Technology, Inc. Methods and apparatus for improving network based virtualization performance
US7620981B2 (en) 2005-05-26 2009-11-17 Charles William Frank Virtual devices and virtual bus tunnels, modules and methods
US7809675B2 (en) * 2005-06-29 2010-10-05 Oracle International Corporation Sharing state information among a plurality of file operation servers
US8224837B2 (en) * 2005-06-29 2012-07-17 Oracle International Corporation Method and mechanism for supporting virtual content in performing file operations at a RDBMS
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
US8819092B2 (en) 2005-08-16 2014-08-26 Rateze Remote Mgmt. L.L.C. Disaggregated resources and access methods
JP4718285B2 (ja) * 2005-09-22 2011-07-06 株式会社日立製作所 ファイル管理機能を備えたコンピュータシステム、ストレージ装置およびファイル管理方法
US7551572B2 (en) * 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7346720B2 (en) * 2005-10-21 2008-03-18 Isilon Systems, Inc. Systems and methods for managing concurrent access requests to a shared resource
US7917474B2 (en) 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US7797283B2 (en) 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7788303B2 (en) * 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US7386675B2 (en) * 2005-10-21 2008-06-10 Isilon Systems, Inc. Systems and methods for using excitement values to predict future access to resources
EP1949215A1 (en) * 2005-11-04 2008-07-30 Thomson Licensing Method and apparatus for managing media storage devices
US7890669B2 (en) * 2005-11-25 2011-02-15 Hitachi, Ltd. Computer system for sharing I/O device
US7644179B1 (en) 2005-12-01 2010-01-05 Cisco Technology, Inc. Inter-VSAN routing with NAT
US7610304B2 (en) * 2005-12-05 2009-10-27 Oracle International Corporation Techniques for performing file operations involving a link at a database management system
US8176217B2 (en) * 2005-12-20 2012-05-08 Lsi Corporation System and method for implementing a storage protocol with initiator controlled data transfer
US7769023B2 (en) * 2005-12-21 2010-08-03 Cisco Technology, Inc. Fibre channel traffic redirect scheme using access control lists
US9348530B2 (en) 2005-12-27 2016-05-24 Emc Corporation Presentation of virtual arrays using n-port ID virtualization
US7685395B1 (en) * 2005-12-27 2010-03-23 Emc Corporation Spanning virtual arrays across multiple physical storage arrays
US7500134B2 (en) * 2005-12-27 2009-03-03 Emc Corporation Virtual array failover
US7697554B1 (en) 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array by replacing virtual names
US7697515B2 (en) 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array
JP4474356B2 (ja) * 2005-12-27 2010-06-02 富士通株式会社 コンピュータシステムおよびストレージ仮想化装置
JP4859471B2 (ja) * 2006-02-02 2012-01-25 株式会社日立製作所 ストレージシステム及びストレージコントローラ
US7848261B2 (en) 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7756898B2 (en) 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
US8274993B2 (en) * 2006-06-16 2012-09-25 Cisco Technology, Inc. Fibre channel dynamic zoning
JP4530372B2 (ja) * 2006-06-29 2010-08-25 シーゲイト テクノロジー エルエルシー 広域予備化した分散記憶システム
US8583861B1 (en) 2006-06-29 2013-11-12 Emc Corporation Presentation of management functionality of virtual arrays
US7757059B1 (en) 2006-06-29 2010-07-13 Emc Corporation Virtual array non-disruptive management data migration
US7519769B1 (en) * 2006-06-29 2009-04-14 Emc Corporation Scalable storage network virtualization
US8533408B1 (en) 2006-06-29 2013-09-10 Emc Corporation Consolidating N-storage arrays into one storage array using virtual array non-disruptive data migration
US8452928B1 (en) 2006-06-29 2013-05-28 Emc Corporation Virtual array non-disruptive migration of extended storage functionality
US8539177B1 (en) 2006-06-29 2013-09-17 Emc Corporation Partitioning of a storage array into N-storage arrays using virtual array non-disruptive data migration
US7568078B2 (en) * 2006-07-26 2009-07-28 Cisco Technology, Inc. Epoch-based MUD logging
US8539056B2 (en) 2006-08-02 2013-09-17 Emc Corporation Systems and methods for configuring multiple network interfaces
JP4963892B2 (ja) * 2006-08-02 2012-06-27 株式会社日立製作所 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置
US20080034167A1 (en) * 2006-08-03 2008-02-07 Cisco Technology, Inc. Processing a SCSI reserve in a network implementing network-based virtualization
US7680842B2 (en) 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7676691B2 (en) 2006-08-18 2010-03-09 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7953704B2 (en) 2006-08-18 2011-05-31 Emc Corporation Systems and methods for a snapshot of data
US7882071B2 (en) 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7822932B2 (en) 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7590652B2 (en) 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US7680836B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7752402B2 (en) * 2006-08-18 2010-07-06 Isilon Systems, Inc. Systems and methods for allowing incremental journaling
US7899800B2 (en) 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US20080114961A1 (en) * 2006-11-15 2008-05-15 Cisco Technology, Inc. Transparent device switchover in a storage area network
US7783805B2 (en) * 2006-11-29 2010-08-24 Cisco Technology, Inc. Interlocking input/outputs on a virtual logic unit number
US8286029B2 (en) 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US7593938B2 (en) 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7509448B2 (en) 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US7779048B2 (en) 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US7900015B2 (en) 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
JP4311475B2 (ja) * 2007-05-10 2009-08-12 ソニー株式会社 デジタルシネマ処理装置、インジェスト方法及びプログラム
US7856022B1 (en) * 2007-06-28 2010-12-21 Emc Corporation Non-disruptive data migration with external virtualization engine
US9063896B1 (en) 2007-06-29 2015-06-23 Emc Corporation System and method of non-disruptive data migration between virtual arrays of heterogeneous storage arrays
US9098211B1 (en) 2007-06-29 2015-08-04 Emc Corporation System and method of non-disruptive data migration between a full storage array and one or more virtual arrays
US7836332B2 (en) * 2007-07-18 2010-11-16 Hitachi, Ltd. Method and apparatus for managing virtual ports on storage systems
US7827251B2 (en) * 2007-08-14 2010-11-02 Cisco Technology, Inc. Fast write operations to a mirrored volume in a volume manager
US7882068B2 (en) 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7966289B2 (en) 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7949692B2 (en) 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
CN101459679A (zh) * 2007-12-12 2009-06-17 华为技术有限公司 网络存储设备及数据读写控制方法
US8028062B1 (en) * 2007-12-26 2011-09-27 Emc Corporation Non-disruptive data mobility using virtual storage area networks with split-path virtualization
US8380674B1 (en) * 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US8626936B2 (en) * 2008-01-23 2014-01-07 International Business Machines Corporation Protocol independent server replacement and replication in a storage area network
US7953709B2 (en) 2008-03-27 2011-05-31 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7984324B2 (en) 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
US7870345B2 (en) 2008-03-27 2011-01-11 Isilon Systems, Inc. Systems and methods for managing stalled storage devices
US7949636B2 (en) 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
JP5186982B2 (ja) * 2008-04-02 2013-04-24 富士通株式会社 データ管理方法及びスイッチ装置
US8291426B2 (en) * 2008-06-02 2012-10-16 Microsoft Corporation Memory allocators corresponding to processor resources
GB2460841B (en) 2008-06-10 2012-01-11 Virtensys Ltd Methods of providing access to I/O devices
US9239799B2 (en) * 2008-06-26 2016-01-19 Qualcomm Incorporated Memory management unit directed access to system interfaces
US8914540B1 (en) * 2008-07-01 2014-12-16 Cisco Technology, Inc. Multi-fabric SAN based data migration
WO2010008367A1 (en) 2008-07-15 2010-01-21 Lsi Corporation System for injecting protocol specific errors during the certification of components in a storage area network
US8150801B2 (en) * 2008-08-20 2012-04-03 Microsoft Corporation Recovery of a computer that includes virtual disks
US8223633B2 (en) * 2008-10-03 2012-07-17 Brocade Communications Systems, Inc. Port trunking at a fabric boundary
US8472482B2 (en) 2008-10-27 2013-06-25 Cisco Technology, Inc. Multiple infiniband ports within a higher data rate port using multiplexing
JP4886918B1 (ja) * 2008-10-30 2012-02-29 インターナショナル・ビジネス・マシーンズ・コーポレーション フラッシュコピー・プロセスを処理する方法、ならびにそのためのシステム、およびコンピュータ・プログラム
EP2396717A1 (en) * 2009-02-11 2011-12-21 Infinidat Ltd Virtualized storage system and method of operating it
JP5146357B2 (ja) * 2009-02-25 2013-02-20 富士通株式会社 データ診断装置、データ診断システム、データ診断方法及びデータ診断プログラム
EP2401683A4 (en) * 2009-02-27 2015-07-29 Broadcom Corp METHOD AND SYSTEM FOR NETWORKING VIRTUAL MACHINES
US8578083B2 (en) * 2009-03-03 2013-11-05 Vmware, Inc. Block map based I/O optimization for storage virtual appliances
US8214576B2 (en) * 2009-03-03 2012-07-03 Vmware, Inc. Zero copy transport for target based storage virtual appliances
US8527697B2 (en) 2009-07-20 2013-09-03 Netapp, Inc. Virtualized data storage in a network computing environment
US8412831B2 (en) * 2009-08-03 2013-04-02 Brocade Communications Systems, Inc. Per priority TCP quality of service
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
US9015136B2 (en) * 2010-01-22 2015-04-21 Microsoft Technology Licensing, Llc Storing temporary state data in separate containers
US20110185134A1 (en) * 2010-01-22 2011-07-28 Microsoft Corporation Temporary state service protocol
US9396147B1 (en) * 2010-02-24 2016-07-19 Open Invention Network Llc Interconnection of peripheral devices on different electronic devices
CN101808123B (zh) * 2010-03-09 2013-04-17 浪潮(北京)电子信息产业有限公司 在存储系统中访问存储资源的方法和装置
US8341457B2 (en) * 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
CN102244653B (zh) 2010-05-14 2014-07-23 杭州华三通信技术有限公司 一种存储虚拟化的动态维护方法和系统
US8514856B1 (en) 2010-06-24 2013-08-20 Cisco Technology, Inc. End-to-end fibre channel over ethernet
US9141564B1 (en) * 2010-08-04 2015-09-22 Open Invention Network, Llc Interconnection of peripheral devices on different electronic devices
US9331963B2 (en) 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
US8767334B2 (en) 2010-09-30 2014-07-01 International Business Machines Corporation System, method, and computer program product for creating a single library image from multiple independent tape libraries
CN102622282B (zh) * 2011-01-28 2014-09-10 国际商业机器公司 一种虚拟主机中配置虚拟存储设备镜像的方法和系统
WO2012114338A1 (en) * 2011-02-22 2012-08-30 Infinidat Ltd. Cloud storage arrangement and method of operating thereof
US8577836B2 (en) 2011-03-07 2013-11-05 Infinidat Ltd. Method of migrating stored data and system thereof
US8626991B1 (en) * 2011-06-30 2014-01-07 Emc Corporation Multi-LUN SSD optimization system and method
CN107071088B (zh) * 2011-08-17 2020-06-05 Nicira股份有限公司 逻辑l3路由
US8713218B2 (en) 2011-08-31 2014-04-29 International Business Machines Corporation Non-disruptive configuration of a virtualization controller in a data storage system
US9350807B2 (en) * 2012-06-15 2016-05-24 Qlogic, Corporation Intelligent adapter for providing storage area network access and access to a local storage device
US9350806B2 (en) 2012-09-07 2016-05-24 International Business Machines Corporation Zero copy data transfers without modifying host side protocol stack parameters
US9727521B2 (en) * 2012-09-14 2017-08-08 Nvidia Corporation Efficient CPU mailbox read access to GPU memory
US9083550B2 (en) 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
KR101491015B1 (ko) 2013-06-07 2015-02-06 에스케이플래닛 주식회사 클라우드 스토리지 관리 시스템, 클라우드 스토리지 관리 방법 및 이를 위한 장치
KR102116702B1 (ko) * 2013-09-27 2020-05-29 삼성전자 주식회사 데이터 미러링 제어 장치 및 방법
US9454305B1 (en) 2014-01-27 2016-09-27 Qlogic, Corporation Method and system for managing storage reservation
CN103870544A (zh) * 2014-02-25 2014-06-18 小米科技有限责任公司 虚拟操作文件的方法、装置及电子设备
WO2015167579A1 (en) * 2014-05-02 2015-11-05 Hitachi, Ltd. Storage provisioning method and apparatus using device virtualization in heterogeneous storage environment
US9423980B1 (en) 2014-06-12 2016-08-23 Qlogic, Corporation Methods and systems for automatically adding intelligent storage adapters to a cluster
US9436654B1 (en) 2014-06-23 2016-09-06 Qlogic, Corporation Methods and systems for processing task management functions in a cluster having an intelligent storage adapter
JP6398417B2 (ja) * 2014-07-22 2018-10-03 富士通株式会社 ストレージ装置、ストレージシステム及びストレージ制御プログラム
US9477424B1 (en) 2014-07-23 2016-10-25 Qlogic, Corporation Methods and systems for using an intelligent storage adapter for replication in a clustered environment
US9460017B1 (en) 2014-09-26 2016-10-04 Qlogic, Corporation Methods and systems for efficient cache mirroring
CN104486384A (zh) * 2014-11-28 2015-04-01 华为技术有限公司 一种存储系统及交换扩展装置
US9946614B2 (en) 2014-12-16 2018-04-17 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for managing faults in a virtual machine network
US9483207B1 (en) 2015-01-09 2016-11-01 Qlogic, Corporation Methods and systems for efficient caching using an intelligent storage adapter
US9853873B2 (en) 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US10778765B2 (en) 2015-07-15 2020-09-15 Cisco Technology, Inc. Bid/ask protocol in scale-out NVMe storage
CN105337834B (zh) * 2015-12-04 2019-03-08 重庆邮电大学 一种无线网络虚拟化环境下的映射方法
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
US11018947B2 (en) 2016-01-27 2021-05-25 Oracle International Corporation System and method for supporting on-demand setup of local host channel adapter port partition membership in a high-performance computing environment
US10560318B2 (en) 2016-01-27 2020-02-11 Oracle International Corporation System and method for correlating fabric-level group membership with subnet-level partition membership in a high-performance computing environment
JP6734058B2 (ja) 2016-01-27 2020-08-05 株式会社バイオス 制御装置
US10972375B2 (en) 2016-01-27 2021-04-06 Oracle International Corporation System and method of reserving a specific queue pair number for proprietary management traffic in a high-performance computing environment
US10250679B1 (en) * 2016-03-30 2019-04-02 EMC IP Holding Company LLC Enabling snapshot replication for storage
US20170327035A1 (en) * 2016-05-10 2017-11-16 Ford Global Technologies, Llc Methods and systems for beyond-the-horizon threat indication for vehicles
US10140172B2 (en) 2016-05-18 2018-11-27 Cisco Technology, Inc. Network-aware storage repairs
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
US10664169B2 (en) 2016-06-24 2020-05-26 Cisco Technology, Inc. Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
US10419243B2 (en) * 2016-09-09 2019-09-17 Johnson Controls Technology Company Smart gateway devices, systems and methods for providing communication between HVAC system networks
CN108241585B (zh) * 2016-12-23 2023-08-22 北京忆芯科技有限公司 大容量nvm接口控制器
CN108241468B (zh) * 2016-12-23 2021-12-07 北京忆芯科技有限公司 Io命令处理方法与固态存储设备
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
WO2019027409A1 (en) 2017-07-31 2019-02-07 Visa International Service Association MODULAR SYSTEM FOR PROCESSING AND STORING DATA
CN109324753B (zh) * 2017-07-31 2023-10-31 北京忆恒创源科技股份有限公司 虚拟lun管理
CN107728936B (zh) 2017-09-05 2020-10-09 华为技术有限公司 用于传输数据处理请求的方法和装置
CN109597565B (zh) * 2017-09-30 2024-04-05 北京忆恒创源科技股份有限公司 虚拟Plane管理
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10861504B2 (en) 2017-10-05 2020-12-08 Advanced Micro Devices, Inc. Dynamic control of multi-region fabric
US10558591B2 (en) * 2017-10-09 2020-02-11 Advanced Micro Devices, Inc. Method and apparatus for in-band priority adjustment forwarding in a communication fabric
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
CN108334288B (zh) * 2017-11-29 2020-02-18 北京字节跳动网络技术有限公司 数据存储方法和装置
US11196657B2 (en) 2017-12-21 2021-12-07 Advanced Micro Devices, Inc. Self identifying interconnect topology
US11656775B2 (en) 2018-08-07 2023-05-23 Marvell Asia Pte, Ltd. Virtualizing isolation areas of solid-state storage media
US11074013B2 (en) 2018-08-07 2021-07-27 Marvell Asia Pte, Ltd. Apparatus and methods for providing quality of service over a virtual interface for solid-state storage
US11010314B2 (en) 2018-10-30 2021-05-18 Marvell Asia Pte. Ltd. Artificial intelligence-enabled management of storage media access
JP7211051B2 (ja) * 2018-12-05 2023-01-24 株式会社デンソー ネットワークスイッチおよび回線監視装置
US11481118B2 (en) 2019-01-11 2022-10-25 Marvell Asia Pte, Ltd. Storage media programming with adaptive write buffer release
CN110716886B (zh) * 2019-09-29 2022-12-13 惠州市仲恺Tcl智融科技小额贷款股份有限公司 数据处理的方法、装置、存储介质以及终端
CN110797071B (zh) * 2019-10-31 2021-10-22 西安紫光国芯半导体有限公司 一种多子块nand闪存缺陷的修复方法
US11507522B2 (en) 2019-12-06 2022-11-22 Advanced Micro Devices, Inc. Memory request priority assignment techniques for parallel processors
US11223575B2 (en) 2019-12-23 2022-01-11 Advanced Micro Devices, Inc. Re-purposing byte enables as clock enables for power savings
CN111209229B (zh) * 2019-12-30 2021-12-21 苏州艾利特机器人有限公司 一种基于虚拟设备的现场总线方法
JP2022018964A (ja) 2020-07-16 2022-01-27 富士通株式会社 情報処理装置およびアクセス制御プログラム
US11789617B2 (en) * 2021-06-29 2023-10-17 Acronis International Gmbh Integration of hashgraph and erasure coding for data integrity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1237252A (zh) * 1997-09-04 1999-12-01 布尔有限公司 用于在多处理器数据处理系统中分配存储器的方法
JP2000242434A (ja) * 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
WO2001080013A1 (en) * 2000-04-18 2001-10-25 Storeage Networking Technologies Storage virtualization in a storage area network

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3123353C2 (de) * 1981-06-12 1984-09-13 Akzo Gmbh, 5600 Wuppertal Verfahren zum Deinken von bedrucktem Altpapier
GB2121071B (en) * 1982-06-01 1985-10-09 Ferguson And Menzies Limited Liquid soaps
DE3702978C1 (de) * 1987-02-02 1988-06-30 Gruenau Gmbh Chem Fab Verfahren zum De-inken von bedrucktem Altpapier
JPS648433A (en) 1987-07-01 1989-01-12 Hitachi Ltd Multiplexing system for storage device
DE3811025A1 (de) * 1988-03-31 1989-10-12 Gruenau Gmbh Chem Fab Verfahren zum de-inken von bedrucktem altpapier
JPH02144718A (ja) 1988-11-28 1990-06-04 Fujitsu Ltd 二重ポートインタフェース制御方式
DE4032050A1 (de) * 1990-10-09 1992-04-16 Henkel Kgaa Verwendung von polyetherkettenhaltigen verbindungen, hergestellt aus epoxidierten carbonsaeurederivaten, zur entfernung von druckfarben aus altpapieren und/oder papierkreislaufwaessern
JP3019619B2 (ja) 1992-08-27 2000-03-13 日本電気株式会社 磁気ディスク装置および磁気ディスク装置の制御方法
US5346543A (en) * 1992-10-15 1994-09-13 Lion Corporation Deinking agent for reclaiming waste paper
GB9302978D0 (en) * 1993-02-15 1993-03-31 Secr Defence Diffusion barrier layers
JP3561002B2 (ja) 1994-05-18 2004-09-02 富士通株式会社 ディスク装置
US5617421A (en) * 1994-06-17 1997-04-01 Cisco Systems, Inc. Extended domain computer network using standard links
GB9422878D0 (en) * 1994-11-12 1995-01-04 Stephenson Group Recycling of fibre products
US5658427A (en) * 1995-08-01 1997-08-19 Geo Specialty Chemicals, Inc. Ethoxylated soya glycerides with glycols as deinking collector modifiers
US5809285A (en) * 1995-12-21 1998-09-15 Compaq Computer Corporation Computer system having a virtual drive array controller
US6035105A (en) * 1996-01-02 2000-03-07 Cisco Technology, Inc. Multiple VLAN architecture system
JP3776496B2 (ja) 1996-01-17 2006-05-17 株式会社日立製作所 データ記憶システム
US5740171A (en) * 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
US5764636A (en) * 1996-03-28 1998-06-09 Cisco Technology, Inc. Color blocking logic mechanism for a high-performance network switch
US5742604A (en) * 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US6076105A (en) * 1996-08-02 2000-06-13 Hewlett-Packard Corp. Distributed resource and project management
US5933824A (en) 1996-12-23 1999-08-03 Lsi Logic Corporation Methods and apparatus for locking files within a clustered storage environment
US6202135B1 (en) * 1996-12-23 2001-03-13 Emc Corporation System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility
US5878232A (en) 1996-12-27 1999-03-02 Compaq Computer Corporation Dynamic reconfiguration of network device's virtual LANs using the root identifiers and root ports determined by a spanning tree procedure
US6209059B1 (en) * 1997-09-25 2001-03-27 Emc Corporation Method and apparatus for the on-line reconfiguration of the logical volumes of a data storage system
US7076568B2 (en) 1997-10-14 2006-07-11 Alacritech, Inc. Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket
JP2001523862A (ja) 1997-11-17 2001-11-27 シーゲート テクノロジー,インコーポレイテッド ループの初期化および応答のための方法及び専用のフレームバッファ
US6188694B1 (en) * 1997-12-23 2001-02-13 Cisco Technology, Inc. Shared spanning tree protocol
US6208649B1 (en) * 1998-03-11 2001-03-27 Cisco Technology, Inc. Derived VLAN mapping technique
US6295575B1 (en) * 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6269381B1 (en) * 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6266705B1 (en) * 1998-09-29 2001-07-24 Cisco Systems, Inc. Look up mechanism and associated hash table for a network switch
US6226771B1 (en) * 1998-12-14 2001-05-01 Cisco Technology, Inc. Method and apparatus for generating error detection data for encapsulated frames
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
US6400730B1 (en) * 1999-03-10 2002-06-04 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
JP2000029636A (ja) 1999-03-12 2000-01-28 Fujitsu Ltd I/oサブシステム及びi/oサブシステムにおけるデ―タ記憶、メモリイニシャライズ方法
US6877044B2 (en) * 2000-02-10 2005-04-05 Vicom Systems, Inc. Distributed storage management platform architecture
US20020103889A1 (en) * 2000-02-11 2002-08-01 Thomas Markson Virtual storage layer approach for dynamically associating computer storage with processing hosts
US20020120741A1 (en) * 2000-03-03 2002-08-29 Webb Theodore S. Systems and methods for using distributed interconnects in information management enviroments
US7313614B2 (en) * 2000-11-02 2007-12-25 Sun Microsystems, Inc. Switching system
US7165096B2 (en) * 2000-12-22 2007-01-16 Data Plow, Inc. Storage area network file system
WO2002065275A1 (en) * 2001-01-11 2002-08-22 Yottayotta, Inc. Storage virtualization system and methods
US6748502B2 (en) * 2001-01-12 2004-06-08 Hitachi, Ltd. Virtual volume storage
US6625675B2 (en) * 2001-03-23 2003-09-23 International Business Machines Corporation Processor for determining physical lane skew order
US6876656B2 (en) * 2001-06-15 2005-04-05 Broadcom Corporation Switch assisted frame aliasing for storage virtualization
US20030026267A1 (en) * 2001-07-31 2003-02-06 Oberman Stuart F. Virtual channels in a network switch
US7200144B2 (en) * 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
US6959373B2 (en) * 2001-12-10 2005-10-25 Incipient, Inc. Dynamic and variable length extents
US7433948B2 (en) 2002-01-23 2008-10-07 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network
US7548975B2 (en) * 2002-01-09 2009-06-16 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure
JP4294353B2 (ja) 2003-03-28 2009-07-08 株式会社日立製作所 ジョブ管理機能を有するストレージ系障害管理方法及び装置
US20080034167A1 (en) 2006-08-03 2008-02-07 Cisco Technology, Inc. Processing a SCSI reserve in a network implementing network-based virtualization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1237252A (zh) * 1997-09-04 1999-12-01 布尔有限公司 用于在多处理器数据处理系统中分配存储器的方法
JP2000242434A (ja) * 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
WO2001080013A1 (en) * 2000-04-18 2001-10-25 Storeage Networking Technologies Storage virtualization in a storage area network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105814533A (zh) * 2014-03-07 2016-07-27 株式会社日立制作所 计算机系统
CN105814533B (zh) * 2014-03-07 2018-11-13 株式会社日立制作所 计算机系统

Also Published As

Publication number Publication date
US20030172149A1 (en) 2003-09-11
CA2473832C (en) 2013-03-12
US8725854B2 (en) 2014-05-13
EP1552378A2 (en) 2005-07-13
KR20040083484A (ko) 2004-10-02
KR100995466B1 (ko) 2010-11-18
CA2473832A1 (en) 2003-07-31
US7433948B2 (en) 2008-10-07
WO2003062979A2 (en) 2003-07-31
JP2005525619A (ja) 2005-08-25
WO2003062979A3 (en) 2005-05-12
CN1708742A (zh) 2005-12-14
US20080320134A1 (en) 2008-12-25
AU2003238219B2 (en) 2009-07-09

Similar Documents

Publication Publication Date Title
CN100334534C (zh) 在存储区域网中实现存储虚拟化的方法与装置
US6553408B1 (en) Virtual device architecture having memory for storing lists of driver modules
US6640278B1 (en) Method for configuration and management of storage resources in a storage network
US7437507B2 (en) Online restriping technique for distributed network based virtualization
US6654830B1 (en) Method and system for managing data migration for a storage system
JP4372553B2 (ja) 仮想エンクロージャを通してストレージエリアネットワーク内のストレージの仮想化を実現する方法および装置
US7313636B2 (en) Methods and structure for supporting persistent reservations in a multiple-path storage environment
US9733868B2 (en) Methods and apparatus for implementing exchange management for virtualization of storage within a storage area network
US6571354B1 (en) Method and apparatus for storage unit replacement according to array priority
US6538669B1 (en) Graphical user interface for configuration of a storage system
AU2003238219A1 (en) Methods and apparatus for implementing virtualization of storage within a storage area network
JP2003162377A (ja) ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法
US20070094464A1 (en) Mirror consistency checking techniques for storage area networks and network based virtualization
US20080034167A1 (en) Processing a SCSI reserve in a network implementing network-based virtualization
US20090228651A1 (en) Mirroring Mechanisms For Storage Area Networks and Network Based Virtualization
US20090259817A1 (en) Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization
JP2004518217A (ja) 交換環境におけるリモートミラーリング
US20090259816A1 (en) Techniques for Improving Mirroring Operations Implemented In Storage Area Networks and Network Based Virtualization

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: 20070829

Termination date: 20210110