USPatentGranted
B2

Resynchronization of count key data with its corresponding meta data

Granted 14 Feb 2006 · no office action yet

Assignee: International Business Machines

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Kenneth W. Todd, David F. Mannenbach, Thomas C. Jarvis · Examiner: Donald Sparks · AU 2187 · TC 2100

Life of the patent

6 dated events
⤢ drag to zoom20042006200820102012201420162018202020222024ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A storage system, method of managing a storage system and program product for managing a storage system. Cache fast write (CFW) modified data may be provided to cache in count-key-data (CKD) tracks with associated meta data. A synchronization flag is included on a storage device with associated meta data for each CKD track stored. The cache directory control block (CDCB) includes a CDCB synchronization flag for each CKD track in cache memory. A mismatch in the synchronization flags from a failure during a transfer to storage indicates a storage device loss of synchronization between an accessed CKD track and stored associated meta data.

Description

5 parts
›BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is related to a data storage device or system and more particularly, to maintaining count-key-data (CKD) integrity in a data storage device or system.

2. Background Description

Mass storage devices, such as a Direct Access Storage Device (DASD), may store customer data in a Count-Key-Data (CKD) format. Meta data stored in a separate meta data track associated with each CKD track describes the associated CKD structure. The meta data, which may differ from CKD track to CKD track, is used to make track accesses and operations on the CKD data more efficient. Typical meta data may include for the associated CKD track such information as the CKD track format, the number of records on the CKD track, the number of sectors per record, the data field length and key field length of the records. Whenever a CKD track is format written, the meta data for the track is updated to reflect the new format of the CKD track.

Typically, data communications with DASD are cached in high performance memory for maximum input/output (I/O) performance. Non critical data, e.g., temporary data sets created during a sort job, may be maintained as cache fast write (CFW) modified in volatile memory, e.g., in high performance dynamic random access memory (DRAM). Since this is non-critical data with an acceptable risk of data loss, nothing is stored in non-volatile storage. So if the cache copy is lost, e.g., in a power failure, the data is lost as well as any indication that it was in cache or lost.

When a CKD track is format written as CFW modified, the updated meta data may be committed to the storage device before the formatted CKD track. Consequently, a failure before the new CKD track is committed may mean that the meta data does not match (is not synchronized to) its associated CKD track, e.g., if the cluster containing the modified CKD track crashes. If the uncommitted, perhaps, lost CKD track format differs from the previous CKD track format, then the meta data describes the uncommitted, lost CKD track, not the current, stale CKD track on the device. Since after the crash, the associated meta data for the CKD track does not match the format of the CKD track, re-accessing the CKD track subsequently, either for a read or an update/write operation, results in data errors, e.g., cyclic redundancy check (CRC), longitudinal redundancy check (LRC) and header physical address (PA) checks.

Thus, there is a need for a way to determine whether storage contains the correct meta data for associated CKD tracks and to selectively resynchronize meta data with its associated CKD tracks.

›SUMMARY OF THE INVENTION

It is a purpose of the invention to improve storage device data integrity;

It is another purpose of the invention to reduce data error occurrence in data storage devices and data storage systems.

The present invention relates to a storage system, method of managing a storage system and program product for managing a storage system. Cache fast write (CFW) modified data may be provided to cache in count-key-data (CKD) tracks with associated meta data. A synchronization flag is included on a storage device with associated meta data for each CKD track stored. The cache directory control block (CDCB) includes a CDCB synchronization flag for each CKD track in cache memory. A mismatch in the synchronization flags from a failure during a transfer to storage indicates a storage device loss of synchronization between an accessed CKD track and stored associated meta data.

›BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:

FIG. 1 shows an example of a preferred storage controller controlling data communications between a Direct Access Storage Device (DASD) and a host;

FIG. 2 shows an example of a state diagram of a preferred storage system.

›DESCRIPTION OF PREFERRED EMBODIMENTS · 1 of 2

