US2013242425A1PendingUtilityA1

Write reordering in a hybrid disk drive

Assignee: ZAYAS FERNANDO APriority: Mar 16, 2012Filed: Mar 16, 2012Published: Sep 19, 2013
Est. expiryMar 16, 2032(~5.7 yrs left)· nominal 20-yr term from priority
G11B 5/012G06F 2212/1024G11B 20/12G06F 2212/217G06F 12/0868G11B 2220/45G06F 2212/461G06F 3/0611G06F 2212/70G06F 3/064G11B 20/10G06F 2212/222G06F 2212/305G06F 2212/281G11B 2020/1294G06F 3/0647G06F 12/0804G06F 2212/253G06F 3/068G06F 2212/313
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A hybrid drive and associated methods increase the rate at which data are transferred to a nonvolatile storage medium in the hybrid drive. By using a large nonvolatile solid state memory device as cache memory for a magnetic disk drive, a very large number of write commands can be cached and subsequently reordered and executed in an efficient manner. In addition, strategic selection and reordering of only a portion of the write commands stored in the nonvolatile solid state memory device increases efficiency of the reordering process.

Claims

exact text as granted — not AI-modified
I claim:  
     
         1 . A method of storing data in a hybrid drive having a control unit programmed to control storing of data into a nonvolatile solid state memory device and a magnetic storage disk, the control unit performing the steps of:
 receiving data to be stored; and   writing the received data directly in the nonvolatile solid state memory device without storing the received data in a DRAM buffer associated with the magnetic storage disk.   
     
     
         2 . The method of  claim 1 , wherein the control unit further performs the steps of reading the data stored in the solid state memory device and writing said data to the magnetic storage disk. 
     
     
         3 . The method of  claim 2 , wherein said data is first stored in the DRAM buffer prior to writing said data to the magnetic storage disk. 
     
     
         4 . The method of  claim 3 , further comprising the step of determining that the storage capacity of the solid state memory device is depleted, wherein the step of reading the data stored in the solid state memory device and writing said data to the magnetic storage disk is performed in response to the determining. 
     
     
         5 . The method of  claim 4 , wherein depleted storage capacity comprises having substantially no storage capacity available for storing additional data. 
     
     
         6 . The method of  claim 5 , wherein depleted storage capacity comprises having less than a predetermined quantity of storage capacity available for storing additional data. 
     
     
         7 . The method of  claim 2 , further comprising the step of determining that the magnetic storage disk is idle, wherein the step of reading the data stored in the solid state memory device and writing said data to the magnetic storage disk is performed in response to the determining. 
     
     
         8 . The method of  claim 2 , further comprising the step of designating locations in the solid state memory device corresponding to the data written to the magnetic storage disk to be available for data storage. 
     
     
         9 . The method of  claim 1 , wherein writing the received data in the nonvolatile solid state memory device comprises transmitting the received data via a data bus that connects the control unit with the nonvolatile solid state memory device and the DRAM buffer associated with the magnetic storage disk. 
     
     
         10 . The method of  claim 1 , wherein writing the received data in the nonvolatile solid state memory device comprises transmitting the received data via a NAND interface bus that connects a flash manager device to the nonvolatile solid state memory device. 
     
     
         11 . The method of  claim 10 , wherein the flash manager device and the control unit are elements of a system-on-chip in the hybrid drive. 
     
     
         12 . In a data storage device having a nonvolatile solid state memory device, a magnetic storage disk, and a control unit, a method of ordering data blocks to be written to the magnetic storage disk, the method comprising:
 writing the data blocks to the nonvolatile solid state memory device;   selecting N data blocks out of M data blocks stored in the nonvolatile solid state memory device, where N is less than M;   ordering the selected data blocks prior to writing the selected data blocks to the magnetic storage disk; and   writing the first of the ordered data blocks to the magnetic storage disk,   wherein selecting N data blocks comprises selecting the N least-recently-used data blocks from a least-recently-used list of data blocks that are stored in the nonvolatile solid state memory device and have not been written to the magnetic storage disk.   
     
     
         13 . The method of  claim 12 , wherein the least-recently used list of data blocks comprises a recency list of data blocks written to the nonvolatile solid state memory device, a frequency list of data blocks written to the nonvolatile solid state memory device, or a combination of both. 
     
     
         14 . The method of  claim 13 , wherein at least one of the recency list and the frequency list comprises a linked list of data blocks in which a data structure is associated with each data block included in the linked list and includes a pointer referencing the next less-recently-used data block in the linked list and a pointer referencing the next more-recently-used data block in the linked list. 
     
     
         15 . The method of  claim 13 , wherein at least one of the recency list and the frequency list comprises a linked list of data block groups in which a data structure is associated with each data block group included in the linked list and includes a pointer referencing a next less-recently-used data block group in the linked list and a pointer referencing a next more-recently-used data block group in the linked list. 
     
     
         16 . The method of  claim 15 , wherein a data block group in the linked list consists of a plurality of data blocks in which a least-recently-used data block of the plurality of data blocks has been used more recently than any data block in the next less-recently-used data block group and a most-recently-used data block of the plurality of data blocks has been used less recently than any data block in the next more-recently-used data block group. 
     
     
         17 . The method of  claim 12 , further comprising:
 selecting a second group of N data blocks out of the M data blocks stored in the nonvolatile solid state memory device;   ordering the selected second group of N data blocks prior to writing the selected data blocks to the magnetic storage disk; and   writing the first of the ordered second group of N data blocks to the magnetic storage disk.   
     
     
         18 . The method of  claim 12 , further comprising writing the second of the ordered data blocks to the magnetic storage disk. 
     
     
         19 . The method of  claim 12 , wherein N is substantially less than M. 
     
     
         20 . The method of  claim 19 , wherein N is at least an order of magnitude less than M. 
     
     
         21 . The method of  claim 12 , further comprising periodically writing the least-recently-used data block from the least-recently-used list of data blocks. 
     
     
         22 . The method of  claim 21 , wherein periodically comprises after writing a predetermined number of ordered data blocks stored in the nonvolatile solid state memory device to the magnetic storage disk. 
     
     
         23 . The method of  claim 12 , wherein writing the data blocks to the nonvolatile solid state memory device comprises writing the data blocks directly in the nonvolatile solid state memory device without storing the data blocks in a DRAM buffer associated with the magnetic storage disk. 
     
     
         24 . The method of  claim 12 , wherein writing the data blocks to the nonvolatile solid state memory device comprises writing the data blocks directly in the nonvolatile solid state memory device without storing the data blocks in a DRAM buffer configured to buffer data for the magnetic storage disk. 
     
     
         25 . The method of  claim 12 , further comprising the step of designating a location in the solid state memory device corresponding to the first of the ordered data blocks written to the magnetic storage disk to be available for data storage. 
     
     
         26 . The method of  claim 12 , wherein writing the data blocks to the nonvolatile solid state memory device comprises transmitting the data blocks via a data bus that connects the control unit of the data storage device to a DRAM buffer configured to buffer data for the magnetic storage disk. 
     
     
         27 . The method of  claim 12 , wherein writing the data blocks to the nonvolatile solid state memory device comprises transmitting the data blocks via a NAND interface bus that connects a flash manager device to the nonvolatile solid state memory device. 
     
     
         28 . The method of  claim 12 , wherein the ordering of the selected blocks comprises calculating a rotational latency for each of the selected blocks. 
     
     
         29 . In a data storage device having a nonvolatile solid state memory device, a magnetic storage disk, and a control unit, a method of ordering data blocks to be written to the magnetic storage disk, the method comprising:
 writing the data blocks to the nonvolatile solid state memory device;   selecting N data blocks out of M data blocks stored in the nonvolatile solid state memory device, where N is less than M;   ordering the selected data blocks prior to writing the selected data blocks to the magnetic storage disk;   writing the first of the ordered data blocks to the magnetic storage disk; and   periodically writing the least-recently-used data block stored in the nonvolatile solid state memory device from a least-recently-used list of data blocks that are stored in the nonvolatile solid state memory device and have not been written to the magnetic storage disk,   wherein selecting N data blocks comprises selecting N data blocks whose logical block addresses correspond to the N closest locations on the magnetic storage disk to the current location of an active read-write head of the magnetic storage disk.   
     
     
         30 . The method of  claim 29 , wherein periodically comprises after writing a predetermined number of ordered data blocks stored in the nonvolatile solid state memory device to the magnetic storage disk. 
     
     
         31 . The method of  claim 29 , wherein the least-recently used list of data blocks comprises a recency list of data blocks written to the nonvolatile solid state memory device, a frequency list of data blocks written to the nonvolatile solid state memory device, or a combination of both. 
     
     
         32 . The method of  claim 31 , wherein at least one of the recency list and the frequency list comprises a linked list of data block groups in which a data structure is associated with each data block group included in the linked list and includes a pointer referencing a next less-recently-used data block group in the linked list and a pointer referencing a next more-recently-used data block group in the linked list. 
     
     
         33 . The method of  claim 32 , wherein a data block group in the linked list consists of a plurality of data blocks in which a least-recently-used data block of the plurality of data blocks has been used more recently than any data block in the next less-recently-used data block group and most-recently-used data block of the plurality of data blocks has been used less recently than any data block in the next more-recently-used data block group. 
     
     
         34 . The method of  claim 29 , further comprising:
 selecting a second group of N data blocks out of the M data blocks stored in the nonvolatile solid state memory device;   ordering the selected second group of N data blocks prior to writing the selected data blocks to the magnetic storage disk; and   writing the first of the ordered second group of N data blocks to the magnetic storage disk.   
     
     
         35 . The method of  claim 29 , further comprising writing the second of the ordered data blocks to the magnetic storage disk. 
     
     
         36 . The method of  claim 29 , wherein N is substantially less than M 
     
     
         37 . The method of  claim 36 , wherein N is at least an order of magnitude less than M. 
     
     
         38 . The method of  claim 29 , further comprising, prior to writing the data blocks to the nonvolatile solid state memory device, receiving the data blocks to be written to the magnetic storage disk from a host device for the data storage device. 
     
     
         39 . The method of  claim 29 , wherein writing the data blocks to the nonvolatile solid state memory device comprises writing the data blocks directly in the nonvolatile solid state memory device without storing the received data in a DRAM buffer configured to buffer data for the magnetic storage disk. 
     
     
         40 . The method of  claim 29 , further comprising the step of designating a location in the solid state memory device corresponding to the first of the ordered data blocks written to the magnetic storage disk to be available for data storage. 
     
     
         41 . The method of  claim 29 , wherein writing the data blocks to the nonvolatile solid state memory device comprises transmitting the data blocks via a data bus that connects the control unit of the data storage device to a DRAM buffer configured to buffer data for the magnetic storage disk. 
     
     
         42 . The method of  claim 29 , wherein writing the data blocks to the nonvolatile solid state memory device comprises transmitting the data blocks via a NAND interface bus that connects a flash manager device to the nonvolatile solid state memory device. 
     
     
         43 . The method of  claim 29 , wherein the ordering of the selected blocks comprises calculating a rotational latency for each of the selected blocks. 
     
     
         44 . In a data storage device having a nonvolatile solid state memory device, a magnetic storage disk, and a control unit, a method of ordering data blocks to be written to the magnetic storage disk, the method comprising:
 writing the data blocks to the nonvolatile solid state memory device;   selecting data blocks stored in the nonvolatile solid state memory device whose logical block addresses correspond to locations disposed in a subzone region of the magnetic storage disk in which an active read-write head of the magnetic storage disk is located;   ordering the selected data blocks prior to writing the selected data blocks to the magnetic storage disk; and   writing the first of the ordered data blocks to the magnetic storage disk.   
     
     
         45 . The method of  claim 44 , wherein the subzone region consists of a single servo subzone of the magnetic storage disk. 
     
     
         46 . The method of  claim 45 , wherein the servo subzone comprises a portion of a data zone of the magnetic storage disk. 
     
     
         47 . The method of  claim 44 , wherein selecting data blocks stored in the nonvolatile solid state memory device further comprises:
 comparing the number of selected data blocks disposed in the subzone region to a predetermined minimum value; and   in response to the comparing, redefining the subzone region to include an additional servo subzone, wherein the additional servo subzone is adjacent to the subzone region.   
     
     
         48 . The method of  claim 47 , wherein the predetermined minimum value is substantially less than the number of data blocks stored in the nonvolatile solid state memory device. 
     
     
         49 . The method of  claim 48 , wherein the predetermined minimum value is at least an order of magnitude less than the number of data blocks stored in the nonvolatile solid state memory device. 
     
     
         50 . The method of  claim 44 , further comprising periodically writing the least-recently-used data block stored in the nonvolatile solid state memory device from a least-recently-used list of data blocks that are stored in the nonvolatile solid state memory device and have not been written to the magnetic storage disk. 
     
     
         51 . The method of  claim 50 , wherein periodically comprises after writing a predetermined number of ordered data blocks stored in the nonvolatile solid state memory device to the magnetic storage disk. 
     
     
         52 . The method of  claim 50 , wherein the least-recently used list of data blocks comprises a recency list of data blocks written to the nonvolatile solid state memory device, a frequency list of data blocks written to the nonvolatile solid state memory device, or a combination of both. 
     
     
         53 . The method of  claim 44 , further comprising writing the second of the ordered data blocks to the magnetic storage disk. 
     
     
         54 . The method of  claim 53 , further comprising writing remainder data blocks of the ordered data blocks to the magnetic storage disk until the number of remainder ordered data blocks is depleted. 
     
     
         55 . The method of  claim 54 , wherein the remainder ordered data blocks are depleted when the number of ordered data blocks that have not been written to the magnetic storage disk is less than a predetermined number ordered data blocks. 
     
     
         56 . The method of  claim 55 , wherein the predetermined number of ordered data blocks is 1. 
     
     
         57 . The method of  claim 44 , further comprising, prior to writing the data blocks to the nonvolatile solid state memory device, receiving the data blocks to be written to the magnetic storage disk from a host device for the data storage device. 
     
     
         58 . The method of  claim 44 , wherein writing the data blocks to the nonvolatile solid state memory device comprises writing the data blocks directly in the nonvolatile solid state memory device without storing the received data in a DRAM buffer configured to buffer data for the magnetic storage disk. 
     
     
         59 . The method of  claim 44 , further comprising the step of designating a location in the solid state memory device corresponding to the first of the ordered data blocks written to the magnetic storage disk to be available for data storage. 
     
     
         60 . The method of  claim 44 , wherein writing the data blocks to the nonvolatile solid state memory device comprises transmitting the data blocks via a data bus that connects the control unit of the data storage device to a DRAM buffer configured to buffer data for the magnetic storage disk. 
     
     
         61 . The method of  claim 44 , wherein writing the data blocks to the nonvolatile solid state memory device comprises transmitting the data blocks via a NAND interface bus that connects a flash manager device to the nonvolatile solid state memory device. 
     
     
         62 . The method of  claim 44 , wherein the ordering of the selected blocks comprises calculating a rotational latency for each of the selected blocks.

Join the waitlist — get patent alerts

Track US2013242425A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.