Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition
Reexamination Certificate
1999-09-17
2002-07-23
Bragdon, Reginald G. (Department: 2186)
Electrical computers and digital processing systems: memory
Storage accessing and control
Specific memory composition
C711S143000, C711S168000, C714S005110, C714S006130
Reexamination Certificate
active
06425050
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention is related to a method, system, and program for allowing data access operations to proceed with respect to a storage area while data in the storage area is being destaged.
2. Description of the Related Art
Computing systems often include one or more host computers (“hosts”) for processing data and running application programs, direct access storage devices (DASDs) for storing data, and a storage controller for controlling the transfer of data between the hosts and the DASD. In addition to storing actual data, also known as user or customer data, the storage controller often maintains metadata which provides information on tracks or blocks of data in the DASD or in a cache of the storage controller. The storage controller processes the metadata during certain operations on the actual data represented by the metadata to improve the speed and efficiency of those requested operations. A track of metadata could include information on anywhere from a few hundred to a couple of thousand of user tracks to all tracks in a volume. Typically the rules for accessing metadata are less strict than for user data as metadata can be rebuilt. User data, on the other hand, is often managed in a manner that does not tolerate any potential loss of updates as the updates are not as easily recoverable as metadata.
In the International Business Machines Corporation (IBM) Storage Subsystem products, such as the 3990 Storage Controller, there are three main access modes for accessing tracks. One is shared, where access is granted if no readers or writers have exclusive access. A second mode is semi-exclusive, which is granted if no other user has exclusive or semi-exclusive access. After semi-exclusive access is granted, current reader and writers to the data may continue accessing the track, but no new readers or writers may access the track. Exclusive access is granted if no other process is accessing track, i.e., the track is idle. Following a grant of exclusive access no new processes are granted access.
Whenever exclusive or semi-exclusive access to a track is obtained, a wait flag is set in a cache directory control block (CDCB) to block any subsequent requests to the track while the wait flag is set “on.” A CDCB is maintained for each track in cache and each CDCB maintains status information on one track. During semi-exclusive access, readers or writers that had access to the track prior to the granting of access could continue accessing the track, but the storage controller would deny subsequent access requests to the track after granting of semi-exclusive access in response to the setting of the CDCB wait flag.
Write and destage operations to user data require exclusive access. A stage operation to copy user data from storage into cache requires exclusive access. A first read request to user data initiates a stage operation to stage the requested data into cache and, thus, requires semi-exclusive access. Subsequent read requests to user data that is in cache only need shared access. Access to metadata is governed somewhat differently. Writes to metadata, unlike user data, do not require exclusive access to the track. Instead, the access required depends on the state of the metadata track. If the data is not in cache, then it must be staged into cache, which requires semi-exclusive access. After the data is staged into cache, subsequent read requests need only shared access. For metadata, the first update to the track requires semi-exclusive access. After the first write operation, further write requests only require shared access. All subsequent read operations on the metadata track staged into cache only need shared access.
A destage of a metadata and user data track currently requires exclusive access to the track. However, granting exclusive access could block others from accessing the user data and metadata track. This problem can be significant for metadata because numerous processes may request access to the metadata track representing perhaps thousands of user data tracks during the destage operation.
There is thus a need in the art for providing improved access mode when destaging metadata and user data to avoid delaying access requests.
SUMMARY OF THE PREFERRED EMBODIMENTS
To overcome the limitations in the prior art described above, preferred embodiments disclose a method, system, and program for processing data access requests to a storage location maintained in both a first storage area and second storage area during a destage operation. A destage operation is granted access to the storage location to destage data from the storage location in the first storage area to the second storage area. During the destage operation, a data access request is granted access to the storage location.
In further embodiments, the data access request is a read request. In such case, a determination is made as to whether it is acceptable to grant read requests access to the storage location during the destage operation. The read request is granted access to the storage location during the destage operation if it is determined acceptable to grant read requests access.
In embodiments where the data access request is a read access request, it is not acceptable to grant read requests access to the storage location during the destage operation unless all the data at the storage location in the second storage area has been copied into the storage location in the first storage area.
In further embodiments, the first storage area is a cache in volatile memory and the second storage area is a non-volatile storage device
Preferred embodiments provide a method, system, and program for allowing read requests to access data tracks in the process of being destaged from cache to the storage device. This will prevent a delay in responding to a read request when the track is being destaged. In mission critical systems, delays in responding to read requests could delay the process requesting the data. This is even more likely if the requested data is metadata, as it is not uncommon that a read request to metadata will occur while the metadata is being destaged as metadata provides information on thousands of user data tracks. If a process cannot obtain metadata, then the process may not be able to proceed while the metadata track is destaged. Preferred embodiments minimize destage bottlenecks by allowing read requests access to a track while the track is being destaged.
REFERENCES:
patent: 5499354 (1996-03-01), Aschoff et al.
patent: 5574902 (1996-11-01), Josten et al.
patent: 5634109 (1997-05-01), Chen et al.
patent: 5717893 (1998-02-01), Mattson
patent: 5774682 (1998-06-01), Benhase et al.
patent: 5930481 (1999-07-01), Benhase et al.
Varma, Anujan and Jacobson, Quinn, “Destage Algorithms for Disk Arrays with Nonvolatile Caches”, IEEE Transctions on Computers, V 47, No. 2, Feb. 1998; pp 229-235.*
U.S. Serial No. 09/261,683, filed Mar. 3, 1999, Method and System for Managing Meta Data.
U.S. Serial No. 09/261,824, filed Mar. 3, 1999, Method and System for Recovery of Meta Data in a Storage Controller.
Beardsley Brent Cameron
Benhase Michael Thomas
Jarvis Thomas Charles
Morton Robert Louis
Todd Kenneth Wayne
Bragdon Reginald G.
Konrad Raynes Victor & Mann
Victor David W.
LandOfFree
Method, system, and program for performing read operations... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method, system, and program for performing read operations..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method, system, and program for performing read operations... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2875557