(57)【要約】【課題】データを多重化して記録する際に、多重化方式および多重数を任意に変更することができるディスク装置を提供する。【解決手段】データの多重化方式と多重数とを指定する多重指定コマンドがコマンドレジスタ１５１に格納されると、多重化管理部１０４は、コマンド解析部１０１を介してその多重化方式と多重数とを保持する。そして、多重化管理部１０４は以降、その多重化方式と多重数とに基づいて複数のデータライト先を決定し、ライト処理部１０２はその決定された全てのデータライト先に対してデータを書き込ませる。【選択図】        図２
2007193536.tif 000002
【特許請求の範囲】
【請求項１】
データを多重化して記録するディスク装置であって、
データの多重記録方式と多重数とを受け付ける受付手段と、
前記受付手段により受け付けられた多重記録方式および多重数に基づいて、データを多重化して書き込む多重書込手段と、
を備えたことを特徴とするディスク装置。
【請求項２】
前記多重書込手段により多重化して書き込まれた全てのデータを読み出し、全てのデータを比較し、比較した結果全てのデータが一致した場合のみ、該データを転送する多重読出手段
をさらに備えたことを特徴とする請求項１に記載のディスク装置。
【請求項３】
前記受付手段は、前記多重書込手段により多重化して書き込まれたデータを読み出す際の読出方法および読出先を指定する読出指定をさらに受け付け、
前記多重読出手段は、前記受付手段が読出指定を受け付けた場合は、該読出指定により指定されたデータのみを読み出すことを特徴とする請求項１または２に記載のディスク装置。
【請求項４】
データを多重化して記録するディスク装置を制御するディスク制御方法であって、
データの多重記録方式と多重数とを受け付ける受付工程と、
前記受付工程により受け付けられた多重記録方式および多重数に基づいて、データを多重化して書き込む多重書込工程と、
を含んだことを特徴とするディスク制御方法。
【請求項５】
ディスク装置に対して所定のコマンドを発行するコマンド制御方法であって、
データの書き込みを実行させるライトコマンドを前記ディスク装置に発行する書込制御工程と、
データの多重記録方式と多重数とを含む多重化コマンドを前記ディスク装置に発行する多重化制御工程とを少なくとも有し、
前記ディスク装置は、前記書込制御工程により前記ライトコマンドを受領した際に、前記多重化制御工程により指定された前記多重記録方式および前記多重数に基づいて、データを多重化して書き込むことを特徴とするコマンド制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データを多重化して記録するディスク装置、ディスク制御方法およびコマンド制御方法に関し、特に、多重化の際の多重記録方式および多重数を任意に変更することができ、安価な構成であっても信頼性が高く多様なニーズに応えることのできるディスク装置、ディスク制御方法およびコマンド制御方法に関するものである。
【背景技術】
【０００２】
近年、磁気ディスク装置に記録されるデータの信頼性を高める目的で、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）に代表されるデータを多重化して記録する方法が広く普及してきた。しかし、ＲＡＩＤによりデータを多重化して記録する方法では、複数台の磁気ディスク装置を備えなければならず、コスト面および省スペース性に課題がある。
【０００３】
そこで、従来では、１台の磁気ディスク装置によりデータを多重化して記録することで、安価な構成でデータの信頼性を高めることのできる磁気ディスク制御方法が開示されている（例えば、特許文献１参照。）。
【０００４】
【特許文献１】特開２０００−０９９２７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載された磁気ディスク制御方法でデータを多重化して記録する場合、その多重化の方法は、ヘッド間での多重化、すなわち同一シリンダ上において各記録先に対応するヘッドを異ならせて記録する方法に限定されていたという問題があった。また、多重数についても初期設定時に固定されるため、初期化しない限りは多重数を任意に変更することもできなかった。
【０００６】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、多重化の際の多重記録方式および多重数を任意に変更することができ、安価な構成であっても信頼性が高く多様なニーズに応えることのできるディスク装置、ディスク制御方法およびコマンド制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、請求項１の発明に係るディスク装置は、データを多重化して記録するディスク装置であって、データの多重記録方式と多重数とを受け付ける受付手段と、前記受付手段により受け付けられた多重記録方式および多重数に基づいて、データを多重化して書き込む多重書込手段と、を備えたことを特徴とする。
【０００８】
この請求項１の発明によれば、データの多重記録方式と多重数とを受け付け、受け付けた多重記録方式および多重数に基づいて、データを多重化して書き込むよう構成したので、多重化の際の多重記録方式および多重数を任意に変更することができる。
【０００９】
また、請求項２の発明に係るディスク装置は、請求項１の発明において、前記多重書込手段により多重化して書き込まれた全てのデータを読み出し、全てのデータを比較し、比較した結果全てのデータが一致した場合のみ、該データを転送する多重読出手段をさらに備えたことを特徴とする。
【００１０】
この請求項２の発明によれば、多重化して書き込まれた全てのデータを読み出し、全てのデータを比較し、比較した結果全てのデータが一致した場合のみ、そのデータを転送するよう構成したので、多重化して書き込まれたデータの誤りを容易に検出することができる。
【００１１】
また、請求項３の発明に係るディスク装置は、請求項１または２の発明において、前記受付手段は、前記多重書込手段により多重化して書き込まれたデータを読み出す際の読出方法および読出先を指定する読出指定をさらに受け付け、前記多重読出手段は、前記受付手段が読出指定を受け付けた場合は、該読出指定により指定されたデータのみを読み出すことを特徴とする。
【００１２】
この請求項３の発明によれば、多重化して書き込まれたデータを読み出す際の読出方法および読出先を指定する読出指定をさらに受け付け、読出指定を受け付けた場合は、その読出指定により指定されたデータのみを読み出すよう構成したので、多重化して書き込まれたデータであっても読出先を１カ所に限定することができる。
【００１３】
また、請求項４の発明に係るディスク制御方法は、データを多重化して記録するディスク装置を制御するディスク制御方法であって、データの多重記録方式と多重数とを受け付ける受付工程と、前記受付工程により受け付けられた多重記録方式および多重数に基づいて、データを多重化して書き込む多重書込工程と、を含んだことを特徴とする。
【００１４】
この請求項４の発明によれば、データの多重記録方式と多重数とを受け付け、受け付けた多重記録方式および多重数に基づいて、データを多重化して書き込むよう構成したので、多重化の際の多重記録方式および多重数を任意に変更することができる。
【００１５】
また、請求項５の発明に係るコマンド制御方法は、ディスク装置に対して所定のコマンドを発行するコマンド制御方法であって、データの書き込みを実行させるライトコマンドを前記ディスク装置に発行する書込制御工程と、データの多重記録方式と多重数とを含む多重化コマンドを前記ディスク装置に発行する多重化制御工程とを少なくとも有し、前記ディスク装置は、前記書込制御工程により前記ライトコマンドを受領した際に、前記多重化制御工程により指定された前記多重記録方式および前記多重数に基づいて、データを多重化して書き込むことを特徴とする。
【００１６】
この請求項５の発明によれば、データの書き込みを実行させるライトコマンドをディスク装置に発行する工程と、データの多重記録方式と多重数とを含む多重化コマンドをディスク装置に発行する工程とを少なくとも有し、ディスク装置がライトコマンドを受領した際には、指定された多重記録方式および多重数に基づいて、データを多重化して書き込むので、多重化の際の多重記録方式および多重数を任意に変更することができる。
【発明の効果】
【００１７】
請求項１、４および５の発明によれば、多重化の際の多重記録方式および多重数を任意に変更することができるので、信頼性が高く多様なニーズに応えられるディスク装置を安価な構成により提供することができるという効果を奏する。
【００１８】
また、請求項２の発明によれば、多重化して書き込まれたデータの誤りを容易に検出することができるので、データの信頼性を高めることができるという効果を奏する。
【００１９】
また、請求項３の発明によれば、多重化して書き込まれたデータであっても読出先を１カ所に限定することができるので、データに誤りがある場合には妥当なデータをユーザの判断により選択させることができるとともに、データの読み出しに要する時間を短縮することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下に添付図面を参照して、この発明に係るディスク装置、ディスク制御方法およびコマンド制御方法の好適な実施例を詳細に説明する。
【実施例】
【００２１】
まず、本実施例に係る磁気ディスク装置の構成について説明する。図１は、本実施例に係る磁気ディスク装置の構成を示すハードウェア構成図である。同図に示すように、この磁気ディスク装置１は、ＰＣＢＡ（Printed Circuit Board Assembly）１０と、ディスクドライブ２０とにより構成される。この磁気ディスク装置１は、ＡＴＡインタフェースによりホスト２と接続され、磁気ディスク装置１とホスト２との間でデータや制御コマンドなどが伝送される。
【００２２】
ＰＣＢＡ１０は、磁気ディスク装置１を制御する種々のＬＳＩが配置されたプリント基板である。このＰＣＢＡ１０は、ＨＤＣ（Hard Disk Controller）１１と、ＲＤＣ（Read Channel）１２と、バッファ１３と、ＦＲＯＭ１４と、ＣＰＵ１５と、ＲＯＭ１６と、ＳＲＡＭ１７とを有しており、これらは互いにバスで接続されている。
【００２３】
ＨＤＣ１１は、バッファ１３に格納されたデータをディスクドライブ２０に書き込む際の動作や、ディスクドライブ２０に記録されたデータを読み出してバッファ１３に格納する際の動作を制御するコントローラである。ＲＤＣ１２は、バッファ１３とディスクドライブ２０との間を仲介し、データを変調または復調するＬＳＩである。
【００２４】
バッファ１３は、ホスト２とディスクドライブ２０との間でリードまたはライトされるデータを一時的に格納するキャッシュである。ＦＲＯＭ１４は、この磁気ディスク装置１の動作を制御するファームウェアを記憶する不揮発性のメモリである。
【００２５】
ＣＰＵ１５は、ＳＲＡＭ１７に展開されたファームウェアを読み出して実行する中央処理装置であり、そのファームウェアの一部はリード／ライト制御部１００としてＣＰＵ１５の内部で実行される。ＲＯＭ１６は、磁気ディスク装置１を動作させる際に必要となる各種定数を記憶する不揮発性のメモリである。
【００２６】
ＳＲＡＭ１７は、ＦＲＯＭ１４に記憶されたファームウェアを展開するための揮発性のメモリである。また、このＳＲＡＭ１７は、データを多重化して記録した際のデータ記録先などの情報を、多重化管理テーブル１７１（図４参照）として記憶する。
【００２７】
ディスクドライブ２０は、この磁気ディスク装置１においてデータが記録される部分であり、４つのプラッタ２１（プラッタ２１−０〜２１−３）と、ＤＣＭ２２と、８つのヘッド２３（ヘッド２３−０〜２３−７）と、ＶＣＭ２４とを有する。
【００２８】
プラッタ２１は、裏表両面に磁気記録面を有する円盤状の基板であり、磁気ディスク媒体とも言われる。ＤＣＭ２２は、積層された複数のプラッタ２１を回転させる駆動装置である。ヘッド２３は、プラッタ２１の磁気記録面に対して磁気的にデータのリード／ライトを行う磁気ヘッドである。ＶＣＭ（ボイスコイルモータ）２４は、ヘッド２３をディスク半径方向に移動させて、ヘッド２３を目的のデータリード／ライト先へと移動させる駆動装置である。
【００２９】
リード／ライト制御部１００は、ホスト（パソコン等の上位コントローラ）２から指定された多重化に関する設定に基づいてデータライトおよびデータリードをＨＤＣ１１に指示し、制御する処理部である。本実施例に係る磁気ディスク装置１は、データを多重化して記録する際の多重化方式として、ヘッド多重、プラッタ多重、セクタ多重、シリンダ多重の４通りの方式を有しており、ユーザはこの４通りの多重化方式から自由に選択できる。
【００３０】
ここで、各多重化方式の詳細について説明する。ヘッド多重とは、同一データを複数回記録する際に、各記録先へのデータライト時に用いるヘッドを異ならせてデータを多重ライトする多重化方式である。このとき、データライト先は１つのヘッドにつき１カ所が決定される。
【００３１】
プラッタ多重は、同一データを複数回記録する際に、各記録先のプラッタを異ならせてデータを多重ライトする多重化方式である。このとき、データライト先は１つのプラッタにつき１カ所が決定される。なお、このヘッド多重およびプラッタ多重においては、各記録先のヘッド／プラッタが異なっていればよく、各ヘッド／プラッタ間でのシリンダおよびセクタの決定方法については特に限定されない。
【００３２】
セクタ多重は、１つのヘッドに対する同一のシリンダ、すなわち同一のトラックに同一データを連続して複数回記録し、セクタのみを異ならせてデータを多重ライトする多重化方式である。
【００３３】
シリンダ多重は、同一データを複数回記録する際に、各記録先のシリンダを異ならせてデータを多重ライトする多重化方式である。なお、このシリンダ多重においては、各記録先のシリンダ番号が異なっていればよく、記録先のヘッド、プラッタ、およびセクタの決定方法については特に限定されない。
【００３４】
このように、多重化して記録する際の多重化方式を、ヘッド多重、プラッタ多重、セクタ多重、シリンダ多重の中から、ユーザが自由に選択することができることとしたので、多重化に関する多様なニーズに応えられるディスク装置を提供することができる。
【００３５】
なお、ホスト２が発行する多重化コマンドは、本発明の実現のためにホスト２のインタフェースプログラムにプロトコルとして新設したものである。
【００３６】
次に、リード／ライト制御部１００の構成について説明する。図２は、リード／ライト制御部１００の構成を示す機能ブロック図である。同図に示すように、磁気ディスク装置１のＣＰＵ１５は、内部にコマンドレジスタ１５１を有している。
【００３７】
コマンドレジスタ１５１は、ホスト２が磁気ディスク装置１に対して発行する制御コマンドを格納するレジスタである。このコマンドレジスタ１５１に格納される制御コマンドのうち、データの多重化に関連する制御コマンドには、データの多重ライト方式を指定する多重指定コマンドと、多重ライトされたデータのリード先を指定するリード指定コマンドとがある。リード／ライト制御部１００は、このコマンドレジスタ１５１に格納された制御コマンドを読み出し、その制御コマンドに対応する処理を実行する。
【００３８】
図３−１は、多重指定コマンドのフォーマットを示す図である。同図に示すように、この多重指定コマンドは、コマンドレジスタ１５１のうちフィーチャ、セクタ数、ＬＢＡ（高）、コマンドの４段が用いられる。このうち、最下段に示すコマンドでは、制御コマンドの種別が指定され、ここでは多重指定コマンドに対応する値が設定される。
【００３９】
最上段に示すフィーチャでは、多重化方式が指定される。このフィーチャの値には、ヘッド多重の場合は「０１」が、プラッタ多重の場合は「０２」が、セクタ多重の場合は「０３」が、シリンダ多重の場合は「０４」が設定される。また、多重化を禁止する場合は「００」が設定される。
【００４０】
上から２段目に示すセクタ数では、多重数が指定される。例えば、このセクタ数の値が「０３」の場合は、３多重でデータが書き込まれる。
【００４１】
上から５段目に示すＬＢＡ（高）では、多重ライトに用いられるヘッド／プラッタが指定される。すなわち、多重化方式がヘッド多重の場合はデータライト先のヘッド番号が指定され、多重化方式がプラッタ多重の場合はデータライト先のプラッタ番号が指定される。例えば、多重化指定がヘッド多重の場合、そのデータライト先として第０ヘッド「ＨＤ０」、第１ヘッド「ＨＤ１」、第２ヘッド「ＨＤ２」の３つのヘッドを指定するときは、対応する第０ビット、第１ビット、第２ビットを１として他のビットを０とした値、すなわち「０７」がＬＢＡ（高）の値に設定される。
【００４２】
また、リード／ライト制御部１００が多重指定コマンドなどの制御コマンドを受領すると、コマンドレジスタ１５１には現在のステータスに対応する値が返される。図３−２は、多重指定コマンド受領時にコマンドレジスタ１５１が格納する値を示す図である。同図に示す各値は、図３−１に示した多重指定コマンドのフォーマットと対応しており、最上段はフィーチャに代えてエラーレジスタとして利用され、最下段はコマンドに代えてステータスとして利用される。
【００４３】
図３−２の最上段に示すエラーレジスタでは、リード／ライト制御部１００が多重指定コマンドを正常に認識できたか否かが設定され、正常に認識できれば「００ｈ」、正常に認識できずにエラーが発生したときには「０４ｈ」が設定される。
【００４４】
また、同図の最下段に示すステータスでは、リード／ライト制御部１００が返したステータスが設定される。このステータスの一例としては、ビジー状態を示す「Ｄ０ｈ（ビジー）」、割り込みを発生させてホスト２とデータを送受信する「５８ｈ（データ要求）」、処理が正常終了し次の制御コマンドをホスト２に要求する「５０ｈ（ドライブレディ）」などがある。
【００４５】
このコマンドレジスタ１５１に格納される他の制御コマンドのうち、データライト時のライトコマンドと、データリード時のリードコマンドについては、ＬＢＡ方式によるデータリード先の開始アドレスと、データサイズとが指定される。なお、リード指定コマンドの詳細については後述する。
【００４６】
リード／ライト制御部１００は、磁気ディスク装置１のデータリードおよびデータライトを制御する処理部であり、コマンド解析部１０１と、ライト処理部１０２と、リード処理部１０３と、多重化管理部１０４と、データ比較部１０５とを有する。
【００４７】
コマンド解析部１０１は、コマンドレジスタ１５１に格納された制御コマンドの種別を解析し、その制御コマンドがライトコマンドであればライト処理部１０２へ、リードコマンドであればリード処理部１０３へ、多重指定コマンドまたはリード指定コマンドであれば多重化管理部１０４へと制御コマンドを振り分ける処理部である。このコマンド解析部１０１は、コマンドレジスタ１５１におけるコマンドの値を参照することで、制御コマンドの種別を判別する。
【００４８】
ライト処理部１０２は、ディスクドライブ２０へのデータの書き込みをＨＤＣ１１に指示する処理部である。このライト処理部１０２は、コマンド解析部１０１からライトコマンドを受領すると、バッファ１３に格納されたデータを、多重化管理部１０４が指定したデータライト先に書き込むようＨＤＣ１１に指示する。
【００４９】
リード処理部１０３は、ディスクドライブ２０からのデータの読み出しをＨＤＣ１１に指示する処理部である。このリード処理部１０３は、コマンド解析部１０１からリードコマンドを受領すると、多重化管理部１０４が指定したデータリード先からデータを読み出してバッファ１３に格納するようＨＤＣ１１に指示する。
【００５０】
多重化管理部１０４は、データの多重リード／ライトを実行する際の各データリード／ライト先の決定や、多重ライトされたデータのデータ記録先を管理する処理部である。この多重化管理部１０４は、コマンド解析部１０１から多重指定コマンドを受領すると、その多重指定コマンドから多重ライト時における多重化方式、多重数、ヘッド／プラッタ指定の設定を抽出し、その設定を保持する。そして、多重化管理部１０４は、以降のデータライト処理ではその多重化に関する設定に基づいて各データライト先を決定し、そのデータライト先を示す複数のデータ記録先をリード処理部１０３へ渡すことで、データを多重ライトさせる。
【００５１】
そして、多重化管理部１０４は、その多重ライトされたデータのデータ記録先などの情報をＳＲＡＭ１７に記憶させ、多重化管理テーブル１７１として管理する。この多重化管理テーブル１７１は、磁気ディスク装置１の停止時にディスクドライブ２０のシステムエリアに記録され、起動時にディスクドライブ２０から読み出されてＳＲＡＭ１７に記憶される。
【００５２】
図４は、多重化管理テーブル１７１の一例を示す図である。同図に示すように、この多重化管理テーブル１７１は、ホスト指定開始ＬＢＡアドレスと、そのデータのサイズと、多重化方式と、多重数と、そのデータの全てのデータ記録先とを有する。このうち、データ記録先については、ＣＨＳ方式によるデータの記録開始アドレスを指定する。例えば、ホスト指定開始ＬＢＡアドレスが「Ａ」のデータは、サイズが「Ｓ＿Ａ」で、ヘッド多重により３多重されており、３多重された各データのデータ記録先は「Ａ０」、「Ａ１」、「Ａ２」であることを示している。
【００５３】
なお、多重化せずに１カ所のデータライト先に対してのみデータが書き込まれ場合も、その情報がこの多重化管理テーブル１７１に追加される。この場合、多重化管理テーブル１７１は、多重数が「１」、データ記録先が１カ所のみとなり、多重化方式については空欄となる。
【００５４】
また、データリード時には、多重化管理部１０４はこの多重化管理テーブル１７１を参照し、ホスト２から指定された開始ＬＢＡアドレスに対応する全てのデータリード先を示すデータ記録先をリード処理部１０３へ渡し、データを多重リードさせる。例えば、リード／ライト制御部１００が、ホスト指定開始ＬＢＡアドレス「Ａ」のデータをリードするリードコマンドをホスト２から受領すると、多重化管理部１０４はこの多重化管理テーブル１７１を参照して、対応する３カ所のデータ記録先「Ａ０」、「Ａ１」、「Ａ２」をリード処理部１０３に通知する。
【００５５】
データ比較部１０５は、多重リードされたデータがバッファ１３に格納された際に、全てのリードデータのコンペアを実行する処理部である。このデータ比較部１０５によるコンペアの結果、全てのリードデータが一致した場合にのみ、リード処理部１０３を介してそのデータをホスト２へ転送させる。
【００５６】
このように、多重化管理部１０４が、多重ライト時に多重化に関する設定に基づいて決定したデータライト先を多重化管理テーブル１７１として管理し、データリード時にはこの多重化管理テーブル１７１に基づいて、多重ライトされたデータをリード処理部１０３にデータを読み出させ、データ比較部１０５がそれらのデータに対してコンペアを実行することとしたので、多重リードを実行するときにデータの誤りを容易に検出することができ、磁気ディスク装置１に記録されるデータの信頼性を高めることができる。
【００５７】
また、データ比較部１０５によりデータの不一致が検出された場合などには、ホスト２は、多重ライトされたデータの中からデータリード先を１カ所ずつ個別に指定するためのリード指定コマンドを発行することができる。このとき、ホスト２から発行されたこのリード指定コマンドは、コマンドレジスタ１５１に格納される。
【００５８】
図５は、リード指定コマンドのフォーマットを示す図である。同図に示すように、このリード指定コマンドでは、コマンドレジスタ１５１のうちフィーチャ、セクタ数、ＬＢＡ（高）、コマンドの４段が用いられ、多重指定コマンドなどと同様にホスト２から発行されてコマンドレジスタ１５１に格納される。ここでは、最下段に示すコマンドには、リード指定コマンドに対応する値が設定される。
【００５９】
最上段に示すフィーチャでは、リード方式が指定される。このフィーチャの値は、図３−１に示した多重指定コマンドに対応しており、ヘッド多重により多重化されたデータに対してヘッドを指定するリード方式の場合は「０１」が、プラッタ多重により多重化されたデータに対してプラッタを指定するリード方式の場合は「０２」が、セクタ多重により多重化されたデータに対してセクタを指定するリード方式の場合は「０３」が、シリンダ多重により多重化されたデータに対してシリンダを指定するリード方式の場合は「０４」が設定される。
【００６０】
また、多重リードを禁止し、多重化されたデータを１多重分だけ読み出せた時点でデータリードを終了させる場合には、フィーチャの値には「００」が設定される。この場合は、以降実行されるデータリード処理において多重リードが禁止され、リードエラーが発生した場合に限り、リード処理部１０３は多重化して記録された他のデータ記録先からデータを読み出す。また、多重リードの禁止が指定されたときは、データ比較部１０５によるデータのコンペアが省略される。
【００６１】
上から２段目に示すセクタ数では、図４に示した複数のデータ記録先のうち左から何番目のデータであるかを示す多重番号が指定される。上から５段目に示すＬＢＡ（高）では、図３−１に示した多重指定コマンドと同様の方式により、リード指定時に用いられるヘッド／プラッタが指定される。
【００６２】
そして、多重化管理部１０４は、コマンド解析部１０１からこのリード指定コマンドを受領すると、そのリード指定コマンドからリード方式、多重番号、ヘッド／プラッタ指定の設定を抽出し、その設定を保持する。そして、多重化管理部１０４は、以降のデータリード処理ではその設定に基づいてデータリード先を１カ所決定し、リード処理部１０３に通知する。
【００６３】
このように、リード処理部１０３が、ホスト２から発行されたリード指定コマンドに基づいて、多重ライトされたデータの中からデータリード先を１カ所に限定することとしたので、データに誤りがある場合には妥当なデータをユーザの判断により選択させることができる。
【００６４】
次に、本実施例に係る磁気ディスク装置１におけるデータライト時の処理手順について説明する。図６は、多重指定コマンド受領時に多重化管理部１０４が実行する多重指定処理の処理手順を示すフローチャートである。同図に示すように、多重化管理部１０４は、コマンド解析部１０１から多重指定コマンドを受け取ると、コマンドレジスタ１５１のステータス値を「Ｄ０ｈ（ビジー）」に設定してビジー状態にする（ステップＳ１０１）。
【００６５】
そして、多重化管理部１０４は、コマンド解析部１０１を介してコマンドレジスタ１５１に格納された多重指定コマンドから、多重化方式、多重数、指定ヘッド／プラッタの設定を抽出し、その設定を保持する（ステップＳ１０２）。そして、以降のライトコマンドは、この多重化に関する各設定に基づいて多重ライトされる。
【００６６】
その後、多重化管理部１０４は、コマンドレジスタ１５１のエラーレジスタを「００ｈ」に設定して正常に多重指定コマンドが認識できたことを通知し（ステップＳ１０３）、さらにステータスを「５０ｈ（ドライブレディ）」に設定してホスト２へ次の制御コマンドを要求する（ステップＳ１０４）。
【００６７】
次に、リード／ライト制御部１００が実行するデータライト処理の処理手順について説明する。図７は、リード／ライト制御部１００が実行するデータライト処理の処理手順を示すフローチャートである。同図に示すように、リード／ライト制御部１００のライト処理部１０２は、コマンド解析部１０１からライトコマンドを受け取ると、コマンドレジスタ１５１のステータス値を「Ｄ０ｈ（ビジー）」に設定してビジー状態にする（ステップＳ２０１）。
【００６８】
そして、多重化管理部１０４は、多重化に関する設定の有無およびその設定内容に基づき、データライト先を決定し、そのデータライト先を示すデータ記録先をライト処理部１０２に通知する（ステップＳ２０２）。ここで、多重化管理部１０４がライト処理部１０２に通知するデータ記録先の数は、多重ライトが実行される場合は複数であり、多重ライトが実行されない場合は１カ所のみとなる。なお、このステップＳ２０２における処理の詳細については後述する。
【００６９】
データライト先が決定されると、ライト処理部１０２は、多重化管理部１０４から通知されたデータ記録先へとヘッドをシークするようＨＤＣ１１に指示する（ステップＳ２０３）。ただし、多重化管理部１０４から複数のデータ記録先がデータライト先として通知された場合は、最初に通知されたデータ記録先に対するヘッドのシークが指示される。
【００７０】
そして、データを書き込む準備が完了すると、ライト処理部１０２は、コマンドレジスタ１５１のステータスを「５８ｈ（データ要求）」にして割り込みを発生させてデータの転送をホスト２に要求する（ステップＳ２０４）。
【００７１】
そして、この転送要求に応答してホスト２が磁気ディスク装置１へデータを転送し、そのデータがバッファ１３に格納されると、ライト処理部１０２は、多重化管理部１０４により指定されたデータ記録先へデータを書き込むようＨＤＣ１１に指示し（ステップＳ２０５）、データの書き込みが正常に終了すると、ライト処理部１０２は、コマンドレジスタ１５１のステータスを「５０ｈ（ドライブレディ）」に設定する（ステップＳ２０６）。すなわち、ライト処理部１０２は、多重ライトするか否かにかかわらず、データの書き込みが一度成功した時点で次の制御コマンドをホスト２に要求することで、直ちに次の制御コマンドを受領できる状態にする。
【００７２】
その後、ライト処理部１０２は、全てのデータライト先に対するデータの書き込みが終了したか否かを判定し（ステップＳ２０７）、多重ライトがまだ終了していない場合は、次のデータを書き込むデータ記録先へとヘッドをシークさせるようＨＤＣ１１に指示し（ステップＳ２０８）、ステップＳ２０５で書き込んだデータと同一のデータを、そのデータ記録先に書き込む（ステップＳ２０９）。そして、データライトが完了すると再びステップＳ２０７に戻り、多重ライトが終了するまでステップＳ２０７〜ステップＳ２０９の処理を繰り返す。
【００７３】
そして、全てのデータライト先に対するデータの書き込みが終了すると、多重化管理部１０４は、そのデータに関するホスト指定開始ＬＢＡアドレスと、サイズと、多重化方式と、多重数と、データ記録先とを対応付けて多重化管理テーブル１７１に追加し（ステップＳ２１０）、データライト処理を終了する。
【００７４】
このように、ライト処理部１０２は、多重ライトを実行するか否かにかかわらず、データライトが一度成功した時点で次の制御コマンドをホスト２に要求することとしたので、多重ライトの実行に伴い発生する処理の遅延を抑制することができる。
【００７５】
次に、図７のステップＳ２０２で多重化管理部１０４が実行するデータライト先通知処理の処理手順について説明する。図８は、多重化管理部１０４が実行するデータライト先通知処理の処理手順を示すフローチャートである。同図に示すように、多重化管理部１０４は、ホスト２から多重指定コマンドを受領済であるか否かを判定する（ステップＳ３０１）。具体的には、図６に示した多重指定処理が実行され、多重化管理部１０４が多重化に関する設定を保持しているか否かを判定する。
【００７６】
その結果、多重指定コマンドを受領していない場合は、多重化管理部１０４は、通常通りの決定方式に基づいてデータライト先を１カ所決定し、そのデータライト先を示すデータ記録先をライト処理部１０２へ通知する（ステップＳ３０２）。
【００７７】
一方、多重指定コマンドを既に受領している場合は、多重化管理部１０４は、多重指定コマンドで指定された多重化方式が何であるかを判定する（ステップＳ３０３）。
【００７８】
ここで、指定された多重化方式がヘッド多重である場合は、多重化管理部１０４は、多重指定コマンドで指定されたヘッドから、それぞれ１カ所ずつデータ記録先を選択してデータライト先を決定する。また、指定された多重化方式がプラッタ多重である場合も同様に、多重化管理部１０４は、多重指定コマンドで指定されたプラッタから、それぞれ１カ所ずつデータ記録先を選択してデータライト先を決定する（ステップＳ３０４）。
【００７９】
また、指定された多重化方式がセクタ多重である場合は、多重化管理部１０４は、多重指定コマンドにおける指定多重数の数だけデータ記録先の開始セクタを選択し、データライト先を決定する（ステップＳ３０５）。
【００８０】
また、指定された多重化方式がシリンダ多重である場合は、多重化管理部１０４は、多重指定コマンドにおける指定多重数の数だけシリンダを選択し、そのシリンダの中から１カ所ずつデータ記録先を選択してデータライト先を決定する（ステップＳ３０６）。
【００８１】
そして、多重化管理部１０４は、ステップＳ３０４〜ステップＳ３０６のうちいずれかで決定された全てのデータライト先を示すデータ記録先をライト処理部１０２に通知し（ステップＳ３０７）、このデータライト先通知処理を終了する。
【００８２】
（具体例１：ヘッド多重）
ここで、図４および図８を参照して、多重ライト時に各データライト先を決定する際の２つの具体例について説明する。例えば、多重化方式としてヘッド多重を指定し、３つのヘッド「ＨＤ０」，「ＨＤ１」，「ＨＤ２」を用いて３多重でデータを多重ライトする場合は、多重指定コマンドにおいて、フィーチャにはヘッド多重を示す「０１」が、セクタ数には３多重を示す「０３」が、ＬＢＡ（高）にはヘッド「ＨＤ０」，「ＨＤ１」，および「ＨＤ２」を示す「０７」がそれぞれ設定され、これらの設定が多重化管理部１０４に保持される。
【００８３】
その後、ライトコマンドにおいて、ホスト指定開始ＬＢＡアドレスに「Ａ」が指定されると、多重化管理部１０４は図８に示したステップＳ３０４において、第０ヘッド「ＨＤ０」に対応するデータ記録先を「Ａ０」、第１ヘッド「ＨＤ１」に対応するデータ記録先を「Ａ１」、第２ヘッド「ＨＤ２」に対応するデータ記録先を「Ａ２」と決定し、この３カ所のデータ記録先をデータライト先としてライト処理部１０２に通知する。これにより、ライト処理部１０２は、同一データを３つのヘッド「ＨＤ０」，「ＨＤ１」，「ＨＤ２」を用いて書き込むことで、３多重により多重ライトする。
【００８４】
（具体例２：セクタ多重）
また他の例として、多重化方式としてセクタ多重を指定し、４多重でデータを多重ライトする場合は、多重指定コマンドにおいて、フィーチャにはセクタ多重を示す「０３」が、セクタ数には４多重を示す「０４」がそれぞれ設定され、これらの設定が多重化管理部１０４に保持される。なお、セクタ多重が指定された場合は、ＬＢＡ（高）の値は無視される。
【００８５】
その後、ライトコマンドにおいて、ホスト指定開始ＬＢＡアドレスに「Ｂ」が指定されると、多重化管理部１０４は図８に示したステップＳ３０５において、ホスト２が指定した開始ＬＢＡアドレス「Ｂ」に対応するトラックの中から４カ所のデータ記録先「Ｂ０」〜「Ｂ３」を決定し、この４カ所のデータ記録先をデータライト先としてライト処理部１０２に通知する。これにより、ライト処理部１０２は、同一のトラックに対して同一データを連続的に４回書き込むことで、４多重により多重ライトする。
【００８６】
ここで、セクタ多重の場合は、同一のトラックに対して多重ライトするので、この間はヘッドのディスク半径方向へのシークが発生しない。また、セクタ多重の場合は、同一のヘッドを用いて多重ライトするので、データの書き込みに用いるヘッドの切り替えも発生しない。したがって、セクタ多重による多重ライトに要する時間は、データライト先のプラッタを異ならせるプラッタ多重の場合や、データの書き込みに用いるヘッドを異ならせるヘッド多重、シリンダ多重の場合よりも短くなる。
【００８７】
このように、セクタ多重を指定した場合は、同一のトラックに対して多重ライトすることとしたので、データの多重ライトに要する時間を短縮し、多重化に伴うデータライト処理の遅延を抑制することができる。
【００８８】
次に、本実施例に係るリード／ライト制御部１００が実行するデータリード処理の処理手順について説明する。図９は、本実施例に係るリード／ライト制御部１００が実行するデータリード処理の処理手順を示すフローチャートである。同図に示すように、リード／ライト制御部１００のリード処理部１０３は、コマンド解析部１０１からリードコマンドを受け取ると、コマンドレジスタ１５１のステータス値を「Ｄ０ｈ（ビジー）」に設定してビジー状態にする（ステップＳ４０１）。
【００８９】
そして、多重化管理部１０４は、多重化管理テーブル１７１を検索し（ステップＳ４０２）、ホスト指定開始ＬＢＡアドレスに対応するデータ記録先に記録されたデータは、多重ライトされたデータであるか否かを判定する（ステップＳ４０３）。すなわち、多重化管理テーブル１７１における多重数が「１」であるか否かを判定する。
【００９０】
ここで、多重数が「１」である場合は、多重化管理部１０４は、その１カ所のデータ記録先をデータリード先としてリード処理部１０３に通知する（ステップＳ４０４）。そして、リード処理部１０３は、その１カ所のデータ記録先からデータを読み出してバッファ１３に格納するようＨＤＣ１１に指示する（ステップＳ４０５）。
【００９１】
その後、読み出されたデータがバッファ１３に格納されると、リード処理部１０３は、コマンドレジスタ１５１のステータスを「５８ｈ（データ要求）」に設定し、割り込みを発生させてデータをホスト２へ転送し（ステップＳ４０６）、データの転送が終了したらコマンドレジスタ１５１のステータスを「５０ｈ（ドライブレディ）」に設定して（ステップＳ４０７）、このデータリード処理を終了する。
【００９２】
一方、多重数が「１」ではない場合、すなわち読み出すデータが多重化されたデータである場合は、多重化管理部１０４はさらに、リード方式が指定されているか否かを判定する（ステップＳ４０８）。すなわち、多重化管理部１０４は、コマンド解析部１０１を介して事前にリード指定コマンドを受領しているか否かを判定する。
【００９３】
その結果、多重化管理部１０４が事前にリード指定コマンドを受領している場合は、多重化管理部１０４は、多重化管理テーブル１７１からリード指定コマンドで指定されたデータリード先指定番号に対応するデータ記録先を１カ所抽出し、その１カ所のデータ記録先をデータリード先としてリード処理部１０３に通知する（ステップＳ４０９）。その後、リード処理部１０３は、上述したステップＳ４０５〜ステップＳ４０７の処理を実行して、その指定された１カ所のデータリード先からのデータをホスト２に転送し、このデータリード処理を終了する。
【００９４】
一方、多重化管理部１０４が事前にリード指定コマンドを受領していない場合は、リード／ライト制御部１００はＨＤＣ１１に対してデータの多重リードを実行させる。すなわち、多重化管理部１０４は、多重化管理テーブル１７１を参照して、ホスト指定開始ＬＢＡアドレスと対応する全てのデータ記録先を決定し、それらのデータ記録先をデータリード先としてリード処理部１０３に通知する（ステップＳ４１０）。そして、リード処理部１０３は、多重化管理部１０４から通知された全てのデータ記録先からデータを読み出してバッファ１３に格納するようＨＤＣ１１に指示する（ステップＳ４１１）。
【００９５】
その後、全てのデータリード先からデータが読み出され、それらのデータがバッファ１３に格納されると、データ比較部１０５はその全てのデータに対してコンペアを実行し（ステップＳ４１２）、それらのデータが全て一致するか否かを判定する（ステップＳ４１３）。
【００９６】
ここで、多重リードされたデータが全て一致する場合は、リード処理部１０３は、コマンドレジスタ１５１のステータスを「５８ｈ（データ要求）」に設定し、そのデータを１多重分だけホスト２へ転送するようＨＤＣ１１に指示し（ステップＳ４１４）、データの転送が終了したらコマンドレジスタ１５１のステータスを「５０ｈ（ドライブレディ）」に設定して（ステップＳ４０７）、このデータリード処理を終了する。
【００９７】
一方、多重リードされたデータに不一致がある場合は、リード処理部１０３は、ホスト２に対してコンペアエラーを通知する（ステップＳ４１５）。このコンペアエラーの通知方法の一例としては、コマンドレジスタ１５１のステータスを「５１ｈ（エラー）」に設定するなどの方法がある。その後、リード処理部１０３はコマンドレジスタ１５１のステータスを「５０ｈ（ドライブレディ）」に設定して（ステップＳ４０７）、このデータリード処理を終了する。このような場合は、引き続きホスト２がリード指定コマンドを発行することで、多重化されたデータを個別に指定して読み出すことができる。
【００９８】
このように、リード処理部１０３が、多重ライトされた全ての記録先からデータを読み出させ、データ比較部１０５がその全てのデータに対してコンペアを実行し、その結果全てのデータが一致する場合にのみデータをホスト２に転送することとしたので、多重化して書き込まれたデータの誤りを容易に検出することができ、磁気ディスク装置１に記録されるデータの信頼性を高めることができる。
【００９９】
また、セクタ多重により多重化されている場合は、全ての多重化データは同一のトラックに記録されていることから、多重リードの際にヘッドのディスク半径方向へのシークが発生せず、またデータリードに用いるヘッドの切り替えも発生しない。このため、セクタ多重の場合は、データの多重リードに要する時間をも短縮することができ、多重化に伴うデータリード処理の遅延を抑制することができる。
【０１００】
次に、データリード処理の実行時にリードエラーが発生した後の処理手順について説明する。リードエラーが発生した後の処理手順としては、（１）データの多重リードが実行されている場合と、（２）多重ライトされたデータに対して多重リードの禁止が指定されている場合と、（３）その他の場合との３通りの場合に大別される。
【０１０１】
（１）データの多重リードが実行されている場合
データの多重リードが実行されている場合は、リードエラーはステップＳ４１１で発生する。このとき、リード処理部１０３は、ステップＳ４１０において多重化管理部１０４から複数のデータ記録先が通知されているので、リード処理部１０３はリードエラー発生後もそのまま他のデータ記録先に対してデータを読み出す指示を続行する。その後、データ比較部１０５はリードエラーが発生したデータリード先に対するデータを除外してコンペアを実行し（ステップＳ４１２）、その結果に基づいてステップＳ４１３以降の処理を実行する。また、リード処理部１０３は、多重化された全てのデータがリードエラーである場合に限り、アンコレクタブルエラーをホスト２に通知してこのデータリード処理を中止する。
【０１０２】
（２）多重ライトされたデータに対して多重リードの禁止が指定されている場合
多重ライトされたデータに対して多重リードの禁止が指定されている場合は、リードエラーはステップＳ４０５で発生する。このとき、リード処理部１０３は、多重化管理部１０４は多重化管理テーブル１７１を参照し、対応する多重化データの中からステップＳ４０９で選択されたデータ記録先以外の他のデータ記録先を再び選択し、そのデータ記録先を新たなデータリード先としてリード処理部１０３に通知する。そして、リード処理部１０３は、その新たに通知されたデータリード先に対するデータの読み出しをＨＤＣ１１に指示する。その結果、多重化管理テーブル１７１に記憶された全てのデータ記録先においてリードエラーが発生した場合は、リード処理部１０３がホスト２にリードエラーを通知してこのデータリード処理を中止するが、１カ所でも正常にデータが読み出せた場合はデータリード処理に復帰してステップＳ４０６以降の処理を実行する。なおこの場合は、バッファ１３に格納されるデータは１多重分のみであるので、データ比較部１０５によるリードデータのコンペアは実行されない。
【０１０３】
（３）その他の場合
上記の（１）にも（２）にも該当しない場合としては、リードデータが多重ライトされていない場合と、リード指定コマンドで多重リード禁止以外のリード方式が指定されている場合とがあり、どちらの場合もリードエラーはステップＳ４０５で発生する。このとき、多重化管理部１０４から通知されるデータ記録先は１カ所のみであるので、リード処理部１０３は、そのデータ記録先からのデータの読み出しを再びＨＤＣ１１に指示し、データリードを再実行する。その結果、リード処理部１０３により正常にデータが読み出せた場合は、データリード処理に復帰してステップＳ４０６以降の処理を実行する。一方、リード処理部１０３がデータリードの再実行を所定回数繰り返しても正常にデータを読み出せない場合は、ホスト２にリードエラーを通知してこのデータリード処理を中止する。
【０１０４】
このように、リード指定コマンドにより多重リードの禁止が指定されたときには、リード処理部１０３はリードエラーが発生しない限りデータの多重リードを実行せず、かつこのときはデータ比較部１０５によるリードデータのコンペアを省略するので、データの信頼性を確保しつつデータリードに要する時間を短縮することができる。
【０１０５】
上述してきたように、本実施例では、多重化管理部１０４が、ホスト２から指定された多重化に関する設定を保持し、リード／ライト制御部１００はその設定に基づいてデータを多重ライトすることとしたので、多重化の際の多重記録方式および多重数を任意に変更することができ、もって信頼性が高く多様なニーズに応えられる磁気ディスク装置を安価な構成により提供することができる。
【０１０６】
なお、多重化管理部１０４が保持する多重化に関する設定、およびリード指定に関する設定については、磁気ディスク装置１の停止時にはディスクドライブ２０のシステムエリアに記録し、起動時にはディスクドライブ２０から読み出して多重化管理部１０４が再び保持することとしてもよい。これにより、磁気ディスク装置１の停止後も、ホスト２から指定された多重化に関する設定、およびリード指定に関する設定を継続して保持することができる。
【０１０７】
また、リード／ライト制御部１００が実行するデータリード処理では、多重リード時にリードエラーが発生したときには、そのリードエラーが発生したデータリード先からのデータリードをスキップすることとしたが、リードエラーが発生したデータをリード／ライト制御部１００が修復する構成としてもよい。このような構成の場合、ライト処理部１０２が、そのリードエラーが発生したデータリード先に対し、正常にリードされてバッファ１３に格納された他のデータリード先のデータを書き込むことで、データを修復することができる。
【０１０８】
また、本実施例では、８つのヘッドと４つのプラッタを有する磁気ディスク装置について説明したが、本発明はこれに限定されるものではなく、ヘッドを１つしか有さない磁気ディスク装置についても同様に適用することができる。この場合、ヘッド多重およびプラッタ多重を指定することはできないものの、シリンダ多重またはセクタ多重を指定することでデータを多重化することは可能である。これにより、より安価な構成により信頼性の高い磁気ディスク装置を提供することができる。
【０１０９】
また、本実施例では、磁気ディスク装置について説明したが、本発明はこれに限定されるものではなく、例えば、ＣＤやＤＶＤ等の光ディスク装置など他のディスク装置にも同様に適用することができる。
【０１１０】
（付記１）データを多重化して記録するディスク装置であって、
データの多重記録方式と多重数とを受け付ける受付手段と、
前記受付手段により受け付けられた多重記録方式および多重数に基づいて、データを多重化して書き込む多重書込手段と、
を備えたことを特徴とするディスク装置。
【０１１１】
（付記２）前記多重書込手段により多重化して書き込まれた全てのデータを読み出し、全てのデータを比較し、比較した結果全てのデータが一致した場合のみ、該データを転送する多重読出手段
をさらに備えたことを特徴とする付記１に記載のディスク装置。
【０１１２】
（付記３）前記受付手段は、前記多重書込手段により多重化して書き込まれたデータを読み出す際の読出方法および読出先を指定する読出指定をさらに受け付け、
前記多重読出手段は、前記受付手段が読出指定を受け付けた場合は、該読出指定により指定されたデータのみを読み出すことを特徴とする付記１または２に記載のディスク装置。
【０１１３】
（付記４）前記受付手段は、前記多重記録方式として、同一のヘッドかつ同一のトラックを用いてデータを多重化して書き込むセクタ多重方式を受け付けることを特徴とする付記１〜３のいずれか一つに記載のディスク装置。
【０１１４】
（付記５）前記受付手段は、前記多重記録方式として、前記セクタ多重方式の他に、データの書き込みに用いるヘッドを互いに異ならせるヘッド多重方式、データが書き込まれるプラッタを互いに異ならせるプラッタ多重方式、データが書き込まれるシリンダ位置を互いに異ならせるシリンダ多重方式とを受け付けることを特徴とする付記４に記載のディスク装置。
【０１１５】
（付記６）前記多重書込手段は、１カ所のデータ書込先に対して正常にデータを書き込めた時点で、次の制御命令を要求することを特徴とする付記１〜５のいずれか一つに記載のディスク装置。
【０１１６】
（付記７）データを多重化して記録するディスク装置を制御するディスク制御方法であって、
データの多重記録方式と多重数とを受け付ける受付工程と、
前記受付工程により受け付けられた多重記録方式および多重数に基づいて、データを多重化して書き込む多重書込工程と、
を含んだことを特徴とするディスク制御方法。
【０１１７】
（付記８）前記多重書込工程により多重化して書き込まれた全てのデータを読み出し、全てのデータを比較し、比較した結果全てのデータが一致した場合のみ、該データを転送する多重読出工程
をさらに含んだことを特徴とする付記７に記載のディスク制御方法。
【０１１８】
（付記９）ディスク装置に対して所定のコマンドを発行するコマンド制御方法であって、
データの書き込みを実行させるライトコマンドを前記ディスク装置に発行する書込制御工程と、
データの多重記録方式と多重数とを含む多重化コマンドを前記ディスク装置に発行する多重化制御工程とを少なくとも有し、
前記ディスク装置は、前記書込制御工程により前記ライトコマンドを受領した際に、前記多重化制御工程により指定された前記多重記録方式および前記多重数に基づいて、データを多重化して書き込むことを特徴とするコマンド制御方法。
【０１１９】
（付記１０）ディスク装置に対して所定のコマンドを発行するコマンド制御プログラムであって、
データの書き込みを実行させるライトコマンドを前記ディスク装置に発行する書込制御手順と、
データの多重記録方式と多重数とを含む多重化コマンドを前記ディスク装置に発行する多重化制御手順とを少なくともコンピュータに実行させ、
前記ディスク装置は、前記書込制御手順により前記ライトコマンドを受領した際に、前記多重化制御手順により指定された前記多重記録方式および前記多重数に基づいて、データを多重化して書き込むことを特徴とするコマンド制御プログラム。
【産業上の利用可能性】
【０１２０】
以上のように、本発明に係るディスク装置、ディスク制御方法およびコマンド制御方法は、データの信頼性を安価な構成によって得たい場合に有用であり、特に、省スペース性や携帯性が重要視される小型の装置にディスク装置を組み込む際にデータの信頼性を得たい場合に適している。
【図面の簡単な説明】
【０１２１】
【図１】本実施例に係る磁気ディスク装置の構成を示すハードウェア構成図である。
【図２】リード／ライト制御部の構成を示す機能ブロック図である。
【図３−１】多重指定コマンドのフォーマットを示す図である。
【図３−２】多重指定コマンド受領時にコマンドレジスタが格納する値を示す図である。
【図４】多重化管理テーブルの一例を示す図である。
【図５】リード指定コマンドのフォーマットを示す図である。
【図６】多重指定コマンド受領時に多重化管理部が実行する多重指定処理の処理手順を示すフローチャートである。
【図７】リード／ライト制御部が実行するデータライト処理の処理手順を示すフローチャートである。
【図８】多重化管理部が実行するデータライト先通知処理の処理手順を示すフローチャートである。
【図９】本実施例に係るリード／ライト制御部が実行するデータリード処理の処理手順を示すフローチャートである。
【符号の説明】
【０１２２】
１    磁気ディスク装置
２    ホスト
１０    ＰＣＢＡ
１１    ＨＤＣ
１３    バッファ
１５    ＣＰＵ
１７    ＳＲＡＭ
２０    ディスクドライブ
１００    リード／ライト制御部
１０１    コマンド解析部
１０２    ライト処理部
１０３    リード処理部
１０４    多重化管理部
１０５    データ比較部
１５１    コマンドレジスタ
１７１    多重化管理テーブル
【図１】
2007193536.tif 000003
【図２】
2007193536.tif 000004
【図３−１】
2007193536.tif 000005
【図３−２】
2007193536.tif 000006
【図４】
2007193536.tif 000007
【図５】
2007193536.tif 000008
【図６】
2007193536.tif 000009
【図７】
2007193536.tif 000010
【図８】
2007193536.tif 000011
【図９】
2007193536.tif 000012