(57)【特許請求の範囲】
【請求項１】
メモリ中にマルチアクセスを行う方法であって、
メモリ中のＮ個のアドレスを一回受信し、ただし、Ｎが１より大きな整数であり、且つ前記Ｎ個のアドレスが不連続であることと、
Ｎ個のアドレスに従って所定操作を実行することと、
操作の結果を出力することと、を含み、
Ｎ個のアドレスに従って所定操作を実行することには、
Ｎ個のアドレスに記憶されているデータに対して所定操作を実行することを含み、
Ｎ個のアドレスに記憶されているデータに対して所定操作を実行する時に、
該Ｎ個のアドレスのうちのそれぞれをアクセスし、且つ該アドレスに記憶されているデータが所定条件を満たすかを確認し、
該Ｎ個のアドレスのうち、所定条件を満たす一つ以上のアドレスを結果として出力する方法。
【請求項２】
操作の結果を出力する前に、前記方法は、
操作の結果をメモリ内のバッファエリアに記憶することをさらに含み、
操作の結果を出力することには、
バッファエリア内に記憶されている操作の結果を出力することを含む請求項１に記載の方法。
【請求項３】
ベースアドレスとオフセット量によって、それぞれのアドレスを確定し、
ただし、オフセット量が該アドレスとベースアドレスとの距離を指示するものであり、
メモリ中のＮ個のアドレスを受信することには、
ベースアドレスとＮ個のオフセット量を受信することと、
第ｉアドレス＝ベースアドレス＋第ｉオフセット量によって、Ｎ個のアドレスのうちのそれぞれを確定し、０≦ｉ≦Ｎ−１であることとをさらに含み、
Ｎ個のオフセット量を受信することには、
アドレスエレメントサイズとＮ個のアドレスインデックスを受信することをさらに含み、且つ、
第ｉアドレス＝ベースアドレス＋第ｉオフセット量によって、Ｎ個のアドレスのうちのそれぞれを確定することには、
第ｉアドレス＝ベースアドレス＋第ｉアドレスインデックス×アドレスエレメントサイズによって、Ｎ個のアドレスのうちのそれぞれを確定することを含む請求項１又は２に記載の方法。
【請求項４】
操作の結果をメモリ内のバッファエリアに記憶することには、
該Ｎ個のアドレスのうちのすべてのアドレスに対するアクセスが終わる前に、所定条件を満たすデータのアドレスを、メモリ内のバッファエリアに記憶することを含み、
該Ｎ個のアドレスのうち、所定条件を満たす一つ以上のアドレスを結果として出力することには、
バッファエリアにおけるアドレスを結果として出力することを含む請求項２に記載の方法。
【請求項５】
前記所定条件は、Ｎ個のアドレスに対して同じ又は異なる請求項４に記載の方法。
【請求項６】
Ｎ個のアドレスに記憶されているデータに対して所定操作を実行する時に、
Ｎ個のアドレスに記憶されているデータに対して、算術演算、関係演算、又は論理演算の少なくとも一つを実行し、
演算結果を結果として出力する請求項１、４、５のいずれか１項に記載の方法。
【請求項７】
メモリ中のマルチアクセスをサポートするための装置であって、
メモリ中のＮ個のアドレスを一回受信し、ただし、Ｎが１より大きな整数であり、且つ前記Ｎ個のアドレスが不連続である受信ユニットと、
Ｎ個のアドレスに従って所定操作を実行するプロセスユニットと、
操作の結果を出力する出力ユニットとを含み、
プロセスユニットがＮ個のアドレスに従って所定操作を実行することには、
Ｎ個のアドレスに記憶されているデータに対して所定操作を実行することを含み、
Ｎ個のアドレスに記憶されているデータに対して所定操作を実行する時に、
プロセスユニットが該Ｎ個のアドレスのうちのそれぞれをアクセスし、且つ該アドレスに記憶されているデータが所定条件を満たすかを確認し、
出力ユニットが該Ｎ個のアドレスのうち、所定条件を満たす一つ以上のアドレスを結果として出力する装置。
【請求項８】
前記装置は、操作の結果を記憶するバッファエリアをさらに含み、
出力ユニットは、バッファエリアに記憶されている操作の結果を出力する請求項７に記載の装置。
【請求項９】
ベースとオフセット量によって、アドレスのそれぞれを確定し、ただし、オフセット量が該アドレスとベースアドレスとの距離を指示するものであり、
受信ユニットは、ベースアドレスとＮ個のオフセット量を受信し、且つ、
第ｉアドレス＝ベースアドレス＋第ｉオフセット量によって、Ｎ個のアドレスのうちのそれぞれを確定し、０≦ｉ≦Ｎ−１であり、
受信ユニットがＮ個のオフセット量を受信することには、アドレスエレメントサイズとＮ個のアドレスインデックスを受信することをさらに含み、且つ、
第ｉアドレス＝ベースアドレス＋第ｉオフセット量によって、Ｎ個のアドレスのうちのそれぞれを確定することには、第ｉアドレス＝ベースアドレス＋第ｉアドレスインデックス×アドレスエレメントサイズによって、Ｎ個のアドレスのうちのそれぞれを確定することを含む請求項８に記載の装置。
【請求項１０】
該Ｎ個のアドレスのうちのすべてのアドレスに対するアクセスが終わる前に、所定条件を満たすデータのアドレスを、メモリ内のバッファエリアに記憶し、
出力ユニットは、バッファエリアにおけるアドレスを結果として出力する請求項７から９のいずれか１項に記載の装置。
【請求項１１】
前記所定条件は、Ｎ個のアドレスに対して同じ又は異なる請求項７又は１０に記載の装置。
【請求項１２】
Ｎ個のアドレスに記憶されているデータに対して所定操作を実行する時に、
プロセスユニットは、Ｎ個のアドレスに記憶されているデータに対して、算術演算、関係演算、又は論理演算の少なくとも一つを実行し、
出力ユニットは、演算結果を結果として出力する請求項７、１０、１１のいずれか１項に記載の装置。
【請求項１３】
メモリシステムであって、
請求項７から１２のいずれか１項に記載の装置を含むメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ中にマルチアクセスを行う方法、メモリ中のマルチアクセスをサポートする装置及びメモリシステムに関し、特に、メモリのアクセス性能を向上することができるメモリ中にマルチアクセスを行う方法、メモリ中のマルチアクセスをサポートする装置及びメモリシステムに関する。
【背景技術】
【０００２】
ランダムメモリアクセスは、従来からコンピュータの機能に影響する重要な要因である。一般的に言えば、一回のＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ダイナミック・ランダム・アクセス・メモリ）のアクセスは、数百のクローク周期が必要とされる。コンピュータシステム構成とプログラミング言語は、今まで、キャッシュ（Ｃａｃｈｅ、高速緩衝記憶装置）や、プリフェッチなどの方式を採用することで、ＤＲＡＭへのランダムアクセスをできるだけ減少し、又は、ランダムアクセスによる性能への影響を低減する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
近年、ビッグデータ分析は、重要な適用領域になり、ビッグデータ分析の適用においては、グラフを代表とするデータ構造が大量使用されており、キャッシュとプリフェッチなどの方法により、このようなデータ構造のアクセスに対して最適化することが難しい。
従って、コンピュータシステムのアクセス性能を向上する解決策が望まれている。
【課題を解決するための手段】
【０００４】
本発明に係る実施例は、メモリ中にマルチアクセスを行う方法、メモリ中のマルチアクセスをサポートする装置及びメモリシステムを提供し、コンピュータシステムのアクセス性能のを向上することができる。
【０００５】
本発明に係る実施例の一つの方面によれば、メモリ中にマルチアクセスを行う方法を提供し、前記方法は、メモリ中のＮ個のアドレスを受信し、ただし、Ｎが１より大きな整数であり、且つ前記Ｎ個のアドレスが不連続であることと、Ｎ個のアドレスに従って所定操作を実行することと、操作の結果を出力することとを含む。
【０００６】
本発明に係る実施例のもう一つの方面によれば、メモリ中のマルチアクセスをサポートするための装置を提供し、前記装置は、メモリ中のＮ個のアドレスを受信し、ただし、Ｎが１より大きな整数であり、且つ前記Ｎ個のアドレスが不連続である受信ユニットと、Ｎ個のアドレスに従って所定操作を実行するプロセスユニットと、操作の結果を出力する出力ユニットとを含む。
【０００７】
本発明に係る実施例のさらにもう一つの方面によれば、メモリシステムを提供し、前記メモリシステムは、上記したようなメモリ中のマルチアクセスをサポートするための装置を含む。
【０００８】
従って、本発明に係る実施例によれば、メモリ中の複数のアドレスに対して操作を行い、且つ、これらのアドレスは、連続でもよく、不連続でもよく、それで、恰もユーザの需要に合うように、期待されるアドレスを入力して使用することができる。また、メモリ内部において、入力されたアドレスに従って所定操作を実行して操作の結果を出力するので、メモリの機能を拡張するだけではなく、データ処理の速度を向上し、時間を節約した。
【図面の簡単な説明】
【０００９】
以下、図面を参照しながら詳細に記述することにより、本発明をより分かりやすくする。その中に、同じ記号は、同じ構成のユニットのことを意味する。且つ、その中に、
【図１】本発明に係る実施例による、メモリ中にマルチアクセスを行うための方法を示す模式的なフローチャートである。
【図２】本発明に係る実施例もう一つの実施例による、メモリ中にマルチアクセスを行うための方法を示す模式的なフローチャートである。
【図３】グラフのデータ構造を示す模式図である。
【図４】本発明の一つの具体的な実施形態による、Ｎ個のアドレスに記憶されているデータに対して所定操作を実行する時の、メモリ中にマルチアクセスを行うための方法を示す模式的なフローチャートである。
【図５】本発明のもう一つの具体的な実施形態による、Ｎ個のアドレスに記憶されているデータに対して所定操作を実行する時の、メモリ中にマルチアクセスを行うための方法を示す模式的なフローチャートである。
【図６】本発明のさらにもう一つの具体的な実施形態による、Ｎ個のアドレスに対して所定操作を実行する時の、メモリ中にマルチアクセスを行うための方法を示す模式的なフローチャートである。
【図７】本発明に係る実施例による、メモリ中のマルチアクセスをサポートする装置を示す模式的なブロック図である。
【図８】本発明のさらにもう一つの実施例による、メモリ中のマルチアクセスをサポートする装置を示す模式的なブロック図である。
【発明を実施するための形態】
【００１０】
以下に、本発明に係る実施例の図面を参照しながら、本発明に係る実施例での技術案を明確で完全に記述し、もちろん、記述される実施例は、本発明の一部の実施例であり、全ての実施例ではない。本発明での実施例に基いて、当業者が創造性的労働をしないことを前提に得る他の実施例の全ては、本発明の保護範囲に属する。
【００１１】
ここで使用される用語は、ただ特定の実施例を記述するためのものであり、本発明を制限するものではない。例えば、ここで使用される、単数形の「一」、「一つ」、「該」は、特に明記しない限り、複数形の意味も含める。また、理解されるべきのは、本明細書に使用される時に、用語の「備え」及び／又は「備える」、「含み」及び／又は「含む」は、説明される特徴、領域、整数、ステップ、エレメント及び／又はモジュール及び／又はそれらの組み合せの存在を意味するが、一つ以上の他の特徴、領域、整数、ステップ、エレメント及び／又はモジュール及び／又はそれらの組み合せの存在または追加を排除しない。
【００１２】
特に定義しない限り、ここで使用される全ての用語は、当業者に一般的に理解されている用語と同じ意味を有する。また、理解されるべきのは、例えば、通用する辞書に定義されるそれらの用語は、関連技術や本公開の文脈での意味と一致する意味を有するように解釈されるべきであり、特に定義しない限り、理想化や形式化の意味で用語を解釈するべきではない。
【００１３】
以下の記述では、グラフを例として説明するが、当業者にとっては、本発明に係る実施例を、例えば、ツリー、リンクリストなどの他のデータ構造に適用することができることが明らかである。
【００１４】
また、ＤＲＡＭの他に、本発明に係る実施例は、例えば、ＳＲＡＭ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、スタティック・ランダム・アクセス・メモリ）、ＰＣＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ、相変化メモリ）、ＦＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、強誘電体メモリ）のような他のメモリデバイスとメモリシステムに適用してもよい。
【００１５】
次に、図面を参照しながら本発明に係る実施例を詳しく説明する。
【００１６】
図１は、本発明に係る実施例による、メモリ中にマルチアクセスを行うための方法１００を示す模式的なフローチャートである。該方法１００は、プロセッサで実行されてもよい。
【００１７】
図１に示すように、方法１００の１１０では、メモリ中のＮ個のアドレスを受信し、ただし、Ｎが１より大きな整数であり、且つ前記Ｎ個のアドレスが不連続である。
【００１８】
１２０では、Ｎ個のアドレスに従って、所定操作を実行する。
【００１９】
１３０では、操作の結果を出力する。
【００２０】
これによって、本発明に係る実施例によれば、メモリ中の複数のアドレスに対して操作することができ、且つ、これらのアドレスが連続であってもよく、不連続であってもよい。このようにして、恰もユーザの需要に合うように、期待されるアドレスを入力して使用することができる。また、メモリ内部では、入力されたアドレスに従って、所定操作を実行して、操作の結果を出力することができるので、メモリの機能を拡張するだけではなく、データ処理の速度も向上し、時間を節約する。
【００２１】
また、複数のアドレスを一回受信して所定操作を実行するので、本発明のもう一つの実施例によれば、全てのアドレスに対して所定操作を実行することが終わる前に、バッファエリアを利用して中間結果を記憶することができ、且つ、全てのアドレスに対して所定操作を実行することがすべて終わるときに、バッファエリア内のアドレスを結果として出力する。これによって、アクセス速度をさらに向上する。
【００２２】
図２は、本発明のもう一つの実施例による、メモリ中にマルチアクセスを行うための方法２００を示す模式的なフローチャートである。該方法２００は、メモリで実行されることができる。
【００２３】
図２に示すように、方法２００の２１０では、メモリ中のＮ個のアドレスを受信し、ただし、Ｎが１より大きな整数であり、且つ前記Ｎ個のアドレスが不連続である。
【００２４】
２２０では、Ｎ個のアドレスに従って、所定操作を実行する。
【００２５】
２２５では、操作の結果をメモリ内のバッファエリアに記憶する。
【００２６】
２３０では、方法１００において操作の結果を出力することは、具体的に、バッファエリア中のアドレスを結果として出力する。
【００２７】
本発明に係る実施例によれば、全てのアドレスに対する操作を完成する前に、中間結果を一時的にバッファエリアに記憶するので、アクセス速度をさらに向上する。例えば、アドレスに記憶されているデータに対してアクセスを行う場合に、メモリ外部からメモリ内の一つのアドレスのデータに対して一回のアクセス（入力／出力）を行う時に、ハンドシェーク信号が占用する時間オーバーヘッドは、大きくて大体総時間の６０％を占めるので、かかる総時間が数百ナノ秒（例えば、２００ｎｓ）であり、バッファエリアを利用する時に、ハンドシェーク信号が大幅減少されたことによって、メモリ内部において同じデータに対して一回のアクセスを行うのにかかる総時間は、数十ナノ秒あるいは数ナノ秒までに短縮され、例えば、１−２ナノ秒である。また、キャッシュ（高速緩衝記憶装置）と類似する構成のように、該バッファエリアを配置することができ、これによって、アクセス速度をさらに向上する。このため、バッファエリアを利用する時に、アクセス時間を短縮することができる。
【００２８】
ここで、バッファエリアは、メモリ内のオリジナルのバッファ領域から分割されたものであってもよく、メモリに追加した新たなバッファ領域であってもよい。後者の場合に、メモリのハードウェアを改良する必要がある。また、結果を出力したたびに、バッファエリア中のデータを消してもよい。
【００２９】
以下、グラフのデータ構造を例として本発明に係る実施例を詳しく記述するが、当業者にとっては、本発明を、例えば、ツリー、リンクリストなどのグラフ以外の他のデータ構造に適用することができることが明らかである。
【００３０】
図３は、グラフのデータ構造を示す模式図である。図３に示すのは、無向グラフであるが、当業者にとっては、有向グラフであってもよく、且つ、重み情報を含んでもよいことが明らかである。
【００３１】
図３に示すように、該グラフには、Ｖ１、Ｖ２、Ｖ３、Ｖ４、Ｖ５、Ｖ６、Ｖ７の８つの頂点、及び１１つの辺が含まれ、一般的には、一次元配列を利用して頂点データを記憶し、且つ、二次元配列を利用して辺データを記憶する。一つの例示的な頂点配列Ｖ［ｊ］（０≦ｊ≦７）は、次のように示している。
【表１】
0006389323.tif 000002
【００３２】
頂点データは、各種の情報を含んでもよい。一つの例では、グラフのトラバーサルを実行する時に、頂点データは、該頂点が既にトラバーサルされたかどうかを示すことができ、例えば、０がまだトラバーサルされていないことを示し、且つ、１が既にトラバーサルされたことを示す。もう一つの例では、頂点に対してレベルを付けるアプリには、頂点データは、現在指定されている中心頂点に対して、該頂点が第何レベルノードであるかを示す。もちろん、本発明に係る実施例は、それに限られず、当業者にとっては、頂点データが、如何なる他の適切な情報を含んでもよいことが明らかである。
【００３３】
図３から分かるように、グラフ構成のデータ構造では、任意の二つの頂点（データエレメント）の間が関連付けられる可能性があり、これによって、メモリを使用してグラフ中のデータに対してアクセスする時に、頂点をアクセスする順番を確定することができなくなり、とても強いランダム性を持ち、且つ、キャッシングすることが難しく、アクセス速度が遅くなってしまう。例えば、図３に示されたグラフ構成では、頂点Ｖ７をアクセスしようとすれば、ある回の操作においてＶ２→Ｖ７の順番に従ってアクセスすることが可能であり、次の回の操作においてＶ３→Ｖ７の順番に従ってアクセスすることが可能であり、しかし、もう１回の操作においてＶ５→Ｖ７の順番に従ってアクセスすることが可能である。
【００３４】
本発明による一つの典型的な実施例では、ベースアドレス（ｂａｓｅ＿ａｄｄｒｅｓｓ）とオフセット量によって、それぞれのアドレスを確定することができ、ただし、オフセット量は、該アドレスとベースアドレスの距離を指示するものである。具体的に、配列の形式で複数のオフセット量を定義することができ、例えば、Ｂｉａｓ［ｉ］であり、ここで、ｉが正整数であり、且つ、０≦ｉ≦Ｎ−１である。例えば、ベースアドレスが頂点Ｖ０のアドレス（例えば、００００Ｈ）であり、且つ、Ｎ＝４つの頂点Ｖ０、Ｖ２、Ｖ４、及びＶ７に対して操作を行い、且つ頂点Ｖ２、Ｖ４、及びＶ７のオフセット量がそれぞれ８Ｂｙｔｅｓ、１６Ｂｙｔｅｓ、及び２８Ｂｙｔｅｓであると仮定すると、Ｎ＝４つのオフセット量を定義することができ、即ち、Ｂｉａｓ［０］＝０、Ｂｉａｓ［１］＝８、Ｂｉａｓ［２］＝１６、Ｂｉａｓ［３］＝２８であり、これによって、１１０または２１０においてメモリ中のＮ個のアドレスを受信することは、ベースアドレスとＮ個のオフセット量を受信することと、第ｉアドレス＝ベースアドレス＋第ｉオフセット量によって、Ｎ個のアドレスのうちのそれぞれを確定することと、をさらに含んでもよい。従って、次のようなアドレスが得られる。
頂点Ｖ０のアドレス、即ち、第０アドレス＝００００Ｈ＋０  Ｂｙｔｅｓ、
頂点Ｖ２のアドレス、即ち、第１アドレス＝００００Ｈ＋８  Ｂｙｔｅｓ、
頂点Ｖ４のアドレス、即ち、第２アドレス＝００００Ｈ＋１６  Ｂｙｔｅｓ、及び
頂点Ｖ７のアドレス、即ち、第３アドレス＝００００Ｈ＋２８  Ｂｙｔｅｓ。
【００３５】
もう一つの典型的な実施例では、頂点のアドレスとベースアドレスとのオフセットを直接に与えることを除き、頂点の番号をオフセット量として使用することもできる。この場合に、一般的に、頂点のアドレスインデックスが該頂点の番号を示すので、アドレスインデックスとアドレスエレメントのサイズの積を利用してオフセット量を計算し、さらに、頂点のアドレスを確定することができる。
【００３６】
具体的に、例えば、同じように、ベースアドレスが頂点Ｖ０のアドレス（例えば、００００Ｈ）であり、且つ、Ｎ＝４つの頂点Ｖ０、Ｖ２、Ｖ４、及びＶ７に対して操作を行い、ここで０、２、４、及び７がアドレスインデックス（頂点の番号）を示すと仮定すると、一つのオフセットインデックスの配列Ｂｉａｓ＿ｉｎｄｅｘ［ｉ］（０≦ｉ≦Ｎ−１）を定義することができ、即ち、Ｂｉａｓ＿ｉｎｄｅｘ［０］＝０、Ｂｉａｓ＿ｉｎｄｅｘ［１］＝２、Ｂｉａｓ＿ｉｎｄｅｘ［２］＝４、Ｂｉａｓ＿ｉｎｄｅｘ［３］＝７である。また、メモリアドレスに用いられるアドレスエレメントのサイズが４バイト（４Ｂｙｔｅｓ）であるとする。これによって、Ｎ個のオフセット量を受信することは、アドレスエレメントサイズ（４Ｂｙｔｅｓ）とＮ個のアドレスインデックスを受信し、且つ、第ｉアドレス＝ベースアドレス＋第ｉアドレスインデックス×アドレスエレメントサイズによって、Ｎ個のアドレスのうちのそれぞれを確定することを、さらに含む。従って、次のようなアドレスが得られる。
頂点Ｖ０のアドレス、即ち、第０アドレス＝００００Ｈ＋０×４Ｂｙｔｅｓ、
頂点Ｖ２のアドレス、即ち、第１アドレス＝００００Ｈ＋２×４Ｂｙｔｅｓ、
頂点Ｖ４のアドレス、即ち、第２アドレス＝００００Ｈ＋４×４Ｂｙｔｅｓ、及び
頂点Ｖ７のアドレス、即ち、第３アドレス＝００００Ｈ＋７×４Ｂｙｔｅｓ。
【００３７】
アドレスとアドレスエレメントサイズを利用してアドレスを確定するのは、ユーザ操作に便利であり、これは、多くの場合にユーザが頂点の正確なアドレスを知らないが、それぞれの頂点の番号を知るからである。このため、頂点の番号とそのアドレスとの間の対応性を利用すると、実際アドレスを素早く便利に確定することができる。実際アドレスを入力する方案と比べて、データを入力する時間を大幅短縮し、且つ、このような方式は、入力した頂点が正しいかどうかをユーザによってチェックするのに便利であり、ユーザにとって操作が簡単である。
【００３８】
また、見られるように、本発明に係る実施例によれば、操作する頂点に対して、連続であるかどうかについての要求がないので、任意の連続または不連続の頂点に対してアクセスすることができ、アクセスは、狙いがはっきりするようにする。
【００３９】
また、当業者が理解するように、用語「不連続」の意味は、広義のものであり、例えば、上記の四つの頂点Ｖ０、Ｖ２、Ｖ４、Ｖ７のような完全離散の頂点またはアドレスを含むことではなく、例えば、頂点Ｖ０乃至Ｖ４、及びＶ７の五つの頂点のような部分連続の頂点またはアドレスを含んでもよい。
【００４０】
注意すべきのは、上記の例においてＮ個のアドレスを昇順で入力するが、入力する複数のアドレスは、不連続であってもよいので、昇順または降順で入力することに限られず、これらの複数のアドレスを如何なる順番で入力してもよい。
【００４１】
本発明の典型的な実施例によれば、１２０または２２０においてＮ個のアドレスによって所定操作を実行することは、Ｎ個のアドレスに記憶されているデータに対して、所定操作を実行することを含んでもよい。
【００４２】
図４は、本発明の一つの具体的な実施形態による、Ｎ個のアドレスに記憶されているデータに対して所定操作を行う時に、メモリ中にマルチアクセスを行うための方法４００を示す模式的なフローチャートである。該方法４００は、メモリで実行されることができる。
【００４３】
図４に示すように、方法４００の４１０では、アクセスするメモリ中のＮ個のアドレスを受信し、ただし、Ｎが１より大きな整数であり、且つ、Ｎ個のアドレスが不連続である。
【００４４】
４２０では、これらのＮ個のアドレスのうちのそれぞれをアクセスし、且つ、該アドレスに記憶されているデータが所定条件を満たすかを確認する。
【００４５】
４３０では、これらのＮ個のアドレスのうち、所定条件を満たす一つ以上のアドレスを結果として出力する。
【００４６】
方法４００では、前記Ｎ個のアドレスが不連続であってもよい。もちろん、当業者にとって、これらのＮ個のアドレスが連続であってもよいことが明らかである。
【００４７】
従って、本発明の具体的な実施形態によれば、メモリ中の複数のアドレスに対してアクセスを行うことができ、且つ、戻された結果は、条件を満たす一つ以上のアドレスを含み、このため、従来の、毎回に一つのアドレスだけをアクセスする操作と比べて、アクセス速度を大幅に向上し、それで、コンピュータシステムのアクセス性能を向上することができる。且つ、アクセスするこれらのアドレスは、連続であってもよく、不連続であってもよい。このようにして、恰もユーザの需要に合うように、期待されるアドレスをアクセスことができる。また、メモリ内部では、各アドレスでのデータが条件を満たすかを判定することができ、このため、入力／出力のための時間を節約し、処理速度を向上する。
【００４８】
また、一回に、複数のアドレスに対してアクセスを行うので、上記したように、本発明のもう一つの具体的な実施形態によれば、全てのアドレスに対するアクセスが終わる前に、バッファエリアを利用して中間結果を記憶することができ、且つ、すべてのアドレスに対するアクセスが終わる時に、バッファエリア内のアドレスを結果として出力し、これによって、アクセス速度をさらに向上する。
【００４９】
図５は、本発明のもう一つの具体的な実施形態による、Ｎ個のアドレスに記憶されているデータに対して所定操作を行う時に、メモリ中にマルチアクセスを行うための方法を示す模式的なフローチャートである。該方法５００は、メモリで実行されることができる。
【００５０】
図５に示すように、方法５００の５１０では、アクセスするメモリ中のＮ個のアドレスを受信し、ただし、Ｎが１より大きな整数である。
【００５１】
５２０では、これらのＮ個のアドレスのそれぞれをアクセスし、且つ、該アドレスに記憶されているデータが所定条件を満たすかを確認する。
【００５２】
５２５では、これらのＮ個のアドレスのうちのすべてのアドレスに対するアクセスが終わる前に、所定条件を満たすデータのアドレスを、メモリ内のバッファエリアに記憶する。
【００５３】
５３０では、５３０においてこれらのＮ個のアドレスのうち、所定条件を満たす一つ以上のアドレスを結果として出力することは、具体的に、バッファエリアにおけるアドレスを結果として出力する。
【００５４】
これによって、本発明の該具体的な実施形態によれば、該バッファエリアを配置することで、アクセス速度をさらに向上する。このため、バッファエリアを利用してメモリ中の複数のアドレスに対してアクセスを行う時に、アクセス時間を短縮した。
【００５５】
アクセスするＮ個のアドレスを受信した後に、本発明の具体的な実施形態による、Ｎ個のアドレスに記憶されているデータに対してアクセス操作を行う時に、メモリ中にアクセスを行うための方法（方法４００または方法５００）は、これらのアドレスでのデータに対してアクセスすることができ、それで、該アドレスに記憶されているデータが所定条件を満たすかを確認する。
【００５６】
一つの例では、ここでの所定条件は、ユーザが実際の需要に応じて任意に指定することができる。一つの例では、グラフのトラバーサルの場合に、所定条件は、該頂点がトラバーサルされたかどうかを示し、且つ、トラバーサルされていない頂点アドレス（頂点番号）を結果として戻すことができる。もう一つの例では、ある一つの所定頂点について他の頂点にレベルをつける場合に、所定条件は、該頂点が既にレベルつけられたか、または、該頂点が所定頂点にとって第何レベルのノードであるかを示してもよく、且つ、レベル付けられていない頂点または指定レベルの頂点、または指定される複数のレベルのノードのアドレス（頂点番号）を結果として戻してもよい。
【００５７】
従って、本発明の具体的な実施形態では、アドレスに記憶されているデータが所定条件を満たすかを確認する時に、データと所定条件値に対して、関係演算及び／又は論理演算を含める操作を行ってもよく、且つ、操作結果が真であることを指示する時に、所定条件を満たすと確定する。ここで、関係演算は、イコール、より大きい、大なりイコール、より小さい、小なりイコール、ノットイコールを含むが、それらに限定されなく、且つ、論理演算は、論理積、論理和、排他的論理和を含むが、それらに限定されない。もちろん、本発明に係る実施例は、それに限定されなく、且つ、ここでの操作は、従来および将来に開発する如何なる適切な操作であってもよいことが当業者にとって明らかである。
【００５８】
また、所定条件を満たすと確定した時に、該データの原始値を新しい値に置き換えてもよく、且つ、新しい値は、これらのＮ個のアドレスに対して一定の値であり、またはそれぞれのアドレスでのデータの原始値の関数であってもよい。代わりに、新しい値は、Ｎ個のアドレスのうちの一つ以上のアドレスに対応する一セットの値であってもよく、このような一セットの値は、ユーザによって設置されてもよく、または、状況に従ってシステム内部で指定されまたは呼び出されてもよい。このようにして、所定条件を満たす各一つのアドレスまたは各複数のアドレスに対して、異なる値を書き込むことができる。
【００５９】
例えば、アクセスする各アドレスについて、次のような疑似アドレスで示される操作を行うことができる。
【数１】
0006389323.tif 000003
【００６０】
ここで、ｂａｓｅ＿ａｄｄｒｅｓｓがベースアドレスを示し、ｂｉａｓ＿ｉｎｄｅｘ［ｉ］が一セットのアドレスインデックスを示し、ｅｌｅｍｅｎｔ＿ｓｉｚｅがアドレスエレメントサイズを示し、ｏｐが実行される操作を示し、ｃｏｎｄｉｔｉｏｎ＿ｖａｌｕｅが所定条件値を示し、且つ、ｎｅｗ＿ｖａｌｕｅが新しい値を示す。
【００６１】
ここで、ｃｏｎｄｉｔｉｏｎ＿ｖａｌｕｅが該アドレスでのデータの原始値であり、ｏｐが「＝＝」（等しい）である時に、該操作は、従来のコンペアアンドスワップ（Ｃｏｍｐａｒｅ  ａｎｄ  Ｓｗａｐ（ＣＡＳ））操作に類似する。ただし、従来のＣＡＳ操作との違いは、本発明に係る実施例が複数のアドレスに対してこのような操作を実行してもよく、且つこれらのアドレスが不連続であってもよい。また、本発明に係る実施例では、複数のアドレスに対するアクセスが終わる前に、条件を満たすｂｉａｓ＿ｉｎｄｅｘ［ｉ］のそれぞれが一時的にバッファエリアに記憶され、すべてのアドレスのアクセスが終わるまでに、バッファエリアでのアドレスを結果として出力する。
【００６２】
分かるように、条件を満たすアドレスでのデータに対して如何なる操作も行わなく、そのアドレスのみを戻せばよい。例えば、
【数２】
0006389323.tif 000004
【００６３】
イコールを示す関係演算の他に、上記疑似コードにおける「ｏｐ」が他の関係演算であり、例えば、より大きい「＞」、大なりイコール「＞＝」、より小さい「＜」、小なりイコール「＝＜」、及びノットイコール「！＝」であってもよく、且つ「ｏｐ」が論理演算であり、論理積「ＡＮＤ」、論理和「ＯＲ」、排他的論理和「ＸＯＲ」などを含んでもよい。しかし、当業者にとっては、上記の関係演算と論理演算が例示に過ぎず、本発明に係る実施例がそれに限定されなく、他の如何なる適切な演算の組合せ及び将来に開発される演算を含んでもよいことが明らかである。
【００６４】
更なる一つの実施例では、所定条件は、一つの一定の所定条件値「ｃｏｎｄｉｔｉｏｎ＿ｖａｌｕｅ」だけではなく、関係式であってもよい。例えば、所定条件値と該アドレスの原始値を演算する表現式などであってもよい。
【００６５】
従って、本発明に係る実施例によれば、アドレスに記憶されているデータが所定条件を満たすかを確認する時に、所定条件に対する判定が非常に柔軟であり、多種の操作を含むので、いろんな需要を満足することがきでる。
【００６６】
また、上記の記述にはＮ個のアドレスに対して所定条件が同じであるが、本発明に係る実施例がそれに限定されず、いくつかの実施例において、Ｎ個のアドレスに対して所定条件が異なってもよい。換言すれば、上記の「ｏｐ」と「ｃｏｎｄｉｔｉｏｎ＿ｖａｌｕｅ」は、Ｎ個のアドレスのうちのそれぞれのアドレスに対応するエレメントを含んでもよく、例えば、配列ｏｐ［ｉ］とｃｏｎｄｉｔｉｏｎ＿ｖａｌｕｅ［ｉ］のような形で与えられ、ただし、０≦ｉ≦Ｎ−１である。
【００６７】
図６は、本発明のさらにもう一つの具体的な実施形態による、Ｎ個のアドレスに記憶されているデータに対して所定操作を実行する時に、メモリ中にマルチアクセスを行うための方法６００を示す模式的なフローチャートである。該方法６００は、メモリで実行されることができる。
【００６８】
図６に示すように、方法６００の６１０では、メモリ中のＮ個のアドレスを受信し、ただし、Ｎが１より大きな整数であり、且つ前記Ｎ個のアドレスが不連続である。
【００６９】
６２０では、Ｎ個のアドレスに記憶されているデータに対して、算術演算、関係演算、または論理演算の少なくとも一つを実行する。
【００７０】
６３０では、演算結果を結果として出力する。
【００７１】
一つの例では、Ｎ個のアドレスに記憶されているデータに対して、例えば、加算、減算、または割り算の少なくとも一つを実行し、且つ、演算して得られる和、差、及び積などの結果を出力し、例えば、下記の疑似コードは、和を求めることを示す。
【数３】
0006389323.tif 000005
【００７２】
また、Ｎ個のアドレスに記憶されているデータに対して関係演算を実行し、これらのデータのうちの最大値、最小値、中間値などを得る。
【００７３】
もとろん、上記の疑似コードでは、Ｎ個のアドレスに記憶されているデータに対して算術演算、関係演算、または論理演算の一つを実行することのみを示しているが、Ｎ個のアドレスに記憶されているデータに対して、Ｎ個のアドレスに記憶されているデータに対して算術演算、関係演算、または論理演算の少なくとも一つを実行してもよいことが当業者にとって明らかである。
【００７４】
また、Ｎ個のアドレスに記憶されているデータに対して上記操作を実行する時には、同様に、バッファエリアを利用して速度を向上することができ、つまり、すべてのＮ個のアドレスに対する操作が終わる前に、中間結果を一時的にバッファエリアに記憶し、Ｎ個のアドレスに対する操作が終わった後に、バッファエリア内の結果を演算結果として出力する。この点は、以上の一部の実施形態と類似するので、簡潔のために、詳細な説明を省略する。
【００７５】
図７は、本発明に係る実施例による、メモリ中のマルチアクセスをサポートする装置７００を示す模式的なブロック図である。この種の装置７００は、処理機能付きマルチランダムアクセスメモリ（Ｍｕｌｔｉ−Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ  ｗｉｔｈ  Ｐｒｏｃｅｓｓｉｎｇ  Ｆｕｎｃｔｉｏｎ，ＭＲＡＭＰＦ）と呼ばれる。
【００７６】
図７に示すように、メモリ中のマルチアクセスをサポートする装置７００は、受信ユニット７１０と、プロセスユニット７２０と、出力ユニット７３０とを含んでもよい。
【００７７】
受信ユニット７１０は、メモリ中のＮ個のアドレスを受信するためのものであり、ただし、Ｎが１より大きな整数であり、且つ、前記Ｎ個のアドレスが不連続である。プロセスユニット７２０は、Ｎ個のアドレスに従って所定操作を実行するものである。出力ユニット７３０は、操作の結果を出力するものである。
【００７８】
従って、本発明に係る実施例によれば、メモリ中の複数のアドレスに対して操作を行い、且つ、これらのアドレスは、連続であってもよく、不連続であってもよい。それで、恰もユーザの需要に合うように、期待されるアドレスを入力して使用することができる。また、メモリ内部では、入力されたアドレスに従って、所定操作を実行して、操作の結果を出力することができるので、メモリの機能を拡張するだけではなく、データ処理の速度も向上し、時間を節約する。
【００７９】
また、複数のアドレスを一回受信して所定操作を実行するので、本発明のもう一つの実施例によれば、全てのアドレスに対して所定操作を実行することが終わる前に、バッファエリアを利用して中間結果を記憶することができ、且つ、全てのアドレスに対して所定操作を実行することがすべて終わるときに、バッファエリア内のアドレスを結果として出力する。これによって、アクセス速度をさらに向上する。
【００８０】
図８は、本発明のもう一つの実施例による、メモリ中のマルチアクセスをサポートする装置８００を示す模式的なブロック図である。該装置８００と図７に示す装置７００との違いは、プロセスユニット８２０が該Ｎ個のアドレスのうちのすべてのアドレスに対する操作を完成する前に、中間結果を記憶するためのバッファエリア８２５をさらに含むことである。図８に示す装置８００に含まれる受信ユニット８１０、プロセスユニット８２０、及び出力ユニット８３０のそれぞれは、図７に示す受信ユニット７１０、プロセスユニット７２０、及び出力ユニット７３０に対応するものであり、類似する構成を有し、且つそれぞれが類似する機能を実行し、ここで、その詳細を重複に説明しない。
【００８１】
従って、一つの例では、出力ユニット８３０は、バッファエリア８２５に記憶されている操作の結果を出力する。従って、本発明に係る実施例によれば、すべてのアドレスに対する操作が終わる前に、中間結果を一時的にバッファエリアに記憶するので、アクセス速度をさらに向上する。
【００８２】
上記のように、ここでのバッファエリア８２５は、メモリ内のオリジナルのバッファ領域から分割されたものであってもよく、メモリに追加した新たなバッファ領域であってもよい。後者の場合に、メモリのハードウェアを改良する必要がある。また、バッファエリア中のデータを出力したたびに、バッファエリア中のデータを消してもよい。
【００８３】
一つの例では、プロセスユニット７２０または８２０は、ベースアドレスによって、各アドレスを確定することができ、ただし、オフセット量は、該アドレスとベースアドレスの距離を指示するものである。この場合に、受信ユニット７１０または８１０は、ベースアドレスとＮ個のオフセット量を、メモリ中のＮ個のアドレスとして受信し、且つ、プロセスユニット７２０または８２０は、第ｉアドレス＝ベースアドレス＋第ｉオフセット量によって、Ｎ個のアドレスのうちのそれぞれを確定する。例えば、上記のように、配列の形式で複数のオフセット量を定義し、例えば、ｂｉａｓ［ｉ］であり、ここで、ｉが整数であり、且つ０≦ｉ≦Ｎ−１である。
【００８４】
また、受信ユニット７１０または８１０によって受信されるＮ個のオフセット量は、アドレスエレメントと、Ｎ個のアドレスインデックスを含み、且つ、プロセス７２０または８２０は、第ｉアドレス＝ベースアドレス＋第ｉアドレスインデックス×アドレスエレメントサイズによって、Ｎ個のアドレスのうちのそれぞれを確定する。例えば、アクセスする頂点がＶ０、Ｖ２、Ｖ４、及びＶ７である場合に、０、２、４、及び７がアドレスインデックス（頂点の番号）を示し、オフセットインデックスの配列Ｂｉａｓ＿ｉｎｄｅｘ［ｉ］（０≦ｉ≦Ｎ−１）を定義し、即ち、Ｂｉａｓ＿ｉｎｄｅｘ［０］＝０、Ｂｉａｓ＿ｉｎｄｅｘ［１］＝２、Ｂｉａｓ＿ｉｎｄｅｘ［２］＝４、及びＢｉａｓ＿ｉｎｄｅｘ［３］＝７である。同時に、メモリアドレスに用いられるアドレスエレメントのサイズが４バイト（４Ｂｙｔｅｓ）である場合に、Ｎ個のオフセット量を受信することは、アドレスエレメントサイズ（４Ｂｙｔｅｓ）とＮ個のアドレスインデックスを受信することをさらに含む。
【００８５】
もちろん、プロセスユニット７２０または８２０によって、アクセスするＮ個のアドレスを確定することを除き、受信ユニット７１０または８１０によって確定し、且つ、確定されたＮ個のアドレスをプロセスユニット７２０または８２０に送る。
【００８６】
一つの例では、受信ユニット７１０または８１０がすべてのＮ個のアドレスを受信して確定した後に、すべてのＮ個のアドレスをプロセス７２０または８２０に送る。選択的に、受信ユニット７１０または８１０は、一つのアドレスを確定するたびに、すぐに、それをプロセスユニット７２０または８２０に送る。
【００８７】
上記の記述から分かるように、プロセスユニット７２０または８２０は、Ｎ個のアドレスに従って所定操作を実行することは、Ｎ個のアドレスに記憶されているデータに対して所定操作を実行することをさらに含む。
【００８８】
Ｎ個のアドレスに記憶されているデータに対して所定操作を実行する時に、プロセス７２０または８２０は、該Ｎ個のアドレスのうちのそれぞれをアクセスし、且つ、該アドレスに記憶されているデータが所定条件を満たすかを確認してもよく、且つ、出力ユニット７３０または８３０は、該Ｎ個のアドレスのうち、所定条件を満たす一つ以上のアドレスを結果として出力してもよい。
【００８９】
一つの例では、該Ｎ個のアドレスのうちのすべてのアドレスに対するアクセスが終わる前に、所定条件を満たすデータのアドレスをメモリ内のバッファエリアに記憶する。該Ｎ個のアドレスのうちのすべてのアドレスに対するアクセスが終わった後に、出力ユニット７３０または８３０は、バッファエリアにおけるアドレスを結果として出力してもよい。
【００９０】
一つの例では、プロセスユニット７２０または８２０は、該アドレスに記憶されているデータが所定条件を満たすかを確認することは、データと所定条件値に対して、関係演算及び／又は論理演算を含める操作を実行し、且つ、操作結果が真であることを指示する時に、所定条件を満たすと確定する。ここで、関係演算は、イコール、より大きい、大なりイコール、より小さい、小なりイコール、ノットイコールを含むが、それらに限定されなく、且つ、論理演算は、論理積、論理和、排他的論理和を含むが、それらに限定されない。
【００９１】
また、一つの例では、所定条件を満たすと確認した時に、プロセスユニット７２０または８２０は、該データの原始値を新しい値に置き換えてもよく、ただし、新しい値は、一定の値または原始値の関数であってもよい。
【００９２】
明らかに、本発明に係る実施例の装置７００または８００では、Ｎ個のアドレスに対して前記所定条件が同じでもよく、または異なってもよい。
【００９３】
注意すべきのは、複数のアドレスの数、即ちＮの選択については、例えば、ユーザの需要、ハードウェア、計算の能力などの実際の情況によって決まってもよく、例えば、Ｎが３２、６４などであってもよい。メモリの処理性能に影響しないように、Ｎを適切に選択する。
【００９４】
また、Ｎ個のアドレスに対して所定操作を実行する時に、プロセスユニット７２０または８２０は、Ｎ個のアドレスに記憶されているデータに対して、算術演算、関係演算、または論理演算の少なくとも一つを実行し、且つ出力ユニット７３０または８３０は、演算結果を結果として出力してもよい。これらの操作の詳細は、全文で記述したので、ここで、重複に説明しない。
【００９５】
下記の疑似コードは、本発明に係る実施例による、メモリ中にマルチアクセスを実行するための典型的な実現方式を示す。
【数４】
0006389323.tif 000006
【００９６】
ここで、ｂａｓｅ＿ａｄｄｒｅｓｓがベースアドレスを示し、ｂｉａｓ＿ｉｎｄｅｘ［ｉ］が一セットのアドレスインデックスを示し、それが連続であってもよく、または不連続であってもよく、ｅｌｅｍｅｎｔ＿ｓｉｚｅがアドレスエレメントサイズ（例えば４Ｂｙｔｅｓ）、Ｆｕｎｃｔｉｏｎ（）が実行する所定操作を示し、ｐａｒａｍｅｔｅｒが所定操作に必要されるパラメータを示し、且つ一つまたは複数であってもよく、且つ、ｏｕｔｐｕｔが、結果が出力されるアドレスを示す。この場合に、次のように、本当に操作するＮ個のアドレスを確定してもよい。
【数５】
0006389323.tif 000007
【００９７】
もちろん、ｂｉａｓ［ｉ］を利用し、ｂｉａｓ＿ｉｎｄｅｘ［ｉ］＊ｅｌｅｍｅｎｔ＿ｓｉｚｅを置き換えてもよく、かつ、且つ、ｏｐ、ｃｏｎｄｉｔｉｏｎ＿ｖａｌｕｅ、及びｎｅｗ＿ｖａｌｕｅのいずれも一セットのエレメントであり、ひいては表現式であってもよいことが当業者にとって明らかである。
【００９８】
例えば、Ｎ個のアドレスに記憶されているデータに対して実行する所定操作は、該アドレスに記憶されているデータが所定条件を満たすかを確認する操作である場合に、Ｆｕｎｃｔｉｏｎ（ｐａｒａｍｅｔｅｒ）は、例えば、Ｆｕｎｃｔｉｏｎ（ｏｐ，ｃｏｎｄｉｔｉｏｎ＿ｖａｌｕｅ，ｎｅｗ＿ｖａｌｕｅ）であってもよく、ここで、ｏｐが実行される演算を示し、ｃｏｎｄｉｔｉｏｎ＿ｖａｌｕｅが所定条件値を示し、ｎｅｗ＿ｖａｌｕｅが新しい値を示す。
【００９９】
例えば、Ｎ個のアドレスに記憶されているデータに対して実行する所定操作が算術演算、関係演算、または論理演算の少なくとも一つである場合に、Ｆｕｎｃｔｉｏｎ（ｐａｒａｍｅｔｅｒ）は、例えば、Ｆｕｎｃｔｉｏｎ（ｏｐ）であり、ひいてはＦｕｎｃｔｉｏｎ（ｏｐ１，ｏｐ２，ｏｐ３，…）であり、またはＦｕｎｃｔｉｏｎ（ｏｐ１［ｉ］，ｏｐ２［ｉ］，ｏｐ３［ｉ］，…）であってもよい。
【０１００】
従って、以上で記述される実施例に限られず、設計の需要に応じて、Ｆｕｎｃｔｉｏｎ（ｐａｒａｍｅｔｅｒ）の機能を任意に設置してもよいことが当業者にとって明らかである。
【０１０１】
また、本発明に係る実施例は、メモリシステムをさらに含み、該メモリシステムは、上記で図７または図８を参照しながら記述した、メモリ中のマルチアクセスをサポートする装置７００または８００を備える。
【０１０２】
以上、グラフのデータ構造を例として説明したが、本発明に係る実施例がそれに限定されなく、本発明に係る実施例は、ランダムアクセスの性能を向上するように、他のデータ構造にも適用してもよいことが当業者にとって明らかである。
【０１０３】
注意すべきのは、明確と簡明のために、図７と図８では、本発明に係る実施例に関連する部分のみを示しているが、図７と図８に示された設備またはデバイスは、他の必要なユニットを含んでもよい。
【０１０４】
明確で簡明に記述するために、上記で記述されたシステム、装置、及びユニットの具体的な動作手順は、前述の方法実施例における対応の手順を参照し、ここで重複に説明しない。
【０１０５】
本出願から提供されるいくつの実施例では、開示されるシステム、装置、及び方法が他の方式によって実現してもよいことが理解すべきである。例えば、上記で記述された装置実施例は、例示的なものに過ぎず、例えば、前記ユニットの分割は、論理機能の分割だけであり、実際に実現する時には、別の分割方式であってもよい。例えば、複数のユニットやモジュールは、他のシステムへ結合または集積され、或いは一部の特徴は、省略され、または実行されないようにする。一方、表示や討論された互いのカップリングや直接カップリングや通信接続は、いくつのインターフェイスや、装置や、ユニットの間接結合や通信接続であってもよく、電気、機械、または他の形式であってもよい。
【０１０６】
ディスクリート手段として説明した前記ユニットは、物理的に分離してもよく、または分離しなくてもよく、一つの箇所に位置してもよく、または複数のネットワークユニットに分散してもよい。実際の需要に応じてその中の一部や全部のユニットを選択することによって、本実施例の方案の目的を実現してもよい。
【０１０７】
なお、本発明の各実施例における各機能ユニットは、一つのプロセスユニットに集積してもよく、各ユニットは、単独で物理的に存在してもよく、二つ以上のユニットを一つのユニットに集積してもよい。上記集積のユニットは、ハードウェアを採用して実現されてもよく、ソフトウェア機能を採用して実現されてもよい。
【０１０８】
また、本発明の装置と方法において、明らかに、各手段や各ステップは、分解及び／又は再編成されてもよい。これらの分解及び／又は再編成は、本発明の等価方案と見なすべきである。且つ、上記一連の処理のステップは、自然的に、説明した順番に従って、時間順に実行してもよいが、必ずしも時間順に実行するとは限らない。一部のステップは、並行に、または互いに独立に実行してもよい。
【０１０９】
以上の記述は、ただ本発明の具体的な実施形態であるが、本発明の保護範囲がそれに限定されない。当業者にとって、本発明で開示される技術範囲内に、簡単に想到する変更又は置換は、本発明の保護範囲に入る。したがって、本発明の保護範囲は、請求の範囲の保護範囲によって決まる。
【０１１０】
本出願は、２０１４年５月１４日に提出した中国特許出願第２０１４１０２０１１４９．６号の優先権を主張し、ここで、上記中国特許出願に開示される内容の全文を、本出願の一部として援用する。
【図１】
0006389323.tif 000008
【図２】
0006389323.tif 000009
【図３】
0006389323.tif 000010
【図４】
0006389323.tif 000011
【図５】
0006389323.tif 000012
【図６】
0006389323.tif 000013
【図７】
0006389323.tif 000014
【図８】
0006389323.tif 000015