Log-structured write cache for data storage devices and systems
First Claim
1. A data storage system comprising:
- a medium for storing data as data blocks, each data block associated with a sector address;
a write cache having a plurality of cache lines, each cache line having a plurality of data blocks, line meta-data having information on the sector addresses where the data blocks in said cache line will be written to, and a sequential number indicating the order of the data blocks in said cache line relative to the data blocks in other cache lines, wherein the write cache acts as a sequentially written staging area for data to improve performance of the system.
2 Assignments
0 Petitions
Accused Products
Abstract
A log-structured write cache for a data storage system and method for improving the performance of the storage system are described. The system might be a RAID storage array, a disk drive, an optical disk, or a tape storage system. The write cache is preferably implemented in the main storage medium of the system, but can also be provided in other storage components of the system. The write cache includes cache lines where write data is temporarily accumulated in a non-volatile state so that it can be sequentially written to the target storage locations at a later time, thereby improving the overall performance of the system. Meta-data for each cache line is also maintained in the write cache. The meta-data includes the target sector address for each sector in the line and a sequence number that indicates the order in which data is posted to the cache lines. A buffer table entry is provided for each cache line. A hash table is used to search the buffer table for a sector address that is needed at each data read and write operation.
247 Citations
28 Claims
-
1. A data storage system comprising:
-
a medium for storing data as data blocks, each data block associated with a sector address;
a write cache having a plurality of cache lines, each cache line having a plurality of data blocks, line meta-data having information on the sector addresses where the data blocks in said cache line will be written to, and a sequential number indicating the order of the data blocks in said cache line relative to the data blocks in other cache lines, wherein the write cache acts as a sequentially written staging area for data to improve performance of the system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for improving the performance of a data storage system having a medium for storing data as data blocks, each data block associated with a sector address, the method comprising the steps of:
-
providing a write cache on the medium, the write cache having a plurality of cache lines, each cache line having a plurality of data blocks, line meta-data having information on the sector addresses where the data blocks in said cache line will be written to, and a sequential number indicating the order of the data blocks in said cache line relative to the data blocks in other cache lines; and
staging write data in the write cache as sequentially written data to improve performance of the system. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A computer-program product for use with a storage system to improve the performance of the system, the system having a medium for storing data as data blocks, each data block associated with a sector address, the computer-program product comprising:
-
a computer-readable medium;
means, provided on the computer-readable medium, for providing a write cache on the medium, the write cache having a plurality of cache lines, each cache line having a plurality of data blocks, line meta-data having information on the sector addresses where the data blocks in said cache line will be written to, and a sequential number indicating the order of the data blocks in said cache line relative to the data blocks in other cache lines; and
means, provided on the computer-readable medium, for staging write data in the write cache as sequentially written data to improve performance of the system. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification