DASD-free non-volatile updates

Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S162000, C707S793000, C714S006130

Reexamination Certificate

active

06678787

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to the managing of data sets stored within storage subsystems. More particularly, the invention relates to a method and apparatus for managing update information of data sets stored in a storage subsystem.
BACKGROUND OF THE INVENTION
A Storage Subsystem (SS) typically consists of a plurality of Direct Access Storage Devices (DASD), a fast Random Access Memory (RAM) device, also known as “Cache memory”, and a Non-Volatile RAM (NVRAM). A magnetic storage media (e.g., hard disks, tapes, etc.) usually implements the DASDs, and this is where the data is eventually stored. The Cache memory device is utilized to enable fast I/O interactions, with Hosts and/or other devices, to take place. Therefore, it is usually implemented from fast RAM devices (e.g., SRAM), which are volatile. The NVRAM is usually implemented by a battery backed-up RAM, or by types of flash memories, and their functioning and management is of critical importance for the SS operation, as will be explained hereinafter.
Hard Disk Drives (HDD) are commonly utilized as the main storage device for DASD implementations. HDDs are relatively cheap and non-volatile storage devices, which have a substantially large capacity. These devices are usually comprised of circular magnetic mediums (disks) and read/write magnetic heads. To enable the magnetic heads to efficiently locate data stored on the HDD's disks, the stored data is organized in Tracks, Sectors and Clusters. Each disk is divided into a number of concentric circles, so-called Tracks. The HDDs disks are also partitioned into “pie slices”, known as Sectors. Each of the disk's Sectors consists of Clusters, comprising the smallest storage unit of data on HDD's disk (typically 256 or 512 Bytes in length).
The HDD disks rotate continuously, and in order to reach a specific location on the disk, the magnetic heads are located over the respective disk Track, where they wait for the required Sector and Cluster on the rotating disk. From this type of operation the HDD's characteristics are derived, these being the latency time, and bandwidth. The latency time is derived from the velocity at which the magnetic heads may be moved from one Track to another. The bandwidth is derived from the circular velocity of the HDD's disks, and actually indicates the read/write rate (Bytes per second), once the magnetic heads are properly located.
Another important factor, which influences the operation of HDDs, is that data may be read/write only at the Cluster level. This means that in order to read/write a single Byte, the operation is performed on the entire Cluster, in which this Byte is located. The limitation imposed by the latency time, Bandwidth and the Cluster read/write operation makes it very attractive to perform HDD transactions in the Track level. The performance is substantially improved when the read/write operation of consecutive disk Clusters is performed.
The limited Bandwidth and the latency time impose low-resolution operation of the HDDs, and therefore the main data stream is directed to/from the Cache device to reduce the access to the DASDs. In general, the Cache memory is utilized as a temporary storage device for incoming and outgoing data. In this way, the data is written to the Cache device at first, so that the DASD's I/O transactions are actually performed between an I/O device and a fast Cache memory device. This allows an efficient HDD operation, and on the other hand, I/O transactions are performed substantially faster.
However, the Cache memory is volatile, and therefore vulnerable to power-and other failures (failures that may result in the loss of the Cache memory content). Therefore, usually, a copy of the Cache content is stored on the NVRAM, and the data sets on the DASDs are updated on the base of Least Recently Used (LRU) policies. The NVRAMs, on the other hand, are relatively expensive, and therefore they are usually small in terms of memory size, generally too small to hold all the modified data sets required. To solve the foregoing problem, special algorithms (e.g., LRU algorithms) are utilized to enable an efficient Cache management.
This is particularly relevant when dealing with Control Data (CD). These data are utilized to manage and control the SS operations. CD usually has a special structure which enables efficient encoding. For example, bit map images are often utilized to designate changes made to the copies of data sets stored in different locations. In this way, for each data set there is a corresponding bit, in the bit map image, such that when changes are applied to the content of this data set, the state of the bit is altered to designate that the copies are no longer even. Typically, the content of consecutive bits is changed, and changing a single bit is relatively rare. The updates of this type of CD may be easily encoded to a structure consisting of the change (i.e., 0→1 or 1←0) and the range of bits that changed their state.
The CD Sets (CDS) are preferably stored on the DASDs. Since changes are frequently being made to fractions of the CDSs, they are copied to the Cache memory, and modified on the DASD in an LRU base. The copy of the CDS on the Cache memory may be updated frequently, but this copy of updated CDS is vulnerable and volatile. Therefore, any change applied to the CDS stored on the Cache memory is efficiently encoded into an update record, which is then stored in the NVRAM. As previously discussed, the size of the NVRAM is relatively small, and therefore it cannot contain all the required update information. This problem is typically resolved by applying the modified information, stored in the Cache memory, to the appropriate CDS stored on the DASD, and thereby, freeing NVRAM memory space and actually updating the original CDSs.
It should be clear that by applying the update information to the CDSs on the DASD, it is meant that the updated CDSs stored on the Cache memory are copied to the appropriate DASD tracks. Thereby the CDSs track on the DASD becomes an up-to-date CDSs copy, and the appropriate updates that are stored on the NVRAM may be removed and reused for storage of further update records.
To enable automatic recovery from a lost or damaged CDS, a journal of CDSs changes is maintained. The journal data set (hereinafter referred to as the “journal of changes”) contains each change (in encoded format) made to the CDSs since the last time the CDSs was successfully copied from the Cache memory to their DASD tracks. In the event of losing the content of the Cache memory, the CDSs are recovered by applying the changes reflected by the update records that are stored in the journal of changes stored (on the NVRAM) with the copy of the CDSs maintained on the DASDs.
The Track Set Manager (TSM) implementation in the IBMs Enterprise Storage Server (ESS), utilizes a similar method, i.e., maintaining a journal of changes. In the ESS's TSM the CDSs are stored in the Cache memory, where they are subject to rapid changes. The changes that are applied to the CDS stored in the Cache memory are encoded and stored on an NVRAM buffer. The TSM implementation divides the NVRAM partition into two distinct partitions, to enable an efficient management of the update information.
FIG. 1
schematically illustrates the method utilized in the ESS's TSM. The CDS is maintained in two different locations on disks
100
and
101
. A Checkpoint process alternately writes CDS from the Cache memory, to one of the DASD's copies (illustrated in lines
103
and
104
),
100
and
101
. All of the updates to a CDS are written to both of the disk Tracks
100
and
101
, over a period of two Checkpoint processes. The NVRAM buffer
112
is utilized to hold the encoded records of the updates that are applied to the copy of the CDSs on the Cache memory. As mentioned hereinbefore, the NVRAM buffer,
112
, is partitioned into two distinct sections,
113
and
114
. This structure enables the concurrent operations of storing update information, an

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

DASD-free non-volatile updates does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with DASD-free non-volatile updates, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and DASD-free non-volatile updates will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3229476

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.