Remote one-sided persistent writes

US2019102087A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2019102087-A1
Application numberUS-201715720949-A
CountryUS
Kind codeA1
Filing dateSep 29, 2017
Priority dateSep 29, 2017
Publication dateApr 4, 2019
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A shared storage architecture persistently stores database files in non-volatile random access memories (NVRAMs) of computing nodes of a multi-node DBMS. The computing nodes of the multi-node DBMS not only collectively store database data on NVRAMs of the computing nodes, but also host database server instances that process queries in parallel, host database sessions and database processes, and together manage access to a database stored on the NVRAMs of the computing nodes. To perform a data block read operation from persistent storage, a data block may be transferred directly over a network between NVRAM of a computing node that persistently stores the data block to a database buffer in non-volatile RAM of another computing node that requests the data block. The transfer is accomplished using remote direct memory access (“RDMA). In addition to techniques for performing a data block read operation to NVRAM, computing nodes perform a data block write operation to data blocks stored in NVRAM of the NVRAM shared storage architecture. The data block write operation is referred to herein as a one-sided write because only one database process needs to participate in the writing of a data block to NVRAM in order to successfully commit the write.

First claim

Opening claim text (preview).

1 . A method comprising: a first computing element storing data files in persistent storage, said computing element comprising a write staging pool in non-volatile random access memory (NVRAM), wherein said data files comprise a data block; a second computing element writing a data block to said write staging pool, wherein writing said data block comprises: issuing a remote direct memory access (RDMA) write to write said data block to a write staging buffer in said write staging pool; after completing the write of said data block to said writing staging buffer, setting a value in a record corresponding said data block to indicate that said data block is in a write staging deferral state, said record being stored in said NVRAM; while said data block is in said write staging deferral state: preventing returning said data block from persistent storage in response to a request for the data block; said first computing element writing said data block from said write staging buffer to said NVRAM; in response to completing said writing said data block from said write staging buffer to said NVRAM, setting a value in said record corresponding to said data block to indicate that said data block is not in the write staging deferral state. 2 . The method of claim 1 , wherein: said record includes a client-side counter value and a server-side counter value; setting a value in a record corresponding said data block to indicate that said data block is in a write staging deferral state includes incrementing said client-side counter value; setting a value in said record corresponding to said data block to indicate that said data block is not in the write staging deferral state includes incrementing said server-side counter value; preventing returning said data block from persistent storage includes: reading said record; determining that said client-side counter value is greater than said server-side counter value thereby indicating that said data block is in the write staging deferral state. 3 . The method of claim 1 , further including a RDMA mechanism of said first computing element sending a notification to a handling process that said data block has been written to said write staging buffer; and wherein said first computing element writing said data block from said write staging buffer to said NVRAM includes said first computing element writing said data block from said write staging buffer to said NVRAM in response to receipt of said notification by said handling process. 4 . The method of claim 2 , wherein: reading said record includes said second computing element issuing a RDMA read to read said record to retrieve the record and compare the client-side counter value and server-side counter value; and determining that said client-side counter value is greater includes said second computing element determining that said client-side counter value is greater than said server-side counter value; in response determining that said client-side counter value is greater, said second computing element forgoing issuing a RDMA read request to read said data block. 5 . The method of claim 2 , wherein: reading said record includes said second computing element issuing a RDMA read to read said record to retrieve the record and compare the client-side counter value and server-side counter value; and determining that said client-side counter value is greater includes said second computing element determining that said client-side counter value is greater than said server-side counter value; in response determining that said client-side counter value is greater, said second computing element issuing a request for said data block to a particular process running said first computing element. 6 . The method of claim 5 , further including: in response to said particular process receiving said request for said data block, said first computing element reading said record to determine whether said client-side counter value is greater than said server-side counter value; in response to determining that said client-side counter value is not greater than said server-side counter value, reading said data block from said persistent storage and sending said data block to said second computing element. 7 . The method of claim 1 , wherein said persistent storage includes NVRAM. 8 . The method of claim 1 , wherein said persistent storage includes flash or disk-based storage.

Assignees

Inventors

Classifications

  • using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

  • Hypervisors; Virtual machine monitors · CPC title

  • in block erasable memory, e.g. flash memory · CPC title

  • Allocation or management of cache space · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2019102087A1 cover?
A shared storage architecture persistently stores database files in non-volatile random access memories (NVRAMs) of computing nodes of a multi-node DBMS. The computing nodes of the multi-node DBMS not only collectively store database data on NVRAMs of the computing nodes, but also host database server instances that process queries in parallel, host database sessions and database processes, and…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F3/0602. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Apr 04 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).