Patent US5584007A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5584007A Expired / Lapsed US ⏱️ 0.0 years remaining

Apparatus and method for discriminating among data to be stored in cache

Assignee: Eacceleration Corp
•
Filing: 1994-02-09
•
Granted: 1996-12-10
•
Expires: 2014-02-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A cache for improving access to optical media includes a primary cache comprising RAM and a secondary cache comprising a portion of hard disk memory. Multiple aspects of the invention are defined: (1) Cache data discrimination: Discrimination methodology is implemented for determining when data should not be cached. Under certain conditions, caching of data is less likely to improve access time. (e.g., when the transfer rate is already exceeding a critical sustained throughput rate; when an estimated time to complete a CD-ROM data request is within a specific percentage of the estimated time to complete a hard drive disk request). (2) Secondary cache fragmentation avoidance: To keep the access time to secondary cache faster than the access time to the optical media, fragmentation of the secondary cache (i.e., hard disk) is minimized. To do so, constraints are imposed: (i) an entire CD-ROM request is stored in contiguous sectors on the hard drive; (ii) sequential CD-ROM requests to adjacent sectors of CD-ROM are concatenated on the hard drive; (iii) data redundancy is permitted). (3) Alternative update methodologies: Cache updates are performed in sequence or in parallel to primary and secondary cache depending upon the embodiment. (4) Data integrity: Integrity of data stored in non-volatile secondary cache is maintained for a substantial portion of secondary cache through power failures, shutdowns and media swaps.

