Efficient data storage and retrieval using a heterogeneous main memory

US10133667B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10133667-B2
Application numberUS-201615257754-A
CountryUS
Kind codeB2
Filing dateSep 6, 2016
Priority dateSep 6, 2016
Publication dateNov 20, 2018
Grant dateNov 20, 2018

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.

Techniques related to efficient data storage and retrieval using a heterogeneous main memory are disclosed. A database includes a set of persistent format (PF) data that is stored on persistent storage in a persistent format. The database is maintained on the persistent storage and is accessible to a database server. The database server converts the set of PF data to sets of mirror format (MF) data and stores the MF data in a hierarchy of random-access memories (RAMs). Each RAM in the hierarchy has an associated latency that is different from a latency associated with any other RAM in the hierarchy. Storing the sets of MF data in the hierarchy of RAMs includes (1) selecting, based on one or more criteria, a respective RAM in the hierarchy to store each set of MF data and (2) storing said each set of MF data in the respective RAM.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: a database server maintaining a database, said database server comprising one or more central processing units (CPUs); wherein said database includes a plurality of database tables stored in a plurality of data blocks on block-addressable persistent storage devices; said database server storing, in a hierarchy of random-access memories (RAMs), sets of mirror format (MF) data produced by converting data in said plurality of data blocks to a mirror format, each RAM in said hierarchy of RAMs being byte addressable memory having an address space referenceable by software instructions executed by said one or more CPUs, each RAM in said hierarchy of RAMs having an associated latency different from a latency associated with any other RAM in said hierarchy of RAMs; wherein each set of MF data of said sets of MF data store, in column-major form, data from a plurality of columns of said plurality of database tables; wherein, for each set of MF data of said sets of MF data, storing includes: selecting based on one or more criteria, by said database server, a respective RAM from said hierarchy to store said each set of MF data; storing, by said database server, said each set of MF data in said respective RAM. 2. The method of claim 1 , further comprising, after storing said each set of MF data in said respective RAM, automatically moving a particular set of MF data from a first RAM to a second RAM if one or more policy conditions are satisfied, said first RAM and said second RAM being different RAMs in said hierarchy of RAMs. 3. The method of claim 2 , wherein satisfaction of said one or more policy conditions is indicated by one or more bitmaps. 4. The method of claim 2 , wherein said one or more policy conditions comprise a predetermined amount of change in an access frequency of said particular set of MF data. 5. The method of claim 2 , wherein said one or more policy conditions comprise a predetermined amount of change in an age of said particular set of MF data. 6. The method of claim 2 , wherein said one or more policy conditions comprise a predetermined amount of change in an amount of available memory in said second RAM. 7. The method of claim 1 , wherein said one or more criteria comprise a user-specified compression level for a particular set of MF data of said sets of MF data. 8. The method of claim 1 , wherein said one or more criteria comprise a user-specified priority level for a particular set of MF data of said sets of MF data. 9. The method of claim 1 , wherein said one or more criteria comprise a user-specified percentage of said sets of MF data to be stored in a particular RAM in said hierarchy of RAMs. 10. The method of claim 1 , wherein said hierarchy of RAMs comprises a volatile RAM and a non-volatile RAM. 11. One or more non-transitory storage media storing a set of instructions which, when executed by one or more computing devices, cause: a database server maintaining a database, said database server comprising one or more central processing units (CPUs); wherein said database includes a plurality of database tables stored in a plurality of data blocks on block-addressable persistent storage devices; said database server storing, in a hierarchy of random-access memories (RAMs), sets of mirror format (MF) data produced by converting data in said plurality of data blocks to a mirror format, each RAM in said hierarchy of RAMs being byte addressable memory having an address space referenceable by software instructions executed by said one or more CPUs, each RAM in said hierarchy of RAMs having an associated latency different from a latency associated with any other RAM in said hierarchy of RAMs; wherein each set of MF data of said sets of MF data store, in column-major form, data from a plurality of columns of said plurality of database tables; wherein, for each set of MF data of said sets of MF data, storing includes: selecting based on one or more criteria, by said database server, a respective RAM from said hierarchy to store said each set of MF data; storing, by said database server, said each set of MF data in said respective RAM. 12. The one or more non-transitory storage media of claim 11 , wherein said set of instructions further comprises instructions which, when executed by said one or more computing devices, cause: after storing said each set of MF data in said respective RAM, automatically moving a particular set of MF data from a first RAM to a second RAM if one or more policy conditions are satisfied, said first RAM and said second RAM being different RAMs in said hierarchy of RAMs. 13. The one or more non-transitory storage media of claim 12 , wherein satisfaction of said one or more policy conditions is indicated by one or more bitmaps. 14. The one or more non-transitory storage media of claim 12 , wherein said one or more policy conditions comprise a predetermined amount of change in an access frequency of said particular set of MF data. 15. The one or more non-transitory storage media of claim 12 , wherein said one or more policy conditions comprise a predetermined amount of change in an age of said particular set of MF data. 16. The one or more non-transitory storage media of claim 12 , wherein said one or more policy conditions comprise a predetermined amount of change in an amount of available memory in said second RAM. 17. The one or more non-transitory storage media of claim 11 , wherein said one or more criteria comprise a user-specified compression level for a particular set of MF data of said sets of MF data. 18. The one or more non-transitory storage media of claim 11 , wherein said one or more criteria comprise a user-specified priority level for a particular set of MF data of said sets of MF data. 19. The one or more non-transitory storage media of claim 11 , wherein said one or more criteria comprise a user-specified percentage of said sets of MF data to be stored in a particular RAM in said hierarchy of RAMs. 20. The one or more non-transitory storage media of claim 11 , wherein said hierarchy of RAMs comprises a volatile RAM and a non-volatile RAM.

Assignees

Inventors

Classifications

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Organizing or formatting or addressing of data · CPC title

  • Migration mechanisms · CPC title

  • Physics · mapped topic

  • Performance improvement · 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 US10133667B2 cover?
Techniques related to efficient data storage and retrieval using a heterogeneous main memory are disclosed. A database includes a set of persistent format (PF) data that is stored on persistent storage in a persistent format. The database is maintained on the persistent storage and is accessible to a database server. The database server converts the set of PF data to sets of mirror format (MF) …
Who is the assignee on this patent?
Oracle Int Corp, Orcle Int Corporation
What technology area does this patent fall under?
Primary CPC classification G06F12/08. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 20 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).