(57)【要約】【課題】  磁気ヘッドの定点浮上の抑制効果を向上できる磁気ディスク装置のアクセス制御プログラムを提供する。【解決手段】  磁気ディスクの書き込みまたは読み出しを行なう異なるシリンダ間に、書き込みまたは読み出しを行なわないスキップするシリンダを設けるため、磁気ディスク装置を利用する機器で発行するリード／ライトコマンドに指定された論理アドレスを、書き込みまたは読み出しを行なうシリンダの先にアクセスするシリンダの最後の論理アドレスと次にアクセスするシリンダの最初の論理アドレスとの間がスキップするシリンダに対応する論理アドレス分だけ論理アドレスをスキップした変換論理アドレスに変換する機能と、この変換論理アドレスを指定したリード／ライトコマンドを磁気ディスク装置に対して発行する機能とを与え、スキップするシリンダの数は、使用する必要があるシリンダの数とスキップするシリンダの数との合計が、磁気ディスクが有するシリンダの数を越えない範囲内となるように決定している。【特許請求の範囲】
【請求項１】
磁気ディスクへのデータの書き込み及び読み出しを行なうための磁気ディスク装置のアクセス制御プログラムであり、
磁気ディスク装置を利用する機器で発行するリード／ライトコマンドに指定された論理アドレスを、前記書き込みまたは読み出しを行なうシリンダの先にアクセスするシリンダの最後の論理アドレスと次にアクセスするシリンダの最初の論理アドレスとの間がスキップするシリンダに対応する論理アドレス分だけ論理アドレスをスキップした変換論理アドレスに変換する機能と、
該変換論理アドレスを指定したリード／ライトコマンドを磁気ディスク装置に対して発行する機能とを与え、
前記スキップするシリンダの数は、使用する必要があるシリンダの数とスキップするシリンダの数との合計が、前記磁気ディスクが有するシリンダの数を越えない範囲内となるように決定していることを特徴とするアクセス制御プログラム。
【請求項２】
磁気ディスクへのデータの書き込み及び読み出しを行なうための磁気ディスク装置のアクセス制御プログラムであり、
交換後の磁気ディスク装置の磁気ディスクへのデータの書き込み及び読み出しを行なうため、該交換後の磁気ディスク装置よりも容量が小さい交換前の磁気ディスク装置の磁気ディスクが有していたシリンダ数を使用し、かつ、前記交換後の磁気ディスク装置の磁気ディスクの１つのシリンダが有するセクタのうち、前記交換前の磁気ディスク装置の磁気ディスクの１つのシリンダが有していたセクタ数を使用する機能を与えることを特徴とするアクセス制御プログラム。
【請求項３】
磁気ディスク装置を利用する機器で発行するリード／ライトコマンドに指定された論理アドレスを、前記使用するシリンダのうちの１つのシリンダの最後の論理アドレスと該シリンダの次にアクセスするシリンダの最初の論理アドレスとの間が、少なくとも前記交換後の磁気ディスク装置の磁気ディスクにおいて前記交換前の磁気ディスク装置の磁気ディスクの１つのシリンダにおけるセクタ数よりも増えるセクタ数分に対応する論理アドレス分だけスキップした変換論理アドレスに変換する機能と、該変換論理アドレスを指定したリード／ライトコマンドを磁気ディスク装置に対して発行する機能とを与えることを特徴とするアクセス制御プログラム。
【請求項４】
前記変換論理アドレスは、磁気ディスク装置を利用する機器で発行する論理アドレスをアドレス変換テーブルに基づいて変換され作成されたものであることを特徴とする請求項１乃至３のいずれか１項に記載のアクセス制御プログラム。
【請求項５】
磁気ディスク装置の記録媒体である磁気ディスクへのデータの書き込み及び読み出しを行なうための磁気ディスク装置のアクセス制御プログラムであり、
前記磁気ディスクへの書き込みを行なうとき、該磁気ディスクの異なるシリンダで構成された異なる領域に同一の内容を書き込む機能と、前記磁気ディスクからの読み出しを行なうとき、前記磁気ディスクの前記異なる領域のいずれかの領域から読み出しを行なう機能と、前記磁気ディスクへの書き込みまたは読み出しのためにアクセスする毎にアクセスする領域を変える機能とを与えることを特徴とするアクセス制御プログラム。
【請求項６】
前記磁気ディスクへの書き込みを行なうとき、磁気ディスク装置を利用する機器で発行するライトコマンドに指定された論理アドレスを磁気ディスク装置に対して発行すると共に、該ライトコマンドに指定された論理アドレスを含むシリンダが属した領域と異なる領域のシリンダが含む論理アドレスで構成された異なる領域となるアドレス分だけ該ライトコマンドに指定された論理アドレスに加算した別の論理アドレスを指定したライトコマンドを磁気ディスク装置に対して発行する機能と、
該磁気ディスクへの書き込みを行なうとき、前回のライトコマンドで最後にアクセスした領域、または、前回のリードコマンドでアクセスした領域を識別する情報に基づいて、今回のライトコマンドに指定された論理アドレスを含むシリンダが属した領域から書き込みを行なうか、前記別の論理アドレスを含むシリンダが属した領域から書き込みを行なうかを判定する機能と、
前回のライトコマンドで最後にアクセスした領域、または、前回のリードコマンドでアクセスした領域を識別する情報に基づいて、今回のリードコマンドに指定された論理アドレスを含むシリンダが属した領域から読み出しを行なうか、前記別の論理アドレスを含むシリンダが属した領域から読み出しを行なうかを判定し、該判定に応じて今回のリードコマンドに指定された論理アドレス、または、前記別の論理アドレスを指定したリードコマンドを磁気ディスク装置に対して発行する機能とを与えることを特徴とする請求項５に記載のアクセス制御プログラム。
【請求項７】
前記磁気ディスクへの書き込みを行なうとき、該磁気ディスクの異なるシリンダで構成された異なる領域に同一の内容を書き込む機能は、前記磁気ディスクへの書き込みを行なうとき、前記磁気ディスクの異なる面または前記磁気ディスクを複数有するときは該複数の磁気ディスクの異なる磁気ディスクに書き込みを行なうことを特徴とする請求項５または６に記載のアクセス制御プログラム。
【請求項８】
請求項１乃至７のいずれか１項に記載のアクセス制御プログラムを記録した記録媒体。
【請求項９】
請求項１乃至７のいずれか１項に記載のアクセス制御プログラムを記憶した記憶手段と、該記憶手段に記憶したアクセス制御プログラムを用いて磁気ディスク装置を利用する機器で発行したリード／ライトコマンドの処理を行ない、磁気ディスクに対してリード／ライトコマンドを発行する処理部とを有することを特徴とするアクセス制御装置
【請求項１０】
請求項１乃至７のいずれか１項に記載のアクセス制御プログラムを用いて磁気ディスク装置を利用する機器で発行したリード／ライトコマンドを処理し、磁気ディスクへのアクセスを行なうことを特徴とする磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気ディスク装置のアクセス制御技術に係り、特に、磁気ディスク装置を実際の容量よりも小さい容量の磁気ディスク装置として用いるための磁気ディスク装置のアクセス制御技術に関する。
【背景技術】
【０００２】
コンピュータなどの記憶手段として、円盤状の磁気ディスクを記録媒体とした磁気ディスク装置が用いられている。近年、磁気ディスク装置では、大容量化が進んでおり、寿命や故障などにより磁気ディスク装置を交換しようとすると、既に同一容量の磁気ディスク装置は製造中止になっており、以前用いていた磁気ディスク装置よりも大容量の磁気ディスク装置に交換せざるを得ない場合が生じる。また、大容量化が進んだことに伴い、磁気ディスク装置を実際の容量よりも小さい容量の磁気ディスク装置として用いる場合なども生じている。
【０００３】
このため、以前用いていた磁気ディスク装置よりも大容量の磁気ディスク装置と交換する場合や、実際の磁気ディスク装置の容量よりも小さい容量の磁気ディスク装置として用いたい場合のように、磁気ディスク装置を実際の容量よりも小さい容量の磁気ディスク装置として用いる場合、その磁気ディスク装置を使用するコンピュータなどからは、以前の磁気ディスク装置と同一の容量か、または、実際の磁気ディスク装置の容量よりも小さい容量に見せ、磁気ディスク装置の磁気ディスクが有する全記憶エリアの一部のみを使用することになる。
【０００４】
ところが、磁気ディスク装置の磁気ディスクが有する全記憶エリアの一部のみを使用すると、決まった一部のシリンダのみを使用することとなるうえ、大容量化によりシリンダの密度が高くなることでシリンダ間の距離が小さくなっていることから、磁気ディスクに対する書き込みや読み出しをおこなう磁気ヘッドが、ほぼ同じ位置にいる定点浮上状態になり易くなる。磁気ヘッドが定点浮上状態になると、磁気ヘッド位置の磁気ディスク上の潤滑材に“わだち”ができ磁性体がむき出しになってしまう場合がある。磁性体がむき出しになると、磁気ヘッドが磁気ディスクに接触した場合、磁性体を傷つけ、磁気ディスク装置に不具合が発生する可能性がある。
【０００５】
特に、サーバなどでは、例えば２４時間稼動で使用するといった場合が多く、サーバなどに使用している磁気ディスク装置は、磁気ディスク装置の作動頻度がクライアントとなるコンピュータなどに比べて高い。このため、定点浮上によって磁気ディスク装置に不具合が発生する可能性が高くなる。
【０００６】
このような磁気ヘッドの定点浮上を抑制するため、磁気ディスクの外周から内周に向かって同心円上に設けられたシリンダを一つ飛ばしでデータ記憶領域として用いることが提案されている（例えば、特許文献１参照）。
【０００７】
【特許文献１】特開２００３−２９６９０４号公報（第４−５頁、第２図）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、特許文献１のように同心円上に設けられたシリンダを一つ飛ばしでデータ記憶領域として用いる場合、交換後の磁気ディスク装置を交換前の磁気ディスク装置と同一の小さい容量、または、実際の磁気ディスク装置の容量よりも小さい容量で用いるとき、その容量によっては、例えば磁気ディスクの外側の数本のシリンダしか使用しないことがある。このように、数本程度のシリンダしか使用しないで済むときなどでは、大容量化によりシリンダの密度が高くなることでシリンダ間の距離が小さくなっていることから、一つ飛ばしであっても結局、定点浮上状態となってしまい、磁気ヘッドの定点浮上を抑制できない場合がある。したがって、磁気ヘッドの定点浮上の抑制効果を向上した磁気ディスク装置のアクセス技術が必要とされている。
【０００９】
本発明の課題は、磁気ヘッドの定点浮上の抑制効果を向上することにある。
【課題を解決するための手段】
【００１０】
本発明の、磁気ディスクへのデータの書き込み及び読み出しを行なうための磁気ディスク装置のアクセス制御プログラムは、磁気ディスク装置を利用する機器で発行するリード／ライトコマンドに指定された論理アドレスを、書き込みまたは読み出しを行なうシリンダの先にアクセスするシリンダの最後の論理アドレスと次にアクセスするシリンダの最初の論理アドレスとの間がスキップするシリンダに対応する論理アドレス分だけ論理アドレスをスキップした変換論理アドレスに変換する機能と、この変換論理アドレスを指定したリード／ライトコマンドを磁気ディスク装置に対して発行する機能とを与え、スキップするシリンダの数は、使用する必要があるシリンダの数とスキップするシリンダの数との合計が、磁気ディスクが有するシリンダの数を越えない範囲内となるように決定していることにより上記課題を解決する。
【００１１】
このようなアクセス制御プログラムを用いることにより、スキップするシリンダの数をできるだけ多くすることによって、磁気ディスクを使用する領域が、磁気ディスクの一部分の近接したシリンダに集中するのが抑制される。したがって、磁気ヘッドが磁気ディスクのできるだけ広い範囲を動くようにでき、定点浮上の抑制効果を向上できる。
【００１２】
また、本発明の、磁気ディスクへのデータの書き込み及び読み出しを行なうための磁気ディスク装置のアクセス制御プログラムは、交換後の磁気ディスク装置の磁気ディスクへのデータの書き込み及び読み出しを行なうため、この交換後の磁気ディスク装置よりも容量が小さい交換前の磁気ディスク装置の磁気ディスクが有していたシリンダ数を使用し、かつ、交換後の磁気ディスク装置の磁気ディスクの１つのシリンダが有するセクタのうち、交換前の磁気ディスク装置の磁気ディスクの１つのシリンダが有していたセクタ数を使用する機能を与えることにより上記課題を解決する。
【００１３】
このとき、交換後の磁気ディスク装置の磁気ディスクの１つのシリンダが有する全セクタのうち、の交換後の磁気ディスク装置よりも容量が小さい交換前の磁気ディスク装置の１つのシリンダが有するセクタ数よりも多い分のセクタに１セクタ加えた数のセクタをスキップするように受信論理アドレスを変換論理アドレスに変換する機能を与える。
【００１４】
さらに、磁気ディスク装置を利用する機器で発行するリード／ライトコマンドに指定された論理アドレスを、使用するシリンダのうちの１つのシリンダの最後の論理アドレスとこのシリンダの次にアクセスするシリンダの最初の論理アドレスとの間が、少なくとも交換後の磁気ディスク装置の磁気ディスクにおいて交換前の磁気ディスク装置の磁気ディスクの１つのシリンダにおけるセクタ数よりも増えるセクタ数分に対応する論理アドレス分だけスキップした変換論理アドレスに変換する機能と、変換論理アドレスを指定したリード／ライトコマンドを磁気ディスク装置に対して発行する機能とを与えるアクセス制御プログラムとする。
【００１５】
このようなアクセス制御プログラムとすることにより、大容量の磁気ディスク装置に交換しても、交換前の小容量の磁気ディスク装置と同じ数のシリンダを利用することになる。このため、磁気ディスクを使用する領域が、磁気ディスクの一部分の近接したシリンダに集中するのが抑制され、磁気ヘッドが磁気ディスクのできるだけ広い範囲を動くようにでき、定点浮上の抑制効果を向上できる。
【００１６】
さらに、変換論理アドレスは、磁気ディスク装置を利用する機器で発行する論理アドレスをアドレス変換テーブルに基づいて変換され作成されたものであるアクセス制御プログラムとする。このようなアクセス制御プログラムとすれば、変換アドレスの作成処理を簡素化できるので望ましい。
【００１７】
また、本発明の、磁気ディスクへのデータの書き込み及び読み出しを行なうための磁気ディスク装置のアクセス制御プログラムは、磁気ディスクへの書き込みを行なうとき、この磁気ディスクの異なるシリンダで構成された異なる領域に同一の内容を書き込む機能と、磁気ディスクからの読み出しを行なうとき、磁気ディスクの異なる領域のいずれかの領域から読み出しを行なう機能と、磁気ディスクへの書き込みまたは読み出しのためにアクセスする毎にアクセスする領域を変える機能とを与えるアクセス制御プログラムとすることにより上記課題を解決する。
【００１８】
さらに、磁気ディスクへの書き込みを行なうとき、磁気ディスク装置を利用する機器で発行するライトコマンドに指定された論理アドレスを、このライトコマンドに指定された論理アドレスを磁気ディスク装置に対して発行すると共に、このライトコマンドに指定された論理アドレスを含むシリンダが属した領域と異なる領域のシリンダが含む論理アドレスで構成された異なる領域となるアドレス分だけこのライトコマンドに指定された論理アドレスに加算した別の論理アドレスを指定したライトコマンドを磁気ディスク装置に対して発行する機能と、この磁気ディスクへの書き込みを行なうとき、前回のライトコマンドで最後にアクセスした領域、または、前回のリードコマンドでアクセスした領域を識別する情報に基づいて、今回のライトコマンドに指定された論理アドレスを含むシリンダが属した領域から書き込みを行なうか、別の論理アドレスを含むシリンダが属した領域から書き込みを行なうかを判定する機能と、前回のライトコマンドで最後にアクセスした領域、または、前回のリードコマンドでアクセスした領域を識別する情報に基づいて、今回のリードコマンドに指定された論理アドレスを含むシリンダが属した領域から読み出しを行なうか、前記別の論理アドレスを含むシリンダが属した領域から読み出しを行なうかを判定し、この判定に応じて今回のリードコマンドに指定された論理アドレス、または、別の論理アドレスを指定したリードコマンドを磁気ディスク装置に対して発行する機能とを与えるアクセス制御プログラムとする。
【００１９】
このようなアクセス制御プログラムとすることにより、磁気ディスクへの書き込みや読み出しを行なうために磁気ディスクへアクセスする毎に、磁気ディスクの異なる領域に磁気ヘッドが移動する。このため、磁気ヘッドは、磁気ディスクの異なる領域に分散してアクセスすることになる。したがって、磁気ヘッド移動をできるだけ大きくでき、定点浮上の抑制効果を向上できる。
【００２０】
また、磁気ディスクへの書き込みを行なうとき、この磁気ディスクの異なるシリンダで構成された異なる領域に同一の内容を書き込む機能は、磁気ディスクへの書き込みを行なうとき、磁気ディスクの異なる面または磁気ディスクを複数有するときはこれら複数の磁気ディスクの異なる磁気ディスクに書き込みを行なうアクセス制御プログラムとする。このようなアクセス制御プログラムとすることにより、磁気ディスクに不具合が発生しても、不具合が発生していない別のヘッドで別の領域から読み出しを行なうことで動作を続行できる。
【００２１】
また、上記のいずれかのアクセス制御プログラムを記録した記録媒体とする。
【００２２】
さらに、上記のいずれかのアクセス制御プログラムを記憶した記憶手段と、この記憶手段に記憶したアクセス制御プログラムを用いて磁気ディスク装置を利用する機器で発行したリード／ライトコマンドの処理を行ない、磁気ディスクに対してリード／ライトコマンドを発行する処理部とを有するアクセス制御装置とする。
【００２３】
さらに、上記のいずれかのアクセス制御プログラムを用いて磁気ディスク装置を利用する機器で発行したリード／ライトコマンドを処理し、磁気ディスクへのアクセスを行なう磁気ディスク装置とする。
【発明の効果】
【００２４】
本発明によれば、磁気ヘッドの定点浮上の抑制効果を向上できる。
【発明を実施するための最良の形態】
【００２５】
（第１の実施形態）
以下、本発明を適用してなる磁気ディスク装置のアクセス制御プログラム及びこのアクセス制御プログラムを用いたアクセス制御装置の第１の実施形態について図１乃至図６を参照して説明する。図１は、本発明を適用してなるアクセス制御装置を設け、交換後の大容量の磁気ディスク装置を交換前の小容量の磁気ディスク装置と同じ容量で用いる様子を模式的に示すブロック図である。図２は、本発明を適用してなるアクセス制御装置の概略構成を示すブロック図である。図３は、交換前の小容量の磁気ディスク装置と交換後の大容量の磁気ディスク装置の仕様を比較した一例を示す図である。図４は、交換後の磁気ディスク装置のシリンダのスキップ数と使用するシリンダの数の関係を示す図である。図５は、本発明を適用してなる磁気ディスク装置のアクセス制御プログラムが使用するアドレス変換テーブルの一例を示す図である。図６は、本発明を適用してなる磁気ディスク装置のアクセス制御プログラムによる動作を示すフロー図である。
【００２６】
なお、本実施形態では、使用できなくなった磁気ディスク装置を、その磁気ディスク装置よりも大容量の磁気ディスク装置に交換する場合を例とし、ＳＣＳＩによりサーバやパーソナルコンピュータなどに接続された磁気ディスク装置を例として説明を行う。また、本実施形態のアクセス制御プログラムによるアクセス方式は、磁気ディスク装置がサーバやパーソナルコンピュータなどに内蔵されている場合でも、外付けになっている場合でも用いることができる。さらに、本実施形態では、説明をわかりやすくするため、１枚の磁気ディスクを例とし、シリンダがこの１枚の磁気ディスクの表裏の対応する位置にあるトラックからなる場合について説明している。しかし、本実施形態で説明するアクセス制御プログラムによるアクセス方式は、磁気ディスクが複数枚で、シリンダがこれら複数枚の磁気ディスクの各々の表裏の対応する位置にあるトラックからなる場合でも適用できる。
【００２７】
本実施形態では、磁気ディスク装置１は、図１に示すように、アクセス制御装置３を介してＳＣＳＩケーブル５により、磁気ディスク装置１を利用するコンピュータなどに設けられたＳＣＳＩアダプタ７に接続されている。磁気ディスク装置１は、磁気ディスク装置１よりも容量が小さい磁気ディスク装置９と交換して設置されるものであり、磁気ディスク装置９と同じ容量の磁気ディスク装置として用いようとするものである。
【００２８】
交換前の小容量の磁気ディスク装置９は、ＳＣＳＩケーブル５により直接ＳＣＳＩアダプタ７に接続され、ＳＣＳＩアダプタ７から発行される読み出し及び書き取りのコマンドつまりリード／ライトコマンドを直接受けて磁気ディスク装置９が有する磁気ディスク９aへのアクセスを行なっていた。しかし、交換後の大容量の磁気ディスク装置１は、アクセス制御装置３を介してＳＣＳＩアダプタ７に接続されており、ＳＣＳＩアダプタ７から発行されるリード／ライトコマンドを受けたアクセス制御装置３から発行されたリード／ライトコマンドを直接受けて磁気ディスク装置１が有する磁気ディスク１aへのアクセスを行なう。
【００２９】
アクセス制御装置３は、ＳＣＳＩアダプタ７から送られたリード／ライトコマンド内に指定されている磁気ディスク装置へのアクセス開始セクタを示す論理アドレス及びアクセスするセクタ数を示す転送ブロック数を必要に応じて変換し、１または複数のリード／ライトコマンドを、ＳＣＳＩケーブル５を介して磁気ディスク装置１に発行するものである。
【００３０】
アクセス制御装置３は、図２に示すように、μプロセッサ（以下ＭＰＵと称する）１３、ＲＯＭ１５、ＲＡＭ１７、及び、２つのＳＣＳＩコントローラ１９、２１などを備えている。また、ＭＰＵ１３、ＲＯＭ１５、ＲＡＭ１７、及び、２つのＳＣＳＩコントローラ１９、２１などは、ローカルバス２３によって接続されている。ＲＯＭ１５には、複数のシリンダをスキップさせるためのアドレス変換テーブルを含めた磁気ディスク装置へのアクセス制御プログラムが格納されている。ＭＰＵ１３は、ＲＯＭ１５に格納されているアクセス制御プログラムによりＳＣＳＩコントローラ１９、ＳＣＳＩコントローラ２１を制御する。ＲＡＭ１７は、リード／ライトコマンドのデータバッファ及びアクセス制御プログラムで使用するフラグワークデータなどの格納用に使用する。ＳＣＳＩコントローラ１９には、ＳＣＳＩアダプタ７に接続される側のＳＣＳＩケーブル５が、ＳＣＳＩコントローラ２１には、磁気ディスク装置１に接続される側のＳＣＳＩケーブル５が接続されている。
【００３１】
このようなアクセス制御装置３では、ＲＯＭ１５に格納されているアクセス制御プログラムにより、ＳＣＳＩコントローラ１９がＳＣＳＩアダプタ７からＳＣＳＩケーブル５を介して送られてくるリード／ライトコマンドを受信すると、アドレス変換テーブルにより論理アドレス及び転送ブロック数を必要に応じて変換し、ＳＣＳＩコントローラ２１からＳＣＳＩケーブル５を介して磁気ディスク装置１にリード／ライトコマンドを発行する。
【００３２】
ここで、交換後の大容量の磁気ディスク装置１の磁気ディスク１ａでも、交換前の小容量の磁気ディスク装置９の磁気ディスク９ａでも、物理的な先頭セクタより、ＳＣＳＩコマンドで指定している論理アドレス０が割り当てられ、物理的な先頭セクタからそのシリンダが有する先頭セクタに続く各セクタに順次連続する論理アドレスが割り当てられている。さらに、論理アドレスは、交換後の大容量の磁気ディスク装置１でも、交換前の小容量の磁気ディスク装置９でも、外側のシリンダから内側のシリンダに向けて全てのシリンダの各セクタに順に連続的に割り当てられている。
【００３３】
そして、ＲＯＭ１５に格納されているアドレス変換テーブルは、複数のシリンダをスキップして書き込み及び読み出しを行うため、ＳＣＳＩアダプタ７から発行されたリード／ライトコマンド内に指定されている論理アドレスを、磁気ディスク装置１の磁気ディスク１ａのスキップするシリンダに割り当てられている論理アドレスの分だけスキップさせた変換論理アドレスに変換するのに用いられる。
【００３４】
交換前の小容量の磁気ディスク装置９と交換後の大容量の磁気ディスク装置１の仕様を比較すると、図３に示すように、交換前の小容量の磁気ディスク装置９は、磁気ディスク９ａの１トラックのセクタ数が６４、磁気ヘッド数が２、シリンダ数が４,５７８である。したがって、１セクタの容量は５１２Ｂであるので、交換前の小容量の磁気ディスク装置９の記憶容量は、５１２＊６４＊２＊４,５７８＝３００,０２３,８０８Ｂ≒３００ＭＢとなる。これに対して、交換後の大容量の磁気ディスク装置１は、１トラックのセクタ数が１,０２４、磁気ヘッド数が２、シリンダ数が７６,２９４であるため、記憶容量は、５１２＊１,０２４＊２＊７６,２９４＝８０,０００,０５７,３４４Ｂ≒８０ＧＢとなる。
【００３５】
交換後の大容量の磁気ディスク装置１を交換前の小容量の磁気ディスク装置９の容量の磁気ディスク装置として使用するとき、つまり、交換後の大容量の磁気ディスク装置１を交換前の小容量の磁気ディスク装置９の容量分使用するとき、図４に示すように、シリンダをスキップせずに使用した場合の交換後の大容量の磁気ディスク装置１における使用シリンダ数は、交換前の小容量の磁気ディスク装置９の全セクタ数を交換後の大容量の磁気ディスク装置１の１シリンダあたりのセクタ数で割った数であるから、６４＊２＊４,５７８／１,０２４＊２＊７６,２９４＝５８５,９８４／１,０２４＝２８６.１２５となる。したがって、少数点以下切り上げると、大容量の磁気ディスク装置１の全シリンダ数７６,２９４シリンダのうち１−２８７シリンダしか使用しないことになり、ほとんど磁気ヘッドが移動しない定点浮上状態となる。
【００３６】
一方、磁気ディスク装置１の磁気ディスク１ａで使用する必要がある２８７シリンダを１シリンダずつスキップさせてシリンダを使用したとすると、磁気ディスク１ａの外側から内側に向けてシリンダを使用してゆくときの最も内側の使用するシリンダ、つまり、最終使用シリンダは、スキップしていないときよりも２８６シリンダ分磁気ディスク１ａの内側に移動する。したがって、大容量の磁気ディスク装置１において複数のシリンダをスキップする場合、使用するシリンダ間でｎシリンダスキップした場合の最終使用シリンダは、２８７＋２８６＊ｎとなる。
【００３７】
このことから、使用するシリンダ間でｎシリンダスキップした場合の最終使用シリンダまでのシリンダ数を見ると、例えば図４に示すように、３００シリンダスキップすると最終使用シリンダが交換後の磁気ディスク装置１の磁気ディスク１ａのシリンダ数より大きくなってしまう。このため、本実施形態では、２００シリンダスキップすることとし、使用するシリンダ間で２００シリンダスキップするためのアドレス変換テーブルを用いている。使用するシリンダ間で２００シリンダスキップしながら必要な容量となる２８７シリンダ使用すると、磁気ディスク１ａ全シリンダ７６,２９４のうち、１−５７,４８７シリンダの間を磁気ヘッドが移動することになり、スキップしない場合や、１シリンダスキップして１−５７３シリンダの間を使用する場合に比べて磁気ヘッドの動きが大幅に大きくなる。
【００３８】
なお、本実施形態では、２００シリンダスキップすることとしているが、交換後の磁気ディスク装置１の磁気ディスク１ａのシリンダ数より大きくならない範囲で最終使用シリンダまでのシリンダ数が最も大きくなるようにスキップするシリンダ数を設定すれば、磁気ヘッドの動きを最大にできるので望ましい。スキップするシリンダ数は、交換後の磁気ディスク装置１の磁気ディスク１ａが有するシリンダ数やシリンダの密度などに応じて、磁気ヘッドが定点浮上状態にならないように設定を行なう。
【００３９】
このように、アクセス制御装置３のアクセス制御プログラムは、図５に示されているようなアドレス変換テーブルを用い、ＳＣＳＩアダプタ７から発行されたリード／ライトコマンド内に指定されている論理アドレスつまり受信論理アドレスを、交換後の大容量の磁気ディスク装置１に対して発行するリード／ライトコマンド内に指定する２００シリンダスキップするための論理アドレスつまり変換論理アドレスに変換する。
【００４０】
例えば、交換後の大容量の磁気ディスク装置１の最初の１シリンダのセクタを示す変換論理アドレス０−２,０４７は、スキップする必要がないので変換する必要はなく、受信論理アドレスのままである。しかし、磁気ヘッドが最初のシリンダから２つ目のシリンダに跨ってデータなどの書き込みや読み出しを行なわなければならない場合、つまり、最初のシリンダ渡りが発生する場合、最初のシリンダの最後のセクタの受信論理アドレス２,０４８から２００シリンダスキップするように受信論理アドレスを変換論理アドレスに変換しなければならない。２００シリンダ分のセクタ数は、２,０４８＊２００＝４０９,６００セクタであるから、４０９,６００セクタ先のセクタにアクセスすれば、２００シリンダスキップして２つ目のシリンダにデータなどの書き込みを行なうことになる。
【００４１】
したがって、最初のシリンダの最後のセクタの受信論理アドレス２,０４８に２００シリンダ分の論理アドレス４０９,６００を加算して変換論理アドレスに変換する。つまり、受信論理アドレス２,０４８は、２,０４８＋４０９,６００＝４１１,６４８で、変換論理アドレス４１１,６４８に変換される。受信論理アドレス２,０４８以降の受信論理アドレスは、その受信論理アドレスに４０９,６００加算した変換論理アドレスに変換される。さらに、シリンダ渡りが発生する毎に、受信論理アドレスに４０９,６００＊ｍ（ｍはシリンダ渡りの回数）分の論理アドレスを加算して変換論理アドレスとする。
【００４２】
ところで、本実施形態では、インターフェースがＳＣＳＩの場合を例としているが、ＳＣＳＩのリード／ライトコマンドつまりＳＣＳＩコマンドは、アクセスする先頭の論理アドレスと転送ブロック数を指定して発行するので、連続したセクタにしかアクセスできない。このため、シリンダをスキップする場合、シリンダ渡りが発生するとＳＣＳＩコマンドを分割して発行しなければならない。
【００４３】
したがって、インターフェースがＳＣＳＩの場合、アドレス変換テーブルは、図５に示すように、受信論理アドレスに変換論理アドレスを対応させているだけでなく、変換論理アドレスに対する転送可能ブロック数が対応付けられている。転送可能ブロック数は、その変換論理アドレスで発行できるＳＣＳＩコマンドの最大転送ブロック数を示している。ＭＰＵ１３は、アクセス制御プログラムにより、ＳＣＳＩアダプタ７から発行されるＳＣＳＩコマンドで指定されている転送ブロック数と本テーブルの転送可能ブロック数を比較して、ＳＣＳＩコマンドを分割するか否か決定する。そして、アクセス制御装置３は、シリンダ渡りが発生する場合には、磁気ディスク装置１に対するＳＣＳＩコマンドを分割して発行している。
【００４４】
このようなインターフェースがＳＣＳＩの場合の本実施形態のアクセス制御装置３のアクセス制御プログラムによる動作についてまとめる。アクセス制御装置３は、図６に示すように、ＳＣＳＩアダプタ７より発行されるＳＣＳＩコマンドを待つ（ステップ１０１）。ステップ１０１においてＳＣＳＩアダプタ７からＳＣＳＩコマンドを受けると、このＳＣＳＩアダプタ７からのＳＣＳＩコマンドで指定している書き込みまたは読み出しを開始する開始セクタの論理アドレスつまり受信論理アドレスと、転送ブロック数を読み込む（ステップ１０２）。
【００４５】
ステップ１０２で読み込んだ開始セクタの受信論理アドレスをアドレス変換テーブルにより変換論理アドレスに変換する（ステップ１０３）。さらに、アドレス変換テーブルにより、ステップ１０２で読み込んだ転送ブロック数が転送可能ブロック数以内であるか否か判定する（ステップ１０４）。ステップ１０４において、ステップ１０２で読み込んだ転送ブロック数が転送可能ブロック数以内であれば、変換論理アドレス、転送ブロック数で磁気ディスク装置１にＳＣＳＩコマンドを発行し（ステップ１０５）、コマンド処理の終了を待つ（ステップ１０６）。ステップ１０６においてコマンド処理が終了したらステップ１０１に戻り、ＳＣＳＩアダプタ７より発行されるＳＣＳＩコマンドを待つ。
【００４６】
一方、ステップ１０４において、ステップ１０２で読み込んだ転送ブロック数が転送可能ブロック数より大きい場合、開始セクタの受信論理アドレスを変換した変換論理アドレスと、アドレス変換テーブルから得られる転送可能ブロック数に対応する転送ブロック数とを指定する第１のＳＣＳＩコマンドを磁気ディスク装置１に対して発行し（ステップ１０７）、コマンド処理の終了を待つ（ステップ１０８）。ステップ１０８において、コマンド処理が終了したら、転送可能ブロック数をステップ１０２で読み込んだ開始セクタの受信論理アドレスに加算して第２のＳＣＳＩコマンドの開始セクタに対応する受信論理アドレスを求め、ＳＣＳＩアダプタ７からのＳＣＳＩコマンドの転送ブロック数から転送可能ブロック数を減算して第２のＳＣＳＩコマンドの転送ブロック数を求める（ステップ１０９）。ステップ１０９の後、ステップ１０３に戻り、アドレス変換テーブルにより第２のＳＣＳＩコマンドの開始セクタに対応する受信論理アドレスを変換論理アドレスに変換し、その後、ステップ１０４からステップ１０６、または、ステップ１０４からステップ１０９を繰り返す。
【００４７】
このように本実施形態のアクセス制御プログラムを用いたアクセス制御装置３では、スキップするシリンダの数をできるだけ多くすることによって、磁気ディスクを使用する領域が、例えば１−５７,４８７シリンダの間になり、磁気ヘッドも磁気ディスク１ａの１−５７,４８７シリンダの間で移動することになる。このため、交換前の小容量の磁気ディスク装置９の磁気ディスク９ａ全体に記録されていたデータが、交換後の大容量の磁気ディスク装置１の磁気ディスク１ａの一部分の近接したシリンダに集中して記録されるのが抑制され、磁気ヘッドが動く領域をできるだけ広くできることから、定点浮上の抑制効果を向上できる。
【００４８】
さらに、定点浮上の抑制効果を向上できることにより、定点浮上によって発生する磁気ディスク装置の不具合の発生を抑制できる。
【００４９】
加えて、本実施形態のようにアクセス制御プログラムを用いて定点浮上の抑制効果を向上できる。このため、磁気ディスク装置を利用する機器であるコンピュータに、本実施形態のアクセス制御プログラムをインストールすること、本実施形態のアクセス制御プログラムを用いたアクセス制御装置をインターフェースやケーブルに設けること、さらに、磁気ディスク装置にアクセス制御プログラムをインストールすることなどで、一般に市販されている磁気ディスク装置を用いることができる。したがって、特殊な磁気ディスク装置などを用いる必要がなく、一般に市販されている磁気ディスク装置でも、実際の容量よりも小さな容量で用いる場合に生じる定点浮上を抑制できる。
【００５０】
（第２の実施形態）
以下、本発明を適用してなる磁気ディスク装置のアクセス制御プログラム及びこのアクセス制御プログラムを用いたアクセス制御装置の第２の実施形態について図１乃至図３、図６及び図７を参照して説明する。図７は、本発明を適用してなる磁気ディスク装置のアクセス制御プログラムが使用するアドレス変換テーブルの一例を示す図である。
【００５１】
なお、本実施形態では、図１及び図３に示すような第１の実施形態と同じ仕様の小容量の磁気ディスク装置９を、第１の実施形態と同じ仕様の大容量の磁気ディスク装置１に交換し、この交換後の大容量の磁気ディスク装置１を交換前の小容量の磁気ディスク装置９と同じ容量で使用するためのアクセス制御装置３を設けた場合を例として説明する。このため、第１の実施形態と同様の構成や動作などは説明を省略し、第１の実施形態と相違する構成や動作、特徴部などについて説明する。
【００５２】
本実施形態では、アクセス制御プログラムが、大容量の磁気ディスク装置１の磁気ディスク１ａのシリンダをスキップせずに、小容量の磁気ディスク装置９の磁気ディスク９ａのときと同じセクタ数単位で磁気ディスク装置１の磁気ディスク１ａの各シリンダを使用する点で第１の実施形態と異なっている。したがって、本実施形態では、図３に示すように、磁気ディスク装置９の磁気ディスク９ａのときと同様に、磁気ディスク装置１の磁気ディスク１ａの、例えば外側から４,５７８のシリンダを使用し、そして、１つのシリンダ毎に、１つのシリンダが有するセクタ数のうちの１２８セクタだけを使用する。
【００５３】
このため、交換前の小容量の磁気ディスク装置９の磁気ディスク９ａにおける最初の１シリンダのセクタを示す論理アドレス０−１２７は、シリンダ渡りを発生させる必要がないので論理アドレスは変換する必要はない。しかし、最初のシリンダ渡りが発生する論理アドレス１２８から、２つ目のシリンダへのシリンダ渡りを発生させるため、受信論理アドレスを変換しなければならない。大容量の磁気ディスク装置１の１シリンダあたりのセクタ数は、２,０４８であるから、２,０４８セクタ先のセクタにアクセスすれば１シリンダ渡ることができる。
【００５４】
このとき、第１の実施形態で説明したように、ＳＣＳＩコマンドは、アクセスする先頭の論理アドレスと転送ブロック数を指定して発行するので、連続したセクタにしかアクセスできない。このため、セクタをスキップする場合、シリンダ渡りが発生するとＳＣＳＩコマンドを分割して発行しなければならない。ところが、シリンダを渡りの発生前後にＳＣＳＩコマンドが分割されるため、分割した第１のＳＣＳＩコマンドが発行されてから、分割した第１のＳＣＳＩコマンドが発行される間での間に磁気ディスク１ａが回転してしまうことによるオーバヘッドが発生する。オーバヘッドが発生すると、シーク動作が遅れ、次のシリンダのアクセス開始セクタへのアクセスが間に合わなくなり、再度次のシリンダのアクセス開始セクタが磁気ヘッドの位置に来るまで回転待ちが発生する。
【００５５】
そこで、本実施形態では、このオーバヘッドの時間が1セクタアクセスする時間と同じであるとしたとき、２,０４８＋１＝２,０４９セクタ先にアクセスするため、受信論理アドレス１２８は、１２８＋２,０４９=２,１７７で、変換アドレス２,１７７に変換する。すなわち、本実施形態のアクセス制御プログラムが用いるアドレス変換テーブルは、図７に示すように、磁気ディスク装置１の磁気ディスク１ａの１つのシリンダが有する全セクタのうち、磁気ディスク装置９の磁気ディスク９ａの１つのシリンダが有するセクタ数よりも多い分のセクタに１セクタ加えた数のセクタをスキップするように受信論理アドレスを変換論理アドレスに変換する。
【００５６】
そして、本実施形態の場合、受信論理アドレス１２８以降の受信論理アドレスは、その受信論理アドレスに２,１７７加算した変換論理アドレスに変換される。さらに、シリンダ渡りが発生する毎に、受信論理アドレスに２,１７７＊ｍ（ｍはシリンダ渡りの回数）分の論理アドレスを加算して変換論理アドレスとする。ただし、変換論理アドレスが１つのシリンダの１つのトラックを越えるような論理アドレスとなった場合には、１トラック分のセクタ数、つまり、本実施形態の場合１,０２４セクタだけ戻す。すなわち、１トラック分のセクタ数である１０２４減算することで、磁気ディスク１ａの片面側に対して設けられた磁気ヘッドによって書き込み及び読み出しが行なわれるセクタに戻してやる。
【００５７】
本実施形態のアクセス制御プログラムを用いたアクセス制御装置３の動作は、図７のようなアドレス変換テーブルを用いること以外、図６に示すような第１の実施形態の動作と同じである。
【００５８】
このように本実施形態のアクセス制御プログラムを用いたアクセス制御装置３では、交換前の小容量の磁気ディスク装置９の磁気ディスク９ａのときと同じセクタ数及びシリンダ数で、交換後の大容量の磁気ディスク装置１の磁気ディスク１ａを使用する。このため、磁気ヘッドの移動範囲が磁気ディスク１ａの１−４,５７８シリンダの間で移動することになり、交換前の小容量の磁気ディスク装置９の磁気ディスク９ａ全体に記録されていたデータが、交換後の大容量の磁気ディスク装置１の磁気ディスク１ａのより少ない数の一部分のシリンダに記録されるのが抑制される。したがって、磁気ヘッドが動く領域をできるだけ広くでき、定点浮上の抑制効果を向上できる。
【００５９】
さらに、本実施形態では、定点浮上の抑制効果を向上できるのに加え、交換前の小容量の磁気ディスク装置９と同一タイミングでシークが行なわれるため、大容量の磁気ディスク装置１への交換後でも、小容量の磁気ディスク装置９と同程度のシークタイムが得られる。このため、磁気ディスク装置を実際よりも小さな容量で用いるときに低点浮上を抑制した場合でも、アクセス性能の低下を防ぐことができる。
【００６０】
加えて、本実施形態でも、第１の実施形態と同様にアクセス制御プログラムを用いて定点浮上の抑制効果を向上できる。このため、磁気ディスク装置を利用する機器であるコンピュータに、本実施形態のアクセス制御プログラムをインストールすること、本実施形態のアクセス制御プログラムを用いたアクセス制御装置をインターフェースやケーブルに設けること、さらに、磁気ディスク装置にアクセス制御プログラムをインストールすることなどで、一般に市販されている磁気ディスク装置を用いることができる。したがって、特殊な磁気ディスク装置などを用いる必要がなく、一般に市販されている磁気ディスク装置でも、実際の容量よりも小さな容量で用いる場合に生じる定点浮上を抑制できる。
【００６１】
なお、本実施形態のように交換前の小容量の磁気ディスク装置９の磁気ディスク９ａのときと同じセクタ数及びシリンダ数で、交換後の大容量の磁気ディスク装置１の磁気ディスク１ａを使用するとき、第１の実施形態のように、磁気ディスク１ａで使用するシリンダ間をスキップさせることもできる。この場合、アクセス性能の低下を防ぐ効果は低くなるが、定点浮上の抑制効果はさらに向上できる。
【００６２】
（第３の実施形態）
以下、本発明を適用してなる磁気ディスク装置のアクセス制御プログラム及びこのアクセス制御プログラムを用いたアクセス制御装置の第３の実施形態について図１乃至図３、図６、図８及び図９を参照して説明する。図８及び図９は、本発明を適用してなる磁気ディスク装置のアクセス制御プログラムによる動作を示すフロー図である。
【００６３】
なお、本実施形態では、図１及び図３に示すような第１及び第２の実施形態と同じ仕様の小容量の磁気ディスク装置９を、第１の実施形態と同じ仕様の大容量の磁気ディスク装置１に交換し、この交換後の大容量の磁気ディスク装置１を交換前の小容量の磁気ディスク装置９と同じ容量で使用するためのアクセス制御装置３を設けた場合を例として説明する。このため、第１及び第２の実施形態と同様の構成や動作などは説明を省略し、第１及び第２の実施形態と相違する構成や動作、特徴部などについて説明する。
【００６４】
本実施形態では、アクセス制御プログラムが、大容量の磁気ディスク装置１の磁気ディスク１ａの異なる領域に２重に同じデータなどを書き込み、また、このような磁気ディスク１ａへのデータなどの書き込みやデータなどの読み出しを行なう場合、書き込みや読み出しのためにアクセスする毎に、異なる領域に順次アクセスを行なうように動作を制御する点で第１及び第２の実施形態と異なっている。
【００６５】
さらに、容量の磁気ディスク装置１の磁気ディスク１ａの異なる領域に２重に同じデータなどを書き込むとき、指定された論理アドレスと、ヘッド数をＨ（Ｈ＞１）、磁気ディスク１ａの１トラックのセクタ数をＳ、指定された論理アドレスに加算する論理アドレス数をＡとすると、Ａ＝Ｓ＊ｎで、ｎ＝使用するセクタ数／Ｓ、ｎ≠Ｈ＊ｍ（ｍ＝１，２，３・・・）となるＡを指定された論理アドレスに加算した論理アドレスに同じデータなどを書き込んでいる。
【００６６】
本実施形態では、第１及び第２の実施形態と同様、図３に示すように、交換後の大容量の磁気ディスク装置１の１トラックあたりのセクタ数は１,０２４で、磁気ヘッドは、磁気ディスク１ａの表裏各面に対するものがあり、２個ある。したがって、Ａ＝１,０２４＊ｎ（本実施形態の場合、ｎは奇数）を加算した論理アドレスは、ある論理アドレスのときのシリンダとは別のシリンダの、ある論理アドレスのときの磁気ヘッドとは異なる側の磁気ヘッドがアクセスするセクタになる。
【００６７】
そこで、本実施形態のアクセス制御プログラムでは、例えば、ＳＣＳＩアダプタ７から発行されるＳＣＳＩコマンドがライトコマンドの場合、指定された論理アドレスと、指定された論理アドレス＋７８,００１,１５２（１,０２４＊７６,１７３＝７８,００１,１５２、以下７８Ｍと略称する）となる別の論理アドレスとの２箇所に書き込む。ＳＣＳＩアダプタ７から発行されるＳＣＳＩコマンドがリードコマンドの場合、ＳＣＳＩコマンドで指定された論理アドレスを含む領域か、または、指定された論理アドレス＋７８Ｍとなる別の論理アドレスを含む領域のいずれかの該当セクタから読み出しを行なう。
【００６８】
リードコマンドにより磁気ディスク１ａの読み出しを行なう場合、磁気ヘッドに対してより近くに位置している領域の該当セクタにアクセスして読み出しを行なえば、シークタイムを速くできる。しかし、この場合、読み出しを行なう領域に偏りができ、読み出しを行なう領域に偏りができると、磁気ヘッドの定点浮上を抑制できない場合がある。このため、本実施形態のアクセス制御プログラムでは、ＳＣＳＩアダプタ７からリードコマンドが発行されると、前回のライトコマンドで最後にアクセスした磁気ディスク１ａの領域、または、前回のリードコマンドでアクセスした磁気ディスク１ａの領域を識別する情報に基づいて、大容量の磁気ディスク装置１に発行するリードコマンドの論理アドレスを、ＳＣＳＩコマンドで指定された論理アドレスと、指定された論理アドレス＋７８Ｍとなる別の論理アドレスのうち、前回のライトコマンドで最後にアクセスした磁気ディスク１ａの領域、または、前回のリードコマンドでアクセスした磁気ディスク１ａの領域と異なる磁気ディスク１ａの領域となる論理アドレスを指定している。これにより、磁気ヘッドの位置に偏りができないようにしている。
【００６９】
本実施形態のアクセス制御プログラムを用いるアクセス制御装置３では、ヘッドポイントフラグ（以下、ＨＰと略称する）を図２に示すＲＡＭ１７上に有する。ＨＰは、ＳＣＳＩコマンドで指定された論理アドレスのときＨＰ＝０、ＳＣＳＩコマンドで指定された論理アドレス＋７８Ｍとなる別の論理アドレスのとき、ＨＰ＝１となる。そして、前回大容量の磁気ディスク装置１にアクセスしたときの論理アドレスが、ＳＣＳＩコマンドで指定された論理アドレスつまりＨＰ＝０であるか、または、指定された論理アドレス＋７８Ｍとなる別の論理アドレスつまりＨＰ＝１であるかを管理することにより、ＳＣＳＩアダプタ７から発行されるＳＣＳＩコマンド毎に交互に大容量に磁気ディスク装置１に発行するＳＣＳＩコマンドの論理アドレスを変更している。このように、本実施形態では、ＨＰが、前回のライトコマンドで最後にアクセスした磁気ディスク１ａの領域、または、前回のリードコマンドでアクセスした磁気ディスク１ａの領域を識別する情報となっている。
【００７０】
さらに、本実施形態のアクセス制御プログラムを用いるアクセス制御装置３では、大容量の磁気ディスク装置１に発行したリードコマンドがリードエラーになったときには、もう一方の論理アドレスを指定するリードコマンドを再発行し、動作を続行するようになっている。
【００７１】
このような本実施形態のアクセス制御装置３は、図８に示すように、ＳＣＳＩアダプタ７より発行されるＳＣＳＩコマンドを待つ（ステップ２０１）。ＳＣＳＩアダプタ７からＳＣＳＩコマンドを受けたら、ＳＣＳＩコマンドで指定している論理アドレス、転送ブロック数を読み込み（ステップ２０２）、このＳＣＳＩコマンドがライトコマンドであるか否か判定する（ステップ２０３）。ステップ２０３において、このＳＣＳＩコマンドがライトコマンドであり、さらに、ＨＰフラグがＨＰ＝０ならば、指定論理アドレス及び指定転送ブロック数でライトコマンドを交換後の大容量の磁気ディスク装置１に発行する（ステップ２０４）。また、ステップ２０４において、ＨＰ＝１ならば、指定論理アドレス＋７８Ｍとなる別の論理アドレス及び指定転送ブロック数でライトコマンドを交換後の大容量の磁気ディスク装置１に発行する。ステップ２０４の後、コマンド処理の終了を待つ（ステップ２０５）。  
【００７２】
ステップ２０５においてコマンド処理が終了した後、同じデータなどを磁気ディスク１ａの異なる領域に書き込むため、ステップ２０４におけるＨＰフラグがＨＰ＝０ならば指定論理アドレス＋７８Ｍとなる別の論理アドレス及び転送ブロック数で、ステップ２０４におけるＨＰフラグがＨＰ＝１ならば指定論理アドレス及び転送ブロック数で、ライトコマンドを交換後の大容量の磁気ディスク装置１に発行する（ステップ２０６）。さらにステップ２０６では、このステップ２０６で最後にライトコマンドを発行したときのＨＰフラグがＨＰ＝０ならばＨＰ＝１に、ＨＰ＝１ならばＨＰ＝０に、ＨＰフラグを反転させる。ステップ２０６の後、コマンド処理の終了を待ち（ステップ２０７）、このステップ２０７においてコマンド処理が終了したらステップ２０１に戻りＳＣＳＩコマンドを待つ。
【００７３】
一方、ステップ２０３において、ＳＣＳＩコマンドがライトコマンドではなくリードコマンドであるとき、図９に示すように、ＨＰフラグがＨＰ＝０ならば指定論理アドレス及び指定転送ブロック数でリードコマンドを交換後の大容量の磁気ディスク装置１に発行する（ステップ２０８）。また、ステップ２０８においてＨＰ＝１ならば指定論理アドレス＋７８Ｍとなる別の論理アドレス及び指定転送ブロック数でリードコマンドを交換後の大容量の磁気ディスク装置１に発行する。さらにステップ２０８において、コマンドを発行したときのＨＰフラグがＨＰ＝０ならばＨＰ＝１に、ＨＰ＝１ならばＨＰ＝０に、ＨＰフラグを反転させる。ステップ２０８の後、コマンド処理の終了を待つ（ステップ２０９）。ステップ２０９においてコマンド処理が終了した後、リードエラーが発生していたか確認する（ステップ２１０）。
【００７４】
ステップ２１０において、リードエラーが発生していなければ、図８に示すステップ２０１に戻りＳＣＳＩコマンドを待つ。また、ステップ２１０において、図９に示すように、リードエラーが発生していれば、ＨＰ＝１ならば指定論理アドレス＋７８Ｍとなる別の論理アドレス及び指定転送ブロック数で、ＨＰフラグがＨＰ＝０ならば指定論理アドレス及び指定転送ブロック数で、ライトコマンドを交換後の大容量の磁気ディスク装置１に発行する（ステップ２１１）。さらにステップ２１１において、コマンドを発行したときのＨＰフラグがＨＰ＝１ならばＨＰ＝０に、ＨＰ＝０ならばＨＰ＝１にＨＰフラグを反転させる。
【００７５】
ステップ２１１の後、コマンド処理の終了を待ち（ステップ２１２）、このステップ２１２においてコマンド処理が終了したらステップ２０１に戻りＳＣＳＩコマンドを待つ。ステップ２１２においてコマンド処理が終了した後、リードエラーが発生していたか確認する（ステップ２１３）。ステップ２１３において、リードエラーが発生していたら異常終了し、発生していなければ図８に示すステップ２０１に戻りＳＣＳＩコマンドを待つ。
【００７６】
このように本実施形態のアクセス制御プログラムを用いたアクセス制御装置３では、交換後の大容量の磁気ディスク装置１の磁気ディスク１ａにデータなどを書き込むとき、そして、磁気ディスク１ａからデータなどを読み出すとき、ＳＣＳＩアダプタ７からＳＣＳＩコマンドが発行される毎に、例えば指定論理アドレス０−５８５,９８３間の領域と、別の論理アドレス７８,００１,１５２−７８,５８７,１３５間の領域とに磁気ヘッドが交互に移動する。このため、磁気ヘッドは、磁気ディスクの異なる領域に分散してアクセスすることになる。したがって、磁気ヘッドの移動をできるだけ大きくでき、定点浮上の抑制効果を向上できる。
【００７７】
ところで、磁気ディスク装置は製造上のばらつきで、磁気ヘッドと磁気ディスク間の距離にもばらつきがあり、磁気ヘッドが磁気ディスクを傷つけるといった問題の発生頻度にもばらつきがある。このため、磁気ディスク上の限られた領域に限られた磁気ヘッドがアクセスする状態の場合、その磁気ディスク上の限られた領域が傷つくなどして不具合が発生し、読み出しが行なえなくなると、リードエラーが発生し動作を続行できなくなる。
【００７８】
これに対して、本実施形態のアクセス制御プログラムを用いたアクセス制御装置３では、リードコマンドに指定された論理アドレスに加算する論理アドレス数Ａは、Ａ＝Ｓ＊ｎで、ｎ＝使用するセクタ数／Ｓ、ｎ≠Ｈ＊ｍ（ｍ＝１，２，３・・・）となる。このため、磁気ディスク１ａへの書き込みを行なうとき、磁気ディスク１ａの異なる面に書き込みを行なう。そして、磁気ディスク１ａからデータなどの読み出しをおこなうときにリードエラーが発生すると、動作を続行して磁気ヘッドがもう一方の領域に移動し、このもう一方の領域からデータなどを読み出そうとするうえ、そのときの磁気ヘッドは、リードエラーとなった磁気ヘッドとは異なる磁気ヘッドが行なう。したがって、製造上のばらつきで磁気ディスクを傷つけ易い磁気ヘッドがあっても、他のヘッドで動作を続行でき、また、その他のリードエラーが発生してももう一方のセクタからデータを読み出して動作を続行できる。これにより、読み出しエラーが生じて、他の領域からデータなどを読み出す場合、不具合が発生していない別のヘッドで別の領域から読み出しを行なうことができる。
【００７９】
なお、磁気ディスク装置が複数の磁気ディスクを有している場合も、本実施形態のように指定された論理アドレスと、指定された論理アドレス＋Ａとなる別の論理アドレスに書き込みを行なうことで、磁気ディスクの異なる面または複数の磁気ディスクの異なる磁気ディスクに書き込みを行なうことができる。ただし、磁気ディスクの各トラックのセクタ数が異なる場合には、各トラックのセクタ数を考慮して、指定された論理アドレスに加算する論理アドレス数Ａを決定する。
【００８０】
加えて、本実施形態でも、第１及び第２の実施形態と同様にアクセス制御プログラムを用いて定点浮上の抑制効果を向上できる。このため、磁気ディスク装置を利用する機器であるコンピュータに、本実施形態のアクセス制御プログラムをインストールすること、本実施形態のアクセス制御プログラムを用いたアクセス制御装置をインターフェースやケーブルに設けること、さらに、磁気ディスク装置にアクセス制御プログラムをインストールすることなどで、一般に市販されている磁気ディスク装置を用いることができる。したがって、特殊な磁気ディスク装置などを用いる必要がなく、一般に市販されている磁気ディスク装置でも、実際の容量よりも小さな容量で用いる場合に生じる定点浮上を抑制できる。
【００８１】
なお、本実施形態のように、交換後の大容量の磁気ディスク装置１の磁気ディスク１ａの複数の領域にデータなどの書き込みを行い、書き込みや読み出しのために磁気ディスクにアクセスする毎に異なる領域にアクセスすることに加え、第１の実施形態のように、磁気ディスク１ａで使用するシリンダ間をスキップさせることもできる。この場合、定点浮上の抑制効果をさらに向上できる。
【００８２】
また、本実施形態では、磁気ディスクの２箇所の領域にデータを書き込む場合を例として説明している。しかし、２箇所に限らず、３箇所以上の磁気ディスクの領域に同じデータなどを書き込むこともできる。同じデータなどを書き込む領域の数を増やせば、増やしただけ磁気ヘッドが同じ位置にいる時間が減って定点浮上の抑制効果をより向上できる。また、リードエラーが発生しても動作を続行できる確率も大きくなる。
【００８３】
また、本実施形態のような磁気ディスク装置のアクセス制御プログラム、このアクセス制御プログラムを記録した記録媒体、このアクセス制御プログラムを用いたアクセス制御装置や磁気ディスク装置も、第１の実施形態と同様、小容量の磁気ディスク装置を大容量の磁気ディスク装置に交換した場合だけでなく、磁気ディスク装置を実際よりも小さな容量で使用する場合にも適用できる。
【００８４】
また、第１乃至第３の実施形態では、アクセス制御プログラムを用いたアクセス制御装置３を用いた場合を例として説明した。しかし、本実施形態のアクセス制御プログラムを、このアクセス制御プログラムを記録した記録媒体を用いて磁気ディスク装置１を利用するコンピュータなどにインストールし、磁気ディスク装置１を利用するコンピュータなどが直接、このコンピュータの磁気ディスク装置１が接続されているインターフェースを制御することもできる。さらに、本実施形態アクセス制御装置３のようなアクセス制御装置となる回路を含むインターフェース基板を、磁気ディスク装置１を利用するコンピュータなどに増設し、この増設したインターフェース基板のコネクタに磁気ディスク装置１を接続することもできる。加えて、磁気ディスク装置１自体が本実施形態のアクセス制御プログラムを有するものとし、磁気ディスク装置１内で、本実施形態のアクセス制御プログラムによる処理が行なわれるようにすることもできる。
【００８５】
また、第１乃至第３の実施形態は、インターフェースがＳＣＳＩであり、ブロック転送を行なう場合を例として説明した。しかし、本発明のアクセス制御プログラムは、ＳＣＳＩなどのようにブロック転送を行なう場合に限らず、様々な転送方式に適用できる。例えば、第１及び第２の実施形態のような場合、リード／ライトコマンドが１つ１つのセクタ毎に受信論理アドレスを対応させて指定している場合、転送ブロック数に応じて変換論理アドレスを指定するリード／ライトコマンドを複数のコマンドに分割する処理は必要なく、アドレス変換テーブルの転送可能ブロック数に関する情報も必要なくなる。
【００８６】
また、第１及び第３の実施形態のような磁気ディスク装置のアクセス制御プログラム、このアクセス制御プログラムを記録した記録媒体、このアクセス制御プログラムを用いたアクセス制御装置や磁気ディスク装置は、小容量の磁気ディスク装置を大容量の磁気ディスク装置に交換した場合だけでなく、磁気ディスク装置を実際よりも小さな容量で使用する場合などにも適用できる。
【図面の簡単な説明】
【００８７】
【図１】本発明を適用してなるアクセス制御装置を設け、交換後の大容量の磁気ディスク装置を交換前の小容量の磁気ディスク装置と同じ容量で用いる様子を模式的に示すブロック図である。
【図２】本発明を適用してなるアクセス制御装置の概略構成を示すブロック図である。
【図３】交換前の小容量の磁気ディスク装置と交換後の大容量の磁気ディスク装置の仕様を比較した一例を示す図である。
【図４】交換後の磁気ディスク装置のシリンダのスキップ数と使用するシリンダの数の関係を示す図である。
【図５】本発明を適用してなる第１の実施形態の磁気ディスク装置のアクセス制御プログラムが使用するアドレス変換テーブルの一例を示す図である。
【図６】本発明を適用してなる第１の実施形態の磁気ディスク装置のアクセス制御プログラムによる動作を示すフロー図である。
【図７】本発明を適用してなる第２の実施形態の磁気ディスク装置のアクセス制御プログラムが使用するアドレス変換テーブルの一例を示す図である。
【図８】本発明を適用してなる第３の実施形態の磁気ディスク装置のアクセス制御プログラムによる動作を示すフロー図である。
【図９】本発明を適用してなる第３の実施形態の磁気ディスク装置のアクセス制御プログラムによる動作を示すフロー図である。
【符号の説明】
【００８８】
１  交換後の大容量の磁気ディスク装置
１ａ  磁気ディスク
３  アクセス制御装置
５  ＳＣＳＩケーブル
７  ＳＣＳＩアダプタ
９  交換前の小容量の磁気ディスク装置
９ａ  磁気ディスク
【図１】
2006012297.tif 000002
【図２】
2006012297.tif 000003
【図３】
2006012297.tif 000004
【図４】
2006012297.tif 000005
【図５】
2006012297.tif 000006
【図６】
2006012297.tif 000007
【図７】
2006012297.tif 000008
【図８】
2006012297.tif 000009
【図９】
2006012297.tif 000010