(57)【特許請求の範囲】
【請求項１】
プロセッサから受信したパケットコマンドをインターコネクトを介し光記憶装置に送信し、以降において前記光記憶装置から割込み信号を受信する記憶装置ホストコントローラと、
前記記憶装置ホストコントローラの前記割込み信号の受信に応答して、データ転送コマンドを格納するシステムメモリから前記データ転送コマンドを抽出するダイレクトメモリアクセスユニットと、
から構成される装置であって、
前記記憶装置ホストコントローラは、その後、前記データ転送コマンドを前記光記憶装置に送信することを特徴とする装置。
【請求項２】
請求項１記載の装置であって、
前記インターコネクトは、シリアルインターコネクトであることを特徴とする装置。
【請求項３】
請求項２記載の装置であって、さらに、
システムメモリ内の位置を示すデータ転送コマンドアドレスを格納するデータ転送コマンドベースレジスタを有することを特徴とする装置。
【請求項４】
請求項３記載の装置であって、
前記データ転送コマンドは、１２バイトものコマンド情報を有することを特徴とする装置。
【請求項５】
請求項４記載の装置であって、
前記インターコネクトは、シリアルＡＴＡインターコネクトであることを特徴とする装置。
【請求項６】
プロセッサと、
前記プロセッサに接続されるメモリコントローラハブと、
前記メモリコントローラハブに接続され、データ転送コマンドを格納するシステムメモリと、
光記憶装置と、
インターコネクトを介し前記光記憶装置と前記メモリコントローラハブに接続されるシステム論理装置と、
から構成されるシステムであって、
前記システム論理装置は、
前記プロセッサから受信したパケットコマンドをインターコネクトを介し前記光記憶装置に送信し、以降において前記光記憶装置から割込み信号を受信する記憶装置ホストコントローラと、
前記記憶装置ホストコントローラによる前記割込み信号の受信に応答して、前記システムメモリから前記データ転送コマンドを抽出するダイレクトメモリアクセスユニットと、
から構成され、
前記記憶装置ホストコントローラは以降において前記データ転送コマンドを前記光記憶装置に送信することを特徴とするシステム。
【請求項７】
請求項６記載のシステムであって、
前記インターコネクトは、シリアルインターコネクトであることを特徴とするシステム。
【請求項８】
請求項７記載のシステムであって、さらに、
システムメモリ内の位置を示すデータ転送コマンドアドレスを格納するデータ転送コマンドベースレジスタを有することを特徴とするシステム。
【請求項９】
請求項８記載のシステムであって、
前記データ転送コマンドは、１２バイトものコマンド情報を有することを特徴とするシステム。
【請求項１０】
請求項９記載のシステムであって、
前記インターコネクトは、シリアルＡＴＡインターコネクトであることを特徴とするシステム。
【請求項１１】
データ転送コマンドをシステムメモリに格納するステップと、
パケットコマンドを光記憶装置に送信するステップと、
前記光記憶装置から記憶装置ホストコントローラにおいて割込み信号を受信するステップと、
前記割込み信号の受信に応答して、前記データ転送コマンドを前記システムメモリから前記光記憶装置に送信するため、ダイレクトメモリアクセストランザクションを実行するステップと、
から構成されることを特徴とする方法。
【請求項１２】
請求項１１記載の方法であって、
前記ダイレクトメモリアクセストランザクションを実行するステップは、データ転送コマンドベースレジスタのコンテンツにより示される前記システムメモリ内の位置から前記データ転送コマンドを抽出することを特徴とする方法。
【請求項１３】
請求項１２記載の方法であって、さらに、
システムメモリ内の前記データ転送コマンドの位置により前記データ転送コマンドレジスタをプロセッサによりプログラムするステップを有することを特徴とする方法。
【請求項１４】
請求項１３記載の方法であって、
前記ダイレクトメモリアクセストランザクションを実行するステップは、前記記憶装置ホストコントローラによる前記ダイレクトメモリアクセストランザクションの管理を含むことを特徴とする方法。
【請求項１５】
請求項１４記載の方法であって、
前記パケットコマンドを光記憶装置に送信するステップは、前記プロセッサによる前記パケットコマンドの前記光記憶装置への送信の開始を含むことを特徴とする方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［発明の技術分野］
本発明は、コンピュータシステムの技術分野に関する。より詳細には、本発明は、データ転送のための光記憶装置のプログラミング技術に関する。
［発明の背景］
典型的なコンピュータシステムは、大規模ストレージのためディスクドライブを利用する。ディスクドライブは、通常は、システム論理装置に設けられるホストコントローラに接続される。ディスクドライブは、インターコネクトを介しホストコントローラに接続される。そのようなインターコネクトの１つは、ＡＴアタッチメント（ＡＴＡ）インターコネクトである。ホストコントローラは、ＡＴＡインターコネクトを介しディスクドライブと通信する。
【０００２】
１つのタイプの大容量記憶装置は、光記憶装置を有する。光記憶装置の例として、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｋ）、ＣＤ−ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｃｏｍｐａｃｔ  Ｄｉｓｋ）などがあげられる。典型的なコンピュータシステムは、ＡＴＡパケットインタフェース（ＡＴＡＰＩ）を介しこれらの光記憶装置と通信する。プロセッサが光記憶装置からのデータ転送を所望するとき、プロセッサはまず、光記憶装置に「パケット」コマンドを発行する。このパケットコマンドは、ＡＴＡプロトコルに準拠し、光記憶装置にプロセッサがデータ転送のためのコマンドプログラミング情報を含むデータブロックを光記憶装置に送信することを所望していることを通知するコマンドである。光記憶装置がこのパケットコマンドを処理すると、この記憶装置が実際のデータ転送コマンド情報の受信準備ができたことを示す割込みを発行する。その後、プロセッサは、このデータ転送コマンド情報を光記憶装置に送出する。データ転送コマンドを光記憶装置に送出するため、プロセッサはワードライトサイクル系列を実行する（１２バイトまで）。
【０００３】
従って、光記憶装置からのデータ転送を開始するため、光記憶装置のプログラミングは、まずパケットコマンドを発行し、その後データ転送コマンドを送信することからなる２つのステッププロセスである。従来システムでは、プロセッサはこれら２つのステップの両方に関与する。プロセッサは、かなりの時間をすべての光記憶装置のデータ転送に対し発生する割込みに要し、このため、システム全体のパフォーマンスは低下することになる。
【０００４】
［詳細な説明］
一般に、一実施例は、プロセッサにキャッシュ可能なシステムメモリへのデータ転送コマンドを書き込ませることに関する。その後、プロセッサは、「パケット」コマンドを光記憶装置に送信するためライトトランザクションを実行する。光記憶装置は、パケットコマンドを処理すると、割込みを発行することによりパケットコマンドに応答する。割込みの発行は、光記憶装置がデータ転送コマンドの受信準備ができたことを示す。シリアルインターコネクトを介し光記憶装置に接続されるホストコントローラにより、この割込みが受信される。その後、ホストコントローラは、システムメモリにあるデータ転送コマンドを読み出し、このデータ転送コマンドを光記憶装置に送出するＤＭＡ転送を発生させる。プロセッサは、割込みの供用（データ転送コマンドの光記憶装置への転送）には関与せず、このため、他のタスクを実行するため解放され、システム全体のパフォーマンスは向上する。
【０００５】
図１は、ダイレクトメモリアクセス（ＤＭＡ）ユニット１４４と、記憶装置ホストコントローラ１４２と、システムメモリアドレスを格納するベースレジスタ１４６とから構成される入出力コントローラハブ１４０を有するコンピュータシステムのブロック図である。本システム１００はさらに、プロセッサ１１０と、メモリコントローラハブ１２０と、システムメモリ１３０とを有する。プロセッサ１１０は、メモリコントローラハブ１２０を介し入出力ハブ１４０またはシステムメモリ１３０と通信する。一実施例は、Ｉｎｔｅｌ(登録商標)ＣｏｒｐｏｒａｔｉｏｎからのＰｅｎｔｉｕｍ(登録商標)プロセッサシリーズからのプロセッサを有するようにしてもよい。他の実施例は、他のタイプのプロセッサまたはマイクロコントローラを利用するようにしてもよい。
【０００６】
システム１００はまた、インターコネクト１５５を介し記憶装置ホストコントローラ１４２に接続される光記憶装置１５０を有する。本実施例では、インターコネクト１５５はシリアルＡＴＡインターコネクトであるが、他の実施例では、他のタイプのインターコネクトが利用可能である。本実施例の光記憶装置１５０は、ＤＶＤドライブ、ＣＤ−ＲＯＭドライブ、あるいは他の何れかのタイプの光記憶装置であってもよい。本実施例では、記憶装置ホストコントローラ１４２は、ＡＴＡＰＩプロトコルを用いてシリアルＡＴＡインターコネクト１５５を介し光記憶装置１５０と通信する。
【０００７】
システム１００の構成は、広範な可能な構成の１つにすぎない。
【０００８】
本実施例では、光記憶装置１５０がデータ転送を開始するようプログラミングされる必要があるとき、プロセッサ１１０はまず、システムメモリ１３０のある場所にデータ転送コマンドを書き込む。このデータ転送コマンドは１２バイトもの情報を有するようにしてもよいが、他の実施例では、他の長さを利用することも可能である。プロセッサ１１０はまた、システムメモリ１３０内のデータ転送コマンドの位置を示すアドレスを有する入出力コントローラハブ１４０内のベースレジスタ１４６をプログラムする。その後、プロセッサ１１０は、光記憶装置１５０に「パケット」コマンドを書き込む。光記憶装置１５０は、このパケットコマンドを処理し、その後、光記憶装置１５０がデータ転送コマンドの受信準備ができたことを示す割込みメッセージをインターコネクト１５５を介し発行する。
【０００９】
この光記憶装置１５０からの割込みメッセージは、記憶装置ホストコントローラ１４２により受信される。この割込みに応答して、ホストコントローラ１４２は、ベースレジスタ１４６のコンテンツにより示されるシステムメモリ１３０内の位置からデータ転送コマンドを読み出し、このデータ転送コマンドを光記憶装置１５０に送信するＤＭＡユニット１４４を用いたＤＭＡトランザクションを実行し、その後、データ転送コマンドの処理に進む。
【００１０】
図２は、ＡＴＡＰＩ装置プログラミング回数を向上するための方法の一実施例のフロー図である。本プロセスはブロック２１０から開始される。ブロック２２０において、プロセッサはデータ転送コマンドをシステムメモリに書き込む。その後ブロック２３０において、プロセッサは、パケットコマンドを光記憶装置に送信する。ブロック２４０において、ホストコントローラは、光記憶装置から割込みメッセージを受信する。この割込みメッセージに応答して、ホストコントローラは、ブロック２５０において、データ転送コマンドを光記憶装置に送信するため、システムメモリからのＤＭＡトランザクションを実行する。ブロック２６０において、本プロセスは終了する。
【００１１】
上記明細書において、具体的な実施例を参照することにより、本発明が説明された。しかしながら、添付された請求項与えられるような本発明のより広範な趣旨及び範囲から逸脱することなく、様々な改良及び変更が可能であるということは明らかであろう。このため、明細者及び図面は、限定的なものとしてでなく、例示的なものとしてみなされるべきである。
【００１２】
明細書における「ある実施例」、「一実施例」、「一部の実施例」または「他の実施例」との表現は、当該実施例に関して説明された特徴または構成が少なくとも一部の実施例に含まれるが、必ずしも本発明のすべての実施例に含まれる必要はないということ意味している。「ある実施例」、例」「一実施または「一部の実施例」の各表現は、そのすべてが必ずしも同一の実施例を参照しているとは限らない。
【図面の簡単な説明】
【００１３】
【図１】図１は、ダイレクトメモリアクセス（ＤＭＡ）ユニットと光記憶装置に接続されるホストコントローラとを含む入出力コントローラハブを含むコンピュータシステムのブロック図である。
【図２】図２は、ＡＴＡＰＩプログラミング回数を向上させる方法のフロー図である。
【図１】
0004664077.tif 000002
【図２】
0004664077.tif 000003