← Back to Patent Explorer
US5530948A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for command queuing on raid levels 4 and 5 parity drives

Assignee: International Business Machines Corp
•
Filing: 1993-12-30
•
Granted: 1996-06-25
•
Expires: 2013-12-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The queuing of commands on an input/output controller for a parity drive, in a level 4 or level 5 redundant array of inexpensive disk drives responds to receipt of a write instruction with appended data by determining a logical block address of a data drive for the appended data and a logical block address of a parity drive for redundant data belonging to a destination stripe of the appended data. If a parity cache entry corresponds to the parity address, a cache hit has occurred. Responsive to a cache hit, computation of replacement parity data for the stripe may be done from parity data in cache at a location given by the parity cache entry, data read from the data drive and the appended data. The newly calculated parity data is then placed in cache. A command is then sent to an input/output controller for the drive where the parity data is located to write the replacement parity data. Serialization of access to the parity data is moved from the disk drive to cache memory, allowing command queuing to be used with the disk drive to preserve optimum available performance of the drive.

Inventors

  • 👤 S. M. Rezaul Islam

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 22:16
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1076; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0866; G06F2211/00; G06F2211/10; G06F2211/1002; G06F2211/1009

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 186 words
A redundant array of disk drives, comprising: means responsive to receipt of a write instruction from a host data processing system with appended data for finding a logical block address for the appended data on a data drive and a logical block address on a parity drive for redundant data; a buffer for storing a parity cache table having a plurality of parity cache entries and for storing parity data corresponding to the parity cache entries and to logical block addresses on the parity drive; means for determining if a parity cache entry corresponds to the logical block address of the parity drive found by the means for finding; means responsive to an affirmative determination of correspondence for computing replacement parity data from parity data at a buffer location given by the parity cache entry, data read from the logical block address of the data drive and the appended data; means for placing the replacement parity data at the buffer location; and means for sending a command to an input/output controller for the logical block address of the parity drive to write the replacement parity data.
Claim 2
Dependent Claim 186 words
A redundant array of disk drives, comprising: means responsive to receipt of a write instruction from a host data processing system with appended data for finding a logical block address for the appended data on a data drive and a logical block address on a parity drive for redundant data; a buffer for storing a parity cache table having a plurality of parity cache entries and for storing parity data corresponding to the parity cache entries and to logical block addresses on the parity drive; means for determining if a parity cache entry corresponds to the logical block address of the parity drive found by the means for finding; means responsive to an affirmative determination of correspondence for computing replacement parity data from parity data at a buffer location given by the parity cache entry, data read from the logical block address of the data drive and the appended data; means for placing the replacement parity data at the buffer location; and means for sending a command to an input/output controller for the logical block address of the parity drive to write the replacement parity data.
Claim 3
Dependent Claim 71 words
A redundant array of disk drives as set forth in claim 1, and further comprising: means responsive to a negative determination of correspondence for sending a command to the input/output controller for the logical block address of the parity drive to read the parity data into the buffer location; and means for generating a parity cache entry for the parity data read from the logical block address of the parity drive.
Claim 4
Dependent Claim 52 words
A redundant array of disk drives as set forth in claim 2, wherein the parity cache entry includes the logical block address of the parity data, a time stamp, locked/not locked flag, a number of writes waiting counter, a drive identification and a location field for parity data in the memory buffer.
Claim 5
Dependent Claim 55 words
A redundant array of disk drives as set forth in claim 3, and further comprising: means responsive to determination of the logical block address of the data drive for sending linked commands to an input/output controller for the logical block address of the data drive to read data and to then write the appended data.
Claim 6
Dependent Claim 80 words
A redundant array of disk drives as set forth in claim 3, wherein the means for generating a parity cache entry further comprises: means for determining if a parity cache table has an unused parity cache entry; means responsive to an affirmative determination for utilizing the unused parity cache entry; and means responsive to a negative determination for locating a parity cache entry having no writes waiting and which is least recently used, and utilizing the located parity cache entry.
Claim 7
Dependent Claim 35 words
A redundant array of disk drives as set forth in claim 3, wherein the means for sending a command to write replacement parity data further includes means for incrementing the number of writes waiting counter.
Claim 8
Dependent Claim 33 words
A redundant array of disk drives as set forth in claim 6, and further comprising: means for serializing access to the parity data in the buffer location for generation of replacement parity data.
Claim 9
Dependent Claim 53 words
A redundant array of disk drives as set forth in claim 7, and further comprising: means for decrementing the number of writes waiting counter in the parity cache for the logical block address of the parity drive after the replacement parity data is written to the logical block address of the parity drive.
Claim 10
Dependent Claim 20 words
A redundant array of disk drives as set forth in claim 8, wherein the parity drive is a check disk.
Claim 11
Dependent Claim 27 words
A redundant array of disk drives as set forth in claim 8, wherein the parity drive may be any one of the redundant array of disk drives.

References Cited (Backward Citations)

US4157586A Cited
US5195100A Cited
US5263145A Cited
US5208813A Cited
US5191584A Cited
US5373512A Cited
US5353424A Cited
US5341381A Cited
US5309451A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-06-25 1999-12-25 2000-06-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-06-25 2003-12-25 2004-06-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-06-25 2007-12-25 2008-06-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag