US20140258745A1 - Power state change in disk drive based on disk access history - Google Patents

Power state change in disk drive based on disk access history Download PDF

Info

Publication number
US20140258745A1
US20140258745A1 US13/788,502 US201313788502A US2014258745A1 US 20140258745 A1 US20140258745 A1 US 20140258745A1 US 201313788502 A US201313788502 A US 201313788502A US 2014258745 A1 US2014258745 A1 US 2014258745A1
Authority
US
United States
Prior art keywords
storage device
state
magnetic storage
power consumption
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/788,502
Inventor
Richard M. Ehrlich
Eric R. DUNN
Daniel TCHEN
Annie Mylang Le
Mine Wonkyung BUDIMAN
Fernando Anibal ZAYAS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to US13/788,502 priority Critical patent/US20140258745A1/en
Assigned to KABUSHIKI KAISHA TOSHIBA reassignment KABUSHIKI KAISHA TOSHIBA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BUDIMAN, MINE WONKYUNG, DUNN, ERIC R., EHRLICH, RICHARD M., LE, ANNIE MYLANG, TCHEN, DANIEL, ZAYAS, FERNANDO ANIBAL
Priority to JP2014000299A priority patent/JP2014175036A/en
Publication of US20140258745A1 publication Critical patent/US20140258745A1/en
Priority to US15/172,072 priority patent/US9940051B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • Disk drives primarily store digital data in concentric tracks on the surface of a data storage disk and are commonly used for data storage in electronic devices.
  • the data storage disk is typically a rotatable hard disk with a layer of magnetic material thereon, and data are read from or written to a desired track on the data storage disk using a read/write head that is held proximate to the track while the disk spins about its center at a constant angular velocity.
  • disk drives generally use a closed-loop servo system that relies on servo data stored in servo sectors written on the disk surface when the disk drive is manufactured.
  • Some operations in a disk drive use a significant amount of energy, even when read or write commands are not being serviced by the disk drive. For example, continuously spinning the data storage disk requires approximately the same power whether or not read or write commands are being performed.
  • actively controlling read/write head position with the servo system involves performing servo sampling, signal processing, and associated decoding with a read channel, all of which utilize substantial computational resources, independent of read or write commands. Because disk drives are frequently used in portable electronic devices in which available power is limited, such as laptop computers, restricting such energy-intensive operations in a disk drive is generally desirable.
  • One or more embodiments provide systems and methods for storing data in a data storage device that includes a magnetic storage device.
  • the data storage device selects one or more power states of the magnetic storage device based on a time interval since a most recent time data has been read from or written to the magnetic storage device.
  • the power state of the magnetic storage device can be changed from a higher power consumption state to a lower power consumption state when the time interval exceeds a predetermined value.
  • the power consumption state may be changed from an active servo state to an intermediate power consumption state, a park state, and/or a standby state, depending on the time elapsed since a most recent time data has been read from or written to the magnetic storage device.
  • a method of power management in a data storage device that includes a magnetic storage device comprises, according to one embodiment, measuring a time interval since a most recent time data has been read from or written to the magnetic storage device, and, in response to the time interval exceeding a predetermined value, changing a current power consumption state of the magnetic storage device to a lower power consumption state.
  • a data storage device comprises a magnetic storage device and a controller.
  • the controller is configured to measure a time interval since a most recent time data has been read from or written to the magnetic storage device, and, in response to the time interval exceeding a predetermined value, change a current power consumption state of the magnetic storage device to a lower power consumption state.
  • a data storage device comprises a magnetic storage device, a non-volatile solid-state device, and a controller.
  • the controller is configured to determine that a portion of the non-volatile solid-state device used to store data that are not also stored on the magnetic storage device is greater than a predetermined value, change a power state of the magnetic storage device from an initial power state to an active servo state, the initial power state being a lower power state than the active servo state, and control the writing to the magnetic storage device of at least a portion of the data that are not also stored on the magnetic storage device.
  • FIG. 1 is a schematic view of an exemplary disk drive, according to one embodiment.
  • FIG. 2 illustrates an operational diagram of a disk drive with elements of electronic circuits shown configured according to one embodiment.
  • FIG. 3 illustrates a power-state diagram of the disk drive of FIG. 1 .
  • FIG. 4 sets forth a flowchart of method steps for power management in a data storage device that includes a magnetic storage device, according to one or more embodiments.
  • FIG. 1 is a schematic view of an exemplary disk drive, according to one embodiment.
  • Disk drive 100 includes at least one storage disk 110 that is rotated by a spindle motor 114 and includes a plurality of concentric data storage tracks.
  • Spindle motor 114 is mounted on a base plate 116 .
  • An actuator arm assembly 120 is also mounted on base plate 116 , and has a slider 121 mounted on a flexure arm 122 with a read/write head 127 that reads data from and writes data to the data storage tracks.
  • Flexure arm 122 is attached to an actuator arm 124 that rotates about a bearing assembly 126 .
  • Voice coil motor 128 moves slider 121 relative to storage disk 110 , thereby positioning read/write head 127 over the desired concentric data storage track disposed on the surface 112 of storage disk 110 .
  • Spindle motor 114 , read/write head 127 , and voice coil motor 128 are coupled to electronic circuits 130 , which are mounted on a printed circuit board 132 .
  • Electronic circuits 130 include a read/write channel 137 , a microprocessor-based controller 133 , random-access memory (RAM) 134 (which may be a dynamic RAM and is used as a data buffer), and/or a flash memory device 135 and flash manager device 136 .
  • RAM random-access memory
  • read/write channel 137 and microprocessor-based controller 133 are included in a single chip, such as a system-on-chip 131 .
  • disk drive 100 may further include a motor-driver chip 125 , which accepts commands from microprocessor-based controller 133 and drives both spindle motor 114 and voice coil motor 128 .
  • disk drive 100 is illustrated with a single storage disk 110 and a single actuator arm assembly 120 .
  • Disk drive 100 may also include multiple storage disks and multiple actuator arm assemblies.
  • each side of storage disk 110 may have an associated read/write head coupled to a flexure arm.
  • actuator arm assembly 120 When data are transferred to or from storage disk 110 , actuator arm assembly 120 sweeps an arc between an inner diameter (ID) and an outer diameter (OD) of storage disk 110 .
  • Actuator arm assembly 120 accelerates in one angular direction when current is passed in one direction through the voice coil of voice coil motor 128 and accelerates in an opposite direction when the current is reversed, thereby allowing control of the position of actuator arm assembly 120 and attached read/write head 127 with respect to storage disk 110 .
  • Voice coil motor 128 is coupled with a servo system known in the art that uses the positioning data read from servo wedges on storage disk 110 by read/write head 127 to determine the position of read/write head 127 over a specific data storage track. The servo system determines an appropriate current to drive through the voice coil of voice coil motor 128 , and drives said current using a current driver and associated circuitry.
  • Disk drive 100 may be configured as a disk drive, in which non-volatile data storage is generally only performed using storage disk 110 in typical operation.
  • disk drive 100 may be configured as a hybrid drive, in which non-volatile data storage can be performed using storage disk 110 and/or flash memory device 135 .
  • non-volatile memory such as flash memory device 135
  • non-volatile memory supplements the spinning storage disk 110 to provide faster boot, hibernate, resume and other data read-write operations, as well as lower power consumption.
  • Such a hybrid drive configuration is particularly advantageous for battery operated computer systems, such as mobile computers or other mobile computing devices.
  • flash memory device 135 is a non-volatile solid state storage medium, such as a NAND flash chip that can be electrically erased and reprogrammed, and is sized to supplement storage disk 110 in disk drive 100 as a non-volatile storage medium.
  • flash memory device 135 has data storage capacity that is orders of magnitude larger than RAM 134 , e.g., gigabytes (GB) vs. megabytes (MB).
  • FIG. 2 illustrates an operational diagram of disk drive 100 with elements of electronic circuits 130 shown configured according to one embodiment.
  • disk drive 100 includes RAM 134 , flash memory device 135 , a flash manager device 136 , system-on-chip 131 , and a high-speed data path 138 .
  • Disk drive 100 is connected to a host 10 , such as a host computer, via a host interface 20 , such as a serial advanced technology attachment (SATA) bus.
  • SATA serial advanced technology attachment
  • flash manager device 136 controls interfacing of flash memory device 135 with high-speed data path 138 and is connected to flash memory device 135 via a NAND interface bus 139 .
  • System-on-chip 131 includes microprocessor-based controller 133 and other hardware (including read/write channel 137 ) for controlling operation of disk drive 100 , and is connected to RAM 134 and flash manager device 136 via high-speed data path 138 .
  • Microprocessor-based controller 133 is a control unit that may include a microcontroller such as an ARM microprocessor, a hybrid drive controller, and any control circuitry within disk drive 100 .
  • High-speed data path 138 is a high-speed bus known in the art, such as a double data rate (DDR) bus, a DDR2 bus, a DDR3 bus, or the like.
  • DDR double data rate
  • data storage devices with rotatable storage disks can be configured to minimize energy use by changing to lower power-consumption states when the data storage device is not being used to satisfy read or write commands from a host device.
  • disk drives used in battery-powered devices, such as laptop computers.
  • the data storage device may change from an active servo state to an intermediate power consumption state, a park state, or a standby state.
  • a data storage device changes from a first power consumption state to a second power consumption state based on a time interval in which a rotatable storage disk or disks of the data storage device are not accessed to satisfy read or write commands.
  • actuator arm assembly 120 when read or write commands are exclusively satisfied using RAM 134 and/or flash memory device 135 , actuator arm assembly 120 , voice coil motor 128 , spindle motor 114 , read/write channel 137 and/or microprocessor-based controller 133 may be operated at a lower power consumption state, since storage disk 110 is not being accessed.
  • FIG. 3 illustrates a power-state diagram 300 for disk drive 100 that includes multiple power states and power state transitions of disk drive 100 .
  • Power states in power-state diagram 300 include an active servo state 310 , an intermediate power consumption state 320 , a park state 330 , a standby state 340 , and a sleep state 350 .
  • State transitions in power-state diagram 300 include a float timer expiration 311 , a standby transition 312 , a sleep command 313 , a park timer expiration 321 , and an active servo transition 341 . While the elements of power-state diagram 300 are described in terms of disk drive 100 , it should be recognized that power-state diagram 300 is applicable to any suitable data storage device that includes a rotatable storage disk.
  • Active servo state 310 represents normal operation of disk drive 100 to facilitate the execution of read and write commands, either from host 10 or initiated by disk drive 110 itself.
  • active servo state 310 the servo system of disk drive 100 actively controls the position of read/write head 127 with respect to individual tracks on storage disk 110 , using voice coil motor 128 , actuator arm 124 , and read/write channel 137 .
  • disk drive 100 may be in active servo state 310 when read or write commands are not being serviced by disk drive 100 .
  • disk drive 100 changes to a lower power consumption state when one or more conditions are met. As shown in FIG. 3 , these conditions may include one or more of: float timer expiration 311 , standby transition 312 , and sleep command 313 .
  • Float timer expiration 311 When float timer expiration 311 occurs, disk drive 100 changes from active servo state 310 to intermediate power consumption state 320 , which is described below.
  • Float timer expiration 311 can be configured to take effect when no commands are satisfied by accessing storage disk 110 for more than a predetermined period of time. For example, a typical duration for such a predetermined time period may be approximately 50 to 150 milliseconds.
  • a float timer is started when a command, i.e., a read or write command, is satisfied by accessing storage disk 110 . The float timer is reset to zero and restarted when a received command is satisfied by accessing storage disk 110 .
  • float timer expiration 311 takes effect when the float timer exceeds the predetermined time period described above, and disk drive 100 changes to intermediate power consumption state 320 .
  • any read or write commands satisfied by accessing storage disk 110 resets the float timer to zero, and in other embodiments, only read or write commands that are both satisfied by accessing storage disk 110 and that are received from host 10 reset the float timer to zero.
  • commands that are satisfied without accessing storage disk 110 do not reset the above-described float timer. Consequently, even though read and/or write commands are frequently received by disk drive 100 from host 10 and/or initiated by disk drive 100 , portions of disk drive 100 associated with storage disk 110 can be changed from active servo state 310 to intermediate power consumption state 320 when said commands are satisfied by accessing RAM 134 and/or flash memory device 135 but not storage disk 110 .
  • standby transition 312 When standby transition 312 occurs, disk drive 100 changes from a current energy consumption state to standby state 340 , in which disk drive 100 spins down storage disk 110 , read/write head 127 is parked, and disk drive 100 expends essentially no energy on mechanical operations.
  • Standby transition 312 may occur when disk drive 100 is in one of several power states, including active servo state 310 , intermediate power consumption state 320 , and park state 330 .
  • standby transition 312 can be configured to take effect when either one of two conditions are met: 1) no commands from host 10 are satisfied by accessing storage disk 110 for more than a predetermined period of time, and 2) when a “standby” command is received from host 10 .
  • standby transition 312 can be configured to take effect when: 1) no commands from host 10 or initiated by disk drive 100 are satisfied by accessing storage disk 110 for more than a predetermined period of time, and 2) when a “standby” command is received from host 10 .
  • the predetermined period of time associated with standby transition 312 is substantially longer than that associated with float timer expiration 311 .
  • a typical duration of time associated with initiating standby transition 312 can be on the order of several minutes rather than milliseconds.
  • a standby timer is started when a command is satisfied by accessing storage disk 110 , and the standby timer is reset to zero and restarted when a command is next satisfied by accessing storage disk 110 .
  • the standby timer is started when a command received from host 10 is satisfied by accessing storage disk 110 , while a command that is initiated by disk drive 110 and is satisfied by accessing storage disk 110 does not reset the standby timer to zero.
  • disk drive 100 changes to standby state 340 .
  • commands that are 1) received by disk drive 100 from host 10 or initiated by disk drive 100 itself, and 2) are satisfied without accessing storage disk 110 do not generally reset the herein-described standby timer.
  • Sleep command 313 when received from host 10 , causes disk drive 100 to change from a current power state to sleep state 340 .
  • Sleep command 313 may occur when disk drive 100 is in one of several power states, including active servo state 310 , intermediate power consumption state 320 , and park state 330 .
  • Intermediate power consumption state 320 in which the servo system of disk drive 100 is not used to provide continuous position control of read/write head 127 , uses less power than active servo state 310 and more power than park state 330 .
  • microprocessor-based controller 133 may apply a predetermined constant bias to voice coil motor 128 to hold read/write head 127 in place, thereby “floating” read/write head 127 rather than actively servoing the position of read/write head 127 .
  • a low-frequency servo mode may be used in intermediate power consumption state 320 , in which limited servo control is used to position read/write head 127 in an approximate location.
  • the servo system of disk drive 100 may be activated for a single or a relatively small number of samples for each revolution of storage disk 110 , so that the position of read/write head 127 is approximately known without the relatively high energy cost associated with constantly servoing read/write head 127 over a particular data storage track of storage disk 110 .
  • intermediate power consumption state 320 allows relatively fast response to read or write commands that involve accessing storage disk 110 .
  • disk drive 100 when disk drive 100 is in intermediate power consumption state 320 and receives a read or write command, seeking to a desired location on storage disk 110 in response to said command can be completed in a few milliseconds to a few tens of milliseconds.
  • disk drive when disk drive is in park state 320 , seeking to a desired location on storage disk 110 in response to said command generally requires a few hundred milliseconds.
  • disk drive 100 changes from intermediate power consumption state 320 to a lower power consumption state when one or more conditions are met. As shown in FIG. 3 , these conditions may include one or more of: standby transition 312 , sleep command 313 (both described above) and park timer expiration 321 .
  • Park timer expiration 321 When park timer expiration 321 occurs, disk drive 100 changes from intermediate power consumption state 320 to park state 330 .
  • park state 330 storage disk 110 continues to spin at the normal rotational velocity, but read/write head 127 is parked to reduce aerodynamic resistance to spinning the data storage disk. In this way, current required for the rotation of storage disk 110 is reduced. Furthermore, in park state 330 , read/write head 127 is protected from mechanical shock experienced by disk drive 100 .
  • Park timer expiration 321 can be configured to take effect when no commands are satisfied by accessing storage disk 110 for more than a predetermined period of time. Alternatively, park timer expiration 321 can be configured to take effect when no commands from host 10 are satisfied by accessing storage disk 110 for more than a predetermined period of time.
  • the predetermined period of time associated with park timer expiration 321 is substantially longer than that associated with float timer expiration 311 .
  • a typical duration of time associated with park timer expiration 321 can be on the order of several minutes rather than the milliseconds associated with float timer expiration 311 .
  • a park timer is started when a command is satisfied by accessing storage disk 110 , and the park timer is reset to zero and restarted when a command is satisfied by accessing storage disk 110 .
  • park timer expiration 321 occurs, i.e., when the park timer exceeds the predetermined time period described above, disk drive 100 changes to park state 330 .
  • commands that are satisfied without accessing storage disk 110 do not generally reset the herein-described park timer. Said commands can be either received by disk drive 100 from host 10 or initiated by disk drive 100 itself, such as when controller 133 determines that data stored in flash memory device 135 should be written on data storage disk 110 .
  • disk drive 100 may also change to a higher power consumption state when certain events occur. Specifically, when active servo transition 341 occurs, disk drive 100 may be configured to change to active servo state 310 , as shown in FIG. 3 . In some embodiments, active servo transition 341 takes place when a read or write command is satisfied by accessing storage disk 110 .
  • storage disk 110 is accessed by microprocessor-based controller 133 to satisfy said read command.
  • disk drive 100 changes to active servo state 310 so that storage disk 110 can be accessed to satisfy the command received from host 10 .
  • disk drive 100 may change to active servo state 310 in response to data being flushed to storage disk 110 from flash memory device 135 .
  • a portion of flash memory device 135 may be used to store “dirty” data, which are data that are only stored in flash memory device 135 and are not also stored on storage disk 110 .
  • disk drive 100 may also be configured to maintain a predetermined maximum threshold for the portion of flash memory device 135 used to store dirty data.
  • disk drive 100 When said maximum threshold is exceeded, disk drive 100 generally “flushes” excess dirty data to storage disk 110 , i.e., disk drive 100 writes a corresponding copy of the excess dirty data on storage disk 110 , and flags the copied data in flash memory device 135 as “non-dirty” data. Thus, in some situations, disk drive 100 may flush dirty data to storage disk 110 , even though disk drive 100 is in intermediate power consumption state 320 , park state 330 , or standby state 340 . In such situations, disk drive 100 changes to active servo state 310 so that the data flushing process can be performed.
  • disk drive 100 may then send write commands to disk drive 100 .
  • disk drive 100 may accept write data directly into flash memory device 135 to prevent activating the portions of disk drive 100 associated with storage disk 110 .
  • flash memory device 135 is full or already stores the maximum allowable quantity of dirty data, microprocessor-based controller 133 will change the power state of disk drive 100 to active servo state 310 and begin to copy dirty data in flash memory device 135 to storage disk 110 .
  • storage disk 110 may be accessed as a result of other activities besides in response to commands from host 10 .
  • timers for measuring time elapsed since storage disk 110 was last accessed in response to a host command may not be affected when storage disk 110 is accessed as a result of said non-host related activities.
  • dirty data being flushed from flash memory device 135 or RAM 134 may be considered such non-host related activities.
  • FIG. 4 sets forth a flowchart of method steps for power management in a data storage device that includes a magnetic storage device, according to one or more embodiments.
  • the control algorithms for method 400 may reside in and/or be performed by microprocessor-based controller 133 , host 10 , or any other suitable control circuit or system.
  • method 400 is described in terms of microprocessor-based controller 133 performing steps 410 - 450 .
  • step 410 microprocessor-based controller 133 or other suitable control circuit or system receives a command that requires access to storage disk 110 .
  • the command received in step 410 may be a read command when the only up-to-date version of data associated with the read command is stored on storage disk 110 .
  • the command received in step 410 may be a write command, where insufficient storage space is available in flash memory device 135 and/or RAM 134 for storing the data associated with the write command.
  • the command received in step 410 may be a flush-cache command from host 10 requesting that disk drive 100 flush some or all dirty data in flash memory device 135 and/or RAM 134 to storage disk 110 .
  • the command received in step 410 may be a write command initiated by disk drive 100 itself, such as when flash memory device 135 stores equal to or greater than a maximum desired quantity of dirty data.
  • step 420 microprocessor-based controller 133 controls access to storage disk 110 in response to the command received in step 410 .
  • data are written to and/or read from storage disk 110 to satisfy the command received in step 410 .
  • microprocessor-based controller 133 starts a timer function or other technically feasible time measurement technique in response to storage disk 110 being accessed in step 420 .
  • the timer function is started upon completion of access to storage device 110 in step 420 , but in some embodiments may be started in conjunction with said access.
  • step 440 microprocessor-based controller 133 checks the time interval measured by the timer function started in step 430 .
  • step 440 is performed periodically, for example every 10 milliseconds.
  • a predetermined value i.e., a desired time interval has elapsed
  • method 400 proceeds to step 441 .
  • the time interval measured by said timer function does not exceed the predetermined value, i.e., the desired time interval has not yet elapsed
  • method 400 proceeds to step 450 .
  • the time interval in question is associated with one of the power state transitions to a lower power consumption state, as described above in conjunction with FIG. 3 .
  • the time interval referenced in step 440 is the time associated with float timer expiration 311 , and may therefore be on the order of 10s to 100s of milliseconds in duration.
  • the time interval referenced in step 440 is the time associated with standby transition 312 , and may therefore be on the order of a few minutes, to 10s of minutes in duration, and in some instances may be defined by host 10 .
  • the time interval referenced in step 440 is the time associated with park timer expiration 321 , and may therefore be on the order of a few minutes or longer in duration.
  • microprocessor-based controller 133 changes the power state of disk drive 100 from the current power state, e.g., active servo state 310 , to a desired lower power consumption state, such as intermediate power consumption state 320 , park state 330 , or standby state 340 .
  • a desired lower power consumption state such as intermediate power consumption state 320 , park state 330 , or standby state 340 .
  • additional power management processes described herein may be initiated, such as checking for a condition causing disk drive 110 to change to an even lower energy consumption state, such as standby state 340 .
  • the condition may be an elapsed time since storage disk 110 has been accessed in order to satisfy a command.
  • blocks illustrating such an additional power management process are omitted from FIG. 4 .
  • disk drive 100 may be changed to standby state 340 in response to a standby command from host 10 .
  • microprocessor-based controller 133 terminates method 400 and immediately changes disk drive 10 to standby state 340 .
  • microprocessor-based controller 133 determines whether access to storage disk 110 has been requested in order to satisfy a command received since step 420 . If such a request has been received by microprocessor-based controller 133 , method 400 proceeds back to step 420 , where said command is satisfied by accessing storage disk 110 . If such a request has not been received by microprocessor-based controller 133 since step 420 , method 400 proceeds back to step 440 , as shown in FIG. 4 .
  • one or more commands may be received by disk drive 100 since step 420 without resetting the timer function started in step 430 , as long as storage disk 110 is not accessed in response to said host commands.
  • read or write commands from host 10 that are satisfied using RAM 134 and/or flash memory device 135 do not reset the timer function in step 401 .
  • flushing of dirty data from flash memory device 135 to storage disk 110 when performed internally as a non-host related activity by disk drive 100 , does not reset said timer function.
  • flushing of dirty data from flash memory device 135 to storage disk 110 when performed internally as a non-host related activity by disk drive 100 , resets the some timer functions (e.g., a float timer for float timer expiration 311 or a park timer for park timer expiration 321 ), but not for others (e.g., a standby timer for standby transition 312 ).
  • method 400 may be used to change disk drive 100 to any of the power states associated with disk drive 100 that are lower in power consumption than active servo state 310 , including intermediate power consumption state 320 , park state 330 , and standby state 340 .
  • embodiments described herein are in terms of a hard disk drive, embodiments also include data storage devices that include a data storage disk, such as an optical disk drive, etc.
  • inventions described herein provide systems and methods for power management in a data storage device.
  • the data storage device selects one or more power states of the magnetic storage device based on a time interval during which the magnetic storage device is not accessed in response to a host command. Consequently, the magnetic storage device can be advantageously changed to a lower power consumption state even though the data storage device is actively serving a host device.