Inventors

  • 👤 Clinton L. Ballard

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 20:44
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0866; G06F12/0888; G06F12/0893; G06F12/0897; G06F2212/00; G06F2212/20; G06F2212/202; G06F2212/2022; G06F2212/31; G06F2212/311; G06F2212/312

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 209 words
A discriminatory cache apparatus for storing data requested from a mass storage device, the apparatus comprising a first portion of a first storage means, the first storage means having an access time rated faster than same for the mass storage device; digital processing means for executing a computer program which determines whether data specified by a current mass storage device data request is to be stored in said first portion to enable faster access, the digital processing means comprising: (a) means for deciding whether the current data request is for data on the mass storage device which is contiguous to data from a previous mass storage device data request; and (b) means for deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughput; and wherein data for the current data request is stored in the first portion upon satisfaction of either of the following conditions: (i) data for the current request is not contiguous with data from said previous mass storage device data request; or (ii) the data for the current request is contiguous with data from said previous mass storage device data request and mass storage device I/O occurring within said prior first window does not exceed the first throughput.
Claim 2
Dependent Claim 209 words
A discriminatory cache apparatus for storing data requested from a mass storage device, the apparatus comprising a first portion of a first storage means, the first storage means having an access time rated faster than same for the mass storage device; digital processing means for executing a computer program which determines whether data specified by a current mass storage device data request is to be stored in said first portion to enable faster access, the digital processing means comprising: (a) means for deciding whether the current data request is for data on the mass storage device which is contiguous to data from a previous mass storage device data request; and (b) means for deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughput; and wherein data for the current data request is stored in the first portion upon satisfaction of either of the following conditions: (i) data for the current request is not contiguous with data from said previous mass storage device data request; or (ii) the data for the current request is contiguous with data from said previous mass storage device data request and mass storage device I/O occurring within said prior first window does not exceed the first throughput.
Claim 3
Dependent Claim 16 words
The discriminatory cache apparatus of claim 1 in which the first storage means comprises non-volatile memory.
Claim 4
Dependent Claim 18 words
The discriminatory cache apparatus of claim 2 in which said mass storage device is an optical storage medium.
Claim 5
Dependent Claim 18 words
The discriminatory cache apparatus of claim 2 in which the first storage means comprises a hard disk drive.
Claim 6
Dependent Claim 28 words
The discriminatory cache apparatus of claim 2, further comprising a second storage means, and wherein said first portion and said second storage means comprise a two level cache.
Claim 7
Dependent Claim 191 words
A discriminatory cache apparatus for storing data requested from a mass storage device, comprising a first portion of a first storage means, the first storage means having an access time rated faster than same for the mass storage device; digital processing means for executing a computer program which determines whether data specified by a current mass storage device data request is to be stored in said first portion to enable faster access, in which said computer program determination comprises: (a) estimating access time for the mass storage device based upon locations of data specified by (i) the data request and (ii) a preceding data request in which the mass storage device was accessed; and (b) deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughput; wherein data for the current data request is stored in the first portion upon satisfaction of either of the following conditions: (i) the estimated access time is not within a first percentage of first storage device access time; or (ii) mass storage device I/O occurring within a prior first window of time does not exceed a first throughput.
Claim 8
Dependent Claim 191 words
A discriminatory cache apparatus for storing data requested from a mass storage device, comprising a first portion of a first storage means, the first storage means having an access time rated faster than same for the mass storage device; digital processing means for executing a computer program which determines whether data specified by a current mass storage device data request is to be stored in said first portion to enable faster access, in which said computer program determination comprises: (a) estimating access time for the mass storage device based upon locations of data specified by (i) the data request and (ii) a preceding data request in which the mass storage device was accessed; and (b) deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughput; wherein data for the current data request is stored in the first portion upon satisfaction of either of the following conditions: (i) the estimated access time is not within a first percentage of first storage device access time; or (ii) mass storage device I/O occurring within a prior first window of time does not exceed a first throughput.
Claim 9
Dependent Claim 16 words
The discriminatory cache apparatus of claim 6 in which the first storage means discriminatory non-volatile memory.
Claim 10
Dependent Claim 18 words
The discriminatory cache apparatus of claim 7 in which the first storage means comprises a hard disk drive.
Claim 11
Dependent Claim 28 words
The discriminatory cache apparatus of claim 8 further comprising a second storage means, and wherein said first portion and said second storage means comprise a two level cache.
Claim 12
Dependent Claim 18 words
The discriminatory cache apparatus of claim 7 in which said mass storage device is an optical storage medium.
Claim 13
Independent Claim 148 words
A method of discriminating among data requests to determine whether a current data request specifying data on a mass storage device is to be stored in cache, comprising the steps of: deciding whether the current data request is for data on the mass storage device contiguous to data from a previous mass storage device data request; deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughput; and storing data for the current data request in cache upon satisfaction of either of the following conditions: (i) data for the current request is not contiguous with data from said previous mass storage device data request; or (ii) the data for the current request is contiguous with data from said previous mass storage device data request and mass storage device I/O occurring within said prior first window does not exceed the first throughput.
Claim 14
Independent Claim 148 words
A method of discriminating among data requests to determine whether a current data request specifying data on a mass storage device is to be stored in cache, comprising the steps of: deciding whether the current data request is for data on the mass storage device contiguous to data from a previous mass storage device data request; deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughput; and storing data for the current data request in cache upon satisfaction of either of the following conditions: (i) data for the current request is not contiguous with data from said previous mass storage device data request; or (ii) the data for the current request is contiguous with data from said previous mass storage device data request and mass storage device I/O occurring within said prior first window does not exceed the first throughput.
Claim 15
Independent Claim 138 words
A method of discriminating among data requests to determine whether a current data request specifying data on a mass storage device is to be stored in cache, comprising the steps of: estimating access time for the mass storage device based upon locations of data specified by (i) the data request and (ii) a preceding data request in which the mass storage device was accessed; deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughput; and storing data for the current data request in the first portion upon satisfaction of either of the following conditions: (i) the estimated access time is not within a first percentage of cache device access time; or (ii) mass storage device I/O occurring within a prior first window of time does not exceed the first throughput.
Claim 16
Independent Claim 138 words
A method of discriminating among data requests to determine whether a current data request specifying data on a mass storage device is to be stored in cache, comprising the steps of: estimating access time for the mass storage device based upon locations of data specified by (i) the data request and (ii) a preceding data request in which the mass storage device was accessed; deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughput; and storing data for the current data request in the first portion upon satisfaction of either of the following conditions: (i) the estimated access time is not within a first percentage of cache device access time; or (ii) mass storage device I/O occurring within a prior first window of time does not exceed the first throughput.
Claim 17
Dependent Claim 181 words
An electronic data storage media storing a computer program adapted to program a digital processing device to execute a method of discriminating among data requests to determine whether a current data request specifying data On a mass storage device is to be stored in cache, the storage media comprising: first code means for deciding whether the current data request is for data on the mass storage device contiguous to data from a previous mass storage device data request; second code means for deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughput; and third code means for directing data for the current data request to be stored in cache upon satisfaction of either of the following conditions: (i) data for the current request is not contiguous with data from said previous mass storage device data request; or (ii) the data for the current request is contiguous with data from said previous mass storage device data request and mass storage device I/O occurring within said prior first window does not exceed the first throughput.
Claim 18
Dependent Claim 181 words
An electronic data storage media storing a computer program adapted to program a digital processing device to execute a method of discriminating among data requests to determine whether a current data request specifying data On a mass storage device is to be stored in cache, the storage media comprising: first code means for deciding whether the current data request is for data on the mass storage device contiguous to data from a previous mass storage device data request; second code means for deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughput; and third code means for directing data for the current data request to be stored in cache upon satisfaction of either of the following conditions: (i) data for the current request is not contiguous with data from said previous mass storage device data request; or (ii) the data for the current request is contiguous with data from said previous mass storage device data request and mass storage device I/O occurring within said prior first window does not exceed the first throughput.
Claim 19
Dependent Claim 171 words
An electronic data storage media storing a computer program adapted to program a digital processing device to execute a method of discriminating among data requests to determine whether a current data request specifying data on a mass storage device is to be stored in cache, the storage media comprising: first code means for estimating access time for the mass storage device based upon locations of data specified by (i) the data request and (ii) a preceding data request in which the mass storage device was accessed; second code means for deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughout; and third code means for directing data for the current data request to be stored in the first portion upon satisfaction of either of the following conditions: (i) the estimated access time is not within a first percentage of cache device access time; or (ii) mass storage device I/O occurring within a prior first window of time does not exceed the first throughput.
Claim 20
Dependent Claim 171 words
An electronic data storage media storing a computer program adapted to program a digital processing device to execute a method of discriminating among data requests to determine whether a current data request specifying data on a mass storage device is to be stored in cache, the storage media comprising: first code means for estimating access time for the mass storage device based upon locations of data specified by (i) the data request and (ii) a preceding data request in which the mass storage device was accessed; second code means for deciding whether mass storage device I/O occurring within a prior first window of time exceeds a first throughout; and third code means for directing data for the current data request to be stored in the first portion upon satisfaction of either of the following conditions: (i) the estimated access time is not within a first percentage of cache device access time; or (ii) mass storage device I/O occurring within a prior first window of time does not exceed the first throughput.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-12-10 2000-06-10 2000-12-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-12-10 2004-06-10 2004-12-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-12-10 2008-06-10 2008-12-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag