(57)【要約】【課題】改良された自律的サブシステムを提供する。【解決手段】自律的サブシステムは、ホストコントローラからダウンロードされたデータベースを受け取る。コントローラは、バストラフィック及び／又はサブシステムの割り当てられたリソースを監視し、そして監視結果に基づいて、システム性能をダイナミックに改善するようにリソースを再割り当てする。【選択図】図３
2011060278.tif 000002
【特許請求の範囲】
【請求項１】
状態監視ブロックを有するコントローラと、
バストラフィックを有する第１及び第２の自律的メモリ装置と、
を備え、前記状態監視ブロックは、バストラフィックを監視し、そしてその監視結果に基づいて、システム性能をダイナミックに改善するようにリソースを再割り当てする、自律的メモリサブシステム。
【請求項２】
前記第１及び第２の自律的メモリ装置に対する隣接装置ではない第３の自律的メモリ装置を更に備え、前記コントローラは、隣接装置である前記第１及び第２の自律的メモリ装置へ再配置するように前記第３の自律的メモリ装置のコンテンツを選択する、請求項１に記載の自律的メモリサブシステム。
【請求項３】
前記第１、第２及び第３の自律的メモリ装置内に配布されたリードオンリコンテンツを、前記第１及び第２の自律的メモリ装置に複写して、前記第３の自律的メモリ装置によるバストラフィックへの影響を受けずに前記リードオンリコンテンツに対して並列オペレーションを遂行する、請求項２に記載の自律的メモリサブシステム。
【請求項４】
前記コントローラは、前記第１及び第２の自律的メモリ装置間のバストラフィックを減少するために前記第２の自律的メモリ装置のコンテンツを前記第１の自律的メモリ装置へ再配置することを選択する、請求項１に記載の自律的メモリサブシステム。
【請求項５】
前記第１、第２及び第３の自律的メモリ装置は、外部メモリを結合するためのスクラッチパッドメモリポートを更に含む、請求項１に記載の自律的メモリサブシステム。
【請求項６】
前記外部メモリは、ＮＡＮＤメモリ、又はダイナミックランダムアクセスメモリ（ＤＲＡＭ）である、請求項５に記載の自律的メモリサブシステム。
【請求項７】
データベースの部分を隣接メモリ装置へ分散させるインストラクションを開始するためのメモリ装置アレイのメモリ装置と、
自律的メモリサブシステム内のバストラフィックを監視し、そして隣接メモリ装置への前記メモリ装置のバストラフィックをダイナミックに減少するように前記メモリ装置アレイにメモリコンテンツを再割り当てする状態監視ブロックと、
を備えた自律的メモリサブシステム。
【請求項８】
前記メモリ装置は、更に、外部ＮＡＮＤメモリ及びダイナミックランダムアクセスメモリ（ＤＲＡＭ）を結合するためのスクラッチパッドメモリポートを備えた、請求項７に記載の自律的メモリサブシステム。
【請求項９】
前記メモリ装置は、少なくとも４つの隣接メモリ装置と通信するための４つの出力ポートを有する、請求項７に記載の自律的メモリサブシステム。
【請求項１０】
前記メモリ装置は、前記少なくとも４つの隣接メモリ装置とワイヤレス通信する、請求項９に記載の自律的メモリサブシステム。
【請求項１１】
前記状態監視ブロックは、非隣接メモリ装置から隣接メモリ装置を決定した後に前記メモリ装置にメモリコンテンツを再割り当てする、請求項７に記載の自律的メモリサブシステム。
【請求項１２】
前記メモリサブシステム内に配布されたリードオンリコンテンツは、非隣接メモリ装置によるバストラフィックへの影響を受けずに前記リードオンリコンテンツに対して並列オペレーションを遂行するために前記メモリ装置及び隣接メモリ装置に複写される、請求項１１に記載の自律的メモリサブシステム。
【請求項１３】
メモリ装置のアレイを有する自律的メモリサブシステムにおいて、前記アレイのメモリ装置は、前記アレイのメモリ装置へデータベースの部分を分散するインストラクションを開始し、そして制約のあるリソースをダイナミックに管理するためにメモリコンテンツの再割り当てを指令する、自律的メモリサブシステム。
【請求項１４】
前記制約のあるリソースは、バス帯域巾を含む、請求項１３に記載の自律的メモリサブシステム。
【請求項１５】
前記制約のあるリソースを最適化するために前記アレイの非隣接装置のメモリコンテンツが隣接装置へ再配布される、請求項１３に記載の自律的メモリサブシステム。
【請求項１６】
前記メモリ装置は、外部メモリを結合するためのスクラッチパッドメモリポートを含む請求項１３に記載の自律的メモリサブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律的サブシステムアーキテクチャーに係る。
【背景技術】
【０００２】
並列分散型システムの問題は、メモリリソースをどのように指定し管理するかである。メモリは、典型的に、共有バスを使用してホストプロセッサに取り付けられ、コヒレンシー及びコンシステンシーを可能にするために適当なプロトコルが適用される。この戦略において、プロセッサコアのメモリコントローラハードウェアは、共通バスのトラフィックを観察し、次いで、他のプロセッサによって遂行されるオペレーションを反映するようにキャッシュラインを更新するか又は無効化する。多ノードマルチプロセッサシステムは、プロセッサノードが、それらが作用するページ又はキャッシュラインに関連したメモリトラフィックを見ることができるように、「ディレクトリベース」のコヒレンス技術も使用する。これらの戦略は、次第に性能の妨げになりつつあり、分散型システムの改良が要望されている。
【０００３】
本発明の要旨は、明細書の結論部分に指摘され且つ請求の範囲に明確に述べられている。しかしながら、本発明は、その編成及び動作方法、並びにその目的、特徴及び効果に関して、添付図面を参照した以下の詳細な説明を読むことにより最も良く理解されよう。
【図面の簡単な説明】
【０００４】
【図１】本発明によりプロセッサが分散型サブシステム内に構成された複数の自律的メモリ装置と通信できるようにするアーキテクチャーを示す。
【図２】分散型サブシステムを可能にする自律的メモリ装置を示す簡単なブロック図である。
【図３】本発明による自律的メモリ装置の一実施形態を示す。
【発明を実施するための形態】
【０００５】
図示簡略化及び明瞭化のために、図中に示す要素は、必ずしも、正しいスケールで描かれていないことが明らかである。例えば、幾つかの要素の寸法は、明瞭化のために、他の要素に対して誇張されている。更に、適当と考えられるところでは、対応要素又は同様の要素を指示するために図面にわたり参照番号が繰り返される。
【０００６】
以下の詳細な説明において、本発明を完全に理解するために多数の特定の細部について述べる。しかしながら、当業者であれば、本発明は、これらの特定の細部なしに実施できることが理解されよう。他の点について、本発明を不明瞭にしないために、良く知られた方法、手順、コンポーネント及び回路は、詳細に説明しない。
【０００７】
「結合(coupled)」及び「接続(connected)」並びにそれから派生する語が使用される。これらの語は、互いに同意語として意図されていないことを理解されたい。むしろ、特定の実施形態では、「接続」は、２つ以上の要素が互いに直接物理的又は電気的に接触することを指示するのに使用される。「結合」は、２つ以上の要素が直接又は間接的に（それらの間に他の要素を介在して）物理的又は電気的に互いに接触すること、及び／又は２つ以上の要素が互いに協働し又は相互作用すること（例えば、原因と結果の関係のように）を指示するのに使用される。
【０００８】
図１に示す実施形態は、本発明により分散型サブシステム１０において通信するように１つのプロセッサ及び複数の自律的メモリ装置１０２を構成することのできるアーキテクチャーを示す。多数の装置間の通信を容易にするために、分散型サブシステム１０内の各自律的メモリ装置１０２には、それ自身のアドレスが指定される。これは、各自律的メモリ装置１０２に、サブシステム内の他の装置へメッセージをルーティングする能力を与える。自律的メモリ装置が３ｘ３アレイで示されているが、分散型サブシステム１０は、非常に多数の装置をネットワークに有するように構成されてもよい。
【０００９】
一実施形態において、アドレッシングスキームは絶対的なもので、各自律的メモリ装置１０２には、自律的メモリ装置へのルートにより決定された独特のスタティックアドレスが指定され、例えば、メモリ装置は、装置の特定ポート上にあってルート装置のポートに電気的に接続されるとして指定される。別の実施形態では、自律的メモリ装置のアドレスは、システム内で動作する間にダイナミックに決定することができる。アドレスをダイナミックに決定できるようにすることにより、システムオペレーション中に最適化する目的でアドレッシングスキームを変更することができる。
【００１０】
システムのスタート時に、ネットワークは、この装置間通信を実行できるようにルーティング情報を転送することにより初期化を行う。或いは又、システムは、自律的メモリ装置１０２として自己編成し、スキャン技術を使用してルーティングテーブルを構築して、隣接部を決定する。ルーティングテーブルは、分散型サブシステム１０内の装置を追跡し、例えば、別の装置へ話をするある装置の位置に基づく待ち時間コストのようなパラメータを記憶する。
【００１１】
分散型自律的メモリ装置１０２を接続するバスを通るメッセージは、モデリングされてもよいし、標準的ネットワークでもよい。１つのこのような標準的ネットワークは、ある装置から別の装置へのデータの正しい配信を検証する役割を果たす「トランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）」である。ＴＣＰ／ＩＰは、エラー又は損失データを検出して、データが正しいもので完全に受信されたと検証されるまで再送信をトリガーするようにサポートすることもできる。分散型サブシステム１０が使用する別の形式のネットワークは、短待ち時間通信、広帯域巾クラスタリング及びストレージトラフィックを許すファブリックを生成するＩｎｆｉｎｉＢａｎｄアーキテクチャーである。又、自律的メモリ装置１０２間の通信は、フレームベースネットワークにおいてイーサネットを使用する。
【００１２】
図示されたように、自律的メモリ装置１０２には異なるメモリ形式を取り付けることができる。一例として、この自律的メモリの各ノードは、ＮＡＮＤ、ＤＲＡＭ、又は「オフライン」記憶装置又はスクラッチパッドスペースに対して取り付けられる他の揮発性／不揮発性組合せを有する。又、ワイヤレス信号を転送するためにアンテナに結合されたメモリ装置１０２を示すワイヤレスアーキテクチャー実施形態も図示されている。アンテナは、近フィールドループアンテナ、容量性プレート又はダイポールアンテナであり、メモリ装置に関連した無線部が、オーバージエア(over-the-air)通信信号を使用して通信することによりメモリアレイをプログラムしてアルゴリズム及びデータベースをダウンロードできるようにする。分散型サブシステム１０内の装置間の通信を容易にするために構成ルーティングテーブルがメモリ装置を追跡する。
【００１３】
制御ブロックと、メモリサブシステムの自律的メモリ装置１０２として示されたダイとの間のワイヤレス接続が図示されている。この実施形態では、制御ブロックは、種々のブロックへのトラフィックの混雑を監視し、それに反応する。バストラフィックは、システム性能を制約するリソースの１つの観点である。性能の制約を軽減するために、モニタブロックは、データベースの部分を異なるダイへ移動して、サーチを並列化し又は計算リソースをフルに利用することができる。従って、モニタブロックは、制約のあるリソースを監視してシステム性能を最適化し、バストラフィックは、メモリ装置１０２間でデータをリロケーションすることで最適化できるリソースの一例に過ぎない。
【００１４】
この実施形態では、ダイ対ダイのワイヤレス通信は、同じスタック内の他のダイのみと通信するように物理的に配置されたアンテナを使用することができる。ダイ間ワイヤレス通信を達成するために、各自律的メモリ装置１０２は、信号を受信するためのアンテナを入力ポートに有すると共に、信号を送信するためのアンテナを出力ポートに有する。ワイヤレス通信は、ボンディングワイヤの必要性を最小にする。
【００１５】
図２は、メモリ内に記憶されるコンテンツの計算及び操作を行うための計算ノード及び加速ハードウェアを収容する自律的メモリ装置１０２の簡単なブロック図である。分散型サブシステム１０は、複数の自律的メモリ装置１０２を備え、各装置は、ダイ間通信ポート２０４、２０６、２０８及び２１０を使用して隣接ダイとの通信を取り扱う。これらのダイ間通信路は、分散型サブシステム１０におけるダイの大きなプール、おそらく、数千のダイの間で自律的通信を行えるようにする。
【００１６】
自律的メモリ装置１０２は、オペレーティングシステム及び処理能力の両方を備え、そのコンテンツの意味が分かる。換言すれば、装置１０２は、あるデータベーステーブルがどこに配置されているか、これらテーブル各々のフィールド定義、及びそれらがどのように相互リンクされるかの詳細が分かる。この情報を使用して、自律的メモリ装置１０２は、記憶されたデータベース内のデータを独立して処理して、結果を得、それをホストプロセッサへ返送する。
【００１７】
図３は、本発明による自律的メモリ装置１０２の一実施形態の機能的ブロック図である。自律的メモリ装置は、スマートメモリ処理エンジン３０２を備え、これは、スマートメモリ内の計算及びメモリ集中オペレーションを伴う使用モデルを可能にする制御機能及び処理アクセラレータ３０４を備えている。汎用の制御エンジン３０６は、他の機能の中でも他のメモリ装置を制御するためにダウンロードされたエンドユーザファームウェア又はソフトウェアを受け取るマイクロコントローラである。制御エンジン３０６は、自律的メモリのプール内のインストラクションを開始し、そしてそのプールから情報を抽出して、ホストインターフェイス３２０を経てホストコントローラへ送る。プロトコル及びアルゴリズムは、装置間の裁定を行い、装置間に送るべき情報をルーティングし、そしてプールのレベルを最適化するためのアルゴリズムを実行させる。
【００１８】
ハードウェアアクセラレータ３０８は、スマートメモリ処理エンジン３０４に、メモリ３１８内に記憶されたコンテンツの計算及び操作のための加速ハードウェアを与える。ハードウェアアクセラレータ３０８は、マトリクスオペレーション、マスクビットとの単純な比較、メモリコピー及び移動、等を取り扱うことができる。コード記憶ブロック３１０は、ホストプロセッサからホストインターフェイス３２０を経てダウンロードされたコードを、汎用制御エンジン３０６により使用するために記憶する。アプリケーションプログラミングインターフェイス（ＡＰＩ）マネージメントブロック３１２は、アプリケーションの構築をサポートするために、ライブラリー又はオペレーティングシステムサービスにより与えられる記憶されたルーチン及びプロトコルを実行する。ソフトウェアＡＰＩは、柔軟性があり、基礎的なハードウェアの知識を利用して最適な性能を達成する。構成ルーティングテーブル３１４は、分散型サブシステム１０内の他のメモリ装置を追跡する。分散型サブシステム１０の構成は、ダイナミックに決定され、そしてルーチンテーブルは、自律的メモリ装置１０２がシステム内で動作する間に更新される。
【００１９】
データ構造体をフラットなメモリスペースに記憶するのが一般的である。考えられるデータ構造は無数にあるが、幾つかの一般的な構造、例えば、マトリクス及びリンクされたリストを使用して、メモリ機能の増強のために自律的メモリをどのように使用するか示すことができる。マトリクスは、例えば、とりわけ、構造的エンジニアリング、計算的流体力学、モデル低次元化、半導体デバイス、熱力学、材料、音響、コンピュータグラフィック／ビジョン、ロボット／運動のような基礎的な２Ｄ又は３Ｄジオメトリを伴う種々様々な問題から生じるものを含む広範囲な領域をカバーする。又、マトリクスは、最適化、回路シミュレーション、経済的及び金融的モデリング、理論的及び量子化学、化学的プロセスシミュレーション、数学及び統計学、電力ネットワーク、並びに他のネットワーク及びグラフのようなジオメトリを典型的にもたないアプリケーションもカバーする。
【００２０】
マトリクスに記憶された情報を処理する際に、マトリクスの全部又は一部分がメモリ３１８から読み出され、そしてマトリクスのコンテンツに対してハードウェアアクセラレータ３０８により計算が遂行される。従来のシステムでは、マトリクスの大部分がメインメモリから検索され、そしてプロセッサキャッシュに記憶するためにページングされる。これらのマトリクスは、繰り返しの計算を含むと共に、マトリクス全体を含むこともあり、従って、従来のシステムは、処理のために要求される全コンテンツをプロセッサキャッシュへ記憶することができない。
【００２１】
しかしながら、自律的メモリ装置１０２は、マトリクスアルゴリズムを実行する際の効率を著しく改善する。自律的メモリ装置１０２は、フラップメモリマップを使用してマトリクスを記憶し、そしてメモリ３１８及び埋め込まれたハードウェアアクセラレータ３０８との密接結合を利用して、これらマトリクスにおけるオペレーションを著しく加速させる。マトリクス計算は、高性能のマトリクス演算を容易にするように分散型サブシステム１０内のマトリクスを賢明に編成することにより更に増強することができる。例えば、オ演算において一般的に共有されるオペランドは、同じ自律的メモリ装置１０２内に好都合に存在するように計画され、これら演算を完了するのに、他の装置との通信を必要としないようにすることができる。
【００２２】
順序付けされた情報セットの記憶及び操作を可能にするために、リンクされたリストをフラットメモリマップに生成するのが一般的である。リンクされたリストを横断する際には、各レコードを検査して、パターンにマッチするかどうか決定するか、或いは単に後続レコードへのポインタを得ることが一般的に要求される。分散型サブシステム１０を使用して、リンクされたリストを最小のホストバストラフィックでパーズすることができる。次いで、各自律的メモリ装置１０２は、各レコードを検査して、特定のパターンを探し、そして繰り返しの前に次のレコードへのポインタを見出すことができる。結果が見つかると、自律的メモリ装置１０２は、ホストインターフェイス３２０を使用して、関連結果をホストへ返送する。
【００２３】
データベースは、一般的に、相互リンクされたテーブルのグループで編成された大きなデータセットで構成される。インデックスファイルが生成されて維持され、そしてこれらテーブル内の情報のサーチを加速するのに利用される。従来のシステムでは、あるデータベースは、そのデータベースで動作するプロセッサに使用できる手近なメモリより大きく、そしてメモリアクセスの著しい部分は、システム性能をゲートする長待ち時間のＩＯコールを有する。
【００２４】
従来のシステムとは対照的に、分散型サブシステム１０は、互いに且つホストプロセッサと通信するように構成された非常に多数の自律的メモリ装置１０２を有する。分散型サブシステム１０に見られるメモリの密度は、主としてメモリのコストにより制限される。更に、制御エンジン３０６がメモリ３１８と同じダイに埋め込まれた状態で、ほとんどのオペレーションが、メモリダイに対して内部のバストラフィックと、メモリダイに対して外部の限定トラフィックとを含む。汎用の制御エンジン３０６の厳密な結合及びメモリ３１８の高い密度が与えられると、外部メモリにアクセスするプロセッサにより生じる帯域巾ボトルネックが排除される。ハードウェアアクセラレータ３０８における簡単なハードウェア加速技術を使用して分散型サブシステム１０の性能を著しく高めることができる。
【００２５】
メモリコンテンツを操作する特定の目的で設計された分散型サブシステム１０では、有用なハードウェアプリミティブの限定セットを実施することができる。分散型サブシステム１０においてデータベースを実施するために、データベースは、その全部又は一部が、データベースをどのように編成するかの情報と共に転送される。データベースの情報を処理するためのアルゴリズムもダウンロードされる。初期化プロセスが完了すると、ホストは、分散型サブシステム１０へ非常に高レベルのコマンドを発生する。高レベル機能を遂行するために特定のアドレスを読み取り及び書き込みするのではなく、ホストプロセッサは、「テーブルＡをパーズして、パターンにマッチする全てのレコードを見出し、これらレコードの各々に対してテーブルＢへのポインタを抽出し、フィールドａ、ｂ、ｃをテーブルＡから、又、ｄ、ｅをテーブルＢから返送する」のようなコマンドを発行することができる。全てのオペレーションは、分散型サブシステム１０内で実行され、そして結果の短いリストがホストプロセッサへ返送される。
【００２６】
自律的メモリは、大きなデータベースにおいて直線的サーチが遂行される場合に重大な効果を有する。例えば、各々６４Ｂの２Ｍページの８個のバンクを含む１ＧＢメモリ密度を有する１つの自律的メモリ装置１０２に対するパイプラインを使用して、ページ当たり約１０ｎ秒のビートレートでページをターゲットパターンと比較して、１ＧＢダイについて約２０ｍＳの考えられるサーチ時間を得ることができる。これは、それ自体、印象的な結果であるが、値は、その解がスケーラブルであるようなものであり、従って、１ＧＢのメモリ密度を各々有する２つの自律的メモリ装置１０２のサーチ時間も、ペタバイトのメモリ又は任意のサイズのメモリプールに対するサーチ時間と同様に、約２０ｍＳとなる。分散型サブシステム１０に自律的メモリ装置１０２を使用して直線的サーチを遂行することは、メモリ装置１０２のアレイのコスト、並びに熱管理及び電力制約によって限定される。
【００２７】
システムアドミニストレーション機能も、分散型サブシステム１０における自律的メモリ装置１０２の効果を取り入れることができる。例えば、データセンターは、分散型サブシステム１０においてウィルススキャンを遂行し、ウィルスが検出されたときに、データセンターは、２０ｍＳ間「ダウン」となり、その間に、サーチ及び破壊アルゴリズムが各バイトについて実行されて、ターゲットウィルスの発生を分離しディスエイブルする。
【００２８】
分散型サブシステム１０における自律的メモリ装置１０２は、「散乱／収集」オペレーションを実行するときに従来システムに勝る効果を発揮する。「散乱／収集」オペレーションは、異なるアドレスにおける一連の書き込みを与え、それらは、メモリ又はＩＯサブシステムにより実行される単一の複合インストラクションへコンパイルされる。これらのオペレーションは、パーズされて、分散型サブシステム１０における複数のダイへ送出され、その点において、それらは自律的に実行される。それにより得られる状態が累積され、そして全オペレーションの完了時にホストへ報告される。
【００２９】
分散型サブシステム１０の自律的メモリ装置１０２は、画像処理のようなあるクラスのアプリケーションについては理想的である。これらのクラスは、画像が多数の小さなセグメントに分割されて、相対的に独立して処理されるような並列計算に良く適している。これら小さなセグメントについての計算が完了した後に、これらセグメントのグループについて更なる計算が遂行されて、画像全体を取り巻くレベルで画像が処理されるまで大きなセグメントを形成する。
【００３０】
自律的メモリ装置１０２を使用して、これら低レベル計算の幾つか又は全部を、自律的メモリのバンクのレベルで並列に行うことができる。バンクの境界に交差する計算は、１つの装置内で行われ、そしてダイ間通信を使用することにより、高レベルの計算をサブシステムレベルで行うことができる。他の並列計算タスクは、同様のモデルに従い、結果の精度を洗練化するか又は時間と共にシミュレーションを歩進する繰り返しを含む。
【００３１】
分散型サブシステム１０は、メモリ記憶装置によりイネーブルされる予想される読み取り及び書き込みオペレーションを越える繰り返しを与える。自律的メモリ装置１０２は、ホストコンピュータ及びネットワークの両方と通信を行える１つ以上のインターフェイスを使用して既存の計算インフラストラクチャーと相互作用する。ホストコンピュータの観点から、相互作用は、ソフトウェアＡＰＩがその上に構築される柔軟性あるインターフェイスが設けられる自律的メモリ装置１０２へのメモリ又はブロックインターフェイスである。これらのＡＰＩは、ホストシステムへ機能を露出するか、又は他の自律的メモリ装置の中で要求時に通過路を与えるようにスケーリングされる。
【００３２】
分散型サブシステム１０内の他の装置への自律的メモリ装置１０２のインターフェイスは、コマンド及びパラメータリストを含むメッセージの通過路を与える。パラメータは、実際のデータ、アレイ内のデータを指すアドレス情報、及びアレイに配置されたオブジェクトを指すオブジェクト識別子を含む。又、パラメータは、所与のデータセットに対して動作するのに必要なコードに対するアドレス又はオブジェクト識別（オブジェクトＩＤ）を含むか又はそれを指す。自律的メモリ装置１０２へ通されるコードは、ＯｐｅｎＣＬ規格、おそらくは、ＭａｐＲｅｄｕｃｅにより確立されたパラダイムに適合する。既存のクラスタリング及び「クラウド−コンピューティング(cloud-computing)」インフラストラクチャー断片の多くは、分散型サブシステム１０内で再使用可能である。
【００３３】
分散型サブシステム１０のメモリコントローラ又は自律的メモリ装置１０２は、状態の監視を遂行して、メモリ装置間のデータ転送によるバスアクティビティを決定することができる。監視結果に基づいて、リソースの割り当てをダイナミックに実行して、システム性能を改善することができる。例えば、分散型サブシステム１０内のトラフィックを監視した後に、２つのメモリ装置間に広帯域巾のトラフィックが一般的に発生することを決定できる。これらのメモリ装置が隣接装置でない場合には、サブシステムは、これらのメモリ装置の１つを選択し、他のメモリ装置のコンテンツを再配置して、単一の自律的メモリ装置１０２が、アルゴリズムを完了する処理を行えるようにする。或いは又、比較的遠い装置のメモリコンテンツが近傍のノードへ再配布されて、バストラフィックを減少することもできる。
【００３４】
更に、リードオンリコンテンツに対する分散型サブシステム１０のサーチは、ネットワークのサブセットを常時アクティブにさせることができる。この場合、サブシステムは、ネットワークのこの部分にコンテンツを複写し、複数の自律的メモリ装置１０２が分散型サブシステム１０内でリードオンリコンテンツに対して並列オペレーションを遂行できるようにする。
【００３５】
以上のことから、本発明の実施形態は、自律的データ記憶によりメモリ記憶効率を高められることが明らかである。分散型メモリサブシステムにおいて自律的メモリ装置を接続することにより、ホストは、自律的メモリ装置へデータベースをダウンロードすることができる。自律的メモリ装置は、自律的メモリのプール内でダイ間通信を取り扱うためのインターフェイスを使用してデータベースの部分を隣接ダイへ分散させるようにインストラクションを開始することができる。次いで、自律的メモリ装置は、自律的メモリのプールから情報を抽出することができ、この情報は、ホストインターフェイスを経てホストコントローラへ送られる。
【００３６】
本発明の幾つかの特徴を図示して説明したが、当業者であれば、多数の変更、置き換え、変化、及び等効物が明らかであろう。それ故、本発明の真の範囲内に包含される全てのこのような変更及び変化は特許請求の範囲に網羅されるものと理解されたい。
【符号の説明】
【００３７】
１０：分散型サブシステム
１０２：自律的メモリ装置
２０４、２０６、２０８、２１０：ダイ間通信ポート
３０２：スマートメモリ処理エンジン
３０４：制御機能及び処理アクセラレータ
３０６：制御エンジン
３０８：ハードウェアアクセラレータ
３１０：コード記憶ブロック
３１４：構成ルーティングテーブル
３１８：メモリ
３２０：ホストインターフェイス
【図１】
2011060278.tif 000003
【図２】
2011060278.tif 000004
【図３】
2011060278.tif 000005
【外国語明細書】
2011060278.tif 000006
2011060278.tif 000007
2011060278.tif 000008
2011060278.tif 000009
2011060278.tif 000010
2011060278.tif 000011
2011060278.tif 000012
2011060278.tif 000013
2011060278.tif 000014
2011060278.tif 000015
2011060278.tif 000016
2011060278.tif 000017
2011060278.tif 000018
2011060278.tif 000019
2011060278.tif 000020
2011060278.tif 000021
2011060278.tif 000022
2011060278.tif 000023
2011060278.tif 000024
2011060278.tif 000025
2011060278.tif 000026
2011060278.tif 000027
2011060278.tif 000028