Method for accelerating disk array write operations using segmented cache memory and data logging
First Claim
1. A method of utilizing cache memory in a disk storage subsystem to improve write operations, said method comprising the steps of:
- a) partitioning said cache memory to logically define a plurality of log-structured write cache segments and at least one redundancy-data cache segment;
b) partitioning disk space in said subsystem to logically define log-structured cache region having at least one disk segment;
c) logging first write request data corresponding to received write requests in a first segment of said plurality of write cache segments until said first segment is full;
d) logging further write request data corresponding to received write requests in a second segment of said plurality of write cache segments in response to said first segment being full;
e) accumulating, in said redundancy-data cache segment, redundancy data corresponding to said first write request data;
f) moving said first write request data from said first write cache segment to one of said at least one disk segment in response to accumulating said redundancy data; and
g) repeating steps c) through f) where said second segment is used as said first segment.
11 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for accelerating write operations logging write requests in a log structured cache and by expanding the log structured cache using a cache-extension disk region. The log structured cache include a cache memory region partitioned into one or more write cache segments and one or more redundancy-data (parity) cache segments. The cache-extension disk region is a portion of a disk array separate from a main disk region. The cache-extension disk region is also partitioned into segments and is used to extend the size of the log structured cache. The main disk region is instead managed in accordance with storage management techniques (e.g., RAID storage management). The write cache segment is partitioned into multiple write cache segments so that when one is full another can be used to handle new write requests. When one of these multiple write cache segments is filled, it is moved to the cache-extension disk region thereby freeing the write cache segment for reuse. The redundancy-data (parity) cache segment holds redundancy data for recent write requests, thereby assuring integrity of the logged write request data in the log structured cache.
269 Citations
48 Claims
-
1. A method of utilizing cache memory in a disk storage subsystem to improve write operations, said method comprising the steps of:
-
a) partitioning said cache memory to logically define a plurality of log-structured write cache segments and at least one redundancy-data cache segment; b) partitioning disk space in said subsystem to logically define log-structured cache region having at least one disk segment; c) logging first write request data corresponding to received write requests in a first segment of said plurality of write cache segments until said first segment is full; d) logging further write request data corresponding to received write requests in a second segment of said plurality of write cache segments in response to said first segment being full; e) accumulating, in said redundancy-data cache segment, redundancy data corresponding to said first write request data; f) moving said first write request data from said first write cache segment to one of said at least one disk segment in response to accumulating said redundancy data; and g) repeating steps c) through f) where said second segment is used as said first segment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for logging write requests in a disk storage subsystem to improve write operation performance, said method comprising the steps of:
-
partitioning a cache memory associated with said disk storage subsystem to logically define a plurality of log-structured write cache segments; partitioning disk space in said subsystem to logically define a log-structured cache region having at least one disk segment; logging first write request data corresponding to received write requests in a first segment of said plurality of write cache segments; and moving said write request data from said first write cache segment to one of said at least one disk segment in response to filling of said first segment. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer readable storage medium tangibly embodying programmed instructions for performing a method for utilizing cache memory in a disk storage subsystem to improve write operations, the method comprising the steps of:
-
a) partitioning said cache memory to logically define a plurality of log-structured write cache segments and at least one redundancy-data cache segment; b) partitioning disk space in said subsystem to logically define a log-structured cache region having at least one disk segment; c) logging first write request data corresponding to received write requests in a first segment of said plurality of write cache segments until said first segment is full; d) logging further write request data corresponding to received write requests in a second segment of said plurality of write cache segments in response to said first segment being full; e) accumulating, in said redundancy-data cache segment, redundancy data corresponding to said first write request data; f) moving said first write request data from said first write cache segment to one of said at least one disk segment in response to accumulating said redundancy data; and g) repeating method steps c) through f) where said second segment is used as said first segment. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A computer readable storage medium tangibly embodying programmed instructions for performing a method for logging write requests in a disk storage subsystem to improve write operation performance, said method comprising the steps of:
-
partitioning a cache memory associated with said disk storage subsystem to logically define a plurality of log-structured write cache segments; partitioning disk space in said subsystem to logically define a log-structured cache region at least one disk segment; logging first write request data corresponding to received write requests in a first segment of said plurality of write cache segments; and moving said write request data from said first write cache segment to one of said at least one disk segment in response to filling of said first segment. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
Specification