Low-overhead storage of a hibernation file in a hybrid disk drive

US9417820B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9417820-B2
Application numberUS-201213707505-A
CountryUS
Kind codeB2
Filing dateDec 6, 2012
Priority dateDec 6, 2012
Publication dateAug 16, 2016
Grant dateAug 16, 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.

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.

First claim

Opening claim text (preview).

We claim: 1. A method of hibernating a device having a volatile memory and connected to a nonvolatile storage unit that comprises a nonvolatile solid-state memory and a magnetic memory, the method comprising: receiving a hibernate command; and upon receiving the hibernate command, receiving and storing a hibernation file associated with the device located in the volatile memory of the device into a portion of the nonvolatile solid-state memory after erasing data stored in memory blocks of the portion, without storing the hibernation file into the magnetic memory, wherein, at the time the hibernate command is received, the portion of the nonvolatile solid-state memory comprises memory blocks storing: (1) invalid data and (2) non-dirty data, the portion excluding memory blocks storing dirty data, the non-dirty data representing data stored in both the nonvolatile solid-state memory and the magnetic memory and the dirty data representing data stored in the nonvolatile solid-state memory but not in the magnetic memory. 2. The method of claim 1 , further comprising: prior to storing the hibernation file into a portion of the nonvolatile solid-state 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 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 magnetic memory and not into the nonvolatile solid-state memory. 5. The method of claim 4 , wherein the predetermined threshold is no greater than the data storage capacity of the volatile 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 procedure. 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 nonvolatile sold-state memory. 9. The method of claim 1 , wherein, at the time the hibernate command is received, the portion further comprises (3) erased memory blocks. 10. A method of storing data in a device having a volatile memory and connected to a nonvolatile storage unit that comprises a nonvolatile solid-state memory and a magnetic memory, the method comprising: receiving a write command that is not associated with hibernating the device, at the nonvolatile storage unit; determining a combined size of (1) erased memory blocks in the nonvolatile solid-state memory, (2) memory blocks in the nonvolatile solid-state memory that have stored therein invalid data, and (3) memory blocks in the nonvolatile solid-state memory that have stored therein non-dirty data, the combined size excluding size of memory blocks in the nonvolatile solid-state memory storing dirty data, the non-dirty data representing data stored in both the nonvolatile solid-state memory and the magnetic memory and the dirty data representing data stored in the nonvolatile solid-state memory but not in the magnetic memory; and when the determined combined size is less than a predetermined threshold, writing data into the magnetic memory and not into the nonvolatile solid-state memory. 11. The method of claim 10 , wherein the data written into the magnetic memory includes data associated with the write command. 12. The method of claim 11 , wherein said writing data into the magnetic memory comprises writing the data associated with the write command into the magnetic memory and not into the nonvolatile solid-state memory. 13. The method of claim 10 , wherein data associated with the write command does not include contents of a hibernation file. 14. The method of claim 10 , wherein the predetermined threshold is no greater than a data storage capacity of the volatile memory plus a data storage capacity required to store data associated with the write command. 15. The method of claim 10 , further comprising: trimming the contents of the previous hibernation file. 16. A nonvolatile data storage unit comprising: a magnetic memory; a nonvolatile solid-state memory; and a storage controller configured to: receive a write command that is not associated with hibernating a host device of the nonvolatile storage unit, determine a combined size of (1) erased memory blocks in the nonvolatile solid-state memory, (2) memory blocks in the nonvolatile solid-state memory that have stored therein invalid data, and (3) memory blocks in the nonvolatile solid-state memory that have stored therein non-dirty data, the combined size excluding size of memory blocks in the nonvolatile solid-state memory storing dirty data, the non-dirty data representing data stored in both the nonvolatile solid-state memory and the magnetic memory and the dirty data representing data stored in the nonvolatile solid-state memory but not in the magnetic memory, and when the determined combined size is less than a predetermined threshold, write data into the magnetic memory and not into the nonvolatile solid-state memory. 17. The nonvolatile data storage unit of claim 16 , wherein the storage controller is further configured to trim the contents of the previous hibernation file. 18. The nonvolatile data storage unit of claim 16 , wherein the storage controller, when writing data into the magnetic memory, writes data associated with the write command into the magnetic memory and not into the nonvolatile solid-state memory. 19. The nonvolatile data storage unit of claim 16 , wherein the predetermined threshold is no greater than a data storage capacity of the volatile memory plus a data storage capacity required to store data associated with the write command.

Assignees

Inventors

Classifications

  • Improving the reliability of storage systems · CPC title

  • Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems · CPC title

  • Allocation control and policies · CPC title

  • Suspend and resume; Hibernate and awake · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · 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 US9417820B2 cover?
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 operatio…
Who is the assignee on this patent?
Ehrlich Richard M, Dunn Eric R, Zayas Fernando A, and 2 more
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 Aug 16 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).