US20150055243A1 - Timing of power state change in a disk drive based on disk access history - Google Patents
Timing of power state change in a disk drive based on disk access history Download PDFInfo
- Publication number
- US20150055243A1 US20150055243A1 US13/975,207 US201313975207A US2015055243A1 US 20150055243 A1 US20150055243 A1 US 20150055243A1 US 201313975207 A US201313975207 A US 201313975207A US 2015055243 A1 US2015055243 A1 US 2015055243A1
- Authority
- US
- United States
- Prior art keywords
- storage device
- time period
- magnetic storage
- state
- length
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/012—Recording on, or reproducing or erasing from, magnetic disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/02—Control of operating function, e.g. switching from recording to reproducing
- G11B19/06—Control of operating function, e.g. switching from recording to reproducing by counting or timing of machine operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/20—Driving; Starting; Stopping; Control thereof
- G11B19/2063—Spindle motor power-down sequences
- G11B19/2072—Spindle motor power-down sequences for the reduction of power consumption during idle time
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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.
- a disk drive may stop servoing a read/write head over a data storage disk when the disk drive is idle for a predetermined period of time and “float” all read/write heads until a data storage disk is accessed. In this way, aerodynamic drag may be reduced on the rotating disk as well as the energy required to actively control read/write head position.
- Embodiments provide systems and methods of power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device.
- the data storage device measures a hit rate of read and/or write commands (referred to herein as “read/write commands”) that result in accesses to the nonvolatile storage device and adjusts a length of a time period based on the hit rate.
- the time period may be an idle time that occurs before the data magnetic storage device changes to a lower power consumption state, and the duration of the time period may be set each time the magnetic storage device is accessed.
- the magnetic storage device Upon expiration of the time period, if the magnetic storage device has not yet been accessed during that time period, the magnetic storage device is changed from a higher power consumption state to a lower power consumption state.
- 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 power consumption state of the magnetic storage device at that time.
- a method of power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device comprises setting a time period each time the magnetic storage device is accessed, the magnetic storage device being changed to a lower power consumption state when the time period expires, measuring a number of accesses to the data storage device that are accesses to the nonvolatile storage device, and adjusting a length of the time period based on the measured number of accesses.
- a method of power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device, comprises setting a time period each time the magnetic storage device is accessed, the magnetic storage device being changed to a lower power consumption state when the time period expires, determining whether or not a time that the magnetic storage device is next accessed is within a predetermined time interval after the time period expires, and adjusting the length of the time period based on whether or not the time the magnetic storage device is next accessed is within the predetermined time interval.
- a data storage device comprises a magnetic storage device, a nonvolatile storage device, and a controller.
- the controller is configured to set a time period each time the magnetic storage device is accessed, the magnetic storage device being changed to a lower power consumption state when the time period expires.
- the controller is further configured to measure a number of accesses to the data storage device that are accesses to the nonvolatile storage device, and adjust a length of the time period based on the measured number of accesses.
- FIG. 1 is a schematic view of an exemplary hybrid drive, according to one embodiment.
- FIG. 2 illustrates an operational diagram of a hybrid drive with elements of electronic circuits shown configured according to one embodiment.
- FIG. 3 illustrates a power-state diagram of the hybrid drive of FIG. 1 .
- FIG. 4 is a timeline illustrating how a hit rate of commands to a flash memory device can be used to adjust a predetermined time period indicating when the hybrid drive of FIG. 1 changes to a lower power consumption state.
- FIG. 5 sets forth a flowchart of steps of a method for power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device, according to one or more embodiments.
- FIG. 6 sets forth a flowchart of steps of another method for power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device, according to one or more embodiments.
- FIG. 1 is a schematic view of an exemplary hybrid disk drive, according to one embodiment.
- Hybrid 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 controlled by 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 .
- hybrid 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 .
- hybrid drive 100 is illustrated with a single storage disk 110 and a single actuator arm assembly 120 .
- Hybrid 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.
- Hybrid drive 100 is configured as a hybrid drive, in which nonvolatile data storage may be performed using storage disk 110 and/or flash memory device 135 .
- nonvolatile memory such as flash memory device 135
- 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.
- flash memory device 135 is a nonvolatile storage medium, such as a NAND flash chip, that can be electrically erased and reprogrammed, and is sized to supplement storage disk 110 in hybrid drive 100 as a nonvolatile 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 hybrid drive 100 with elements of electronic circuits 130 shown configured according to one embodiment.
- hybrid 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 .
- Hybrid 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 hybrid 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 one or more microcontrollers such as ARM microprocessors, a hybrid drive controller, and any control circuitry within hybrid 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
- hybrid drive 100 may be configured with different data interfaces and buses that illustrated in FIG. 2 .
- 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.
- 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.
- actuator arm assembly 120 when read or write commands are exclusively satisfied using RAM 134 and/or flash memory device 135 for a predetermined time period, 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.
- one or more predetermined time periods which are associated with a magnetic data storage device of a hybrid drive, are adjusted in duration based at least in part on “hit rate” of read/write commands that result in accesses to a nonvolatile storage device of the hybrid drive.
- hit rate of read/write commands that result in accesses to a nonvolatile storage device of the hybrid drive.
- the one or more predetermined time periods are reduced in length.
- the magnetic data storage device of the hybrid drive is accessed less frequently, the magnetic storage device is changed to one or more lower power consumption states sooner. This adjustment is made because, when extrapolating based on previous behavior of the hybrid drive, the likelihood of future accesses to the magnetic data storage device is lower. Consequently, energy can be saved by changing the magnetic data storage device to the lower power consumption state more quickly.
- FIG. 3 illustrates a power-state diagram 300 for hybrid drive 100 that includes multiple power states and power state transitions of hybrid 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 host soft reset 314 , a park timer expiration 321 , and an active servo transition 341 .
- float timer expiration 311 , standby transition 312 , and park timer expiration 321 each occur based on predetermined time periods (a float timer, a standby timer, and a park timer, respectively) that may be adjusted based on disk access history of storage disk 110 .
- Disk access history may include a hit rate of read/write commands that result in accesses to storage disk 110 and/or events in which an energy cost associated with hybrid drive 100 returning to an active servo state from a lower power consumption state exceeds energy saved while hybrid drive 100 was in the lower power consumption state. While the elements of power-state diagram 300 are described in terms of hybrid drive 100 , it should be recognized that power-state diagram 300 is applicable to any suitable data storage device that includes a magnetic storage disk and a nonvolatile data storage device.
- Active servo state 310 represents normal operation of hybrid drive 100 to facilitate the execution of read/write commands, either from host 10 or initiated by hybrid drive 100 itself.
- active servo state 310 the servo system of hybrid 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 .
- hybrid drive 100 may be in active servo state 310 when read or write commands are not being serviced by hybrid drive 100 .
- hybrid 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 can be configured to take effect when no commands are satisfied by accessing storage disk 110 for more than a predetermined time period, i.e., upon expiration of an adjustable float timer.
- a typical duration for such a predetermined time period may be approximately 50 to 150 milliseconds, and in some embodiments is adjusted in length based on a hit rate of accesses to flash memory device 135 .
- 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 hybrid 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.
- hybrid drive 100 changes from a current energy consumption state to standby state 340 , in which hybrid drive 100 spins down storage disk 110 , read/write head 127 is parked, and hybrid drive 100 expends essentially no energy on mechanical operations.
- Standby transition 312 may occur when hybrid 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) a “standby” command is received from host 10 or 2) no commands from host 10 are satisfied by accessing storage disk 110 for more than a predetermined time period, such as a standby timer, where said time period is adjusted based on a hit rate of accesses to storage disk 110 .
- standby transition 312 can be configured to take effect when: 1) a “standby” command is received from host 10 or 2) no commands, either from host 10 or initiated by hybrid drive 100 , are satisfied by accessing storage disk 110 for more than a predetermined time period (e.g., a standby timer), where said time period is adjusted based on a disk access history of storage disk 110 , described above.
- a predetermined time period e.g., a standby timer
- the predetermined time period 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.
- hybrid drive 100 changes to standby state 340 .
- read/write commands do not generally reset the herein-described standby timer when said commands are 1) initiated by hybrid drive 100 itself, and/or 2) satisfied without accessing storage disk 110 .
- Sleep command 313 when received from host 10 , causes hybrid drive 100 to change from a current power state to sleep state 350 .
- Sleep state 350 is similar to standby state 340 , since hybrid drive 100 spins down storage disk 110 , read/write head 127 is parked, and hybrid drive 100 expends essentially no energy on mechanical operations.
- Sleep state 350 differs from standby state 340 in that hybrid drive 100 leaves sleep state 350 via host soft reset 314 from host 10 or if hybrid drive 100 is powered off and then back on.
- hybrid drive 100 can generally exit standby state 340 when any of a number of commands (including R/W commands) are received from host 10 .
- Sleep command 313 may occur when hybrid 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 hybrid 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 hybrid 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 .
- hybrid drive 100 when hybrid 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.
- hybrid 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.
- these conditions may include one or more of: standby transition 312 , sleep command 313 (both described above), park timer expiration 321 , or an idle-immediate command, in which hybrid drive 100 changes from either active servo state 310 or intermediate power consumption state 320 to park state 330 .
- Park timer expiration 321 When park timer expiration 321 occurs, hybrid 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 hybrid 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 time period, such as a park timer.
- 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 time period, e.g., a park timer.
- a park timer or other predetermined time period associated with initiating park state 330 is adjusted during operation of hybrid drive based on disk access history of storage disk 110 .
- the predetermined time period 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 seconds 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, hybrid 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 hybrid drive 100 from host 10 or initiated by hybrid drive 100 itself, such as when microprocessor-based controller 133 determines that data stored in flash memory device 135 should be written on data storage disk 110 .
- hybrid drive 100 may also change to a higher power consumption state when certain events occur. Specifically, when active servo transition 341 occurs, hybrid 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 .
- hybrid drive 100 changes to active servo state 310 so that storage disk 110 can be accessed to satisfy the command received from host 10 .
- hybrid 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 .
- hybrid 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.
- hybrid drive 100 when said maximum threshold is exceeded, hybrid drive 100 generally “flushes” excess dirty data to storage disk 110 , i.e., hybrid 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.
- hybrid drive 100 may flush dirty data to storage disk 110 , even though hybrid drive 100 is in intermediate power consumption state 320 , park state 330 , or standby state 340 . In such situations, hybrid drive 100 changes to active servo state 310 so that the data flushing process can be performed.
- hybrid drive 100 may then send write commands to hybrid drive 100 .
- hybrid drive 100 may accept write data directly into flash memory device 135 to prevent activating the portions of hybrid 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 can change the power state of hybrid 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 reset 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 is a timeline 400 illustrating how a hit rate of commands resulting in accessing flash memory device 135 can be used to adjust a predetermined time period, where the predetermined time period indicates when a magnetic data storage device in a hybrid drive changes to a lower power consumption state.
- Timeline 400 shows a predetermined time period 401 and a break-even time interval 402 .
- Predetermined time period 401 may represent any timer or time threshold associated with a hybrid drive that, upon expiration, causes a magnetic data storage device in the hybrid drive to change to a lower power consumption state, such as a float timer, a standby timer, or a park timer.
- Break-even time interval 402 is used as a metric for determining whether or not a magnetic data storage device has remained in a lower power consumption state for a sufficient length of time to justify the time and/or energy cost associated with returning to an active servo state from the lower power consumption state.
- predetermined time period 401 is considered too short and can be adjusted accordingly in some embodiments.
- predetermined time period 401 is considered too long and can be adjusted accordingly in some embodiments.
- storage disk 110 of hybrid drive 100 is accessed at time 431 , and a timer associated with predetermined time period 401 is reset to zero. As shown, predetermined time period 401 expires at time 432 . If storage disk 110 is accessed prior to the expiration of predetermined time period 401 , for example at time 433 , the timer associated with predetermined time period 401 is reset to zero. In other words, predetermined time period 401 is shifted along timeline 400 until starting at time 433 . If storage disk 110 is not accessed prior to the expiration of predetermined time period 401 , storage disk 110 and the portions of hybrid drive 100 associated with accessing storage disk 110 are changed to the lower power consumption state. For example, when predetermined time period 401 represents a a park timer, at time 433 hybrid drive 100 enters park state 330 (shown in FIG. 3 ) and read/write head 127 is parked.
- park state 330 shown in FIG. 3
- the length of predetermined time period 401 is adjusted periodically based on disk access history of storage disk 110 . This adjustment may take place at regular intervals, in response to a particular event or events occurring in hybrid drive 100 , or a combination of both. For example, in some embodiments, the adjustment of the length of predetermined time period 401 occurs upon completion of a read or write command that results in storage disk 110 being accessed. In some embodiments, predetermined time period 401 is adjusted based on a hit rate of read/write commands that result in accesses to flash memory device 135 . In other embodiments, predetermined time period 401 is adjusted based at least in part on a recovery time, during which hybrid drive 100 returns to an active servo state from a lower power consumption state. In yet other embodiments, predetermined time period 401 is adjusted based on a combination of said hit rate and said recovery time.
- hit rate is determined by calculating what proportion of read/write commands received by hybrid drive 100 result in accessing flash memory device 135 .
- Such read/write commands are hereinafter referred to as “NAND hits.”
- the proportion of NAND hits relative to total read/write commands received by hybrid drive 100 is tracked for a plurality of groups of read/write commands, and a running average of hit rate is calculated for each group.
- each group includes 100 commands.
- an indicator or flag associated with the command is set to indicate whether the command resulting in flash memory device 135 being accessed rather than storage disk 110 .
- the proportion of NAND hits to the total 100 commands in the group is calculated and stored.
- the hit rate of the most recent 256 groups of commands can then be used to calculate a running average of hit rate.
- This running average of hit rate which in this case is for the 25,600 most recent commands received by hybrid drive 100 , can be used to adjust predetermined time period 401 so that hybrid drive 100 operates in a more energy efficient manner.
- the length of predetermined time period 401 is adjusted by decrementing the length of predetermined time period 401 when a running average (or any other measure of NAND hit rate) of a large number of read and/or write commands exceeds a threshold hit rate value, e.g., 70%, 80%, 90%, etc.
- a threshold hit rate value e.g. 70%, 80%, 90%, etc.
- a park timer may be decreased by a specified length of time, e.g., one second.
- the length of predetermined time period 401 is also adjusted by incrementing the length of predetermined time period 401 by a specified length of time when a running average or other measure of hit rate of read and/or write commands is less than the threshold hit rate value.
- hybrid drive 100 is configured to change to park mode 330 after a longer idle time when the likelihood of storage disk 100 being accessed increases.
- predetermined time period 401 may be increased by a predetermined time increment value or by a variable time increment value, such as a time increment value that is a function of the current hit rate value.
- the length of predetermined time period 401 can be adjusted using hit rate in other ways as well, and is not limited to the running average approach described above.
- the length of predetermined time period 401 can be adjusted using a weighted average of hit rate. For example, when hit rate is calculated for a plurality of groups of commands, e.g., 256 groups, the more recent groups of commands may be weighted to have more effect on the average hit rate value.
- the length of predetermined time period 401 can be adjusted based at least in part on the rate of change of hit rate from the oldest groups of commands to the most recently received groups of commands. In such embodiments, a predictive element is thus introduced into the adjustment of predetermined time period 401 , and is not purely a reaction to past behavior of hybrid drive 100 .
- a threshold hit rate value may be used to determine whether predetermined time period 401 is increased or decreased. Such a threshold hit rate value may be a percentage, a ratio, and the like. Furthermore, a different threshold hit rate may be used for the timer associated with each different power state of hybrid drive 100 . Thus, in some embodiments, a first threshold hit rate is associated with a float timer of hybrid drive 100 , a second threshold hit rate is associated with a park timer of hybrid drive 100 , and a third threshold hit rate is associated with a standby timer of hybrid drive 100 .
- the hit rate of a group of read/write commands, a running average of group hit rate, and other such factors may be calculated at any technically feasible time during operation of hybrid drive 100 .
- these factors may be calculated when hybrid drive 100 is idle or substantially idle.
- these factors may be calculated periodically, or whenever a specific event occurs, such as when hybrid drive 100 completes an access to storage disk 100 .
- microprocessor-based controller 133 performs such calculations, however, in other embodiments, a dedicated logic circuit, firmware, a software construct, or any other technically feasible entity associated with hybrid drive 100 may be configured to perform such calculations.
- predetermined time period 401 is adjusted based at least in part on a recovery time during which hybrid drive 100 returns to an active servo state from a lower power consumption state.
- break-even time interval 402 may be used. Break-even time interval 402 represents a target time interval during which a magnetic data storage device, such as storage disk 110 , remains in a lower power consumption state in order to justify the energy and/or time cost associated with returning to an active servo state from the lower power consumption state.
- the length of break-even time interval 402 is selected such that a quantity of energy saved by the magnetic storage device during break-even time interval 402 at the lower power consumption state is substantially equal to or greater than a quantity of energy used by the magnetic storage device to return to an active servo state.
- the magnetic storage device when the magnetic storage device has changed to a lower power consumption state at the end of predetermined time period 401 (time 432 ), and is accessed after break-even time interval 402 (e.g., at time 435 ), at least as much energy is saved by the magnetic storage device during break-even time interval 402 as is expended by the magnetic storage device in returning to an active servo state.
- predetermined time period 401 when the magnetic storage device is accessed prior to the expiration of break-even time interval 402 (i.e., between time 432 and time 434 ), predetermined time period 401 is considered too short and is adjusted to be longer. In some embodiments, this adjustment includes incrementing the length of predetermined time period 401 by a predetermined time increment or a time increment that is a function of when the magnetic storage device is accessed during break-even time interval 402 . Conversely, when the magnetic storage device is accessed after the expiration of break-even time interval 402 (i.e., after time 434 ), predetermined time period 401 is considered too long and can be adjusted to by decrementing the length of predetermined time period 401 .
- the length of break-even time interval 402 is selected based at least in part on a recovery time during which the magnetic storage device returns to an active servo state from the lower power consumption state. Because such a recovery time can affect quality of user experience, the duration of the recovery time is included as a factor in determining the length of break-even time interval 402 . For example, by changing a magnetic storage device in hybrid drive 100 to a standby state, a user experiences a delay of up to several seconds when the magnetic storage device returns to an active servo state.
- break-even time interval 402 may be selected to be longer than simply a target length of time that the magnetic storage device remains at the lower power consumption state in order to compensate for the energy used to return to an active servo state.
- break-even time interval 402 may have a longer duration to compensate for such effects on user experience by reducing how often the magnetic storage device is changed to a lower power consumption state and then returned to an active state after a short time interval.
- the use of break-even time interval 402 in this way is particularly advantageous when used for a standby timer.
- an initial value for a hit rate or average hit rate is set at startup of hybrid drive 100 . This is because few or no read or write commands have been received by hybrid drive 100 at startup, and therefore the groups of commands used to determine a hit rate or other ratio of NAND hits will otherwise have null values.
- the initial hit rate value may be selected by filling an array used for tracking the hit rate of each group of commands with a seed value. This seed value can be selected to elicit a particular operational behavior from hybrid drive 100 .
- hybrid drive 100 can be configured to be more responsive to user inputs at startup by seeding very low initial hit rate values in the array for tracking the hit rate of each group of commands, thereby generating a long time duration for a float timer, a standby timer, and a park timer.
- hybrid drive 100 generally does not change to a lower power consumption state at startup and remains in a higher performance mode, resulting in a higher quality user experience.
- hybrid drive 100 can be configured to operate in a more power efficient manner upon startup by seeding very high initial hit rate values in the array for tracking the hit rate of each group of commands, thereby generating a short time duration for the float timer, standby timer, and park timer.
- Such a configuration may be advantageous upon startup when hybrid drive 100 is coupled to a host device that is started up with low battery power.
- the configuration of hybrid drive 100 upon startup can be a function of the battery-state at that time, favoring low power-consumption if the battery change is low, and favoring higher performance if the battery charge is high.
- the power-scheme used by the operating system (as selected by a user of the host device) could influence the initial configuration of the hybrid drive 100 .
- FIG. 5 sets forth a flowchart of method steps for power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device, according to one or more embodiments.
- the control algorithms for method 500 may reside in and/or be performed by microprocessor-based controller 133 , host 10 , or any other suitable control circuit or system.
- method 500 is described in terms of microprocessor-based controller 133 performing steps 510 - 530 .
- method 500 begins at step 510 , where microprocessor-based controller 133 or other suitable control circuit or system sets a time period, such as predetermined time period 401 in FIG. 4 .
- predetermined time period 401 begins in step 510 .
- the time period is set each time storage disk 110 is accessed.
- microprocessor-based controller 133 measures a number of accesses to flash memory device 135 , e.g., as a result of hybrid drive 100 receiving read or write commands that do not require access to storage disk 110 .
- the measured number of accesses are used to determine a hit rate value for a plurality of read/write commands most recently received by hybrid drive 100 .
- the hit rate may be a running average of a NAND hit rate over a plurality of groups of read/write commands.
- microprocessor-based controller 133 adjusts a length of predetermined time period 401 based on the measured number of accesses. For example, the length of predetermined time period 401 may be decremented by a predetermined time decrement value when the number of accesses exceeds a threshold value, and the length of predetermined time period 401 may be incremented by a predetermined time decrement value when the number of accesses is less than the threshold value.
- FIG. 6 sets forth a flowchart of method steps for power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device, according to one or more embodiments.
- the control algorithms for method 600 may reside in and/or be performed by microprocessor-based controller 133 , host 10 , or any other suitable control circuit or system.
- method 600 is described in terms of microprocessor-based controller 133 performing steps 610 - 630 .
- method 600 begins at step 610 , where microprocessor-based controller 133 or other suitable control circuit or system sets a time period, such as predetermined time period 401 in FIG. 4 .
- predetermined time period 401 begins in step 610 .
- the time period is set each time storage disk 110 is accessed.
- microprocessor-based controller 133 determines whether or not a time that storage disk 110 is next accessed is within a predetermined time interval, such as break-even time interval 402 , after predetermined time period 401 expires.
- microprocessor-based controller 133 adjusts a length of predetermined time period 401 based on whether or not the time that storage disk 110 is next accessed is within break-even time interval 402 .
- predetermined time period 401 is increased.
- predetermined time period 401 is decreased.
- inventions described herein provide systems and methods for power management in a data storage device.
- the data storage device uses disk access history of the magnetic storage device to adjust a duration of a time period based on the hit rate, where the time period may be an idle time that occurs before the data magnetic storage device changes to a lower power consumption state. Consequently, the magnetic storage device can be advantageously changed to a lower power consumption state in a fashion that adapts to recent behavior of the magnetic storage device.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Digital Magnetic Recording (AREA)
- Power Sources (AREA)
Abstract
Description
- 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 advantageous. Consequently, portable electronic devices typically employ power management systems that reduce disk drive power consumption by changing the disk drive to a lower power state after a period of inactivity. For example, a disk drive may stop servoing a read/write head over a data storage disk when the disk drive is idle for a predetermined period of time and “float” all read/write heads until a data storage disk is accessed. In this way, aerodynamic drag may be reduced on the rotating disk as well as the energy required to actively control read/write head position. However, if a disk access takes place shortly after the drive has changed to this lower power state, recovery from the lower power state may consume more energy than was saved by entering into the lower power state. Furthermore, delay associated with recovering from a lower power state before performing a disk access can significantly degrade user experience when a disk drive shifts to a lower power state prematurely. Consequently, there is a need in the art for systems and methods for timing when changes in the power state of a disk drive should occur.
- Embodiments provide systems and methods of power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device. During operation, the data storage device measures a hit rate of read and/or write commands (referred to herein as “read/write commands”) that result in accesses to the nonvolatile storage device and adjusts a length of a time period based on the hit rate. The time period may be an idle time that occurs before the data magnetic storage device changes to a lower power consumption state, and the duration of the time period may be set each time the magnetic storage device is accessed. Upon expiration of the time period, if the magnetic storage device has not yet been accessed during that time period, the magnetic storage device is changed from a higher power consumption state to a lower power consumption state. For example, upon expiration of the time period, 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 power consumption state of the magnetic storage device at that time.
- A method of power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device, according to one embodiment, comprises setting a time period each time the magnetic storage device is accessed, the magnetic storage device being changed to a lower power consumption state when the time period expires, measuring a number of accesses to the data storage device that are accesses to the nonvolatile storage device, and adjusting a length of the time period based on the measured number of accesses.
- According to another embodiment, a method of power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device, according to one embodiment, comprises setting a time period each time the magnetic storage device is accessed, the magnetic storage device being changed to a lower power consumption state when the time period expires, determining whether or not a time that the magnetic storage device is next accessed is within a predetermined time interval after the time period expires, and adjusting the length of the time period based on whether or not the time the magnetic storage device is next accessed is within the predetermined time interval.
- According to another embodiment, a data storage device comprises a magnetic storage device, a nonvolatile storage device, and a controller. The controller is configured to set a time period each time the magnetic storage device is accessed, the magnetic storage device being changed to a lower power consumption state when the time period expires. The controller is further configured to measure a number of accesses to the data storage device that are accesses to the nonvolatile storage device, and adjust a length of the time period based on the measured number of accesses.
- 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 hybrid drive, according to one embodiment. -
FIG. 2 illustrates an operational diagram of a hybrid drive with elements of electronic circuits shown configured according to one embodiment. -
FIG. 3 illustrates a power-state diagram of the hybrid drive ofFIG. 1 . -
FIG. 4 is a timeline illustrating how a hit rate of commands to a flash memory device can be used to adjust a predetermined time period indicating when the hybrid drive ofFIG. 1 changes to a lower power consumption state. -
FIG. 5 sets forth a flowchart of steps of a method for power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device, according to one or more embodiments. -
FIG. 6 sets forth a flowchart of steps of another method for power management in a data storage device that includes a magnetic storage device and a nonvolatile 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.
-
FIG. 1 is a schematic view of an exemplary hybrid disk drive, according to one embodiment. For clarity,hybrid drive 100 is illustrated without a top cover.Hybrid drive 100 includes at least onestorage disk 110 that is rotated by aspindle motor 114 and includes a plurality of concentric data storage tracks.Spindle motor 114 is mounted on abase plate 116. Anactuator arm assembly 120 is also mounted onbase plate 116, and has aslider 121 mounted on aflexure arm 122 with a read/writehead 127 that reads data from and writes data to the data storage tracks.Flexure arm 122 is attached to anactuator arm 124 that rotates about abearing assembly 126.Voice coil motor 128 movesslider 121 relative tostorage disk 110, thereby positioning read/writehead 127 over the desired concentric data storage track disposed on thesurface 112 ofstorage disk 110.Spindle motor 114, read/writehead 127, andvoice coil motor 128 are controlled byelectronic circuits 130, which are mounted on a printedcircuit board 132.Electronic circuits 130 include a read/writechannel 137, a microprocessor-basedcontroller 133, random-access memory (RAM) 134 (which may be a dynamic RAM and is used as a data buffer), and/or aflash memory device 135 andflash manager device 136. In some embodiments, read/writechannel 137 and microprocessor-basedcontroller 133 are included in a single chip, such as a system-on-chip 131. In some embodiments,hybrid drive 100 may further include a motor-driver chip 125, which accepts commands from microprocessor-basedcontroller 133 and drives bothspindle motor 114 andvoice coil motor 128. - For clarity,
hybrid drive 100 is illustrated with asingle storage disk 110 and a singleactuator arm assembly 120.Hybrid drive 100 may also include multiple storage disks and multiple actuator arm assemblies. In addition, each side ofstorage 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) ofstorage disk 110.Actuator arm assembly 120 accelerates in one angular direction when current is passed in one direction through the voice coil ofvoice coil motor 128 and accelerates in an opposite direction when the current is reversed, thereby allowing control of the position ofactuator arm assembly 120 and attached read/writehead 127 with respect tostorage 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 onstorage disk 110 by read/writehead 127 to determine the position of read/writehead 127 over a specific data storage track. The servo system determines an appropriate current to drive through the voice coil ofvoice coil motor 128, and drives said current using a current driver and associated circuitry. -
Hybrid drive 100 is configured as a hybrid drive, in which nonvolatile data storage may be performed usingstorage disk 110 and/orflash memory device 135. In a hybrid drive, nonvolatile memory, such asflash memory device 135, supplements thespinning 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 nonvolatile storage medium, such as a NAND flash chip, that can be electrically erased and reprogrammed, and is sized to supplementstorage disk 110 inhybrid drive 100 as a nonvolatile storage medium. For example, in some embodiments,flash memory device 135 has data storage capacity that is orders of magnitude larger thanRAM 134, e.g., gigabytes (GB) vs. megabytes (MB). -
FIG. 2 illustrates an operational diagram ofhybrid drive 100 with elements ofelectronic circuits 130 shown configured according to one embodiment. As shown,hybrid drive 100 includesRAM 134,flash memory device 135, aflash manager device 136, system-on-chip 131, and a high-speed data path 138.Hybrid drive 100 is connected to ahost 10, such as a host computer, via ahost interface 20, such as a serial advanced technology attachment (SATA) bus. - In the embodiment illustrated in
FIG. 2 ,flash manager device 136 controls interfacing offlash memory device 135 with high-speed data path 138 and is connected toflash memory device 135 via aNAND interface bus 139. System-on-chip 131 includes microprocessor-basedcontroller 133 and other hardware (including read/write channel 137) for controlling operation ofhybrid drive 100, and is connected toRAM 134 andflash manager device 136 via high-speed data path 138. Microprocessor-basedcontroller 133 is a control unit that may include one or more microcontrollers such as ARM microprocessors, a hybrid drive controller, and any control circuitry withinhybrid 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 other embodiments,hybrid drive 100 may be configured with different data interfaces and buses that illustrated inFIG. 2 . - 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. This is particularly true for disk drives used in battery-powered devices, such as laptop computers. For example, when a data storage device does not receive 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. Thus, in reference to hybrid drive 100 illustrated in
FIGS. 1 and 2 , when read or write commands are exclusively satisfied usingRAM 134 and/orflash memory device 135 for a predetermined time period,actuator arm assembly 120,voice coil motor 128,spindle motor 114, read/write channel 137 and/or microprocessor-basedcontroller 133 may be operated at a lower power consumption state, sincestorage disk 110 is not being accessed. - According to various embodiments, one or more predetermined time periods, which are associated with a magnetic data storage device of a hybrid drive, are adjusted in duration based at least in part on “hit rate” of read/write commands that result in accesses to a nonvolatile storage device of the hybrid drive. In other words, as the proportion of read/write commands that result in accesses to the nonvolatile storage device increases relative to commands that result in magnetic data storage device accesses, the one or more predetermined time periods are reduced in length. Thus, when the magnetic data storage device of the hybrid drive is accessed less frequently, the magnetic storage device is changed to one or more lower power consumption states sooner. This adjustment is made because, when extrapolating based on previous behavior of the hybrid drive, the likelihood of future accesses to the magnetic data storage device is lower. Consequently, energy can be saved by changing the magnetic data storage device to the lower power consumption state more quickly.
-
FIG. 3 illustrates a power-state diagram 300 forhybrid drive 100 that includes multiple power states and power state transitions ofhybrid drive 100. Power states in power-state diagram 300 include anactive servo state 310, an intermediatepower consumption state 320, apark state 330, astandby state 340, and asleep state 350. State transitions in power-state diagram 300 include afloat timer expiration 311, astandby transition 312, asleep command 313, a hostsoft reset 314, apark timer expiration 321, and anactive servo transition 341. According to embodiments of the invention,float timer expiration 311,standby transition 312, andpark timer expiration 321 each occur based on predetermined time periods (a float timer, a standby timer, and a park timer, respectively) that may be adjusted based on disk access history ofstorage disk 110. Disk access history may include a hit rate of read/write commands that result in accesses tostorage disk 110 and/or events in which an energy cost associated withhybrid drive 100 returning to an active servo state from a lower power consumption state exceeds energy saved whilehybrid drive 100 was in the lower power consumption state. While the elements of power-state diagram 300 are described in terms ofhybrid drive 100, it should be recognized that power-state diagram 300 is applicable to any suitable data storage device that includes a magnetic storage disk and a nonvolatile data storage device. -
Active servo state 310 represents normal operation ofhybrid drive 100 to facilitate the execution of read/write commands, either fromhost 10 or initiated byhybrid drive 100 itself. Inactive servo state 310, the servo system ofhybrid drive 100 actively controls the position of read/write head 127 with respect to individual tracks onstorage disk 110, usingvoice coil motor 128,actuator arm 124, and read/write channel 137. It is noted thathybrid drive 100 may be inactive servo state 310 when read or write commands are not being serviced byhybrid drive 100. However, because significant electrical energy is used by microprocessor-basedcontroller 133 and read/write channel 137 inactive servo state 310, in some embodiments,hybrid drive 100 changes to a lower power consumption state when one or more conditions are met. As shown inFIG. 3 , these conditions may include one or more of: floattimer expiration 311,standby transition 312, andsleep command 313. - When
float timer expiration 311 occurs,hybrid drive 100 changes fromactive servo state 310 to intermediatepower consumption state 320, which is described below.Float timer expiration 311 can be configured to take effect when no commands are satisfied by accessingstorage disk 110 for more than a predetermined time period, i.e., upon expiration of an adjustable float timer. For example, a typical duration for such a predetermined time period may be approximately 50 to 150 milliseconds, and in some embodiments is adjusted in length based on a hit rate of accesses toflash memory device 135. In some embodiments, a float timer is started when a command, i.e., a read or write command, is satisfied by accessingstorage disk 110. The float timer is reset to zero and restarted when a received command is satisfied by accessingstorage disk 110. Thus, floattimer expiration 311 takes effect when the float timer exceeds the predetermined time period described above, and hybrid drive 100 changes to intermediatepower consumption state 320. In some embodiments, any read or write commands satisfied by accessingstorage disk 110 resets the float timer to zero, and in other embodiments, only read or write commands that are both satisfied by accessingstorage disk 110 and that are received fromhost 10 reset the float timer to zero. - It is noted that commands (either received by
hybrid drive 100 fromhost 10 or initiated byhybrid drive 100 itself) that are satisfied without accessingstorage disk 110 do not reset the above-described float timer. Consequently, even though read and/or write commands may be frequently received byhybrid drive 100 fromhost 10 and/or initiated byhybrid drive 100, portions ofhybrid drive 100 associated withstorage disk 110 can be changed fromactive servo state 310 to intermediatepower consumption state 320 when said commands are satisfied by accessingRAM 134 and/orflash memory device 135 but notstorage disk 110. - When
standby transition 312 occurs,hybrid drive 100 changes from a current energy consumption state tostandby state 340, in which hybrid drive 100 spins downstorage disk 110, read/write head 127 is parked, andhybrid drive 100 expends essentially no energy on mechanical operations.Standby transition 312 may occur whenhybrid drive 100 is in one of several power states, includingactive servo state 310, intermediatepower consumption state 320, andpark state 330. In some embodiments,standby transition 312 can be configured to take effect when either one of two conditions are met: 1) a “standby” command is received fromhost 10 or 2) no commands fromhost 10 are satisfied by accessingstorage disk 110 for more than a predetermined time period, such as a standby timer, where said time period is adjusted based on a hit rate of accesses tostorage disk 110. In other embodiments,standby transition 312 can be configured to take effect when: 1) a “standby” command is received fromhost 10 or 2) no commands, either fromhost 10 or initiated byhybrid drive 100, are satisfied by accessingstorage disk 110 for more than a predetermined time period (e.g., a standby timer), where said time period is adjusted based on a disk access history ofstorage disk 110, described above. - Generally, the predetermined time period associated with
standby transition 312 is substantially longer than that associated withfloat timer expiration 311. For example, a typical duration of time associated with initiatingstandby 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 accessingstorage disk 110, and the standby timer is reset to zero and restarted when a command is next satisfied by accessingstorage disk 110. In other embodiments, the standby timer is started when a command received fromhost 10 is satisfied by accessingstorage disk 110, while a command that is initiated bydisk drive 110 and is satisfied by accessingstorage 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,hybrid drive 100 changes tostandby state 340. In some embodiments, read/write commands do not generally reset the herein-described standby timer when said commands are 1) initiated byhybrid drive 100 itself, and/or 2) satisfied without accessingstorage disk 110. -
Sleep command 313, when received fromhost 10, causeshybrid drive 100 to change from a current power state to sleepstate 350.Sleep state 350 is similar tostandby state 340, sincehybrid drive 100 spins downstorage disk 110, read/write head 127 is parked, andhybrid drive 100 expends essentially no energy on mechanical operations.Sleep state 350 differs fromstandby state 340 in thathybrid drive 100 leavessleep state 350 via host soft reset 314 fromhost 10 or ifhybrid drive 100 is powered off and then back on. In contrast,hybrid drive 100 can generally exitstandby state 340 when any of a number of commands (including R/W commands) are received fromhost 10. Because thesleep state 350 is a more restrictive state,hybrid drive 100 generally dissipates much less power insleep state 350 than instandby state 340.Sleep command 313 may occur whenhybrid drive 100 is in one of several power states, includingactive servo state 310, intermediatepower consumption state 320, andpark state 330. - Intermediate
power consumption state 320, in which the servo system ofhybrid drive 100 is not used to provide continuous position control of read/write head 127, uses less power thanactive servo state 310 and more power thanpark state 330. For example, in some embodiments, microprocessor-basedcontroller 133 may apply a predetermined constant bias tovoice 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 intermediatepower 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 ofhybrid drive 100 may be activated for a single or a relatively small number of samples for each revolution ofstorage 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 ofstorage disk 110. - Intermediate
power consumption state 320 allows relatively fast response to read or write commands that involve accessingstorage disk 110. For example, whenhybrid drive 100 is in intermediatepower consumption state 320 and receives a read or write command, seeking to a desired location onstorage 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 inpark state 320, seeking to a desired location onstorage disk 110 in response to said command generally requires a few hundred milliseconds. In some embodiments,hybrid drive 100 changes from intermediatepower consumption state 320 to a lower power consumption state when one or more conditions are met. As shown inFIG. 3 , these conditions may include one or more of:standby transition 312, sleep command 313 (both described above),park timer expiration 321, or an idle-immediate command, in which hybrid drive 100 changes from eitheractive servo state 310 or intermediatepower consumption state 320 to parkstate 330. - When
park timer expiration 321 occurs,hybrid drive 100 changes from intermediatepower consumption state 320 to parkstate 330. Inpark 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 ofstorage disk 110 is reduced. Furthermore, inpark state 330, read/write head 127 is protected from mechanical shock experienced byhybrid drive 100.Park timer expiration 321 can be configured to take effect when no commands are satisfied by accessingstorage disk 110 for more than a predetermined time period, such as a park timer. Alternatively,park timer expiration 321 can be configured to take effect when no commands fromhost 10 are satisfied by accessingstorage disk 110 for more than a predetermined time period, e.g., a park timer. As noted above, according to some embodiments, a park timer or other predetermined time period associated with initiatingpark state 330 is adjusted during operation of hybrid drive based on disk access history ofstorage disk 110. - Generally, the predetermined time period associated with
park timer expiration 321 is substantially longer than that associated withfloat timer expiration 311. For example, a typical duration of time associated withpark timer expiration 321 can be on the order of several seconds rather than the milliseconds associated withfloat timer expiration 311. In some embodiments, a park timer is started when a command is satisfied by accessingstorage disk 110, and the park timer is reset to zero and restarted when a command is satisfied by accessingstorage disk 110. Whenpark timer expiration 321 occurs, i.e., when the park timer exceeds the predetermined time period described above,hybrid drive 100 changes to parkstate 330. It is noted that commands that are satisfied without accessingstorage disk 110 do not generally reset the herein-described park timer. Said commands can be either received byhybrid drive 100 fromhost 10 or initiated byhybrid drive 100 itself, such as when microprocessor-basedcontroller 133 determines that data stored inflash memory device 135 should be written ondata 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, andpark timer expiration 321,hybrid drive 100 may also change to a higher power consumption state when certain events occur. Specifically, whenactive servo transition 341 occurs,hybrid drive 100 may be configured to change toactive servo state 310, as shown inFIG. 3 . In some embodiments,active servo transition 341 takes place when a read or write command is satisfied by accessingstorage disk 110. For example, if a current version of the data associated with a read command fromhost 10 is not stored inRAM 134 orflash memory 135,storage disk 110 is accessed by microprocessor-basedcontroller 133 to satisfy said read command. Thus, even whenhybrid drive 100 is in a low power consumption state, such asstandby state 340 orpark state 330,hybrid drive 100 changes toactive servo state 310 so thatstorage disk 110 can be accessed to satisfy the command received fromhost 10. - In some embodiments,
hybrid drive 100 may change toactive servo state 310 in response to data being flushed tostorage disk 110 fromflash memory device 135. For example, a portion offlash memory device 135 may be used to store “dirty” data, which are data that are only stored inflash memory device 135 and are not also stored onstorage disk 110. Furthermore,hybrid drive 100 may also be configured to maintain a predetermined maximum threshold for the portion offlash memory device 135 used to store dirty data. Consequently, when said maximum threshold is exceeded,hybrid drive 100 generally “flushes” excess dirty data tostorage disk 110, i.e.,hybrid drive 100 writes a corresponding copy of the excess dirty data onstorage disk 110, and flags the copied data inflash memory device 135 as “non-dirty” data. Thus, in some situations,hybrid drive 100 may flush dirty data tostorage disk 110, even thoughhybrid drive 100 is in intermediatepower consumption state 320,park state 330, orstandby state 340. In such situations,hybrid drive 100 changes toactive servo state 310 so that the data flushing process can be performed. For example, afterhybrid drive 100 changes to a lower power consumption state as a result offloat timer expiration 311,standby transition 312,sleep command 313, orpark timer expiration 321,host 10 may then send write commands tohybrid drive 100. Ordinarily,hybrid drive 100 may accept write data directly intoflash memory device 135 to prevent activating the portions ofhybrid drive 100 associated withstorage disk 110. However, ifflash memory device 135 is full or already stores the maximum allowable quantity of dirty data, microprocessor-basedcontroller 133 can change the power state ofhybrid drive 100 toactive servo state 310 and begin to copy dirty data inflash memory device 135 tostorage disk 110. - In some embodiments,
storage disk 110 may be accessed as a result of other activities besides in response to commands fromhost 10. Advantageously, in such embodiments, timers for measuring time elapsed sincestorage disk 110 was last accessed in response to a host command may not be reset whenstorage disk 110 is accessed as a result of said non-host related activities. For example, dirty data being flushed fromflash memory device 135 orRAM 134 may be considered such non-host related activities. -
FIG. 4 is atimeline 400 illustrating how a hit rate of commands resulting in accessingflash memory device 135 can be used to adjust a predetermined time period, where the predetermined time period indicates when a magnetic data storage device in a hybrid drive changes to a lower power consumption state.Timeline 400 shows apredetermined time period 401 and a break-eventime interval 402.Predetermined time period 401 may represent any timer or time threshold associated with a hybrid drive that, upon expiration, causes a magnetic data storage device in the hybrid drive to change to a lower power consumption state, such as a float timer, a standby timer, or a park timer. - Break-even
time interval 402 is used as a metric for determining whether or not a magnetic data storage device has remained in a lower power consumption state for a sufficient length of time to justify the time and/or energy cost associated with returning to an active servo state from the lower power consumption state. In some embodiments, when the magnetic data storage device is accessed prior to the expiration of break-eventime interval 402,predetermined time period 401 is considered too short and can be adjusted accordingly in some embodiments. When the magnetic data storage device is accessed after the expiration of break-eventime interval 402,predetermined time period 401 is considered too long and can be adjusted accordingly in some embodiments. Embodiments using break-eventime interval 402 are described in greater detail below. - In operation,
storage disk 110 ofhybrid drive 100 is accessed attime 431, and a timer associated withpredetermined time period 401 is reset to zero. As shown,predetermined time period 401 expires attime 432. Ifstorage disk 110 is accessed prior to the expiration ofpredetermined time period 401, for example attime 433, the timer associated withpredetermined time period 401 is reset to zero. In other words,predetermined time period 401 is shifted alongtimeline 400 until starting attime 433. Ifstorage disk 110 is not accessed prior to the expiration ofpredetermined time period 401,storage disk 110 and the portions ofhybrid drive 100 associated with accessingstorage disk 110 are changed to the lower power consumption state. For example, whenpredetermined time period 401 represents a a park timer, attime 433hybrid drive 100 enters park state 330 (shown inFIG. 3 ) and read/write head 127 is parked. - According to embodiments of the invention, the length of
predetermined time period 401 is adjusted periodically based on disk access history ofstorage disk 110. This adjustment may take place at regular intervals, in response to a particular event or events occurring inhybrid drive 100, or a combination of both. For example, in some embodiments, the adjustment of the length ofpredetermined time period 401 occurs upon completion of a read or write command that results instorage disk 110 being accessed. In some embodiments,predetermined time period 401 is adjusted based on a hit rate of read/write commands that result in accesses toflash memory device 135. In other embodiments,predetermined time period 401 is adjusted based at least in part on a recovery time, during which hybrid drive 100 returns to an active servo state from a lower power consumption state. In yet other embodiments,predetermined time period 401 is adjusted based on a combination of said hit rate and said recovery time. - In some embodiments, hit rate is determined by calculating what proportion of read/write commands received by
hybrid drive 100 result in accessingflash memory device 135. Such read/write commands are hereinafter referred to as “NAND hits.” For example, in one embodiment, the proportion of NAND hits relative to total read/write commands received byhybrid drive 100 is tracked for a plurality of groups of read/write commands, and a running average of hit rate is calculated for each group. In one such embodiment, each group includes 100 commands. As each read or write command is received byhybrid drive 100, an indicator or flag associated with the command is set to indicate whether the command resulting inflash memory device 135 being accessed rather thanstorage disk 110. Once a group of 100 such commands have been received byhybrid drive 100, the proportion of NAND hits to the total 100 commands in the group is calculated and stored. The hit rate of the most recent 256 groups of commands can then be used to calculate a running average of hit rate. This running average of hit rate, which in this case is for the 25,600 most recent commands received byhybrid drive 100, can be used to adjustpredetermined time period 401 so thathybrid drive 100 operates in a more energy efficient manner. - In some embodiments, the length of
predetermined time period 401 is adjusted by decrementing the length ofpredetermined time period 401 when a running average (or any other measure of NAND hit rate) of a large number of read and/or write commands exceeds a threshold hit rate value, e.g., 70%, 80%, 90%, etc. For example, when a hit rate value exceeds 95%, a park timer may be decreased by a specified length of time, e.g., one second. Thus, when the vast majority of read and/or write commands result inflash memory device 135 being accessed,hybrid drive 100 is configured to change to parkmode 330 more quickly, since the likelihood ofstorage disk 100 being accessed is relatively low. Conversely, in such embodiments, the length ofpredetermined time period 401 is also adjusted by incrementing the length ofpredetermined time period 401 by a specified length of time when a running average or other measure of hit rate of read and/or write commands is less than the threshold hit rate value. In this way,hybrid drive 100 is configured to change to parkmode 330 after a longer idle time when the likelihood ofstorage disk 100 being accessed increases. It is noted that, in such embodiments,predetermined time period 401 may be increased by a predetermined time increment value or by a variable time increment value, such as a time increment value that is a function of the current hit rate value. - The length of
predetermined time period 401 can be adjusted using hit rate in other ways as well, and is not limited to the running average approach described above. In some embodiments, the length ofpredetermined time period 401 can be adjusted using a weighted average of hit rate. For example, when hit rate is calculated for a plurality of groups of commands, e.g., 256 groups, the more recent groups of commands may be weighted to have more effect on the average hit rate value. In other embodiments, the length ofpredetermined time period 401 can be adjusted based at least in part on the rate of change of hit rate from the oldest groups of commands to the most recently received groups of commands. In such embodiments, a predictive element is thus introduced into the adjustment ofpredetermined time period 401, and is not purely a reaction to past behavior ofhybrid drive 100. - As noted above, a threshold hit rate value may be used to determine whether
predetermined time period 401 is increased or decreased. Such a threshold hit rate value may be a percentage, a ratio, and the like. Furthermore, a different threshold hit rate may be used for the timer associated with each different power state ofhybrid drive 100. Thus, in some embodiments, a first threshold hit rate is associated with a float timer ofhybrid drive 100, a second threshold hit rate is associated with a park timer ofhybrid drive 100, and a third threshold hit rate is associated with a standby timer ofhybrid drive 100. - The hit rate of a group of read/write commands, a running average of group hit rate, and other such factors may be calculated at any technically feasible time during operation of
hybrid drive 100. In some embodiments, these factors may be calculated whenhybrid drive 100 is idle or substantially idle. In other embodiments, these factors may be calculated periodically, or whenever a specific event occurs, such as whenhybrid drive 100 completes an access tostorage disk 100. In some embodiments, microprocessor-basedcontroller 133 performs such calculations, however, in other embodiments, a dedicated logic circuit, firmware, a software construct, or any other technically feasible entity associated withhybrid drive 100 may be configured to perform such calculations. - In some embodiments,
predetermined time period 401 is adjusted based at least in part on a recovery time during which hybrid drive 100 returns to an active servo state from a lower power consumption state. In such embodiments, break-eventime interval 402 may be used. Break-eventime interval 402 represents a target time interval during which a magnetic data storage device, such asstorage disk 110, remains in a lower power consumption state in order to justify the energy and/or time cost associated with returning to an active servo state from the lower power consumption state. In some embodiments, the length of break-eventime interval 402 is selected such that a quantity of energy saved by the magnetic storage device during break-eventime interval 402 at the lower power consumption state is substantially equal to or greater than a quantity of energy used by the magnetic storage device to return to an active servo state. - Thus, when the magnetic storage device has changed to a lower power consumption state at the end of predetermined time period 401 (time 432), and is accessed after break-even time interval 402 (e.g., at time 435), at least as much energy is saved by the magnetic storage device during break-even
time interval 402 as is expended by the magnetic storage device in returning to an active servo state. - In such embodiments, when the magnetic storage device is accessed prior to the expiration of break-even time interval 402 (i.e., between
time 432 and time 434),predetermined time period 401 is considered too short and is adjusted to be longer. In some embodiments, this adjustment includes incrementing the length ofpredetermined time period 401 by a predetermined time increment or a time increment that is a function of when the magnetic storage device is accessed during break-eventime interval 402. Conversely, when the magnetic storage device is accessed after the expiration of break-even time interval 402 (i.e., after time 434),predetermined time period 401 is considered too long and can be adjusted to by decrementing the length ofpredetermined time period 401. - In some embodiments, the length of break-even
time interval 402 is selected based at least in part on a recovery time during which the magnetic storage device returns to an active servo state from the lower power consumption state. Because such a recovery time can affect quality of user experience, the duration of the recovery time is included as a factor in determining the length of break-eventime interval 402. For example, by changing a magnetic storage device inhybrid drive 100 to a standby state, a user experiences a delay of up to several seconds when the magnetic storage device returns to an active servo state. Because such a delay significantly affects quality of user experience, break-eventime interval 402 may be selected to be longer than simply a target length of time that the magnetic storage device remains at the lower power consumption state in order to compensate for the energy used to return to an active servo state. In such embodiments, break-eventime interval 402 may have a longer duration to compensate for such effects on user experience by reducing how often the magnetic storage device is changed to a lower power consumption state and then returned to an active state after a short time interval. The use of break-eventime interval 402 in this way is particularly advantageous when used for a standby timer. - In some embodiments, an initial value for a hit rate or average hit rate is set at startup of
hybrid drive 100. This is because few or no read or write commands have been received byhybrid drive 100 at startup, and therefore the groups of commands used to determine a hit rate or other ratio of NAND hits will otherwise have null values. In such embodiments, the initial hit rate value may be selected by filling an array used for tracking the hit rate of each group of commands with a seed value. This seed value can be selected to elicit a particular operational behavior fromhybrid drive 100. For example,hybrid drive 100 can be configured to be more responsive to user inputs at startup by seeding very low initial hit rate values in the array for tracking the hit rate of each group of commands, thereby generating a long time duration for a float timer, a standby timer, and a park timer. In such an embodiment,hybrid drive 100 generally does not change to a lower power consumption state at startup and remains in a higher performance mode, resulting in a higher quality user experience. In another example embodiment,hybrid drive 100 can be configured to operate in a more power efficient manner upon startup by seeding very high initial hit rate values in the array for tracking the hit rate of each group of commands, thereby generating a short time duration for the float timer, standby timer, and park timer. Such a configuration may be advantageous upon startup whenhybrid drive 100 is coupled to a host device that is started up with low battery power. In some embodiments, the configuration ofhybrid drive 100 upon startup can be a function of the battery-state at that time, favoring low power-consumption if the battery change is low, and favoring higher performance if the battery charge is high. In some embodiments, the power-scheme used by the operating system (as selected by a user of the host device) could influence the initial configuration of thehybrid drive 100. -
FIG. 5 sets forth a flowchart of method steps for power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device, according to one or more embodiments. Although the method steps are described in conjunction withhybrid drive 100 inFIGS. 1 and 2 , persons skilled in the art will understand thatmethod 500 may be performed with other types of data storage systems. The control algorithms formethod 500 may reside in and/or be performed by microprocessor-basedcontroller 133,host 10, or any other suitable control circuit or system. For clarity,method 500 is described in terms of microprocessor-basedcontroller 133 performing steps 510-530. - As shown,
method 500 begins atstep 510, where microprocessor-basedcontroller 133 or other suitable control circuit or system sets a time period, such aspredetermined time period 401 inFIG. 4 . Thus,predetermined time period 401 begins instep 510. In some embodiments, the time period is set eachtime storage disk 110 is accessed. - In
step 520, microprocessor-basedcontroller 133 measures a number of accesses toflash memory device 135, e.g., as a result ofhybrid drive 100 receiving read or write commands that do not require access tostorage disk 110. In some embodiments, the measured number of accesses are used to determine a hit rate value for a plurality of read/write commands most recently received byhybrid drive 100. In some embodiments, the hit rate may be a running average of a NAND hit rate over a plurality of groups of read/write commands. - In
step 530, microprocessor-basedcontroller 133 adjusts a length ofpredetermined time period 401 based on the measured number of accesses. For example, the length ofpredetermined time period 401 may be decremented by a predetermined time decrement value when the number of accesses exceeds a threshold value, and the length ofpredetermined time period 401 may be incremented by a predetermined time decrement value when the number of accesses is less than the threshold value. -
FIG. 6 sets forth a flowchart of method steps for power management in a data storage device that includes a magnetic storage device and a nonvolatile storage device, according to one or more embodiments. Although the method steps are described in conjunction withhybrid drive 100 inFIGS. 1 and 2 , persons skilled in the art will understand thatmethod 600 may be performed with other types of data storage systems. The control algorithms formethod 600 may reside in and/or be performed by microprocessor-basedcontroller 133,host 10, or any other suitable control circuit or system. For clarity,method 600 is described in terms of microprocessor-basedcontroller 133 performing steps 610-630. - As shown,
method 600 begins atstep 610, where microprocessor-basedcontroller 133 or other suitable control circuit or system sets a time period, such aspredetermined time period 401 inFIG. 4 . Thus,predetermined time period 401 begins instep 610. In some embodiments, the time period is set eachtime storage disk 110 is accessed. - In
step 620, microprocessor-basedcontroller 133 determines whether or not a time thatstorage disk 110 is next accessed is within a predetermined time interval, such as break-eventime interval 402, afterpredetermined time period 401 expires. - In
step 630, microprocessor-basedcontroller 133 adjusts a length ofpredetermined time period 401 based on whether or not the time thatstorage disk 110 is next accessed is within break-eventime interval 402. Whenstorage disk 110 is next accessed within break-eventime interval 402,predetermined time period 401 is increased. Whenstorage disk 110 is next accessed after break-eventime interval 402 expires,predetermined time period 401 is decreased. - In sum, embodiments described herein provide systems and methods for power management in a data storage device. The data storage device uses disk access history of the magnetic storage device to adjust a duration of a time period based on the hit rate, where the time period may be an idle time that occurs before the data magnetic storage device changes to a lower power consumption state. Consequently, the magnetic storage device can be advantageously changed to a lower power consumption state in a fashion that adapts to recent behavior of the magnetic storage 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)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/975,207 US8982499B1 (en) | 2013-08-23 | 2013-08-23 | Timing of power state change in a disk drive based on disk access history |
JP2014033835A JP2015041378A (en) | 2013-08-23 | 2014-02-25 | Data storage device and management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/975,207 US8982499B1 (en) | 2013-08-23 | 2013-08-23 | Timing of power state change in a disk drive based on disk access history |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150055243A1 true US20150055243A1 (en) | 2015-02-26 |
US8982499B1 US8982499B1 (en) | 2015-03-17 |
Family
ID=52480162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/975,207 Active US8982499B1 (en) | 2013-08-23 | 2013-08-23 | Timing of power state change in a disk drive based on disk access history |
Country Status (2)
Country | Link |
---|---|
US (1) | US8982499B1 (en) |
JP (1) | JP2015041378A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130111559A1 (en) * | 2011-11-01 | 2013-05-02 | Microsoft Corporation | Intelligent Caching for Security Trimming |
US20150268872A1 (en) * | 2014-03-24 | 2015-09-24 | Western Digital Technologies, Inc. | Lifetime extension of non-volatile semiconductor memory for data storage device |
CN108733579A (en) * | 2017-04-13 | 2018-11-02 | 三星电子株式会社 | The method and solid-state disk of the window of opportunity prompt of consistency operation in solid-state disk are provided |
CN110333770A (en) * | 2019-07-10 | 2019-10-15 | 合肥兆芯电子有限公司 | Storage management method, memory storage apparatus and memorizer control circuit unit |
US11397532B2 (en) * | 2018-10-15 | 2022-07-26 | Quantum Corporation | Data storage across simplified storage volumes |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04192014A (en) * | 1990-11-27 | 1992-07-10 | Hitachi Ltd | Information processor |
US5778418A (en) * | 1991-09-27 | 1998-07-07 | Sandisk Corporation | Mass computer storage system having both solid state and rotating disk types of memory |
US5682273A (en) * | 1995-06-30 | 1997-10-28 | International Business Machines Corporation | Disk drive for portable computer with adaptive demand-driven power management |
US5954820A (en) * | 1997-09-26 | 1999-09-21 | International Business Machines Corporation | Portable computer with adaptive demand-driven power management |
US6892313B1 (en) | 2001-06-21 | 2005-05-10 | Western Digital Technologies, Inc. | Method for predictive power management for operating a disk drive in a mobile device to optimize power usage |
EP1584090B1 (en) * | 2003-01-06 | 2007-05-23 | Koninklijke Philips Electronics N.V. | Energy efficient disk scheduling for mobile applications: adaptively extending the disk standby time |
US7334082B2 (en) | 2003-12-30 | 2008-02-19 | Intel Corporation | Method and system to change a power state of a hard drive |
US20060075185A1 (en) | 2004-10-06 | 2006-04-06 | Dell Products L.P. | Method for caching data and power conservation in an information handling system |
US7552347B2 (en) * | 2006-06-13 | 2009-06-23 | Scientific-Atlanta, Inc. | Adaptive power management of a disk drive based on user activity |
JP2008204574A (en) * | 2007-02-22 | 2008-09-04 | Fujitsu Ltd | Storage device and its control method |
US7856563B1 (en) * | 2007-06-29 | 2010-12-21 | Emc Corporation | Managing disk drive power states |
-
2013
- 2013-08-23 US US13/975,207 patent/US8982499B1/en active Active
-
2014
- 2014-02-25 JP JP2014033835A patent/JP2015041378A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130111559A1 (en) * | 2011-11-01 | 2013-05-02 | Microsoft Corporation | Intelligent Caching for Security Trimming |
US9336324B2 (en) * | 2011-11-01 | 2016-05-10 | Microsoft Technology Licensing, Llc | Intelligent caching for security trimming |
US20150268872A1 (en) * | 2014-03-24 | 2015-09-24 | Western Digital Technologies, Inc. | Lifetime extension of non-volatile semiconductor memory for data storage device |
US9348520B2 (en) * | 2014-03-24 | 2016-05-24 | Western Digital Technologies, Inc. | Lifetime extension of non-volatile semiconductor memory for data storage device |
CN108733579A (en) * | 2017-04-13 | 2018-11-02 | 三星电子株式会社 | The method and solid-state disk of the window of opportunity prompt of consistency operation in solid-state disk are provided |
US11397532B2 (en) * | 2018-10-15 | 2022-07-26 | Quantum Corporation | Data storage across simplified storage volumes |
CN110333770A (en) * | 2019-07-10 | 2019-10-15 | 合肥兆芯电子有限公司 | Storage management method, memory storage apparatus and memorizer control circuit unit |
Also Published As
Publication number | Publication date |
---|---|
US8982499B1 (en) | 2015-03-17 |
JP2015041378A (en) | 2015-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9141176B1 (en) | Power management for data storage device | |
US9396755B2 (en) | Temperature-defined data-storage policy for a hybrid disk drive | |
US7411757B2 (en) | Disk drive with nonvolatile memory having multiple modes of operation | |
US8924641B2 (en) | Selectively depowering portion of a controller to facilitate hard disk drive safeguard operations | |
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 | |
US8982499B1 (en) | Timing of power state change in a disk drive based on disk access history | |
US7853809B2 (en) | System and method of power management | |
US20140237164A1 (en) | Hybrid drive that implements a deferred trim list | |
US9940051B2 (en) | Power state change in disk drive based on disk access history | |
JP2010146630A (en) | Disk drive and disk array system | |
US20050174678A1 (en) | Stepping power consumption levels in a hard disk drive to maximize performance while minimizing power consumption | |
US9459802B1 (en) | Hybrid-HDD that limits dirty data in NAND | |
US20120042182A1 (en) | Forced idle cache | |
US20190051324A1 (en) | Command clustering for data storage device | |
US20150277764A1 (en) | Multi-mode nand-caching policy for hybrid-hdd | |
US9965181B2 (en) | Hybrid-HDD with multiple caching modes | |
US20170109081A1 (en) | Storage device and data processing method | |
US20160351270A1 (en) | Hybrid-hdd with improved data retention | |
US20100318824A1 (en) | Storage device with advanced power management | |
US20140250272A1 (en) | System and method for fetching data during reads in a data storage device | |
US9323467B2 (en) | Data storage device startup | |
CN105684083A (en) | Power management for data storage device | |
US8259407B1 (en) | Speed control systems and methods for decreasing power consumption in rotating storage devices | |
US20100020430A1 (en) | Control device and storage device | |
US11644986B1 (en) | Adaptive power loss management for data storage devices |
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.;BUDIMAN, MINE WONKYUNG;DUNN, ERIC R.;AND OTHERS;SIGNING DATES FROM 20130821 TO 20130822;REEL/FRAME:031074/0491 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |