US5895488A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Cache flushing methods and apparatus
Assignee: POWER MANAGEMENT ENTERPRISES LLC
•
Filing: 1997-02-24
•
Granted: 1999-04-20
•
Expires: 2017-02-24
Abstract
Abstract Methods and apparatus for managing a cache which includes a number of dirty lines in which (a) the percentage of dirty lines in the cache is determined, (b) the cache is flushed if the determined percentage of dirty lines exceeds a predetermined threshold, (c) whether a state of a system is idle is determined based on at least two indicators including (i) CPU idle percentage, (ii) data bus busyness percentage, (iii) percentage of dirty lines, and (iv) I/Os per second, and (d) if the state of the system is determined to be idle, a line of the cache is flushed.
Inventors
- 👤 Barbara Loechel
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-05 08:35
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0804; G06F12/0866
Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
73 words
A method for managing a cache which includes a number of dirty lines, the method including steps of: a) determining whether a state of a system is idle based on at least two indicators including (i) CPU idle percentage, (ii) data bus busyness percentage, (iii) percentage of dirty lines, and (iv) I/Os per second; and b) flushing, if the state of the system is determined to be idle, a line of the cache.
Claim 2
Independent Claim
73 words
A method for managing a cache which includes a number of dirty lines, the method including steps of: a) determining whether a state of a system is idle based on at least two indicators including (i) CPU idle percentage, (ii) data bus busyness percentage, (iii) percentage of dirty lines, and (iv) I/Os per second; and b) flushing, if the state of the system is determined to be idle, a line of the cache.
Claim 3
Dependent Claim
40 words
The method of claim 1 wherein the state of the system is determined to be idle when (i) the CPU idle percentage is above a first predetermined threshold, and (ii) the data bus busyness percentage is below a second threshold.
Claim 4
Dependent Claim
13 words
The method of claim 2 wherein the first predetermined threshold is 50 percent.
Claim 5
Dependent Claim
13 words
The method of claim 2 wherein the second predetermined threshold is 50 percent.
Claim 6
Dependent Claim
16 words
The method of claim 2 wherein both the first and second predetermined thresholds are 50 percent.
Claim 7
Dependent Claim
44 words
The method of claim 2 wherein data bus busyness percentage is determined by dividing the number of blocks transferred over a data bus during a sampling period divided by the theoretical maximum number of blocks transferable over the data bus during the sampling period.
Claim 8
Dependent Claim
13 words
The method of claim 6 wherein the data bus is a SCSI bus.
Claim 9
Dependent Claim
128 words
In a system having a host computer and a mass storage device, a mass storage controller comprising: a) an input/output interface for permitting communication between the host computer, the mass storage controller, and the mass storage device; b) a cache having a number of cache lines, some of which cache lines may include dirty data; and c) an input/output management controller, the input output management controller including i) means for determining whether a state of a system is idle based on at least two indicators including (i) a host CPU idle percentage, (ii) data bus busyness percentage, (iii) percentage of dirty lines, and (iv) I/Os per second; and ii) means for flushing a line of the cache if the state of the system is determined to be idle.
Claim 10
Dependent Claim
128 words
In a system having a host computer and a mass storage device, a mass storage controller comprising: a) an input/output interface for permitting communication between the host computer, the mass storage controller, and the mass storage device; b) a cache having a number of cache lines, some of which cache lines may include dirty data; and c) an input/output management controller, the input output management controller including i) means for determining whether a state of a system is idle based on at least two indicators including (i) a host CPU idle percentage, (ii) data bus busyness percentage, (iii) percentage of dirty lines, and (iv) I/Os per second; and ii) means for flushing a line of the cache if the state of the system is determined to be idle.
Claim 11
Dependent Claim
40 words
The device of claim 8 wherein the state of the system is determined to be idle when (i) the CPU idle percentage is above a first predetermined threshold, and (ii) the data bus busyness percentage is below a second threshold.
Claim 12
Dependent Claim
44 words
The device of claim 9 wherein data bus busyness percentage is determined by dividing the number of blocks transferred over a data bus during a sampling period divided by the theoretical maximum number of blocks transferable over the data bus during the sampling period.
Claim 13
Dependent Claim
13 words
The method of claim 10 wherein the data bus is a SCSI bus.
Claim 14
Independent Claim
98 words
A method for managing a cache which includes a number of dirty lines, the method including steps of: a) determining the percentage of dirty lines in the cache; b) flushing, if the determined percentage of dirty lines exceeds a predetermined threshold, the cache; c) determining whether a state of a system is idle based on at least two indicators including (i) CPU idle percentage, (ii) data bus busyness percentage, (iii) percentage of dirty lines, and (iv) I/Os per second; and d) flushing, if the state of the system is determined to be idle, a line of the cache.
Claim 15
Independent Claim
98 words
A method for managing a cache which includes a number of dirty lines, the method including steps of: a) determining the percentage of dirty lines in the cache; b) flushing, if the determined percentage of dirty lines exceeds a predetermined threshold, the cache; c) determining whether a state of a system is idle based on at least two indicators including (i) CPU idle percentage, (ii) data bus busyness percentage, (iii) percentage of dirty lines, and (iv) I/Os per second; and d) flushing, if the state of the system is determined to be idle, a line of the cache.
Claim 16
Dependent Claim
12 words
The method of claim 12 wherein the predetermined threshold is 95 percent.
Claim 17
Dependent Claim
86 words
The method of claim 12 wherein the cache includes a total number of cache lines, and wherein the step of determining the percentage of dirty lines in the cache includes sub-steps of i) determining a number of dirty cache lines based on cache lines having headers with a dirty map indicating dirty data, ii) dividing the number of dirty cache lines, determined above, by the total number of cache lines of the cache to derive a intermediate result, and iii) multiplying the intermediate result by 100.
Claim 18
Dependent Claim
40 words
The method of claim 12 wherein the state of the system is determined to be idle when (i) the CPU idle percentage is above a first predetermined threshold, and (ii) the data bus busyness percentage is below a second threshold.
Claim 19
Dependent Claim
13 words
The method of claim 15 wherein the first predetermined threshold is 50 percent.
Claim 20
Dependent Claim
13 words
The method of claim 15 wherein the second predetermined threshold is 50 percent.
Claim 21
Dependent Claim
16 words
The method of claim 15 wherein both the first and second predetermined thresholds are 50 percent.
Claim 22
Dependent Claim
44 words
The method of claim 15 wherein data bus busyness percentage is determined by dividing the number of blocks transferred over a data bus during a sampling period divided by the theoretical maximum number of blocks transferable over the data bus during the sampling period.
References Cited (Backward Citations)
US4426682A
Cited
US4827401A
Cited
US4775955A
Cited
US5038278A
Cited
US5347634A
Cited
US5414827A
Cited
US5408644A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-04-19 | 2002-10-19 | 2003-04-20 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-04-19 | 2006-10-19 | 2007-04-20 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-04-19 | 2010-10-19 | 2011-04-20 | $7700.00 | Window Closed / Lapsed |