Data logging method, apparatus, system and computer program
AssigneeInternational Business Machines Corporation
InventorAndrew John Schofield
Life of this patent
Estimating the term…
Abstract
A technique of logging updates to a plurality of data records into discrete pages in non-volatile storage, wherein a page partially full of data is known as a partial page. Identical partial pages I and I+1 are established in the logging process as quickly as possible. Thereafter, in response to a data segment D larger than the remaining space of a most recent updated partial page I, D is partitioned into a first segment D1 sufficient to fill the remaining space of page I and a second data segment D2. Page I is updated with a first write operation to its present contents concatenated with D1, and identical partial pages containing D2 are created at I+1 and I+2 with a second write operation, whereby those pages become pages I and I+1 for the next logging operation.
Claims6
A method for logging updates to a plurality of data records into discrete pages in non-volatile storage, wherein a page partially full of data is known as a partial page, said method comprising the steps of:
- establishing identical partial pages I and I+1 at the earliest opportunity,
- in response to a data segment D larger than the remaining space of a most recent updated partial page I, partitioning D into first segment D1 sufficient to fill the remaining space of page I and a second data segment D2,
- filling page I with a first write operation of it present contents concatenated with D1, and
- creating identical partial pages I+1 and I+2 with a single, second write operation of D2 to both pages, whereby pages I+1 and I+2 become the new pages I and I+1 for the next logging operation,
- wherein in response to successive data segments D, the first of which is smaller than the remaining space of the most recently updated partial page I, writing page I+1 to the present contents of page I concatenated with D, and thereafter alternating this procedure between pages I and I+1 until a data segment X fills the remaining space of the page containing the most recent update, and at that point writing page I to the value of the most recent update concatenated with the new segment X in a first write operation and writing any remaining part of segment X into both pages I+1 and I+2 in a second write operation.
Apparatus for logging updates to a plurality of data records into discrete pages in non-volatile storage, wherein a page partially full of data is known as a partial page, comprising:
- means for establishing identical partial pages I and I+1 at the earliest opportunity;
- means responsive to a data segment D larger than the remaining space of a most recent updated partial page I for partitioning D into a first segment D1 sufficient to fill the remaining space of page I and a second data segment D2,
- means for filling page I with a first write operation to its present contents concatenated with D1, and
- means for updating with a second write operation both pages I+1 and I+2 to D2, whereby pages I+1 and I+2 become the new pages I and I+1 for the next logging operation,
- wherein means responsive to successive data segments D, the first of which is smaller than the remaining space of the most recently updated partial page I for writing page I+1 to the present contents of page I concatenated with D, and means for thereafter alternating this procedure between pages 1 and I+1 until a data segment X fills the remaining space of the page containing the most recent update, and means for writing page I to the contents of the page containing the most recent update concatenated with the last received data segment X.
Dependencies are inferred from the claim text.