Utilizing a cache mechanism by copying a data set from a cache-disabled memory location to a cache-enabled memory location
First Claim
1. A system operative to prevent a controller from automatically writing to a cache memory, comprising:
- a compute element;
a memory operative to store data sets;
a cache memory associated with the compute element and operative to cache the data sets in conjunction with the memory; and
a controller operative to transfer data sets automatically from a data source to the cache memory, in which the data sets transferred are associated with specific addresses in the memory, thereby facilitating later updating of the data sets from the cache memory to the specific addresses in the memory,wherein;
the system is configured to disable caching by the cache memory of at least the specific addresses in the memory, while still enabling caching by the cache memory of other addresses in the memory;
the controller is configured, as a result of said disablement, to refrain from said transferring of data sets automatically from the data source to the cache memory, and instead, transfer the data sets from the data source to the specific addresses in the memory; and
the compute element is configured to;
(i) determine that the data sets are now needed for processing, and should therefore be cached in the cache memory, and (ii) cause the system, as a result of said determination, to copy the data sets from the specific addresses in the memory to the other addresses in the memory, thereby now allowing the caching and processing of the data sets.
3 Assignments
0 Petitions
Accused Products
Abstract
Described herein are systems and methods to prevent a controller in a DDIO (data direct input output) system from shifting currently-required data out of a cache memory. In one embodiment, a compute element disables caching of some specific addresses in a non-cache memory, but still enables caching of other addresses in the non-cache memory, thereby practically disabling the DDIO system, so that data sets not currently needed are placed in the addresses in the non-cache memory which are not cached. As a result, currently-required data are not shifted out of cache memory. The compute element then determines that the data sets, which formerly avoided being cached, are now required. The system therefore copies the data sets that are now required from addresses in non-cache memory not accessible to cache memory, to addresses in non-cache memory accessible to cache memory, thereby allowing the caching and processing of such data sets.
-
Citations
19 Claims
-
1. A system operative to prevent a controller from automatically writing to a cache memory, comprising:
-
a compute element; a memory operative to store data sets; a cache memory associated with the compute element and operative to cache the data sets in conjunction with the memory; and a controller operative to transfer data sets automatically from a data source to the cache memory, in which the data sets transferred are associated with specific addresses in the memory, thereby facilitating later updating of the data sets from the cache memory to the specific addresses in the memory, wherein; the system is configured to disable caching by the cache memory of at least the specific addresses in the memory, while still enabling caching by the cache memory of other addresses in the memory; the controller is configured, as a result of said disablement, to refrain from said transferring of data sets automatically from the data source to the cache memory, and instead, transfer the data sets from the data source to the specific addresses in the memory; and the compute element is configured to;
(i) determine that the data sets are now needed for processing, and should therefore be cached in the cache memory, and (ii) cause the system, as a result of said determination, to copy the data sets from the specific addresses in the memory to the other addresses in the memory, thereby now allowing the caching and processing of the data sets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. The system of 12, wherein the memory is a random-access-memory (RAM).
-
14. The system of 12, wherein the memory is a memory module.
-
15. A system operative to control data sets and the caching thereof, comprising:
-
a compute element; a memory configured to store a plurality of data sets; and a cache memory associated with the compute element, wherein; the system is configured to allow caching, in conjunction with the cache memory, of only those of the data sets that are stored in a first part of the memory, thereby preventing caching of the other data sets that are stored in a second part of the memory; the system is further configured to;
(i) receive, from a data source external to the system, a first data set, and (ii) direct the first data set to the second part of the memory, thereby preventing the first data set from being cached in conjunction with the cache memory; andthe compute element is configured to;
(i) determine that the first data set is now needed, and should therefore be cached in the cache memory, and (ii) cause the system, as a result of said determination, to copy the first data set from the second part of the memory to the first part of the memory, thereby allowing caching of the first data set. - View Dependent Claims (16, 17)
-
-
18. A method for preventing a controller from shifting valuable data out of cache memory, comprising:
-
disabling, by a compute element, caching by a cache memory of at least specific addresses in a memory, while still enabling caching by the cache memory of other addresses in the memory; affecting a controller, as a result of said disabling, such as to cause the controller to refrain from transferring of data sets automatically from a data source to the cache memory, thereby preventing the controller from shifting valuable other data sets out of the cache memory, and consequently forcing the controller to, instead, transfer the data sets from the data source to the specific addresses in the memory, in which the specific addresses in the memory are the original final destination of the data sets as determined by the data source; determining, by the compute element, that the data sets are now needed for processing, and should therefore be cached in the cache memory; and copying, as a result of said determination, the data sets from the specific addresses in the memory to the other addresses in the memory, thereby now allowing the caching and processing of the data sets. - View Dependent Claims (19)
-
Specification