(57)【要約】【課題】ディスク記憶装置に最小限の回路を追加するだけで、当該ディスク記憶装置をホストが有する既存のメモリ用インタフェース回路と接続可能とする。【解決手段】ＨＤＤ１０は、汎用のパラレルインタフェースを適用するディスクコントロールユニット（ＨＤＣユニット）１１２を備える。ＨＤＣユニット１１２は、ホスト２０からアクセス可能な複数のレジスタを含む、レジスタファイル１１２ｂを備える。ＨＤＤ１０はまた、ＨＤＣユニット１１２とパラレルインタフェースを介して接続されるＩＯインタフェース回路１２を備える。ＩＯインタフェース回路１２は、ホスト２０のメモリ用インタフェース回路２１と接続可能であり、ＨＤＣユニット１１２との通信にはパラレルインタフェースのプロトコルを、メモリ用インタフェース回路２１との通信にはシリアルインタフェースのプロトコルを、それぞれ適用する。【選択図】      図１
2005332438.tif 000002
【特許請求の範囲】
【請求項１】
シリアルインタフェースを適用する入出力デバイスと接続するためのシリアルインタフェース回路として兼用可能なメモリ用インタフェース回路を備えたホストにより使用されるディスク記憶装置であって、
汎用のパラレルインタフェースを適用するディスク記憶装置が有する複数のレジスタと等価な、前記ホストからアクセス可能な複数のレジスタを含み、コマンドコード及び各種のパラメータを保持するのに用いられるレジスタファイルを備え、前記汎用のパラレルインタフェースを適用するディスクコントロールユニットと、
前記ディスクコントロールユニットとパラレルインタフェースを介して接続される入出力インタフェース回路であって、前記ホストの前記メモリ用インタフェース回路と接続可能であり、前記ディスクコントロールユニットとの通信には前記パラレルインタフェースのプロトコルを適用し、前記ホストの前記メモリ用インタフェース回路との通信には前記シリアルインタフェースのプロトコルを適用する入出力インタフェース回路とを具備し、
前記ディスクコントロールユニットは、前記ホストから当該ホストの前記メモリ用インタフェース回路を介して前記ディスク記憶装置に対してレジスタ操作コマンドの列が送出され、当該コマンドの列が前記入出力インタフェース回路から前記ディスクコントロールユニットに伝達された場合、前記レジスタファイルを対象に当該コマンドの列に従うレジスタ操作により、前記ホストからの指示及び当該指示の実行に必要なパラメータ群を受け取る主コントローラを備えることを特徴とするディスク記憶装置。
【請求項２】
前記ディスク記憶装置に固有のデバイス情報を保持するデバイス情報レジスタを更に具備し、
前記入出力インタフェース回路は、デバイス情報を読み出すためのデバイス情報リードコマンドが前記ホストから当該ホストの前記メモリ用インタフェース回路を介して与えられた場合、前記デバイス情報レジスタに保持されている前記デバイス情報を前記デバイス情報リードコマンドに対する応答として前記ホストの前記メモリ用インタフェース回路に返す
ことを特徴とする請求項１記載のディスク記憶装置。
【請求項３】
前記レジスタファイルに含まれる前記複数のレジスタの各々には、当該複数のレジスタに共通のオフセットアドレスと当該複数のレジスタの各々に固有の相対アドレスとで表されるアドレスが割り当てられており、
前記デバイス情報レジスタに保持されている前記デバイス情報は、前記オフセットアドレスを含む
ことを特徴とする請求項２記載のディスク記憶装置。
【請求項４】
前記レジスタファイルに含まれる前記複数のレジスタの各々に割り当てられるアドレスのうちの相対アドレスは、前記汎用のパラレルインタフェースを適用するディスク記憶装置が有する前記複数のレジスタの各々に割り当てられるアドレスのうちの相対アドレスに一致することを特徴とする請求項３記載のディスク記憶装置。
【請求項５】
前記レジスタファイルは、エラーの有無を示すエラービットを含むコマンド処理結果を保持するステータスレジスタ、及びエラーの詳細を表すエラー情報を保持するエラーレジスタを含むことを特徴とする請求項１記載のディスク記憶装置。
【請求項６】
シリアルインタフェースを適用する入出力デバイスと接続するためのシリアルインタフェース回路として兼用可能なメモリ用インタフェース回路を備えたホストに、汎用のパラレルインタフェースを適用するディスクコントロールユニットを備えたディスク記憶装置を接続するためのインタフェース接続方法であって、
前記ホストの主コントローラが前記メモリ用インタフェース回路を介して前記ディスク記憶装置にアクセスしようとする場合に、前記汎用のパラレルインタフェースに適合するレジスタ操作コマンドの列を生成するステップと、
前記ホストの前記主コントローラにより生成されたレジスタ操作コマンドの列を前記シリアルインタフェースのプロトコルに従って前記ホストの前記メモリ用インタフェース回路により前記デスク記憶装置に送出するステップと、
前記ホストの前記メモリ用インタフェース回路により前記ディスク記憶装置に送出されたレジスタ操作コマンドの列が当該ディスク記憶装置の入出力インタフェース回路により前記汎用のパラレルインタフェースのプロトコルに従って前記ディスクコントロールユニットに伝達された場合に、複数のレジスタを含み、コマンドコード及び各種のパラメータを保持するのに用いられるレジスタファイルを対象に当該コマンドの列に従うレジスタ操作を実行するステップと、
前記レジスタ操作によって前記レジスタファイルに保持された、前記ホストからの指示及び当該指示の実行に必要なパラメータ群に基づき、前記ホストからの指示を実行するステップと
を具備することを特徴とするインタフェース接続方法。
【請求項７】
前記ホストの前記メモリ用インタフェース回路を介して前記ホストと接続されるデバイスが有する、予め定められた特定アドレスが割り当てられたデバイス情報レジスタに保持されている、当該デバイスに固有のデバイス情報を、前記ホストの前記主コントローラにより読み込むステップと、
前記ホストの前記主コントローラにより読み込まれたデバイス情報に基づき、前記ホストと接続されるデバイスのタイプを判別するステップとを更に具備し、
前記判別するステップは、前記ホストの前記主コントローラにより読み込まれたデバイス情報により、前記ホストと接続されるデバイスが前記ディスク記憶装置であることが示されている場合、当該ディスク記憶装置が前記汎用のパラレルインタフェースを適用するディスク記憶装置であると認識するステップを含むことを特徴とする請求項６記載のインタフェース接続方法。
【請求項８】
前記レジスタファイルに含まれる前記複数のレジスタの各々には、当該複数のレジスタに共通のオフセットアドレスと当該複数のレジスタの各々に固有の相対アドレスとで表されるアドレスが割り当てられており、
前記デバイス情報レジスタに保持されている前記デバイス情報は、前記オフセットアドレスを含む
ことを特徴とする請求項７記載のインタフェース接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストと接続可能なディスク記憶装置に係り、特に、ＩＯシリアルインタフェースとして兼用可能な既存のメモリ用インタフェースを介してホストと接続するのに好適なディスク記憶装置及び同装置をホストと接続するためのインタフェース接続方法に関する。
【背景技術】
【０００２】
一般に、磁気ディスク装置（ＨＤＤ）に代表されるディスク記憶装置は、パーソナルコンピュータのような電子機器の記憶装置として利用される。このディスク記憶装置を利用する電子機器はホストと呼ばれる。従来、ホストとディスク記憶装置とは、ＡＴＡ（AT Attachment）インタフェースのような汎用のパラレルインタフェースを持つ（適用する）のが一般的であった。ディスク記憶装置は、レジスタ群を含むレジスタファイルを備えている。ホストは、このレジスタファイル内のレジスタ群をレジスタ操作コマンドを用いて操作することにより、レジスタファイルにコマンド（コマンドコード）と当該コマンドの実行に必要な各種のパラメータを書き込む、ホストは、このようなレジスタ操作により、つまりディスク記憶装置のレジスタ群にアクセスすることにより、コマンドの実行とデータの送受信を行う。
【０００３】
また最近は、ホストとディスク記憶装置との間のデータ転送（以下、ディスクＩＯと称する）を高速化するためのインタフェースとして、シリアルＡＴＡインタフェースと呼ばれるシリアルインタフェースが出現している。このシリアルＡＴＡインタフェース（シリアルインタフェース）は、従来のＡＴＡインタフェース（パラレルインタフェース）とは物理的仕様が異なる。したがって、ホストとディスク記憶装置とをシリアルＡＴＡインタフェースで接続するためには、ホスト及びディスク記憶装置の双方に、新たにシリアルＡＴＡインタフェース回路を備える必要がある。
【０００４】
また最近は、フラッシュメモリが搭載されたメモリカードが装着可能なカードスロットを備えたホストが増えている。この種のホストはメモリカードとの間でデータを高速にシリアル転送できる。そこで、このホストのカードスロットを利用することにより、メモリカードに代えて、大容量のディスク記憶装置（データ記録ドライブ）を当該ホストのメモリ用インタフェース回路と接続可能とするシステムが提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００３−６９９３１（段落０００４、００１５）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記したように、最近は、ホストのカードスロットを利用することにより、ディスク記憶装置を当該ホストのメモリ用インタフェース回路と接続可能とするシステムが提案されている。しかし、そのためには、当該ディスク記憶装置に、メモリカードのインタフェース規格に準拠した新たなシリアルインタフェース回路を備える必要がある。
【０００６】
本発明は上記事情を考慮してなされたものでその目的は、最小限の回路を追加するだけで、シリアルインタフェースを適用する入出力デバイスと接続するためのシリアルインタフェース回路として兼用可能なメモリ用インタフェース回路を介してホストと接続できるディスク記憶装置及び同装置をホストと接続するためのインタフェース接続方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の１つの観点によれば、シリアルインタフェースを適用する入出力デバイスと接続するためのシリアルインタフェース回路として兼用可能なメモリ用インタフェース回路を備えたホストにより使用されるディスク記憶装置が提供される。このディスク記憶装置は、汎用のパラレルインタフェースを適用するディスク記憶装置が有する複数のレジスタと等価な、上記ホストからアクセス可能な複数のレジスタを含み、コマンドコード及び各種のパラメータを保持するのに用いられるレジスタファイルを備え、上記汎用のパラレルインタフェースを適用するディスクコントロールユニットと、このディスクコントロールユニットとパラレルインタフェースを介して接続される入出力インタフェース回路であって、上記ホストの上記メモリ用インタフェース回路と接続可能であり、上記ディスクコントロールユニットとの通信には上記パラレルインタフェースのプロトコルを適用し、上記ホストの上記メモリ用インタフェース回路との通信には上記シリアルインタフェースのプロトコルを適用する入出力インタフェース回路とを具備する。また、上記ディスクコントロールユニットは、上記ホストから当該ホストの上記メモリ用インタフェース回路を介して上記ディスク記憶装置に対してレジスタ操作コマンドの列が送出され、当該コマンドの列が上記入出力インタフェース回路から上記ディスクコントロールユニットに伝達された場合、上記レジスタファイルを対象に当該コマンドの列に従うレジスタ操作により、上記ホストからの指示及び当該指示の実行に必要なパラメータ群を受け取る主コントローラを備える。
【０００８】
このような構成のディスク記憶装置においては、汎用のパラレルインタフェースを適用するディスクコントロールユニットとパラレルインタフェースを介して接続される入出力インタフェース回路を追加するだけで、ホストが有する既存のメモリ用インタフェース回路と接続することが可能となる。これによりホストは、メモリ用インタフェース回路を介して接続されるディスク記憶装置がパラレルインタフェースを適用するディスク記憶装置であるかの如く、レジスタ操作コマンドの列を用いて、当該ディスク記憶装置に対して、既存のメモリ用インタフェースを介して、動作の指示と、当該指示の実行に必要なパラメータ群を受け渡すことができる。
【０００９】
ここで、レジスタファイルに含まれる複数のレジスタの各々に割り当てられるアドレスを構成するオアセットアドレス及び相対アドレスのうちの相対アドレスを、汎用のパラレルインタフェースを適用する通常のディスク記憶装置が有する複数のレジスタの各々に割り当てられるアドレスのうちの相対アドレスに一致させるならば、ホスト及び上記１つの観点に係るディスク記憶装置の双方におけるディスク制御のためのプログラム（ディスク制御用プログラム）の変更を最小限に抑えることができる。
【発明の効果】
【００１０】
本発明によれば、ディスク記憶装置に最小限の回路（入出力インタフェース回路）を追加するだけで、既存のメモリ用インタフェース回路を介してホストと、シリアルインタフェースで接続することができる。これによりホストは、既存のメモリ用インタフェース回路を介して接続されるディスク記憶装置が、従来から一般的に用いられているパラレルインターフェースを持つディスク記憶装置であるかの如く、当該ディスク装置をレジスタ操作コマンドにより操作することができる。このため、ホストで動作するディスク制御用プログラムに、従来のパラレルインターフェースを持つディスク記憶装置用に設計されたプログラムを流用することができる。また、ホストとディスク記憶装置とを接続するインターフェースのシリアル化により、ホストとディスク記憶装置とをパラレルインタフェースにより接続する場合に比べて、データ転送の高速化を図ることもできる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を磁気ディスク装置に適用した一実施形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係る磁気ディスク装置（以下、ＨＤＤと称する）１０を備えたシステムの構成を示すブロック図である。同図において、ＨＤＤ１０は、例えばメモリカードと同様の形状のカード型ＨＤＤである。ここでは、ＨＤＤ１０は、０．８５インチ型ＨＤＤである。ＨＤＤ１０はホスト２０と接続して用いられる。
【００１２】
ホスト２０は、ＨＤＤ１０を記憶装置として利用する、パーソナルコンピュータ、携帯端末、または携帯電話機に代表される電子機器である。ホスト２０は、メモリ用インタフェース回路２１と、カードスロット２２と、主コントローラ２３とを備えている。
【００１３】
メモリ用インタフェース回路２１は、ホスト２０の主コントローラ２３とメモリカード、例えばＳＤ（Secure Digital）カードを接続可能とするためのメモリ用インタフェースを実現する。メモリ用インタフェース回路２１は、メモリ用インタフェースの電気的且つ機械的な仕様に合致したカードであれば、メモリカード以外のカード、例えばシリアルインタフェースを適用する入出力デバイス（ＩＯデバイス）が搭載されたＩＯカードとも接続可能である。つまりメモリ用インタフェース回路２１は、シリアルインタフェースを適用する入出力デバイスと接続するためのシリアルインタフェース回路（ＩＯシリアルインタフェース回路）として兼用することが可能である。ＨＤＤ（カード型ＨＤＤ）１０は、ＳＤＩＯカードに代表されるＩＯカードの１つである。
【００１４】
さて、メモリ用インタフェースを、シリアルインタフェース（ＩＯシリアルインタフェース）として兼用可能なホストとして、ＳＤメモリ用インタフェースを適用するカードスロットを、シリアル（ＳＤＩＯシリアル）インタフェースを適用するカードスロットとして兼用可能なホストが知られている。この種のカードスロットに接続可能なＩＯカード（ＩＯデバイス）は、一般にレジスタファイルを有している。ここで、ホストが、メモリ用インタフェースをシリアル（ＳＤＩＯシリアル）インタフェースとして用いるものとする。この場合、ホストは、シリアルインタフェースにより接続されるＩＯデバイスとの間のデータ転送を、ＩＯデバイス制御プログラムに従って、当該デバイス内のレジスタファイルを操作することで実行する。このように、ホストがシリアルインタフェースを用いてＩＯデバイスとの間でデータ転送を行う場合と、パラレルインタフェース（ＡＴＡインタフェース）を持つＨＤＤとの間でデータ転送を行う場合とは、レジスタファイルの操作が必要な点で共通する。本実施形態の特徴は、この共通性を利用することで、ホスト２０のメモリ用インタフェース、即ちシリアルインタフェース（ＩＯシリアルインタフェース）として兼用可能な既存のメモリ用インタフェースに、ＨＤＤ１０を接続可能とした点にある。
【００１５】
カードスロット２２は、メモリ用インタフェース（シリアルインタフェース）の電気的且つ機械的な仕様に合致したカード（メモリカードまたはＩＯカード）を、メモリ用インタフェース回路２１と接続可能なように装着するのに用いられる。ここでは、ＨＤＤ（カード型ＨＤＤ）１０がホスト２０のカードスロット２２に装着されるものとする。このカードスロット２２には、メモリ用インタフェースの電気的且つ機械的な仕様に合致し、ＩＯデバイスとインタフェースケーブルを介して接続されたコネクタも装着可能である。したがって、ＨＤＤ１０がカード型でなくても、インタフェースケーブルを介してカードコネクタに接続されているならば、当該ＨＤＤ１０をホスト２０のメモリ用インタフェース回路２１と接続することができる。なお、カードスロット２２は必ずしも必要ではない。例えば、ホスト２０が携帯電話機のような可搬型の小型の電子機器の場合に、ＨＤＤ１０がホスト２０の筐体内でメモリ用インタフェース回路２１とケーブルまたはプリント配線により接続される構成であっても構わない。
【００１６】
主コントローラ２３は、ホスト２０内の各部を制御すると共に、当該ホスト２０と接続される周辺機器を制御する。主コントローラ２３はメモリ用インタフェース回路２１を介してＨＤＤ１０と接続された場合、当該ＨＤＤ１０を汎用のパラレルインタフェース（ＡＴＡインタフェース）を持つＨＤＤであるとして、ＨＤＤ制御用プログラムに従って当該ＨＤＤ１０を制御する。
【００１７】
ＨＤＤ１０は、主ＨＤＤユニット１１と、入出力インタフェース回路（以下、ＩＯインタフェース回路と称する）１２と、コネクタ部１３とを備えている。主ＨＤＤユニット１１は、従来から知られている、パラレルインタフェース（例えば、ＡＴＡインタフェース）を用いてパラレルデータ転送を行うＨＤＤ（つまり、パラレルインタフェースを持つＨＤＤ）と等価である。主ＨＤＤユニット１１は、大別して、ハードディスクアセンブリユニット（以下、ＨＤＡユニットと称する）１１１と、ハードディスクコントロールユニット（以下、ＨＤＣユニットと称する）１１２とから構成される。
【００１８】
ＨＤＡユニット１１１は、主としてＨＤＤ１０の機構部分を備える。即ちＨＤＡユニット１１１は、ディスク１１１ａ（磁気ディスク）とヘッド（磁気ヘッド）１１１ｂと、アクチュエータ１１１ｃとを含む。ディスク１１１ａは、データを磁気記録するための記録媒体として用いられる。ヘッド１１１ｂは、ディスク１１１ａからのデータの読み出し及びディスク１１１ａへのデータの書き込みに用いられる。アクチュエータ１１１ｃは、ヘッド１１１ｂをディスク１１１ａの半径方向に移動可能に支持する。なお、ディスク１１１ａを回転させるスピンドルモータ、アクチュエータ１１１ｃの駆動源としてのボイスコイルモータ等は省略されている。
【００１９】
ＨＤＣユニット１１２は、汎用のパラレルインタフェースを適用する。このパラレルインタフェースは、例えばＨＤＤの分野で広く用いられているＡＴＡインタフェースである。ＨＤＣユニット１１２は、主としてＨＤＤ１０の電気回路部分を備える。即ちＨＤＣユニット１１２は、リード／ライトチャネル１１２ａと、レジスタファイル１１２ｂと、主コントローラ１１２ｃとを含む。リード／ライトチャネル１１２ａは信号処理デバイスであり、ヘッド１１１ｂによりディスク１１１ａから読み出されたリード信号のアナログ／ディジタル変換、ライトデータの符号化及びリードデータの復号化を含む各種の信号処理を実行する。レジスタファイル１１２ｂは、複数のレジスタの集合である。レジスタファイル１１２ｂは、ホスト２０がＨＤＤ１０を利用する際に、コマンド（コマンドコード）と当該コマンドの実行に必要な各種のパラメータを書き込むのに用いられる。パラレルインタフェース（ＡＴＡインタフェース）を適用する従来のＨＤＤも、レジスタファイル１１２ｂと等価なレジスタファイルを有している。この従来のＨＤＤが有するレジスタファイルが、ｍ個のレジスタＲ0’，Ｒ1’，…，Ｒm-1’から構成されるものとする。レジスタＲ0’のサイズは１６ビット（２バイト）であり、レジスタＲ1’，…，Ｒm-1’のサイズは８ビット（１バイト）である。
【００２０】
図２は、レジスタファイル１１２ｂの構成の一例を示す。図２の例では、レジスタファイル１１２ｂは、それぞれアドレスｎ，ｎ＋１，…，ｎ＋ｍ−１が割り当てられたｍ個のレジスタＲ0，Ｒ1，…，Ｒm-1から構成される。レジスタＲ0，Ｒ1，…，Ｒm-1の役割は、従来のＨＤＤが有するレジスタＲ0’，Ｒ1’，…，Ｒm-1’と等価である。レジスタＲ0のサイズはレジスタＲ0’と同様に１６ビット（２バイト）であり、レジスタＲ1，…，Ｒm-1のサイズはレジスタＲ0’，Ｒ1’，…，Ｒm-1’と同様に８ビット（１バイト）である。レジスタＲ0’，Ｒ1’，…，Ｒm-1’には、それぞれ固有のアドレスが割り当てられている。レジスタＲ0’のアドレスを基準とするレジスタＲ1’，…，Ｒm-1’の相対アドレスは、それぞれ１，…，ｍ−１である。本実施形態では、レジスタＲ0，Ｒ1，…，Ｒm-1に、それぞれアドレスｎ，ｎ＋１，…，ｎ＋ｍ−１が割り当てられている。このアドレス割り当てにより、レジスタＲ0のアドレスを基準とするレジスタＲ1，…，Ｒm-1の相対アドレスは、レジスタＲ0’のアドレスを基準とするレジスタＲ1’，…，Ｒm-1’の相対アドレスに一致させられる。この場合、主コントローラ１１２ｃは、レジスタＲ0のアドレスｎ、即ちオフセットアドレスｎを認識することにより、従来のＨＤＤと同様にしてレジスタＲ0，Ｒ1，…，Ｒm-1を扱うことができる。以下、レジスタＲ0乃至Ｒm-1のうちの主要なレジスタについて説明する。
【００２１】
レジスタＲ0は例えばデータレジスタであり、リード時にはリードデータを、ライト時にはライトデータを、それぞれ１６ビット（２バイト）単位で保持するのに用いられる。
【００２２】
レジスタＲ1はエラーレジスタであり、リード時またはライト時にエラーが発生した場合に、そのエラーの詳細情報（エラー情報）を保持するのに用いられる。レジスタＲ1の内容は、レジスタ（ステータスレジスタ）Ｒ8及びレジスタ（オルタネートステータスレジスタ）Ｒm-2にそれぞれ保持されるステータス中の後述するエラービットＥＲＲが“１”の場合に有効となる。レジスタＲ1は、ホスト２０からはリード専用のレジスタ（リードレジスタ）として認識される。
【００２３】
レジスタＲ2はセクタカウントレジスタであり、リードまたはライトすべきデータのセクタ（データセクタ）数を保持するのに用いられる。レジスタＲ3，Ｒ4，Ｒ5及びＲ6は、それぞれ第１、第２、第３及び第４目標論理ブロックアドレスレジスタ（ターゲットＬＢＡレジスタ）であり、リードもしくはライトの目標（ターゲット）となる先頭のセクタを示す例えば２８ビットの目標論理ブロックアドレス（ターゲットＬＢＡ）の、それぞれビット７乃至０（第１のターゲットＬＢＡ[7-0]）、ビット１５乃至８（第２のターゲットＬＢＡ[15-8]）、ビット２３乃至１６（第３のターゲットＬＢＡ[23-16]）、ビット２７乃至２４（第４のターゲットＬＢＡ[27-24]）を保持するのに用いられる。
【００２４】
レジスタＲ8は、ホスト２０から指定されたコマンドコードを保持するコマンドレジスタとして用いられる。コマンドレジスタＲ8は、ホスト２０からはライト専用のレジスタ（ライトレジスタ）として認識される。レジスタＲ8は、ホスト２０に通知すべきＨＤＤ１０の状態（ステータス）を保持するステータスレジスタとしても用いられる。ステータスレジスタＲ8は、ホスト２０からはリード専用のレジスタ（リードレジスタ）として認識される。ここでは、レジスタＲ8がコマンドレジスタとして用いられて当該レジスタＲ8にコマンドコードが書き込まれると、当該レジスタＲ8はステータスレジスタに切り替えられる。レジスタ（ステータスレジスタ）Ｒ8に保持されるステータスは、データリクエストビットＤＲＱ、ビジービットＢＳＹ及びエラービットＥＲＲを含む。ビットＤＲＱは、データ転送を伴うコマンドの実行時にデータ転送が可能であるか（ＤＲＱ＝１）否か（ＤＲＱ＝０）を示す。ビットＢＳＹは、ＨＤＤ１０が動作中であるか（ＢＳＹ＝１）否か（ＢＳＹ＝０）を示す。ビットＢＳＹは、コマンドコードがレジスタＲ8に書き込まれて、当該レジスタＲ8がステータスレジスタに切り替えられてから、当該コマンドコードの指示する動作が終了するまで、“１”となる。但し、データ転送を伴うコマンドに従うデータ転送の要求中（ＤＲＱ＝１）の場合には、ビットＢＳＹは“０”となる。レジスタＲ8の内容（ステータス）がリードされると、当該レジスタＲ8の内容はリセットされる。ビットＥＲＲは、ホスト２０から要求されたコマンドの処理でエラーが発生したか（ＥＲＲ＝１）否か（ＥＲＲ＝０）を示す。
【００２５】
レジスタＲm-2は、ステータスレジスタＲ8と同一のステータスを保持するオルタネート（Alternate）ステータスレジスタとして用いられる。ステータスレジスタＲ8との違いは、オルタネートステータスレジスタＲm-2の内容がリードされても、当該レジスタＲm-2の内容はリセットされない点である。オルタネートステータスレジスタＲm-2は、ホスト２０からはリードレジスタとして認識される。レジスタＲm-2は、ホスト２０からライトレジスタとして認識される、デバイスコントロールレジスタとしても用いられる。デバイスコントロールレジスタＲm-2は、ホスト２０からＨＤＤ１０のリセットと割り込み信号をコントロールするのに用いられる。
【００２６】
再び図１を参照すると、主コントローラ１１２ｃは、ホスト２０から当該ホスト２０のメモリ用インタフェース回路２１を介してＨＤＤ１０に対してレジスタ操作コマンドの列が送出され、当該コマンドの列がＩＯインタフェース回路１２からＨＤＣユニット１１２に伝達された場合、レジスタファイル１１２ｂを対象に当該コマンドの列に従うレジスタ操作を行う。主コントローラ１１２ｃは、このレジスタ操作により、ホスト２０からの指示及び当該指示の実行に必要なパラメータ群を受け取る。そして主コントローラ１１２ｃは、ホスト２０からの指示を、このパラメータ群を用いて実行する。
【００２７】
ＩＯインタフェース回路１２は、例えばＳＤＩＯインタフェース回路である。ＩＯインタフェース回路１２は、主ＨＤＤユニット１１のＨＤＣユニット１１２とパラレルインタフェースを介して接続される。またＩＯインタフェース回路１２は、ホスト２０のメモリ用インタフェース回路２１と接続可能である。ＩＯインタフェース回路１２は、ＨＤＣユニット１１２との通信にはパラレルインタフェースのプロトコルを適用し、ホスト２０のメモリ用インタフェース回路２１との通信にはシリアルインタフェースのプロトコルを適用する。ＩＯインタフェース回路１２は、ホスト２０からメモリ用インタフェース回路２１及びコネクタ部１３を介して転送されるシリアルデータをパラレルデータに変換するシリアル−パラレル変換機能を持つ。ＩＯインタフェース回路１２はまた、ＨＤＣユニット１１２から転送されるパラレルデータをシリアルデータに変換するパラレル−シリアル変換機能を持つ。
【００２８】
ＩＯインタフェース回路１２は、ＩＯインタフェース（ＳＤＩＯインタフェース）に特有のレジスタＲと接続されている。レジスタＲは、ＩＯインタフェース回路１２を含むデバイス（ここではＨＤＤ１０）の情報（デバイス情報）を予め保持するのに用いられる。このレジスタＲに保持されるデバイス情報は、対応するデバイス（ここではＨＤＤ）の種類と、レジスタファイル１１２ｂ内の各レジスタＲ0乃至Ｒm-1のオフセットアドレスｎ（先頭レジスタＲ0のアドレスｎ）とを含む。
【００２９】
次に、本実施形態の動作を、（１）ホスト２０のカードスロット２２を介してメモリ用インタフェース回路２１と接続されるデバイス（接続デバイス）の種類を判別する動作、（２）ホスト２０によるＨＤＤ１０からのデータ読み出しの場合の動作、及び、（３）ＨＤＤ１０へのデータ書き込みの場合の動作を例に、順次説明する。
【００３０】
（１）接続デバイスの種類の判別
まず、ホスト２０による接続デバイスの種類を判別する動作について、図３のフローチャートを参照して説明する。ホスト２０のカードスロット２２に装着されるデバイスのインタフェース回路（メモリ用インタフェースに適合するインタフェース回路）は、上記したＨＤＤ１０のＩＯインタフェース回路１２のように、当該デバイスのデバイス情報を保持するデバイス情報レジスタＲと接続されている。このレジスタＲのアドレスは、メモリ用インタフェースに適合するインタフェース回路を備えたデバイスであれば、デバイスの種類に無関係に共通である。また、メモリ用インタフェースはコマンド（ＣＭＤ）線を有している。ホスト２０の主コントローラ２３は、メモリ用インタフェース回路２１と接続されるデバイス内の各レジスタを、当該メモリ用インタフェース回路２１によりＣＭＤ線を介して操作することが可能なように構成されている。そこで主コントローラ２３は、起動時に、メモリ用インタフェース回路２１と接続されるデバイス内のデバイス情報レジスタＲの内容（デバイス情報）を読み出すためのレジスタ操作コマンド（デバイス情報リードコマンド）を生成する（ステップＳ１１）。このコマンドは、レジスタ読み出しのためのコマンドコードと、読み出しの対象となるデバイス情報レジスタＲを識別するための情報、例えばアドレス（レジスタアドレス）とを含む。このレジスタアドレスには、レジスタＲに割り当てられた、ホスト２０の入出力空間（ＩＯ空間）におけるアドレス（ＩＯアドレス）が用いられる。主コントローラ２３により生成されたデバイス情報リードコマンドは、メモリ用インタフェース回路２１にパラレル転送で送出される。
【００３１】
ホスト２０のメモリ用インタフェース回路２１は、主コントローラ２３からパラレル転送されたレジスタ操作コマンド（デバイス情報リードコマンド）を、シリアルデータ（シリアルのレジスタ操作コマンド）に変換する。メモリ用インタフェース回路２１は、このシリアルのレジスタ操作コマンドを、カードスロット２２に装着されたデバイス（ここではＨＤＤ１０）に、メモリ用インタフェース（シリアルインタフェース）のプロトコルに従って転送する（ステップＳ１２）。メモリ用インタフェース（シリアルインタフェース）では、このコマンドの転送に上記ＣＭＤ（コマンド）線が用いられる。
【００３２】
カードスロット２２に装着されたデバイスは、ＣＭＤ線を介して転送されたレジスタ操作コマンド（デバイス情報リードコマンド）に従ってデバイス情報レジスタＲに保持されているデバイス情報を読み出す。カードスロット２２に装着されたデバイスがＨＤＤ１０である本実施形態では、当該ＨＤＤ１０のデバイス情報がＩＯインタフェース回路１２によってレジスタＲから読み出される（ステップＳ２１）。このデバイス情報は、ＩＯインタフェース回路１２によりシリアルデータに変換され、レジスタ操作コマンド（デバイス情報リードコマンド）に対する応答として、ＣＭＤ線を介してホスト２０に転送される（ステップＳ２２）。このデバイス情報は、ホスト２０内のメモリ用インタフェース回路２１によりパラレルデータに変換されて主コントローラ２３に送出され、当該主コントローラ２３により受信される。
【００３３】
主コントローラ２３は、デバイス情報を受信すると、当該デバイス情報に基づき、カードスロット２２に装着されたデバイス、つまりメモリ用インタフェース回路２１と接続されているデバイスを認識する（ステップＳ１３）。そして主コントローラ２３は、認識されたデバイスがＨＤＤ（ＨＤＤ１０）であるかを判定する（ステップＳ１４）。主コントローラ２３は、認識されたデバイスがＨＤＤ（ＨＤＤ１０）である場合、上記デバイス情報から、ＨＤＤ（ＨＤＤ１０）のレジスタファイル１１２ｂに含まれている先頭のレジスタＲ0のアドレスｎ、つまりレジスタファイル１１２ｂに含まれている各レジスタＲ0乃至Ｒm-1に共通のオフセットアドレスｎを認識する（ステップＳ１５）。以後、主コントローラ２３は、ＨＤＤ用の制御プログラムに従い、ＨＤＤ１０をパラレルインタフェース（ＡＴＡインタフェース）を持つＨＤＤとして扱う（認識する）。即ち主コントローラ２３は、ＨＤＤ１０内のレジスタファイル１１２ｂを操作することで、当該ＨＤＤ１０との間のデータ転送を実現する。
【００３４】
（２）ＨＤＤ１０からのデータ読み出し
次に、ホスト２０によるＨＤＤ１０からのデータ読み出し時の動作について図４Ａ、図４Ｂ及び図４Ｃのフローチャートを参照して説明する。
【００３５】
ホスト２０の主コントローラ２３は、ＨＤＤ１０がパラレルインタフェース（ＡＴＡインタフェース）を有しているものとして、次のように機能する。まず主コントローラ２３は、ＨＤＤ１０内のＨＤＣユニット１１２が有するレジスタファイル１１２ｂのレジスタＲ2にセクタ数を書き込むためのレジスタ操作コマンド（セクタカウントレジスタライトコマンド）を生成する（ステップＳ１０１）。このコマンドはパラレルインタフェース（ＡＴＡインタフェース）の規格に準拠しており、上記したデバイス情報リードコマンドと同様に、レジスタ操作のためのコマンドコード（レジスタ操作コード）と、レジスタ操作の対象となるレジスタに割り当てられたＩＯ空間におけるアドレス（レジスタアドレス）と、当該レジスタに書き込むべき（設定すべき）パラメータとを含む。この例のように、レジスタ操作コマンドがセクタカウントレジスタライトコマンドの場合、レジスタアドレスはセクタカウントレジスタＲ2を指定し、パラメータはセクタ数を表している。主コントローラ２３により生成されたセクタカウントレジスタライトコマンドは、メモリ用インタフェース回路２１にパラレル転送で送出される。
【００３６】
ホスト２０のメモリ用インタフェース回路２１は、主コントローラ２３からパラレル転送されたレジスタ操作コマンド（セクタカウントレジスタライトコマンド）をシリアルデータ（シリアルのレジスタ操作コマンド）に変換する。メモリ用インタフェース回路２１は、このシリアルのレジスタ操作コマンドを、メモリ用インタフェース（シリアルインタフェース）のプロトコルに従い、カードスロット２２を介してＨＤＤ１０に転送する（ステップＳ１０２）。前記したように、メモリ用インタフェースでは、このコマンドの転送にＣＭＤ線が用いられる。
【００３７】
ＨＤＤ１０内のＩＯインタフェース回路１２は、ＣＭＤ線を介して転送されるシリアルのレジスタ操作コマンドを受信すると、当該コマンドをパラレルのレジスタ操作コマンドに変換する。ＩＯインタフェース回路１２は、このパラレルのレジスタ操作コマンドを、パラレルインタフェースのプロトコルに従って、主ＨＤＤユニット１１内の主コントローラ１１２ｃに送出する。
【００３８】
主コントローラ１１２ｃは、ホスト２０の主コントローラ２３により送出されたレジスタ操作コマンドをＩＯインタフェース回路１２から受信する。主コントローラ１１２ｃからは、ＩＯインタフェース回路１２がパラレルインタフェース（ＡＴＡインタフェース）を適用するホストであるかのように認識される。そこで主コントローラ１１２ｃは、ＩＯインタフェース回路１２からレジスタ操作コマンドを受信すると、当該レジスタ操作コマンドに従うレジスタ操作を行う（ステップＳ２０１）。即ち主コントローラ１１２ｃは、レジスタ操作コマンドに含まれているレジスタアドレスで指定される、レジスタファイル１１２ｂ内のレジスタに、当該コマンドに含まれているパラメータを書き込むための、パラレルインタフェース（ＡＴＡインタフェース）に固有のレジスタ操作を行う。ここで実行されるレジスタ操作コマンドはセクタカウントレジスタライトコマンドであり、セクタカウントレジスタＲ2を指定するレジスタアドレスと、セクタ数を表すパラメータとを含む。したがって上記ステップＳ２０１では、レジスタ操作コマンド（セクタカウントレジスタライトコマンド）の実行により、レジスタファイル１１２ｂ内のセクタカウントレジスタＲ2にセクタ数が書き込まれる。
【００３９】
以下同様にして、ホスト２０の主コントローラ２３では、第１のターゲットＬＢＡ[7-0]を第１のターゲットＬＢＡレジスタＲ3に書き込むためのレジスタ操作コマンド（第１のターゲットＬＢＡレジスタライトコマンド）、第２のターゲットＬＢＡ[15-8]をレジスタＲ4に書き込むためのレジスタ操作コマンド（第２のターゲットＬＢＡレジスタライトコマンド）、第３のターゲットＬＢＡ[23-16]をレジスタＲ5に書き込むためのレジスタ操作コマンド（第３のターゲットＬＢＡレジスタライトコマンド）、及び第４のターゲットＬＢＡ[27-24]をレジスタＲ6に書き込むためのレジスタ操作コマンド（第４のターゲットＬＢＡレジスタライトコマンド）が、順に生成される（ステップＳ１０３，Ｓ１０５，Ｓ１０７，Ｓ１０９）。これら第１、第２、第３及び第４のターゲットＬＢＡレジスタライトコマンドは、それぞれ、ターゲットＬＢＡレジスタＲ3，Ｒ4，Ｒ5及びＲ6を指定するレジスタアドレスと、ターゲットＬＢＡ[7-0]，[15-8]，[23-16]及び[27-24]を表すパラメータとを含む。第１、第２、第３及び第４のターゲットＬＢＡレジスタライトコマンドは、順次メモリ用インタフェース回路２１によりシリアルのレジスタ操作コマンドに変換されてＨＤＤ１０に転送される（ステップＳ１０４，Ｓ１０６，Ｓ１０８，Ｓ１１０）。
【００４０】
ＨＤＤ１０の主コントローラ１１２ｃは、当該ＨＤＤ１０に転送された第１、第２、第３及び第４のターゲットＬＢＡレジスタライトコマンドを、ＨＤＤ１０のＩＯインタフェース回路１２から順次受信する。すると主コントローラ１１２ｃは、第１、第２、第３及び第４のターゲットＬＢＡレジスタライトコマンド（レジスタ操作コマンド）に従い、ターゲットＬＢＡ[7-0]，[15-8]，[23-16]及び[27-24]を、それぞれレジスタＲ3，Ｒ4，Ｒ5及びＲ6に順次書き込む（ステップＳ２０２，Ｓ２０３，Ｓ２０４，Ｓ２０５）。これにより、２８ビットのターゲットＬＢＡ[27-0]が、レジスタＲ3，Ｒ4，Ｒ5及びＲ6に分散して格納される。
【００４１】
次に、ホスト２０の主コントローラ２３は、ＨＤＤ１０に実行させるべきコマンドコード（例えばリードを指示するコマンドコード）をレジスタＲ8に書き込むためのレジスタ操作コマンド（コマンドレジスタライトコマンド）を生成する（ステップＳ１１１）。このコマンドレジスタライトコマンドは、コマンドレジスタＲ8を指定するレジスタアドレスと、コマンドコードとを含む。このコマンドコードは、先の第１、第２、第３及び第４のターゲットＬＢＡレジスタライトコマンドに応じてＨＤＤ１０のレジスタファイル１１２ｂに書き込まれたパラメータに従ってＨＤＤ１０に実行させるべきコマンドコードである。ここでは、このコマンドコードは、リードを指示するコマンドコードである。コマンドレジスタライトコマンドは、メモリ用インタフェース回路２１によりシリアルのレジスタ操作コマンドに変換されて、ＨＤＤ１０に転送される（ステップＳ１１２）。
【００４２】
ＨＤＤ１０の主コントローラ１１２ｃは、当該ＨＤＤ１０に転送されたコマンドレジスタライトコマンドを、ＨＤＤ１０のＩＯインタフェース回路１２から受信する。すると主コントローラ１１２ｃは、このコマンドレジスタライトコマンドに従い、当該コマンドに含まれているコマンドコード（ここでは、リードを指示するコマンドコード）をコマンドレジスタＲ8に書き込む（ステップＳ２０６）。これにより主コントローラ１１２ｃは、ホスト２０からＨＤＤ１０にコマンドが発行されたとして、コマンドレジスタＲ8に書き込まれたコマンドコードに従う動作、つまりホスト２０から要求された動作を開始する（ステップＳ２０７）。ここでは、レジスタＲ3，Ｒ4，Ｒ5及びＲ6に分散して格納されたターゲットＬＢＡ[27-0]で指定されるディスク１１１ａ上の位置から、レジスタＲ2によって示されるセクタ数だけデータを読み出すデータリード動作が開始される。
【００４３】
このように本実施形態においては、ホスト２０は、当該ホスト２０とＨＤＤ１０とがパラレルインタフェース（ＡＴＡインタフェース）により接続されている場合と同様の手順で、当該ＨＤＤ１０にコマンドを発行して、当該コマンドを実行させることができる。このため、ホスト２０で動作する（主コントローラ２３により実行される）ディスク制御用プログラムに、従来のパラレルインターフェースを持つＨＤＤ用に設計されたプログラムを流用することができる。また、ディスク制御用プログラムを新たに設計する場合においても、従来のパラレルインターフェースを持つＨＤＤ用に設計する手法を踏襲できるため、プログラム作成者にとって設計が容易になる。
【００４４】
ＨＤＤ１０の主コントローラ１１２ｃは、コマンドレジスタＲ8に書き込まれたコマンドコードに従う動作を開始すると、当該コマンドレジスタＲ8をステータスレジスタＲ8に切り替える。そして主コントローラ１１２ｃは、ステータスレジスタＲ8及びオルタネートステータスレジスタＲm-2に、それぞれＢＳＹ＝１のビジービットＢＳＹを含むステータスを書き込む。また主コントローラ１１２ｃは、データリード動作の結果、データレジスタＲ0にリードデータが格納されると、即ちデータ転送が可能になると、ステータスレジスタＲ8及びオルタネートステータスレジスタＲm-2にそれぞれ保持されているステータス中のビジービットＢＳＹを“０”に、データリクエストビットＤＲＱを“１”に書き換える。
【００４５】
ホスト２０の主コントローラ２３は、コマンドレジスタライトコマンドをＨＤＤ１０に実行させると、オルタネートステータスレジスタＲm-2に保持されているステータスを読み出すためのレジスタ操作コマンド（オルタネートステータスレジスタリードコマンド）を生成する（ステップＳ１１３）。このオルタネートステータスレジスタリードコマンドは、メモリ用インタフェース回路２１によりシリアルのレジスタ操作コマンドに変換されて、ＨＤＤ１０に転送される（ステップＳ１１４）。
【００４６】
ＨＤＤ１０の主コントローラ１１２ｃは、当該ＨＤＤ１０に転送されたオルタネートステータスレジスタリードコマンドを、ＨＤＤ１０のＩＯインタフェース回路１２から受信する。すると主コントローラ１１２ｃは、このオルタネートステータスレジスタリードコマンドに従い、オルタネートステータスレジスタＲm-2に保持されているステータスを読み出す（ステップＳ２０８）。このレジスタＲm-2から読み出されたステータスは、主コントローラ１１２ｃからＩＯインタフェース回路１２に送出される。ＩＯインタフェース回路１２は、レジスタＲm-2から読み出されたステータスをシリアルのステータスに変換し、当該シリアルのステータスをシリアルインタフェースのプロトコルに従ってホスト２０に返す（ステップＳ２０９）。
【００４７】
ホスト２０の主コントローラ２３は、ＨＤＤ１０から返されたステータス中のビットＢＳＹ及びＤＲＱを参照し、ＢＳＹ＝０で且つＤＲＱ＝１であるか否かを判定する（ステップＳ１１５）。主コントローラ２３は、ＢＳＹ＝０で且つＤＲＱ＝１であることを確認できるまで（ステップＳ１１５）、即ちＨＤＤ１０に対して要求したデータの転送が可能となるまで、ステップＳ１１３を繰り返す。主コントローラ２３は、ＢＳＹ＝０で且つＤＲＱ＝１であることを確認すると、ステータスレジスタＲ8から最新のステータスを読み出すためのレジスタ操作コマンド（ステータスレジスタリードコマンド）を生成する（ステップＳ１１６）。このステータスレジスタリードコマンドは、ＨＤＤ１０にシリアル転送される（ステップＳ１１７）。これによりＨＤＤ１０では、上記オルタネートステータスレジスタリードコマンドの場合と同様にして、ステータスレジスタＲ8に保持されているステータスが読み出される（ステップＳ２１０）。このステータスは、ＩＯインタフェース回路１２によってシリアルのステータスに変換されて、ホスト２０に返される（ステップＳ２１１）。これによりホスト２０の主コントローラ２３は、コマンドレジスタライトコマンドに応じてＨＤＤ１０内のレジスタＲ8に書き込まれたリードコマンドに対する、ＨＤＤ１０における実行結果を表すステータスを取得する。このように本実施形態においては、ホスト２０は、当該ホスト２０とＨＤＤ１０とがパラレルインタフェース（ＡＴＡインタフェース）により接続されている場合と同様の手順で、当該ＨＤＤ１０におけるコマンドの実行結果を取得することができる。
【００４８】
次に主コントローラ２３は、データレジスタＲ0からデータを読み出すためのレジスタ操作コマンド（データレジスタリードコマンド）を生成する（ステップＳ１１８）。このデータレジスタリードコマンドは、ＨＤＤ１０にシリアル転送される（ステップＳ１１９）。これによりＨＤＤ１０では、データレジスタＲ0に保持されているリードデータを読み出して、ＩＯインタフェース回路１２を介してホスト２０にシリアル転送する動作と、後続のリードデータを当該データレジスタＲ0に書き込む動作とが繰り返される（ステップＳ２１２）。この繰り返しは、ホスト２０から要求されたデータを全て転送し終えるまで続けられる。
【００４９】
このように本実施形態においては、ホスト２０とＨＤＤ１０とを接続するインターフェースのシリアル化により、ホスト２０とＨＤＤ１０との間のデータ転送がシリアル転送により行われる。これにより、ホストとＨＤＤとをパラレルインタフェースにより接続する場合に比べて、データ転送の高速化を図ることができる。
【００５０】
一方、ホスト２０の主コントローラ２３は、要求された全てのデータがＨＤＤ１０から転送されると（ステップＳ１２０）、再びオルタネートステータスレジスタリードコマンドを生成する（ステップＳ１２１）。このオルタネートステータスレジスタリードコマンドは、メモリ用インタフェース回路２１によりシリアルのレジスタ操作コマンドに変換されて、ＨＤＤ１０に転送される（ステップＳ１２２）。これによりＨＤＤ１０では、オルタネートステータスレジスタＲm-2に保持されているステータスが読み出される（ステップＳ２１３）。レジスタＲm-2から読み出されたステータスはホスト２０に返される（ステップＳ２１４）。
【００５１】
ホスト２０の主コントローラ２３は、ＨＤＤ１０から返されたステータス中のビットＢＳＹ及びＤＲＱを参照し、ＢＳＹ＝０で且つＤＲＱ＝０であるか否かを判定する（ステップＳ１２３）。主コントローラ２３は、ＨＤＤ１０がＢＳＹ＝０で且つＤＲＱ＝０の状態になったことを確認できるまで（ステップＳ１２３）、即ちＨＤＤ１０に対して要求したデータの転送が完了するまで、上記ステップＳ１２１を繰り返す。主コントローラ２３は、ＢＳＹ＝０で且つＤＲＱ＝０であることを確認すると、再びステータスレジスタＲ8から最新のステータスを読み出すためのレジスタ操作コマンド（ステータスレジスタリードコマンド）を生成する（ステップＳ１２４）。このステータスレジスタリードコマンドは、ＨＤＤ１０にシリアル転送される（ステップＳ１２５）。これによりＨＤＤ１０では、ステータスレジスタＲ8から最新のステータスが読み出される（ステップＳ２１５）。このステータスは、ＩＯインタフェース回路１２によってシリアルのステータスに変換されて、ホスト２０に返される（ステップＳ２１６）。これによりホスト２０の主コントローラ２３は、ＨＤＤ１０からのデータリードの最終の実行結果を表すステータスを取得することができる。
【００５２】
もし、このステータス中のエラービットＥＲＲがエラーを示している場合（ＥＲＲ＝１）、ホスト２０の主コントローラ２３は、エラーレジスタＲ1からエラー情報を読み出すためのレジスタ操作コマンド（エラーレジスタリードコマンド）を生成して、メモリ用インタフェース回路２１によりＨＤＤ１０に転送させる。これによりＨＤＤ１０では、エラーレジスタＲ1に保持されているエラー情報が読み出される。エラーレジスタＲ1から読み出されたエラー情報はホスト２０に返される。これによりホスト２０の主コントローラ２３は、ＨＤＤ１０におけるコマンドの実行で発生したエラーの詳細を示すエラー情報を、ホスト２０とＨＤＤ１０とがパラレルインタフェース（ＡＴＡインタフェース）により接続されている場合と同様の手順で取得することができる。
【００５３】
（３）ＨＤＤ１０へのデータ書き込み
次に、ホスト２０によるＨＤＤ１０へのデータ書き込み時の動作について、簡単に説明する。ホスト２０によるＨＤＤ１０へのデータ書き込みは、上述のデータ読み出しと同様の手順、即ち図４Ａ乃至４Ｃのフローチャートと同様の処理手順により行われる。データ書き込みがデータ読み出しと相異するのは、図４Ｂのフローチャート中のステップＳ１１８に相当する処理である。即ち、ステップＳ１１８では、ホスト２０からＨＤＤ１０に対して、データレジスタＲ0からデータ（リードデータ）を読み出す（取り出す）ためのレジスタ操作コマンド（データレジスタリードコマンド）が送られる。これに対し、データ書き込みの場合には、ステップＳ１１８に相当する処理で、データレジスタＲ0にデータ（ライトデータ）を書き込む（転送する）ためのレジスタ操作コマンド（データレジスタライトコマンド）が送られる。この場合、ホスト２０からＨＤＤ１０に対し、レジスタＲ2に設定されたセクタ数で指定されるサイズのデータ（ライトデータ）が転送される。このライトデータは、ＨＤＤ１０内の主ＨＤＤユニット１１に設けられたライトバッファ（図示せず）に、データレジスタＲ0を介して２バイト単位で格納される。このライトバッファに格納されたライトデータは、１セクタ（例えば５１２バイト）単位で、レジスタＲ3，Ｒ4，Ｒ5及びＲ6に分散して格納されたターゲットＬＢＡ[27-0]で指定されるディスク１１１ａ上の位置から書き込まれる。
【００５４】
上記実施形態では、ＨＤＤ（磁気ディスクドライブ）を備えたシステムが示されている。しかし本発明は、汎用のパラレルインタフェースを適用するディスクコントロールユニットが搭載されたディスク記憶装置を備えたシステムであれば、光ディスクドライブ、光磁気ディスクドライブなどＨＤＤ以外のディスク記憶装置を備えたシステムであっても適用可能である。
【００５５】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施形態に係る磁気ディスク装置（ＨＤＤ）を備えたシステムの構成を示すブロック図。
【図２】図１中のレジスタファイル１１２ｂの構成の一例を示す図。
【図３】同実施形態で適用される接続デバイスの種類を判別する処理の手順を示すフローチャート。
【図４Ａ】同実施形態で適用されるＨＤＤ１０からのデータ読み出しの処理手順を示すフローチャート。
【図４Ｂ】同実施形態で適用されるＨＤＤ１０からのデータ読み出しの処理手順を示すフローチャート。
【図４Ｃ】同実施形態で適用されるＨＤＤ１０からのデータ読み出しの処理手順を示すフローチャート。
【符号の説明】
【００５７】
１０…ＨＤＤ（磁気ディスク装置、ディスク記憶装置）、１１…主ＨＤＤユニット、１２…ＩＯインタフェース回路（入出力インタフェース回路）、１３…コネクタ部、２０…ホスト、２１…メモリ用インタフェース回路、２２…カードスロット、２３…主コントローラ、１１１…ＨＤＡユニット、１１１ａ…ディスク、１１２…ＨＤＣ（ハードディスクコントロール）ユニット（ディスクコントロールユニット）、１１２ｂ…レジスタファイル、１１２ｃ…主コントローラ、Ｒ…デバイス情報レジスタ，Ｒ0，Ｒ1，…，Ｒm-1…レジスタ。
【図１】
2005332438.tif 000003
【図２】
2005332438.tif 000004
【図３】
2005332438.tif 000005
【図４Ａ】
2005332438.tif 000006
【図４Ｂ】
2005332438.tif 000007
【図４Ｃ】
2005332438.tif 000008