| CPC G06F 12/0804 (2013.01) [G06F 12/0882 (2013.01)] | 20 Claims |

|
1. A method, comprising:
maintaining a journal in a memory of a computing system including a plurality of records, wherein each record indicates a transaction associated with one or more pages in an ordered data structure;
maintaining a dirty list in the memory including an entry for each page indicated by a record in the journal, wherein each entry in the dirty list includes a respective first log sequence number (LSN) associated with a least recent record of the plurality of records that indicates the page and a respective second LSN associated with a most recent record of the plurality of records that indicates the page;
determining to truncate the journal, the truncation comprising removing one or more of the plurality of records from the memory;
identifying, based at least in part on the dirty list, one or more records, of the plurality of records, from the journal to write back to a disk, by:
obtaining a maximum LSN value for the journal truncation;
checking entries in the dirty list, starting from a least recent entry in the dirty list; and
determining whether the respective first LSN of the entry associated with the least recent record of the plurality of records that indicates the page is equal to or less than the maximum LSN value; and
writing back the one or more records to the disk.
|