(57)【要約】【課題】ホストバッファアダプタを備え、双方向のデータ転送が可能な記憶装置を提供する。【解決手段】記憶装置は、第１インターフェースによってデータを送受信する第１インターフェース回路と、第１インターフェース回路と第１インターフェースによって通信するホストバスアダプタと、ホストバスアダプタと第２インターフェースによって通信する第２インターフェースエミュレータと、外部のホストメモリとデータ転送を実行するダイレクトメモリアクセス回路と、データを保存する少なくとも１つの不揮発性メモリ装置及び第２インターフェースエミュレータから出力された入出力要求に応じて少なくとも１つの不揮発性メモリ装置を制御するメモリコントローラを含み、ダイレクトメモリアクセス回路はデータ転送時に第１インターフェース回路から双方向のデータ転送を実行し、データ転送後に第２インターフェースによってフレーム情報構造のシーケンスを生成する。【選択図】      図１
2014106977.tif 000002
【特許請求の範囲】
【請求項１】
外部のホストと第１インターフェースを介して通信し、内部に第２インターフェースを介して通信するホストバスアダプタを備える記憶装置のデータ転送方法に於いて、
前記ホストバスアダプタに書き込みコマンドと読み取りコマンドを発行する段階と、
前記書き込みコマンドに応答して前記第１インターフェースを使用して読み取りダイレクトメモリアクセスの動作を実行するとともに、前記読み取りコマンドに応答して前記第１インターフェースを使用して書き込みダイレクトメモリアクセスの動作を実行する段階と、
前記書き込みコマンド及び前記読み取りコマンドに応答して前記第２インターフェースによるフレーム情報構造のシーケンスを生成する段階とを含み、
前記第１インターフェースは双方向のデータ転送を実行し、前記第２インターフェースは単方向のデータ転送を実行することを特徴とするデータ転送方法。
【請求項２】
前記書き込みコマンド及び前記読み取りコマンドは、ネイティブコマンドキューイング（ｎａｔｉｖｅ  ｃｏｍｍａｎｄ  ｑｕｅｕｉｎｇ；ＮＣＱ）によって前記ホストバスアダプタに入力されることを特徴とする請求項１に記載のデータ転送方法。
【請求項３】
前記書き込み及び読み取りコマンドを発行する前に、前記記憶装置の前のコマンドが完了したことを判別するために前記ホストバスアダプタの第１レジスタを読み取る段階をさらに含むことを特徴とする請求項１に記載のデータ転送方法。
【請求項４】
前記ホストに前記発行された書き込みコマンドと読み取りコマンドに対応するフレーム情報構造を転送することによってコマンドをフェッチする段階をさらに含むことを特徴とする請求項１に記載のデータ転送方法。
【請求項５】
前記フレーム情報構造のシーケンスはそれぞれダイレクトメモリアクセスセットアップのフレーム情報構造（ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳ）、プログラムアイオーフレーム情報構造（ＰＩＯ  Ｓｅｔｕｐ  ＦＩＳ）、データフレーム情報構造（Ｄａｔａ  ＦＩＳ）、セット装置ビットフレーム情報構造（ＳＤＢ  ＦＩＳ）を含むことを特徴とする請求項１に記載のデータ転送方法。
【請求項６】
前記データフレーム情報構造は、ノン−データ（ｎｏｎ−ｄａｔａ）フレーム情報構造であることを特徴とする請求項５に記載のデータ転送方法。
【請求項７】
前記読み取り及び書き込みのダイレクトメモリアクセス動作が完了した後に、前記フレーム情報構造のシーケンスが発生されることを特徴とする請求項１に記載のデータ転送方法。
【請求項８】
中央処理装置、メインメモリ、前記中央処理装置と第１インターフェースを介して通信し、内部に第２インターフェースを介して通信するホストバッファアダプタを備える記憶装置を含むコンピューティングシステムのデータ転送方法に於いて、
前記中央処理装置から前記メインメモリに入出力要求に対応するコマンドキューを送信する段階と、
前記中央処理装置から前記メインメモリに前記入出力要求された情報を前記ホストバッファアダプタに送信する段階と、
前記記憶装置から前記情報に応答して前記メインメモリに前記入出力要求に対応するフレーム情報構造を転送することによって前記入出力要求をフェッチする段階と、
前記記憶装置から前記第１インターフェースによって前記メインメモリと前記記憶装置との間でデータを転送する段階と、
前記データ転送後に前記第２インターフェースによってフレーム情報構造のシーケンスを発生する段階と、
前記記憶装置から割り込みを発生する段階と、
前記中央処理装置から前記発生された割り込みをもとにして前記入出力要求を完了する段階が含むことを特徴とするデータ転送方法。
【請求項９】
前記第１インターフェースは双方向のデータ転送を実行し、
前記第２インターフェースは単方向のデータ転送を実行することを特徴とする請求項８に記載のデータ転送方法。
【請求項１０】
前記第１インターフェースはＰＣＩｅ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）インターフェースであり、前記第２インターフェースはＳＡＴＡ（ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）インターフェースであることを特徴とする請求項９に記載のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶装置及びそれを含むコンピューティングシステムと、該データ転送方法に関する。
【背景技術】
【０００２】
近年のコンピューティングシステム（ｃｏｍｐｕｔｉｎｇ  ｓｙｓｔｅｍ）の記憶装置（ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）としてソリッドステートドライブ（ＳＳＤ、ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）が広く使用されている。ＳＳＤはデータを保存するためにフラッシュメモリのような不揮発性メモリを使用し、従来のＨＤＤ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）と比較して耐久性、サイズ、消費電力などの面で良好な特性を有している。ＳＳＤはホストとの通信方法によって、ＰＣＩ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ）ＳＳＤとＳＡＴＡ（ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）ＳＳＤとに区分される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第８０５５８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は双方向のデータ転送を行うことができる記憶装置を提供する。
本発明はホストバッファアダプタを備える記憶装置を提供する。
【課題を解決するための手段】
【０００５】
本発明の実施形態に於いて、外部のホストと第１インターフェースを介して通信し、内部に第２インターフェースを介して通信するホストバスアダプタを備える記憶装置のデータ転送方法は、前記ホストバスアダプタへの書き込みコマンド及び読み取りコマンドを発行する段階と、前記書き込みコマンドに応答して前記第１インターフェースを使用して読み取りダイレクトメモリアクセス動作を実行するとともに、前記読み取りコマンドに応答して前記第１インターフェースを使用して書き込みダイレクトメモリアクセス動作を実行する段階と、前記書き込みコマンド及び前記読み取りコマンドに応答して前記第２インターフェースによるフレーム情報構造のシーケンスを生成する段階を含み、前記第１インターフェースは双方向のデータ転送を実行し、前記第２インターフェースは単方向のデータ転送を実行する。
【０００６】
本発明の実施形態による中央処理装置、メインメモリ、前記中央処理装置と第１インターフェースを介して通信し、内部に第２インターフェースを介して通信するホストバッファアダプタを備える記憶装置を含むコンピューティングシステムのデータ転送方法は、前記メインメモリに入出力要求に対応するコマンドキューを送信する段階と、前記メインメモリに前記入出力要求された情報を前記ホストバッファアダプタに送信する段階と、前記情報に応答して前記メインメモリに前記入出力要求に対応するフレーム情報構造を転送することにより前記入出力要求をフェッチする段階と、前記入出力要求に応答して前記第１インターフェースによって前記メインメモリと前記記憶装置との間でデータを転送する段階と、前記データ転送後前記第２インターフェースによってフレーム情報構造のシーケンスを生成する段階と、前記記憶装置から割り込みを発生する段階と、前記中央処理装置から前記発生された割り込みをもとにして前記入出力要求を完了する段階を含む。
【０００７】
本発明の実施形態による記憶装置は、第１インターフェースに応じて外部と通信する第１インターフェース回路と、前記第１インターフェース回路と前記第１インターフェースによって通信するホストバスアダプタと、前記ホストバスアダプタと第２インターフェースによって通信する第２インターフェースエミュレータと、外部のホストメモリとのデータ転送を実行するためのダイレクトメモリアクセス回路と、データを保存する少なくとも１つの不揮発性メモリ装置と、前記第２インターフェースエミュレータから出力された入出力要求により、前記少なくとも１つの不揮発性メモリ装置を制御するメモリコントローラを含み、前記ダイレクトメモリアクセス回路は前記データ転送のとき前記第１インターフェース回路から双方向のデータ転送を実行するように構成され、前記データ転送後に前記第２インターフェースによるフレーム情報構造のシーケンスが発生する。
【０００８】
本発明の実施形態によるコンピューティングシステムは、ホストバスと、前記ホストバスに第１インターフェースを介して接続されたホストプロセッサと、前記ホストプロセッサに接続されたホストメモリと、前記ホストバスに前記第１インターフェースを介して接続され、ＲＡＩＤ（ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｄｅｐｅｎｄｅｎｔ  ｄｉｓｋｓ）機能を実行するためのＲＡＩＤコントローラと、前記ＲＡＩＤコントローラに前記第１インターフェースを介して接続された複数の記憶装置を含み、前記複数の記憶装置の中で少なくとも１つは前記第１インターフェースによってデータを送受信する第１インターフェース回路と、前記第１インターフェース回路と前記第１インターフェースによって通信するホストバスアダプタと、前記ホストバスアダプタと前記第２インターフェースによって通信する第２インターフェースエミュレータと、前記ホストメモリとのデータ転送を実行するためのダイレクトメモリアクセス回路と、データを保存する少なくとも１つの不揮発性メモリ装置と、前記第２インターフェースエミュレータから出力された入出力要求に応じて前記少なくとも１つの不揮発性メモリ装置を制御するメモリコントローラを含み、前記ダイレクトメモリアクセス回路は前記データ転送のとき前記第１インターフェース回路から双方向のデータ転送を実行するように具現され、前記データ転送後に前記第２インターフェースによるフレーム情報構造のシーケンスが発生される。
【発明の効果】
【０００９】
本発明の実施形態による記憶装置はホストバスアダプタのドライバを備えることにより、従来のものと比較して互換性を維持することができる。
また、本発明の実施形態による記憶装置は双方向のデータ転送を行うことにより、データ転送の効率を極大化することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明によるコンピューティングシステムの第１実施形態を示すブロック図。
【図２】本発明の実施形態によるホストと記憶装置間のデータの流れを概略的に示す図。
【図３】図２に示された双方向のデータ転送を例示的に示すフローチャート。
【図４】本発明によるデータ転送方法を例示的に示すフローチャート。
【図５】本発明によるコンピューティングシステムの第２実施形態を示すブロック図。
【図６】本発明によるコンピューティングシステムの第３実施形態を示すブロック図。
【図７】本発明によるコンピューティングシステムの第４実施形態を示すブロック図。
【図８】本発明によるコンピューティングシステムの第５実施形態を示すブロック図。
【図９】本発明によるコンピューティングシステムの第６実施形態を示すブロック図。
【図１０】本発明の実施形態による入出力要求の観点から見たコンピューティングシステムを示す図。
【図１１】図１０に図示されたＡＨＣＩコントローラを含むＳＳＤコントローラのＰＣＩヘッダを例示的に示す図。
【図１２】図１０に図示されたＡＨＣＩエンジンに格納されているホストの制御情報を例示的に示す図。
【図１３】図１０に図示されたＡＨＣＩエンジンに格納されているポートの情報を例示的に示す図。
【図１４Ａ】図１０に図示されたＡＨＣＩエンジンとＳＡＴＡエミュレータとの間で送受信されるＦＩＳの規定を例示的に示す図。
【図１４Ｂ】図１０に図示されたＡＨＣＩエンジンとＳＡＴＡエミュレータとの間で送受信されるＦＩＳの規定を例示的に示す図。
【図１４Ｃ】図１０に図示されたＡＨＣＩエンジンとＳＡＴＡエミュレータとの間で送受信されるＦＩＳの規定を例示的に示す図。
【図１４Ｄ】図１０に図示されたＡＨＣＩエンジンとＳＡＴＡエミュレータとの間で送受信されるＦＩＳの規定を例示的に示す図。
【図１４Ｅ】図１０に図示されたＡＨＣＩエンジンとＳＡＴＡエミュレータとの間で送受信されるＦＩＳの規定を例示的に示す図。
【図１４Ｆ】図１０に図示されたＡＨＣＩエンジンとＳＡＴＡエミュレータとの間で送受信されるＦＩＳの規定を例示的に示す図。
【図１４Ｇ】図１０に図示されたＡＨＣＩエンジンとＳＡＴＡエミュレータとの間で送受信されるＦＩＳの規定を例示的に示す図。
【図１４Ｈ】図１０に図示されたＡＨＣＩエンジンとＳＡＴＡエミュレータとの間で送受信されるＦＩＳの規定を例示的に示す図。
【図１５】図１０に図示されたメインメモリのホストバッファの構造を例示的に示す図。
【図１６】図１５に図示されたコマンドリストの構造を例示的に示す図。
【図１７】図１６に図示されたコマンドテーブルを例示的に示す図。
【図１８】図１５に図示されたＲｅｃｅｉｖｅｄＦＩＳ構造を例示的に示す図。
【図１９】図１０に図示されたコンピューティングシステムで読み取りコマンドを実行する過程を例示的に示す図。
【発明を実施するための形態】
【００１１】
以下、本発明が属する技術分野において通常の知識を有する者が本発明の技術的思想を容易に実施できるように、本発明の実施形態を添付図面を参照して説明する。
図１は本発明によるコンピューティングシステム１０００の第１実施形態を示すブロック図である。図１を参照すると、コンピューティングシステム１０００は、ホストバス１００１、少なくとも１つのホストプロセッサ１１００、少なくとも１つのホストメモリ１２００及び記憶装置１３００を備える。以下では、ホストバス１００１、ホストプロセッサ１１００及びホストメモリ１２００をホスト（Ｈｏｓｔ）と称する。
【００１２】
ホストバス１００１は、コンピューティングシステム１０００の構成要素（例えば、プロセッサ１１００と記憶装置１３００）間の第１インターフェース（１ｓｔ  ｉｎｔｅｒｆａｃｅ）によってデータを転送することができる。ここで第１インターフェースは双方向のデータ転送（ｆｕｌｌ  ｄｕｐｌｅｘ、他の用語で、“全二重通信”）が可能である。すなわち、第１インターフェースは個別に利用可能な送信チャネル（Ｔｘ）及び受信チャネル（Ｒｘ）を提供する。例えば、第１インターフェースはＦＣ（ｆｉｂｅｒ  ｃｈａｎｎｅｌ）、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）３．０、ＳＡＳ（ｓｅｒｉａｌ  ａｔｔａｃｈｅｄ  ＳＣＳＩ）、ＰＣＩｅ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）、ＳＰＩ（ｓｅｒｉａｌ  ｐｅｒｉｐｈｅｒａｌ  ｉｎｔｅｒｆａｃｅ）、サンダーボルトインターフェース（ｔｈｕｎｄｅｒ  ｂｏｌｔ  ｉｎｔｅｒｆａｃｅ）、ライトニングボルトインターフェース（ｌｉｇｈｔｎｉｎｇ  ｂｏｌｔ  ｉｎｔｅｒｆａｃｅ）などからなる。
【００１３】
ホストプロセッサ１１００はコンピューティングシステム１０００の全ての動作を制御する。ホストプロセッサ１１００は第１インターフェース回路１１１０を備える。第１インターフェース回路１１１０は第１インターフェースによってホストバス１００１に接続される。ホストプロセッサ１１００は図示されていないが、ホストメモリ１２００を制御するためのメモリコントローラを備える。
ホストメモリ１２００はホストプロセッサ１１００に接続され、ホストプロセッサ１１００の制御によって動作中に必要なデータを保存することができる。ホストメモリ１２００はＤＲＡＭのような不揮発性メモリ装置またはＰＲＡＭのような不揮発性メモリ装置から構成できる。
【００１４】
記憶装置１３００は第１インターフェースによってホストバス１００１に接続され、データを保存する。記憶装置１３００は第１インターフェースによって外部のホストプロセッサ１１００と通信を行い、第２インターフェースによって内部の通信を行う。ここで第２インターフェースは第１インターフェースとは違って、双方向のデータ転送（ｆｕｌｌｄｕｐｌｅｘ）を実行せずに、単方向のデータ転送（ｈａｌｆ  ｄｕｐｌｅｘ）を実行する。例えば、第２インターフェースにはＡＴＡインターフェース、ＳＡＴＡインターフェースなどがある。
【００１５】
記憶装置１３００は第１インターフェース回路１３１０（他の用語で、“外部インターフェース回路”）、ホストバスアダプタ１３２０、第２インターフェースエミュレータ１３３０（他の用語で、“内部インターフェース回路”）、ダイレクトメモリアクセス（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ；  ＤＭＡ）回路１３４０、少なくとも１つの不揮発性メモリ装置１３５０及びメモリコントローラ１３６０を備える。
【００１６】
第１インターフェース回路１３１０はホストバス１００１に接続され、外部と第１インターフェースによって通信する。
ホストバスアダプタ１３２０は第１インターフェースによって第１インターフェース回路１３１０と通信する。ホストバスアダプタ１３２０はホストプロセッサ１１００から出力された少なくとも１つのコマンドを記憶装置１３００が検知できるように構成されるハードウェア及び／またはソフトウェアからなる。実施形態では、ホストバスアダプタ１３２０はＡＨＣＩ（ａｄｖａｎｃｅｄ  ｈｏｓｔ  ｃｏｎｔｒｏｌｌｅｒ  ｉｎｔｅｒｆａｃｅ）から構成される。
【００１７】
第２インターフェースエミュレータ１３３０は第２インターフェースによってホストバスアダプタ１３２０と通信する。第２インターフェースエミュレータ１３３０は記憶装置１３００のための第２インターフェースのエミュレーションを提供する。例えば、第２インターフェースエミュレータ１３３０は第２インターフェースのフレーム情報構造（ｆｒａｍｅ  ｉｎｆｏｒｍａｔｉｏｎ  ｓｔｒｕｃｔｕｒｅ；  ＦＩＳ）を利用してホストバスアダプタ１３２０と通信できるように構成される。従って、ＦＩＳは第２インターフェースの規定によるデータパケットである。第２インターフェースエミュレータ１３３０はメモリコントローラ１３６０に／からＦＩＳトランザクション（ｔｒａｎｓａｃｔｉｏｎ）を処理したり、ホストバスアダプタ１３２０を介してホストのＦＩＳを処理したりすることができる。
【００１８】
ＤＭＡ回路１３４０はホストプロセッサ１１００から入力されたＮＣＱ（ｎａｔｉｖｅ  ｃｏｍｍａｎｄ  ｑｕｅｕｉｎｇ）コマンド（ｗｒｉｔｅ  ｃｏｍｍａｎｄ、ｒｅａｄ  ｃｏｍｍａｎｄ）に基づいて第１インターフェース回路１３１０を制御することによって、記憶装置１３００がホストメモリ１２００にデータを読み取りまたは書き込みできるように構成される。
【００１９】
ＤＭＡ回路１３４０はホストバス１００１の送信チャネル（ＴＸ）と受信チャネル（ＲＸ）を利用して双方向のデータ転送（ｆｕｌｌ  ｄｕｐｌｅｘ  ｄａｔａ  ｔｒａｎｓｆｅｒ）を実行するための送信ＤＭＡ回路（図示せず）と受信ＤＭＡ回路（図示せず）を備える。
少なくとも１つの不揮発性メモリ装置１３５０はデータを保存する装置として、フラッシュメモリ（例えば、ＮＡＮＤ型フラッシュメモリ）、ＰＲＡＭ（ｐｈａｓｅ−ｃｈａｎｇｅ  ＲＡＭ）、ＭＲＡＭ（ｍａｇｎｅｔｉｃ  ＲＡＭ）、ＲＲＡＭ（登録商標）（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、ＦＲＡＭ（登録商標）（ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）、ＶＮＡＮＤ（ｖｅｒｔｉｃａｌ  ＮＡＮＤ）などからなる。
メモリコントローラ１３６０は第２インターフェースエミュレータ１３３０から出力されたＦＩＳトランザクションによって、不揮発性メモリ装置１３５０を制御する。
【００２０】
一般的に、第２インターフェース（例えば、単方向データを転送するインターフェース）を支援している記憶装置は双方向のデータ転送は不可能である。しかし、本発明の実施形態によるコンピューティングシステム１０００は記憶装置１３００が第１インターフェース（例えば、双方向データを転送するインターフェース）を支援するホストバスアダプタ１３２０と第２インターフェースのＦＩＳを利用してホストバスアダプタと通信する第２インターフェースエミュレータ１３３０を備えることによって、内部では第２インターフェースによってデータを転送するとともに外部とは第１インターフェースによって双方向のデータ転送を可能にする。すなわち、本発明によるコンピューティングシステム１０００は第２インターフェースの条件を満足するとともに、データの転送速度を２倍に極大化することができる。
【００２１】
また、本発明の実施形態によるコンピューティングシステム１０００は第１インターフェースを支援するホストバスアダプタ１３２０を有する記憶装置１３００を備えることによって、従来のものと比較して記憶装置１３００のためのホストドライバ（ｈｏｓｔ  ｄｒｉｖｅｒ）を別に開発する必要はない。すなわち、本発明の実施形態によるホストプロセッサ１１００は従来のホストドライバを使用して本発明の記憶装置１３００を駆動することができる。
【００２２】
図２は本発明の実施形態によるホストと記憶装置間のデータの流れを概略的に示す図である。図１及び図２を参照すると、データの流れは次のとおりである。
ホストプロセッサ１１００は記憶装置１３００にデータ転送に関するＮＣＱコマンド（書き込みコマンドまたは読み取りコマンド、ＣＭＤ）を実行できるかどうかをまず判断する。このために、ホストプロセッサ１１００は前のコマンド（ｐｒｉｏｒ  ＣＭＤ）が完了したことを確認するためのホストバスアダプタ１３２０のレジスタを読み取る（Ｓ１１）。もし、ホストバスアダプタ１３２０のレジスタを読み取った結果として前のコマンド（ｐｒｉｏｒ  ＣＭＤ）が完了したら、ホストプロセッサ１１００はコマンド（ＣＭＤ）をホストメモリ１２００に発行する（Ｓ１２）。この後、ホストプロセッサ１１００はホストメモリ１２００のコマンド（ＣＭＤ）が発行されたことを通知するコマンドＦＩＳ（ＣＭＤＦＩＳ）をホストバスアダプタ１３２０に送信する（Ｓ１３）。その後、第２インターフェースエミュレータ１３３０はホストメモリ１２００にコマンドＦＩＳ関連情報（例えば、コマンドの種類、アドレス、データなど）を保存することによりコマンドをフェッチ（ＣＭＤ  Ｆｅｔｃｈｉｎｇ）する（Ｓ１４）。これによって、ホストメモリ１２００は記憶装置１３００へデータを転送することができる領域を設定する。
【００２３】
この後、読み取りコマンドまたは書き込みコマンド（ＣＭＤ）によってホストメモリ１２００と記憶装置１３００との間に第２インターフェースの規定を満足するとともにデータ転送が行われる。ここで、データ転送は双方向のデータ転送である。即ち、同時に入力された読み取りコマンドと書き込みコマンドによって双方向のデータ転送が実行されたり、読み取りコマンドと書き込みコマンドが混在した状態で双方向のデータ転送が実行されたりする（Ｓ１５）。データ転送が完了すると、ホストバスアダプタ１３２０は割り込みをホストメモリ１２００に送信する（Ｓ１６）。この後、ホストプロセッサ１１００はコマンド（ＣＭＤ）に応じた動作の完了即ち、コマンド完了の情報をホストメモリ１２００に送信する（Ｓ１７）。
本発明によるコンピューティングシステム１０００はＮＣＱコマンド（ＣＭＤ）によって双方向のデータ転送を行うことができる。
【００２４】
図３は図２に図示された双方向のデータ転送を例示的に示すフローチャートである。図３を参照すると、双方向のデータ転送は次のとおりである。
ＤＭＡ回路１３４０の送信ＤＭＡ回路は書き込みコマンド（Ｗｒｉｔｅ  ＣＭＤ）によって、ホストバス１００１の送信チャネル（ＴＸ）を使用して書き込みデータ（Ｗｒｉｔｅ  Ｄａｔａ）をホストメモリ１２００から受信し、ＤＭＡ回路１３４０の受信ＤＭＡ回路は読み取りコマンド（Ｒｅａｄ  ＣＭＤ）によって、ホストバス１００１の受信チャネル（ＲＸ）を使用して読み取りデータ（Ｒｅａｄ  Ｄａｔａ）をホストメモリ１２００に転送する（Ｓ２１）。即ち、書き込みデータ（Ｗｒｉｔｅ  Ｄａｔａ）と読み取りデータ（Ｒｅａｄ  Ｄａｔａ）の転送は並列に処理される。
【００２５】
ホストバス１００１の送信チャネル（ＴＸ）を介して書き込みデータ（Ｗｒｉｔｅ  Ｄａｔａ）の送信が完了すると、第２インターフェースの規定による書き込みデータＦＩＳ（Ｗｒｉｔｅ  Ｄａｔａ  ＦＩＳ：  ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳ、Ｎｏｎ−Ｄａｔａ  ＦＩＳ、ＳＤＢ（ｓｅｔ  ｄｅｖｉｃｅ  ｂｉｔｓ）ＦＩＳ）がホストメモリ１２００に送信される（Ｓ２２、Ｓ２３、Ｓ２４）。ここで、ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳはデータを送信するためにＤＭＡ回路１３４０（図１参照）を設定する情報を含み、Ｎｏｎ−Ｄａｔａ  ＦＩＳはデータが存在しない情報を含み、ＳＤＢＦＩＳはデータの送信完了または送信状態の情報を含む。ここで、Ｎｏｎ−Ｄａｔａ  ＦＩＳはホストメモリ１２００から発生して記憶装置１３００に送信される。図示されていないが、第２インターフェースの転送の規定を満足するためにＤａｔａ  ＦＩＳは第２インターフェースエミュレータ１３３０（図１参照）から発生したヘッダだけを含み、発生されたＤａｔａ  ＦＩＳはホストバスアダプタ１３２０（図１を参照）で第２インターフェースのエミュレーションのために使用される。
【００２６】
また、ホストバス１００１の受信チャネル（ＲＸ）を介して読み取りデータ（Ｒｅａｄ  Ｄａｔａ）の転送が完了すると、第２インターフェースの規定による読み取りデータＦＩＳ（Ｒｅａｄ  Ｄａｔａ  ＦＩＳ：  ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳ、Ｎｏｎ−Ｄａｔａ  ＦＩＳ、ＳＤＢＦＩＳ）がホストメモリ１２００に転送される（Ｓ２５、Ｓ２６、Ｓ２７）。ここで、ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳはデータを受信するためにＤＭＡ回路１３４０（図１を参照）を使用するかどうかの情報を含み、Ｎｏｎ−Ｄａｔａ  ＦＩＳはデータが存在しない情報を含み、ＳＤＢＦＩＳはデータの受信完了または受信状態の情報を含む。
【００２７】
実施形態において、書き込みデータＦＩＳ（Ｗｒｉｔｅ  Ｄａｔａ  ＦＩＳ）と読み取りデータ（Ｒｅａｄ  Ｄａｔａ  ＦＩＳ）は書き込みデータ（Ｗｒｉｔｅ  Ｄａｔａ）と読み取りデータ（Ｒｅａｄ  Ｄａｔａ）の転送が終わった後順次に発生する。
実施形態において、書き込みデータＦＩＳ（Ｗｒｉｔｅ  Ｄａｔａ  ＦＩＳ）と読み取りデータ（Ｒｅａｄ  Ｄａｔａ  ＦＩＳ）のそれぞれは、ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳ、Ｎｏｎ−Ｄａｔａ  ＦＩＳ、ＳＤＢ  ＦＩＳを順次に発生する。
【００２８】
本発明の実施形態による双方向のデータ転送方法は、第１インターフェースの規定による書き込みデータ（Ｗｒｉｔｅ  Ｄａｔａ）と読み取りデータ（Ｒｅａｄ  Ｄａｔａ）の転送を実行した後、第２インターフェースの規定によるＤＡＴＡ  ＦＩＳ（Ｗｒｉｔｅ  ＦＩＳ、Ｒｅａｄ  ＦＩＳ）を仮想的に生成及び転送する。
【００２９】
図４は本発明によるデータ転送方法を例示的に示すフローチャートである。図１〜図４を参照すると、データ転送方法は次のとおりである。
ホストプロセッサ１１００は記憶装置１３００にＮＣＱコマンド（読み取り／書き込み）を発行する（Ｓ１１０）。ここで、ＮＣＱコマンドは書き込みコマンドと読み取りコマンドを同時に発行したり、順次に発行したりする。ＮＣＱコマンドに応じてホストメモリ１２００と記憶装置１３００との間で第１インターフェースを使用して並列的に書き込みＤＭＡ動作と読み取りＤＭＡ動作が実行される（Ｓ１２０）。書き込みＤＭＡ動作と読み取るＤＭＡ動作が完了した後、第２インターフェースを満足するためのデータＦＩＳシーケンス（例えば、ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳ  ⇒  Ｎｏｎ−Ｄａｔａ  ＦＩＳ  ⇒  ＳＤＢ  ＦＩＳ）が記憶装置１３００からホストメモリ１２００に転送される（Ｓ１３０）。
【００３０】
本発明の実施形態によるデータ転送方法は、第１インターフェースの規定によりＤＭＡ動作を実行した後、第２インターフェースの規定によりＤａｔａ  ＦＩＳを転送する。
図１〜図４で説明されたコンピューティングシステム１０００は外部から第１インターフェースの規定によりホストバス１００１に接続され、内部に第２インターフェースの規定によって動作する記憶装置１３００を備えている。本発明の実施形態によるコンピューティングシステムは第１インターフェースの規定によってホストバスに接続されて動作する記憶装置をさらに備える。
【００３１】
図５は本発明によるコンピューティングシステムの第２実施形態を示すブロック図である。図５を参照すると、コンピューティングシステム２０００はホストバス２００１、少なくとも１つのホストプロセッサ２１００、少なくとも１つのホストメモリ２２００、第１記憶装置２３００と第２記憶装置２４００を備える。ここで、ホストバス２００１、ホストプロセッサ２１００及びホストメモリ２２００は図１に示されたホストバス１００１、ホストプロセッサ１１００、ホストメモリ１２００と同じ動作及び構造で構成される。
【００３２】
第２記憶装置２４００は第１インターフェースによってホストバス２００１に接続される。第２記憶装置２４００は第１インターフェース回路２４１０、少なくとも１つの不揮発性メモリ装置２４５０とメモリコントローラ２４６０を備える。第１インターフェース回路２４１０は第１インターフェースの規定によって、ホストとの通信を実行するように構成される。メモリコントローラ２４６０は第１インターフェースの規定によってコマンド及びデータ転送を実行し、ホストからの要求に応じて不揮発性メモリ装置２４５０を制御する。
一方、第２記憶装置２４００は第１インターフェース記憶装置と呼ばれる。このとき、第１記憶装置２３００はホストが第１インターフェース記憶装置とみなすので、疑似（ｐｓｅｕｄｏ）第１インターフェース記憶装置と呼ばれる。
【００３３】
本発明の実施形態によるコンピューティングシステムは、ＲＡＩＤ（ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｄｅｐｅｎｄｅｎｔ  ｄｉｓｋｓ）の機能をさらに備える。ここで、ＲＡＩＤ機能は複数の記憶装置を単一の論理デバイスとして動作するようにすることで、個々の記憶装置の限られた容量をユーザーが希望するだけ拡張したり、記憶装置に保存されたデータの信頼性を確保したりするために使用される。
【００３４】
図６は本発明によるコンピューティングシステムの第３実施形態を示すブロック図である。図６を参照すると、コンピューティングシステム３０００はホストバス３００１、少なくとも１つのホストプロセッサ３１００、少なくとも１つのホストメモリ３２００、ＲＡＩＤコントローラ３３００、第１記憶装置３４００と第２記憶装置３５００を備える。ここで、ホストバス３００１、ホストプロセッサ３１００及びホストメモリ３２００は、図１に示されたホストバス１００１、ホストプロセッサ１１００、ホストメモリ１２００と同じ動作及び構造で構成される。
【００３５】
ＲＡＩＤコントローラ３３００は第１インターフェースによって、ホストバス３００１に接続され、ＲＡＩＤ機能を提供するために第１及び第２記憶装置３４００、３５００を制御する。ここで、ＲＡＩＤ機能はデータのミラーリング技術を含む。例えば、データのミラーリング技術は第１記憶装置３４００にデータを保存しながら同時に同じデータを第２記憶装置３５００に保存する。ＲＡＩＤコントローラ３３００は第１インターフェースによって、第１及び第２記憶装置３４００、３５００に接続される。第１及び第２記憶装置３４００、３５００はそれぞれ図１に図示された記憶装置１３００と同様に構成される。すなわち、第１及び第２記憶装置３４００、３５００は疑似第１インターフェース記憶装置になる。
【００３６】
本発明の実施形態によるコンピューティングシステム３０００は疑似第１インターフェース記憶装置３４００、３５００を使用してＲＡＩＤ機能を実行する。
図６に図示されたコンピューティングシステム３０００には２つの記憶装置３４００、３５００が示されている。しかし、本発明のＲＡＩＤ機能を実行するための記憶装置の数はこれに限定されない。本発明のコンピューティングシステム３０００は３つ以上の疑似第１インターフェース記憶装置を使用してＲＡＩＤ機能を実行することができる。
【００３７】
図６に図示されたコンピューティングシステム３０００の記憶装置はすべて疑似第１インターフェース記憶装置３４００、３５００である。しかし、本発明のコンピューティングシステムはこれに限定されない。本発明のコンピューティングシステムは少なくとも１つのＨＤＤ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）を備える。
【００３８】
図７は本発明によるコンピューティングシステムの第４実施形態を示すブロック図である。図７を参照すると、コンピューティングシステム４０００は、ホストバス４００１、少なくとも１つのホストプロセッサ４１００、少なくとも１つのホストメモリ４２００、ＲＡＩＤコントローラ４３００、記憶装置４４００とＨＤＤ４５００を備える。ホストバス４００１、ホストプロセッサ４１００及びホストメモリ４２００は、図１に示されたホストバス１００１、ホストプロセッサ１１００、ホストメモリ１２００と同じ動作及び構造で構成される。
【００３９】
ＲＡＩＤコントローラ４３００は第１インターフェースによって、ホストバス４００１に接続され、ＲＡＩＤ機能を提供するために記憶装置４４００とＨＤＤ４５００を制御する。ＲＡＩＤコントローラ４３００はホストの書き込み要求に応答して書き込みデータを記憶装置４４００に保存するとともにＨＤＤ４５００にも保存する。
【００４０】
本発明の実施形態によるコンピューティングシステム４０００は疑似第１インターフェース記憶装置４４００とＨＤＤ４５００を使用してハイブリッド方式でＲＡＩＤ機能を実行する。
本発明の実施形態によるコンピューティングシステムにおいて、第１インターフェースはＰＣＩｅインターフェースからなり、第２インターフェースはＳＡＴＡインターフェースからなる。
【００４１】
図８は本発明によるコンピューティングシステムの第５実施形態を示すブロック図である。図８を参照すると、コンピューティングシステム５０００はホストチップセット５１００とＳＳＤｅ記憶装置５３００を備える。ホストチップセット５１００とＳＳＤｅ記憶装置５３００は、ＰＣＩｅインターフェースを介して接続される。
ホストチップセット５１００はＡＨＣＩコントローラ５１１０、ＰＣＩｅルートポート５１２０及びＰＣＩｅレーン５１３０を備える。ＳＳＤｅ記憶装置５３００はＳＳＤコントローラ５３０１を備える。ＳＳＤコントローラ５３０１は、ＰＣＩｅ物理層５３１０、ＰＣＩｅリンク層５３２０、ＰＣＩｅ転送層５３３０及びＡＨＣＩコントローラ５３４０を備える。
【００４２】
ＰＣＩｅ物理層５３１０はＰＣＩｅレーン５１３０を介してホストチップセット５１００のＰＣＩｅルートポート５１２０に接続される。ＰＣＩｅ物理層５３１０は、ホストチップセット５１００から受信したアナログ信号をデジタルデータに変換したり、ホストチップセット５１００に送信するデジタルデータをアナログ信号に変換したりする。
ＰＣＩｅリンク層５３２０は、ＰＣＩｅ物理層５３１０のデジタルデータをＰＣＩｅ標準符号化／復号化する。
【００４３】
ＰＣＩｅ転送層５３３０は、ホストチップセット５１００とアプリケーション層との間で符号化／復号化されたデータ（あるいは、データパケット）を送信するためのＦＩＳを管理する。ＡＨＣＩコントローラ５３４０は、ＰＣＩｅ規定のデータパケットをＳＡＴＡｅ規定のデータパケットに変更する。
ＡＨＣＩコントローラ５３４０はＳＳＤｅ記憶装置５３００をＰＣＩｅリンクを介してホストに接続されているＰＣＩｅ記憶装置とみなすようにする。
【００４４】
本発明の実施形態によるコンピューティングシステム５０００は、ホストチップセット５１００とＳＳＤｅ記憶装置５３００との間でＰＣＩｅレーンを介してＰＣＩｅリンク層のフォーマットを有するデータパケットを送受信する。
本発明の実施形態によるコンピューティングシステムは、疑似第１インターフェース記憶装置と第２インターフェース記憶装置の両方を備えることもできる。
【００４５】
図９は本発明によるコンピューティングシステムの第６実施形態を示すブロック図である。図９を参照すると、コンピューティングシステム６０００は、中央処理装置６１００（ＣＰＵ）、ＤＲＡＭ６２００、内部チャネルコントローラ６３００、ＡＨＣＩ記憶装置６４００、及びＳＡＴＡ記憶装置６５００を備える。中央処理装置６１００及びＤＲＡＭ６２００は、図１に示されたホストプロセッサ１１００及びホストメモリ１２００にそれぞれ対応する。
【００４６】
内部チャネルコントローラ６３００は、ＰＣＩｅインターフェースによって接続され、ＰＣＩｅルートコンプレックス６３１０、ＡＨＣＩコントローラ６３２０、ＳＡＴＡコントローラ６３３０を備える。
ＡＨＣＩ記憶装置６４００は、ＰＣＩｅインターフェースを介して内部チャネルコントローラ６３００に接続され、ＰＣＩｅ規定のデータパケットをＳＡＴＡ規定のデータパケットに変換するＡＨＣＩコントローラ６４１０を含む。ＡＨＣＩ記憶装置６４００は、外部からはＰＣＩｅ記憶装置とみなされるが、内部的にはＳＡＴＡ記憶装置である。ＡＨＣＩ記憶装置６４００は、図１に図示された記憶装置１３００と同様に動作するように構成される。
【００４７】
ＳＡＴＡ記憶装置６５００は、ＳＡＴＡインターフェースを介して内部チャネルコントローラ６３００に接続され、ＳＡＴＡ規定のデータパケットを処理するＳＡＴＡコントローラ６５１０を備える。ＳＡＴＡ記憶装置６５００は、内部チャネルコントローラ６３００のＳＡＴＡコントローラ６３３０の制御によってＳＡＴＡデータパケットを送受信する。送受信されたＳＡＴＡデータパケットは内部チャネルコントローラ６３００のＡＨＣＩコントローラ６３２０によってＰＣＩｅデータパケットに変換され、変換されたＰＣＩｅデータパケットはＰＣＩｅインターフェースを介して中央処理装置６１００に送受信される。
【００４８】
本発明の実施形態によるコンピューティングシステム６０００は、ＰＣＩｅインターフェースを介して内部チャネルコントローラ６３００に接続された疑似ＰＣＩｅ記憶装置６４００及びＳＡＴＡ記憶装置６５００を備える。
図１０は本発明の実施形態による入出力要求（ＩＯ  ＲＱ）の観点から見たコンピューティングシステム７０００を示す図である。図１０を参照すると、コンピューティングシステム７０００は、中央処理装置７１００、メインメモリ７２００及びＳＡＴＡｅ記憶装置７３００を備える。
【００４９】
ＳＡＴＡｅ記憶装置７３００は、不揮発性メモリ装置７３５０とそれを制御するＳＡＴＡコントローラ７３６０を備える。ＳＡＴＡコントローラ７３６０は、ＰＣＩｅインターフェース回路７３６１、ＳＡＴＡｅエンジン７３６２、オン−チップＳＲＡＭ７３６３及びＤＲＡＭバッファ７３６４を備える。ＳＡＴＡｅエンジン７３６２は、ＡＨＣＩエンジン７３２０、ＳＡＴＡエミュレータ７３３０、ＤＭＡ回路７３４０を備える。特に、ＤＭＡ回路７３４０は、データ転送のための送信ＤＭＡ回路７３４１（ＤＭＡ１）、データ受信のための受信ＤＭＡ回路７３４２（ＤＭＡ２）を含む。
【００５０】
入出力要求（ＩＯ  ＲＱ）のプロセスは次のとおりである。入出力要求（ＩＯ  ＲＱ）が可能であれば、中央処理装置７１００はメインメモリ７２００に入出力要求（ＩＯ  ＲＱ）を送信する（(1)）。入出力要求（ＩＯ  ＲＱ）に対応するコマンドキュー（ｃｏｍｍａｎｄ  ｑｕｅｕｅ）は、コマンドヘッド（ｃｏｍｍａｎｄ  ｈｅａｄｅｒ；  ＣＨ）／コマンドＦＩＳ（ｃｏｍｍａｎｄ  ｆｒａｍｅ  ｉｎｆｏｒｍａｔｉｏｎ  ｓｔｒｕｃｔｕｒｅ；  ＣＦＩＳ）、ＰＲＤＴ（ｐｈｙｓｉｃａｌ  ｒｅｇｉｏｎ  ｄｅｓｃｒｉｐｔｏｒ  ｔａｂｌｅ）、ホストバッファ（ｈｏｓｔ  ｂｕｆｆｅｒ）を含む。ＰＲＤＴは、ホストに送信されるデータやホストから送信されるデータを格納するメモリ領域の構造体を格納するテーブルである。ＰＲＤ（ｐｈｙｓｉｃａｌ  ｒｅｇｉｏｎ  ｄｅｓｃｒｉｐｔｏｒ）は、対応するメモリ領域のアドレスとサイズを含む。
【００５１】
中央処理装置７１００は、入出力要求（ＩＯ  ＲＱ）のブザー（ｄｏｏｒｂｅｌｌ）情報をＳＡＴＡｅ記憶装置７３００に転送する（(2)）。ＳＡＴＡｅ記憶装置７３００のＡＨＣＩエンジン７３２０にはブザー情報を保存するためのホストレジスタ（例えば、ＰｘＣＩ）を備える。ＳＡＴＡｅ記憶装置７３００は、入出力要求（ＩＯ  ＲＱ）に応答してＦＩＳ関連情報をメインメモリ７２００に転送することにより、入出力要求（ＩＯ  ＲＱ）に対してフェッチする（(3)）。また、入出力要求（ＩＯ  ＲＱ）に対応するＦＩＳが自主的に更新される（(4)）。メインメモリ７２００とＳＡＴＡｅ記憶装置７３００との間で送信ＤＭＡ回路７３４１及び受信ＤＭＡ回路７３４２を介して入出力要求（ＩＯ  ＲＱ）によるデータ転送がそれぞれ行われる。データ転送が完了すると、ＳＡＴＡｅ記憶装置７３００は中央処理装置７１００に割り込みを送信する（(5)）。中央処理装置７１００に割り込みが入力された後、中央処理装置７１００は入出力要求が完了した情報をＳＡＴＡｅ記憶装置７３００に転送する（(6)）。
【００５２】
本発明の実施形態によるコンピューティングシステム７０００は、メインメモリ７２００とＳＡＴＡｅ記憶装置７３００との間で入出力要求に基づいて双方向のデータ転送を行うことができる。
図１１は図１０に図示されたＡＨＣＩエンジン７３２０に入出力されるデータパケットのＰＣＩヘッダを例示的に示す図である。図１１を参照すると、ＡＢＡＲはＡＨＣＩベースアドレスとして、ホスト制御レジスタの開始アドレスはＡＢＡＲに０ｘ００００を加えた値になり、ポートレジスタの開始アドレスはＡＢＡＲに０ｘ０１００を加えた値になる。
【００５３】
図１２は図１０に図示されたＡＨＣＩエンジン７３２０に格納されているホストの制御情報を例示的に示す図である。図１２を参照すると、００ｈ〜０３ｈに対応するホスト制御レジスタはホストの能力情報を保存し、０Ｃｈ〜０Ｆｈに対応するホスト制御レジスタは結合されたポート情報を保存する。
【００５４】
図１３は図１０に図示されたＡＨＣＩエンジン７３２０に保存されているポート情報を例示的に示す図である。図１３を参照すると、００ｈ〜０３ｈに対応するポートレジスタはコマンドリストベースアドレスに対するポート情報を格納し、０８ｈ〜０Ｂｈに対応するポートレジスタはＦＩＳベースアドレスに対するポート情報を格納し、２８ｈ〜２Ｂｈに対応するポートレジスタはＳＡＴＡ状態に対するポートの情報を格納し、３８ｈ〜３Ｂｈに対応するポートレジスタはコマンドに対するポート情報を格納する。
【００５５】
図１４Ａ〜図１４Ｈは図１０に図示されたＡＨＣＩエンジン７３２０とＳＡＴＡエミュレータ７３３０との間に送受信されるＦＩＳの規定を例示的に示す図である。図１４Ａ〜図１４Ｂを参照すると、ＦＩＳの規定はＳＡＴＡ３．０仕様を満足する。図１４ＡはＦＩＳの種類であり、図１４ＢはＨ２ＤＦＩＳレイアウト、図１４ＣはＤ２ＨＦＩＳレイアウト、図１４ＤはＰＩＯ  Ｓｅｔｕｐ  ＦＩＳレイアウト、図１４ＥはＤＭＡ  Ｓｅｔｕｐ  ＦＩＳレイアウト、図１４Ｆは、ＤＭＡ  Ａｃｔｉｖａｔｅ  ＦＩＳレイアウト、図１４ＧはＤａｔａ  ＦＩＳレイアウト、図１４ＨはＳＤＢ  ＦＩＳレイアウトを示す図である。
【００５６】
図１５は図１０に示されているメインメモリ７２００のホストバッファの構造を例示的に示す図である。図１５を参照すると、ポートレジスタＰｘＣＬＢはコマンドテーブル（ＣＴ）を識別するための複数のコマンドを有するコマンドリスト構造（コマンドキュー）を保存し、ポートレジスタＰｘＦＢは入力されたＦＩＳ構造を保存する。コマンドリスト構造に対するメインメモリ７２００からホストバッファベースアドレスはポートレジスタＰｘＣＬＢによって識別することができる。ＦＩＳ構造に対するメインメモリ７２００からホストバッファベースアドレスはポートレジスタＰｘＦＢによって識別することができる。
【００５７】
図１６は図１５に図示されたコマンドリストの構造を例示的に示す図である。図１６を参照すると、コマンドヘッダ（ｃｏｍｍａｎｄ  ｈｅａｄｅｒ）のそれぞれはコマンドテーブルのベースアドレス（ＤＷ２）とコマンドテーブルのベースアドレスの上位３２ビット（ＤＷ３）を保存する。
【００５８】
図１７は図１６に図示されたコマンドテーブルを例示的に示す図である。図１７を参照すると、コマンドテーブルは複数のアイテム（Ｉｔｅｍ０〜ＩｔｅｍＣＨｚ［ＰＲＤＴＬ］−１）を有するＰＲＤＴ（ｐｈｙｓｉｃａｌ  ｒｅｇｉｏｎ  ｄｅｓｃｒｉｐｔｏｒ  ｔａｂｌｅ）を含む。アイテム（Ｉｔｅｍ０〜ＩｔｅｍＣＨｚ［ＰＲＤＴＬ］−１）のそれぞれはデータベースアドレス（ＤＢＡ）を含む。データベースアドレス（ＤＢＡ）はメインメモリ７２００のホストバッファに保存される。ＰＲＤＴはプリフェッチ（ｐｒｅｆｅｔｃｈｉｎｇ）のために使用される。
【００５９】
図１８は図１５に図示されたＲｅｃｅｉｖｅｄ  ＦＩＳ構造を例示的に示す図である。図１８を参照すると、ＦＩＳはＤＭＡセットアップＦＩＳ、ＰＩＯセットアップＦＩＳ、Ｄ２ＨレジスタＦＩＳ、未確認ＦＩＳ、予備領域を備える。
【００６０】
図１９は図１０に図示されたコンピューティングシステム７０００から実行される読み取りコマンドの過程を例示的に示す図である。図１９を参照すると、ＡＨＣＩエンジン７３２０のレジスタＰｘＣＩはＮＣＱコマンドを受信し、ＡＨＣＩエンジン７３２０はＮＱＱコマンドによるＦＩＳ情報をＳＡＴＡｅエミュレータ７３３０とやりとりし、関連するＦＩＳ情報（ＣＨ、Ｈ２ＤＦＩＳ、ＰＲＤテーブルなど）をメインＤＲＡＭ７２００に転送することによってコマンドをフェッチする。その後、ＳＡＴＡｅエンジン７３６２はメインメモリ７２００にアクセスすることによってコマンドによる入出力データが転送される。その後、ＳＡＴＡの規定によるＤＭＡセットアップＦＩＳ及びＳＤＢＦＩＳがＳＡＴＡｅエミュレータ７３３０からＡＨＣＩエンジン７３２０に転送され、ＡＨＣＩエンジン７３２０はこれらをメインメモリ７２００に転送する。その後、読み取りの完了情報がＡＨＣＩエンジン７３２０に転送される。
【符号の説明】
【００６１】
１０００、２０００、３０００、４０００、５０００、６０００、７０００・・・コンピューティングシステム
１１００・・・ホストプロセッサ
１２００・・・ホストメモリ
１００１・・・ホストバス
１３００・・・記憶装置
１３１０・・・第１インターフェース回路
１３２０・・・ホストバスアダプタ
１３３０・・・第２インターフェースエミュレータ
１３４０・・・ダイレクトメモリアクセス回路
１３５０・・・不揮発性メモリ装置
１３６０・・・メモリコントローラ
ＦＩＳ・・・フレーム情報構造
ＣＨ・・・コマンドヘッダ
ＣＦＩＳ・・・コマンドＦＩＳ
ＰＲＤＴ・・・物理領域ディスクリプタテーブル
【図１】
2014106977.tif 000003
【図２】
2014106977.tif 000004
【図３】
2014106977.tif 000005
【図４】
2014106977.tif 000006
【図５】
2014106977.tif 000007
【図６】
2014106977.tif 000008
【図７】
2014106977.tif 000009
【図８】
2014106977.tif 000010
【図９】
2014106977.tif 000011
【図１０】
2014106977.tif 000012
【図１１】
2014106977.tif 000013
【図１２】
2014106977.tif 000014
【図１３】
2014106977.tif 000015
【図１４Ａ】
2014106977.tif 000016
【図１４Ｂ】
2014106977.tif 000017
【図１４Ｃ】
2014106977.tif 000018
【図１４Ｄ】
2014106977.tif 000019
【図１４Ｅ】
2014106977.tif 000020
【図１４Ｆ】
2014106977.tif 000021
【図１４Ｇ】
2014106977.tif 000022
【図１４Ｈ】
2014106977.tif 000023
【図１５】
2014106977.tif 000024
【図１６】
2014106977.tif 000025
【図１７】
2014106977.tif 000026
【図１８】
2014106977.tif 000027
【図１９】
2014106977.tif 000028