Abstract

A data storage device that includes a magnetic storage device selects one or more power states of the magnetic storage device based on a time interval since a most recent time data has been read from or written to the magnetic storage device. The power state of the magnetic storage device can be changed from a higher power consumption state to a lower power consumption state when the time interval exceeds a predetermined value. The power consumption state may be changed from an active servo state to an intermediate power consumption state, a park state, and/or a standby state, depending on the time elapsed since the most recent time data has been read from or written to the magnetic storage device.

Description

    BACKGROUND
  • Disk drives primarily store digital data in concentric tracks on the surface of a data storage disk and are commonly used for data storage in electronic devices. The data storage disk is typically a rotatable hard disk with a layer of magnetic material thereon, and data are read from or written to a desired track on the data storage disk using a read/write head that is held proximate to the track while the disk spins about its center at a constant angular velocity. To properly align the read/write head with a desired track during a read or write operation, disk drives generally use a closed-loop servo system that relies on servo data stored in servo sectors written on the disk surface when the disk drive is manufactured.
  • Some operations in a disk drive use a significant amount of energy, even when read or write commands are not being serviced by the disk drive. For example, continuously spinning the data storage disk requires approximately the same power whether or not read or write commands are being performed. Similarly, actively controlling read/write head position with the servo system involves performing servo sampling, signal processing, and associated decoding with a read channel, all of which utilize substantial computational resources, independent of read or write commands. Because disk drives are frequently used in portable electronic devices in which available power is limited, such as laptop computers, restricting such energy-intensive operations in a disk drive is generally desirable.
  • SUMMARY
  • One or more embodiments provide systems and methods for storing data in a data storage device that includes a magnetic storage device. During operation, the data storage device selects one or more power states of the magnetic storage device based on a time interval since a most recent time data has been read from or written to the magnetic storage device. Specifically, the power state of the magnetic storage device can be changed from a higher power consumption state to a lower power consumption state when the time interval exceeds a predetermined value. For example, the power consumption state may be changed from an active servo state to an intermediate power consumption state, a park state, and/or a standby state, depending on the time elapsed since a most recent time data has been read from or written to the magnetic storage device.
  • A method of power management in a data storage device that includes a magnetic storage device comprises, according to one embodiment, measuring a time interval since a most recent time data has been read from or written to the magnetic storage device, and, in response to the time interval exceeding a predetermined value, changing a current power consumption state of the magnetic storage device to a lower power consumption state.
  • According to another embodiment, a data storage device comprises a magnetic storage device and a controller. The controller is configured to measure a time interval since a most recent time data has been read from or written to the magnetic storage device, and, in response to the time interval exceeding a predetermined value, change a current power consumption state of the magnetic storage device to a lower power consumption state.
  • According to another embodiment, a data storage device comprises a magnetic storage device, a non-volatile solid-state device, and a controller. The controller is configured to determine that a portion of the non-volatile solid-state device used to store data that are not also stored on the magnetic storage device is greater than a predetermined value, change a power state of the magnetic storage device from an initial power state to an active servo state, the initial power state being a lower power state than the active servo state, and control the writing to the magnetic storage device of at least a portion of the data that are not also stored on the magnetic storage device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • So that the manner in which the above recited features of the embodiments can be understood in detail, a more particular description of the embodiments, briefly summarized above, may be had by reference to the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments and are therefore not to be considered limiting of its scope, for there may be other equally effective embodiments.
  • FIG. 1 is a schematic view of an exemplary disk drive, according to one embodiment.
  • FIG. 2 illustrates an operational diagram of a disk drive with elements of electronic circuits shown configured according to one embodiment.
  • FIG. 3 illustrates a power-state diagram of the disk drive of FIG. 1.
  • FIG. 4 sets forth a flowchart of method steps for power management in a data storage device that includes a magnetic storage device, according to one or more embodiments.
  • For clarity, identical reference numbers have been used, where applicable, to designate identical elements that are common between figures. It is contemplated that features of one embodiment may be incorporated in other embodiments without further recitation.
  • DETAILED DESCRIPTION
  • FIG. 1 is a schematic view of an exemplary disk drive, according to one embodiment. For clarity, disk drive 100 is illustrated without a top cover. Disk drive 100 includes at least one storage disk 110 that is rotated by a spindle motor 114 and includes a plurality of concentric data storage tracks. Spindle motor 114 is mounted on a base plate 116. An actuator arm assembly 120 is also mounted on base plate 116, and has a slider 121 mounted on a flexure arm 122 with a read/write head 127 that reads data from and writes data to the data storage tracks. Flexure arm 122 is attached to an actuator arm 124 that rotates about a bearing assembly 126. Voice coil motor 128 moves slider 121 relative to storage disk 110, thereby positioning read/write head 127 over the desired concentric data storage track disposed on the surface 112 of storage disk 110. Spindle motor 114, read/write head 127, and voice coil motor 128 are coupled to electronic circuits 130, which are mounted on a printed circuit board 132. Electronic circuits 130 include a read/write channel 137, a microprocessor-based controller 133, random-access memory (RAM) 134 (which may be a dynamic RAM and is used as a data buffer), and/or a flash memory device 135 and flash manager device 136. In some embodiments, read/write channel 137 and microprocessor-based controller 133 are included in a single chip, such as a system-on-chip 131. In some embodiments, disk drive 100 may further include a motor-driver chip 125, which accepts commands from microprocessor-based controller 133 and drives both spindle motor 114 and voice coil motor 128.
  • For clarity, disk drive 100 is illustrated with a single storage disk 110 and a single actuator arm assembly 120. Disk drive 100 may also include multiple storage disks and multiple actuator arm assemblies. In addition, each side of storage disk 110 may have an associated read/write head coupled to a flexure arm.
  • When data are transferred to or from storage disk 110, actuator arm assembly 120 sweeps an arc between an inner diameter (ID) and an outer diameter (OD) of storage disk 110. Actuator arm assembly 120 accelerates in one angular direction when current is passed in one direction through the voice coil of voice coil motor 128 and accelerates in an opposite direction when the current is reversed, thereby allowing control of the position of actuator arm assembly 120 and attached read/write head 127 with respect to storage disk 110. Voice coil motor 128 is coupled with a servo system known in the art that uses the positioning data read from servo wedges on storage disk 110 by read/write head 127 to determine the position of read/write head 127 over a specific data storage track. The servo system determines an appropriate current to drive through the voice coil of voice coil motor 128, and drives said current using a current driver and associated circuitry.
  • Disk drive 100 may be configured as a disk drive, in which non-volatile data storage is generally only performed using storage disk 110 in typical operation. Alternatively, disk drive 100 may be configured as a hybrid drive, in which non-volatile data storage can be performed using storage disk 110 and/or flash memory device 135. In a hybrid drive, non-volatile memory, such as flash memory device 135, supplements the spinning storage disk 110 to provide faster boot, hibernate, resume and other data read-write operations, as well as lower power consumption. Such a hybrid drive configuration is particularly advantageous for battery operated computer systems, such as mobile computers or other mobile computing devices. In a preferred embodiment, flash memory device 135 is a non-volatile solid state storage medium, such as a NAND flash chip that can be electrically erased and reprogrammed, and is sized to supplement storage disk 110 in disk drive 100 as a non-volatile storage medium. For example, in some embodiments, flash memory device 135 has data storage capacity that is orders of magnitude larger than RAM 134, e.g., gigabytes (GB) vs. megabytes (MB).
  • FIG. 2 illustrates an operational diagram of disk drive 100 with elements of electronic circuits 130 shown configured according to one embodiment. As shown, disk drive 100 includes RAM 134, flash memory device 135, a flash manager device 136, system-on-chip 131, and a high-speed data path 138. Disk drive 100 is connected to a host 10, such as a host computer, via a host interface 20, such as a serial advanced technology attachment (SATA) bus.
  • In the embodiment illustrated in FIG. 2, flash manager device 136 controls interfacing of flash memory device 135 with high-speed data path 138 and is connected to flash memory device 135 via a NAND interface bus 139. System-on-chip 131 includes microprocessor-based controller 133 and other hardware (including read/write channel 137) for controlling operation of disk drive 100, and is connected to RAM 134 and flash manager device 136 via high-speed data path 138. Microprocessor-based controller 133 is a control unit that may include a microcontroller such as an ARM microprocessor, a hybrid drive controller, and any control circuitry within disk drive 100. High-speed data path 138 is a high-speed bus known in the art, such as a double data rate (DDR) bus, a DDR2 bus, a DDR3 bus, or the like.
  • In general, data storage devices with rotatable storage disks, such as disk drives, can be configured to minimize energy use by changing to lower power-consumption states when the data storage device is not being used to satisfy read or write commands from a host device. This is particularly true for disk drives used in battery-powered devices, such as laptop computers. For example, when a data storage device has not received host commands for a predetermined time period, the data storage device may change from an active servo state to an intermediate power consumption state, a park state, or a standby state. In contrast, according to various embodiments, a data storage device changes from a first power consumption state to a second power consumption state based on a time interval in which a rotatable storage disk or disks of the data storage device are not accessed to satisfy read or write commands. For example, in reference to disk drive 100 illustrated in FIGS. 1 and 2, when read or write commands are exclusively satisfied using RAM 134 and/or flash memory device 135, actuator arm assembly 120, voice coil motor 128, spindle motor 114, read/write channel 137 and/or microprocessor-based controller 133 may be operated at a lower power consumption state, since storage disk 110 is not being accessed.
  • FIG. 3 illustrates a power-state diagram 300 for disk drive 100 that includes multiple power states and power state transitions of disk drive 100. Power states in power-state diagram 300 include an active servo state 310, an intermediate power consumption state 320, a park state 330, a standby state 340, and a sleep state 350. State transitions in power-state diagram 300 include a float timer expiration 311, a standby transition 312, a sleep command 313, a park timer expiration 321, and an active servo transition 341. While the elements of power-state diagram 300 are described in terms of disk drive 100, it should be recognized that power-state diagram 300 is applicable to any suitable data storage device that includes a rotatable storage disk.
  • Active servo state 310 represents normal operation of disk drive 100 to facilitate the execution of read and write commands, either from host 10 or initiated by disk drive 110 itself. In active servo state 310, the servo system of disk drive 100 actively controls the position of read/write head 127 with respect to individual tracks on storage disk 110, using voice coil motor 128, actuator arm 124, and read/write channel 137. It is noted that disk drive 100 may be in active servo state 310 when read or write commands are not being serviced by disk drive 100. However, because significant electrical energy is used by microprocessor-based controller 133 and read/write channel 137 in active servo state 310, in some embodiments, disk drive 100 changes to a lower power consumption state when one or more conditions are met. As shown in FIG. 3, these conditions may include one or more of: float timer expiration 311, standby transition 312, and sleep command 313.
  • When float timer expiration 311 occurs, disk drive 100 changes from active servo state 310 to intermediate power consumption state 320, which is described below. Float timer expiration 311 can be configured to take effect when no commands are satisfied by accessing storage disk 110 for more than a predetermined period of time. For example, a typical duration for such a predetermined time period may be approximately 50 to 150 milliseconds. In some embodiments, a float timer is started when a command, i.e., a read or write command, is satisfied by accessing storage disk 110. The float timer is reset to zero and restarted when a received command is satisfied by accessing storage disk 110. Thus, float timer expiration 311 takes effect when the float timer exceeds the predetermined time period described above, and disk drive 100 changes to intermediate power consumption state 320. In some embodiments, any read or write commands satisfied by accessing storage disk 110 resets the float timer to zero, and in other embodiments, only read or write commands that are both satisfied by accessing storage disk 110 and that are received from host 10 reset the float timer to zero.
  • It is noted that commands (either received by disk drive 100 from host 10 or initiated by disk drive 100 itself) that are satisfied without accessing storage disk 110 do not reset the above-described float timer. Consequently, even though read and/or write commands are frequently received by disk drive 100 from host 10 and/or initiated by disk drive 100, portions of disk drive 100 associated with storage disk 110 can be changed from active servo state 310 to intermediate power consumption state 320 when said commands are satisfied by accessing RAM 134 and/or flash memory device 135 but not storage disk 110.
  • When standby transition 312 occurs, disk drive 100 changes from a current energy consumption state to standby state 340, in which disk drive 100 spins down storage disk 110, read/write head 127 is parked, and disk drive 100 expends essentially no energy on mechanical operations. Standby transition 312 may occur when disk drive 100 is in one of several power states, including active servo state 310, intermediate power consumption state 320, and park state 330. In some embodiments, standby transition 312 can be configured to take effect when either one of two conditions are met: 1) no commands from host 10 are satisfied by accessing storage disk 110 for more than a predetermined period of time, and 2) when a “standby” command is received from host 10. In other embodiments, standby transition 312 can be configured to take effect when: 1) no commands from host 10 or initiated by disk drive 100 are satisfied by accessing storage disk 110 for more than a predetermined period of time, and 2) when a “standby” command is received from host 10.
  • Generally, the predetermined period of time associated with standby transition 312 is substantially longer than that associated with float timer expiration 311. For example, a typical duration of time associated with initiating standby transition 312 can be on the order of several minutes rather than milliseconds. In some embodiments, a standby timer is started when a command is satisfied by accessing storage disk 110, and the standby timer is reset to zero and restarted when a command is next satisfied by accessing storage disk 110. In other embodiments, the standby timer is started when a command received from host 10 is satisfied by accessing storage disk 110, while a command that is initiated by disk drive 110 and is satisfied by accessing storage disk 110 does not reset the standby timer to zero.
  • When standby transition 312 occurs, i.e., when the standby timer exceeds the predetermined time period described above, disk drive 100 changes to standby state 340. In some embodiments, commands that are 1) received by disk drive 100 from host 10 or initiated by disk drive 100 itself, and 2) are satisfied without accessing storage disk 110, do not generally reset the herein-described standby timer.
  • Sleep command 313, when received from host 10, causes disk drive 100 to change from a current power state to sleep state 340. Sleep command 313 may occur when disk drive 100 is in one of several power states, including active servo state 310, intermediate power consumption state 320, and park state 330.
  • Intermediate power consumption state 320, in which the servo system of disk drive 100 is not used to provide continuous position control of read/write head 127, uses less power than active servo state 310 and more power than park state 330. For example, in some embodiments, microprocessor-based controller 133 may apply a predetermined constant bias to voice coil motor 128 to hold read/write head 127 in place, thereby “floating” read/write head 127 rather than actively servoing the position of read/write head 127. In alternative embodiments, a low-frequency servo mode may be used in intermediate power consumption state 320, in which limited servo control is used to position read/write head 127 in an approximate location. For example, the servo system of disk drive 100 may be activated for a single or a relatively small number of samples for each revolution of storage disk 110, so that the position of read/write head 127 is approximately known without the relatively high energy cost associated with constantly servoing read/write head 127 over a particular data storage track of storage disk 110.
  • While using less energy than active servo state 310, intermediate power consumption state 320 allows relatively fast response to read or write commands that involve accessing storage disk 110. For example, when disk drive 100 is in intermediate power consumption state 320 and receives a read or write command, seeking to a desired location on storage disk 110 in response to said command can be completed in a few milliseconds to a few tens of milliseconds. In contrast, when disk drive is in park state 320, seeking to a desired location on storage disk 110 in response to said command generally requires a few hundred milliseconds. In some embodiments, disk drive 100 changes from intermediate power consumption state 320 to a lower power consumption state when one or more conditions are met. As shown in FIG. 3, these conditions may include one or more of: standby transition 312, sleep command 313 (both described above) and park timer expiration 321.
  • When park timer expiration 321 occurs, disk drive 100 changes from intermediate power consumption state 320 to park state 330. In park state 330, storage disk 110 continues to spin at the normal rotational velocity, but read/write head 127 is parked to reduce aerodynamic resistance to spinning the data storage disk. In this way, current required for the rotation of storage disk 110 is reduced. Furthermore, in park state 330, read/write head 127 is protected from mechanical shock experienced by disk drive 100. Park timer expiration 321 can be configured to take effect when no commands are satisfied by accessing storage disk 110 for more than a predetermined period of time. Alternatively, park timer expiration 321 can be configured to take effect when no commands from host 10 are satisfied by accessing storage disk 110 for more than a predetermined period of time.
  • Generally, the predetermined period of time associated with park timer expiration 321 is substantially longer than that associated with float timer expiration 311. For example, a typical duration of time associated with park timer expiration 321 can be on the order of several minutes rather than the milliseconds associated with float timer expiration 311. In some embodiments, a park timer is started when a command is satisfied by accessing storage disk 110, and the park timer is reset to zero and restarted when a command is satisfied by accessing storage disk 110. When park timer expiration 321 occurs, i.e., when the park timer exceeds the predetermined time period described above, disk drive 100 changes to park state 330. It is noted that commands that are satisfied without accessing storage disk 110 do not generally reset the herein-described park timer. Said commands can be either received by disk drive 100 from host 10 or initiated by disk drive 100 itself, such as when controller 133 determines that data stored in flash memory device 135 should be written on data storage disk 110.
  • In addition to changing to a lower power consumption state when certain events occur, e.g., float timer expiration 311, standby transition 312, sleep command 313, and park timer expiration 321, disk drive 100 may also change to a higher power consumption state when certain events occur. Specifically, when active servo transition 341 occurs, disk drive 100 may be configured to change to active servo state 310, as shown in FIG. 3. In some embodiments, active servo transition 341 takes place when a read or write command is satisfied by accessing storage disk 110. For example, if a current version of the data associated with a read command from host 10 is not stored in RAM 134 or flash memory 135, storage disk 110 is accessed by microprocessor-based controller 133 to satisfy said read command. Thus, even when disk drive 100 is in a low power consumption state, such as standby state 340 or park state 330, disk drive 100 changes to active servo state 310 so that storage disk 110 can be accessed to satisfy the command received from host 10.
  • In some embodiments, disk drive 100 may change to active servo state 310 in response to data being flushed to storage disk 110 from flash memory device 135. For example, when disk drive 100 is configured as a hybrid drive, a portion of flash memory device 135 may be used to store “dirty” data, which are data that are only stored in flash memory device 135 and are not also stored on storage disk 110. Furthermore, disk drive 100 may also be configured to maintain a predetermined maximum threshold for the portion of flash memory device 135 used to store dirty data. When said maximum threshold is exceeded, disk drive 100 generally “flushes” excess dirty data to storage disk 110, i.e., disk drive 100 writes a corresponding copy of the excess dirty data on storage disk 110, and flags the copied data in flash memory device 135 as “non-dirty” data. Thus, in some situations, disk drive 100 may flush dirty data to storage disk 110, even though disk drive 100 is in intermediate power consumption state 320, park state 330, or standby state 340. In such situations, disk drive 100 changes to active servo state 310 so that the data flushing process can be performed. For example, after disk drive 100 changes to a lower power consumption state as a result of float timer expiration 311, standby transition 312, sleep command 313, or park timer expiration 321, host 10 may then send write commands to disk drive 100. Ordinarily, disk drive 100 may accept write data directly into flash memory device 135 to prevent activating the portions of disk drive 100 associated with storage disk 110. However, if flash memory device 135 is full or already stores the maximum allowable quantity of dirty data, microprocessor-based controller 133 will change the power state of disk drive 100 to active servo state 310 and begin to copy dirty data in flash memory device 135 to storage disk 110.
  • In some embodiments, storage disk 110 may be accessed as a result of other activities besides in response to commands from host 10. Advantageously, in such embodiments, timers for measuring time elapsed since storage disk 110 was last accessed in response to a host command may not be affected when storage disk 110 is accessed as a result of said non-host related activities. For example, dirty data being flushed from flash memory device 135 or RAM 134 may be considered such non-host related activities.
  • FIG. 4 sets forth a flowchart of method steps for power management in a data storage device that includes a magnetic storage device, according to one or more embodiments. Although the method steps are described in conjunction with disk drive 100 in FIGS. 1 and 2, persons skilled in the art will understand that method 400 may be performed with other types of data storage systems. The control algorithms for method 400 may reside in and/or be performed by microprocessor-based controller 133, host 10, or any other suitable control circuit or system. For clarity, method 400 is described in terms of microprocessor-based controller 133 performing steps 410-450.
  • As shown, method 400 begins at step 410, where microprocessor-based controller 133 or other suitable control circuit or system receives a command that requires access to storage disk 110. For example, the command received in step 410 may be a read command when the only up-to-date version of data associated with the read command is stored on storage disk 110. In another example, the command received in step 410 may be a write command, where insufficient storage space is available in flash memory device 135 and/or RAM 134 for storing the data associated with the write command. In yet another example, the command received in step 410 may be a flush-cache command from host 10 requesting that disk drive 100 flush some or all dirty data in flash memory device 135 and/or RAM 134 to storage disk 110. In yet another example, the command received in step 410 may be a write command initiated by disk drive 100 itself, such as when flash memory device 135 stores equal to or greater than a maximum desired quantity of dirty data.
  • In step 420, microprocessor-based controller 133 controls access to storage disk 110 in response to the command received in step 410. In step 420, data are written to and/or read from storage disk 110 to satisfy the command received in step 410.
  • In step 430, microprocessor-based controller 133 starts a timer function or other technically feasible time measurement technique in response to storage disk 110 being accessed in step 420. Generally, the timer function is started upon completion of access to storage device 110 in step 420, but in some embodiments may be started in conjunction with said access.
  • In step 440, microprocessor-based controller 133 checks the time interval measured by the timer function started in step 430. In some embodiments, step 440 is performed periodically, for example every 10 milliseconds. When the time interval measured by said timer function exceeds a predetermined value, i.e., a desired time interval has elapsed, method 400 proceeds to step 441. When the time interval measured by said timer function does not exceed the predetermined value, i.e., the desired time interval has not yet elapsed, method 400 proceeds to step 450.
  • According to various embodiments, the time interval in question is associated with one of the power state transitions to a lower power consumption state, as described above in conjunction with FIG. 3. Specifically, in some embodiments, the time interval referenced in step 440 is the time associated with float timer expiration 311, and may therefore be on the order of 10s to 100s of milliseconds in duration. In other embodiments, the time interval referenced in step 440 is the time associated with standby transition 312, and may therefore be on the order of a few minutes, to 10s of minutes in duration, and in some instances may be defined by host 10. In yet other embodiments, the time interval referenced in step 440 is the time associated with park timer expiration 321, and may therefore be on the order of a few minutes or longer in duration.
  • In step 441, microprocessor-based controller 133 changes the power state of disk drive 100 from the current power state, e.g., active servo state 310, to a desired lower power consumption state, such as intermediate power consumption state 320, park state 330, or standby state 340. In some embodiments, in step 441 additional power management processes described herein may be initiated, such as checking for a condition causing disk drive 110 to change to an even lower energy consumption state, such as standby state 340. In such embodiments, the condition may be an elapsed time since storage disk 110 has been accessed in order to satisfy a command. For clarity, blocks illustrating such an additional power management process are omitted from FIG. 4.
  • In some embodiments, during the course of method 400 disk drive 100 may be changed to standby state 340 in response to a standby command from host 10. In such embodiments, when a standby command is received by microprocessor-based controller 133 from host 10, microprocessor-based controller 133 terminates method 400 and immediately changes disk drive 10 to standby state 340.
  • In step 450, microprocessor-based controller 133 determines whether access to storage disk 110 has been requested in order to satisfy a command received since step 420. If such a request has been received by microprocessor-based controller 133, method 400 proceeds back to step 420, where said command is satisfied by accessing storage disk 110. If such a request has not been received by microprocessor-based controller 133 since step 420, method 400 proceeds back to step 440, as shown in FIG. 4.
  • It is noted that in step 450, one or more commands may be received by disk drive 100 since step 420 without resetting the timer function started in step 430, as long as storage disk 110 is not accessed in response to said host commands. For example, read or write commands from host 10 that are satisfied using RAM 134 and/or flash memory device 135 do not reset the timer function in step 401. Similarly, in some embodiments, flushing of dirty data from flash memory device 135 to storage disk 110, when performed internally as a non-host related activity by disk drive 100, does not reset said timer function. In other embodiments, flushing of dirty data from flash memory device 135 to storage disk 110, when performed internally as a non-host related activity by disk drive 100, resets the some timer functions (e.g., a float timer for float timer expiration 311 or a park timer for park timer expiration 321), but not for others (e.g., a standby timer for standby transition 312). Furthermore, it is noted that method 400 may be used to change disk drive 100 to any of the power states associated with disk drive 100 that are lower in power consumption than active servo state 310, including intermediate power consumption state 320, park state 330, and standby state 340.
  • While various embodiments described herein are in terms of a hard disk drive, embodiments also include data storage devices that include a data storage disk, such as an optical disk drive, etc.
  • In sum, embodiments described herein provide systems and methods for power management in a data storage device. The data storage device selects one or more power states of the magnetic storage device based on a time interval during which the magnetic storage device is not accessed in response to a host command. Consequently, the magnetic storage device can be advantageously changed to a lower power consumption state even though the data storage device is actively serving a host device.
  • While the foregoing is directed to specific embodiments, other and further embodiments may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.

Claims (20)

We claim:
1. A method of power management in a data storage device that includes a magnetic storage device, the method comprising:
measuring a time interval since a most recent time data has been read from or written to the magnetic storage device; and
in response to the time interval exceeding a predetermined value, changing a current power consumption state of the magnetic storage device to a lower power consumption state.
2. The method of claim 1, wherein the time interval measured is a time interval since a most recent time data has been read from or written to the magnetic storage device to satisfy a host command.
3. The method of claim 2, wherein the current power consumption state comprises an active servo state and the lower power consumption state comprises an intermediate power consumption state that uses less power than the active servo state and more power than a parked state.
4. The method of claim 3, wherein the intermediate power consumption state comprises a float state in which a servo system of the magnetic storage device is not used to provide continuous position control of a read/write head of the magnetic storage device.
5. The method of claim 3, wherein the intermediate power consumption state comprises a low-frequency servo state in which a servo system of the magnetic storage device provides position control of a read/write head of the magnetic storage device using no more than a portion of the servo wedges on a storage disk of the magnetic storage device.
6. The method of claim 1, wherein the current power consumption state comprises an intermediate power consumption state that uses less power than the active servo state and more power than a parked state.
7. The method of claim 6, wherein the lower power consumption state comprises one of a standby state in which a storage disk of the magnetic storage device is not spinning and a parked state in which a read/write head of the magnetic storage device is parked.
8. The method of claim 1, wherein the current power consumption state comprises a parked state in which a read/write head of the magnetic storage device is parked.
9. The method of claim 8, wherein the lower power consumption state comprises a standby state in which a storage disk of the magnetic storage device is not spinning.
10. The method of claim 1, further comprising, during the time interval in which the magnetic storage device is not accessed:
receiving one or more commands; and
satisfying the one or more commands using at least one of a volatile solid-state memory of the data storage device and a non-volatile solid-state memory device of the data storage device.
11. A data storage device, comprising:
a magnetic storage device; and
a controller configured to:
measure a time interval since a most recent time data has been read from or written to the magnetic storage device; and
in response to the time interval exceeding a predetermined value, change a current power consumption state of the magnetic storage device to a lower power consumption state.
12. The data storage device of claim 11, wherein the time interval measured is a time interval since a most recent time data has been read from or written to the magnetic storage device to satisfy a host command.
13. The data storage device of claim 12, wherein the current power consumption state comprises an active servo state and the lower power consumption state comprises an intermediate power consumption state that uses less power than the active servo state and more power than a parked state.
14. The data storage device of claim 11, wherein the current power consumption state comprises an intermediate power consumption state that uses less power than the active servo state and more power than a parked state.
15. The data storage device of claim 14, wherein the lower power consumption state comprises one of a standby state in which a storage disk of the magnetic storage device is not spinning and a parked state in which a read/write head of the magnetic storage device is parked.
16. The data storage device of claim 11, wherein the current power consumption state comprises a parked state in which a read/write head of the magnetic storage device is parked.
17. The data storage device of claim 16, wherein the lower power consumption state comprises a standby state in which a storage disk of the magnetic storage device is not spinning.
18. The data storage device of claim 11, wherein the controller is further configured to, during the time interval in which the magnetic storage device is not accessed:
receive one or more commands; and
satisfy the one or more commands using one of a volatile solid-state memory of the data storage device, a non-volatile solid-state memory device of the data storage device, and a combination of both.
19. A data storage device, comprising:
a magnetic storage device;
a non-volatile solid-state device; and
a controller configured to:
determine that a portion of the non-volatile solid-state device used to store data that are not also stored on the magnetic storage device is greater than a predetermined value;
change a power state of the magnetic storage device from an initial power state to an active servo state, the initial power state being a lower power state than the active servo state; and
control the writing to the magnetic storage device of at least a portion of the data that are not also stored on the magnetic storage device.
20. The data storage device of claim 19, wherein the controller is further configured to, while the magnetic storage device is at the initial power state, control the writing of data from a host device to the non-volatile solid-state device.
US13/788,502 2013-03-07 2013-03-07 Power state change in disk drive based on disk access history Abandoned US20140258745A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/788,502 US20140258745A1 (en) 2013-03-07 2013-03-07 Power state change in disk drive based on disk access history
JP2014000299A JP2014175036A (en) 2013-03-07 2014-01-06 Data storage device and method
US15/172,072 US9940051B2 (en) 2013-03-07 2016-06-02 Power state change in disk drive based on disk access history

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/788,502 US20140258745A1 (en) 2013-03-07 2013-03-07 Power state change in disk drive based on disk access history

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/172,072 Division US9940051B2 (en) 2013-03-07 2016-06-02 Power state change in disk drive based on disk access history

