System for managing the caching of data of a mass storage within a portion of a system memory
First Claim
1. A computer having:
- a processor,a mass storage subsystem for storing data blocks,system memory a portion of which is organized as cache memory with addressable locations for temporarily storing selected ones of said data blocks,hardware-configured cache manager, anda bus system comprising a local bus to which said processor is connected, a memory bus to which said system memory is connected, a peripheral bus to which said cache manager and mass storage subsystem are connected, and an inter-bus interface inter-connecting said local, memory and peripheral buses, said cache manager and said mass storage subsystem connected so as to use said peripheral bus as a common data path;
the processor being operative to run a program for asking the cache manager by a request transmitted over said bus system whether a particular data block is currently in the cache memory, and the cache manager comprising;
association means associating addressable locations of the cache memory, as identified by respective identifiers, with any said selected data blocks currently stored therein,check means responsive to a said request to check said association means to find whether said particular data block is currently in said cache memory, andreport means operative upon said check means finding that said particular data block is in the cache memory, to return an in-cache indication over said bus system to said program;
said program responding to said in-cache indication to control said processor to access said particular data block via a path consisting of said local bus, said inter-bus interface and said memory bus.
3 Assignments
0 Petitions
Accused Products
Abstract
Computers are frequently provided with cache systems to facilitate processor access to data, such systems serving to temporarily store selected data blocks read from a mass storage subsystem. In the present cache system, a portion (19) of system memory (11) is organized as cache memory, and a cache manager (30) is provided that exists separately of the processor (10) and system memory (11). Thus, in one embodiment the cache manager (30) interfaces with a peripheral bus (15) to which the mass storage subsystem (16, 17) is also connected. When the computer operating system (18) wishes to read a particular data block, it issues a request over the computer bus system to the cache manager (30) which, if the block is currently held in the cache (19), returns the cache address of that block. If the requested block is not in the cache, the cache manager (30) initiates the transfer of the block from the mass storage peripheral (16, 17) to the cache memory (19). The actual data block transfer may be performed under the control of the operating system (18) or, if the mass storage subsystem (16, 17) is DMA capable, by the mass storage subsystem itself.
41 Citations
6 Claims
-
1. A computer having:
-
a processor, a mass storage subsystem for storing data blocks, system memory a portion of which is organized as cache memory with addressable locations for temporarily storing selected ones of said data blocks, hardware-configured cache manager, and a bus system comprising a local bus to which said processor is connected, a memory bus to which said system memory is connected, a peripheral bus to which said cache manager and mass storage subsystem are connected, and an inter-bus interface inter-connecting said local, memory and peripheral buses, said cache manager and said mass storage subsystem connected so as to use said peripheral bus as a common data path; the processor being operative to run a program for asking the cache manager by a request transmitted over said bus system whether a particular data block is currently in the cache memory, and the cache manager comprising; association means associating addressable locations of the cache memory, as identified by respective identifiers, with any said selected data blocks currently stored therein, check means responsive to a said request to check said association means to find whether said particular data block is currently in said cache memory, and report means operative upon said check means finding that said particular data block is in the cache memory, to return an in-cache indication over said bus system to said program; said program responding to said in-cache indication to control said processor to access said particular data block via a path consisting of said local bus, said inter-bus interface and said memory bus. - View Dependent Claims (2, 3, 4, 5, 6)
-
Specification