特許第6373876号(P6373876)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華為技術有限公司の特許一覧

特許6373876データアクセスシステム、メモリ共有装置及びデータ読み取り方法
<>
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000002
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000003
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000004
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000005
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000006
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000007
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000008
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000009
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000010
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000011
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000012
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000013
  • 特許6373876-データアクセスシステム、メモリ共有装置及びデータ読み取り方法 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6373876
(24)【登録日】2018年7月27日
(45)【発行日】2018年8月15日
(54)【発明の名称】データアクセスシステム、メモリ共有装置及びデータ読み取り方法
(51)【国際特許分類】
   G06F 12/06 20060101AFI20180806BHJP
   G06F 15/173 20060101ALI20180806BHJP
【FI】
   G06F12/06 530A
   G06F15/173 665D
【請求項の数】7
【全頁数】21
(21)【出願番号】特願2015-556369(P2015-556369)
(86)(22)【出願日】2013年7月23日
(65)【公表番号】特表2016-513316(P2016-513316A)
(43)【公表日】2016年5月12日
(86)【国際出願番号】CN2013079841
(87)【国際公開番号】WO2014121588
(87)【国際公開日】20140814
【審査請求日】2015年12月3日
【審判番号】不服2017-13753(P2017-13753/J1)
【審判請求日】2017年9月15日
(31)【優先権主張番号】201310046412.4
(32)【優先日】2013年2月6日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】莫 良偉
【合議体】
【審判長】 仲間 晃
【審判官】 山崎 慎一
【審判官】 辻本 泰隆
(56)【参考文献】
【文献】 国際公開第2011/161787(WO,A1)
【文献】 特開平5−290000(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F12/06
G06F15/173
(57)【特許請求の範囲】
【請求項1】
データアクセスシステムであって、当該システムは、少なくとも2つのメモリ共有装置により構成されるメモリ共有リソースプールと、前記メモリ共有リソースプールにおける前記メモリ共有装置に対応する少なくとも2つの制御装置とを有し、
前記メモリ共有装置のそれぞれは、データを記憶するよう構成される統一的にアドレッシングされるメモリユニットを有し、前記メモリ共有装置における第1メモリ共有装置がアドレス情報を含み、前記第1メモリ共有装置に対応する第1制御装置により送信されたメモリアクセスリクエストを受信すると、ここで、前記メモリ共有装置のそれぞれはそれぞれ統一的にアドレッシングされるメモリユニットのアドレスの範囲を記憶し、前記それぞれ統一的にアドレッシングされるメモリユニットのアドレスの範囲は互いに異なり、
前記アドレス情報に対応するメモリユニットが前記第1メモリ共有装置におけるメモリユニットである場合、前記第1メモリ共有装置は、前記第1メモリ共有装置におけるメモリユニットからデータを読み取り、前記データを前記第1制御装置にフィードバックし、
前記アドレス情報に対応するメモリユニットが前記第1メモリ共有装置におけるメモリユニットでない場合、前記第1メモリ共有装置は更に、前記第1メモリ共有装置に記憶されるそれぞれ統一的にアドレッシングされるメモリユニットのアドレスの範囲に従って、前記アドレス情報に対応するメモリユニットが前記メモリ共有リソースプールの第2メモリ共有装置におけるメモリユニットであると判断するよう構成され、前記第1メモリ共有装置は更に、前記第2メモリ共有装置に前記メモリアクセスリクエストを転送し、前記第2メモリ共有装置におけるメモリユニット内にあって、前記第2メモリ共有装置によりフィードバックされたデータを受信し、
前記メモリ共有装置の何れかにおける前記第1メモリ共有装置が、アドレス情報を含み、前記第2メモリ共有装置により転送されたメモリアクセスリクエストを受信すると、前記第1メモリ共有装置は、データを読み取り、前記読み取られたデータを前記第2メモリ共有装置にフィードバックするデータアクセスシステム。
【請求項2】
前記メモリ共有装置は、記憶モジュール、処理モジュール及び通信ユニットを有し、
前記記憶モジュールは、前記処理モジュールに接続され、前記記憶モジュールは、前記メモリ共有リソースプールにおける少なくとも1つの統一的にアドレッシングされるメモリユニットを有し、前記メモリユニットはデータを記憶するよう構成され、
前記処理モジュールは、通信インタフェースを利用することによって1つの制御装置に接続され、前記通信ユニットを介し前記メモリ共有リソースプールにおける1以上の他のメモリ共有装置に接続され、前記通信インタフェースを介し前記処理モジュールに接続された前記制御装置により送信されたメモリアクセスリクエストを受信し、前記通信ユニットを利用することによって、前記1以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信し、及び/又は前記制御装置により送信されたメモリアクセスリクエストを前記メモリ共有リソースプールにおける1以上の他のメモリ共有装置に転送し、前記1以上の他のメモリ共有装置により転送されたメモリアクセスリクエストは対応する制御装置から前記1以上の他のメモリ共有装置により受信され、前記メモリアクセスリクエストは前記メモリ共有リソースプールの複数のメモリ共有装置における統一的なアドレッシングを受けたメモリユニットのアドレス情報を有し、前記アドレス情報は、前記メモリ共有リソースプールの何れかのメモリ共有装置のメモリユニットにおけるデータを取得するのに利用される、請求項1記載のデータアクセスシステム。
【請求項3】
前記メモリ共有装置は、前記メモリ共有リソースプールにおける統一的なアドレッシングを受けたメモリユニットのアドレッシングデータを取得するため、前記通信ユニットを利用することによって、前記メモリ共有リソースプールにおける1以上の他のメモリ共有装置にクエリメッセージをブロードキャストし、前記取得したアドレッシングデータを前記処理モジュールに記憶する、請求項2記載のデータアクセスシステム。
【請求項4】
前記2つの制御装置における何れかの制御装置は、通信モジュールを有し、前記何れかの制御装置の通信モジュールは、プラグ着脱可能なメモリ共有モジュールを接続することによって当該データアクセスシステムにアクセスする、請求項1記載のデータアクセスシステム。
【請求項5】
前記通信インタフェースは、高速システムバス、スイッチ又はイーサネットインタフェースである、請求項2又は3記載のデータアクセスシステム。
【請求項6】
データ読み取り方法であって、
メモリ共有リソースプールにおける第1メモリ共有装置が、前記第1メモリ共有装置を制御する第1制御装置により送信されたメモリアクセスリクエストを受信するステップであって、前記メモリアクセスリクエストは統一的なアドレッシングを受けたアドレス情報を有し、前記アドレス情報はデータを記憶するよう構成され、前記メモリ共有リソースプールの少なくとも2つのメモリ共有装置において統一的なアドレッシングを受けた1以上のメモリユニットのアドレス情報であり、前記少なくとも2つのメモリ共有装置における何れかのメモリ共有装置は、少なくとも2つの制御装置における1つの制御装置の制御の下でデータを読み取り、前記第1メモリ共有装置は前記少なくとも2つのメモリ共有装置の1つであり、前記メモリ共有装置のそれぞれはそれぞれ統一的にアドレッシングされたメモリユニットのアドレスの範囲を記憶し、前記それぞれ統一的にアドレッシングされたメモリユニットのアドレスの範囲は互いに異なる、受信するステップと、
前記第1メモリ共有装置が、前記アドレス情報に従って、前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置を決定するステップと、
前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が前記第1メモリ共有装置である場合、前記第1メモリ共有装置が、前記第1メモリ共有装置自体におけるアドレス情報に対応するメモリユニットからデータを取得するか、又は、
前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が前記第1メモリ共有装置でない場合、前記第1メモリ共有装置が、前記第1メモリ共有装置に記憶されるそれぞれ統一的にアドレッシングされるメモリユニットのアドレスの範囲に従って、前記アドレス情報に対応するメモリユニットが第2メモリ共有装置におけるメモリユニットであると判断し、前記第1メモリ共有装置が、前記メモリアクセスリクエストを前記第2メモリ共有装置に転送し、前記第2メモリ共有装置により返されたデータを受信するステップと、
前記第1メモリ共有装置が、前記データを読み取り、前記データを前記第1制御装置にフィードバックするステップと、
を有する方法。
【請求項7】
前記メモリ共有リソースプールにおける第1メモリ共有装置が前記第1メモリ共有装置を制御する第1制御装置により送信されたメモリアクセスリクエストを受信する前、当該方法は更に、
前記メモリ共有リソースプールにおける第1メモリ共有装置が、前記メモリ共有リソースプールの全てのメモリ共有装置のメモリユニットのアドレッシングデータを取得するため、前記メモリ共有リソースプールにおける1以上の他のメモリ共有装置にクエリメッセージをブロードキャストするステップを有する、請求項記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネット分野に関し、特にデータアクセスシステム、メモリ共有装置及びデータ読み取り方法に関する。
【背景技術】
【0002】
現在、インターネットの発展及び普及によって、分散システムがより広範に適用されている。分散ファイルシステム(Distributed file system、DFS)は、ネットワーク上に確立されたソフトウェアシステムを表す。分散ファイルシステムは、高い結合性及び透明性によって特徴付けされる。結合性は、システムにおける分散化された各データベースノードが高度な自律性を有することを意味し、透明性は、分散化された各データベースノードがユーザのアプリケーションに透過であることを意味する。しかしながら、分散システムの間の共有アクセスに対するレスポンスの速度は、分散システムの全体的な性能に影響を与える。
【0003】
従来技術では、分散システムの間の情報共有の問題を解決するため、図1に示される交換ネットワークベースの情報共有方式が通常利用される。図1では、取得側として機能する制御システムAにおけるCPUは、提供側として機能する制御システムBにおけるメモリユニットのデータを取得することを所望し、処理は以下の通りである。(1)制御システムAにおけるCPUは、制御システムBにおけるCPUにリクエストメッセージを送信し、(2)制御システムBにおけるCPUは、リクエストメッセージに従って制御システムBにおけるメモリユニットからデータを読み出し、(3)制御システムBにおけるCPUは、制御システムAにおけるCPUに当該データを含む実行結果を返し、(4)制御システムAにおけるCUは、実行結果からデータを抽出し、当該データを処理のため上位システムに転送する。上記の処理では、データの全ての送信が制御システムA及び制御システムBにおける中央処理ユニット(Central Processing Unit、CPU)の参加による処理を受ける必要がある。
【0004】
一例として既存の交換ネットワークベースの情報共有方式を利用することによって、図2に示される処理では、制御システムAにおけるCPUは、制御システムBにおけるメモリユニットのデータを取得することを所望し、これは、制御システムAが取得側として機能し、制御システムBが提供側として機能することを意味する。具体的な処理は以下である。実線を利用することによって図2に示される手順では、プログラムを実行すると、制御システムAにおけるCPUは、制御システムBのメモリのデータを取得する必要があり、制御システムAにおけるCPUは、交換網を介し制御システムBにおけるCPUにリクエストメッセージを送信し、当該リクエストメッセージを解析した後、制御システムBにおけるCPUは、制御システムAにおけるCPUが制御システムBのメモリのデータを取得する必要があることを知り、このとき、制御システムBにおけるCPUは、リクエストメッセージに従って制御システムBのメモリのメモリユニットにアクセスし、当該メモリユニットからデータを取得し、メモリユニットからデータを取得した後、制御システムBにおけるCPUは、制御システムAにおけるCPUに取得したデータをフィードバックし、これは、破線を利用することによって図2に示される手順である。制御システムBにおけるCPUは、交換網を利用することによって、制御システムAにおけるCPUにデータを含む実行結果を返す。制御システムAにおけるCPUは、実行結果からデータを取得し、当該データを処理のため上位システムに送信する。従って、従来技術における交換ネットワークベース情報共有方式では、制御システムAが他の制御システムのデータを取得するとき、制御システムAと制御システムBにおけるCPUの双方が処理に参加する必要がある。特に、複数の制御システムが他の制御システムのデータを相互に取得するとき、複数の制御システムにおけるCPUの全てが処理に参加し、これにより、提供側として機能する制御システムにおけるCPUの性能は、情報共有処理全体において過剰に消費され、CPUの浪費を生じする。さらに、実行中のCPUが提供側として機能する何れかの制御システムにおいて故障すると、制御システムにより所持されるデータは他の制御システムによりアクセス不可となり、これにより、システム全体の信頼性を低下させる。
【0005】
従って、従来技術は以下の欠点を有する。(1)制御システムAと制御システムBとにおけるCPUの双方が情報の共有制御に参加する必要があり、これにより、提供側として機能する制御システムにおけるCPUの性能が情報共有処理全体において過剰に消費され、CPUの浪費を招き、(2)実行中のCPUが提供側として機能する制御システムBにおいて故障すると、制御システムBにより所持されるデータが他の端末によりアクセス不可となり、これにより、システム全体の信頼性を低下させる。
【発明の概要】
【0006】
本発明の課題は、提供側として機能する制御システムにおけるCPUの性能が過剰に消費されるため、CPUの浪費を生じさせ、システム全体の信頼性が低下する従来技術における問題点を解決するため、データアクセスシステムを提供することである。情報処理のための方法、装置及びシステムが提供される。
【0007】
第1の態様によると、本発明の実施例は、データアクセスシステムであって、当該システムは、少なくとも2つのメモリ共有装置により構成されるメモリ共有リソースプールと、前記メモリ共有リソースプールにおける前記メモリ共有装置に対応する少なくとも2つの制御装置とを有し、
前記メモリ共有装置の何れかは、データを記憶するよう構成される統一的にアドレッシングされるメモリユニットを有し、前記メモリ共有装置における第1メモリ共有装置がアドレス情報を含み、前記第1メモリ共有装置に対応する第1制御装置により送信されたメモリアクセスリクエストを受信すると、
前記アドレス情報に対応するメモリユニットが前記第1メモリ共有装置におけるメモリユニットである場合、前記第1メモリ共有装置は、前記第1メモリ共有装置におけるメモリユニットからデータを読み取り、前記データを前記第1制御装置にフィードバックし、前記アドレス情報に対応するメモリユニットが前記メモリ共有リソースプールの第2メモリ共有装置におけるメモリユニットである場合、前記第1メモリ共有装置は、前記第2メモリ共有装置に前記メモリアクセスリクエストを転送し、前記第2メモリ共有装置におけるメモリユニット内にあって、前記第2メモリ共有装置によりフィードバックされたデータを受信し、
前記メモリ共有装置の何れかにおける前記第1メモリ共有装置が、アドレス情報を含み、前記第2メモリ共有装置により転送されたメモリアクセスリクエストを受信すると、前記第1メモリ共有装置は、データを読み取り、前記読み取られたデータを前記第2メモリ共有装置にフィードバックするデータアクセスシステムを提供する。
【0008】
第1の態様に基づき、第1の可能な実現方式では、前記メモリ共有装置は、記憶モジュール、処理モジュール及び通信ユニットを有し、
前記記憶モジュールは、前記処理モジュールに接続され、前記記憶モジュールは、前記メモリ共有リソースプールにおける少なくとも1つの統一的にアドレッシングされるメモリユニットを有し、前記メモリユニットはデータを記憶するよう構成され、
前記処理モジュールは、通信インタフェースを利用することによって1つの制御装置に接続され、前記通信ユニットを介し前記メモリ共有リソースプールにおける1以上の他のメモリ共有装置に接続され、前記通信インタフェースを介し前記処理モジュールに接続された前記制御装置により送信されたメモリアクセスリクエストを受信し、前記通信ユニットを利用することによって、前記1以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信し、及び/又は前記制御装置により送信されたメモリアクセスリクエストを前記メモリ共有リソースプールにおける1以上の他のメモリ共有装置に転送し、前記1以上の他のメモリ共有装置により転送されたメモリアクセスリクエストは対応する制御装置から前記1以上の他のメモリ共有装置により受信され、前記メモリアクセスリクエストは前記メモリ共有リソースプールの複数のメモリ共有装置における統一的なアドレッシングを受けたメモリユニットのアドレス情報を有し、前記アドレス情報は、前記メモリ共有リソースプールの何れかのメモリ共有装置のメモリユニットにおけるデータを取得するのに利用される。
【0009】
第1の態様の第1の可能な実現方式に基づき、第1の態様の第2の可能な実現方式では、前記メモリ共有装置は、前記メモリ共有リソースプールにおける統一的なアドレッシングを受けたメモリユニットのアドレッシングデータを取得するため、前記通信ユニットを利用することによって、前記メモリ共有リソースプールにおける1以上の他のメモリ共有装置にクエリメッセージをブロードキャストし、前記取得したアドレッシングデータを前記処理モジュールに記憶する。
【0010】
第1の態様に基づき、第1の態様の第3の可能な実現方式では、前記2つの制御装置における何れかの制御装置は、通信モジュールを有し、前記何れかの制御装置の通信モジュールは、プラグ着脱可能なメモリ共有モジュールを接続することによって当該データアクセスシステムにアクセスする。
【0011】
第1の態様又は第1の態様の第1〜3の可能な実現方式に基づき、第1の態様の第4の可能な実現方式では、前記通信インタフェースは、高速システムバス、スイッチ又はイーサネットインタフェースである。
【0012】
第2の態様によると、本発明の実施例は、記憶モジュール、処理モジュール及び通信ユニットを有するメモリ共有装置であって、
前記記憶モジュールは、前記処理モジュールに接続され、データを記憶するよう構成され、
前記処理モジュールは、通信インタフェースを利用することによって1つの制御装置に接続され、当該メモリ共有装置が配置されるメモリ共有リソースプールにおける1以上の他のメモリ共有装置に前記通信ユニットを介し接続され、前記通信インタフェースを介し前記処理モジュールに接続された前記制御装置により送信されたメモリアクセスリクエストを受信し、前記通信ユニットを利用することによって、前記メモリ共有リソースプールにおける1以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信し、及び/又は前記制御装置により送信されたメモリアクセスリクエストを前記メモリ共有リソースプールにおける1以上の他のメモリ共有装置に転送し、前記1以上の他のメモリ共有装置に転送されたメモリアクセスリクエストは、対応する制御装置から前記1以上の他のメモリ共有装置により受信され、前記メモリアクセスリクエストは、前記メモリ共有リソースプールの複数のメモリ共有装置における統一的なアドレッシングを受けたメモリユニットのアドレス情報を有し、前記アドレス情報は、前記メモリ共有リソースプールの何れかのメモリ共有装置のメモリユニットにおけるデータを取得するため利用されるメモリ共有装置を提供する。
【0013】
第2の態様に基づき、第2の態様の第1の可能な実現方式では、前記通信ユニットを利用することによって前記メモリ共有リソースプールにおける1以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信した後、前記処理モジュールは、前記メモリアクセスリクエストに含まれるアドレス情報に対応するメモリユニットからデータを取得し、前記通信ユニットを利用することによって前記1以上の他のメモリ共有装置に結果を返し、前記1以上の他のメモリ共有装置は、前記通信インタフェースを介し前記メモリアクセスリクエストを前記1以上の他のメモリ共有装置に送信した前記制御装置に前記結果を返す。
【0014】
第2の態様に基づき、第2の態様の第2の可能な実現方式では、前記処理モジュールは更に判断ユニットを有する。前記アドレス情報に対応するメモリユニットにおけるメモリユニットの第1部分がローカルな当該メモリ共有装置にあり、第2部分が第2メモリ共有装置にあると前記判断ユニットが判断した場合、前記処理モジュールは、当該ローカルなメモリ共有装置における記憶モジュールから前記メモリユニットの第1部分におけるデータを読み取り、前記メモリアクセスリクエストのアドレス情報におけるメモリユニットの第1部分のアドレスを削除し、前記通信ユニットを利用することによって、前記メモリユニットの第2部分のアドレスのみを有するメモリアクセスリクエストを前記1以上の他のメモリ共有装置に転送する。
【0015】
第2の態様又は第2の態様の第1若しくは第2の可能な実現方式に基づき、第2の態様の第3の可能な実現方式では、当該メモリ共有装置は更に、外部電源がないとき、ストレージ用の電気エネルギーを提供するよう構成される電源モジュールを有し、当該メモリ共有装置は、前記電源モジュールを利用することによってプラグ着脱可能な不揮発性ランダム・アクセス・メモリNVRAMを構成する。
【0016】
第2の態様又は第2の態様の第1〜3の可能な実現方式に基づき、第2の態様の第4の可能な実現方式では、当該メモリ共有装置は更に、前記記憶モジュールにおけるアプリケーションプログラムをデバッグし、前記通信ユニットにおけるトラフィックを制御するよう構成される管理モジュールを有する。
【0017】
第2の態様又は第2の態様の第1〜4の可能な実現方式に基づき、第2の態様の第5の可能な実現方式では、前記処理モジュールは、フィールド・プログラマブル・ゲート・アレイFPGAである。
【0018】
第3の態様によると、本発明の実施例は、データ読み取り方法であって、
メモリ共有リソースプールにおける第1メモリ共有装置が、前記第1メモリ共有装置を制御する第1制御装置により送信されたメモリアクセスリクエストを受信するステップであって、前記メモリアクセスリクエストはアドレス情報を有し、前記アドレス情報はデータを記憶するよう構成され、前記メモリ共有リソースプールの少なくとも2つのメモリ共有装置において統一的なアドレッシングを受けた1以上のメモリユニットのアドレスであり、前記少なくとも2つのメモリ共有装置における何れかのメモリ共有装置は、少なくとも2つの制御装置における1つの制御装置の制御の下でデータを読み取り、前記第1メモリ共有装置は前記少なくとも2つのメモリ共有装置の1つである、受信するステップと、
前記第1メモリ共有装置が、前記アドレス情報に従って、前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置を決定するステップと、
前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が前記第1メモリ共有装置である場合、前記第1メモリ共有装置が、前記第1メモリ共有装置自体におけるアドレス情報に対応するメモリユニットからデータを取得するか、又は、
前記アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が第2メモリ共有装置である場合、前記第1メモリ共有装置が、前記メモリアクセスリクエストを前記第2メモリ共有装置に転送し、前記第2メモリ共有装置により返されたデータを受信するステップと、
前記第1メモリ共有装置が、前記データを読み取り、前記データを前記第1制御装置にフィードバックするステップと、
を有する方法を提供する。
【0019】
第3の態様に基づき、第1の可能な実現方式では、前記メモリ共有リソースプールにおける第1メモリ共有装置が前記第1メモリ共有装置を制御する第1制御装置により送信されたメモリアクセスリクエストを受信する前、当該方法は更に、
前記メモリ共有リソースプールにおける第1メモリ共有装置が、前記メモリ共有リソースプールの全てのメモリ共有装置のメモリユニットのアドレッシングデータを取得するため、前記メモリ共有リソースプールにおける1以上の他のメモリ共有装置にクエリメッセージをブロードキャストするステップを有する。
【0020】
本発明の実施例において提供されるデータアクセスシステムは、少なくとも2つのメモリ共有装置により構成されるメモリ共有リソースプールと、メモリ共有リソースプールにおけるメモリ共有装置に対応する少なくとも2つの制御装置とを有し、何れかのメモリ共有装置は、データを記憶するよう構成される統一的にアドレッシングされるメモリユニットを有し、メモリ共有装置は、メモリ共有装置に対応する制御装置に従ってメモリユニットからデータを読み取る。データがメモリ共有リソースプールにおける1以上の他のメモリ装置から読み取られると、従来技術における提供側として機能する制御装置のワークロードが低減し、提供側として機能する制御装置の利用が増加し、一方、各制御システムにより必要とされるデータがメモリ共有リソースプールに記憶され、各制御システムは他の制御システムのデータを共有可能であり、これにより、分散システムにおける記憶されたデータの信頼性を向上させる。
【図面の簡単な説明】
【0021】
本発明の実施例における技術的方策をより明確に説明するため、以下において、実施例又は従来技術を説明するのに必要な添付図面が簡単に紹介される。明らかに、以下の説明における添付図面は本発明の単なるいくつかの実施例を示し、当業者は、創作的な努力なく、これらの添付図面から他の図面を依然として導出してもよい。
図1図1は、従来技術による情報共有方式の構成図である。
図2図2は、従来技術による情報共有方式の概略的なフローチャートである。
図3図3は、本発明の実施例による情報データアクセスシステムの概略図である。
図4図4は、本発明の実施例によるデータアクセスシステムにおけるメモリ共有装置の概略図である。
図5A図5Aは、本発明の実現方式におけるメモリ共有装置のワーキングプロセスの概略図である。
図5B図5Bは、本発明の他の実現方式におけるメモリ共有装置のワーキングプロセスの概略図である。
図5C図5Cは、本発明の他の実現方式におけるメモリ共有装置のワーキングプロセスの概略図である。
図6図6は、本発明の実施例によるデータアクセスシステムの他の実現方式の構成図である。
図7図7は、本発明の実施例によるデータアクセスシステムの他の実施例の構成図である。
図8図8は、本発明の実施例によるデータ読み取り方法のフローチャートである。
図9図9は、本発明の実施例によるデータ読み取り方法の他の実施例のフローチャートである。
図10図10は、本発明によるメモリ共有装置の実現方式の概略的な構成図である。
図11図11は、本発明によるメモリ共有装置の他の実現方式の概略的な構成図である。
【発明を実施するための形態】
【0022】
以下は更に、添付した図面及び実施例を参照して本発明の技術的方策を詳細に説明する。
【0023】
本発明の実施例は、少なくとも2つのメモリ共有装置と、通信インタフェースを利用することによってメモリ共有装置に接続される少なくとも2つの制御装置とを含むデータアクセスシステムを提供する。少なくとも2つのメモリ共有装置は、データアクセスシステムにおけるメモリ共有リソースプールを構成し、各制御装置は各メモリ共有装置に対応し、少なくとも2つの制御装置における1つの制御装置がメモリ共有リソースプールにおけるデータを読み取ることを所望するとき、制御装置は、制御装置に対応するメモリ共有装置を利用することによってメモリ共有リソースプールにおける必要とされるデータを読み取る。
【0024】
図3に示されるように、本発明の本実施例はデータアクセスシステムを提供し、当該システムは、少なくとも2つのメモリ共有装置により構成されるメモリ共有リソースプールと、通信インタフェースを利用することによってメモリ共有装置に接続される複数の制御装置とを有する。通信インタフェースは、限定することなく、高速システムバス、スイッチ又はイーサネットインタフェースである。複数のメモリ共有装置はメモリ共有リソースプールを構成し、各メモリ共有装置は、複数の制御装置の1つに対応し、複数の制御装置の1つとの制御関係を確立する。各メモリ共有装置と複数の制御装置の1つとが、高速システムバスを利用することによって接続される場合、各メモリ共有装置に接続される制御装置はメモリ共有装置を制御し、制御装置がスイッチ又はイーサネットインタフェースを利用することによってネットワーク上でメモリ共有装置に接続される場合、1つの制御装置が1つのメモリ共有装置を制御するか、又は1つの制御装置がメモリ共有リソースプールにおける何れかのメモリ共有装置を制御するという課題を解決するため、ポートコンフィギュレーションやIP割当てなどの方式によりメモリ共有装置と制御装置との間の対応関係が確立できる。
【0025】
メモリ共有リソースプールにおける何れかのメモリ共有装置は、データを記憶するよう構成される統一的にアドレッシングされるメモリユニットを有し、メモリ共有装置における第1メモリ共有装置が、アドレス情報を含み、第1メモリ共有装置に対応する第1制御装置により送信されたメモリアクセスリクエストを受信すると、
アドレス情報に対応するメモリユニットが第1メモリ共有装置におけるメモリユニットである場合、第1メモリ共有装置は、第1メモリ共有装置におけるメモリユニットからデータを読み取り、データを第1制御装置にフィードバックし、アドレス情報に対応するメモリユニットがメモリ共有リソースプールの第2メモリ共有装置におけるメモリユニットである場合、第1メモリ共有装置は、第2メモリ共有装置にメモリアクセスリクエストを転送し、第2メモリ共有装置におけるメモリユニット内にあって、第2メモリ共有装置によりフィードバックされたデータを受信し、
メモリ共有装置の何れかにおける第1メモリ共有装置が、アドレス情報を含み、第2メモリ共有装置により転送されたメモリアクセスリクエストを受信すると、第1メモリ共有装置は、第1メモリ共有装置からデータを読み取り、読み取られたデータを第2メモリ共有装置にフィードバックする。
【0026】
図4に示されるように、各メモリ共有装置は、処理モジュール501、記憶モジュール502及び通信ユニット503を有する。通信ユニット503を利用することによって、メモリ共有装置は1以上の他のメモリ共有装置と通信可能であり、これらのメモリ共有装置は同じメモリ共有リソースプールに属し、記憶モジュール502は複数のメモリユニットを有し、メモリユニットはメモリ共有リソースプール全体における統一的なアドレッシングを受け、メモリユニットはデータを記憶するよう構成され、処理モジュール501は、制御装置から受信したメモリアクセスリクエストを処理し、記憶モジュール502からデータを読み取るよう構成される。各メモリ共有装置の処理モジュール501は1つのアドレステーブルを記憶してもよく、アドレステーブルはメモリ共有リソースプールにおける全てのメモリユニットのアドレスを記録する。
【0027】
メモリ共有装置における処理モジュール501は、通信インタフェースを利用することによって1つの制御装置に接続され、通信インタフェースを介し処理モジュール501に接続された制御装置により送信されたメモリアクセスリクエストを受信し、通信ユニット503を介しメモリ共有リソースプールにおける1以上の他のメモリ共有装置に接続され、通信ユニット503を利用することによって、1以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信する。さらに、処理モジュール501が処理モジュール501に接続された制御装置により送信されたメモリアクセスリクエストを受信した後、メモリアクセスリクエストによりアクセスされるメモリユニットが1以上の他のメモリ共有装置内にあるとき、処理モジュール501は、通信ユニット503を利用することによって、アクセス対象のメモリユニットが配置されるメモリ共有装置に当該リクエストを転送する。メモリアクセスリクエストはアドレス情報を有する。処理モジュール501は、制御装置がアクセスすることを所望するメモリユニットが配置されるメモリ共有装置を決定し、メモリ共有リソースプールにおける何れかのメモリ共有装置のデータを取得し、当該データは、メモリ共有装置の記憶モジュール502のメモリユニットに配置されている。
【0028】
本発明の本実施例におけるバーチャルメモリ共有リソースプールは、以下の方式により実現可能である。メモリ共有装置は、通信ユニットを利用することによってデータ交換ドメインを構成し、データ交換ドメインに含まれるメモリユニットに対して統一的なアドレッシングを実行し、交換ドメインにおけるメモリ共有装置にアドレッシングを受けたアドレス情報を送信する。
【0029】
図3に示されるように、取得側として機能する第1制御装置110が、メモリ共有リソースプールから必要とされるデータを取得する必要があるとき、第1制御装置110は、第1制御装置110に対応する第1メモリ共有装置210にメモリアクセスリクエストを送信し、メモリアクセスリクエストは、第1制御装置110が取得することを所望するデータのアドレス情報を含み、第1メモリ共有装置210は、処理モジュール501におけるアドレステーブル及びアドレス情報に従ってクエリを実行し、第1制御装置110により必要とされるデータの記憶位置を決定する。第1制御装置110により必要とされるデータが第1メモリ共有装置210の記憶モジュール502のメモリユニットにあるとき、記憶モジュール502のメモリユニットのデータは直接アクセスされ、第1制御装置110にフィードバックされ、第1制御装置110により必要とされるデータが第1メモリ共有装置210における記憶モジュール502内にないとき、アクセスリクエストが、第1メモリ共有装置210における通信ユニット503を利用することによって、メモリアクセスリクエストのアドレス情報に対応するメモリ共有装置(例えば、第2メモリ共有装置220)に送信され、これにより、第1制御装置により必要とされるデータが取得される。第1制御装置110により必要とされるデータが第1メモリ共有装置210内にないとき、データを取得する処理の全体は、第2制御装置120における処理モジュール501のリソースを消費することなく、第2制御装置120の参加を必要としない。本発明の本実施例では、メモリユニットにおけるデータにアクセス及び取得する具体的な処理はメモリ共有装置により完結され、これにより、従来技術において提供側として機能する制御装置におけるプロセッサのワークロードを低減し、提供側として機能する制御装置におけるプロセッサの利用を増加させ、一方、各制御装置により必要とされるデータはメモリ共有リソースプールに格納され、各制御装置は他の制御装置のデータを共有可能であり、これにより、分散システムにおける情報共有の問題を解決し、分散システムの間の情報共有のリアルタイムな実行を向上させる。
【0030】
以下は更に、添付した図面を参照して上記のシステムの複数の具体的な実施例を詳細に説明する。
【0031】
図5Aに示されるように、図5Aは、本発明の実施例によるメモリ共有装置のメモリユニットのアドレッシング情報の概略図である。図5Aでは、説明のための具体例として、4つのメモリ共有装置がメモリ共有リソースプールを構成することが利用され、実際の適用では、それは、メモリ共有リソースプールを構成するため4つのメモリ共有装置に限定されない。4つのメモリ共有装置は、高速システムバスを介し制御装置に別々に接続され、各メモリ共有装置における処理モジュール501は、各メモリ共有装置の記憶スペースを定義するため、各メモリ共有装置の記憶モジュール502におけるメモリユニットのアドレッシングを実現する。第1メモリ共有装置210、第2メモリ共有装置220、第3メモリ共有装置230及び第4メモリ共有装置240は、メモリ共有リソースプールを構成する。各メモリ共有装置210のアドレッシング情報は、図5Aに示され、第1メモリ共有装置210の第1アドレッシング情報は0〜99であり、第2メモリ共有装置220の第2アドレッシング情報は100〜199であり、第3メモリ共有装置230の第3アドレッシング情報は200〜299であり、第4メモリ共有装置240の第4アドレッシング情報は300〜399である。
【0032】
メモリ共有リソースプールが構成された後、各メモリ共有装置における処理モジュールは、各メモリ共有装置の記憶モジュール502におけるメモリユニットのアドレッシング情報を定義し、通信ユニット503を利用することによって、メモリ共有リソースプールにおける他の3つのメモリ共有装置にクエリメッセージを送信し、他のメモリ共有装置における内部のメモリユニットのアドレッシング情報を取得する。
【0033】
各メモリ共有装置における処理モジュール501は、各メモリ共有装置におけるメモリユニットのアドレッシング情報と他のメモリ共有装置における内部のメモリユニットのアドレッシング情報とに従ってアドレス情報テーブルを生成し、ここで、アドレス情報テーブルは、メモリ共有装置がメモリユニットの位置を迅速に検索するのに利用される。
【0034】
第1の好適な実施例では、図5Bに示されるように、第1制御装置110は、オフセット58及び長さ10によるメモリユニットのデータにアクセスすることを所望する。第1制御装置110は、高速システムバスを介し第1メモリ共有装置210にメモリアクセスリクエストを送信し、メモリアクセスリクエストはメモリアドレス情報を含む。メモリアクセスリクエストを受信した後、第1メモリ共有装置210の処理モジュール502は、メモリアクセスリクエストを解析し、メモリアクセスリクエストのアドレス情報を抽出し、第1制御装置110はオフセット58及び長さ10によるメモリユニットのデータ、すなわち、アドレッシング情報が58〜67であるメモリユニットのデータにアクセスすることを所望していると判断する。処理モジュール501は、検索を実行し、アドレス情報テーブルに従ってメモリユニット58〜67の位置を決定する。処理モジュール501は、アドレス情報テーブルに従って、アドレッシング情報が58〜67であるメモリユニットがローカル記憶モジュール502に存在すると判断し、処理モジュール501は、アドレッシング情報が58〜67であるメモリユニットにアクセスする。当該アクセスを終了した後、処理モジュール501は結果メッセージを生成し、結果メッセージは、メモリユニット58〜67に記憶されているデータを含む。処理モジュール501は、取得したデータを高速システムバスを介し第1制御装置110に送信する。
【0035】
第2の好適な実施例では、図5Cに示されるように、第2制御装置120は、オフセット58及び長さ10によるメモリユニットのデータにアクセスすることを所望する。第2制御装置120は、高速システムバスを介し第2メモリ共有装置220の処理モジュール501にメモリアクセスリクエストを送信し、メモリアクセスリクエストはメモリアドレス情報を含む。メモリアクセスリクエストを受信した後、第2メモリ共有装置220の処理モジュール501は、メモリアクセスリクエストを解析し、メモリアクセスリクエストの情報を抽出し、第2制御装置120がオフセット58及び長さ10によるメモリユニットのデータ、すなわち、アドレッシング情報が58〜67であるメモリユニットのデータにアクセスすることを所望していると判断する。第2メモリ共有装置220の処理モジュール501は、検索を実行し、アドレス情報テーブルに従ってメモリユニット58〜67の位置を決定する。第2メモリ共有装置220の処理モジュール501は、アドレス情報テーブルに従って、アドレッシング情報が58〜67であるメモリユニットがローカルな第2メモリ共有装置220の記憶モジュール502に存在せず、第1メモリ共有装置210の記憶モジュール502に存在すると判断し、第2メモリ共有装置220の処理モジュール501は、通信ユニットを利用することによって、第1メモリ共有装置210にメモリアクセスリクエストを転送する。メモリアクセスリクエストを受信した後、第1メモリ共有装置210は、当該メッセージを第1メモリ共有装置210の処理モジュール501に送信し、第1メモリ共有装置210の処理モジュール501は、対応する処理を実行する。検索を実行し、アドレス情報テーブルに従って、メモリアクセスリクエストに含まれるメモリアドレス情報がローカルな記憶モジュール502に存在すると判断した後、第1メモリ共有装置210の処理モジュール501は、アドレッシング情報が58〜67であるメモリユニットにアクセスする。当該アクセスを終了した後、第1メモリ共有装置210の処理モジュール501は結果メッセージを生成する。第1メモリ共有装置210の処理モジュール501は、通信ユニット503を利用することによって、第2メモリ共有装置の処理モジュール501に結果メッセージを送信し、それから、第2メモリ共有装置220の処理モジュール501は、高速システムバスを介し第2制御装置120に結果メッセージを送信し、結果メッセージはメモリユニット58〜67に記憶されているデータを含む。本発明の本実施例では、第2制御装置120がメモリ共有リソースプールからデータを取得する必要があるとき、第2制御装置120により必要とされるデータが第2制御装置120により制御される第2メモリ共有装置220内になかったとしても、第2メモリ共有装置220は第2メモリ共有装置220により受信されたメモリアクセスリクエストを転送し、他の制御装置の参加なく1以上の他のメモリ共有装置から第2制御装置120により必要とされるデータを取得しさえすればよく、これにより、他の制御装置の消費を節約する。
【0036】
第3の好適な実施例では、図5Cに示されるように、第2制御装置120は、オフセット58及び長さ100によるメモリユニットのデータにアクセスすることを所望する。第2制御装置120は、高速システムバスを介し第2メモリ共有装置220にメモリアクセスリクエストを送信し、メモリアクセスリクエストはメモリアドレス情報を含む。第2メモリ共有装置220の処理モジュール501は、メモリアクセスリクエストを解析し、メモリアクセスリクエストの情報を抽出し、第2制御装置120がオフセット58及び長さ100によるメモリユニットのデータ、すなわち、アドレッシング情報が58〜157であるメモリユニットのデータにアクセスすることを所望していると判断する。第2メモリ共有装置220の処理モジュール501は、検索を実行し、アドレス情報テーブルに従ってメモリユニット58〜157の位置を決定する。第2メモリ共有装置220の処理モジュール501は、アドレス情報テーブルに従って、アドレッシング情報が58〜157であるメモリユニットの必ずしも全てがローカルな第2メモリ共有装置220の記憶モジュール502に存在せず、第1メモリ共有装置210の記憶モジュール501に部分的に存在し(58〜99)、第2メモリ共有装置220の記憶モジュール502に部分的に存在する(100〜157)と判断し、第2メモリ共有装置220の処理モジュール501は、メモリアクセスリクエストを第1メモリ共有装置に転送し、メモリアクセスリクエストはメモリアドレス情報を含む。第2メモリ共有装置220の処理モジュールは、アドレッシング情報が100〜157であるメモリユニットが第2メモリ共有装置220の記憶モジュール502に存在すると判断し、第2メモリ共有装置220の処理モジュール501は、アドレッシング情報が100〜157であるメモリユニットにアクセスする。当該アクセスを終了した後、第2メモリ共有装置220の処理モジュール501は第1結果メッセージを生成し、第1結果メッセージはメモリユニット100〜157に記憶されているデータを含む。
【0037】
第1メモリ共有装置210が第2メモリ共有装置220により転送されたメモリアクセスリクエストを受信した後、第1メモリ共有装置210の処理モジュール501は対応する処理を実行する。検索を実行し、メモリアクセスリクエストに含まれるメモリアドレス情報がローカルな第1メモリ共有装置210の記憶モジュール502に存在すると判断した後、第1メモリ共有装置210の処理モジュール501は、アドレッシング情報が58〜99であるメモリユニットにアクセスする。当該アクセスを終了した後、第1メモリ共有装置210の処理モジュール501は第2結果メッセージを生成し、第2結果メッセージはメモリユニット58〜99に記憶されているデータを含む。第1メモリ共有装置210の処理モジュール501は、第2結果メッセージを第2メモリ共有装置220の処理モジュール501に送信する。
【0038】
第2メモリ共有装置220の処理モジュール501は、高速システムバスを介し、第2制御装置220により必要されるデータを含み、第2メモリ共有装置220の処理モジュール501により生成された第1結果メッセージと、受信した第2結果メッセージとを第2制御装置120に送信する。第3実施例によると、第2制御装置120がメモリ共有リソースプールからデータを取得する必要があるとき、第2制御装置120により必要とされるデータが第2制御装置120により制御される第2メモリ共有装置220のみに記憶されておらず、分散して記憶されていたとしても、第2メモリ共有装置220は、第2メモリ共有装置220に記憶されているデータの一部をローカルに読み取り、さらに、第2メモリ共有装置220は、第2メモリ共有装置220により受信されたメモリアクセスリクエストを再処理した後、残りのデータの記憶アドレスのみを含むメモリアクセスリクエストを1以上の他のメモリ共有装置に転送し、他の制御装置の参加なく、1以上の他のメモリ共有装置から第2制御装置120により必要とされるデータを取得し、これにより、他の制御装置の消費を節約する。
【0039】
上記の複数の実施例は、制御装置とメモリ共有装置との間の通信と、メモリ共有装置の間の通信とを詳細に説明している。実際の適用では、それは上記の実施例において説明された2つのメモリ共有装置の間の通信に限定されるものでない。上記の複数の実施例によると、取得側として機能する制御装置がメモリ共有装置においてデータを共有することは、簡単且つ便利に実現可能である。
【0040】
上記の実施例の適用方式では、図6に示されるように、CPUサブシステムと代替的に呼ばれる各制御装置と、制御装置に対応するメモリ共有装置とが分散化されたノードを構成する。ハードウェアに対応して、分散化された各ノードは1つのラックであってもよく、各ラックサーバは1つの制御装置である。1つのメモリ共有装置がプラグインされた後、複数のラックにおいてスイッチを介し相互接続されるメモリ共有装置は、1つのメモリ共有リソースプールを構成する。各ラックサーバは、メモリ共有リソースプールの何れかのメモリ共有装置のデータにアクセス可能である。
【0041】
他の可能な実現方式では、図7に示されるように、各制御装置は、通信インタフェースを利用することによってメモリ共有リソースプールのメモリ共有装置に接続され、通信インタフェースは、例えば、スイッチ又はイーサネットインタフェースである。データアクセスシステムに接続されていない制御装置がデータアクセスシステムにアクセスする必要がある場合、制御装置は、スロット及びフラットケーブルを利用することによって、一致したスロット及びフラットケーブルインタフェースを含むメモリ共有装置に単に接続されればよく、このとき、メモリ共有装置は、メモリ共有リソースプールのメモリ共有装置の全てにおけるメモリユニットのアドレッシングを取得するため、クエリメッセージを再ブロードキャストし、これにより、制御装置はデータアクセスシステム全体にアクセス可能であり、ここでは更には説明されない。拡張可能なメモリ共有リソースプールを利用することによって、メモリスペースはPBレベルより大きく到達できる。
【0042】
本発明の実施例では、制御装置がメモリ共有リソースプールのメモリ共有装置のメモリユニットのデータを取得する処理がメモリ共有装置によって完結され、これにより、従来技術における提供側として機能する制御装置のCPUを置換し、従来技術における提供側として機能する制御装置のCPUのワークロードを低減し、提供側として機能する制御装置におけるCPUの利用を増加させ、一方、各制御装置により必要とされるデータはメモリ共有リソースプールに記憶され、各制御装置は他の制御装置のデータを共有可能であり、これにより、分散システムにおける情報共有の問題を解決し、分散システムの間の情報共有のリアルタイムな実行を向上させる。
【0043】
対応して、本発明の実施例では、データ読み取り方法を提供し、データ読み取り方法は、上記の実施例におけるメモリ共有装置により実行される。図8に示されるように、当該方法は以下を含む。
【0044】
801.メモリ共有リソースプールにおける第1メモリ共有装置が、第1メモリ共有装置を制御する第1制御装置により送信されたメモリアクセスリクエストを受信し、メモリアクセスリクエストは統一的なアドレッシングを受けたアドレス情報を有する。
【0045】
アドレス情報は、統一的なアドレッシングを受けた複数のメモリユニットのアドレス情報であり、複数のメモリユニットは、データを記憶するよう構成され、メモリ共有リソースプールの少なくとも2つのメモリ共有装置に配置される。少なくとも2つのメモリ共有装置における何れかのメモリ共有装置は、少なくとも2つの制御装置における1つの制御装置の制御の下でデータを読み取り、第1メモリ共有装置は少なくとも2つのメモリ共有装置の1つである。
【0046】
メモリ共有リソースプールにおける第1メモリ共有装置が第1制御装置により送信されたメモリアクセスリクエストを受信する前、当該方法は更に以下を含む。
【0047】
第1メモリ共有装置が、メモリ共有リソースプールの全てのメモリ共有装置のメモリユニットのアドレッシングデータを取得するため、メモリ共有リソースプールにおける1以上の他のメモリ共有装置にクエリメッセージをブロードキャストし、それから、第1メモリ共有装置は、アドレス情報テーブルの形式によりアドレッシングデータを記憶してもよく、これは、第1メモリ共有装置がアドレス情報に対応するメモリユニットを検索するのに便利である。
【0048】
802.第1メモリ共有装置が、アドレス情報に従って、メモリ共有リソースプールにおいてアドレス情報に対応するメモリスペースが配置されるメモリ共有装置を決定する。
【0049】
具体的には、第1メモリ共有装置は、アドレス情報に従って、アドレス情報に対応するメモリスペースが配置される具体的な位置を、第1メモリ共有装置の処理モジュールにおけるアドレス情報テーブルにおいて検索方式により決定できる。
【0050】
アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が第1メモリ共有装置である場合、第1メモリ共有装置は、第1メモリ共有装置におけるメモリユニットからデータを読み取る。
【0051】
アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が、例えば、第2メモリ共有装置など、メモリ共有リソースプールにおける他のメモリ共有装置である場合、第1メモリ共有装置は、メモリアクセスリクエストを第2メモリ共有装置に転送し、それから、第2メモリ共有装置がメモリアクセスリクエストのアドレス情報に従って第2メモリ共有装置のメモリユニットからデータを読み取った後、第1メモリ共有装置にフィードバックされたデータ読み取り結果を待機することができる。
【0052】
第1メモリ共有装置が、アドレス情報に従って、アドレス情報に対応するメモリユニットが配置されるメモリ共有装置を決定した後、アドレス情報に対応するメモリユニットにおけるメモリユニットの第1部分が第1メモリ共有装置内にあって、第2部分が第2メモリ共有装置内にある場合、第1メモリ共有装置は、第1メモリ共有装置におけるメモリユニットからのメモリユニットの第1部分のデータを読み取り、
第1メモリ共有装置は、メモリアクセスリクエストのアドレス情報のメモリユニットの第1部分のアドレスを消去し、メモリユニットの第2部分のアドレスのみを含むメモリアクセスリクエストを第2メモリ共有装置に転送し、
それから、第1メモリ共有装置は、第2メモリ共有装置により返されたデータ読み取り結果を受信する。
【0053】
803.第1メモリ共有装置は、データ読み取り結果を第1制御装置にフィードバックする。
【0054】
具体的には、第1メモリ共有装置は、第1メモリ共有装置自体のメモリユニットから第1制御装置により必要とされるデータを読み取るか、又は第1メモリ共有装置により必要とされ、メモリ共有リソースプールにおける第2メモリ共有装置にフィードバックされたデータを受信するか、又はローカルに読み取られたデータと第2メモリ共有装置から読み取られたデータとをデータ読み取り結果として通信インタフェースを介し第1制御装置に送信する。
【0055】
上記の方法によると、データアクセスシステムにおける特定の制御装置がメモリ共有リソースプールからデータを読み取る必要があるとき、必要とされたデータが制御装置により制御されるメモリ共有装置内になかったとしても、他の制御装置が参加する必要がなく、これにより、データアクセスシステムにおける制御装置のCPUの消費を減少させる。
【0056】
対応して、制御装置の観点から、データ読み取り処理が図9に示され、当該方法は以下を含む。
【0057】
901.第1制御装置は、メモリアクセスリクエストをメモリ共有リソースプールにおける第1メモリ共有装置に送信し、メモリアクセスリクエストは、制御装置がアクセスする必要があるメモリユニットのアドレス情報を含む。
【0058】
具体的には、アドレス情報は、メモリ共有リソースプール全体の全てのメモリ共有装置における統一的なアドレッシングを受けたメモリユニットのアドレス情報であり、メモリ共有リソースプールにおける何れかのメモリ共有装置が、少なくとも2つの制御装置における1つの制御装置の制御の下でデータを読み取り、第1メモリ共有装置は少なくとも2つのメモリ共有装置の1つである。
【0059】
902.第1制御装置は、第1メモリ共有装置によりフィードバックされたデータ読み取り結果を受信する。
【0060】
具体的には、アドレス情報に対応するメモリスペースが配置されるメモリ共有装置が第1メモリ共有装置である場合、第1メモリ共有装置によりフィードバックされるデータ読み取り結果は、第1メモリ共有装置が第1メモリ共有装置におけるメモリユニットからデータを読み取った後、第1メモリ共有装置により生成される。
【0061】
アドレス情報に対応するメモリユニットが配置されるメモリ共有装置が第2メモリ共有装置である場合、第1メモリ共有装置によりフィードバックされたデータ読み取り結果は、第2メモリ共有装置によって送信され、第1メモリ共有装置により受信されたデータ読み取り結果である。
【0062】
アドレス情報に対応するメモリユニットにおけるメモリユニットの第1部分が第1メモリ共有装置内にあって、第2部分が第2メモリ共有装置内にある場合、
第1メモリ共有装置によりフィードバックされるデータ読み取り結果は、第1メモリ共有装置におけるメモリユニットの第1部分におけるデータと、第2メモリ共有装置におけるメモリユニットの第2部分におけるデータとである。
【0063】
上記の実施例において提供されるデータ読み取り方法によると、メモリ共有リソースプールの何れかのメモリ共有装置におけるデータは、他の制御装置のCPUの参加なく、1つの制御装置を利用することによって読み取り可能である。
【0064】
対応して、本発明の実施例はメモリ共有装置を提供する。図10に示されるように、メモリ共有装置は、記憶モジュール1101、処理モジュール1102及び通信ユニット1103を有する。
【0065】
記憶モジュール1101は、処理モジュール1102に接続され、データを記憶するよう構成される。
【0066】
処理モジュール1102は、通信インタフェースを利用することによって1つの制御装置に接続され、当該メモリ共有装置が配置されるメモリ共有リソースプールにおける1以上の他のメモリ共有装置に通信ユニット1103を介し接続され、通信インタフェースを介し処理モジュール1102に接続された制御装置により送信されたメモリアクセスリクエストを受信し、通信ユニット1103を利用することによって、メモリ共有リソースプールにおける1以上の他のメモリ共有装置により転送されたメモリアクセスリクエストを受信し、及び/又は制御装置により送信されたメモリアクセスリクエストをメモリ共有リソースプールにおける1以上の他のメモリ共有装置に転送し、1以上の他のメモリ共有装置に転送されたメモリアクセスリクエストは、対応する制御装置から1以上の他のメモリ共有装置により受信され、メモリアクセスリクエストは、メモリ共有リソースプールの複数のメモリ共有装置における統一的なアドレッシングを受けたメモリユニットのアドレス情報を有し、アドレス情報は、メモリ共有リソースプールの何れかのメモリ共有装置のメモリユニットにおけるデータを取得するため利用される。
【0067】
より詳細には、処理モジュール1102に接続される記憶モジュール1101は、データを記憶するよう構成される複数のメモリユニットを有し、メモリユニットは、メモリ共有リソースプールの複数のメモリ共有装置において統一的なアドレッシングを受ける。
【0068】
好ましくは、処理モジュール1102は、フィールド・プログラマブル・ゲート・アレイ(Field−Programmable Gate Array、FPGA)又は中央処理ユニットチップにより実現されてもよい。
【0069】
具体的には、例えば、処理モジュール1102は更にクエリユニットを有してもよく、クエリユニットは、通信ユニット1103を利用することによってメモリ共有リソースプールにおけるメモリ共有装置の全てにクエリメッセージをブロードキャストし、メモリ共有リソースプールにおける全てのメモリ共有装置のメモリユニットのアドレッシング情報を取得し、アドレッシング情報をアドレス情報テーブルの形式により記憶する。
【0070】
処理モジュール1102は、通信インタフェース(例えば、高速システムバス、イーサネットインタフェース又はスイッチ)からメモリアクセスリクエストを受信し、メモリアクセスリクエストのアドレス情報と処理モジュール1102に記憶されるアドレス情報テーブルとに従って、アドレス情報に対応するメモリスペースが配置されるメモリ共有装置を決定する。
【0071】
アドレス情報に対応するメモリスペースが配置されるメモリ共有装置がローカルなメモリ共有装置である場合、処理モジュール1102は、記憶モジュール1101にあって、アドレス情報に対応するメモリユニットからデータを読み取る。
【0072】
アドレス情報に対応するメモリスペースが配置されるメモリ共有装置が、通信ユニット1103に接続される1以上の他のメモリ共有装置である場合、処理モジュール1102は、通信ユニットを利用することによって、メモリアクセスリクエストを1以上の他のメモリ共有装置に転送する。
【0073】
アドレス情報に対応するメモリユニットにおけるメモリユニットの第1部分がローカルなメモリ共有装置内にあって、メモリユニットの第2部分が1以上の他のメモリ共有装置内にある場合、処理モジュール1102は、ローカルなメモリ共有装置における記憶モジュール1101からメモリユニットの第1部分のデータを読み取り、メモリアクセスリクエストのアドレス情報におけるメモリユニットの第1部分のアドレスを消去し、通信ユニット1103を利用することによって、メモリユニットの第2部分のアドレスのみを含むメモリアクセスリクエストを第2メモリ共有装置に転送する。
【0074】
メモリ共有装置と1以上の他のメモリ共有装置とはまず、バーチャルメモリ共有リソースプールを構成し、バーチャルメモリ共有リソースプールを構成する処理は、具体的には、各メモリ共有装置における処理モジュール1102が、各メモリ共有装置の記憶モジュール1101のメモリユニットのアドレッシングを実行し、各メモリ共有装置の記憶スペースを定義し、同じ通信インタフェースを利用することによって、複数のメモリ共有装置を一緒に接続し、これにより、複数のメモリ共有装置は同じ交換ドメインに属し、交換ドメインにおいて複数のメモリ共有装置の記憶モジュール1101のメモリユニットに対して統一的なアドレッシングパーティションを実行し、各メモリ共有装置の処理モジュール1102にパーティションアドレッシング情報を通知し、バーチャルメモリ共有リソースプールを構成するというものである。
【0075】
メモリ共有装置における処理モジュール1102は、記憶モジュール1101のメモリユニットにデータを書き込み、これにより、制御システムにより必要とされるデータがメモリユニットに記憶される。制御装置がデータを書き込む処理において、制御装置は、メモリ共有装置の処理モジュール1102にデータの記憶位置を通知し、これにより、メモリ共有装置の処理モジュール1102は、メモリ共有装置のメモリユニットのアドレッシングパーティションに従ってコンテンツユニットにデータを正しく書き込む。
【0076】
取得側として機能する第1制御装置がメモリ共有リソースプールからデータを取得する必要があるというメモリアクセスリクエストをメモリ共有装置が受信するとき、メモリアクセスリクエストは、第1制御装置が取得することを所望するデータのアドレス情報を含む。処理モジュール1102は、アドレス情報に従って、メモリ共有リソースプールにおけるアドレス情報に対応するメモリユニットが配置されるメモリ共有装置を決定する。
【0077】
処理モジュール1102は、判断ユニットを利用することによって、アドレス情報に従って、処理モジュール1102のアドレス情報テーブルにおいて検索方式により、アドレス情報に対応するメモリユニットが配置される具体的な位置を決定する。
【0078】
具体的には、アドレス情報に対応するメモリユニットが配置されるメモリ共有装置がローカルなメモリ共有装置である場合、メモリ共有装置の処理モジュール1102は、記憶モジュール1101のメモリユニットからデータを読み取る。
【0079】
アドレス情報に対応するメモリスペースが配置されるメモリ共有装置が、例えば、第2メモリ共有装置などのメモリ共有リソースプールにおける他のメモリ共有装置である場合、メモリ共有装置は、処理モジュール1102及び通信ユニット1103を利用することによって、メモリアクセスリクエストを第2メモリ共有装置に転送し、それから、第2メモリ共有装置がメモリアクセスリクエストのアドレス情報に従って第2メモリ共有装置のメモリユニットからデータを読み取った後、第1メモリ共有装置にフィードバックされるデータ読み取り結果を待機することができる。
【0080】
メモリ共有装置は、メモリ共有装置の記憶モジュールから第1制御装置により必要とされるデータを読み取るか、又は、制御装置により必要とされ、メモリ共有リソースプールの第2メモリ共有装置によりフィードバックされたデータを受信した後、通信インタフェースを介し制御装置にデータ読み取り結果を送信する。
【0081】
図11に示されるように、好適な実現方式では、メモリ共有装置は更に、外部電源が故障したとき、メモリ共有装置に電力を提供するよう構成される電源モジュール1105を有する。メモリ共有装置は、電源モジュール1105を利用することによって、不揮発性ランダム・アクセス・メモリ(Non−Volatile Random Access Memory,NVRAM)を構成可能である。電源モジュール1105は、スーパーキャパシタ又はバッテリ・バックアップ・ユニットBBU(Battery Backup Unit,BBU)であってもよい。
【0082】
好適な実現方式では、メモリ共有装置は更に、アプリケーションプログラムを記憶するよう構成されるフラッシュメモリモジュール1104を有してもよく、アプリケーションプログラムは、処理モジュールにより実行される命令を含む。
【0083】
好適な実現方式では、メモリ共有装置は更に、記憶モジュール1101におけるアプリケーションプログラムをデバッグし、通信ユニット1103におけるトラフィックを制御するよう構成される管理モジュール1106を更に有してもよく、管理モジュール1106はCPU IPカーネルにより実現されてもよい。
【0084】
本発明の本実施例において提供されるメモリ共有装置は、検索を実行し、受信したメモリアクセスリクエストに従って対応するメモリユニットの位置を決定し、対応するメモリユニットがローカルな記憶モジュール内にあるとき、メモリ共有装置は、当該メモリユニットに直接アクセスし、メモリユニットからデータを取得し、取得したデータを含む結果メッセージを制御装置にフィードバックする。本発明の本実施例では、メモリユニットのデータにアクセス及び取得する具体的な処理は第1メモリ共有装置により完結され、これにより、従来技術において提供側として機能する制御装置のCPUを置換し、従来技術において提供側として機能する制御装置のCPUのワークロードを低減し、提供側として機能する制御装置のCPUの利用を増加させる。
【0085】
当業者は更に、本明細書において開示された実施例において説明される具体例に関して、ユニット及びアルゴリズムのステップが電子ハードウェア、コンピュータソフトウェア又はこれらの組み合わせにより実現されてもよいことを認識してもよい。ハードウェアとソフトウェアとの間の互換性を明確に説明するため、上記は機能に従って各具体例の構成及びステップを全体的に説明した。当該機能がハードウェア又はソフトウェアにより実行されるかは、技術的方策の特定の適用及び設計制約条件に依存する。当業者は、異なる方法を利用して、各特定の適用のために説明された機能を実現してもよいが、当該実現は本発明の範囲を超えるとみなされるべきでない。
【0086】
本明細書に開示された実施例に関連して、方法又はアルゴリズムのステップは、ハードウェア、プロセッサにより実行されるソフトウェアモジュール又はこれらの組み合わせにより実現されてもよい。ソフトウェアモジュールは、ランダム・アクセス・メモリ(RAM)、メモリ、読み出し専用メモリ(ROM)、電気的にプログラム可能なROM、電気的に消去可能なプログラム可能なROM、レジスタ、ハードディスク、着脱可能なディスク、CD−ROM又は当該技術において周知な他の何れかの形態による記憶媒体において構成されてもよい。
【0087】
上記の特定の実施例は、本発明の課題、技術的方策及び効果を詳細に明らかにしている。上記の説明は本発明の単なる特定の実施例であり、本発明の保護範囲を限定することを意図するものでないことが理解されるべきである。本発明の精神及び原理から逸脱することなくなされた何れの修正、等価な置換又は改良は、本発明の保護範囲に属する。
図1
図2
図3
図4
図5A
図5B
図5C
図6
図7
図8
図9
図10
図11