Hybrid memory controller with command buffer for arbitrating access to volatile and non-volatile memories in a hybrid memory group

US10114560B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10114560-B2
Application numberUS-201715788501-A
CountryUS
Kind codeB2
Filing dateOct 19, 2017
Priority dateMar 3, 2016
Publication dateOct 30, 2018
Grant dateOct 30, 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.

A hybrid memory controller performs receiving first and second central processing unit (CPU) requests to write to/read from a hybrid memory group, identifying a volatile memory device and a non-volatile memory device as a first target and second target of the first and second CPU requests, respectively, by decoding and address mapping of the first and second CPU requests, queuing the first and second CPU requests in first and second buffers, respectively, generating, based on an arbitration policy, a first command corresponding to one of the first and second CPU requests to an associated one of the first and second targets, and generating a second command corresponding to another one of the first and second CPU requests to an associated another one of the first and second targets, and transmitting the first and second commands to respective ones of the volatile and non-volatile memory devices.

First claim

Opening claim text (preview).

What is claimed is: 1. A hybrid memory controller for controlling a hybrid memory group comprising a volatile memory device and a non-volatile memory device, the hybrid memory controller comprising: a processor; and a processor memory local to the processor, wherein the processor memory has stored thereon instructions that, when executed by the processor, cause the processor to perform: receiving a first central processing unit (CPU) request to write to/read from the hybrid memory group; identifying the volatile memory device as a first target of the first CPU request by decoding and address mapping of the first CPU request; queuing the first CPU request in a buffer; receiving a second CPU request to write to/read from the hybrid memory group; identifying the non-volatile memory device as a second target of the second CPU request by decoding and address mapping of the second CPU request; queuing the second CPU request in the buffer; generating, based on an arbitration policy, a first command corresponding to one of the first and second CPU requests to an associated one of the first and second targets, and, in response to generating the first command, generating a second command corresponding to another one of the first and second CPU requests to an associated another one of the first and second targets; and transmitting the first and second commands to respective ones of the volatile and non-volatile memory devices. 2. The hybrid memory controller of claim 1 , wherein the instructions further cause the processor to perform: identifying the volatile and non-volatile memory devices by detecting an associated serial presence detect (SPD) data stored in each of the volatile and non-volatile memory devices. 3. The hybrid memory controller of claim 2 , wherein the identifying of the volatile and non-volatile memory devices occurs at a boot-up time. 4. The hybrid memory controller of claim 2 , wherein identifying the volatile and non-volatile memory devices comprises address mapping the volatile and non-volatile memory devices. 5. The hybrid memory controller of claim 2 , wherein the instructions further cause the processor to perform: identifying timing parameters of the volatile and non-volatile memory devices based on the associated SPD data; and determining the arbitration policy based on the timing parameters. 6. The hybrid memory controller of claim 2 , wherein the instructions further cause the processor to perform: receiving a status feedback signal from the non-volatile memory device; and determining the arbitration policy based on the status feedback signal. 7. The hybrid memory controller of claim 1 , wherein the arbitration policy comprises a round-robin arbitration policy or a weighted round-robin arbitration policy based on unbalanced issue speeds of the first and second queues. 8. The hybrid memory controller of claim 1 , wherein the non-volatile memory device and the volatile memory device are at different memory ranks of a same memory channel. 9. The hybrid memory controller of claim 1 , wherein the non-volatile memory device and the volatile memory device are at different memory banks of a same memory rank. 10. The hybrid memory controller of claim 1 , wherein the first and second queues are a same queue. 11. The hybrid memory controller of claim 1 , wherein the first and second commands are generated according to a same standard volatile memory command set. 12. The hybrid memory controller of claim 1 , wherein one of the first and second commands corresponding to the second target is generated according to a command set different from a standard volatile memory command set. 13. A storage node comprising: a hybrid memory group comprising: a non-volatile memory device; and a volatile memory device coupled to the non-volatile memory device; and a hybrid memory controller configured to perform data transfer to/from the volatile and non-volatile memory devices through a same channel, the hybrid memory controller comprising: a processor; and a processor memory local to the processor, wherein the processor memory has stored thereon instructions that, when executed by the processor, cause the processor to perform: identifying the volatile and non-volatile memory devices by detecting an associated serial presence detect (SPD) data stored in each of the volatile and non-volatile memory devices; receiving a first central processing unit (CPU) request to write to/read from the hybrid memory group; identifying the volatile memory device as a first target of the first CPU request by decoding and address mapping of the first CPU request; queuing the first CPU request in a buffer; receiving a second CPU request to write to/read from the hybrid memory group; identifying the non-volatile memory device as a second target of the second CPU request by decoding and address mapping of the second CPU request; queuing the second CPU request in the buffer; determining an arbitration policy based on the SPD data associated with the volatile and non-volatile memory devices; generating, based on the arbitration policy, a first command corresponding to one of the first and second CPU requests to an associated one of the first and second targets, and, in response, generating a second command corresponding to another one of the first and second CPU requests to an associated another one of the first and second targets; and transmitting the first and second commands to respective ones of the volatile and non-volatile memory devices. 14. A method of controlling a hybrid memory group comprising a volatile memory device and a non-volatile memory device, the method comprising: receiving, by a processor, a first central processing unit (CPU) request to write to/read from the hybrid memory group; identifying, by the processor, the volatile memory device as a first target of the first CPU request by decoding and address mapping of the first CPU request; queuing, by the processor, the first CPU request in a buffer; receiving, by the processor, a second CPU request to write to/read from the hybrid memory group; identifying, by the processor, the non-volatile memory device as a second target of the second CPU request by decoding and address mapping of the second CPU request; queuing, by the processor, the second CPU request in the buffer; generating, by the processor, based on an arbitration policy, a first command corresponding to one of the first and second CPU requests to an associated one of the first and second targets, and, in response, generating a second command corresponding to another one of the first and second CPU requests to an associated another one of the first and second targets; and transmitting, by the processor, the first and second commands to respective ones of the volatile and non-volatile memory devices. 15. The method of claim 14 , further comprising: identifying, by the processor, the volatile and non-volatile memory devices by detecting an associated serial presence detect (SPD) data stored in each of the volatile and non-volatile memory devices; identifying, by the processor, timing parameters of the volatile and non-volatile memory devices based on the associated SPD data; and determining, by the processor, the arbitration policy based on the timing parameters. 16. The method of claim 14 , further comprising: receiving, by the processor, a status feedback signal from the non-volatile memory device; and determining, by the processor, the arbitration policy based on the status feedback signal. 17. The hybrid memory

Assignees

Inventors

Classifications

  • Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Controller construction arrangements · CPC title

  • Hybrid storage device · 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 US10114560B2 cover?
A hybrid memory controller performs receiving first and second central processing unit (CPU) requests to write to/read from a hybrid memory group, identifying a volatile memory device and a non-volatile memory device as a first target and second target of the first and second CPU requests, respectively, by decoding and address mapping of the first and second CPU requests, queuing the first and …
Who is the assignee on this patent?
Samsung Electronics Co Ltd, Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 30 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).