Publications (1)

Publication Number Publication Date
US20140258745A1 true US20140258745A1 (en) 2014-09-11

Family

ID=51489404

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/788,502 Abandoned US20140258745A1 (en) 2013-03-07 2013-03-07 Power state change in disk drive based on disk access history
US15/172,072 Active US9940051B2 (en) 2013-03-07 2016-06-02 Power state change in disk drive based on disk access history

Family Applications After (1)

Application Number Title Priority Date Filing Date
US15/172,072 Active US9940051B2 (en) 2013-03-07 2016-06-02 Power state change in disk drive based on disk access history

Country Status (2)

Country Link
US (2) US20140258745A1 (en)
JP (1) JP2014175036A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160266638A1 (en) * 2015-03-10 2016-09-15 Kabushiki Kaisha Toshiba Memory system, method of controlling memory system having volatile memory and nonvolatile memory, and controller
US20160274648A1 (en) * 2015-03-19 2016-09-22 Phison Electronics Corp. Method of enabling sleep mode, memory control circuit unit and storage apparatus
CN109303454A (en) * 2017-07-28 2019-02-05 芜湖美的厨卫电器制造有限公司 Awakening method, device and the Intelligent water cup of Intelligent water cup system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680046B (en) * 2020-08-12 2020-10-30 国网浙江省电力有限公司营销服务中心 Fast storage method for high-frequency power data

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682273A (en) * 1995-06-30 1997-10-28 International Business Machines Corporation Disk drive for portable computer with adaptive demand-driven power management
US6385000B1 (en) * 1998-08-21 2002-05-07 International Business Machines Corporation System and method for extending the operating life of a magnetoresistive transducer provided in a disk drive system
US20050289368A1 (en) * 2004-06-29 2005-12-29 Lai Kein Chang Power management device and method
US20080130156A1 (en) * 2006-09-13 2008-06-05 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory for storage of failure-related data
US20090059414A1 (en) * 2007-09-05 2009-03-05 Samsung Electronics Co., Ltd. Hard disk drive with power saving feature
US20090231751A1 (en) * 2008-03-12 2009-09-17 Kabushiki Kaisha Toshiba Method and apparatus for servo control associated with rotational speed of disk in disk drive
US20100195463A1 (en) * 2009-01-30 2010-08-05 Takehiko Kurashige Storage device and information processing apparatus
US20110172000A1 (en) * 1999-08-31 2011-07-14 Broadcom Corporation Latency Reduction In A Low Power Mode

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872669A (en) 1988-03-01 1999-02-16 Seagate Technology, Inc. Disk drive apparatus with power conservation capability
US4933785A (en) 1988-03-01 1990-06-12 Prairietek Corporation Disk drive apparatus using dynamic loading/unloading
JPH07302473A (en) * 1994-05-09 1995-11-14 Fujitsu Ltd Storage device and recording/reproducing system
JPH08190703A (en) * 1995-01-09 1996-07-23 Hitachi Ltd Magnetic disk device and control method
US5787292A (en) * 1996-04-01 1998-07-28 International Business Machines Corporation Power saving method and apparatus for use in multiple frequency zone drives
JP4078010B2 (en) 2000-03-03 2008-04-23 株式会社日立グローバルストレージテクノロジーズ Magnetic disk apparatus and information recording method
US6556371B1 (en) * 2000-06-21 2003-04-29 International Business Machines Corporation Generation of higher-order harmonic sine and cosine sequences by indexing a first-order sine/cosine table
US6898170B2 (en) * 2001-01-25 2005-05-24 Dphi Acquisitions, Inc. PMAD/PSA digital feedback system
KR100457140B1 (en) * 2002-03-16 2004-11-16 주식회사 레인콤 Method and system for controlling disk servo
US7426647B2 (en) 2003-09-18 2008-09-16 Vulcan Portals Inc. Low power media player for an electronic device
JP2005160292A (en) * 2003-10-31 2005-06-16 Fujitsu Ltd Switch changing drive motor apparatus and magnetic disk apparatus, and method for reducing electromagnetic sound of switch changing drive motor apparatus and method for reducing electromagnetic sound of magnetic disk apparatus
US20050174678A1 (en) * 2003-12-24 2005-08-11 Matsushita Electric Industrial Co., Ltd Stepping power consumption levels in a hard disk drive to maximize performance while minimizing power consumption
US7334082B2 (en) 2003-12-30 2008-02-19 Intel Corporation Method and system to change a power state of a hard drive
DE602005006170T2 (en) 2004-02-19 2009-06-18 Samsung Electronics Co., Ltd., Suwon Method to control idle disk drives and apparatus therefor
US20060075185A1 (en) 2004-10-06 2006-04-06 Dell Products L.P. Method for caching data and power conservation in an information handling system
US7542225B1 (en) * 2006-11-17 2009-06-02 Western Digital Technologies, Inc. Disk drive idle mode responsive to flex circuit cable bias changes
US20120042182A1 (en) * 2010-08-10 2012-02-16 Seagate Technology Llc Forced idle cache

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682273A (en) * 1995-06-30 1997-10-28 International Business Machines Corporation Disk drive for portable computer with adaptive demand-driven power management
US6385000B1 (en) * 1998-08-21 2002-05-07 International Business Machines Corporation System and method for extending the operating life of a magnetoresistive transducer provided in a disk drive system
US20110172000A1 (en) * 1999-08-31 2011-07-14 Broadcom Corporation Latency Reduction In A Low Power Mode
US20050289368A1 (en) * 2004-06-29 2005-12-29 Lai Kein Chang Power management device and method
US20080130156A1 (en) * 2006-09-13 2008-06-05 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory for storage of failure-related data
US20090059414A1 (en) * 2007-09-05 2009-03-05 Samsung Electronics Co., Ltd. Hard disk drive with power saving feature
US20090231751A1 (en) * 2008-03-12 2009-09-17 Kabushiki Kaisha Toshiba Method and apparatus for servo control associated with rotational speed of disk in disk drive
US20100195463A1 (en) * 2009-01-30 2010-08-05 Takehiko Kurashige Storage device and information processing apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160266638A1 (en) * 2015-03-10 2016-09-15 Kabushiki Kaisha Toshiba Memory system, method of controlling memory system having volatile memory and nonvolatile memory, and controller
US9568987B2 (en) * 2015-03-10 2017-02-14 Kabushiki Kaisha Toshiba Memory system, method of controlling memory system having volatile memory and nonvolatile memory, and controller
US20160274648A1 (en) * 2015-03-19 2016-09-22 Phison Electronics Corp. Method of enabling sleep mode, memory control circuit unit and storage apparatus
US10191533B2 (en) * 2015-03-19 2019-01-29 Phison Electronics Corp. Method of enabling sleep mode, memory control circuit unit and storage apparatus
CN109303454A (en) * 2017-07-28 2019-02-05 芜湖美的厨卫电器制造有限公司 Awakening method, device and the Intelligent water cup of Intelligent water cup system

