EP0465019A2

Methods and apparatus for managing state identifiers for efficient recovery.

Abstract

A data processing system maintains logs for system and media recovery. The logs contain state identifiers each uniquely identifying the state of a corresponding section of a storage medium, such as a disk. The state identifiers are assigned after changes have been made such that they can be determined from the information in the logs. One implementation involves assigning state identifiers in a known sequence, such as in a monotonically increasing sequence of integers beginning with zero.

EP0465019A2, drawing sheet 1
Sheet 1 of 9

Term

Term ended

Projected expiry passed 11 June 2011, 15.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

35 claims: 10 independent, 25 dependent

  1. 1
    In a data processing system containing non-volatile storage media divided into a plurality of sections and accessible to at least a first node, the data processing system also including a plurality of logs each having information concerning updates made to the sections of the storage media, a method of managing the updates comprising the steps, performed by the first node, of:obtaining ownership of a selected one of the sections;extracting a state identifier associated with the selected section;making updates to the selected section;recording, into a portion of one of the logs, the extracted state identifier and information concerning the updates made to the selected section;associating the updated selected section with a new state identifier having a value that can be determined from the log portion;and    releasing ownership of the selected section.
  2. 15
    In a data processing system containing a disk system divided into a plurality of blocks which are accessible to a plurality of nodes, each of the nodes containing a data base cache and being associated with a log having information concerning updates to the sections of the storage media made by the associated node, a method of managing updates to the block comprising the steps, performed by one of the nodes, of:setting a lock on the selected block to prevent other nodes from making copies of the selected block until the lock is removed;reading into the data base cache in the one node a copy of a selected block;reading, from the selected block, a state identifier associated with the selected block, the state identifier having a value of zero or one of the positive integers;making updates to the selected block;recording, into a portion of the log associated with the one node, the state identifier read from the selected block and information about the updates made to the selected block;incrementing the extracted state identifier by one to form the new state identifier;storing the new state identifier into the updated selected block;and    writing the updated selected block with the new sequence identifier back to the disk.
  3. 16
    In a data processing system containing non-volatile storage media divided into a plurality of sections and accessible to at least one node and containing a plurality of logs for holding information concerning updates to the sections of the storage media, the node comprising:means for obtaining ownership of a selected one of the sections;means, coupled to the ownership obtaining means, for making updates to the selected section;means for extracting a state identifier associated with the selected section;means for making updates to the selected sections;means, coupled to the state identifier extracting means and to one of the logs, for recording into a portion of the log associated with the one node the extracted state identifier and information about the updates made to the selected section;means, coupled to the extracting means, for associating the updated selected section with a new state identifier having a value that can be determined from the log portion;and    means for releasing ownership of the selected section such that it will be associated with the new state identifier.
  4. 22
    The node in claims 21 wherein the means for releasing ownership of the selected section includes    means for removing the lock from the selected section.
  5. 26
    A data processing system comprising:non-volatile storage media divided into a plurality of sections;and    a plurality of logs having information concerning updates to the sections of the storage media    at least one node having access to said storage media and including    means for obtaining ownership of a selected one of the sections,    means, coupled to the ownership obtaining means, for making updates to the selected section,    means for extracting a state identifier associated with the selected section,    means, coupled to the state identifier extracting means and to one of the logs, for recording, into a portion of the log, the extracted state identifier and information about the updates made to the selected section,    means, coupled to the extracting means, for associating the updated selected section with a new state identifier having a value that can be determined from the log portion, and    means for releasing ownership of the selected section such that it will be associated with the new state identifier.
  6. 29
    The data processing system at claim 28, wherein the state identifier has one of a plurality of values which are ordered in a known sequence and    wherein the means for forming a new state identifier includes    means for setting the new state identifier to a value that is next in the known sequence after the value of the extracted state identifier.
  7. 31
    In a data processing system containing non-volatile storage media divided into a plurality of sections and accessible to a plurality of nodes, wherein each of the sections contains a section state identifier uniquely identifying a most recent set of updates made to that section, and wherein a selected one of the nodes is associated with a log having records, each of said records containing information identifying one of said sections, describing a set of updates made to the corresponding section media by the selected node, and listing a logged state identifier identifying the corresponding set of updates, a method of restoring the storage media to a desired state comprising the steps, performed by the selected node, of    retrieving one of the records in the log;accessing the one of the sections identified in the retrieved record;finding the section state identifier in the accessed section;and    applying the set of updates described in the retrieved log record if the found section state identifier is the same as the logged state identifier for the retrieved log record.
  8. 32
    In a data processing system containing non-volatile storage media divided into a plurality of sections and accessible to a plurality of nodes, wherein each of the sections contains a section state identifier uniquely identifying a most recent set of updates made to that section, and wherein a selected one of the nodes is associated with a log having records, each of said records containing information identifying one of said sections, describing a set of updates made to the corresponding section media by the selected node, and listing a logged state identifier identifying the corresponding set of updates, a method of restoring the storage media to a desired state comprising the steps, performed by the selected node for each of the desired records in the log associated with the selected node, of    retrieving one of the records in the log;accessing the one of the sections identified in the retrieved record;finding the section state identifier in the accessed section;and    applying the set of updates described in the retrieved log record to the acquired copy of the storage media if the found section state identifier is the same as the logged state identifier for the retrieved log record.
  9. 34
    In a data processing system containing nonvolatile storage media divided into a plurality of sections and accessible to a plurality of nodes, wherein each of the sections contains a section state identifier uniquely identifying a most recent set of updates made to that section, the state identifier having one of a plurality of values which are ordered in a known sequence, and wherein each of the nodes is associated with a log having records, each of said records containing information identifying one of said sections, describing a set of updates made to the corresponding section media by the associated node, and listing a logged state identifier identifying the corresponding set of updates, a method of restoring the storage media to a desired state comprising the steps, performed by the data processing system, of:acquiring a copy of the storage media from an archive storage;retrieving a next one of the records in a selected one of the logs;accessing the one of the sections identified in the next record;finding the section state identifier in the accessed block;applying the updates described in the retrieved log record if the found section state identifier is the same as the logged state identifier for the retrieved log record;selecting a different one of the logs if the found section state identifier has a greater value in the known sequence than the logged state identifier for the retrieved log record;and    repeating the method for any subsequent records of the selected log.
  10. 35
    The method of 34 wherein the steps are performed by a selected one of the nodes in the data processing system.