(57)【特許請求の範囲】
【請求項１】
情報を記憶するための複数のノード１２０、１３０、１４０であり、各前記ノードはアップストリーム通信バッファを含む、ノード１２０、１３０、１４０と、
前記アップストリーム通信バッファの制約条件に基づいて前記ノードへのトラフィックの流れを制御するマスタコントローラ１１０であり、バッファリングされたコマンドを当該マスタコントローラのダウンストリームインターフェースを介して当該マスタコントローラから複数の前記ノードへのダウンストリーム通信路に送出することのスケジューリングが、前記ダウンストリームインターフェースを介して当該マスタコントローラから複数の前記ノードへ送出された情報を解析することにより、及び複数の前記ノードからアップストリーム通信路を通じてアップストリームインターフェースを介して当該マスタコントローラにより受け取られた情報を解析することにより、複数の前記ノードのアップストリーム通信バッファの所定の制約条件に基づいて複数の前記ノードのバッファを超えないよう構成されるようになっており、前記バッファリングされたコマンドは当該マスタコントローラにて一時的に記憶される、マスタコントローラ１１０と
を備える記憶システム１００であって、
前記マスタコントローラと前記ノードの間の通信が、決められた最大待ち時間を有し、前記ノードが、チェーンメモリ構成により前記マスタコントローラに結合される、記憶システム。
【請求項２】
前記マスタコントローラが前記ノードまでコマンドを転送し、前記ノードが前記コマンドの対象である場合に前記ノードが前記コマンドを実行し、前記ノードが前記コマンドの対象ではない場合に前記ノードが前記コマンドを別のノードに渡す、請求項１に記載の記憶システム。
【請求項３】
前記マスタコントローラが、固定待ち時間を有するマルチドロップバス階層のシミュレーションを容易にする方式で前記コマンドをスケジュールする、請求項１に記載の記憶システム。
【請求項４】
前記マスタコントローラが前記ノードに対してコマンドを、前記個々のノードのタイミング特性に応じて、前記システム内の前記ノードの位置及び前記システム内部の他のノードには関係なく発行する、請求項１に記載の記憶システム。
【請求項５】
前記マスタコントローラが、前記チェーン内のリンクの使用可能な全読出し帯域幅を超えないように、また前記ノードのアップストリームインターフェースバッファを超えないように読出しコマンドをスケジュールする、請求項１に記載の記憶システム。
【請求項６】
前記ノードが、
前記マスタコントローラから遠ざかる方向にデータを搬送するバスと結合するためのダウンストリームインターフェース２１０と、
データの記憶のためのコア記憶部分２２０と、
前記マスタコントローラに向かう方向にデータを搬送するバスと結合するためのアップストリームインターフェース２３０と
をさらに備える、請求項１に記載の記憶システム。
【請求項７】
前記ノードのアップストリーム終端が、
アップストリームの通信を待ちながら前記ノード内部からの情報をバッファリングする内部読出しバッファ２３２と、
アップストリームの通信を待ちながら別のノードから受け取られた情報をバッファリングする外部読出しバッファ２３３と、
前記内部読出しバッファ内及び前記外部読出しバッファ内でバッファリングされた情報のアップストリーム通信のスケジューリングを制御する内部コントローラ２３１と
をさらに備える、請求項６に記載の記憶システム。
【請求項８】
前記ノードが、前記ノードからの通信のスケジューリングを局所的に管理し、前記スケジューリングが、前記ノードのアップストリームインターフェースから転送するための外部要求応答又は内部要求応答の選択を含む、請求項１に記載の記憶システム。
【請求項９】
前記マスタコントローラが、直接メモリアクセス（ＤＭＡ）エンジンとして働くことができる、請求項１に記載の記憶システム。
【請求項１０】
バッファリングされたコマンドをマスタコントローラのダウンストリームインターフェースを介して前記マスタコントローラから複数のノードへのダウンストリーム通信路に送出することのスケジューリングが、前記ダウンストリームインターフェースを介して前記マスタコントローラから複数の前記ノードへ送出された情報を解析することにより、及び複数の前記ノードからアップストリーム通信路を通じてアップストリームインターフェースを介して前記マスタコントローラにより受け取られた情報を解析することにより、複数の前記ノードのアップストリーム通信バッファの所定の制約条件に基づいてコマンドを受ける複数の前記ノードのバッファを超えないよう構成されるように、待ち時間制約条件に応じてコマンドを発行するステップであって、前記バッファリングされたコマンドは前記マスタコントローラにて一時的に記憶され、前記マスタコントローラと前記ノードの間の通信が、決められた最大待ち時間を有し、前記ノードを含む複数のノードが、チェーンメモリ構成により前記マスタコントローラに結合される、ステップと、
前記コマンドによりノードでノード受取りインターフェース処理を実行するステップと、
前記コマンドが前記ノードを対象とする場合に、前記コマンドに対応するノード応答処理を実行するステップと
を含む、記憶方法。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、参照により本明細書に組み込む以下の特許仮出願の利益及び優先権を主張する。
米国特許仮出願第６１／００４，４３４号、２００７年１１月２６日出願、名称「Ａ  ＳＴＯＲＡＧＥ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ」（整理番号ＳＰＳＮ−ＡＦ０２８７３．ＰＲＯ）、
米国特許仮出願第６１／００４，３６２号、２００７年１１月２６日出願、名称「Ａ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＡＣＣＥＳＳＩＮＧ  ＭＥＭＯＲＹ」（整理番号ＳＰＳＮ−ＡＦ０２８７４．Ｐｒｏ，）、
米国特許仮出願第６１／００４，４１２号、２００７年１１月２６日出願、名称「Ａ  ＭＥＴＨＯＤ  ＦＯＲ  ＳＥＴＴＩＮＧ  ＰＡＲＡＭＥＴＥＲＳ  ＡＮＤ  ＤＥＴＥＲＭＩＮＩＮＧ  ＬＡＴＥＮＣＹ  ＩＮ  Ａ  ＣＨＡＩＮＥＤ  ＤＥＶＩＣＥ  ＳＹＳＴＥＭ」（整理番号ＳＰＳＮ−ＡＦ０２８７５．ＰＲＯ）、及び
米国特許仮出願第６１／００４，３６１号、２００７年１１月２６日出願、名称「ＳＹＳＴＥＭＳ  ＡＮＤ  ＭＥＴＨＯＤＳ  ＦＯＲ  ＲＥＡＤ  ＤＡＴＡ  ＢＵＦＦＥＲＩＮＧ」（整理番号ＳＰＳＮ−ＡＦ０２８７６．ＰＲＯ）。
【０００２】
本出願はまた、参照により本明細書に組み込む以下の同時係属出願にも関連する。
米国特許出願第１２／２７６，０１０号、名称「Ａ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＡＣＣＥＳＳＩＮＧ  ＭＥＭＯＲＹ」、２００８年１１月２１日出願（整理番号ＳＰＳＮ−ＡＦ０２８７４）、
米国特許出願第１２／２７６，０６１号、名称「Ａ  ＭＥＴＨＯＤ  ＦＯＲ  ＳＥＴＴＩＮＧ  ＰＡＲＡＭＥＴＥＲＳ  ＡＮＤ  ＤＥＴＥＲＭＩＮＩＮＧ  ＬＡＴＥＮＣＹ  ＩＮ  Ａ  ＣＨＡＩＮＥＤ  ＤＥＶＩＣＥ  ＳＹＳＴＥＭ」、２００８年１１月２１日出願（整理番号ＳＰＳＮ−ＡＦ０２８７５）、及び
米国特許出願第１２／２７６，１１６号、名称「ＳＹＳＴＥＭＳ  ＡＮＤ  ＭＥＴＨＯＤＳ  ＦＯＲ  ＲＥＡＤ  ＤＡＴＡ  ＢＵＦＦＥＲＩＮＧ」、２００８年１１月２１日出願（整理番号ＳＰＳＮ−ＡＦ０２８７６）。
【技術分野】
【０００３】
本発明は、一般にはネットワーク接続デバイスのシステム及びその制御方法に関し、より具体的には、マスタコントローラ及びノードを有するネットワーク接続デバイスのシステム、並びにその制御方法に関する。
【背景技術】
【０００４】
電子システム及び回路は、現代社会の進歩に大きな貢献を果たしてきており、多くの応用分野で利用されて有益な結果が得られてきた。デジタルコンピュータ、計算機、オーディオデバイス、映像機器及び電話システムなどの電子技術は、ビジネス、科学、教育及び娯楽のほとんどの領域において、データ、アイデア及び傾向を分析し伝達する際の生産性の向上及びコストの低減を促進してきた。これらの結果が得られるように設計された電子システムは、メモリを含むことが多い。しかし、高速で能率的にメモリ資源にアクセスするには、複雑なプロトコルが伴いうる。
【０００５】
多くの電子デバイスはプロセッサを含み、このプロセッサは、有用なタスクの実行の際にデータを操作するための一連の命令を含むソフトウェアを実行することによって動作する。これらの命令及び関連するデータは、一般にメモリに記憶される。メモリは通常、情報を記憶する場所、及び一意の標識すなわちアドレスからなる。あるデバイスが提供する有用性は、命令が実行される速度及び能率によって決まることが多い。メモリにアクセスし、情報を迅速に都合よく転送する能力は通常、情報処理待ち時間に大きな影響を及ぼす。メモリの構成は通常、メモリ位置にアクセスする速度に影響を及ぼす。
【０００６】
メモリ制御における従来の試みは、非常に複雑で込み入っていることが多い。ハイパートランスポート（ＨｙｐｅｒＴｒａｎｓｐｏｒｔ）（商標）及び類似のプロトコルは一般に、マルチドロップバスモデルに従って動作し、システム内の各デバイス間のネットワークトラフィックを管理するのにトークン交換プロトコルを使用する。これらのプロトコルにより、通信トラフィック（データ及び／又は要求の形をとる）は、利用可能な資源のセグメントを参照するトークンの交換及び課金処理によってスケジュールされる。このようなプロトコルを利用することは一般に、デバイスに負荷をかけすぎてその後にデータが失われることを防止するように個々のデバイスが機能するのに実際に必要とするよりも多くの使用可能なバッファを要求することによって、システム内に必要なバッファの数に関して非能率及びオーバヘッドを生じさせる。このようなプロトコルではまた、システム全体にわたって待ち時間及び使用可能な帯域幅に関する非能率及びオーバヘッドもあり、これらは、未知のトラフィックパターン及び限定された資源により、スケジューリングに関する問題になりうる。これらの非能率のために、システムは最適でなく決定的でないものになる。
【０００７】
さらに、各デバイス間で要求を伝達しデータを転送するために現代のネットワークトラフィック管理モデル（例えば、マルチドロップバス）を利用するコンピュータシステムのネットワークは一般に、可変待ち時間を除いて固定帯域幅を有し、通例の動作サイクル中のどの時間においても未知数の要求をネットワーク内に有する。そのようなものとして、未知数の要求をネットワークの能率を最大にするようにスケジュールできることは、スケジューリングコントローラでは困難になる。未定の待ち時間にはまた、非常に長い平均待ち時間をネットワーク内にもたらす効果もあり、それによって、トラフィックを効果的に管理するための複雑な制御機構又は大きなバッファサイズ、あるいは上記の組合せが必要になる。さらに、従来の手法で使用される標準的なマルチドロップバスモデルのローディング及び信号の完全性限界により、ネットワークの容量及び速度が限定される。追加のプロトコル制限により、バスを利用できるデバイスの種類が制限されることもある。
【０００８】
従来のチェーンシステム（「デイジーチェーン型システム」とも呼ばれる）では、マルチドロップの容量及び速度に関連する問題に対処しようとしている。しかし、従来のデイジーチェーンシステムでは、システムの全体的な複雑さ、電力消費及び管理のしやすさがマルチドロップバスモデルと比べて大幅に増大することが多い。加えて、従来のチェーンシステムでは通常、バッファサイズ低減が通常はシステムの帯域幅を劣化させ、より大きなバッファサイズが、対応する待ち時間の増大を引き起こすという、待ち時間と効果的な帯域幅との間の性能トレードオフの問題に遭遇する。
【０００９】
さらに、典型的なデイジーチェーンシステムにおいて能率的にスケジューリングすることについての問題もある。デイジーチェーン型システム内のコントローラは、システム全体の各デバイスに対するスケジューリング制約条件に関わらなければならず、累積的なスケジューリングの影響により、複雑な、又は扱いにくいスケジューリングパターンが生じる。典型的なデイジーチェーンモデルではまた、追加のタイムスタンププロトコルを各デバイス内で使用することも多い。タイムスタンプは、受け取られたコマンドをいつデバイスが、各デバイスに対して、内部で実行すべきかをデバイスに知らせる。しかし、各デバイスは、個々にタイムスタンプに関わることが必要であり、デバイスが発行するのを待っている要求に待ち行列を与えるので、タイムスタンプに必要なプロトコルがシステムの複雑さをさらに増す。しかし、待ち行列は、個々のノード内で局所的に管理されるので、システムコントローラによって制御可能ではなく、またシステムコントローラは、局所的な管理による遅延に的確に関わることができない。
【発明の概要】
【００１０】
能率的で好適な記憶システム及び方法を提示する。一実施形態では、記憶システムは、複数の記憶ノード、及びマスタコントローラを含む。記憶ノードは情報を記憶する。記憶ノードは、アップストリーム通信の際の衝突の解決を容易にするように局所的に記憶ノードで制御されるアップストリーム通信バッファを含む。マスタコントローラは、アップストリーム通信バッファの制約条件に基づいて、ノードへのトラフィックの流れを制御する。一実施形態では、マスタコントローラとノードの間の通信が、決められた最大待ち時間を有する。記憶ノードは、チェーンメモリ構成によりマスタコントローラに結合することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による例示的な記憶システムのブロック図である。
【図２】本発明の様々な実施形態による例示的なノードのブロック図である。
【図３】本発明の一実施形態による例示的な記憶方法のフローチャートである。
【図４】本発明の一実施形態による例示的なノード受取りインターフェース処理のフローチャートである。
【図５】本発明の一実施形態による例示的なアップストリーム通信衝突解決処理のフローチャートである。
【発明を実施するための形態】
【００１２】
次に、添付の図面に例が示されている本発明の好ましい諸実施形態を詳細に参照する。本発明を好ましい実施形態と共に説明するが、好ましい実施形態は、本発明をこれらの実施形態に限定するものではないことを理解されたい。これに反して、本発明は、添付の特許請求の範囲で定義される本発明の主旨及び範囲内に含まれうる代替形態、改変形態及び等価物を包含するものである。さらに、本発明についての以下の詳細な説明では、本発明の完全な理解が得られるように多数の具体的細部を示す。しかし、これらの具体的細部がなくても本発明を実施できることが当業者には明らかであろう。別の例では、本発明の諸態様を不必要に不明瞭にしないように、よく知られた方法、手順、構成要素及び回路は詳細に説明していない。
【００１３】
以下の詳細な説明の一部は、手順、論理ブロック、処理、及びコンピュータメモリ内部のデータビットに対する動作の他の記号表現について提示されるものである。これらの記述及び表現は、データ処理技術分野の当業者が、その研究内容を他の当業者に効果的に伝達するために一般的に使用する手段である。本明細書では、また一般に、手順、論理ブロック、処理などは、所望の結果につながる首尾一貫した一連のステップ又は命令と考えられる。各ステップは、物理量の物理的操作を含む。必ずではないが通常、これらの量は、コンピュータシステム内で記憶、転送、結合、比較でき、また別様に操作できる電気信号、磁気信号、光信号又は量子信号の形をとる。これらの信号をビット、値、要素、記号、特性、期間、数などと呼ぶことが、主には通常の用法であるという理由から、ときには都合がよいことが分かっている。
【００１４】
しかし、これらのすべて及び同様な用語は、適切な諸物理量と関係づけられており、これらの量に付けられた便利なラベルにすぎないことを念頭に置かれたい。以下の議論から明らかなように特に指定しない限り、本出願全体を通して、「処理する」、「計算する（ｃｏｍｐｕｔｉｎｇ）」、「計算する（ｃａｌｃｕｌａｔｉｎｇ）」、「決定する」、「表示する」などの用語を利用する議論は、物理量（例えば、電子量）として表されたデータを操作及び転送するコンピュータシステム、又は同様の処理デバイス（例えば、電子、光学又は量子計算デバイス）の動作及び処理を指すと理解されたい。これらの用語は、処理デバイスの動作及び処理を指し、この処理デバイスは、コンピュータシステムの構成要素（例えば、レジスタ、メモリ、他のこのような情報の記憶デバイス、転送デバイス又は表示デバイスなど）内部の物理量を操作し、あるいは別の構成要素内部で物理量として同様に表される別のデータに変換する。
【００１５】
図１は、本発明の一実施形態による記憶システム１００のシステムブロック図である。図１のシステム１００は、マスタコントローラ１１０、複数のノード１２０、１３０及び１４０、ダウンストリーム通信バス１５０、並びにアップストリーム通信バス１６０を含む。ダウンストリーム通信バス１５０、及びアップストリーム通信バス１６０は、マスタコントローラ１１０と複数のノード１２０、１３０及び１４０とを通信可能に結合する。一実施形態では、ノード１２０、１３０及び１４０は、チェーンメモリ構成によってマスタコントローラ１１０に結合される。
【００１６】
記憶システム１００の各構成要素は、情報を能率的に都合よく記憶するように協働して動作する。ノード１２０、１３０及び１４０は、情報を記憶する。マスタコントローラ１１０は、ノード１２０、１３０及び１４０内部のアップストリーム通信バッファの制約条件に基づいて、ノードへのトラフィックの流れを制御する。例示的な一実施では、マスタコントローラは、ノードの通信バッファ（例えば、読出しバッファ）の容量を超えないようにコマンドの発行をスケジュールする。マスタコントローラはまた、チェーン内のリンクの使用可能な全読出し帯域幅を超えないようにコマンドをスケジュールすることもできる。一実施形態では、マスタコントローラとノードの間の通信が、決められた最大待ち時間を有する。ダウンストリーム通信バス１５０は、情報をノード１２０、１３０、１４０の方へ、マスタコントローラ１１０から遠ざけるように伝達する。アップストリーム通信バス１６０は、情報をマスタコントローラ１１０の方へ、ノード１２０、１３０及び１４０から遠ざけるように伝達する。
【００１７】
一実施形態では、マスタコントローラ１１０はノードに対しコマンドを、個々のノードのタイミング特性に応じて、システム内のそのノードの位置、又はシステム内部の他のノードには関係なく発行する。例示的な一実施では、マスタコントローラ１１０は、チェーン構成階層上に固定待ち時間を有するマルチドロップバス階層のいくつかの態様のシミュレーションを容易にする方式で、ノード１２０、１３０及び１４０を一方的に制御し、コマンドをスケジュールする。チェーン化システムにおけるマルチドロップ態様のシミュレーションにより、チェーン化構成とマルチドロップ構成の両方の利点を実現することができる。
【００１８】
一実施形態では、マスタコントローラ１１０は、ダウンストリームインターフェース、論理構成要素、及びアップストリームインターフェースを含む。ダウンストリームインターフェースは、ダウンストリームバス１５０上の通信を待ちながらコマンドを一時的に記憶又はバッファリングするバッファを含む。論理構成要素は、ダウンストリーム通信路上のコマンドのスケジューリングを指示する。アップストリームインターフェースは、マスタコントローラに伝達される応答及び他の情報を受け取るためにある。一実施形態では、論理構成要素は、チェーン化システム内のノードのバッファを超えないことを確実にするために、ダウンストリームインターフェースを介して送出された情報、及びアップストリームインターフェースを介して受け取られた情報を解析する。
【００１９】
マスタコントローラには様々な実施がありうることを理解されたい。一実施形態では、マスタコントローラは、中央処理構成要素（ＣＰＵ）内で実施される。例示的な一実施では、マスタコントローラは、直接メモリアクセス（ＤＭＡ）エンジンとして働くことができる。
【００２０】
一実施形態では、ノード１２０、１３０及び１４０は、ノードからの通信のスケジューリングを局所的に管理する。例示的な一実施では、ノードは、そのノード向けではないコマンドをダウンストリームに転送する。例示的な一実施では、ノードからの通信のスケジューリングを局所的に管理することは、ノードのアップストリームインターフェース上に転送するための外部要求応答又は内部要求応答の選択を含む。局所的に管理されるアップストリーム通信のスケジューリングには、様々な優先権考慮事項が伴いうることを理解されたい。例示的な一実施では、「外部」アップストリーム通信の継続には、「内部」アップストリーム通信に対する優先権が与えられる。アップストリーム通信の優先権は、内部で構築された応答と外部で構築された応答との間で、ラウンドロビンベースで割り当てることができる。
【００２１】
図２は、本発明の様々な実施形態による例示的なノード２００のブロック図である。一実施形態では、例示的なノード２００は、ノード１２０、１３０及び１４０に類似している。ノード２００は、ダウンストリームインターフェース２１０、記憶コア２２０、及び外部インターフェース２３０を含む。ダウンストリームインターフェース２１０は、マスタコントローラから遠ざけるようにコマンドをダウンストリームに搬送する外部バスに結合される。記憶コア２２０はデータを記憶する。一実施形態では、記憶コア２２０は、ビットライン及びワードラインとして配列されたフラッシュメモリ構成要素を含む。アップストリームインターフェース２３０は、アップストリームの方向で外部マスタコントローラに向けてデータを搬送する外部バスに結合される。
【００２２】
一実施形態では、アップストリーム終端は、内部コントローラ２３１、内部読出しバッファ２３２、及び外部読出しバッファ２３３を含む。内部読出しバッファ２３１及び外部読出しバッファ２３２は、アップストリームバス上の競合により読出しデータが失われることを防止する助けになる。内部読出しバッファ２３２は、アップストリームの通信を待ちながら、ノード内部からの情報をバッファリングする。外部読出しバッファ２３３は、アップストリームの通信を待ちながら、別のノードから受け取られた情報をバッファリングする。内部コントローラ２３１は、内部読出しバッファ内及び外部読出しバッファ内でバッファリングされた情報を含む、ノードからの情報のアップストリーム通信のスケジューリングを制御する。例示的な一実施では、内部コントローラ２３１は、読出しバッファを管理し、第１の使用可能なアップストリーム読出しスロット上の内容を空にする。
【００２３】
図３は、本発明の一実施形態による記憶方法３００のフローチャートである。一実施形態では、記憶方法３００は、チェーン構成として組織化された複数のノードを有する記憶システム内で実施される。例示的な一実施では、記憶方法３００は、記憶システム２００において実施することができる。
【００２４】
ブロック３１０で、待ち時間制約条件に応じてコマンドが発行される。一実施形態では、待ち時間制約条件は、コマンドの発行を実行することを含み、その結果、チェーン内の複数のノードのリンクの使用可能な全読出し帯域幅を超えないようになり、また複数のノードの読出しバッファ容量を超えないようになる。例示的な一実施では、コマンドの発行は、ネットワーク内のノードの位置を憂慮せずに、あるいはネットワーク内の他のノードの特性を憂慮せずに、対象のノードの特性に応じて実行される。
【００２５】
ブロック３２０で、コマンドによりノードでノード受取りインターフェース処理が実行される。一実施形態では、ノード受取りインターフェース処理は、コマンドの組織化されたダウンストリーム通信を容易にする。例示的な一実施では、ノード受取りインターフェース処理は、マルチドロップ構成における動作のシミュレーションと同様に動作する。
【００２６】
ブロック３３０で、コマンドに対応するノード対応処理が、そのコマンドがそのノードを対象とする場合に実行される。一実施形態では、ノード応答処理で、アップストリームでマスタコントローラまで転送されるべき応答情報を検索する。アップストリーム情報の転送は、内部で検索される情報と、もっと先のアップストリームの通信で外部で受け取られる信号との衝突を回避するように実行される。例示的な一実施では、読出し情報は、第１の使用可能なスロット上でアップストリームで転送される。
【００２７】
図４は、本発明の一実施形態によるノード受取りインターフェース処理４２０のフローチャートである。一実施形態では、ノード受取りインターフェース４２０は、ブロック３２０で実行されるノード受取りインターフェース処理に類似している。
【００２８】
ブロック４２１でコマンドが受け取られる。一実施形態では、コマンドは外部コントローラから受け取られる。例示的な一実施では、コマンドはダウンストリームバス上で受け取られる。
【００２９】
ブロック４２２で、ノードがコマンドの対象であるかどうかの判定が行われる。例示的な一実施では、ノード内に記憶された情報がコマンドの対象になる。例えば、読出しコマンドが、ノード内部の記憶位置と関連づけられたアドレスにある情報を読み出すことに向けられる。
【００３０】
このコマンドは、ノードがコマンドの対象である場合に、ブロック４２３でノード内で内部転送される。一実施形態では、コマンドは、実行されるべきノード応答処理に転送される。
【００３１】
ブロック４２４で、もっと先のダウンストリームにノードがあるかどうかの判定が行われる。
【００３２】
ブロック４２５でコマンドは、ノードがそのコマンドの対象ではなく、且つダウンストリームにノードがある場合に、ダウンストリームに渡される。
【００３３】
一実施形態では、無効要求がブロック４２６で、ノードがその要求の対象ではなく、もっと先のダウンストリームにノードがない場合に、アップストリームに転送される。
【００３４】
図５は、本発明の一実施形態によるアップストリーム通信衝突解決処理４３０のフローチャートである。一実施形態では、アップストリーム通信衝突解決処理４３０は、アップストリーム通信の際の衝突を防止するためにブロック３３０で実行される。例示的な一実施では、アップストリーム通信衝突４３０は、アップストリーム通信インターフェース２３０によって実行される。
【００３５】
ブロック４３１で、内部動作と関連した内部情報が受け取られる。一実施形態では、この内部情報は、ノード内部の記憶位置から検索された読出し要求応答情報である。
【００３６】
ブロック４３２で、外部情報が受け取られる。一実施形態では、この外部情報は、ダウンストリームノードから受け取られる。
【００３７】
ブロック４３３で、受け取られた内部情報及び外部情報と関連したスケジューリング競合又はタイミング衝突が解決される。一実施形態では、この解決には、内部読出しバッファ内及び外部読出しバッファ内の情報に優先順位を割り当てることが伴う。一実施形態では、優先順位はラウンドロビンで決定される。別の実施形態では、タイミング衝突は、外部読出しバッファ内で受け取られた情報へのデフォルトアウォーディング優先順位（ｄｅｆａｕｌｔ  ａｗａｒｄｉｎｇ  ｐｒｉｏｒｉｔｙ）によって解決される。情報は、決定された優先順位に応じてアップストリームに転送される。
【００３８】
一実施形態では、チェーン化メモリ構成で既存のコントローラをわずかな改変により利用できるように、軽量ノードアクセスプロトコルが利用される。非固定待ち時間ノード（例えば、ＮＡＮＤメモリ、ハードドライブなど）の場合では、マスタコントローラが、符号化コマンドを発行して読出しを開始し、読出しデータが入手可能になるまでノードをポーリングすることができ、あるいはノードからの割込みを待って読出しを開始することができる。その場合、読出しは、非固定待ち時間ノード内のバッファからの既知の待ち時間になる。
【００３９】
軽量ノードアクセスプロトコルはまた、アップストリーム方向の（マスタコントローラに向かう）ノードからのデータ又はコマンドの読出しデータバーフロ（ｂｕｒ  ｆｒｏ）自律転送に対し割り当てられたスロットがある方式で利用することもできる。例示的な一実施では、マスタコントローラは、ＤＭＡエンジンとして働き、ＤＭＡ要求に応答してマスタコントローラに直接書き込むことができる。
【００４０】
本発明の具体的な諸実施形態についての上記の説明は、例示及び説明を目的として提示した。これらは網羅的なものではなく、あるいは開示された形態そのものに本発明を限定するものではなく、多くの改変形態及び変形形態が上記の教示に照らして可能であることが明らかである。これらの実施形態は、本発明の原理及び本発明の実用的な応用を最適に説明し、それによって他の当業者が本発明及び様々な実施形態を、企図された特定の用途に適合された様々な改変と共に最適に利用できるように選択され記述された。本発明の範囲は、本明細書に添付の特許請求の範囲及びその等価物によって定義されるものである。
【図１】
0005948628.tif 000002
【図２】
0005948628.tif 000003
【図３】
0005948628.tif 000004
【図４】
0005948628.tif 000005
【図５】
0005948628.tif 000006