(57)【要約】【課題】複数の処理ユニットに用いるためのリモート・メディア・キャッシュ最適化のシステム及び方法を提供すること。【解決手段】本発明は、複数の処理ユニットと、記憶装置と、この記憶装置をその複数の処理ユニットに結合させるための記憶装置アダプタとを含むデータ処理システムを含む。このデータ処理システムは、記憶装置に結合されたキャッシュも含む。このキャッシュは、記憶装置から取り出されたデータを格納するためのデータ・パーティションと、複数のセンス・データ・パーティションとを含む。複数のセンス・パーティションの各々は、複数の処理ユニットのうちの夫々の１つに対応する。記憶装置が第１処理ユニットから第１コマンドを受信したことに応答して、記憶装置はそのコマンドに対するレスポンスを発行し、記憶装置アダプタは第１コマンドに対応するセンス・データを第１センス・データ・パーティションに格納する。【選択図】図３
2008544436.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムであって、当該データ処理システムは、
複数の処理ユニットと、
相互接続を介して前記複数の処理ユニットに結合された記憶装置アダプタと、
前記相互接続を介して前記記憶装置アダプタに結合された記憶装置と、
前記記憶装置に結合されたキャッシュとを含み、前記キャッシュは、
前記記憶装置から取り出されたデータを格納するためのデータパーティションと、
複数のセンス・データパーティションとを更に含み、前記複数のセンス・データパーティションの各々は、前記複数の処理ユニットのうちの夫々の１つに対応し、前記記憶装置が前記複数の処理ユニットのうちの第１処理ユニットから第１読取りコマンドを受け取ったことに応答して、前記記憶装置は前記第１読取りコマンドに対するレスポンスを発行し、前記記憶装置アダプタは、前記第１読取りコマンドに対応するセンス・データを前記複数のセンス・データパーティションのうちの前記第１処理ユニットに対応する第１センス・データパーティションに格納する、前記データ処理システム。
【請求項２】
前記第１読取りコマンドにより要求されたデータが前記データパーティションに格納されていないと前記キャッシュが判定したことに応答して、前記記憶装置アダプタは前記第１読取りコマンドを前記記憶装置に受け渡し、前記第１読取りコマンドを受け取ったことに応答して、前記記憶装置は前記第１読取りコマンドにより要求された前記データを前記データパーティション及び前記第１処理ユニットに送信し、前記センス・データは前記第１処理ユニットに対応する第１センス・データパーティションに格納される、請求項１に記載のデータ処理システム。
【請求項３】
前記キャッシュが前記複数の処理ユニットのうちの第１処理ユニットから第１読取りコマンドを受信し、かつ前記キャッシュが前記第１読取りコマンドにより要求されたデータが前記データパーティションに格納されていると判定したことに応答して、前記記憶装置アダプタは前記第１読取りコマンドにより要求された前記データを前記第１処理ユニットに受け渡す、請求項１に記載のデータ処理システム。
【請求項４】
前記キャッシュが前記複数の処理ユニットのうちの第１処理ユニットから第１読取りコマンドを受信し、かつ前記キャッシュが前記第１読取りコマンドにより要求されたデータが前記データパーティションに格納されていると判定したことに応答して、前記記憶装置アダプタは、前記第１読取りコマンドにより要求された前記データを前記第１処理ユニットに受け渡し、かつ、前記複数の処理ユニットのうちの、前記第１読取りコマンドにより要求された前記データを初めに要求した第２処理ユニットに対応するセンス・データを取り出す、請求項１に記載のデータ処理システム。
【請求項５】
複数の処理ユニットのうちの第１処理ユニットから第１読取りコマンドを受信するステップと、
前記受信に応答して、前記第１読取りコマンドに対してレスポンスを発行するステップと、
前記第１コマンドに対応するセンス・データを複数のセンス・データパーティションのうちの前記第１処理ユニットに対応する第１センス・データパーティションに格納するステップと、
を含む方法。
【請求項６】
前記第１読取りコマンドにより要求されたデータが前記データパーティションに格納されていないと判定したことに応答して、前記第１読取りコマンドを記憶装置に受け渡すステップと、
前記第１読取りコマンドを受信したことに応答して、前記第１読取りコマンドにより要求された前記データを前記データパーティション及び前記第１処理ユニットに送信するステップとを更に含み、前記センス・データは前記第１処理ユニットに対応する第１センス・データパーティションに格納される、請求項５に記載の方法。
【請求項７】
前記第１読取りコマンドにより要求されたデータが前記データパーティションに格納されていると判定したことに応答して、前記第１読取りコマンドにより要求された前記データを前記第１処理ユニットに受け渡すステップを更に含む、請求項５に記載の方法。
【請求項８】
前記第１読取りコマンドにより要求されたデータが前記データパーティションに格納されていると判定したことに応答して、前記第１読取りコマンドにより要求された前記データを前記第１処理ユニットに受け渡すステップと、
前記複数の処理ユニットのうちの、前記第１読取りコマンドにより要求された前記データを初めに要求した第２処理ユニットに対応するセンス・データを取り出すステップと、
を更に含む、請求項５に記載の方法。
【請求項９】
コンピュータ・システムにロードされてその上で実行するときに、請求項５から８までのうちのいずれか１つに記載の方法の全ステップを前記コンピュータ・システムに実行させるコンピュータ・プログラム・コードを含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、データ処理システムの分野に関する。特に、本発明はマルチプロセッサ・データ処理システムの分野に関する。更に特に、本発明はリモート・メディア・キャッシュ最適化のシステム及び方法に関する。
【背景技術】
【０００２】
多くの最新のコンピュータ・システムは、周辺機器を結合させ、また周辺機器への又は周辺機器からのアクセスを制御するためにシステム・インターフェースを利用する。その様なシステム・インターフェースの例は、小型コンピュータ・システム・インターフェース（ＳＣＳＩ）バス又はユニバーサル・シリアル・バス（ＵＳＢ）である。ＳＣＳＩバス及びＵＳＢバスは、ＣＤ−ＲＯＭ、ＤＶＤ、テープ、及びハードディスク・ドライブのようなメモリ・ドライブを結合させるために特に良く適している。ＳＣＳＩデバイス及びＵＳＢデバイスに共通の特徴は、“センス・データ”を記憶するメモリ・デバイスである。センス・データは、記憶媒体に格納されているデータの状態を記述し、或いはＣＤ−ＲＯＭドライブ、ＤＶＤドライブ、テープ・ドライブ、及びハードディスク・ドライブにおける読取りヘッドの位置を示す。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
当業者は、多くの最新式コンピュータ・システムが複数の処理ユニットを含むことを認識しているであろう。それらの複数の処理ユニットは通例システム・バスに結合され、システム・バスは複数の処理ユニットとコンピュータ・システムの周辺機器との間の相互接続として作用する。２つの異なる処理ユニットによる１つの周辺機器への連続するアクセスの間に問題が生じる。第１処理ユニットによる１つの周辺機器への第１アクセスは、その第１アクセスに関連するセンス・データの第１セットをもたらす。その周辺機器への第２処理ユニットによる第２アクセスは、その第２アクセスに関連するセンス・データの第２セットをもたらす。第２アクセス後、第１処理ユニットはセンス・データの第１セットについてその周辺機器に照会をすることができる。しかし、その周辺機器は、代わりに第２アクセスに関連するセンス・データの第２セットを返すであろう。従って、複数の処理ユニットによる周辺機器へのアクセスを制御するシステム及び方法が必要とされる。
【課題を解決するための手段】
【０００４】
好ましい実施態様において、本発明は、複数の処理ユニットに用いるためのリモート・メディア・キャッシュ最適化のシステム及び方法を提供する。本発明は、複数の処理ユニットと、記憶装置と、この記憶装置をその複数の処理ユニットに結合させるための記憶装置アダプタとを含むデータ処理システムを開示する。このデータ処理システムは、記憶装置に結合されたキャッシュも含む。このキャッシュは、記憶装置から取り出されたデータを格納するためのデータパーティションと、複数のセンス・データパーティションとを含む。複数のセンス・パーティションの各々は、複数の処理ユニットのうちの夫々の１つに対応する。記憶装置が第１処理ユニットから第１コマンドを受信したことに応答して、記憶装置はそのコマンドに対するレスポンスを発行し、記憶装置アダプタは第１コマンドに対応するセンス・データを第１センス・データパーティションに格納する。
【０００５】
本発明の、上記の特徴と、付加的な目的、特徴、及び利点は以下の詳細な記述から明らかになるであろう。
【０００６】
次に、本発明の好ましい実施態様が、単なる例として、添付図面を参照して説明される。
【発明を実施するための最良の形態】
【０００７】
図１は、本発明の好ましい実施態様がその中で実現され得る代表的データ処理システム１００を示すブロック図である。図示されているように、モジュール１１４は、処理ユニット１０２ａ−ｎの集合をキャッシュ１０８に結合させる仮想ＵＳＢコネクション１０６ａ−ｎの集合を含む。処理ユニット１０２ａ−ｎは好ましくは“ブレード・サーバ”として実現され、それは少なくとも１つのプロセッサ及びメモリを含む回路基板である。各ブレード・サーバは、好ましくはウェブ・ページにサービスするなどの専門タスクを実行し、他の多くの同様のブレード・サーバと共にスペース・セービング・ラックに容易に挿入され得る。キャッシュ１０８はＵＳＢドライブ・インターフェース１１０に結合されており、これはＵＳＢ  ＤＶＤドライブ１１２のようなＵＳＢ周辺機器をモジュール１１４に結合させる。ＵＳＢ周辺機器が必ずしもＤＶＤドライブでなくても良くて、本発明の好ましい実施態様を実現するためにどの様なＵＳＢ記憶周辺機器も利用され得ることを当業者は認めるであろう。
【０００８】
データ処理システム１００が図１に特に示されていない多くの付加的コンポーネントを含み得ることを当業者は認めるであろう。その様な付加的コンポーネントは必ずしも本発明の理解のためにはならないので、図１には示されていない、また本書ではこれ以上は論じられない。本発明により提供される複数の処理ユニットによる周辺機器へのアクセスを実現するための該データ処理システムの増強はどの様なシステム・アーキテクチャのデータ処理システムにも適用可能であって、図１に示されている一般化されたマルチプロセッサには決して限定されないということも理解されるべきである。
【０００９】
図２は、本発明の好ましい実施態様がその中で実現され得る代表的キャッシュ１０８を描いたブロック図である。図示されているように、キャッシュ１０８は、リモート・メディア・キャッシュ２００と、仮想ＵＳＢコネクション１０６ａ−ｎ及び処理ユニット１０２ａ−ｎに対応するセンス・データ・キャッシュ２０２ａ−ｎの集合とを含む（センス・データ・キャッシュ２０２ａ−ｎはキャッシュ１０８内のパーティションを表す）。本発明の代表的実施態様では、処理ユニット１０２ａ−ｎは、要求されたデータを取り出すためにコマンドをＵＳＢ  ＤＶＤドライブ１１２へ中継する。リモート・メディア・キャッシュ２００へのアクセスはＵＳＢ  ＤＶＤドライブ１１２へのアクセスより何桁も速いので、ＵＳＢ  ＤＶＤドライブ１１２から取り出されたデータは、その取り出されたデータへの将来のより高速なアクセスを可能にするために、リモート・メディア・キャッシュ２００に入れられる（キャッシュされる）。
【００１０】
センス・データ・キャッシュ２０２ａ−ｎは、処理ユニット１０２ａ−ｎから発行されたコマンドに関連するセンス・データを記憶する。例えば、処理ユニット１０２ａはＵＳＢ  ＤＶＤドライブ１１２にデータ読取りコマンドを発行することができる。このデータ読取りコマンドは、仮想ＵＳＢコネクション１０６ａを介してキャッシュ１０８に入る。ＵＳＢドライブ・インターフェース１１０はデータ読取りコマンドをＵＳＢ  ＤＶＤドライブ１１２に受け渡す。要求されたデータがＵＳＢ  ＤＶＤドライブ１１２から送り戻されるとき、その要求されたデータはリモート・メディア・キャッシュ２００に入れられる。処理ユニット１０２ａにより発行されたデータ読取りコマンドに関連するセンス・データはセンス・データ・キャッシュ２０２ａに格納される。この好ましい実施態様は、第２処理ユニット１０２ｂが別のデータを要求する第２データ読取りコマンドを発行してその第２データ読取りコマンドに関連するセンス・データを返した後でも、処理ユニット１０２ａが後でデータ読取りコマンドに関連付けられたセンス・データを取り出すことを可能にする。
【００１１】
図３は、本発明の好ましい実施態様に従う複数の処理ユニットによる周辺機器へのアクセスを制御する方法を示す高レベル論理フローチャートである。プロセスはステップ３００から始まってステップ３０２へ続き、これは処理ユニット１０２ａがコマンドをＵＳＢ  ＤＶＤドライブ１１２へ発行することを示しており、そのコマンドはＵＳＢドライブ・インターフェース１１０を介して中継される。前に論じられたように、ＵＳＢ  ＤＶＤドライブ１１２は、どの様なデータ記憶周辺機器として実現されても良いが、好ましくは（限定はされないが）ＣＤ−ＲＯＭ、ＤＶＤ、又はテープ・ドライブのようなリモート記憶媒体周辺機器である。
【００１２】
その後、プロセスはステップ３０４に進み、これは、処理ユニット１０２ａから発行されたコマンドがセンス・データを要求するリクエストであるか否かをＵＳＢドライブ・インターフェース１１０が判定することを描いている。発行されたコマンドがセンス・データを要求するリクエストであるとＵＳＢドライブ・インターフェース１１０が判定したならば、プロセスはステップ３０６に続き、キャッシュ１０８がセンス・データ・キャッシュ２０２ａに格納されている要求されたセンス・データを処理ユニット１０２ａに返すことを描いている。その後、プロセスはステップ３０２に戻って反復して進む。
【００１３】
発行されたコマンドがセンス・データを要求するリクエストではないとＵＳＢドライブ・インターフェース１１０が判定したならば、プロセスはステップ３０８に進み、発行されたコマンドが読み取りコマンドであるか否かをＵＳＢドライブ・インターフェース１１０が判定することを示している。そのコマンドが読み取りコマンドではないと判定されたならば、ステップ３１０に描かれているように、そのコマンド（これは書込みコマンド又は他のコマンドであり得る）はＵＳＢ  ＤＶＤドライブ１１２に送信され、ここでそのコマンドは処理される。その後、プロセスはステップ３１２に進み、これはＵＳＢドライブ・インターフェース１１０がそのコマンドに関連するセンス・データを取り出すことを示している。その後、プロセスはステップ３１４に続き、これはＵＳＢドライブ・インターフェース１１０が取り出されたセンス・データをセンス・データ・キャッシュ２０２ａに格納することを示している。その後、プロセスはステップ３１６に進み、これは、ＵＳＢドライブ・インターフェース１１０が発行されたコマンドに対するＵＳＢ  ＤＶＤドライブ１１２のレスポンスを処理ユニット１０２ａに返すことを描いている。その後、プロセスはステップ３０２に戻って、反復して続行される。
【００１４】
ステップ３０８に戻って、コマンドが読み取りコマンドであると判定されたならば、プロセスはステップ３１８に続き、要求されたデータがリモート・メディア・キャッシュ２００に存在するか否かをＵＳＢドライブ・インターフェース１１０が判定することを示している。要求されたデータがリモート・メディア・キャッシュ２００に既に格納されていれば、プロセスはステップ３２６に続き、ＵＳＢドライブ・インターフェース１１０が要求されたデータと、要求されたデータに関連するセンス・データとをキャッシュから取り出すことを描いている。センス・データは、要求されたデータをＵＳＢ  ＤＶＤドライブ１１２から初めに取り出した処理ユニット１０２ａ−ｎに対応するセンス・データ・キャッシュ２０２ａ−ｎから取り出される。これは、処理ユニット１０２ａが取り出されるどのデータに関しても常に最も更新されたセンス・データを持つであろうことを保証する。その後、プロセスはステップ３１４に進み、ＵＳＢドライブ・インターフェース１１０が要求されたデータに関連するセンス・データをセンス・データ・キャッシュ２０２ａに格納することを示す。その後、プロセスはステップ３１６に進み、ステップ３０２に戻り、反復して進む。
【００１５】
ステップ３１８に戻って、要求されたデータがリモート・データ・キャッシュ２００に存在しないとＵＳＢドライブ・インターフェース１１０が判定したならば、プロセスはステップ３２０に進み、これは、ＵＳＢドライブ・インターフェース１１０が読み取りコマンドをＵＳＢ  ＤＶＤドライブ１１２に送信することを示している。その後、ステップ３２２により描かれているように、ＵＳＢドライブ・インターフェース１１０はその読み取りコマンドに関連するセンス・データをＵＳＢ  ＤＶＤドライブ１１２から取り出す。その後、プロセスはステップ３２４に進み、これはＵＳＢドライブ・インターフェース１１０が要求されたデータとセンス・データとをリモート・メディア・キャッシュ２００に格納することを示している。その後、プロセスはステップ３１４に続き、これはＵＳＢドライブ・インターフェース１１０が要求されたデータに関連するセンス・データをセンス・データ・キャッシュ２０２ａに格納することを描いている。その後、プロセスはステップ３１６に進み、ステップ３０２に戻り、反復して進む。
【００１６】
本発明の少なくとも幾つかの側面が、プログラムを記憶するコンピュータ可読媒体においても実現され得ることも理解されるべきである。本発明における機能を定義したプログラムがいろいろな信号担持媒体を介してデータ記憶システム又はコンピュータ・システムに配信され得るが、その信号担持媒体は、限定無しで、書き込み不可能な記憶媒体（例えば、ＣＤ−ＲＯＭ）、書き込み可能な記憶媒体（例えば、フロッピー（登録商標）・ディスケット、ハード・ディスク・ドライブ、リード／ライトＣＤ−ＲＯＭ、光媒体）、及び、コンピュータ及びイーサネット（登録商標）を含む電話ネットワークのような通信媒体を含む。従って、このような信号担持媒体において、コンピュータ可読命令を伝達或いは符号化するとき、本発明における直接方法機能が本発明の代替実施態様を表すことが理解されるべきである。更に、本書に記載されたハードウェア、ソフトウェア、又はソフトウェア及びハードウェアの組み合わせの形の手段或いはそれらの同等物を有するシステムによって本発明が具体化され得ることが分かる。
【００１７】
本発明は好ましい実施態様に関して詳しく示され記述されているが、本発明の範囲から逸脱すること無くそれらの形及び細部に種々の変更を加え得ることを当業者は理解するであろう。
【００１８】
また、エミュレートされたハードウェア環境のようなプログラムから成るコンピュータ可読媒体においても本発明の少なくとも幾つかの側面が具体化され得ることが理解されるべきである。本発明における機能を定義したプログラムがいろいろな信号担持媒体を介してデータ記憶システム又はコンピュータ・システムに配信され得るが、その信号担持媒体は、限定無しで、書き込み不可能な記憶媒体（例えば、ＣＤ−ＲＯＭ）、書き込み可能な記憶媒体（例えば、フロッピー（登録商標）・ディスケット、ハード・ディスク・ドライブ、リード／ライトＣＤ−ＲＯＭ、光媒体）、及び、コンピュータ及びイーサネット（登録商標）を含む電話ネットワークのような通信媒体を含む。従って、このような信号担持媒体において、コンピュータ可読命令を伝達或いは符号化するとき、本発明における直接方法機能が本発明の代替実施態様を表すことが理解されるべきである。更に、本書に記載されたハードウェア、ソフトウェア、又はソフトウェア及びハードウェアの組み合わせの形の手段或いはそれらの同等物を有するシステムによって本発明が具体化され得ることが分かる。
【００１９】
開示されたように、本発明の好ましい実施態様は複数の処理ユニットに用いるためのリモート・メディア・キャッシュ最適化のシステム及び方法を提供する。本発明の好ましい実施態様は、複数の処理ユニットと、記憶装置と、その記憶装置をその複数の処理ユニットに結合させるための記憶装置アダプタとを含むデータ処理システムを開示している。このデータ処理システムは、記憶装置に結合されたキャッシュも含む。キャッシュは、記憶装置から取り出されたデータを格納するためのデータパーティションと、複数のセンス・データパーティションとを含む。複数のセンス・パーティションの各々は、複数の処理ユニットのうちの夫々の１つに対応する。記憶装置が第１処理ユニットから第１コマンドを受信したことに応答して、記憶装置はそのコマンドに対するレスポンスを発行し、記憶装置アダプタは第１コマンドに対応するセンス・データを第１センス・データパーティションに格納する。
【００２０】
本発明は好ましい実施態様に関して詳しく示され記述されているが、本発明の範囲から逸脱すること無くそれらの形及び細部に種々の変更を加え得ることを当業者は理解するであろう。
【図面の簡単な説明】
【００２１】
【図１】本発明の好ましい実施態様を実現できる代表的データ処理システムを示すブロック図である。
【図２】本発明の好ましい実施態様が実現され得る代表的キャッシュを描いたブロック図である。
【図３】本発明の好ましい実施態様に従う複数の処理ユニットによる周辺機器へのアクセスを管理する方法を示す高レベル論理フローチャートである。
【図４】処理のフローチャートである。
【図５】処理のフローチャートである。
【図６】処理のフローチャートである。
【図７】処理のフローチャートである。
【図８】処理のフローチャートである。
【図９】処理のフローチャートである。
【図１０】処理のフローチャートである。
【図１１】処理のフローチャートである。
【図１２】処理のフローチャートである
【図１】
2008544436.tif 000003
【図２】
2008544436.tif 000004
【図３】
2008544436.tif 000005
【図４】
2008544436.tif 000006
【図５】
2008544436.tif 000007
【図６】
2008544436.tif 000008
【図７】
2008544436.tif 000009
【図８】
2008544436.tif 000010
【図９】
2008544436.tif 000011
【図１０】
2008544436.tif 000012
【図１１】
2008544436.tif 000013
【図１２】
2008544436.tif 000014
2008544436.tif 000015
2008544436.tif 000016
2008544436.tif 000017
2008544436.tif 000018
2008544436.tif 000019
2008544436.tif 000020
2008544436.tif 000021
2008544436.tif 000022
2008544436.tif 000023
【手続補正書】
【提出日】平成20年2月19日(2008.2.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
【図１】本発明の好ましい実施態様を実現できる代表的データ処理システムを示すブロック図である。
【図２】本発明の好ましい実施態様が実現され得る代表的キャッシュを描いたブロック図である。
【図３】本発明の好ましい実施態様に従う複数の処理ユニットによる周辺機器へのアクセスを管理する方法を示す高レベル論理フローチャートである。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008544436.tif 000024
【図２】
2008544436.tif 000025
【図３】
2008544436.tif 000026
【国際調査報告】
2008544436.tif 000027
2008544436.tif 000028
2008544436.tif 000029