Low-overhead storage of a hibernation file in a hybrid disk drive
US-9417820-B2 · Aug 16, 2016 · US
US9804784B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9804784-B2 |
| Application number | US-201615204739-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 7, 2016 |
| Priority date | Dec 6, 2012 |
| Publication date | Oct 31, 2017 |
| Grant date | Oct 31, 2017 |
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.
A hybrid drive and associated methods provide low-overhead storage of a hibernation file in the hybrid hard disk drive. During operation, the hybrid drive allocates a portion of solid-state memory in the drive that is large enough to accommodate a hibernation file associated with a host device of the hybrid drive. In addition to the erased memory blocks that are normally present during operation of the hybrid drive, the portion of solid-state memory allocated for accommodating the hibernation file may include over-provisioned memory blocks, blocks used to store a previous hibernation file that has been trimmed, and/or non-dirty blocks.
Opening claim text (preview).
We claim: 1. A method of hibernating a computer system running in a host in a device having a first nonvolatile memory and a second nonvolatile memory comprising a plurality of memory blocks, the method comprising: receiving from the host a hibernate command and a hibernation file associated with the computer system running in the host; and upon receiving the hibernate command, erasing non-dirty data stored in a portion of the second nonvolatile memory, the portion excluding memory blocks storing dirty data, which represents valid data stored in the second nonvolatile memory but not in the first nonvolatile memory, and storing the hibernation file into the portion of the second nonvolatile memory, wherein the non-dirty data represents valid data stored in both the first nonvolatile memory and the second nonvolatile memory, and copies of the non-dirty data and the dirty data are preserved during a garbage collection process. 2. The method of claim 1 , wherein the first nonvolatile memory comprises a magnetic memory, the method further comprising: prior to storing the hibernation file into the portion of the second nonvolatile memory, initiating parking of a magnetic head in the magnetic memory. 3. The method of claim 1 , further comprising: prior to receiving the hibernate command, maintaining a data storage capacity of the portion to be sufficient to store an expected size of the hibernation file. 4. The method of claim 3 , further comprising: in response to a write command, when the data storage capacity of the portion is less than a predetermined threshold, storing data of the write command into the first nonvolatile memory and not into the second nonvolatile memory. 5. The method of claim 4 , wherein the predetermined threshold is no greater than the data storage capacity of the second nonvolatile memory. 6. The method of claim 1 , further comprising: prior to storing the hibernation file, trimming the contents of the previous hibernation file. 7. The method of claim 1 , further comprising: prior to storing the hibernation file, performing a garbage collection. 8. The method of claim 1 , wherein the portion is fragmented and comprises at least two subportions that are non-adjacent in a logical address space of the second nonvolatile memory. 9. The method of claim 1 , wherein, at the time the hibernate command is received, the portion further comprises erased memory blocks. 10. A storage system comprising: a first nonvolatile memory; a second nonvolatile memory comprising a plurality of memory blocks; and a storage controller configured to receive a hibernate command from a host and a hibernation file associated with the host, wherein the storage controller erases non-dirty data stored in a portion of the second nonvolatile memory, the portion excluding memory blocks storing dirty data, which represents valid data stored in the second nonvolatile memory but not in the first nonvolatile memory, and upon receiving the hibernate command, the storage controller stores the hibernation file into the portion of the second nonvolatile memory, wherein the non-dirty data represents valid data stored in both the first nonvolatile memory and the second nonvolatile memory, and copies of the non-dirty data and the dirty data are preserved during a garbage collection process. 11. The storage system of claim 10 , wherein the first nonvolatile memory comprises a magnetic memory, and the storage controller, prior to storing the hibernation file into the portion of the second nonvolatile memory, initiates parking of a magnetic head in the magnetic memory. 12. The storage system of claim 10 , wherein the storage controller, prior to receiving the hibernate command, maintains a data storage capacity of the portion to be sufficient to store an expected size of the hibernation file. 13. The storage system of claim 12 , wherein the storage controller, in response to a write command, when the data storage capacity of the portion is less than a predetermined threshold, stores data of the write command into the first nonvolatile memory and not into the second nonvolatile memory. 14. The storage system of claim 13 , wherein the predetermined threshold is no greater than the data storage capacity of the second nonvolatile memory. 15. The storage system of claim 10 , wherein the storage controller, prior to storing the hibernation file, trims the contents of the previous hibernation file. 16. The storage system of claim 10 , wherein the storage controller, prior to storing the hibernation file, performs a garbage collection. 17. The storage system of claim 10 , wherein the portion is fragmented and comprises at least two subportions that are non-adjacent in a logical address space of the second nonvolatile memory. 18. The storage system of claim 10 , wherein, at the time the hibernate command is received, the portion further comprises erased memory blocks.
Suspend and resume; Hibernate and awake · CPC title
Hybrid disk, e.g. using both magnetic and solid state storage devices · CPC title
Improving I/O performance · CPC title
Allocation control and policies · CPC title
Hybrid storage device · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.