CN1350674A - 用来实现共用磁盘阵列管理功能的方法和系统 - Google Patents

用来实现共用磁盘阵列管理功能的方法和系统 Download PDF

Info

Publication number
CN1350674A
CN1350674A CN00804532.1A CN00804532A CN1350674A CN 1350674 A CN1350674 A CN 1350674A CN 00804532 A CN00804532 A CN 00804532A CN 1350674 A CN1350674 A CN 1350674A
Authority
CN
China
Prior art keywords
amf
resource
redundancy group
locking
data
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
CN00804532.1A
Other languages
English (en)
Other versions
CN100489796C (zh
Inventor
W·P·布朗恩
M·B·马修斯
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.)
Canada Yimuxi Co.
EMC Corp
Original Assignee
YOTTA YOTTA 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 YOTTA YOTTA Inc filed Critical YOTTA YOTTA Inc
Publication of CN1350674A publication Critical patent/CN1350674A/zh
Application granted granted Critical
Publication of CN100489796C publication Critical patent/CN100489796C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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]
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1096Parity calculation or recalculation after configuration or reconfiguration of the system
    • 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/2089Redundant storage control functionality
    • 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/2097Error 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 maintaining the standby controller/processing unit updated
    • 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/0607Improving 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
    • 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/061Improving I/O performance
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0614Improving the reliability of storage systems
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Abstract

包括在控制器(30)中的阵列管理功有(80)与存储区域欧(SAN),如基于光纤信道的SAN(50),上的多冗余组有关。多阵列管理功能共用冗余组的管理职责,每个冗余组典型地包括分布在多磁盘(45)上的多资源。AMF为相关主机系统提供并行访问冗余组,当主机请求一AMF执行对资源的操作,该AMF与共用对包括将被操作的资源的冗余组的控制的其他AMF同步,以取得对该资源的锁定。在执行操作时,该AMF发送与该资源相关的复制数据和状态信息,这样,如果该AMF失效,任一其他AMF能完成该操作以维护数据可靠性及相关性。

Description

