CN1776676A - 管理存储子***中元数据的方法、***和计算机程序产品 - Google Patents

管理存储子***中元数据的方法、***和计算机程序产品 Download PDF

Info

Publication number
CN1776676A
CN1776676A CNA2005101247271A CN200510124727A CN1776676A CN 1776676 A CN1776676 A CN 1776676A CN A2005101247271 A CNA2005101247271 A CN A2005101247271A CN 200510124727 A CN200510124727 A CN 200510124727A CN 1776676 A CN1776676 A CN 1776676A
Authority
CN
China
Prior art keywords
metadata
client
field
metadata tracks
tracks
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
CNA2005101247271A
Other languages
English (en)
Other versions
CN100440214C (zh
Inventor
阿伦S·马哈
安杰利克R·布达雅
詹姆斯A·斯普林格
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1776676A publication Critical patent/CN1776676A/zh
Application granted granted Critical
Publication of CN100440214C publication Critical patent/CN100440214C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/104Metadata, i.e. metadata associated with RAID systems with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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

Landscapes

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

Abstract

提供了用于配置管理存储子***中的元数据的计算基础设施的方法、***、计算机程序产品和方法。从客户端接收呼叫,以更新元数据轨道的一部分。还从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型。然后,利用所述至少一个字段的特性和相关更新值填充客户端接口的数据结构字段,并且利用更新类型填充客户端接口的操作码字段。然后,将任务控制块(TCB)分配给客户端呼叫,并且,在TCB的指导下,执行各种操作而没有客户端的进一步活动。可以在更新之前使元数据轨道有效,以便确保客户端仅具有对有效更新的访问权。

Description

管理存储子***中元数据的方法、 ***和计算机程序产品
本申请涉及在各自的提交日期提交的、共同转让且共同待审的名称为SELECTIVE CLEARING OF PERSISTENT METADATA IN A STORAGESUBSYSTEM的美国申请序列号10/__[IBM文档#TUC920040171];名称为CLEARING METADATA TRACKS IN A STORAGE SYSTEM的10/__[IBM文档#TUC920040174];名称为MANAGING ATOMIC UPDATES ONMETADATA TRACKS IN A STORAGE SYSTEM的10/__[IBM文档#TUC920040175],其申请通过引用而被完全合并于此。
技术领域
本发明一般地涉及企业存储子***,特别涉及高效且安全地管理元数据。
背景技术
企业计算***通常包括一个或多个用于处理客户数据并运行应用程序的主***、用于存储数据的直接存取存储设备(DASD)、以及一个或多个用于指导主机和DASD之间的数据存储和检索的存储控制器。除客户数据外,存储控制器通常保存元数据,所述元数据提供关于DASD中或存储控制器内的高速缓冲存储器中的数据轨道或块的信息。存储控制器在对由元数据代表的客户数据进行某些操作期间处理该元数据,以便提高执行所请求操作的速度和效率。在DASD初始化期间,将元数据从盘送入(stage)到高速缓冲存储器(易失型存储器)。电力故障或某些其它类型的错误可能导致高速缓冲存储器的内容丢失。
诸如IBMTM Enterprise Storage Server TM(企业存储服务器)(ESS)的某些存储控制器可配置有复制服务功能性,包括(但不限于)快闪复制、对等远程复制、扩展远程复制和并行复制,其帮助备份数据和从灾难性故障中进行恢复。在复制服务(CS)操作期间,产生多字段CS元数据,并由存储控制器来保存它。CS元数据包括关于任意时间点处的复制服务操作状态的信息,例如内部设置、源和目的地地址、以及关于正被复制的数据状态的其它数据。因此,如果控制器掉电或遭遇某些其它中断事件,则可以重新启动该控制器,读取元数据,将CS操作还原到中断点,并随后重新开始并完成该CS操作。
在IBM ESS的较早版本中,CS元数据被保存在直接由客户端更新的26KB内存储结构中。在更新期间,即使只更新少数字段,也将整个结构写入盘中,并且不记录元数据的哪些字段被改变。在后续版本中,CS控制数据的26KB结构被映射到7个8KB的全局(global)元数据轨道。在更新期间,仅将包含所更新的字段的元数据轨道写入盘中。尽管改进了原来的处理过程,但是仍然不记录哪些字段被更新。当把8KB轨道写入盘中时,该轨道被划分为3部分,并且每个部分是单个写入操作。为安全起见,将每一个完整的8KB轨道(full 8KB track)存储在3个分开的位置。因此,对单个元数据轨道的每次更新都需要9次写入操作。
实施了日志记录(journaling),以允许在非易失性存储器(NVS)中存储更新,从而提高了更新性能,并且在电力丧失或其它重大事件的情况下保存元数据。每个元数据轨道在NVS中具有对应页,其包括一连串的块,所述块包含识别正在执行的操作和正在修改的高速缓冲存储器中的数据的日志条目序列。在恢复操作期间,可以将元数据从盘送入高速缓冲存储器,并施加先前记录在日志条目中的变化,从而将元数据还原成具有最近版本的数据。尽管如此,仍然可能不能明确地识别修改过的字段。此外,众所周知,NVS相对于其它类型的存储器来说较为昂贵,因此希望尽可能地限制其使用。
在这种早先的***中,当客户端请求访问元数据轨道、例如更新该轨道中的一个或多个字段时,需要大量控制器资源来提供诸如日志访问、轨道访问、任务控制块(TCB)分配和轨道锁定(用来确保一次只有一个进程具有对目标数据的访问权)的功能。这种资源使用使控制器处理器停顿。此外,在此之前,客户端具有对元数据轨道的完全访问权,从而会使它们遭受可能的覆写和其它破坏完整性的风险。元数据轨道还可能由于诸如存储器覆写、失效转移(failover)/电力丧失、或者坏纵向冗余校验(LRC)的很多原因中的任意一种而变为无效。例如,在错误处理恢复期间,检查LRC,并且如果不正确,则将该轨道标记为无效。将认识到,不应做出访问或更新无效元数据的尝试。
因此,仍然希望有更高效和全面地管理元数据,诸如复制服务元数据。
发明内容
本发明提供用于管理存储子***中的元数据的方法。从客户端接收呼叫(call),以更新元数据轨道的一部分。通过使用操作码,要更新的元数据轨道的至少一个字段连同所述至少一个字段的更新类型一起被接收。然后,利用所述至少一个字段的特性(identity)以及相关更新值来填充(populate)客户端接口的数据结构字段,并且利用更新类型来填充客户端接口的操作码字段。
在一个实施例中,随后将任务控制块(TCB)分配给客户端呼叫。在TCB的指导下,获得锁定,由此防止其它客户端访问包含所述要更新的至少一个字段的元数据轨道,将元数据轨道送入高速缓冲存储器,将所述至少一个字段复制到TCB,施加更新类型以便将所述至少一个字段的更新值映射到该元数据轨道,并且将元数据复制到TCB中。最后,将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回(destage)。以这种方式,仅仅收集关于对可能较大数量的结构的改变的最少量的信息。保存关于哪些字段被修改过的信息,从而允许日志记录和选择性送回。此外,来自客户端的单个呼叫启动若干功能,从而提高元数据访问的效率和可用性。
在另一实施例中,在读取包含所述要更新的至少一个字段的元数据轨道之后,使该元数据轨道有效,其后,施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道,并将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。这样,本发明提供按需轨道有效化,以确保请求访问元数据的客户端具有有效的元数据。
本发明还提供用于配置(deploy)管理存储子***中的元数据的计算基础设施的***、计算机程序产品和方法。
附图说明
图1是本发明的元数据管理***的方框图;
图2是可用来实现本发明的一系列元数据轨道的图示;
图3是本发明的客户端接口的图示;以及
图4、5和6是本发明的方法的流程图。
具体实施方式
图1是实施本发明的元数据管理的存储控制器100的方框图。控制器100通过网络10附接到至少一个客户端***12。控制器100还附接到至少一个存储设备14,例如直接存取存储设备(DASD)。
控制器100包括处理器102、用于存储具有可由处理器102执行的指令的计算机可读代码的通用存储器104、高速缓冲存储器106和非易失性存储器(NVS)108。控制器100还包括日志记录区110和存储管理软件120,它们实际上均可被存储在存储器104中。控制器100包括处理器102、用于存储具有可由处理器102执行的指令的计算机可读代码的通用存储器104、高速缓冲存储器106和非易失性存储器(NVS)108。NVS 108包括日志记录区110;控制器100还包括实际上可存储在存储器104中的存储管理软件120。存储管理软件120可包括复制服务(CS)代码122和元数据管理代码132。复制服务代码122可包括但不限于对等远程复制(PPRC)功能124、扩展远程复制(XRC)功能126、并行复制(CC)128和/或快闪复制或时间点(point-in-time)复制功能130。这种服务帮助备份数据、复制数据和从灾难性故障中进行恢复。
存储管理软件120还包括任务控制块112、配置为一个或多个逻辑卷136的一个或多个逻辑子***(LSS)134以及存储设备驱动器142。在某些存储控制器中,高速缓冲存储器106和NVS 108都可以是存储器104中的微码构造,所述微码构造由设备驱动器142配置,并被视为设备驱动器142的一部分。
存储设备14可配置为具有客户数据16和元数据18的轨道。如前面所述,元数据可以是全局的、与对应的客户数据分开存储(如图1所示),或者是分段的、与对应的客户数据一起存储。
还参考图4的流程图,在操作中,控制器100从客户端12接收呼叫(步骤400),以便访问和更新存储在存储设备14中的元数据轨道的一部分。在某些IBM产品中,元数据被存储为7个8KB轨道200A-200G(图2)。然而,将意识到,本发明的范围不受在此描述的元数据轨道的数目和大小的限制。每个轨道200包括多个字段202。接口300(图3)被提供给客户端12(步骤402),并用来向控制器100提供信息。接口300包括数据结构字段302和操作码字段304。将利用要更新的字段的标识和相关更新值来填充数据结构字段302(步骤404)。将利用所请求的更新的类型来填充操作码字段304(步骤406)。更新类型可包括但不限于‘建立PPRC路径’、‘终止PPRC路径’、‘建立PPRC对’、‘终止PPRC对’、‘建立XRC会话’和‘终止XRC会话’。
在本发明的一个实施例中(图5),接下来,将任务控制块(TCB)112分配给客户端呼叫(步骤500)。为了防止其它进程试图访问该元数据轨道,获得锁定(步骤502)。在TCB 112的指导下,可以在不进一步牵涉客户端的情况下执行以下全部操作:首先,将包含要更新的字段的元数据轨道从存储设备14送入高速缓冲存储器106(步骤504)。将要更新的字段复制到TCB 112(步骤506)。接下来,基于接口300的操作码字段304中的更新类型,将包含在数据结构字段302中的更新值映射到元数据轨道(步骤508)。然后,将元数据复制到TCB 112,以供呼叫的客户端使用(步骤510)。将对接口300的控制权返还给客户端12(步骤512)。这样,仅仅客户端12的单个呼叫或请求对于启动通过单个TCB分配所需资源是必需的。此外,仅仅向客户端12提供那些被更新的字段,从而防止元数据被无意中覆写,并允许仅仅所更新的字段的选择性送回。并且,更新结构信息302和操作码304将足以在日志恢复的情况下应用更新。
在另一实施例(图6)中,在填充了接口300的字段302、304(步骤406)之后,检验包含要更新的字段的元数据轨道(步骤600)。首先,检查该轨道的状态(步骤602)。可能的状态可包括但不限于有效、‘无效’、‘CST’(清除所有轨道)、‘CST挂起’和‘更新进行中’。如果该状态被确定为不同于‘有效’,则采取步骤以便将其状态改变为‘有效’(步骤604)。与在前面的段落中描述的实施例相结合,可以在TCB的指导下执行轨道的有效化。作为示例而不是限制,如果所述状态表明更新被中断,则可以如上面引用的美国申请序列号No.__[IBM文档#TUC920040175]回退或继续(rolled back or forward)执行更新。如果状态是‘无效’,则执行日志恢复,以便将所有成功的更新施加到该轨道。如果状态是‘CST挂起’,则将完成CST操作。在使轨道有效之后,基于接口300的操作码字段304中的更新类型,将包含在数据结构字段302中的更新值映射到元数据轨道(步骤606)。然后,将元数据复制到TCB 112,以供呼叫客户端使用(步骤608)。将对接口300的控制权返还给客户端12(步骤610)。这样,仅将有效更新放置在高速缓冲存储器106中,其后,将具有修改的字段的元数据轨道送入存储设备114。
在另一实施例中,按照这样的方式将元数据轨道的字段分组,即,将在特定更新类型期间有可能被更新的那些字段一起放在第一组中,而将在不同更新类型期间有可能被更新的那些字段一起放在第二组中。这样,基于由客户端12返回给控制器100的更新类型,向客户端12提供了要填充的字段,而其它字段保持为不能被客户端触及。
重要的是应注意:尽管在全功能数据处理***的环境中描述了本发明,但是本领域普通技术人员将认识到,本发明的过程能够以指令的计算机可读介质的形式以及各种形式分发,并且不管实际用来进行该分发的特定类型的信号承载介质是什么,本发明都是适用的。计算机可读介质的示例包括诸如软盘、硬盘驱动器、RAM和CD-ROM的可记录型介质以及诸如数字和模拟通信链路的传输型介质。
出于说明和描述的目的而提供了对本发明的描述,但其意图不是毫无遗漏的或者限于所公开的形式的本发明。对本领域普通技术人员来说,很多修改和改变都将是明显的。为了最佳地解释本发明的原理、实际应用,并使其它的本领域普通技术人员能够理解用于适合于所考虑的特定用途的、带有各种修改的各种实施例的本发明,选择和描述了所述实施例。此外,尽管在上面对方法和***进行了描述,但是也可以利用包含用于管理元数据的指令的计算机程序产品、或者用来配置计算基础设施的方法来满足本领域的需要,其中,所述方法包括将计算机可读代码集成到计算***中以管理元数据。

Claims (48)

1.一种用于管理存储子***中的元数据的方法,包括:
从客户端接收呼叫,以更新元数据轨道的一部分;
从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;
利用所述至少一个字段的特性和相关更新值来填充客户端接口的数据结构字段;
利用更新类型来填充客户端接口的操作码字段;
将任务控制块(TCB)分配给客户端呼叫;
获得锁定,由此防止其它客户端访问该元数据轨道;
在TCB的指导下:
将包含所述要更新的至少一个字段的元数据轨道送入高速缓冲存储器;
将所述至少一个字段复制到TCB;
施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;和
将元数据复制到TCB中;以及
将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。
2.如权利要求1所述的方法,还包括在读取包含所述要更新的至少一个字段的元数据轨道之后,在TCB的指导下使元数据轨道有效。
3.如权利要求2所述的方法,其中,使元数据轨道有效包括:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则执行该元数据轨道的日志恢复。
4.如权利要求2所述的方法,其中,使元数据轨道有效包括:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
5.如权利要求1所述的方法,还包括:
创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及
响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;
由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
6.如权利要求1所述的方法,其中,所述元数据包括复制服务元数据。
7.一种用于管理存储子***中的元数据的方法,包括:
从客户端接收呼叫,以更新元数据轨道的一部分;
从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;
利用所述至少一个字段的特性和相关更新值填充客户端接口的数据结构字段;
利用更新类型填充客户端接口的操作码字段;
读取包含所述要更新的至少一个字段的元数据轨道;
在读取包含所述要更新的至少一个字段的元数据轨道之后,使该元数据轨道有效;
施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;以及
将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。
8.如权利要求7所述的方法,其中,使元数据轨道有效包括:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则执行该元数据轨道的日志恢复。
9.如权利要求7所述的方法,其中,使元数据轨道有效包括:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
10.如权利要求7所述的方法,还包括:
创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及
响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;
由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
11.如权利要求7所述的方法,还包括获得锁定,由此防止其它客户端访问该元数据轨道。
12.如权利要求7所述的方法,其中,所述元数据包括复制服务元数据。
13.一种用于管理存储子***中的元数据的***,包括:
用于从客户端接收呼叫以便更新元数据轨道的一部分的装置;
用于从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值以及所述至少一个字段的更新类型的装置;
客户端接口,包括:
数据结构字段,用于保存所述至少一个字段的特性以及相关更新值;和
操作码字段,用于保存更新类型;
任务控制块(TCB),被分配给客户端呼叫,并且可用来在获得锁定之后指导以下操作,由此防止其它客户端访问元数据轨道:
将包含所述要更新的至少一个字段的元数据轨道送入高速缓冲存储器;
将所述至少一个字段复制到TCB;
施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;和
将元数据复制到TCB中;以及
用于将对客户端接口的控制权返还给客户端、由此随后将具有要更新的字段的元数据轨道送回的装置。
14.如权利要求13所述的***,其中,TCB还用来指导在读取了元数据轨道之后的使元数据轨道有效。
15.如权利要求14所述的***,其中,在使元数据轨道有效期间,TCB还用来指导:
确定元数据是否处于有效状态;以及
如果元数据轨道不处于有效状态,则进行元数据轨道的日志恢复。
16.如权利要求14所述的***,其中,在使元数据轨道有效期间,TCB还用来指导:
确定元数据轨道是否处于有效状态;以及
如果元数据轨道不处于有效状态,则对元数据轨道执行清除状态轨道(CST)操作。
17.如权利要求13所述的***,还包括:
用于创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集的装置,每个访问操作由更新类型识别;以及
用于响应于客户端呼叫而向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集的装置;
由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
18.如权利要求13所述的***,其中,所述元数据包括复制服务元数据。
19.一种用于管理存储子***中的元数据的***,包括:
用于从客户端接收呼叫以更新元数据轨道的一部分的装置;
用于从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值以及所述至少一个字段的更新类型的装置;
客户端接口,包括:
数据结构字段,用于保存所述至少一个字段的特性和相关更新值;和
操作码字段,用于保存更新类型;
任务控制块(TCB),被分配给客户端呼叫,并用来在获得锁定之后指导以下操作,由此防止其它客户端访问该元数据轨道:
将包含所述要更新的至少一个字段的元数据轨道送入高速缓冲存储器;
将所述至少一个字段复制到TCB;
在读取元数据轨道之后使该元数据轨道有效;
用于将对客户端接口的控制权返还给该客户端、由此随后将具有要更新的字段的元数据轨道送回的装置。
20.如权利要求19所述的***,其中,在使元数据轨道有效期间,TCB还用来指导:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则执行元数据轨道的日志恢复。
21.如权利要求19所述的***,其中,在使元数据轨道有效期间,TCB还用来指导:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
22.如权利要求19所述的***,还包括:
用于创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集的装置,每个访问操作由更新类型识别;以及
用于响应于客户端呼叫而向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集的装置;
由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
23.如权利要求19所述的***,其中,TCB还用来指导锁定的获得,由此在读取元数据轨道之后防止其它客户端访问该元数据轨道。
24.如权利要求19所述的***,其中,所述元数据包括复制服务元数据。
25.一种可与可编程计算机一起使用的计算机可读介质的计算机程序产品,该计算机程序产品具有在其中实施的、用于管理存储子***中的元数据的计算机可读代码,该计算机可读代码包括用于以下操作的指令:
从客户端接收呼叫,以便更新元数据轨道的一部分;
从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;
利用所述至少一个字段的特性和相关更新值来填充客户端接口的数据结构字段;
利用更新类型来填充客户端接口的操作码字段;
获得锁定,由此防止其它客户端访问该元数据轨道;
将任务控制块(TCB)分配给客户端呼叫;
在TCB的指导下:
将包含所述要更新的至少一个字段的元数据轨道送入高速缓冲存储器;
将所述至少一个字段复制到TCB;
施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;和
将元数据复制到TCB中;以及
将对客户端接口的控制权返还给该客户端,由此,随后将具有要更新的字段的元数据轨道送回。
26.如权利要求25所述的计算机程序产品,其中,所述指令还包括:在读取包含所述要更新的至少一个字段的元数据轨道之后,在TCB的指导下使该元数据轨道有效。
27.如权利要求26所述的计算机程序产品,其中,用于使元数据轨道有效的指令包括用于以下操作的指令:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则执行元数据轨道的日志恢复。
28.如权利要求26所述的计算机程序产品,其中,用于使元数据轨道有效的指令包括用于以下操作的指令:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
29.如权利要求25所述的计算机程序产品,其中,所述指令还包括:
创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及
响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;
由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
30.如权利要求25所述的计算机程序产品,其中,所述元数据包括复制服务元数据。
31.一种可与可编程计算机一起使用的计算机可读介质的计算机程序产品,该计算机程序产品具有在其中实施的、用于管理存储子***中的元数据的计算机可读代码,该计算机可读代码包括用于以下操作的指令:
从客户端接收呼叫,以便更新元数据轨道的一部分;
从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;
利用所述至少一个字段的特性和相关更新值来填充客户端接口的数据结构字段;
利用更新类型来填充客户端接口的操作码字段;
读取包含所述要更新的至少一个字段的元数据轨道;
在读取包含所述要更新的至少一个字段的元数据轨道之后,使该元数据轨道有效;
施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;以及
将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。
32.如权利要求31所述的计算机程序产品,其中,用于使元数据轨道有效的指令包括用于以下操作的指令:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则执行元数据轨道的日志恢复。
33.如权利要求31所述的计算机程序产品,其中,用于使元数据轨道有效的指令包括用于以下操作的指令:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
34.如权利要求31所述的计算机程序产品,还包括用于以下操作的指令:
创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及
响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;
由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
35.如权利要求31所述的计算机程序产品,还包括用于获得锁定由此防止其它客户端访问所述元数据轨道的指令。
36.如权利要求31所述的计算机程序产品,其中,所述元数据包括复制服务元数据。
37.一种用于配置计算基础设施的计算机程序产品,包括将计算机可读代码集成到计算***中,其中与计算***相结合的代码能够执行以下操作:
从客户端接收呼叫,以便更新元数据轨道的一部分;
从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;
利用所述至少一个字段的特性和相关更新值来填充客户端接口的数据结构字段;
利用更新类型来填充客户端接口的操作码字段;
将任务控制块(TCB)分配给客户端呼叫;
获得锁定,由此防止其它客户端访问该元数据轨道;
在TCB的指导下:
将包含所述要更新的至少一个字段的元数据轨道送入高速缓冲存储器;
将所述至少一个字段复制到TCB;
施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;和
将元数据复制到TCB中;以及
将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。
38.如权利要求37所述的方法,其中,所述代码还能够在读取包含所述要更新的至少一个字段的元数据轨道之后在TCB的指导下使元数据轨道有效。
39.如权利要求38所述的方法,其中,用于使元数据轨道有效的代码包括能够执行以下操作的代码:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则执行元数据轨道的日志恢复。
40.如权利要求38所述的方法,其中,用于使元数据轨道有效的代码包括能够执行以下操作的代码:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
41.如权利要求37所述的方法,其中,所述代码还能够:
创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及
响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;
由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
42.如权利要求37所述的方法,其中,所述元数据包括复制服务元数据。
43.一种用于配置计算基础设施的方法,包括将计算机可读代码集成到计算***中,其中,与计算***组合的代码能够执行以下操作:
从客户端接收呼叫,以便更新元数据轨道的一部分;
从客户端接收识别要更新的元数据轨道的至少一个字段的数据、所述要更新的至少一个字段的相关更新值、以及所述至少一个字段的更新类型;
利用所述至少一个字段的特性和相关更新值来填充客户端接口的数据结构字段;
利用更新类型来填充客户端接口的操作码字段;
读取包含所述要更新的至少一个字段的元数据轨道;
在读取包含所述要更新的至少一个字段的元数据轨道之后,使该元数据轨道有效;
施加更新类型,以便将所述至少一个字段的更新值映射到元数据轨道;以及
将对客户端接口的控制权返还给客户端,由此,随后将具有要更新的字段的元数据轨道送回。
44.如权利要求43所述的方法,其中,用于使元数据轨道有效的代码能够执行以下操作:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则执行元数据轨道的日志恢复。
45.如权利要求43所述的方法,其中,用于使元数据轨道有效的代码能够执行以下操作:
确定元数据轨道是否处于有效状态;以及
如果该元数据轨道不处于有效状态,则对该元数据轨道执行清除状态轨道(CST)操作。
46.如权利要求43所述的方法,其中,所述代码还能够:
创建在对应的客户端的多个预定访问操作期间可能被更新的元数据字段的多个子集,每个访问操作由更新类型识别;以及
响应于客户端呼叫,向客户端发送与由客户端提供的更新类型相对应的元数据字段的子集;
由此,向客户端赋予仅仅对在由更新类型识别的操作期间有可能被更新的元数据轨道的那些字段的访问权。
47.如权利要求43所述的方法,其中,所述代码还能够获得锁定,由此防止其它客户端访问该元数据轨道。
48.如权利要求43所述的方法,其中,所述元数据包括复制服务元数据。
CNB2005101247271A 2004-11-18 2005-11-16 管理存储子***中元数据的方法、***和计算机程序产品 Expired - Fee Related CN100440214C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/993,022 2004-11-18
US10/993,022 US8856467B2 (en) 2004-11-18 2004-11-18 Management of metadata in a storage subsystem

Publications (2)

Publication Number Publication Date
CN1776676A true CN1776676A (zh) 2006-05-24
CN100440214C CN100440214C (zh) 2008-12-03

Family

ID=36387767

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101247271A Expired - Fee Related CN100440214C (zh) 2004-11-18 2005-11-16 管理存储子***中元数据的方法、***和计算机程序产品

Country Status (2)

Country Link
US (1) US8856467B2 (zh)
CN (1) CN100440214C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294786A (zh) * 2013-05-17 2013-09-11 华中科技大学 一种分布式文件***的元数据组织管理方法和***
CN110333883A (zh) * 2019-05-31 2019-10-15 厦门网宿有限公司 一种更新持久化数据的方法及装置
CN112416957A (zh) * 2020-11-20 2021-02-26 上海幻电信息科技有限公司 基于数据模型层的数据增量更新方法、装置及计算机设备

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060106873A1 (en) * 2004-11-18 2006-05-18 International Business Machines (Ibm) Corporation Selective clearing of persistent metadata in a storage subsystem
US8676748B2 (en) * 2004-11-18 2014-03-18 International Business Machines Corporation Clearing metadata tracks in a storage system
US7533215B2 (en) * 2005-09-15 2009-05-12 Intel Corporation Distributed and packed metadata structure for disk cache
US8332581B2 (en) * 2007-08-13 2012-12-11 International Business Machines Corporation Stale track initialization in a storage controller
US20090049226A1 (en) * 2007-08-13 2009-02-19 Ibm Corporation Stale track initialization in a storage controller
US20120254547A1 (en) 2011-03-31 2012-10-04 International Business Machines Corporation Managing metadata for data in a copy relationship
US9471499B2 (en) * 2013-05-20 2016-10-18 Globalfoundries Inc. Metadata management
US10223208B2 (en) * 2013-08-13 2019-03-05 Sandisk Technologies Llc Annotated atomic write
US20150363319A1 (en) * 2014-06-12 2015-12-17 Netapp, Inc. Fast warm-up of host flash cache after node failover
US9471505B2 (en) 2015-02-07 2016-10-18 International Business Machines Corporation Efficient multi-threaded journal space reclamation
US9483408B1 (en) * 2015-04-09 2016-11-01 International Business Machines Corporation Deferred metadata initialization
KR20170083868A (ko) * 2016-01-11 2017-07-19 삼성전자주식회사 데이터 이동 장치 및 데이터 이동 방법
US11055300B2 (en) 2016-09-26 2021-07-06 Splunk Inc. Real-time search techniques
US10782893B2 (en) * 2017-02-22 2020-09-22 International Business Machines Corporation Inhibiting tracks within a volume of a storage system
US10552061B2 (en) 2017-08-08 2020-02-04 International Business Machines Corporation Providing preferential access to a metadata track in two track writes
US10210086B1 (en) 2017-08-16 2019-02-19 International Business Machines Corporation Fast cache demotions in storage controllers with metadata
US10565109B2 (en) * 2017-09-05 2020-02-18 International Business Machines Corporation Asynchronous update of metadata tracks in response to a cache hit generated via an I/O operation over a bus interface
US10715883B2 (en) * 2017-09-06 2020-07-14 Rovi Guides, Inc. Systems and methods for generating summaries of missed portions of media assets
US10552330B2 (en) * 2017-12-07 2020-02-04 International Business Machines Corporation Wait classified cache writes in a data storage system
US11252483B2 (en) 2018-11-29 2022-02-15 Rovi Guides, Inc. Systems and methods for summarizing missed portions of storylines
US11726851B2 (en) * 2019-11-05 2023-08-15 EMC IP Holding Company, LLC Storage management system and method
US11567687B2 (en) * 2020-01-29 2023-01-31 EMC IP Holding Company LLC Uninterrupted block-based restore using a virtual container

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8613068D0 (en) 1986-05-29 1986-07-02 Univ Manchester Delay management
US5410667A (en) 1992-04-17 1995-04-25 Storage Technology Corporation Data record copy system for a disk drive array data storage subsystem
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
US5778168A (en) 1995-09-11 1998-07-07 Sun Microsystems, Inc. Transaction device driver technique for a journaling file system to ensure atomicity of write operations to a computer mass storage device
US5870753A (en) 1996-03-20 1999-02-09 International Business Machines Corporation Method and apparatus for enabling a persistent metastate for objects in an object oriented environment
US5897661A (en) 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
JPH10320205A (ja) 1997-05-20 1998-12-04 Fujitsu Ltd 情報処理装置
US6697846B1 (en) 1998-03-20 2004-02-24 Dataplow, Inc. Shared file system
US6769124B1 (en) 1998-07-22 2004-07-27 Cisco Technology, Inc. Persistent storage of information objects
US6292869B1 (en) 1998-08-31 2001-09-18 International Business Machines Corporation System and method for memory scrub during self timed refresh
US6298425B1 (en) 1999-01-12 2001-10-02 Compaq Computer Corp. Computer disk management system using doublet A-B logging
US6502174B1 (en) * 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data
US6725392B1 (en) 1999-03-03 2004-04-20 Adaptec, Inc. Controller fault recovery system for a distributed file system
US6438661B1 (en) 1999-03-03 2002-08-20 International Business Machines Corporation Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache
US6339793B1 (en) 1999-04-06 2002-01-15 International Business Machines Corporation Read/write data sharing of DASD data, including byte file system data, in a cluster of multiple data processing systems
AU6016600A (en) 1999-07-14 2001-02-05 Matsushita Electric Industrial Co., Ltd. Apparatus for providing information, information receiver and storage medium
BR0016186A (pt) * 1999-12-07 2003-05-27 Data Foundation Inc Arquitetura de armazenamento escalável
AU2001263314A1 (en) * 2000-05-22 2001-12-03 Realnetworks, Inc. System and method of organizing and editing metadata
US6714930B1 (en) 2000-05-31 2004-03-30 International Business Machines Corporation Lightweight directory access protocol, (LDAP) trusted processing of unique identifiers
US6751705B1 (en) 2000-08-25 2004-06-15 Silicon Graphics, Inc. Cache line converter
US20020112125A1 (en) 2000-12-18 2002-08-15 Copeland George P. Command caching to improve network server performance
FI20011871A (fi) 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
TW533354B (en) 2001-11-07 2003-05-21 Via Tech Inc Control chip having multi-layer defer queue and the operating method thereof
US7509248B2 (en) 2001-11-14 2009-03-24 Intel Corporation Generic persistence engine
US6832290B2 (en) 2002-03-12 2004-12-14 International Business Machines Corporation Method, system, program, and data structures for maintaining metadata in a storage system
US20030236582A1 (en) * 2002-06-25 2003-12-25 Lee Zamir Selection of items based on user reactions
US7228357B2 (en) * 2002-09-23 2007-06-05 Sharp Laboratories Of America, Inc. System and method for automatic digital document processing
US7743022B2 (en) * 2003-02-28 2010-06-22 Microsoft Corporation Method and system for synchronizing data shared among peer computing devices

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294786A (zh) * 2013-05-17 2013-09-11 华中科技大学 一种分布式文件***的元数据组织管理方法和***
CN110333883A (zh) * 2019-05-31 2019-10-15 厦门网宿有限公司 一种更新持久化数据的方法及装置
CN110333883B (zh) * 2019-05-31 2023-05-16 厦门网宿有限公司 一种更新持久化数据的方法及装置
CN112416957A (zh) * 2020-11-20 2021-02-26 上海幻电信息科技有限公司 基于数据模型层的数据增量更新方法、装置及计算机设备
CN112416957B (zh) * 2020-11-20 2023-12-29 上海幻电信息科技有限公司 基于数据模型层的数据增量更新方法、装置及计算机设备

Also Published As

Publication number Publication date
CN100440214C (zh) 2008-12-03
US20060106971A1 (en) 2006-05-18
US8856467B2 (en) 2014-10-07

Similar Documents

Publication Publication Date Title
CN100440214C (zh) 管理存储子***中元数据的方法、***和计算机程序产品
US7246211B1 (en) System and method for using file system snapshots for online data backup
US9671967B2 (en) Method and system for implementing a distributed operations log
US7318135B1 (en) System and method for using file system snapshots for online data backup
CN103365743B (zh) 用于在计算环境中处理快照的方法和***
US7840536B1 (en) Methods and apparatus for dynamic journal expansion
US8074035B1 (en) System and method for using multivolume snapshots for online data backup
US7543181B2 (en) Recovery from failures within data processing systems
JP3737741B2 (ja) バックアップ・コピーの作成方法および装置
US7516287B2 (en) Methods and apparatus for optimal journaling for continuous data replication
US7860836B1 (en) Method and apparatus to recover data in a continuous data protection environment using a journal
US7627612B2 (en) Methods and apparatus for optimal journaling for continuous data replication
US8738575B2 (en) Data recovery in a hierarchical data storage system
US5684991A (en) Modification metadata set, abstracted from database write requests
CN100507821C (zh) 用于存储区域网络内部的分配数据的方法和装置
US20040215998A1 (en) Recovery from failures within data processing systems
CN104050094A (zh) 管理高速缓存存储区的***、方法和计算机可读介质
CN101361048A (zh) 在信息生命周期管理环境中将文件恢复到其适当的存储级
CN101080715B (zh) 用于管理二进制大对象的***和方法
JP5012628B2 (ja) メモリデータベース、メモリデータベースシステム及びメモリデータベース更新方法
CN100410938C (zh) 用于清除存储***中元数据轨道的方法和***
WO2012082146A1 (en) System reset
CN103890708A (zh) 数据恢复期间的数据访问
US8019953B2 (en) Method for providing atomicity for host write input/outputs (I/Os) in a continuous data protection (CDP)-enabled volume using intent log
CN102460415A (zh) 用于虚拟盘版本控制的***

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

Termination date: 20201116

CF01 Termination of patent right due to non-payment of annual fee