Apparatuses and methods for cache invalidate
View Patent ↗The present disclosure includes apparatuses and methods for cache invalidate. An example apparatus comprises a bit vector capable memory device and a channel controller coupled to the memory device. The channel controller is configured to cause a bulk invalidate command to be sent to a cache memory system responsive to receipt of a bit vector operation request.
1. A method for operating an apparatus, comprising:
converting a bit vector bit length to a number of cache lines to be invalidated; and
generating a bulk invalidate command according to a cache coherency protocol of a cache memory system, wherein the bulk invalidate command uses the number of cache lines to be invalidated as an argument, wherein generating the bulk invalidate command, comprises:
providing the base address and the number of cache lines to be invalidated as an argument in packet fields sent to the cache memory system; and
converting an address of the bit vector to a cache line sized address relevant to the cache memory system, wherein the bulk invalidate command uses the cache line sized address as a base address and wherein converting the address of the bit vector comprises performing a logical AND operation using the address of the bit vector and a mask.
2. A method for operating an apparatus, comprising:
receiving a bit vector operation request; and
sending a bulk invalidate command to a cache memory system responsive to receiving the bit vector operation request to free up space in the cache memory system for use by a bit vector operation
modifying a behavior of a cache coherency protocol associated with the cache memory system for responses to caching requests;
tracking the bit vector operation performed responsive to receiving the bit vector operation request; and
allowing read access to an invalidated portion of the cache memory system while the bit vector operation is being performed.
3. The method of claim 2 , wherein modifying the behavior comprises:
temporarily denying exclusive access or update requests to an invalidated portion of the cache memory system while the bit vector operation is being performed.
4. The method of claim 2 , wherein modifying the behavior comprises:
suspending exclusive access or update requests to an invalidated portion of the cache memory system until the bit vector operation is complete or can be interrupted.
5. The method of claim 2 , wherein modifying the behavior comprises:
adding meta data to the cache coherency protocol of the cache memory system; and
marking a cache line as in-use elsewhere and not shared.
6. A method for operating an apparatus, comprising:
receiving a bit vector operation request;
sending a bulk invalidate command to a cache memory system responsive to receiving the bit vector operation request to free up space in the cache memory system for use by a bit vector operation;
modifying a behavior of a cache coherency protocol associated with the cache memory system for responses to caching requests;
tracking the bit vector operation performed responsive to receiving the bit vector operation request; and
stopping the bit vector operation to allow a later received cache operation request to be performed.
7. The method of claim 6 , further comprising:
rescheduling the bit vector operation;
temporarily providing access to requested cache data associated with the later received cache operation request; and
causing a new bulk invalidate command to be sent to the cache memory system to resume the bit vector operation upon completion of the later received cache operation request.