Apparatus and method of handling caching of persistent data
First Claim
1. An apparatus comprising:
- cache storage having a plurality of entries to cache data items associated with memory addresses in a non-volatile memory, the data items comprising persistent data items and non-persistent data items;
write back control circuitry to control write back of the data items from the cache storage to the non-volatile memory; and
cache usage determination circuitry to determine, in dependence on information indicative of capacity of a backup energy source, a subset of the plurality of entries to be used to store persistent data items;
wherein, in response to an event causing the backup energy source to be used, the write back control circuitry is arranged to initiate write back to the non-volatile memory of the persistent data items cached in said subset of the plurality of entries;
wherein the cache usage determination circuitry is arranged to perform a partitioning operation in order to partition the cache storage into a persistent region providing the subset of the plurality of entries to be used to store persistent data items and a non-persistent region providing entries other than the subset of the plurality of entries to be used to store persistent data items, and to generate usage control information that enables identification of the persistent region;
wherein the apparatus further comprises;
control storage to store the usage control information generated by the cache usage determination circuitry; and
allocation circuitry arranged after the usage control information has been stored in the control storage, to be responsive to a subsequent request that causes a new data item to be allocated in the cache storage, to reference the control storage when determining into which entry of the cache storage the new data item is to be allocated, such that when the new data item is a persistent data item an entry within the persistent region identified by the control information is selected by the allocation circuitry as the entry into which that new data item is allocated that new data item is allocated;
wherein, in response to said event causing the backup energy source to be used, the write back control circuitry is arranged to reference the control storage in order to determine which entries are to have their data items written back to the non-volatile memory.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method are provided for handling caching of persistent data. The apparatus comprises cache storage having a plurality of entries to cache data items associated with memory address in a non-volatile memory. The data items may comprise persistent data items and non-persistent data items. Write back control circuitry is used to control write back of the data items from the cache storage to the non-volatile memory. In addition, cache usage determination circuitry is used to determine, in dependence on information indicative of capacity of a backup energy source, a subset of the plurality of entries to be used to store persistent data items. In response to an event causing the backup energy source to be used, the write back control circuitry is then arranged to initiate write back to the non-volatile memory of the persistent data items cached in the subset of the plurality of entries. By constraining the extent to which the cache storage is allowed to store persistent data items, taking into account the capacity of the backup energy source, the persistence of those data items can then be guaranteed in the event of the backup energy source being triggered, for example due to removal of the primary energy source for the apparatus.
8 Citations
13 Claims
-
1. An apparatus comprising:
-
cache storage having a plurality of entries to cache data items associated with memory addresses in a non-volatile memory, the data items comprising persistent data items and non-persistent data items; write back control circuitry to control write back of the data items from the cache storage to the non-volatile memory; and cache usage determination circuitry to determine, in dependence on information indicative of capacity of a backup energy source, a subset of the plurality of entries to be used to store persistent data items; wherein, in response to an event causing the backup energy source to be used, the write back control circuitry is arranged to initiate write back to the non-volatile memory of the persistent data items cached in said subset of the plurality of entries; wherein the cache usage determination circuitry is arranged to perform a partitioning operation in order to partition the cache storage into a persistent region providing the subset of the plurality of entries to be used to store persistent data items and a non-persistent region providing entries other than the subset of the plurality of entries to be used to store persistent data items, and to generate usage control information that enables identification of the persistent region; wherein the apparatus further comprises; control storage to store the usage control information generated by the cache usage determination circuitry; and allocation circuitry arranged after the usage control information has been stored in the control storage, to be responsive to a subsequent request that causes a new data item to be allocated in the cache storage, to reference the control storage when determining into which entry of the cache storage the new data item is to be allocated, such that when the new data item is a persistent data item an entry within the persistent region identified by the control information is selected by the allocation circuitry as the entry into which that new data item is allocated that new data item is allocated; wherein, in response to said event causing the backup energy source to be used, the write back control circuitry is arranged to reference the control storage in order to determine which entries are to have their data items written back to the non-volatile memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of handling caching of persistent data within a cache storage having a plurality of entries to cache data items associated with memory addresses in a non-volatile memory, the data items comprising persistent data items and non-persistent data items, the method comprising:
-
employing write back control circuitry to control write back of the data items from the cache storage to the non-volatile memory; determining, in dependence on information indicative of capacity of a backup energy source, a subset of the plurality of entries to be used to store persistent data items; in response to an event causing the backup energy source to be used, causing the write back control circuitry to initiate write back to the non-volatile memory of the persistent data items cached in said subset of the plurality of entries; the determining of the subset of the plurality of entries to be used to store persistent data items comprising performing a partitioning operation in order to partition the cache storage into a persistent region providing the subset of the plurality of entries to be used to store persistent data items and a non-persistent region providing entries other than the subset of the plurality of entries to be used to store persistent data items, and to generate usage control information that enables identification of the persistent region; storing the usage control information generated by the partitioning operation in control storage; following storage of the usage control information in the control storage, responding to a subsequent request that causes a new data item to be allocated in the cache storage, referencing the control storage when determining into which entry of the cache storage the new data item is to be allocated, such that when the new data item is a persistent data item an entry within the persistent region identified by the control information is selected as the entry into which that new data item is allocated into the persistent region; and in response to said event causing the backup energy source to be used, referencing the control storage in order to determine which entries are to have their data items written back to the non-volatile memory.
-
-
13. An apparatus comprising:
-
cache storage means having a plurality of entries for caching data items associated with memory addresses in a non-volatile memory, the data items comprising persistent data items and non-persistent data items; write back control means for controlling write back of the data items from the cache storage means to the non-volatile memory; and cache usage determination means for determining, in dependence on information indicative of capacity of a backup energy source, a subset of the plurality of entries to be used to store persistent data items; wherein, in response to an event causing the backup energy source to be used, the write back control means for initiating write back to the non-volatile memory of the persistent data items cached in said subset of the plurality of entries; wherein the cache usage determination means is for performing a partitioning operation in order to partition the cache storage means into a persistent region providing the subset of the plurality of entries to be used to store persistent data items and a non-persistent region providing entries other than the subset of the plurality of entries to be used to store persistent data items, and to generate usage control information that enables identification of the persistent region; wherein the apparatus further comprises; control storage means for storing the usage control information generated by the cache usage determination circuitry; and allocation means arranged after the usage control information has been stored in the control storage, to be responsive to a subsequent request that causes a new data item to be allocated in the cache storage means, for referencing the control storage means when determining into which entry of the cache storage means the new data item is to be allocated, such that when the new data item is a persistent data item an entry within the persistent region identified by the control information is selected by the allocation means as the entry into which that new data item is allocated into the persistent region; wherein, in response to said event causing the backup energy source to be used, the write back control means is arranged to reference the control storage means in order to determine which entries are to have their data items written back to the non-volatile memory.
-
Specification