(57)【要約】【課題】磁気ディスク装置をアクセス状況に適した性能に調整する磁気ディスク装置、磁気ディスク装置の制御方法を提供する。【解決手段】コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置であって、コンピュータからコマンドを受信する通信部と、通信部により受信されたコマンドに基づいて、ディスクへのアクセス状況を示す第１情報を生成する情報生成部と、情報生成部により生成された第１情報に基づいて、ヘッド及びディスクの少なくともいずれかの駆動速度の制御を行う制御部とを有する。【選択図】図２
2010123154.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置であって、
前記コンピュータからコマンドを受信する通信部と、
前記通信部により受信されたコマンドに基づいて、前記ディスクへのアクセス状況を示す第１情報を生成する情報生成部と、
前記情報生成部により生成された第１情報に基づいて、前記ヘッド及び前記ディスクの少なくともいずれかの駆動速度の制御を行う制御部と、
を備える磁気ディスク装置。
【請求項２】
前記情報生成部は、前記通信部により受信されたコマンドの中から前記ディスクへのアクセスに関するコマンドである第１コマンドを検出し、前記第１コマンドに関する統計処理を行い、該統計処理結果を前記第１情報とする、
請求項１に記載の磁気ディスク装置。
【請求項３】
前記第１情報は、前記第１コマンドのアクセスパターン毎の頻度の分布である、
請求項２に記載の磁気ディスク装置。
【請求項４】
前記第１情報は、前記第１コマンドの頻度の分布である、
請求項２または請求項３に記載の磁気ディスク装置。
【請求項５】
コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置の制御方法であって、
前記磁気ディスク装置により前記コンピュータから受信されたコマンドに基づいて、前記ディスクへのアクセス状況に関する第１情報を生成し、
生成された前記第１情報に基づいて、前記ヘッド及び前記ディスクの少なくともいずれかの駆動速度の制御を行う
ことを実行させる磁気ディスク装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置、磁気ディスク装置の制御方法に関するものである。
【背景技術】
【０００２】
従来、用途に応じて様々な回転数やシーク速度を持つＨＤＤ（Hard Disk Drive）装置が製造され、販売されている。ハイパフォーマンスが必要である場合、回転数が早く且つシーク速度が高いＨＤＤ装置が求められる。また、パフォーマンスよりも低消費電力・低騒音が求められる場合、回転数が遅く且つシーク速度も低いＨＤＤ装置が求められる。
【０００３】
なお、従来技術として、ダスト除去のためにシーク起動間隔を制御する磁気ディスク装置や、動作音、振動音、消費電力を低減する記録装置がある（例えば、特許文献１、特許文献２参照）。
【特許文献１】特開平５−３２５３９５号公報
【特許文献２】特開２００６−３３８８２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のＨＤＤ製品は、汎用のＰＣ（Personal Computer）に搭載されることが最も多い。このため、ＨＤＤ装置が出荷後にどのような用途に使用されるかが、出荷段階では判らない場合が多い。
【０００５】
ハイパフォーマンスタイプのＨＤＤ装置を出荷した場合、ユーザから騒音や振動、発熱に関するクレームを受けるリスクが有る。一方、低振動・騒音タイプのＨＤＤ装置を出荷するとパフォーマンス不足を指摘される懸念がある。このように、ユーザの使用形態が出荷段階では判らないため、ニーズと製品機能のアンマッチが発生するという問題があった。
【０００６】
本発明は上述した問題点を解決するためになされたものであり、磁気ディスク装置の性能をアクセス状況に適した性能に調整する磁気ディスク装置、磁気ディスク装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するため、本発明の一態様は、コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置であって、コンピュータからコマンドを受信する通信部と、通信部により受信されたコマンドに基づいて、ディスクへのアクセス状況を示す第１情報を生成する情報生成部と、情報生成部により生成された第１情報に基づいて、ヘッド及びディスクの少なくともいずれかの駆動速度の制御を行う制御部とを有する。
【０００８】
また、本発明の一態様は、コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置の制御方法であって、磁気ディスク装置によりコンピュータから受信されたコマンドに基づいて、ディスクへのアクセス状況に関する第１情報を生成し、生成された第１情報に基づいて、ヘッド及びディスクの少なくともいずれかの駆動速度の制御を行うことを実行させる。
【発明の効果】
【０００９】
開示の磁気ディスク装置、磁気ディスク装置の制御方法によれば、磁気ディスク装置の性能をアクセス状況に適した性能に調整することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００１１】
本発明に係るＨＤＤ装置は、ユーザ環境においてピーク性能を求める使用方法が頻発する（パフォーマンス不足が顕著である）場合、ディスク回転数やシーク速度を増加させて、パフォーマンスを向上させた状態に遷移させる。また、本発明に係るＨＤＤ装置は、ユーザ環境においてピーク性能が求められない場合、ディスク回転数やシーク速度を減少させて、騒音、振動及び消費電力を抑えた状態に遷移させる。
【００１２】
（実施の形態１）
本実施の形態のＨＤＤ装置の構成について以下に説明する。
【００１３】
図１は、実施の形態１のＨＤＤ装置の構成の一例を示すブロック図である。このＨＤＤ装置１は、ホストＩＦ（Interface）制御部２、バッファ制御部３、バッファメモリ４、フォーマット制御部５、リードチャネル６、ヘッドＩＣ７、ＭＰＵ（Micro Processing Unit）８、不揮発性メモリ９、リアルタイムクロック１０、サーボ制御部１１、ＶＣＭ（Voice Coil Motor）１２、ＳＰＭ（Spindle Motor）１３、ヘッド１４、ディスク１５を有する。ＨＤＤ装置１は、ホスト２０に接続される。ホスト２０は、ＣＰＵ（Central Processing Unit）、記憶部、ＨＤＤ装置１とのＩＦ制御部を有するコンピュータ（例えばＰＣ、サーバ）である。
【００１４】
ホストＩＦ制御部２は、ホストＩＦを介してホスト２０に接続され、ホスト２０との通信を行う。また、ホストＩＦ制御部２は、ホスト２０から受信したコマンドをバッファメモリ４へ格納する。フォーマット制御部５は、ディスク１５上のアドレスの管理等を行う。リードチャネル６は、ライトデータの変調やリードデータの復調等を行う。ヘッドＩＣ７は、ヘッド１４へのライト信号やヘッド１４へのリード信号の増幅等を行う。また、ヘッドＩＣ７は、ＭＰＵ８により設定されるヒータ電流を、ヘッド１４のヒータに供給する。ＭＰＵ８は、ファームウェアに従って各部の制御を行う。不揮発性メモリ９は、ファームウェアやＨＤＤ装置１の状態を格納する。リアルタイムクロック１０は、各部の動作タイミング及び時間測定の基準となるクロックを生成する。サーボ制御部１１は、ＶＣＭ１２及びＳＰＭ１３の制御を行う。ＶＣＭ１２は、ヘッド１４を移動させる。ＳＰＭ１３は、ディスク１５を回転させる。ヘッド１４は、ディスク１５にライト信号を書き込み、ディスク１５からリード信号を読み出す。ディスク１５は、磁気記録媒体である。
【００１５】
ＨＤＤ装置１は、標準状態で出荷された後、ユーザの使用状況に応じてパフォーマンスに影響するディスク回転数（ＳＰＭ１３により駆動されるディスク１５の単位時間当たりの回転速度）とシーク速度（ＶＣＭ１２により駆動されるヘッド１４の移動速度）を制御する。制御は、ユーザの使用状況に基づいて行われる。
【００１６】
図２は、実施の形態１のファームウェアの構成の一例を示すブロック図である。このファームウェア１６ａは、通常処理部２１、サーボ部２２、アクセス状況測定処理部２３ａ、パフォーマンス更新処理部２４ａを有する。ファームウェア１６の各部は、ＭＰＵ８に処理を実行させる。
【００１７】
通常処理部２１は、通常処理（ライト処理やリード処理等）を行う。アクセス状況測定処理部２３ａは、ディスク１５へのアクセスの統計処理を行い、統計処理結果をアクセス状況として測定するアクセス状況測定処理を行う。パフォーマンス更新処理部２４ａは、パフォーマンス（駆動速度）を更新するパフォーマンス更新処理を行う。サーボ部２２は、パフォーマンス更新処理部２４ａにより更新されるパフォーマンスモードの設定値に従ってサーボ制御部１１にＶＣＭ１２及びＳＰＭ１３の制御を行わせる。
【００１８】
アクセス状況測定処理部２３ａによるアクセス状況測定処理について以下に説明する。
【００１９】
アクセス状況測定処理は、ＨＤＤ装置１の通常処理中に繰り返し実行される。
【００２０】
本実施の形態のＨＤＤ装置１は、アクセス状況としてアクセスの頻度についての統計処理結果を用いる。
【００２１】
アクセス状況測定処理において、ＭＰＵ８は、コマンド時間間隔タイマーにより、直前の規定コマンド（第１コマンド）から最新の規定コマンドまでの時間であるコマンド時間間隔を測定して、アクセス頻度とする。コマンド時間間隔タイマーは、リアルタイムクロック１０により生成されたクロックのカウントを行う。ここで、規定コマンドは、ディスク１５へのアクセス（リードまたはライト）に関するコマンドである。また、規定コマンドのコマンド時間間隔に応じたアクセス頻度状態（状態）は、次のように定義される。
【００２２】
Ｍｏｄｅ０（第１状態）：
コマンド時間間隔が０．３秒未満
（規定コマンドの頻度が第１頻度閾値（１／（０．３秒））より大きい）
Ｍｏｄｅ１：
コマンド時間間隔が０．３秒以上３秒未満
Ｍｏｄｅ２（第２状態）：
コマンド時間間隔が３秒以上３０秒未満
（規定コマンドの頻度が第２頻度閾値（１／（３秒））より小さい）
Ｍｏｄｅ３（アイドル状態）：
コマンド時間間隔が３０秒以上
【００２３】
また、アクセス状況測定処理において、ＭＰＵ８は、現在のアクセス頻度状態を認識し、各アクセス頻度状態に滞在した累積時間である状態滞在時間（Ｍｏｄｅ０時間、Ｍｏｄｅ１時間、Ｍｏｄｅ２時間、Ｍｏｄｅ３時間）（第１情報）をバッファメモリ４に格納する。アクセス頻度状態毎の状態滞在時間は、アクセス（規定コマンド）の頻度の分布を表す。
【００２４】
アクセス状況測定処理は、ＨＤＤ装置１の通常処理中に繰り返し実行される。図３は、実施の形態１のアクセス状況測定処理の一例を示すフローチャートである。まず、ＭＰＵ８は、コマンド時間間隔を測定するためのコマンド時間間隔タイマーを起動する（Ｓ１１）。次に、ＭＰＵ８は、ホスト２０からコマンドを受信したか否かの判定を行う（Ｓ１２）。
【００２５】
コマンドを受信していない場合（Ｓ１２，Ｎｏ）、このフローは処理Ｓ１２へ移行する。コマンドを受信した場合（Ｓ１２，Ｙｅｓ）、ＭＰＵ８は、受信したコマンドが規定コマンドであるか否かの判定を行う（Ｓ１３）。
【００２６】
受信したコマンドが規定コマンドでない場合（Ｓ１３，Ｎｏ）、このフローは処理Ｓ１２へ移行する。受信したコマンドが規定コマンドである場合（Ｓ１３，Ｙｅｓ）、ＭＰＵ８は、コマンド時間間隔タイマーにより測定されたコマンド時間間隔によりアクセス頻度状態がＭｏｄｅ０であるか否かの判定を行う（Ｓ２１）。
【００２７】
アクセス頻度状態がＭｏｄｅ０である場合（Ｓ２１，Ｙｅｓ）、ＭＰＵ８は、コマンド時間間隔をＭｏｄｅ０時間に加算し（Ｓ２２）、このフローは終了する。
【００２８】
アクセス頻度状態がＭｏｄｅ０でない場合（Ｓ２１，Ｎｏ）、ＭＰＵ８は、アクセス頻度状態がＭｏｄｅ１であるか否かの判定を行う（Ｓ２３）。
【００２９】
アクセス頻度状態がＭｏｄｅ１である場合（Ｓ２３，Ｙｅｓ）、ＭＰＵ８は、コマンド時間間隔をＭｏｄｅ１時間に加算し（Ｓ２４）、このフローは終了する。
【００３０】
アクセス頻度状態がＭｏｄｅ１でない場合（Ｓ２３，Ｎｏ）、ＭＰＵ８は、アクセス頻度状態がＭｏｄｅ２であるか否かの判定を行う（Ｓ２５）。
【００３１】
アクセス頻度状態がＭｏｄｅ２である場合（Ｓ２５，Ｙｅｓ）、ＭＰＵ８は、コマンド時間間隔をＭｏｄｅ２時間に加算し（Ｓ２６）、このフローは終了する。
【００３２】
アクセス頻度状態がＭｏｄｅ２でない場合（Ｓ２５，Ｎｏ）、ＭＰＵ８は、コマンド時間間隔をＭｏｄｅ３時間に加算し（Ｓ２７）、このフローは終了する。
【００３３】
ＨＤＤ装置１の終了時等において、ＭＰＵ８は、バッファメモリ４に格納された各状態滞在時間をディスク１５のシステムエリアへ書き込む。また、ＨＤＤ装置１の起動時において、ＭＰＵ８は、ディスク１５のシステムエリアに格納された各状態滞在時間をバッファメモリ４へ書き込む。
【００３４】
パフォーマンス更新処理部２４ａによるパフォーマンス更新処理について以下に説明する。
【００３５】
ＨＤＤ装置１のパフォーマンスモードを設定するためのパフォーマンス設定テーブル及び現在のパフォーマンスモードが予めディスク１５のシステムエリアに格納される。
【００３６】
図４は、実施の形態１のパフォーマンス設定テーブルの一例を示す表である。この表は、パフォーマンスモードの更新の種類（パフォーマンスアップ、パフォーマンス維持、パフォーマンスダウン）、更新前パフォーマンスモード、更新後パフォーマンスモードを示す。パフォーマンスモードとして、パフォーマンスが低いものから順に、Ｌｏｗ  Ｓｐｅｅｄ、Ｎｏｒｍａｌ  Ｓｐｅｅｄ、Ｈｉｇｈ  Ｓｐｅｅｄが定義されている。工場出荷時のパフォーマンスモードを、Ｎｏｒｍａｌ  Ｓｐｅｅｄとする。
【００３７】
なお、パフォーマンス設定テーブルは、予め定義されなくても良い。この場合、パフォーマンスモードは、数値で表わされ、高いほどパフォーマンスが高い。パフォーマンスアップは、パフォーマンスモードを１増加させる。パフォーマンス維持は、パフォーマンスモードを変更しない。パフォーマンスダウンは、パフォーマンスモードを１減少させる。
【００３８】
図５は、実施の形態１のパフォーマンスモードの一例を示す表である。各パフォーマンスモードは、ディスク回転数の設定値（ＲＬ，ＲＮ，ＲＨ）とヘッド１４のヒータ電流の設定値（ＨＬ，ＨＮ，ＨＨ）を含む。パフォーマンスが高いほどパフォーマンスモードほど、ディスク回転数の設定値が高く、ヒータ電流の設定値が高い。また、ディスク回転数に伴って、ヘッド１４のヒータ電流を設定することにより、ヘッド１４の浮上量が適正になるようにヘッド１４の突き出し量を制御する。例えば、ディスク回転数を増加させると、ヘッド１４の浮上量が増加するため、ヒータ電流を増加させてヘッド１４の突き出し量を増加させる。
【００３９】
また、パフォーマンス更新処理は、ＨＤＤ装置１の起動時に実行される。
【００４０】
また、パフォーマンス更新処理は、所定のタイミングで実行されても良い。所定のタイミングは、例えば所定の更新時間間隔をおいて設定されるタイミングである。また、パフォーマンス更新処理は、ヘッド１４をディスク１５の外へ退避させた状態で、パフォーマンスモードを変更することが望ましい。
【００４１】
また、パフォーマンス更新処理において、ＭＰＵ８は、ＰｏｗｅｒＯＮ時間（ＰｏｗｅｒＯＮされてからの時間、稼働時間）を測定する。
【００４２】
図６は、実施の形態１のパフォーマンス更新処理の一例を示すフローチャートである。まず、ＭＰＵ８は、Ａｃｔｉｖｅ時間を算出する（Ｓ３１）。ここで、Ａｃｔｉｖｅ時間＝ＰｏｗｅｒＯＮ時間−Ｍｏｄｅ３時間（またはＭｏｄｅ０時間＋Ｍｏｄｅ１時間＋Ｍｏｄｅ２時間）である。
【００４３】
次に、ＭＰＵ８は、Ｍｏｄｅ０比率＝Ｍｏｄｅ０時間／Ａｃｔｉｖｅ時間を算出し、Ｍｏｄｅ０比率が７０％（第１時間比率閾値）を超えているか否かの判定を行う（Ｓ３２）。
【００４４】
Ｍｏｄｅ０比率が７０％を超えている場合（Ｓ３２，Ｙｅｓ）、ＭＰＵ８は、アクセス頻度が高いことからパフォーマンスが不足していると判断して、パフォーマンスモードを１段階アップさせる変更（パフォーマンスアップ）を行い（Ｓ３３）、このフローは終了する。
【００４５】
Ｍｏｄｅ０比率が７０％を超えていない場合（Ｓ３２，Ｎｏ）、ＭＰＵ８は、Ｍｏｄｅ１比率＝Ｍｏｄｅ１時間／Ａｃｔｉｖｅ時間を算出し、Ｍｏｄｅ１比率が７０％を超えているか否かの判定を行う（Ｓ３４）。
【００４６】
Ｍｏｄｅ１比率が７０％を超えている場合（Ｓ３４，Ｙｅｓ）、ＭＰＵ８は、アクセス頻度が適正であることからパフォーマンスが適正であると判断して、パフォーマンスモードを変更せず（パフォーマンス維持）（Ｓ３５）、このフローは終了する。
【００４７】
Ｍｏｄｅ１比率が７０％を超えていない場合（Ｓ３４，Ｎｏ）、ＭＰＵ８は、Ｍｏｄｅ２比率＝Ｍｏｄｅ２時間／Ａｃｔｉｖｅ時間を算出し、Ｍｏｄｅ２比率が７０％（第２時間比率閾値）を超えているか否かの判定を行う（Ｓ３６）。
【００４８】
Ｍｏｄｅ２比率が７０％を超えている場合（Ｓ３６，Ｙｅｓ）、ＭＰＵ８は、アクセス頻度が低いことからパフォーマンスが過剰であると判断して、パフォーマンスモードを１段階ダウンさせる変更（パフォーマンスダウン）を行い（Ｓ３７）、このフローは終了する。
【００４９】
Ｍｏｄｅ２比率が７０％を超えていない場合（Ｓ３６，Ｎｏ）、このフローは処理Ｓ３５へ移行する。
【００５０】
更に、ＭＰＵ８は、パフォーマンス更新処理により更新されたパフォーマンスモードをディスク１５のシステムエリアへ書き込む。
【００５１】
なお、アクセス状況測定処理部２３ａが、Ａｃｔｉｖｅ時間、Ｍｏｄｅ０比率、Ｍｏｄｅ１比率、Ｍｏｄｅ２比率の算出を行い、ディスク１５のシステムエリアに書き込んでも良い。
【００５２】
ＭＰＵ８は、パフォーマンス更新処理の後、通常処理を行う。
【００５３】
ディスク回転数の変化は、ヘッド１４の浮上量に影響を与えるが、ディスク回転数と共にヘッド１４のヒータを制御することにより、ヘッド１４とディスク１５の距離を最適に維持することができる。
【００５４】
本実施の形態によれば、アクセス頻度に基づいてディスク回転数を制御することにより、ＨＤＤ装置１を適正な性能に設定することができる。
【００５５】
（実施の形態２）
本実施の形態のＨＤＤ装置の構成は、実施の形態１と同様である。実施の形態１のＨＤＤ装置と本実施の形態のＨＤＤ装置との違いは、ファームウェアである。
【００５６】
図７は、実施の形態２のファームウェアの構成の一例を示すブロック図である。この図において、図２と同一符号は図２に示された対象と同一又は相当物を示しており、ここでの説明を省略する。本実施の形態のファームウェア１６ｂは、実施の形態１のファームウェア１６ａと比較して、アクセス状況測定処理部２３ａの代わりにアクセス状況測定処理部２３ｂを有し、パフォーマンス更新処理部２４ａの代わりにパフォーマンス更新処理部２４ｂを有する。
【００５７】
アクセス状況測定処理部２３ｂによるアクセス状況測定処理について以下に説明する。
【００５８】
本実施の形態のＨＤＤ装置１は、アクセス状況としてアクセスパターン毎の頻度についての統計処理結果を用いる。アクセスパターンは、シーケンシャルアクセスまたはランダムアクセスを示す。
【００５９】
アクセス状況測定処理において、ＭＰＵ８は、ホスト２０から受信した規定コマンドのタイプを認識する。規定コマンドのタイプは、次のように定義される。
【００６０】
ＴｙｐｅＡ（第１タイプ）：
シーケンシャルアクセスコマンド
ＴｙｐｅＢ：
直前の規定コマンドとの時間間隔が０．３秒以下である
ランダムアクセスコマンド
ＴｙｐｅＣ（第２タイプ）：
直前の規定コマンドとの時間間隔が０．３秒より大きい
ランダムアクセスコマンド
（規定コマンドの頻度が第１閾値（１／（０．３秒））より小さい）
【００６１】
また、アクセス状況測定処理において、ＭＰＵ８は、認識されたタイプ毎の規定コマンドの数であるカウント値（ＴｙｐｅＡカウント値、ＴｙｐｅＢカウント値、ＴｙｐｅＣカウント値）（第１情報）をバッファメモリ４に格納する。タイプ毎のカウント値は、アクセスパターン毎の頻度の分布を表す。
【００６２】
図８は、実施の形態２のアクセス状況測定処理の一例を示すフローチャートである。まず、ＭＰＵ８は、コマンド時間間隔を測定するためのコマンド時間間隔タイマーを起動する（Ｓ１１）。次に、ＭＰＵ８は、ホスト２０からコマンドを受信したか否かの判定を行う（Ｓ１２）。
【００６３】
コマンドを受信していない場合（Ｓ１２，Ｎｏ）、このフローは処理Ｓ１２へ移行する。コマンドを受信した場合（Ｓ１２，Ｙｅｓ）、ＭＰＵ８は、受信したコマンドが規定コマンドであるか否かの判定を行う（Ｓ１３）。
【００６４】
受信したコマンドが規定コマンドでない場合（Ｓ１３，Ｎｏ）、このフローは処理Ｓ１２へ移行する。受信したコマンドが規定コマンドである場合（Ｓ１３，Ｙｅｓ）、ＭＰＵ８は、受信したコマンドがＴｙｐｅＡであるか否かの判定を行う（Ｓ５１）。
【００６５】
受信したコマンドがＴｙｐｅＡである場合（Ｓ５１，Ｙｅｓ）、ＭＰＵ８は、ＴｙｐｅＡカウント値を１増加させ（Ｓ５２）、このフローは終了する。
【００６６】
受信したコマンドがＴｙｐｅＡでない場合（Ｓ５１，Ｎｏ）、ＭＰＵ８は、受信したコマンドがＴｙｐｅＢであるか否かの判定を行う（Ｓ５３）。
【００６７】
受信したコマンドがＴｙｐｅＢである場合（Ｓ５３，Ｙｅｓ）、ＭＰＵ８は、ＴｙｐｅＢカウント値を１増加させ（Ｓ５４）、このフローは終了する。
【００６８】
受信したコマンドがＴｙｐｅＢでない場合（Ｓ５１，Ｎｏ）、ＭＰＵ８は、受信したコマンドがＴｙｐｅＣであると判断して、ＴｙｐｅＣカウント値を１増加させ（Ｓ５６）、このフローは終了する。
【００６９】
ＨＤＤ装置１の終了時等において、ＭＰＵ８は、バッファメモリ４に格納されたアクセスパターンをディスク１５のシステムエリアへ書き込む。また、ＨＤＤ装置１の起動時において、ＭＰＵ８は、ディスク１５のシステムエリアに格納されたアクセスパターンをバッファメモリ４へ書き込む。
【００７０】
パフォーマンス更新処理部２４ｂによるパフォーマンス更新処理について以下に説明する。
【００７１】
本実施の形態のパフォーマンス設定テーブルの形式は、実施の形態１と同様であるが、各パフォーマンスモードに含まれる設定値が異なる。
【００７２】
図９は、実施の形態２のパフォーマンスモードの一例を示す表である。各パフォーマンスモードは、シーク速度の設定値（ＳＬ，ＳＮ，ＳＨ）を含む。パフォーマンスが高いほどパフォーマンスモードほど、シーク速度の設定値が高い。
【００７３】
また、パフォーマンス更新処理は、ＨＤＤ装置１の起動時に実行される。
【００７４】
また、パフォーマンス更新処理は、所定のタイミングで実行されても良い。
【００７５】
図１０は、実施の形態２のパフォーマンス更新処理の一例を示すフローチャートである。まず、ＭＰＵ８は、規定コマンドカウント値を算出する（Ｓ６１）。ここで、規定コマンドカウント値＝ＴｙｐｅＡカウント値＋ＴｙｐｅＢカウント値＋ＴｙｐｅＣカウント値である。
【００７６】
次に、ＭＰＵ８は、ＴｙｐｅＡ比率＝ＴｙｐｅＡカウント値／規定コマンドカウント値を算出し、ＴｙｐｅＡ比率が７０％（第１カウント比率閾値）を超えているか否かの判定を行う（Ｓ６２）。
【００７７】
ＴｙｐｅＡ比率が７０％を超えている場合（Ｓ６２，Ｙｅｓ）、ＭＰＵ８は、シーケンシャルアクセスの頻度が高いと判定して、パフォーマンスモードを１段階ダウンさせる変更（パフォーマンスダウン）を行い（Ｓ６３）、このフローは終了する。
【００７８】
ＴｙｐｅＡ比率が７０％を超えていない場合（Ｓ６２，Ｎｏ）、ＭＰＵ８は、ＴｙｐｅＢ比率＝ＴｙｐｅＢカウント値／規定コマンドカウント値を算出し、ＴｙｐｅＢ比率が７０％（第２カウント比率閾値）を超えているか否かの判定を行う（Ｓ６４）。
【００７９】
ＴｙｐｅＢ比率が７０％を超えている場合（Ｓ６４，Ｙｅｓ）、ＭＰＵ８は、ランダムアクセスの頻度が高いと判断して、パフォーマンスモードを１段階アップさせる変更（パフォーマンスアップ）を行い（Ｓ６５）、このフローは終了する。
【００８０】
ＴｙｐｅＢ比率が７０％を超えていない場合（Ｓ６４，Ｎｏ）、ＭＰＵ８は、ランダムアクセスの比率が高いが頻度は高くないと判断して、パフォーマンスモードを変更せず（パフォーマンス維持）（Ｓ６６）、このフローは終了する。
【００８１】
なお、アクセス状況測定処理部２３ｂが、規定コマンドカウント値、ＴｙｐｅＡ比率、ＴｙｐｅＢ比率、ＴｙｐｅＣ比率の算出を行い、ディスク１５のシステムエリアに書き込んでも良い。
【００８２】
本実施の形態によれば、アクセスパターンに基づいてシーク速度を制御することにより、ＨＤＤ装置１を適切な性能に設定することができる。
【００８３】
ユーザの用途によりＨＤＤ装置１へのアクセスパターンは異なる。例えば、ホスト２０がサーバである場合、ランダムアクセスの頻度が高くなる。ランダムアクセスの頻度が高い場合、シーク速度の増加は、性能の向上に有効である。
【００８４】
なお、実施の形態１のアクセス状況測定処理及びパフォーマンス更新処理、実施の形態２のアクセス状況測定処理及びパフォーマンス更新処理は、組み合わせられてＨＤＤ装置１に適用されても良い。
【００８５】
（実施の形態３）
ホストのＣＰＵにより実行されてＨＤＤ装置を制御するＨＤＤ制御プログラムが、上述したアクセス状況測定処理及びパフォーマンス更新処理を行っても良い。このＨＤＤ制御プログラムは、ＨＤＤ装置に格納されても良いし、他の記憶媒体に格納されても良い。
【００８６】
図１１は、実施の形態３のホストにより実行されるＨＤＤ制御プログラムとＨＤＤ装置により実行されるファームウェアとの構成の一例を示すブロック図である。本実施の形態のＨＤＤ装置３１のハードウェア構成は、実施の形態１のＨＤＤ装置１と同様である。ＨＤＤ装置１と比較すると、ＨＤＤ装置３１は、ＭＰＵ８により実行されるファームウェア１６ｃを有する。また、本実施の形態のホスト３０のハードウェア構成は、実施の形態１のホスト２０と同様である。ホスト２０と比較すると、ホスト３０は、ホスト３０のＣＰＵにより実行されるＨＤＤ制御プログラム１７を有する。
【００８７】
ＨＤＤ制御プログラム１７（磁気ディスク装置の制御プログラム）は、通常制御処理部２６、アクセス状況測定処理部２３ｃ、パフォーマンス更新処理部２４ｃを有する。
【００８８】
通常制御処理部２６は、通常のＨＤＤ装置のコマンド制御（ライトやリード等）を行う。アクセス状況測定処理部２３ｃは、通常制御処理部２６からＨＤＤ装置３１へ発行されるコマンドを監視してアクセス状況測定処理を行う。パフォーマンス更新処理部２４ｃは、パフォーマンス更新処理によりパフォーマンスモードを決定し、パフォーマンスモードを設定するコマンドをＨＤＤ装置３１へ発行する。
【００８９】
ファームウェア１６ｃは、通常処理部２１、サーボ部２２、パフォーマンス設定処理部２５を有する。
【００９０】
ＨＤＤ装置３１のパフォーマンス設定処理部２５は、パフォーマンスモードを設定するコマンドを受信すると、パフォーマンスモードとして定義されたパフォーマンス（ディスク回転数、シーク速度等）を設定する。
【００９１】
なお、ＨＤＤ制御プログラム１７は、ＯＳ（Operating System）等に含まれても良い。
【００９２】
上述した各実施の形態によれば、ＨＤＤ装置１，３１が様々な用途に利用されても、ユーザ環境において適切な性能に設定されることができる。
【００９３】
また、上述した各実施の形態において、パフォーマンスモードを３種類としたが、２種類であっても良いし、４種類以上であっても良い。また、パフォーマンス更新処理は、パフォーマンスモードの代わりに、アクセス状況から駆動速度を算出する式やアルゴリズムを用いても良い。
【００９４】
また、上述した各実施の形態において、アクセス状況やパフォーマンスモード等の情報は、上述したディスク１５のシステムエリアのような不揮発性記憶媒体へ書き込まれ、ＨＤＤ装置１の起動時に読み出される。この不揮発性記憶媒体は、不揮発性メモリ９であっても良い。
【００９５】
また、ＭＰＵ８は、パフォーマンス更新処理によるパフォーマンスモードの更新の履歴をディスク１５のシステムエリアへ書き込み、パフォーマンス更新処理においてその履歴を読み出してその履歴に基づいて新たなパフォーマンスモードを決定しても良い。このパフォーマンス更新処理によれば、過度なパフォーマンスの変更を防ぐことができる。
【００９６】
また、ＭＰＵ８は、リードに関するコマンドとライトに関するコマンドを分類した統計処理結果をアクセス状況とし、アクセス状況測定処理及びパフォーマンス更新処理を行っても良い。例えば、リードに関するコマンドの頻度が高い場合にリード性能に影響を与えるシーク速度を増加させる制御を行う。
【００９７】
また、ＭＰＵ８は、ライトまたはリードのデータ量の統計処理結果を、アクセス状況としても良い。
【００９８】
通信部は、ホストＩＦ制御部２に対応する。情報生成部は、アクセス状況測定処理部２３ａ，２３ｂに対応する。制御部は、パフォーマンス更新処理部２４ａ，２４ｂ、サーボ部２２に対応する。
【００９９】
なお、本発明は以下に示すようなコンピュータシステムにおいて適用可能である。図１２は、本発明が適用されるコンピュータシステムの一例を示す図である。この図に示すコンピュータシステム９００は、ＣＰＵやディスクドライブ等を内蔵した本体部９０１、本体部９０１からの指示により画像を表示するディスプレイ９０２、コンピュータシステム９００に種々の情報を入力するためのキーボード９０３、ディスプレイ９０２の表示画面９０２ａ上の任意の位置を指定するマウス９０４及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置９０５を有する。通信装置９０５は、ネットワーク通信カード、モデムなどが考えられる。
【０１００】
上述したような、ホストを構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、ＨＤＤ制御プログラムとして提供することができる。このプログラムは、コンピュータシステムにより読み取り可能な記録媒体に記憶させることによって、ホストを構成するコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク９１０等の可搬型記録媒体に格納されるか、通信装置９０５により他のコンピュータシステムの記録媒体９０６からダウンロードされる。また、コンピュータシステム９００に少なくともＨＤＤ制御機能を持たせるＨＤＤ制御プログラムは、コンピュータシステム９００に入力されてコンパイルされる。このプログラムは、コンピュータシステム９００をＨＤＤ制御機能を有するＨＤＤ制御システムとして動作させる。また、このプログラムは、例えばディスク９１０等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム９００により読み取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ディスク９１０やフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置９０５のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【０１０１】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
【０１０２】
以上の実施の形態１〜３に関し、更に以下の付記を開示する。
（付記１）
コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置であって、
前記コンピュータからコマンドを受信する通信部と、
前記通信部により受信されたコマンドに基づいて、前記ディスクへのアクセス状況を示す第１情報を生成する情報生成部と、
前記情報生成部により生成された第１情報に基づいて、前記ヘッド及び前記ディスクの少なくともいずれかの駆動速度の制御を行う制御部と、
を備える磁気ディスク装置。
（付記２）
前記情報生成部は、前記通信部により受信されたコマンドの中から前記ディスクへのアクセスに関するコマンドである第１コマンドを検出し、前記第１コマンドに関する統計処理を行い、該統計処理結果を前記第１情報とする、
付記１に記載の磁気ディスク装置。
（付記３）
前記第１情報は、前記第１コマンドのアクセスパターン毎の頻度の分布である、
付記２に記載の磁気ディスク装置。
（付記４）
前記駆動速度は、前記ヘッドの移動速度である、
付記３に記載の磁気ディスク装置。
（付記５）
前記情報生成部は、予め第１コマンドのアクセスパターン毎の頻度により定義された複数のタイプに基づいて、前記通信部により受信された第１コマンドのタイプを認識し、前記タイプのそれぞれに認識された第１コマンドのカウントを行い、前記カウントにより得られる前記タイプ毎のカウント値に基づいて前記第１情報を生成する、
付記３に記載の磁気ディスク装置。
（付記６）
前記複数のタイプは、第１コマンドがシーケンシャルアクセスコマンドであることを条件とする第１タイプを含み、
前記制御部は、全ての前記タイプのカウント値に対する前記第１タイプのカウント値の比率が所定の第１カウント閾値より大きい場合、前記駆動速度を減少させる、
付記５に記載の磁気ディスク装置。
（付記７）
前記複数のタイプは、第１コマンドがランダムアクセスコマンドであり且つ第１コマンドの頻度が所定の第１閾値より小さいことを条件とする第２タイプを含み、
前記制御部は、全ての前記タイプのカウント値に対する前記第２タイプのカウント値の比率が所定の第２カウント比率閾値より大きい場合、前記駆動速度を増加させる、
付記５に記載の磁気ディスク装置。
（付記８）
前記第１情報は、前記第１コマンドの頻度の分布である、
付記２に記載の磁気ディスク装置。
（付記９）
前記駆動速度は、前記ディスクの回転速度である、
付記８に記載の磁気ディスク装置。
（付記１０）
前記制御部は、前記ディスクの回転速度に対応して前記ヘッドのヒータの制御を行う、
付記９に記載の磁気ディスク装置。
（付記１１）
前記第１コマンドの頻度は、前記通信部により受信された最新の第１コマンドと前記通信部により受信された直前の第１コマンドとの時間差により表される、
付記８に記載の磁気ディスク装置。
（付記１２）
前記情報生成部は、予め第１コマンドの頻度により定義された複数の状態と前記通信部により受信された第１コマンドの頻度とに基づいて、現在の前記状態を認識し、前記状態のそれぞれの滞在時間の測定を行い、該測定により得られる前記状態毎の滞在時間に基づいて前記第１情報を生成する、
付記８に記載の磁気ディスク装置。
（付記１３）
前記複数の状態は、アイドル状態を含み、
前記情報生成部は、前記磁気ディスクの稼働時間からアイドル状態の滞在時間を除いた時間を算出してアクティブ時間とし、
前記制御部は、前記アクティブ時間に対する前記滞在時間の比率に基づいて、前記駆動速度を決定する、
付記１２に記載の磁気ディスク装置。
（付記１４）
前記複数の状態は、前記通信部により受信された第１コマンドの頻度が所定の第１頻度閾値より大きい第１状態を含み、
前記制御部は、前記アクティブ状態に対する前記第１状態の滞在時間の比率が所定の第１時間比率閾値より大きい場合、前記駆動速度を増加させる、
付記１３に記載の磁気ディスク装置。
（付記１５）
前記複数の状態は、前記通信部により受信された第１コマンドの頻度が所定の第２頻度閾値より小さい第２状態を含み、
前記制御部は、前記アクティブ状態に対する前記第２状態の滞在時間の比率が所定の第２時間比率閾値より大きい場合、前記駆動速度を増加させる、
付記１３に記載の磁気ディスク装置。
（付記１６）
前記制御部は、所定のタイミングで前記駆動速度の制御を行う、
付記１に記載の磁気ディスク装置。
（付記１７）
前記所定のタイミングは、前記磁気ディスク装置の起動時である、
付記１６に記載の磁気ディスク装置。
（付記１８）
前記情報生成部は、前記第１情報を不揮発性記憶媒体へ格納し、
前記制御部は、前記不揮発性記憶媒体から前記第１情報を読み出し、該第１情報に基づいて前記駆動速度の制御を行う、
付記１７に記載の磁気ディスク装置。
（付記１９）
前記所定のタイミングは、所定の更新時間間隔毎に設定される、
付記１６に記載の磁気ディスク装置。
（付記２０）
コンピュータからのコマンドに従ってヘッドによりディスクへのアクセスを行う磁気ディスク装置の制御方法であって、
前記磁気ディスク装置により前記コンピュータから受信されたコマンドに基づいて、前記ディスクへのアクセス状況に関する第１情報を生成し、
生成された前記第１情報に基づいて、前記ヘッド及び前記ディスクの少なくともいずれかの駆動速度の制御を行う
ことを実行させる磁気ディスク装置の制御方法。
【図面の簡単な説明】
【０１０３】
【図１】実施の形態１のＨＤＤ装置の構成の一例を示すブロック図である。
【図２】実施の形態１のファームウェアの構成の一例を示すブロック図である。
【図３】実施の形態１のアクセス状況測定処理の一例を示すフローチャートである。
【図４】実施の形態１のパフォーマンス設定テーブルの一例を示す表である。
【図５】実施の形態１のパフォーマンスモードの一例を示す表である。
【図６】実施の形態１のパフォーマンス更新処理の一例を示すフローチャートである。
【図７】実施の形態２のファームウェアの構成の一例を示すブロック図である。
【図８】実施の形態２のアクセス状況測定処理の一例を示すフローチャートである。
【図９】実施の形態２のパフォーマンスモードの一例を示す表である。
【図１０】実施の形態２のパフォーマンス更新処理の一例を示すフローチャートである。
【図１１】実施の形態３のホストにより実行されるＨＤＤ制御プログラムとＨＤＤ装置により実行されるファームウェアとの構成の一例を示すブロック図である。
【図１２】本発明が適用されるコンピュータシステムの一例を示す図である。
【符号の説明】
【０１０４】
１，３１  ＨＤＤ装置、２  ホストＩＦ制御部、３  バッファ制御部、４  バッファメモリ、５  フォーマット制御部、６  リードチャネル、７  ヘッドＩＣ、８  ＭＰＵ、９  不揮発性メモリ、１０  リアルタイムクロック、１１  サーボ制御部、１２  ＶＣＭ、１３  ＳＰＭ、１４  ヘッド、１５  ディスク、１６ａ，１６ｂ，１６ｃ  ファームウェア、１７  ＨＤＤ制御プログラム、２０，３０  ホスト、２１  通常処理部、２２  サーボ部、２３ａ，２３ｂ，２３ｃ  アクセス状況測定処理部、２４ａ，２４ｂ，２４ｃ  、パフォーマンス更新処理部、２５  パフォーマンス設定部。
【図１】
2010123154.tif 000003
【図２】
2010123154.tif 000004
【図３】
2010123154.tif 000005
【図４】
2010123154.tif 000006
【図５】
2010123154.tif 000007
【図６】
2010123154.tif 000008
【図７】
2010123154.tif 000009
【図８】
2010123154.tif 000010
【図９】
2010123154.tif 000011
【図１０】
2010123154.tif 000012
【図１１】
2010123154.tif 000013
【図１２】
2010123154.tif 000014