Turning now to the drawings and, more particularly, FIG. 1 shows an example of a preferred storage controller 100 controlling data communications between a Direct Access Storage Device (DASD) 102 (e.g., in the Enterprise Storage Server® Model 800 from IBM Corporation) and a host 104 . The host 104 may be any well known computer system, personal computer or computing device running a suitable operating system such as are well known in the art. The storage controller 100 includes cache (cache memory 106 and non-volatile storage (NVS) 108 ) and a meta data manager 110 and DASD subsystem 111 managing communication with DASD 102 . The cache memory 106 may be any high speed memory such as dynamic random access memory (DRAM), static random access memory (SRAM) or the equivalent. The NVS 108 may be, for example, SRAM with battery back-up. The meta data manager 110 and DASD subsystem 111 may be in hardware or, a separate program or a functional part of one or more program and may be implemented as firmware (e.g., microcode in a read only memory (ROM), non-volatile read only memory (NVRAM) or, flash electrically programmable ROM (flash EPROM)) or, within the operating system and/or an application program. Cache directory control blocks (CDCBs) 112 are provided, which the meta data manager 110 uses to manage meta data tracks in the cache memory 106 . The DASD 102 includes data tracks, i.e., count-key-data (CKD) tracks 114 and associated meta data tracks 116 . Preferably, meta data for each CKD track 116 in the DASD 102 includes an additional synchronization flag 118 that indicates when a CKD track is not synchronized to its associated meta data. Additionally, each CDCB entry includes a corresponding synchronization flag 120 for an associated CKD track in cache memory 106 .

The storage controller 100 receives data from the host 104 for storage in the DASD 102 . However, since the typical data transfer rate is much higher than the DASD access time, data is cached in cache memory 106 or NVS 108 for subsequent transfer to DASD 102 . Thus, the host 104 sees a much higher apparent access time than the actual DASD access. The cached data are stored in cache, temporarily, in CKD tracks with associated meta data in meta data tracks. Meta data may include such information for the associated CKD track as the CKD track format, the number of records on the CKD track, the number of sectors per record, the data field length and key field length of the records. Subsequent to caching, new or modified cached data is transferred to the DASD 102 , which also stores the actual data in CKD tracks 114 and the associated meta data in meta data tracks 116 .

There may be three types of modified data or cached data in cache (cache memory 106 and NVS 108 ): NVS modified, sequential fast write (SFW) modified and cache fast write (CFW) modified. NVS modified data is stored in NVS 108 as well as in cache memory 106 . If the cache copy is lost, the data is restored from the NVS copy with no data lost. SFW modified data is in cache memory 106 with only the track ID of the modified data stored in NVS 108 . If the cache copy is lost, the data is lost but, the track ID in the NVS 108 indicates that the data was lost. CFW modified data is stored only in cache memory 106 with nothing in NVS 108 . If the cache copy is lost, e.g., in a power failure, the data is lost without any indication from the cache that it was lost. CFW modified data is low priority data where the risk of data loss is acceptable, e.g., temporary data sets created during a sort job; however, a corrupted DASD 102 is not.

If the cache copy is lost before the CKD track is committed but, after the meta data is committed, the DASD 102 is corrupted, out of sync. Subsequently, the synchronization (CFW_FORMATTED) flags 118 , 120 for the corrupted track do not match. So, the mismatch in meta data flag 118 and CDCB flag 120 indicates that the meta data does not match its associated CKD track on the DASD 102 and so, must be resynchronized. In particular, the meta data flag 118 indicates when the meta data does not correspond to its associated CKD track and so, needs to be resynchronized with the CKD track. The CDCB flag 120 enhances performance, by avoiding unnecessarily staging a full track into cache (full track stage) or rebuilding meta data, e.g., traversing and interrogating any remaining CKD track to identify and extract the data field length, key field length and the CKD track format. Then, the number of records is determined on the CKD track and, finally the number of sectors per record. For an example of how meta data may be rebuilt, see U.S. Pat. No. 6,438,661 B1 to Beardsley et al. which is assigned to the assignee of the present invention and incorporated herein by reference.

So, when the meta data flag 118 is set, for example, the corresponding associated CKD track has been CFW modified format written but not yet committed to the device. Similarly, the CDCB flag 120 also indicates that the CKD track has been CFW modified format written but not yet committed to the device. Thus, these 2 flags 118 , 120 indicate when updated meta data has been committed to the device but the corresponding CFW modified data has not been committed to the device. If the CKD track is lost before it is committed, on the next access of that track the meta data flag 118 will still be set but, the CDCB flag 120 will not, indicating that the current meta data does not correspond to, and may not describe, the format of what is stored. Unless both the previously stored CKD track and the lost CKD track have the same format, the track formats differ. Consequently, the meta data for the lost CKD track, which is in the device, does not describe the format of the CKD track remaining in the device. Such a loss can occur for a number of reasons, e.g., if the cluster containing the modified CKD track crashes. When the track is subsequently re-accessed, for either a read or update write operation, the meta data for the CKD track does not match the format of the track data. The synchronization flags 118 , 120 indicate this mismatch. Typically, the synchronization flags are held reset for NVS modified and SFW modified data. A preferred storage system recovers from such a mismatch to avoid the normally resulting data errors, e.g., CRC and LRC check errors and/or header PA check errors by rebuilding meta data.

›DESCRIPTION OF PREFERRED EMBODIMENTS · 2 of 2

FIG. 2 shows a state diagram 130 of a preferred storage system with reference to the example of FIG. 1 . When a particular CKD track 114 is format written as CFW modified, the system enters state 132 , setting both the corresponding meta data flag 118 and the CDCB flag 120 . Normally, in state 134 the corresponding CKD track 114 is committed to the device and both the meta data flag 118 and the CDCB flag 120 are reset. The meta data and the associated CKD track in DASD 102 are synchronized. However, if after successfully transferring meta data, the CKD transfer to DASD 102 fails for whatever reason, e.g., a power failure, the meta data and the associated CKD track in DASD 102 are not synchronized and the system is in unsynchronized state 136 . When, subsequently, that CKD track 114 is accessed, the system enters error state 138 ; the meta data flag 118 is still set but its CDCB flag 120 is not. Because of synchronization flag 118 , 120 mismatch the system enters recovery state 140 where the full track is staged in from the device 102 and the associated meta data is invalidated as the meta data flag 118 is reset. If the full CKD track is still in cache, since meta data can always be rebuilt from customer data, it is rebuilt while keeping the meta data flag 118 reset.

Advantageously, a storage system according to the present invention avoids data corruption problems from meta data being out of sync with an associated CKD track format. Recorded meta data includes an indication of whether or not the CFW modified format written CKD track has been committed and so, the stored CKD track is described by its associated meta data. If the track is accessed and the meta data flag is set but the CDCB flag is not set, then a sync problem has occurred and the meta data is resynchronized by rebuilding meta data for the current CKD track data.

While the invention has been described in terms of preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.

Claims

16 · 3 independent · depth 7
12345678910111213141516
16 granted claims

Classifications

7 codes
IPC · International Patent Classification
Section G — Physics
  • G06F3/06
  • G06F12/08
  • G06F12/00
USPC · US Patent Classification
711/161711/118711/162709/203

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this patent are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2003Jan 2004Jul 2004Jan 2005Jul 2005Jan 2006USPTOApplicantNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
2.7 y
984 days filing → grant
Office actions
0
none on record
Examiner
Donald Sparks
art unit 2187 · TC 2100
Citations: 21 back · 10 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Chain of title

⤢ drag to zoom20042006200820102012201420162018202020222024Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock

Term & fees

See the term timeline — pendency span, in-force span, the maintenance fees paid and both computed expiry dates.

Log in to unlock

Priority chain

1 priority documents
›Priority documents — 1
TypeDocumentDate
related publicationUS 20040250022 A19 Dec 2004

Validity challenges

See the validity challenges on record — reexaminations, IPRs and PGRs, with their institution decisions and outcomes.

Log in to unlock

Citations

See every patent this one cites and every patent that cites it back — publication, assignee, and how each one was found.

Log in to unlock