CN101784990A - 向卷管理器中的镜像卷的快速写入操作 - Google Patents

向卷管理器中的镜像卷的快速写入操作 Download PDF

Info

Publication number
CN101784990A
CN101784990A CN200880102811A CN200880102811A CN101784990A CN 101784990 A CN101784990 A CN 101784990A CN 200880102811 A CN200880102811 A CN 200880102811A CN 200880102811 A CN200880102811 A CN 200880102811A CN 101784990 A CN101784990 A CN 101784990A
Authority
CN
China
Prior art keywords
storage device
mirror storage
initiator
ready message
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200880102811A
Other languages
English (en)
Other versions
CN101784990B (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 CN101784990A publication Critical patent/CN101784990A/zh
Application granted granted Critical
Publication of CN101784990B publication Critical patent/CN101784990B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在一个实施例中,提供了一种方法,该方法包括:在虚拟化器处接收来自虚拟存储网络中的发起器的写命令,其中,该存储区域网络包括发起器和多个镜像存储装置;从虚拟化器向多个镜像存储装置发送写命令;在虚拟化器处接收来自多个镜像存储装置中的第一镜像存储装置的传送就绪消息;响应于从多个镜像存储装置中的第一镜像存储装置接收到传送就绪消息,从虚拟化器向发起器发送传送就绪消息;在虚拟化器处接收来自发起器的数据消息;以及一旦从多个镜像存储装置的每一个接收到传送就绪消息,就从虚拟化器向多个镜像存储装置发送数据消息。

Description

向卷管理器中的镜像卷的快速写入操作
相关申请的交叉引用
本申请根据35U.S.C.§119(e)要求由Maurilio Cometto和JeevanKamisetty在2007年8月14日提交的题为“FAST WRITE OPERATIONSTO A MIRRORED VOLUME IN A VOLUME MANAGER”的美国临时专利申请No.60/955,787的优先权,该申请通过引用而全部结合于此。
技术领域
本公开涉及存储区域网络。
背景技术
存储区域网络(SAN)是其中诸如独立盘冗余阵列(RAID)设备之类的海量存储装置经由高速网络技术(例如,与经由系统总线形成对比)连接到一个或多个中央处理器的计算机系统。SAN越来越多地被用于存储大量信息,并且它们的使用随着因特网的进步而呈指数增长。
附图说明
图1图示了一个示例性的集中式SAN。
图2图示了一个示例性的分布式SAN。
图3图示了在SAN中执行的写命令的一个示例。
图4是根据第一实施例的一个示例方法。
图5是根据第二实施例的一个示例方法。
图6图示了一个示例软件堆栈。
图7图示了交换机的一个示例简化体系结构。
具体实施方式
概要
在一个实施例中,提供了一种方法,该方法包括:在虚拟化器(virtualizer)处接收来自存储区域网络中的发起器(initiator)的写命令,其中,该存储区域网络包括该发起器和多个镜像存储装置(mirroredstorage);从虚拟化器向这多个镜像存储装置发送写命令;在虚拟化器处接收来自多个镜像存储装置中的第一镜像存储装置的传送就绪消息(transfer ready message);响应于从这多个镜像存储装置中的第一镜像存储装置接收到传送就绪消息,从虚拟化器向发起器发送传送就绪消息;在虚拟化器处接收来自发起器的数据消息;以及一旦从这多个镜像存储装置的每一个接收到传送就绪消息,就从虚拟化器向这多个镜像存储装置发送数据消息。
在另一实施例中,提供了一种方法,该方法包括:在虚拟化器处接收来自存储区域网络中的发起器的写命令,其中,该存储区域网络包括该发起器和多个镜像存储装置;从虚拟化器向这多个镜像存储装置发送写命令;在虚拟化器处接收来自这多个镜像存储装置的每一个的传送就绪消息;以及一旦已从这多个镜像存储装置的每一个接收到传送就绪消息,就从虚拟化器向发起器发送传送就绪消息。
示例实施例
在本申请中,为了提供对本发明的完整理解,阐述了许多具体细节。但是,本领域技术人员显然清楚,在没有这些具体细节中的一些或全部的情况下可以实施本发明。在其它实例中,未详细描述公知的处理步骤,以免模糊本发明。
这里描述的组件、处理步骤和/或数据结构可以使用各种类型的操作系统、计算平台、计算机程序和/或通用机器来实现。另外,本领域普通技术人员将认识到,也可使用诸如硬连线设备、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等的本质不那么通用的设备,而不脱离这里公开的发明构思的范围和精神。还设想了如下实施例:其中,使用了运作互联网络操作系统的交换机。如下实施方式也是可以的:其中,本发明的各个方面作为机器可读指令序列被包括在程序存储设备中。
存在实现SAN的两种一般方式:集中式(centralized)和分散式(decentralized)。集中式SAN利用大量高速缓存器和冗余电源来将多个发起器绑定到单个存储系统。图1图示了一个示例集中式SAN。也称作主机100、102、104的发起器与海量存储装置106通信。
另一方面,分散式SAN利用诸如交换机之类的集中式控制器来连接多个海量存储装置,集中式控制器在发起器与多个海量存储装置之间协调存储。图2图示了一个示例分布式SAN。这里,发起器200、202、204经由交换机212与包括多个海量存储装置206、208、210的虚拟SAN通信。将了解,在发起器200、202、204与交换机212之间和/或在交换机212和海量存储装置206、208、210之间可以存在一个或多个中间设备。
存在可在SAN内利用的多个各种应用,例如,卷(volume)管理应用、数据复制应用、数据迁移应用和数据保护应用,及其它。这些应用例如可操作在发起器侧或者存储装置侧。
来自和去往SAN中的发起器和存储装置的输入和输出被总称为SAN交换或流。通常以输入/输出(IO)的形式来衡量交换。传统上,每个输入或输出由发起器发送并被端接于存储装置,或者反之。这是因为将发送或者解释IO的应用要么位于发起器处要么位于存储装置处。在本发明一个实施例中,IO可被端接于交换机,或者位于发起器和存储装置之间的某种其它设备或组件。该设备或组件可称作“虚拟化器”,这是因为其向发起器提供了存储装置的虚拟表示,并向存储装置提供了发起器的虚拟表示。应当注意,在本文献通篇中使用的术语“存储装置”可以指单个存储设备或者一组存储设备。
图3图示了在具有虚拟化器的SAN中执行的写命令的一个示例。通信不是直接在发起器300和存储装置302之间发生,而是,命令304首先被端接于虚拟化器306。虚拟化器可以是交换机,但是,本领域普通技术人员将认识到,虚拟化器可以包括操作来虚拟化存储装置的硬件或软件的任意组合。虚拟化器306对一个或多个存储装置(例如,图2的206、208和/或210;图3中图示了单个存储装置302)进行虚拟化。每一个虚拟存储装置可以具有虚拟逻辑单元编号(VLUN)并且可以包括一个或多个物理存储装置。当虚拟化器306接收到写命令304时,其可以对该命令执行一个或多个处理,然后生成由此得到的写命令308以供传送到存储装置302。存储装置302利用指示出其所具有供写入的可用空间量的响应(例如,传送就绪消息310)来作出应答。在接收到传送就绪命令310之后,交换机可以生成针对发起器300的传送就绪命令312,发起器300可以应答以实际数据314,交换机随后在数据消息316中将该实际数据314发送到相应存储装置302以供存储。应当注意,在本文献通篇中使用的术语“传送就绪消息”应当被解释为意指如下任何通信:该通信指示出存储设备已准备好接收对要写入的数据的传送。一旦写入完成,存储装置302就可以向虚拟化器306发送响应318,虚拟化器306随后可以向发起器300发送响应320。这些响应可以指示出写命令的状态。
图3所描述的方法在写命令映射到后端的单个写入(即,写入到单个存储装置)的情况下工作良好。但是,在存在镜像VLUN(即,同一写命令被镜像到多个存储装置)的情况下将面临问题,这是因为不清楚交换机306应当在什么时候生成针对发起器300的传送就绪命令312。
在一个实施例中,在镜像存储环境中,在发起器从镜像存储装置之一接收到第一传送就绪消息时,传送就绪消息被从虚拟化器发送到发起器。图4是根据第一实施例的一个示例方法。在400,虚拟化器从发起器接收写命令。写命令可以包含针对多个块的写入一逻辑块地址处的特定VLUN的请求。在402,虚拟化器可以执行虚拟到物理映射,以判断将写命令转发到哪些镜像存储装置。在404,由虚拟化器生成写命令。该写命令包含来自从发起器接收的写命令的逻辑块地址以及块数目,但是也可包含命令所转发到的镜像存储装置的标识。应当注意,可以是生成并向两个存储装置发送单个写命令,但是也可想象如下实施例:其中,生成了多个写命令,这多个写命令除了其目的地存储装置之外完全相同。本领域普通技术人员明了,这种几乎完全相同的消息是仅仅具有不同头部的在技术上相同的消息,并因而在本文献中应当被解释为单个生成的消息。在406,将(一个或多个)所生成的写命令发送到多个镜像存储装置的每一个。
在408,从第一镜像存储装置接收传送就绪消息。该消息可以包含第一存储装置具有的可用于该写命令的块的数目。在410,从虚拟化器向发起器发送传送就绪消息。该传送就绪消息可以包含第一存储装置具有的可用块的数目(按在408的消息中接收的)。
此时,可能发生两个事件之一。或者是可能在虚拟化器处从发起器接收到数据消息,或者是可能从第二存储装置(和/或其它镜像存储装置)接收到传送就绪消息。在有关数据消息被接收之前接收到传送就绪消息的情况下,该传送就绪消息可被缓冲。当最终接收到数据消息时,可对该数据消息进行缓冲直到确定已经接收到镜像存储装置的所有传送就绪消息为止。如果在从所有镜像存储装置接收到传送就绪消息之前从发起器接收到数据消息,则可对数据消息进行缓冲,直到接收到所有传送就绪消息为止,此时数据消息可被发送到每个镜像存储装置。
因此,在412,可能从发起器接收到数据消息。这可能是在从其它镜像存储装置接收到另外的传送就绪消息之前或之后。该数据消息可以包含要写入镜像存储装置的数据。在414,可以判断是否已从镜像存储装置接收到所有的相应传送就绪消息。如果否,则在416,可对数据消息进行缓冲并且处理可以循环回到408。如果是,则在418,一旦已从多个镜像存储装置的每一个接收到传送就绪消息,就向多个镜像存储装置的每一个发送数据消息。该数据消息可以包含在412接收到的要写入镜像存储装置的数据。在420,可以判断来自发起器的所有数据是否都已被发送到所有镜像存储装置。如果是,则处理可以结束。如果否,则处理可以循环回到408。
在另一实施例中,在镜像存储环境中,仅在发起器从所有镜像存储装置接收到传送就绪消息时才从虚拟化器向发起器发送传送就绪消息。图5是根据此第二实施例的一个示例方法。在500,虚拟化器从发起器接收写命令。该写命令可以包含针对多个块的写入一逻辑块地址处的特定VLUN的请求。在502,虚拟化器可以执行虚拟到物理映射,以判断将写命令转发到哪些镜像存储装置。在504,由虚拟化器生成写命令。该写命令可以包含来自从发起器接收的写命令的逻辑块地址和块数目,但是也可包含命令所转发到的(一个或多个)镜像存储装置的标识。应当注意,可以是生成并向两个存储装置发送单个写命令,但是也可想象如下实施例:其中,生成了多个写命令,这多个写命令除了其目的地存储装置之外完全相同。在506,将该(一个或多个)写命令发送到多个镜像存储装置的每一个。
在508,从多个镜像存储装置的每一个接收到传送就绪消息。这些消息可以包含第一存储装置具有的可用于该写命令的块的数目。一旦所有传送就绪消息都已接收到(即,从多个镜像存储装置的每一个),则在510可以确定镜像存储装置的最小可用空间量。该消息可通过审查传送就绪消息(这些传送就绪消息包含相应镜像存储装置的可用块的数目)并且采用所接收的传送就绪消息所指示出的最小(或者,在替代实施例中,最大)块数目来得到。例如,如果从三个镜像存储装置接收到传送就绪消息,第一镜像存储装置列出了10个可用块,第二镜像存储装置列出了5个可用块,第三镜像存储装置列出了15个可用块,则这些镜像存储装置的最小可用空间是5个块。在512,一旦来自多个镜像存储装置的每一个的传送就绪消息被接收到,就从虚拟化器向发起器发送传送就绪消息。该传送就绪消息可以包含如步骤510所确定的最小可用空间量。
在514,可从发起器接收到数据消息。该数据消息可以包括要写入镜像存储装置的数据。在516,向多个镜像存储装置的每一个发送数据消息。该数据消息可以包含在514接收的要写入镜像存储装置的数据。在518,可以判断是否来自发起器的所有数据都已发送到所有镜像存储装置。如果是,则处理可以结束。如果否,处理可以循环回到508。应当注意,在发送不成功的情况下,例如,在数据被破坏或者发送被中断的情况下,可以重复发送。
应当注意,在两个实施例中,如果从(一个或多个)镜像存储装置接收到的传送就绪消息指示出比发起器原始请求的量小的可用空间量,则虚拟化器可以延迟从虚拟化器向发起器发送传送就绪消息。在这种情况下,虚拟化器可以延迟向发起器发送传送就绪消息,直到从(一个或多个)镜像存储装置接收到指示出可用空间量大于或等于发起器原始请求的量的另外的传送就绪消息为止。在SCSI协议中,虚拟化器不等待来自同一存储设备的另外的传送就绪消息,而是在设备被允许发送另一传送就绪消息之前满足该请求。另外,在SCSI协议中,设备不能供存储比请求多的数据。然而,可以预见这些限制都不存在的实施例。因此,在图4中,如果在408接收的传送就绪消息指示出第一镜像存储装置具有比在步骤400的写命令中由发起器请求的量小的可用空间,则可以延迟步骤410。步骤410可被延迟直到从第一镜像存储装置接收到指示出其具有大于或等于在步骤400的写命令中由发起器请求的量的可用空间的另外传送就绪消息为止。同样地,在图5中,步骤512可被延迟直到从每个镜像存储装置接收到传送就绪请求以使得根据所接收的传送就绪消息的最小可用空间大于或等于在步骤500的写命令中由发起器请求的量为止。
还应当注意,在本文献通篇中使用的术语“镜像存储装置”应当被解释为意指如下两个或更多个存储装置,该两个或更多个存储装置被指派给单个逻辑存储装置以使得在每个存储装置上执行的写命令应当被相互复制,以尝试创建包含相同信息的存储装置。
在本发明一个实施例中,可对与标准交换机兼容的发起器利用定制硬件。该实施例避免了修改交换机自身的需要。该硬件可以称为存储服务模块(SSM),该存储服务模块可以是插入到交换机中并包括硬件和软件的刀片。利用交换机自身或者利用替代硬件和/或软件的替代实施例也是可能的。
在本发明一实施例中,所利用的软件可以分为三个分离部分。图6图示了一个示例软件堆栈。合作软件(PS)层600可以包括要运行的基础应用。控制路径处理器(CPP)层602可以控制软件和硬件。数据路径处理器(DPP)层604可以是可以执行应用处理自身的层。每一个DPP本质上表示多处理器或多核环境中的单个处理器或核。这些堆栈层允许了经由多处理器或多核系统的精细粒度控制。
图7图示了交换机700的简化体系结构。交换机700包括N个线路卡,每一个线路卡由入口侧(或者输入)705和出口侧(或输出)725来表征。线路卡入口侧705经由交换结构750(在本示例中包括纵横交换机)连接到线路卡出口侧725。在本实施例中,一个或多个线路卡执行上述一个或多个处理。
用于在SAN内通信的一种常见协议是小型计算系统接口(SCSI)。发起器可以通过利用光纤通道(FC)交换技术经由SCSI协议高速地通信。尽管如此,可以想象利用了其它存储区域网络协议和交换技术的实施例。
虽然这里示出并描述了本发明的例示实施例和应用,但是可以有许多变体和修改例,这些变体和修改例保留在本发明的构思、范围和精神之内,并且这些变体在本领域普通技术人员熟读本申请之后将变得清楚可见。因此,所描述的实施例应当被视为是例示性的而非限制性的,并且本发明不限于这里所给出的细节,而是可以在所附权利要求的范围和等同物内进行修改。

Claims (20)

1.一种方法,包括:
在虚拟化器处接收来自虚拟存储网络中的发起器的写命令,其中,该存储区域网络包括所述发起器和多个镜像存储装置;
从所述虚拟化器向所述多个镜像存储装置发送写命令;
在所述虚拟化器处接收来自所述多个镜像存储装置中的第一镜像存储装置的传送就绪消息;
响应于从所述多个镜像存储装置中的第一镜像存储装置接收到传送就绪消息,从所述虚拟化器向所述发起器发送传送就绪消息;
在所述虚拟化器处接收来自所述发起器的数据消息;以及
一旦从所述多个镜像存储装置的每一个接收到传送就绪消息,就从所述虚拟化器向所述多个镜像存储装置发送数据消息。
2.根据权利要求1所述的方法,还包括:
在接收到来自所述发起器的数据消息之前,在所述虚拟化器处接收来自所述多个镜像存储装置中的第二镜像存储装置的传送就绪消息;以及
对来自所述多个镜像存储装置中的第二镜像存储装置的传送就绪消息进行缓冲。
3.根据权利要求1所述的方法,还包括:
对来自所述发起器的数据消息进行缓冲;以及
接收来自所述多个镜像存储装置中的第二镜像存储装置的传送就绪消息。
4.根据权利要求1所述的方法,其中,从所述发起器接收的写命令包含对用于执行写操作的所请求空间量的指示,并且发送到所述多个镜像存储装置的写命令包含对所请求空间量的所述指示。
5.根据权利要求1所述的方法,其中,从所述多个镜像存储装置中的第一镜像存储装置接收的传送就绪消息包含对可用空间量的指示,并且发送到所述发起器的传送就绪消息包含所述对可用空间量的指示。
6.根据权利要求5所述的方法,还包括:
如果从所述多个镜像存储装置中的第一镜像存储装置接收的传送就绪消息所包含的对可用空间量的指示小于在从所述发起器接收的写命令中包含的对所请求空间量的指示,则对从所述多个镜像存储装置中的第一镜像存储装置接收的传送就绪消息进行缓冲。
7.根据权利要求1所述的方法,其中,从所述发起器接收的数据消息包含要写入的数据,并且发送到所述多个镜像存储装置的数据消息包含所述要写入的数据。
8.一种方法,包括:
在虚拟化器处接收来自存储区域网络中的发起器的写命令,其中,该存储区域网络包括所述发起器和多个镜像存储装置;
从所述虚拟化器向所述多个镜像存储装置发送写命令;
在所述虚拟化器处接收来自所述多个镜像存储装置的每一个的传送就绪消息;以及
一旦已从所述多个镜像存储装置的每一个接收到传送就绪消息,就从所述虚拟化器向所述发起器发送传送就绪消息。
9.根据权利要求8所述的方法,还包括:
在所述虚拟化器处接收来自所述发起器的数据消息;以及
一旦已从所述多个镜像存储装置的每一个接收到传送就绪消息,就从所述虚拟化器向所述多个镜像存储装置发送数据消息。
10.根据权利要求8所述的方法,其中,所接收的传送就绪消息各自包含对可用空间量的指示。
11.根据权利要求10所述的方法,还包括:
如果所接收的传送就绪消息所包含的对可用空间量的指示小于从所述发起器接收的写命令中包含的对所请求空间量的指示,则对从所述多个镜像存储装置接收的传送就绪消息进行缓冲。
12.根据权利要求10所述的方法,还包括:
根据所接收的传送就绪消息中包含的对可用空间量的指示来确定对可用空间量的最小指示;并且
其中,发送到所述发起器的传送就绪消息包含所述对可用空间量的最小指示。
13.根据权利要求8所述的方法,其中,从所述发起器接收的写命令包含对虚拟存储装置的指示,并且所述方法还包括:
使用所述对虚拟存储装置的指示来执行虚拟到物理映射,以判断将写命令发送到哪些镜像存储装置。
14.根据权利要求13所述的方法,其中,所述对虚拟存储装置的指示是虚拟逻辑单元编号(VLUN)。
15.一种交换机,包括:
一个或多个线路卡,其中,所述一个或多个线路卡的至少一个被设计为:
在虚拟化器处接收来自虚拟存储网络中的发起器的写命令,其中,该存储区域网络包括所述发起器和多个镜像存储装置;
从所述虚拟化器向所述多个镜像存储装置发送写命令;
在所述虚拟化器处接收来自所述多个镜像存储装置中的第一镜像存储装置的传送就绪消息;
响应于从所述多个镜像存储装置中的第一镜像存储装置接收到传送就绪消息,从所述虚拟化器向所述发起器发送传送就绪消息;
在所述虚拟化器处接收来自所述发起器的数据消息;以及
一旦从所述多个镜像存储装置的每一个接收到传送就绪消息,就从所述虚拟化器向所述多个镜像存储装置发送数据消息。
16.一种交换机,包括:
一个或多个线路卡,其中,所述一个或多个线路卡的至少一个被设计为:
在虚拟化器处接收来自存储区域网络中的发起器的写命令,其中,该存储区域网络包括所述发起器和多个镜像存储装置;
从所述虚拟化器向所述多个镜像存储装置发送写命令;
在所述虚拟化器处接收来自所述多个镜像存储装置的每一个的传送就绪消息;以及
一旦已从所述多个镜像存储装置的每一个接收到传送就绪消息,就从所述虚拟化器向所述发起器发送传送就绪消息。
17.一种存储区域网络,包括:
发起器;
多个镜像存储装置;以及
虚拟化器,其中,所述虚拟化器被配置为:
在虚拟化器处接收来自虚拟存储网络中的发起器的写命令,其中,该存储区域网络包括所述发起器和多个镜像存储装置;
从所述虚拟化器向所述多个镜像存储装置发送写命令;
在所述虚拟化器处接收来自所述多个镜像存储装置中的第一镜像存储装置的传送就绪消息;
响应于从所述多个镜像存储装置中的第一镜像存储装置接收到传送就绪消息,从所述虚拟化器向所述发起器发送传送就绪消息;
在所述虚拟化器处接收来自所述发起器的数据消息;以及
一旦从所述多个镜像存储装置的每一个接收到传送就绪消息,就从所述虚拟化器向所述多个镜像存储装置发送数据消息。
18.一种存储区域网络,包括:
发起器;
多个镜像存储装置;以及
虚拟化器,其中,所述虚拟化器被配置为:
在虚拟化器处接收来自存储区域网络中的发起器的写命令,其中,该存储区域网络包括所述发起器和多个镜像存储装置;
从所述虚拟化器向所述多个镜像存储装置发送写命令;
在所述虚拟化器处接收来自所述多个镜像存储装置的每一个的传送就绪消息;以及
一旦已从所述多个镜像存储装置的每一个接收到传送就绪消息,就从所述虚拟化器向所述发起器发送传送就绪消息。
19.一种设备,包括:
用于在虚拟化器处接收来自虚拟存储网络中的发起器的写命令的装置,其中,该存储区域网络包括所述发起器和多个镜像存储装置;
用于从所述虚拟化器向所述多个镜像存储装置发送写命令的装置;
用于在所述虚拟化器处接收来自所述多个镜像存储装置中的第一镜像存储装置的传送就绪消息的装置;
用于响应于从所述多个镜像存储装置中的第一镜像存储装置接收到传送就绪消息,从所述虚拟化器向所述发起器发送传送就绪消息的装置;
用于在所述虚拟化器处接收来自所述发起器的数据消息的装置;以及
用于一旦从所述多个镜像存储装置的每一个接收到传送就绪消息,就从所述虚拟化器向所述多个镜像存储装置发送数据消息的装置。
20.一种设备,包括:
用于在虚拟化器处接收来自存储区域网络中的发起器的写命令的装置,其中,该存储区域网络包括所述发起器和多个镜像存储装置;
用于从所述虚拟化器向所述多个镜像存储装置发送写命令的装置;
用于在所述虚拟化器处接收来自所述多个镜像存储装置的每一个的传送就绪消息的装置;以及
用于一旦已从所述多个镜像存储装置的每一个接收到传送就绪消息,就从所述虚拟化器向所述发起器发送传送就绪消息的装置。
CN200880102811.5A 2007-08-14 2008-08-05 向卷管理器中的镜像卷的快速写入操作 Expired - Fee Related CN101784990B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US95578707P 2007-08-14 2007-08-14
US60/955,787 2007-08-14
US11/868,675 US7827251B2 (en) 2007-08-14 2007-10-08 Fast write operations to a mirrored volume in a volume manager
US11/868,675 2007-10-08
PCT/US2008/072180 WO2009097005A2 (en) 2007-08-14 2008-08-05 Fast write operations to a mirrored volume in a volume manager

Publications (2)

Publication Number Publication Date
CN101784990A true CN101784990A (zh) 2010-07-21
CN101784990B CN101784990B (zh) 2014-02-26

Family

ID=39331755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880102811.5A Expired - Fee Related CN101784990B (zh) 2007-08-14 2008-08-05 向卷管理器中的镜像卷的快速写入操作

Country Status (3)

Country Link
US (1) US7827251B2 (zh)
CN (1) CN101784990B (zh)
WO (1) WO2009097005A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360959A (zh) * 2014-10-28 2015-02-18 华为技术有限公司 数据存储的方法及控制器

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262309A1 (en) * 2004-04-28 2005-11-24 Frey Robert T Proactive transfer ready resource management in storage area networks
US8347043B2 (en) * 2009-03-25 2013-01-01 Hitachi, Ltd. Storage management task distribution method and system on storage virtualizer
US8799586B2 (en) * 2009-09-30 2014-08-05 Intel Corporation Memory mirroring and migration at home agent
US8504766B2 (en) 2010-04-15 2013-08-06 Netapp, Inc. Methods and apparatus for cut-through cache management for a mirrored virtual volume of a virtualized storage system
US8489940B2 (en) 2010-04-16 2013-07-16 Netapp, Inc. Methods and apparatus for managing asynchronous dependent I/O for a virtual fibre channel target
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US8996807B2 (en) 2011-02-15 2015-03-31 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a multi-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001246799A1 (en) 2000-04-18 2001-10-30 Storeage Networking Technologies Storage virtualization in a storage area network
US6880062B1 (en) * 2001-02-13 2005-04-12 Candera, Inc. Data mover mechanism to achieve SAN RAID at wire speed
US6876656B2 (en) * 2001-06-15 2005-04-05 Broadcom Corporation Switch assisted frame aliasing for storage 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
US7181578B1 (en) 2002-09-12 2007-02-20 Copan Systems, Inc. Method and apparatus for efficient scalable storage management
US6730883B2 (en) 2002-10-02 2004-05-04 Stratagene Flexible heating cover assembly for thermal cycling of samples of biological material
US7460528B1 (en) * 2003-04-15 2008-12-02 Brocade Communications Systems, Inc. Processing data packets at a storage service module of a switch
US7529781B2 (en) * 2004-04-30 2009-05-05 Emc Corporation Online initial mirror synchronization and mirror synchronization verification in storage area networks
US7484058B2 (en) * 2004-04-28 2009-01-27 Emc Corporation Reactive deadlock management in storage area networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360959A (zh) * 2014-10-28 2015-02-18 华为技术有限公司 数据存储的方法及控制器
CN104360959B (zh) * 2014-10-28 2018-02-09 华为技术有限公司 数据存储的方法及控制器

Also Published As

Publication number Publication date
WO2009097005A3 (en) 2009-09-24
WO2009097005A2 (en) 2009-08-06
US7827251B2 (en) 2010-11-02
US20080104321A1 (en) 2008-05-01
CN101784990B (zh) 2014-02-26

Similar Documents

Publication Publication Date Title
CN101784990B (zh) 向卷管理器中的镜像卷的快速写入操作
CN108363670B (zh) 一种数据传输的方法、装置、设备和系统
CN100334534C (zh) 在存储区域网中实现存储虚拟化的方法与装置
CN100568881C (zh) 用于选择存储群集以用来存取存储装置的方法和系统
CN101946242B (zh) 一种提供间接数据寻址的方法和系统
CN101310250B (zh) 选择包括首要和次级群集上的端口的路径的系统和方法
CN100489796C (zh) 用来实现共用磁盘阵列管理功能的方法和系统
US6654831B1 (en) Using multiple controllers together to create data spans
US7805566B2 (en) Replication in storage systems using a target port mimicking a host initiator port
CN103793271B (zh) 用于在镜像卷之间进行切换的方法和系统
KR20200078382A (ko) 개시자 모드를 갖는 솔리드-스테이트 드라이브
US5519883A (en) Interbus interface module
WO2015068239A1 (ja) 計算機システムおよびデータ制御方法
CN102014153A (zh) 一种数据存储系统及其数据存储方法
CN103647807A (zh) 一种信息缓存方法、装置和通信设备
CN101102256A (zh) 存储区域网系统以及在存储网络中确定数据路径的方法
CN1968292B (zh) 在存储阵列中分配网络地址的系统与方法
US9804940B2 (en) Techniques for maintaining device coordination in a storage cluster system
JP2005301802A (ja) ストレージシステム
US20170123663A1 (en) Techniques for maintaining device coordination in a storage cluster system
TW200821818A (en) Enclosure-based RAID parity assist
CN101310262A (zh) 能使多个通信信道独立工作的集成电路
CN109964208A (zh) 一种双活存储系统和地址分配方法
US20140149662A1 (en) Systems and methods for smart storage interconnection in a heterogeneous storage environment
CN206807466U (zh) 一种基于pcie非透明桥的高可用冗余加密终端

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

Termination date: 20210805