Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass
First Claim
1. The method of operating a buffered peripheral system having a plurality of peripheral devices connected to and sharing a random-access data buffer, directory means for indicating whether data stored or to be stored in a one of said peripheral devices has data storage spaced allocated therefor in said data buffer, data transfer means connected to said data buffer and to said peripheral devices for transferring data therewith and with external means external to said buffered peripheral system;
- the improvement including the steps of;
initiating a data transfer for transferring a record of data, by addressing a given one of said peripheral devices, between said buffered peripheral system and said data transfer means by first examining said directory means to ascertain whether said data buffer has data storage spaced allocated relating to said data transfer being initiated, if said data storage space is allocated, performing said data transfer between said buffer and said data transfer means;
if said data buffer has no data storage space allocated for said data transfer, bypassing said data buffer and directly transferring data with said given one peripheral device; and
then transferring in a respective series of data transfers a series of records of data between said data transfer means and said given one of said peripheral devices without examining said directory means such that said series for data transfers occurs with said given one of said peripheral devices irrespective of said data storage space allocations in said data buffer.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage hierarchy has a caching buffer and a backing store; the backing store preferably having disk-type data-storage apparatus. A directory indicates data stored in the caching buffer. Upon a data-storage access, read or write, within a series of such accesses, resulting in a cache miss, all subsequent data storage accesses in the series are made to the backing store to the exclusion of the caching buffer even though the caching buffer has storage space allocated for such a data transfer. Selected limits are placed on the series to the backing store, such as receiving on end of series (end of command chain) indication from a using unit, crossing DASD cylinder boundaries, receiving an out of bounds address or receiving certain device oriented commands.
-
Citations
18 Claims
-
1. The method of operating a buffered peripheral system having a plurality of peripheral devices connected to and sharing a random-access data buffer, directory means for indicating whether data stored or to be stored in a one of said peripheral devices has data storage spaced allocated therefor in said data buffer, data transfer means connected to said data buffer and to said peripheral devices for transferring data therewith and with external means external to said buffered peripheral system;
-
the improvement including the steps of; initiating a data transfer for transferring a record of data, by addressing a given one of said peripheral devices, between said buffered peripheral system and said data transfer means by first examining said directory means to ascertain whether said data buffer has data storage spaced allocated relating to said data transfer being initiated, if said data storage space is allocated, performing said data transfer between said buffer and said data transfer means;
if said data buffer has no data storage space allocated for said data transfer, bypassing said data buffer and directly transferring data with said given one peripheral device; andthen transferring in a respective series of data transfers a series of records of data between said data transfer means and said given one of said peripheral devices without examining said directory means such that said series for data transfers occurs with said given one of said peripheral devices irrespective of said data storage space allocations in said data buffer. - View Dependent Claims (2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16)
-
-
6. continuing said series of data transfers directly with said given one peripheral device within a first cylinder of said record tracks;
- and
-
7. upon accessing a second cylinder of said record tracks, reexamining said directory means for storage space allocated in said data buffer.
-
14. The method of operating a data storage hierarchy having a backing store and a caching buffer store with means to store data in said buffer store based upon addressable data storage areas of said backing store, both of said stores having a plurality of addressable data storage areas;
-
including the steps of; in a series of data transfers, wherein each of said data transfers transferring a record of data, transferring data from an external means to said backing store to the exclusion of said buffer store said external means being external to said data storage hierarchy and connected to said backing and buffer stores and to said means to store; receiving from said external means an indication that data transferred in said series of data transfers is host sequentially processable data; upon completion of said series of data transfers determining whether said buffer store is storing data corresponding to data stored in said backing store during said series of data transfers; effectively removing said corresponding data from said buffer store; and also upon completion of said series of data transfers, transferring the data contents of the last data storage area accessed, during said series of data transfers, to said buffer store.
-
-
15. The method of operating a data storage hierarchy having a backing store and a caching buffer store with means to store data in said buffer store based upon addressable data storage areas of said backing store, both of said stores having a plurality of addressable data storage areas;
-
including the steps of; receiving an indication from said external means that predetermined data stored in said data buffer is bound to said data buffer; in a series of data transfers, wherein each of said data transfers transferring a record of data, transferring data from an external means to said backing store to the exclusion of said buffer store said external means being external to said data storage hierarchy and connected to said backing and buffer stores and to said means to store; upon completion of said series of data transfers determining whether said buffer store is storing data corresponding to data stored in said backing store during said series of data transfers; when said corresponding data stored in said data buffer includes predetermined data, updating said predetermined data by transferring data stored in said backing store corresponding to said predetermined data received from said external means and associatable by addresses of said addressable data storage areas of said backing store with said predetermined data stored in said data buffer during said series of data transfers whereby congruence of supposedly identical data stored in said buffer store and in said backing store is maintained; and effectively removing said corresponding data which is not said predetermined data from said buffer store.
-
-
17. In a buffered peripheral system having a plurality of addressable peripheral devices connected to and sharing a random-access data buffer having a plurality of addressable and allocatable data storage spaces and being connected to an external means for transferring data between said external means and said peripheral devices, directory means operatively connected to said data buffer for indicating whether data storable in a one of said peripheral devices has space allocated in said data buffer;
-
the improvement including the steps of, in combination; initiating a data transfer of a record of data between said buffered peripheral system and said external means by first examining said directory means to ascertain whether said data buffer has any of said data storage space allocated relating to said data transfer being initiated, if said data storage space is allocated, performing said data transfer between said data buffer and said external means; if said data buffer has no data storage space allocated for said data transfer, bypassing said data buffer to transfer data between a one of said peripheral devices and said external means; then transferring a series of records of data in a series of said data transfers with said peripheral devices external means without examining said directory means such that said series of data transfers occur with said peripheral devices irrespective of said space allocations in said data buffer; and detecting an access boundary in said one of said peripheral devices intermediate two successive ones of said data transfers in said series of data transfers, then examining said directory means for space allocation relating to a next successive one of said data transfers following said access boundary.
-
-
18. In a data storage hierarchy adapted to be connected to using units, comprising:
-
a cache store for addressably storing data; a backing store for addressably storing data in respective addressable data storage areas, and connected to said cache store and means for transferring data between the backing store and said cache store; switching means for selectively switching communication paths between said using units, said backing store, and said cache; transfer means for transferring data between said using units and either said cache store or said backing store in a series of data transfers, each data transfer transferring a record of data; directory means for addressably indicating data stored in said cache store as it relates to addressable data storage areas of said backing store; device access tally means being responsive to transfer of data between said backing store and said using units to memorize addresses of data stored in said backing store received as changed data from a using unit but not stored in said cache store; and congruence means responsive to a completion of said series of data transfers to examine said directory means and said access tally means to identify changes in data content in said backing store not occurring during said series of data transfers in data stored in said cache store corresponding to said changed data content and including first means for deleting first predetermined portions of said corresponding data stored in said cache store, second means for updating second predetermined portions of said corresponding data stored in said cache store by activating said switching means for transferring said data stored in said backing store associatable by addresses of said backing store with said second predetermined portions of said corresponding data stored in said cache store.
-
Specification