Managing Purgeable Memory Objects
AssigneeApple Inc.
InventorsHeiko Gernot Albert Panther, James Michael Magee, John Samuel Bushell
Life of this patent
Estimating the term…
Abstract
A system and method of managing purgeable memory objects includes a LIFO and/or FIFO queue for volatile memory objects, which can be emptied at a rate that matches the speed of a page queue.
Claims55
A method comprising:
- generating tokens corresponding to portions of purgeable virtual memory of a memory system;
- monitoring movement of the tokens through a data structure of the memory system;
- and
- regulating expiration of the portions of purgeable virtual memory based on the movement of the tokens.
A method comprising:
- generating tokens with associated counters which are operable to be incremented or decremented at a pace of physical memory being removed from a cache queue of a memory system;
- and
- regulating expiration of portions of purgeable virtual memory corresponding to the tokens based on counts of the counters.
A method comprising:
- creating a virtual memory object;
- adding the virtual memory object to a volatile queue;
- adding a fictitious page corresponding to the virtual memory object to a page cache queue of a memory system;
- determining a need to reclaim physical memory from the memory system;
- determining if a fictitious page has reached a head of the page cache queue;
- if a need to reclaim physical memory and a fictitious page has reached the head of the page cache queue,
- purging a most eligible memory object from the volatile queue;
- and
- purging the fictitious page from the page cache queue.
A method comprising:
- creating a virtual memory object;
- adding the virtual memory object to a volatile queue;
- adding a token corresponding to the virtual memory object to a token queue of a memory system;
- setting a counter associated with the token;
- determining a need to reclaim physical memory from the memory system;
- determining if a token at the head of the token queue is ripe;
- if a need to reclaim physical memory and the token is ripe,
- purging a most eligible memory object from the volatile queue;
- and
- purging the token from the token queue.
A system comprising:
- a processor;
- a memory coupled to the processor and operable for storing instructions, which,
- when executed by a processor, causes the processor to perform operations comprising:
- generating tokens corresponding to portions of purgeable virtual memory of a memory system;
- monitoring movement of the tokens through a data structure of the memory system;
- and
- regulating expiration of the portions of purgeable virtual memory based on the movement of the tokens.
A system comprising:
- a processor;
- a memory coupled to the processor and operable for storing instructions, which,
- when executed by the processor, causes the processor to perform operations comprising:
- generating tokens with associated counters which are operable to be incremented or decremented at a pace of physical memory being removed from a cache queue of a memory system;
- and
- regulating expiration of portions of purgeable virtual memory corresponding to the tokens based on counts of the counters.
A system comprising:
- a processor;
- memory coupled to the processor and operable for storing instructions, which, when executed by the processor, causes the processor to perform operations comprising:
- creating a virtual memory object;
- adding the virtual memory object to a volatile queue;
- adding a fictitious page corresponding to the virtual memory object to a page cache queue of a memory system;
- determining a need to reclaim physical memory from the memory system;
- determining if a fictitious page has reached a head of the page cache queue;
- if a need to reclaim physical memory and a fictitious page has reached the head of the page cache queue,
- purging a most eligible memory object from the volatile queue;
- and
- purging the fictitious page from the page cache queue.
A system comprising:
- a processor;
- memory coupled to the processor and operable for storing instructions, which, when executed by the processor, causes the processor to perform operations comprising:
- creating a virtual memory object;
- adding the virtual memory object to a volatile queue;
- adding a token corresponding to the virtual memory object to a token queue of a memory system;
- setting a counter associated with the token;
- determining a need to reclaim physical memory from the memory system;
- determining if a token at the head of the token queue is ripe;
- if a need to reclaim physical memory and the token is ripe,
- purging a most eligible memory object from the volatile queue;
- and
- purging the token from the token queue.
A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform operations comprising:
- generating tokens corresponding to portions of purgeable virtual memory of a memory system;
- monitoring movement of the tokens through a data structure of the memory system;
- and
- regulating expiration of the portions of purgeable virtual memory based on the movement of the tokens.
A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform operations comprising:
- generating tokens with associated counters which are operable to be incremented or decremented at a pace of physical memory being removed from a cache queue of a memory system;
- and
- regulating expiration of portions of purgeable virtual memory corresponding to the tokens based on counts of the counters.
A system comprising:
- means for generating tokens corresponding to portions of purgeable virtual memory of a memory system;
- means for monitoring movement of the tokens through a data structure of the memory system;
- and
- means for regulating expiration of the portions of purgeable virtual memory based on the movement of the tokens.
A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform operations comprising:
- generating a data structure operable for storing tokens corresponding to portions of purgeable virtual memory of a memory system, where movement of tokens in the data structure is used to regulate expiration of portions of the purgeable virtual memory.
Dependencies are inferred from the claim text.