用来实现共用磁盘阵列管理功能的方法和系统
对相关申请的相互参考
本申请与1998年9月24日提交的,临时专利申请序列号为60/101742,标题为“用来实现共用磁盘阵列管理功能的方法和系统”的美国临时专利相关,对该临时专利的揭示在此完整引用供参考。
发明领域
本发明通常涉及用来消除数据存储网中及直接服务器附带存储中的瓶颈系统和方法,更具体的说,涉及用来在多磁盘阵列管理功能间完成动态共用冗余组管理的系统和方法。
背景技术
对计算机与数据存储系统间较快通信的需要要求更快,更有效的存储网。近几年,集群技术及存储区域网(SAN)的实现已大大改进存储网性能,例如,在典型存储网中,把N个服务器集群在一起以获得成比例的性能,且在这些服务器与各种RAID(冗余廉价磁盘阵列)存储系统/阵列间加入SAN(例如,基于光纤信道的SAN)。SAN允许任一服务器访问任一存储元件。然而,在该典型存储网中,每个RAID系统有一相关RAID控制器,要访问存储在该RAID系统上的数据必须访问该相关RAID控制器,这会导致系统性能瓶颈,因为只有通过相关RAID控制器才能访问由该RAID控制器管理的存储。而且,如果控制器失效,便不能访问在由该失效控制器管理的RAID系统中维护的信息。
用来提供容错性的一个解决方案包括主从冗余控制器。主控制器进行主控制,只有在主控制器失效的时候从控制器才接替。然而,该解决方案很不有效,因为在主控制器出现失效之前从控制器是不使用的。另一解决方案是使用主从控制器体系结构,但把存储阵列分成冗余组,每个冗余组只由两控制器中的一个控制(每个控制器与其控制的冗余组相较是“主”)。这样,两个控制器同时运行,从而提高系统效率。一旦一个控制器失效,另一控制器承担对效控制器的冗余组的控制,该解决方案还防止“碰撞”,“碰撞”出现在,例如,不止一个控制器想向冗余组写数据。然而,该解决方案也有一些性能缺陷。例如,这样的主从体系结构中的性能受限于主控制器的速度,使得性能不可缩放。
这样,需要提供用来实现系统性能不受限于某控制器速度的对等控制器体系结构解决方案的技术。而且,这样的系统应提供适当的容错性及性能可缩放性。
发明概要
本发明的提供这样一种用于数据存储管理的对等控制器体系结构解决方案。本发明的系统和方法实现一种新颖的,对建立高扩展的磁盘阵列有用的RAID阵列管理功能。特别是,本发明的系统和方法提供共用多(两或更多)阵列管理功能间的冗余组管理。
根据本发明,多阵列管理功能(AMF)与一互连存储媒体上的多冗余组相关。在一实施例中,例如,阵列管理功能与任一存储区域网(SAN),诸如一基于光纤通信的SAN,上的冗余组有关。多AMF共用冗余组的管理职责,每个冗余组
典型地包括分布在多磁盘上的多资源。AMF为相关主机系统提供对冗余组的并行访问。当主机请求一AMF执行对资源的操作,该AMF与共用对包括将被操作的资源的冗余的控制的其他AMF同步,以获得对该资源的锁定,在执行操作时,该AMF发送与该资源相关的复制数据和状态信息,这样,如果该AMF失效,任一其他AMF能完成该操作以维护数据可靠性及相关性。
如此处所用,术语“阵列管理功能”、“冗余组”和“冗余组管理”的定义同RAID咨询委员会(RAB)的系统存储技术手册(第六版)中所给,在此完全引用其内容供各种用途的参考。
“阵列管理功能(AMF)”一般指业或更多磁盘或磁带阵列提供共同的控制及管理的数据本。AMF把它控制的磁盘或磁带阵列作为一或更多虚拟磁盘或磁带提交给操作环境,AMF典型地在磁盘控制器,智能主机总线适配器中或在主机中执行。当它在磁盘控制器中执行时,AMF常称为固件,一或更多AMF可如具体应用所需地在每个控制器、适配器或主机中执行。
“冗余组”一般指用来提供数据保护的,由AMF组织的P区域集合。对于一冗余组而言,使用单一类型的数据保护。冗余组中的所有用户数据存储容量受存储在该组中的检验数据保护冗余组外的用户数据容量不受该组中的检验数据保护。冗余组典型地包括由许多诸如条,数据块,高速缓存数据,映射表,配置表,状态表等的资源构成的逻辑实体。
“冗余组管理”一般指与一冗余组相关的一AMF的职责,进程及操作。
依照本发明,在各共用冗余组的AMF间动态协调并同步冗余组中检验数据的更新,用相干和锁定/解锁技术使这样的更新便利。典型地作为块、一组块,条或一组条的一个功能进行相干和锁定。用任一诸如MESI的广为人知的或专有的相干协议动态进行锁定,另外,同步维护与冗余组有关的高速缓存和冗余组中含有的数据间的相干性。
依照本发明的一方面,提供一典型地包含包括许多资源的一冗余组及共用对该冗余组的访问的两或更多阵列管理功能(AMF)的数据存储网。AMF为关联主机系统提供对该冗余组的并行访问。该网还典型地包括一用来连接AMF和该冗余组的存储区域网。在一典型操作中,当第一AMF要求对该冗余组中的第一资源执行操作时,第一AMF和共用对该冗余组的访问的其他AMF为对第一资源的锁定进行仲裁。此后,第一AMF执行对第一资源的和并向其他AMF关行发送与第一资源相关的复制数据及状态信息。这样,如果第一AMF在执行操作时失效,一其他AMF能完成操作。
依照本发明的另一方面,提供一种在两或更多阵列管理功能(AMF)间动态共同对一冗余组的管理的方法,其中AMF能并行访问该冗余组,该冗余组包括大量资源,该方法典型地包含以下步骤:从一主机接收第一AMF要求对第一资源执行第一操作的请求,与其他AMF同步以获得对第一资源的访问,及对第一资源执行第一操作。
依照本发明的另一方面,提供一数据存储网系统,该数据存储网系统典型地包含一或更多冗余组,每个冗余组包括分布在多磁盘上的多资源,及两或更多共用对该冗余组或更多冗余组的冗余组管理的阵列管理功能(AMF),其中AMF能并行访问该冗余组或更多冗余组。该系统还典型地包含一用来互连AMF和冗余组的存储区域网。
依照本发明的另一方面,提供一种在一数据存储网络系统中在一冗余组的磁盘失效时重构该冗余组的方法。该典型的网络系统包含两或更多在一存储区域网上与该冗余组互连的阵列管理有(AMF),其中,所有AMF共同对该冗余组的管理且能并行访问该冗余组。该冗余组包括分布在多磁盘上的多资源和一替换磁盘。该方法典型地包含下列步骤:由第一AMF仲裁对该冗余组的第一资源的控制,由第二AMF仲裁对该冗余组和第二资源的控制。及用该替代磁盘并行地重构第一和第二资源。
依照本发明的另一方面,提供一种在一数据存储网络系统中当一附加磁盘加在一冗余组上时扩充该冗余组的方法。该网络系统典型地包含两或更多在一存储区域网上与该冗余组互连的阵列管理有(AMF)。该冗余组包括分布在多磁盘上的多资源。所有AMF共用对该冗余组的管理,并能并行访问该冗余组。该方法典型地包含以下步骤:由第一AMF仲裁对第一资源的控制,由第二AMF仲裁对第二资源的控制,及用该附加磁盘并行扩充第一和第二资源。
依照本发明的另一方面,提供一种在一数据存储网络系统中流水线复制入局主机数据的方法。该网络系统典型地包含一在一存储区域网上与两或更多阵列管理功能(AMF)互连的冗余组。该冗余组包括分布在多磁盘上的多资源。所有AMF共用对该冗余组的管理,并能并行访问该冗余组。该方法典型地包含以下步骤:第一AMF从一主机接收向两或更多资源写至少两数据集的写命令,第一AMF取得对第一数据集要写入的第一资源的锁定。该方法还典型得对第一数据集要写入的第一资源的锁定。该方法还典型地包括以下步骤:把第一数据集写入第一资源,及并行第一复制操作,其中,与第一资源相关的复制数据和状态信息发送给共他AMF,这样,如果第一AMF在执行写操作时失效,其他AMF中的一个能完成写操作。
依照本发明的另一方面,提供一种用来在一数据存储系统中在两或更多阵列管理功能(AMF)间动态共用对一冗余组的管理的方法。这些AMF能并行访问该冗余组,该冗余组包括大量资源。该方法典型地包含为第一资源确定一判优程序AMF这一步骤,其中,该判优程序AMF是两或更多共用对该冗余组的管理的AMF中的一个。该判优程序AMF能授予对第一资源锁定的资格。该方法还典型地包含以下步骤:把请求锁定第一资源的锁定请从第一AMF传递到该判优程序AMF。及一旦该判优程序AMF授权锁定第一资源则由第一AMF执行对第一资源的操作。
参考本规范说明书的剩余部分,包括附图和权利要求书,将认识到本发明的共他特点答成点。本发明的另外的特点和优点和本发明的各种实施例的结构有操作一样,在下面进行涉及附图的详细描述。在附图中,相同的参考号表示相同的或功能相近的元件。
附图简述
图1到图7依照本发明示出对用共用对冗余组的访问和控制的控制器从一或更多冗余组向一或更多主机系统提供数据有用的示例配置;
图8依照本发明示出一多控制器配置及这些控制器的内部配置;
图9依照本发明的一实施例示出一使用一通用同步序列的操作;
图10依照本发明的一实施例示出一使用一通用复序列的操作;
图11a依照本发明的一实施例示出当冗余组在正常,不降级方式时读操作的流程;
图11b依照本发明的一实施例示出当冗余组在降级方式时读操作的流程;
图12依照本发明的一实施例示出用来流水线入局主机数据的复制的流程;
图13依照本发明的一实施例示出当冗余组在正常、不降级方式时写操作的流程;
图13b依照本发明的一实施例示出当AMF更新图13a中所示的在完成更新前失效时恢复进程的流程。
图14a依照本发明的一实施例示出当冗余组在降级(出现失效驱动)方式时写操作的流程。
图14b依照本发明的一实施例示出当AMF更新图14a中所示的在完成更新前失效时恢复进程的流程;
图15依照本发明的一实施例示出后台重构进程的注程;
图16依照本发明的一实施例示出后台扩充进程的通用序列流程;
图17a和图17b分别说明无本发明的消息聚集技术的AMF通信和有本发明的消息聚集技术的AMF通信。
图18a依照本发明的说明AMF请求锁定一资源的基本仲裁进程。
图19说明群集配置的两AMF间为单一资源的一简化仲裁进程;
图20依照本发明说明一包括四AMF的群集的示例资源仲裁序列。
详细描述
本发明在多AMF间提供共用冗余组管理(SRGM)以便多AMF能同时访问同一个冗余组。根据本发明,使用分布同步和复制技术协调所有共用一冗余组的AMF的活动并维护数据可靠性。可通过任一包括一共用对一冗余组的AMF的活动并维护数据可靠性。可通过任一包括一共用对一冗余组的控制的AMF的控制器取得对任一冗余组的访问。共用一资源组的AMF因此对等。另外,如果一冗余组为共用访问而配置且一控制器失效,阻塞了通过该失效控制器访问数据,但该冗余组上的数据仍完整,得到保护两不受磁盘失效的影响,且可从包括一正共用该冗余组的AMF的任一其他控制器访问。在一指定控制器中,可出现多AMF,在此情况下冗余组较好的组共用在一组之上。也就是说,一些冗余组可由第一组AMF共用,其他冗余组可由第二组AMF共用,还有一些冗余组有一对一的关系,即一AMF一次只管理一冗余组。或者,一AMF同时管理多AMF。
图1依本发明示出一基本的网络配。如图示,大量网络客户机10,到10n可沟通地与大量服务器20,到20n耦合,每个服务器包括一控制器30。(一般说来,此处“N”用来表示无限多,这样数字“N”用来指一元件时不定等于一不同元件的数字“N”。例如,客户机10的数字不,但可能,等于图1中服务器20的数字。)每个网络客户机10耦合到一或多服务器20是通过特别应用及相对于服务器20的地理位置所需的任一连接方案的,这些大量的连接方案包括,例如,internet连接,任一局域网(LAN)类型连接,任一广域网(WAN)类型连接,任一专用网连接,等等。每个控制器30包括一或更多AMF,并通过一互连媒体,诸如一存储区域网(SAN)30,与磁盘机45的多阵列40可沟通地耦合。较好的是,SAN50是一基于光纤信道的SAN。然而可不脱离本发明的精神地使用任一SAN类型,诸如一基于SCSI的SAN,或诸如一直接SCSI或FC连接的任一直接服务器互连。因为每个控制30通过SAN50有对每个阵列40的随机访问,冗余组管理可由所有控制器30共用。
基于光纤信道的SAN较佳,因为光纤信道标准是一支持包括点对点,交换结构,仲裁环路的几个网络拓朴及这些拓朴的任一组合的开放标准。而且,光纤信道标准支持许多协议,包括SCSI,异步转网模式(ATM),传输控制协议/Internet协议(TCP/IP)、高性能并行接口(HIPPI)、智能外围接口(IPI)及其他。另外,光纤信道在铜电缆和光缆上可提供高达100Mbps(双向200Mbps)的数据传送速度,传送距离分别达30米和10公里。
图2依照本发明示出我主机的一个例子,每个多主机有一在基于交换的光纤信道SAN中配置的控制器。在该SAN中每个控制器30通过如图所示的两光纤信道端口耦合到交换器55。这样,每个控制器30和所有其他控制器30及磁盘阵列40通信。每个控制器30通过一外设部件互连总线35与其主机系统能信。用如图所示的环路拓朴把交换器55耦合到磁盘阵列40。然而,对一领域中的熟练人员来说显而易见的是,可通过大量交换拓朴中的任何一个支持许多环路。一般说来,环路越多,可支持的数据传送速率越大。图2中所示的系统冗余是N-1,意思是指定N个控制器(30,到30n)中有多达N-1个的控制器可失效而当所有控制器30配置成共用对阵列40的管理时磁盘阵列40上的数据不会丢失。一特别主机的控制器失效导致该特别别主机而非整个系统的数据可用性丢失。该系统配置防止诸如电源失效的控制器环境故障,因为依照本发明来自一主机系统的数据与其他主机系统上的数据同步,这一点将在下文中作较详细的描述。
有与控制器失效相关的恢复时间。这是抗毁控制器确定所有关键数据又在群集中得到复制所花的时间。如果另一控制器在此恢复时间期间失效,则数据会丢失。
图3依照本发明示出多控制器的一个例子和配置在一基于交换的光纤信道SAN中的一单一主机。每个控制器30通过如图所示的两光纤信道端口耦合到该SAN中的交换器55,然而,1到N个端口可用于该具体应用所需。这样,每个控制器30通过该光纤信道SAN和所有其他控制器30及磁盘阵列40通信。而且,每个控制器30通过一或更多外设部件互连总线35与主机系统通信。这些控制器30还能通过外设部件互连总线35彼此通信。用如图所示的环路拓朴把交换器55耦合到磁盘阵列40。然而,对本领域中的熟练人员而言显而易见的是,可通过大量交换拓朴中的任何一个支持许多环路。一般而言,环路越多,可支持的数据传送速率越大。在本配置中,在数据可用性对主机系统丢失前有多达N-1个的控制器可失效。提供外部控制器30N+1以防止主机系统失效。如果主机系统失效,当控制器30N+1依照本发明配置成与主机系统控制器30,至30N共用对阵列40的管理,则阵列40上没有数据丢失。
图4依照本发明示出多主机的一个例子,每个多主机有配置在一基于交换的光纤信道SAN中的多控制器。每个控制器30通过图示的现金光纤信道端口耦合到SAN中的交换器55,然而,1至N个端口可用于该具体应用所需。这样,每个控制器30通过光纤信道SAN和所有其他控制器30及磁盘阵列40通信。而且,每个控制器30通过一或更多外设部件互连总线35与其主机系统通信。这些控制器30还能通过外设部件互连总线35彼此通信。用图示的环路拓朴把交换器55耦合到磁盘阵列40,然而,对本领域中的熟练人员来说显而易见的是,可通过大量交换拓朴中的任何一种支持许多环路。一般说来,环路越多,可支持的数据传送速率越大。在本配置中,冗余和同步存在于每个主机系统内的两或更多控制器30间,如果每个主机系统包括N个控制器30,在对主机系统的数据可用性丢失前有多达N-1个的控制器可失效。如果一主机系统失效,当其他主机上的控制器30依照本发明配置成与失效主机系统的控制器30共用对阵列40的管理时,阵列40上无数据丢失。
图5示出多控制器依照本发明配置在一光纤信道仲裁环路(FC-AL)SAN中的多主机的一个例子。每个控制器30通过图示的两光纤信通端口耦合到该环路。这样,每个控制器30通过该FC-AL与所有其他控制器30及磁盘阵列40通信。而且,每个控制器30通过一或更多外设部件互连总线35与其主机系统通信。在此配置中,冗余和同步存在于每个主机系统内的两或更多控制器间。如果每个主机系统包括N个控制器30,在对主机系统的数据可用性丢失前,多达N-1个控制器可失效。而且,如果一主机系统失效,当其他主机上的控制器30依照本发明配置成与失效主机系统的控制器30共用地阵列40的管理时,阵列40上无数据丢失。
图6示出依照本发明由两独立控制器管理的两独立冗余组。冗余组A由主机系统A的控制器30A管理,而冗余组B由主机系统B的控制器30B管理。还示出外部主机系统C和外部主机系统D。依照一实施例,控制器30A和30B的FC端口既充当设备又充当主机信道。这使得每个控制器30A或30B能对分别来自于其关联外设部件互连总线35,诸如外部主机系统C,外部主机系统D的一外部FC主机或诸如控制器30B或30A的另一控制器的服务请作出响应。这样,主机系统B可访问冗余组A而主机系统A可访问冗余组B。从控制器30A的角度看,例如,处理从主机系统B接收的一读或写数据的请求就好象该请求是通过关联外设部件互连总线35接收的。相似的是,外部主机系统C和D可通过在光纤信道SAN上向合适的控制器30发出读或写命令访问冗余组A和B上的数据。任一数目的主机系统可用这种方式互连。而且,尽管只示出一单控制器配置,可使用其他配置,诸如图4中所示的配置。交换器的使用帮助隔离用来进行性能缩放的磁盘阵列。
图7示出依照本发明配置在一基于交换的光纤信道SAN中的,包括无源PCI底板中的多控制器的外部RAID系统的一个例子。控制器301至30N安装在一或更多无源PCI底板中,并配置成从FC端口和/或关联外设部件互连总线接受主机命令。这样,外部服务器可通过向合适的控制器30发出读或写请求访问由控制器301至30N控制的各种各样的冗余组上的数据。尽管只需要一个控制器30,当加上较多控制器时性能和冗余按比例缩放。如果交换器55的使用不如人意或不可行,则可替换使用与图5中所示的配置相似的FC-AL。
图8依照本发明示出一多控制器配置和控制器30的内部配置。图8所示的控制器301至30N中的一个或更多可位于一分离主机或在无源PCI底板上。例如,每个控制器30可位于一分离主机系统中,或每个多主机系统可包括一或更多控制器30。PCI主机连接60提供一用来从主机系统接收和处理命令及用来向其他控制器提供控制器间链路(ICL)服务的连接路径。光纤信道(FC)主机连接65提供ICL服务的连接途径,在较佳方面,每个控制器包括两个物理的FC端口(图8中未示出,但图2至图7是例子),这两个端口都用作磁盘机接入,接收并处理主机命令和ICL服务。对本领域中的熟练人员而言明显的是,每个控制器可包括特别应用所需的1至N个FC端口。
每个控制器30包括一或更多虚拟磁盘端口70,每个磁盘端口提供对一虚拟磁盘75的访问,虚拟磁盘75基本上是一阵列的段。(“冗余组”通常与“阵列”同义)。每个阵列可按需分段成许多虚拟磁盘75。每个虚拟磁盘是相关的并由一或更多关联AMF80控制。许多虚拟磁盘端口70可为同一虚拟磁盘75存在,但每个端口必须位于一分离控制器上。例如,如图8所示,与虚拟磁盘YR相关的虚拟磁盘端口70YR,和70YRN分别提供给控制器30,和控制器30N上的主机,每个虚拟磁盘端口YR提供对同一虚拟磁盘YR的访问,虚拟磁盘YR是阵列Y的一段,对虚拟磁盘YR的控制和管理由AMF80Y和80YN分担。
通过建立虚拟磁盘并向该虚拟磁盘端口指配一IO端口地址则可把虚拟磁盘端口加在一控制器上。通常,虚拟磁盘必须存在于创建虚拟磁盘端口并指配给虚拟磁盘之前,但虚拟磁盘端口紧接着冗余组的创建而创。虚拟磁盘端口然后可在此后的任一时间建立,但虚拟磁盘的建立只进行一次。也可在任一时间删除虚拟磁盘端口。允许所有在端口上进行的主机操作完成。当在完成这些操作时,柜绝新的主机操作,例如,通过向主机回一未就绪状态信号。
假定多AMF80出现在每个控制器30上,则按组地组共用冗余组。如图8所示,有三组SMF,在三组AMF,Y,G和T,各自共用一阵列。不同控制器上的关联AMF彼此同步和复制,这一点将在下面作较详细的描述。例如,如图8所示,AMF80Y1和AMF80YN同步并复制(并与任一其他与阵列Y相关的AMF,例如,AMF80Y2(未示出))。类似的是,AMF80G,与AMF80GN同步并复制,而AMF80T1与AMF80TN同步并复制。另外,一控制器上的虚拟磁盘端口与其他控制器上的相关虚拟磁盘端口同步并复制。
分布同步和复制
同步和复制保证由共用一冗余组(阵列)的不同AMF执行的操作不破坏性地互相干扰(例如,不出现“碰撞”)。同步要求任一需访问一与一共用冗余组相关的资源的AMF在使用该资源前就访问权(锁定)与其他AMF仲裁。仲裁通过在PCI和/或FC ICL链路上在AMF间发送仲裁消息完成。
图9依照要发明的一实施例示出一操作的通用同步序列。在步骤110中,开始操作。例如,主机可发送一要求将数据写至一资源的请求。在步骤120,AMF判断是否已锁定所需资源。如果没有,AMF在步骤130中就对所需资源的锁定与其他AMF仲裁。一旦取得锁定(或确定AMF已有锁定),在步骤140中由AMF对该源执行所需的和。一旦AMF取得锁定,较好直到另一AMF需要该锁定(即,另一AMF就该锁定仲裁)时才释放,以帮助削减许多应用中的共用冗余组客量(SRGM)开锁。根据一施例,使用先来先得到服务仲裁方案,但基于优先权,或可以使用任一基他仲裁方案。如下文参考图18、19和20所作的较详细的描述,仲裁典型地包括向资源控制器(典型地为软件,但有时基于硬件)提出使用资源的请求。资源管理器基于所用的仲裁算法授予对该资源的访问权利。如果提出请求时资源在用,请求方要等到该资源空闲且共他所有在它之前的请求方已得到服务时。
每个AMF能够在一冗余组上搪行许多类型的操作,包括,例如,主机读,主机写,后台写,重写,重构,在线扩充,奇偶性消等等。这种操作的扩展序列取名为“进程”。进程的例子包括重构,在线扩充和奇偶性取消。所有AMF操作类型需同步仲裁以前进。一旦指定AMF完成对一资源的操作,其他AMF能够使用该资源。
较好在操作级而非进程级执行同步。也就是说,对每个将要执行的操作执行图9中所示的基本的同步序列。对于某一功能需在整个冗余组上执行的一进程(诸如重构)处理分解为一序列操作。如果每个操作在不同的资源上操作,则一操作所需资源的同步的仲裁与该进程中其他操作所需资源的同步的仲裁独立进行。在操作级而非进程级使用同步使得AMF在一处理在进行中时能共用资源。假如在进程级而非操作级执行同步,一些AMF将不得不等到整个处理完成才能使用这些资源,从而引起主机超时。
复制调节AMF失效。复制资源及其状态信息以便如果一AMF失效则通过另一有该资源及其状态信息的拷贝的AMF提供该资源及其状态信息。在某资源的更新(写)期间,修改资源和/或该资源的操作状态的考贝发送给其他共用该资源的AMF。这些其他的AMF称为复制伙伴。例如,参考图8,AMF80Y1和AMF80YN是都共用阵列Y的控制的复制伙伴。万一AMF更新资源在操作期间失效,由复制伙伴用该复制信息完成操作。
图10依照本发明的一实施例示出一操作的通用复制序列。该序列的开始是图9的基本同步序列。在步骤210中,操作开始。例如,主机可发送一要求向一资源写数据的请求。在步骤220中,AMF判断是否已有对所需资源的锁定。如果没有,在步骤320中AMF,就对所需资源的锁定与其他AMF仲裁。一旦取得锁定则可执行该操作。如图示,由AMF执行的操作分成一数目个,i个,步骤。在步骤2401中,与该资源及第一操作步骤相关的复制数据和状态信息发送给每个复制伙伴。在步骤2501中,执行该操作的第一步骤。如图10所示,和复制步骤2402至240i一样,按顺序执行后面的操作步骤2502至250i,在每个复制步骤2401至240i中,复制信息发送给与指定资源相关的复制伙伴。通常,如果AMF群集(即,共用一资源的那些AMF)内有该资源及其状态信息的N个拷贝则调节N-1个并行AMF失效,其中N定义为复制度。这样,复制信息发送给与指定资源相关的N-1年复制伙伴。
可把复制指向具体复制组或具体AMF。在一实施例中,无规定复制组地执行N向复制。在本实施例中,复制发生于群集中共用正在复制的资源的任何N-1个AMF。或者,复制执行于N-1个其他复制组。复制组是一组以复制组而非本身的组局AMF复制关键数据的AMF。这一点的例子是一组在一特理位置的控制器和在另一物理位置的另外一组控制器,每个控制器包括一或更多AMF。另一个例子是主机系统中的一组控制器与主机外部的另一组控制器。使用复制组有助于确保如果一组控制器全部失铲,其他组控制器有维护数据可靠性所必需的信息。
复制可对准具体复制组或具体AMF。一指定复制组较好地用正在复制的AMF复制组之外的任一AMF复制。然而,可用一操作者具体指明一指定复制组复制到的复制组群。而且,同步复制是较佳的复制方式,在同步复制方式中,在所有操作对象已收到复制数据后操作的完成状态信息反回主机。侯选复制方式包括异步复制和伪同步复制。在异步复制方式中,传送复制数据前操作的完成状态信息返回到主机。在伪同步复制方式中,传送复制数据之后但在所有复制对象角认接收数据之前,操作的完成状态信息返回到主机。
依照本发明,多AMF能够并行读一资源。也就是说,多读锁可在住一时间未认可。然而,只调节一个一次写入该资源的AMF。允许多AMF同时读一资源大大改进读性能。如果一AMF正向该资源写,不允许其他AMF读该资源。同步协议允许并加强这一方面。
图11a依照一发明的一实施例示出当冗余组(RG)在正常,非降级方式时读操作的通用序列流程。“非降级”通常指冗余组中的所有驱动器操作的情况,而“降级”通常指冗余组中的一或更多驱动器已失效的情况。在步骤310中,读操作开始。例如,AMF接收来自主机的读一特别资源的请求。在步骤320中,需要锁定该特别资源。这基本上与图9的步骤120和130相同。在较佳方面,多锁可未认可。这使多AMF能并行读一资源。
图11b依照本发明的一实施例示出当冗余组(RG)在降级方式时读操作的通用序列流程。在步骤10中,读操作开始。例如,AMF接收来自主机的,读一特别资源的请求。在步骤320中,需要锁定该特别资源。一旦取得锁定,在降级读方式,AMF在步骤340读来自该特别资源的数据和奇偶性,并在步骤350再生任何丢失的数据。在步骤360中,该数据(再生的)传送到发出读请求的主机。
图12依照本发明的一实施例示出写操作的用来以流水线方式复制入局主机数据的通用序列流程。流水线化复制数据有助于最小化复制等待时间,在步骤410中,操作开始,例如,主机发出向一或更多资源写一或更多数据块的写命令。在步骤420中,从主机接收该主机命令并进行语法分析。该主机命令作为一序列数据集进行处理。在步骤430中,取得对开始块集的适当的锁定。在步骤440中,开始块集从主机传送给AMF。在步骤450中,开始开始集的块集复制。AMF不等块集复制完成;AMF立即判断是否还有块集需要在步骤460处理。如果有,AMF立即开始取得适当的锁定以得到步骤430中的下一块集,并为下一块集重复步骤440、450和460,如果已接收并处理所有块集,AMF等待所有复制操作在步骤470中完成。当每个操作完成时AMF在步骤480中向主机发送状态。
图13a依照本发明的一实施例示出当冗余组(RG)在正常,非降级方式时写操作的通用序列流程。在步骤510中,开始操作。例如,主机发出向一资源写数据的写命令。步骤520是如图9所示的取得对所需资源同步锁定的过程。在本例中该资源是一条状写锁,但亦可是其他任一由具体操作所需的锁定。取得条状写锁后,在步骤530中AMF读来自RG的磁盘的老数据和奇偶性。
和步骤530的磁盘读操作并行,在步骤540中,AMF向其复制伙伴发送该资源的状态通知信号。复制伙伴包括该AMF复制该特别资源的状态信息和数据朝向的全部其他AMF。如果N是复制度则复制伙伴的数目等于N-1。较好的是,复度N是1至8,但N可是所需的任一数目。状态通知信号是一“开始更新”类型信号,告诉复制伙伴条状更新已始。复制伙伴需道该信息,因为万一写AMF在完成操作前失效,复制伙伴将负责清理。
一旦“开始更新”通知步骤530和读老数据及奇偶性步骤540完成,AMF在步骤550中向RG存储磁盘写新数据。和新数据写步骤550并行的是步骤560中新奇偶性的生成。此后,在步骤570中AMF向RG存储磁写新奇偶性。一旦奇偶性写操作完成,AMF在步骤580中向其复制伙伴发送一“停止更新”通知,一收到该通知,复制伙伴释放其与条状更新相关的状态数据。
图13b依照本发明的一实施例示出当图13a所示的AMF更新条在完成更新前失效时恢复过程的通用序列流程。当AMF更新条在完成更新前失效时,复制伙伴承担从失效更新操作中恢复的责任。在步骤610中,当一或更多复制伙伴AMF检测到失效或得知失效时恢复操作开始,复制伙伴在步骤620中为条锁的所有权仲裁,赢得该仲裁的AMF(恢复AMF)负责执行失效更新操作的恢复。
失效通知典型地来自于控制器间链路(ICL)部件。如果一控制器失效,该控制器上的AMF和与其共用该冗余组的其他AMF失去通信。ICL周期性地向与其共用该冗余组的所有其他AMF发送一“砰”消息。如果没有AMF对该强制回应消息作出响应,则发送该强制回应消息的AMF认为AMF已失效开始恢复行动。如果ICL在向目的地AMF发送同步或复制消息时遭遇传送失效也引发恢复。
恢复过程包括两基本步骤:重新计算条奇偶性及重写数据。在步骤630中,恢复AMF读受失效更新操作影响的条段的所有数据。和数据读步骤630并行,恢复AMF在步骤640中向它的所有复制伙伴指配一或更多新复制伙伴并发送一“开始更新”通知。当数据读操作完成,恢复AMF在步骤650中生成新奇偶性,该新奇偶性计算不包括新数据,只是RG存储磁盘上数据的奇偶性再生。
一旦奇偶性生成步骤650和“开始更新”通知步骤640完成,恢复AMF在步骤660中向RG存储磁盘写新奇偶性。在奇偶性写步骤660完成后,恢复AMF在步骤670中向复制伙伴发送一“结束更新”通知。在一些时间间隔后,高速缓存写回调度算法在步骤680中使一复制伙伴向RG存储磁盘写新数据,这是图13a所示的一正常(非恢复方式)条更新操作。高速缓存功能是AMF的一部分。
图14a依照本发明的一实施例,示出当冗余组(RG)在降级(有一失效驱动)方式时写操作的流程。该序列类似于图13a所示的非降级情况的序列,包括下面将描述的再生步骤744和复制步骤746。
在步骤710中,操作开始,例如,主机发出向一资源写数据的写命令。步骤720是图9所示的取得对所需资源的同步锁定的过程。在此例中该资源是一条写锁,但也可是特别操作所需的任一其他锁,在取得条写锁后,AMF在步骤730中读来自RG的磁盘的老数据和奇偶性。
与步骤730的磁盘读操作并行,在步骤740中,AMF向其复制伙伴发送一该资源的状态通知信号。复制伙伴包括该AMF复制该特别资源的状态信息和数据朝向的所有其他AMF。状态通知信号是一“开始更新”类型信号,告诉复制伙伴条更已开始。复制伙伴需要知道该认息,因为万一写AMF在完成操作前失效复制伙伴将负责清理。一旦读老数据和奇偶性步骤540完成,AMF在步骤744中再生失效磁盘上的数据。在步骤746中,老数据,包括再生数据,复制到复制伙伴。万一更新AMF在完成操作前失效,把这些数据复制复制伙伴对恢复而言是必要的。
一旦复制步骤746完成,步骤750中新数据写给RG存储磁盘。和新数据写步骤750并行的是步骤760中的新奇偶性的生成。此后,在步骤770中AMF向RG存储磁盘写新奇偶性。一旦奇偶性写操作完成,AMF在步骤780中向其复制伙伴发送一“结束更新”通知。一收到此通知,复制伙伴释放与条更新相关的状态数据。
图14b依照本发明的一实施例示出当图14a所示的AMF更新条在完成更新前失效时恢复过程的通用序列流程。该情况与图13b所示的非降级恢复情况不同的是:恢复AMF使用复制的老数据得检受该更新AMF失效影响的RG磁盘段。当AMF更条在完成更新前失效时,复制伙伴承担从失效更新操作恢复的责任。在步骤810中,当一或更多复制伙伴AMF检测到失效或收到例如由主机所发的失效通知时,恢复操作开始。在步骤820中复制伙伴就条锁的所有权仲裁。赢得该仲裁的AMF(恢复AMF)负责执行失效更新操作的恢复。
在步骤830中,从由图14a的复制步骤746所供的老数据中生成新奇偶性,与步骤830并行,在步骤840中恢复AMF向它的所有复制伙伴指配一或更多新复制并发送一“开始更新”通知,在步骤850中,向磁盘写老数据。在步骤860中,通知复制伙伴已把老数据写回至磁盘。复制伙伴现在可废弃它们对老数据的拷贝。在此之后,恢复序列同非降级恢复序列。特别的是,在步骤870中要向RG存储磁盘写的新奇偶性。在奇偶性写步骤870完成后,恢复AMF在步骤880中向复制伙伴发送一“结束更新”通知。在一些时间间隔后,在步骤890中高速缓存写回调度算法使一复制伙伴向RG成员磁盘写新数据,这是图13a所示的一正常(非恢复方式)条更新操作。
分布重构
图15依照本发明的一实施例,示出后台重构过程的通用序列流程。每个操作开始于步骤910,在步骤920中取得适当的锁定,本例中是条锁。在步骤930中,AMF读条的数据和奇偶性。在步骤940中,AMF再生丢失的数据,而在步骤950中向替换磁写数据。写数据之后,在步骤960中AMF更新映射表以反映,原本映射到失效磁盘的块现在映射到替换磁盘这样一个事实。映射表向RG成员磁盘和这些磁盘上的块映射主机逻辑块。在步骤970中,判断是否还有条需重构。只要还有需要构到替换磁盘上的条,该序列例重复。
本发明的共用冗余组管理(SRGM)技术的一个优点是:SRGM允许对所有共用一RG的AMF的分布重构处理。这样的结果是:较快的重构时间,及主机在重构期间通常遇到的响应时间增加的量的普遍减少。分布重构通过使共用一RG的AMF的一子集(或全部)就哪些条将各自负责重构进行协调而完成。如果有一些AMF在重构期间失效或停工,剩下的AMF重新仲裁重构责任。例如,假设有N个共用一冗余级组的AMF需要重构。这些AMF互相交谈(通过发送消息)并确定哪些AMF将参加重构,例如,N的一个子集,用M表示。这些M个AFM通过确定哪些AMF将重构哪一条或哪些条确定重构责任。这可利用任一算法确定。在本发明的一实施例中,例如,每个AMFi重构条Mo(s/i),其中S是条号。
分布RG扩充
正如重构较好地分布在共用一RG的AMF的一子集间,RG扩充也是如此,RG扩充是对一现有RG增加驱动成员。SRGM的一独特优点在于:允许扩充处理分布给所有共用一RG的AMF。这样的结果是:较快的扩充时间,及主机在扩充期间通常遇到的响应时间增加的量的普遍减少。
分布扩充通过使共用一RG的AMF的一子集(或全部)就它们将负责扩充哪些条进行仲裁而完成。如果有一些AMF在扩充期间失效或停工,其余的AMF重新仲裁充责任。例如,假设有N个共用一冗余组的AMF需扩充。这些AMF互相交谈(通过发送消息)并确定哪些AMF将参加扩充,例如,N的一个子集,表示为M。这些M个AMF通过确定哪些AMF将扩充哪一条或哪些条确定扩充责任。这可用任一算法确定。在本发明的一实施例中,例如,每个AMFi扩充Mod(s/i),共中S是条号。
图16依照本发明的一实施例示出后台扩充过程的通用序列流程。该过程始于步骤1010,适当的条锁定在步骤1020中获得。扩充情况与前面的例子不同的是:必须取得多锁定,一扩充操作将涉及2或更多的条。一个条是条宽将从W增加到W+N的扩充条。涉及的其他条是含有将从这些条迁移到该扩充条的主机数据条。
在步骤1030,读要扩充的条上的数据。在步骤1040中,复制这些数据以便如果该操作在完成前失效,复制伙伴能够在失效后进行清理且继续该扩充过程,与步骤1030及1040并行,在步骤1015中,读含有将迁移到该扩充的条的数据的源数据条。步骤1040和1045完成后,在步骤1050中AMF通知它的复制伙伴:它正开始扩充条更新,并行地,在步骤1055中,AMF生成该扩充条的奇偶性信息。
通知开始更新完成后,在步骤1060中将该扩充条的数据写到磁盘。一旦奇偶性生成步骤1055和通知开始更新步骤1050完成,在步骤1080中AMF通知其复制伙伴:更新完成。复制伙伴然后更新其映射表以及映增加条宽和迁移的主机数据。复制伙伴还丢弃在步骤1040中复制的数据。映射表向RG成员磁盘及这些磁盘上的块映射主机逻辑块。
在步骤1090中,确定是否还有由该AMF扩充的条。如果有,则重复该序列。只要还有条需扩充以利用新RG成员磁盘的容量,该序列重复。注意这是过程——成其为过程的是,步骤1090中产生的环路。步骤1020到1090包含一操作。
消息集聚
人们对SRGM关心的一个问题是与用来支持SRGM的同步和复制相关的处理开销及IO信道负载。为使同步及复制技术简便,较好使用ICL(控制器间链路)消息集聚。消息集聚是,大体上,一种把发往一群集节点(即,一控制器,其中可驻留许多AMF)的许多小消息组合成一个大消息包并把它作为一个消息发送给该节点的算法。这极大地减少处理开锁及IO信道负载,并与局一群集节点发送单独消息的方法形成对比。
图17a说明无本发明的消息聚技术的AMF通信。如图所示,一AMF集1100和一控制器间链路(ICL)实体1105构成一SRGM节点1110。节点典型地是诸如控制器的一硬件实体。ICL1105是负责一AMF到另一AMF的路由同步和复制消息1120的一软件实体。如图17a所示,许多相似的节点中只有一个占SAN1130连接。
节点1110中的AMF1100正在共用同一冗余组的其他节点上的其他AMF收发同步和复制消息。节点1100内的每个AMF生成独立的同步和复制消息流,全部发往SAN 1130上的一或更多其他节点,正由一AMF收发的消息独立于正由同一节点上其他AMF收发的消息。如图17a所示,三个AMF1100正向其他节点上的AMF发送总共九个消息。而且,没有消息集聚,由一SAN节点中的所有AMF生成的所有同步和复制消息都通过该SAN单独地处理和发送。每个消息带来一固定数量的处理开涣,而不问大小。
图17b说明有本发明的消息集聚技术的AMF通信。消息集聚是把发往一节点的许多较小的消息在一起以形成一较大的消息。该较大消息可通过SAN1130作为一个消息发送并在接收节点上解压为单独的消息。例如如图所示,九个消息1120要发往三个不同的节点。在此例中,如果使用消息集聚,ICL1105只需发送三个消息1150——每个节点一个(不计自身)。ICL1105承担压缩和解压单独AMF消息的责任。
仲裁和分布式资源中裁
图18a依照本发明说明当AMF请求锁定一资源时的一基本仲裁过程。AMF1200和AMF1210各自请求锁定一资源,锁定请求在一仲裁队列1205中排队。当一请求置于仲裁队列1205中时一AMF的仲裁过程开始。按某一顺序处理该请求,按优先级顺序满足所有请求。通过任一广为人知的算法(例如,FIFO,LIFO)建立请求队列优先级。每个请求AMF必须等到处理其请求以取得锁定。每个AMF在成功完成仲裁过程时获得对资源的锁定,如果仲裁失效则AMF不能锁定该资源。
图18b依照本发明说明广义仲裁过程的通用过程流程。仲裁包括协调两AMF间的资源锁定传送:请求AMF1225和有资源锁定的AMF1230。AMF1225向判优器1220(执行仲裁过程的实体)发送一请求锁定消息,判优器1220让该消息排队到由判优器1220的优先级算法确定的一时间。适合时,判优器1220通过向目前有资源锁定的AMF1230发出一释放锁定消息处理该请求。一旦到AMF1230能安全地不继续使用该资源时,AMF1230便释放锁定并通知判优器1220锁定释放。判优器1220接着发信号给请求MF1225告诉已授予资源锁定。AMF1225继续保持该锁定直到判器1220要求它释放该资源。
当一或更多AMF请求对一资源的读锁时优化仲裁队列是有可能的。在较好方面,在这些情形中仲裁过程同时授予读锁,只要保持命令顺序。
一AMF(或控制器)管理冗余组群集中一资源的仲裁过程,该AMF称为资源仲裁器。可用多种方法(例如,所有资源的单一仲裁器,负载平衡分配,等等)中的任何一种完成一资源的仲裁器的指配。依照本发明,较佳的仲裁指配方法基于控制器数目和资源范围。对有一个或两个AMF的群集配置,指配的仲裁器是有写锁的最后的AMF。对有多于两个AMF的群集配置,仲裁器指配根据基于AMF数量及资源位置(例如,条ID,块ID,等等)的固定映射算法。
图19说明群集配置的两AMF间就单一资源的一简化仲裁过程。第一AMF1300(AMF#1)向第二AMF1310(AMF#2)发出对一资源的读锁请求1320,AMF1310目前有对该资源的写锁。AMF#2向AMF#1发出一授锁(读)消息1330,表示已授予资源锁定。AMF#1现在有对该资源的读访问。当AMF#1向AMF#2发出一写锁请求1340时该序列继续。AMF#2响应以一授锁(写)消息1350。继续地,AMF#1发出一读锁请求1360,而由于AMF#1已有写锁。它便处理自身的仲裁并使写锁降级为读锁,接下来,AMF#2此时没有对该资源的锁定,所以它无需通知。AMF#2向AMF#1发出一读锁请求1370,AMF#1立即用一授锁(读)消息1380响应,因为该资源支持多读锁。对于两AMF的群集配置,当有一写锁的AMF在请求一读时不需要与其他AMF仲裁。在所有其他情况中,第二AMF必须仲裁锁定。
图20根据本发明说明的一包括四个AMF的群集的示例资源仲裁序列。含有三个或更多AMF的群集的较佳仲裁器指配方法是用一固定的晨射算法选择仲裁器。这样有把一仲裁器与单一AMF永久粗连的效果。万一AMF资源仲裁失效,则根据该射算法重新指配资源仲裁器。
参考图20,第一AMF1400(AMF#1)向第三AMF1410(AMF#3)上的资源X仲裁器发出一写锁请求1420。AMF#3上的仲裁器向第二AMF1405(AMF#2)发出一释放锁定请求1422以释放它对资源X的锁定。当资源X的锁请求1420在进行时,AMF#1发出资源Y的读锁请求1424。第四AMF1415(AMF#4)是资源Y的指配仲裁器。AMF#4立即授予一读锁1426,因为其他AMF目前无锁定。接下来,AMF#4发出资源X的一写锁请求1428,AMF#3上的仲裁器把它排在队列中,因为它目前正在处理写锁请求1420。
AMF#2向AMF#3发送一锁释放消息1430,AMF#3向AMF#1发送一授锁(写)消息1432。一表示AMF#1在结束时应释放该锁定的标识嵌入在授锁消息1432中。这种优化不需要AMF#3向AMF#1发送一释放锁定消息。当对资源X完成时,AMF#1向AMF#3发送一锁释放消息1434,AMF#3向AMF#4(接下来排队等对资源X的写锁)发送一授锁消息1436。
以请求锁定(读)消息1440开始的序列显示出一多读锁情况。除授锁(读)消息1442外,AMF#2和AMF#1有对资源Y的同时读锁。由AMF#3发送的写锁请求1444使AMF#4分别向AMF#2和AMF#1发出释锁消息1446和1448,结果是,锁释放消息1450和1852都发送给AMF#4。在AMF#4授锁给AMF#3之前,AMF#2.1发送一请求读锁消息1454,AMF#4把它排入队列中。AMF#3接收资源Y的授写锁消息1456,内有一表示它在结束时应该释放该锁定的标志。当对资源Y完成时AMF#3发出一锁释放消息1458。AMF#4然后发出一授锁(读)消息1460,通知AMF#1它已取得对资源Y的读锁。
这种锁定管理方法的一个好处在于:AMF间发送的消息数只是锁定未认可数的一个函数。在群集配置中它不依赖于AMF数。扩展两控制器群集配置的第一种方法,例如如图19所示,以支持多于三个控制器将使仲裁消息数随群集配置中的AMF数增长。有可能有其他仲裁优化方法,但这两种方法说明了本发明的较佳
实施例。
资源预取
在本发明的较佳实施例中,资源仲裁通过锁定预取的使用也得到优化。一AMF在就一锁定仲裁时可确定另外的预取资源。如果全部或一些预取资源未锁定,判定器也将为AMF锁定它们。这样,当AMF请对这些预取资源锁定时,(在某后来的时间)它能快速获得锁定(因为它已有该锁定)。
尽管通过例子并以具体实施例的形式描述了本发明,应该理解的是,本发明不限于所揭示的实施例。相反,本发明覆盖对本领域中的熟练人员而言显而易见的各种修改和类似的安排。因此,所附权利要求的范围应给予最大范围的理解经包含所有这种修改和类似的安排。

Claims (38)

1、一数据存储系统,它包含;
包括大量资源的一冗余组;
共用对该冗余组的访问的两或更多阵列管理功能(AMF),其中,AMF为关联主机系统提供对该冗余组的并行访问;以及
用来连接AMF与该冗余组的一互连媒体;
其中,当第一AMF要求对该冗余组中的第一资源执行行操作,第一AMF为对该第一资源的锁定与共同对该冗余组的访问的其他AMF仲裁,因此第一AMF在第一资源上执行操作并向其他AMF并行发送与第一资源相关的复制数据和状态信息使得如果第一AMF在执行操作时失效,其他AMF中的一个能完成操作。
2、如权利要求1所述的数据存储系统,其中,直到第二AMF为对第一资源的锁定提出仲裁第一AMF才释放对第一资源的锁定。
3.如权利要求1所述的数据存储系统,其中,如果第一AMF失效,其余的AMF为第一资源的锁定提出仲裁,因此第二AMF取得锁定并完成该操作。
4、如权利要求1所述的数据存储系统,其中,由第一AMF在第一资源上执行的操作包括在量步骤,其中,第一AMF在该资源上执行该操作的每个步骤,并对每个步骤而言向其余的AMF并行发送与第一资源相关的复制数据和状态信息,使得如果第一AMF在执行该操作的任一步骤时失效,其余AMF中的一个能够完成该操作。
5.如权利要求1所述的数据存储系统,其中,一或更多主机系统与通过一互连媒体,一Internet连接和一外设部件互连总线这三者中的一个与第一AMF通信。
6.如权利要求1所述的系统,其中,互连媒体包括一SCSI接口,一光纤信道接口,一存储区域网和一光纤信道存储区域网中的至少一个。
7、如权利要求1所述的系统,其中,每个AMF在一控制器,一主机总线适配器和一主机计算机这三者中的一个中执行。
8、在数据存储系统中,一种在两或更多阵列管理功能(AMF)间动态共用对一冗余组的管理的方法,其中,AMF能并行访问该冗余组,该冗余组包括大量资源,该方法包含以下步骤:
从主机接收由第一AMF执行对第一资源的第一操作的请求。
与其他AMF同步以取得对第一资源的访问,以及
与第一AMF在第一资源上执行第一读操作并行地,由第三AMF在第一资源上执行第二读操作。
9.如权利要求8所述的方法,其特征在于第一操作为读取操作,所述方法进一步包含以下步骤:
由AMF中的第二个从主机接收请求以完成第一资源上的第二读取操作;以及
在第一AMF于第一资源上完成第一读取操作的同时由第二AMF在第一资源上完成第二读取操作。
10、如权利要求8所述的方法,其中,同步这一步骤包括与一或更多其他AMF仲裁取得对第一资源的锁定以便在第一AMF维护锁定时其他AMF不能访问第一资源这一步骤。
11、如权利要求10所述的方法,还包含只有当只一AMF就锁定仲裁时才释放对第一资源的锁定这一步骤。
12、如权利要求8所述的方法,还包含与执行第一操作这一步骤并行地向其他AMF发送与第一资源相关的复制数据和状态信息这一步骤,使得如果第一AMF失效,其他AMF中的一个能完成第一操作。
13、如权利要求12所述的方法,其中,如果第一AMF在执行第一操作时失效,该方法还包含用第二AMF完成第一操作这一步骤。
14、如权利要求13所述的方法,其中,完成第一操作这一步骤包含第二AMF与其他AMF同步以取得对第一资源的访问这一步骤。
15、如权利要求8所述的方法,其中,第一操作包括大量子操作,其中,执行第一操作这一步骤包括在第一资源上执行每个子操作,该方法还包括与每个子操作的执行并行地,向其他AMF发送与第一资源相关的复制数据和状态信息,使得如果第一AMF失效,其他AMF中的一个能完成第一操作。
16、如权利要求8所述的方法,还包含以下步骤:
接收一来自于第二主机的,由第二AMF在第二资源上执行第二操作的请求。
和第一AMF及其他AMF同步以取得对第二资源的访问;以及
在第二资源上执行第二操作。
17、如权利要求16所述的方法,其中,与第一操作的执行并行地执行至少一部分第二操作。
18、一种数据存储网络系统,它包含:
一或更多冗余组,每个冗余组包括分布在多磁盘上的我资源;
共用一或更多冗余组的冗余组管理的两或更多阵列管理功能(AMF),其中,AMF能并行访问一或更多冗余组;以及
用来互连AMF和一或更多冗余组的一互连媒体。
19、如权利要求18所述的系统,其中,第一冗余组包括一替换磁盘,其中,如果第一冗余组中有一个磁盘失效,至少有两个AMF都就控制该第一冗余组上的一或更多资源仲裁,使得这至少两AMF都能用替换磁盘并行地重构第一冗余组。
20、如权利要求18所述的系统,其中,如果第一冗余组上再加一磁盘,至少有两个AMF都就控制该第一冗余组上的一或更多资源仲裁,使得这至少两AMF都能用该附加磁盘并行地扩充该冗余组。
21、如权利要求18所述的系统,其中,第一AMF从主机接收一向两或更多资源写至少两数据集的写命令,其中,第一AMF取得对第一数据集将写入的第一资源的锁定,向第一资源写第一数据集并并行地执行一复制操作,其中,与第一资源相关的复制数据和状态信息发送给其他AMF。使得如果第一AMF在执行写操作时失效,其他AMF中的一个能够完成该写操作。
22、如权利要求21所述的系统,其中,与发送复制数据和状态信息并行,第一AMF判断是否向第二资源写第二数据集,如果是则取得对该第二资源的锁定,向第二资源写第二数据集且并行地执行第二复制操作,其中,与第二资源相关的复制数据和状态信息发送给其他AMF,因此,第一AMF等到所有复制操作已完成才向主机发送状态信息。
23、如权利要求18所述的系统,其中,每个AMF包括一用来流水线复制入局主机数据的方法。
24、如权利要求书18所述的系统,还包含两或更多控制器。每个控制器执行两或更多AMF中的至少一个,其中,每个AMF通过一互连媒体和一或更多外设部件互连总线中的一个彼此通信,其中,该系统还包括一用来集聚消息的方法,其中,收信方是一控制器的许多小消息组合在一起并作为一个消息向该控制器发送。
25、如权利要求18所述的系统,其中,互连媒体包括一SCSI接口、一光纤信道接口,一存储区域网和一光纤信道存储区域网。
26、一种当一冗余组的一个磁盘在一含有两或更多与该冗余组互连的阵列管理功能(AMF)的数据存储网络系统中失效时用来重构该冗余组的方法,其中,该冗余组包括分布在多磁盘上的多资源,其中,该冗余组还包括一替换磁盘,其中,AMF全部共用对该冗余组的管理,其中,AMF能并行访问该冗余组,该方法包含以下步骤
由第一AMF就控制第一资源促裁;
由第二AMF就控制第二资源仲裁,以及
用该替换磁盘并行地重构第一和第二资源。
27、一种当在一包含两或更多与一冗余组互连的阵列管理功能(AMF)的数据存储网络系统中的该冗余组上加一附加磁盘时用来扩弃该冗余组的方法,其中,该冗余组包括分布在多磁盘上的多资源,其中,AMF全部共用对该冗余组的管理,而且其中,AMF能并行访问该冗余组,该方法包含以下步骤:
第一AMF就控制第一资源仲裁;
第二AMF就控制第二资源仲裁,以及
用该附加磁盘并行地扩充第一和第二资源。
28、一种在一包含一与两或更多阵列管理功能(AMF)互连的冗余组的数据存储网络系统中流水线复制入局主机数据的方法,其中,该冗余组包括分布在多磁盘上的多资源,其中,该冗余组包括分布在多磁盘上的多资源,其中,AMF全部共用对该冗余组的管理,并且其中,AMF能并行地访问该冗余组,该方法包含以下步骤:
第一AMF从主机接收从主机接收一向两或更多资源写至少两数据集的写命令;
第一AMF取得对第一数据集将写入的第一资源的锁定;
向第一资源写第一数据集;以及并行地
扩行第一复制操作,其中,与第一资源相关的复制数据和状态信息发送给其他AMF,使得如果第一AMF在执行写操作时失效,其他AMF中的一个能完成该写操作。
29、如权利要求28所述的方法,还包含以下步骤:
和执行第一复制操作并行地,判断是否向第二资源写第二数据集,以及如果是
取得对第二资源的锁定;
向第二资源写第二数据集;以及并行地
执行第二复制操作,其中,与第二资源相关的复制数据和状态信息发送给其他AMF,以及此后
在所有复制操作完成后向主机发送状态信息。
30、在一数据存储系统中,一种在两或更多阵列管理功能(AMF)间动态共用对一冗余组的管理的方法,其中,AMF能并行访问该冗余组,该冗余组包括大量资源,该方法包含以下步骤:为第一资源确定一判定器AMF,其中,判定器AMF是两或更多共用对该冗余组的管理的AMF之一,而且其中,判定器AMF能授予以第一资源的锁定;
把来自第一AMF的锁定请求传送给请求对第一资源锁定的判定器AMF;以及
一旦对第一资源的锁定已由判定器AMF授予则第一AMF执行在第一资源的操作。
31、如权利要求30所述的方法,其中,第二AMF有对第一资源的锁定,该方法还包含以下步骤:
判定器AMF向第二AMF发出释放锁定请求。
把锁定释放消息从第二AMF传递给判定器AMF;以及此后
向第一AMF授予对第一资源的锁定以便第一AMF能执行该操作。
32、如权利要求30所述的方法,其中,当第一AMF传送锁定请求时其他AMF没有对第一资源的锁定,该方法还包含以下步骤:
立即向第一AMF授予对第一资源的锁定以便第一AMF能执行该操作。
33、如权利要求30所述的方法,其中,第一AMF请求的锁定是写锁,而且其中,一旦授予锁定,只到第一AMF释放该写锁其他AMF才能取得对第一资源的锁定。
34、如权利要求30所述的方法,其中,第一AMF请求的锁定是读锁,而且其中,其他任一AMF能并行地获得对第一资源的读源,使得多AMF可并行读第一资源。
35、如权利要求30所述的方法,其中,确定判定器AMF这步骤包括基于共用第一资源的AMF数量和第一资源的位置这两者中的至少一个指配两个或更多AMF中的一个作为第一资源的判定器AMF。
36、如权利要求35所述的方法,还包括如果起先的判定器AMF失效则重新指配两或更多AMF中的不同的一个作为第一资源的判定器AMF。
37、如权利要求30所述的方法,其中,确定判定器AMF这一步骤包括指配最后有地第一资源的写锁定的AMF作为判定器AMF。
38、如权利要求30所述的方法,其中,判定器能授予对一或更多预取资源的锁定,其中,该方法还包括以下步骤。
第一AMF指定第一预取资源,和请求对第一资源的锁定并行地;以及
如果第一预取未尚锁定则向第一AMF授予对第一预取资源的锁定,使得第一AMF以后请求锁定时已有对第一预取资源的锁定。
CN00804532.1A 1999-03-03 2000-02-08 用来实现共用磁盘阵列管理功能的方法和系统 Expired - Lifetime CN100489796C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/261,906 1999-03-03
US09/261,906 US6148414A (en) 1998-09-24 1999-03-03 Methods and systems for implementing shared disk array management functions

Publications (2)

Publication Number Publication Date
CN1350674A true CN1350674A (zh) 2002-05-22
CN100489796C CN100489796C (zh) 2009-05-20

Family

ID=22995391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN00804532.1A Expired - Lifetime CN100489796C (zh) 1999-03-03 2000-02-08 用来实现共用磁盘阵列管理功能的方法和系统

Country Status (12)

Country Link
US (3) US6148414A (zh)
EP (2) EP1171820B1 (zh)
JP (1) JP2002538549A (zh)
KR (1) KR20020012539A (zh)
CN (1) CN100489796C (zh)
AT (2) ATE431589T1 (zh)
AU (1) AU3358600A (zh)
CA (1) CA2363726C (zh)
DE (2) DE60042225D1 (zh)
NZ (1) NZ513789A (zh)
TW (1) TW468107B (zh)
WO (1) WO2000052576A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1315056C (zh) * 2004-03-25 2007-05-09 株式会社日立制作所 存储系统
CN100345100C (zh) * 2004-11-22 2007-10-24 国际商业机器公司 设置信息存储和提取系统内交换域的信号率的装置和方法
CN100373354C (zh) * 2005-01-20 2008-03-05 英业达股份有限公司 识别磁盘高速缓存内容有效性的资料存取方法
CN100378672C (zh) * 2002-06-24 2008-04-02 网络装置公司 在raid数据重建和转移中使用文件系统信息
CN100388176C (zh) * 2003-07-14 2008-05-14 国际商业机器公司 从冗余阵列中检索多路径数据
CN100405313C (zh) * 2005-07-22 2008-07-23 鸿富锦精密工业(深圳)有限公司 链接控制卡测试系统及方法
CN100452673C (zh) * 2004-02-16 2009-01-14 上海欣国信息技术有限公司 数字话务台
CN102129400A (zh) * 2010-12-29 2011-07-20 成都市华为赛门铁克科技有限公司 存储系统连接配置方法、设备及其存储系统
CN102209097A (zh) * 2010-03-31 2011-10-05 英业达股份有限公司 储存局域网络的储存资源的调配系统
CN102349053A (zh) * 2009-01-09 2012-02-08 网络存储技术公司 用于冗余性保护的聚集体的系统和方法
CN102684293A (zh) * 2004-01-23 2012-09-19 美国能量变换公司 提供不间断电能的方法及其设备
CN105677499A (zh) * 2015-12-29 2016-06-15 曙光信息产业(北京)有限公司 基于硬件的超时管理平台
CN103838515B (zh) * 2012-11-23 2016-08-03 中国科学院声学研究所 一种服务器集群访问调度多控制器磁盘阵列的方法及系统
CN109089255A (zh) * 2017-06-14 2018-12-25 中国移动通信有限公司研究院 用户位置通知控制方法、装置、系统、设备及存储介质

Families Citing this family (229)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7389312B2 (en) * 1997-04-28 2008-06-17 Emc Corporation Mirroring network data to establish virtual storage area network
JP3360719B2 (ja) * 1998-06-19 2002-12-24 日本電気株式会社 ディスクアレイクラスタリング通報方法およびシステム
US6148414A (en) * 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions
JP2000187561A (ja) * 1998-12-24 2000-07-04 Hitachi Ltd 記憶装置システム
JP4294142B2 (ja) * 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
US6397350B1 (en) * 1999-02-19 2002-05-28 International Business Machines Corporation Method of providing direct data processing access using a queued direct input-output device
US6449731B1 (en) * 1999-03-03 2002-09-10 Tricord Systems, Inc. Self-healing computer system storage
US7266706B2 (en) * 1999-03-03 2007-09-04 Yottayotta, Inc. Methods and systems for implementing shared disk array management functions
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
US6446141B1 (en) 1999-03-25 2002-09-03 Dell Products, L.P. Storage server system including ranking of data source
US6640278B1 (en) * 1999-03-25 2003-10-28 Dell Products L.P. Method for configuration and management of storage resources in a storage network
US6553408B1 (en) * 1999-03-25 2003-04-22 Dell Products L.P. Virtual device architecture having memory for storing lists of driver modules
US6654830B1 (en) 1999-03-25 2003-11-25 Dell Products L.P. Method and system for managing data migration for a storage system
IE20000203A1 (en) * 1999-03-25 2001-02-21 Converge Net Technologies Inc Storage domain management system
US6341328B1 (en) * 1999-04-20 2002-01-22 Lucent Technologies, Inc. Method and apparatus for using multiple co-dependent DMA controllers to provide a single set of read and write commands
JP4461511B2 (ja) * 1999-06-09 2010-05-12 株式会社日立製作所 ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式
US6519679B2 (en) * 1999-06-11 2003-02-11 Dell Usa, L.P. Policy based storage configuration
JP2001034427A (ja) * 1999-07-23 2001-02-09 Fujitsu Ltd デバイス制御装置及び制御方法
US6961749B1 (en) * 1999-08-25 2005-11-01 Network Appliance, Inc. Scalable file server with highly available pairs
US6499058B1 (en) * 1999-09-09 2002-12-24 Motokazu Hozumi File shared apparatus and its method file processing apparatus and its method recording medium in which file shared program is recorded and recording medium in which file processing program is recorded
US6343324B1 (en) * 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
US8165146B1 (en) 1999-10-28 2012-04-24 Lightwaves Systems Inc. System and method for storing/caching, searching for, and accessing data
US6944654B1 (en) * 1999-11-01 2005-09-13 Emc Corporation Multiple storage array control
US6351776B1 (en) * 1999-11-04 2002-02-26 Xdrive, Inc. Shared internet storage resource, user interface system, and method
US20100185614A1 (en) 1999-11-04 2010-07-22 O'brien Brett Shared Internet storage resource, user interface system, and method
US6721900B1 (en) * 1999-12-22 2004-04-13 Rockwell Automation Technologies, Inc. Safety network for industrial controller having reduced bandwidth requirements
US6834326B1 (en) * 2000-02-04 2004-12-21 3Com Corporation RAID method and device with network protocol between controller and storage devices
US6772270B1 (en) * 2000-02-10 2004-08-03 Vicom Systems, Inc. Multi-port fibre channel controller
US6877044B2 (en) 2000-02-10 2005-04-05 Vicom Systems, Inc. Distributed storage management platform architecture
US20010044879A1 (en) * 2000-02-18 2001-11-22 Moulton Gregory Hagan System and method for distributed management of data storage
US7509420B2 (en) * 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed network storage
US6826711B2 (en) * 2000-02-18 2004-11-30 Avamar Technologies, Inc. System and method for data protection with multidimensional parity
EP1301865A4 (en) * 2000-03-22 2009-04-01 Yotta Yotta Inc METHOD AND SYSTEM FOR PROVIDING MULTIMEDIA INFORMATION ON DEMAND THROUGH LONG DISTANCE NETWORKS
US6490659B1 (en) * 2000-03-31 2002-12-03 International Business Machines Corporation Warm start cache recovery in a dual active controller with cache coherency using stripe locks for implied storage volume reservations
US6754718B1 (en) 2000-05-10 2004-06-22 Emc Corporation Pushing attribute information to storage devices for network topology access
US6950871B1 (en) * 2000-06-29 2005-09-27 Hitachi, Ltd. Computer system having a storage area network and method of handling data in the computer system
US6625747B1 (en) * 2000-06-30 2003-09-23 Dell Products L.P. Computer storage system and failover method
US7188157B1 (en) * 2000-06-30 2007-03-06 Hitachi, Ltd. Continuous update of data in a data server system
US7281032B2 (en) * 2000-06-30 2007-10-09 Hitachi, Ltd. File sharing system with data mirroring by storage systems
US6820171B1 (en) * 2000-06-30 2004-11-16 Lsi Logic Corporation Methods and structures for an extensible RAID storage architecture
US6928470B1 (en) * 2000-07-31 2005-08-09 Western Digital Ventures, Inc. Transferring scheduling data from a plurality of disk storage devices to a network switch before transferring data associated with scheduled requests between the network switch and a plurality of host initiators
US7392291B2 (en) * 2000-08-11 2008-06-24 Applied Micro Circuits Corporation Architecture for providing block-level storage access over a computer network
US6603625B1 (en) * 2000-09-11 2003-08-05 Western Digital Technologies, Inc. Spindle synchronizing a plurality of spindles connected to a multi-dimensional computer network
US6810491B1 (en) * 2000-10-12 2004-10-26 Hitachi America, Ltd. Method and apparatus for the takeover of primary volume in multiple volume mirroring
US6721902B1 (en) * 2000-10-12 2004-04-13 Hewlett-Packard Development Company, L.P. Method and system for providing LUN-based backup reliability via LUN-based locking
US6901451B1 (en) * 2000-10-31 2005-05-31 Fujitsu Limited PCI bridge over network
US6671773B2 (en) * 2000-12-07 2003-12-30 Spinnaker Networks, Llc Method and system for responding to file system requests
WO2002065275A1 (en) * 2001-01-11 2002-08-22 Yottayotta, Inc. Storage virtualization system and methods
US6907457B2 (en) * 2001-01-25 2005-06-14 Dell Inc. Architecture for access to embedded files using a SAN intermediate device
US6990547B2 (en) * 2001-01-29 2006-01-24 Adaptec, Inc. Replacing file system processors by hot swapping
US20020191311A1 (en) * 2001-01-29 2002-12-19 Ulrich Thomas R. Dynamically scalable disk array
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US6862692B2 (en) 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US20020178162A1 (en) 2001-01-29 2002-11-28 Ulrich Thomas R. Integrated distributed file system with variable parity groups
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file system
US6904544B2 (en) 2001-01-30 2005-06-07 Sun Microsystems, Inc. Method, system, program, and data structures for testing a network system including input/output devices
AU2002306495A1 (en) * 2001-02-13 2002-08-28 Candera, Inc. Storage virtualization and storage management to provide higher level storage services
IES20010611A2 (en) * 2001-03-08 2002-09-18 Richmount Computers Ltd Distributed lock management chip
US8270452B2 (en) * 2002-04-30 2012-09-18 Lightwaves Systems, Inc. Method and apparatus for multi-band UWB communications
US8766773B2 (en) * 2001-03-20 2014-07-01 Lightwaves Systems, Inc. Ultra wideband radio frequency identification system, method, and apparatus
US7545868B2 (en) * 2001-03-20 2009-06-09 Lightwaves Systems, Inc. High bandwidth data transport system
US7533132B2 (en) * 2001-03-21 2009-05-12 Sap Ag Parallel replication mechanism for state information produced by serialized processing
US7231430B2 (en) * 2001-04-20 2007-06-12 Egenera, Inc. Reconfigurable, virtual processing system, cluster, network and method
US7062704B2 (en) * 2001-04-30 2006-06-13 Sun Microsystems, Inc. Storage array employing scrubbing operations using multiple levels of checksums
US7017107B2 (en) * 2001-04-30 2006-03-21 Sun Microsystems, Inc. Storage array employing scrubbing operations at the disk-controller level
US6839815B2 (en) * 2001-05-07 2005-01-04 Hitachi, Ltd. System and method for storage on demand service in a global SAN environment
US6915397B2 (en) 2001-06-01 2005-07-05 Hewlett-Packard Development Company, L.P. System and method for generating point in time storage copy
US6757753B1 (en) 2001-06-06 2004-06-29 Lsi Logic Corporation Uniform routing of storage access requests through redundant array controllers
JP4232357B2 (ja) * 2001-06-14 2009-03-04 株式会社日立製作所 計算機システム
JP4175788B2 (ja) 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
US7076510B2 (en) * 2001-07-12 2006-07-11 Brown William P Software raid methods and apparatuses including server usage based write delegation
US7289499B1 (en) * 2001-07-16 2007-10-30 Network Appliance, Inc. Integrated system and method for controlling telecommunication network data communicated over a local area network and storage data communicated over a storage area network
US7239642B1 (en) 2001-07-16 2007-07-03 Network Appliance, Inc. Multi-protocol network interface card
US7404206B2 (en) * 2001-07-17 2008-07-22 Yottayotta, Inc. Network security devices and methods
US7127565B2 (en) * 2001-08-20 2006-10-24 Spinnaker Networks, Inc. Method and system for safely arbitrating disk drive ownership using a timestamp voting algorithm
US7257815B2 (en) * 2001-09-05 2007-08-14 Microsoft Corporation Methods and system of managing concurrent access to multiple resources
US7472231B1 (en) 2001-09-07 2008-12-30 Netapp, Inc. Storage area network data cache
US7330892B2 (en) * 2001-09-07 2008-02-12 Network Appliance, Inc. High-speed data transfer in a storage virtualization controller
US20030055932A1 (en) * 2001-09-19 2003-03-20 Dell Products L.P. System and method for configuring a storage area network
US7558264B1 (en) 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
US20030079018A1 (en) * 2001-09-28 2003-04-24 Lolayekar Santosh C. Load balancing in a storage network
US7185062B2 (en) * 2001-09-28 2007-02-27 Emc Corporation Switch-based storage services
US6976134B1 (en) 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
US7864758B1 (en) 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
US7707304B1 (en) 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US7421509B2 (en) * 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US7404000B2 (en) * 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US7499986B2 (en) 2001-10-04 2009-03-03 International Business Machines Corporation Storage area network methods with event notification conflict resolution
US20030154271A1 (en) * 2001-10-05 2003-08-14 Baldwin Duane Mark Storage area network methods and apparatus with centralized management
US20030149762A1 (en) * 2001-10-05 2003-08-07 Knight Gregory John Storage area network methods and apparatus with history maintenance and removal
US6996670B2 (en) * 2001-10-05 2006-02-07 International Business Machines Corporation Storage area network methods and apparatus with file system extension
US20030109679A1 (en) * 2001-10-10 2003-06-12 Green Brent Everett Flax protein isolate and production
US6880101B2 (en) * 2001-10-12 2005-04-12 Dell Products L.P. System and method for providing automatic data restoration after a storage device failure
US6545872B1 (en) 2001-10-12 2003-04-08 Compaq Information Technologies Group, L.P. Heat sink for edge connectors
US6912599B2 (en) * 2001-10-19 2005-06-28 Hewlett-Packard Development Company, L.P. Method and apparatus for sensing positions of device enclosures within multi-shelf cabinets
US6920511B2 (en) * 2001-10-19 2005-07-19 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling communications in data storage complexes
US6889345B2 (en) * 2001-10-19 2005-05-03 Hewlett-Packard Development Company, Lp. System and method for locating a failed storage device in a data storage system
US6988136B2 (en) * 2001-10-19 2006-01-17 Hewlett-Packard Development Company, L.P. Unified management system and method for multi-cabinet data storage complexes
US6895467B2 (en) 2001-10-22 2005-05-17 Hewlett-Packard Development Company, L.P. System and method for atomizing storage
US6931487B2 (en) * 2001-10-22 2005-08-16 Hewlett-Packard Development Company L.P. High performance multi-controller processing
US8046469B2 (en) * 2001-10-22 2011-10-25 Hewlett-Packard Development Company, L.P. System and method for interfacing with virtual storage
US6883065B1 (en) * 2001-11-15 2005-04-19 Xiotech Corporation System and method for a redundant communication channel via storage area network back-end
US7194656B2 (en) * 2001-11-28 2007-03-20 Yottayotta Inc. Systems and methods for implementing content sensitive routing over a wide area network (WAN)
JP2003162377A (ja) * 2001-11-28 2003-06-06 Hitachi Ltd ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法
US6732201B2 (en) * 2001-12-17 2004-05-04 Lsi Logic Corporation Hardware speed selection behind a disk array controller
US7159080B1 (en) * 2001-12-20 2007-01-02 Network Appliance, Inc. System and method for storing storage operating system data in switch ports
US7650412B2 (en) 2001-12-21 2010-01-19 Netapp, Inc. Systems and method of implementing disk ownership in networked storage
US7296068B1 (en) 2001-12-21 2007-11-13 Network Appliance, Inc. System and method for transfering volume ownership in net-worked storage
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
US7093043B2 (en) 2001-12-27 2006-08-15 Hewlett-Packard Development Company, L.P. Data array having redundancy messaging between array controllers over the host bus
EP1429249A3 (en) * 2002-01-04 2009-09-09 Egenera, Inc. Virtual networking system and method in a processing system
US7281044B2 (en) * 2002-01-10 2007-10-09 Hitachi, Ltd. SAN infrastructure on demand service system
US20030140128A1 (en) * 2002-01-18 2003-07-24 Dell Products L.P. System and method for validating a network
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
US6947981B2 (en) * 2002-03-26 2005-09-20 Hewlett-Packard Development Company, L.P. Flexible data replication mechanism
US8051197B2 (en) 2002-03-29 2011-11-01 Brocade Communications Systems, Inc. Network congestion management systems and methods
US7120826B2 (en) * 2002-03-29 2006-10-10 International Business Machines Corporation Partial mirroring during expansion thereby eliminating the need to track the progress of stripes updated during expansion
US20040006635A1 (en) * 2002-04-19 2004-01-08 Oesterreicher Richard T. Hybrid streaming platform
US20040006636A1 (en) * 2002-04-19 2004-01-08 Oesterreicher Richard T. Optimized digital media delivery engine
US7899924B2 (en) * 2002-04-19 2011-03-01 Oesterreicher Richard T Flexible streaming hardware
US7447778B2 (en) * 2002-05-06 2008-11-04 Qlogic, Corporation System and method for a shared I/O subsystem
US7328284B2 (en) * 2002-05-06 2008-02-05 Qlogic, Corporation Dynamic configuration of network data flow using a shared I/O subsystem
US7404012B2 (en) * 2002-05-06 2008-07-22 Qlogic, Corporation System and method for dynamic link aggregation in a shared I/O subsystem
US7356608B2 (en) * 2002-05-06 2008-04-08 Qlogic, Corporation System and method for implementing LAN within shared I/O subsystem
JP2003330782A (ja) * 2002-05-10 2003-11-21 Hitachi Ltd 計算機システム
US8140622B2 (en) 2002-05-23 2012-03-20 International Business Machines Corporation Parallel metadata service in storage area network environment
US7010528B2 (en) * 2002-05-23 2006-03-07 International Business Machines Corporation Mechanism for running parallel application programs on metadata controller nodes
US7448077B2 (en) 2002-05-23 2008-11-04 International Business Machines Corporation File level security for a metadata controller in a storage area network
US6732171B2 (en) * 2002-05-31 2004-05-04 Lefthand Networks, Inc. Distributed network storage system with virtualization
GB0214669D0 (en) * 2002-06-26 2002-08-07 Ibm Method for maintaining data access during failure of a controller
US20040024807A1 (en) * 2002-07-31 2004-02-05 Microsoft Corporation Asynchronous updates of weakly consistent distributed state information
US6928509B2 (en) * 2002-08-01 2005-08-09 International Business Machines Corporation Method and apparatus for enhancing reliability and scalability of serial storage devices
CA2494325A1 (en) * 2002-08-02 2004-02-12 Grass Valley (U.S.), Inc. Real-time fail-over recovery for a media area network
US7418702B2 (en) * 2002-08-06 2008-08-26 Sheng (Ted) Tai Tsao Concurrent web based multi-task support for control management system
US7283560B1 (en) 2002-08-08 2007-10-16 Vicom Systems, Inc. Method and apparatus for address translation between fibre channel addresses and SCSI addresses
US7571206B2 (en) * 2002-08-12 2009-08-04 Equallogic, Inc. Transparent request routing for a partitioned application service
US7134044B2 (en) * 2002-08-16 2006-11-07 International Business Machines Corporation Method, system, and program for providing a mirror copy of data
JP2004086721A (ja) * 2002-08-28 2004-03-18 Nec Corp データ複製システム、中継装置、データ送受信方法およびストレージ内のデータを複製するためのプログラム
US8805918B1 (en) 2002-09-11 2014-08-12 Cisco Technology, Inc. Methods and apparatus for implementing exchange management for virtualization of storage within a storage area network
US20040085908A1 (en) * 2002-10-31 2004-05-06 Brocade Communications Systems, Inc. Method and apparatus for managing locking of resources in a cluster by use of a network fabric
US7461146B2 (en) * 2003-01-20 2008-12-02 Equallogic, Inc. Adaptive storage block data distribution
US7627650B2 (en) * 2003-01-20 2009-12-01 Equallogic, Inc. Short-cut response for distributed services
US8037264B2 (en) 2003-01-21 2011-10-11 Dell Products, L.P. Distributed snapshot process
US8499086B2 (en) 2003-01-21 2013-07-30 Dell Products L.P. Client load distribution
US7127577B2 (en) * 2003-01-21 2006-10-24 Equallogic Inc. Distributed snapshot process
US20040210724A1 (en) * 2003-01-21 2004-10-21 Equallogic Inc. Block data migration
US7937551B2 (en) * 2003-01-21 2011-05-03 Dell Products L.P. Storage systems having differentiated storage pools
US7181574B1 (en) * 2003-01-30 2007-02-20 Veritas Operating Corporation Server cluster using informed prefetching
US20040181707A1 (en) * 2003-03-11 2004-09-16 Hitachi, Ltd. Method and apparatus for seamless management for disaster recovery
US7817583B2 (en) * 2003-04-28 2010-10-19 Hewlett-Packard Development Company, L.P. Method for verifying a storage area network configuration
JP2005157825A (ja) * 2003-11-27 2005-06-16 Hitachi Ltd 障害復旧機能を有する計算機システム、および、障害復旧方法
JP2005004350A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc リソース管理方法及び装置、リソース管理プログラム、記憶媒体
US7065589B2 (en) * 2003-06-23 2006-06-20 Hitachi, Ltd. Three data center remote copy system with journaling
US20050015655A1 (en) * 2003-06-30 2005-01-20 Clayton Michele M. Intermediate station
US6939701B2 (en) 2003-08-08 2005-09-06 Novozymes, Inc. Polypeptides having oxaloacetate hydrolase activity and nucleic acids encoding same
JP4313650B2 (ja) * 2003-11-07 2009-08-12 株式会社日立製作所 ファイルサーバ、冗長度回復方法、プログラム及び記録媒体
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
US7529291B2 (en) * 2004-04-13 2009-05-05 Raytheon Company Methods and structures for rapid code acquisition in spread spectrum communications
US7409494B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US20050289143A1 (en) 2004-06-23 2005-12-29 Exanet Ltd. Method for managing lock resources in a distributed storage system
EP1782244A4 (en) * 2004-07-07 2010-01-20 Emc Corp SYSTEMS AND METHODS FOR IMPLEMENTING DISTRIBUTED CACHED MEMORY COHERENCE
CN101027668B (zh) * 2004-07-21 2012-01-04 海滩无极限有限公司 基于块映射表缓冲存储和虚拟文件系统的可堆叠文件系统模块的分布式存储结构
US7412545B2 (en) * 2004-07-22 2008-08-12 International Business Machines Corporation Apparatus and method for updating I/O capability of a logically-partitioned computer system
EP1772016A2 (en) * 2004-07-23 2007-04-11 Beach Unlimited LLC Trickmodes and speed transitions
US7240155B2 (en) * 2004-09-30 2007-07-03 International Business Machines Corporation Decision mechanisms for adapting RAID operation placement
US7529967B2 (en) * 2004-11-04 2009-05-05 Rackable Systems Inc. Method and system for network storage device failure protection and recovery
US9495263B2 (en) * 2004-12-21 2016-11-15 Infortrend Technology, Inc. Redundant SAS storage virtualization subsystem and system using the same, and method therefor
JP4563794B2 (ja) * 2004-12-28 2010-10-13 株式会社日立製作所 ストレージシステム及びストレージ管理方法
US7401260B2 (en) * 2005-01-28 2008-07-15 International Business Machines Corporation Apparatus, system, and method for performing storage device maintenance
US7535917B1 (en) 2005-02-22 2009-05-19 Netapp, Inc. Multi-protocol network adapter
JP4815825B2 (ja) * 2005-03-10 2011-11-16 日本電気株式会社 ディスクアレイ装置及びその再構築方法
US7676688B1 (en) * 2005-03-16 2010-03-09 Symantec Corporation Concurrent data broadcast of selected common groups of data blocks
US7600214B2 (en) 2005-04-18 2009-10-06 Broadcom Corporation Use of metadata for seamless updates
JP2009501382A (ja) * 2005-07-14 2009-01-15 ヨッタ ヨッタ, インコーポレイテッド マルチライタシステムにおける書き込み順序忠実性の維持
US8819088B2 (en) * 2005-07-14 2014-08-26 International Business Machines Corporation Implementing storage management functions using a data store system
US7502957B2 (en) * 2005-09-09 2009-03-10 International Business Machines Corporation Method and system to execute recovery in non-homogeneous multi processor environments
US8396966B2 (en) * 2005-10-26 2013-03-12 Hewlett-Packard Development Company, L.P. Method and an apparatus for creating visual representations of farms that enables connecting farms securely
US9118698B1 (en) 2005-12-02 2015-08-25 Branislav Radovanovic Scalable data storage architecture and methods of eliminating I/O traffic bottlenecks
US8347010B1 (en) * 2005-12-02 2013-01-01 Branislav Radovanovic Scalable data storage architecture and methods of eliminating I/O traffic bottlenecks
US8275949B2 (en) * 2005-12-13 2012-09-25 International Business Machines Corporation System support storage and computer system
JP2009527062A (ja) 2006-02-14 2009-07-23 ヨッタヨッタ インコーポレイテッド 超高度データ可用性および地理的災害許容性を得るためのシステムおよび方法
US7676702B2 (en) * 2006-08-14 2010-03-09 International Business Machines Corporation Preemptive data protection for copy services in storage systems and applications
JP5179031B2 (ja) * 2006-09-13 2013-04-10 株式会社日立製作所 空きポートを有効に活用したストレージシステム
US20080181243A1 (en) * 2006-12-15 2008-07-31 Brocade Communications Systems, Inc. Ethernet forwarding in high performance fabrics
US20080159277A1 (en) * 2006-12-15 2008-07-03 Brocade Communications Systems, Inc. Ethernet over fibre channel
US7882393B2 (en) * 2007-03-28 2011-02-01 International Business Machines Corporation In-band problem log data collection between a host system and a storage system
US7779308B2 (en) * 2007-06-21 2010-08-17 International Business Machines Corporation Error processing across multiple initiator network
US8892942B2 (en) * 2007-07-27 2014-11-18 Hewlett-Packard Development Company, L.P. Rank sparing system and method
US20090060503A1 (en) * 2007-09-05 2009-03-05 Nec Laboratories America, Inc. Storage over optical/wireless integrated broadband access network (soba) architecture
US8583780B2 (en) * 2007-11-20 2013-11-12 Brocade Communications Systems, Inc. Discovery of duplicate address in a network by reviewing discovery frames received at a port
US8108454B2 (en) * 2007-12-17 2012-01-31 Brocade Communications Systems, Inc. Address assignment in Fibre Channel over Ethernet environments
JP5072692B2 (ja) * 2008-04-07 2012-11-14 株式会社日立製作所 複数のストレージシステムモジュールを備えたストレージシステム
US8347182B2 (en) * 2008-07-01 2013-01-01 International Business Machines Corporation Ensuring data consistency
US20100043006A1 (en) * 2008-08-13 2010-02-18 Egenera, Inc. Systems and methods for a configurable deployment platform with virtualization of processing resource specific persistent settings
US20100083268A1 (en) * 2008-09-29 2010-04-01 Morris Robert P Method And System For Managing Access To A Resource By A Process Processing A Media Stream
US8086911B1 (en) * 2008-10-29 2011-12-27 Netapp, Inc. Method and apparatus for distributed reconstruct in a raid system
US7882389B2 (en) * 2008-11-18 2011-02-01 International Business Machines Corporation Dynamic reassignment of devices attached to redundant controllers
US8848575B2 (en) 2009-02-23 2014-09-30 Brocade Communications Systems, Inc. High availability and multipathing for fibre channel over ethernet
US8719829B2 (en) * 2009-03-09 2014-05-06 International Business Machines Corporation Synchronizing processes in a computing resource by locking a resource for a process at a predicted time slot
US20100293145A1 (en) * 2009-05-15 2010-11-18 Hewlett-Packard Development Company, L.P. Method of Selective Replication in a Storage Area Network
US8074003B1 (en) * 2009-12-28 2011-12-06 Emc Corporation Host-based storage controller providing block devices in geographically distributed storage
US8738724B2 (en) 2010-05-25 2014-05-27 Microsoft Corporation Totally ordered log on appendable storage
WO2012020505A1 (ja) * 2010-08-13 2012-02-16 富士通株式会社 メモリ制御装置、情報処理装置及びメモリ制御装置の制御方法
US20140086338A1 (en) * 2011-12-28 2014-03-27 Ning Lu Systems and methods for integrated metadata insertion in a video encoding system
WO2014101108A1 (zh) 2012-12-28 2014-07-03 华为技术有限公司 分布式存储系统的缓存方法、节点和计算机可读介质
CN103701925B (zh) * 2013-12-31 2017-04-05 北京网康科技有限公司 资源同步管控方法
US9547448B2 (en) 2014-02-24 2017-01-17 Netapp, Inc. System and method for transposed storage in raid arrays
US10455019B2 (en) * 2014-09-10 2019-10-22 Oracle International Corporation Highly performant reliable message storage using in-memory replication technology
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
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
CN105786656B (zh) * 2016-02-17 2019-08-13 中科院成都信息技术股份有限公司 基于随机矩阵的独立磁盘冗余阵列容灾存储方法
US10331353B2 (en) 2016-04-08 2019-06-25 Branislav Radovanovic Scalable data access system and methods of eliminating controller bottlenecks
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
CN106527978B (zh) * 2016-10-19 2019-07-09 华中科技大学 一种基于环状虚拟双控的多控制器实现方法
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
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671436A (en) 1991-08-21 1997-09-23 Norand Corporation Versatile RF data capture system
WO1993018456A1 (en) * 1992-03-13 1993-09-16 Emc Corporation Multiple controller sharing in a redundant storage array
US5459857A (en) * 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
US5611049A (en) 1992-06-03 1997-03-11 Pitts; William M. System for accessing distributed data cache channel at each network node to pass requests and data
US5758058A (en) * 1993-03-31 1998-05-26 Intel Corporation Apparatus and method for initializing a master/checker fault detecting microprocessor
US5574851A (en) * 1993-04-19 1996-11-12 At&T Global Information Solutions Company Method for performing on-line reconfiguration of a disk array concurrent with execution of disk I/O operations
US5694581A (en) * 1993-09-07 1997-12-02 Industrial Technology Research Institute Concurrent disk array management system implemented with CPU executable extension
TW252248B (en) 1994-08-23 1995-07-21 Ibm A semiconductor memory based server for providing multimedia information on demand over wide area networks
US6085234A (en) 1994-11-28 2000-07-04 Inca Technology, Inc. Remote file services network-infrastructure cache
US5875456A (en) 1995-08-17 1999-02-23 Nstor Corporation Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array
US5657468A (en) 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
US5826001A (en) * 1995-10-13 1998-10-20 Digital Equipment Corporation Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata
US5862312A (en) * 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
JP2848300B2 (ja) * 1995-12-27 1999-01-20 日本電気株式会社 不揮発性半導体記憶装置
US6073218A (en) * 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
JPH10289524A (ja) * 1997-04-11 1998-10-27 Sony Corp 記録媒体駆動装置
US6151297A (en) 1997-07-08 2000-11-21 Hewlett-Packard Company Method and system for link level server/switch trunking
US6049833A (en) 1997-08-29 2000-04-11 Cisco Technology, Inc. Mapping SNA session flow control to TCP flow control
US6216173B1 (en) 1998-02-03 2001-04-10 Redbox Technologies Limited Method and apparatus for content processing and routing
US6138247A (en) * 1998-05-14 2000-10-24 Motorola, Inc. Method for switching between multiple system processors
US6243829B1 (en) * 1998-05-27 2001-06-05 Hewlett-Packard Company Memory controller supporting redundant synchronous memories
US6148414A (en) * 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions
US6405219B2 (en) * 1999-06-22 2002-06-11 F5 Networks, Inc. Method and system for automatically updating the version of a set of files stored on content servers
US7343413B2 (en) * 2000-03-21 2008-03-11 F5 Networks, Inc. Method and system for optimizing a network by independently scaling control segments and data flow
EP1301865A4 (en) 2000-03-22 2009-04-01 Yotta Yotta Inc METHOD AND SYSTEM FOR PROVIDING MULTIMEDIA INFORMATION ON DEMAND THROUGH LONG DISTANCE NETWORKS
US8281022B1 (en) 2000-06-30 2012-10-02 Emc Corporation Method and apparatus for implementing high-performance, scaleable data processing and storage systems
US6658478B1 (en) 2000-08-04 2003-12-02 3Pardata, Inc. Data storage system

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100378672C (zh) * 2002-06-24 2008-04-02 网络装置公司 在raid数据重建和转移中使用文件系统信息
CN101154174B (zh) * 2002-06-24 2010-10-06 网络装置公司 在raid数据重建和转移中使用文件系统信息的方法及设备
CN100388176C (zh) * 2003-07-14 2008-05-14 国际商业机器公司 从冗余阵列中检索多路径数据
CN102684293B (zh) * 2004-01-23 2016-08-10 施耐德电气公司 提供不间断电能的方法及其设备
CN102684293A (zh) * 2004-01-23 2012-09-19 美国能量变换公司 提供不间断电能的方法及其设备
CN100452673C (zh) * 2004-02-16 2009-01-14 上海欣国信息技术有限公司 数字话务台
CN1315056C (zh) * 2004-03-25 2007-05-09 株式会社日立制作所 存储系统
CN100345100C (zh) * 2004-11-22 2007-10-24 国际商业机器公司 设置信息存储和提取系统内交换域的信号率的装置和方法
CN100373354C (zh) * 2005-01-20 2008-03-05 英业达股份有限公司 识别磁盘高速缓存内容有效性的资料存取方法
CN100405313C (zh) * 2005-07-22 2008-07-23 鸿富锦精密工业(深圳)有限公司 链接控制卡测试系统及方法
CN102349053A (zh) * 2009-01-09 2012-02-08 网络存储技术公司 用于冗余性保护的聚集体的系统和方法
CN102349053B (zh) * 2009-01-09 2014-08-06 网络存储技术公司 用于冗余性保护的聚集体的系统和方法
CN102209097A (zh) * 2010-03-31 2011-10-05 英业达股份有限公司 储存局域网络的储存资源的调配系统
CN102129400B (zh) * 2010-12-29 2013-12-04 华为数字技术(成都)有限公司 存储系统连接配置方法、设备及其存储系统
US9170959B2 (en) 2010-12-29 2015-10-27 Huawei Technologies Co., Ltd. Method and device for configuring storage system connection
CN102129400A (zh) * 2010-12-29 2011-07-20 成都市华为赛门铁克科技有限公司 存储系统连接配置方法、设备及其存储系统
US10203963B2 (en) 2010-12-29 2019-02-12 Huawei Technologies Co., Ltd. Method for configuring storage system connection, device and storage system
CN103838515B (zh) * 2012-11-23 2016-08-03 中国科学院声学研究所 一种服务器集群访问调度多控制器磁盘阵列的方法及系统
CN105677499A (zh) * 2015-12-29 2016-06-15 曙光信息产业(北京)有限公司 基于硬件的超时管理平台
CN105677499B (zh) * 2015-12-29 2018-10-12 曙光信息产业(北京)有限公司 基于硬件的超时管理平台
CN109089255A (zh) * 2017-06-14 2018-12-25 中国移动通信有限公司研究院 用户位置通知控制方法、装置、系统、设备及存储介质

Also Published As

Publication number Publication date
EP1171820B1 (en) 2007-04-11
TW468107B (en) 2001-12-11
DE60034327T2 (de) 2008-01-03
AU3358600A (en) 2000-09-21
EP1796001B1 (en) 2009-05-13
DE60042225D1 (de) 2009-06-25
EP1796001A2 (en) 2007-06-13
CA2363726A1 (en) 2000-09-08
JP2002538549A (ja) 2002-11-12
CA2363726C (en) 2010-06-29
ATE431589T1 (de) 2009-05-15
US6148414A (en) 2000-11-14
US7246260B2 (en) 2007-07-17
KR20020012539A (ko) 2002-02-16
DE60034327D1 (de) 2007-05-24
ATE359552T1 (de) 2007-05-15
WO2000052576A1 (en) 2000-09-08
CN100489796C (zh) 2009-05-20
EP1171820A4 (en) 2005-06-15
NZ513789A (en) 2003-10-31
EP1171820A1 (en) 2002-01-16
US20060005076A1 (en) 2006-01-05
EP1796001A3 (en) 2007-06-27
WO2000052576A9 (en) 2001-08-30
US6912668B1 (en) 2005-06-28

Similar Documents

Publication Publication Date Title
CN1350674A (zh) 用来实现共用磁盘阵列管理功能的方法和系统
US6571354B1 (en) Method and apparatus for storage unit replacement according to array priority
US7137033B2 (en) Method, system, and program for synchronizing subtasks using sequence numbers
US6654830B1 (en) Method and system for managing data migration for a storage system
US6816945B2 (en) Quiesce system storage device and method in a dual active controller with cache coherency using stripe locks for implied storage volume reservations
CN100410895C (zh) 排序数据写的方法
US7028078B1 (en) System and method for performing virtual device I/O operations
CN104040515B (zh) 在逻辑驱动器模型下呈现直接存取的存储设备
US6640278B1 (en) Method for configuration and management of storage resources in a storage network
US6553408B1 (en) Virtual device architecture having memory for storing lists of driver modules
US9009427B2 (en) Mirroring mechanisms for storage area networks and network based virtualization
US8028191B2 (en) Methods and systems for implementing shared disk array management functions
KR101055918B1 (ko) 패일오버에 따른 캐시 데이터의 보존
JP3617632B2 (ja) Raid制御装置及びその制御方法
US20070094466A1 (en) Techniques for improving mirroring operations implemented in storage area networks and network based virtualization
US7203801B1 (en) System and method for performing virtual device I/O operations
CN1645335A (zh) 用于存储卷的一致拷贝的方法、系统和制造品
CN101755257B (zh) 管理在不同的网络上将写入从首要存储器拷贝到次要存储器
US20070011401A1 (en) System and method for adaptive operation of storage capacities of RAID systems
US20090259817A1 (en) Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization
CN1804810A (zh) 用于存储器访问请求的重定向的方法和系统
CN1708742A (zh) 在存储区域网中实现存储虚拟化的方法与装置
IE20000203A1 (en) Storage domain management system
US20090259816A1 (en) Techniques for Improving Mirroring Operations Implemented In Storage Area Networks and Network Based Virtualization
CN103620580A (zh) 用于数据副本的迁移的系统和方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: CANADA YIMUSY CO., LTD.

Free format text: FORMER OWNER: GOTA GOTA CO., LTD.

Effective date: 20090612

Owner name: IMXI COMPANY

Free format text: FORMER OWNER: CANADA YIMUSY CO., LTD.

Effective date: 20090612

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20090612

Address after: Massachusetts, USA

Patentee after: EMC Corp.

Address before: Toronto

Patentee before: Canada Yimuxi Co.

Effective date of registration: 20090612

Address after: Toronto

Patentee after: Canada Yimuxi Co.

Address before: Washington State

Patentee before: Seek Systems, Inc.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20090520