(57)【特許請求の範囲】
【請求項１】
データアクセスシステムであって、当該システムは、少なくとも２つのメモリ共有装置により構成されるメモリ共有リソースプールと、前記メモリ共有リソースプールにおける前記メモリ共有装置に対応する少なくとも２つの制御装置とを有し、
前記メモリ共有装置のそれぞれは、データを記憶するよう構成される統一的にアドレッシングされるメモリユニットを有し、前記メモリ共有装置における第１メモリ共有装置がアドレス情報を含み、前記第１メモリ共有装置に対応する第１制御装置により送信されたメモリアクセスリクエストを受信すると、ここで、前記メモリ共有装置のそれぞれはそれぞれ統一的にアドレッシングされるメモリユニットのアドレスの範囲を記憶し、前記それぞれ統一的にアドレッシングされるメモリユニットのアドレスの範囲は互いに異なり、
前記アドレス情報に対応するメモリユニットが前記第１メモリ共有装置におけるメモリユニットである場合、前記第１メモリ共有装置は、前記第１メモリ共有装置におけるメモリユニットからデータを読み取り、前記データを前記第１制御装置にフィードバックし、
前記アドレス情報に対応するメモリユニットが前記第１メモリ共有装置におけるメモリユニットでない場合、前記第１メモリ共有装置は更に、前記第１メモリ共有装置に記憶されるそれぞれ統一的にアドレッシングされるメモリユニットのアドレスの範囲に従って、前記アドレス情報に対応するメモリユニットが前記メモリ共有リソースプールの第２メモリ共有装置におけるメモリユニットであると判断するよう構成され、前記第１メモリ共有装置は更に、前記第２メモリ共有装置に前記メモリアクセスリクエストを転送し、前記第２メモリ共有装置におけるメモリユニット内にあって、前記第２メモリ共有装置によりフィードバックされたデータを受信し、
前記メモリ共有装置の何れかにおける前記第１メモリ共有装置が、アドレス情報を含み、前記第２メモリ共有装置により転送されたメモリアクセスリクエストを受信すると、前記第１メモリ共有装置は、データを読み取り、前記読み取られたデータを前記第２メモリ共有装置にフィードバックするデータアクセスシステム。
【請求項２】
前記メモリ共有装置は、記憶モジュール、処理モジュール及び通信ユニットを有し、
前記記憶モジュールは、前記処理モジュールに接続され、前記記憶モジュールは、前記メモリ共有リソースプールにおける少なくとも１つの統一的にアドレッシングされるメモリユニットを有し、前記メモリユニットはデータを記憶するよう構成され、
前記処理モジュールは、通信インタフェースを利用することによって１つの制御装置に接続され、前記通信ユニットを介し前記メモリ共有リソースプールにおける１以上の他のメモリ共有装置に接続され、前記通信インタフェースを介し前記処理モジュールに接続された前記制御装置により送信されたメモリアクセスリクエストを受信し、前記通信ユニットを利用することによって、前記１以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信し、及び／又は前記制御装置により送信されたメモリアクセスリクエストを前記メモリ共有リソースプールにおける１以上の他のメモリ共有装置に転送し、前記１以上の他のメモリ共有装置により転送されたメモリアクセスリクエストは対応する制御装置から前記１以上の他のメモリ共有装置により受信され、前記メモリアクセスリクエストは前記メモリ共有リソースプールの複数のメモリ共有装置における統一的なアドレッシングを受けたメモリユニットのアドレス情報を有し、前記アドレス情報は、前記メモリ共有リソースプールの何れかのメモリ共有装置のメモリユニットにおけるデータを取得するのに利用される、請求項１記載のデータアクセスシステム。
【請求項３】
前記メモリ共有装置は、前記メモリ共有リソースプールにおける統一的なアドレッシングを受けたメモリユニットのアドレッシングデータを取得するため、前記通信ユニットを利用することによって、前記メモリ共有リソースプールにおける１以上の他のメモリ共有装置にクエリメッセージをブロードキャストし、前記取得したアドレッシングデータを前記処理モジュールに記憶する、請求項２記載のデータアクセスシステム。
【請求項４】
前記２つの制御装置における何れかの制御装置は、通信モジュールを有し、前記何れかの制御装置の通信モジュールは、プラグ着脱可能なメモリ共有モジュールを接続することによって当該データアクセスシステムにアクセスする、請求項１記載のデータアクセスシステム。
【請求項５】
前記通信インタフェースは、高速システムバス、スイッチ又はイーサネットインタフェースである、請求項２又は３記載のデータアクセスシステム。
【請求項６】
データ読み取り方法であって、
メモリ共有リソースプールにおける第１メモリ共有装置が、前記第１メモリ共有装置を制御する第１制御装置により送信されたメモリアクセスリクエストを受信するステップであって、前記メモリアクセスリクエストは統一的なアドレッシングを受けたアドレス情報を有し、前記アドレス情報はデータを記憶するよう構成され、前記メモリ共有リソースプールの少なくとも２つのメモリ共有装置において統一的なアドレッシングを受けた１以上のメモリユニットのアドレス情報であり、前記少なくとも２つのメモリ共有装置における何れかのメモリ共有装置は、少なくとも２つの制御装置における１つの制御装置の制御の下でデータを読み取り、前記第１メモリ共有装置は前記少なくとも２つのメモリ共有装置の１つであり、前記メモリ共有装置のそれぞれはそれぞれ統一的にアドレッシングされたメモリユニットのアドレスの範囲を記憶し、前記それぞれ統一的にアドレッシングされたメモリユニットのアドレスの範囲は互いに異なる、受信するステップと、
前記第１メモリ共有装置が、前記アドレス情報に従って、前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置を決定するステップと、
前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が前記第１メモリ共有装置である場合、前記第１メモリ共有装置が、前記第１メモリ共有装置自体におけるアドレス情報に対応するメモリユニットからデータを取得するか、又は、
前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が前記第１メモリ共有装置でない場合、前記第１メモリ共有装置が、前記第１メモリ共有装置に記憶されるそれぞれ統一的にアドレッシングされるメモリユニットのアドレスの範囲に従って、前記アドレス情報に対応するメモリユニットが第２メモリ共有装置におけるメモリユニットであると判断し、前記第１メモリ共有装置が、前記メモリアクセスリクエストを前記第２メモリ共有装置に転送し、前記第２メモリ共有装置により返されたデータを受信するステップと、
前記第１メモリ共有装置が、前記データを読み取り、前記データを前記第１制御装置にフィードバックするステップと、
を有する方法。
【請求項７】
前記メモリ共有リソースプールにおける第１メモリ共有装置が前記第１メモリ共有装置を制御する第１制御装置により送信されたメモリアクセスリクエストを受信する前、当該方法は更に、
前記メモリ共有リソースプールにおける第１メモリ共有装置が、前記メモリ共有リソースプールの全てのメモリ共有装置のメモリユニットのアドレッシングデータを取得するため、前記メモリ共有リソースプールにおける１以上の他のメモリ共有装置にクエリメッセージをブロードキャストするステップを有する、請求項６記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット分野に関し、特にデータアクセスシステム、メモリ共有装置及びデータ読み取り方法に関する。
【背景技術】
【０００２】
現在、インターネットの発展及び普及によって、分散システムがより広範に適用されている。分散ファイルシステム（Ｄｉｓｔｒｉｂｕｔｅｄ  ｆｉｌｅ  ｓｙｓｔｅｍ、ＤＦＳ）は、ネットワーク上に確立されたソフトウェアシステムを表す。分散ファイルシステムは、高い結合性及び透明性によって特徴付けされる。結合性は、システムにおける分散化された各データベースノードが高度な自律性を有することを意味し、透明性は、分散化された各データベースノードがユーザのアプリケーションに透過であることを意味する。しかしながら、分散システムの間の共有アクセスに対するレスポンスの速度は、分散システムの全体的な性能に影響を与える。
【０００３】
従来技術では、分散システムの間の情報共有の問題を解決するため、図１に示される交換ネットワークベースの情報共有方式が通常利用される。図１では、取得側として機能する制御システムＡにおけるＣＰＵは、提供側として機能する制御システムＢにおけるメモリユニットのデータを取得することを所望し、処理は以下の通りである。（１）制御システムＡにおけるＣＰＵは、制御システムＢにおけるＣＰＵにリクエストメッセージを送信し、（２）制御システムＢにおけるＣＰＵは、リクエストメッセージに従って制御システムＢにおけるメモリユニットからデータを読み出し、（３）制御システムＢにおけるＣＰＵは、制御システムＡにおけるＣＰＵに当該データを含む実行結果を返し、（４）制御システムＡにおけるＣＰＵは、実行結果からデータを抽出し、当該データを処理のため上位システムに転送する。上記の処理では、データの全ての送信が制御システムＡ及び制御システムＢにおける中央処理ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵ）の参加による処理を受ける必要がある。
【０００４】
一例として既存の交換ネットワークベースの情報共有方式を利用することによって、図２に示される処理では、制御システムＡにおけるＣＰＵは、制御システムＢにおけるメモリユニットのデータを取得することを所望し、これは、制御システムＡが取得側として機能し、制御システムＢが提供側として機能することを意味する。具体的な処理は以下である。実線を利用することによって図２に示される手順では、プログラムを実行すると、制御システムＡにおけるＣＰＵは、制御システムＢのメモリのデータを取得する必要があり、制御システムＡにおけるＣＰＵは、交換網を介し制御システムＢにおけるＣＰＵにリクエストメッセージを送信し、当該リクエストメッセージを解析した後、制御システムＢにおけるＣＰＵは、制御システムＡにおけるＣＰＵが制御システムＢのメモリのデータを取得する必要があることを知り、このとき、制御システムＢにおけるＣＰＵは、リクエストメッセージに従って制御システムＢのメモリのメモリユニットにアクセスし、当該メモリユニットからデータを取得し、メモリユニットからデータを取得した後、制御システムＢにおけるＣＰＵは、制御システムＡにおけるＣＰＵに取得したデータをフィードバックし、これは、破線を利用することによって図２に示される手順である。制御システムＢにおけるＣＰＵは、交換網を利用することによって、制御システムＡにおけるＣＰＵにデータを含む実行結果を返す。制御システムＡにおけるＣＰＵは、実行結果からデータを取得し、当該データを処理のため上位システムに送信する。従って、従来技術における交換ネットワークベース情報共有方式では、制御システムＡが他の制御システムのデータを取得するとき、制御システムＡと制御システムＢにおけるＣＰＵの双方が処理に参加する必要がある。特に、複数の制御システムが他の制御システムのデータを相互に取得するとき、複数の制御システムにおけるＣＰＵの全てが処理に参加し、これにより、提供側として機能する制御システムにおけるＣＰＵの性能は、情報共有処理全体において過剰に消費され、ＣＰＵの浪費を生じする。さらに、実行中のＣＰＵが提供側として機能する何れかの制御システムにおいて故障すると、制御システムにより所持されるデータは他の制御システムによりアクセス不可となり、これにより、システム全体の信頼性を低下させる。
【０００５】
従って、従来技術は以下の欠点を有する。（１）制御システムＡと制御システムＢとにおけるＣＰＵの双方が情報の共有制御に参加する必要があり、これにより、提供側として機能する制御システムにおけるＣＰＵの性能が情報共有処理全体において過剰に消費され、ＣＰＵの浪費を招き、（２）実行中のＣＰＵが提供側として機能する制御システムＢにおいて故障すると、制御システムＢにより所持されるデータが他の端末によりアクセス不可となり、これにより、システム全体の信頼性を低下させる。
【発明の概要】
【０００６】
本発明の課題は、提供側として機能する制御システムにおけるＣＰＵの性能が過剰に消費されるため、ＣＰＵの浪費を生じさせ、システム全体の信頼性が低下する従来技術における問題点を解決するため、データアクセスシステムを提供することである。情報処理のための方法、装置及びシステムが提供される。
【０００７】
第１の態様によると、本発明の実施例は、データアクセスシステムであって、当該システムは、少なくとも２つのメモリ共有装置により構成されるメモリ共有リソースプールと、前記メモリ共有リソースプールにおける前記メモリ共有装置に対応する少なくとも２つの制御装置とを有し、
前記メモリ共有装置の何れかは、データを記憶するよう構成される統一的にアドレッシングされるメモリユニットを有し、前記メモリ共有装置における第１メモリ共有装置がアドレス情報を含み、前記第１メモリ共有装置に対応する第１制御装置により送信されたメモリアクセスリクエストを受信すると、
前記アドレス情報に対応するメモリユニットが前記第１メモリ共有装置におけるメモリユニットである場合、前記第１メモリ共有装置は、前記第１メモリ共有装置におけるメモリユニットからデータを読み取り、前記データを前記第１制御装置にフィードバックし、前記アドレス情報に対応するメモリユニットが前記メモリ共有リソースプールの第２メモリ共有装置におけるメモリユニットである場合、前記第１メモリ共有装置は、前記第２メモリ共有装置に前記メモリアクセスリクエストを転送し、前記第２メモリ共有装置におけるメモリユニット内にあって、前記第２メモリ共有装置によりフィードバックされたデータを受信し、
前記メモリ共有装置の何れかにおける前記第１メモリ共有装置が、アドレス情報を含み、前記第２メモリ共有装置により転送されたメモリアクセスリクエストを受信すると、前記第１メモリ共有装置は、データを読み取り、前記読み取られたデータを前記第２メモリ共有装置にフィードバックするデータアクセスシステムを提供する。
【０００８】
第１の態様に基づき、第１の可能な実現方式では、前記メモリ共有装置は、記憶モジュール、処理モジュール及び通信ユニットを有し、
前記記憶モジュールは、前記処理モジュールに接続され、前記記憶モジュールは、前記メモリ共有リソースプールにおける少なくとも１つの統一的にアドレッシングされるメモリユニットを有し、前記メモリユニットはデータを記憶するよう構成され、
前記処理モジュールは、通信インタフェースを利用することによって１つの制御装置に接続され、前記通信ユニットを介し前記メモリ共有リソースプールにおける１以上の他のメモリ共有装置に接続され、前記通信インタフェースを介し前記処理モジュールに接続された前記制御装置により送信されたメモリアクセスリクエストを受信し、前記通信ユニットを利用することによって、前記１以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信し、及び／又は前記制御装置により送信されたメモリアクセスリクエストを前記メモリ共有リソースプールにおける１以上の他のメモリ共有装置に転送し、前記１以上の他のメモリ共有装置により転送されたメモリアクセスリクエストは対応する制御装置から前記１以上の他のメモリ共有装置により受信され、前記メモリアクセスリクエストは前記メモリ共有リソースプールの複数のメモリ共有装置における統一的なアドレッシングを受けたメモリユニットのアドレス情報を有し、前記アドレス情報は、前記メモリ共有リソースプールの何れかのメモリ共有装置のメモリユニットにおけるデータを取得するのに利用される。
【０００９】
第１の態様の第１の可能な実現方式に基づき、第１の態様の第２の可能な実現方式では、前記メモリ共有装置は、前記メモリ共有リソースプールにおける統一的なアドレッシングを受けたメモリユニットのアドレッシングデータを取得するため、前記通信ユニットを利用することによって、前記メモリ共有リソースプールにおける１以上の他のメモリ共有装置にクエリメッセージをブロードキャストし、前記取得したアドレッシングデータを前記処理モジュールに記憶する。
【００１０】
第１の態様に基づき、第１の態様の第３の可能な実現方式では、前記２つの制御装置における何れかの制御装置は、通信モジュールを有し、前記何れかの制御装置の通信モジュールは、プラグ着脱可能なメモリ共有モジュールを接続することによって当該データアクセスシステムにアクセスする。
【００１１】
第１の態様又は第１の態様の第１〜３の可能な実現方式に基づき、第１の態様の第４の可能な実現方式では、前記通信インタフェースは、高速システムバス、スイッチ又はイーサネットインタフェースである。
【００１２】
第２の態様によると、本発明の実施例は、記憶モジュール、処理モジュール及び通信ユニットを有するメモリ共有装置であって、
前記記憶モジュールは、前記処理モジュールに接続され、データを記憶するよう構成され、
前記処理モジュールは、通信インタフェースを利用することによって１つの制御装置に接続され、当該メモリ共有装置が配置されるメモリ共有リソースプールにおける１以上の他のメモリ共有装置に前記通信ユニットを介し接続され、前記通信インタフェースを介し前記処理モジュールに接続された前記制御装置により送信されたメモリアクセスリクエストを受信し、前記通信ユニットを利用することによって、前記メモリ共有リソースプールにおける１以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信し、及び／又は前記制御装置により送信されたメモリアクセスリクエストを前記メモリ共有リソースプールにおける１以上の他のメモリ共有装置に転送し、前記１以上の他のメモリ共有装置に転送されたメモリアクセスリクエストは、対応する制御装置から前記１以上の他のメモリ共有装置により受信され、前記メモリアクセスリクエストは、前記メモリ共有リソースプールの複数のメモリ共有装置における統一的なアドレッシングを受けたメモリユニットのアドレス情報を有し、前記アドレス情報は、前記メモリ共有リソースプールの何れかのメモリ共有装置のメモリユニットにおけるデータを取得するため利用されるメモリ共有装置を提供する。
【００１３】
第２の態様に基づき、第２の態様の第１の可能な実現方式では、前記通信ユニットを利用することによって前記メモリ共有リソースプールにおける１以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信した後、前記処理モジュールは、前記メモリアクセスリクエストに含まれるアドレス情報に対応するメモリユニットからデータを取得し、前記通信ユニットを利用することによって前記１以上の他のメモリ共有装置に結果を返し、前記１以上の他のメモリ共有装置は、前記通信インタフェースを介し前記メモリアクセスリクエストを前記１以上の他のメモリ共有装置に送信した前記制御装置に前記結果を返す。
【００１４】
第２の態様に基づき、第２の態様の第２の可能な実現方式では、前記処理モジュールは更に判断ユニットを有する。前記アドレス情報に対応するメモリユニットにおけるメモリユニットの第１部分がローカルな当該メモリ共有装置にあり、第２部分が第２メモリ共有装置にあると前記判断ユニットが判断した場合、前記処理モジュールは、当該ローカルなメモリ共有装置における記憶モジュールから前記メモリユニットの第１部分におけるデータを読み取り、前記メモリアクセスリクエストのアドレス情報におけるメモリユニットの第１部分のアドレスを削除し、前記通信ユニットを利用することによって、前記メモリユニットの第２部分のアドレスのみを有するメモリアクセスリクエストを前記１以上の他のメモリ共有装置に転送する。
【００１５】
第２の態様又は第２の態様の第１若しくは第２の可能な実現方式に基づき、第２の態様の第３の可能な実現方式では、当該メモリ共有装置は更に、外部電源がないとき、ストレージ用の電気エネルギーを提供するよう構成される電源モジュールを有し、当該メモリ共有装置は、前記電源モジュールを利用することによってプラグ着脱可能な不揮発性ランダム・アクセス・メモリＮＶＲＡＭを構成する。
【００１６】
第２の態様又は第２の態様の第１〜３の可能な実現方式に基づき、第２の態様の第４の可能な実現方式では、当該メモリ共有装置は更に、前記記憶モジュールにおけるアプリケーションプログラムをデバッグし、前記通信ユニットにおけるトラフィックを制御するよう構成される管理モジュールを有する。
【００１７】
第２の態様又は第２の態様の第１〜４の可能な実現方式に基づき、第２の態様の第５の可能な実現方式では、前記処理モジュールは、フィールド・プログラマブル・ゲート・アレイＦＰＧＡである。
【００１８】
第３の態様によると、本発明の実施例は、データ読み取り方法であって、
メモリ共有リソースプールにおける第１メモリ共有装置が、前記第１メモリ共有装置を制御する第１制御装置により送信されたメモリアクセスリクエストを受信するステップであって、前記メモリアクセスリクエストはアドレス情報を有し、前記アドレス情報はデータを記憶するよう構成され、前記メモリ共有リソースプールの少なくとも２つのメモリ共有装置において統一的なアドレッシングを受けた１以上のメモリユニットのアドレスであり、前記少なくとも２つのメモリ共有装置における何れかのメモリ共有装置は、少なくとも２つの制御装置における１つの制御装置の制御の下でデータを読み取り、前記第１メモリ共有装置は前記少なくとも２つのメモリ共有装置の１つである、受信するステップと、
前記第１メモリ共有装置が、前記アドレス情報に従って、前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置を決定するステップと、
前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が前記第１メモリ共有装置である場合、前記第１メモリ共有装置が、前記第１メモリ共有装置自体におけるアドレス情報に対応するメモリユニットからデータを取得するか、又は、
前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が第２メモリ共有装置である場合、前記第１メモリ共有装置が、前記メモリアクセスリクエストを前記第２メモリ共有装置に転送し、前記第２メモリ共有装置により返されたデータを受信するステップと、
前記第１メモリ共有装置が、前記データを読み取り、前記データを前記第１制御装置にフィードバックするステップと、
を有する方法を提供する。
【００１９】
第３の態様に基づき、第１の可能な実現方式では、前記メモリ共有リソースプールにおける第１メモリ共有装置が前記第１メモリ共有装置を制御する第１制御装置により送信されたメモリアクセスリクエストを受信する前、当該方法は更に、
前記メモリ共有リソースプールにおける第１メモリ共有装置が、前記メモリ共有リソースプールの全てのメモリ共有装置のメモリユニットのアドレッシングデータを取得するため、前記メモリ共有リソースプールにおける１以上の他のメモリ共有装置にクエリメッセージをブロードキャストするステップを有する。
【００２０】
本発明の実施例において提供されるデータアクセスシステムは、少なくとも２つのメモリ共有装置により構成されるメモリ共有リソースプールと、メモリ共有リソースプールにおけるメモリ共有装置に対応する少なくとも２つの制御装置とを有し、何れかのメモリ共有装置は、データを記憶するよう構成される統一的にアドレッシングされるメモリユニットを有し、メモリ共有装置は、メモリ共有装置に対応する制御装置に従ってメモリユニットからデータを読み取る。データがメモリ共有リソースプールにおける１以上の他のメモリ装置から読み取られると、従来技術における提供側として機能する制御装置のワークロードが低減し、提供側として機能する制御装置の利用が増加し、一方、各制御システムにより必要とされるデータがメモリ共有リソースプールに記憶され、各制御システムは他の制御システムのデータを共有可能であり、これにより、分散システムにおける記憶されたデータの信頼性を向上させる。
【図面の簡単な説明】
【００２１】
本発明の実施例における技術的方策をより明確に説明するため、以下において、実施例又は従来技術を説明するのに必要な添付図面が簡単に紹介される。明らかに、以下の説明における添付図面は本発明の単なるいくつかの実施例を示し、当業者は、創作的な努力なく、これらの添付図面から他の図面を依然として導出してもよい。
【図１】図１は、従来技術による情報共有方式の構成図である。
【図２】図２は、従来技術による情報共有方式の概略的なフローチャートである。
【図３】図３は、本発明の実施例による情報データアクセスシステムの概略図である。
【図４】図４は、本発明の実施例によるデータアクセスシステムにおけるメモリ共有装置の概略図である。
【図５Ａ】図５Ａは、本発明の実現方式におけるメモリ共有装置のワーキングプロセスの概略図である。
【図５Ｂ】図５Ｂは、本発明の他の実現方式におけるメモリ共有装置のワーキングプロセスの概略図である。
【図５Ｃ】図５Ｃは、本発明の他の実現方式におけるメモリ共有装置のワーキングプロセスの概略図である。
【図６】図６は、本発明の実施例によるデータアクセスシステムの他の実現方式の構成図である。
【図７】図７は、本発明の実施例によるデータアクセスシステムの他の実施例の構成図である。
【図８】図８は、本発明の実施例によるデータ読み取り方法のフローチャートである。
【図９】図９は、本発明の実施例によるデータ読み取り方法の他の実施例のフローチャートである。
【図１０】図１０は、本発明によるメモリ共有装置の実現方式の概略的な構成図である。
【図１１】図１１は、本発明によるメモリ共有装置の他の実現方式の概略的な構成図である。
【発明を実施するための形態】
【００２２】
以下は更に、添付した図面及び実施例を参照して本発明の技術的方策を詳細に説明する。
【００２３】
本発明の実施例は、少なくとも２つのメモリ共有装置と、通信インタフェースを利用することによってメモリ共有装置に接続される少なくとも２つの制御装置とを含むデータアクセスシステムを提供する。少なくとも２つのメモリ共有装置は、データアクセスシステムにおけるメモリ共有リソースプールを構成し、各制御装置は各メモリ共有装置に対応し、少なくとも２つの制御装置における１つの制御装置がメモリ共有リソースプールにおけるデータを読み取ることを所望するとき、制御装置は、制御装置に対応するメモリ共有装置を利用することによってメモリ共有リソースプールにおける必要とされるデータを読み取る。
【００２４】
図３に示されるように、本発明の本実施例はデータアクセスシステムを提供し、当該システムは、少なくとも２つのメモリ共有装置により構成されるメモリ共有リソースプールと、通信インタフェースを利用することによってメモリ共有装置に接続される複数の制御装置とを有する。通信インタフェースは、限定することなく、高速システムバス、スイッチ又はイーサネットインタフェースである。複数のメモリ共有装置はメモリ共有リソースプールを構成し、各メモリ共有装置は、複数の制御装置の１つに対応し、複数の制御装置の１つとの制御関係を確立する。各メモリ共有装置と複数の制御装置の１つとが、高速システムバスを利用することによって接続される場合、各メモリ共有装置に接続される制御装置はメモリ共有装置を制御し、制御装置がスイッチ又はイーサネットインタフェースを利用することによってネットワーク上でメモリ共有装置に接続される場合、１つの制御装置が１つのメモリ共有装置を制御するか、又は１つの制御装置がメモリ共有リソースプールにおける何れかのメモリ共有装置を制御するという課題を解決するため、ポートコンフィギュレーションやＩＰ割当てなどの方式によりメモリ共有装置と制御装置との間の対応関係が確立できる。
【００２５】
メモリ共有リソースプールにおける何れかのメモリ共有装置は、データを記憶するよう構成される統一的にアドレッシングされるメモリユニットを有し、メモリ共有装置における第１メモリ共有装置が、アドレス情報を含み、第１メモリ共有装置に対応する第１制御装置により送信されたメモリアクセスリクエストを受信すると、
アドレス情報に対応するメモリユニットが第１メモリ共有装置におけるメモリユニットである場合、第１メモリ共有装置は、第１メモリ共有装置におけるメモリユニットからデータを読み取り、データを第１制御装置にフィードバックし、アドレス情報に対応するメモリユニットがメモリ共有リソースプールの第２メモリ共有装置におけるメモリユニットである場合、第１メモリ共有装置は、第２メモリ共有装置にメモリアクセスリクエストを転送し、第２メモリ共有装置におけるメモリユニット内にあって、第２メモリ共有装置によりフィードバックされたデータを受信し、
メモリ共有装置の何れかにおける第１メモリ共有装置が、アドレス情報を含み、第２メモリ共有装置により転送されたメモリアクセスリクエストを受信すると、第１メモリ共有装置は、第１メモリ共有装置からデータを読み取り、読み取られたデータを第２メモリ共有装置にフィードバックする。
【００２６】
図４に示されるように、各メモリ共有装置は、処理モジュール５０１、記憶モジュール５０２及び通信ユニット５０３を有する。通信ユニット５０３を利用することによって、メモリ共有装置は１以上の他のメモリ共有装置と通信可能であり、これらのメモリ共有装置は同じメモリ共有リソースプールに属し、記憶モジュール５０２は複数のメモリユニットを有し、メモリユニットはメモリ共有リソースプール全体における統一的なアドレッシングを受け、メモリユニットはデータを記憶するよう構成され、処理モジュール５０１は、制御装置から受信したメモリアクセスリクエストを処理し、記憶モジュール５０２からデータを読み取るよう構成される。各メモリ共有装置の処理モジュール５０１は１つのアドレステーブルを記憶してもよく、アドレステーブルはメモリ共有リソースプールにおける全てのメモリユニットのアドレスを記録する。
【００２７】
メモリ共有装置における処理モジュール５０１は、通信インタフェースを利用することによって１つの制御装置に接続され、通信インタフェースを介し処理モジュール５０１に接続された制御装置により送信されたメモリアクセスリクエストを受信し、通信ユニット５０３を介しメモリ共有リソースプールにおける１以上の他のメモリ共有装置に接続され、通信ユニット５０３を利用することによって、１以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信する。さらに、処理モジュール５０１が処理モジュール５０１に接続された制御装置により送信されたメモリアクセスリクエストを受信した後、メモリアクセスリクエストによりアクセスされるメモリユニットが１以上の他のメモリ共有装置内にあるとき、処理モジュール５０１は、通信ユニット５０３を利用することによって、アクセス対象のメモリユニットが配置されるメモリ共有装置に当該リクエストを転送する。メモリアクセスリクエストはアドレス情報を有する。処理モジュール５０１は、制御装置がアクセスすることを所望するメモリユニットが配置されるメモリ共有装置を決定し、メモリ共有リソースプールにおける何れかのメモリ共有装置のデータを取得し、当該データは、メモリ共有装置の記憶モジュール５０２のメモリユニットに配置されている。
【００２８】
本発明の本実施例におけるバーチャルメモリ共有リソースプールは、以下の方式により実現可能である。メモリ共有装置は、通信ユニットを利用することによってデータ交換ドメインを構成し、データ交換ドメインに含まれるメモリユニットに対して統一的なアドレッシングを実行し、交換ドメインにおけるメモリ共有装置にアドレッシングを受けたアドレス情報を送信する。
【００２９】
図３に示されるように、取得側として機能する第１制御装置１１０が、メモリ共有リソースプールから必要とされるデータを取得する必要があるとき、第１制御装置１１０は、第１制御装置１１０に対応する第１メモリ共有装置２１０にメモリアクセスリクエストを送信し、メモリアクセスリクエストは、第１制御装置１１０が取得することを所望するデータのアドレス情報を含み、第１メモリ共有装置２１０は、処理モジュール５０１におけるアドレステーブル及びアドレス情報に従ってクエリを実行し、第１制御装置１１０により必要とされるデータの記憶位置を決定する。第１制御装置１１０により必要とされるデータが第１メモリ共有装置２１０の記憶モジュール５０２のメモリユニットにあるとき、記憶モジュール５０２のメモリユニットのデータは直接アクセスされ、第１制御装置１１０にフィードバックされ、第１制御装置１１０により必要とされるデータが第１メモリ共有装置２１０における記憶モジュール５０２内にないとき、アクセスリクエストが、第１メモリ共有装置２１０における通信ユニット５０３を利用することによって、メモリアクセスリクエストのアドレス情報に対応するメモリ共有装置（例えば、第２メモリ共有装置２２０）に送信され、これにより、第１制御装置により必要とされるデータが取得される。第１制御装置１１０により必要とされるデータが第１メモリ共有装置２１０内にないとき、データを取得する処理の全体は、第２制御装置１２０における処理モジュール５０１のリソースを消費することなく、第２制御装置１２０の参加を必要としない。本発明の本実施例では、メモリユニットにおけるデータにアクセス及び取得する具体的な処理はメモリ共有装置により完結され、これにより、従来技術において提供側として機能する制御装置におけるプロセッサのワークロードを低減し、提供側として機能する制御装置におけるプロセッサの利用を増加させ、一方、各制御装置により必要とされるデータはメモリ共有リソースプールに格納され、各制御装置は他の制御装置のデータを共有可能であり、これにより、分散システムにおける情報共有の問題を解決し、分散システムの間の情報共有のリアルタイムな実行を向上させる。
【００３０】
以下は更に、添付した図面を参照して上記のシステムの複数の具体的な実施例を詳細に説明する。
【００３１】
図５Ａに示されるように、図５Ａは、本発明の実施例によるメモリ共有装置のメモリユニットのアドレッシング情報の概略図である。図５Ａでは、説明のための具体例として、４つのメモリ共有装置がメモリ共有リソースプールを構成することが利用され、実際の適用では、それは、メモリ共有リソースプールを構成するため４つのメモリ共有装置に限定されない。４つのメモリ共有装置は、高速システムバスを介し制御装置に別々に接続され、各メモリ共有装置における処理モジュール５０１は、各メモリ共有装置の記憶スペースを定義するため、各メモリ共有装置の記憶モジュール５０２におけるメモリユニットのアドレッシングを実現する。第１メモリ共有装置２１０、第２メモリ共有装置２２０、第３メモリ共有装置２３０及び第４メモリ共有装置２４０は、メモリ共有リソースプールを構成する。各メモリ共有装置２１０のアドレッシング情報は、図５Ａに示され、第１メモリ共有装置２１０の第１アドレッシング情報は０〜９９であり、第２メモリ共有装置２２０の第２アドレッシング情報は１００〜１９９であり、第３メモリ共有装置２３０の第３アドレッシング情報は２００〜２９９であり、第４メモリ共有装置２４０の第４アドレッシング情報は３００〜３９９である。
【００３２】
メモリ共有リソースプールが構成された後、各メモリ共有装置における処理モジュールは、各メモリ共有装置の記憶モジュール５０２におけるメモリユニットのアドレッシング情報を定義し、通信ユニット５０３を利用することによって、メモリ共有リソースプールにおける他の３つのメモリ共有装置にクエリメッセージを送信し、他のメモリ共有装置における内部のメモリユニットのアドレッシング情報を取得する。
【００３３】
各メモリ共有装置における処理モジュール５０１は、各メモリ共有装置におけるメモリユニットのアドレッシング情報と他のメモリ共有装置における内部のメモリユニットのアドレッシング情報とに従ってアドレス情報テーブルを生成し、ここで、アドレス情報テーブルは、メモリ共有装置がメモリユニットの位置を迅速に検索するのに利用される。
【００３４】
第１の好適な実施例では、図５Ｂに示されるように、第１制御装置１１０は、オフセット５８及び長さ１０によるメモリユニットのデータにアクセスすることを所望する。第１制御装置１１０は、高速システムバスを介し第１メモリ共有装置２１０にメモリアクセスリクエストを送信し、メモリアクセスリクエストはメモリアドレス情報を含む。メモリアクセスリクエストを受信した後、第１メモリ共有装置２１０の処理モジュール５０２は、メモリアクセスリクエストを解析し、メモリアクセスリクエストのアドレス情報を抽出し、第１制御装置１１０はオフセット５８及び長さ１０によるメモリユニットのデータ、すなわち、アドレッシング情報が５８〜６７であるメモリユニットのデータにアクセスすることを所望していると判断する。処理モジュール５０１は、検索を実行し、アドレス情報テーブルに従ってメモリユニット５８〜６７の位置を決定する。処理モジュール５０１は、アドレス情報テーブルに従って、アドレッシング情報が５８〜６７であるメモリユニットがローカル記憶モジュール５０２に存在すると判断し、処理モジュール５０１は、アドレッシング情報が５８〜６７であるメモリユニットにアクセスする。当該アクセスを終了した後、処理モジュール５０１は結果メッセージを生成し、結果メッセージは、メモリユニット５８〜６７に記憶されているデータを含む。処理モジュール５０１は、取得したデータを高速システムバスを介し第１制御装置１１０に送信する。
【００３５】
第２の好適な実施例では、図５Ｃに示されるように、第２制御装置１２０は、オフセット５８及び長さ１０によるメモリユニットのデータにアクセスすることを所望する。第２制御装置１２０は、高速システムバスを介し第２メモリ共有装置２２０の処理モジュール５０１にメモリアクセスリクエストを送信し、メモリアクセスリクエストはメモリアドレス情報を含む。メモリアクセスリクエストを受信した後、第２メモリ共有装置２２０の処理モジュール５０１は、メモリアクセスリクエストを解析し、メモリアクセスリクエストの情報を抽出し、第２制御装置１２０がオフセット５８及び長さ１０によるメモリユニットのデータ、すなわち、アドレッシング情報が５８〜６７であるメモリユニットのデータにアクセスすることを所望していると判断する。第２メモリ共有装置２２０の処理モジュール５０１は、検索を実行し、アドレス情報テーブルに従ってメモリユニット５８〜６７の位置を決定する。第２メモリ共有装置２２０の処理モジュール５０１は、アドレス情報テーブルに従って、アドレッシング情報が５８〜６７であるメモリユニットがローカルな第２メモリ共有装置２２０の記憶モジュール５０２に存在せず、第１メモリ共有装置２１０の記憶モジュール５０２に存在すると判断し、第２メモリ共有装置２２０の処理モジュール５０１は、通信ユニットを利用することによって、第１メモリ共有装置２１０にメモリアクセスリクエストを転送する。メモリアクセスリクエストを受信した後、第１メモリ共有装置２１０は、当該メッセージを第１メモリ共有装置２１０の処理モジュール５０１に送信し、第１メモリ共有装置２１０の処理モジュール５０１は、対応する処理を実行する。検索を実行し、アドレス情報テーブルに従って、メモリアクセスリクエストに含まれるメモリアドレス情報がローカルな記憶モジュール５０２に存在すると判断した後、第１メモリ共有装置２１０の処理モジュール５０１は、アドレッシング情報が５８〜６７であるメモリユニットにアクセスする。当該アクセスを終了した後、第１メモリ共有装置２１０の処理モジュール５０１は結果メッセージを生成する。第１メモリ共有装置２１０の処理モジュール５０１は、通信ユニット５０３を利用することによって、第２メモリ共有装置の処理モジュール５０１に結果メッセージを送信し、それから、第２メモリ共有装置２２０の処理モジュール５０１は、高速システムバスを介し第２制御装置１２０に結果メッセージを送信し、結果メッセージはメモリユニット５８〜６７に記憶されているデータを含む。本発明の本実施例では、第２制御装置１２０がメモリ共有リソースプールからデータを取得する必要があるとき、第２制御装置１２０により必要とされるデータが第２制御装置１２０により制御される第２メモリ共有装置２２０内になかったとしても、第２メモリ共有装置２２０は第２メモリ共有装置２２０により受信されたメモリアクセスリクエストを転送し、他の制御装置の参加なく１以上の他のメモリ共有装置から第２制御装置１２０により必要とされるデータを取得しさえすればよく、これにより、他の制御装置の消費を節約する。
【００３６】
第３の好適な実施例では、図５Ｃに示されるように、第２制御装置１２０は、オフセット５８及び長さ１００によるメモリユニットのデータにアクセスすることを所望する。第２制御装置１２０は、高速システムバスを介し第２メモリ共有装置２２０にメモリアクセスリクエストを送信し、メモリアクセスリクエストはメモリアドレス情報を含む。第２メモリ共有装置２２０の処理モジュール５０１は、メモリアクセスリクエストを解析し、メモリアクセスリクエストの情報を抽出し、第２制御装置１２０がオフセット５８及び長さ１００によるメモリユニットのデータ、すなわち、アドレッシング情報が５８〜１５７であるメモリユニットのデータにアクセスすることを所望していると判断する。第２メモリ共有装置２２０の処理モジュール５０１は、検索を実行し、アドレス情報テーブルに従ってメモリユニット５８〜１５７の位置を決定する。第２メモリ共有装置２２０の処理モジュール５０１は、アドレス情報テーブルに従って、アドレッシング情報が５８〜１５７であるメモリユニットの必ずしも全てがローカルな第２メモリ共有装置２２０の記憶モジュール５０２に存在せず、第１メモリ共有装置２１０の記憶モジュール５０１に部分的に存在し（５８〜９９）、第２メモリ共有装置２２０の記憶モジュール５０２に部分的に存在する（１００〜１５７）と判断し、第２メモリ共有装置２２０の処理モジュール５０１は、メモリアクセスリクエストを第１メモリ共有装置に転送し、メモリアクセスリクエストはメモリアドレス情報を含む。第２メモリ共有装置２２０の処理モジュールは、アドレッシング情報が１００〜１５７であるメモリユニットが第２メモリ共有装置２２０の記憶モジュール５０２に存在すると判断し、第２メモリ共有装置２２０の処理モジュール５０１は、アドレッシング情報が１００〜１５７であるメモリユニットにアクセスする。当該アクセスを終了した後、第２メモリ共有装置２２０の処理モジュール５０１は第１結果メッセージを生成し、第１結果メッセージはメモリユニット１００〜１５７に記憶されているデータを含む。
【００３７】
第１メモリ共有装置２１０が第２メモリ共有装置２２０により転送されたメモリアクセスリクエストを受信した後、第１メモリ共有装置２１０の処理モジュール５０１は対応する処理を実行する。検索を実行し、メモリアクセスリクエストに含まれるメモリアドレス情報がローカルな第１メモリ共有装置２１０の記憶モジュール５０２に存在すると判断した後、第１メモリ共有装置２１０の処理モジュール５０１は、アドレッシング情報が５８〜９９であるメモリユニットにアクセスする。当該アクセスを終了した後、第１メモリ共有装置２１０の処理モジュール５０１は第２結果メッセージを生成し、第２結果メッセージはメモリユニット５８〜９９に記憶されているデータを含む。第１メモリ共有装置２１０の処理モジュール５０１は、第２結果メッセージを第２メモリ共有装置２２０の処理モジュール５０１に送信する。
【００３８】
第２メモリ共有装置２２０の処理モジュール５０１は、高速システムバスを介し、第２制御装置２２０により必要されるデータを含み、第２メモリ共有装置２２０の処理モジュール５０１により生成された第１結果メッセージと、受信した第２結果メッセージとを第２制御装置１２０に送信する。第３実施例によると、第２制御装置１２０がメモリ共有リソースプールからデータを取得する必要があるとき、第２制御装置１２０により必要とされるデータが第２制御装置１２０により制御される第２メモリ共有装置２２０のみに記憶されておらず、分散して記憶されていたとしても、第２メモリ共有装置２２０は、第２メモリ共有装置２２０に記憶されているデータの一部をローカルに読み取り、さらに、第２メモリ共有装置２２０は、第２メモリ共有装置２２０により受信されたメモリアクセスリクエストを再処理した後、残りのデータの記憶アドレスのみを含むメモリアクセスリクエストを１以上の他のメモリ共有装置に転送し、他の制御装置の参加なく、１以上の他のメモリ共有装置から第２制御装置１２０により必要とされるデータを取得し、これにより、他の制御装置の消費を節約する。
【００３９】
上記の複数の実施例は、制御装置とメモリ共有装置との間の通信と、メモリ共有装置の間の通信とを詳細に説明している。実際の適用では、それは上記の実施例において説明された２つのメモリ共有装置の間の通信に限定されるものでない。上記の複数の実施例によると、取得側として機能する制御装置がメモリ共有装置においてデータを共有することは、簡単且つ便利に実現可能である。
【００４０】
上記の実施例の適用方式では、図６に示されるように、ＣＰＵサブシステムと代替的に呼ばれる各制御装置と、制御装置に対応するメモリ共有装置とが分散化されたノードを構成する。ハードウェアに対応して、分散化された各ノードは１つのラックであってもよく、各ラックサーバは１つの制御装置である。１つのメモリ共有装置がプラグインされた後、複数のラックにおいてスイッチを介し相互接続されるメモリ共有装置は、１つのメモリ共有リソースプールを構成する。各ラックサーバは、メモリ共有リソースプールの何れかのメモリ共有装置のデータにアクセス可能である。
【００４１】
他の可能な実現方式では、図７に示されるように、各制御装置は、通信インタフェースを利用することによってメモリ共有リソースプールのメモリ共有装置に接続され、通信インタフェースは、例えば、スイッチ又はイーサネットインタフェースである。データアクセスシステムに接続されていない制御装置がデータアクセスシステムにアクセスする必要がある場合、制御装置は、スロット及びフラットケーブルを利用することによって、一致したスロット及びフラットケーブルインタフェースを含むメモリ共有装置に単に接続されればよく、このとき、メモリ共有装置は、メモリ共有リソースプールのメモリ共有装置の全てにおけるメモリユニットのアドレッシングを取得するため、クエリメッセージを再ブロードキャストし、これにより、制御装置はデータアクセスシステム全体にアクセス可能であり、ここでは更には説明されない。拡張可能なメモリ共有リソースプールを利用することによって、メモリスペースはＰＢレベルより大きく到達できる。
【００４２】
本発明の実施例では、制御装置がメモリ共有リソースプールのメモリ共有装置のメモリユニットのデータを取得する処理がメモリ共有装置によって完結され、これにより、従来技術における提供側として機能する制御装置のＣＰＵを置換し、従来技術における提供側として機能する制御装置のＣＰＵのワークロードを低減し、提供側として機能する制御装置におけるＣＰＵの利用を増加させ、一方、各制御装置により必要とされるデータはメモリ共有リソースプールに記憶され、各制御装置は他の制御装置のデータを共有可能であり、これにより、分散システムにおける情報共有の問題を解決し、分散システムの間の情報共有のリアルタイムな実行を向上させる。
【００４３】
対応して、本発明の実施例では、データ読み取り方法を提供し、データ読み取り方法は、上記の実施例におけるメモリ共有装置により実行される。図８に示されるように、当該方法は以下を含む。
【００４４】
８０１．メモリ共有リソースプールにおける第１メモリ共有装置が、第１メモリ共有装置を制御する第１制御装置により送信されたメモリアクセスリクエストを受信し、メモリアクセスリクエストは統一的なアドレッシングを受けたアドレス情報を有する。
【００４５】
アドレス情報は、統一的なアドレッシングを受けた複数のメモリユニットのアドレス情報であり、複数のメモリユニットは、データを記憶するよう構成され、メモリ共有リソースプールの少なくとも２つのメモリ共有装置に配置される。少なくとも２つのメモリ共有装置における何れかのメモリ共有装置は、少なくとも２つの制御装置における１つの制御装置の制御の下でデータを読み取り、第１メモリ共有装置は少なくとも２つのメモリ共有装置の１つである。
【００４６】
メモリ共有リソースプールにおける第１メモリ共有装置が第１制御装置により送信されたメモリアクセスリクエストを受信する前、当該方法は更に以下を含む。
【００４７】
第１メモリ共有装置が、メモリ共有リソースプールの全てのメモリ共有装置のメモリユニットのアドレッシングデータを取得するため、メモリ共有リソースプールにおける１以上の他のメモリ共有装置にクエリメッセージをブロードキャストし、それから、第１メモリ共有装置は、アドレス情報テーブルの形式によりアドレッシングデータを記憶してもよく、これは、第１メモリ共有装置がアドレス情報に対応するメモリユニットを検索するのに便利である。
【００４８】
８０２．第１メモリ共有装置が、アドレス情報に従って、メモリ共有リソースプールにおいてアドレス情報に対応するメモリスペースが配置されるメモリ共有装置を決定する。
【００４９】
具体的には、第１メモリ共有装置は、アドレス情報に従って、アドレス情報に対応するメモリスペースが配置される具体的な位置を、第１メモリ共有装置の処理モジュールにおけるアドレス情報テーブルにおいて検索方式により決定できる。
【００５０】
アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が第１メモリ共有装置である場合、第１メモリ共有装置は、第１メモリ共有装置におけるメモリユニットからデータを読み取る。
【００５１】
アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が、例えば、第２メモリ共有装置など、メモリ共有リソースプールにおける他のメモリ共有装置である場合、第１メモリ共有装置は、メモリアクセスリクエストを第２メモリ共有装置に転送し、それから、第２メモリ共有装置がメモリアクセスリクエストのアドレス情報に従って第２メモリ共有装置のメモリユニットからデータを読み取った後、第１メモリ共有装置にフィードバックされたデータ読み取り結果を待機することができる。
【００５２】
第１メモリ共有装置が、アドレス情報に従って、アドレス情報に対応するメモリユニットが配置されるメモリ共有装置を決定した後、アドレス情報に対応するメモリユニットにおけるメモリユニットの第１部分が第１メモリ共有装置内にあって、第２部分が第２メモリ共有装置内にある場合、第１メモリ共有装置は、第１メモリ共有装置におけるメモリユニットからのメモリユニットの第１部分のデータを読み取り、
第１メモリ共有装置は、メモリアクセスリクエストのアドレス情報のメモリユニットの第１部分のアドレスを消去し、メモリユニットの第２部分のアドレスのみを含むメモリアクセスリクエストを第２メモリ共有装置に転送し、
それから、第１メモリ共有装置は、第２メモリ共有装置により返されたデータ読み取り結果を受信する。
【００５３】
８０３．第１メモリ共有装置は、データ読み取り結果を第１制御装置にフィードバックする。
【００５４】
具体的には、第１メモリ共有装置は、第１メモリ共有装置自体のメモリユニットから第１制御装置により必要とされるデータを読み取るか、又は第１メモリ共有装置により必要とされ、メモリ共有リソースプールにおける第２メモリ共有装置にフィードバックされたデータを受信するか、又はローカルに読み取られたデータと第２メモリ共有装置から読み取られたデータとをデータ読み取り結果として通信インタフェースを介し第１制御装置に送信する。
【００５５】
上記の方法によると、データアクセスシステムにおける特定の制御装置がメモリ共有リソースプールからデータを読み取る必要があるとき、必要とされたデータが制御装置により制御されるメモリ共有装置内になかったとしても、他の制御装置が参加する必要がなく、これにより、データアクセスシステムにおける制御装置のＣＰＵの消費を減少させる。
【００５６】
対応して、制御装置の観点から、データ読み取り処理が図９に示され、当該方法は以下を含む。
【００５７】
９０１．第１制御装置は、メモリアクセスリクエストをメモリ共有リソースプールにおける第１メモリ共有装置に送信し、メモリアクセスリクエストは、制御装置がアクセスする必要があるメモリユニットのアドレス情報を含む。
【００５８】
具体的には、アドレス情報は、メモリ共有リソースプール全体の全てのメモリ共有装置における統一的なアドレッシングを受けたメモリユニットのアドレス情報であり、メモリ共有リソースプールにおける何れかのメモリ共有装置が、少なくとも２つの制御装置における１つの制御装置の制御の下でデータを読み取り、第１メモリ共有装置は少なくとも２つのメモリ共有装置の１つである。
【００５９】
９０２．第１制御装置は、第１メモリ共有装置によりフィードバックされたデータ読み取り結果を受信する。
【００６０】
具体的には、アドレス情報に対応するメモリスペースが配置されるメモリ共有装置が第１メモリ共有装置である場合、第１メモリ共有装置によりフィードバックされるデータ読み取り結果は、第１メモリ共有装置が第１メモリ共有装置におけるメモリユニットからデータを読み取った後、第１メモリ共有装置により生成される。
【００６１】
アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が第２メモリ共有装置である場合、第１メモリ共有装置によりフィードバックされたデータ読み取り結果は、第２メモリ共有装置によって送信され、第１メモリ共有装置により受信されたデータ読み取り結果である。
【００６２】
アドレス情報に対応するメモリユニットにおけるメモリユニットの第１部分が第１メモリ共有装置内にあって、第２部分が第２メモリ共有装置内にある場合、
第１メモリ共有装置によりフィードバックされるデータ読み取り結果は、第１メモリ共有装置におけるメモリユニットの第１部分におけるデータと、第２メモリ共有装置におけるメモリユニットの第２部分におけるデータとである。
【００６３】
上記の実施例において提供されるデータ読み取り方法によると、メモリ共有リソースプールの何れかのメモリ共有装置におけるデータは、他の制御装置のＣＰＵの参加なく、１つの制御装置を利用することによって読み取り可能である。
【００６４】
対応して、本発明の実施例はメモリ共有装置を提供する。図１０に示されるように、メモリ共有装置は、記憶モジュール１１０１、処理モジュール１１０２及び通信ユニット１１０３を有する。
【００６５】
記憶モジュール１１０１は、処理モジュール１１０２に接続され、データを記憶するよう構成される。
【００６６】
処理モジュール１１０２は、通信インタフェースを利用することによって１つの制御装置に接続され、当該メモリ共有装置が配置されるメモリ共有リソースプールにおける１以上の他のメモリ共有装置に通信ユニット１１０３を介し接続され、通信インタフェースを介し処理モジュール１１０２に接続された制御装置により送信されたメモリアクセスリクエストを受信し、通信ユニット１１０３を利用することによって、メモリ共有リソースプールにおける１以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信し、及び／又は制御装置により送信されたメモリアクセスリクエストをメモリ共有リソースプールにおける１以上の他のメモリ共有装置に転送し、１以上の他のメモリ共有装置に転送されたメモリアクセスリクエストは、対応する制御装置から１以上の他のメモリ共有装置により受信され、メモリアクセスリクエストは、メモリ共有リソースプールの複数のメモリ共有装置における統一的なアドレッシングを受けたメモリユニットのアドレス情報を有し、アドレス情報は、メモリ共有リソースプールの何れかのメモリ共有装置のメモリユニットにおけるデータを取得するため利用される。
【００６７】
より詳細には、処理モジュール１１０２に接続される記憶モジュール１１０１は、データを記憶するよう構成される複数のメモリユニットを有し、メモリユニットは、メモリ共有リソースプールの複数のメモリ共有装置において統一的なアドレッシングを受ける。
【００６８】
好ましくは、処理モジュール１１０２は、フィールド・プログラマブル・ゲート・アレイ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、ＦＰＧＡ）又は中央処理ユニットチップにより実現されてもよい。
【００６９】
具体的には、例えば、処理モジュール１１０２は更にクエリユニットを有してもよく、クエリユニットは、通信ユニット１１０３を利用することによってメモリ共有リソースプールにおけるメモリ共有装置の全てにクエリメッセージをブロードキャストし、メモリ共有リソースプールにおける全てのメモリ共有装置のメモリユニットのアドレッシング情報を取得し、アドレッシング情報をアドレス情報テーブルの形式により記憶する。
【００７０】
処理モジュール１１０２は、通信インタフェース（例えば、高速システムバス、イーサネットインタフェース又はスイッチ）からメモリアクセスリクエストを受信し、メモリアクセスリクエストのアドレス情報と処理モジュール１１０２に記憶されるアドレス情報テーブルとに従って、アドレス情報に対応するメモリスペースが配置されるメモリ共有装置を決定する。
【００７１】
アドレス情報に対応するメモリスペースが配置されるメモリ共有装置がローカルなメモリ共有装置である場合、処理モジュール１１０２は、記憶モジュール１１０１にあって、アドレス情報に対応するメモリユニットからデータを読み取る。
【００７２】
アドレス情報に対応するメモリスペースが配置されるメモリ共有装置が、通信ユニット１１０３に接続される１以上の他のメモリ共有装置である場合、処理モジュール１１０２は、通信ユニットを利用することによって、メモリアクセスリクエストを１以上の他のメモリ共有装置に転送する。
【００７３】
アドレス情報に対応するメモリユニットにおけるメモリユニットの第１部分がローカルなメモリ共有装置内にあって、メモリユニットの第２部分が１以上の他のメモリ共有装置内にある場合、処理モジュール１１０２は、ローカルなメモリ共有装置における記憶モジュール１１０１からメモリユニットの第１部分のデータを読み取り、メモリアクセスリクエストのアドレス情報におけるメモリユニットの第１部分のアドレスを消去し、通信ユニット１１０３を利用することによって、メモリユニットの第２部分のアドレスのみを含むメモリアクセスリクエストを第２メモリ共有装置に転送する。
【００７４】
メモリ共有装置と１以上の他のメモリ共有装置とはまず、バーチャルメモリ共有リソースプールを構成し、バーチャルメモリ共有リソースプールを構成する処理は、具体的には、各メモリ共有装置における処理モジュール１１０２が、各メモリ共有装置の記憶モジュール１１０１のメモリユニットのアドレッシングを実行し、各メモリ共有装置の記憶スペースを定義し、同じ通信インタフェースを利用することによって、複数のメモリ共有装置を一緒に接続し、これにより、複数のメモリ共有装置は同じ交換ドメインに属し、交換ドメインにおいて複数のメモリ共有装置の記憶モジュール１１０１のメモリユニットに対して統一的なアドレッシングパーティションを実行し、各メモリ共有装置の処理モジュール１１０２にパーティションアドレッシング情報を通知し、バーチャルメモリ共有リソースプールを構成するというものである。
【００７５】
メモリ共有装置における処理モジュール１１０２は、記憶モジュール１１０１のメモリユニットにデータを書き込み、これにより、制御システムにより必要とされるデータがメモリユニットに記憶される。制御装置がデータを書き込む処理において、制御装置は、メモリ共有装置の処理モジュール１１０２にデータの記憶位置を通知し、これにより、メモリ共有装置の処理モジュール１１０２は、メモリ共有装置のメモリユニットのアドレッシングパーティションに従ってコンテンツユニットにデータを正しく書き込む。
【００７６】
取得側として機能する第１制御装置がメモリ共有リソースプールからデータを取得する必要があるというメモリアクセスリクエストをメモリ共有装置が受信するとき、メモリアクセスリクエストは、第１制御装置が取得することを所望するデータのアドレス情報を含む。処理モジュール１１０２は、アドレス情報に従って、メモリ共有リソースプールにおけるアドレス情報に対応するメモリユニットが配置されるメモリ共有装置を決定する。
【００７７】
処理モジュール１１０２は、判断ユニットを利用することによって、アドレス情報に従って、処理モジュール１１０２のアドレス情報テーブルにおいて検索方式により、アドレス情報に対応するメモリユニットが配置される具体的な位置を決定する。
【００７８】
具体的には、アドレス情報に対応するメモリユニットが配置されるメモリ共有装置がローカルなメモリ共有装置である場合、メモリ共有装置の処理モジュール１１０２は、記憶モジュール１１０１のメモリユニットからデータを読み取る。
【００７９】
アドレス情報に対応するメモリスペースが配置されるメモリ共有装置が、例えば、第２メモリ共有装置などのメモリ共有リソースプールにおける他のメモリ共有装置である場合、メモリ共有装置は、処理モジュール１１０２及び通信ユニット１１０３を利用することによって、メモリアクセスリクエストを第２メモリ共有装置に転送し、それから、第２メモリ共有装置がメモリアクセスリクエストのアドレス情報に従って第２メモリ共有装置のメモリユニットからデータを読み取った後、第１メモリ共有装置にフィードバックされるデータ読み取り結果を待機することができる。
【００８０】
メモリ共有装置は、メモリ共有装置の記憶モジュールから第１制御装置により必要とされるデータを読み取るか、又は、制御装置により必要とされ、メモリ共有リソースプールの第２メモリ共有装置によりフィードバックされたデータを受信した後、通信インタフェースを介し制御装置にデータ読み取り結果を送信する。
【００８１】
図１１に示されるように、好適な実現方式では、メモリ共有装置は更に、外部電源が故障したとき、メモリ共有装置に電力を提供するよう構成される電源モジュール１１０５を有する。メモリ共有装置は、電源モジュール１１０５を利用することによって、不揮発性ランダム・アクセス・メモリ（Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ，ＮＶＲＡＭ）を構成可能である。電源モジュール１１０５は、スーパーキャパシタ又はバッテリ・バックアップ・ユニットＢＢＵ（Ｂａｔｔｅｒｙ  Ｂａｃｋｕｐ  Ｕｎｉｔ，ＢＢＵ）であってもよい。
【００８２】
好適な実現方式では、メモリ共有装置は更に、アプリケーションプログラムを記憶するよう構成されるフラッシュメモリモジュール１１０４を有してもよく、アプリケーションプログラムは、処理モジュールにより実行される命令を含む。
【００８３】
好適な実現方式では、メモリ共有装置は更に、記憶モジュール１１０１におけるアプリケーションプログラムをデバッグし、通信ユニット１１０３におけるトラフィックを制御するよう構成される管理モジュール１１０６を更に有してもよく、管理モジュール１１０６はＣＰＵ  ＩＰカーネルにより実現されてもよい。
【００８４】
本発明の本実施例において提供されるメモリ共有装置は、検索を実行し、受信したメモリアクセスリクエストに従って対応するメモリユニットの位置を決定し、対応するメモリユニットがローカルな記憶モジュール内にあるとき、メモリ共有装置は、当該メモリユニットに直接アクセスし、メモリユニットからデータを取得し、取得したデータを含む結果メッセージを制御装置にフィードバックする。本発明の本実施例では、メモリユニットのデータにアクセス及び取得する具体的な処理は第１メモリ共有装置により完結され、これにより、従来技術において提供側として機能する制御装置のＣＰＵを置換し、従来技術において提供側として機能する制御装置のＣＰＵのワークロードを低減し、提供側として機能する制御装置のＣＰＵの利用を増加させる。
【００８５】
当業者は更に、本明細書において開示された実施例において説明される具体例に関して、ユニット及びアルゴリズムのステップが電子ハードウェア、コンピュータソフトウェア又はこれらの組み合わせにより実現されてもよいことを認識してもよい。ハードウェアとソフトウェアとの間の互換性を明確に説明するため、上記は機能に従って各具体例の構成及びステップを全体的に説明した。当該機能がハードウェア又はソフトウェアにより実行されるかは、技術的方策の特定の適用及び設計制約条件に依存する。当業者は、異なる方法を利用して、各特定の適用のために説明された機能を実現してもよいが、当該実現は本発明の範囲を超えるとみなされるべきでない。
【００８６】
本明細書に開示された実施例に関連して、方法又はアルゴリズムのステップは、ハードウェア、プロセッサにより実行されるソフトウェアモジュール又はこれらの組み合わせにより実現されてもよい。ソフトウェアモジュールは、ランダム・アクセス・メモリ（ＲＡＭ）、メモリ、読み出し専用メモリ（ＲＯＭ）、電気的にプログラム可能なＲＯＭ、電気的に消去可能なプログラム可能なＲＯＭ、レジスタ、ハードディスク、着脱可能なディスク、ＣＤ−ＲＯＭ又は当該技術において周知な他の何れかの形態による記憶媒体において構成されてもよい。
【００８７】
上記の特定の実施例は、本発明の課題、技術的方策及び効果を詳細に明らかにしている。上記の説明は本発明の単なる特定の実施例であり、本発明の保護範囲を限定することを意図するものでないことが理解されるべきである。本発明の精神及び原理から逸脱することなくなされた何れの修正、等価な置換又は改良は、本発明の保護範囲に属する。
【図１】
0006373876.tif 000002
【図２】
0006373876.tif 000003
【図３】
0006373876.tif 000004
【図４】
0006373876.tif 000005
【図５Ａ】
0006373876.tif 000006
【図５Ｂ】
0006373876.tif 000007
【図５Ｃ】
0006373876.tif 000008
【図６】
0006373876.tif 000009
【図７】
0006373876.tif 000010
【図８】
0006373876.tif 000011
【図９】
0006373876.tif 000012
【図１０】
0006373876.tif 000013
【図１１】
0006373876.tif 000014