U.S. patent application number 14/917463 was filed with the patent office on 2016-08-04 for mobile data storage device with power management.
The applicant listed for this patent is SEAGATE TECHNOLOGY LLC. Invention is credited to James Edward Dykes.
Application Number | 20160224096 14/917463 |
Document ID | / |
Family ID | 52628953 |
Filed Date | 2016-08-04 |
United States Patent
Application |
20160224096 |
Kind Code |
A1 |
Dykes; James Edward |
August 4, 2016 |
MOBILE DATA STORAGE DEVICE WITH POWER MANAGEMENT
Abstract
A data storage system (100) may be configured with at least a
mobile data storage device (102) that consists of a rotating data
storage medium and a controller (122). The controller (122) can
alter a rotational speed of the data storage medium in response to
a predicted change in a command queue. The mobile data storage
device (102) may be configured without an active cooling
feature.
Inventors: |
Dykes; James Edward;
(Longmont, CO) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
SEAGATE TECHNOLOGY LLC |
Cupertino |
CA |
US |
|
|
Family ID: |
52628953 |
Appl. No.: |
14/917463 |
Filed: |
September 5, 2014 |
PCT Filed: |
September 5, 2014 |
PCT NO: |
PCT/US2014/054257 |
371 Date: |
March 8, 2016 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61875430 |
Sep 9, 2013 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
Y02D 10/00 20180101;
G05D 23/1393 20130101; G06F 1/203 20130101; G06F 1/206 20130101;
G11B 5/40 20130101; G05B 2219/37431 20130101; Y02D 10/16 20180101;
G05B 19/406 20130101; G06F 1/3268 20130101; G06F 1/20 20130101;
G11B 19/28 20130101 |
International
Class: |
G06F 1/32 20060101
G06F001/32; G11B 19/28 20060101 G11B019/28 |
Claims
1. An apparatus comprising a mobile data storage device comprising
a rotating data storage medium and a controller, the controller
altering a rotational speed of the data storage medium in response
to a predicted change in a command queue.
2. The apparatus of claim 1, wherein the mobile data storage device
is a hard disk drive.
3. The apparatus of claim 1, wherein the mobile data storage device
comprises a plurality of data storage media attached to a central
spindle.
4. The apparatus of claim 3, wherein the mobile data storage device
comprises at least one battery that powers the controller and
central spindle.
5. The apparatus of claim 1, wherein the mobile data storage device
comprises a cache memory connected to the controller, the cache
memory storing the command queue.
6. The apparatus of claim 1, wherein the mobile data storage device
is incorporated into a mobile computing device wirelessly connected
to a remote host via a network.
7. The apparatus of claim 1, wherein the controller is connected to
a power management circuit that provides the predicted change.
8. The apparatus of claim 1, wherein the controller is connected to
a fall protection circuit configured to provide the predicted
change.
9. The apparatus of claim 1, wherein the data storage medium is
positioned adjacent at least one suspended data transducing
head.
10. An apparatus comprising a mobile data storage device comprising
a rotating data storage medium and a controller, the mobile data
storage device configured without an active cooling feature, the
controller altering a rotational speed of the data storage medium
in response to a predicted change in a command queue.
11. The apparatus of claim 10, wherein the predicted change
corresponds with a derived profile of experienced command queue
activity.
12. The apparatus of claim 10, wherein the predicted change
corresponds with a reduction in command queue volume.
13. The apparatus of claim 10, wherein the controller reduces the
rotational speed of the data storage medium by 25-50%.
14. A method comprising: connecting a controller to a rotating data
storage medium in a mobile data storage device; predicting a change
in a command queue; and altering a rotational speed of the data
storage medium in response to the predicted change in the command
queue.
15. The method of claim 14, wherein the change in the command queue
corresponds with a profile of logged command queue activity.
16. The method of claim 14, wherein the rotational speed of the
data storage medium is altered by powering a spindle motor off to
arrive at a slower rotational speed of the data storage medium.
17. The method of claim 14, wherein the rotational speed of the
data storage medium is altered by increasing power to a spindle
motor to arrive at an operational rotational speed of the data
storage medium.
18. The method of claim 14, wherein the altering step comprises
reducing the rotational speed of the data storage medium in varying
intervals.
19. The method of claim 18, wherein the varying intervals
correspond with different rotating speeds.
20. The method of claim 14, wherein the controller changes the
alteration of the rotational speed of the data storage medium in
response to a sensed low power available in a mobile computing
device housing the mobile data storage device.
Description
SUMMARY
[0001] A mobile data storage device may, in accordance with various
embodiments, have at least a rotating data storage medium and a
controller. The controller can be configured to alter a rotational
speed of the data storage medium in response to a predicted change
in a command queue.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] FIG. 1 is a block representation of an example data storage
system configured and operated in accordance with some
embodiments.
[0003] FIGS. 2A and 2B respectively display a block representation
and plotted operational data from an example data storage
device.
[0004] FIG. 3 shows a block representation of a portion of an
example mobile computing device configured and operated in
accordance with various embodiments.
[0005] FIG. 4 provides an example command queue profile routine
conducted in accordance with some embodiments.
[0006] FIG. 5 maps an example command logic carried out in
accordance with various embodiments.
[0007] FIG. 6 displays an example power management scheme utilized
in accordance with assorted embodiments.
[0008] FIG. 7 plots an example power conservation routine that may
be carried out in accordance with various embodiments.
DETAILED DESCRIPTION
[0009] The proliferation of semiconductor design and fabrication
has allowed computing devices to become increasingly mobile and
more powerful. Technology previously reserved for physically
cumbersome, stationary, form factors can now be packaged into
mobile electronic devices that provide broadband communication
connectivity as well as generation of large amounts of data, such
as with high definition video recording. A reduction in form factor
of mobile computing devices, such as smartphones, tablet computers,
watches, and laptop computers, has reduced the space available for
batteries. While battery technology continues to advance and
alternative power supplies, like solar power, can recharge a
battery, replenishing a battery is slower and more debilitating to
a mobile computing device than conserving power usage.
[0010] Accordingly, a mobile data storage device may have at least
a rotating data storage medium and a controller that alters the
rotational speed of the data storage medium in response to a
predicted change in a command queue. The proactive alteration of
the medium's rotational speed can mitigate unnecessary power
consumption while allowing responsive system function when accessed
by a user. That is, the rotational speed of the medium can be
altered to a state that conserves power and can be returned to a
fully operational state without a noticeable reduction in the
performance of the mobile data storage device.
[0011] While a mobile data storage device may be employed in an
unlimited variety of systems and environments, various embodiments
utilize a mobile data storage device in the example data storage
system 100 shown as a block representation in FIG. 1. The data
storage system 100 may employ power management technology in
accordance with some embodiments by engaging one or more local or
remote data storage devices 102. One or more data storage devices
102 can be equipped with one or more transducing heads 104 that are
suspended over selected data bits 108 and data tracks 110 to
program and sense data across an air bearing 112.
[0012] The storage medium 106 can be attached to one or more
spindle motors 114 that rotate the medium 108 to produce the air
bearing 112 on which the transducing head 104 flies to access
predetermined portion of the medium 106. In this way, one or more
local 116 processors and remote hosts 118 can provide controlled
motion of the transducing head 104 and spindle 114 to adjust and
align the transducing head 104 with selected data bits 108. With
the advent of network computing has allowed remote hosts 118 and
storage arrays 120 access to a controller 122 through a network 124
via appropriate protocol.
[0013] The remote host 118 and local processor 116 can act
independently or concurrently to monitor and control one or more
sensors 126 that continuously or sporadically read operating
conditions of the data storage medium 106, like vibration and
temperature, as well as the spindle 112, such as rotational speed
and power consumption. The local processor 116 and remote host 118
may further populate, organize, and execute command requests in a
memory buffer 128 that can be configured as volatile and
non-volatile memory cells to provide temporary storage of data and
data information that are pending for execution by the data storage
device 102 and controller 122.
[0014] Continued reduction in the physical dimensions of the data
storage components, like the transducing head 104, can allow for
implementation into mobile electronics that are continually
striving for smaller form factors and greater computing
capabilities. FIGS. 2A and 2B respectively illustrate different
representations of an example mobile computing system 140 that can
be used in the data storage system of FIG. 1. As shown in FIG. 2A,
the mobile computing system 140 may comprise one or more mobile
computing devices 142 that can communicate data via wired and
wireless pathways to static and virtual mobile devices. For
example, the mobile computing device 142 may have a serial bus
capable of wired connection to a stationary desktop and server as
well as a network protocol allowing wireless connection with a
virtual cloud node, server, and other mobile computing devices.
[0015] While not required or limiting, a mobile computing device
142 can consist of a battery 144 that provides power and may, or
may not, be rechargeable. A cache memory 146 can provide short-term
storage for data that may be processed by a processor 148,
graphically shown on a display 150, and moved to a hard disk drive
152 for long-term storage. While the mobile computing device 142
can function without means for cooling the constituent components,
operation of the various mobile computing components individually
and collectively can serve to produce heat through the consumption
of power provided by the battery 144.
[0016] Regardless of the type, size, and performance of the data
storage in the mobile computing device 142, the heat produced from
operation can jeopardize the performance of the mobile computing
device 142. In other words, heat is produced from solid-state
memory arrays and hard disk drives and such heat can degrade the
ability of those data storage means to read, write, and output data
accurately. An example relationship between temperature of a mobile
computing device 146 and power consumption of the device 146 over
time is provided by solid line 154 and segmented line 156. It can
be appreciated that heat is retained in the mobile computing device
due at least to the operation of constituent components,
environmental conditions, and interaction with a user.
[0017] FIG. 3 is a block representation of a portion of an example
mobile computing device 160 arranged in accordance with assorted
embodiments. The mobile computing device 160 can have at least one
data storage device 162 that has one or more dedicated or
distributed controllers 164 that provide a range of computing
capabilities through the execution of drivers. Various embodiments
employ at least one driver to communicate with peripheral
components to provide data caching 166, fall protection, 168, power
management 170, and thermal management 172 capabilities. These
capabilities can operate exclusively, redundantly, and collectively
to optimize data storage device 162, and consequently mobile
computing device 160, performance.
[0018] While the various capabilities can be utilized in any data
storage device 162 that is part of mobile computing device 164 that
may or may not have cooling means, it is contemplated that the
controller 164 selectively monitors data storage device 162
conditions to employ one or more capabilities to balance power
consumption with heat retention in a mobile computing device that
lacks cooling means. For example, the thermal 172 and power 170
management schemes may be operating concurrently before data
caching 166 is executed. As another non-limiting example, the fall
protection 168 capability may suspend the power 170 and thermal 172
management schemes while conducting predictive and reactive data
caching 166 that moves data to solid-state memory for temporary
storage.
[0019] The ability to employ a variety of different capabilities
may be retrofitted into a data storage device 162 that did not
previously have a controller capable of such capabilities. However,
a mobile enablement kit can alternatively be pre-loaded into the
data storage device 152 during manufacture and prior to end-user
data being stored to allow the various capabilities to be activated
at any time. In a contemplated use, the data storage device 162,
such as a hard disk drive, can be used in a stationary computer
with cooling means and subsequently installed in a mobile computing
tablet without cooling means where the mobile enablement kit
recognizes the lack of cooling and establishes the predetermined
capabilities through the utilization of a dynamic data driver. The
dynamic data driver can be configured to establish communications
between the controller 164 and the peripheral components to execute
the various capabilities. As such, the mobile enablement kit can
optimize the implementation of capabilities with minimal need for
supplemental software updates.
[0020] With or without a mobile enablement kit installed on the
data storage device 162, the controller 164 can continually,
sporadically, and routinely conduct proactive and reactive measures
to establish and preserve optimal performance despite consuming
power and generating heat in the device 162. FIG. 4 conveys an
example command queue profile routine 180 that may be carried out
in accordance with various embodiments to proactively allow at
least one controller to maintain optimized mobile computing device
performance while conditions, like device temperature and power
consumption, change. The routine 180 can begin by logging at least
one command queue activity over time in step 182. Such activity
logging can be done locally and remotely in temporary or permanent
storage locations.
[0021] Decision 184 next evaluates one or more logged command queue
activities from step 182 to determine if a known activity profile
is present. That is, decision 184 can evaluate the timing,
situation, and sequence of logged activities to determine if a
known activity profile is applicable. If no known profile fits the
logged activities, step 186 starts a new profile that may stand
alone or be implemented into another profile at a later time. If a
known profile fits the logged activities, step 188 updates the
known profile with the logged events, which may or may not alter
the profile.
[0022] The registration of logged command queue activities in a new
or known profile allows step 190 to predict future command queue
activities based on the activities observed in step 182. As a
non-limiting example, one or more algorithms can identify trends
and situations from the activity profile that have a high
probability of reoccurring, which is manifested in a prediction in
step 190 of a reduction or increase in command queue activity
volume. It is noted that a command queue may have a fixed execution
rate and step 190 can predict the volume of unexecuted and
partially executed commands, such as data reads, servo data
maintenance, metadata updates, cache storage maintenance, and data
writes.
[0023] Although sophisticated and simple algorithms may be employed
in step 190, unexpected and previously non-encountered activities
may occur. Decision 192 determines if the command queue activity
predicted in step 190 is correct in an effort to validate, evolve,
and maintain the accuracy of the activity profile as well as the
algorithms used to predict future activity. A correct activity
prediction triggers step 194 to note the command queue activity and
the timing of the activity to allow the profile and associated
algorithms to subsequently predict other future command queue
events. If the predicted activity is wrong, decision 192 prompts
step 190 to predict a new activity, which effectively deletes wrong
predictions from inclusion into the activity profile or prediction
algorithm.
[0024] With the ability to predict future command queue activities,
like command volume and urgency, a controller can conduct measures
that conserve power consumption in a mobile computing device. The
command logic 200 of FIG. 5 is an example of how one or more
controllers can respond to predicted and actual command queue
activity in accordance with various embodiments. It should be noted
that the command logic 200 is not exclusively conducted and may be
partially executed while other controller capabilities, such as the
thermal management scheme 180, data caching 166, and fall
protection 168, are running. Returning to FIG. 5, the prediction or
arrival of an actual command in step 202 triggers the evaluation of
a temperature in the data storage device and a determination if a
temperature threshold has been exceeded with decision 204. A
temperature that exceeds the limit causes a controller to slow the
rotational speed of the data storage media while suspending
execution of at least one command queue in step 206. The reduction
in media speed and suspension of command can allow heat to
dissipate quickly while decreasing the amount of power being
consumed.
[0025] Upon the media rotating at a reduced speed for a
predetermined time, such as 30 seconds, decision 204 is revisited
to determine if further rotational speed reductions are in order.
If so, the data storage device can experience tiers of rotational
speeds that eventually may result in powering the data storage
device off. However, if decision 204 determines that the
temperature of the device is safe to conduct command execution,
step 208 then computes a command window based at least in part on a
derived thermal profile predicting how the execution of commands
will affect device temperature.
[0026] As a result of step 208, a window of time, power
consumption, or amount of temperature fluctuation will be allowed
that may, or may not, execute all the commands received in step 202
or resident in the command queue as step 210 increases the
rotational speed of the data storage device and step 212 executes
at least one command. It is contemplated that step 212 executes
actual data access commands as well as time delays imposed by a
thermal management scheme, but such execution is not required. The
completion of step 212 for the designated command window from step
208 advances the logic 200 back to decision 204 where another
evaluation of the temperature of the data storage device is
conducted. Through the cyclical return to decision 204, the logic
200 can continually be focused on what the temperature of the data
storage device is and take actions to reduce the temperature and
power consumption of the device without degrading user experience
as caching of data can service short term user requests.
[0027] The logic 200 of FIG. 5 can serve to strategically adjust
data storage device temperatures by reducing the rotational speed
of the data storage media via one or more intervals, such as 500,
1000, or 5000 rpm reductions. While the data storage device could
be simply powered off at the presence of an elevated temperature,
such action would be detrimental to power consumption as it takes
more power to spin the media up than is saved from spinning them
down. In other words, logic 200 provides a balance of heat
dissipation with power consumption by spinning the data storage
media down gradually in response to elevated temperatures. During
high volume command queue conditions, such as operating system
loading, logic 200 can provide optimized heat and power balance
that maintains system performance. However, in low or sporadic
command queue conditions that can correspond with the use of mobile
computing devices, logic 200 may not balance power consumption with
heat dissipation as well due to the device spinning and heat being
stable below the predetermined threshold.
[0028] FIG. 6 displays an example power management scheme 220 that
can be carried out by a controller in a mobile data storage
environment in accordance with assorted embodiments to more
aggressively conserve power, which can be particularly useful in
low processing times. While not required, scheme 220 can be
triggered in response to a predetermined period of system idleness,
such as 1 minute, when the data storage device is powered off by
parking the transducing heads and rotation of the data storage
media is stopped regardless of the temperature of the device. In
yet, scheme 220 can alternatively be continually running
individually or in combination with other scheme and logic.
Initiation of the power management scheme 220 begins with step 222
receiving at least one read command from a host. Step 224 proceeds
to check local or network cache for the requested data. In the
event the data is found in cache, the scheme 220 can return the
data to the host without alteration of the condition of the
rotating data storage device. A failure to locate the requested
data in step 224 then conducts decision 226 where a determination
if the data storage device is spinning is accomplished. Spinning
data storage media results in step 228 executing at least one
command from the command queue at the next available command
window, such as command window established in step 206 of logic
200. If the media are stationary, step 230 next holds the command
while the media are spun to a predetermined speed, such as 9000
rpm, in step 232. Completion of step 232 allows step 228 to
subsequently execute the command at the next available command
window.
[0029] At the end of the command window where at least one command
is executed in step 228, step 234 flushes local cache and parks
transducing heads before the data storage device is powered off in
step 236. Various embodiments follow a predetermined spinning down
profile that allows for efficient spinning up if a new command is
received while other embodiments abruptly spin down and power off
the data storage device in an effort to maximize power
conservation. It is contemplated that a host can set and adjust the
degree of power conservation in the power management scheme 220,
such as by setting high or low conservation settings that
correspond to different spinning down profiles.
[0030] The use of the command queue profile routine 180 of FIG. 4,
command logic 200 of FIG. 5, and power management scheme 220 of
FIG. 6 can be used individually and concurrently to balance power
consumption with temperature control. In some embodiments, the
controller of a data storage device intelligently executes the
various schemes and logic to adapt to how the mobile computing
device is being used. FIG. 7 conveys an example power conservation
routine 240 that can be conducted in accordance with various
embodiments to intelligently conduct proactive and reactive
mitigation of power consumption in a mobile computing device.
[0031] It is contemplated that any number of steps and decisions
can be carried out prior to step 242 predicting at least one
command queue activity based on a derived profile. For example,
routine 180 may be conducted to start or update a derived profile
that is utilized in step 242 to predict one or more command queue
activities, such as a change in command volume in the queue,
increase in command execution, and establishment of a backlog of
commands in the queue. A prediction of any kind of command queue
activity or system activity, such as high or low processing
volumes, can trigger step 244 to adjust the rotational speed of a
data storage medium.
[0032] As a non-limiting example, step 242 can predict low command
queue volumes or slow intake of queue commands prior to step 244
slowing the rotation of the data storage medium by a predetermined
interval, such as 500 rpm or 25% of operating speed. The prediction
of command queue activity can allow step 244 to proactively save
power by slowing the rotational speed of the data storage medium in
response to the command queue meeting certain parameters, like
number of new or executed commands over a given time. Step 244 can
alternatively increase the rotational speed of the data storage
medium to allow increased numbers of commands to be executed in the
future, which can reduce power consumption compared to gradually
executing commands over a longer period of time.
[0033] Although use of a derived profile can increase the accuracy
of command queue predictions in step 242, a prediction and
adjustment of rotational speed can be incorrect. Decision 246
evaluates if a proactive action by a controller in step 244 is
correct. A verification that one or more preceding rotational speed
adjustments is correct cycles routine 240 to step 242 where command
queue activities are continuously, sporadically, and routinely
predicted. An incorrect prediction or adjustment to the rotational
speed of the data storage medium can correspond with a
predetermined time interval, such as 1, 5, 10, 30, and 60 seconds
or more, which defines a timeout interval of failed command queue
activities.
[0034] That is, decision 248 can identify if an incorrect command
queue prediction and data storage medium rotational speed
adjustment corresponds with an unwanted delay in the execution or
volume of commands in the queue. In the event an incorrect
prediction and/or rotational adjustment doesn't result in command
execution over the timeout interval, step 250 updates the derived
profile to evolve the derived profile to better predict future
command queue activities when step 242 is revisited. A command
queue delay over the timeout interval causes step 252 to reduce the
rotational speed of the data storage medium by a predetermined
interval that may be the same, or different than the interval of
step 244.
[0035] A contemplated, but not required, embodiment of routine 240
involves the prediction of slow or inactivity in the command queue
and steps down the rotational speed of the data storage medium in
uniform or varying intervals to a low power rotation, such as 500
rpm. The gradual stepping of the rotational speed downward allows a
mobile computing device to quickly and seamlessly respond to
predicted or actual changes in user and command queue activity by
bringing the rotational speed of the data storage medium to an
operational status, such as 5600 or 9000 rpm. The power consumed by
a mobile computing device executing routine 240 can be optimized by
turning the spindle motor off continually or intermittently to
reduce the rotational speed of the data storage medium.
[0036] The various aspects of routine 240 are not required or
limiting as any portion of the routine 240 can be changed, added,
and removed at will. For example, a step can be inserted that
generates a derived profile or stops rotation of the data storage
medium altogether. Through the assorted embodiments described
herein, a mobile computing device can predict command queue
activity and mitigate power consumption. The ability to selectively
respond to predicted command queue activity by decreasing the
rotational speed of the data storage medium is complemented by the
gradual reduction of rotational speed that enables seamless return
to an operating rotational speed.
[0037] It will be appreciated that the technology described above
can readily be utilized in any number of applications, including
computing environments with cooling means. It is to be understood
that even though numerous characteristics of various embodiments of
the present disclosure have been set forth in the foregoing
description, together with details of the structure and function of
various embodiments, this detailed description is illustrative
only, and changes may be made in detail, especially in matters of
structure and arrangements of parts within the principles of the
present technology to the full extent indicated by the broad
general meaning of the terms in which the appended claims are
expressed. For example, the particular elements may vary depending
on the particular application
* * * * *