(57)【要約】【課題】磁気ディスク装置のライト動作を効率化する。【解決手段】実施形態によれば、磁気ディスクと、前記磁気ディスクにアクセスする磁気ヘッドと、前記磁気ヘッドを前記磁気ディスク上で駆動するボイスコイルモータと、前記ボイスコイルモータを駆動する駆動回路と、を備える磁気ディスク装置のコマンドリオーダリング方法であって、前記磁気ヘッドのシーク距離に対するシーク時間を含むシーク動作に関する情報を記憶し、温度と前記駆動回路の電源電圧に応じて、前記シーク距離に対する前記シーク時間を変更する。【選択図】図１
2018026187.tif 000002
【特許請求の範囲】
【請求項１】
磁気ディスクと、
前記磁気ディスクにアクセスする磁気ヘッドと、
前記磁気ヘッドを前記磁気ディスク上で駆動するボイスコイルモータと、
前記ボイスコイルモータを駆動する駆動回路と、
前記磁気ヘッドのシーク距離に対するシーク時間を含むシーク動作に関する情報を記憶するメモリと、
温度と前記駆動回路の電源電圧に応じて、前記シーク距離に対する前記シーク時間を変更するコントローラとを備える磁気ディスク装置。
【請求項２】
前記温度に基づいて、前記ボイスコイルモータのマグネット磁力およびコイル抵抗を補正することで前記シーク時間を変更する請求項１に記載の磁気ディスク装置。
【請求項３】
前記ボイスコイルモータの温度をＤＴ、前記ボイスコイルモータの温度補正後のマグネット磁力をＪ１、マグネット基準磁力をＪ２、マグネット基準温度をＴＭ、マグネット温度係数をＪＫ、前記ボイスコイルモータの温度補正後のコイル抵抗をＲ１、コイル基準抵抗をＲ２、コイル基準温度をＴＣ、コイル温度係数をＣＫ、シークに必要な電圧をＶＳ、シークに必要な最大電流をＩＨ、シーク電流を検出するセンス抵抗の値をＲＳ、前記駆動回路のオン抵抗をＲＮ、前記駆動回路から前記ボイスコイルモータまでの配線抵抗の値をＲＨ、電圧マージンをＶＭ、前記駆動回路の電源電圧をＶＤ、シーク時間をＴＳ、シーク時間補正値をＴＨとすると、
Ｊ１＝ＪＫ＊（ＤＴ−ＴＭ）＋Ｊ２
Ｒ１＝ＣＫ＊（ＤＴ−ＴＣ）＋Ｒ２
ＶＳ＝Ｊ１／Ｊ２＊ＩＨ＊（Ｒ１＋ＲＳ＋ＲＮ＋ＲＨ）＊ＶＭ
ＴＨ＝ＴＳ＊（ｓｑｒｔ（ＶＳ／ＶＤ）−１）
という関係を満たす請求項２に記載の磁気ディスク装置。
【請求項４】
シークに使われるシーク電流は前記シーク距離に応じて変化し、前記シークに必要な最大電流は前記シーク電流の最大値である請求項３に記載の磁気ディスク装置。
【請求項５】
前記電源電圧を検出する電圧センサと、
前記ボイスコイルモータの温度を検出する温度センサと、
前記駆動回路から前記ボイスコイルモータに供給されるシーク電流を検出するセンス抵抗とを備える請求項１に記載の磁気ディスク装置。
【請求項６】
前記コントローラは、
第１の制御部と第２の制御部とを実行するプロセッサと、
ライトコマンドに対応したキューを保持するバッファとを備え、
前記上位処理部は、前記ライトコマンドに基づいて前記シーク距離を算出し、
前記下位処理部は、前記ボイスコイルモータの温度と前記駆動回路の電源電圧に基づいて、前記シーク距離に対応したシーク時間補正値を算出する請求項１に記載の磁気ディスク装置。
【請求項７】
前記上位処理部は、前記シーク時間補正値に従って補正されたシーク時間に基づいて、前記キューに保持されているライトコマンドのリオーダリングを前記プロセッサに実行させ、
前記下位処理部は、前記ライトコマンドのリオーダリング結果に基づいて、前記磁気ディスクへのデータライト時のサーボ制御を前記プロセッサに実行させる請求項６に記載の磁気ディスク装置。
【請求項８】
前記上位処理部は、前記リオーダリングにおいて、前記キューに保持されているＮ（Ｎは２以上の整数）個のライトコマンドからＫ（Ｋは２以上Ｎ以下の整数）個のライトコマンドを先読みし、前記Ｋ個のライトコマンドをキューイングの古い方から順に実行した場合に比べて、前記Ｋ個のライトコマンドの実行時の待ち時間が少なくなるように前記ライトコマンドの実行順序を入れ替える請求項６に記載の磁気ディスク装置。
【請求項９】
前記上位処理部は、前記リオーダリングにおいて、前記Ｋ個のライトコマンドの実行順序のうち前記待ち時間が最も少なくなるように前記ライトコマンドの実行順序を選択する請求項８に記載の磁気ディスク装置。
【請求項１０】
前記シーク時間の補正後では、前記シーク時間の補正前に比べて基準温度でのＩＯＰＳ値が大きく、前記電源電圧の変動に応じた前記ＩＯＰＳ値のバラツキが大きい請求項１に記載の磁気ディスク装置。
【請求項１１】
前記シーク時間の補正後では、前記シーク時間の補正前に比べて前記電源電圧の変動に応じたリトライ数のバラツキが小さい請求項１に記載の磁気ディスク装置。
【請求項１２】
磁気ディスクと、
前記磁気ディスクにアクセスする磁気ヘッドと、
前記磁気ヘッドを前記磁気ディスク上で駆動するボイスコイルモータと、
前記ボイスコイルモータを駆動する駆動回路と、を備える磁気ディスク装置のコマンドリオーダリング方法であって、
前記磁気ヘッドのシーク距離に対するシーク時間を含むシーク動作に関する情報を記憶し、
温度と前記駆動回路の電源電圧に応じて、前記シーク距離に対する前記シーク時間を変更するコマンドリオーダリング方法。
【請求項１３】
前記温度に基づいて、前記ボイスコイルモータのマグネット磁力およびコイル抵抗を補正することで前記シーク時間を変更する請求項１２に記載のコマンドリオーダリング方法。
【請求項１４】
前記ボイスコイルモータの温度をＤＴ、前記ボイスコイルモータの温度補正後のマグネット磁力をＪ１、マグネット基準磁力をＪ２、マグネット基準温度をＴＭ、マグネット温度係数をＪＫ、前記ボイスコイルモータの温度補正後のコイル抵抗をＲ１、コイル基準抵抗をＲ２、コイル基準温度をＴＣ、コイル温度係数をＣＫ、シークに必要な電圧をＶＳ、シークに必要な最大電流をＩＨ、シーク電流を検出するセンス抵抗の値をＲＳ、前記駆動回路のオン抵抗をＲＮ、前記駆動回路から前記ボイスコイルモータまでの配線抵抗の値をＲＨ、電圧マージンをＶＭ、前記駆動回路の電源電圧をＶＤ、シーク時間をＴＳ、シーク時間補正値をＴＨとすると、
Ｊ１＝ＪＫ＊（ＤＴ−ＴＭ）＋Ｊ２
Ｒ１＝ＣＫ＊（ＤＴ−ＴＣ）＋Ｒ２
ＶＳ＝Ｊ１／Ｊ２＊ＩＨ＊（Ｒ１＋ＲＳ＋ＲＮ＋ＲＨ）＊ＶＭ
ＴＨ＝ＴＳ＊（ｓｑｒｔ（ＶＳ／ＶＤ）−１）
という関係を満たす請求項１３に記載のコマンドリオーダリング方法。
【請求項１５】
シークに使われるシーク電流は前記シーク距離に応じて変化し、前記シークに必要な最大電流は前記シーク電流の最大値である請求項１４に記載のコマンドリオーダリング方法。
【請求項１６】
キューに保持されたライトコマンドに基づいて前記シーク距離を算出し、
前記ボイスコイルモータの温度と前記駆動回路の電源電圧に基づいて、前記シーク距離に対応したシーク時間補正値を算出する請求項１２に記載のコマンドリオーダリング方法。
【請求項１７】
前記シーク時間補正値に従って補正されたシーク時間に基づいて、前記キューに保持されているライトコマンドのリオーダリングを実行し、
前記ライトコマンドのリオーダリング結果に基づいて、前記磁気ディスクへのデータライト時のサーボ制御を実行する請求項１６に記載のコマンドリオーダリング方法。
【請求項１８】
前記キューに保持されているＮ（Ｎは２以上の整数）個のライトコマンドからＫ（Ｋは２以上Ｎ以下の整数）個のライトコマンドを先読みし、前記Ｋ個のライトコマンドの実行順序のうち待ち時間が最も少なくなるように前記ライトコマンドの実行順序を選択する請求項１７に記載のコマンドリオーダリング方法。
【請求項１９】
前記シーク時間の補正後では、前記シーク時間の補正前に比べて基準温度でのＩＯＰＳ値が大きく、前記電源電圧の変動に応じた前記ＩＯＰＳ値のバラツキが大きい請求項１２に記載のコマンドリオーダリング方法。
【請求項２０】
前記シーク時間の補正後では、前記シーク時間の補正前に比べて前記電源電圧の変動に応じたリトライ数のバラツキが小さい請求項１２に記載のコマンドリオーダリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、一般的に、磁気ディスク装置および磁気ディスク装置のコマンドリオーダリング方法に関する。
【背景技術】
【０００２】
磁気ディスク装置では、磁気ディスクへのライト時の待ち時間を低減するため、ライトコマンドをリオーダリングすることが行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第７０６１７１４号明細書
【特許文献２】米国特許第７３６９３５２号明細書
【特許文献３】米国特許第６３４２９８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の一つの実施形態は、ライト動作を効率化することが可能な磁気ディスク装置および磁気ディスク装置のコマンドリオーダリング方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一つの実施形態によれば、磁気ディスクと、前記磁気ディスクにアクセスする磁気ヘッドと、前記磁気ヘッドを前記磁気ディスク上で駆動するボイスコイルモータと、前記ボイスコイルモータを駆動する駆動回路と、を備える磁気ディスク装置のコマンドリオーダリング方法であって、前記磁気ヘッドのシーク距離に対するシーク時間を含むシーク動作に関する情報を記憶し、温度と前記駆動回路の電源電圧に応じて、前記シーク距離に対する前記シーク時間を変更する。
【図面の簡単な説明】
【０００６】
【図１】図１は、一実施形態に係る磁気ディスク装置の概略構成を示すブロック図である。
【図２】図２は、一実施形態に係る磁気ディスク装置のＶＣＭ電流の制御系の概略構成を示すブロック図である。
【図３】図３は、一実施形態に係る磁気ディスク装置のシークテーブルの構成例を示す図である。
【図４】（ａ）は、一実施形態に係る磁気ディスク装置のライトコマンドの実行順位の一例を示す図、（ｂ）は、（ａ）の実行順位によるシーク経路の一例を示す図、（ｃ）は、一実施形態に係る磁気ディスク装置のライトコマンドの実行順位のその他の例を示す図、（ｄ）は、（ｃ）の実行順位によるシーク経路の一例を示す図である。
【図５】（ａ）は、一実施形態に係る磁気ディスク装置のリオーダリング時の上位処理部の処理を示すフローチャート、（ｂ）は、一実施形態に係る磁気ディスク装置のリオーダリング時の下位処理部の処理を示すフローチャート、（ｃ）は、一実施形態に係る磁気ディスク装置のライト動作時の下位処理部の処理を示すフローチャートである。
【図６】（ａ）は、一実施形態に係る磁気ディスク装置の補正前のシーク時間を用いてリオーダリングした時の温度とＩＯＰＳ値との関係を示す図、（ｂ）は、一実施形態に係る磁気ディスク装置の補正後のシーク時間を用いてリオーダリングした時の温度とＩＯＰＳ値との関係を示す図である。
【図７】（ａ）は、一実施形態に係る磁気ディスク装置の補正前のシーク時間を用いてリオーダリングした時の温度とリトライ数との関係を示す図、（ｂ）は、一実施形態に係る磁気ディスク装置の補正後のシーク時間を用いてリオーダリングした時の温度とリトライ数との関係を示す図である。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、実施形態にかかる磁気ディスク装置およびそのコマンドリオーダリング方法を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
【０００８】
図１は、一実施形態に係る磁気ディスク装置の概略構成を示すブロック図である。
図１において、磁気ディスク装置には、磁気ディスク１および磁気ヘッド２が設けられている。磁気ヘッド２には、ヘッドスライダで支持されたライトヘッドおよびリードヘッド（何れも不図示）が設けられている。ライトヘッドおよびリードヘッドは、磁気ディスク１の円周方向にずれて配置される。磁気ヘッド２は、アーム３を介して磁気ディスク１上に保持されている。アーム３は、シーク時などにおいて、磁気ディスク１の記録面の略半径方向に磁気ヘッド２をスライドさせる。
【０００９】
磁気ディスク１には、円周方向に沿って複数のトラックＴが設けられている。各トラックＴには、ユーザデータがライトされるデータエリアＤＡおよびサーボデータがライトされたサーボエリアＳＳが設けられている。サーボエリアＳＳは磁気ディスク１の記録面上に略放射状に配置され、円周方向のサーボエリアＳＳ間にデータエリアＤＡが配置されている。円周方向に連続して設けられたサーボエリアＳＳおよびデータエリアＤＡによりサーボセクタＳＥが構成されている。サーボエリアＳＳにはセクタ及びシリンダ情報が記録されている。セクタ及びシリンダ情報は、磁気ディスク１の円周方向および半径方向のサーボ番地（アドレス情報とも言う）を与えることができる。円周方向のサーボ番地として、Ｍ等分されたセクタＳＥごとに０からＭ−１の値を順次与えることができる。半径方向のサーボ番地として、Ｘ本のトラックＴごとに０からＸ−１の値を順次与えることができる。
【００１０】
また、磁気ディスク装置には、アーム３を介して磁気ヘッド２を駆動するボイスコイルモータ４およびボイスコイルモータ４を駆動するＶＣＭ駆動回路１２が設けられている。また、磁気ディスク装置には、コントローラ７およびヘッドアンプ５Ａが設けられている。ヘッドアンプ５Ａは、磁気ヘッド２に供給されるライト電流を出力したり、磁気ヘッド２にて読み出された再生信号を増幅したりする。コントローラ７は、位置誤差情報ｐｅｓに基づいて磁気ヘッド２の位置を制御したり、キューＱに保持されているライトコマンドおよびリードコマンドをリオーダリングしたりする。
【００１１】
コントローラ７には、信号処理回路５、位置検出回路６、リードライトチャネル７Ａ、ＣＰＵ８（プロセッサの一例）、ＲＯＭ９、バッファ１０およびインターフェース回路１１が設けられている。信号処理回路５は、磁気ヘッド２により読み取られたサーボデータをＣＰＵ８で扱われるデータ形式に変換する。位置検出回路６は、磁気ヘッド２により読み取られたサーボデータに基づいて磁気ヘッド２の半径方向の位置決め誤差に応じた位置誤差情報ｐｅｓを生成する。リードライトチャネル７Ａは、磁気ヘッド２（リードヘッド）にて再生される信号をホスト２０で扱われるデータ形式に変換したり、ホスト２０から出力されるデータを磁気ヘッド２（ライトヘッド）にて記録される信号形式に変換したりする。このような形式変換としては、ＤＡ変換、符号化、ＡＤ変換、および複合化、が含まれる。また、リードライトチャネル７Ａは、リードヘッドにて再生された信号のデコード処理を行ったり、ホスト２０から出力されるデータをコード変調したりする。ＲＯＭ９には、ＣＰＵ８を動作させるプログラムなどを格納することができる。例えば、ＲＯＭ９には、アクセス制御プログラム９Ａ、サーボ制御プログラム９Ｂおよびシークテーブル９Ｃを記憶させることができる。なお、ＲＯＭ９とは別に書き換え可能な不揮発性メモリが設けられ、例えばシークテーブル９Ｃが、この不揮発性メモリに記憶されてもよい。この不揮発性メモリやＲＯＭ９は、コントローラ７の外部に設けるように構成されてもよい。
【００１２】
アクセス制御プログラム９Ａは、キューＱに保持されているライトコマンドのリオーダリングおよびキューＱに保持されているリードコマンドのリオーダリングをＣＰＵ８に実行させることができる。サーボ制御プログラム９Ｂは、磁気ディスク１へのデータライト時またはデータリード時のサーボ制御をＣＰＵ８に実行させることができる。シークテーブル９Ｃは、磁気ヘッド２のシーク距離とシーク時間との関係を記述することができる。シーク距離は、磁気ヘッド２の現在のシリンダ位置からホスト２０からのコマンドで指定される目標シリンダ位置までの移動距離である。シーク時間は、磁気ヘッド２の現在のシリンダ位置からコマンドで指定される目標シリンダ位置までの移動時間である。バッファ１０は、ＣＰＵ８の動作に必要なデータを一時的に記憶するワークエリアを提供することができる。バッファ１０は、ホスト２０から送られたライトコマンドやリードコマンドをキューＱに保持することができる。バッファ１０は、例えば、ランダムアクセス可能なＳＤＲＡＭまたはＳＲＡＭなどを用いることができる。
【００１３】
インターフェース回路１１は、コントローラ７とホスト２０との間でデータやコマンドなどを受け渡しすることができる。例えば、インターフェース回路１１は、コントローラ７から送られたデータをホスト２０で処理可能なデータ形式に変換したり、ホスト２０から送られたデータをコントローラ７で処理可能なデータ形式に変換したりすることができる。
ホスト２０は、ライトコマンドやリードコマンドなどを磁気ディスク装置に発行するパーソナルコンピュータ又はその周辺回路であってもよいし、サーバなどに接続可能なネットワークデバイスであってもよい。すなわち、磁気ディスク装置は、ホスト２０の外部記憶装置として用いられる。磁気ディスク装置は、ホスト２０に外付けされていてもよいし、ホスト２０に内蔵されていてもよい。
【００１４】
以下、磁気ディスク装置のライト動作の例を説明する。
ホスト２０からライトコマンドが送られると、そのライトコマンドはキューＱに保持される。ライトコマンドでは、ライトデータの書き込み位置をランダムに指定することができる。そして、ＣＰＵ８は、磁気ヘッド２の現在位置およびライトコマンドで指定される書き込み位置に基づいてシーク距離を算出する。そして、ＣＰＵ８は、シークテーブル９Ｃを参照することで、そのシーク距離に対応したシーク時間を取得し、温度とＶＣＭ駆動回路１２の電源電圧に基づいて、そのシーク時間を補正する。
そして、ＣＰＵ８は、その補正されたシーク時間に基づいて、キューＱに保持されているライトコマンドをリオーダリングする。そして、ＣＰＵ８は、そのリオーダリングされた実行順序に従ってライトコマンドを実行する。
【００１５】
この時、回転された磁気ディスク１から、磁気ヘッド２を介して読み取られたサーボデータが信号処理回路５にて処理される。次に、位置検出回路６において、磁気ヘッド２によるサーボデータの読み取り結果に基づいて磁気ヘッド２の復調位置が算出され、磁気ヘッド２の位置誤差（すなわち、算出された復調位置と磁気ヘッド２の位置決め目標位置との差）に応じた位置誤差情報ｐｅｓが生成される。この位置誤差情報ｐｅｓの算出では、磁気ディスク１に記録されているセクタ及びシリンダ情報から磁気ヘッド２の現在のサーボ番地（アドレス情報）を算出することができる。そして、磁気ヘッド２の現在のアドレス情報と復調位置と目標位置とから位置誤差情報ｐｅｓを算出することができる。そして、一定時間間隔で算出された位置誤差情報ｐｅｓがコントローラ７に入力されることで、コントローラ７はＶＣＭ駆動回路１２への入力情報を決定するサンプル値制御系を構成することができる。この時、コントローラ７は、位置誤差情報ｐｅｓが０に近づくようにＶＣＭ駆動回路１２を制御することができる。そして、ライトコマンドで指定される書き込み位置に磁気ヘッド２がシークされると、その書き込み位置にライトデータが書き込まれる。
【００１６】
図２は、一実施形態に係る磁気ディスク装置のＶＣＭ電流の制御系の概略構成を示すブロック図である。
図２において、磁気ディスク装置には、図１の構成に加え、電源１３、電圧センサ１４、温度センサ１５およびセンス抵抗１６が設けられている。ボイスコイルモータ４には、マグネット４Ａおよびコイル４Ｂが設けられている。電源１３は、電源電圧ＶＤ１をＣＰＵ８に供給し、ＶＣＭ駆動回路１２に電源電圧ＶＤ１、ＶＤ２を供給する。電源電圧ＶＤ２は、電源電圧ＶＤ１より大きい。この時、例えば、電源電圧ＶＤ１は５Ｖ、電源電圧ＶＤ２は１２Ｖに設定することができる。ＶＣＭ駆動回路１２において、電源電圧ＶＤ１はデジタル回路に使用し、電源電圧ＶＤ２はアナログ回路に使用することができる。この時、電源電圧ＶＤ２は、磁気ヘッド２のシーク動作に使用することができる。電圧センサ１４は、電源１３から供給される電源電圧ＶＤ１、ＶＤ２を検出する。温度センサ１５は、ボイスコイルモータ４の温度を検出する。温度センサ１５は、ボイスコイルモータ４に直接取り付けてもよいし、ボイスコイルモータ４が設置された筐体（ＶＣＭ近傍の筐体）上、又はＶＣＭの設置箇所に対応する筐体外部の基板上に取り付けてもよい。この時、温度センサ１５は、シーク電流ＩＳがコイル４Ｂに流れている時のコイル４Ｂの発熱による温度上昇を検出することができる。センス抵抗１６は、ＶＣＭ駆動回路１２からボイスコイルモータ４に供給されるシーク電流ＩＳを検出する。ＶＣＭ駆動回路１２とコイル４Ｂは配線ＨＡを介して接続されている。センス抵抗１６は配線ＨＡに直列に接続される。
【００１７】
ＣＰＵ８では、磁気ヘッド２の現在速度と書き込み位置までの残距離に応じてシーク電流ＩＳの値が設定される。シーク電流ＩＳはシーク距離に応じて増大させることができる。この時、ＣＰＵ８は、関数計算でシーク電流ＩＳを求めることができる。ただし、シーク電流ＩＳには最大値があり、シーク電流ＩＳが最大値に達した時はシーク距離が増大しても、シーク電流ＩＳが一定に維持される。そして、ＶＣＭ駆動回路１２に電源電圧ＶＤ１、ＶＤ２が供給されると、ＣＰＵ８で設定された値に対応するシーク電流ＩＳが生成される。このシーク電流ＩＳは、ＶＣＭ駆動回路１２から配線ＨＡを介してコイル４Ｂに供給される。シーク電流ＩＳがコイル４Ｂに流れると、磁気ヘッド２がシークされる。
【００１８】
また、シーク電流ＩＳはセンス抵抗１６にて検出され、その検出値ＤＩがＶＣＭ駆動回路１２に入力される。ＶＣＭ駆動回路１２は、検出値ＤＩに基づいてシーク電流ＩＳを監視し、シーク電流ＩＳが目標値になるようにフィードバック制御を行うことができる。また、ボイスコイルモータ４の温度が温度センサ１５にて検出され、その検出値ＤＴがＣＰＵ８に入力される。電源１３から供給される電源電圧ＶＤ１、ＶＤ２は電圧センサ１４にて検出され、その検出値ＤＶがＣＰＵ８に入力される。
【００１９】
ＣＰＵ８は、シークテーブル９Ｃを参照することで、シーク距離に対応したシーク時間を取得し、温度センサ１５の検出値ＤＴおよび電圧センサ１４の検出値ＤＶに基づいて、そのシーク時間を補正する。なお、シーク時間の補正には、シーク動作に使われる電源電圧ＶＤ２の検出値ＤＶを用いることができる。ＣＰＵ８は、その補正されたシーク時間に基づいて、キューＱに保持されているライトコマンドをリオーダリングする。そして、ＣＰＵ８は、そのリオーダリングされた実行順序に従ってライトコマンドを実行する。この時、ライトコマンドごとにシーク距離を算出し、そのシーク距離に応じてシーク電流ＩＳの値を算出することができる。
【００２０】
ここで、温度センサ１５の検出値をＤＴ、ボイスコイルモータ４の温度補正後のマグネット磁力をＪ１、マグネット基準磁力をＪ２、マグネット基準温度をＴＭ、マグネット温度係数をＪＫ、ボイスコイルモータ４の温度補正後のコイル抵抗をＲ１、コイル基準抵抗をＲ２、コイル基準温度をＴＣ、コイル温度係数をＣＫ、シークに必要な電圧をＶＳ、シーク時間の補正に使われるシークに必要な最大電流をＩＨ、センス抵抗１６の値をＲＳ、ＶＣＭ駆動回路１２のオン抵抗をＲＮ、配線ＨＡの抵抗値をＲＨ、電圧マージンをＶＭ、シーク時間をＴＳ、シーク時間補正値をＴＨとすると、以下の関係を満たすことができる。
Ｊ１＝ＪＫ＊（ＤＴ−ＴＭ）＋Ｊ２  ・・・（１）
Ｒ１＝ＣＫ＊（ＤＴ−ＴＣ）＋Ｒ２  ・・・（２）
ＶＳ＝Ｊ１／Ｊ２＊ＩＨ＊（Ｒ１＋ＲＳ＋ＲＮ＋ＲＨ）＊ＶＭ  ・・・（３）
ＴＨ＝ＴＳ＊（ｓｑｒｔ（ＶＳ／ＶＤ２）−１）  ・・・（４）
ｓｑｒｔは平方根を求める演算を示す。
【００２１】
この時、補正されたシーク時間ＴＳＨは、以下の式で与えることができる。
ＴＳＨ＝ＴＨ＋ＴＳ  ・・・（５）
（５）式によれば、ボイスコイルモータ４の温度が上がれば、補正されたシーク時間ＴＳＨは大きくなる。ＶＣＭ駆動回路１２の電源電圧ＶＤ２が下がれば、補正されたシーク時間ＴＳＨは大きくなる。なお、例えば、マグネット基準温度およびコイル基準温度は３０℃に設定することができる。シークに必要な最大電流ＩＨはシーク距離に応じて変化させてもよい。この時、シークテーブル９Ｃとは別個に、シーク距離とシークに必要な最大電流ＩＨとの関係が記述されたテーブルを持つことができる。
シークに必要な最大電流ＩＨは固定値であってもよい。この時、シークに必要な最大電流ＩＨは、シーク電流ＩＳの最大値を用いることができる。ここで、シークに必要な最大電流ＩＨを固定値とすることにより、シーク距離とシークに必要な最大電流ＩＨとの関係が記述されたテーブルを不要とすることができる。
【００２２】
図３は、一実施形態に係る磁気ディスク装置のシークテーブルの構成例を示す図である。
図３において、シークテーブル９Ｃには、磁気ヘッド２のシーク距離Ｄ１〜ＤＭ（Ｍは２以上の整数）とシーク時間Ｔ１〜ＴＭとの関係がそれぞれ記述されている。シークテーブル９Ｃに登録されるシーク時間Ｔ１〜ＴＭは、基準温度および基準電源電圧における値に設定することができる。例えば、基準温度は３０℃、基準電源電圧は１２Ｖに設定することができる。
【００２３】
図４（ａ）は、一実施形態に係る磁気ディスク装置のライトコマンドの実行順位の一例を示す図、図４（ｂ）は、図４（ａ）の実行順位によるシーク経路の一例を示す図、図４（ｃ）は、一実施形態に係る磁気ディスク装置のライトコマンドの実行順位のその他の例を示す図、図４（ｄ）は、図４（ｃ）の実行順位によるシーク経路の一例を示す図である。
図４（ａ）において、キューＱには、ライトコマンドＷＡ〜ＷＤが保持されているものとする。各ライトコマンドＷＡ〜ＷＤでは書き込み位置ＰＡ〜ＰＤが指定される。ここで、次に実行されるライトコマンドの待ち時間が最も少なくなる書き込み位置が指定されるようにライトコマンドＷＡ〜ＷＤをリオーダリングするものとする。待ち時間は、シーク時間と回転待ち時間との和で表すことができる。回転待ち時間は、磁気ヘッド２のシーク後に目標セクタが磁気ヘッド２下に到達するまでの磁気ディスク１の回転に要する時間である。
【００２４】
この場合、図４（ｂ）に示すように、ライトコマンドＷＡ〜ＷＤの実行順序をＷＡ→ＷＢ→ＷＣ→ＷＤという実行順序に設定することができる。すなわち、磁気ヘッド２の現在位置から待ち時間が最も少ないのが書き込み位置ＰＡであるとすると、ライトコマンドＷＡの実行順位が１位に設定される。磁気ヘッド２が書き込み位置ＰＡにある時に待ち時間が最も少ないのが書き込み位置ＰＢであるとすると、ライトコマンドＷＢの実行順位が２位に設定される。磁気ヘッド２が書き込み位置ＰＢにある時に待ち時間が最も少ないのが書き込み位置ＰＣであるとすると、ライトコマンドＷＣの実行順位が３位に設定される。磁気ヘッド２が書き込み位置ＰＣにある時に待ち時間が最も少ないのが書き込み位置ＰＤであるとすると、ライトコマンドＷＤの実行順位が４位に設定される。
ここで、ライトコマンドＷＡ〜ＷＤをリオーダリングすることで、ライトコマンドＷＡ〜ＷＤをキューイングの古い方から順に実行した場合に比べて、ライトコマンドＷＡ〜ＷＤの実行時の待ち時間を少なくすることができる。
【００２５】
一方、図４（ｃ）において、４個のライトコマンドＷＡ〜ＷＤが全て実行される時の全体の待ち時間が最も少なくなる書き込み位置が指定されるようにライトコマンドＷＡ〜ＷＤをリオーダリングするものとする。この場合、図４（ｄ）に示すように、ライトコマンドＷＡ〜ＷＤの実行順序をＷＡ→ＷＣ→ＷＢ→ＷＤという実行順序に設定することができる。この方法では、磁気ヘッド２が書き込み位置ＰＡにある時に待ち時間が最も少ないのが書き込み位置ＰＢであり、磁気ヘッド２が書き込み位置ＰＢにある時に待ち時間が最も少ないのが書き込み位置ＰＣである場合においても、ライトコマンドＷＢの実行順位が２位、ライトコマンドＷＣの実行順位が３位に設定されない。このように設定すると、磁気ヘッド２が書き込み位置ＰＣにある時に書き込み位置ＰＤまでシークするのに時間がかかるためである。
【００２６】
この方法では、４個のライトコマンドＷＡ〜ＷＤを先読みすることができる。そして、ライトコマンドＷＡ〜ＷＤのリオーダリング前において、磁気ヘッド２が書き込み位置ＰＣにある時に書き込み位置ＰＤまでシークするのに時間がかかるということを認識することができる。このため、ＷＣ→ＷＤという実行順序が含まれることで、４個のライトコマンドＷＡ〜ＷＤが全て実行される時の全体の待ち時間が長くなる場合は、図４（ｂ）とは異なるライトコマンドＷＡ〜ＷＤの実行順序を選択することができる。そして、ライトコマンドＷＡ〜ＷＤの実行順序をＷＡ→ＷＣ→ＷＢ→ＷＤという実行順序に設定することで、４個のライトコマンドＷＡ〜ＷＤが全て実行される時の全体の待ち時間が最も短くなる場合は、その実行順序を選択することができる。
【００２７】
図４（ｂ）の実行順位の設定方法では、リオーダリング時に次の１個のライトコマンドの書き込み位置しか参照されない。これに対して、図４（ｄ）の実行順序の設定方法では、リオーダリング時に４個のライトコマンドの書き込み位置が参照される。このため、図４（ｃ）の実行順序の設定方法では、図４（ａ）の実行順序の設定方法に比べて、ライトコマンドＷＡ〜ＷＤの全ての実行にかかる待ち時間を少なくすることができる。ここで、待ち時間の算出には、図２の温度センサ１５の検出値ＤＴおよび電圧センサ１４の検出値ＤＶに基づいて補正されたシーク時間を用いることができる。
なお、図４（ｃ）および図４（ｄ）では、４個のライトコマンドを先読みする方法を例にとったが、実施形態に係る磁気ディスク装置は、Ｋ（Ｋは２以上Ｎ以下の整数）個のライトコマンドを先読みすることができる。
【００２８】
図５（ａ）は、一実施形態に係る磁気ディスク装置のリオーダリング時の上位処理部の処理を示すフローチャート、図５（ｂ）は、一実施形態に係る磁気ディスク装置のリオーダリング時の下位処理部の処理を示すフローチャート、図５（ｃ）は、一実施形態に係る磁気ディスク装置のライト動作時の下位処理部の処理を示すフローチャートである。なお、アクセス制御プログラム９Ａは、上位処理部としてＣＰＵ８を動作させることができる。サーボ制御プログラム９Ｂは、下位処理部としてＣＰＵ８を動作させることができる。図５（ｂ）のフローチャートでは、シークに必要な最大電流ＩＨがシーク電流ＩＳの最大値に固定されている場合を示す。以下の説明では、図４（ｄ）のリオーダリング方法を例にとる。
【００２９】
図５（ａ）に示すように、リオーダリング時において、上位処理部は、ライトコマンドで指定される書き込み位置と現在の位置とに基づいてシーク距離を算出する（Ｓ１）。なお、図４（ｃ）の実行順位の設定方法では、キューＱに保持されている全てのライトコマンド間の組み合わせについてシーク距離を算出することができる。例えば、キューＱに４個のライトコマンドＷＡ〜ＷＤが保持されているものとすると、現在位置→ＷＡ〜ＷＤそれぞれ、ＷＡ→ＷＢ、ＷＡ→ＷＣ、ＷＡ→ＷＤ、ＷＢ→ＷＣ、ＷＢ→ＷＤおよびＷＣ→ＷＤについてのシーク距離を算出することができる。
【００３０】
次に、上位処理部は、下位処理部にシーク時間算出を依頼する（Ｓ２）。この時、シーク距離が上位処理部から下位処理部に渡され、図５（ｂ）に示すように、下位処理部はシーク距離を取得する（Ｓ１１）。
【００３１】
次に、下位処理部は、温度センサ１５の検出値ＤＴを参照し、（１）式に従って温度補正後のマグネット磁力Ｊ１を算出する（Ｓ１２）とともに、（２）式に従って温度補正後のコイル抵抗Ｒ１を算出する（Ｓ１３）。次に、下位処理部は、シーク電流ＩＳの最大値を取得し（Ｓ１４）、（３）式に従ってシークに必要な電圧ＶＳを算出する（Ｓ１５）。次に、下位処理部は、シークテーブル９Ｃを参照して、補正前のシーク時間を取得し（Ｓ１６）、電源電圧ＶＤ２を参照して、（４）式に従ってシーク時間補正値ＴＨを算出する（Ｓ１７）。そして、下位処理部は、（５）式に従って補正されたシーク時間ＴＳＨを算出する（Ｓ１８）。この時、補正されたシーク時間ＴＳＨが下位処理部から上位処理部に渡され、図５（ａ）に示すように、上位処理部は、補正されたシーク時間ＴＳＨを取得する（Ｓ３）。
【００３２】
次に、上位処理部は、キューＱに保持されているＮ（Ｎは２以上の整数）個のライトコマンドからＫ（Ｋは２以上Ｎ以下の整数）個のライトコマンドを先読みし、そのＫ個のライトコマンドについてリオーダリング処理を実行する（Ｓ４）。このリオーダリング処理では、Ｋ個のライトコマンドをキューイングの古い方から順に実行した場合に比べて、Ｋ個のライトコマンド全ての実行時の待ち時間が少なくなるようにライトコマンドの実行順序を入れ替えることができる。この時、Ｋ個のライトコマンドの実行順序のうち待ち時間が最も少なくなる実行順序を選択することができる。
【００３３】
次に、上位処理部は、Ｋ個のライトコマンドについてのライト依頼を下位処理部に行う（Ｓ５）。下位処理部は、ライトコマンドの実行順位Ｊを１に設定する（Ｓ２１）。次に、下位処理部は、実行順位Ｊのライトコマンドについてのシークを実行し（Ｓ２２）、そのシーク先でデータライトを実行する（Ｓ２３）。下位処理部は、Ｊ＝Ｋかどうかを判断する（Ｓ２４）。Ｊ＝Ｋでない場合（Ｓ２４：Ｎｏ）、Ｊを１だけインクリメントした後（Ｓ２５）、Ｓ２２に戻る。Ｊ＝Ｋの場合（Ｓ２４：Ｙｅｓ）、ライト処理を終了する。
以上で説明したように、検出された温度及びＶＣＭ駆動回路１２の電源電圧ＶＤ２に基づいて、シーク時間を補正することにより、動作環境の変動に対するロバスト性を向上することができる。このため、ボイスコイルモータ４の性能を、動作環境に応じて限界近くまで引き出すことができ、ライト動作を効率化することができる。
また、電源電圧ＶＤ２および温度センサ１５の検出値ＤＴの管理及び、シーク時間の補正を下位処理部が実行し、リオーダリングを上位処理部が実行することにより、シーク時間の補正の演算を効率化することができる。
【００３４】
図６（ａ）は、一実施形態に係る磁気ディスク装置の補正前のシーク時間を用いてリオーダリングした時の温度とＩＯＰＳ（Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）値との関係を示す図、図６（ｂ）は、一実施形態に係る磁気ディスク装置の補正後のシーク時間を用いてリオーダリングした時の温度とＩＯＰＳ値との関係を示す図である。ＩＯＰＳ値は、磁気ディスク装置が１秒間に処理できるホスト２０からのＩ／Ｏリクエストを数値化したものである。なお、図６（ｂ）は、シークに必要な最大電流ＩＨがシーク電流ＩＳの最大値に固定されている場合を示す。
【００３５】
図６（ａ）および図６（ｂ）に示すように、補正後のシーク時間を用いてリオーダリングした場合（図６（ｂ））は、補正前のシーク時間を用いてリオーダリングした場合（図６（ａ））に比べて、温度範囲全体（ＴＡ）、例えば−４℃〜６４℃、に渡ってＩＯＰＳ値が大きくなっている。これは、補正前のシーク時間を用いる場合は、温度が変化してもＩＯＰＳ値がなるべく変化しないように大きなマージンがとられるのに対して、補正後のシーク時間を用いる場合は、温度の変化に応じてシーク時間を最適化することができるためである。ただし、補正後のシーク時間を用いる場合は、マージンが小さいので、補正前のシーク時間を用いる場合に比べて、電源電圧ＶＤ２の変動に対するＩＯＰＳ値のバラツキが大きい。例えば、図６（ａ）におけるある温度（ＴＢ）、例えば２８℃、では、補正前のシーク時間を用いた時の電源電圧ＶＤ２の変動に対するＩＯＰＳ値のバラツキの範囲はＨＡであるのに対し、図６（ａ）における同ある温度では、補正後のシーク時間を用いた時の電源電圧ＶＤ２の変動に対するＩＯＰＳ値のバラツキの範囲はＨＢである。また、補正前のシーク時間を用いる場合は、ＩＯＰＳ値が急激に低下する温度範囲（Ｂ１）、例えば５２℃〜６４℃、があるが、補正後のシーク時間を用いる場合は、この温度範囲（Ｂ１）においても、ＩＯＰＳ値の急激な低下を抑制することができる。
【００３６】
図７（ａ）は、一実施形態に係る磁気ディスク装置の補正前のシーク時間を用いてリオーダリングした時の温度とリトライ数との関係を示す図、図７（ｂ）は、一実施形態に係る磁気ディスク装置の補正後のシーク時間を用いてリオーダリングした時の温度とリトライ数との関係を示す図である。リトライ数は、ターゲット位置にシークするために必要な磁気ディスク１の回転数に相当する。なお、図７（ｂ）は、シークに必要な最大電流ＩＨがシーク電流ＩＳの最大値に固定されている場合を示す。
【００３７】
図７（ａ）において、補正前のシーク時間を用いてリオーダリングした場合は、相対的に低温の温度範囲（Ｂ２）において、電源電圧ＶＤ２が１１．４Ｖ以下になると、電源電圧ＶＤ２が１１．６Ｖ以上の場合に比べて、リトライ数が急激に増加する。補正前のシーク時間を用いてリオーダリングした場合は、相対的に高温の温度範囲（Ｂ３）において、リトライ数が急激に増加する。
【００３８】
一方、図７（ｂ）において、補正後のシーク時間を用いてリオーダリングした場合は、図７（ｂ）の温度範囲全体に渡ってリトライ数の急激な増加を防止することができる。また、補正後のシーク時間を用いてリオーダリングした場合は、電源電圧ＶＤ２が１１Ｖ〜１３Ｖの範囲全体に渡ってリトライ数の急激な増加を防止することができる。
【００３９】
なお、上述した実施形態では、ライト時のリオーダリング方法を例にとって説明したが、リード時のリオーダリング方法についても同様に実施することができる。
【００４０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４１】
１  磁気ディスク、２  磁気ヘッド、３  アーム、４  ボイスコイルモータ、５Ａ  ヘッドアンプ、５  信号処理回路、６  位置検出回路、７Ａ  リードライトチャネル、８  ＣＰＵ、９  ＲＯＭ、１０  バッファ、１１  インターフェース回路、１２  ＶＣＭ駆動回路、９Ａ  アクセス制御プログラム、９Ｂ  サーボ制御プログラム、９Ｃ  シークテーブル、Ｑ  キュー
【図１】
2018026187.tif 000003
【図２】
2018026187.tif 000004
【図３】
2018026187.tif 000005
【図４】
2018026187.tif 000006
【図５】
2018026187.tif 000007
【図６】
2018026187.tif 000008
【図７】
2018026187.tif 000009