System for managing log structured array (LSA) of DASDS by managing segment space availability and reclaiming regions of segments using garbage collection procedure
First Claim
1. In a system having a segment-oriented and buffered log structured array (LSA) of DASDs, directory controlled means for establishing read and write access paths to logical tracks stored in said segments on said LSA as referenced by a source of external commands, cache means coupling the source and the LSA for separately read or write enqueuing the referenced logical tracks and for managing segment space availability by destaging tracks to the buffer of the LSA according to a usage discipline, and means for reclaiming regions of segments of the LSA by a garbage collection procedure, said reclaimed regions being available for recording segments formed from write modified logical tracks thereon, a method comprising the steps of:
- (a) accumulating neighborhoods of tracks in the buffer in a destage path from the cache means and in a garbage collection path from the LSA, and performing read-activity-based sorting of the accumulated neighborhoods of tracks into corresponding segments formed from write modified read active logical tracks, write modified read inactive logical tracks, clean read active logical tracks, and clean inactive logical tracks;
(b) writing segments from the buffer formed from write modified or clean read active tracks into an LSA DASD region of contiguous segments of read active tracks and writing segments from the buffer formed from write modified or clean read inactive tracks into an LSA DASD region of contiguous segments of read inactive tracks; and
(c) ascertaining the number of free space segments in each region and garbage collecting segments having either free space, old write age, or read inactive tracks in the regions in the LSA where the detected number is less than a first threshold, continuing the collection until the number of collected segments exceeds a second threshold, and applying the collected segments to the garbage collection path.
1 Assignment
0 Petitions
Accused Products
Abstract
Seek affinity is preserved in a segment oriented, cached, log structured array (LSA) of DASDs responsive to accesses dominated by sequential read and random writes of logical tracks stored in the segments. This is achieved by collecting all the write modified read active tracks and clean read active tracks either destaged from the cache or garbage collected from the LSA and rewriting them out to the LSA as segments into regions of contiguous segments of read active tracks. Also, all write modified read inactive tracks and clean read inactive tracks either destaged from cache or garbage collected from the LSA are collected and rewritten out to the LSA as segments into regions of contiguous segments of read inactive tracks. Garbage collection is initiated when the detected free space in a region falls below a threshold and continues until the collected segments exceed a second threshold. Alternatively, write age of logical tracks may be used instead of read activity so as to cluster LSA DASDs into a region of segments formed from old write active logical tracks and a region of current write active logical tracks.
-
Citations
28 Claims
-
1. In a system having a segment-oriented and buffered log structured array (LSA) of DASDs, directory controlled means for establishing read and write access paths to logical tracks stored in said segments on said LSA as referenced by a source of external commands, cache means coupling the source and the LSA for separately read or write enqueuing the referenced logical tracks and for managing segment space availability by destaging tracks to the buffer of the LSA according to a usage discipline, and means for reclaiming regions of segments of the LSA by a garbage collection procedure, said reclaimed regions being available for recording segments formed from write modified logical tracks thereon, a method comprising the steps of:
-
(a) accumulating neighborhoods of tracks in the buffer in a destage path from the cache means and in a garbage collection path from the LSA, and performing read-activity-based sorting of the accumulated neighborhoods of tracks into corresponding segments formed from write modified read active logical tracks, write modified read inactive logical tracks, clean read active logical tracks, and clean inactive logical tracks; (b) writing segments from the buffer formed from write modified or clean read active tracks into an LSA DASD region of contiguous segments of read active tracks and writing segments from the buffer formed from write modified or clean read inactive tracks into an LSA DASD region of contiguous segments of read inactive tracks; and (c) ascertaining the number of free space segments in each region and garbage collecting segments having either free space, old write age, or read inactive tracks in the regions in the LSA where the detected number is less than a first threshold, continuing the collection until the number of collected segments exceeds a second threshold, and applying the collected segments to the garbage collection path. - View Dependent Claims (17)
-
-
2. In a system having a CPU and means for establishing directory controlled read and write access paths to logical tracks stored in a segment-oriented buffered log structured array (LSA) of DASDs via caching means coupling the buffered array, said caching means managing segment space availability by destaging one or more logical tracks according to a usage discipline (LRU) to the buffer, said caching means including means for reclaiming regions of segments of the LSA by a garbage collection procedure for recording write modified logical tracks thereon, said logical tracks including write modified and clean tracks, a method for preserving seek affinity on CPU initiated read and write access patterns to the LSA, comprising the reiterative steps of:
-
(a) ascertaining read activity of neighborhood accumulations of logical tracks; (b) destaging logical tracks from the caching means according to the cache usage discipline and garbage collecting selected tracks from the LSA; (c) sorting neighborhood accumulations of logical tracks obtained according to step (b) into counterpart buffers based on the ascertained read activity of the tracks exceeding or not exceeding a threshold; (d) batch writing contents of the buffers to counterpart regions of segments on the DASD array such that the regions of segments formed from read active logical tracks are contiguous with each other and the regions of segments formed from read inactive logical tracks are contiguous with each other; (e) ascertaining the number of free space segments in each region, free space segments being formed in a region as logical tracks stored in the segments of a region are modified or deleted over time; and (f) garbage collecting segments in regions having either free space, old write age, or read inactive tracks in the DASD array responsive to the ascertained number of free segments in any given region falling below a first threshold and continuing said garbage collection until the number of collected segments exceeds a second threshold. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. In a system having a CPU and means for establishing directory controlled read and write access paths to logical tracks stored in a segment oriented buffered log structured array (LSA) of DASDs via caching means coupling the buffered array, said caching means managing segment space availability by destaging one or more logical tracks according to a usage discipline (LRU) to the buffer, said caching means including means for reclaiming regions of segments of the LSA by a garbage collection procedure for recording write modified logical tracks thereon, said logical tracks including write modified and clean tracks, a method for preserving seek affinity on CPU initiated read and write access patterns to the LSA, comprising the reiterative steps of:
-
(a) ascertaining write age activity of neighborhood accumulations of logical tracks; (b) destaging logical tracks from the cache according to the cache usage discipline and garbage collecting selected tracks from the LSA; (c) sorting neighborhood accumulations of logical tracks obtained according to step (b) into separate counterpart buffers based on the ascertained write age activity of the tracks exceeding or not exceeding a threshold for the destaged tracks and otherwise for the garbage collected tracks; (d) batch writing contents of the buffers to counterpart regions of segments on the DASD array such that the regions of segments formed from write active logical tracks are contiguous with each other and the regions of segments formed from write inactive logical tracks are contiguous with each other; (e) ascertaining the number of free space segments in each region, free space segments being formed in a region as logical tracks stored in the segments of a region are modified or deleted over time; and (f) garbage collecting regions having free space segments, old write age segments, or read inactive tracks in the DASD array responsive to the ascertained number of free segments in any given region falling below a first threshold and continuing said garbage collection until the number of collected segments exceeds a second threshold. - View Dependent Claims (16)
-
-
18. In a system having a segment-oriented and buffered log structured array (LSA) of DASDs, directory controlled means for establishing read and write access paths to logical tracks stored in said segments on said LSA as referenced by a source of external commands, cache means coupling the source and the LSA for separately read or write enqueuing the referenced logical tracks and for managing segment space availability by destaging tracks to the buffer of the LSA according to a usage discipline, and means for reclaiming regions of segments of the LSA by a garbage collection procedure, said reclaimed regions being available for recording segments formed from write modified logical tracks thereon, wherein the improvement comprises:
-
means for accumulating racks in the buffer in a destage path from the cache means and in a garbage collection path from the LSA, means for sorting the accumulated tracks into corresponding segments formed from write modified read active logical tracks, write modified read inactive logical tracks, clean read active logical tracks, and clean inactive logical tracks;
means for writing segments from the buffer formed from write modified or clean read active tracks into an LSA region of contiguous segments of read active tracks and for writing segments form the buffer formed from write modified or clean read inactive tracks into an LSA region of contiguous segments of read inactive tracks; andmeans for detecting the number of free space segments in each region and garbage collecting segments having either free space ore read inactive tracks in the regions in the LSA as a function of a first threshold, for continuing the collection until the number of collected segments exceeds a second threshold, and for applying the collected segments to the garbage collection path.
-
-
19. In a system having a CPU and means for establishing directory controlled read and write access paths to logical tracks stored in a segment-oriented buffered log structured array (LSA) of DASDs via caching means coupling the buffered array, said caching means managing segment space availability by destaging one or more logical tracks according to a usage discipline (LRU) to the buffer, said caching means including means for reclaiming regions of segments of the LSA by a garbage collection procedure for recording write modified logical tracks thereon, said logical tracks including write modified and clean tracks, a method for preserving seek affinity on CPU initiated read and write access patterns to the LSA, comprising the reiterative steps of:
-
(a) ascertaining read activity of neighborhood accumulations of logical tracks; (b) destaging logical tracks from the caching means according to the cache usage discipline and garbage collecting selected tracks from the LSA; (c) sorting neighborhood accumulations of logical tracks obtained according to step (b) into counterpart buffers based on the ascertained read activity of the tracks exceeding or not exceeding a threshold; (d) batch writing contents of the buffers to counterpart regions of segments on the DASD array such that the regions of segments formed from read active logical tracks are contiguous with each other and the regions of segments formed from read inactive logical tracks are contiguous with each other; (e) ascertaining the number of free space segments in each region, free space segments being formed in a region as logical tracks stored in the segments of a region are modified or deleted over time; and (f) garbage collecting segments in regions having either free space, old write age, or read inactive tracks in the DASD array responsive to the ascertained number of free segments in any given region falling below a first threshold and continuing said garbage collection until the number of collected segments exceeds a second threshold;
wherein each segment is partitionable into at least N data segment columns+one parity segment column, said segment columns being counterpart to an array of N+1 DASDs; and(g) concurrently destaging all logically adjacent modified tracks from the caching means into the same segment-column of the buffer in the event that any other modified tracks are written to the cache and which constitute adjacent tracks to those already write enqueued, if said other tracks are written to cache prior to the first write enqueued track being destaged to said buffer from said caching means. - View Dependent Claims (20, 21)
-
-
22. In a system having a CPU and means for establishing directory controlled read and write access paths to logical tracks stored in a segment-oriented buffered log structured array (LSA) of DASDs via caching means coupling the buffered array, said caching means managing segment space availability by destaging one or more logical tracks according to a usage discipline (LRU) to the buffer, said caching means including means for reclaiming regions of segments of the LSA by a garbage collection procedure for recording write modified logical tracks thereon, said logical tracks including write modified and clean tracks, a method for preserving seek affinity on CPU initiated read and write access patterns to the LSA, comprising the reiterative steps of:
-
(a) ascertaining read activity of neighborhood accumulations of logical tracks; (b) destaging logical tracks from the caching means according to the cache usage discipline and garbage collecting selected tracks from the LSA; (c) sorting neighborhood accumulations of logical tracks obtained according to step (b) into counterpart buffers based on the ascertained read activity of the tracks exceeding or not exceeding a threshold; (d) batch writing contents of the buffers to counterpart regions of segments on the DASD array such that the regions of segments formed from read active logical tracks are contiguous with each other and the regions of segments formed from read inactive logical tracks are contiguous with each other; (e) ascertaining the number of free space segments in each region, free space segments being formed in a region as logical tracks stored in the segments of a region are modified or deleted over time; (f) garbage collecting segments in regions having either free space, old write age, or read inactive tracks in the DASD array responsive to the ascertained number of free segments in any given region falling below a first threshold and continuing said garbage collection until the number of collected segments exceeds a second threshold; (g) ascertaining, at a time prior to a predetermined space in said caching means occupied by a clean track is scheduled for reuse, whether at least a predetermined number m of logically adjacent clean tracks are stored in the caching means and not contiguously stored in the LSA of DASDs; and (h) responsive to the presence of such tracks destaging the clean track and the m logically adjacent clean tracks from the caching means to the same memory segment-column in the buffer.
-
-
23. In a system having a CPU and means for establishing directory controlled read and write access paths to logical tracks stored in a segment-oriented buffered log structured array (LSA) of DASDs via caching means coupling the buffered array, said caching means managing segment space availability by destaging one or more logical tracks according to a usage discipline (LRU) to the buffer, said caching means including means for reclaiming regions of segments of the LSA by a garbage collection procedure for recording write modified logical tracks thereon, said logical tracks including write modified and clean tracks, a method for preserving seek affinity on CPU initiated read and write access patterns to the LSA, comprising the reiterative steps of:
-
(a) ascertaining read activity of neighborhood accumulations of logical tracks; (b) destaging logical tracks from the caching means according to the cache usage discipline and garbage collecting selected tracks from the LSA; (c) sorting neighborhood accumulations of logical tracks obtained according to step (b) into counterpart buffers based on the ascertained read activity of the tracks exceeding or not exceeding a threshold; (d) batch writing contents of the buffers to counterpart regions of segments on the DASD array such that the regions of segments formed from read active logical tracks are contiguous with each other and the regions of segments formed from read inactive logical tracks are contiguous with each other; (e) ascertaining the number of free space segments in each region, free space segments being formed in a region as logical tracks stored in the segments of a region are modified or deleted over time; and (f) garbage collecting segments in regions having either free space, old write age, or read inactive tracks in the DASD array responsive to the ascertained number of free segments in any given region falling below a first threshold and continuing said garbage collection until the number of collected segments exceeds a second threshold; wherein a neighborhood consists of an ordered set of logical tracks, a track is logically adjacent to another if they are both in the same neighborhood.
-
-
24. In a system having a CPU and means for establishing directory controlled read and write access paths to logical tracks stored in a segment-oriented buffered log structured array (LSA) of DASDs via caching means coupling the buffered array, said caching means managing segment space availability by destaging one or more logical tracks according to a usage discipline (LRU) to the buffer, said caching means including means for reclaiming regions of segments of the LSA by a garbage collection procedure for recording write modified logical tracks thereon, said logical tracks including write modified and clean tracks, a method for preserving seek affinity on CPU initiated read and write access patterns to the LSA, comprising the reiterative steps of:
-
(a) ascertaining read activity of neighborhood accumulations of logical tracks, initializing a read activity counter for each logical track stored in said caching means, counting only those read accesses to a logical track not available in the read enqueued tracks in the caching means and noting access time of occurrence, and weighting the read accesses inversely according to their relative time of occurrence; (b) destaging logical tracks from the caching means according to the cache usage discipline and garbage collecting selected tracks from the LSA; (c) sorting neighborhood accumulations of logical tracks obtained according to step (b) into counterpart buffers based on the ascertained read activity of the tracks exceeding or not exceeding a threshold; (d) batch writing contents of the buffers to counterpart regions of segments on the DASD array such that the regions of segments formed from read active logical tracks are contiguous with each other and the regions of segments formed from read inactive logical tracks are contiguous with each other; (e) ascertaining the number of free space segments in each region, free space segments being formed in a region as logical tracks stored in the segments of a region are modified or deleted over time; and (f) garbage collecting segments in regions having either free space, old write age, or read inactive tracks in the DASD array responsive to the ascertained number of free segments in any given region falling below a first threshold and continuing said garbage collection until the number of collected segments exceeds a second threshold;
wherein for a given group of N+1 DASDs, said DASDs being partitioned into regions of segments formed from read active data tracks and read inactive data tracks. - View Dependent Claims (25)
-
-
26. In a system having a CPU and means for establishing directory controlled read and write access paths to logical tracks stored in a segment-oriented buffered log structured array (LSA) of DASDs via caching means coupling the buffered array, said caching means managing segment space availability by destaging one or more logical tracks according to a usage discipline (LRU) to the buffer, said caching means including means for reclaiming regions of segments of the LSA by a garbage collection procedure for recording write modified logical tracks thereon, said logical tracks including write modified and clean tracks, said buffer including a first, a second, a third and a fourth segment accumulating buffer, a method for preserving seek affinity on CPU initiated read and write access patterns to the LSA, comprising the reiterative steps of:
-
(a) ascertaining read activity of neighborhood accumulations of logical tracks; (b) destaging logical tracks from the caching means according to the cache usage discipline and garbage collecting selected tracks from the LSA; (c) sorting neighborhood accumulations of logical tracks obtained according to step (b) into counterpart buffers based on the ascertained read activity of the tracks exceeding or not exceeding a threshold; (d) batch writing contents of the buffers to counterpart regions of segments on the DASD array such that the regions of segments formed from read active logical tracks are contiguous with each other and the regions of segments formed from read inactive logical tracks are contiguous with each other; (e) ascertaining the number of free space segments in each region, free space segments being formed in a region as logical tracks stored in the segments of a region are modified or deleted over time; (f) garbage collecting segments in regions having either free space, old write age, or read inactive tracks in the DASD array responsive to the ascertained number of free segments in any given region falling below a first threshold and continuing said garbage collection until the number of collected segments exceeds a second threshold; (g) destaging write modified read active tracks from the cache into the first buffer, and write modified read inactive tracks from the cache into the second buffer; (h) destaging clean read active tracks from the cache and copying garbage collected read active tracks to the third buffer; (i) destaging clean read inactive tracks from the cache and copying garbage collected read inactive tracks to the fourth buffer; and (j) writing the contents of the first and third buffers to regions formed from segments of read active tracks and writing the contents of the second and fourth buffers to regions formed from segments of read inactive tracks. - View Dependent Claims (27)
-
-
28. In a system having a CPU and means for establishing directory controlled read and write access paths to logical tracks stored in a segment-oriented buffered log structured array (LSA) of DASDs via caching means coupling the buffered array, said caching means managing segment space availability by destaging one or more logical tracks according to a usage discipline (LRU) to the buffer, said caching means including means for reclaiming regions of segments of the LSA by a garbage collection procedure for recording write modified logical tracks thereon, said logical tracks including write modified and clean tracks, wherein each track is identified by a track number, the buffer includes counterpart buffers for write modified read active tracks, write modified read inactive tracks, clean read active tracks and clean read inactive tracks, a method for preserving seek affinity on CPU initiated read and write access patterns to the LSA, comprising the reiterative steps of:
-
(a) ascertaining read activity of neighborhood accumulations of logical tracks; (b) destaging logical tracks from the caching means according to the cache usage discipline and garbage collecting selected tracks from the LSA; (c) sorting neighborhood accumulations of logical tracks obtained according to step (b) into counterpart buffers based on the ascertained read activity of the tracks exceeding or not exceeding a threshold; (d) batch writing contents of the butters to counterpart regions of segments on the DASD array such that the regions of segments formed from read active logical tracks are contiguous with each other and the regions of segments formed from read inactive logical tracks are contiguous with each other; (e) ascertaining the number of free space segments in each region, free space segments being formed in a region as logical tracks stored in the segments of a region are modified or deleted over time; and (f) garbage collecting segments in regions having either free space, old write age, or read inactive tracks in the DASD array responsive to the ascertained number of free segments in any given region falling below a first threshold and continuing said garbage collection until the number of collected segments exceeds a second threshold, by performing steps comprising; accumulating tracks in a dedicated buffer and writing the contents thereof into the segment buffers until the number of accumulated tracks is reasonably large; sorting the tracks by track number and accumulating them into neighborhoods; computing the average read activity per neighborhood; and
writing the read active tracks into the buffer for clean read active tracks and writing read inactive tracks into the buffer for clean inactive tracks.
-
Specification