Storage device array architecture with copyback cache
Filing Information
- Patent Number: US5911779
- Application Number: US8825625
- Filing date: 03/31/1997
- Issue date: 06/15/1999
- Predicted expiration date: 01/04/2011
- U.S. Classifications: 714/6 · 711/114 ·
- International Classifications: G06F 1110 ·
- International Classifications: 395182.04;441;182.05;182.07;440;182 ·
- Related U.S. Application Data:
RELATED APPLICATION
This application is a continuation of application Ser. No. 08/579,545 for IMPROVED STORAGE DEVICE ARRAY ARCHITECTURE WITH COPYBACK CACHE, filed Dec. 27, 1995, to issue Apr. 1, 1997 as U.S. Pat. No. 5,617,530. Ser. No. 08/579,545 was a continuation of Ser. No. 08/112,791, filed Aug. 26, 1993, now U.S. Pat. No. 5,526,482. Ser. No. 08/112,791 was a continuation-in-part of application Ser. No. 07/638,167 of William A. Brant, filed Jan. 4, 1991, entitled Storage Device Array Architecture With Copyback Cache, now U.S. Pat. No. 5,274,799. - View document at: (opens new window):
USPTO · PAIR · esp@cenet · Patent Family* Related patent documents may or may not exist on these sites
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.References Cited
U.S. Patent Documents
Foreign Patent Documents
| Document Number | Assignees | Inventors | Issue/Pub Date |
|---|---|---|---|
| EP0416968 | FUJITSU LIMITED | Aug 1990 | |
| JP59153251 | TOSHIBA CORP | Sep 1984 | |
| JP62110902 | MULTI GIKEN KK | May 1987 | |
| WO20WO89909468 | Oct 1989 |
Other Publications
| Patterson, D.A., Gibson, G., and Katz, H.; A Case For Redundant Arrays of Inexpensive Disks (RAID) (Jun. 1, 1988). |
| Lee, E.K.; Software and Performance Issues in the Implementation of a RAID Prototype (May 1990). |
| Chen, P., Gibson, G., Katz, R.H., Patterson, D.A., and Schulze, M.; Introduction to Redundant Arrays of Inexpensive Disks (RAID) (Dec. 1988). |
| Chen, P., Gibson, G., Katz, R.H., Patterson, D.A., and Schulze, M., et al.; Evolution of the Raid 2 Architecture (Jun. 12, 1990). |
| Chen, P., Gibson, G., Katz, R.h., Patterson, D.A., and Schulze, M.; How Reliable is RAID? (Feb. 1988). |
| Maximum Strategy, Inc., San Jose, CA; Strategy 2 Disk Array Controller Operation Manual (Nov. 2, 1988). |
| Maximum Strategy, Inc., San Jose, CA; Strategy 1 Disk Array Controller Operation Manual (Date Unknown). |
| Gibson, G.A., Performance and Reliability in Redundant Arrays of Inexpensive Disks (Date Unknown). |
| Chen, P., An Evaluaiton of Redundant Arrays of Disks Using an Amdahl 5890; (May 1989). |
| Katz, R.H., Gibson, G.A. and Patterson, D.A.; Disk System Architectures for High Performance Computing (Mar. 1989). |
| Gray, J., Horst, B., and Walker, M.; Parity Striping and Disc Arrays: Low-Cost Reliable Storage with Acceptable Throughput (Jan. 1990). |
| Schultz, M.E.; Considerations in the Design of Raid Prototype (Aug. 1988). |
| Clark and Corrigan; IBM Systems Journal, vol. 28, No. 3, 1989. |
| Schulze, M., et al.; "How Reliable is RAID?"; COMPCOM, Spring 1989, pp. 1-12. |
| Ousterhout, J., and Douglis, F., Beating the I/O Bottleneck: A Case for Log-Structured File Systems (Aug. 4, 1988). |
Referenced By
Patent Family
The current document is not in a family.View Drawings
Independent Claims | See all claims (25)
- 1. A fault-tolerant storage device array including:a. a plurality of failure independent storage units for storing information as stripes of blocks, including at least data blocks and associated error-correction blocks;b. at least one copyback cache storage unit for temporarily storing data blocks; andc. a storage unit controller, coupled to the plurality of storage units and to the at least one copyback cache storage unit, including control means for:(1) writing received data blocks initially onto the at least one copyback cache storage unit as pending data blocks;(2) during idle time of at least some of the plurality of storage units:(a) reading at least one pending data block from at least one copyback cache storage unit;(b) accessing the storage units and reading information corresponding to each read pending data block;(c) generating an associated error-correction block from the read information and each read pending data block; and(d) writing each such read pending data block and associated error-correction block to a corresponding stripe of the idle storage units; and(3) acknowledging completion of writing each received data block to the at least one copyback cache storage unit before writing such data block to one of the storage units.
- 5. A fault-tolerant storage device array including:a. a plurality of failure independent storage units for storing information as stripes of blocks, including at least data blocks and associated error-correction blocks;b. at least one copyback cache storage unit for temporarily storing data blocks, at least one of said at least one copyback cache storage unit being non-volatile; andc. a storage unit controller, coupled to the plurality of storage units and to the at least one copyback cache storage unit, including control means for:(1) writing received data blocks initially onto the at least one copyback cache storage unit as pending data blocks;(2) during idle time of at least some of the plurality of storage units:(a) reading at least one pending data block from at least one copyback cache storage unit;(b) accessing the storage units and reading information corresponding to each read pending data block;(c) generating an associated error-correction block from the read information and each read pending data block; and(d) writing each such read pending data block and associated error-correction block to a corresponding stripe of the idle storage units.
- 9. A fault-tolerant storage device array including:a. a plurality of failure independent storage units for storing information as stripes of blocks, including at least data blocks and associated error-correction blocks;b. at least one copyback cache storage unit for temporarily storing data blocks, at least one of said at least one copyback cache storage unit being non-volatile; andc. a storage unit controller, coupled to the plurality of storage units and to the at least one copyback cache storage unit, including control means for:(1) writing received data blocks initially onto the at least one copyback cache storage unit as pending data blocks;(2) during idle time of at least some of the plurality of storage units:(a) reading at least one pending data block from at least one copyback cache storage unit;(b) accessing the storage units and reading information corresponding to each read pending data block;(c) generating an associated error-correction block from the read information and each read pending data block; and(d) writing each such read pending data block and associated error-correction block to a corresponding stripe of the idle storage units; and(3) acknowledging completion of writing each received data block to the at least one copyback cache storage unit before writing such data block to one of the storage units.
- 12. A fault-tolerant storage device array including:a. a plurality of failure independent storage units for storing information as stripes of blocks, including at least data blocks and associated error-correction blocks;b. at least one copyback cache storage unit for temporarily storing data blocks; andc. a storage unit controller, coupled to the plurality of storage units and to the at least one copyback cache storage unit, including control means for:(1) writing received data blocks initially onto the at least one copyback cache storage unit as pending data blocks;(2) reading at least one pending data block from at least one copyback cache storage unit;(3) accessing the storage units and reading information corresponding to each read pending data block;(4) generating an associated error-correction block from the read information and each read pending data block;(5) writing each such read pending data block and associated error-correction block to a corresponding stripe of the storage units; and(6) acknowledging completion of writing each received data block to the at least one copyback cache storage unit before writing such data block to one of the storage units.
- 17. A fault-tolerant storage device array including:a. a plurality of failure independent storage units for storing information as stripes of blocks, including at least data blocks and associated error-correction blocks;b. at least one copyback cache storage unit for temporarily storing data blocks, at least one of said at least one copyback cache storage unit being non-volatile; andc. a storage unit controller, coupled to the plurality of storage units and to the at least one copyback cache storage unit, including control means for:(1) writing received data blocks initially onto the at least one copyback cache storage unit as pending data blocks;(2) reading at least one pending data block from at least one copyback cache storage unit;(3) accessing the storage units and reading information corresponding to each read pending data block;(4) generating an associated error-correction block from the read information and each read pending data block; and(5) writing each such read pending data block and associated error-correction block to a corresponding stripe of the storage units.
- 22. A fault-tolerant storage device array including:a. a plurality of failure independent storage units for storing information as stripes of blocks, including at least data blocks and associated error-correction blocks;b. at least one copyback cache storage unit for temporarily storing data blocks, at least one of said at least one copyback cache storage unit being non-volatile; andc. a storage unit controller, coupled to the plurality of storage units and to the at least one copyback cache storage unit, including control means for:(1) writing received data blocks initially onto the at least one copyback cache storage unit as pending data blocks;(2) reading at least one pending data block from at least one copyback cache storage unit;(3) accessing the storage units and reading information corresponding to each read pending data block;(4) generating an associated error-correction block from the read information and each read pending data block;(5) writing each such read pending data block and associated error-correction block to a corresponding stripe of the storage units; and(6) acknowledging completion of writing each received data block to the at least one copyback cache storage unit before writing such data block to one of the storage units.





View assignee updates
analyzing 100 million+ documents to uncover your network...