Disk power management method, computer program, data storage device, and computer system
Abstract
Problem to be solved.To provide disk power management conscious of reliability. A token value is retained based on an acceptable number of low power migrations of the hard disk drive that does not adversely affect reliability compared to the actual number of low power migrations of the hard disk drive. Will be done. The acceptable number of low power transitions increases during the life of the hard disk drive. Before the hard disk drive performs a low power migration, the token is evaluated to determine if the hard disk drive is allowed to perform a low power migration. Low power transitions considered include head parking and hard disk drive spindown. [Selection diagram] Fig. 1

Term
Projected expiry 2 December 2031.
- Priority
- Filed
- Published
- Today
- Projected expiry
21 claims: 6 independent, 15 dependent
- 1ハード・ディスク・ドライブによって消費される電力を管理する方法であって、 ハード・ディスク・ドライブの低電力移行の実際の数と比較した、前記ハード・ディスク・ドライブの低電力移行の許容可能数に基づく、トークン値を保持するステップであって、低電力移行の前記許容可能数は、前記ハード・ディスク・ドライブの寿命中に増加する、前記ステップと、 前記ハード・ディスク・ドライブが、電力を節約するために低電力状態にされるべきであると決定するステップと、 前記ハード・ディスク・ドライブが低電力移行を実行することが許容されるかどうかを決定するために、前記トークン値を評価するステップと、 前記ハード・ディスク・ドライブの前記低電力移行を許容すると前記トークン値が評価されれば、前記ハード・ディスク・ドライブの前記低電力移行を実行するステップと、 を含む、前記方法。
- 2前記低電力移行は、 前記ハード・ディスク・ドライブをスピン・ダウンするステップ を含む、請求項1に記載の方法。
- 3前記低電力移行は、 前記ハード・ディスク・ドライブのヘッドをパーキングするステップ を含む、請求項1に記載の方法。
- 4前記トークン値の前記保持は、 周期的に前記トークン値をインクリメントするステップと、 前記ハード・ディスク・ドライブの前記低電力移行の実行と関連する時点に、前記トークン値をデクリメントするステップと、 を含み、前記トークン値の前記評価は、 前記トークン値が所定の値よりも大きければ、前記ハード・ディスク・ドライブに関して前記低電力移行が許容可能であると決定するステップ を含む、請求項1に記載の方法。
- 5前記所定の値は、ゼロである、請求項4に記載の方法。
- 6前記ハード・ディスク・ドライブの前記低電力移行を実行する前に、前記ハード・ディスク・ドライブの前記低電力移行の実行を許容すると前記トークン値が評価されるのを待つステップ をさらに含む、請求項1に記載の方法。
- 7前記トークン値の前記保持は、 周期的に前記トークン値の第1のフィールドをインクリメントするステップと、 前記ハード・ディスク・ドライブの前記低電力移行の実行と関連する時点に、前記トークン値の第2のフィールドをインクリメントするステップと、 を含み、前記トークン値の前記評価は、 前記トークン値の前記第1のフィールドが前記トークン値の前記第2のフィールドよりも、少なくとも所定の値大きければ、前記ハード・ディスク・ドライブに関して前記低電力移行が許容可能であると決定するステップ を含む、請求項1に記載の方法。
- 8最後の電力管理移行のときからのタイマを保持するステップと、 前記ハード・ディスク・ドライブの前記低電力移行を実行する前に、前記タイマが所定の時間を超えるのを待つステップと、 をさらに含む、請求項1に記載の方法。
- 9ハード・ディスク・ドライブによって消費される電力を管理するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、 非一時的コンピュータ可読記憶媒体を用いて具現化されたコンピュータ可読プログラム・コードを有する、前記非一時的コンピュータ可読記憶媒体 を含み、前記コンピュータ可読プログラム・コードは、 請求項1に記載の方法を実施するよう構成されたコンピュータ可読プログラム・コード を含む、コンピュータ・プログラム。
- 10回転可能な記憶媒体と、 前記回転可能な記憶媒体をスピンさせることができるモータと、 前記モータを制御することができ、トークン記憶構成要素および制御インターフェースを含むディスク・コントローラと、 を含むデータ記憶デバイスであって、前記ディスク・コントローラは、 前記トークン記憶構成要素に記憶された値を周期的にインクリメントし、 前記トークン記憶構成要素の前記値のリクエストに応答して、前記トークン記憶構成要素に記憶された前記値を、前記制御インターフェースを経由して提供するよう構成されている、データ記憶デバイス。
- 11前記ディスク・コントローラは、 前記データ記憶デバイスを低電力状態にするリクエストを、前記制御インターフェースを介して受け取り、 前記トークン記憶構成要素に記憶された前記値が所定の値よりも大きければ、 前記トークン記憶構成要素に記憶された前記値をデクリメントし、 前記データ記憶デバイスを前記低電力状態にするようさらに構成されている、請求項10に記載のデータ記憶デバイス。
- 12前記ディスク・コントローラは、 前記データ記憶デバイスを前記低電力状態にする前に、トークン記憶構成要素に記憶された前記値が前記所定の値よりも大きくなるのを待つようさらに構成されている、請求項11に記載のデータ記憶デバイス。
- 13前記ディスク・コントローラは、 最後のディスク・アクセス・コマンドが前記制御インターフェースを介して受け取られたときからの経過時間を測定し、 前記経過時間が所定の経過時間を超え、前記トークン記憶構成要素に記憶された前記値が所定の値よりも大きければ、 前記トークン記憶構成要素に記憶された前記値をデクリメントし、 前記データ記憶デバイスを低電力状態にするようさらに構成されている、請求項10に記載のデータ記憶デバイス。
- 14プロセッサと、 前記プロセッサに通信可能に結合されたメモリと、 前記プロセッサに通信可能に結合されたディスク・インターフェース・ユニットと、 前記ディスク・インターフェース・ユニットに通信可能に結合されたハード・ディスク・ドライブと、 を含むコンピュータ・システムであって、前記ハード・ディスク・ドライブは、 回転可能な記憶媒体と、 前記回転可能な記憶媒体をスピンさせることができるモータと、 前記モータを制御することができるディスク・コントローラと、 を含み、前記コンピュータ・システムは、 前記ハード・ディスク・ドライブの低電力移行の実際の数と比較した、前記ハード・ディスク・ドライブの低電力移行の許容可能数であって、前記ハード・ディスク・ドライブの寿命中に増加する、前記許容可能数に基づくトークン値を保持し、 前記ハード・ディスク・ドライブが、電力を節約するために低電力状態にされるべきであると決定し、 前記ハード・ディスク・ドライブが低電力移行を実行することが許容されるかどうかを決定するために、前記トークン値を評価し、 前記ハード・ディスク・ドライブの前記低電力移行を許容すると前記トークン値が評価されれば、前記ハード・ディスク・ドライブの前記低電力移行を実行するよう構成されている、コンピュータ・システム。
- 15前記コンピュータ・システムは、 前記ハード・ディスク・ドライブの前記低電力移行を実行する前に、前記ハード・ディスク・ドライブの前記低電力移行の実行を許容すると前記トークン値が評価されるのを待つようさらに構成されている、請求項14に記載のコンピュータ・システム。
- 16前記トークン値は、前記メモリに記憶されている、請求項14に記載のコンピュータ・システム。
- 17前記トークン値は、前記ディスク・コントローラに記憶されている、請求項14に記載のコンピュータ・システム。
- 18前記プロセッサは、前記ハード・ディスク・ドライブを低電力状態にするためのコマンドを、前記ディスク・インターフェース・ユニットを経由して前記ディスク・コントローラへ送るよう構成されており、 前記ディスク・コントローラは、前記ハード・ディスク・ドライブの前記低電力移行を許容すると前記トークン値が評価されれば、前記コマンドに応答して前記ハード・ディスク・ドライブの前記低電力移行を実行するよう構成されている、請求項17に記載のコンピュータ・システム。
- 19前記ディスク・コントローラは、 最後のディスク・アクセス・コマンドが受け取られたときからの経過時間を測定し、 前記経過時間が所定の経過時間を超えれば、前記ハード・ディスク・ドライブが低電力状態にされるべきであるという前記決定を実施し、 前記ハード・ディスク・ドライブの前記低電力移行を許容すると前記トークン値が評価されれば、前記ハード・ディスク・ドライブの前記低電力移行の前記実行を実施するよう構成されている、請求項17に記載のコンピュータ・システム。
- 20前記低電力移行は、 前記ハード・ディスク・ドライブをスピン・ダウンすること を含む、請求項14に記載のコンピュータ・システム。
- 21前記低電力移行は、 前記ハード・ディスク・ドライブのヘッドをパーキングすること を含む、請求項14に記載のコンピュータ・システム。
Independent claims21
48 paragraphs, as filed
This subject relates to hard disk drives, and in particular to managing the power of hard disk drives.
Many computer systems utilize hard disk drives to store data. Typical hard disk drives today utilize one or more disks that are coaxially located and spun using an electric motor. Data may be written and read using a magnetic head for each disc that "floats" very close to each disc. The data is written by using a head to magnetize a small area of the disc to a particular polarity and is read by using the head to detect the polarity of each area. The head is typically driven by an actuator, such as a voice coil actuator, to position the head at the desired distance from the axis of the disc, thereby creating a large number of concentric circles of different data on each disc. Will be possible. Motors, actuators, and magnetic heads may be controlled by a disk controller, which may also provide a disk interface, which provides access to hard disk drives and It can be used by a computer system to perform that control. The entire hard disk drive may be contained within a housing, which has exposed power and disk interface connections to allow interconnection with the rest of the computer system.
Many computer systems, including servers, desktops, and portable computers, can operate in power-saving modes to reduce power consumption for both cost savings and environmental friendliness. Some aspects of power saving may also be controlled from within the operating system using technologies such as those specified in the Advanced Configuration and Power Interface (ACPI) standard. Other aspects may be managed directly by individual devices. Yet other aspects may be explicitly managed by the application.
Hard disk drives can be a major contributor to power consumption in many computer systems, especially in computer systems such as servers that may utilize a large number of hard disk drives. Hard disk drives may also provide one or more low power operating conditions. Since the motor may account for most of the power consumed by the hard disk drive, some low power conditions may turn off the motor that spins the disk as a way to save power.
<p> An object of the present invention is to provide reliable disk power management.</p>
<p> Various embodiments of the method of managing the power consumed by a hard disk drive are low on the hard disk drive compared to the actual number of low power transitions on the hard disk drive. Includes a step of holding a token value based on an allowable number of power transitions. The acceptable number of low power transitions increases during the life of the hard disk drive. When it is determined that the hard disk drive should be put into a low power state to save power, the token value is evaluated and the hard disk drive is allowed to perform a low power transition. It is decided whether or not it will be done. The low power migration of the hard disk drive is performed if the token value evaluates to allow the low power migration of the hard disk drive. Other embodiments include hard disk drives and systems that implement each aspect of how to manage the power consumed by hard disk drives.</p>
<figref num="1">Block diagrams of various aspects of hard disk drives suitable for various power management embodiments are shown.</figref><figref num="2">Block diagrams of various aspects of hard disk drives suitable for various power management embodiments are shown.</figref><figref num="3">It is a flowchart of some aspects of various embodiments of hard disk drive power management.</figref><figref num="4">It is a flowchart of some aspects of various embodiments of hard disk drive power management.</figref><figref num="5">It is a flowchart of some aspects of various embodiments of hard disk drive power management.</figref><figref num="6">FIG. 3 is a block diagram of a system suitable for various embodiments of hard disk drive power management.</figref>
The accompanying drawings are incorporated herein by reference and constitute a portion thereof and show various embodiments of the present invention. Along with the general description, the drawings help explain the principles of the various embodiments.
In the following detailed description, a number of specific details are provided as examples to provide a complete understanding of the various embodiments. As a matter of course to those skilled in the art, the embodiments of the present disclosure may be practiced without such details. In other cases, well-known methods, procedures, and components are described at a relatively high level and without details to avoid unnecessarily obscuring aspects of the concept. Several descriptive terms and expressions are used to describe various embodiments of the present disclosure. These descriptive terms and expressions are used to convey the meaning generally agreed upon by one of ordinary skill in the art, unless another definition is given herein. For clarity, some descriptive terms and expressions are given in the following paragraphs.
"Head parking" (or "parking the head" or "parking this head") refers to moving the head of a hard disk drive away from the surface area of the disk. This may also be done to eliminate the possibility of disc damage during rotation, which can be caused by physical contact between the head and the disc. This may also be done to reduce the amount of power consumed by the voice coil actuator. In some embodiments, the heads (s) may be placed in a ramp (s) to keep them away from the surface area of the disc.
"Spin down" refers to the process of turning off the motor that spins a disk in a hard disk drive. In some embodiments, the disc (s) may completely spin up, but in other embodiments, the disc may spin up again without completely stopping spin. Or, the disc cannot be stopped completely and may simply spin much slower.
"Spin up" refers to the process of turning on the motor that spins the disc. Depending on the embodiment and circumstances, the disc may be spun up from a completely stationary state, from a stage where it is still decelerating as part of a spin down, or from a slower speed. In some embodiments, the spin-up process further heads (s) over the disk surface to re-prepare the hard disk drive for writing or reading data to the disk (s). Or it may include relocating).
Hard disk drives can also be a major factor in the power consumption of some computer systems, especially servers that utilize a large number of hard disk drives. One of the largest contributors to power usage by hard disk drives is typically the motor that spins the disk. Therefore, one of the most effective ways to save power in computer systems is considered to be hard disk drive spin-down. However, hard disk drives may also be designed to handle spin-up / spin-down cycles only to a certain number during the life of the motor without compromising reliability. As a computer system repeatedly spins up and down its hard disk drive, its spin-up / spin-down cycles are designed to be processed by the motor and bearings during their lifetime. It is possible that the number of spin-up / spin-down cycles may be exceeded. Managing the number of spin-up / spin-down cycles so that the maximum allowable number of spin-up / spin-down cycles is not exceeded can be a way to improve the reliability of computer systems.
Similarly, hard disk drives may be designed to provide only a limited number of head parkings, beyond which reliability can be compromised. Therefore, managing head parking activity so that it does not exceed the maximum permissible number of head parking activity during the life of the hard disk drive is another way to improve the reliability of the computer system. obtain.
As an example, in one embodiment, the hard disk drive may be targeted for 100,000 hours of operation. This hard disk drive may have a design life of 400,000 head parking operations and 300,000 spin-up / spin-down cycles. Therefore, in order to improve the reliability of the computer system, it is desirable not to exceed the design life of various operations of the hard disk drive.
Hereinafter, the example shown in the attached drawing and described below will be referred to in detail.
FIGS. 1 and 2 show block diagrams of various aspects of the hard disk drive 100 suitable for various embodiments of power management. Both figures show one or more rotatable disks 101 and a motor 102 that spins the disks 101. In many embodiments, the disc 101 should be coated with a magnetic material to allow magnetic storage of data. In other embodiments, the disc may be designed to allow optical storage of data. Data may be stored on disk 101 using any method. A disk controller 110 capable of controlling the motor 102 and / or the voice coil actuator 130 may be provided. The disk controller may further include a processor 111 that manages the functionality of the disk controller 110. Processor 111 may include memory for storing program instructions and / or data. Such memory may be volatile or non-volatile and may be incorporated into processor 111 or as a separate component on disk controller 110. The processor 111 is often communicatively coupled to the disk interface unit 119, which is a serial ATA (SATA), small computer. It is configured to communicate over the I / O bus 120, such as a Small Computer Systems Interface (SCSI), fiber channel, or other protocol.
The disk controller 110 may also include a timer 113. The timer 113 may provide various functions including, but not limited to, providing a notification that a certain time has elapsed. In addition, it may provide the ability to interrupt processor 111 after a particular interval. In addition, it may provide the ability to update the elapsed time storage component 117, which is readable by the processor 111 and has elapsed since the elapsed time storage component 117 was last reset. Measure the time. The elapsed time storage component 117 may further have the ability to interrupt the processor 111 beyond the set time.
FIG. 1 shows components that may be useful in some embodiments controlling the motor 102 of the hard disk drive 100. The motor controller 112, which may be communicably coupled to the processor 111, is configured to control the motor 102 via a link 103. The motor controller 112 is a field effect transistor (FET). Transistors), bipolar transistors, or other electronic devices may be utilized to control the power flowing through the link 103 to the motor 102. In other embodiments, the motor may have a direct power connection and the link 103 may simply provide on / off instructions from the motor controller 112 to the motor 102. In other embodiments, the link 103 may provide the motor 102 with additional information such as desired speed or other control information. The first token storage component 115 may be provided on the disk controller. Note that in some embodiments, the first token storage component 115 does not have to be located on the disk controller and may be provided as a memory location on the host computer or any other suitable location. Note that in the embodiment shown in FIG. 1, the first token storage component 115 is accessible by processor 111, and in various embodiments, processor 111, or other component of disk controller 110. Can be read, written, incremented, decremented, or modified by the action of. The content of the first token storage component 115 can also be accessed by the host computer or other device via the I / O bus 120 by sending a command requesting that content. Processor 111 may respond to such a command by reading the contents of the first token storage component and returning it to the I / O bus 120 via disk interface unit 119. ..
FIG. 2 shows components that may be useful in other embodiments that control head parking of the hard disk drive 100. The actuator controller 132, which may be communicably coupled to the processor 111, is configured to control the voice coil actuator 130. The voice coil actuator 130 moves the arm (s) 136 to place the head (s) 134 on the desired portion of the rotatable disk (s) 101 as needed. .. In some situations, processor 111 decides to park the head and communicates with the actuator controller 132 to move the head (s) 134 to the ramp (s) 138. Control the voice coil actuator 130 to move the singular or plural) 136. The head (s) 134 may be placed out of contact with the disc (s) 101 by moving it to the ramp (s) 138, resulting in the disc (s) 101. Damage is avoided. A second token storage component 135 may be provided on the disk controller. Note that in some embodiments, the second token storage component 135 does not have to be located on the disk controller and may be provided as a memory location on the host computer or any other suitable location. Note that in the embodiment shown in FIG. 2, the second token storage component 135 is accessible by processor 111, and in various embodiments, processor 111, or other component of disk controller 110. Can be read, written, incremented, decremented, or modified by the action of. The content of the second token storage component 135 is sent to the host computer or other device via the I / O bus 120 by sending a command requesting that content. It can also be accessed by a vise. Processor 111 may respond to such a command by reading the contents of the second token storage component and returning it to the I / O bus 120 via disk interface unit 119. ..
Commands may be sent from the computer system or other device to the disk controller 110 via the I / O bus 120. The command may be a write or read of data, or it may be another command, including a power management command. Some power management commands may request that the hard disk drive 100 be put into a low power state. Different low power conditions can be supported in different embodiments. Some embodiments may provide only a single low power state in addition to the operating state. Other embodiments may provide multiple low power states in addition to the operating states. Some low power states that may be provided in various embodiments are: (a) bringing at least a portion of the electronic circuitry of the disk controller 110 to a low power state, such as by using techniques such as clocking off the processor 111. (b) Park the head (s) 134 on the ramp (s) 138, (c) turn off the motor 102 so that the disk (s) 101 can stop spinning, (d) Slow down the spin pace of the disk (s) 101, but keep the head (s) 134 spinning fast enough to keep it "floating" on the disk (s) 101, (s). e) Disable various parts of the disk controller 110, such as the data cache, or include, but are not limited to, combinations of techniques (a)-(e). A low power transition occurs when a disk drive enters a low power state. The low power transition may be associated with resources such as motor 102 or head (s) 134 that are likely to be affected by a particular low power condition. A particular type of low power transition is a transition to a low power state that affects a particular resource. Low power migration of the resource on hard disk drive 100 using the first token storage component 115 and / or the second token storage component 135. It is preferable that the token value related to the resource of the hard disk drive 100 is retained based on the allowable number of low power migrations of the resource of the hard disk drive 100 compared to the actual number of the hard disk drive 100. Therefore, tokens may be involved in certain types of low power transitions that affect certain resources.
3-5 are flowcharts 200, 210, 220 of some aspects of various embodiments of power management of the hard disk drive 100. Various embodiments may implement one or more of the methods shown in flowcharts 200, 210, 220. The method may be performed simultaneously, continuously, or in some way alternately. The methods described above in Figures 3-5 may be used to ensure that a particular hard disk drive does not exceed the acceptable number of power management transitions during its lifetime. In some embodiments, one token may be used to represent multiple drives managed as a group, such as a RAID set of hard disk drives.
FIG. 3 shows a flowchart 200 that increments the token value at certain time intervals. In one embodiment, the timer 113 may generate a timer tick at block 201 of flowchart 200. Timer ticks may be used in block 202 to increment one or both tokens, or a field of tokens (s). Subsequently, the method waits for the next timer tick at block 203.
The timer 113 may be configured to generate a timer tick only when the hard disk drive 100 is powered and operational. In some embodiments, this may include when the drive is in a low power state, while in other embodiments the timer 113 may be disabled in certain low power states. In other embodiments, the timer 113 may always run and is battery powered even when the hard disk drive 100 is not connected to a power source. In some embodiments, the token storage components (s) 115, 135 may be incremented directly by a timer tick, but in other embodiments, the processor 111 causes the processor 111 to have a token storage component. You may receive a timer tick from timer 113 that prompts you to increment 115, 135 (singular or plural). In embodiments where one or both of the token storage components 115, 135 are implemented outside the disk controller 110, other methods are used to hold the token storage components (s) 115, 135. You may. For example, if the token storage components (s) 115, 135 are implemented in the memory of the host computer system, then the hardware timer of the host computer and / or operating system function is the host computer. It may be used by the CPU of the system to allow it to increment the token storage components (s) 115, 135 at appropriate intervals. Incrementing the token value (s) represents the number of acceptable power management transitions that can be increased by taking into account the increase in the amount of time the hard disk drive 100 has been in use.
The timer tick interval is set using information about the hard disk drive 100, such as the expected operating life and the design life for head parking and / or spin-up / spin-down operation. May be good. So, for example, a hard disk drive 100 has an expected operating life of 100,000 hours (about 11.5 years), a design life of 400,000 head parking operations and 300,000 spin-up / spin-down cycles. If so, the first token storage component 115 should be incremented at a target interval of 20 minutes (100,000 hours / 300,000), and the second token storage component 135 should be incremented at a target interval of 15 minutes (100,000 hours / 400,000). It should be incremented at intervals. The time interval used can be calculated using the specifications of a particular hard disk drive 100, chosen based on field reliability data, defined based on engineering judgment, or It can also be determined by any other method. In some embodiments, the time interval does not have to be exactly the same for each increment for a variety of reasons. With respect to the specification and claims of the present disclosure, the time interval may vary significantly. The time of a particular interval is not important as long as the average interval over a long period of time is essentially in line with the target interval.
FIG. 4 shows a flowchart 210 of how to manage whether a hard disk drive 100 may enter a low power state when it is requested to move to a low power state. A request to enter a low power state is received by hard disk drive 100 at block 211. Subsequently, at block 212, hard disk drive 100 may evaluate one or more token values associated with resources that may be affected by the transition to the requested low power state. In some embodiments, the low power condition may require parking the head (s) 134 of the hard disk drive 100. In other embodiments, the low power condition may require spinning down the disk 101 of the hard disk drive 100. Yet other embodiments may affect other resources or require more than one resource (parking of 134 heads (s) and spin of discs (s) 101. Both down, etc.). The token value can be evaluated in several different ways in various embodiments. In some embodiments, there is a single token value for a given resource. To evaluate this single token, its value may be compared against a given value, such as zero (0). In other embodiments, the predetermined value is negative and some power management transitions may be "borrowed" in exchange for future allocations of the power management transitions. In other embodiments, the predetermined value may be greater than zero. In another embodiment, two fields are held in each token, one field is incremented by a timer tick, and the power management transition allowed during its lifetime for a given resource at any particular time. The other field represents the total number of, incremented each time the power management transition is actually performed for that resource, and is raw for that resource. It may represent the total number of power management transitions. In that embodiment, the token determines the difference between the two fields and compares it to a given value, such as zero (0), or another value similar to that described above for single-valued tokens. Evaluated by. In some embodiments, the predetermined value may change over time. This may be done to affect the likelihood that a power management transition of the resource will be tolerated. In one embodiment, the predetermined value may be equal to -100 at night and +100 during the day. It should be noted that changes in predetermined values do not have a significant long-term impact on the cumulative power management transition unless they are increased or decreased indefinitely over a long period of time.
If a token is evaluated to indicate that a power management transition is currently unacceptable for that resource, this is represented in block 212 by a token of zero or less, and different actions can be taken in various embodiments. In the embodiment shown in Flowchart 210, the method waits in block 213 for a period of time, then re-evaluates the token in block 212 until the stage where the power management transition is allowed to occur. Effectively delay the power management transition until the token is incremented by the method. In other embodiments, a request that enters a low power state may be replied with an error message without transitioning to a low power state, and in other embodiments, the request may simply be ignored.
If a token is evaluated to indicate that a power management transition is currently allowed for that resource, this is represented by a token greater than zero in block 212, and the token is decremented (or two-field) in block 214. The second field of the token is incremented) and block 215 allows the associated resource to enter a low power state. Next, at block 216, the hard disk drive 100 waits for the next command or access via the I / O bus 120. Depending on the following command or access, hard disk drive 100 may also return the resource to its fully operational state. As mentioned above, resources that can be utilized for power management and associated with tokens include, among other things, parking the head (s) 134 and turning off the motor 102.
In some embodiments, both of the methods shown in FIGS. 3 and 4 may be performed on the hard disk drive 100. In other embodiments, the method shown in Flowchart 200 may be performed on hard disk drive 100, and the method shown in Flowchart 210 uses software running on the host computer. May be carried out. In other embodiments, both methods may be implemented using software running on a host computer communicating with the hard disk drive 100 via the I / O bus 120.
Figure 5 shows the inactivity timer. A flowchart 220 of a method of managing a power management transition based on timer) is shown. When disk access is received at block 221 via the I / O bus 120, the inactive timer may be reset at block 222. The inactive timer may be implemented in some embodiments using the elapsed time storage component 117, and in other embodiments in software running on the host computer. Good. The inactive timer may continue to measure elapsed time in block 223 until new disk access is received in block 224 or the inactive timer exceeds the timeout value in block 225. When new disk access is received at block 224, the inactive timer should be reset again at block 222 and the new period of inactivity should be measured at block 223. At block 225, when the inactivity exceeds the timeout value, at block 226, the token associated with the resource used in the low power state is collated with the predetermined value in a manner similar to that done for Figure 4. Will be done. If the token is evaluated at block 226 to indicate that the resource is currently unacceptable for power management transitions, new disk access is received at block 224, resulting in a reset of the inactive timer at block 222. The inactive timer should continue to grow until, or until the token value is evaluated to allow the power management transition in block 226. If the power management transition is allowed, the token value should be decremented (or the second field is incremented) in block 227, and the hard disk drive 100 is put into a low power state in block 228. Subsequently, at block 229, the method waits for the next disk access. The method in Figure 5 may be performed entirely on hard disk drive 100 or on the host computer.
It should be noted that these methods described above in FIGS. 3-5 do not specify the minimum or maximum pace of power management transitions, but some embodiments may further specify a minimum time between each power management transition. .. For example, the shortest time between head parking, the shortest time between spin down, the shortest time between spin up and spin down (the shortest time to spin up), or spin down and spin up. The shortest time between (the shortest time to spin down), or a combination of either. The described method allows for the accumulation of surpluses in the power management transition, which can be used up later at a faster pace. For example, considering only the spin-down example above, where the spin-down token value is incremented every 20 minutes, the drive begins to be used and is in a nearly constant state of use for the first 30 days, 12 hours a day. As a result, if it is spun down for 12 hours a day and is not used, and if the spin down is performed only once a day, the token value will increase by 3 * 24-1 = 71 per day. At the beginning of the 31st day, it will be a value of 2201.
From day 31, the usage pattern or power management policy changes, and the host computer using that drive spins down the hard disk drive for 1 minute, then spins up the drive to 1 If you start trying to use it for a minute and decrement the token every two minutes, the pattern could last for more than three days, as shown in the calculation below. After 2201 * 2 = 4402 minutes (73.36 hours), the token value will be 73.36 * 3 = 220 based on the token increment that occurred during the first 4402 minutes, and at least 440 minutes of similar behavior is possible. .. After another 440 minutes, the same 1-minute spin-up and 1-minute spin-down patterns, the token value is expected to be 22, and after another 44 minutes, the token value is expected to be 2. An additional 4 minutes of the usage pattern is possible until the value equals zero. Therefore, after a 12-hour spin-up of 30 days and a 12-hour spin-down, the hard disk drive followed by a 1-minute spin-up over 4890 minutes (3 days and 9.5 hours), 1 minute. A spin-down operation could be performed.
If the operating system continues to attempt to operate the hard disk drive in 1-minute spin-up and 1-minute spin-down modes of operation, a token value of zero will cause the hard disk drive to operate. It is possible to wait for the next token increment before spinning down, which means that the wait will be stopped when the next drive access occurs. Therefore, even if the operating system is still trying to run the hard disk drive as a 1-minute spin-up and a 1-minute spin-down, the hard disk drive will only run once every 20 minutes. Only responds to spin-down commands, then spins up the hard disk drive one minute later when re-accessed, one minute spin down, nineteen (19) minutes spin up. Is brought about.
FIG. 6 shows details of a computer system 600 suitable for implementing various embodiments. The computer system 600 is configured in the form of a desktop computer, laptop computer, mainframe computer, or any other hardware or logical device that can be programmed or configured to execute instructions. Good. In some embodiments, the computer system 600 may act as a server that accepts input from remote users via a local area network (LAN) 618 or the Internet 620. In other embodiments, computer system 600 may function as a smart user interface device for servers on LAN 618 or Internet 620. Computer system 600 may be located in one location and interconnected, or distributed in various locations, LAN618 or wide area network (WAN). Through a communication link such as network), over the Internet 620, via a public switched telephone network (PSTN), a switched telephone network, a cellular telephone network, a wireless link, or other similar communication link. It may be interconnected. Other devices may also be suitable for implementing or practicing embodiments or parts of embodiments. Such devices may be personal digital assistants (PDAs), wireless handsets (eg cellular phones or pagers), and others, preferably similar that can be programmed to execute instructions or routines. Includes electronic devices. Of course to those skilled in the art, many different architectures would be suitable for the computer system 600, but Figure 6 shows only one typical architecture.
The computer system 600 is a central processing unit (CPU) as a microprocessor, as two or more parallel processors shown in FIG. It can also include a processor 601 that can be embodied as a unit) or as any other similar control logic or circuit. Processor 601 may be configured to access local cache memory 602 and sends requests for data not in local cache memory 602 to secondary cache memory 604 across cache bus 603. Some embodiments may integrate the processor 601 and local cache memory 602 into a single integrated circuit, while others utilize a single level of cache memory or cache. -You do not have to use memory at all. In other embodiments, multiple processors 601 may be integrated on a single die and / or a single package. Yet another embodiment simply includes a front side bus 605 for communicating a plurality of processors 601 with a plurality of local cache memory 602 along with a secondary cache memory 604 with the memory / bus controller 606. It may be integrated into one processor package 640. Memory / bus controller 606 accepts access from processor (s) 601 and receives it from internal memory 608 or various inputs / outputs (I / O:). input / output) You should go to bus 120, 611, or 613. The disk interface unit 650 can be connected to the I / O bus 120, to the hard disk drive 100, or to the optical disk drive 612 via another I / O bus 611, or the like. Either combination can be used and it may be integrated into the memory / bus controller 606 or it may be a separate chip. Some embodiments of computer system 600 may also include multiple processor packages 640 that share a front side bus 605 to a memory / bus controller. Other embodiments may also have a plurality of processor packages 640 with independent front side bus connections to the memory / bus controller. The memory bus controller can also use the memory bus 607 to communicate with the internal memory 608. Internal memory 608 includes synchronous dynamic random access memory (SDRAM), double data rate (DDR) memory, or other volatile random access memory. It can also contain one or more random access memory (RAM) devices. Internal memory 608 includes electrically erasable / programmable read-only memory (EEPROM), NAND flash memory, NOR flash memory, and programmable read-only memory (PROM). ), Read-only memory (ROM: It can also include non-volatile memory such as read-only memory), battery backup RAM, or other non-volatile memory. In some embodiments, the computer system 600 may also include a tertiary cache memory, or a combination of circuits of this type or other similar type configured to store information in a searchable format. it can. In some implementations, the internal memory 608 may be configured as part of processor 601 or instead may be configured in the same processor package 640, which is separate from processor 601. Processor 601 may be able to access internal memory 608 via a different bus or control line than is used to access other components of computer system 600.
The computer system 600 may further include or have access to one or more hard disk drives 100 (or other types of storage memory) and optical disk drives 612. The optical discs of hard disk drive 100 and optical disk drive 612 are examples of machine-readable (also referred to as computer-readable) media suitable for storing final or intermediate results of various embodiments. Optical disk drive 612 is for removable storage media such as CD-R, CD-RW, DVD, DVD-R, DVD-W, DVD-RW, HD-DVD, Blu-Ray (R), and the like. It can also include a combination of several disk drives in various formats capable of reading and / or writing. Other forms of computer-readable media that may be included in some embodiments of the computer system 600 include flexible disk drives, 9-track tape drives, tape cartridge drives, and solid state drives. , Cassette tape recorders, paper tape readers, bubble memory devices, magnetic strip readers, punch card readers, or any other type of storage medium or computer-enabled storage medium, but limited to these. Will not be done. The computer system 600 includes the hard disk drive 100 and the optical disk drive 612 as an integral part of the computer system 600 (eg, in the same cabinet or enclosure, or using the same power supply, or the same. Both) may be included, may be included as connected peripherals, or the hard disk drive 100 and optical disk drive 612 may be accessed over a network, or a combination thereof is possible. Hard disk drive 100 is configured to store and retrieve data, computer programs, or other information. Often contains a rotating magnetic medium. The hard disk drive 100 often also includes a disk controller that can control the motor to rotate the storage medium and access the data on the medium. In some embodiments, the additional drive may be a solid state drive that uses semiconductor memory. In other embodiments, some other type of computer-enabled medium may be used. The hard disk drive 100 does not necessarily have to be included in the computer system 600. For example, in some embodiments, the hard disk drive 100 is a server storage area in the network accessible to the computer system 600 for storing and retrieving data, computer programs, or other information. You may. In some cases, the computer system 600 may use the storage area of a server storage farm accessible by the Internet 620 or other communication lines, or similar types of storage equipment. The hard disk drive 100 stores software, instructions, and programs executed by the computer system 600, including, for example, all or part of a computer application program for performing activities of various embodiments. Often used to do. Drive 100 may be a server storage area in the network accessible to computer system 600 for storing and retrieving data, computer programs, or other information. In some cases, the computer system 600 may use the storage area of a server storage farm accessible by the Internet 620 or other communication lines, or similar types of storage equipment. The hard disk drive 100 stores software, instructions, and programs executed by the computer system 600, including, for example, all or part of a computer application program for performing activities of various embodiments. Often used to do. Drive 100 may be a server storage area in the network accessible to computer system 600 for storing and retrieving data, computer programs, or other information. In some cases, the computer system 600 may use the storage area of a server storage farm accessible by the Internet 620 or other communication lines, or similar types of storage equipment. The hard disk drive 100 stores software, instructions, and programs executed by the computer system 600, including, for example, all or part of a computer application program for performing activities of various embodiments. Often used to do.
I / O bus 120 and / or I / O bus 611 may be used to access the contents of hard disk drive 100 and optical disk drive 612. These input / output buses 120 and 611 can also be used as point-to-point links such as Serial Advanced Technology Attachments (SATA) or Parallel Advanced Technology (PATA). As a bus-type connection such as Attachment) or Small Computer System Interface (SCSI), as a daisy chain topology such as IEEE-1394, as a link to support various topologies such as Fiber Channel, or otherwise. , Any computer communication protocol, standard, or proprietary that can be used to communicate with computer readable media. The memory / bus controller may also provide other I / O buses 613. In some embodiments, the input / output bus 613 is a peripheral component interface (PCI), a microchannel, an industry standard architecture (ISA) bus, and an extended industry standard (EISA). architecture) Bus, VERSA module Eurocard (VME: VERSA module) It may be a shared bus architecture, such as a Eurocard) bus, or any other shared computer bus. In other embodiments, the I / O bus 613 may be a point-to-point link such as PCI-Express, HyperTransport, or any other point-to-point I / O link. Various I / O devices may be configured as part of computer system 600. In many embodiments, network interface 614 may be included to allow computer system 600 to connect to LAN 618. LAN618 is an IEEE802.3 Ethernet network, an IEEE802.11 Wi-Fi wireless network, or any other LAN, WAN, or personal area network (PAN). It can be any type of computer network including, but not limited to, network), wired networks, radio frequency networks, powerline networks, and optical networks. The network gateway 619 or router may be a separate component of the computer system 600 or may be included as an integral part of the computer system 600 and is connected to the LAN 618 so that the computer system 600 is asymmetric. Digital subscriber line (ADSL), data over cable service interface (DOCSIS) It may be possible to communicate with the Internet 620 via an Internet connection 621, such as a specification) link, T1, or other Internet connection mechanism. In other embodiments, the computer system 600 may have a direct connection to the Internet 620. In some embodiments, expansion slot 615 may be included to allow the user to add additional functionality to the computer system 600.
Computer system 600 includes universal serial bus (USB) 626, RS-232 and other serial ports, parallel ports, audio input 624 and audio output 622 connections, high performance serial bus IEEE. It can also include an I / O controller 616 that provides access to an external communication interface such as -1394, or any other communication link, or a combination thereof. Such a connection may further have a separate circuit in some embodiments, or may be connected via a bridge to another computer communication link provided by the I / O controller 616. In addition, a graphics controller 617 may be provided to allow applications running on processor 601 to display information to the user. The graphics controller 617 has an analog video graphic array (VGA) connection and a digital video interface (DVI). Output video via video port 629, which can take advantage of standard or proprietary formats, such as interface), digital high definition multimedia interface (HDMI) connections, or any other video connection. You may. Video port 629 may be connected to Display 630 to present video information to the user. The display 630 provides information to the user, such as a liquid crystal display (LCD), a cathode ray tube (CRT) monitor, an organic light emitting diode (OLED) array, or any other type of information. It may be any of several types of displays, including displays suitable for display. Display 630 is one or more light emitting diodes (LEDs). It can also include diode) indicator lights, or other similar display devices. Typically, the computer system 600 has one or more user inputs and outputs (I / O), such as a keyboard 627, a mouse 628, or other means of controlling the indicated cursor, or a combination thereof. Devices are included, and other means of controlling the cursor include, but are not limited to, touch screens, touchpads, joysticks, trackballs, tablets, or other devices. The user I / O device may be connected to computer system 600 using a USB626 interface or other connection such as an RS-232, PS / 2 connector or other interface. Some embodiments include a webcam 631 which may be connected using a USB 626, a microphone 625 connected to an audio input 624, a speaker 623 connected to an audio output 622, or a combination thereof. You can also do it. A keyboard 627 and mouse 628, a speaker 623, a microphone 625, a webcam 631, and a display 630 provide a means of presenting information to the user, or information and other inputs used to perform various programs and calculations. It may be used in various combinations or separately as a means of receiving from, or both. Voice recognition software may be used with the microphone 625 to receive and interpret user voice commands.
The computer system 600 may be suitable for an embodiment that manages the power of the hard disk drive 100. For example, the processor 601 can perform or control a microprocessor, a microcontroller, a DSP, a RISC processor, two or more parallel processors, or any other function, activity, and method described herein. It may be embodied as any kind of processing unit that you will recognize. The processing unit according to at least one of the various embodiments is compliant with hard disk drive 100, optical disk drive 612, or any other type of hard disk drive, flexible disk, flash memory. Can run computer software programs stored (embodied) on computer-readable media such as RAM, or other computer-readable media known to those of skill in the art.
As will be appreciated by those skilled in the art, aspects of various embodiments can be embodied as systems, methods or computer program products. Accordingly, aspects of the invention are all generally "circuits", "circuits", "circuits", as defined herein, in whole hardware embodiments, in full software embodiments (including firmware, resident software, microcode or the like), or herein. It may take the form of an embodiment that combines software and hardware aspects, which may be referred to as a "module", "hard disk drive", "logical", or "system". Further, various aspects of the embodiment can also take the form of a computer program product embodied in one or more computer-readable media (s) in which the computer-readable program code is stored.
Any combination of one or more computer-readable media (s) can be utilized. A computer-readable medium is typically a computer-readable storage medium. The computer-readable storage medium may be, for example, electronic, magnetic, optical, electromagnetic, infrared, or a semiconductor system, device, or device, or any other similar storage device known to those of skill in the art, or any suitable combination of those described above. May be embodied as. Examples of such computer-readable storage media include portable computer diskettes, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), portable compact disc read-only memory (CD-ROM: compact disc read-only) memory), optical storage devices, magnetic storage devices or any suitable combination of the above. In the context of this document, the computer-readable storage medium may be any tangible medium that can contain or store programs used by or in connection with instruction execution systems, devices or devices.
Computer program code that performs the operations of various aspects of the embodiment is an object-oriented programming language such as Java (R), Smalltalk (R), C ++ or the like, and a "C" programming language or similar programming. It may be written in any combination of one or more programming languages, including traditional procedural programming languages such as languages. According to various implementations, the program code, as a stand-alone software package, can be executed entirely on the user's computer, partially on the user's computer, or partially on the user's computer. It can also run on a computer, partly on a remote computer, or entirely on a remote computer or server. In the latter scenario, a remote computer may be connected to the user's computer or to an external computer via any type of network, including a local area network (LAN) or wide area network (WAN). May be (eg, via the Internet using an Internet service provider).
Aspects of the various embodiments are described with reference to flow charts and / or block diagrams of the methods, devices, systems, and computer program products according to the various embodiments disclosed herein. Of course, the various blocks of the flow chart and / or block diagram, and the combination of multiple blocks of the flow chart and / or block diagram, can be implemented by computer program instructions. The computer program instruction is provided to the processor of a general purpose computer, dedicated computer, or other programmable data processor to give rise to the machine, and this instruction is made using the processor of the computer or other programmable data processor. It can also be executed to create a means of performing a specified function / operation in a flowchart, a block diagram, or both blocks, or a plurality of blocks.
In addition, the computer program instructions that can instruct a computer, other programmable data processor, or other device to function in a particular way are stored on a computer-readable medium and stored on the computer-readable medium. It is also possible that this instruction yields a product that includes instructions that perform the specified function / operation in one or more blocks of a flow chart and / or block diagram. In addition, computer program instructions are loaded onto a computer, other programmable data processor, or other device to perform a series of operational steps on the computer, other programmable device, or other device. To give rise to a process that is performed on the computer so that the instructions executed on the computer or other programmable device perform the specified function / operation in the block or multiple blocks of the flowchart and / or block diagram. It is also possible to provide the process of.
The flowcharts and / or block diagrams of each drawing serve to illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products of various embodiments. In this context, each block in a flowchart or block diagram can also represent part of a module, segment, or code that contains one or more executable instructions that perform a given logical function (s). .. Further, in some alternative implementations, the functions shown in the blocks may occur in a different order than shown in the drawings. For example, depending on the functionality involved, two blocks shown in succession may actually be executed at virtually the same time, or each block may be executed in reverse order. Further, each block of the block diagram or the flowchart diagram or both, and a combination of a plurality of blocks of the block diagram or the flowchart diagram or both of them are a dedicated hardware-based system or a dedicated hardware-based system that performs a specified function or operation. It can be implemented by a combination of hardware and computer instructions.
The terminology used herein is for illustration purposes only, and is not intended to be a limitation of the present invention. As used herein, the singular forms "a," "an," and "the" shall also include the plural, unless the context explicitly indicates otherwise. Further, of course, as used herein, "comprises," "comprising," "includes," or "including," or any of them. The term for a combination specifies the existence of a described function, integer, step, action, component, or component, or any combination thereof, but one or more other functions, integers, steps, actions. It does not preclude the existence or addition of, components, components, or groups thereof, or any combination thereof. The term "join" as used herein includes direct and indirect connections. In addition, if the first and second devices are coupled, there may be intervening devices, including the active device, between them.
The corresponding structures, materials, operations, and equivalents of all the means or step plus function components of the claims below are optional to perform a function together with other claimed components that are explicitly claimed. It shall include the structure, material, or operation of. The description of the various embodiments is provided for illustration and illustration, but is not intended to be comprehensive or to limit the invention to the disclosed forms. A number of modifications and variations will be apparent to those skilled in the art that do not deviate from the scope and gist of the invention. The various embodiments included herein best describe the principles and practical applications of the present invention, and various embodiments by those skilled in the art with various modifications suitable for the particular application intended. Have been selected and described so that the present invention can be understood.
100 hard disk drive 101 disk 102 motor 103 links 110 disk controller 111 processor 112 motor controller 113 timer 115 First token storage component 117 Elapsed time memory component 119 Disk interface unit 120 I / O bus
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2004110922A | Cites | Japan | Examiner |
| JP2007193449A | Cites | Japan | Examiner |
| JP2007279952A | Cites | Japan | Examiner |
| JP2008114571A | Cites | Japan | Examiner |
9 members in 4 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 12962477 | United States of America | – | |
| 96247710 | United States of America | A | |
| 96247710 | United States of America | A | |
| 2010962477 | – | – | – |
| US20100962477 | – | – | – |
Members9
| Document | Office | Kind | |
|---|---|---|---|
| US2012140355A1 | United States of America | A1 | |
| JP2012123798AThis record | Japan | A | |
| CN102566737A | China | A | |
| TW201232526A | Taiwan Province of China | A | |
| US2013170067A1 | United States of America | A1 | |
| US8677162B2 | United States of America | B2 | |
| US8868950B2 | United States of America | B2 | |
| CN102566737B | China | B | |
| JP5828549B2 | Japan | B2 |
14 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A821A521 | A521 | |
| Notification of resignation of power of sub attorneyJAPANESE INTERMEDIATE CODE: A7434RD14 | RD14 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A821A521 | A521 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A821A521 | A521 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of acceptance of power of sub attorneyJAPANESE INTERMEDIATE CODE: A7432RD12 | RD12 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 2012123798
- Publication, DOCDB
- 2012123798
- Publication, EPODOC
- JP2012123798
- Application
- 264177
- Application, DOCDB
- 2011264177
- Application, EPODOC
- JP20110264177
Titles2
- Japanese
- ディスク電力管理方法、コンピュータ・プログラム、データ記憶デバイス、およびコンピュータ・システム
- English
- Disk power management methods, computer programs, data storage devices, and computer systems
Classification
- CPC, 2
- G11B19/02
- G11B19/2072
- IPC, 2
- G06F3 06
- G06F1 28