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

Storage device array architecture with copyback cache

Assignee: EMC Corp
•
Filing: 1995-12-27
•
Granted: 1997-04-01
•
Expires: 2015-12-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A fault-tolerant storage device array using a copyback cache storage unit for temporary storage. When a Write occurs to the RAID system, the data is immediately written to the first available location in the copyback cache storage unit. Upon completion of the Write to the copyback cache storage unit, the host CPU is immediately informed that the Write was successful. Thereafter, further storage unit accesses by the CPU can continue without waiting for an error-correction block update for the data just written. In a first embodiment of the invention, Read-Modify-Write operations are performed during idle time. In a second embodiment of the invention, normal Read-Modify-Write operation by the RAID system controller continue use Write data in the controller's buffer memory. In a third embodiment, at least two controllers, each associated with one copyback cache storage unit, copy Write data from controller buffers to the associated copyback cache storage unit. If a copyback cache storage unit fails, more than one controller share a single copyback storage unit. In a fourth embodiment, Write data is copied from a controller buffer to a reserved area of each storage unit comprising the array.

Inventors

  • 👤 David C. Stallmo
  • 👤 William A. Brant

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 08:33
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/1666; G06F11/08; G06F11/10; G06F11/1076; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1435; G06F11/20; G06F11/2053; G06F11/2056; G06F11/2087; G06F11/2094; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0804; G11; G11B; G11B20/00; G11B20/10; G11B20/18; G11B20/1833; G06F11/1441; G06F11/2089; G06F12/0866; G06F2211/00; G06F2211/10; G06F2211/1002; G06F2211/1019; G06F2211/1059

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 199 words
A fault-tolerant storage device array, comprising: (a) failure independent storage units for storing information, including data blocks and associated error-correction blocks; (b) a copyback cache comprising at least one copyback storage unit for temporarily storing data blocks; and (c) a storage unit controller, coupled to said failure independent storage units and to said copyback cache storage unit, and having a controller buffer providing a logical area corresponding to an area in said copyback cache, said storage unit controller for: (i) receiving data blocks into the controller buffer as pending data blocks; (ii) writing each pending data block into said logical area of said copyback cache; and (iii) during an idle time of at least one of the failure independent storage units: (1) reading at least one pending data block from the controller buffer; (2) accessing at least one of the plurality of failure independent storage units and reading information corresponding to at least one read pending data block; (3) generating an associated error-correction block from the read information and at least one read pending data block; and (4) writing at least one such read pending data block and said associated error-correction block to at least one idle storage unit.
Claim 2
Dependent Claim 199 words
A fault-tolerant storage device array, comprising: (a) failure independent storage units for storing information, including data blocks and associated error-correction blocks; (b) a copyback cache comprising at least one copyback storage unit for temporarily storing data blocks; and (c) a storage unit controller, coupled to said failure independent storage units and to said copyback cache storage unit, and having a controller buffer providing a logical area corresponding to an area in said copyback cache, said storage unit controller for: (i) receiving data blocks into the controller buffer as pending data blocks; (ii) writing each pending data block into said logical area of said copyback cache; and (iii) during an idle time of at least one of the failure independent storage units: (1) reading at least one pending data block from the controller buffer; (2) accessing at least one of the plurality of failure independent storage units and reading information corresponding to at least one read pending data block; (3) generating an associated error-correction block from the read information and at least one read pending data block; and (4) writing at least one such read pending data block and said associated error-correction block to at least one idle storage unit.
Claim 3
Dependent Claim 24 words
The fault tolerant storage device of claim 1 wherein said failure independent storage units are configured to store said information as stripes of blocks.
Claim 4
Dependent Claim 39 words
The fault tolerant storage device of claim 1 wherein said failure independent storage units are configured for writing each read pending data block and associated error-correction block to a stripe of at least one of the idle storage units.
Claim 5
Dependent Claim 22 words
The fault tolerant storage device of claim 1 wherein said at least one copyback cache storage unit is a solid-state storage unit.
Claim 6
Dependent Claim 19 words
The fault tolerant storage device of claim 4 wherein said solid-state storage unit is a non-volatile solid-state storage unit.
Claim 7
Dependent Claim 31 words
The fault tolerant storage device of claim 4 wherein said solid-state storage unit comprises a volatile storage unit, and a battery backup to supply backup power to said volatile storage unit.
Claim 8
Dependent Claim 19 words
The fault tolerant storage device of claim 1 wherein said copyback cache storage unit is a logical storage unit.
Claim 9
Dependent Claim 18 words
The fault tolerant storage device of claim 1 wherein said copyback cache storage unit is a disk drive.
Claim 10
Dependent Claim 70 words
The fault tolerant storage device of claim 1 further comprising: at least one additional copyback cache comprising at least one copyback cache storage unit, for temporarily storing data blocks; and at least one additional storage unit controller, including a controller buffer, coupled to the plurality of failure independent storage units and to said copyback caches, said additional storage unit controller having a corresponding logical area in said additional copyback cache.
Claim 11
Dependent Claim 42 words
The fault tolerant storage device of claim 9 wherein each of said copyback caches has two logical areas, whereby if one copyback cache fails, a logical area of another copyback cache can be associated with a controller of the failed copyback cache.
Claim 12
Dependent Claim 25 words
The fault tolerant storage device of claim 9 wherein said copyback cache can be established on at least one of said failure independent storage units.
Claim 13
Dependent Claim 18 words
The fault tolerant storage device of claim 9 wherein said copyback cache storage units are solid-state storage units.
Claim 14
Dependent Claim 17 words
The fault tolerant storage device of claim 12 wherein said solid-state storage units are non-volatile storage units.
Claim 15
Dependent Claim 30 words
The fault tolerant storage device of claim 12 wherein said solid-state storage units comprise volatile storage units, and a battery backup for supplying backup power to said volatile storage units.
Claim 16
Dependent Claim 18 words
The fault tolerant storage device of claim 9 wherein said copyback cache storage units are logical storage units.
Claim 17
Dependent Claim 17 words
The fault tolerant storage device of claim 9 wherein said copyback cache storage units are disk drives.
Claim 18
Dependent Claim 203 words
A fault-tolerant storage device array, comprising: a. failure independent storage units for storing blocks of information, including at least data blocks and associated error-correction blocks; b. a copyback cache, comprising at least one copyback storage unit, for temporarily storing data blocks; and c. a storage unit controller, coupled to said failure independent storage units and to the copyback cache and having a buffer memory, said storage unit controller for: (1) writing received data blocks initially into the copyback cache; (2) temporarily storing received data blocks in the buffer memory as pending data blocks; and (3) while at least one of the plurality of storage units is idle: (a) accessing at least one pending data block from the buffer memory; (b) accessing the storage units and reading information corresponding to at least one accessed pending data block; (c) generating an associated error-correction block from the read information and at least one accessed pending data block; (d) and writing each such accessed pending data block and associated error-correction block to at least one idle storage unit; and (4) reading requested data blocks from the buffer memory when such required data blocks are in the buffer memory, otherwise making access to the plurality of storage units.
Claim 19
Dependent Claim 203 words
A fault-tolerant storage device array, comprising: a. failure independent storage units for storing blocks of information, including at least data blocks and associated error-correction blocks; b. a copyback cache, comprising at least one copyback storage unit, for temporarily storing data blocks; and c. a storage unit controller, coupled to said failure independent storage units and to the copyback cache and having a buffer memory, said storage unit controller for: (1) writing received data blocks initially into the copyback cache; (2) temporarily storing received data blocks in the buffer memory as pending data blocks; and (3) while at least one of the plurality of storage units is idle: (a) accessing at least one pending data block from the buffer memory; (b) accessing the storage units and reading information corresponding to at least one accessed pending data block; (c) generating an associated error-correction block from the read information and at least one accessed pending data block; (d) and writing each such accessed pending data block and associated error-correction block to at least one idle storage unit; and (4) reading requested data blocks from the buffer memory when such required data blocks are in the buffer memory, otherwise making access to the plurality of storage units.
Claim 20
Dependent Claim 24 words
The fault tolerant storage device of claim 17 wherein said failure independent storage units are configured to store said information as stripes of blocks.
Claim 21
Dependent Claim 39 words
The fault tolerant storage device of claim 17 wherein said failure independent storage units are configured for writing each accessed pending data block and associated error-correction block to a stripe of at least one of said idle storage units.
Claim 22
Dependent Claim 19 words
The fault tolerant storage device of claim 17 wherein said copyback cache storage unit is a solid-state storage unit.
Claim 23
Dependent Claim 18 words
The fault tolerant storage device of claim 20 wherein said solid-state storage unit is a non-volatile storage unit.
Claim 24
Dependent Claim 31 words
The fault tolerant storage device of claim 20 wherein said solid-state storage unit comprises a volatile storage unit, and a battery backup to supply backup power for said volatile storage unit.
Claim 25
Dependent Claim 19 words
The fault tolerant storage device of claim 17 wherein said copyback cache storage unit is a logical storage unit.
Claim 26
Dependent Claim 18 words
The fault tolerant storage device of claim 17 wherein said copyback cache storage unit is a disk drive.
Claim 27
Dependent Claim 55 words
The fault tolerant storage device of claim 17 further comprising: at least one additional copyback cache, comprising at least one copyback cache storage unit, for temporarily storing data blocks; and at least one additional storage unit controller, including a controller buffer and being coupled to the failure independent storage units and to said copyback caches.
Claim 28
Dependent Claim 49 words
The fault tolerant storage device of claim 25 wherein each of said copyback caches has two logical areas for association with said storage unit controllers, whereby if one copyback cache fails, a logical area of another copyback cache can be associated with a controller of the failed copyback cache.
Claim 29
Dependent Claim 25 words
The fault tolerant storage device of claim 25 wherein said copyback cache can be established on at least one of said failure independent storage units.
Claim 30
Dependent Claim 18 words
The fault tolerant storage device of claim 25 wherein said copyback cache storage units are solid-state storage units.
Claim 31
Dependent Claim 17 words
The fault tolerant storage device of claim 28 wherein said solid-state storage units are non-volatile storage units.
Claim 32
Dependent Claim 29 words
The fault tolerant storage device of claim 28 wherein said solid-state storage units comprise volatile storage units, and a battery to supply backup power to said volatile storage units.
Claim 33
Dependent Claim 18 words
The fault tolerant storage device of claim 25 wherein said copyback cache storage units are logical storage units.
Claim 34
Dependent Claim 17 words
The fault tolerant storage device of claim 25 wherein said copyback cache storage units are disk drives.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-03-31 2000-09-30 2001-04-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-03-31 2004-09-30 2005-04-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-03-31 2008-09-30 2009-04-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag