Method and apparatus for processing read requests in a...

Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S144000, C711S119000, C711S141000, C711S113000

Reexamination Certificate

active

06671782

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a system for updating data, reading data, and handling storage device and adaptor failures in a shared disk system.
2. Description of the Related Art
In Redundant Arrays of Independent Disks (RAID) systems, data files and related parity are striped across multiple disk drives. In storage subsystems which manage numerous hard disk drives as a single direct access storage device (DASD), the RAID logic is implemented in the controller of the subsystem. RAID storage methodologies have also been implemented in software for execution on a single host computer. This allows the single host computer, such as a personal computer, to implement RAID storage techniques on local hard disk drive space. Such software RAID methodologies are described in “Algorithms for Software and Low Cost Hardware RAIDS,” by Jai Menon, Jeff Riegel, and Jim Wyllie, document no. 1063-6390 (IEEE 1995), which is incorporated herein by reference in its entirety.
One problem with the single storage subsystem is the risk of failure. Techniques have been developed to improve failback and recovery in case of failures in the hardware controller. One such failback technique is the Fast Write Technique which provides two separate controllers on different power boundaries that control the flow of data from host systems to DASDs. If one controller fails, the other controller can continue writing data to the DASD. Typically a non-volatile storage unit (NVS) is included with each separate controller, such that each NVS connected to a controller backs up the data the other controller is writing to DASD. Such failback systems employing the two-controller failsafe structure are described in U.S. Pat. Nos. 5,636,359, 5,437,022, 5,640,530, and 4,916,605, all of which are assigned to International Business Machines, Corporation (IBM), the assignee of the subject application, and all of which are incorporated herein by reference in their entirety.
RAID systems can also be implemented in a parallel computing architecture in which there is no central controller. Instead, a plurality of independent controllers that control local hard disk storage devices are separate nodes that function together in parallel to implement RAID storage methodologies across the combined storage space managed by each node. The nodes are connected via a network. Parity calculations can be made at each node, and not centrally. Such parallel RAID architecture is described in “The TickerTAIP Parallel RAID Architecture,” by Pei Cao, Swee Boon Lim, Shivakumar Venkatarman, and John Wilkes, published in ACM Transactions on Computer Systems, Vol. 12, No. 3, pgs. 236-269 (August, 1994), which is incorporated herein by reference in its entirety.
One challenge in shared disk systems implementing a parallel, shared disk RAID architecture is to provide a system for insuring that data is properly updated to disks in the system, that a write or update request invalidates stale data so such stale data is not returned, and that a read request returns the most current data.
SUMMARY OF THE INVENTION
To overcome the limitations in the prior art described above, preferred embodiments of the present invention disclose a system for updating data at a data block. A first processing unit receives update data. The data block to update is located in a first storage device and a second storage device stores parity data for the data block. A parity group comprises a data block and corresponding parity data for the data block. The first processing unit obtains the data at the data block and calculates partial parity data from the data at the data block and the update data. The first processing unit stores the partial parity data in a storage area and writes the update data to the data block in the first storage device. The first processing unit further updates parity data for parity groups for which partial parity data is maintained by obtaining control of access to the parity group to update from a second processing unit if the first processing unit does not control access to the parity group. When the first processing unit controls access to the parity group, the first processing unit calculates new parity data from the partial parity data and the parity data in the second storage device, and writes the new parity data to the second storage device.
Further embodiments concern processing a request to read data. A first processing unit receives a request to read a data block in a storage device from a requestor. The first processing unit returns the data from a first cache after determining that the requested data is in the first cache. The first processing unit requests permission from a second processing unit to transfer the data in a second cache to the first cache after determining that the data is in the second cache. The first processing unit transfers the data from the second cache to the first cache and returns the data to the requestor after receiving permission from the second processing unit. After receiving a message from the second processing unit denying permission, the first processing unit reads the data block in the first storage device and returns the read data to the requester.
Preferred embodiments of message exchanging insure that the first processing unit does not provide data in a read cache that is stale in view of data updates performed by the second processing unit. Moreover, with the preferred embodiments, access to data blocks is controlled. Controlling access helps insure that parity updates are properly handled, data in memory locations is invalidated so that stale or outdated data is not returned to a later read request, stale data is not destaged to a storage device, and a read request returns the latest version of the data block.


REFERENCES:
patent: 4654819 (1987-03-01), Stiffler et al.
patent: 4733352 (1988-03-01), Nakamura et al.
patent: 4907232 (1990-03-01), Harper et al.
patent: 5140592 (1992-08-01), Idleman et al.
patent: 5155729 (1992-10-01), Rysko et al.
patent: 5208813 (1993-05-01), Stallmo
patent: 5274787 (1993-12-01), Hirano et al.
patent: 5293618 (1994-03-01), Tandai et al.
patent: 5301297 (1994-04-01), Menon et al.
patent: 5373512 (1994-12-01), Brady
patent: 5375128 (1994-12-01), Menon et al.
patent: 5437022 (1995-07-01), Beardsley et al.
patent: 5490248 (1996-02-01), Dan et al.
patent: 5499337 (1996-03-01), Gordon
patent: 5526482 (1996-06-01), Stallmo et al.
patent: 5530830 (1996-06-01), Iwasaki et al.
patent: 5530948 (1996-06-01), Islam
patent: 5546535 (1996-08-01), Stallmo et al.
patent: 5572660 (1996-11-01), Jones
patent: 5574863 (1996-11-01), Nelson et al.
patent: 5574882 (1996-11-01), Menon et al.
patent: 5636359 (1997-06-01), Beardsley et al.
patent: 5640530 (1997-06-01), Beardsley et al.
patent: 5664187 (1997-09-01), Burkes et al.
patent: 5737514 (1998-04-01), Stiffler
patent: 5751939 (1998-05-01), Stiffler
patent: 5768623 (1998-06-01), Judd et al.
patent: 5787460 (1998-07-01), Yashiro et al.
patent: 5809224 (1998-09-01), Schultz et al.
patent: 5813016 (1998-09-01), Sumimoto
patent: 5848229 (1998-12-01), Morita
patent: 5860158 (1999-01-01), Pai et al.
patent: 5875456 (1999-02-01), Stallmo et al.
patent: 5913227 (1999-06-01), Raz et al.
patent: 5916605 (1999-06-01), Swenson et al.
patent: 5940856 (1999-08-01), Arimilli et al.
patent: 5940864 (1999-08-01), Arimilli et al.
patent: 5999930 (1999-12-01), Wolff
patent: 6073218 (2000-06-01), DeKoning et al.
patent: 6098156 (2000-08-01), Lenk
patent: 6141733 (2000-10-01), Arimilli et al.
patent: 6192451 (2001-02-01), Arimilli et al.
Jim Handy, “The Cache Memory Book”, Academic Press, 1993, pp 140-190.*
Cao, P. et al., “The TickerTAIP Parallel RAID Architecture”, ACM Transactions on Computer Systems, vol. 12, No. 3, pp. 236-269 (Aug. 1994).
Chen, P. et al., “RAID: High-Performance, Reliable Secondary Storage”, ACM Computing Surveys, vol. 26, No. 2, pp. 145-185 (Jun. 1994).
IBM Brochure, “SSA RAID Adapter for PC Servers”, pp. 1-2, © International Business Machines Corporation 1996.
IBM Manual, “IBM PC Ser

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

Method and apparatus for processing read requests in a... 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 and apparatus for processing read requests in a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for processing read requests in a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3104982

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