Also Published As

Publication number Publication date
US9940051B2 (en) 2018-04-10
US20160283155A1 (en) 2016-09-29
JP2014175036A (en) 2014-09-22

Similar Documents

Publication Publication Date Title
US8924641B2 (en) Selectively depowering portion of a controller to facilitate hard disk drive safeguard operations
US7411757B2 (en) Disk drive with nonvolatile memory having multiple modes of operation
US9396755B2 (en) Temperature-defined data-storage policy for a hybrid disk drive
US9141176B1 (en) Power management for data storage device
US9129628B1 (en) Data management for data storage device with different track density regions
US9152568B1 (en) Environmental-based device operation
US8433937B1 (en) Automated transitions power modes while continuously powering a power controller and powering down a media controller for at least one of the power modes
US20140237164A1 (en) Hybrid drive that implements a deferred trim list
US9940051B2 (en) Power state change in disk drive based on disk access history
EP1901303A2 (en) Disk drive with nonvolatile memory for storage of failure-related data
US7840753B1 (en) Hard disk drive as hybrid drive
US8982499B1 (en) Timing of power state change in a disk drive based on disk access history
US9459802B1 (en) Hybrid-HDD that limits dirty data in NAND
US20120042182A1 (en) Forced idle cache
US9965181B2 (en) Hybrid-HDD with multiple caching modes
US20170109081A1 (en) Storage device and data processing method
US9323467B2 (en) Data storage device startup
US20140250272A1 (en) System and method for fetching data during reads in a data storage device
US8917471B1 (en) Power management for data storage device
US8259407B1 (en) Speed control systems and methods for decreasing power consumption in rotating storage devices
US9785563B1 (en) Read command processing for data storage system based on previous writes
US20140068178A1 (en) Write performance optimized format for a hybrid drive
US9123382B1 (en) Non-volatile caching for sequence of data
JP2014164792A (en) Data storage device and data storage method

Legal Events

Date Code Title Description
AS Assignment

Owner name: KABUSHIKI KAISHA TOSHIBA, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:EHRLICH, RICHARD M.;DUNN, ERIC R.;TCHEN, DANIEL;AND OTHERS;REEL/FRAME:029943/0069

Effective date: 20130307

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE