Transaction-based hybrid memory module
US-2017060434-A1 · Mar 2, 2017 · US
US10482013B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10482013-B2 |
| Application number | US-201415513407-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 30, 2014 |
| Priority date | Sep 30, 2014 |
| Publication date | Nov 19, 2019 |
| Grant date | Nov 19, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods associated with page modification are disclosed. One example method may be embodied on a non-transitory computer-readable medium storing computer-executable instructions. The instructions, when executed by a computer, may cause the computer to fetch a page to a buffer pool in a memory. The page may be fetched from at least one of a log and a backup using single page recovery. The instructions may also cause the computer to store a modification of the page to the log. The modification may be stored to the log as a log entry. The instructions may also cause the computer to evict the page from memory when the page is replaced in the buffer pool. Page writes associated with the eviction may be elided.
Opening claim text (preview).
What is claimed is: 1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to: fetch a page to a buffer pool in a memory to obtain a recovery version of the page; use single page recovery from at least one of a log and a backup to update the recovery version of the page into a current version of the page stored in the memory; store a modification of the current version of the page to the log, wherein the modification is stored as a log entry using write ahead logging without writing to the current version of the page stored in the memory; and evict the current version of the page from the memory when the page is replaced in the buffer pool, eliding a page write associated with the eviction, wherein the eviction of the page occurs prior to writing the modification to the current version of the page stored in the memory. 2. The non-transitory computer-readable medium of claim 1 , wherein a representation of the current version of the page is stored and maintained in the log as a page image that is pre-fix consistent and a series of linked log entries that identify a sequence of modifications made to the current version of the page. 3. The non-transitory computer-readable medium of claim 2 , wherein the instructions further cause the computer to: clean the log by sequentially applying to the page image in the log, modifications identified in the series of linked log entries. 4. The non-transitory computer-readable medium of claim 3 , wherein cleaning the log comprises replacing the page image in the log with a new prefix-consistent representation of the page image created using single page recovery. 5. The non-transitory computer-readable medium of claim 1 , wherein the log entry is one of: a redo entry that describes modifications to make to the page image in the log to bring the page image in the log up-to-date, and an undo entry that identifies a redo entry to roll back to restore the page image in the log to a prior state. 6. The non-transitory computer-readable medium of claim 1 , wherein the log comprises a log buffer, an active log, and a page log, where the log buffer serves as a front end of a pipeline between the memory and the active log, and where storage and handling of log entries serve as a back end of the pipeline. 7. The non-transitory computer-readable medium of claim 6 , wherein the handling of log entries comprises managing redo and undo entries, and log cleaning. 8. The non-transitory computer-readable medium of claim 6 , wherein the instructions to cause the computer to store the modification to the page further comprise instructions to cause the computer to: place a log buffer entry describing the modification into the log buffer; receive an acknowledgement that the log buffer entry has been made durable in the active log; and perform an action in response to the acknowledgement. 9. The non-transitory computer-readable medium of claim 8 , wherein the action is one or more of: committing a transaction associated with the page, replying to an operation associated with the page, and releasing a lock associated with the page. 10. A system, comprising: a log pipeline back end comprising an active log and a prefix-consistent page log; a database and log pipeline front end operating in a memory, comprising a page buffer to store active pages and a log buffer that serves as a pipeline for log entries to be made durable in the active log, where log entries describe modifications made to the active pages resident in a memory prior to updating the memory; a page recovery logic to, in response to receiving a page fetch instruction associated with a page, construct a constructed page from an image of the page in the page log and log entries associated with the page in the active log, and store the constructed page in the page buffer; a logging logic to make log entries from the log buffer durable in the active log, and to confirm when log entries are made durable to the front end; and an eviction logic to evict the constructed page from the page buffer when the constructed page is replaced in the page buffer, eliding a page write associated with the eviction, wherein the eviction of the constructed page occurs prior to writing the modifications made to the active pages to the memory. 11. The system of claim 10 , comprising a log cleaner logic to apply modifications described by log entries in the active log to corresponding pages in the page log. 12. The system of claim 11 , comprising a log archive, where the log cleaner logic moves the log entries in the active log to the log archive after applying the modifications described by the log entries in the active log to the corresponding pages in the page log. 13. The system of claim 10 , wherein the page log comprises a sparse page log, and a page log archive, and wherein the page recovery logic obtains the image of the page from the page log archive when the image of the page is not found in the sparse page log. 14. A method, comprising: fetching a page from a database back end to a database front end by applying single page recovery to a page image retrieved from a page log in the database back end and log entries associated with the page image retrieved from an active log in the database back end to create a current version of the page image stored in a memory associated with the database front end; making modifications to the page image stored in the memory associated with the database front end durable in the active log without writing the modifications to the memory; and evicting the page image stored in the memory associated with from the database front end when the page is replaced in the database front end, eliding a page write associated with the eviction, wherein the eviction of the page occurs prior to writing the modifications to the memory. 15. The method of claim 14 , further comprising: cleaning the active log by applying the log entries to the page image in the page log; and archiving the log entries.
Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · CPC title
Point-in-time backing up or restoration of persistent data · CPC title
Replacement control · CPC title
with main memory updating (G06F12/0806 takes precedence) · CPC title
Performance improvement · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.