← Back to Patent Explorer
EP0375864A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Cache bypass

Assignee: International Business Machines Corp
•
Filing: 1989-10-19
•
Granted: —
•
Expires: 2009-10-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An inpage buffer (26) is used between a cache (22) and slower storage device (28). When a processor (12) requests data, the cache is checked to see if the data is already in the cache. If not, a request for the data is sent to the slower storage device. The buffer receives the data from the slower storage device and provides the data to the processor that requested the data. The buffer then provides the data to the cache for storage provided that the cache is not working on a separate storage request from the processor. The data will be written into the cache from the buffer when the cache is free from such requests. The buffer is also able to provide data corresponding to subsequent requests provided it contains such data. This may happen if a request for the same data occurs, and the buffer has not yet written the data into the cache. It can also occur if the areas of the cache which can hold data from an area of the slower storage is inoperable for some reason. The buffer acts as a minicache when such a catastrophic error in the cache occurs.

Inventors

  • 👤 James E. Bohner
  • 👤 Thang T. Do
  • 👤 Richard J. Gusefski
  • 👤 Kevin C. Huang
  • 👤 Chon I. Lei

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-03 22:09
CPC Classifications
G; G11; G11C; G11C29/00; G11C29/70; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0844; G06F12/0846; G06F12/0848; G06F12/0855; G06F12/0859; G06F12/0888

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 206 words
System having cache bypass capability with a cache bypass apparatus characterized by a storage device (28) for storing data; by a processor (12) for generating read data requests having addresses corresponding to storage device addresses; by a cache (22) coupled between said storage device and the processor for providing fast access to storage device data which is stored in said cache; by a controller (32) coupled to the processor for receiving read requests from the processor, determining if data corresponding to the read request is stored in the cache, and controlling said cache to provide the data so stored to the processor; by a buffer (26) coupled between said storage device and cache for temporarily storing data sent from the storage device to the cache; by means (20) for transferring data from the buffer to the processor; by means (30) for transferring data from the buffer to the cache; by means (19) for inhibiting transfer of data from the buffer means to the cache if further read data requests are pending; by means for determining if data corresponding to said further read data requests is contained in said buffer means; and by means for controlling said buffer means to transfer said corresponding data to the processor.
Claim 2
Dependent Claim 206 words
System having cache bypass capability with a cache bypass apparatus characterized by a storage device (28) for storing data; by a processor (12) for generating read data requests having addresses corresponding to storage device addresses; by a cache (22) coupled between said storage device and the processor for providing fast access to storage device data which is stored in said cache; by a controller (32) coupled to the processor for receiving read requests from the processor, determining if data corresponding to the read request is stored in the cache, and controlling said cache to provide the data so stored to the processor; by a buffer (26) coupled between said storage device and cache for temporarily storing data sent from the storage device to the cache; by means (20) for transferring data from the buffer to the processor; by means (30) for transferring data from the buffer to the cache; by means (19) for inhibiting transfer of data from the buffer means to the cache if further read data requests are pending; by means for determining if data corresponding to said further read data requests is contained in said buffer means; and by means for controlling said buffer means to transfer said corresponding data to the processor.
Claim 3
Dependent Claim 148 words
System of claim 1 in a multiprocessor system, characterized by multiple processors, at least one of which has: a first level cache (21) comprising: a data store buffer (26); a data cache (22); a data cache controller (32) for tracking and replacing data in the data cache; an inpage buffer (24) coupled to said data cache; an instruction store buffer (44); an instruction cache (16) operable independent of said data cache; an instruction cache controller (36) for tracking and replacing instructions in the instruction cache; and a storage bus (33) coupled to said inpage buffer, data store buffer and instruction cache; and by a storage device (42) coupled to each storage bus, the storage device being shared by multiple processors, and wherein each inpage buffer receives data from the storage device which is not available from a processor's data cache, and supplies said data directly to said processor.
Claim 4
Dependent Claim 24 words
System of claim 2, characterized in that the inpage buffer (24) acts as a minicache in the event that the data cache becomes inoperable.
Claim 5
Dependent Claim 144 words
System of claim 1 or 2, characterized by a storage device for storing information; by a processor for generating read requests having addresses corresponding to storage device addresses; by a cache coupled between said storage device and the processor for providing fast access to storage device information which is stored in said cache; by a controller coupled to the processor for receiving read requests from the processor, determining if information corresponding to the read request is stored in the cache, and controlling said cache to provide the information so stored to the processor; and by buffer coupled between said storage device and cache, and also having a direct coupling to the processor for buffering information between the storage device and the cache, and providing information stored therein directly to the processor in the event that the requested information is not available from the cache.
Claim 6
Dependent Claim 19 words
System of claim 4, characterized in that the buffer means provides information to the processor responsive to the controller.
Claim 7
Dependent Claim 33 words
System of claim 4, characterized in that the controller further comprises a directory (32) having an indication for each piece of information in the cache as to the validity of said each piece.
Claim 8
Dependent Claim 16 words
System of claim 6, characterized in that each piece of information comprises a page of data.
Claim 9
Dependent Claim 27 words
System of claim 7, characterized in that the buffer further comprises means (34) for receiving the read request, and determining if the corresponding information is resident therein.
Claim 10
Dependent Claim 36 words
System of claim 8, characterized in that the controller selects between the buffer means and the cache as the source of information supplied to the processor based on the directory validity indication corresponding to said information.
Claim 11
Dependent Claim 82 words
System of claim 4, characterized in that the controller passes the read request on to the storage device when the information corresponding thereto is not in said cache, and wherein the buffer receives the information from the storage device; that the buffer supplies the information received from the storage device to the processor; that the buffer also supplies the information received from the storage device to the cache provided that there are no outstanding read requests from the processor to the cache.
Claim 12
Dependent Claim 100 words
Method of transferring data from a storage device to a processor in a system having a cache between said storage device and processor, and having a data buffer between said storage device and cache, comprising the steps of: a) generating a request for data by the processor (12); b) checking for the requested data in the cache (22); c) checking for the requested data in the buffer (26); d) supplying the requested data from the cache if the data is stored therein; and e) supplying the requested data from the buffer if the data is not available from the cache.
Claim 13
Dependent Claim 100 words
Method of transferring data from a storage device to a processor in a system having a cache between said storage device and processor, and having a data buffer between said storage device and cache, comprising the steps of: a) generating a request for data by the processor (12); b) checking for the requested data in the cache (22); c) checking for the requested data in the buffer (26); d) supplying the requested data from the cache if the data is stored therein; and e) supplying the requested data from the buffer if the data is not available from the cache.
Claim 14
Dependent Claim 67 words
Method of transferring data of claim 11 and further comprising the steps of: f) sending the request for data to the storage device (28, 42) if the data is not available from either the cache or buffer; g) receiving the requested data from the storage device in the buffer; and h) providing the requested data directly to the processor without first storing the data in the cache.
Claim 15
Dependent Claim 40 words
Method of transferring data of 12 and further comprising the steps of: i) checking for further data requests from the processor; and j) writing the data from the buffer to the cache if no further requests for data are found.
Claim 16
Dependent Claim 40 words
Method of transferring data of 12 and further comprising the steps of: i) checking for further data requests from the processor; and j) writing the data from the buffer to the cache if no further requests for data are found.
Claim 17
Dependent Claim 50 words
Method of transferring data of claim 13 and further comprising the steps of: k) detecting bad cache locations; storing indications of bad cache locations in a directory associated with said cache; and l) inhibiting the writing of the data from the buffer into locations of the cache indicated as bad.
Claim 18
Dependent Claim 32 words
Method of claim 14 and further comprising the step of: m) operating the buffer as a mini-cache when there are no good locations in the cache in which to write the data.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag