Non-volatile memory cache performance improvement

US9405693B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9405693-B2
Application numberUS-201213555803-A
CountryUS
Kind codeB2
Filing dateJul 23, 2012
Priority dateMay 3, 2004
Publication dateAug 2, 2016
Grant dateAug 2, 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.

In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: preparing a persistent storage device for access based on information from a first application, access comprising the first application preparing to store data; receiving, by a second application, without a request, an interrupt from the persistent storage device indicating that the persistent storage device is preparing for access; and responsive to receiving the interrupt from the long-term storage medium: determining, without a request, that space is needed in a non-volatile memory; scheduling, by the second application, without a request, an action to be performed, the action comprising the second application ensuring that data is moved from an area in the non-volatile memory to the persistent storage device. 2. The method of claim 1 , wherein the preparing the persistent storage device for access comprises: spinning up the disk assembly, wherein the action performed opportunistically would spin up the disk assembly. 3. The method of claim 1 , further comprising: receiving a request to atomically write a first data; and storing the first data in a non-volatile memory, the action comprising writing the first data to said persistent storage device. 4. The method of claim 3 , further comprising: communicating an error when a failure occurs before all of the first data is stored in the non-volatile memory. 5. The method of claim 1 , wherein ensuring data is moved from the area of the non-volatile memory to the persistent storage device is based on a priority assigned to the area in the non-volatile memory. 6. The method of claim 1 , wherein the action further comprises ensuring data is moved from the persistent storage device to the non-volatile memory. 7. The method of claim 1 , the action comprising using a non-volatile memory circumvention interface to flush a non-persistent write buffer or a non-persistent write cache directly to the persistent storage device. 8. A computer system comprising: a non-volatile memory; a long-term storage medium; and a processor communicatively connected with the long-term storage medium, the processor effectuating instructions comprising: preparing the long-term storage medium for access based on information from a first application, access comprising the first application preparing to store data; receiving, by a second application, without a request, an interrupt from the long-term storage medium indicating that the long-term storage medium is preparing for access; and responsive to receiving the interrupt from the long-term storage medium: determining, without a request, that space is needed in the non-volatile memory; scheduling, by the second application, without a request, an action to be performed, the action comprising the second application ensuring that data is moved from an area in the non-volatile memory to the long-term storage medium. 9. The computer system of claim 8 , wherein the preparing the long-term storage medium for access comprises at least one of: preparing to spin up a disk assembly; or spinning up a disk assembly, wherein the action performed opportunistically would spin up the disk assembly. 10. The computer system of claim 8 , the processor further effectuating instructions comprising: receiving a request to atomically write a first data; and storing the first data in the non-volatile memory, the action comprising writing the first data to the long-term storage medium. 11. The computer system of claim 10 , the processor further effectuating instructions comprising: communicating an error when a failure occurs before all of the first data is stored in the non-volatile memory. 12. The computer system of claim 8 , wherein the action comprises ensuring data is moved from the non-volatile memory to the long-term storage medium. 13. The computer system of claim 8 , wherein the action comprises ensuring data is moved from the long-term storage medium to the non-volatile memory. 14. The computer system of claim 8 , wherein the action comprises using a non-volatile memory circumvention interface to flush a non-persistent write buffer or a non-persistent write cache directly to the long-term storage medium. 15. A computer readable storage medium comprising computer executable instructions that when executed by a computing device cause said computing device to perform the instructions comprising: preparing a long-term storage medium for access based on information from a first application; receiving, by a second application, without a request, an interrupt from the long-term storage medium indicating that the long-term storage medium is preparing for access; and responsive to receiving the interrupt from the long-term storage medium: determining, without a request, that space is needed in a non-volatile memory; scheduling, by the second application, without a request, an action to be performed, the action comprising the second application ensuring that data is moved from an area in the non-volatile memory to the long-term storage. 16. The computer readable storage medium of claim 15 , wherein the preparing the long-term storage medium for access comprises at least one of: preparing to spin up a disk assembly; or spinning up the disk assembly, wherein the action performed opportunistically would spin up the disk assembly.

Assignees

Inventors

Classifications

  • Non-volatile memory · CPC title

  • for peripheral storage systems, e.g. disk cache · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Single cache · CPC title

  • Data buffering arrangements · 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 US9405693B2 cover?
In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and…
Who is the assignee on this patent?
Ergan Cenk, Nicholson Clark D, Teodosiu Daniel, and 14 more
What technology area does this patent fall under?
Primary CPC classification G06F12/0866. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 02 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).