CN1504894A - 存储控制装置及其操作方法 - Google Patents
存储控制装置及其操作方法 Download PDFInfo
- Publication number
- CN1504894A CN1504894A CNA031475787A CN03147578A CN1504894A CN 1504894 A CN1504894 A CN 1504894A CN A031475787 A CNA031475787 A CN A031475787A CN 03147578 A CN03147578 A CN 03147578A CN 1504894 A CN1504894 A CN 1504894A
- Authority
- CN
- China
- Prior art keywords
- metadata
- lock
- data
- request
- node
- 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
Links
- 238000011017 operating method Methods 0.000 title 1
- 238000003860 storage Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 8
- 230000010076 replication Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 2
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006386 memory function Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000009466 skin packaging Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99939—Privileged access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
网络中的存储控制器包括:I/O执行部件;将数据的元数据的所有权分配给所有者存储控制器节点的部件;用来在I/O期间控制元数据的锁定的锁管理器;在存储控制器节点之间传递消息,以请求元数据状态、授权锁、请求释放锁、并发信号通知锁释放的消息传递部件。对其元数据由任何所有者存储控制器节点所拥有的数据执行I/O,而且与由所有者存储控制器控制的元数据锁协议一致,并且维护有时所保持的数据的任何复本与所述数据的一致关系。
Description
技术领域
本发明涉及计算机存储控制器的领域,并且本发明特别涉及以具有共享存储的N通道配置连接的高级功能存储控制器。
背景技术
在先进计算机存储领域,在描述什么是“先进的功能”上,正有增长的需求。如此的功能已经超逾了常规存储***的简单的I/O功能。先进的功能在现有技术上是广泛熟知的,并依靠于元数据的控制,元数据用来保留真实事物的状态信息,或者是存储在***中的“客户”数据。使用先进功能可用的操作能使得各种动作(action)更快地应用于数据的虚拟图像,而留下“真实”的数据为客户应用程序所使用。这种先进功能的一个例子是‘快闪复制(Flash Copy)’,尽管本发明不限于那种功能,其使用快闪复制作为一个例子的实施例的描述仅是为了合适地解释本发明的背景。
在最高水平上,快闪复制是使‘一些数据’的第二图像变得有效的功能。这个功能有时被叫做实时点(Point-In-Time)复制,或者T0-复制。第二图像的内容起先是和第一个相同的。第二图像在‘瞬间’变得有效。在实际的术语上这意味着第二图像在比产生真实、独立、物理复制所需要的时间少得多的时间内变得有效,这意味着其能在没有对正使用的应用程序的操作进行不可接受的中断的情况下被建立。
一旦被建立,第二复制可以用于包括执行备份、***试验和数据采集的多个目的。第一复制可以继续被原来使用的应用程序用作其原始的目的。在备份的情况下做比较,没有快闪复制,应用程序必须被关闭,并且在应用程序又被重新启动前,进行备份工作。找到其中应用程序足够空闲来被关闭的时间窗口正日益变得困难。完成备份的成本正在增加。在允许进行复制而不停止业务的快闪复制的能力中,具有重大的和日益增加的商业价值。
快闪复制的实现通过将寻址到第二图象(其后称为“目标”)的读取I/O重定向到原始图象(其后称为“源”)而实现第二图象存在的幻觉,除非那个区域进行了写操作。如果一区域已经被指定为写(要么是对源,要么是对目标),那么为了维持源和目标都拥有它们自己的数据复制的幻觉,调用挂起写命令的操作的进程,使得它不再有效,从源发出受影响区域的读取,用写将读取的数据施加给目标,然后(只要所有的步骤成功)释放被挂起的写。随后对同一区域的写不需要被挂起,因为目标已经有它自己的数据复本。这种复制写(copy-on-write)的技术是众所周知的,并已被使用在很多情况下。
在怎样实现快闪复制上有许多变化,这些变化显示在实现的各种特征中。例如,特定的实现允许对目标读和写,而另外一些仅允许读。一些实现仅允许对目标有限的更新。一些要求目标与源具有相同的大小,而另一些允许它更小。
然而,所有的实现取决于管理上述决定的一些数据结构,即,关于是否目标收到的读被发布到源或者目标的决定,以及关于是否必须挂起写以允许复制写发生的决定。该数据结构实质上跟踪已经被从源复制到目标的区域,以区分出那些没有进行复制的区域。
实现快闪复制之后的算法的关键是维护这种数据结构(其后称为元数据)。另外的‘先进功能’,如远程复制(也叫做PPRC、连续复制或远程镜像)或虚拟化,也依赖于相似的数据结构,并且因此落入本发明的范围。对于这些功能的每一种,元数据是不同的,但是在所有的情况中,它被用于维护状态信息,比如数据的位置、虚拟化的文件到实际存储对象的映射,等等。这个元数据被放在永久存储器中。
在单CPU***(complex)中(有可能使用SMP处理器),如快闪复制的功能实现起来相对来说是直接的,正如它被经常使用在现代存储控制器中一样。如增加更多的努力,实现快闪复制的容错也是可能的,使得(至少)双CPU***具有对元数据的复本的访问权。在第一个CPU***失败的情况下,第二个可以被用来继续操作,并且对目标图象没有失去访问权。
然而,单CPU***的I/O能力是有限的。改善以每秒钟的I/O次数或带宽(MB/s)来测量的单个CPU***的能力是有限的,并且会逐渐限制使用的应用程序的性能。在很多快闪复制的实现中,这种限制增加了。但是一个好的例子是在存储控制器中。典型的存储控制器有单一的CPU***(或有可能是冗余对),其表示对那个控制器性能能力的限制。
更多存储控制器能被安装。但是独立的存储控制器并不能共享对元数据的访问,因此也不能协作来管理快闪复制图象。当诸如快闪复制的功能被限定到单一控制器***的范围中时,存储空间将变成分片的。源和目标盘必须在同样的存储控制器内管理。单一存储控制器盘空间可能已经充满了,而另外一个还有一些空闲的空间,但分离源盘和目标盘是不可能的,把目标盘置于新控制器控制之下。(在新快闪复制的情况下,这是非常不幸的,移动目标是方便的操作,因为没有物理上的数据与其相连)。
限制总性能对于目标/源对是可行的,单控制器存储功能的限制增加了存储环境管理的复杂性。管理上的花费经常被认为是在存储的所有权的总成本的最大成本。通过删除所有可能的任意限制,来降低***开销和复杂性是相当有利的。
典型地,今天的存储控制***没有企图去解决这个问题。他们执行被限定在单一控制器上的先进功能,并且因此被控制器的能力所限制。
允许多个控制器参与共享快闪复制关系的简单的方法是指定一个控制器作为元数据的拥有者,而使其他的控制器转发所有的读和写请求到那个控制器。这个有拥有权的控制器使用上述所描述的算法处理这些请求,好像这些请求直接地来自于其自身附带的主机服务器,并完成每一个返回到原始控制器上的请求。
这种***存在的主要缺陷和它不能被广泛使用的原因是转发每一个I/O请求的负担太大,可能双倍于总的***开销,从而可能减半***的性能。
在分布式并行数据库处理中,已知有一种分布式锁管理工具,它能使得资源被编辑在“锁俱乐部(club)”中,并指定锁俱乐部的拥有者,拥有者可以为它们指定的区域轮换地控制所有的锁操作,和发布锁操作控制消息到I/O请求客户端。这样的***实现在逻辑资源层,不允许在存储控制器***之间的锁控制,也不在元数据层提供任何形式的锁管理。当真实的数据段可以在广泛的分布式物理介质中保存时,它也导致了在存储虚拟化情况下相当大的开销。
理论著作上建议,比如在Amiri等的《对于共享存储阵列的可升级的并行控制和恢复》中,在存储控制器网络的设备层上使用分布锁管理是可能的。但是,已知这种锁管理技术被必须发生在控制器之间的通信的负担所限制,导致长的等待时间周期、增加的死锁和重复再试的潜在可能。
因此,在低成本、高性能、可升级方案方面将具有相当大的优势,允许N个存储控制器(或“N通道”***)中的任一个参加先进的存储功能,其中能在各个设备中分布元数据层上的所有权和锁操作。
发明内容
根据第一方面,本发明提供在存储控制器节点的网络中可操作的一种存储控制装置,包括:I/O执行部件;所有权分配部件,以分配数据的元数据的所有权给所有者存储控制器节点;在所述所有者存储控制器节点上的锁管理部件,在I/O活动期间控制所述元数据的锁定,以保证所述数据与有时保持的所述数据的任何复本相一致;在所述所有者存储控制器节点上的消息传递部件,可操作地在存储控制器节点之间传递一个或多个消息,以请求元数据状态、授权锁、请求释放锁、和发出信号表示已经释放锁;其中所述I/O执行部件对其元数据由任何所有者存储控制器节点所拥有的数据执行I/O,使所述I/O执行部件与由所述所有者存储控制器节点控制的元数据锁协议一致;和其中维护有时保持的所述数据的任何所述复本与所述数据保持一致关系。
最好是,所述I/O执行部件执行快闪复制,并且其中所述元数据包含纹理(grain)复制状态元数据。
最好是,所述I/O执行部件执行远程复制,并且其中所述元数据包含纹理复制状态元数据。
最好是,所述I/O执行部件执行存储虚拟化活动,并且其中所述元数据包含虚拟化状态元数据。
在第二个方面,本发明提供一种在存储控制器节点的网络中操作存储控制装置的方法,包括如下步骤:由I/O执行部件接收I/O请求;向所有者存储控制器节点分配数据的元数据的所有权;在I/O活动期间控制所述元数据的锁定,以保证所述元数据与有时保持的所述元数据的任何复本相一致;在存储控制器节点之间传递一个或多个消息,以请求元数据状态、授予锁、请求锁的释放、并发出信号表示已经释放锁;对其元数据由任何所有者存储控制器节点所拥有的数据执行I/O,使I/O执行部件与由所述所有者存储控制器节点控制的元数据锁协议一致;和维持有时所保持的所述数据的任何所述复本与所述数据的一致关系。
最好是,所述I/O是快闪复制,并且其中所述元数据包含纹理复制状态元数据。
最好是,所述I/O是远程复制,并且其中所述元数据包含纹理复制状态元数据。
最好是,所述I/O是存储虚拟化活动,并且其中所述元数据包含虚拟化状态元数据。
在第三个方面,本发明提供一种在计算机可读存储介质中有形具体化的计算机程序产品,其包含计算机程序代码部件,以便当加载进计算机***并在其上执行时,使在存储控制器节点的网络中的存储控制装置执行如下步骤:由I/O执行部件接收I/O请求;向所有者存储控制器节点分配数据的元数据的所有权;在I/O活动期间控制所述元数据的锁定,以保证所述数据与有时保持的所述数据的任何复本相一致;在存储控制器节点之间传递一个或多个消息,以请求元数据状态、授予锁、请求锁的释放、并发出信号表示已经释放锁;对其元数据由任何所有者存储控制器节点所拥有的数据执行I/O,使I/O执行部件与由所述所有者存储控制器节点控制的元数据锁协议一致;和维持有时所保持的所述数据的任何所述复本与所述数据的一致关系。
本发明目前的最佳实施例使用消息传递来在N通道***内的各存储控制器(或节点)之间协调元数据层的锁定活动。这种消息传递协调***内的各节点之间的活动,但每个节点仍然负责执行其自己的I/O。
附图说明
本发明的最优实施例都将参照附图举例说明,其中:
图1为一个流程图,说明根据本发明的最优实施例方法的步骤。
图2为一个方框图,说明根据本发明的最优实施例的装置。
具体实施方式
本发明的最优实施例使用消息传递来协调在N通道存储***中的多个存储(或节点)之间的活动。消息传递协调***中的各个节点之间的活动,但是每个节点仍然负责执行其自己的I/O。这样的消息传递对***中的节点施加比上述说明的现有技术的已知的存储的I/O转发方案更低的处理负担.这很大程度上是因为协议消息比它们相关的I/O要小(在发送的总字节数上),而且消息服从于联合或批处理,以进一步减少***开销。
例如,考虑到实现快闪复制的N通道***。假设每个节点具有对由N个节点的协作组管理的存储器的访问权。其中一个节点被指定(102)为控制存储区的所有I/O关系的元数据的所有者。其他节点被指定为客户。在当前大部分的最优实施例中,其中一个客户节点进一步被指定为备份拥有者,并且维护元数据的复本,以便在所有者节点失败的情况下提供持续的有效性。
考虑到到达(104)特定客户节点(‘C’)的主机I/O请求。假设主机I/O请求是对目标盘的读或写,或者可能是对源盘的写。客户C通过暂停(106)I/O来开始处理.C然后发出消息REQ给所有者节点O,询问是否已经复制了纹理(grain)。
收到REQ消息后,O检查它自己的元数据结构。如果O发现该区已经被复制,O用NACK消息回答。如果O发现该区还未被复制,它将在它自己的元数据结构内的区域设置相对于合适的元数据的锁纪录,并且用GNT消息回复(112),以指示已经授予锁。要求锁记录确保在刚刚收到并授予的请求和当在C的处理继续时可能到达影响相同元数据的进一步请求之间的兼容性。锁记录怎么被维护的细节、兼容性约束是什么与如果由O本地收到I/O相同,并且为本领域的技术人员所周知。
收到NACK消息后,C释放(unpend)(114)原始的I/O请求。
收到GNT消息后,C继续(116)执行数据传输或快闪复制运算法则要求的传输。在目标读取(Target Read)的情况下,就意味着对源盘的读。一段时间后,C将处理完成读请求(118),然后在完成对发布它的主机***的原始I/O请求的同时,发布UNL消息给O,以请求释放锁。
收到UNL消息后,O将锁记录从其元数据表中移开(122),这可能释放进一步的由于该锁而被挂起的I/O请求。在本最优实施例中,O然后将UNLD消息传递(124)给C,表明已经释放锁,并允许C再次利用与原始请求相关联的资源。而这不是快闪复制算法本身所要求的。
在写数据(在目标盘或源盘上)的情况下,C必须执行复制写(127)。在复制写全部完成,同时原始写I/O请求仍被挂起时,C发布(126)UNLC的请求给O,请求释放锁并更新元数据以记录下复制写。
收到UNLC消息后,O在元数据中标记如已经被复制所影响的区域,移开(130)锁记录,将该区域已经被复制的消息通知(132)给任何等待请求,然后发布(134)UNLD消息给C,表明已经释放锁。
收到UNLD消息后,C释放(136)被挂起的写操作,其将在一段时间后完成,然后C完成(138)对主机的写操作。
恢复路径要求满足如下状态:当磁盘I/O失败时、或消息传递***失败、或节点失败,但是这些的要求和实现都是本领域内一般技术人员所熟知的,这里无需描述。
已经用与单个I/O相关的术语和单个客户C进行了上述说明。但该领域内一般技术人员将清楚地知道该方案将如何在多个I/O中、从多个客户机节点连续操作,同时O使用同样的算法连续处理所有的请求。
现在转到图2,该图显示了与本发明最优实施例相关的设备,该设备配备在一个存储控制器网络内,包括:所有者(202),客户(204)I/O执行部件,元数据(206)的一部分一与在存储网络的控制下所拥有的数据(208)和数据(208)的复本(209)相关。该设备包括:所有权分配部件(210),用以将元数据所有权分配给所有者(202);锁管理部件(212),用以在I/O执行期间、在所述元数据(206)层控制锁操作,以确保与任何复本(209)的一致性,这种复本可能是快闪复制图像(Flash Copy Image),远程复制图像(Remote Copy Image),或者是虚拟化的存储图像。还有一个依附在所有者(202)和客户机(204)的消息传递部件(214),用以在客户机(204)和所有者(202)之间传递一个或多个消息,以请求关于元数据状态的响应、授权锁、请求锁的释放、和发出信号表示已释放锁。该客户机(204)对其元数据由任何所有者(202)所有的数据执行I/O,并要求客户机与由所述所有者(202)控制的元数据层的锁协议相一致。
本发明的当前的最优实施例分配不同的节点作为用于不同存储区域的元数据拥有者的角色。这就确保单个拥有者节点不会使其成为这个***中的瓶颈。从众所周知的现有技术的分布式并行数据库处理方案中可了解用于平衡区域所有权的有效的方案(虽然在数据库表级别上)。
将会理解,上述方法将以运行在一个或多个处理器(未示出)上的软件来实现,并且可以把该软件提供来作为承载在任何合适的数据载体(也未示出)例如磁或光计算机盘上的计算机程序元件。用于数据发送的信道同样可以包括所有描述的存储介质以及信号承载介质,例如,有线的或无线的信号介质。
可以适当地将本发明具体化为用于与计算机***使用的计算机程序产品。如此的实现可以包括一系列计算机指令,所述计算机指令要么固定在有形介质,例如磁盘、CD-ROM、ROM、或硬盘的计算机可读介质上,要么通过调制解调器或其它接口设备、经由包括但不局限于光或类似的通信线的有形介质或者无形地使用包括但不局限于微波、红外线或其它发送技术的无线技术可发送到计算机上。所述计算机可读指令使这里先前所述的所有或部分的功能具体化。
本领域技术人员将理解可以用由很多计算机结构或操作***使用的多种编程语言来编写如此的计算机可读指令。此外,可以通过使用目前或未来的包括但不局限于半导体的、磁的或光的任何存储技术来存储如此指令,通过使用目前或未来的包括但不局限于光的、红外线的、或微波的任何通信技术来发送如此指令。可以预期的是可以将如此计算机程序产品作为伴随打印的或电子文档的,例如紧缩包装的软件、预先装载在例如***ROM或硬盘上的计算机***中的可装卸介质来分配,或者可以通过例如英特网或万维网的网络从服务器或电子公告牌分配这样的计算机程序产品。
将可以理解的是对上述的实施例各种变化对于本技术领域的技术人员来说是显而易见的。
Claims (9)
1.在存储控制器节点的网络中可操作的存储控制装置,包括:
I/O执行部件;
所有权分配部件,用于向所有者存储控制器节点分配数据的元数据的所有权;
锁管理部件,在所述所有者存储控制器节点上,可操作地在I/O活动期间控制所述元数据的锁定;
消息传递部件,在所述所有者存储控制器节点上,可操作地在存储控制器节点之间传递一个或多个消息,以请求元数据状态、授予锁、请求锁的释放、并发出信号表示已经释放了锁;
其中所述I/O执行部件可操作地对其元数据由任何所有者存储控制器节点所拥有的数据执行I/O,使I/O执行部件与由所述拥有者存储控制器节点控制的元数据锁协议一致;和
其中维护有时所保持的所述数据的任何复本与所述数据的一致关系。
2.根据权利要求1的装置,其中所述I/O执行部件可操作地执行快闪复制,并且其中所述元数据包含纹理复制状态元数据。
3.根据权利要求1的装置,其中所述I/O执行部件可操作地执行远程复制,并且其中所述元数据包含纹理复制状态元数据。
4.根据权利要求1的装置,其中所述I/O执行部件可操作地执行存储虚拟化活动,并且其中所述元数据包含虚拟化状态元数据。
5.一种在存储控制器节点的网络中操作存储控制装置的方法,该方法包括如下步骤:
由I/O执行部件接收I/O请求;
向所有者存储控制器节点分配数据的元数据的所有权;
在I/O活动期间控制所述元数据的锁定;
在存储控制器节点之间传递一个或多个消息,以请求元数据状态、授予锁、请求锁的释放、并发出信号表示已经释放锁;
对其元数据由任何所有者存储控制器节点所拥有的数据执行I/O,使I/O执行部件与由所述所有者存储控制器节点控制的元数据锁协议一致;和
维持有时所保持的所述数据的任何复本与所述数据的一致关系。
6.根据权利要求5所述的方法,其中所述I/O是快闪复制,并且其中所述元数据包含纹理复制状态元数据。
7.根据权利要求5所述的方法,其中所述I/O是远程复制,其中所述元数据包含纹理复制状态元数据。
8.根据权利要求5所述的方法,其中所述I/O是存储虚拟化活动,并且其中所述元数据包含虚拟化状态元数据。
9.一种在计算机可读存储介质中有形具体化的计算机程序产品,其包含计算机程序代码部件,以便当加载进计算机***中并在其上执行时,使在存储控制器节点的网络中的存储控制装置执行如下步骤:
由I/O执行部件接收I/O请求;
向所有者存储控制器节点分配数据的元数据的所有权;
在I/O活动期间控制所述元数据的锁定;
在存储控制器节点之间传递一个或多个消息,以请求元数据状态、授予锁、请求锁的释放、并发出信号表示已经释放锁;
对其元数据由任何所有者存储控制器节点所拥有的数据执行I/O,使I/O执行部件与由所述所有者存储控制器节点控制的元数据锁协议一致;和
维持有时所保持的所述数据的任何复本与所述数据的一致关系。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0227735A GB2395809B (en) | 2002-11-28 | 2002-11-28 | Metadata lock management in advanced function n-way shared storage controller systems |
GB0227735.8 | 2002-11-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1504894A true CN1504894A (zh) | 2004-06-16 |
CN1241122C CN1241122C (zh) | 2006-02-08 |
Family
ID=9948670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN03147578.7A Expired - Lifetime CN1241122C (zh) | 2002-11-28 | 2003-07-24 | 存储控制装置及其操作方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US7401081B2 (zh) |
CN (1) | CN1241122C (zh) |
GB (1) | GB2395809B (zh) |
SG (1) | SG123578A1 (zh) |
TW (1) | TWI235956B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170416B (zh) * | 2006-10-26 | 2012-01-04 | 阿里巴巴集团控股有限公司 | 网络数据存储***及其数据访问方法 |
CN101800763B (zh) * | 2009-02-05 | 2013-04-10 | 威睿公司 | 使用网络和基于碟片上的方案的混合锁定 |
US8843445B2 (en) | 2009-03-04 | 2014-09-23 | Nec Corporation | Storage system for storing data in a plurality of storage devices and method for same |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5013477B2 (ja) * | 2004-11-09 | 2012-08-29 | トムソン ライセンシング | 別個の記憶媒体上のコンテンツの結合 |
US8140785B2 (en) * | 2006-06-29 | 2012-03-20 | International Business Machines Corporation | Updating metadata in a logical volume associated with a storage controller for data units indicated in a data structure |
US7930496B2 (en) * | 2006-06-29 | 2011-04-19 | International Business Machines Corporation | Processing a read request to a logical volume while relocating a logical volume from a first storage location to a second storage location using a copy relationship |
US8209496B2 (en) * | 2008-12-22 | 2012-06-26 | International Business Machines Corporation | Method and system for accessing data |
US8874836B1 (en) * | 2014-07-03 | 2014-10-28 | Pure Storage, Inc. | Scheduling policy for queues in a non-volatile solid-state storage |
US10649856B2 (en) * | 2017-09-01 | 2020-05-12 | International Business Machines Corporation | Concurrent writing to a file during backup of the file |
US11281390B2 (en) * | 2020-03-13 | 2022-03-22 | EMC IP Holding Company LLC | Techniques for data migration |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6073209A (en) * | 1997-03-31 | 2000-06-06 | Ark Research Corporation | Data storage controller providing multiple hosts with access to multiple storage subsystems |
US5913213A (en) * | 1997-06-16 | 1999-06-15 | Telefonaktiebolaget L M Ericsson | Lingering locks for replicated data objects |
US6032216A (en) * | 1997-07-11 | 2000-02-29 | International Business Machines Corporation | Parallel file system with method using tokens for locking modes |
US6061770A (en) * | 1997-11-04 | 2000-05-09 | Adaptec, Inc. | System and method for real-time data backup using snapshot copying with selective compaction of backup data |
US6453354B1 (en) * | 1999-03-03 | 2002-09-17 | Emc Corporation | File server system using connection-oriented protocol and sharing data sets among data movers |
US7010554B2 (en) * | 2002-04-04 | 2006-03-07 | Emc Corporation | Delegation of metadata management in a storage system by leasing of free file system blocks and i-nodes from a file system owner |
US6466978B1 (en) | 1999-07-28 | 2002-10-15 | Matsushita Electric Industrial Co., Ltd. | Multimedia file systems using file managers located on clients for managing network attached storage devices |
US6389420B1 (en) * | 1999-09-30 | 2002-05-14 | Emc Corporation | File manager providing distributed locking and metadata management for shared data access by clients relinquishing locks after time period expiration |
US6601069B2 (en) * | 2000-12-15 | 2003-07-29 | Hewlett-Packard Development Company, L.P. | Synchronization using commitment |
US6636878B1 (en) * | 2001-01-16 | 2003-10-21 | Sun Microsystems, Inc. | Mechanism for replicating and maintaining files in a spaced-efficient manner |
US6996741B1 (en) * | 2001-11-15 | 2006-02-07 | Xiotech Corporation | System and method for redundant communication between redundant controllers |
US7003688B1 (en) * | 2001-11-15 | 2006-02-21 | Xiotech Corporation | System and method for a reserved memory area shared by all redundant storage controllers |
US7010553B2 (en) * | 2002-03-19 | 2006-03-07 | Network Appliance, Inc. | System and method for redirecting access to a remote mirrored snapshot |
US20030220943A1 (en) * | 2002-05-23 | 2003-11-27 | International Business Machines Corporation | Recovery of a single metadata controller failure in a storage area network environment |
US7774325B2 (en) * | 2002-10-17 | 2010-08-10 | Intel Corporation | Distributed network attached storage system |
US6795850B2 (en) * | 2002-12-13 | 2004-09-21 | Sun Microsystems, Inc. | System and method for sharing memory among multiple storage device controllers |
-
2002
- 2002-11-28 GB GB0227735A patent/GB2395809B/en not_active Expired - Lifetime
-
2003
- 2003-05-29 US US10/447,351 patent/US7401081B2/en active Active
- 2003-07-24 CN CN03147578.7A patent/CN1241122C/zh not_active Expired - Lifetime
- 2003-11-20 TW TW092132543A patent/TWI235956B/zh not_active IP Right Cessation
- 2003-11-21 SG SG200306858A patent/SG123578A1/en unknown
-
2008
- 2008-04-16 US US12/104,190 patent/US7865486B2/en not_active Expired - Fee Related
- 2008-04-16 US US12/104,199 patent/US7873613B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170416B (zh) * | 2006-10-26 | 2012-01-04 | 阿里巴巴集团控股有限公司 | 网络数据存储***及其数据访问方法 |
US8953602B2 (en) | 2006-10-26 | 2015-02-10 | Alibaba Group Holding Limited | Network data storing system and data accessing method |
CN101800763B (zh) * | 2009-02-05 | 2013-04-10 | 威睿公司 | 使用网络和基于碟片上的方案的混合锁定 |
US8843445B2 (en) | 2009-03-04 | 2014-09-23 | Nec Corporation | Storage system for storing data in a plurality of storage devices and method for same |
Also Published As
Publication number | Publication date |
---|---|
GB2395809A (en) | 2004-06-02 |
CN1241122C (zh) | 2006-02-08 |
TWI235956B (en) | 2005-07-11 |
US7401081B2 (en) | 2008-07-15 |
US20040107176A1 (en) | 2004-06-03 |
US7873613B2 (en) | 2011-01-18 |
GB0227735D0 (en) | 2003-01-08 |
SG123578A1 (en) | 2006-07-26 |
TW200411560A (en) | 2004-07-01 |
US20080215838A1 (en) | 2008-09-04 |
US7865486B2 (en) | 2011-01-04 |
US20080215839A1 (en) | 2008-09-04 |
GB2395809B (en) | 2005-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8868487B2 (en) | Event processing in a flash memory-based object store | |
US8725951B2 (en) | Efficient flash memory-based object store | |
US9158779B2 (en) | Multi-node replication systems, devices and methods | |
US7209932B2 (en) | Method, system, and program for allocating tasks to a plurality of processors | |
US9836366B2 (en) | Third vote consensus in a cluster using shared storage devices | |
US10747673B2 (en) | System and method for facilitating cluster-level cache and memory space | |
US10339132B2 (en) | Flow control technique for EOS system | |
US7873613B2 (en) | Providing storage control in a network of storage controllers | |
US20180095914A1 (en) | Application direct access to sata drive | |
CN1804810A (zh) | 用于存储器访问请求的重定向的方法和*** | |
US7836017B1 (en) | File replication in a distributed segmented file system | |
US20110320403A1 (en) | Approaches for the replication of write sets | |
US20100218039A1 (en) | Methods and systems for implementing shared disk array management functions | |
US20060053139A1 (en) | Methods, systems, and computer program products for implementing single-node and cluster snapshots | |
US20240053886A1 (en) | File operations in a distributed storage system | |
US20120246206A1 (en) | File server system and storage control method | |
JP4222917B2 (ja) | 仮想記憶システムおよびその動作方法 | |
CN111712802A (zh) | 数据存储***中的虚拟存储驱动器管理 | |
US11977786B2 (en) | Implementing coherency and page cache support in a distributed way for files | |
EP1566041B1 (en) | High-performance lock management for flash copy in n-way shared storage systems | |
US20070068061A1 (en) | Instant copy of data in a cache memory via an atomic command | |
US20070073987A1 (en) | Instant copy of data in a cache memory via an atomic command | |
JP4028833B2 (ja) | 記憶域コントローラ・ノードのネットワーク内で記憶域のi/o動作を制御する装置、方法及びコンピュータ・プログラム |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20060208 |
|
CX01 | Expiry of patent term |