(57)【特許請求の範囲】
【請求項１】
ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）インタフェースを持つハードディスクユニットであって、初期設定時にハードディスクにおいて少なくとも書込み読出しが実行される範囲を示す最大ユーザ領域サイズの値を保持する第１の保持手段と、前記最大ユーザ領域サイズの上限が再設定された時にその値を保持する第２の保持手段と、ＡＴＡコマンドコードのうちの不使用のコマンドコードを用いて定義しかつ前記最大ユーザ領域サイズを変更するための容量設定コマンドを予め格納する格納手段と、外部からのコマンドが前記容量設定コマンドである時に前記第２の保持手段の保持内容を外部からの設定値を用いて変更する変更手段とを有し、前記変更手段で変更された値以上にはユーザがアクセスできないように内部設定を行うことを特徴とするハードディスクユニット。
【請求項２】
前記格納手段は、ＡＴＡコマンドコードのうちの不使用のコマンドコードを用いて定義しかつ前記保持手段の保持内容を確認するための容量設定値確認コマンドを予め格納し、
外部から前記容量設定値確認コマンドが指定された時に前記保持手段の保持内容を外部に通知する手段を含むことを特徴とする請求項１記載のハードディスクユニット。
【請求項３】
ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）インタフェースを持つハードディスクユニットのユーザ領域設定方法であって、外部からのコマンドがＡＴＡコマンドコードのうちの不使用のコマンドコードを用いて定義されかつハードディスクにおいて少なくとも書込み読出しが実行される範囲を示す最大ユーザ領域サイズの値を変更するための容量設定コマンドか否かを判定するステップと、前記容量設定コマンドと判定された場合に前記最大ユーザ領域サイズの上限が再設定された時にその値を保持する保持手段の保持内容を外部からの設定値を用いて変更するステップとを有し、その変更された値以上にはユーザがアクセスできないように内部設定を行うことを特徴とするユーザ領域設定方法。
【請求項４】
前記容量設定コマンドを予め格納する格納手段に、ＡＴＡコマンドコードのうちの不使用のコマンドコードを用いて定義されかつ前記保持手段の保持内容を確認するための容量設定値確認コマンドを予め格納しておき、
外部からのコマンドが前記容量設定値確認コマンドと判定された時に前記保持手段の保持内容を外部に通知するステップを含むことを特徴とする請求項３記載のユーザ領域設定方法。
【請求項５】
ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）インタフェースを持つハードディスクユニットにおいて、制御手段にユーザ領域設定させるためのユーザ領域設定制御プログラムを記録した記録媒体であって、前記ユーザ領域設定制御プログラムは前記制御手段に、外部からのコマンドがＡＴＡコマンドコードのうちの不使用のコマンドコードを用いて定義されかつハードディスクにおいて少なくとも書込み読出しが実行される範囲を示す最大ユーザ領域サイズの値を変更するための容量設定コマンドか否かを判定させ、前記容量設定コマンドと判定された場合に前記最大ユーザ領域サイズの上限が再設定された時にその値を保持する保持手段の保持内容を外部からの設定値を用いて変更させ、その変更された値以上にはユーザがアクセスできないように内部設定を行わせることを特徴とするユーザ領域設定制御プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はハードディスクユニット及びそれに用いるユーザ領域設定方法並びにその制御プログラムを記録した記録媒体に関し、特にＡＴＡ（ＡＴ    Ａｔｔａｃｈｍｅｎｔ）    Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）を持つハードディスク（ＨＤＤ：Ｈａｒｄ    Ｄｉｓｋ    Ｄｒｉｖｅ）のユーザ領域サイズの設定に関する。
【０００２】
【従来の技術】
従来、ハードディスクユニットにおいては、上位装置との接続に用いられるインタフェースとして、ＡＴＡ［ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ    Ｄｒｉｖｅ    Ｅｌｅｃｔｒｏｎｉｃｓ）がハードディスクメーカ間で標準化されたもの］とＳＣＳＩ（Ｓｍａｌｌ    Ｃｏｍｐｕｔｅｒ    Ｓｙｓｔｅｍ    Ｉｎｔｅｒｆａｃｅ）とに大別される。
【０００３】
上位装置との接続にＳＣＳＩが用いられているハードディスクではユーザ領域サイズの設定を行うためのコマンドが定義されているため、ユーザ領域サイズの設定を自由に行うことができる。しかながら、上位装置との接続にＡＴＡが用いられているハードディスクではユーザ領域サイズの設定を行うためのコマンドが定義されていない。
【０００４】
【発明が解決しようとする課題】
上述した従来のＡＴＡ    Ｉ／Ｆを持つハードディスクでは、ユーザ領域サイズの設定を行うためのコマンドが定義されていないので、ハードディスクメーカが初期設定しているユーザ領域サイズでしか使用することができない。
【０００５】
そのため、ＡＴＡ    Ｉ／Ｆ仕様のハードディスクでは、ユーザ領域サイズを変更することができないので、違う容量同士のハードディスクに対してディスクアレイ（Ａｒｒａｙ）を組んだり、全ての領域のコピーを行うＤｅａｄ    ｃｏｐｙを行うことができない。
【０００６】
また、ＡＴＡ    Ｉ／Ｆ仕様のハードディスクでは、ユーザ領域サイズを確認するコマンドも定義されていないので、ユーザ領域サイズを確認することができない。
【０００７】
そこで、本発明の目的は上記の問題点を解消し、異なる容量同士のハードディスクを組合わせて使用することができるハードディスクユニット及びそれに用いるユーザ領域設定方法並びにその制御プログラムを記録した記録媒体を提供することにある。
【０００８】
【課題を解決するための手段】
本発明によるハードディスクユニットは、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）インタフェースを持つハードディスクユニットであって、初期設定時にハードディスクにおいて少なくとも書込み読出しが実行される範囲を示す最大ユーザ領域サイズの値を保持する第１の保持手段と、前記最大ユーザ領域サイズの上限が再設定された時にその値を保持する第２の保持手段と、ＡＴＡコマンドコードのうちの不使用のコマンドコードを用いて定義しかつ前記最大ユーザ領域サイズを変更するための容量設定コマンドを予め格納する格納手段と、外部からのコマンドが前記容量設定コマンドである時に前記第２の保持手段の保持内容を外部からの設定値を用いて変更する変更手段とを有し、前記変更手段で変更された値以上にはユーザがアクセスできないように内部設定を行っている。
【０００９】
本発明によるハードディスクユニットのユーザ領域設定方法は、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）インタフェースを持つハードディスクユニットのユーザ領域設定方法であって、外部からのコマンドがＡＴＡコマンドコードのうちの不使用のコマンドコードを用いて定義されかつハードディスクにおいて少なくとも書込み読出しが実行される範囲を示す最大ユーザ領域サイズの値を変更するための容量設定コマンドか否かを判定するステップと、前記容量設定コマンドと判定された場合に前記最大ユーザ領域サイズの上限が再設定された時にその値を保持する保持手段の保持内容を外部からの設定値を用いて変更するステップとを備え、その変更された値以上にはユーザがアクセスできないように内部設定を行っている。
【００１０】
本発明によるハードディスクユニットのユーザ領域設定制御プログラムを記録した記録媒体は、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）インタフェースを持つハードディスクユニットにおいて、制御手段にユーザ領域設定させるためのユーザ領域設定制御プログラムを記録した記録媒体であって、前記ユーザ領域設定制御プログラムは前記制御手段に、外部からのコマンドがＡＴＡコマンドコードのうちの不使用のコマンドコードを用いて定義されかつハードディスクにおいて少なくとも書込み読出しが実行される範囲を示す最大ユーザ領域サイズの値を変更するための容量設定コマンドか否かを判定させ、前記容量設定コマンドと判定された場合に前記最大ユーザ領域サイズの上限が再設定された時にその値を保持する保持手段の保持内容を外部からの設定値を用いて変更させ、その変更された値以上にはユーザがアクセスできないように内部設定を行わせている。
【００１１】
すなわち、本発明のハードディスクユニットは、ＡＴＡ    Ｉ／Ｆ仕様にて不使用（Ｒｅｓｅｒｖｅ）となっているコマンドコード（Ｃｏｍｍａｎｄ    Ｃｏｄｅ）を用いて定義されかつユーザ領域サイズを変更するためのコマンドが追加されたコマンドテーブルを有している。
【００１２】
よって、ハードディスクユニットはユーザ領域サイズを変更するためのコマンドが入力されると、そのコマンドにしたがってユーザ領域サイズを変更するので、異なる容量同士のハードディスクを組合わせて使用することが可能となり、それらのハードディスクに対してディスクアレイに組込んだり、あるいはＤｅａｄｃｏｐｙを行うことが可能となる。
【００１３】
また、本発明のハードディスクユニットは、上記のコマンドテーブルに、ユーザ領域サイズを確認するためのコマンドを追加することで、異なる容量同士のハードディスクを組合わせて使用する際に、それぞれのユーザ領域サイズを確認することが可能となる。
【００１４】
【発明の実施の形態】
次に、本発明の一実施例について図面を参照して説明する。図１は本発明の一実施例によるハードディスクユニットの構成を示すブロック図である。図１において、ハードディスクユニット１はＡＴＡ（ＡＴ    Ａｔｔａｃｈｍｅｎｔ）    Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）制御部１１と、コマンドテーブル１３と、固定値レジスタ１４と、ユーザ設定値レジスタ１５と、ＭＰＵ（Ｍｉｃｒｏ    Ｐｒｏｃｅｓｓｉｎｇ    Ｕｎｉｔ）１６と、メモリ１７と、データバッファ制御部１８と、データバッファ１９と、フォーマッタ部２０と、ヘッド制御部２１と、ハードディスク２２とから構成されている。
【００１５】
ＡＴＡ    Ｉ／Ｆ制御部１１と固定値レジスタ１４とユーザ設定値レジスタ１５とＭＰＵ１６とメモリ１７とデータバッファ制御部１８とフォーマッタ部２０とはそれぞれバス２００によって相互に接続されている。
【００１６】
ＡＴＡ    Ｉ／Ｆ制御部１１はＡＴＡ    Ｉ／Ｆケーブル１００を介して入力されるコマンドデータをタスクレジスタ１２に保持し、タスクレジスタ１２に設定された内容に応じたＡＴＡコマンドをコマンドテーブル１３から読出してＭＰＵ１６に渡す。
【００１７】
ＭＰＵ１６は渡されたＡＴＡコマンドにしたがって各部を制御し、ハードディスク２２からデータを読出したり、ハードディスク２２にデータを書込んだりする動作等を実行する。尚、各部における処理動作はメモリ１７に格納されたプログラムの実行によって行われる。
【００１８】
ここで、コマンドテーブル１３には予め定義されたＡＴＡコマンドが格納されており、タスクレジスタ１２に設定された内容にしたがって対応するＡＴＡコマンドが読出されるようになっている。
【００１９】
ＡＴＡコマンドの種類は００ｈ〜ＦＦｈまで存在するが、この中で現在使用されていない（Ｒｅｓｅｒｖｅとなっている）コマンド番号が存在するので、それらのコマンド番号を使用してユーザ領域サイズを設定するための容量設定コマンドやユーザ領域サイズを確認するための容量設定値確認コマンドを定義し、それらのコマンドをコマンドテーブル１３に予め格納している。
【００２０】
図２は図１のタスクレジスタ１２の構成を示す図である。図において、タスクレジスタ１２は７種類のレジスタが、つまり各々８ビットの「ＣＯＭＭＡＮＤ（１Ｆ７ｈ）」、「ＣＹＬＩＮＤＥＲ    ＨＩＧＨ（１Ｆ５ｈ）」、「ＣＹＬＩＮＤＥＲ    ＬＯＷ（１Ｆ４ｈ）」、「ＤＲＶ＿ＨＤ（１Ｆ６ｈ）」、「ＳＥＣ＿ＮＵＭ（１Ｆ３ｈ）」、「ＳＥＣ＿ＣＮＴ（１Ｆ２ｈ）」、「ＦＥＡＴＵＲＥＳ（１Ｆ１ｈ）」のレジスタが設けられている。
【００２１】
タスクレジスタ１２のレジスタにそれぞれの値が設定されることで、ＡＴＡ    ＩＦ制御部１１はその設定内容に対応するＡＴＡコマンドをコマンドテーブル１３から読出して発行している。
【００２２】
図３は本発明の一実施例によるハードディスクユニットの動作を示すフローチャートである。これら図１〜図３を参照して本発明の一実施例によるハードディスクユニットの動作について説明する。
【００２３】
コマンドが入力されると、ＡＴＡ    Ｉ／Ｆ制御部１１はＡＴＡ    Ｉ／Ｆケーブル１００を介して入力されるコマンドデータをタスクレジスタ１２に保持し、タスクレジスタ１２のコマンドレジスタ（１Ｆ７ｈ）に保持されたコマンド番号を読込んで、コマンドの種類をチェックする（図３ステップＳ１）。
【００２４】
ＡＴＡ    Ｉ／Ｆ制御部１１は入力されたコマンドが容量設定値確認コマンドや容量設定コマンドでなければ（図３ステップＳ２，Ｓ３）、その他のコマンド（例えば、ハードディスク２２への読み書き用のコマンド等）と判定し、コマンドレジスタ（１Ｆ７ｈ）に保持されたコマンド番号に対応するＡＴＡコマンドをコマンドテーブル１３から読出してＭＰＵ１６に渡し、ＭＰＵ１６によってそのコマンドを実行する（図３ステップＳ４）。
【００２５】
一方、ＡＴＡ    Ｉ／Ｆ制御部１１は入力されたコマンドが容量設定コマンドであれば（図３ステップＳ３）、タスクレジスタ１２のコマンドレジスタ（１Ｆ７ｈ）を除いた６種類のレジスタ（１Ｆ１ｈ    〜１Ｆ６ｈ）に保持されているユーザ領域設定値を読込む（図３ステップＳ５）。
【００２６】
ＡＴＡ    Ｉ／Ｆ制御部１１は読込んだユーザ領域設定値を、コマンドテーブル１３から読込んだ容量設定コマンドとともにＭＰＵ１６に渡し、ＭＰＵ１６によってユーザ設定値レジスタ１５に格納されている最大ユーザ領域サイズを変更する（図３ステップＳ６）。
【００２７】
ここで、初期設定時、ハードディスクユニット１は固定値レジスタ１４にハードディスクメーカによって設定されている最大ユーザ領域サイズの範囲内で書込み読出し等を実行するが、ユーザ設定値レジスタ１５に格納されている最大ユーザ領域サイズ（初期設定時には固定値レジスタ１４と同じ最大ユーザ領域サイズ）が変更されると、以後ユーザ設定値レジスタ１５に格納されている最大ユーザ領域サイズの範囲内で書込み読出し等を実行する。
【００２８】
これによって、ハードディスク２２にはユーザ領域サイズの上限が再設定され、設定された値以上にはユーザがアクセスできないように内部設定を行い、本コマンドを終了させる。この後、ＡＴＡ    Ｉ／Ｆ制御部１１はＡＴＡ    Ｉ／Ｆケーブル１００を介して図示せぬ上位装置にコマンド正常終了を返す（図３ステップＳ７）。
【００２９】
また、ＡＴＡ    Ｉ／Ｆ制御部１１は入力されたコマンドが容量設定値確認コマンドであれば（図３ステップＳ２）、コマンドテーブル１３から読込んだ容量設定値確認コマンドをＭＰＵ１６に渡す。
【００３０】
ＭＰＵ１６はユーザ設定値レジスタ１５に格納されている最大ユーザ領域サイズを読込んでＡＴＡ    Ｉ／Ｆ制御部１１に渡すので、ＡＴＡ    Ｉ／Ｆ制御部１１はその値をタスクレジスタ１２のコマンドレジスタ（１Ｆ７ｈ）を除いた６種類のレジスタ（１Ｆ１ｈ    〜１Ｆ６ｈ）に設定して上位装置に応答を返す（図３ステップＳ８）。ユーザはそのレジスタ（１Ｆ１ｈ    〜１Ｆ６ｈ）に設定された値によってハードディスク２２に設定されたユーザ領域サイズを確認することができる。
【００３１】
尚、上記の実施例ではユーザ設定値レジスタ１５に使用するユーザ領域サイズを設定する動作について述べたが、コマンドテーブル１３に使用しないユーザ領域サイズを設定するためのコマンドを予め格納しておき、タスクレジスタ１２のコマンドレジスタ（１Ｆ７ｈ）にそのコマンド番号を設定するとともに、コマンドレジスタ（１Ｆ７ｈ）を除いた６種類のレジスタ（１Ｆ１ｈ    〜１Ｆ６ｈ）に使用しないユーザ領域サイズを設定することで、最大ユーザ領域から不要とされるユーザ領域サイズを引いて算出されるユーザ領域サイズをユーザ設定値レジスタ１５に設定することも可能である。
【００３２】
このように、コマンドテーブル１３にユーザ領域サイズを設定するための容量設定コマンドやユーザ領域サイズを確認するための容量設定値確認コマンド等を予め定義して格納しておくことによって、異なる容量同士のハードディスクを組合わせて使用することができる。よって、それらのハードディスクに対してディスクアレイに組込んだり、あるいはＤｅａｄ    ｃｏｐｙを行うことができる。
【００３３】
【発明の効果】
以上説明したように本発明によれば、ＡＴＡインタフェースを持つハードディスクユニットにおいて、ハードディスクにおける使用可能範囲の値を保持する保持手段の保持内容を変更するための容量設定コマンドを格納手段に予め格納しておき、外部から容量設定コマンドが指定された時に保持手段の保持内容を外部からの設定値を用いて変更することによって、異なる容量同士のハードディスクを組合わせて使用することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例によるハードディスクユニットの構成を示すブロック図である。
【図２】図１のタスクレジスタの構成を示す図である。
【図３】本発明の一実施例によるハードディスクユニットの動作を示すフローチャートである。
【符号の説明】
１    ハードディスクユニット
１１    ＡＴＡ    Ｉ／Ｆ制御部
１２    タスクレジスタ
１３    コマンドテーブル
１４    固定値レジスタ
１５    ユーザ設定値レジスタ
２２    ハードディスク
【図１】
0003546741.tif 000002
【図２】
0003546741.tif 000003
【図３】
0003546741.tif 000004