(57)【特許請求の範囲】
【請求項１】
中央処理ユニット（ＣＰＵ）、メモリ、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）コントローラ、ネットワークアダプタ及び少なくとも１つのＰＣＩｅストレージ装置を有するデータ処理システムであって、更に、
当該データ処理システムがデータリクエストを受信すると、前記データリクエストにより搬送される第１アドレス情報に従って前記ＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するよう構成される管理部を有し、
前記第１ストレージアドレスは、メモリマッピング入出力（ＭＭＩＯ）アドレスであり、
前記ネットワークアダプタは、前記第１ストレージアドレスに従って前記ＰＣＩｅストレージ装置からデータを直接読み込み、前記データを第２データ処理システムに送信するか、又は前記第２データ処理システムから受信したデータを前記ＰＣＩｅストレージ装置に直接書き込み、
前記第２データ処理システムは、ネットワークを介し当該データ処理システムと通信するデータ処理システムであり、
前記ＣＰＵは、各ＰＣＩｅストレージ装置に一意的な識別子を割り当て、前記一意的な識別子は、各ＰＣＩｅストレージ装置を特定するのに利用され、
前記管理部は更に、前記ＰＣＩｅストレージ装置の前記一意的な識別子とＢＡＲにおけるベースアドレスとの間の対応関係を確立するよう構成され、
前記管理部は、ベースアドレス取得部とストレージアドレス取得部とを有し、
前記ベースアドレス取得部は、前記ＰＣＩｅストレージ装置のものであって、前記データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのＢＡＲにおけるベースアドレスを取得するよう構成され、
前記ストレージアドレス取得部は、前記ＢＡＲにおけるベースアドレスと前記データリクエストにより搬送されるＬＢＡアドレスとに従って前記ＰＣＩｅストレージ装置における前記リクエストされたデータの前記第１ストレージアドレスを取得するよう構成されるデータ処理システム。
【請求項２】
前記ＰＣＩｅコントローラは、前記第１ストレージアドレスに従って前記ＰＣＩｅストレージ装置における前記データリクエストによりリクエストされたデータの第２ストレージアドレスを取得するよう構成されるアドレス変換部を有する、請求項１記載のデータ処理システム。
【請求項３】
前記第２ストレージアドレスは、物理アドレス又は論理アドレスであり、
前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであるか、又は前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項２記載のデータ処理システム。
【請求項４】
前記アドレス変換部は更に、第１ＢＡＲアドレスレジスタを構成するよう構成され、
前記第１ＢＡＲアドレスレジスタは、前記第１ストレージアドレスと前記第２ストレージアドレスとの間の対応関係を格納し、
前記第２ストレージアドレスは、リニアな連続するストレージアドレスである、請求項２又は３記載のデータ処理システム。
【請求項５】
前記アドレス変換部は更に、第２ＢＡＲアドレスレジスタを構成するよう構成され、
前記第２ＢＡＲアドレスレジスタは、前記第１ストレージアドレスと前記第２ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、
前記第２ストレージアドレスは、非リニアな連続するストレージアドレスであり、
前記第２ストレージアドレスのバーチャルアドレスは、リニアオーダリングが前記第２ストレージアドレスに対して実行された後に取得されるアドレスである、請求項２乃至４何れか一項記載のデータ処理システム。
【請求項６】
前記第１アドレス情報は、前記ＰＣＩｅストレージ装置の前記一意的な識別子と論理ブロックアドレス（ＬＢＡ）とを有する、請求項１乃至５何れか一項記載のデータ処理システム。
【請求項７】
前記一意的な識別子は、ベンダ識別子（ベンダＩＤ）、デバイス識別子（デバイスＩＤ）及びハードディスクシリアル番号の少なくとも１つを有するか、又は、前記一意的な識別子は、前記ベンダＩＤ、前記デバイスＩＤ及び前記ハードディスクシリアル番号の少なくとも１つに対してハッシュ処理が実行された後に取得される識別子である、請求項６記載のデータ処理システム。
【請求項８】
前記管理部は、ベースアドレス取得部とストレージアドレス取得部とを有し、
前記ベースアドレス取得部は、当該データ処理システムが前記ネットワークを介し当該データ処理システムと通信する第２データ処理システムの第１データリクエストを受信すると、前記ＰＣＩｅストレージ装置のものであって、前記第１データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのＢＡＲにおけるベースアドレスを取得するよう構成され、
前記ストレージアドレス取得部は、前記ＢＡＲにおけるベースアドレスと前記第１データリクエストにより搬送されるＬＢＡアドレスとに従って前記ＰＣＩｅストレージ装置における前記リクエストされたデータの前記第１ストレージアドレスを取得するよう構成され、前記第１ストレージアドレスは、ＭＭＩＯアドレスである、請求項６記載のデータ処理システム。
【請求項９】
前記ＣＰＵは、前記ネットワークアダプタに前記取得した第１ストレージアドレスを登録する、請求項１又は８記載のデータ処理システム。
【請求項１０】
当該データ処理システムは更に送信部を有し、
前記送信部は、前記管理部により取得された第１ストレージアドレスを前記第２データ処理システムに送信するよう構成される、請求項１又は８記載のデータ処理システム。
【請求項１１】
前記ＰＣＩｅコントローラは、前記ネットワークアダプタにより送信され、前記第１ストレージアドレスを搬送するデータリクエストを取得し、
前記アドレス変換部は、前記第２ストレージアドレスのデータを取得し、前記取得したデータを前記ネットワークアダプタに返すか、又は前記ネットワークアダプタにより送信されたデータを前記第２ストレージアドレスに書き込む、請求項２又は９記載のデータ処理システム。
【請求項１２】
前記管理部は更に、グローバルベースアドレス取得部とグローバルストレージアドレス取得部とを有し、
前記グローバルベースアドレス取得部は、当該データ処理システムが第２データリクエストを取得すると、前記ＰＣＩｅストレージ装置のものであって、前記第２データリクエストにより搬送される一意的な識別子に従って前記第２データ処理システムのＢＡＲにおける前記第２データリクエストによりリクエストされるデータのベースアドレスを取得するよう構成され、前記第２データリクエストは、前記第２データ処理システムにデータを送信するためのリクエスト又は前記第２データ処理システムからデータを読み込むためのリクエストであり、
前記グローバルストレージアドレス取得部は、前記第２データ処理システムのＢＡＲにおけるベースアドレスと前記第２データリクエストにより搬送されるＬＢＡアドレスとに従って前記第２データ処理システムにおける前記第２データリクエストによりリクエストされる前記データのＭＭＩＯアドレスを取得するよう構成される、請求項７又は８記載のデータ処理システム。
【請求項１３】
前記第２データ処理システムのＰＣＩｅコントローラにおけるデータ変換部は、前記第２データ処理システムにおける当該データ処理システムにより送信された前記第２データリクエストによりリクエストされる前記データのＭＭＩＯアドレスに従って、前記第２データ処理システムにおける前記第２データリクエストによりリクエストされる前記データの物理アドレス又は論理アドレスを取得し、
前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項１２記載のデータ処理システム。
【請求項１４】
データ処理方法であって、当該方法は、中央処理ユニット（ＣＰＵ）、メモリ、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）コントローラ、ネットワークアダプタ及び少なくとも１つのＰＣＩｅストレージ装置を有するデータ処理システムに適用され、
前記データ処理システムがデータリクエストを受信すると、前記データリクエストにより搬送される第１アドレス情報を取得するステップと、
前記第１アドレス情報に従って前記ＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するステップであって、前記第１ストレージアドレスはメモリマッピング入出力（ＭＭＩＯ）アドレスである、取得するステップと、
前記ネットワークアダプタによって、前記第１ストレージアドレスに従って前記ＰＣＩｅストレージ装置からデータを直接読み込み、前記データを第２データ処理システムに送信するか、又は前記第２データ処理システムから受信したデータを前記ＰＣＩｅストレージ装置に直接書き込むステップであって、前記第２データ処理システムは、ネットワークを介し前記データ処理システムと通信するデータ処理システムである、書き込むステップと、
を有し、
前記ＣＰＵは、各ＰＣＩｅストレージ装置に一意的な識別子を割り当て、前記一意的な識別子は、各ＰＣＩｅストレージ装置を特定するのに利用され、
前記ＰＣＩｅストレージ装置の前記一意的な識別子とＢＡＲにおけるベースアドレスとの間の対応関係を確立するステップを有し、
前記ＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するステップは、
前記ＰＣＩｅストレージ装置のものであって、前記データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのＢＡＲにおけるベースアドレスを取得するステップと、
前記ＢＡＲにおけるベースアドレスと前記データリクエストにより搬送されるＬＢＡアドレスとに従って前記ＰＣＩｅストレージ装置における前記リクエストされたデータの前記第１ストレージアドレスを取得するステップと、
を有するデータ処理方法。
【請求項１５】
前記ＰＣＩｅコントローラは、前記第１ストレージアドレスに従って前記ＰＣＩｅストレージ装置における前記データリクエストによりリクエストされたデータの第２ストレージアドレスを取得する、請求項１４記載のデータ処理方法。
【請求項１６】
前記第２ストレージアドレスは、物理アドレス又は論理アドレスであり、
前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであるか、又は前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項１５記載のデータ処理方法。
【請求項１７】
当該方法は更に、前記ＰＣＩｅコントローラによって第１ＢＡＲアドレスレジスタを構成するステップを有し、
前記第１ＢＡＲアドレスレジスタは、前記第１ストレージアドレスと前記第２ストレージアドレスとの間の対応関係を格納し、
前記第２ストレージアドレスは、リニアな連続するストレージアドレスである、請求項１５又は１６記載のデータ処理方法。
【請求項１８】
当該方法は更に、前記ＰＣＩｅコントローラによって、第２ＢＡＲアドレスレジスタを構成するステップを有し、
前記第２ＢＡＲアドレスレジスタは、前記第１ストレージアドレスと前記第２ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、
前記第２ストレージアドレスは、非リニアな連続するストレージアドレスであり、
前記第２ストレージアドレスのバーチャルアドレスは、リニアオーダリングが前記第２ストレージアドレスに対して実行された後に取得されるアドレスである、請求項１５乃至１７何れか一項記載のデータ処理方法。
【請求項１９】
前記第１アドレス情報は、前記ＰＣＩｅストレージ装置の前記一意的な識別子と論理ブロックアドレス（ＬＢＡ）とを有する、請求項１４乃至１８何れか一項記載のデータ処理方法。
【請求項２０】
前記一意的な識別子は、ベンダ識別子（ベンダＩＤ）、デバイス識別子（デバイスＩＤ）及びハードディスクシリアル番号の少なくとも１つを有するか、又は、前記一意的な識別子は、前記ベンダＩＤ、前記デバイスＩＤ及び前記ハードディスクシリアル番号の少なくとも１つに対してハッシュ処理が実行された後に取得される識別子である、請求項１９記載のデータ処理方法。
【請求項２１】
前記ＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するステップは、
前記ＰＣＩｅストレージ装置のものであって、第１データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのＢＡＲにおけるベースアドレスを取得するステップと、
前記ＢＡＲにおけるベースアドレスと前記第１データリクエストにより搬送されるＬＢＡアドレスとに従って前記ＰＣＩｅストレージ装置における前記リクエストされたデータの前記第１ストレージアドレスを取得するステップであって、前記第１ストレージアドレスは、ＭＭＩＯアドレスである、取得するステップと、
を有する、請求項１９記載のデータ処理方法。
【請求項２２】
前記ＣＰＵは、前記ネットワークアダプタに前記取得した第１ストレージアドレスを登録する、請求項１４又は２１記載のデータ処理方法。
【請求項２３】
当該方法は更に、前記データ処理システムによって、前記取得された第１ストレージアドレスを前記第２データ処理システムに送信するステップを有する、請求項１５又は２１記載のデータ処理方法。
【請求項２４】
前記ＰＣＩｅコントローラは、前記ネットワークアダプタにより送信され、前記第１ストレージアドレスを搬送するデータリクエストを取得し、前記第２ストレージアドレスのデータを取得し、前記取得したデータを前記ネットワークアダプタに返すか、又は前記ネットワークアダプタにより送信されたデータを前記第２ストレージアドレスに書き込む、請求項１４又は２２記載のデータ処理方法。
【請求項２５】
当該方法は更に、
前記データ処理システムが第２データリクエストを取得すると、前記ＰＣＩｅストレージ装置のものであって、前記第２データリクエストにより搬送される一意的な識別子に従って前記第２データ処理システムのＢＡＲにおける前記第２データリクエストによりリクエストされるデータのベースアドレスを取得するステップであって、前記第２データリクエストは、前記第２データ処理システムにデータを送信するためのリクエスト又は前記第２データ処理システムからデータを読み込むためのリクエストである、取得するステップと、
前記第２データ処理システムのＢＡＲにおけるベースアドレスと前記第２データリクエストにより搬送されるＬＢＡアドレスとに従って前記第２データ処理システムにおける前記第２データリクエストによりリクエストされる前記データのＭＭＩＯアドレスを取得するステップと、
を有する、請求項１９又は２１記載のデータ処理方法。
【請求項２６】
前記第２データ処理システムのＰＣＩｅコントローラは、前記第２データ処理システムにおける前記データ処理システムにより送信された前記第２データリクエストによりリクエストされる前記データのＭＭＩＯアドレスに従って、前記第２データ処理システムにおける前記第２データリクエストによりリクエストされる前記データの物理アドレス又は論理アドレスを取得し、
前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである、請求項２５記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報技術の分野に関し、特に異なるデータ処理システムの間のデータ送信のための装置、方法及びシステムに関する。
【背景技術】
【０００２】
ビッグデータのトレンドでは、データ信頼性を確保するため、マルチ複製方法が通常利用される。しかしながら、マルチ複製方法が利用されるとき、ノード間で多くのデータマイグレーション処理が通常生じる。
【０００３】
ＲＤＭＡ（Ｒｅｍｏｔｅ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ，リモート・ダイレクト・メモリ・アクセス）技術は、ネットワーク上の２つのノードの間のデータのリード処理を実現する技術である。ＲＤＭＡは、ネットワークを介しコンピュータのメモリにデータを直接送信し、オペレーティングシステムに対する影響を生じさせることなく、ローカルノードからリモートノードのメモリにデータを高速にマイグレートする。
【０００４】
ネットワーク上で送信されるＲＤＭＡ情報は、デスティネーションバーチャルアドレス、メモリキー及びデータ自体を含む。リクエストの完了は、ユーザスペースにおいて完全に処理されてもよいし（ポーリングユーザレベルを利用することによって、構成が完了される）、又はリクエストが完了するまで、アプリケーションがスリープ状態にある場合にはカーネルメモリを利用することによって処理される。ＲＤＭＡ処理を実行することによって、アプリケーションは、リモートアプリケーションのメモリからデータを読み、又はデータをメモリに書き込むようにしてもよい。ターゲットホストのネットワークアダプタは、メモリキーを決定し、データをアプリケーションキャッシュに直接書き込む。
【０００５】
ＲＤＭＡは、互いに通信する２つのサーバの間のデータ送信がメモリを利用することによって送信データに対して実行される必要があることを要求する。メモリが利用されない場合、データ送信は実行できない。この結果、データ送信の遅延とメモリの利用率とが相対的に高くなる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施例は、２つのデータ処理システムの間のデータ送信のための効率性とデバイス利用とを向上させるため、システム及びデータ処理方法を提供する。
【課題を解決するための手段】
【０００７】
本発明の実施例は、中央処理ユニット（ＣＰＵ）、メモリ、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）コントローラ、ネットワークアダプタ及び少なくとも１つのＰＣＩｅストレージ装置を有するデータ処理システムであって、更に、
当該データ処理システムがデータリクエストを受信すると、前記データリクエストにより搬送される第１アドレス情報に従って前記ＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するよう構成される管理部を有し、前記第１ストレージアドレスは、メモリマッピング入出力（ＭＭＩＯ）アドレスであり、
前記ネットワークアダプタは、前記第１ストレージアドレスに従って前記ＰＣＩｅストレージ装置からデータを直接読み込み、前記データを第２データ処理システムに送信するか、又は前記第２データ処理システムから受信したデータを前記ＰＣＩｅストレージ装置に直接書き込み、前記第２データ処理システムは、ネットワークを介し当該データ処理システムと通信するデータ処理システムであるデータ処理システムを提供する。
【０００８】
任意的には、前記ＰＣＩｅストレージ装置は、前記第１ストレージアドレスに従って前記ＰＣＩｅストレージ装置における前記データリクエストによりリクエストされたデータの第２ストレージアドレスを取得するよう構成されるアドレス変換部を有する。
【０００９】
任意的には、前記第２ストレージアドレスは、物理アドレス又は論理アドレスであり、前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
【００１０】
任意的には、前記アドレス変換部は更に、第１ベースアドレスレジスタＢＡＲを構成するよう構成され、前記第１ＢＡＲアドレスレジスタは、前記第１ストレージアドレスと前記第２ストレージアドレスとの間の対応関係を格納し、前記第２ストレージアドレスは、リニアな連続するストレージアドレスである。
【００１１】
任意的には、前記アドレス変換部は更に、第２ＢＡＲアドレスレジスタを構成するよう構成され、前記第２ＢＡＲアドレスレジスタは、前記第１ストレージアドレスと前記第２ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、前記第２ストレージアドレスは、非リニアな連続するストレージアドレスであり、前記第２ストレージアドレスのバーチャルアドレスは、リニアオーダリングが前記第２ストレージアドレスに対して実行された後に取得されるアドレスである。
【００１２】
任意的には、前記ＣＰＵは、各ＰＣＩｅストレージ装置に一意的な識別子を割り当て、前記一意的な識別子は、各ＰＣＩｅストレージ装置を特定するのに利用される。
【００１３】
任意的には、前記第１アドレス情報は、前記ＰＣＩｅストレージ装置の前記一意的な識別子と論理ブロックアドレス（ＬＢＡ）とを有する。
【００１４】
任意的には、前記管理部は更に、前記ＰＣＩｅストレージ装置の前記一意的な識別子とＢＡＲにおけるベースアドレスとの間の対応関係を確立するよう構成される。
【００１５】
前記一意的な識別子は、ベンダ識別子（ベンダＩＤ）、デバイス識別子（デバイスＩＤ）及びハードディスクシリアル番号の少なくとも１つを有するか、又は、前記一意的な識別子は、前記ベンダＩＤ、前記デバイスＩＤ及び前記ハードディスクシリアル番号の少なくとも１つに対してハッシュ処理が実行された後に取得される識別子である。
【００１６】
任意的には、前記管理部は、ベースアドレス取得部とストレージアドレス取得部とを有し、
前記ベースアドレス取得部は、当該データ処理システムが前記ネットワークを介し当該データ処理システムと通信する第２データ処理システムの第１データリクエストを受信すると、前記ＰＣＩｅストレージ装置のものであって、前記第１データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのＢＡＲにおけるベースアドレスを取得するよう構成され、
前記ストレージアドレス取得部は、前記ＢＡＲにおけるベースアドレスと前記第１データリクエストにより搬送されるＬＢＡアドレスとに従って前記ＰＣＩｅストレージ装置における前記リクエストされたデータの前記第１ストレージアドレスを取得するよう構成され、前記第１ストレージアドレスは、ＭＭＩＯアドレスである。
【００１７】
任意的には、前記ＣＰＵは、前記ネットワークアダプタに前記取得した第１ストレージアドレスを登録する。
【００１８】
任意的には、当該データ処理システムは更に送信部を有し、前記送信部は、前記管理部により取得された第１ストレージアドレスを前記第２データ処理システムに送信するよう構成される。
【００１９】
任意的には、前記ＰＣＩｅコントローラは、前記ネットワークアダプタにより送信され、前記第１ストレージアドレスを搬送するデータリクエストを取得し、前記アドレス変換部は、前記第２ストレージアドレスのデータを取得し、前記取得したデータを前記ネットワークアダプタに返すか、又は前記ネットワークアダプタにより送信されたデータを前記第２ストレージアドレスに書き込む。
【００２０】
任意的には、前記管理部は更に、グローバルベースアドレス取得部とグローバルストレージアドレス取得部とを有し、
前記グローバルベースアドレス取得部は、当該データ処理システムが第２データリクエストを取得すると、前記ＰＣＩｅストレージ装置のものであって、前記第２データリクエストにより搬送される一意的な識別子に従って前記第２データ処理システムのＢＡＲにおける前記第２データリクエストによりリクエストされるデータのベースアドレスを取得するよう構成され、前記第２データリクエストは、前記第２データ処理システムにデータを送信するためのリクエスト又は前記第２データ処理システムからデータを読み込むためのリクエストであり、
前記グローバルストレージアドレス取得部は、前記第２データ処理システムのＢＡＲにおけるベースアドレスと前記第２データリクエストにより搬送されるＬＢＡアドレスとに従って前記第２データ処理システムにおける前記第２データリクエストによりリクエストされる前記データのＭＭＩＯアドレスを取得するよう構成される。
【００２１】
任意的には、前記第２データ処理システムのＰＣＩｅコントローラにおけるデータ変換部は、前記第２データ処理システムにおける当該データ処理システムにより送信された前記第２データリクエストによりリクエストされる前記データのＭＭＩＯアドレスに従って、前記第２データ処理システムにおける前記第２データリクエストによりリクエストされる前記データの物理アドレス又は論理アドレスを取得し、前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
【００２２】
本発明の実施例は、データ処理方法であって、当該方法は、中央処理ユニット（ＣＰＵ）、メモリ、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）コントローラ、ネットワークアダプタ及び少なくとも１つのＰＣＩｅストレージ装置を有するデータ処理システムに適用され、当該方法は、
前記データ処理システムがデータリクエストを受信すると、前記データリクエストにより搬送される第１アドレス情報を取得するステップと、
前記第１アドレス情報に従って前記ＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するステップであって、前記第１ストレージアドレスはＭＭＩＯアドレスである、取得するステップと、
前記ネットワークアダプタによって、前記第１ストレージアドレスに従って前記ＰＣＩｅストレージ装置からデータを直接読み込み、前記データを第２データ処理システムに送信するか、又は前記第２データ処理システムから受信したデータを前記ＰＣＩｅストレージ装置に直接書き込むステップであって、前記第２データ処理システムは、ネットワークを介し前記第１データ処理システムと通信するデータ処理システムである、書き込むステップと、
を有するデータ処理方法を提供する。
【００２３】
任意的には、前記ＰＣＩｅストレージ装置は、前記第１ストレージアドレスに従って前記ＰＣＩｅストレージ装置における前記データリクエストによりリクエストされたデータの第２ストレージアドレスを取得する。
【００２４】
任意的には、前記第２ストレージアドレスは、物理アドレス又は論理アドレスであり、前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
【００２５】
任意的には、当該方法は更に、
前記ＰＣＩｅコントローラによって第１ＢＡＲアドレスレジスタを構成するステップを有し、前記第１ＢＡＲアドレスレジスタは、前記第１ストレージアドレスと前記第２ストレージアドレスとの間の対応関係を格納し、前記第２ストレージアドレスは、リニアな連続するストレージアドレスである。
【００２６】
任意的には、当該方法は更に、
前記ＰＣＩｅコントローラによって、第２ＢＡＲアドレスレジスタを構成するステップを有し、前記第２ＢＡＲアドレスレジスタは、前記第１ストレージアドレスと前記第２ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、前記第２ストレージアドレスは、非リニアな連続するストレージアドレスであり、前記第２ストレージアドレスのバーチャルアドレスは、リニアオーダリングが前記第２ストレージアドレスに対して実行された後に取得されるアドレスである。
【００２７】
任意的には、前記ＣＰＵは、各ＰＣＩｅストレージ装置に一意的な識別子を割り当て、前記一意的な識別子は、各ＰＣＩｅストレージ装置を特定するのに利用される。
【００２８】
任意的には、前記第１アドレス情報は、前記ＰＣＩｅストレージ装置の前記一意的な識別子と論理ブロックアドレス（ＬＢＡ）とを有する。
【００２９】
任意的には、当該方法は更に、
前記ＰＣＩｅストレージ装置の前記一意的な識別子とＢＡＲにおけるベースアドレスとの間の対応関係を確立するステップを有する。
【００３０】
任意的には、前記一意的な識別子は、ベンダ識別子（ベンダＩＤ）、デバイス識別子（デバイスＩＤ）及びハードディスクシリアル番号の少なくとも１つを有するか、又は、前記一意的な識別子は、前記ベンダＩＤ、前記デバイスＩＤ及び前記ハードディスクシリアル番号の少なくとも１つに対してハッシュ処理が実行された後に取得される識別子である。
【００３１】
任意的には、前記ＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するステップは、
前記ＰＣＩｅストレージ装置のものであって、前記第１データリクエストにより搬送される一意的な識別子に従って、前記リクエストされたデータのＢＡＲにおけるベースアドレスを取得するステップと、
前記ＢＡＲにおけるベースアドレスと前記第１データリクエストにおけるＬＢＡアドレスとに従って前記ＰＣＩｅストレージ装置における前記リクエストされたデータの前記第１ストレージアドレスを取得するステップであって、前記第１ストレージアドレスは、ＭＭＩＯアドレスである、取得するステップと、
を有する。
【００３２】
任意的には、前記ＣＰＵは、前記ネットワークアダプタに前記取得した第１ストレージアドレスを登録する。
【００３３】
任意的には、当該方法は更に、
前記データ処理システムによって、前記取得された第１ストレージアドレスを前記第２データ処理システムに送信するステップを有する。
【００３４】
任意的には、前記ＰＣＩｅコントローラは、前記ネットワークアダプタにより送信され、前記第１ストレージアドレスを搬送するデータリクエストを取得し、第２ストレージアドレスのデータを取得し、前記取得したデータを前記ネットワークアダプタに返すか、又は前記ネットワークアダプタにより送信されたデータを前記第２ストレージアドレスに書き込む。
【００３５】
任意的には、当該方法は更に、
前記データ処理システムが第２データリクエストを取得すると、前記ＰＣＩｅストレージ装置のものであって、前記第２データリクエストにより搬送される一意的な識別子に従って前記第２データ処理システムのＢＡＲにおける前記第２データリクエストによりリクエストされるデータのベースアドレスを取得するステップであって、前記第２データリクエストは、前記第２データ処理システムにデータを送信するためのリクエスト又は前記第２データ処理システムからデータを読み込むためのリクエストである、取得するステップと、
前記第２データ処理システムのＢＡＲにおけるベースアドレスと前記第２データリクエストにより搬送されるＬＢＡアドレスとに従って前記第２データ処理システムにおける前記第２データリクエストによりリクエストされる前記データのＭＭＩＯアドレスを取得するステップと、
を有する。
【００３６】
任意的には、前記第２データ処理システムのＰＣＩｅコントローラは、前記第２データ処理システムにおける前記データ処理システムにより送信された前記第２データリクエストによりリクエストされる前記データのＭＭＩＯアドレスに従って、前記第２データ処理システムにおける前記第２データリクエストによりリクエストされる前記データの物理アドレス又は論理アドレスを取得し、前記物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、前記論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
【発明の効果】
【００３７】
本発明の実施例により提供されるデータ処理システム及びデータ処理方法では、データリクエストのＭＭＩＯアドレスが取得され、ここで、ＰＣＩｅストレージ装置に格納されるデータはＭＭＩＯアドレスから直接取得可能であり、ＭＭＩＯアドレスに従って、ネットワークアダプタは、データ処理システムのＰＣＩｅストレージ装置からデータを直接読み込み、当該データを第２処理システムに送信するか、又は第２データ処理システムから受信したデータをＰＣＩｅストレージ装置に直接書き込むことができる。従って、処理システムは、ネットワークを介し通信する２つのデータ処理システムの間のデータ送信を実行する際、メモリを利用することなくＰＣＩｅストレージ装置からネットワークアダプタにデータを直接送信することを実現できる。２つのデータ処理システムの間のデータ送信中、メモリ及びＣＰＵなどのリソースの利用率が低下し、データ送信の効率性が向上する。
【図面の簡単な説明】
【００３８】
本発明の実施例又は従来技術における技術的手段をより明確に説明するため、以下において、実施例又は従来技術を説明するのに要求される添付した図面が簡単に紹介される。明らかに、以下の説明における添付した図面は、本発明の一部の実施例しか示しておらず、当業者は、創作的な努力なくこれらの添付した図面から他の図面を依然として導出してもよい。
【図１】図１は、従来技術におけるリモートノードストレージ装置におけるデータをローカルノードストレージ装置にマイグレートする概略的なフローチャートである。
【図２】図２は、本発明の実施例によるデータ処理システムの概略的な構成図である。
【図３】図３は、本発明の実施例によるデータ処理システムの特定の実現形態の概略的な構成図である。
【図４】図４は、本発明の実施例によるデータ処理方法の概略的なフローチャートである。
【図５】図５は、本発明の実施例によるデータ処理システムの実現方法のベースハードウェアの概略的な構成図である。
【図６】図６は、本発明の実施例によるＰＣＩｅストレージ装置のものであって、管理部に格納される一意的な識別子と、ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の対応関係の一例となる図である。
【図７】図７は、本発明の実施例によるＰＣＩｅストレージ装置に構成されるアドレスからＣＰＵのＭＩＭＯアドレスへのマッピングの構成関係の概略図である。
【図８】図８は、本発明の実施例によるデータ処理システムの間のデータ送信のデータフロー方向の概略図である。
【発明を実施するための形態】
【００３９】
以下において、本発明の実施例における添付した図面を参照して、本発明の実施例における技術的手段が明確に説明される。明らかに、説明される実施例は、本発明の全ての実施例でなく一部である。創作的な努力なく本発明の実施例に基づき当業者により獲得される他の全ての実施例は、本発明の保護範囲に属する。
【００４０】
図１は、従来技術におけるリモートノードストレージ装置におけるデータをローカルノードストレージ装置にマイグレートする概略的なフローチャートである。ノードは、サーバなど計算機能又はストレージ機能を実現する装置であってもよい。Ｎｏｄｅ  １がネットワークを介しノードＮｏｄｅ  ２からＮｏｄｅ  ２のストレージ装置に格納されているデータを読む必要があるとき、それの実現処理は以下のようである。
【００４１】
ステップ１：Ｎｏｄｅ  １のＣＰＵは、データの読み取りのためリモート接続リクエストを発信する。
【００４２】
ステップ２：Ｎｏｄｅ  １のネットワークアダプタは、指定されたノード（すなわち、Ｎｏｄｅ  ２）のネットワークアダプタにリクエストパケットを送信する。
【００４３】
ステップ３：Ｎｏｄｅ  ２のネットワークアダプタは、リクエストパケットをＮｏｄｅ  ２のＣＰＵに転送する。
【００４４】
ステップ４：Ｎｏｄｅ  ２のＣＰＵは、リクエストパケットを解析し、その後、データリクエストをＮｏｄｅ  ２のＣＰＵのＰＣＩｅコントローラに発信する。
【００４５】
ステップ５：ＰＣＩｅコントローラは、リクエストされたデータをＤＭＡ方法によりメモリに対して読み込む。
【００４６】
ステップ６：Ｎｏｄｅ  ２のＣＰＵは、メモリに対して読み込まれたリクエストされたデータをＮｏｄｅ  ２のネットワークアダプタに送信する。
【００４７】
ステップ７：Ｎｏｄｅ  ２のネットワークアダプタは、リクエストされたデータをネットワークを介しＮｏｄｅ  １のネットワークアダプタに送信する。
【００４８】
ステップ８：Ｎｏｄｅ  １のＣＰＵは、Ｎｏｄｅ  １のネットワークアダプタからリクエストされたデータを読み込み、その後、データをメモリにバッファリングする。
【００４９】
ステップ９：Ｎｏｄｅ  １のＣＰＵは、メモリにバッファリングされたデータをＰＣＩｅコントローラに送信し、データをＰＣＩｅストレージ装置に書き込むようリクエストする。
【００５０】
ステップ１０：Ｎｏｄｅ  １のＰＣＩｅコントローラは、受信したデータをＰＣＩｅストレージ装置に書き込む。
【００５１】
従来技術における上述したデータリモートリード処理から理解されるように、リード処理に関係するノードであるＣＰＵは、データリード処理及びライト処理に関係し、各ノードは、ＣＰＵによりリード又はライトされるデータを格納するため、メモリスペースのセグメントを適用する必要がある。この場合、データマイグレーションの処理全体において、データは多数回マイグレートされるため、遅延が必然的に増加し、ＣＰＵ及びメモリの利用率が高いままとなる。
【００５２】
従来技術におけるリモートデータマイグレーション中のＣＰＵ及びメモリの大きな遅延及び高い利用率の問題を解決するため、本発明の実施例は、従来技術におけるデータ処理システムの間のリモートデータリード処理及びライト処理中にメモリ及びＣＰＵリソースの占有によって生じる遅延及びリソース消費の問題を解決するため、データ処理システムを提供する。
【００５３】
従来技術におけるノード間データ送信中の大きな送信遅延と多数のＣＰＵ及びメモリリソースの占有との問題を解決するため、本発明の実施例はデータ処理システムを提供する。ＰＣＩｅストレージ装置のＭＭＩＯアドレスマッピング技術とネットワーク技術とを組み合わせることによって、ノード間のデータリモートダイレクトアクセス技術が、データを直接コピーするのに利用される。コピー処理中、ＣＰＵはデータマイグレーションに関与する必要はなく、ＣＰＵは制御のみを実行しさえすればよく、同時に、ＣＰＵ及びメモリの利用を低下させるため、データは処理のために予めメモリにマイグレートされる必要はない。さらに、ＣＰＵとメモリとの間のデータのマイグレーション処理が低減され、データ処理の遅延が低減され、データ送信の効率性が向上する。
【００５４】
図２を参照して、図２は、本発明の実施例によるデータ処理システム２００の概略的な構成図である。データ処理システム２００は、中央処理ユニット（ＣＰＵ）２０２、メモリ２０６、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）コントローラ２０３、ネットワークアダプタ２０５及び少なくとも１つのＰＣＩｅストレージ装置２０４を有し、更に、
当該データ処理システムがデータリクエストを受信すると、データリクエストにより搬送される第１アドレス情報に従ってＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するよう構成される管理部２０１を有し、ここで、第１ストレージアドレスは、ＭＭＩＯ（Ｍｅｍｏｒｙ  ｍａｐｐｉｎｇ  Ｉ／Ｏ、メモリマッピング入出力）アドレスであり、
ネットワークアダプタ２０５は、第１ストレージアドレスに従ってＰＣＩｅストレージ装置２０４からデータを直接読み込み、データを第２データ処理システムに送信するか、又は第２データ処理システムから受信したデータをＰＣＩｅストレージ装置２０４に直接書き込み、ここで、第２データ処理システムは、ネットワークを介し第１データ処理システムと通信するデータ処理システムである。
【００５５】
データリクエストのＭＭＩＯアドレスは、上記のデータ処理システムの管理部２０１により取得され、ＰＣＩｅストレージ装置に格納されているデータは、ＭＭＩＯアドレスから直接取得可能であり、ＭＭＩＯアドレスに従って、ネットワークアダプタ２０５は、データ処理システム２００のＰＣＩｅストレージ装置２０４からデータを直接読み込み可能であり、当該データを第２データ処理システムに送信するか、又は第２データ処理システムから受信したデータをＰＣＩｅストレージ装置２０４に直接書き込み可能である。従って、処理システムは、ネットワークを介し通信する２つのデータ処理システムの間のデータ送信を実行する際、メモリを利用することなくＰＣＩｅストレージ装置からネットワークアダプタにデータを直接送信することを実現可能である。２つのデータ処理システムの間のデータ送信中、メモリ及びＣＰＵなどのリソースの利用率は低下し、データ送信の効率性が向上する。
【００５６】
図３を参照して、図３は、本発明の実施例によるデータ処理システム２００の特定の実現形態の概略的な構成図である。図３に示されるように、ＰＣＩｅコントローラ２０３は更に、第１ストレージアドレスに従ってＰＣＩｅストレージ装置におけるデータリクエストによりリクエストされたデータの第２ストレージアドレスを取得するよう構成されるアドレス変換部２０３１を有する。第２ストレージアドレスは、物理アドレス又は論理アドレスであってもよく、ここで、物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
【００５７】
アドレス変換部２０３１は、第１ストレージアドレス、すなわち、ＭＭＩＯアドレスを第２ストレージアドレスに変換し、ここで、第２ストレージアドレスはＰＣＩｅストレージ装置２０４のアクセス可能な媒体の物理アドレスであり、この結果、ＰＣＩｅコントローラ２０３がネットワークアダプタ２０５のデータリクエストを受信すると、ＰＣＩｅコントローラ２０３は、データリクエストにより搬送されるＭＭＩＯアドレスに従って、ＭＭＩＯアドレスに対応するアクセス可能な媒体の物理アドレスを取得し、当該物理アドレスを利用することによってデータを読み込むことができる。ＰＣＩｅストレージ装置２０４では、アクセス可能な媒体のアドレスがＭＭＩＯアドレスによって示されないとき、ネットワークアダプタ２０５は、データの直接的なリード処理及びライト処理を実現するため、リクエストされたデータのアクセス可能な媒体のアドレスを取得可能である。
【００５８】
任意的な実現方法として、アドレス変換部２０３１は更に、第１ベースアドレスレジスタ（Ｂａｓｅ  Ａｄｄｒｅｓｓ  Ｒｅｇｉｓｔｅｒ，ＢＡＲ）を構成するよう構成され、ここで、第１ＢＡＲアドレスレジスタは、第１ストレージアドレスと第２ストレージアドレスとの間の対応関係を格納し、第２ストレージアドレスは、リニアな連続するストレージアドレスである。第２ストレージアドレスが非リニアな連続するストレージアドレスである場合、アドレス変換部２０３１は、第２ＢＡＲアドレスレジスタを構成するよう構成され、ここで、第２ＢＡＲアドレスレジスタは、第１ストレージアドレスと第２ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、第２ストレージアドレスのバーチャルアドレスは、リニアオーダリングが第２ストレージアドレスに対して実行された後に取得されるアドレスである。
【００５９】
上記のアドレス変換部２０３１は、ＢＡＲアドレスレジスタを構成し、この結果、ＰＣＩｅストレージ装置において、リニアな連続する物理アドレスは、一対一によりＭＭＩＯアドレスに対応させられ、ＰＣＩｅストレージ装置において、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得される論理アドレスは、一対一によりＭＭＩＯアドレスに対応させられ、ＭＭＩＯアドレスとＰＣＩｅストレージ装置のアクセス可能な媒体のアドレスとのマッピングが実現される。従って、ネットワークアダプタは、ＰＣＩｅコントローラを利用することによってＭＭＩＯアドレスに従って一対一によりＭＭＩＯアドレスに対応するＰＣＩｅのアクセス可能な記憶媒体のアドレスにマッピングし、これにより、データの直接的なリード処理及びライト処理を実現する。
【００６０】
任意的な実現方法として、ＣＰＵ２０２は、各ＰＣＩｅストレージ装置に一意的な識別子を割り当て、ここで、一意的な識別子は、各ＰＣＩｅストレージ装置を特定するのに利用される。これにより、管理部２０１は更に、ＰＣＩｅストレージ装置の一意的な識別子とＢＡＲにおけるベースアドレスとの間の対応関係を確立するよう構成される。ＰＣＩｅストレージ装置の一意的な識別子と、ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の対応関係を利用することによって、管理部２０１は、ＰＣＩｅストレージ装置のものであり、データ処理システム２００により受信されるデータリクエストメッセージに含まれる一意的な識別子に従って、一意的な識別子に対応し、ＰＣＩｅストレージ装置のＢＡＲ内にあるベースアドレスを取得可能である。データ処理システムにより受信されるデータリクエストにおける第１アドレス情報は、ＰＣＩｅストレージ装置の一意的な識別子とＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ、論理ブロックアドレス）とを含むため、管理部２０１は、ＢＡＲにおける取得したベースアドレスとＰＣＩｅストレージ装置のＬＢＡアドレスとを利用することによって、リクエストされたデータのＭＭＩＯアドレスアドレスを取得できる。
【００６１】
任意的には、一意的な識別子は、ベンダＩＤ、デバイスＩＤ及びハードディスクシリアル番号の少なくとも１つを有するか、又は、一意的な識別子は、ベンダＩＤ、デバイスＩＤ及びハードディスクシリアル番号の少なくとも１つに対してハッシュ処理が実行された後に取得される識別子である。
【００６２】
任意的な実現方法として、図３に示されるように、管理部２０１は、ベースアドレス取得部２０１１とストレージアドレス取得部２０１２とを有し、
ベースアドレス取得部２０１１は、当該データ処理システム２００がネットワークを介し当該データ処理システム２００と通信する第２データ処理システムの第１データリクエストを受信すると、ＰＣＩｅストレージ装置２０４のものであって、第１データリクエストにより搬送される一意的な識別子に従って、リクエストされたデータのＢＡＲにおけるベースアドレスを取得するよう構成され、
ストレージアドレス取得部２０１２は、ＢＡＲにおけるベースアドレスと第１データリクエストにおけるＬＢＡアドレスとに従ってＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するよう構成され、第１ストレージアドレスは、ＭＭＩＯアドレスである。
【００６３】
任意的な実現方法として、ＣＰＵ２０２は、ネットワークアダプタに取得した第１ストレージアドレスを登録する。第１ストレージアドレスは、ネットワークアダプタに登録される。ネットワークアダプタ２０５は、第２データ処理システムのものであって、第１ストレージアドレスを搬送するデータリクエストを受信すると、ＰＣＩｅバスにより第１ストレージアドレスを公開することが可能である。ＰＣＩｅコントローラ２０３は、ネットワークアダプタ２０５により送信され、第１ストレージアドレスを搬送するリクエストを受信するとき、データリクエストを取得し、リクエストされたデータをネットワークアダプタ２０５に送信するか、又はネットワークアダプタにより受信され、第２データ処理システムにより送信されるデータを、ＰＣＩｅストレージ装置における第１ストレージアドレスに対応する位置に書き込む。
【００６４】
任意的な実現方法として、データ処理システム２００は更に送信部２０７を有し、送信部２０７は、管理部２００により取得された第１ストレージアドレスを第２データ処理システムに送信するよう構成される。
【００６５】
任意的には、ＰＣＩｅコントローラ２０３は、ネットワークアダプタ２０５により送信され、第１ストレージアドレスを搬送するデータリクエストを取得し、アドレス変換部２０３１は、第２ストレージアドレスのデータを取得し、取得したデータをネットワークアダプタに返すか、又はネットワークアダプタにより送信されたデータを第２ストレージアドレスに書き込む。
【００６６】
本発明の実施例では、データ処理システム２００と、第２データ処理システムなどの他のデータ処理システムとは、異なるデータ処理システムの間のデータ送信を実現するため、ネットワークを介し通信する。ネットワークは、限定することなく、イーサネット（登録商標）、複数の同時リンクをサポートする変換ケーブル技術ＩＢネットワーク、ＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ、ファイバチャネル）ネットワークなどを含む。上記の第２データ処理システムは、本発明の実施例の手段を実現するシステムであってもよく、また従来技術によるデータ処理システムであってもよい。第２データ処理システムが本発明の実施例の手段を実現するシステムであるとき、第２データ処理システムはまた、ネットワークアダプタからＰＣＩｅストレージ装置への直接的なデータリード処理又はライト処理を実現可能である。
【００６７】
任意的な実現手段として、管理部２０３は更に、グローバルベースアドレス取得部２０３３とグローバルストレージアドレス取得部２０３４とを有し、
グローバルベースアドレス取得部２０３３は、当該データ処理システムが第２データリクエストを取得すると、ＰＣＩｅストレージ装置のものであって、第２データリクエストにより搬送される一意的な識別子に従って第２データ処理システムのＢＡＲにおける第２データリクエストによりリクエストされるデータのベースアドレスを取得するよう構成され、ここで、第２データリクエストは、第２データ処理システムにデータを送信するためのリクエスト又は第２データ処理システムからデータを読み込むためのリクエストであり、
グローバルストレージアドレス取得部２０３４は、第２データ処理システムのＢＡＲにおけるベースアドレスと第２データリクエストにより搬送されるＬＢＡアドレスとに従って第２データ処理システムにおける第２データリクエストによりリクエストされるデータのＭＭＩＯアドレスを取得するよう構成される。
【００６８】
対応して、第２データ処理システムのＰＣＩｅコントローラにおけるデータ変換部は、第２データ処理システムにおける当該データ処理システムにより送信された第２データリクエストによりリクエストされるデータのＭＭＩＯアドレスに従って、第２データ処理システムにおける第２データリクエストによりリクエストされるデータの物理アドレス又は論理アドレスを取得し、ここで、物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
【００６９】
上記の実施例では、管理部２０３は更に、ＰＣＩｅストレージ装置の一意的な識別子とＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の対応関係を第２データ処理システムに格納し、データ処理システム２００がデータを第２データ処理システムに送信する又は第２データ処理システムからデータを読み込むための第２データリクエストを受信すると、データ処理システム２００は、ＣＰＵやメモリの関与なく２つのデータ処理システムの間の直接的な送信を実現し、これにより、ＣＰＵ及びメモリリソースを節約し、データ送信の効率性を向上させるため、第２データ処理システムのＢＡＲにおける第２データリクエストによりリクエストされたデータのベースアドレスを取得し、更に第２データリクエストによりリクエストされたデータのＭＭＩＯアドレスを取得可能である。例えば、図８は、第１データ処理システムと第２データ処理システムとの間のデータ送信が実現されることを示し、ここで、黒の破線部分は２つのデータ処理システムの間のデータ送信のトラック及びフロー方向である。
【００７０】
本発明の実施例におけるデータ処理システム２００はまた、通信ネットワークを介し複数のデータ処理システムに接続され、データ送信を実行してもよい。データ処理システム２００は、データ処理システムの間の直接的な送信を実現するため、他の複数のデータ処理システムによって送信され、ＰＣＩｅストレージ装置の一意的な識別子とＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の対応関係を取得してもよい。データ処理システム２００はまた、データ処理システムの間の直接的な送信を実現するため、他の複数のデータ処理システムからＰＣＩｅストレージ装置の一意的な識別子とＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の対応関係をリクエストし、当該対応関係を格納する。おそらく、データ処理システム２００がＰＣＩｅストレージ装置とＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の他の複数のデータ処理システムにおける対応関係を取得し、ＰＣＩｅストレージ装置とＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の他の複数のデータ処理システムにおける対応関係が変更されると、変更が行われたデータ処理システムは、変更後の対応関係をデータ処理システム２００に送信してもよい。
【００７１】
図４を参照して、図４は、本発明の実施例によるデータ処理方法の概略的なフローチャートである。本発明の実施例におけるデータ処理方法は、中央処理ユニット（ＣＰＵ）、メモリ、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）コントローラ、ネットワークアダプタ及び少なくとも１つのＰＣＩｅストレージ装置を有するデータ処理システムに適用され、当該方法は以下を含む。
【００７２】
ステップ４００：データ処理システムがデータリクエストを受信すると、データリクエストにより搬送される第１アドレス情報を取得する。
【００７３】
ステップ４０２：第１アドレス情報に従ってＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得し、ここで、第１ストレージアドレスはＭＭＩＯアドレスである。
【００７４】
ステップ４０４：ネットワークアダプタは、第１ストレージアドレスに従ってＰＣＩｅストレージ装置からデータを直接読み込み、データを第２データ処理システムに送信するか、又は第２データ処理システムから受信したデータをＰＣＩｅストレージ装置に直接書き込み、ここで、第２データ処理システムは、ネットワークを介し第１データ処理システムと通信するデータ処理システムである。
【００７５】
上記の方法におけるステップ４００及び４０２は、データ処理システムにおける管理部により実現されてもよい。管理部は、モジュール又はＣＰＵにおける論理ユニットであってもよく、またデータ処理システムにおける別のハードウェアであってもよい。管理ユニットの具体的な実現方法は、本発明の実施例において限定されない。
【００７６】
上記の実施例において、ステップ４０２においてデータリクエストのＭＭＩＯアドレスが取得され、ここで、ＰＣＩｅストレージ装置に格納されるデータはＭＭＩＯアドレスから直接取得可能であり、ＭＭＩＯアドレスに従って、ネットワークアダプタは、データ処理システムのＰＣＩｅストレージ装置からデータを直接読み込み、データを第２データ処理システムに送信するか、又は第２データ処理システムから受信したデータをＰＣＩｅストレージ装置に直接書き込むことができる。従って、処理システムは、ネットワークを介し通信する２つのデータ処理システムの間のデータ送信を実行する際、メモリを利用することなくＰＣＩｅストレージ装置からネットワークアダプタにデータを直接送信することが実現可能である。２つのデータ処理システムの間のデータ送信中、メモリ及びＣＰＵなどのリソースの利用率は低下し、データ送信の効率性が向上する。
【００７７】
任意的な実現方法として、データ処理方法は更に、ＰＣＩｅストレージ装置によって、第１ストレージアドレスに従ってＰＣＩｅストレージ装置におけるデータリクエストによりリクエストされたデータの第２ストレージアドレスを取得するステップを含む。第２ストレージアドレスは、物理アドレス又は論理アドレスであり、ここで、物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
【００７８】
任意的には、ＰＣＩｅコントローラは第１ＢＡＲアドレスレジスタを構成し、ここで、第１ＢＡＲアドレスレジスタは、第１ストレージアドレスと第２ストレージアドレスとの間の対応関係を格納し、第２ストレージアドレスは、リニアな連続するストレージアドレスである。あるいは、ＰＣＩｅコントローラは第２ＢＡＲアドレスレジスタを構成し、ここで、第２ＢＡＲアドレスレジスタは、第１ストレージアドレスと第２ストレージアドレスのバーチャルアドレスとの間の対応関係を格納し、第２ストレージアドレスは、非リニアな連続するストレージアドレスであり、第２ストレージアドレスのバーチャルアドレスは、リニアオーダリングが第２ストレージアドレスに対して実行された後に取得されるアドレスである。
【００７９】
ＰＣＩｅストレージ装置のアクセス可能な媒体のアドレスとＭＭＩＯアドレスとのマッピングを実現するため、ＰＣＩｅストレージ装置において、リニアな連続する物理アドレスが一対一によりＭＭＩＯアドレスに対応させられ、ＰＣＩｅストレージ装置において、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得される論理アドレスが一対一によりＭＭＩＯアドレスに対応させられるように、ＢＡＲアドレスレジスタが構成される。従って、ネットワークアダプタは、ＰＣＩｅコントローラを利用することによってＭＭＩＯアドレスに従って、一対一によるＭＭＩＯアドレスに対応するＰＣＩｅのアクセス可能な記憶媒体のアドレスにマッピングし、これによりデータの直接的なリード処理及びライト処理を実現する。
【００８０】
任意的な実現方法として、データ処理方法は更に、ＣＰＵによって、各ＰＣＩｅストレージ装置に一意的な識別子を割り当てるステップと、ここで、一意的な識別子は、各ＰＣＩｅストレージ装置を特定するのに利用され、一意的な識別子に従ってＰＣＩｅストレージ装置の一意的な識別子とＢＡＲにおけるベースアドレスとの間の対応関係を確立するステップとを有する。
【００８１】
任意的には、第１アドレス情報は、ＰＣＩｅストレージ装置の一意的な識別子と論理ブロックアドレス（ＬＢＡ）とを有する。
【００８２】
任意的には、一意的な識別子は、ベンダＩＤ、デバイスＩＤ及びハードディスクシリアル番号の少なくとも１つを有するか、又は、一意的な識別子は、ベンダＩＤ、デバイスＩＤ及びハードディスクシリアル番号の少なくとも１つに対してハッシュ処理が実行された後に取得される識別子である。
【００８３】
ＰＣＩｅストレージ装置の一意的な識別子とＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の対応関係を利用することによって、ＰＣＩｅストレージ装置のものであって、データ処理システムにより受信されたデータリクエストメッセージに含まれる一意的な識別子に従って、一意的な識別子に対応し、ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスが取得可能である。データ処理システムにより受信されたデータリクエストの第１アドレス情報は、ＰＣＩｅストレージ装置の一意的な識別子とＬＢＡアドレスとを含むため、リクエストされたデータのＭＭＩＯアドレスは、ＢＡＲにおける取得されたベースアドレスとＰＣＩｅストレージ装置のＬＢＡアドレスとを利用することによって取得可能である。
【００８４】
任意的な実現方法として、ＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するステップは、
ＰＣＩｅストレージ装置のものであって、第１データリクエストにより搬送される一意的な識別子に従って、リクエストされたデータのＢＡＲにおけるベースアドレスを取得するステップと、
ＢＡＲにおけるベースアドレスと第１データリクエストにおけるＬＢＡアドレスとに従ってＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するステップであって、第１ストレージアドレスは、ＭＭＩＯアドレスである、取得するステップと、
を有する。
【００８５】
任意的には、ＣＰＵは、ネットワークアダプタに取得した第１ストレージアドレスを登録する。データ処理システムは、取得された第１ストレージアドレスを第２データ処理システムに送信する。データ処理システムのネットワークアダプタが、第１ストレージアドレスを搬送し、第２データ処理システムにより送信されるデータリクエストを受信すると、ネットワークアダプタは、ＰＣＩｅバスにおいて受信したデータリクエストを公開し、ここで、当該リクエストは、データ処理システムにおけるＰＣＩｅコントローラにより受信可能である。ＰＣＩｅコントローラが、第１ストレージアドレスを搬送し、ネットワークアダプタにより送信されるデータリクエストを取得した後、ＰＣＩｅコントローラは、第１ストレージアドレスに従って対応する第２ストレージアドレスを取得し、第２ストレージアドレスからデータを取得し、取得したデータをネットワークアダプタに返すか、又はネットワークアダプタにより送信されたデータを第２ストレージアドレスに書き込む。
【００８６】
任意的な実現方法として、当該方法は更に、
データ処理システムが第２データリクエストを受信すると、ＰＣＩｅストレージ装置のものであって、第２データリクエストにより搬送される一意的な識別子に従って第２データ処理システムのＢＡＲにおける第２データリクエストによりリクエストされるデータのベースアドレスを取得するステップであって、第２データリクエストは、第２データ処理システムにデータを送信するためのリクエスト又は第２データ処理システムからデータを読み込むためのリクエストである、取得するステップと、
第２データ処理システムのＢＡＲにおけるベースアドレスと第２データリクエストにより搬送されるＬＢＡアドレスとに従って第２データ処理システムにおける第２データリクエストによりリクエストされるデータのＭＭＩＯアドレスを取得するステップと、
を有する。
【００８７】
対応して、第２データ処理システムのＰＣＩｅコントローラは、第２データ処理システムにおけるデータ処理システムにより送信された第２データリクエストによりリクエストされるデータのＭＭＩＯアドレスに従って、第２データ処理システムにおける第２データリクエストによりリクエストされるデータの物理アドレス又は論理アドレスを取得し、ここで、物理アドレスは、データが直接読み込み可能なリニアな連続するアドレスであり、論理アドレスは、リニアオーダリングが非リニアな連続する物理アドレスに対して実行された後に取得されるアドレスである。
【００８８】
ＰＣＩｅストレージ装置の一意的な識別子と第２データ処理システムにおけるＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の対応関係が上述したように取得され、この結果、ＣＰＵ又はメモリの関与なく２つのデータ処理システムの間の直接的な送信を実現し、これにより、ＣＰＵ及びメモリのリソースを節約し、データ送信の効率性を向上させるため、第２データ処理システムのＢＡＲにおける第２データリクエストによりリクエストされるデータのベースアドレスが取得可能であり、第２データリクエストによりリクエストされるデータのＭＭＩＯアドレスが更に取得される。
【００８９】
図５は、本発明の実施例によるデータ処理システムの実現方法のベースハードウェアの概略的な構成図を例示する。データ処理システムは、ＣＰＵ、メモリ、ＰＣＩｅコントローラ、ＰＣＩｅバス、ＰＣＩｅストレージ装置及びネットワークアダプタを含むベースハードウェアにより構成される。データ処理システムにおけるネットワークアダプタは、ネットワークダイレクトアクセス技術をサポートし、ＰＣＩｅバス技術に基づくネットワークアダプタである。ネットワークダイレクトアクセス技術は、以下に限定することなく、ＲＤＭＡ（Ｒｅｍｏｔｅ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ、リモート・ダイレクト・メモリ・アクセス）などを含む。ネットワークアダプタは、限定することなく、イーサネット（登録商標）カード、ＩＢ  ＨＣＡ（Ｉｎｆｉｎｉｂａｎｄ  Ｈｏｓｔ  Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ、複数の同時的なリンクをサポートする変換ケーブル技術ホストチャネルアダプタ）、ｉＷａｒｐ  ＨＣＡ（ｉｎｔｅｒｎｅｔ  Ｗｉｄｅ  ａｒｅａ  ＲＤＭＡ  ｐｒｏｔｏｃｏｌ  Ｈｏｓｔ  Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ、インターネット・ワイド・エリア・ＲＤＭＡ・プロトコル・ホスト・チャンネル・アダプタ）、Ｒａｐｉｄ  ＩＯ  ＨＣＡ（Ｒａｐｉｄ  ＩＯ  Ｈｏｓｔ  Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ、ラピッド・ＩＯ・ホスト・チャネル・アダプタ）などを含む。ネットワークアダプタがＰＣＩｅバス技術に基づくということは、ネットワークアダプタのアップリンクバスインタフェースがＰＣＩｅであることを示す。データ処理システムは更に、ＰＣＩｅバスに基づく少なくとも１つのＰＣＩｅストレージ装置を含む。ＰＣＩｅストレージ装置は、限定することなく、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ、ソリッド・ステート・ディスク）、Ｆｌａｓｈ、ＮＶＲＡＭ（Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、不揮発性ランダム・アクセス・メモリ）などを含む。データ処理システムの実現方法は、限定することなく、サーバ（ラックサーバ、ツールタレットサーバ、シェルフサーバなど）、ストレージ装置又はミッドレンジコンピュータなどの装置を含む。
【００９０】
本発明の実施例におけるデータ処理システムによると、管理部は、図５に示されるようなハードウェアのベースアーキテクチャに基づき追加される。管理部は、データ処理システムがデータリクエストを受信すると、データリクエストにより搬送される第１アドレス情報に従ってＰＣＩｅストレージ装置におけるリクエストされたデータの第１ストレージアドレスを取得するよう構成され、第１ストレージアドレスはＭＭＩＯアドレスである。管理部はＣＰＵにおいて実現されてもよく、また別のハードウェアを利用することによって実現されてもよい。データ処理システムにおける管理部の実現方法は、本発明の実施例において限定されない。
【００９１】
具体的には、管理部は、ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとＰＣＩｅストレージ装置の一意的な識別子との間の確立された対応関係に従って、ＰＣＩｅストレージ装置におけるデータ処理システムにより受信されたデータリクエストのデータのアドレスを取得する。
【００９２】
ＧＵＩＤ（Ｇｌｏｂａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ、グローバルに一意的な識別子）などのＰＣＩｅストレージ装置の一意的な識別子は、各ＰＣＩｅストレージ装置に対してデータ処理システムにより割り当てられ、ＰＣＩｅストレージ装置を一意的に決定する識別子である。一意的な識別子は、ＣＰＵにより割り当てられた一意的な識別子であってもよく、また管理部により割り当てられた一意的な識別子であってもよい。一意的な識別子は、ＰＣＩｅストレージ装置のベンダＩＤ（Ｖｅｎｄｅｒ  Ｉｄｅｎｔｉｔｙ、ベンダ識別子）及びデバイスＩＤ（Ｄｅｖｉｃｅ  Ｉｄｅｎｔｉｔｙ、デバイス識別子）により構成される一意的な文字列セットであってもよく、また、ＰＣＩｅストレージ装置に搭載されたストレージ装置の一意的な識別子ＩＤ（例えば、ハードディスクシリアル番号など）又は文字列に対してハッシュ処理が実行された後に取得される識別子であってもよい。一意的な識別子の構成は、ノード内のストレージ装置の情報が一意的にマーク付け可能である限り、本発明の実施例において限定されるものでない。
【００９３】
データ処理システムがスタートすると、ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスが割り当てられる。データ処理システムがスタート処理を終了した後、管理部は、各ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスを取得する。管理部は、データ処理システムの全てのＰＣＩｅストレージ装置をスキャンすることによって、各ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとＰＣＩｅストレージ装置の一意的な識別子とを取得してもよい。
【００９４】
管理部は、各ＰＣＩｅストレージ装置のＢＡＲにおける取得されたベースアドレスとＰＣＩｅストレージ装置の一意的な識別子とに従って、各ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとＰＣＩｅストレージ装置の一意的な識別子との間の対応関係を記録する。
【００９５】
データ処理システムがデータリクエストを受信すると、データリクエストは、ＰＣＩｅストレージ装置におけるリクエストされたデータのＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ、論理ブロックアドレス）と一意的な識別子とを搬送する。管理部は、データリクエストにより搬送される一意的な識別子と、各ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとＰＣＩｅストレージ装置の一意的な識別子との間の確立された対応関係とに従って、ＰＣＩｅストレージ装置のＢＡＲにおけるリクエストされたデータのベースアドレスを取得し、ＬＢＡアドレスを参照してリクエストされたデータのＭＭＩＯアドレスを取得する。管理部は、以下のようにしてＭＭＩＯアドレスのスタートアドレス及びエンドアドレスを取得してもよい。
スタートアドレス＝ＢＡＲにおけるマッピングされたベースアドレス＋（ＬＢＡ×ブロックサイズ）
エンドアドレス＝ＢＡＲにおけるマッピングされたベースアドレス＋（（ＬＢＡ＋ブロック数）×ブロックサイズ）−１
【００９６】
管理部は更に、ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとＰＣＩｅストレージ装置の一意的な識別子との間の対応関係を維持し、ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスが変更されると、ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとＰＣＩｅストレージ装置の一意的な識別子との間の対応関係を更新するよう構成される。例えば、ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスは、データ処理システムの再スタートにより変更されてもよく、すなわち、各ＰＣＩｅストレージ装置に対してデータ処理システムにより割り当てられたＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスは、最後に割り当てられたベースアドレスと異なるものであってもよい。更新部は、各ＰＣＩｅストレージ装置の一意的な識別子に従って、ＰＣＩｅストレージ装置の一意的な識別子とＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の対応関係を更新する必要がある。
【００９７】
管理部はまた、他のデータ処理システムのＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとＰＣＩｅストレージ装置の一意的な識別子との間の対応関係を取得してもよい。他のデータ処理システムのＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとＰＣＩｅストレージ装置の一意的な識別子との間の対応関係を利用することによって、他のデータ処理システムに対してデータリード処理及びライト処理が実行されるとき、他のデータ処理システムにおけるＰＣＩｅストレージ装置のストレージアドレスが取得可能である。他のデータ処理システムのＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとＰＣＩｅストレージ装置の一意的な識別子との間の対応関係を取得することは、データ処理システムが他のデータ処理システムにリクエストを自発的に発信するようにして実現されてもよく、また、他のデータ処理システムにより自発的に送信された対応関係が受信された後に実現されてもよい。具体的な取得方法は、本発明の実施例において限定されるものでない。
【００９８】
図６を参照して、図６は、本発明の実施例によるＰＣＩｅストレージ装置のものであり、管理部に格納される一意的な識別子と、ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の対応関係の一例となる図である。この一例となる図では、データ処理システムが配置されるネットワーク上のデータ処理システムの一意的なアドレスを識別するため、ＩＰアドレスが利用され、ＧＵＩＤがＰＣＩｅストレージ装置の一意的な識別子である場合、マッピングスペースのスタートアドレスは、ＣＰＵアドレッシングスペースからマッピングされるエリアにおけるＰＣＩｅストレージ装置のアドレスのスタートアドレスであり、デバイス論理アドレスは、ＰＣＩｅストレージ装置内の論理スタートアドレスを表し、スペース長は、システムにおいてマッピングされるエリアの全体の長さを表す。
【００９９】
本発明の実施例では、ＰＣＩｅストレージ装置の一意的な識別子とＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとの間の対応関係は、ＰＣＩｅストレージ装置のドライブにより確立されてもよく、また管理部により確立されてもよい。具体的には、スクリプトを加える方法は、データ処理システムがスタートした後に自動的なロード処理のため利用されてもよく、手動による方法がまたロード処理のために利用されてもよい。対応関係がＰＣＩｅストレージ装置のドライブにより確立されると、ＰＣＩｅストレージ装置のドライブはまずＰＣＩｅ  ＢＡＲアドレスレジスタを構成し、管理部は、構成されたマッピング関係を読み込む。対応関係が管理部により確立されるとき、対応関係の確立はＰＣＩｅストレージ装置のレジスタを構成することによって実現される。
【０１００】
本発明の実施例におけるＰＣＩｅストレージ装置は更に、第１ストレージアドレスに従ってＰＣＩｅストレージ装置におけるデータリクエストによりリクエストされたデータの第２ストレージアドレスを取得するよう構成されるアドレス変換部を有する。
【０１０１】
アドレス変換部は、ＰＣＩｅデバイスコントローラにおいて実現されてもよい。ＰＣＩｅストレージ装置におけるＭＭＩＯアドレスと媒体のアクセス可能なアドレスとの間の対応関係が確立され、ＰＣＩｅストレージ装置のＭＭＩＯアドレスに対応する媒体のアクセス可能なアドレスは、ＭＭＩＯアドレスに対するデータリード処理及びライト処理のリクエストが受信されると、データのリード処理及びライト処理を実行するため、ＰＣＩｅストレージ装置のストレージアドレスなどのＭＭＩＯアドレスに従って取得可能である。
【０１０２】
一例として、ＰＣＩｅ  ＮＶＲＡＭがＰＣＩｅストレージ装置として利用されることは、ＰＣＩｅ  ＮＶＲＡＭが従うＰＣＩｅプロトコル仕様に従って利用され、ＰＣＩｅ  ＮＶＲＡＭなどのアクセス可能な媒体のアドレススペースは、ＣＰＵのＭＭＩＯアドレススペースに直接マッピングされ、これにより、ＰＣＩｅ  ＮＶＲＡＭに対する全てのリード処理及びライト処理のリクエストは、ＭＭＩＯアドレスに対するリクエストに等価となる。ＭＭＩＯアドレススペースは、ＮＶＲＡＭの全てのアクセス可能なスペースに対応し、すなわち、ＰＣＩｅストレージ装置におけるＭＭＩＯアドレスと媒体のアクセス可能なアドレスとの間の対応関係が確立される。ＭＭＩＯアドレススペースにアクセスすることによって、ＭＭＩＯアドレススペースに対応するＮＶＲＡＭスペースは直接アクセス可能である。ＰＣＩｅ  ＮＶＲＡＭ内のアクセス可能な媒体のアドレススペースとＣＰＵのＭＭＩＯアドレススペースとの直接的なマッピングは、ＢＡＲアドレスレジスタを構成するようにして実現可能である。
【０１０３】
図７に示されるように、図７は、本発明の実施例によるＰＣＩｅストレージ装置に構成されたアドレスからＣＰＵのＭＭＩＯアドレスへのマッピングの構成関係の概略図である。図において、ＰＣＩｅコントローラのＰＣＩｅエンドポイントがアドレス変換部として利用され、ＰＣＩｅストレージ装置のアドレスをＣＰＵのＭＭＩＯアドレスにマッピングするためのＰＣＩｅ  ＢＡＲアドレスレジスタを構成し、これにより、ＣＰＵアドレス（ＤＭＡを提供するためのアドレス）スペースへのアクセスは、ＰＣＩｅストレージ装置のアクセス可能な媒体のアドレスに直接マッピングされてもよい。
【０１０４】
本発明の実施例では、ＰＣＩｅストレージ装置における媒体のアクセス可能なアドレスとＭＭＩＯアドレスとの間の対応関係が確立され、すなわち、ＰＣＩｅストレージ装置のアドレススペースとＣＰＵにおけるＭＭＩＯアドレススペースとの間のマッピング関係が確立される。ＰＣＩｅストレージ装置の物理アドレスがリニアな連続するストレージアドレスであるかに基づき、マッピング関係を確立するための実現方法は異なる。
【０１０５】
ＰＣＩｅストレージ装置の物理アドレスがリニアな連続するストレージアドレスであるとき、アドレス変換部により構成されるＢＡＲアドレスレジスタは、ＣＰＵアドレススペースのセグメントを実際のストレージ装置のサイズに整合したサイズにマッピングする。ＰＣＩｅストレージ装置のアドレスがリニアで連続的であるため、ＰＣＩｅストレージ装置のアドレスは、一対一によりマッピングされたＣＰＵアドレススペースのアドレスに対応する。アドレススペースの当該セグメントに対するＣＰＵの処理は、アドレス変換部により取得可能であり、ここで、アドレス変換部は、受信したリクエストをＰＣＩｅストレージ装置の実際の物理アドレスに変換する。
【０１０６】
ＰＣＩｅストレージ装置の物理アドレスがリニアな連続するストレージアドレスでないとき、アドレス変換部は、リニアオーダリングが実行された後に取得されるストレージアドレスとＣＰＵアドレスとの間のマッピングを確立する。すなわち、ＢＡＲアドレスレジスタは、ＣＰＵアドレススペースのセグメントをバーチャルアドレスのサイズに整合するサイズにマッピングするよう構成され、ここで、バーチャルアドレスは、非リニアな連続するストレージアドレスに対してリニアオーダリングが実行された後に取得されるアドレスである。例えば、セクタ、ブロック又は他の最小単位の単位が、“バーチャル”リニアスペースを構成するため連続的にラベル付けされ、ＣＰＵアドレススペースとのマッピング関係を確立するのに利用される。
【０１０７】
ＰＣＩｅストレージ装置のＢＡＲにおけるベースアドレスとＰＣＩｅストレージ装置の一意的な識別子との間であって、上記のデータ処理システムにおける管理部により確立される対応関係によると、管理部は、データ処理システムにより受信されたデータリクエストによりリクエストされたデータのＭＭＩＯアドレスを取得可能であり、ＭＭＩＯアドレスに従ってデータリクエストをＰＣＩｅコントローラに発信する。ＰＣＩｅコントローラにおけるアドレス変換部は、ＰＣＩｅストレージ装置の媒体のアクセス可能なアドレスとＭＭＩＯアドレスとの間の確立された対応関係に従って、ＰＣＩｅストレージ装置におけるリクエストされたデータの媒体のアクセス可能なアドレス、すなわち、実際の物理アドレスを取得する。データリード処理又はデータライト処理は、媒体のアクセス可能なアドレスを利用することによって直接実行可能である。
【０１０８】
対応して、データ処理システムのネットワークアダプタは、上記のＭＭＩＯアドレスに従ってＰＣＩｅストレージ装置からデータを直接読み込むか、又はデータをＰＣＩｅストレージ装置に直接書き込むことが可能である。ＰＣＩｅストレージ装置の関連するデータが物理メモリに読み込まれる必要があり、その後に、物理メモリを利用することによってリモートデータ処理システムに送信される際に生じる従来技術によるメモリ及びＣＰＵリソースの消費と送信遅延との問題が回避される。
【０１０９】
以下において、一例として、第１データ処理システムがＰＣＩｅ  ＳＳＤ  Ｆのオフセットアドレス０ｘ１０００−０ｘ２０００の４キロバイトのデータを、第２データ処理システムのＰＣＩｅ  ＳＳＤ  Ｇの０ｘ３０００−０ｘ４０００の位置に書き込む必要があることを利用することによって、本発明の実施例のデータ処理システム及びデータ処理方法の実現方法が詳細に説明される。ＰＣＩｅ  ＳＳＤは、ＰＣＩｅストレージ装置の特定の実現方法である。本実施例では、第１データ処理システムが第１データ処理システムのＰＣＩｅ  ＳＳＤの一意的な識別子とＰＣＩｅ  ＳＳＤのＢＡＲにおけるベースアドレスとの間の対応関係を確立するだけでなく、第２データ処理システムのＰＣＩｅ  ＳＳＤの一意的な識別子とＰＣＩｅ  ＳＳＤのＢＡＲにおけるベースアドレスとの間の対応関係を取得することが、説明のための一例として利用される。
【０１１０】
ステップ５００：第１データ処理システムは、ＰＣＩｅ  ＳＳＤのＢＡＲにおけるベースアドレスを取得する。
【０１１１】
第１データ処理システムは、管理部のＰＣＩｅ  ＳＳＤの一意的な識別子とＰＣＩｅ  ＳＳＤのＢＡＲにおけるベースアドレスとの間の対応関係に従って、オフセットアドレス０ｘ１０００に対応するＭＭＩＯアドレス、例えば、０ｘｆｆ００  １０００などを取得するため、ＰＣＩｅ  ＳＳＤ  ＦのＰＣＩｅ  ＢＡＲにおけるベースアドレス０ｘｆｆ００  ００００を取得し、さらにオフセットアドレス０ｘ３０００−０ｘ４０００に対応するＭＭＩＯアドレス、例えば、０ｘｆｅ００  ３０００などを取得するため、ＰＣＩｅ  ＳＳＤ  ＧのＰＣＩｅ  ＢＡＲにおけるベースアドレス０ｘｆｅ００  ００００を取得する。
【０１１２】
ステップ５０２：第１データ処理システムのネットワークアダプタは、データライト処理リクエストを発信する。
【０１１３】
第１データ処理システムのネットワークアダプタは、ＰＣＩｅ  ＳＳＤ  Ｆの新たなＭＭＩＯアドレス０ｘｆｆ００  １０００を利用することによって、ＰＣＩｅ  ＳＳＤ  Ｆ装置にデータリクエストを発信し、ＰＣＩｅ  ＳＳＤ  Ｆ装置内のＰＣＩｅインタフェースは、ＭＭＩＯアドレスを内部のアクセス可能な記憶媒体のアドレスＸＸＸに変換する。ここで、ＸＸＸの結果は、マッピング部の異なる実現形態に応じて異なってもよい。ＰＣＩｅ  ＳＳＤ  Ｆは、記憶媒体のアドレスＸＸＸに対応するデータを読み込み、リード処理が終了した後にＰＣＩｅバスを利用することによって、データをネットワークアダプタに送信する。当該処理全体において、何れのＣＰＵもデータ送信処理に関与する必要はなく、同時に何れのメモリも占有される必要はない。
【０１１４】
ステップ５０４：第２データ処理システムのネットワークアダプタは、第１データ処理システムのネットワークアダプタにより送信されたデータを受信し、当該データをＰＣＩｅ  ＳＳＤ  Ｇに送信する。
【０１１５】
第２データ処理システムのネットワークアダプタは、ＰＣＩｅ  ＳＳＤ  Ｇの新たなＭＭＩＯアドレス０ｘｆｅ００  ３０００を利用することによって、ＰＣＩｅ  ＳＳＤ  Ｇ装置にデータライト処理リクエストを発信し、ＰＣＩｅ  ＳＳＤ  Ｇ装置のＰＣＩｅインタフェースは、ＭＭＩＯアドレスを内部のアクセス可能な記憶媒体のアドレスＹＹＹに変換する。ここで、ＹＹＹの結果は、マッピング部の異なる実現形態に応じて異なってもよい。ＰＣＩｅ  ＳＳＤ  Ｇは、ネットワークアダプタにより送信されたデータを記憶媒体のアドレスＹＹＹに書き込む。この処理全体では、何れのＣＰＵもデータ送信処理に関与する必要はなく、何れのメモリも占有される必要はない。
【０１１６】
ＰＣＩｅ  ＳＳＤ  Ｆ装置内のＰＣＩｅインタフェースがＭＭＩＯアドレスを内部のアクセス可能な記憶媒体のアドレスＸＸＸに変換し、ＰＣＩｅ  ＳＳＤ  Ｇ装置のＰＣＩｅインタフェースがＭＭＩＯアドレスを内部のアクセス可能な記憶媒体のアドレスＹＹＹに変換することは、第２ストレージアドレスがリニアな連続する物理アドレスであるケースに適用される。第２ストレージアドレスが論理アドレスであるとき、ＰＣＩｅ  ＳＳＤ  Ｆ装置内のＰＣＩｅインタフェースがＭＭＩＯアドレスを内部のアクセス可能な記憶媒体のアドレスＸＸＸに変換することはまた、論理アドレスから非リニアな連続するアドレスへの変換を必要とするが、ここでは繰り返し説明しない。
【０１１７】
第１データ処理システムが第２データ処理システムにおけるＰＣＩｅ  ＳＳＤの一意的な識別子とＰＣＩｅ  ＳＳＤのＢＡＲにおけるベースアドレスとの間の対応関係を取得しないケースについて、第２データ処理システムの管理部は、第２データ処理システムにおいてＰＣＩｅ  ＳＳＤの一意的な識別子とＰＣＩｅ  ＳＳＤのＢＡＲにおけるベースアドレスとの間の対応関係を確立し、第２データ処理システムのネットワークアダプタが第１データ処理システムにより送信されたデータリード処理及びライト処理リクエストを受信すると、第２データ処理システムにおいてＰＣＩｅ  ＳＳＤの一意的な識別子とＰＣＩｅ  ＳＳＤのＢＡＲにおけるベースアドレスとの間の対応関係に従って、ＰＣＩｅ  ＳＳＤのＢＡＲにおけるデータが書き込まれる必要があるベースアドレスを取得し、当該データを対応するＰＣＩｅ  ＳＳＤに直接書き込む。
【０１１８】
本発明の上記の実施例では、ＰＣＩｅストレージ装置は、異なるデータ処理システムの間のデータ送信中にデータを直接読み込み又は書き込むための実現方法を説明するため、一例として利用される。ＳＣＭ（Ｓｔｏｒａｇｅ  Ｃｌａｓｓ  Ｍｅｍｏｒｙ）、ＲＲＡＭ（登録商標）（Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）又はＮＶＤＩＭＭ（Ｎｏｎ−Ｖｏｌａｔｉｌｅ  ＤＩＭＭ）などのメモリインタフェースを通過するストレージ装置について、上記のＰＣＩｅストレージ装置の実現方法が参照されてもよく、管理部は、ＳＣＭ、ＲＲＡＭ（登録商標）及びＮＶＤＩＭＭに対するデータの直接的なリード処理及びライト処理を実行するのに利用される。システムがスタートすると、初期化中、ストレージ装置（ＮＶＤＩＭＭ／ＲＲＡＭ（登録商標）／ＳＣＭ）は、システムにおいてストレージ装置によりアクセスされるスペースを登録してもよい。登録されたアドレスにアクセスすることによって、ストレージ装置がアクセス可能である。上記の実施例と異なって、ＰＣＩｅストレージ装置においてＭＭＩＯアドレスとアクセス可能な媒体のアドレスとの間のマッピングを実行する必要はなく、またアドレス変換を実行する必要もなく、しかしながら、ネットワーク上の他のデータ処理システムがアクセス予定のデータのアドレスを取得することを可能にするため、システムにおけるストレージ装置（ＮＶＤＩＭＭ／ＲＲＡＭ（登録商標）／ＳＣＭ）のアドレスが取得される必要があり、他のデータ処理システムが同期される必要がある。
【０１１９】
当業者は、本明細書に開示される実施例において説明された具体例に関して、ユニット及びアルゴリズムのステップが電子ハードウェア、コンピュータソフトウェア又はこれらの組み合わせにより実現されてもよいことを認識するであろう。ハードウェアとソフトウェアとの間の互換性を明確に説明するため、各具体例の構成及びステップが機能に従って全体的に上述された。これらの機能がハードウェア又はソフトウェアにより実行されるか否かは、技術的手段の設計制約条件及びアプリケーションに依存する。当業者は、異なる方法を利用して、各アプリケーションについて説明された機能を実現してもよいが、当該実現形態は本発明の範囲外であるとみなされるべきでない。
【０１２０】
説明の簡単化と便宜のため、上記のシステム、装置及びユニットの詳細なワーキング処理について、上記の方法の実施例における対応する処理が参照されてもよく、詳細は再びここでは説明されないことが、当業者により明確に理解されてもよい。
【０１２１】
本出願において提供される複数の実施例において、開示されたシステム、装置及び方法は他の方法により実現されてもよいことが理解されるべきである。例えば、説明された装置の実施例は単なる一例である。例えば、ユニットの分割は、単なる論理機能の分割であり、実際の実現形態では他の分割であってもよい。例えば、複数のユニット又はコンポーネントが、他のシステムに組み合わせ又は統合されてもよいし、又はいくつかの特徴は無視又は実行されなくてもよい。さらに、表示又は説明された相互結合、直接的な結合又は通信接続は、いくつかのインタフェースを介し実現されてもよい。装置又はユニットの間の間接的な結合又は通信接続は、電子、機械又は他の形態により実現されてもよい。
【０１２２】
別々のパーツとして説明されるユニットは、物理的に分離されてもよいし、又はそうでなくてもよく、ユニットとして表示されるパーツは、物理的なユニットであってもよいし、又はそうでなくてもよく、１つの位置に配置されてもよいし、又は複数のネットワークユニット上に分散されてもよい。これらのユニットの一部又は全ては、本発明の実施例の手段の目的を達成するため、実際のニーズに従って選択されてもよい。
【０１２３】
さらに、本発明の実施例における機能ユニットは、１つの処理ユニットに統合されてもよいし、又は各ユニットは物理的に単独で存在してもよいし、又は２以上のユニットが１つのユニットに統合される。統合されたユニットは、ハードウェアの形態により実現されてもよいし、又はソフトウェアの機能ユニットの形態により実現されてもよい。
【０１２４】
統合されたユニットがソフトウェアの機能ユニットの形態により実現され、独立した製品として販売又は利用されるとき、統合されたユニットはコンピュータ可読記憶媒体に格納されてもよい。このような理解に基づき、本質的又は部分的に従来技術に寄与する本発明の技術的手段又は当該技術的手段の全て若しくは一部は、ソフトウェアプロダクトの形態により実現されてもよい。コンピュータソフトウェアプロダクトは、記憶媒体に格納され、コンピュータ装置（パーソナルコンピュータ、サーバ、ネットワーク装置などであってもよい）に本発明の実施例において説明された方法のステップの全て又は一部を実行するよう指示するための複数の命令を含む。上記の記憶媒体は、ＵＳＢフラッシュドライブ、着脱可能なハードディスク、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク又は光ディスクなど、プログラムコードを格納可能な何れかの媒体を含む。
【０１２５】
上記説明は、本発明の単なる特定の実施例であり、本発明の保護範囲を限定することを意図するものでない。本発明において開示された技術的範囲内で当業者により容易に理解される何れかの改良又は置換は、本発明の保護範囲内に属する。従って、本発明の保護範囲は、請求項の保護範囲に従うことになる。
【図１】
0006014271.tif 000002
【図２】
0006014271.tif 000003
【図３】
0006014271.tif 000004
【図４】
0006014271.tif 000005
【図５】
0006014271.tif 000006
【図６】
0006014271.tif 000007
【図７】
0006014271.tif 000008
【図８】
0006014271.tif 000009