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

Garbage collection in log-structured information storage systems using age threshold selection of segments

Assignee: SAP SE
•
Filing: 1997-05-19
•
Granted: 1999-08-03
•
Expires: 2017-05-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An information storage system selects target segments for garbage collection only if their age in the information storage system exceeds an age threshold value and, once past the age threshold, in the order of least utilized segments first. The system determines the age of a segment by determining the amount of time a segment has been located in direct access storage devices (DASD) of the information storage system and considers a segment for garbage collection only after the segment has been located in DASD for the selected age threshold value. From the set of candidate segments, the system chooses one or more for garbage collection in the order in which they will yield the most free space. The free space yield is determined by utilization data, so that the least utilized segments are garbage-collected first.

Inventors

  • 👤 Jaishankar Moothedath Menon
  • 👤 Larry Joseph Stockmeyer

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 05:34
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/0604; G06F3/0607; G06F3/0628; G06F3/0646; G06F3/0652; G06F3/0668; G06F3/0671; G06F3/0673; G06F3/0674; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99956; Y10S707/99957

Claims Analysis

Total Claims: 48
Claim 1
Independent Claim 98 words
A method for performing a garbage collection process in an information storage system having direct access storage units in which information segments are located, the method comprising the steps of: selecting an age threshold value; determining an age value for each segment that indicates the time that segment has been located in a direct access storage device and designating each segment as a candidate for garbage collection if the segment has an age value greater than the age threshold value; and choosing a candidate segment for garbage collection if it will yield a maximized amount of free space.
Claim 2
Independent Claim 98 words
A method for performing a garbage collection process in an information storage system having direct access storage units in which information segments are located, the method comprising the steps of: selecting an age threshold value; determining an age value for each segment that indicates the time that segment has been located in a direct access storage device and designating each segment as a candidate for garbage collection if the segment has an age value greater than the age threshold value; and choosing a candidate segment for garbage collection if it will yield a maximized amount of free space.
Claim 3
Dependent Claim 34 words
A method as defined in claim 1, wherein the maximized amount of free space is the amount of empty storage space provided by performing garbage collection on the candidate segment having the lowest utilization.
Claim 4
Dependent Claim 23 words
A method as defined in claim 1, wherein the step of choosing comprises selecting a candidate segment in accordance with a yield ranking.
Claim 5
Dependent Claim 22 words
A method as defined in claim 3, wherein the relative yield ranking comprises a ranking of the candidate segments according to utilization.
Claim 6
Dependent Claim 18 words
A method as defined in claim 4, wherein the relative yield ranking comprises a plurality of utilization intervals.
Claim 7
Dependent Claim 33 words
A method as defined in claim 3, wherein the step of choosing further comprises selecting between two candidate segments having equal yield ranking by selecting the candidate segment having the greater age value.
Claim 8
Dependent Claim 40 words
A method as defined in claim 3, wherein the information segments comprise a plurality of information tracks, and each segment is assigned an age when written from a memory buffer into the direct access storage devices during a destage operation.
Claim 9
Dependent Claim 33 words
A method as defined in claim 7, wherein the age of a segment filled by garbage collection is set to the age of the youngest segment that contributed tracks to the filled segment.
Claim 10
Dependent Claim 32 words
A method as defined in claim 7, wherein the age of a segment is the difference between a current destage clock value and the destage operation destage clock value of the segment.
Claim 11
Independent Claim 145 words
A method for managing storage of information segments in a computer processing system that stores information in a plurality of direct access storage devices, the method comprising the steps of: setting the age of a segment filled by track writing operations to a current value of a destage clock; placing the filled segment at a tail position of a first-in, first-out (FIFO) queue; designating a segment from a head position of the FIFO queue as a garbage collection candidate if the age of the segment is greater than an age threshold value; ordering a plurality of designated candidate segments in accordance with their respective free space yield upon garbage collection; and choosing candidate segments for performing a garbage collection process in the order of their relative yield ranking such that candidate segments with lower yield rankings are selected before candidate segments with higher yield rankings.
Claim 12
Independent Claim 145 words
A method for managing storage of information segments in a computer processing system that stores information in a plurality of direct access storage devices, the method comprising the steps of: setting the age of a segment filled by track writing operations to a current value of a destage clock; placing the filled segment at a tail position of a first-in, first-out (FIFO) queue; designating a segment from a head position of the FIFO queue as a garbage collection candidate if the age of the segment is greater than an age threshold value; ordering a plurality of designated candidate segments in accordance with their respective free space yield upon garbage collection; and choosing candidate segments for performing a garbage collection process in the order of their relative yield ranking such that candidate segments with lower yield rankings are selected before candidate segments with higher yield rankings.
Claim 13
Dependent Claim 22 words
A method as defined in claim 10, wherein the relative yield ranking comprises a ranking of the candidate segments according to utilization.
Claim 14
Dependent Claim 18 words
A method as defined in claim 11, wherein the relative yield ranking comprises a plurality of utilization intervals.
Claim 15
Dependent Claim 33 words
A method as defined in claim 10, wherein the step of choosing further comprises selecting between two candidate segments having equal yield ranking by selecting the candidate segment having the greater age value.
Claim 16
Dependent Claim 40 words
A method as defined in claim 10, wherein the information segments comprise a plurality of information tracks, and each segment is assigned an age when written from a memory buffer into the direct access storage devices during a destage operation.
Claim 17
Dependent Claim 33 words
A method as defined in claim 14, wherein the age of a segment filled by garbage collection is set to the age of the youngest segment that contributed tracks to the filled segment.
Claim 18
Dependent Claim 32 words
A method as defined in claim 14, wherein the age of a segment is the difference between a current destage clock value and the destage operation destage clock value of the segment.
Claim 19
Independent Claim 247 words
A method for performing a garbage collection process in a computer processing system that stores information segments, the method comprising the steps of: setting an age threshold value to an initial value of zero; selecting a garbage collection direction to an up value; determining an initial garbage collection utilization (GCU) measurement value over a predetermined amount of time; determining an initial age threshold value by performing the steps of: adjusting the age threshold value by increasing the age threshold value if the garbage collection direction has an up value, and decreasing the age threshold value if the garbage collection direction has a down value, calculating the GCU value over the time since the last determined GCU value, and selecting the garbage collection direction to be the opposite of its current value if the calculated GCU value is worse than the last determined GCU value and maintaining the garbage collection direction at its current value if the calculated GCU value otherwise; and responding to a garbage collection command by performing garbage collection on partially-filled segments of the computer processing system according to the steps of: determining an age value for each segment that indicates the time that segment has been located in a direct access storage device and designating each segment as a candidate for garbage collection if the segment has an age value greater than the age threshold value; and choosing a candidate segment for garbage collection if it will yield a maximized amount of free space.
Claim 20
Independent Claim 247 words
A method for performing a garbage collection process in a computer processing system that stores information segments, the method comprising the steps of: setting an age threshold value to an initial value of zero; selecting a garbage collection direction to an up value; determining an initial garbage collection utilization (GCU) measurement value over a predetermined amount of time; determining an initial age threshold value by performing the steps of: adjusting the age threshold value by increasing the age threshold value if the garbage collection direction has an up value, and decreasing the age threshold value if the garbage collection direction has a down value, calculating the GCU value over the time since the last determined GCU value, and selecting the garbage collection direction to be the opposite of its current value if the calculated GCU value is worse than the last determined GCU value and maintaining the garbage collection direction at its current value if the calculated GCU value otherwise; and responding to a garbage collection command by performing garbage collection on partially-filled segments of the computer processing system according to the steps of: determining an age value for each segment that indicates the time that segment has been located in a direct access storage device and designating each segment as a candidate for garbage collection if the segment has an age value greater than the age threshold value; and choosing a candidate segment for garbage collection if it will yield a maximized amount of free space.
Claim 21
Dependent Claim 34 words
A method as defined in claim 17, wherein the maximized amount of free space is the amount of empty storage space provided by performing garbage collection on the candidate segment having the lowest utilization.
Claim 22
Dependent Claim 26 words
A method as defined in claim 17, wherein the step of choosing a candidate segment comprises selecting a candidate segment in accordance with a yield ranking.
Claim 23
Dependent Claim 22 words
A method as defined in claim 19, wherein the relative yield ranking comprises a ranking of the candidate segments according to utilization.
Claim 24
Dependent Claim 18 words
A method as defined in claim 20, wherein the relative yield ranking comprises a plurality of utilization intervals.
Claim 25
Dependent Claim 36 words
A method as defined in claim 19, wherein the step of choosing a candidate segment further comprises selecting between two candidate segments having equal yield ranking by selecting the candidate segment having the greater age value.
Claim 26
Dependent Claim 40 words
A method as defined in claim 19, wherein the information segments comprise a plurality of information tracks, and each segment is assigned an age when written from a memory buffer into the direct access storage devices during a destage operation.
Claim 27
Dependent Claim 33 words
A method as defined in claim 23, wherein the age of a segment filled by garbage collection is set to the age of the youngest segment that contributed tracks to the filled segment.
Claim 28
Dependent Claim 32 words
A method as defined in claim 23, wherein the age of a segment is the difference between a current destage clock value and the destage operation destage clock value of the segment.
Claim 29
Independent Claim 157 words
A method for determining when a filled segment in a log-structured file information storage system should be subjected to a garbage collection process, the method comprising the steps of: calculating an age threshold value defined by F×S×{1-ASU- (max-empty-min-empty)/(S-min-empty)!}, where: 0<=F<=1,ASU=average segment utilization, max-empty is a maximum number of empty segments, min-empty is a minimum number of empty segments, and S is the number of segments in the information storage system; and responding to a garbage collection command by performing garbage collection on partially-filled segments of the computer processing system according to the steps of: determining an age value for each segment that indicates the time that segment has been located in a direct access storage device and designating each segment as a candidate for garbage collection if the segment has an age value greater than the age threshold value; and choosing a candidate segment for garbage collection if it will yield a maximized amount of free space.
Claim 30
Independent Claim 157 words
A method for determining when a filled segment in a log-structured file information storage system should be subjected to a garbage collection process, the method comprising the steps of: calculating an age threshold value defined by F×S×{1-ASU- (max-empty-min-empty)/(S-min-empty)!}, where: 0<=F<=1,ASU=average segment utilization, max-empty is a maximum number of empty segments, min-empty is a minimum number of empty segments, and S is the number of segments in the information storage system; and responding to a garbage collection command by performing garbage collection on partially-filled segments of the computer processing system according to the steps of: determining an age value for each segment that indicates the time that segment has been located in a direct access storage device and designating each segment as a candidate for garbage collection if the segment has an age value greater than the age threshold value; and choosing a candidate segment for garbage collection if it will yield a maximized amount of free space.
Claim 31
Dependent Claim 34 words
A method as defined in claim 26, wherein the maximized amount of free space is the amount of empty storage space provided by performing garbage collection on the candidate segment having the lowest utilization.
Claim 32
Dependent Claim 26 words
A method as defined in claim 26, wherein the step of choosing a candidate segment comprises selecting a candidate segment in accordance with a yield ranking.
Claim 33
Dependent Claim 22 words
A method as defined in claim 28, wherein the relative yield ranking comprises a ranking of the candidate segments according to utilization.
Claim 34
Dependent Claim 18 words
A method as defined in claim 29, wherein the relative yield ranking comprises a plurality of utilization intervals.
Claim 35
Dependent Claim 36 words
A method as defined in claim 28, wherein the step of choosing a candidate segment further comprises selecting between two candidate segments having equal yield ranking by selecting the candidate segment having the greater age value.
Claim 36
Dependent Claim 40 words
A method as defined in claim 28, wherein the information segments comprise a plurality of information tracks, and each segment is assigned an age when written from a memory buffer into the direct access storage devices during a destage operation.
Claim 37
Dependent Claim 33 words
A method as defined in claim 32, wherein the age of a segment filled by garbage collection is set to the age of the youngest segment that contributed tracks to the filled segment.
Claim 38
Dependent Claim 32 words
A method as defined in claim 32, wherein the age of a segment is the difference between a current destage clock value and the destage operation destage clock value of the segment.
Claim 39
Dependent Claim 137 words
An information storage system comprising: a central processing unit; a plurality of direct access storage devices (DASD) in which segments of information are stored for use by the central processing unit; and an information storage system controller that determines the DASD locations in which the information segments will be stored, wherein the controller manager periodically performs a garbage collection process for forming empty segments by performing the steps of selecting an age threshold value, determining an age value for each segment that indicates the time that segment has been located in a direct access storage device and designating each segment as a candidate for garbage collection if the segment has an age value greater than the age threshold value, and choosing a candidate segment for garbage collection if it will yield a maximized amount of free space.
Claim 40
Dependent Claim 137 words
An information storage system comprising: a central processing unit; a plurality of direct access storage devices (DASD) in which segments of information are stored for use by the central processing unit; and an information storage system controller that determines the DASD locations in which the information segments will be stored, wherein the controller manager periodically performs a garbage collection process for forming empty segments by performing the steps of selecting an age threshold value, determining an age value for each segment that indicates the time that segment has been located in a direct access storage device and designating each segment as a candidate for garbage collection if the segment has an age value greater than the age threshold value, and choosing a candidate segment for garbage collection if it will yield a maximized amount of free space.
Claim 41
Dependent Claim 34 words
A system as defined in claim 35, wherein the maximized amount of free space is the amount of empty storage space provided by performing garbage collection on the candidate segment having the lowest utilization.
Claim 42
Dependent Claim 26 words
A system as defined in claim 35, wherein the controller performs the step of choosing by selecting a candidate segment in accordance with a yield ranking.
Claim 43
Dependent Claim 22 words
A system as defined in claim 37, wherein the relative yield ranking comprises a ranking of the candidate segments according to utilization.
Claim 44
Dependent Claim 18 words
A system as defined in claim 38, wherein the relative yield ranking comprises a plurality of utilization intervals.
Claim 45
Dependent Claim 36 words
A system as defined in claim 37, wherein the controller further performs the step of choosing by selecting between two candidate segments having equal yield ranking by selecting the candidate segment having the greater age value.
Claim 46
Dependent Claim 40 words
A system as defined in claim 37, wherein the information segments comprise a plurality of information tracks, and each segment is assigned an age when written from a memory buffer into the direct access storage devices during a destage operation.
Claim 47
Dependent Claim 33 words
A system as defined in claim 41, wherein the age of a segment filled by garbage collection is set to the age of the youngest segment that contributed tracks to the filled segment.
Claim 48
Dependent Claim 32 words
A system as defined in claim 41, wherein the age of a segment is the difference between a current destage clock value and the destage operation destage clock value of the segment.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-02 2003-02-01 2003-08-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-02 2007-02-01 2007-08-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-02 2011-02-01 2011-08-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag