Patent US3250967A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5309451A Expired / Lapsed US ⏱️ 0.0 years remaining

Data and parity prefetching for redundant arrays of disk drives

Assignee: Hewlett Packard Development Co LP
•
Filing: 1992-08-12
•
Granted: 1994-05-03
•
Expires: 2012-08-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for prefetching the data and parity blocks for generating parity data of a stripe. The method uses a low and high thresholds marker indicative of a first and second level of fullness of the cache to determine whether or not to prefetch the data and parity blocks. If the cache is filled to a level exceeding the first level of fullness, the data and parity blocks are prefetched for any blocks to be written to the disk drive between the low and high threshold. The data and parity blocks are read from the disk drive at a lower processing priority in anticipation of the writing of the block.

Inventors

  • 👤 Eric S. Noya
  • 👤 Randy M. Arnott
  • 👤 Mitchell N. Rosich

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 23:25
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0862; G06F12/0866; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1008; G06F11/1012; G06F2212/00; G06F2212/31; G06F2212/311

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 186 words
An apparatus for prefetching data from a plurality of disk drives, each of the plurality of disk drives organized into a plurality of disk blocks, the plurality of disk blocks further organized into a plurality of stripes, each of the plurality of stripes including at least one disk block from each of the plurality of disk drives, each of the plurality of stripes further including a parity disk block storing parity data generated from the data stored in the other disk blocks of the stripe, the apparatus comprising: memory means for storing data, said memory means partitioned into memory blocks compatible with the disk block organization of the plurality of disk drives; means for maintaining said memory blocks in a least recently used (LRU) order; means for generating a low threshold signal in response to a first predetermined number of said memory blocks being filled with data; and means, responsive to said low threshold signal, for starting a prefetch procedure to read disk blocks associated with a predetermined stripe, said predetermined stripe including at least one disk block to be overwritten by a LRU memory block.
Claim 2
Independent Claim 186 words
An apparatus for prefetching data from a plurality of disk drives, each of the plurality of disk drives organized into a plurality of disk blocks, the plurality of disk blocks further organized into a plurality of stripes, each of the plurality of stripes including at least one disk block from each of the plurality of disk drives, each of the plurality of stripes further including a parity disk block storing parity data generated from the data stored in the other disk blocks of the stripe, the apparatus comprising: memory means for storing data, said memory means partitioned into memory blocks compatible with the disk block organization of the plurality of disk drives; means for maintaining said memory blocks in a least recently used (LRU) order; means for generating a low threshold signal in response to a first predetermined number of said memory blocks being filled with data; and means, responsive to said low threshold signal, for starting a prefetch procedure to read disk blocks associated with a predetermined stripe, said predetermined stripe including at least one disk block to be overwritten by a LRU memory block.
Claim 3
Dependent Claim 39 words
The apparatus as in claim 1 wherein said disk blocks associated with said predetermined stripe include the parity disk block of said predetermined stripe and said at least one disk block to be overwritten by said LRU memory block.
Claim 4
Dependent Claim 18 words
The apparatus as in claim 1 further including means for marking said LRU memory block as being prefetched.
Claim 5
Dependent Claim 95 words
The apparatus as in claim 1 further including means for generating a high threshold signal in response to a second predetermined number of said memory blocks being filled with data, said second number being greater than said first number; and means for generating parity data from said LRU memory block, said at least one disk block to be overwritten, and the parity disk block; and means for storing said parity data in a parity memory block; and means for writing said LRU memory block and said parity memory block to said plurality of disk drives.
Claim 6
Dependent Claim 38 words
The apparatus as in claim 1 further including means for reading disk blocks associated with a second predetermined stripe, said second predetermined stripe including at least one disk block to be overwritten by a next LRU memory block.
Claim 7
Independent Claim 185 words
A method for prefetching data from a plurality of disk drives, each of the plurality of disk drives organized into a plurality of disk blocks, the plurality of disk blocks further organized into a plurality of stripes, each of the plurality of stripes including at least one disk block from each of the plurality of disk drives, each of the plurality of stripes further including a parity disk block storing parity data generated from the data stored in the other disk blocks of the stripe, the method comprising the steps of; storing data in a memory means, said memory means partitioned into memory blocks compatible with the disk block organization of the plurality of disk drives; maintaining said memory blocks in a least recently used (LRU) order; generating a low threshold signal in response to a first predetermined number of said memory blocks being filled with data; and starting, in response to said low threshold signal, a prefetch procedure to read disk blocks associated with a predetermined stripe, said predetermined stripe including at least one disk block to be overwritten by a LRU memory block.
Claim 8
Independent Claim 185 words
A method for prefetching data from a plurality of disk drives, each of the plurality of disk drives organized into a plurality of disk blocks, the plurality of disk blocks further organized into a plurality of stripes, each of the plurality of stripes including at least one disk block from each of the plurality of disk drives, each of the plurality of stripes further including a parity disk block storing parity data generated from the data stored in the other disk blocks of the stripe, the method comprising the steps of; storing data in a memory means, said memory means partitioned into memory blocks compatible with the disk block organization of the plurality of disk drives; maintaining said memory blocks in a least recently used (LRU) order; generating a low threshold signal in response to a first predetermined number of said memory blocks being filled with data; and starting, in response to said low threshold signal, a prefetch procedure to read disk blocks associated with a predetermined stripe, said predetermined stripe including at least one disk block to be overwritten by a LRU memory block.
Claim 9
Dependent Claim 36 words
The method as in claim 6 further including the steps of reading the parity disk block of said predetermined stripe, and reading said at least one disk block to be overwritten by said LRU memory block.
Claim 10
Dependent Claim 19 words
The method as in claim 6 further including the step of marking said LRU memory block as being prefetched.
Claim 11
Dependent Claim 90 words
The method as in claim 6 further including the step of generating a high threshold signal in response to a second predetermined number of said memory blocks being filled with data, said second number being greater than said first number; and generating parity data from said LRU memory block, said at least one disk block to be overwritten, and the parity disk block; and storing said parity data in a parity memory block; and writing said LRU memory block and said parity memory block to said plurality of disk drives.
Claim 12
Dependent Claim 36 words
The apparatus as in claim 6 further including reading disk blocks associated with a second predetermined stripe, said second predetermined stripe including at least one disk block to be overwritten by a next LRU memory block.

References Cited (Backward Citations)

US4437155A Cited
US4489378A Cited
US4636946A Cited
US5109500A Cited
US4972364A Cited
US4972316A Cited
US4882642A Cited
US5109485A Cited
US5163131A Cited
US5124987A Cited
US5263145A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-05-02 1997-11-01 1998-05-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-05-02 2001-11-01 2002-05-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-05-02 2005-11-01 2006-05-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag