CN1776675B - 用于存储并使用多存储位置中的元数据的方法和*** - Google Patents
用于存储并使用多存储位置中的元数据的方法和*** Download PDFInfo
- Publication number
- CN1776675B CN1776675B CN2005101247267A CN200510124726A CN1776675B CN 1776675 B CN1776675 B CN 1776675B CN 2005101247267 A CN2005101247267 A CN 2005101247267A CN 200510124726 A CN200510124726 A CN 200510124726A CN 1776675 B CN1776675 B CN 1776675B
- Authority
- CN
- China
- Prior art keywords
- metadata
- signed data
- copy
- memory storage
- parts
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2089—Redundant storage control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- 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/0614—Improving the reliability of storage systems
-
- 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/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]
-
- 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/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供一种用于存储并使用在多存储位置中的元数据的方法、***和程序。在***存储设备中存储用于指示多个元数据副本位置的签名数据,每个定位标识存储装置和存储装置中的副本位置。每个位置包含元数据的一个副本,其中元数据包括***配置信息。将签名数据的副本与元数据的每个副本一起存储。
Description
技术领域
本发明涉及用于存储并使用多存储位置中的元数据的方法、***和程序。
背景技术
在特定的计算环境中,多主机***可以与诸如IBM企业存储服务器(ESS)的多控制单元通信来获取由接收请求的ESS管理的存储装置中的数据,通过一条或多条逻辑路径提供到诸如互连的硬盘驱动器的存储装置的存取(IBM和ESS是IBM的注册商标)。互连的驱动器可以配置为直接存取存储装置(DASD)、独立磁盘冗余阵列(RAID)、磁盘连续捆束阵列(Just a Bunch ofDisks,JBOD)等。控制单元在本地存储设备中维护用于确定***的配置所需的关键(critical)元数据。如果关键元数据是损坏的、非法或无效的,则控制单元将失效并可能不得不完全重新配置。通常关键元数据对主机***是隐藏的,而仅对控制单元操作***是有效的。
发明内容
提供一种用于存储并使用在多存储位置中的元数据的方法、***和程序。签名数据存储在***存储设备中,指示多个元数据副本位置,每个定位标识存储装置和存储装置中的副本位置。每个位置包含元数据的一个副本,其中元数据包括***配置信息。将签名数据的副本与元数据的每个副本一起存储。
附图说明
图1图解其中实现实施例的计算环境的实施例。
图2图解签名数据信息的实施例。
图3图解元数据记录中的信息的实施例。
图4-9图解了管理并使用元数据和签名数据的操作的实施例。
具体实施方式
图1图解实现本发明的各个方面的计算环境的实施例。一个或多个主机2将指向存储装置4a、4b、...、4n的输入/输出(I/O)请求发送到控制单元6,其中控制单元6管理到4a、4b、...、4n的I/O存取。在一个实施例中,控制单元6包括两个***8a和8b,每一个包括处理器10a、10b、高速缓存12a、12b和本地存储设备14a、14b。每个***6a、6b可以在单独的电力边界(powerboundary)上。两个***8a、8b可以作为冗余对(redundancy pair)协作来执行控制单元的操作,以便在任一***故障的情况下,剩余的***以非中断方式接管控制单元的操作。可以分配***6a、6b来处理指向在存储装置4a、4b、...、4n中配置的特定卷的I/O请求。***6a、6b在装置网络16上与存储装置4a、4b、...、4n通信,该网络可以包括局域网(LAN)、存储区域网(storage area network,SAN)、总线接口、串行接口等。处理器8a、8b执行I/O代码18a、18b来执行这里描述的I/O和元数据管理操作。本地存储设备14a、14b可以包括存储器或者从非易失性存储装置加载的存储器。
控制单元6可以包括任意类型的服务器,诸如企业存储服务器、存储控制器等,或者其它用于管理对所附存储装置4a、4b、...、4n的I/O请求的装置,其中存储装置可以包括本领域公知的存储装置,诸如互连的硬盘驱动器(如,配置为DASD、RAID、JBOD等)、磁带、光盘、电存储器等。主机2可以通过诸如局域网(LAN)、存储区域网(SAN)、广域网(WAN)、无线网络等等的网络(未示出)与控制单元6通信。另外,主机2可以通过诸如外部部件互连(PCI)总线或串行总线之类的总线接口与控制单元6通信。处理器10a、10b可以通过连接20相互通信来处理故障切换(failover)和撤退(fallback)。
***8a、8b在它们的本地存储设备14a、14b中维护用于指示在存储装置4a、4b、4c中的元数据副本24a、24b、24c的位置的数字签名22a、22b。也与元数据24a、24b、24c一起维护签名数据副本26a、26b、26c。元数据副本24a、24b、24c可以包括关键元数据,该数据包括控制单元运行所需的关键配置信息。如果关键元数据损坏或不可用,则存储装置上的卷的位置和配置可能丢失,并且控制单元6可能需要重新配置。存储装置4a、4b、4c还包括主机2存取的用户数据28a、28b、28c。
可以由比所示的三个存储装置4a、4b、4c更多的存储装置,并且特定的存储装置可能不包括元数据和签名数据的副本。此外,一个存储装置可以包括签名数据和元数据的多个副本。在一个实施例中,元数据和签名数据的三个副本存储在一个或多个存储装置中。在另外的实施例中,可以维护元数据和签名数据的不同数量的副本。
图2图解了包含在签名数据22a、22b、26a、26b、26c中包含的信息的实施例,***标识符(ID)50,用于指示期望使用由签名数据标识的元数据的***(如8a、8b);元数据位置52,用于标识存储装置4a、4b、4c中一个或多个位置,其中在该位置上能够找到元数据的副本,每个元数据位置标识存储装置4a、4b、4c,以及在所标识的存储装置4a、4b、4c上的副本位置的标识符(如果多于一个的元数据副本可以位于存储装置4a、4b、4c上);和世代号54,只要由于元数据位置改变导致修改签名的内容就增加该世代号。元数据24a、24b、24c可以存储在对于I/O代码18a、18b已知的、存储装置中预先指定的位置,以便在存储装置中标识存储装置的ID 54提供足够的信息定位存储装置4a、4b、...、4n中的元数据24a、24b、24c和签名数据26a、26b、26c。
另外,可以在存储装置上由I/O代码已知的位置上存在指针元数据,用于进一步标识存储装置上的元数据的副本位置,以便在存储装置中标识存储装置的ID 54和每个存储装置上的副本号码的标识符提供足够的信息来定位该存储装置上的指针元数据,而指针元数据提供元数据24a、24b、24c及其签名数据26a、26b、26c在存储装置4a、4b、...、4n上的位置。如果存储装置是RAID阵列,则RAID阵列的每个具体实现(incarnation)都具有唯一的标识符。在一个实施例中,排序在签名数据中的所标识的一组元数据位置使得能够指示第1到第N副本。该排序可以用于在后面描述的验证签名和存取元数据所用到的控制算法。
图3图解包含在元数据记录70中的信息的实施例。在一个实施例中,元数据24a、24b、24c可以包括多个元数据记录。每个元数据记录70可以包括用于指示元数据记录更新的次数的第一和第二世代号72、74、实际元数据76和纠错码(ECC)或用于确保元数据记录没有损坏的纵向冗余校验(LRC)码。
可以在控制单元(仅包括一个***或处理器联合体(processor complex),即没有冗余硬件,或者如图1所示包括两个***8a和8b)中执行在图4、5、6和8中描述的用于使用并管理元数据的操作。
在一个实施例中,可以有N个候选存储装置来存储元数据的副本,其中每一个都具有M个存储元数据的副本的可能位置。这样,存在N×M可能的位置来存储元数据。控制单元尝试保持K个元数据的有效副本,如果K>N×M,则只能维护N×M个副本。在一个实施例中,K>=2并且N×M>=2,从而在任何时间上至少存在对于控制单元是可用的元数据的两个副本。至少具有两个副本使得可以从损坏一个元数据副本的部分的介质故障中恢复。在另一实施例中,K=3而M=2,从而即使当只有一个存储元数据的存储装置时,在该存储装置上也至少有两个可用副本,而当有至少两个存储元数据的存储装置时,存在三个可用的副本,在单独的存储装置上至少有两个副本。
图4图解了由处理器10a、10b执行来提供元数据的初始副本、实现在I/O代码18a和/或18b中的操作(图4的操作可以实现在具有一个处理器/***或多个处理器/***的控制单元上)的实施例。在驱动用于选择元数据副本的最佳地点(home)的操作(在方框100)后,I/O代码18a、18b根据当前有效的存储装置、通过优先在不同的故障边界(如,在独立的存储装置、在具有独立存取路径的存储装置、在具有独立的电力边界的存储装置上等)中的存储装置中,或在具有更高可靠性的位置(如,在更高可靠性的存储装置、在具有更好的RAID冗余的阵列上、在不会由于故障装置而导致性能降低的RAID阵列上、在具有更多独立存取路径的存储装置上等)上放置20个副本,来(在方框102)做出存储元数据的、一个或多个存储装置4a、4b、4c的初始选择,以最小化故障点的数量。
由于可用的存储装置组改变,所以重新评估最佳元数据地点组,并且按要求重新布置元数据的副本的放置位置以在最佳地点组上保持副本。只要可用的元数据地点组改变就必须执行最佳地点组的评估。该组可以由于添加或取消配置存储装置、或者由于存储装置故障或修理而改变。当第一存储装置成为可用时产生初始化的元数据副本。当添加或移除额外的地点时,可以从现有的地点将元数据的一个或多个现有副本移动到新的地点。每次当用于存储元数据副本的元数据地点组修改时,可应用的签名数据的值改变。每次当签名数据改变时,该签名数据的世代号54(图2)增加。
当要产生元数据的新复本,或元数据的现有副本要被移除(或者变得无法存取)时,必须为控制单元更新签名数据。在从现有地点(存储装置4a、4b、4c)将元数据副本移至更好的地点的情况下,可以移除现有的副本,然后产生新的副本。
图5图解了用于当可用的存储装置4a、4b、4c的配置改变时、移除副本并产生新副本以便更新签名数据50、由此根据上述当前有效的存储装置进行重新调整来选择元数据的最佳地点(存储装置4a、4b、...、4n)来最小化故障点的数量的操作的实施例。在(在方框150)启动操作来从新的存储装置配置中改变元数据的地点(存储装置4a、4b、4c)后,I/O代码18a、18b(在方框152)为元数据70确定存储装置4a、4b、4c的位置和最佳数量来降低单一故障点的数量。I/O代码执行操作156到164来移除元数据70的现有副本。(在方框154)为元数据地点的新配置(最佳存储装置4a、4b、4c选择)确定新签名数据值22a、22b、26a、26b、26c。(在方框156)对元数据副本组24a、24b、24c停顿I/O。在正在移除的副本上将签名数据值22a、22b、26a、26b、26c(在方框158)设置为零,并且(在方框160)以在新签名数据中指示的顺序更新在新选择的最佳存储装置4a、4b、4c上的签名数据值26a、26b、26c。(在方框162)也更新在每个***8a、8b的本地存储设备14a、14b上的签名数据值22a、22b,并且(在方框164)对该组元数据副本24a、24b、24c恢复I/O。
I/O代码执行操作166到176来添加元数据70的新副本。I/O代码18a、18b为元数据地点的新配置(在方框166)确定新签名数据值,并且(在方框168)将所有元数据复制到新地点,当更新发生时对所有副本维护任何对元数据的更新。I/O代码18a、18b(在方框170)对元数据副本24a、24b、24c停顿,并且(在方框172)以在新签名数据中指示的顺序为每个元数据地点更新在存储装置4a、4b、4c上的签名数据值26a、26b、26c。(在方框174)也更新在每个***8a、8b的本地存储设备14a、14b上的签名数据值22a、22b,然后(在方框176)对该组元数据副本24a、24b、24c恢复I/O。
在图5的实施例中,在抑制到元数据副本的I/O的同时完成签名的更新,使得到新签名的转换作为原子操作发生,而在修改签名时所有的副本具有相同的元数据。在签名更新处理末尾,假设所有这些签名位置是可存取的,签名的所有副本应该当前存在于所有本地存储设备和存储装置副本上,并且任何没有元数据副本的存储设备不应该具有签名。然而,在只有一个处理器在线或存储装置不可存取的情况下,旧签名可以保存在合适的位置。如果断电导致更新处理中断,则签名可以保持在过渡状态。
以特定的顺序更新签名,以便可以定义其它算法来在后面描述的重置情况下解决数据签名。
当控制单元6的一个或者两个***8a、8b开机并开始控制单元6的操作时,***8a、8b必须首先定位当前元数据24a、24b、24c的有效副本。签名数据26a、26b、26c的副本与元数据的每个副本一起维护,并且还本地存储在每个***8a、8b的本地存储设备14a、14b中。定位当前元数据的副本的处理很复杂,原因在于:由于故障操作***不能存取所有的存储设备;当发生断电时签名可能正在更新中;***之一可能不能运行,并且其本地签名数据可能对于其它运行服务器做出的元数据的位置的任何改变是过期的,以及在开机时任意一个或两个***8a、8b可以运行。
I/O代码18a、18b可以以一定的确信度验证已经定位了元数据24a、24b、24c的当前副本。签名数据22a、22b、26a、26b、26c确定当前有效的元数据24a、24b、24c的位置,使得I/O代码18a、18b只需要确定签名数据26a、26b、26c的有效性。如果没有确定有效的签名,则控制单元6不需要上线到所附主机2,并且调用服务来使服务者尝试挑选出应该使用元数据的什么副本(如果有的话)。如果可以定位元数据24a、24b、24c的至少一个有效副本,则***8a、8b如前所述制作元数据的额外的副本,以便存在合适数量的有效副本。一旦确定一个或多个副本位置,就更新本地签名数据22a、22b中的存储装置4a、4b、4c中的签名数据值26a、26b、26c来反映当前有效副本。确定有效签名的算法可以取决于当可应用的签名为控制单元改变时用于更新签名数据的副本的过程。
图6和7图解了当开机时或作为初始微码加载(IML)操作的一部分,用于验证签名数据值22a、22b、26a、26b、26c的副本的操作的一个实施例。在方框200,一个***(如8a)在重置情况后执行诸如开机或IML之类的初始化。如果(在方框202)另一***(如8b)是运行的,并且(在方框204)在两个***8a、8b中都存在签名数据22a、22b,则(在方框206)比较两个签名数据22a、22b。如果(在方框208)它们都匹配,并且(在方框210)至少一个存储装置签名数据26a、26b、26c:(1)匹配本地存储设备签名22a、22b或具有比本地存储设备签名数据22a、22b大一的世代号54,且(2)与本地存储设备签名数据22a、22b一样具有至少一个存储装置,则控制前进到图7的方框224。否则,从方框208或210的‘否’分支,I/O代码18a(在方框212)确定是否存在一个具有等于或者比具有最新世代号的本地存储设备签名数据22a、22b大一的世代号54的存储装置签名数据26a、26b、26c,并且这些本地和存储装置签名数据都标识具有相等的或更大的世代号的存储装置4a、4b、4c。然后控制前进到图7的方框224。否则,从方框212的‘否’分支,控制单元6(在方框214)不在线,并且可以调用服务。
如果(在方框202)另一***(如8b)不运行,或者(在方框204)只有一个***8a或8b具有签名数据22a或22b,则控制前进到图7的方框220。在方框220,I/O代码18a为签名数据26a、26b、26c扫描所有存储装置4a、4b、4c的元数据地点,跟踪每个签名及其位置。如果(在方框222)在存储装置4a、4b、4c上存在两个匹配签名数据值26a、26b、26c,并且其具有大于任何其他签名数据值(本地存储设备14a或存储装置4a、4b、4c)的世代号54,则(在方框224)验证具有更大的世代号的签名数据值26a、26b、26c。I/O代码18a(在方框226)更新在验证的签名数据中所指示(图2的字段54)的、与所验证的签名数据不相同的、本地存储设备14a、14b和存储装置4a、4b、4c中的任何签名数据22a、22b。将在任何存储装置4a、4b、4c上的、没有由验证的签名数据值标识的签名数据26a、26b、26c归零(在方框228)。如果控制单元6当前不在线(即,第一运行处理器开机),则I/O代码18a(在方框230)通过从第一副本复制到第J副本来同步元数据的副本以移除先前的关机造成的任何部分更新。I/O代码18a还(在方框232)开始按需要将元数据副本复制或移至最佳地点的处理,然后上线(在方框234)。
从方框222的‘否’分支出发,如果(在方框236)存在具有比另一存储装置的签名数据世代号54小一的签名数据26a、26b、26c的一个存储装置,并且两个存储装置的签名数据标识存储装置,则控制前进到方框224来使用最新的世代号来验证签名数据值26a、26b、26c。从方框236的‘否’分支出发,如果(在方框238)存在具有世代号54等于本地存储设备14a签名数据22a、22b或大一的签名数据26a、26b、26c的一个存储装置,并且具有最大世代号的存储装置和存储设备***的签名数据标识具有签名数据值26a、26b、26c的存储装置4a、4b、4c,则控制前进到方框224来验证具有比本地签名数据22a、22b大一代的最新世代号的存储***签名数据26a、26b、26c。否则,从方框238的‘否’分支触发,控制前进到方框240来不上线并调用服务。算法的其它实施例可以为检查的条件选择不同的结果(上线或离线),或者可以根据确定验证签名时期望的可信度定义额外的检查条件。
签名数据值使用元数据的有效副本标识经排序的一组元数据地点。当更新元数据的任何部分(即,记录)时,以该顺序更新每个元数据副本,并且如随后所述直到在所有副本更新后才认为完成更新。在断电或特定的故障使得控制单元中所有***的操作中断的情况下,可以不更新所有的元数据副本。为了防止元数据副本不同步的情况,在开机时***从元数据的第一副本复制数据到其余副本(在图7的方框230)。通过使用在元数据下一连续副本上可用的有效数据来恢复元数据的第一副本上检测到的错误。如果不是在对出错的数据进行更新中,则所有的副本应该具有相同的数据,并且恢复处理将当前数据恢复到所有副本。如果正在进行部分更新,则从下一有效连续副本获得数据将恢复所有副本到元数据所期望更新的版本,或者恢复所有副本到更新前存在的元数据的版本。在第一种情况下,完成部分更新。在后面的情况下,使部分更新无效。在任何情况下,由于部分更新在完成之前中断,并且***涉及必须能够处理发生或未发生未完成的部分更新,所以元数据都恢复到一致状态。
当更新元数据的任何部分(即,记录)时,以该顺序更新每个元数据副本,并且直到所有副本都被更新后才认为完成更新。串行化对元数据的多个副本的更新,使得断电不终止导致所有副本里元数据的丢失的部分更新所有三个副本。通常处理到元数据的相同部分(即,记录)的读和写存取,使得在进行写操作的同时不允许读操作。在这种情况下,可以对元数据的任何有效的副本(即,假设在开机时进行同步,所有副本包括相同的数据)发出读操作。通过从元数据的另一有效副本读取数据直到找出元数据的部分的有效副本为止,来恢复任何副本上的读失败(如,介质错误)。一旦找出出错的任何副本则使用有效数据进行重写。如果没有找到有效副本,并且错误返回到指示数据丢失的数据的存取者。在可能对元数据的相同部分同时进行读和写存取的情况下,以执行更新的顺序发出读操作,以便读取元数据的最新副本。如果在读或写存取中检测到故障,该故障指示元数据的整个副本故障,则认为该副本是不可存取的,从签名数据中将其移除,并且如果存在任何可用的位置,则在另一元数据位置产生新副本。
图8图解了用于更新在I/O代码18a、18b中实现的元数据的副本24a、24b、24c之一中的单个的元数据记录70(图3)的操作的实施例。(图8的操作可以实现在具有一个处理器/***或多***8a、8b的控制单元上)。在驱动更新特定的元数据记录70的操作(在方框300)后,通过一次对一个记录副本执行方框304、306和308的操作、来将对特定元数据记录的更新写入(在方框302)至少一个存储装置4a、4b、4c中的元数据24a、24b、24c的每个副本。在方框304,I/O代码18a增加第一世代号72并将第一块写入元数据记录70。将除了第一和最后块之外的所有块(在方框306)写入元数据记录70。(在方框308)增加第二世代号76,对整个元数据记录计算LRC/CRC,并且最后的块写入元数据记录70。
图9图解了用于读取在I/O代码18a、18b中实现的元数据的副本24a、24b、24c之一中的单个的元数据记录70(图3)的操作的实施例。(图9的操作可以实现在具有一个处理器/***或多***8a、8b的控制单元上)。在方框350,启动对包含多个元数据记录的元数据24a、24b、24c的特定副本读取特定的元数据记录70的操作,其中存在与每个元数据记录70相关的、用于指示元数据记录更新的次数的第一70和第二76(图3)世代号,以及ECC或LRC校验字符。I/O代码18a(在方框352)尝试读取在提供元数据的特定副本70的地点的一个存储装置4a、4b、4c上的特定的元数据记录70。如果(在方框354)存在存取错误,则存取错误(在方框356)返回更高级的存取程序(accessor)功能。如果(在方框354)不存在存取错误,则(在方框358)检查第一72和第二76世代号。如果(在方框360)它们不匹配,则读取错误(在方框362)返回到更高级。如果(在方框364)在元数据记录中检测到LRC或不可纠正的CRC错误,则读取错误返回到更高级。如果没有检测到错误,则验证了元数据记录并返回到存取者功能。
额外实施例的详细内容
通过使用标准编程和/或工程技术来产生软件、固件、硬件或它们的任意组合,所描述的实施例可以实现为方法、装置或制造物。这里使用的术语“制造物”指的是在硬件逻辑(如集成电路芯片、可编程门阵列(PGA)、特定用途集成电路(ASIC)等),或计算机可读介质,诸如磁存储介质(如硬盘驱动器、软盘、磁带等)、光存储设备(如CD-ROM、光盘等)、易失性和非易失性存储器器件(如,EEPROM、ROM、RAM、DRAM、SRAM、固件、可编程逻辑等)中实现的代码和/或逻辑。可以由处理器存取并执行在计算机可读介质中的代码。可以进一步通过发送介质或经由网络从文件服务器存取实现优选实施例的代码。在这种情况下,其中实现了代码的制造物可以包括诸如网络发送线、无线发送媒体、通过空间传播的信号、无线电波、红外信号等等的发送介质。因此,制造物可以包括在其中实现代码的存储介质。此外,“制造物”可以包括实现、处理并执行代码的硬件和软件的组合。当然,本领域技术人员将认识到可以在不背离实施例的范围的情况下对该配置做出许多修改,并且制造物可以包括任何本领域公知的信息承载介质。
在一个实施例中,第一世代号可以在每个元数据记录的第一部分(sector),而第二世代号可以在元数据记录中的最后部分。
在具有冗余硬件(如***8a、8b)的实施例中,一个***8a或8b可以指定为主机来控制其中存储元数据的副本24a、24b、24c的存储装置4a、4b、4c。在一个实施例中,主***8a或8b可以向***8a、8b分配元数据的副本24a、24b、24c,使得***8a、8b管理它们所分配的元数据的副本24a、24b、24c的锁定(locking)。
图2和图3显示包含在签名数据和元数据记录中的特定信息。在另外的实施例中,该信息可以存储在具有与所示不同的格式和信息的不同数据结构中。
图4-8图解的操作显示了以特定顺序发生的特定事件。在另一实施例中,可以以不同的顺序执行、修改或移除特定操作。此外,可以添加步骤到上述逻辑中,并且仍然符合所述实施例。此外,可以顺序发生这里所描述的操作,或可以并行处理特定的操作。此外,可以由单独的处理单元或分布的处理单元执行操作。
已经为图示和说明的目的提供了本发明的各种实施例的上述描述。不希望限于所公开的本发明的简单形式。根据上述教学可以由多种修改和变型。希望本发明的范围不受该详细描述的限制,而是由所附的权利要求限制本发明的范围。以上说明、实例和数据提供了制造和本发明的布局的使用的完整描述。由于可以在不背离本发明的宗旨和范围的前提下做出多种本发明的实施例,因此由所附本发明权利要求涵盖本发明。
Claims (26)
1.一种存储和使用元数据的方法,包括:
在***存储设备中存储用于指示多个元数据副本位置的签名数据,每个元数据副本位置标识一个存储装置和该存储装置中的一个元数据副本的存储位置,其中在每个元数据副本位置处包含元数据的一个副本,元数据包括***配置信息;
将签名数据的副本与元数据的每个副本一起存储;和
从所述存储装置之一读取元数据的一个副本以获取用于操作的***配置信息。
2.如权利要求1所述的方法,其中选择用于存储元数据的副本的存储装置的位置来最小化故障点的数量。
3.如权利要求1所述的方法,还包括:
启动用来改变元数据副本在存储元数据的存储装置中的位置的操作;
确定元数据在存储装置中的新位置;
更新签名数据的每个副本来指示元数据的新位置;和
将元数据和更新的签名数据复制到还没有包含元数据和签名数据的任何新位置。
4.如权利要求3所述的方法,其中签名数据中的位置包括排序的组,根据该排序的组的顺序来更新位置上的签名数据。
5.如权利要求3所述的方法,其中响应于存储装置组的改变做出新位置的确定,并且执行新位置的确定以便最小化改变后的存储装置组的故障点的数量。
6.如权利要求1所述的方法,其中两个处理***能够存取存储装置中的元数据副本和签名数据副本,并且每个处理***都具有包含签名数据的***存储设备。
7.如权利要求6所述的方法,还包括:
接收对元数据的更新;和
根据在签名数据中指示的存储装置位置的顺序将对元数据的更新串行复制到存储装置中。
8.如权利要求6所述的方法,还包括:
接收读取元数据的请求;
存取存储位置中的元数据直到找出元数据的一个有效副本为止;和
使用所存取的元数据的有效副本来更新被确定为无效的元数据副本。
9.如权利要求1所述的方法,其中签名数据的每个副本包括世代号,还包括:
响应于改变包含元数据的副本位置而增加签名数据的每个副本中的世代号。
10.如权利要求9所述的方法,其中第一和第二处理***能够存取存储装置中的元数据副本和签名数据副本,并且第一处理***和第二处理***分别维护签名数据的第一和第二副本,还包括:
由第一处理***执行初始化;
确定存储装置或处理***上的可存取签名数据之一的有效性;
响应于确定没有有效签名数据而停留在离线状态;和
使用签名数据的验证的副本来更新在验证的签名数据和签名数据的第一和第二副本中指示的元数据位置中的签名数据的所有可存取的副本。
11.如权利要求10所述的方法,其中所述确定签名数据的一个副本的有效性包括:验证与签名数据的第一和第二副本匹配的一个存储装置签名数据,或者验证具有比与签名数据匹配的第一和第二副本的世代号大一的世代号的一个存储装置签名数据,并且其中这一个存储装置签名数据和签名数据的第一和第二副本标识公共存储装置。
12.如权利要求10所述的方法,其中所述确定签名数据的一个副本的有效性包括:响应于确定签名数据的第一和第二副本的世代号不匹配、并且确定签名数据的第一和第二副本标识验证的存储装置,来验证具有等于或比签名数据的第一或第二副本的最大世代号大一的世代号的一个存储装置签名数据。
13.如权利要求10所述的方法,其中所述确定签名数据的一个副本的有效性包括:响应于确定存储装置中的签名数据标识存储装置,来验证具有等于或比签名数据的第一或第二副本之一中的世代号大一的世代号的一个存储装置签名数据。
14.一种存储和使用元数据的***,包括:
第一部件,用于在***存储设备中存储用于指示多个元数据副本位置的签名数据,每个元数据副本位置标识一个存储装置和该存储装置中的一个元数据副本的存储位置,其中在每个元数据副本位置处包含元数据的一个副本,元数据包括***配置信息;
第二部件,用于将签名数据的副本与元数据的每个副本一起存储;以及
第三部件,用于从所述存储装置之一读取元数据的一个副本以获取用于操作的***配置信息。
15.如权利要求14所述的***,其中,所述第一部件选择用于存储元数据的副本的存储装置的位置来最小化故障点的数量。
16.如权利要求14所述的***,其中还包括:
第四部件,用于启动用来改变元数据副本在存储元数据的存储装置中的位置的操作;
第五部件,用于确定元数据在存储装置中的新位置;
第六部件,用于更新签名数据的每个副本来指示元数据的新位置;
第七部件,用于将元数据和更新的签名数据复制到还没有包含元数据和签名数据的任何新位置;和
第八部件,用于从所述存储装置之一读取元数据的一个副本以获取用于操作的***配置信息。。
17.如权利要求16所述的***,其中签名数据中的位置包括排序的组,所述第六部件根据该排序的组的顺序来更新位置上的签名数据。
18.如权利要求17所述的***,其中所述第五部件响应于存储装置组的改变做出新位置的确定,并且执行新位置的确定以便最小化改变后的存储装置组的故障点的数量。
19.如权利要求14所述的***,其中两个处理***都能够存取存储装置中的元数据副本和签名数据副本,并且每个处理***具有包含签名数据的***存储设备。
20.如权利要求19所述的***,其中还包括:
第九部件,用于接收对元数据的更新;和
第十部件,用于根据在签名数据中指示的存储装置位置的顺序将对元数据的更新串行复制到存储装置中。
21.如权利要求19所述的***,其中还包括:
第十一部件,用于接收读取元数据的请求;
第十二部件,用于存取存储位置中的元数据直到找出元数据的一个有效副本为止;和
第十三部件,用于使用所存取的元数据的有效副本来更新被确定为无效的元数据副本。
22.如权利要求16所述的***,其中签名数据的每个副本包括世代号,其中所述***还包括:
第十四部件,用于响应于改变包含元数据的副本位置而增加签名数据的每个副本中的世代号。
23.如权利要求22所述的***,其中两个处理***都能够存取存储装置中的元数据副本和签名数据副本,并且每个处理***分别维护签名数据的副本,其中如权利要求22所述的***还包括:
(i)第十五部件,用于由第一处理***执行初始化;
(ii)第十六部件,用于确定存储装置或处理***上的可存取签名数据之一的有效性;
(iii)第十七部件,用于响应于确定没有有效签名数据而停留在离线状态;和
(iv)第十八部件,用于使用签名数据的验证的副本来更新在验证的签名数据和签名数据的第一和第二副本中指示的元数据位置中的签名数据的所有可存取的副本。
24.如权利要求23所述的***,其中所述第十六部件确定签名数据的一个副本的有效性包括:验证与签名数据的第一和第二副本匹配的一个存储装置签名数据,或者验证具有比与签名数据匹配的第一和第二副本的世代号大一的世代号的一个存储装置签名数据,并且其中这一个存储装置签名数据和签名数据的第一和第二副本标识公共存储装置。
25.如权利要求23所述的***,其中所述第十六部件确定签名数据的一个副本的有效性包括:响应于确定签名数据的第一和第二副本的世代号不匹配、并且确定签名数据的第一和第二副本标识验证的存储装置,来验证具有等于或比签名数据的第一或第二副本的最大世代号大一的世代号的一个存储装置签名数据。
26.如权利要求23所述的***,其中所述第十六部件确定签名数据的一个副本的有效性包括:响应于确定存储装置中的签名数据标识存储装置,来验证具有等于或比签名数据的第一或第二副本之一中的世代号大一的世代号的一个存储装置签名数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/991,664 | 2004-11-17 | ||
US10/991,664 US7444360B2 (en) | 2004-11-17 | 2004-11-17 | Method, system, and program for storing and using metadata in multiple storage locations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1776675A CN1776675A (zh) | 2006-05-24 |
CN1776675B true CN1776675B (zh) | 2010-10-27 |
Family
ID=36387726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005101247267A Expired - Fee Related CN1776675B (zh) | 2004-11-17 | 2005-11-16 | 用于存储并使用多存储位置中的元数据的方法和*** |
Country Status (2)
Country | Link |
---|---|
US (2) | US7444360B2 (zh) |
CN (1) | CN1776675B (zh) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060106862A1 (en) * | 2004-11-17 | 2006-05-18 | Steven Blumenau | Systems and methods for dynamically adjusting a taxonomy used to categorize digital assets |
US7444360B2 (en) * | 2004-11-17 | 2008-10-28 | International Business Machines Corporation | Method, system, and program for storing and using metadata in multiple storage locations |
US7680835B2 (en) * | 2005-02-28 | 2010-03-16 | Microsoft Corporation | Online storage with metadata-based retrieval |
US7711897B1 (en) | 2005-06-10 | 2010-05-04 | American Megatrends, Inc. | Method, system, apparatus, and computer-readable medium for improving disk array performance |
US20070027989A1 (en) * | 2005-08-01 | 2007-02-01 | Dot Hill Systems Corp. | Management of storage resource devices |
US8046629B1 (en) | 2006-07-24 | 2011-10-25 | Marvell World Trade Ltd. | File server for redundant array of independent disks (RAID) system |
US7634686B2 (en) * | 2006-07-24 | 2009-12-15 | Marvell World Trade Ltd. | File server for redundant array of independent disks (RAID) system |
DE102007004951A1 (de) * | 2007-01-26 | 2008-07-31 | Deutsche Thomson Ohg | Verfahren zum paketvermittelten Übertragen von Mediendaten sowie Vorrichtung zum Bearbeiten von Mediendaten |
US8055762B2 (en) * | 2007-04-16 | 2011-11-08 | Samsung Electronics Co. Ltd | Method and system for location identification |
US20090006743A1 (en) * | 2007-06-27 | 2009-01-01 | Chee Keong Sim | Writing data to multiple storage devices |
US20090144463A1 (en) * | 2007-11-29 | 2009-06-04 | Dell Products L.P. | System and Method for Input/Output Communication |
US20090259669A1 (en) * | 2008-04-10 | 2009-10-15 | Iron Mountain Incorporated | Method and system for analyzing test data for a computer application |
US8275907B2 (en) | 2008-06-26 | 2012-09-25 | Microsoft Corporation | Adding individual database failover/switchover to an existing storage component with limited impact |
WO2010002408A1 (en) * | 2008-07-02 | 2010-01-07 | Hewlett-Packard Development Company, L.P. | Verification of remote copies of data |
US9118695B1 (en) * | 2008-07-15 | 2015-08-25 | Pc-Doctor, Inc. | System and method for secure optimized cooperative distributed shared data storage with redundancy |
US8533478B2 (en) * | 2008-10-24 | 2013-09-10 | Hewlett-Packard Development Company, L. P. | System for and method of writing and reading redundant data |
US8145598B2 (en) * | 2009-02-23 | 2012-03-27 | Iron Mountain Incorporated | Methods and systems for single instance storage of asset parts |
GB2480183B (en) * | 2009-02-23 | 2014-04-16 | Autonomy Inc | Managing workflow communication in a distributed storage system |
US8090683B2 (en) * | 2009-02-23 | 2012-01-03 | Iron Mountain Incorporated | Managing workflow communication in a distributed storage system |
US8397051B2 (en) | 2009-02-23 | 2013-03-12 | Autonomy, Inc. | Hybrid hash tables |
US20100215175A1 (en) * | 2009-02-23 | 2010-08-26 | Iron Mountain Incorporated | Methods and systems for stripe blind encryption |
US8639877B2 (en) * | 2009-06-30 | 2014-01-28 | International Business Machines Corporation | Wear leveling of solid state disks distributed in a plurality of redundant array of independent disk ranks |
US8234520B2 (en) | 2009-09-16 | 2012-07-31 | International Business Machines Corporation | Wear leveling of solid state disks based on usage information of data and parity received from a raid controller |
US9063886B2 (en) * | 2009-09-18 | 2015-06-23 | Apple Inc. | Metadata redundancy schemes for non-volatile memories |
US9582345B2 (en) * | 2009-12-14 | 2017-02-28 | Appfolio, Inc. | Systems and methods for importing data from data sources over a network while correcting and transforming the data |
US8433868B2 (en) * | 2010-01-25 | 2013-04-30 | International Business Machines Corporation | Concurrent copy of system configuration global metadata |
JP5984326B2 (ja) * | 2010-07-07 | 2016-09-06 | キヤノン株式会社 | 情報処理装置、プログラムの更新方法及びプログラム |
US8418257B2 (en) | 2010-11-16 | 2013-04-09 | Microsoft Corporation | Collection user interface |
US9021198B1 (en) * | 2011-01-20 | 2015-04-28 | Commvault Systems, Inc. | System and method for sharing SAN storage |
US8954647B2 (en) * | 2011-01-28 | 2015-02-10 | Apple Inc. | Systems and methods for redundantly storing metadata for non-volatile memory |
US8819586B2 (en) | 2011-05-27 | 2014-08-26 | Microsoft Corporation | File access with different file hosts |
US20120324148A1 (en) * | 2011-06-19 | 2012-12-20 | Paul Roger Stonelake | System and method of protecting metadata from nand flash failures |
US9053141B2 (en) * | 2011-10-31 | 2015-06-09 | International Business Machines Corporation | Serialization of access to data in multi-mainframe computing environments |
US10108537B2 (en) * | 2011-11-29 | 2018-10-23 | Red Hat, Inc. | Mechanisms for reproducing storage system metadata inconsistencies in a test environment |
CN102508727A (zh) * | 2011-12-01 | 2012-06-20 | 浪潮电子信息产业股份有限公司 | 一种通过软件实现磁盘阵列中的缓存掉电保护方法 |
US8972478B1 (en) | 2012-05-23 | 2015-03-03 | Netapp, Inc. | Using append only log format in data storage cluster with distributed zones for determining parity of reliability groups |
JP6089527B2 (ja) * | 2012-09-18 | 2017-03-08 | 富士通株式会社 | ストレージ制御システム、リカバリプログラム、及び該方法 |
US9207868B2 (en) | 2012-10-18 | 2015-12-08 | International Business Machines Corporation | Validation of storage arrays based on information stored in global metadata |
US9244621B2 (en) | 2012-10-18 | 2016-01-26 | International Business Machines Corporation | Global data establishment for storage arrays controlled by a plurality of nodes |
US9678986B2 (en) * | 2012-12-05 | 2017-06-13 | Wgrs Licensing Company, Llc | Systems and methods for registering, administering, and using non-locational identifiers as locational addresses through location name and identifier registries |
US9722908B2 (en) | 2013-10-17 | 2017-08-01 | International Business Machines Corporation | Problem determination in a hybrid environment |
US9678839B2 (en) * | 2014-09-12 | 2017-06-13 | Microsoft Technology Licensing, Llc | Scalable data storage pools |
CN104281534B (zh) * | 2014-09-22 | 2018-02-13 | 华为技术有限公司 | 一种存储元数据的方法和装置 |
US10769125B2 (en) | 2015-06-10 | 2020-09-08 | International Business Machines Corporation | Ordering records for timed meta-data generation in a blocked record environment |
US9760284B2 (en) | 2015-10-20 | 2017-09-12 | International Business Machines Corporation | Preserving virtual product data in a computer system |
US10285011B2 (en) | 2016-02-05 | 2019-05-07 | Hewett-Packard Development Company, L.P. | Determining locations for location signatures |
CN111857542A (zh) * | 2019-04-25 | 2020-10-30 | 伊姆西Ip控股有限责任公司 | 用于管理存储***的方法、设备和计算机程序产品 |
US11029874B2 (en) | 2019-07-30 | 2021-06-08 | Western Digital Technologies, Inc. | Rolling XOR protection in efficient pipeline |
CN112783698A (zh) * | 2019-11-05 | 2021-05-11 | 华为技术有限公司 | 一种存储***中的元数据的管理方法及装置 |
CN113535073B (zh) * | 2020-04-22 | 2024-04-16 | 伊姆西Ip控股有限责任公司 | 管理存储单元的方法、电子设备和计算机可读存储介质 |
US20220129437A1 (en) * | 2020-10-27 | 2022-04-28 | EMC IP Holding Company LLC | Configuration metadata recovery |
US11409608B2 (en) * | 2020-12-29 | 2022-08-09 | Advanced Micro Devices, Inc. | Providing host-based error detection capabilities in a remote execution device |
USD959552S1 (en) | 2021-07-21 | 2022-08-02 | Speedfind, Inc | Display sign |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69032614T2 (de) | 1989-11-03 | 1999-04-15 | Compaq Computer Corp | Verfahren zur Datenverteilung in einer Speicherplattenanordnung |
US5325497A (en) | 1990-03-29 | 1994-06-28 | Micro Technology, Inc. | Method and apparatus for assigning signatures to identify members of a set of mass of storage devices |
US5960194A (en) | 1995-09-11 | 1999-09-28 | International Business Machines Corporation | Method for generating a multi-tiered index for partitioned data |
US6035379A (en) | 1997-01-09 | 2000-03-07 | Microsoft Corporation | Transaction processing for user data employing both logging and shadow copying |
US5983239A (en) * | 1997-10-29 | 1999-11-09 | International Business Machines Corporation | Storage management system with file aggregation supporting multiple aggregated file counterparts |
US6233589B1 (en) * | 1998-07-31 | 2001-05-15 | Novell, Inc. | Method and system for reflecting differences between two files |
US6266740B1 (en) | 1998-07-31 | 2001-07-24 | Emc Corporation | Device sequencing and placement protection using a digital signature |
US7107395B1 (en) | 1998-12-31 | 2006-09-12 | Emc Corporation | Apparatus and methods for operating a computer storage system |
US6499039B1 (en) * | 1999-09-23 | 2002-12-24 | Emc Corporation | Reorganization of striped data during file system expansion in a data storage system |
US6505209B1 (en) * | 1999-11-02 | 2003-01-07 | Monkeymedia, Inc. | Poly vectoral reverse navigation |
US20040220791A1 (en) * | 2000-01-03 | 2004-11-04 | Interactual Technologies, Inc. A California Corpor | Personalization services for entities from multiple sources |
DE60103331T2 (de) | 2000-07-05 | 2004-09-23 | Roke Manor Research Ltd., Romsey | Verfahren zum Betreiben eines Puffers für das Wiederzusammenstellen von Paketen und Netzwerk-Router |
US6625703B2 (en) | 2000-11-02 | 2003-09-23 | International Business Machines Corporation | Verifying primary and backup copies of vital information for a processing system employing a pseudo-fixed reference identifier |
US6785688B2 (en) * | 2000-11-21 | 2004-08-31 | America Online, Inc. | Internet streaming media workflow architecture |
US20040088333A1 (en) * | 2002-01-25 | 2004-05-06 | David Sidman | Apparatus method and system for tracking information access |
EP1379938A1 (en) * | 2001-03-09 | 2004-01-14 | N2 Broadband, Inc. | Method and system for managing and updating metadata associated with digital assets |
US6745147B2 (en) | 2001-10-04 | 2004-06-01 | International Business Machines Corporation | Data processing system, method, and product for automatically tracking insertions of integrated circuit devices |
US20040215644A1 (en) * | 2002-03-06 | 2004-10-28 | Edwards Robert Clair | Apparatus, method, and system for aggregated no query restore |
US7225204B2 (en) * | 2002-03-19 | 2007-05-29 | Network Appliance, Inc. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US7043485B2 (en) * | 2002-03-19 | 2006-05-09 | Network Appliance, Inc. | System and method for storage of snapshot metadata in a remote file |
US6889309B1 (en) * | 2002-04-15 | 2005-05-03 | Emc Corporation | Method and apparatus for implementing an enterprise virtual storage system |
US20030221165A1 (en) * | 2002-05-22 | 2003-11-27 | Microsoft Corporation | System and method for metadata-driven user interface |
US7631179B2 (en) * | 2002-08-02 | 2009-12-08 | The Boeing Company | System, method and apparatus for securing network data |
US7103743B2 (en) | 2002-08-23 | 2006-09-05 | Intel Corporation | System and method of accessing vital product data |
US6851031B2 (en) | 2002-08-30 | 2005-02-01 | Alacritus, Inc. | Method of importing data from a physical data storage device into a virtual tape library |
US7055008B2 (en) | 2003-01-22 | 2006-05-30 | Falconstor Software, Inc. | System and method for backing up data |
US7478096B2 (en) * | 2003-02-26 | 2009-01-13 | Burnside Acquisition, Llc | History preservation in a computer storage system |
JP2004265110A (ja) * | 2003-02-28 | 2004-09-24 | Hitachi Ltd | メタデータ配置方法、プログラムおよびディスク装置 |
US7130956B2 (en) * | 2004-02-10 | 2006-10-31 | Sun Microsystems, Inc. | Storage system including hierarchical cache metadata |
US20060095470A1 (en) * | 2004-11-04 | 2006-05-04 | Cochran Robert A | Managing a file in a network environment |
US7444360B2 (en) | 2004-11-17 | 2008-10-28 | International Business Machines Corporation | Method, system, and program for storing and using metadata in multiple storage locations |
-
2004
- 2004-11-17 US US10/991,664 patent/US7444360B2/en not_active Expired - Fee Related
-
2005
- 2005-11-16 CN CN2005101247267A patent/CN1776675B/zh not_active Expired - Fee Related
-
2008
- 2008-08-19 US US12/194,357 patent/US8001104B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7444360B2 (en) | 2008-10-28 |
US20060106898A1 (en) | 2006-05-18 |
US20080313416A1 (en) | 2008-12-18 |
CN1776675A (zh) | 2006-05-24 |
US8001104B2 (en) | 2011-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1776675B (zh) | 用于存储并使用多存储位置中的元数据的方法和*** | |
US6006308A (en) | Removable library media system utilizing redundant data storage and error detection and correction | |
US7577788B2 (en) | Disk array apparatus and disk array apparatus control method | |
US7028216B2 (en) | Disk array system and a method of avoiding failure of the disk array system | |
US7069465B2 (en) | Method and apparatus for reliable failover involving incomplete raid disk writes in a clustering system | |
EP0405926B1 (en) | Method and apparatus for managing a shadow set of storage media | |
US5089958A (en) | Fault tolerant computer backup system | |
US6529995B1 (en) | Method and apparatus for maintaining and restoring mapping table entries and data in a raid system | |
CN101770408B (zh) | 使用基于对象的存储设备在文件***上使用覆盖对象进行故障处理 | |
CN101449245B (zh) | 在主站点和次级站点之间镜像映射数据 | |
US7565573B2 (en) | Data-duplication control apparatus | |
US9081697B2 (en) | Storage control apparatus and storage control method | |
EP3244315B1 (en) | Method and apparatus for performing data recovery in redundant storage system | |
US20090070539A1 (en) | Automated File Recovery Based on Subsystem Error Detection Results | |
US6363457B1 (en) | Method and system for non-disruptive addition and deletion of logical devices | |
WO2019226305A1 (en) | Parity log with delta bitmap | |
CN100543743C (zh) | 多机文件存储***和方法 | |
US10664346B2 (en) | Parity log with by-pass | |
CN102216906A (zh) | 镜像盘中的恢复控制 | |
US6993677B1 (en) | System and method for data verification in a RAID system | |
US10809940B1 (en) | Multilevel resiliency | |
JP4218636B2 (ja) | 可搬メディアを収納する記憶装置 | |
US11182250B1 (en) | Systems and methods of resyncing data in erasure-coded objects with multiple failures | |
US11494090B2 (en) | Systems and methods of maintaining fault tolerance for new writes in degraded erasure coded distributed storage | |
JP2006114058A (ja) | ファイル管理装置、及び、その方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101027 Termination date: 20181116 |
|
CF01 | Termination of patent right due to non-payment of annual fee |