Hybrid drive employing non-volatile semiconductor memory to facilitate refreshing disk

Information

  • Patent Grant
  • 8429343
  • Patent Number
    8,429,343
  • Date Filed
    Thursday, October 21, 2010
    14 years ago
  • Date Issued
    Tuesday, April 23, 2013
    11 years ago
Abstract
A hybrid drive is disclosed comprising a head actuated over a disk comprising a plurality of data sectors, and a non-volatile semiconductor memory (NVSM). A plurality of refresh zones are defined, wherein each refresh zone comprises a plurality of the data sectors on the disk, and a refresh monitor is maintained for each refresh zone. When a write command is received from a host comprising data and the data is targeted to the NVSM, the data is written to the NVSM. When the data is targeted to a first refresh zone on the disk, and a first refresh monitor has not reached a refresh limit, the data is written to the first refresh zone. When the data is targeted to the first refresh zone on the disk, and the first refresh monitor has reached the refresh limit, the data is written to the NVSM.
Description
BACKGROUND

Hybrid drives are conventional disk drives augmented with a non-volatile semiconductor memory (NVSM) such as a flash which helps improve certain aspects of the disk drive. For example, the non-volatile semiconductor memory may store boot data in order to expedite the boot operation of a host computer. Another use of a


NVSM may be to store frequently accessed data and/or non-sequential data for which the access time is typically much shorter than the disk (which suffers from mechanical latency including seek and rotational latency). Other policies may reduce write amplification of the NVSM in order to maximize its longevity, such as storing frequently written data to the disk (or data having a write/read ratio that exceeds a predetermined threshold).





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1A shows a hybrid drive according to an embodiment of the present invention comprising a head actuated over a disk comprising a plurality of data sectors, and a non-volatile semiconductor memory (NVSM).



FIG. 1B is a flow diagram according to an embodiment of the present invention wherein data received in a write command and targeted to a refresh zone on the disk is written to the NVSM when a corresponding refresh monitor has reached a refresh limit.



FIG. 2 is a flow diagram according to an embodiment of the present invention wherein a refresh monitor is updated in connection with writing data to the refresh zone.



FIG. 3 is a flow diagram according to an embodiment of the present invention wherein when refreshing a refresh zone on the disk, data is written to the NVSM to avoid interrupting the refresh operation.



FIG. 4A is a flow diagram according to an embodiment of the present invention wherein after refreshing a refresh zone, data stored in the NVSM is flushed to the disk.



FIG. 4B is a flow diagram according to an embodiment of the present invention wherein data is flushed from the NVSM to the disk in connection with executing a wear leveling algorithm for the NVSM.





DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION


FIG. 1A shows a hybrid drive according to an embodiment of the present invention comprising a head 2 actuated over a disk 4 comprising a plurality of data sectors, and a non-volatile semiconductor memory (NVSM) 6. A plurality of refresh zones are defined, wherein each refresh zone comprises a plurality of the data sectors on the disk, and a refresh monitor is maintained for each refresh zone. The hybrid drive further comprises control circuitry 8 operable to execute the flow diagram of FIG. 1B, wherein when a write command is received from a host comprising data (step 10) and the data is targeted to the NVSM (step 12), the data is written to the NVSM (step 14). When the data is targeted to a first refresh zone on the disk (step 12), and a first refresh monitor has not reached a refresh limit (step 16), the data is written to the first refresh zone (step 18). When the data is targeted to the first refresh zone on the disk (step 16), and the first refresh monitor has reached the refresh limit, the data is written to the NVSM (step 14).


In the embodiment of FIG. 1A, any suitable NVSM 6 may be employed, such as any suitable electrically erasable/programmable memory (e.g., a flash memory). In one embodiment, the NVSM 6 comprises a plurality of blocks, where each block comprises a plurality of memory segments referred to as pages and each page may store one or more data sectors. The blocks are programmed a page at a time, and an entire block is erased in a unitary operation. In one embodiment, a garbage collection operation may be executed on previously written blocks in order to copy valid pages to new blocks (and/or to the disk) so that the previously written blocks may be erased and re-used.


