Firmware interface with durable memory storage
US-2015370302-A1 · Dec 24, 2015 · US
US9405693B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9405693-B2 |
| Application number | US-201213555803-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 23, 2012 |
| Priority date | May 3, 2004 |
| Publication date | Aug 2, 2016 |
| Grant date | Aug 2, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.