Disk drives comprise a disk and a head connected to a distal end of an actuator arm which is rotated about a pivot by a voice coil motor (VCM) to position the head radially over the disk. The disk comprises a plurality of radially spaced, concentric tracks for recording user data sectors and servo sectors. The servo sectors comprise head positioning information (e.g., a track address) which is read by the head and processed by a servo control system to control the velocity of the actuator arm as it seeks from track to track.
The data sectors are accessed indirectly using logical block addresses (LBAs) mapped to physical block addresses (PBAs) representing the physical location of each data sector. This indirect accessing facilitates mapping out defective data sectors during manufacturing as well as while the disk drive is deployed in the field. Access commands (read/write) received from the host include LBAs which the disk drive maps to corresponding PBAs using any suitable mapping technique.
The LBA to PBA mapping may also facilitate a log structured file system wherein at least part of the disk is written as a circular buffer. For example, the circular buffer may be written from an outer diameter track toward an inner diameter track, and then circle back to the outer diameter track. Data is written to the head of the circular buffer such that the LBAs of new write commands are mapped to the PBAs of the corresponding data sectors. When the same LBA is written by the host, the data is written to a new PBA at the head of the circular buffer and the old PBA is marked invalid so that it may be overwritten. During a garbage collection operation, valid PBAs previously written in the circular buffer may be relocated to the head of the circular buffer so that the old PBAs may be overwritten.
In the embodiment of
In one embodiment, the entire capacity of the NVSM 16 is allocated to the non-volatile write cache, and in another embodiment, only part of the NVSM 16 is allocated to the non-volatile write cache. In an embodiment disclosed in greater detail below, part of the NVSM 16 may be allocated for storing a certain percentage of logical block addresses (LBAs) assigned to the disk drive, and in one embodiment the number of LBAs allocated to the NVSM 16 may change over time based on a migration policy. Also in an embodiment described in greater detail below, the write data stored in the non-volatile write cache of the NVSM 16 is eventually flushed to the disk 4 during an idle mode of the disk drive. In one embodiment, the flushed write data may remain in the NVSM 16 so that it may be accessed from either the NVSM 16 and/or the disk 4 during read operations until the LBAs of the disk 4 are overwritten (thereby invalidating the LBAs stored in the non-volatile write cache of the NVSM 16). In another embodiment, the LBAs of the flushed write data in the NVSM 16 are erased to free the memory in the NVSM 16 for other use.
The disk 4 shown in the embodiment of
In one embodiment, a migration algorithm may be employed to migrate LBAs of write commands to either the NVSM 16 of
In one embodiment of the present invention, a rotational position optimization (RPO) algorithm may be employed to select access commands for the disk. An RPO algorithm orders the access commands for the disk based on the radial location of the head so that the access commands are executed in an optimal order that minimizes the access latency. In one embodiment, when the workload exceeds the steering threshold (
In one embodiment, the commands in the disk command queue have a time limit for execution. For example, a communication protocol with a host may specify a time limit for each command before the disk drive should return an error. Commands nearing the time-out limit are typically given higher priority in the RPO algorithm (or bypass the RPO algorithm altogether).
The workload of the disk drive may be determined in any suitable manner in the embodiments of the present invention.
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, or certain steps described above may be performed by a read channel and others by a disk controller. In one embodiment, the read channel and disk controller 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 a 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 disk drive is powered on. In yet another embodiment, the control circuitry comprises suitable logic circuitry, such as state machine circuitry.
Number | Name | Date | Kind |
---|---|---|---|
5333138 | Richards et al. | Jul 1994 | A |
5420998 | Horning | May 1995 | A |
5457786 | Roush | Oct 1995 | A |
5471604 | Hasbun et al. | Nov 1995 | A |
5581785 | Nakamura et al. | Dec 1996 | A |
5586291 | Lasker et al. | Dec 1996 | A |
5636355 | Ramakrishnan et al. | Jun 1997 | A |
5682273 | Hetzler | Oct 1997 | A |
5905901 | Klein | May 1999 | A |
5913067 | Klein | Jun 1999 | A |
5954820 | Hetzler | Sep 1999 | A |
6044439 | Ballard et al. | Mar 2000 | A |
6115200 | Allen et al. | Sep 2000 | A |
6236527 | Uchiike et al. | May 2001 | B1 |
6275949 | Watanabe | Aug 2001 | B1 |
6295577 | Anderson et al. | Sep 2001 | B1 |
6408357 | Hanmann et al. | Jun 2002 | B1 |
6429990 | Serrano et al. | Aug 2002 | B2 |
6437935 | Johnson et al. | Aug 2002 | B1 |
6614616 | Michel et al. | Sep 2003 | B1 |
6661591 | Rothberg | Dec 2003 | B1 |
6662267 | Stewart | Dec 2003 | B2 |
6687850 | Rothberg | Feb 2004 | B1 |
6725397 | Emberty et al. | Apr 2004 | B1 |
6732241 | Riedel | May 2004 | B2 |
6754021 | Kisaka et al. | Jun 2004 | B2 |
6798599 | Dykes et al. | Sep 2004 | B2 |
6807630 | Lay et al. | Oct 2004 | B2 |
6845456 | Menezes et al. | Jan 2005 | B1 |
6856556 | Hajeck | Feb 2005 | B1 |
6892313 | Codilian et al. | May 2005 | B1 |
6909574 | Aikawa et al. | Jun 2005 | B2 |
6928518 | Talagala | Aug 2005 | B2 |
6968450 | Rothberg et al. | Nov 2005 | B1 |
7003620 | Avraham et al. | Feb 2006 | B2 |
7017037 | Fortin et al. | Mar 2006 | B2 |
7028174 | Atai-Azimi et al. | Apr 2006 | B1 |
7076605 | Son | Jul 2006 | B1 |
7082494 | Thelin et al. | Jul 2006 | B1 |
7107444 | Fortin et al. | Sep 2006 | B2 |
7114029 | Thelin | Sep 2006 | B1 |
7120806 | Codilian et al. | Oct 2006 | B1 |
7126857 | Hajeck | Oct 2006 | B2 |
7139933 | Hsu et al. | Nov 2006 | B2 |
7142385 | Shimotono et al. | Nov 2006 | B2 |
7206948 | Brauer | Apr 2007 | B2 |
7231198 | Loughran | Jun 2007 | B2 |
7254721 | Tobias et al. | Aug 2007 | B1 |
7275166 | Kaiju et al. | Sep 2007 | B2 |
7334082 | Grover et al. | Feb 2008 | B2 |
7340647 | Aasheim et al. | Mar 2008 | B2 |
7350105 | Aasheim et al. | Mar 2008 | B2 |
7392340 | Dang et al. | Jun 2008 | B1 |
7395452 | Nicholson et al. | Jul 2008 | B2 |
7411757 | Chu et al. | Aug 2008 | B2 |
7421552 | Long | Sep 2008 | B2 |
7425810 | Hobbet et al. | Sep 2008 | B2 |
7430136 | Merry, Jr. et al. | Sep 2008 | B2 |
7447807 | Merry et al. | Nov 2008 | B1 |
7461202 | Forrer, Jr. et al. | Dec 2008 | B2 |
7468854 | Yamashita et al. | Dec 2008 | B2 |
7472222 | Auerbach et al. | Dec 2008 | B2 |
7477477 | Maruchi et al. | Jan 2009 | B2 |
7483234 | Shimozato | Jan 2009 | B2 |
7502256 | Merry, Jr. et al. | Mar 2009 | B2 |
7509441 | Merry et al. | Mar 2009 | B1 |
7509471 | Gorobets | Mar 2009 | B2 |
7516346 | Pinheiro et al. | Apr 2009 | B2 |
7552347 | Schutte | Jun 2009 | B2 |
7596643 | Merry, Jr. et al. | Sep 2009 | B2 |
7610438 | Lee et al. | Oct 2009 | B2 |
7610445 | Manus et al. | Oct 2009 | B1 |
7613876 | Bruce et al. | Nov 2009 | B2 |
7620773 | Nicholson et al. | Nov 2009 | B2 |
7644231 | Recio et al. | Jan 2010 | B2 |
7647513 | Tobias et al. | Jan 2010 | B2 |
7653778 | Merry, Jr. et al. | Jan 2010 | B2 |
7685337 | Merry, Jr. et al. | Mar 2010 | B2 |
7685338 | Merry, Jr. et al. | Mar 2010 | B2 |
7685360 | Brunnett et al. | Mar 2010 | B1 |
7685374 | Diggs et al. | Mar 2010 | B2 |
7698586 | Kim et al. | Apr 2010 | B2 |
7719785 | Taniguchi et al. | May 2010 | B2 |
7733712 | Walston et al. | Jun 2010 | B1 |
7752491 | Liikanen et al. | Jul 2010 | B1 |
7765373 | Merry et al. | Jul 2010 | B1 |
7774556 | Karamcheti et al. | Aug 2010 | B2 |
7797487 | Lubbers et al. | Sep 2010 | B2 |
7817372 | Takahashi | Oct 2010 | B2 |
7835104 | Yamashita et al. | Nov 2010 | B2 |
7890696 | Lawson | Feb 2011 | B2 |
7898855 | Merry, Jr. et al. | Mar 2011 | B2 |
7912991 | Merry et al. | Mar 2011 | B1 |
7936603 | Merry, Jr. et al. | May 2011 | B2 |
7962792 | Diggs et al. | Jun 2011 | B2 |
7984259 | English | Jul 2011 | B1 |
8060707 | Fairhurst et al. | Nov 2011 | B2 |
8078918 | Diggs et al. | Dec 2011 | B2 |
8090899 | Syu | Jan 2012 | B1 |
8095851 | Diggs et al. | Jan 2012 | B2 |
8098451 | Graef | Jan 2012 | B2 |
8108692 | Merry et al. | Jan 2012 | B1 |
8122185 | Merry, Jr. et al. | Feb 2012 | B2 |
8127048 | Merry et al. | Feb 2012 | B1 |
8135903 | Kan | Mar 2012 | B1 |
8139307 | Kim et al. | Mar 2012 | B2 |
8151020 | Merry, Jr. et al. | Apr 2012 | B2 |
8161227 | Diggs et al. | Apr 2012 | B1 |
8166245 | Diggs et al. | Apr 2012 | B2 |
8169726 | Wilson | May 2012 | B2 |
8243525 | Kan | Aug 2012 | B1 |
8244975 | DeCenzo | Aug 2012 | B2 |
8245003 | Suzuki et al. | Aug 2012 | B2 |
8254172 | Kan | Aug 2012 | B1 |
8261012 | Kan | Sep 2012 | B2 |
8286018 | Chang et al. | Oct 2012 | B2 |
8296625 | Diggs et al. | Oct 2012 | B2 |
8312207 | Merry, Jr. et al. | Nov 2012 | B2 |
8316176 | Phan et al. | Nov 2012 | B1 |
8341339 | Boyle et al. | Dec 2012 | B1 |
8375151 | Kan | Feb 2013 | B1 |
8392635 | Booth et al. | Mar 2013 | B2 |
8397107 | Syu et al. | Mar 2013 | B1 |
8407449 | Colon et al. | Mar 2013 | B1 |
8423722 | Deforest et al. | Apr 2013 | B1 |
8433858 | Diggs et al. | Apr 2013 | B1 |
8443167 | Fallone et al. | May 2013 | B1 |
8447920 | Syu | May 2013 | B1 |
8458435 | Rainey, III et al. | Jun 2013 | B1 |
8478930 | Syu | Jul 2013 | B1 |
8489854 | Colon et al. | Jul 2013 | B1 |
8503237 | Horn | Aug 2013 | B1 |
8521972 | Boyle et al. | Aug 2013 | B1 |
8549236 | Diggs et al. | Oct 2013 | B2 |
8583835 | Kan | Nov 2013 | B1 |
8601311 | Horn | Dec 2013 | B2 |
8601313 | Horn | Dec 2013 | B1 |
8612644 | Kumasawa et al. | Dec 2013 | B2 |
8612669 | Syu et al. | Dec 2013 | B1 |
8612804 | Kang et al. | Dec 2013 | B1 |
8615681 | Horn | Dec 2013 | B2 |
8638602 | Horn | Jan 2014 | B1 |
8639872 | Boyle et al. | Jan 2014 | B1 |
8683113 | Abasto et al. | Mar 2014 | B2 |
8700834 | Horn et al. | Apr 2014 | B2 |
8700950 | Syu | Apr 2014 | B1 |
8700951 | Call et al. | Apr 2014 | B1 |
8706985 | Boyle et al. | Apr 2014 | B1 |
8707104 | Jean | Apr 2014 | B1 |
8713066 | Lo et al. | Apr 2014 | B1 |
8713357 | Jean et al. | Apr 2014 | B1 |
8719501 | Flynn et al. | May 2014 | B2 |
8719531 | Strange et al. | May 2014 | B2 |
8724422 | Agness et al. | May 2014 | B1 |
8725931 | Kang | May 2014 | B1 |
8745277 | Kan | Jun 2014 | B2 |
8751728 | Syu et al. | Jun 2014 | B1 |
8769190 | Syu et al. | Jul 2014 | B1 |
8769232 | Suryabudi et al. | Jul 2014 | B2 |
8773802 | Anderson et al. | Jul 2014 | B1 |
8775720 | Meyer et al. | Jul 2014 | B1 |
8782327 | Kang et al. | Jul 2014 | B1 |
8782334 | Boyle et al. | Jul 2014 | B1 |
8788778 | Boyle | Jul 2014 | B1 |
8788779 | Horn | Jul 2014 | B1 |
8788880 | Gosla et al. | Jul 2014 | B1 |
8793429 | Call et al. | Jul 2014 | B1 |
20020083264 | Coulson | Jun 2002 | A1 |
20030140198 | Ninose et al. | Jul 2003 | A1 |
20030145167 | Tomita | Jul 2003 | A1 |
20050108473 | Le Moal et al. | May 2005 | A1 |
20050120251 | Fukumori | Jun 2005 | A1 |
20060075185 | Azzarito et al. | Apr 2006 | A1 |
20060195657 | Tien et al. | Aug 2006 | A1 |
20070006021 | Nicholson et al. | Jan 2007 | A1 |
20070050540 | Klein | Mar 2007 | A1 |
20070162693 | Nam | Jul 2007 | A1 |
20080024899 | Chu et al. | Jan 2008 | A1 |
20080040537 | Kim | Feb 2008 | A1 |
20080049354 | Nitta | 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 |
20080256287 | Lee et al. | Oct 2008 | A1 |
20080288714 | Salomon et al. | Nov 2008 | A1 |
20080307270 | Li | Dec 2008 | A1 |
20090019218 | Sinclair et al. | Jan 2009 | A1 |
20090024793 | Fontenot et al. | Jan 2009 | A1 |
20090031072 | Sartore | Jan 2009 | A1 |
20090089501 | Ahn et al. | Apr 2009 | A1 |
20090103203 | Yoshida | Apr 2009 | A1 |
20090106518 | Dow | Apr 2009 | A1 |
20090144501 | Yim et al. | Jun 2009 | A2 |
20090150599 | Bennett | Jun 2009 | A1 |
20090172249 | Matthews | Jul 2009 | A1 |
20090172324 | Han et al. | Jul 2009 | A1 |
20090172499 | Olbrich et al. | Jul 2009 | A1 |
20090198940 | Ash et al. | Aug 2009 | A1 |
20090213486 | Takahashi | Aug 2009 | A1 |
20090249168 | Inoue | Oct 2009 | A1 |
20090271562 | Sinclair | Oct 2009 | A1 |
20090327603 | McKean et al. | Dec 2009 | A1 |
20100067138 | Ooi et al. | Mar 2010 | A1 |
20100088459 | Arya et al. | Apr 2010 | A1 |
20100122030 | Peters et al. | May 2010 | A1 |
20100169541 | Freikorn | Jul 2010 | A1 |
20100174849 | Walston et al. | Jul 2010 | A1 |
20100191922 | Dickey et al. | Jul 2010 | A1 |
20100195243 | Zhu et al. | Aug 2010 | A1 |
20100250793 | Syu | Sep 2010 | A1 |
20100325352 | Schuette et al. | Dec 2010 | A1 |
20110010490 | Kwon et al. | Jan 2011 | A1 |
20110099323 | Syu | Apr 2011 | A1 |
20110106804 | Keeler et al. | May 2011 | A1 |
20110283049 | Kang et al. | Nov 2011 | A1 |
20110283128 | Farhan et al. | Nov 2011 | A1 |
20120170435 | Trantham | Jul 2012 | A1 |
20120260020 | Suryabudi et al. | Oct 2012 | A1 |
20120278531 | Horn | Nov 2012 | A1 |
20120284460 | Guda | Nov 2012 | A1 |
20120290779 | Eleftheriou et al. | Nov 2012 | A1 |
20120317338 | Yi et al. | Dec 2012 | A1 |
20120324191 | Strange et al. | Dec 2012 | A1 |
20130024650 | Ambat et al. | Jan 2013 | A1 |
20130117520 | Ryu | May 2013 | A1 |
20130132638 | Horn et al. | May 2013 | A1 |
20130145106 | Kan | Jun 2013 | A1 |
20130173850 | Song | Jul 2013 | A1 |
20130290668 | Na | Oct 2013 | A1 |
20130290793 | Booth et al. | Oct 2013 | A1 |
20140059405 | Syu et al. | Feb 2014 | A1 |
20140101369 | Tomlin et al. | Apr 2014 | A1 |
20140115427 | Lu | Apr 2014 | A1 |
20140133220 | Danilak et al. | May 2014 | A1 |
20140136753 | Tomlin et al. | May 2014 | A1 |
20140149826 | Lu et al. | May 2014 | A1 |
20140157078 | Danilak et al. | Jun 2014 | A1 |
20140181432 | Horn | Jun 2014 | A1 |
20140223255 | Lu et al. | Aug 2014 | A1 |
Entry |
---|
U.S. Appl. No. 12/720,568, filed Mar. 9, 2010, 22 pages. |
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., Proceedings First Workshop on Integrating Solid-State Memory into the Storage Hierarchy, WISH 2009, Mar. 7, 2009, Washington DC, pp. 1-8. |
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, Fast 2010: 8th USENIX Conference on File and Storage Technologies, 14 pages. |
Xiaojian Wu, A. L Narasimha Reddy, “Managing Storage Space in a Flash and Disk Hybrid Storage System”, Int'l. Symposium on Modeling, Analysis & Simulation of Computer and Telecommunication Svstems 2009 (MASCOTS '09), Sep. 21-23, 2009, pp. 1-4. |
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, 12 pages. |
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. |
DongKyu Lee; Koh, K.; “PDC-NH: Popular data concentration on NAND flash and hard disk drive,” 2009 10th IEEE/ACM International Conference on Grid Computing, pp. 196-200, Oct. 13-15, 2009. |