The disk 4 shown in the embodiment of FIG. 1A comprises a plurality of servo sectors 220-22N that define data tracks 20, where each data track comprises a plurality of the data sectors and each refresh zone comprises a plurality of the data tracks 20. The control circuitry 8 processes a read signal 22 emanating from the head 2 to demodulate the servo sectors 220-22N into a position error signal (PES) representing a position error of the head relative to a target data track. The control circuitry 8 comprises a servo compensator for filtering the PES to generate a control signal 24 applied to a voice coil motor (VCM) 26 that rotates an actuator arm 28 about a pivot in order to actuate the head 2 radially over the disk 4 in a direction that reduces the PES.



FIG. 2 is a flow diagram according to an embodiment of the present invention that expands on the flow diagram of FIG. 1B, wherein after writing data to a refresh zone on the disk (step 18), a corresponding refresh monitor is updated (step 30). In this embodiment, each refresh monitor tracks a number of write operations to each refresh zone since each write operation tends to interfere with other data already recorded in the refresh zone. When the number of write operations performed in a refresh zone exceeds a limit, the entire zone is refreshed by reading and rewriting each data sector. Other embodiments of the present invention may update the refresh monitors based on factors other than, or in addition to, the number of write operations performed in a refresh zone. For example, in one embodiment the refresh monitor may be updated over time to account for naturally occurring magnetic entropy. Other embodiments may bias the refresh monitors based on environmental conditions, such as the ambient temperature or pressure.


When a refresh monitor reaches a refresh limit indicating that the corresponding refresh zone needs to be refreshed, subsequent write operations targeted to the refresh zone are redirected to the NVSM rather than holding off the host. The NVSM is used to service write commands targeted to the refresh zone until the refresh zone is refreshed and able to service subsequent write commands.



FIG. 3 is a flow diagram according to an embodiment of the present invention wherein when a write command is received from the host (step 10) that is targeted to a second refresh zone of the disk (step 12) while refreshing a first refresh zone of the disk (step 32), the data is written to the NVSM (step 14). This embodiment allows a refresh operation of any refresh zone to continue uninterrupted by servicing write commands using the NVSM. The refresh operation may be interrupted if a read command is received from the host to read data from the disk that is not stored in the NVSM.



FIG. 4A is a flow diagram according to an embodiment of the present invention wherein when a refresh zone has finished being refreshed (step 34) the corresponding refresh monitor is reset (step 36) and data that was written to the NVSM during the refresh operation is flushed to the disk (step 38). The data may be flushed from the NVSM to the disk in order to free memory space in the NVSM. In one embodiment, the data selected for flushing from the NVSM to the disk is the least frequently read data so that the more frequently read data remains longer in the NVSM. In this manner, the performance improvement of reading data from the NVSM is realized as long as the data remains in the NVSM.


In another embodiment shown in the flow diagram of FIG. 4B, the data may be flushed from the NVSM to the disk in connection with executing a wear leveling algorithm (step 40) on the NVSM. A wear leveling algorithm helps ensure the memory segments of the NVSM are written evenly over time so that the memory segments wear out together (since each memory segment may be erased/written a limited number of times). In this embodiment, data that was originally targeted to the disk may remain in the NVSM for an extended period after refreshing a refresh zone so that the data may be accessed from the NVSM until the wear leveling algorithm flushes the data to the disk.


In one embodiment, if an LBA corresponding to data stored in the NVSM is overwritten (by a subsequent write operation after refreshing a refresh zone), the new data is written to the refresh zone on the disk and the memory segment of the NVSM is invalidated and eventually erased during a garbage collection operation.


Any suitable control circuitry may be employed to implement the flow diagrams in the embodiments of the present invention, such as any suitable integrated circuit or circuits. For example, the control circuitry may be implemented within a read channel integrated circuit, or in a component separate from the read channel, such as a disk controller and/or NVSM controller, or certain steps described above may be performed by a read channel and others by a disk controller and/or NVSM controller. In one embodiment, the read channel and controllers are implemented as separate integrated circuits, and in an alternative embodiment they are fabricated into a single integrated circuit or system on a chip (SOC). In addition, the control circuitry may include a suitable preamp circuit implemented as a separate integrated circuit, integrated into the read channel or disk controller circuit, or integrated into an SOC.


