Non-volatile memory interface

US9575882B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9575882-B2
Application numberUS-201514866385-A
CountryUS
Kind codeB2
Filing dateSep 25, 2015
Priority dateSep 28, 2010
Publication dateFeb 21, 2017
Grant dateFeb 21, 2017

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.

Apparatuses, systems, methods, and computer program products are disclosed for a memory controller. An apparatus includes a volatile memory medium located on a memory module. An apparatus includes a non-volatile memory medium located on a memory module. A memory controller is located on a memory module. A memory controller may be configured to provide access to at least a non-volatile memory medium over a direct wire interface with a processor.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a volatile memory medium located on a memory module; a non-volatile memory medium located on the memory module; and a memory controller located on the memory module, the memory controller configured to provide access to at least the non-volatile memory medium over a direct wire interface with a processor by way of a command protocol, the interface comprising a control path for the command protocol, the control path enabling the memory controller to distinguish among different memory modules, the command protocol configured to support one or more commands that are not supported by a standard volatile memory interface. 2. The apparatus of claim 1 , wherein the one or more commands comprise one or more synchronous commands and the memory controller is configured to execute the one or more commands asynchronously in response to receiving the one or more commands. 3. The apparatus of claim 1 , wherein the memory controller is configured to receive a signal from the processor, using the command protocol, that the one or more commands will not be executed in response to the processor determining that the memory controller is not capable of satisfying the one or more commands. 4. The apparatus of claim 1 , wherein the memory controller is configured to communicate with the volatile memory medium by way of a second protocol, the command protocol and the second protocol comprising different protocols. 5. The apparatus of claim 4 , wherein the memory module is configured to notify the memory controller of one or more memory attributes of the non-volatile memory medium, the memory controller configured to direct data to one of the non-volatile memory medium, the volatile memory medium, a memory division on the non-volatile memory medium, and a memory division on the volatile memory medium based on the one or more memory attributes. 6. The apparatus of claim 1 , further comprising a second memory controller configured to communicate with the volatile memory medium by way of a second protocol, the command protocol and the second protocol comprising different protocols. 7. The apparatus of claim 6 , wherein the second memory controller is coupled to the processor. 8. The apparatus of claim 1 , wherein the memory controller is configured to associate sequence indicators with data on the non-volatile memory medium, wherein the sequence indicators determine an ordered sequence of memory operations performed on the non-volatile memory medium. 9. The apparatus of claim 1 , wherein the memory controller is configured to associate checkpoint information with data on the non-volatile memory medium, wherein the checkpoint information is organized in an ordered sequence of memory checkpoint operations performed on the non-volatile memory medium. 10. The apparatus of claim 1 , wherein the memory controller is configured to: store data in a format that associates the data with respective logical memory addresses on the non-volatile memory medium; maintain an index of associations between logical memory addresses of the data and physical storage memory locations comprising the data on the non-volatile memory medium; and reconstruct the index using the logical memory addresses and sequence indicators associated with the data on the non-volatile memory medium, wherein reconstructing the index comprises replaying a sequence of changes made to the index using the logical memory addresses and the sequence indicators associated with the data on the non-volatile memory medium. 11. The apparatus of claim 10 , wherein reconstructing the index comprises rolling back a sequence of changes made to the index from a last change back to a valid checkpoint indicator using the logical memory addresses and the sequence indicators associated with the data on the non-volatile memory medium. 12. The apparatus of claim 1 , wherein the one or more commands comprise one or more of a query command, a directive command, and a hint command. 13. The apparatus of claim 1 , wherein the memory controller is configured to operate one or more memory maintenance functions on the non-volatile memory medium to optimize non-volatile memory performance one of independent of the processor and in response to receiving one or more memory management commands from the processor using the command protocol. 14. An apparatus comprising: means for volatile data storage on a memory module; means for non-volatile data storage on the memory module; and means for providing access to at least the non-volatile data storage over a direct wire interface with a processor by way of a command protocol, the interface comprising a control path for the command protocol, the control path enabling distinguishing among different memory modules, the command protocol configured to support one or more commands that are not supported by a standard volatile memory interface. 15. The apparatus of claim 14 , further comprising means for communicating with the means for volatile data storage by way of a second protocol, the command protocol and the second protocol comprising different protocols. 16. The apparatus of claim 15 , further comprising: means for notifying of one or more memory attributes of the means for non-volatile data storage; and means for directing data to locations on one of the means for non-volatile data storage and the means for volatile data storage based on the one or more memory attributes. 17. The apparatus of claim 14 , further comprising means for associating checkpoint information with data on the non-volatile data storage, wherein the checkpoint information is organized in an ordered sequence of memory checkpoint operations performed on the means for non-volatile data storage. 18. The apparatus of claim 14 , further comprising: means for storing data in a format that associates the data with respective logical memory addresses on the means for non-volatile data storage; means for maintaining an index of associations between logical memory addresses of the data and physical storage locations comprising the data on the means for non-volatile data storage; and means for reconstructing the index using the logical memory addresses and sequence indicators associated with the data on the means for non-volatile data storage by replaying a sequence of changes made to the index using the logical memory addresses and the sequence indicators associated with the data on the means for non-volatile data storage. 19. The apparatus of claim 18 , further comprising means for associating sequence indicators with the data on the means for non-volatile data storage, wherein the sequence indicators determine an ordered sequence of memory operations performed on the means for non-volatile data storage. 20. A system comprising: a memory controller of a processor, the memory controller configured to send one or more commands of a command protocol over a direct wire interface; and a non-volatile memory controller configured to provide access to at least a non-volatile memory medium over the direct wire interface with the processor by way of the command protocol, the interface comprising a control path for the command protocol, the control path enabling the memory controller to distinguish among different memory modules, the command protocol configured to support one or more commands that are not supported by a standard volatile memory interface.

Assignees

Inventors

Classifications

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

  • Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory · CPC title

  • Non-volatile memory · CPC title

  • using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus · CPC title

  • Cross-Sectional Technologies · mapped topic

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 US9575882B2 cover?
Apparatuses, systems, methods, and computer program products are disclosed for a memory controller. An apparatus includes a volatile memory medium located on a memory module. An apparatus includes a non-volatile memory medium located on a memory module. A memory controller is located on a memory module. A memory controller may be configured to provide access to at least a non-volatile memory me…
Who is the assignee on this patent?
Longitude Entpr Flash S A R L, Sandisk Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 21 2017 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).