説明

磁気ディスク装置、磁気ディスク装置の制御方法

【課題】磁気ディスク装置をアクセス状況に適した性能に調整する磁気ディスク装置、磁気ディスク装置の制御方法を提供する。
【解決手段】コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置であって、コンピュータからコマンドを受信する通信部と、通信部により受信されたコマンドに基づいて、ディスクへのアクセス状況を示す第1情報を生成する情報生成部と、情報生成部により生成された第1情報に基づいて、ヘッド及びディスクの少なくともいずれかの駆動速度の制御を行う制御部とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置、磁気ディスク装置の制御方法に関するものである。
【背景技術】
【0002】
従来、用途に応じて様々な回転数やシーク速度を持つHDD(Hard Disk Drive)装置が製造され、販売されている。ハイパフォーマンスが必要である場合、回転数が早く且つシーク速度が高いHDD装置が求められる。また、パフォーマンスよりも低消費電力・低騒音が求められる場合、回転数が遅く且つシーク速度も低いHDD装置が求められる。
【0003】
なお、従来技術として、ダスト除去のためにシーク起動間隔を制御する磁気ディスク装置や、動作音、振動音、消費電力を低減する記録装置がある(例えば、特許文献1、特許文献2参照)。
【特許文献1】特開平5−325395号公報
【特許文献2】特開2006−338824号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のHDD製品は、汎用のPC(Personal Computer)に搭載されることが最も多い。このため、HDD装置が出荷後にどのような用途に使用されるかが、出荷段階では判らない場合が多い。
【0005】
ハイパフォーマンスタイプのHDD装置を出荷した場合、ユーザから騒音や振動、発熱に関するクレームを受けるリスクが有る。一方、低振動・騒音タイプのHDD装置を出荷するとパフォーマンス不足を指摘される懸念がある。このように、ユーザの使用形態が出荷段階では判らないため、ニーズと製品機能のアンマッチが発生するという問題があった。
【0006】
本発明は上述した問題点を解決するためになされたものであり、磁気ディスク装置の性能をアクセス状況に適した性能に調整する磁気ディスク装置、磁気ディスク装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決するため、本発明の一態様は、コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置であって、コンピュータからコマンドを受信する通信部と、通信部により受信されたコマンドに基づいて、ディスクへのアクセス状況を示す第1情報を生成する情報生成部と、情報生成部により生成された第1情報に基づいて、ヘッド及びディスクの少なくともいずれかの駆動速度の制御を行う制御部とを有する。
【0008】
また、本発明の一態様は、コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置の制御方法であって、磁気ディスク装置によりコンピュータから受信されたコマンドに基づいて、ディスクへのアクセス状況に関する第1情報を生成し、生成された第1情報に基づいて、ヘッド及びディスクの少なくともいずれかの駆動速度の制御を行うことを実行させる。
【発明の効果】
【0009】
開示の磁気ディスク装置、磁気ディスク装置の制御方法によれば、磁気ディスク装置の性能をアクセス状況に適した性能に調整することができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【0011】
本発明に係るHDD装置は、ユーザ環境においてピーク性能を求める使用方法が頻発する(パフォーマンス不足が顕著である)場合、ディスク回転数やシーク速度を増加させて、パフォーマンスを向上させた状態に遷移させる。また、本発明に係るHDD装置は、ユーザ環境においてピーク性能が求められない場合、ディスク回転数やシーク速度を減少させて、騒音、振動及び消費電力を抑えた状態に遷移させる。
【0012】
(実施の形態1)
本実施の形態のHDD装置の構成について以下に説明する。
【0013】
図1は、実施の形態1のHDD装置の構成の一例を示すブロック図である。このHDD装置1は、ホストIF(Interface)制御部2、バッファ制御部3、バッファメモリ4、フォーマット制御部5、リードチャネル6、ヘッドIC7、MPU(Micro Processing Unit)8、不揮発性メモリ9、リアルタイムクロック10、サーボ制御部11、VCM(Voice Coil Motor)12、SPM(Spindle Motor)13、ヘッド14、ディスク15を有する。HDD装置1は、ホスト20に接続される。ホスト20は、CPU(Central Processing Unit)、記憶部、HDD装置1とのIF制御部を有するコンピュータ(例えばPC、サーバ)である。
【0014】
ホストIF制御部2は、ホストIFを介してホスト20に接続され、ホスト20との通信を行う。また、ホストIF制御部2は、ホスト20から受信したコマンドをバッファメモリ4へ格納する。フォーマット制御部5は、ディスク15上のアドレスの管理等を行う。リードチャネル6は、ライトデータの変調やリードデータの復調等を行う。ヘッドIC7は、ヘッド14へのライト信号やヘッド14へのリード信号の増幅等を行う。また、ヘッドIC7は、MPU8により設定されるヒータ電流を、ヘッド14のヒータに供給する。MPU8は、ファームウェアに従って各部の制御を行う。不揮発性メモリ9は、ファームウェアやHDD装置1の状態を格納する。リアルタイムクロック10は、各部の動作タイミング及び時間測定の基準となるクロックを生成する。サーボ制御部11は、VCM12及びSPM13の制御を行う。VCM12は、ヘッド14を移動させる。SPM13は、ディスク15を回転させる。ヘッド14は、ディスク15にライト信号を書き込み、ディスク15からリード信号を読み出す。ディスク15は、磁気記録媒体である。
【0015】
HDD装置1は、標準状態で出荷された後、ユーザの使用状況に応じてパフォーマンスに影響するディスク回転数(SPM13により駆動されるディスク15の単位時間当たりの回転速度)とシーク速度(VCM12により駆動されるヘッド14の移動速度)を制御する。制御は、ユーザの使用状況に基づいて行われる。
【0016】
図2は、実施の形態1のファームウェアの構成の一例を示すブロック図である。このファームウェア16aは、通常処理部21、サーボ部22、アクセス状況測定処理部23a、パフォーマンス更新処理部24aを有する。ファームウェア16の各部は、MPU8に処理を実行させる。
【0017】
通常処理部21は、通常処理(ライト処理やリード処理等)を行う。アクセス状況測定処理部23aは、ディスク15へのアクセスの統計処理を行い、統計処理結果をアクセス状況として測定するアクセス状況測定処理を行う。パフォーマンス更新処理部24aは、パフォーマンス(駆動速度)を更新するパフォーマンス更新処理を行う。サーボ部22は、パフォーマンス更新処理部24aにより更新されるパフォーマンスモードの設定値に従ってサーボ制御部11にVCM12及びSPM13の制御を行わせる。
【0018】
アクセス状況測定処理部23aによるアクセス状況測定処理について以下に説明する。
【0019】
アクセス状況測定処理は、HDD装置1の通常処理中に繰り返し実行される。
【0020】
本実施の形態のHDD装置1は、アクセス状況としてアクセスの頻度についての統計処理結果を用いる。
【0021】
アクセス状況測定処理において、MPU8は、コマンド時間間隔タイマーにより、直前の規定コマンド(第1コマンド)から最新の規定コマンドまでの時間であるコマンド時間間隔を測定して、アクセス頻度とする。コマンド時間間隔タイマーは、リアルタイムクロック10により生成されたクロックのカウントを行う。ここで、規定コマンドは、ディスク15へのアクセス(リードまたはライト)に関するコマンドである。また、規定コマンドのコマンド時間間隔に応じたアクセス頻度状態(状態)は、次のように定義される。
【0022】
Mode0(第1状態):
コマンド時間間隔が0.3秒未満
(規定コマンドの頻度が第1頻度閾値(1/(0.3秒))より大きい)
Mode1:
コマンド時間間隔が0.3秒以上3秒未満
Mode2(第2状態):
コマンド時間間隔が3秒以上30秒未満
(規定コマンドの頻度が第2頻度閾値(1/(3秒))より小さい)
Mode3(アイドル状態):
コマンド時間間隔が30秒以上
【0023】
また、アクセス状況測定処理において、MPU8は、現在のアクセス頻度状態を認識し、各アクセス頻度状態に滞在した累積時間である状態滞在時間(Mode0時間、Mode1時間、Mode2時間、Mode3時間)(第1情報)をバッファメモリ4に格納する。アクセス頻度状態毎の状態滞在時間は、アクセス(規定コマンド)の頻度の分布を表す。
【0024】
アクセス状況測定処理は、HDD装置1の通常処理中に繰り返し実行される。図3は、実施の形態1のアクセス状況測定処理の一例を示すフローチャートである。まず、MPU8は、コマンド時間間隔を測定するためのコマンド時間間隔タイマーを起動する(S11)。次に、MPU8は、ホスト20からコマンドを受信したか否かの判定を行う(S12)。
【0025】
コマンドを受信していない場合(S12,No)、このフローは処理S12へ移行する。コマンドを受信した場合(S12,Yes)、MPU8は、受信したコマンドが規定コマンドであるか否かの判定を行う(S13)。
【0026】
受信したコマンドが規定コマンドでない場合(S13,No)、このフローは処理S12へ移行する。受信したコマンドが規定コマンドである場合(S13,Yes)、MPU8は、コマンド時間間隔タイマーにより測定されたコマンド時間間隔によりアクセス頻度状態がMode0であるか否かの判定を行う(S21)。
【0027】
アクセス頻度状態がMode0である場合(S21,Yes)、MPU8は、コマンド時間間隔をMode0時間に加算し(S22)、このフローは終了する。
【0028】
アクセス頻度状態がMode0でない場合(S21,No)、MPU8は、アクセス頻度状態がMode1であるか否かの判定を行う(S23)。
【0029】
アクセス頻度状態がMode1である場合(S23,Yes)、MPU8は、コマンド時間間隔をMode1時間に加算し(S24)、このフローは終了する。
【0030】
アクセス頻度状態がMode1でない場合(S23,No)、MPU8は、アクセス頻度状態がMode2であるか否かの判定を行う(S25)。
【0031】
アクセス頻度状態がMode2である場合(S25,Yes)、MPU8は、コマンド時間間隔をMode2時間に加算し(S26)、このフローは終了する。
【0032】
アクセス頻度状態がMode2でない場合(S25,No)、MPU8は、コマンド時間間隔をMode3時間に加算し(S27)、このフローは終了する。
【0033】
HDD装置1の終了時等において、MPU8は、バッファメモリ4に格納された各状態滞在時間をディスク15のシステムエリアへ書き込む。また、HDD装置1の起動時において、MPU8は、ディスク15のシステムエリアに格納された各状態滞在時間をバッファメモリ4へ書き込む。
【0034】
パフォーマンス更新処理部24aによるパフォーマンス更新処理について以下に説明する。
【0035】
HDD装置1のパフォーマンスモードを設定するためのパフォーマンス設定テーブル及び現在のパフォーマンスモードが予めディスク15のシステムエリアに格納される。
【0036】
図4は、実施の形態1のパフォーマンス設定テーブルの一例を示す表である。この表は、パフォーマンスモードの更新の種類(パフォーマンスアップ、パフォーマンス維持、パフォーマンスダウン)、更新前パフォーマンスモード、更新後パフォーマンスモードを示す。パフォーマンスモードとして、パフォーマンスが低いものから順に、Low Speed、Normal Speed、High Speedが定義されている。工場出荷時のパフォーマンスモードを、Normal Speedとする。
【0037】
なお、パフォーマンス設定テーブルは、予め定義されなくても良い。この場合、パフォーマンスモードは、数値で表わされ、高いほどパフォーマンスが高い。パフォーマンスアップは、パフォーマンスモードを1増加させる。パフォーマンス維持は、パフォーマンスモードを変更しない。パフォーマンスダウンは、パフォーマンスモードを1減少させる。
【0038】
図5は、実施の形態1のパフォーマンスモードの一例を示す表である。各パフォーマンスモードは、ディスク回転数の設定値(RL,RN,RH)とヘッド14のヒータ電流の設定値(HL,HN,HH)を含む。パフォーマンスが高いほどパフォーマンスモードほど、ディスク回転数の設定値が高く、ヒータ電流の設定値が高い。また、ディスク回転数に伴って、ヘッド14のヒータ電流を設定することにより、ヘッド14の浮上量が適正になるようにヘッド14の突き出し量を制御する。例えば、ディスク回転数を増加させると、ヘッド14の浮上量が増加するため、ヒータ電流を増加させてヘッド14の突き出し量を増加させる。
【0039】
また、パフォーマンス更新処理は、HDD装置1の起動時に実行される。
【0040】
また、パフォーマンス更新処理は、所定のタイミングで実行されても良い。所定のタイミングは、例えば所定の更新時間間隔をおいて設定されるタイミングである。また、パフォーマンス更新処理は、ヘッド14をディスク15の外へ退避させた状態で、パフォーマンスモードを変更することが望ましい。
【0041】
また、パフォーマンス更新処理において、MPU8は、PowerON時間(PowerONされてからの時間、稼働時間)を測定する。
【0042】
図6は、実施の形態1のパフォーマンス更新処理の一例を示すフローチャートである。まず、MPU8は、Active時間を算出する(S31)。ここで、Active時間=PowerON時間−Mode3時間(またはMode0時間+Mode1時間+Mode2時間)である。
【0043】
次に、MPU8は、Mode0比率=Mode0時間/Active時間を算出し、Mode0比率が70%(第1時間比率閾値)を超えているか否かの判定を行う(S32)。
【0044】
Mode0比率が70%を超えている場合(S32,Yes)、MPU8は、アクセス頻度が高いことからパフォーマンスが不足していると判断して、パフォーマンスモードを1段階アップさせる変更(パフォーマンスアップ)を行い(S33)、このフローは終了する。
【0045】
Mode0比率が70%を超えていない場合(S32,No)、MPU8は、Mode1比率=Mode1時間/Active時間を算出し、Mode1比率が70%を超えているか否かの判定を行う(S34)。
【0046】
Mode1比率が70%を超えている場合(S34,Yes)、MPU8は、アクセス頻度が適正であることからパフォーマンスが適正であると判断して、パフォーマンスモードを変更せず(パフォーマンス維持)(S35)、このフローは終了する。
【0047】
Mode1比率が70%を超えていない場合(S34,No)、MPU8は、Mode2比率=Mode2時間/Active時間を算出し、Mode2比率が70%(第2時間比率閾値)を超えているか否かの判定を行う(S36)。
【0048】
Mode2比率が70%を超えている場合(S36,Yes)、MPU8は、アクセス頻度が低いことからパフォーマンスが過剰であると判断して、パフォーマンスモードを1段階ダウンさせる変更(パフォーマンスダウン)を行い(S37)、このフローは終了する。
【0049】
Mode2比率が70%を超えていない場合(S36,No)、このフローは処理S35へ移行する。
【0050】
更に、MPU8は、パフォーマンス更新処理により更新されたパフォーマンスモードをディスク15のシステムエリアへ書き込む。
【0051】
なお、アクセス状況測定処理部23aが、Active時間、Mode0比率、Mode1比率、Mode2比率の算出を行い、ディスク15のシステムエリアに書き込んでも良い。
【0052】
MPU8は、パフォーマンス更新処理の後、通常処理を行う。
【0053】
ディスク回転数の変化は、ヘッド14の浮上量に影響を与えるが、ディスク回転数と共にヘッド14のヒータを制御することにより、ヘッド14とディスク15の距離を最適に維持することができる。
【0054】
本実施の形態によれば、アクセス頻度に基づいてディスク回転数を制御することにより、HDD装置1を適正な性能に設定することができる。
【0055】
(実施の形態2)
本実施の形態のHDD装置の構成は、実施の形態1と同様である。実施の形態1のHDD装置と本実施の形態のHDD装置との違いは、ファームウェアである。
【0056】
図7は、実施の形態2のファームウェアの構成の一例を示すブロック図である。この図において、図2と同一符号は図2に示された対象と同一又は相当物を示しており、ここでの説明を省略する。本実施の形態のファームウェア16bは、実施の形態1のファームウェア16aと比較して、アクセス状況測定処理部23aの代わりにアクセス状況測定処理部23bを有し、パフォーマンス更新処理部24aの代わりにパフォーマンス更新処理部24bを有する。
【0057】
アクセス状況測定処理部23bによるアクセス状況測定処理について以下に説明する。
【0058】
本実施の形態のHDD装置1は、アクセス状況としてアクセスパターン毎の頻度についての統計処理結果を用いる。アクセスパターンは、シーケンシャルアクセスまたはランダムアクセスを示す。
【0059】
アクセス状況測定処理において、MPU8は、ホスト20から受信した規定コマンドのタイプを認識する。規定コマンドのタイプは、次のように定義される。
【0060】
TypeA(第1タイプ):
シーケンシャルアクセスコマンド
TypeB:
直前の規定コマンドとの時間間隔が0.3秒以下である
ランダムアクセスコマンド
TypeC(第2タイプ):
直前の規定コマンドとの時間間隔が0.3秒より大きい
ランダムアクセスコマンド
(規定コマンドの頻度が第1閾値(1/(0.3秒))より小さい)
【0061】
また、アクセス状況測定処理において、MPU8は、認識されたタイプ毎の規定コマンドの数であるカウント値(TypeAカウント値、TypeBカウント値、TypeCカウント値)(第1情報)をバッファメモリ4に格納する。タイプ毎のカウント値は、アクセスパターン毎の頻度の分布を表す。
【0062】
図8は、実施の形態2のアクセス状況測定処理の一例を示すフローチャートである。まず、MPU8は、コマンド時間間隔を測定するためのコマンド時間間隔タイマーを起動する(S11)。次に、MPU8は、ホスト20からコマンドを受信したか否かの判定を行う(S12)。
【0063】
コマンドを受信していない場合(S12,No)、このフローは処理S12へ移行する。コマンドを受信した場合(S12,Yes)、MPU8は、受信したコマンドが規定コマンドであるか否かの判定を行う(S13)。
【0064】
受信したコマンドが規定コマンドでない場合(S13,No)、このフローは処理S12へ移行する。受信したコマンドが規定コマンドである場合(S13,Yes)、MPU8は、受信したコマンドがTypeAであるか否かの判定を行う(S51)。
【0065】
受信したコマンドがTypeAである場合(S51,Yes)、MPU8は、TypeAカウント値を1増加させ(S52)、このフローは終了する。
【0066】
受信したコマンドがTypeAでない場合(S51,No)、MPU8は、受信したコマンドがTypeBであるか否かの判定を行う(S53)。
【0067】
受信したコマンドがTypeBである場合(S53,Yes)、MPU8は、TypeBカウント値を1増加させ(S54)、このフローは終了する。
【0068】
受信したコマンドがTypeBでない場合(S51,No)、MPU8は、受信したコマンドがTypeCであると判断して、TypeCカウント値を1増加させ(S56)、このフローは終了する。
【0069】
HDD装置1の終了時等において、MPU8は、バッファメモリ4に格納されたアクセスパターンをディスク15のシステムエリアへ書き込む。また、HDD装置1の起動時において、MPU8は、ディスク15のシステムエリアに格納されたアクセスパターンをバッファメモリ4へ書き込む。
【0070】
パフォーマンス更新処理部24bによるパフォーマンス更新処理について以下に説明する。
【0071】
本実施の形態のパフォーマンス設定テーブルの形式は、実施の形態1と同様であるが、各パフォーマンスモードに含まれる設定値が異なる。
【0072】
図9は、実施の形態2のパフォーマンスモードの一例を示す表である。各パフォーマンスモードは、シーク速度の設定値(SL,SN,SH)を含む。パフォーマンスが高いほどパフォーマンスモードほど、シーク速度の設定値が高い。
【0073】
また、パフォーマンス更新処理は、HDD装置1の起動時に実行される。
【0074】
また、パフォーマンス更新処理は、所定のタイミングで実行されても良い。
【0075】
図10は、実施の形態2のパフォーマンス更新処理の一例を示すフローチャートである。まず、MPU8は、規定コマンドカウント値を算出する(S61)。ここで、規定コマンドカウント値=TypeAカウント値+TypeBカウント値+TypeCカウント値である。
【0076】
次に、MPU8は、TypeA比率=TypeAカウント値/規定コマンドカウント値を算出し、TypeA比率が70%(第1カウント比率閾値)を超えているか否かの判定を行う(S62)。
【0077】
TypeA比率が70%を超えている場合(S62,Yes)、MPU8は、シーケンシャルアクセスの頻度が高いと判定して、パフォーマンスモードを1段階ダウンさせる変更(パフォーマンスダウン)を行い(S63)、このフローは終了する。
【0078】
TypeA比率が70%を超えていない場合(S62,No)、MPU8は、TypeB比率=TypeBカウント値/規定コマンドカウント値を算出し、TypeB比率が70%(第2カウント比率閾値)を超えているか否かの判定を行う(S64)。
【0079】
TypeB比率が70%を超えている場合(S64,Yes)、MPU8は、ランダムアクセスの頻度が高いと判断して、パフォーマンスモードを1段階アップさせる変更(パフォーマンスアップ)を行い(S65)、このフローは終了する。
【0080】
TypeB比率が70%を超えていない場合(S64,No)、MPU8は、ランダムアクセスの比率が高いが頻度は高くないと判断して、パフォーマンスモードを変更せず(パフォーマンス維持)(S66)、このフローは終了する。
【0081】
なお、アクセス状況測定処理部23bが、規定コマンドカウント値、TypeA比率、TypeB比率、TypeC比率の算出を行い、ディスク15のシステムエリアに書き込んでも良い。
【0082】
本実施の形態によれば、アクセスパターンに基づいてシーク速度を制御することにより、HDD装置1を適切な性能に設定することができる。
【0083】
ユーザの用途によりHDD装置1へのアクセスパターンは異なる。例えば、ホスト20がサーバである場合、ランダムアクセスの頻度が高くなる。ランダムアクセスの頻度が高い場合、シーク速度の増加は、性能の向上に有効である。
【0084】
なお、実施の形態1のアクセス状況測定処理及びパフォーマンス更新処理、実施の形態2のアクセス状況測定処理及びパフォーマンス更新処理は、組み合わせられてHDD装置1に適用されても良い。
【0085】
(実施の形態3)
ホストのCPUにより実行されてHDD装置を制御するHDD制御プログラムが、上述したアクセス状況測定処理及びパフォーマンス更新処理を行っても良い。このHDD制御プログラムは、HDD装置に格納されても良いし、他の記憶媒体に格納されても良い。
【0086】
図11は、実施の形態3のホストにより実行されるHDD制御プログラムとHDD装置により実行されるファームウェアとの構成の一例を示すブロック図である。本実施の形態のHDD装置31のハードウェア構成は、実施の形態1のHDD装置1と同様である。HDD装置1と比較すると、HDD装置31は、MPU8により実行されるファームウェア16cを有する。また、本実施の形態のホスト30のハードウェア構成は、実施の形態1のホスト20と同様である。ホスト20と比較すると、ホスト30は、ホスト30のCPUにより実行されるHDD制御プログラム17を有する。
【0087】
HDD制御プログラム17(磁気ディスク装置の制御プログラム)は、通常制御処理部26、アクセス状況測定処理部23c、パフォーマンス更新処理部24cを有する。
【0088】
通常制御処理部26は、通常のHDD装置のコマンド制御(ライトやリード等)を行う。アクセス状況測定処理部23cは、通常制御処理部26からHDD装置31へ発行されるコマンドを監視してアクセス状況測定処理を行う。パフォーマンス更新処理部24cは、パフォーマンス更新処理によりパフォーマンスモードを決定し、パフォーマンスモードを設定するコマンドをHDD装置31へ発行する。
【0089】
ファームウェア16cは、通常処理部21、サーボ部22、パフォーマンス設定処理部25を有する。
【0090】
HDD装置31のパフォーマンス設定処理部25は、パフォーマンスモードを設定するコマンドを受信すると、パフォーマンスモードとして定義されたパフォーマンス(ディスク回転数、シーク速度等)を設定する。
【0091】
なお、HDD制御プログラム17は、OS(Operating System)等に含まれても良い。
【0092】
上述した各実施の形態によれば、HDD装置1,31が様々な用途に利用されても、ユーザ環境において適切な性能に設定されることができる。
【0093】
また、上述した各実施の形態において、パフォーマンスモードを3種類としたが、2種類であっても良いし、4種類以上であっても良い。また、パフォーマンス更新処理は、パフォーマンスモードの代わりに、アクセス状況から駆動速度を算出する式やアルゴリズムを用いても良い。
【0094】
また、上述した各実施の形態において、アクセス状況やパフォーマンスモード等の情報は、上述したディスク15のシステムエリアのような不揮発性記憶媒体へ書き込まれ、HDD装置1の起動時に読み出される。この不揮発性記憶媒体は、不揮発性メモリ9であっても良い。
【0095】
また、MPU8は、パフォーマンス更新処理によるパフォーマンスモードの更新の履歴をディスク15のシステムエリアへ書き込み、パフォーマンス更新処理においてその履歴を読み出してその履歴に基づいて新たなパフォーマンスモードを決定しても良い。このパフォーマンス更新処理によれば、過度なパフォーマンスの変更を防ぐことができる。
【0096】
また、MPU8は、リードに関するコマンドとライトに関するコマンドを分類した統計処理結果をアクセス状況とし、アクセス状況測定処理及びパフォーマンス更新処理を行っても良い。例えば、リードに関するコマンドの頻度が高い場合にリード性能に影響を与えるシーク速度を増加させる制御を行う。
【0097】
また、MPU8は、ライトまたはリードのデータ量の統計処理結果を、アクセス状況としても良い。
【0098】
通信部は、ホストIF制御部2に対応する。情報生成部は、アクセス状況測定処理部23a,23bに対応する。制御部は、パフォーマンス更新処理部24a,24b、サーボ部22に対応する。
【0099】
なお、本発明は以下に示すようなコンピュータシステムにおいて適用可能である。図12は、本発明が適用されるコンピュータシステムの一例を示す図である。この図に示すコンピュータシステム900は、CPUやディスクドライブ等を内蔵した本体部901、本体部901からの指示により画像を表示するディスプレイ902、コンピュータシステム900に種々の情報を入力するためのキーボード903、ディスプレイ902の表示画面902a上の任意の位置を指定するマウス904及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置905を有する。通信装置905は、ネットワーク通信カード、モデムなどが考えられる。
【0100】
上述したような、ホストを構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、HDD制御プログラムとして提供することができる。このプログラムは、コンピュータシステムにより読み取り可能な記録媒体に記憶させることによって、ホストを構成するコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク910等の可搬型記録媒体に格納されるか、通信装置905により他のコンピュータシステムの記録媒体906からダウンロードされる。また、コンピュータシステム900に少なくともHDD制御機能を持たせるHDD制御プログラムは、コンピュータシステム900に入力されてコンパイルされる。このプログラムは、コンピュータシステム900をHDD制御機能を有するHDD制御システムとして動作させる。また、このプログラムは、例えばディスク910等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム900により読み取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、ディスク910やフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置905のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【0101】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
【0102】
以上の実施の形態1〜3に関し、更に以下の付記を開示する。
(付記1)
コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置であって、
前記コンピュータからコマンドを受信する通信部と、
前記通信部により受信されたコマンドに基づいて、前記ディスクへのアクセス状況を示す第1情報を生成する情報生成部と、
前記情報生成部により生成された第1情報に基づいて、前記ヘッド及び前記ディスクの少なくともいずれかの駆動速度の制御を行う制御部と、
を備える磁気ディスク装置。
(付記2)
前記情報生成部は、前記通信部により受信されたコマンドの中から前記ディスクへのアクセスに関するコマンドである第1コマンドを検出し、前記第1コマンドに関する統計処理を行い、該統計処理結果を前記第1情報とする、
付記1に記載の磁気ディスク装置。
(付記3)
前記第1情報は、前記第1コマンドのアクセスパターン毎の頻度の分布である、
付記2に記載の磁気ディスク装置。
(付記4)
前記駆動速度は、前記ヘッドの移動速度である、
付記3に記載の磁気ディスク装置。
(付記5)
前記情報生成部は、予め第1コマンドのアクセスパターン毎の頻度により定義された複数のタイプに基づいて、前記通信部により受信された第1コマンドのタイプを認識し、前記タイプのそれぞれに認識された第1コマンドのカウントを行い、前記カウントにより得られる前記タイプ毎のカウント値に基づいて前記第1情報を生成する、
付記3に記載の磁気ディスク装置。
(付記6)
前記複数のタイプは、第1コマンドがシーケンシャルアクセスコマンドであることを条件とする第1タイプを含み、
前記制御部は、全ての前記タイプのカウント値に対する前記第1タイプのカウント値の比率が所定の第1カウント閾値より大きい場合、前記駆動速度を減少させる、
付記5に記載の磁気ディスク装置。
(付記7)
前記複数のタイプは、第1コマンドがランダムアクセスコマンドであり且つ第1コマンドの頻度が所定の第1閾値より小さいことを条件とする第2タイプを含み、
前記制御部は、全ての前記タイプのカウント値に対する前記第2タイプのカウント値の比率が所定の第2カウント比率閾値より大きい場合、前記駆動速度を増加させる、
付記5に記載の磁気ディスク装置。
(付記8)
前記第1情報は、前記第1コマンドの頻度の分布である、
付記2に記載の磁気ディスク装置。
(付記9)
前記駆動速度は、前記ディスクの回転速度である、
付記8に記載の磁気ディスク装置。
(付記10)
前記制御部は、前記ディスクの回転速度に対応して前記ヘッドのヒータの制御を行う、
付記9に記載の磁気ディスク装置。
(付記11)
前記第1コマンドの頻度は、前記通信部により受信された最新の第1コマンドと前記通信部により受信された直前の第1コマンドとの時間差により表される、
付記8に記載の磁気ディスク装置。
(付記12)
前記情報生成部は、予め第1コマンドの頻度により定義された複数の状態と前記通信部により受信された第1コマンドの頻度とに基づいて、現在の前記状態を認識し、前記状態のそれぞれの滞在時間の測定を行い、該測定により得られる前記状態毎の滞在時間に基づいて前記第1情報を生成する、
付記8に記載の磁気ディスク装置。
(付記13)
前記複数の状態は、アイドル状態を含み、
前記情報生成部は、前記磁気ディスクの稼働時間からアイドル状態の滞在時間を除いた時間を算出してアクティブ時間とし、
前記制御部は、前記アクティブ時間に対する前記滞在時間の比率に基づいて、前記駆動速度を決定する、
付記12に記載の磁気ディスク装置。
(付記14)
前記複数の状態は、前記通信部により受信された第1コマンドの頻度が所定の第1頻度閾値より大きい第1状態を含み、
前記制御部は、前記アクティブ状態に対する前記第1状態の滞在時間の比率が所定の第1時間比率閾値より大きい場合、前記駆動速度を増加させる、
付記13に記載の磁気ディスク装置。
(付記15)
前記複数の状態は、前記通信部により受信された第1コマンドの頻度が所定の第2頻度閾値より小さい第2状態を含み、
前記制御部は、前記アクティブ状態に対する前記第2状態の滞在時間の比率が所定の第2時間比率閾値より大きい場合、前記駆動速度を増加させる、
付記13に記載の磁気ディスク装置。
(付記16)
前記制御部は、所定のタイミングで前記駆動速度の制御を行う、
付記1に記載の磁気ディスク装置。
(付記17)
前記所定のタイミングは、前記磁気ディスク装置の起動時である、
付記16に記載の磁気ディスク装置。
(付記18)
前記情報生成部は、前記第1情報を不揮発性記憶媒体へ格納し、
前記制御部は、前記不揮発性記憶媒体から前記第1情報を読み出し、該第1情報に基づいて前記駆動速度の制御を行う、
付記17に記載の磁気ディスク装置。
(付記19)
前記所定のタイミングは、所定の更新時間間隔毎に設定される、
付記16に記載の磁気ディスク装置。
(付記20)
コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置の制御方法であって、
前記磁気ディスク装置により前記コンピュータから受信されたコマンドに基づいて、前記ディスクへのアクセス状況に関する第1情報を生成し、
生成された前記第1情報に基づいて、前記ヘッド及び前記ディスクの少なくともいずれかの駆動速度の制御を行う
ことを実行させる磁気ディスク装置の制御方法。
【図面の簡単な説明】
【0103】
【図1】実施の形態1のHDD装置の構成の一例を示すブロック図である。
【図2】実施の形態1のファームウェアの構成の一例を示すブロック図である。
【図3】実施の形態1のアクセス状況測定処理の一例を示すフローチャートである。
【図4】実施の形態1のパフォーマンス設定テーブルの一例を示す表である。
【図5】実施の形態1のパフォーマンスモードの一例を示す表である。
【図6】実施の形態1のパフォーマンス更新処理の一例を示すフローチャートである。
【図7】実施の形態2のファームウェアの構成の一例を示すブロック図である。
【図8】実施の形態2のアクセス状況測定処理の一例を示すフローチャートである。
【図9】実施の形態2のパフォーマンスモードの一例を示す表である。
【図10】実施の形態2のパフォーマンス更新処理の一例を示すフローチャートである。
【図11】実施の形態3のホストにより実行されるHDD制御プログラムとHDD装置により実行されるファームウェアとの構成の一例を示すブロック図である。
【図12】本発明が適用されるコンピュータシステムの一例を示す図である。
【符号の説明】
【0104】
1,31 HDD装置、2 ホストIF制御部、3 バッファ制御部、4 バッファメモリ、5 フォーマット制御部、6 リードチャネル、7 ヘッドIC、8 MPU、9 不揮発性メモリ、10 リアルタイムクロック、11 サーボ制御部、12 VCM、13 SPM、14 ヘッド、15 ディスク、16a,16b,16c ファームウェア、17 HDD制御プログラム、20,30 ホスト、21 通常処理部、22 サーボ部、23a,23b,23c アクセス状況測定処理部、24a,24b,24c 、パフォーマンス更新処理部、25 パフォーマンス設定部。

【特許請求の範囲】
【請求項1】
コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置であって、
前記コンピュータからコマンドを受信する通信部と、
前記通信部により受信されたコマンドに基づいて、前記ディスクへのアクセス状況を示す第1情報を生成する情報生成部と、
前記情報生成部により生成された第1情報に基づいて、前記ヘッド及び前記ディスクの少なくともいずれかの駆動速度の制御を行う制御部と、
を備える磁気ディスク装置。
【請求項2】
前記情報生成部は、前記通信部により受信されたコマンドの中から前記ディスクへのアクセスに関するコマンドである第1コマンドを検出し、前記第1コマンドに関する統計処理を行い、該統計処理結果を前記第1情報とする、
請求項1に記載の磁気ディスク装置。
【請求項3】
前記第1情報は、前記第1コマンドのアクセスパターン毎の頻度の分布である、
請求項2に記載の磁気ディスク装置。
【請求項4】
前記第1情報は、前記第1コマンドの頻度の分布である、
請求項2または請求項3に記載の磁気ディスク装置。
【請求項5】
コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置の制御方法であって、
前記磁気ディスク装置により前記コンピュータから受信されたコマンドに基づいて、前記ディスクへのアクセス状況に関する第1情報を生成し、
生成された前記第1情報に基づいて、前記ヘッド及び前記ディスクの少なくともいずれかの駆動速度の制御を行う
ことを実行させる磁気ディスク装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−123154(P2010−123154A)
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【出願番号】特願2008−293222(P2008−293222)
【出願日】平成20年11月17日(2008.11.17)
【出願人】(309033264)東芝ストレージデバイス株式会社 (255)
【Fターム(参考)】