Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method for managing a data cache, comprising: storing a cache management list comprising a plurality of entries, the cache management list comprising: a tail part stored in a first storage documenting a plurality of recently accessed data items stored in a data cache, a body part stored in a second storage documenting a plurality of less recently accessed data items stored in the data cache, and a head part stored in the first storage documenting a first plurality of least recently accessed data items stored in the data cache; in at least one cache management iteration of the plurality of cache management iterations: identifying, in the body part, a second plurality of least recently entries; documenting a second plurality of least recently accessed data items stored in the data cache; and copying the second plurality of least recent entries from the body part to the head part; and in each cache management iteration of a plurality of cache management iterations: receiving a first data access request; documenting the first data access request in the tail part; identifying a plurality of duplicated entries, associated with the first data access request, present in the body part and the tail part; and removing each duplicated entry of the plurality of duplicated entries from the body part according to a physical organization in the second storage of the plurality of duplicated entries.
2. The method of claim 1 , further comprising: copying the tail part to the second storage.
3. The method of claim 2 , wherein: the body part is stored in the second storage in a plurality of files; and copying the tail part to the second storage comprises: adding a file, comprising the tail part, to the plurality of files.
4. The method of claim 1 , further comprising: identifying, in at least one cache management iteration of the plurality of cache management iterations and based on the first data access request, a data item not stored in the data cache; and inserting the data item into the data cache.
5. The method of claim 4 , wherein: in at least one cache management iteration of the plurality of cache management iterations, the method further comprises: identifying an entry present in the head part, and not present in the tail part, the entry documenting access to the data item stored in the data cache; and removing the entry from the head part.
6. The method of claim 5 , further comprising: determining the entry present in the head part is not included in the tail part; and in response to determining the entry present in the head part is not included in the tail part, executing at least one cache management iteration of the plurality of cache management iterations.
7. The method of claim 1 , wherein documenting the first data access request in the tail part comprises an operation selected from the group consisting of: updating a first entry of the tail part, the first entry documenting another access request to a respective data item documented thereby, and moving the updated first entry to an end of the tail part; and adding a second entry to the tail part.
8. The method of claim 1 , wherein at least a cache management iteration of the plurality of cache management iterations are executed periodically.
9. The method of claim 1 , further comprising: determining the tail part is full; and in response to determining the tail part is full, executing at least one cache management iteration of the plurality of cache management iterations.
10. The method of claim 1 , wherein a ratio between a first access time of the first storage and a second access time of the second storage is less than an access time ratio threshold.
11. The method of claim 1 , wherein: the first storage is selected from a first group of digital storage consisting of: a random access memory (RAM), a static RAM (SRAM), a first dynamic RAM (DRAM), a first hard disk drive, and a first solid-state drive; and the second storage is selected from a second group of digital storage consisting of: the first DRAM, a second DRAM, the first hard disk drive, a second hard disk drive, the first solid-state drive, a second solid-state drive, an electronically-erasable programmable read-only memory (EEPROM), a NAND-type flash memory, a network connected storage, and a network storage.
12. A computer system for managing a data cache, the computer system comprising: a processor set comprising a first processor and a second processor; and one or more computer readable storage media; wherein: the processor set is structured, located, connected and/or programmed to execute program instructions collectively stored on the one or more computer readable storage media; and the program instructions that, when executed by the processor set, cause the processor set to manage a data cache by: storing a cache management list comprising a plurality of entries, the cache management list comprising: a tail part stored in a first storage connected to the first processor documenting a plurality of recently accessed data items stored in the data cache, a body part stored in a second storage connected to the first processor documenting a plurality of less recently accessed data items stored in the data cache; and a head part stored in the first storage documenting a first plurality of least recently accessed data items stored in the data cache; in at least one cache management iteration of the plurality of cache management iterations: identifying, in the body part, a second plurality of least recently entries; documenting a second plurality of least recently accessed data items stored in the data cache; and copying the second plurality of least recent entries from the body part to the head part; and in each cache management iteration of a plurality of cache management iterations: receiving a first data access request; documenting the first data access request in the tail part; identifying a plurality of duplicated entries, associated with the first data access request, present in the body part and the tail part; and removing each duplicated entry of the plurality of duplicated entries from the body part according to a physical organization in the second storage of the plurality of duplicated entries.
13. The computer system of claim 12 , wherein: the body part is stored in the second storage in a plurality of files; and further causing the processor set to manage a data cache by: copying the tail part to the second storage by adding a file, comprising the tail part, to the plurality of files.
14. The computer system of claim 12 , further causing the processor set to manage a data cache by: identifying, in at least one cache management iteration of the plurality of cache management iterations and based on the first data access request, a data item not stored in the data cache; and inserting the data item into the data cache.
15. The computer system of claim 14 , further causing the processor set to manage a data cache by, in at least one cache management iteration of the plurality of cache management iterations: identifying an entry present in the head part, and not present in the tail part, the entry documenting access to the data item stored in the data cache; and removing the entry from the head part.
16. The computer system of claim 15 , further causing the processor set to manage a data cache by: determining the entry present in the head part is not included in the tail part; and in response to determining the entry present in the head part is not included in the tail part, executing at least one cache management iteration of the plurality of cache management iterations.
17. A computer program product comprising a computer-readable storage medium having a set of instructions stored therein which, when executed by a processor, causes the processor to manage a data cache by: storing a cache management list comprising a plurality of entries, the cache management list comprising: a tail part stored in a first storage documenting a plurality of recently accessed data items stored in a data cache, a body part stored in a second storage documenting a plurality of less recently accessed data items stored in the data cache, and a head part stored in the first storage documenting a first plurality of least recently accessed data items stored in the data cache; in at least one cache management iteration of the plurality of cache management iterations: identifying, in the body part, a second plurality of least recently entries; documenting a second plurality of least recently accessed data items stored in the data cache; and copying the second plurality of least recent entries from the body part to the head part; in each cache management iteration of a plurality of cache management iterations: receiving a first data access request; documenting the first data access request in the tail part; identifying a plurality of duplicated entries, associated with the first data access request, present in the body part and the tail part; and removing each duplicated entry of the plurality of duplicated entries from the body part according to a physical organization in the second storage of the plurality of duplicated entries.
18. The computer program product of claim 17 , wherein: the body part is stored in the second storage in a plurality of files; and further causing the processor set to manage a data cache by: copying the tail part to the second storage by adding a file, comprising the tail part, to the plurality of files.
19. The computer program product of claim 17 , further causing the processor set to manage a data cache by: identifying, in at least one cache management iteration of the plurality of cache management iterations and based on the first data access request, a data item not stored in the data cache; and inserting the data item into the data cache.
20. The computer program product of claim 19 , further causing the processor set to manage a data cache by, in at least one cache management iteration of the plurality of cache management iterations: identifying an entry present in the head part, and not present in the tail part, the entry documenting access to the data item stored in the data cache; and removing the entry from the head part.
21. The computer program product of claim 20 , further causing the processor set to manage a data cache by: determining the entry present in the head part is not included in the tail part; and in response to determining the entry present in the head part is not included in the tail part, executing at least one cache management iteration of the plurality of cache management iterations.
Unknown
June 21, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.