Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
AssigneeTexas Instruments Incorporated
InventorSatish M. Thatte
Life of this patent
Estimating the term…
Abstract
Periodic checkpoints are taken of the state of a computer system and its virtual memory. If a system crash occurs, the machine state can be rolled back to the checkpoint state and normal operation restarted. Pages of virtual memory are timestamped to indicate whether they are included in the checkpoint state. Modifications made after the checkpoint time are discarded when the system state is rolled back to the saved checkpoint state. Some recordkeeping is maintained outside of the virtual memory address space in order to assist with the recovery process.
Claims4
A computer system having a recoverable virtual memory, comprising:
- a virtual memory having a random access memory and a non-volatile mass storage system, said virtual memory defining a virtual address space having a plurality of memory locations;
- a plurality of memory objects allocated within said virtual address space, said memory objects interconnected by pointers;
- a persistent root having a pointer to a memory object, wherein all memory objects in the transitive closure of said persistent root are not subject to reclamation by the computer system during garbage collection;
- a plurality of virtual pages stored on the mass storage system, each of said virtual pages having a timestamp, each of said pages corresponding to a selected range of addresses within said address space and containing memory objects for such range, wherein a first subset of said virtual pages have an associated sibling page which contains a copy of memory objects of the addresses in the selected range, with each of the sibling pages having a timestamp, wherein a virtual page and its sibling page may have different data stored therein if they have different timestamps, with the virtual page of the sibling having the later timestamp containing the current memory objects for the selected range of addresses, and wherein a second subset of said virtual pages have no associated sibling
- a checkpoint time stored in a non-destructive manner, wherein virtual pages and sibling pages which have a timestamp less than said checkpoint time define a checkpoint state;
- means for moving virtual pages from said first subset to said second subset by deleting the associated sibling page, and for moving virtual pages from said second subset to said first subset by creating a sibling page therefor;
- and
- a record of which of said virtual pages have moved from the first subset to the second subset, and from the second subset to the first subset, since the checkpoint time.
Dependencies are inferred from the claim text.