(57)【要約】【課題】ホストデバイスからＲＡＩＤを構成するストレージデバイスへのアクセスの自由度を向上させることのできるＲＡＩＤコントローラを提供する。【解決手段】このＲＡＩＤコントローラは、ホストデバイスを接続可能な第１のシリアルＡＴＡインタフェースと、ＡＴＡコマンドを実行可能なストレージデバイスを接続可能な複数のポートを有する第２のシリアルＡＴＡインタフェースと、第１のシリアルＡＴＡインタフェースによってホストデバイスより取得したＡＴＡコマンドの種別に対して、パラメータが書き込まれる制御レジスタ群の中でＡＴＡの規格上未使用とされた所定の制御レジスタに有意な値が書き込まれているとき、この値を当該ＡＴＡコマンドを実行させるストレージデバイスが接続されたポートを指定するためのポート情報としてみなし、このポート情報により指定されたポートを通じてストレージデバイスにＡＴＡコマンドを転送するように第２のシリアルＡＴＡインタフェースを制御する制御部とを具備する。【選択図】図２
2014137783.tif 000002
【特許請求の範囲】
【請求項１】
ホストデバイスを接続可能な第１のシリアルインタフェースと、
コマンドを実行可能なストレージデバイスを接続可能な複数のポートを有する第２のシリアルインタフェースと、
前記第１のシリアルインタフェースによって前記ホストデバイスより取得した前記コマンドの種別に対して、パラメータが書き込まれる制御レジスタ群の中でシリアルインタフェース規格上未使用とされた所定の制御レジスタに有意な値が書き込まれているとき、この値を当該コマンドを実行させる前記ストレージデバイスが接続された前記ポートを指定するためのポート情報としてみなし、このポート情報により指定された前記ポートを通じて前記ストレージデバイスに前記コマンドを転送するように前記第２のシリアルインタフェースを制御する制御部と
を具備するＲＡＩＤコントローラ。
【請求項２】
請求項１に記載のＲＡＩＤコントローラであって、
前記制御部は、未使用の制御レジスタに有意な値が記述されていないとき、前記ホストデバイスからのコマンドをＲＡＩＤ（Redundant Arrays of Inexpensive Disks）の操作のためのコマンドに変換して、前記複数のポートを通じて前記複数のストレージデバイスにそれぞれ前記ＲＡＩＤの操作のためのコマンドを転送するように前記第２のシリアルインタフェースを制御する
ＲＡＩＤコントローラ。
【請求項３】
請求項２に記載のＲＡＩＤコントローラであって、
前記第１のシリアルインタフェースおよび前記第２のシリアルインタフェースは、それぞれシリアルＡＴＡ（Serial AT Attachment）インタフェースである
ＲＡＩＤコントローラ。
【請求項４】
請求項１に記載のＲＡＩＤコントローラであって、
前記制御部は、前記ホストデバイスから第１のＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンドを受けたとき、前記複数のポートにそれぞれ接続された前記複数のストレージデバイスに第２のＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンドを発行して各々の前記ストレージデバイスからデバイス情報を取得し、これらのデバイス情報を前記ホストデバイスに応答する
ＲＡＩＤコントローラ。
【請求項５】
請求項４に記載のＲＡＩＤコントローラであって、
前記制御部は、前記複数のポートにそれぞれ接続された前記複数のストレージデバイスを１つの統合ストレージデバイスとして、この統合ストレージデバイスのデバイス情報とともに前記各々のストレージデバイスのデバイス情報を前記ホストデバイスに応答する
ＲＡＩＤコントローラ。
【請求項６】
第１のシリアルインタフェースにホストデバイスを接続するとともに、第２のシリアルインタフェースの複数のポートにそれぞれコマンドを実行可能なストレージデバイスを接続し、
前記第１のシリアルインタフェースを通じて前記ホストデバイスよりコマンドとパラメータを取得し、
前記パラメータが書き込まれる制御レジスタ群の中で、前記取得した前記コマンドの種別に対してシリアルインタフェース規格上未使用とされた所定の制御レジスタに有意な値が書き込まれているかどうかを判定し、
前記有意な値が書き込まれている場合、この値を前記コマンドを実行させる前記ストレージデバイスが接続された前記ポートを指定するためのポート情報としてみなし、このポート情報により指定された前記ポートを通じて前記ストレージデバイスに前記コマンドを転送する
コマンド処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、シリアルＡＴＡインタフェースを用いたＲＡＩＤコントローラおよびそのコマンド処理方法に関する。
【背景技術】
【０００２】
ストレージデバイス等とのインタフェースとしてシリアルＡＴＡ（Serial AT Attachment）がある。シリアルＡＴＡは、パラレルＡＴＡとのソフトウェアレベルでの互換性を備えた規格である。シリアルＡＴＡには、ホストデバイスに複数のシリアルＡＴＡデバイスを接続する機能として、ホストデバイスの１つのポートを複数のポートに分岐するポートマルチプライヤがある。
【０００３】
シリアルＡＴＡの規格では、ポートマルチプライヤの利用を可能とするために、ＦＩＳ（Frame Instruction Structure）に４ビットのＰＭＰｏｒｔ指定部を定義している。ＰＭＰｏｒｔ指定部は、ポートマルチプライヤの複数のポートに接続されたストレージデバイスの中でどのポートに接続されたストレージデバイスに対してコマンドを与えるかを指定するための部分である。
【０００４】
このポートマルチプライヤは、シリアルＡＴＡに対応する複数のストレージデバイスによってＲＡＩＤ（Redundant Arrays of Inexpensive Disks）が構成される環境において、ホストデバイスからストレージデバイスを指定してアクセスするための手段として有用である。例えば、ストレージデバイスに搭載されたS.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)などの自己診断機能の診断結果情報をホストデバイスにて取得し、ストレージデバイスの劣化状態を管理したりする場合などに利用できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００―２０７１３７号公報
【特許文献２】特開２００９―１１０１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ポートマルチプライヤの機能を用いてホストデバイスからＲＡＩＤを構成する個々のストレージデバイスをアクセスするためには、ホストバスアダプタとＲＡＩＤコントローラのそれぞれがポートマルチプライヤに対応している必要がある。しかしながら、近年多くのホストバスアダプタはポートマルチプライヤに対応していない。
【０００７】
あるいは、ＲＡＩＤコントローラのＲＡＩＤエンジンの動作をＣＰＵにより切り替えることによって、個々のストレージデバイスにコマンドを発行する方法が考えられる。しかし、この方法では、ＲＡＩＤコントローラ内のＣＰＵ用のプログラムなどが必要となり、コストがアップする。
【０００８】
そこで、より安価な手段で、かつポートマルチプライヤの機能を利用することなく、ホストデバイスからＲＡＩＤを構成するストレージデバイスへのアクセスの自由度を向上させるための技術が求められている。
【０００９】
また、シリアルＡＴＡに対応する典型的なＲＡＩＤコントローラは、ホストデバイスよりＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンドを受けた場合には、ＲＡＩＤを構成する複数のストレージデバイスを１つの統合ストレージデバイスとして、この統合ストレージデバイスの容量、名前、性能などのデバイス情報を応答するようになっている。したがって、個々のストレージデバイス毎のデバイス情報を取得することはできなかった。
【００１０】
以上のような事情に鑑み、本技術の目的は、ホストデバイスからＲＡＩＤを構成するストレージデバイスへのアクセスの自由度を向上させることのできるＲＡＩＤコントローラおよびそのコマンド処理方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本技術に係るＲＡＩＤコントローラは、
ホストデバイスを接続可能な第１のシリアルインタフェースと、
コマンドを実行可能なストレージデバイスを接続可能な複数のポートを有する第２のシリアルインタフェースと、
前記第１のシリアルインタフェースによって前記ホストデバイスより取得した前記コマンドの種別に対して、パラメータが書き込まれる制御レジスタ群の中でシリアルインタフェース規格上未使用とされた所定の制御レジスタに有意な値が書き込まれているとき、この値を当該コマンドを実行させる前記ストレージデバイスが接続された前記ポートを指定するためのポート情報としてみなし、このポート情報により指定された前記ポートを通じて前記ストレージデバイスに前記コマンドを転送するように前記第２のシリアルインタフェースを制御する制御部と
を具備する。
【００１２】
前記制御部は、未使用の制御レジスタに有意な値が記述されていないとき、前記ホストデバイスからのコマンドをＲＡＩＤの操作のためのコマンドに変換して、前記複数のポートを通じて前記複数のストレージデバイスにそれぞれ前記ＲＡＩＤの操作のためのコマンドを転送するように前記第２のシリアルインタフェースを制御するものであってよい。
【００１３】
このＲＡＩＤコントローラによれば、ホストデバイスとＲＡＩＤコントローラがポートマルチプライヤに対応しないものであっても、ホストデバイスからＲＡＩＤコントローラに接続されたストレージデバイスへの個別のアクセスが可能となる。ホストデバイスとＲＡＩＤコントローラとの間のコマンドプロトコルの変更の範囲でよいため、コストアップを抑えることができる。
【００１４】
前記第１のシリアルインタフェースおよび前記第２のシリアルインタフェースは、それぞれシリアルＡＴＡ（Serial AT Attachment）インタフェースであってよい。
【００１５】
前記制御部は、前記ホストデバイスから第１のＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンドを受けたとき、前記複数のポートにそれぞれ接続された前記複数のストレージデバイスに第２のＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンドを発行して各々の前記ストレージデバイスからデバイス情報を取得し、これらのデバイス情報を前記ホストデバイスに応答するものであってよい。
【００１６】
前記制御部は、前記複数のポートにそれぞれ接続された前記複数のストレージデバイスを１つの統合ストレージデバイスとして、この統合ストレージデバイスのデバイス情報とともに前記各々のストレージデバイスのデバイス情報を前記ホストデバイスに応答してもよい。
【００１７】
本技術に係る第２の側面のＲＡＩＤコントローラのコマンド処理方法は、
第１のシリアルインタフェースにホストデバイスを接続するとともに、第２のシリアルインタフェースの複数のポートにそれぞれコマンドを実行可能なストレージデバイスを接続し、
前記第１のシリアルインタフェースを通じて前記ホストデバイスよりコマンドとパラメータを取得し、
前記パラメータが書き込まれる制御レジスタ群の中で、前記取得した前記コマンドの種別に対してシリアルインタフェース規格上未使用とされた所定の制御レジスタに有意な値が書き込まれているかどうかを判定し、
前記有意な値が書き込まれている場合、この値を前記コマンドを実行させる前記ストレージデバイスが接続された前記ポートを指定するためのポート情報としてみなし、このポート情報により指定された前記ポートを通じて前記ストレージデバイスに前記コマンドを転送する。
【発明の効果】
【００１８】
以上のように、本技術によれば、ホストデバイスからＲＡＩＤを構成するストレージデバイスへのアクセスの自由度が向上する。
【図面の簡単な説明】
【００１９】
【図１】本技術に係る第１の実施形態のＲＡＩＤシステムの構成を示すブロック図である。
【図２】図１のＲＡＩＤシステムによるストレージデバイスの個別アクセスの概要図である。
【図３】図２のストレージデバイスの個別アクセスの動作のフローチャートである。
【図４】図１のＲＡＩＤシステムによる各ストレージデバイスのデバイス情報のアクセスの概念図である。
【図５】図４の各ストレージデバイスのデバイス情報のアクセスの動作のフローチャートである。
【図６】ＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンドのＡＴＡ規格上の入力タスク・ファイル・レジスタの構成を示す図である。
【図７】図６のＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンドの入力タスク・ファイル・レジスタにおける未使用レジスタを用いたポート情報の転送を説明する図である。
【図８】Ｗｒｉｔｅ ＤＭＡ ＥＸＴコマンドのＡＴＡ規格上の入力タスク・ファイル・レジスタの構成を示す図である。
【図９】図８のＷｒｉｔｅ ＤＭＡ ＥＸＴコマンドの入力タスク・ファイル・レジスタにおける未使用レジスタを用いたポート情報の転送を説明する図である。
【発明を実施するための形態】
【００２０】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
＜第１の実施形態＞
まず、本技術に係る第１の実施形態のＲＡＩＥコントローラを用いたＲＡＩＤシステムの概要を説明する。
【００２１】
［ＲＡＩＤシステムの概要］
図１は、本技術に係る第１の実施形態のＲＡＩＤシステムの構成を示すブロック図である。
このＲＡＩＤシステム１は、ホストデバイス１０と、ＲＡＩＤコントローラ２０と、複数のストレージデバイス３０を含む。ホストデバイス１０とＲＡＩＤコントローラ２０とはシリアルＡＴＡバス４０を通じて相互に接続される。また、ＲＡＩＤコントローラ２０と各々のストレージデバイス３０もシリアルＡＴＡバス５０を通じて相互に接続される。
【００２２】
ホストデバイス１０は、ＣＰＵ１１、メモリ１２、シリアルＡＴＡインタフェース１３などを有する。ホストデバイス１０は、例えば、ＡＴ互換のパーソナルコンピュータなどであってよい。ホストデバイス１０は、シリアルＡＴＡインタフェース１３によりＲＡＩＤコントローラ２０にシリアルＡＴＡバス４０を通じて各種のＡＴＡコマンドを発行し、ＲＡＩＤコントローラ２０よりシリアルＡＴＡバス４０を通じてＡＴＡコマンドの実行結果を受け取る。
【００２３】
ＲＡＩＤコントローラ２０は、接続された複数のストレージデバイス３０を論理的に一台のストレージとして運用するための処理を行う。ＲＡＩＤコントローラ２０には、ＲＡＩＤ０、ＲＡＩＤ３、ＲＡＩＤ５のような様々なＲＡＩＤレベルを適用可能である。本実施形態では、例えば、データを複数のストレージデバイス３０に分散して書き込むＲＡＩＤ０（ストライピング）が適用される場合を想定している。
【００２４】
ＲＡＩＤコントローラ２０は、ＲＡＩＤエンジン２１、ＣＰＵ２２、メモリ２３、ホストデバイス１０側のシリアルＡＴＡインタフェース２４、およびストレージデバイス３０側のシリアルＡＴＡインタフェース２５を備える。ホストデバイス１０側のシリアルＡＴＡインタフェース２４は特許請求の範囲の第１のシリアルインタフェースに相当し、ストレージデバイス３０側のシリアルＡＴＡインタフェース２５は特許請求の範囲の第２のシリアルインタフェースに相当する。
【００２５】
ＲＡＩＤエンジン２１はＲＡＩＤ操作のための各種演算を行う演算器である。ＲＡＩＤエンジン２１は特許請求の範囲の制御部に相当する。
ＲＡＩＤエンジン２１は、ホストデバイス１０から発行されたＡＴＡコマンドとパラメータに基づいて各ストレージデバイス３０に発行するコマンドの生成などを行う。ＣＰＵ２２はＲＡＩＤコントローラ２０の全体の制御を行う。メモリ２２にはＲＡＩＤエンジン２１のファーウェアなどが格納される。ストレージデバイス３０側のシリアルＡＴＡインタフェース２５には複数のポート２５−０，２５−１，２５−２，２５−３が設けられ、各々のポート２５−０，２５−１，２５−２，２５−３にはストレージデバイス３０が接続されている。
【００２６】
なお、ＲＡＩＤコントローラ２０はポートマルチプライヤに対応したものであっても非対応のものであってもよい。
【００２７】
各ストレージデバイス３０は、ＡＴＡ規格に準拠したドライブであるＡＴＡデバイスとして機能する。各ストレージデバイス３０は、例えば、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）などのストレージ部３１を有する。各ストレージデバイス３０は、それぞれシリアルＡＴＡインタフェース３２を備え、ＲＡＩＤコントローラ２０のストレージデバイス３０側のシリアルＡＴＡインタフェース３５の各々のポート２５−０，２５−１，２５−２，２５−３とシリアルＡＴＡバス５０を通じて相互に接続される。
【００２８】
［ＲＡＩＤシステムの動作］
このＲＡＩＤシステム１では、ホストデバイス１０からＲＡＩＤを構成する複数のストレージデバイス３０に対して次のアクセスが可能とされている。
１．ストレージデバイスの個別アクセス
２．各ストレージデバイスのデバイス情報のアクセス
以下、それぞれのアクセスについて説明する。
【００２９】
このＲＡＩＤシステム１では、ホストデバイス１０とＲＡＩＤコントローラ２０との間のコマンドプロトコルの変更により、ホストデバイス１０からＲＡＩＤコントローラ２０を介して個々のストレージデバイス３０にアクセスできるようした。
【００３０】
ＡＴＡの規格によれば、制御レジスタ（タスク・ファイル・レジスタ）には、ＡＴＡコマンドの種類に応じて、パラメータの転送に使用されないレジスタ（未使用レジスタ）が存在する。そこで、この未使用レジスタを使ってホストデバイス１０からＲＡＩＤコントローラ２０にポート情報を転送することが可能とである。これにより、ホストデバイス１０からＲＡＩＤコントローラ２０に接続されたストレージデバイス３０の個別アクセスを、上記のポートマルチプライヤ機能に拠らずに行うことができる。
【００３１】
なお、制御レジスタにおける未使用レジスタには、具体的には次のようなものがある。
図６はＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンドのＡＴＡ規格上の入力タスク・ファイル・レジスタの構成を示す図である。ここで"ｎａ"が記述されたレジスタは未使用のレジスタであることを意味する。このようにＡＴＡ規格によれば、例えば、ＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンドの場合、Ｓｅｃｔｏｒ Ｃｏｕｎｔレジスタが未使用のレジスタである。そこで、図７に示すように、その未使用レジスタであるＳｅｃｔｏｒ Ｃｏｕｎｔレジスタを使ってポート情報（Ｐｏｒｔ Ｎｏ.値）を転送することができる。
【００３２】
なお、図７の例では、ポート情報（Ｐｏｒｔ Ｎｏ.値）が"００"から"０３"までのいずれかの値をとりうる場合を示している。ここで、ポート情報（Ｐｏｒｔ Ｎｏ.値）である"００"から"０３"の値はそれぞれ、ＲＡＩＤコントローラ２０におけるシリアルＡＴＡインタフェース２５の４つのポート２５−０，２５−１，２５−２，２５−３に対応する。
【００３３】
図８は、Ｗｒｉｔｅ ＤＭＡ ＥＸＴコマンドのＡＴＡ規格上の入力タスク・ファイル・レジスタの構成を示す図である。Ｗｒｉｔｅ ＤＭＡ ＥＸＴコマンドの場合、Ｆｅａｔｕｒｅレジスタは"Ｒｅｓｅｒｖｅ"であり、未使用のレジスタである。したがって、図９に示すように、その未使用レジスタであるＦｅａｔｕｒｅレジスタのＣｕｒｒｅｎｔ部分を使ってポート情報（Ｐｏｒｔ Ｎｏ.値）を転送することも可能である。
その他にも、ＡＴＡコマンドに対応して未使用レジスタが存在するので、それらを使用して同様にポート情報（Ｐｏｒｔ Ｎｏ.値）を転送することができる。
【００３４】
次に、かかる動作の詳細を説明する。
図２は本実施形態のＲＡＩＤシステム１によるストレージデバイス３０の個別アクセスの概要図である。図３はそのフローチャートである。
【００３５】
まず、ホストデバイス１０のＣＰＵ１１は、ＡＴＡコマンドのパラメータを制御レジスタに書き込み、ＡＴＡコマンドをコマンドレジスタに書き込む（ステップＳ１０１）。
このとき、ストレージデバイス３０の個別アクセスを行う場合には、ホストデバイス１０のＣＰＵ１１は、ＲＡＩＤコントローラ２０のシリアルＡＴＡインタフェース２５の各ポート２５−０，２５−１，２５−２，２５−３に接続された複数のストレージデバイス３０の中でアクセスしたいストレージデバイス３０が接続されたポート番号などのポート情報を、ＡＴＡコマンドの種類に応じて予め決められた未使用レジスタに書き込む。
【００３６】
ホストデバイス１０のシリアルＡＴＡインタフェース１３は、上記の制御レジスタおよびコマンドレジスタに書き込まれた値をもとにＦＩＳ４１を生成し、このＦＩＳ４１をシリアルＡＴＡバス４０を通じてＲＡＩＤコントローラ２０に転送する（ステップＳ１０２）。
【００３７】
ＲＡＩＤコントローラ２０のホストデバイス１０側のシリアルＡＴＡインタフェース２４は、ホストデバイス１０より転送されてきたＦＩＳ４１の内容を自身に設けられた制御レジスタおよびコマンドレジスタに書き込む。ＲＡＩＤコントローラ２０のＲＡＩＤエンジン２１は、シリアルＡＴＡインタフェース２４のコマンドレジスタに書き込まれたＡＴＡコマンドの種類に対して予め決められた未使用レジスタの値を確認する（ステップＳ１０３）。
【００３８】
この確認で、当該ＡＴＡコマンドの種類に対して予め決められた未使用レジスタの値として有意な値が設定されていない場合（ステップＳ１０４のＮＯ）、ＲＡＩＤコントローラ２０のＲＡＩＤエンジン２１は、通常のＲＡＩＤ操作を行うように当該ＡＴＡコマンドを変換して各ストレージデバイス３０に発行する（ステップＳ１０５）。
【００３９】
また、当該ＡＴＡコマンドの種類に対して予め決められた未使用レジスタの値として有意な値が設定されている場合（ステップＳ１０４のＹＥＳ）、ＲＡＩＤコントローラ２０のＲＡＩＤエンジン２１は、当該ＡＴＡコマンドがストレージデバイス３０の個別アクセスのためのコマンドとしてみなして以下の処理を行う。
【００４０】
すなわち、ＲＡＩＤコントローラ２０のＲＡＩＤエンジン２１は、当該未使用レジスタの値に対応するストレージデバイス３０側のシリアルＡＴＡインタフェース２５のポート２５−０，２５−１，２５−２，２５−３を判定し、このポートに接続されたストレージデバイス３０に上記受信したＦＩＳ４１と同じ内容のＦＩＳ４２を転送する（ステップＳ１０６）。なお、このＦＩＳ４２にはポート情報は含まれていなくてもよい。
【００４１】
ストレージデバイス３０のシリアルＡＴＡインタフェース３２は、受信したＦＩＳ４１の内容を自身に設けられた制御レジスタおよびコマンドレジスタに書き込む。ストレージデバイス３０のストレージ部３１は、制御レジスタに書き込まれたパラメータとコマンドレジスタに書き込まれたＡＴＡコマンドをもとに処理を実行し、その実行結果４３をＲＡＩＤコントローラ２０に応答する（ステップＳ１０７）。
【００４２】
ＲＡＩＤコントローラ２０のＲＡＩＤエンジン２１は、ストレージデバイス３０から応答された実行結果４３をホストデバイス１０に転送する（ステップＳ１０８）。ホストデバイス１０のＣＰＵ１１はＲＡＩＤコントローラ２０から応答された実行結果４３を受領する（ステップＳ１０９）。
以上で、ポートマルチプライヤ機能に拠らないストレージデバイス３０の個別アクセスが完了となる。
【００４３】
［２．各ストレージデバイスのデバイス情報のアクセス］
このＲＡＩＤシステム１では、ＲＡＩＤコントローラ２０が、ホストデバイス１０からのＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンド（第１のＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンド）を受けたとき、複数のストレージデバイス３０にＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンド（第２のＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンド）を発行して各々のストレージデバイス３０からデバイス情報を取得し、これらのデバイス情報を統合ストレージデバイスのデバイス情報に付加してホストデバイス１０に応答する。
【００４４】
次に、かかる動作の詳細を説明する。
図４は本実施形態のＲＡＩＤシステム１による各ストレージデバイス３０のデバイス情報のアクセスの概念図である。図５はそのフローチャートである。
【００４５】
まず、ホストデバイス１０からＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンド５１がＦＩＳベースでＲＡＩＤコントローラ２０に発行される（ステップＳ２０１）。
【００４６】
ＲＡＩＤコントローラ２０は、ＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンド５１を受けとると、以下の２つの処理を実行する（ステップＳ２０２）。
１．統合ストレージデバイスのデバイス情報ＤＡを生成する。
２．個々のストレージデバイス３０にＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンド５２をＦＩＳベースで転送する。
【００４７】
各々のストレージデバイス３０は、ＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンド５２を受けとると、当該ストレージデバイス３０の容量、名前、性能などのデバイス情報を個別デバイス情報Ｄ０，Ｄ１，Ｄ２，Ｄ３として生成し、ＲＡＩＤコントローラ２０に応答する（ステップＳ２０３）。
【００４８】
ＲＡＩＤコントローラ２０のＲＡＩＤエンジン２１は、すべてのストレージデバイス３０より応答された個別デバイス情報Ｄ０，Ｄ１，Ｄ２，Ｄ３と統合ストレージデバイスのデバイス情報ＤＡを、ＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンド５１の実行結果５３としてホストデバイス１０に応答する（ステップＳ２０４）。
【００４９】
ホストデバイス１０は、ＲＡＩＤコントローラ２０から応答された実行結果５３を受領する（ステップＳ２０５）。
以上により、各ストレージデバイス３０のデバイス情報のアクセスが完了となる。
【００５０】
以上のように、本実施形態のＲＡＩＤシステム１によれば、次のような効果が得られる。
１．ホストデバイス１０とＲＡＩＤコントローラ２０がポートマルチプライヤに対応しないものであっても、ホストデバイス１０からＲＡＩＤコントローラ２０に接続されたストレージデバイス３０への個別のアクセスが可能となる。ホストデバイス１０とＲＡＩＤコントローラ２０との間のコマンドプロトコルの変更の範囲でよいため、コストアップを抑えることができる。
２．ＲＡＩＤコントローラ２０に接続された各々のストレージデバイス３０のデバイス情報をホストデバイス１０にて取得することができる。
【００５１】
本実施形態では、シリアルインタフェースとしてシリアルＡＴＡを利用したものについて説明したが、本技術は、その他のシリアルインタフェース、例えば、シリアルＳＣＳＩ（Small Computer System Interface）を利用した場合にも同様に用いることができる。
【００５２】
その他、本技術は、上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々更新を加え得ることは勿論である。
【００５３】
さらに、本技術は以下のような構成も採ることができる。
（１）  ホストデバイスを接続可能な第１のシリアルインタフェースと、
コマンドを実行可能なストレージデバイスを接続可能な複数のポートを有する第２のシリアルインタフェースと、
前記第１のシリアルインタフェースによって前記ホストデバイスより取得した前記コマンドの種別に対して、パラメータが書き込まれる制御レジスタ群の中でシリアルインタフェース規格上未使用とされた所定の制御レジスタに有意な値が書き込まれているとき、この値を当該コマンドを実行させる前記ストレージデバイスが接続された前記ポートを指定するためのポート情報としてみなし、このポート情報により指定された前記ポートを通じて前記ストレージデバイスに前記コマンドを転送するように前記第２のシリアルインタフェースを制御する制御部と
を具備するＲＡＩＤコントローラ。
【００５４】
（２）前記（１）に記載のＲＡＩＤコントローラであって、
前記制御部は、未使用の制御レジスタに有意な値が記述されていないとき、前記ホストデバイスからのコマンドをＲＡＩＤの操作のためのコマンドに変換して、前記複数のポートを通じて前記複数のストレージデバイスにそれぞれ前記ＲＡＩＤの操作のためのコマンドを転送するように前記第２のシリアルインタフェースを制御する
ＲＡＩＤコントローラ。
【００５５】
（３）前記（１）から（２）のうちいずれか１つに記載のＲＡＩＤコントローラであって、
前記第１のシリアルインタフェースおよび前記第２のシリアルインタフェースは、それぞれシリアルＡＴＡ（Serial AT Attachment）インタフェースである
ＲＡＩＤコントローラ。
【００５６】
（４）前記（１）から（３）のうちいずれか１つに記載のＲＡＩＤコントローラであって、
前記制御部は、前記ホストデバイスから第１のＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンドを受けたとき、前記複数のポートにそれぞれ接続された前記複数のストレージデバイスに第２のＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥコマンドを発行して各々の前記ストレージデバイスからデバイス情報を取得し、これらのデバイス情報を前記ホストデバイスに応答する
ＲＡＩＤコントローラ。
【符号の説明】
【００５７】
１…ＲＡＩＤシステム
１０…ホストデバイス
２０…ＲＡＩＤコントローラ
２１…ＲＡＩＤエンジン
２２…ＣＰＵ
２３…メモリ
２４…ホストデバイス側のシリアルＡＴＡインタフェース
２５…ストレージデバイス側のシリアルＡＴＡインタフェース
２５−０，２５−１，２５−２，２５−３…ポート
３０…ストレージデバイス
【図１】
2014137783.tif 000003
【図２】
2014137783.tif 000004
【図３】
2014137783.tif 000005
【図４】
2014137783.tif 000006
【図５】
2014137783.tif 000007
【図６】
2014137783.tif 000008
【図７】
2014137783.tif 000009
【図８】
2014137783.tif 000010
【図９】
2014137783.tif 000011