In one embodiment, the control circuitry comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the steps of the flow diagrams described herein. The instructions may be stored in any computer-readable medium. In one embodiment, they may be stored on a non-volatile semiconductor memory external to the microprocessor, or integrated with the microprocessor in a SOC. In another embodiment, the instructions are stored on the disk and read into a volatile semiconductor memory when the hybrid drive is powered on. In yet another embodiment, the control circuitry comprises suitable logic circuitry, such as state machine circuitry.

Claims
  • 1. A hybrid drive comprising: a disk comprising a plurality of data sectors;a head actuated over the disk;a non-volatile semiconductor memory (NVSM); andcontrol circuitry operable to: define a plurality of refresh zones, wherein each refresh zone comprises a plurality of the data sectors on the disk;maintain a refresh monitor for each refresh zone;receive a write command from a host comprising data;when the data is targeted to the NVSM, write the data to the NVSM;when the data is targeted to a first refresh zone on the disk, and a first refresh monitor has not reached a refresh limit, write the data to the first refresh zone; andwhen the data is targeted to the first refresh zone on the disk, and the first refresh monitor has reached the refresh limit, write the data to the NVSM.
  • 2. The hybrid drive as recited in claim 1, wherein the control circuitry is further operable to update the first refresh monitor in connection with writing data to the first refresh zone.
  • 3. The hybrid drive as recited in claim 2, wherein the control circuitry is further operable to update the first refresh monitor over time.
  • 4. The hybrid drive as recited in claim 1, wherein the control circuitry is further operable to write the data to the NVSM when refreshing any one of the refresh zones.
  • 5. The hybrid drive as recited in claim 1, wherein the control circuitry is further operable to flush at least part of the data from the NVSM to the first refresh zone after refreshing the first refresh zone.
  • 6. The hybrid drive as recited in claim 5, wherein the control circuitry is further operable to flush the data least frequently read.
  • 7. The hybrid drive as recited in claim 5, wherein the control circuitry is further operable to flush at least part of the data in connection with executing a wear leveling algorithm for the NVSM.
  • 8. A method of operating a hybrid drive comprising a head actuated over a disk comprising a plurality of data sectors, and a non-volatile semiconductor memory (NVSM), the method comprising: defining a plurality of refresh zones, wherein each refresh zone comprises a plurality of the data sectors on the disk;maintaining a refresh monitor for each refresh zone;receiving a write command from a host comprising data;when the data is targeted to the NVSM, writing the data to the NVSM;when the data is targeted to a first refresh zone on the disk, and a first refresh monitor has not reached a refresh limit, writing the data to the first refresh zone; andwhen the data is targeted to the first refresh zone on the disk, and the first refresh monitor has reached the refresh limit, writing the data to the NVSM.
  • 9. The method as recited in claim 8, further comprising updating the first refresh monitor in connection with writing data to the first refresh zone.
  • 10. The method as recited in claim 9, further comprising updating the first refresh monitor over time.
  • 11. The method as recited in claim 8, further comprising writing the data to the NVSM when refreshing any one of the refresh zones.
  • 12. The method as recited in claim 8, further comprising flushing at least part of the data from the NVSM to the first refresh zone after refreshing the first refresh zone.
  • 13. The method as recited in claim 12, further comprising flushing the data least frequently read.
  • 14. The method as recited in claim 12, further comprising flushing at least part of the data in connection with executing a wear leveling algorithm for the NVSM.
US Referenced Citations (58)
Number Name Date Kind
5333138 Richards et al. Jul 1994 A
5581785 Nakamura et al. Dec 1996 A
5586291 Lasker et al. Dec 1996 A
6044439 Ballard et al. Mar 2000 A
6115200 Allen et al. Sep 2000 A
6275949 Watanabe Aug 2001 B1
6429990 Serrano et al. Aug 2002 B2
6661591 Rothberg Dec 2003 B1
6662267 Stewart Dec 2003 B2
6687850 Rothberg Feb 2004 B1
6754021 Kisaka et al. Jun 2004 B2
6807630 Lay et al. Oct 2004 B2
6909574 Aikawa et al. Jun 2005 B2
6968450 Rothberg et al. Nov 2005 B1
7017037 Fortin et al. Mar 2006 B2
7028174 Atai-Azimi et al. Apr 2006 B1
7082494 Thelin et al. Jul 2006 B1
7107444 Fortin et al. Sep 2006 B2
7120806 Codilian et al. Oct 2006 B1
7142385 Shimotono et al. Nov 2006 B2
7174478 Asano Feb 2007 B2
7334082 Grover et al. Feb 2008 B2
7395452 Nicholson et al. Jul 2008 B2
7411757 Chu et al. Aug 2008 B2
7461202 Forrer, Jr. et al. Dec 2008 B2
7472219 Tamura et al. Dec 2008 B2
7472222 Auerbach et al. Dec 2008 B2
7477477 Maruchi et al. Jan 2009 B2
7509471 Gorobets Mar 2009 B2
7516346 Pinheiro et al. Apr 2009 B2
7610438 Lee et al. Oct 2009 B2
7613876 Bruce et al. Nov 2009 B2
7644231 Recio et al. Jan 2010 B2
7685360 Brunnett et al. Mar 2010 B1
7752491 Liikanen et al. Jul 2010 B1
8194340 Boyle et al. Jun 2012 B1
20060195657 Tien et al. Aug 2006 A1
20080040537 Kim Feb 2008 A1
20080059694 Lee Mar 2008 A1
20080130156 Chu et al. Jun 2008 A1
20080177938 Yu Jul 2008 A1
20080222353 Nam et al. Sep 2008 A1
20080244188 Yoshida Oct 2008 A1
20080256287 Lee et al. Oct 2008 A1
20080307270 Li Dec 2008 A1
20090019218 Sinclair et al. Jan 2009 A1
20090031072 Sartore Jan 2009 A1
20090103203 Yoshida Apr 2009 A1
20090106518 Dow Apr 2009 A1
20090144501 Yim et al. Jun 2009 A2
20090150599 Bennett Jun 2009 A1
20090172324 Han et al. Jul 2009 A1
20090182933 Jang et al. Jul 2009 A1
20090204852 Diggs et al. Aug 2009 A1
20090249168 Inoue Oct 2009 A1
20090271562 Sinclair Oct 2009 A1
20090327603 Mckean et al. Dec 2009 A1
20100088459 Arya et al. Apr 2010 A1
Non-Patent Literature Citations (6)
Entry
Hannes Payer, Marco A.A. Sanvido, Zvonimir Z. Bandic, Christoph M. Kirsch, “Combo Drive: Optimizing Cost and Performance in a Heterogeneous Storage Device”, http://csl.cse.psu.edu/wish2009—papers/Payer.pdf.
Gokul Soundararajan, Vijayan Prabhakaran, Mahesh Balakrishan, Ted Wobber, “Extending SSD Lifetimes with Disk-Based Write Caches”, http://research.microsoft.com/pubs/115352/hybrid.pdf, Feb. 2010.
Xiaojian Wu, A. L. Narasimha Reddy, “Managing Storage Space in a Flash and Disk Hybrid Storage System”, http://www.ee.tamu.edu/˜reddy/papers/mascots09.pdf.
Tao Xie, Deepthi Madathil, “SAIL: Self-Adaptive File Reallocation on Hybrid Disk Arrays”, The 15th Annual IEEE International Conference on High Performance Computing (HIPC 2008), Bangalore, India, Dec. 17-20, 2008.
Non-Volatile Memory Host Controller Interface revision 1.0 specification available for download at http://www.intel.com/standards/nvmhci/index.htm. Ratified on Apr. 14, 2008, 65 pages.
U.S. Appl. No. 12/720,568, filed Mar. 9, 2010, 22 pages.