Memory arrangement for implementation of high-throughput key-value stores

US9323457B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9323457-B2
Application numberUS-201314100250-A
CountryUS
Kind codeB2
Filing dateDec 9, 2013
Priority dateDec 9, 2013
Publication dateApr 26, 2016
Grant dateApr 26, 2016

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 circuit for processing data is described. The circuit comprises an input for receiving a request for implementing a key-value store data transaction; a plurality of memory interfaces associated with different memory types enabling access to a plurality of memory devices associated with a key-value store; and a memory management circuit controlling the routing of data by way of the plurality of memory interfaces based upon a data transfer criterion.

First claim

Opening claim text (preview).

What is claimed is: 1. A circuit for processing data, the circuit comprising: an input for receiving a request for implementing a key-value store data transaction that enables access to a store associated with a key; a plurality of memory interfaces associated with different memory types enabling access to a plurality of memory devices associated with a key-value store; a first memory device of a first type storing a first portion of a value of a store associated with the key-value store data transaction; a second memory device of a second type storing a second portion of the value of the store associated with the key-value store data transaction, wherein the second portion of the value of the store associated with the key-value store data transaction is different than the first portion of the value of the store associated with the key-value store data transaction; and a memory management circuit controlling the routing of data by way of the plurality of memory interfaces based upon a data transfer criterion. 2. The circuit of claim 1 wherein the memory management circuit controls the routing of a data block into a first data portion and a second data portion. 3. The circuit of claim 2 wherein the memory management circuit enables routing the first data portion of the data block by way of a first memory interface and routing the second data portion of the data block by way of a second memory interface. 4. The device of claim 1 wherein the memory management circuit routes a block of data to a selected memory type based upon an access criterion. 5. The circuit of claim 4 wherein the access criterion is based upon a size of the data of the data block. 6. The circuit of claim 4 wherein the access criterion is based upon an access frequency of the data of the data block. 7. The circuit of claim 1 wherein the plurality of memory interfaces comprises a first memory interface which enables routing data to a DRAM and a second memory interface which enables routing data to an SSD memory. 8. A circuit for processing data, the circuit comprising: an input for receiving a request for implementing a key-value store data transaction that enables access to a store associated with a key; a first memory interface enabling access to a memory location of a first type of memory storing a first portion of a value of a store associated with a key-value store; a second memory interface enabling access to a memory location of a second type of memory storing a second portion of the value of the store associated with the key-value store, wherein the second portion of the value of the store associated with the key-value store is different than the first portion of the value of the store associated with the key-value store; and a memory management circuit coupled between the input and the first and second memory interfaces, the memory management circuit controlling the routing of data by way of the first and second memory interfaces based upon a data transfer criterion. 9. The circuit of claim 8 wherein the memory management circuit routes a first portion of a data block by way of the first memory interface and a second portion of the data block by way of the second memory interface. 10. The circuit of claim 8 wherein the memory management circuit routes data by way of either the first memory interface or the second memory interface based upon a size of the data. 11. The circuit of claim 8 wherein the memory management circuit routes data by way of either the first memory interface or the second memory interface based upon an access frequency of the data. 12. The circuit of claim 8 wherein the first memory interface enables routing data to a DRAM memory and the second memory interface enables routing data to an SSD memory. 13. The circuit of claim 12 wherein data routed by way of the second memory interface is stored in multiple memory devices. 14. The device of claim 13 wherein the memory management circuit enables simultaneously accessing different blocks of data in the multiple memory devices. 15. A method of processing data, the method comprising: receiving a request for implementing a data transaction associated with a key-value store that enables access to a store associated with a key; controlling the routing of data by way of a plurality of memory interfaces based upon a data transfer criterion, wherein a first memory device of a first type of memory stores a first portion of a value of a store associated with the data transaction and a second memory device of a second type of memory stores a second portion of the value of the store associated with the data transaction that is different than the first portion of the value of the store associated with the data transaction; enabling accessing a memory location of the first memory device associated with the key-value store by way of a first memory interface; and enabling accessing a memory location of the second memory device associated with the key-value store by way of a second memory interface. 16. The method of claim 15 wherein controlling the routing of data by way of the plurality of memory interfaces based upon a data transfer criterion comprises routing a first portion of a data block by way of the first memory interface and a second portion of the data block by way of the second memory interface. 17. The method of claim 15 wherein controlling the routing of data by way of the plurality of memory interfaces based upon a data transfer criterion comprises routing data by way of either the first memory interface or the second memory interface based upon a size of the data. 18. The method of claim 15 wherein controlling the routing of data by way of the plurality of memory interfaces based upon a data transfer criterion comprises routing data by way of either the first memory interface or the second memory interface based upon an access frequency of the data. 19. The method of claim 15 wherein enabling accessing a memory location of the first memory device associated with the key-value store by way of a first memory interface comprises routing data to an SSD memory. 20. The method of claim 19 wherein enabling accessing a memory location of the second memory device associated with the key-value store by way of a second memory interface comprises routing data to a DRAM.

Assignees

Inventors

Classifications

  • Plurality of storage devices · CPC title

  • G06F16/22Primary

    Indexing; Data structures therefor; Storage structures · CPC title

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title

  • Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs · CPC title

  • Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06) · 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 US9323457B2 cover?
A circuit for processing data is described. The circuit comprises an input for receiving a request for implementing a key-value store data transaction; a plurality of memory interfaces associated with different memory types enabling access to a plurality of memory devices associated with a key-value store; and a memory management circuit controlling the routing of data by way of the plurality o…
Who is the assignee on this patent?
Xilinx Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/22. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 26 2016 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).