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

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

▶ スパンション エルエルシーの特許一覧 ▶ 株式会社日立製作所の特許一覧

<>
  • 特許5948628-記憶システム及び方法 図000002
  • 特許5948628-記憶システム及び方法 図000003
  • 特許5948628-記憶システム及び方法 図000004
  • 特許5948628-記憶システム及び方法 図000005
  • 特許5948628-記憶システム及び方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5948628
(24)【登録日】2016年6月17日
(45)【発行日】2016年7月6日
(54)【発明の名称】記憶システム及び方法
(51)【国際特許分類】
   G06F 13/16 20060101AFI20160623BHJP
   G06F 13/10 20060101ALI20160623BHJP
【FI】
   G06F13/16 510A
   G06F13/16 520A
   G06F13/16 520C
   G06F13/10 340A
【請求項の数】10
【全頁数】12
(21)【出願番号】特願2010-534979(P2010-534979)
(86)(22)【出願日】2008年11月25日
(65)【公表番号】特表2011-505036(P2011-505036A)
(43)【公表日】2011年2月17日
(86)【国際出願番号】US2008013185
(87)【国際公開番号】WO2009070321
(87)【国際公開日】20090604
【審査請求日】2011年11月24日
【審判番号】不服2014-20660(P2014-20660/J1)
【審判請求日】2014年10月10日
(31)【優先権主張番号】61/004,362
(32)【優先日】2007年11月26日
(33)【優先権主張国】US
(31)【優先権主張番号】61/004,412
(32)【優先日】2007年11月26日
(33)【優先権主張国】US
(31)【優先権主張番号】61/004,434
(32)【優先日】2007年11月26日
(33)【優先権主張国】US
(31)【優先権主張番号】61/004,361
(32)【優先日】2007年11月26日
(33)【優先権主張国】US
(31)【優先権主張番号】12/276,143
(32)【優先日】2008年11月21日
(33)【優先権主張国】US
(31)【優先権主張番号】12/276,116
(32)【優先日】2008年11月21日
(33)【優先権主張国】US
(31)【優先権主張番号】12/276,010
(32)【優先日】2008年11月21日
(33)【優先権主張国】US
(31)【優先権主張番号】12/276,061
(32)【優先日】2008年11月21日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】504378124
【氏名又は名称】スパンション エルエルシー
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】100107456
【弁理士】
【氏名又は名称】池田 成人
(74)【代理人】
【識別番号】100148596
【弁理士】
【氏名又は名称】山口 和弘
(74)【代理人】
【識別番号】100123995
【弁理士】
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】アイザック, ロジャー, ドゥエイン
(72)【発明者】
【氏名】三浦 誓士
【合議体】
【審判長】 和田 志郎
【審判官】 千葉 輝久
【審判官】 稲葉 和生
(56)【参考文献】
【文献】 米国特許出願公開第2006/0095701(US,A1)
【文献】 米国特許出願公開第2006/0179262(US,A1)
【文献】 米国特許出願公開第2005/0086441(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F12/00-12/06
G06F13/16-13/18
(57)【特許請求の範囲】
【請求項1】
情報を記憶するための複数のノード120、130、140であり、各前記ノードはアップストリーム通信バッファを含む、ノード120、130、140と、
前記アップストリーム通信バッファの制約条件に基づいて前記ノードへのトラフィックの流れを制御するマスタコントローラ110であり、バッファリングされたコマンドを当該マスタコントローラのダウンストリームインターフェースを介して当該マスタコントローラから複数の前記ノードへのダウンストリーム通信路に送出することのスケジューリングが、前記ダウンストリームインターフェースを介して当該マスタコントローラから複数の前記ノードへ送出された情報を解析することにより、及び複数の前記ノードからアップストリーム通信路を通じてアップストリームインターフェースを介して当該マスタコントローラにより受け取られた情報を解析することにより、複数の前記ノードのアップストリーム通信バッファの所定の制約条件に基づいて複数の前記ノードのバッファを超えないよう構成されるようになっており、前記バッファリングされたコマンドは当該マスタコントローラにて一時的に記憶される、マスタコントローラ110と
を備える記憶システム100であって、
前記マスタコントローラと前記ノードの間の通信が、決められた最大待ち時間を有し、前記ノードが、チェーンメモリ構成により前記マスタコントローラに結合される、記憶システム。
【請求項2】
前記マスタコントローラが前記ノードまでコマンドを転送し、前記ノードが前記コマンドの対象である場合に前記ノードが前記コマンドを実行し、前記ノードが前記コマンドの対象ではない場合に前記ノードが前記コマンドを別のノードに渡す、請求項1に記載の記憶システム。
【請求項3】
前記マスタコントローラが、固定待ち時間を有するマルチドロップバス階層のシミュレーションを容易にする方式で前記コマンドをスケジュールする、請求項1に記載の記憶システム。
【請求項4】
前記マスタコントローラが前記ノードに対してコマンドを、前記個々のノードのタイミング特性に応じて、前記システム内の前記ノードの位置及び前記システム内部の他のノードには関係なく発行する、請求項1に記載の記憶システム。
【請求項5】
前記マスタコントローラが、前記チェーン内のリンクの使用可能な全読出し帯域幅を超えないように、また前記ノードのアップストリームインターフェースバッファを超えないように読出しコマンドをスケジュールする、請求項1に記載の記憶システム。
【請求項6】
前記ノードが、
前記マスタコントローラから遠ざかる方向にデータを搬送するバスと結合するためのダウンストリームインターフェース210と、
データの記憶のためのコア記憶部分220と、
前記マスタコントローラに向かう方向にデータを搬送するバスと結合するためのアップストリームインターフェース230と
をさらに備える、請求項1に記載の記憶システム。
【請求項7】
前記ノードのアップストリーム終端が、
アップストリームの通信を待ちながら前記ノード内部からの情報をバッファリングする内部読出しバッファ232と、
アップストリームの通信を待ちながら別のノードから受け取られた情報をバッファリングする外部読出しバッファ233と、
前記内部読出しバッファ内及び前記外部読出しバッファ内でバッファリングされた情報のアップストリーム通信のスケジューリングを制御する内部コントローラ231と
をさらに備える、請求項6に記載の記憶システム。
【請求項8】
前記ノードが、前記ノードからの通信のスケジューリングを局所的に管理し、前記スケジューリングが、前記ノードのアップストリームインターフェースから転送するための外部要求応答又は内部要求応答の選択を含む、請求項1に記載の記憶システム。
【請求項9】
前記マスタコントローラが、直接メモリアクセス(DMA)エンジンとして働くことができる、請求項1に記載の記憶システム。
【請求項10】
バッファリングされたコマンドをマスタコントローラのダウンストリームインターフェースを介して前記マスタコントローラから複数のノードへのダウンストリーム通信路に送出することのスケジューリングが、前記ダウンストリームインターフェースを介して前記マスタコントローラから複数の前記ノードへ送出された情報を解析することにより、及び複数の前記ノードからアップストリーム通信路を通じてアップストリームインターフェースを介して前記マスタコントローラにより受け取られた情報を解析することにより、複数の前記ノードのアップストリーム通信バッファの所定の制約条件に基づいてコマンドを受ける複数の前記ノードのバッファを超えないよう構成されるように、待ち時間制約条件に応じてコマンドを発行するステップであって、前記バッファリングされたコマンドは前記マスタコントローラにて一時的に記憶され、前記マスタコントローラと前記ノードの間の通信が、決められた最大待ち時間を有し、前記ノードを含む複数のノードが、チェーンメモリ構成により前記マスタコントローラに結合される、ステップと、
前記コマンドによりノードでノード受取りインターフェース処理を実行するステップと、
前記コマンドが前記ノードを対象とする場合に、前記コマンドに対応するノード応答処理を実行するステップと
を含む、記憶方法。
【発明の詳細な説明】
【関連出願】
【0001】
本出願は、参照により本明細書に組み込む以下の特許仮出願の利益及び優先権を主張する。
米国特許仮出願第61/004,434号、2007年11月26日出願、名称「A STORAGE SYSTEM AND METHOD」(整理番号SPSN−AF02873.PRO)、
米国特許仮出願第61/004,362号、2007年11月26日出願、名称「A SYSTEM AND METHOD FOR ACCESSING MEMORY」(整理番号SPSN−AF02874.Pro,)、
米国特許仮出願第61/004,412号、2007年11月26日出願、名称「A METHOD FOR SETTING PARAMETERS AND DETERMINING LATENCY IN A CHAINED DEVICE SYSTEM」(整理番号SPSN−AF02875.PRO)、及び
米国特許仮出願第61/004,361号、2007年11月26日出願、名称「SYSTEMS AND METHODS FOR READ DATA BUFFERING」(整理番号SPSN−AF02876.PRO)。
【0002】
本出願はまた、参照により本明細書に組み込む以下の同時係属出願にも関連する。
米国特許出願第12/276,010号、名称「A SYSTEM AND METHOD FOR ACCESSING MEMORY」、2008年11月21日出願(整理番号SPSN−AF02874)、
米国特許出願第12/276,061号、名称「A METHOD FOR SETTING PARAMETERS AND DETERMINING LATENCY IN A CHAINED DEVICE SYSTEM」、2008年11月21日出願(整理番号SPSN−AF02875)、及び
米国特許出願第12/276,116号、名称「SYSTEMS AND METHODS FOR READ DATA BUFFERING」、2008年11月21日出願(整理番号SPSN−AF02876)。
【技術分野】
【0003】
本発明は、一般にはネットワーク接続デバイスのシステム及びその制御方法に関し、より具体的には、マスタコントローラ及びノードを有するネットワーク接続デバイスのシステム、並びにその制御方法に関する。
【背景技術】
【0004】
電子システム及び回路は、現代社会の進歩に大きな貢献を果たしてきており、多くの応用分野で利用されて有益な結果が得られてきた。デジタルコンピュータ、計算機、オーディオデバイス、映像機器及び電話システムなどの電子技術は、ビジネス、科学、教育及び娯楽のほとんどの領域において、データ、アイデア及び傾向を分析し伝達する際の生産性の向上及びコストの低減を促進してきた。これらの結果が得られるように設計された電子システムは、メモリを含むことが多い。しかし、高速で能率的にメモリ資源にアクセスするには、複雑なプロトコルが伴いうる。
【0005】
多くの電子デバイスはプロセッサを含み、このプロセッサは、有用なタスクの実行の際にデータを操作するための一連の命令を含むソフトウェアを実行することによって動作する。これらの命令及び関連するデータは、一般にメモリに記憶される。メモリは通常、情報を記憶する場所、及び一意の標識すなわちアドレスからなる。あるデバイスが提供する有用性は、命令が実行される速度及び能率によって決まることが多い。メモリにアクセスし、情報を迅速に都合よく転送する能力は通常、情報処理待ち時間に大きな影響を及ぼす。メモリの構成は通常、メモリ位置にアクセスする速度に影響を及ぼす。
【0006】
メモリ制御における従来の試みは、非常に複雑で込み入っていることが多い。ハイパートランスポート(HyperTransport)(商標)及び類似のプロトコルは一般に、マルチドロップバスモデルに従って動作し、システム内の各デバイス間のネットワークトラフィックを管理するのにトークン交換プロトコルを使用する。これらのプロトコルにより、通信トラフィック(データ及び/又は要求の形をとる)は、利用可能な資源のセグメントを参照するトークンの交換及び課金処理によってスケジュールされる。このようなプロトコルを利用することは一般に、デバイスに負荷をかけすぎてその後にデータが失われることを防止するように個々のデバイスが機能するのに実際に必要とするよりも多くの使用可能なバッファを要求することによって、システム内に必要なバッファの数に関して非能率及びオーバヘッドを生じさせる。このようなプロトコルではまた、システム全体にわたって待ち時間及び使用可能な帯域幅に関する非能率及びオーバヘッドもあり、これらは、未知のトラフィックパターン及び限定された資源により、スケジューリングに関する問題になりうる。これらの非能率のために、システムは最適でなく決定的でないものになる。
【0007】
さらに、各デバイス間で要求を伝達しデータを転送するために現代のネットワークトラフィック管理モデル(例えば、マルチドロップバス)を利用するコンピュータシステムのネットワークは一般に、可変待ち時間を除いて固定帯域幅を有し、通例の動作サイクル中のどの時間においても未知数の要求をネットワーク内に有する。そのようなものとして、未知数の要求をネットワークの能率を最大にするようにスケジュールできることは、スケジューリングコントローラでは困難になる。未定の待ち時間にはまた、非常に長い平均待ち時間をネットワーク内にもたらす効果もあり、それによって、トラフィックを効果的に管理するための複雑な制御機構又は大きなバッファサイズ、あるいは上記の組合せが必要になる。さらに、従来の手法で使用される標準的なマルチドロップバスモデルのローディング及び信号の完全性限界により、ネットワークの容量及び速度が限定される。追加のプロトコル制限により、バスを利用できるデバイスの種類が制限されることもある。
【0008】
従来のチェーンシステム(「デイジーチェーン型システム」とも呼ばれる)では、マルチドロップの容量及び速度に関連する問題に対処しようとしている。しかし、従来のデイジーチェーンシステムでは、システムの全体的な複雑さ、電力消費及び管理のしやすさがマルチドロップバスモデルと比べて大幅に増大することが多い。加えて、従来のチェーンシステムでは通常、バッファサイズ低減が通常はシステムの帯域幅を劣化させ、より大きなバッファサイズが、対応する待ち時間の増大を引き起こすという、待ち時間と効果的な帯域幅との間の性能トレードオフの問題に遭遇する。
【0009】
さらに、典型的なデイジーチェーンシステムにおいて能率的にスケジューリングすることについての問題もある。デイジーチェーン型システム内のコントローラは、システム全体の各デバイスに対するスケジューリング制約条件に関わらなければならず、累積的なスケジューリングの影響により、複雑な、又は扱いにくいスケジューリングパターンが生じる。典型的なデイジーチェーンモデルではまた、追加のタイムスタンププロトコルを各デバイス内で使用することも多い。タイムスタンプは、受け取られたコマンドをいつデバイスが、各デバイスに対して、内部で実行すべきかをデバイスに知らせる。しかし、各デバイスは、個々にタイムスタンプに関わることが必要であり、デバイスが発行するのを待っている要求に待ち行列を与えるので、タイムスタンプに必要なプロトコルがシステムの複雑さをさらに増す。しかし、待ち行列は、個々のノード内で局所的に管理されるので、システムコントローラによって制御可能ではなく、またシステムコントローラは、局所的な管理による遅延に的確に関わることができない。
【発明の概要】
【0010】
能率的で好適な記憶システム及び方法を提示する。一実施形態では、記憶システムは、複数の記憶ノード、及びマスタコントローラを含む。記憶ノードは情報を記憶する。記憶ノードは、アップストリーム通信の際の衝突の解決を容易にするように局所的に記憶ノードで制御されるアップストリーム通信バッファを含む。マスタコントローラは、アップストリーム通信バッファの制約条件に基づいて、ノードへのトラフィックの流れを制御する。一実施形態では、マスタコントローラとノードの間の通信が、決められた最大待ち時間を有する。記憶ノードは、チェーンメモリ構成によりマスタコントローラに結合することができる。
【図面の簡単な説明】
【0011】
図1】本発明の一実施形態による例示的な記憶システムのブロック図である。
図2】本発明の様々な実施形態による例示的なノードのブロック図である。
図3】本発明の一実施形態による例示的な記憶方法のフローチャートである。
図4】本発明の一実施形態による例示的なノード受取りインターフェース処理のフローチャートである。
図5】本発明の一実施形態による例示的なアップストリーム通信衝突解決処理のフローチャートである。
【発明を実施するための形態】
【0012】
次に、添付の図面に例が示されている本発明の好ましい諸実施形態を詳細に参照する。本発明を好ましい実施形態と共に説明するが、好ましい実施形態は、本発明をこれらの実施形態に限定するものではないことを理解されたい。これに反して、本発明は、添付の特許請求の範囲で定義される本発明の主旨及び範囲内に含まれうる代替形態、改変形態及び等価物を包含するものである。さらに、本発明についての以下の詳細な説明では、本発明の完全な理解が得られるように多数の具体的細部を示す。しかし、これらの具体的細部がなくても本発明を実施できることが当業者には明らかであろう。別の例では、本発明の諸態様を不必要に不明瞭にしないように、よく知られた方法、手順、構成要素及び回路は詳細に説明していない。
【0013】
以下の詳細な説明の一部は、手順、論理ブロック、処理、及びコンピュータメモリ内部のデータビットに対する動作の他の記号表現について提示されるものである。これらの記述及び表現は、データ処理技術分野の当業者が、その研究内容を他の当業者に効果的に伝達するために一般的に使用する手段である。本明細書では、また一般に、手順、論理ブロック、処理などは、所望の結果につながる首尾一貫した一連のステップ又は命令と考えられる。各ステップは、物理量の物理的操作を含む。必ずではないが通常、これらの量は、コンピュータシステム内で記憶、転送、結合、比較でき、また別様に操作できる電気信号、磁気信号、光信号又は量子信号の形をとる。これらの信号をビット、値、要素、記号、特性、期間、数などと呼ぶことが、主には通常の用法であるという理由から、ときには都合がよいことが分かっている。
【0014】
しかし、これらのすべて及び同様な用語は、適切な諸物理量と関係づけられており、これらの量に付けられた便利なラベルにすぎないことを念頭に置かれたい。以下の議論から明らかなように特に指定しない限り、本出願全体を通して、「処理する」、「計算する(computing)」、「計算する(calculating)」、「決定する」、「表示する」などの用語を利用する議論は、物理量(例えば、電子量)として表されたデータを操作及び転送するコンピュータシステム、又は同様の処理デバイス(例えば、電子、光学又は量子計算デバイス)の動作及び処理を指すと理解されたい。これらの用語は、処理デバイスの動作及び処理を指し、この処理デバイスは、コンピュータシステムの構成要素(例えば、レジスタ、メモリ、他のこのような情報の記憶デバイス、転送デバイス又は表示デバイスなど)内部の物理量を操作し、あるいは別の構成要素内部で物理量として同様に表される別のデータに変換する。
【0015】
図1は、本発明の一実施形態による記憶システム100のシステムブロック図である。図1のシステム100は、マスタコントローラ110、複数のノード120、130及び140、ダウンストリーム通信バス150、並びにアップストリーム通信バス160を含む。ダウンストリーム通信バス150、及びアップストリーム通信バス160は、マスタコントローラ110と複数のノード120、130及び140とを通信可能に結合する。一実施形態では、ノード120、130及び140は、チェーンメモリ構成によってマスタコントローラ110に結合される。
【0016】
記憶システム100の各構成要素は、情報を能率的に都合よく記憶するように協働して動作する。ノード120、130及び140は、情報を記憶する。マスタコントローラ110は、ノード120、130及び140内部のアップストリーム通信バッファの制約条件に基づいて、ノードへのトラフィックの流れを制御する。例示的な一実施では、マスタコントローラは、ノードの通信バッファ(例えば、読出しバッファ)の容量を超えないようにコマンドの発行をスケジュールする。マスタコントローラはまた、チェーン内のリンクの使用可能な全読出し帯域幅を超えないようにコマンドをスケジュールすることもできる。一実施形態では、マスタコントローラとノードの間の通信が、決められた最大待ち時間を有する。ダウンストリーム通信バス150は、情報をノード120、130、140の方へ、マスタコントローラ110から遠ざけるように伝達する。アップストリーム通信バス160は、情報をマスタコントローラ110の方へ、ノード120、130及び140から遠ざけるように伝達する。
【0017】
一実施形態では、マスタコントローラ110はノードに対しコマンドを、個々のノードのタイミング特性に応じて、システム内のそのノードの位置、又はシステム内部の他のノードには関係なく発行する。例示的な一実施では、マスタコントローラ110は、チェーン構成階層上に固定待ち時間を有するマルチドロップバス階層のいくつかの態様のシミュレーションを容易にする方式で、ノード120、130及び140を一方的に制御し、コマンドをスケジュールする。チェーン化システムにおけるマルチドロップ態様のシミュレーションにより、チェーン化構成とマルチドロップ構成の両方の利点を実現することができる。
【0018】
一実施形態では、マスタコントローラ110は、ダウンストリームインターフェース、論理構成要素、及びアップストリームインターフェースを含む。ダウンストリームインターフェースは、ダウンストリームバス150上の通信を待ちながらコマンドを一時的に記憶又はバッファリングするバッファを含む。論理構成要素は、ダウンストリーム通信路上のコマンドのスケジューリングを指示する。アップストリームインターフェースは、マスタコントローラに伝達される応答及び他の情報を受け取るためにある。一実施形態では、論理構成要素は、チェーン化システム内のノードのバッファを超えないことを確実にするために、ダウンストリームインターフェースを介して送出された情報、及びアップストリームインターフェースを介して受け取られた情報を解析する。
【0019】
マスタコントローラには様々な実施がありうることを理解されたい。一実施形態では、マスタコントローラは、中央処理構成要素(CPU)内で実施される。例示的な一実施では、マスタコントローラは、直接メモリアクセス(DMA)エンジンとして働くことができる。
【0020】
一実施形態では、ノード120、130及び140は、ノードからの通信のスケジューリングを局所的に管理する。例示的な一実施では、ノードは、そのノード向けではないコマンドをダウンストリームに転送する。例示的な一実施では、ノードからの通信のスケジューリングを局所的に管理することは、ノードのアップストリームインターフェース上に転送するための外部要求応答又は内部要求応答の選択を含む。局所的に管理されるアップストリーム通信のスケジューリングには、様々な優先権考慮事項が伴いうることを理解されたい。例示的な一実施では、「外部」アップストリーム通信の継続には、「内部」アップストリーム通信に対する優先権が与えられる。アップストリーム通信の優先権は、内部で構築された応答と外部で構築された応答との間で、ラウンドロビンベースで割り当てることができる。
【0021】
図2は、本発明の様々な実施形態による例示的なノード200のブロック図である。一実施形態では、例示的なノード200は、ノード120、130及び140に類似している。ノード200は、ダウンストリームインターフェース210、記憶コア220、及び外部インターフェース230を含む。ダウンストリームインターフェース210は、マスタコントローラから遠ざけるようにコマンドをダウンストリームに搬送する外部バスに結合される。記憶コア220はデータを記憶する。一実施形態では、記憶コア220は、ビットライン及びワードラインとして配列されたフラッシュメモリ構成要素を含む。アップストリームインターフェース230は、アップストリームの方向で外部マスタコントローラに向けてデータを搬送する外部バスに結合される。
【0022】
一実施形態では、アップストリーム終端は、内部コントローラ231、内部読出しバッファ232、及び外部読出しバッファ233を含む。内部読出しバッファ231及び外部読出しバッファ232は、アップストリームバス上の競合により読出しデータが失われることを防止する助けになる。内部読出しバッファ232は、アップストリームの通信を待ちながら、ノード内部からの情報をバッファリングする。外部読出しバッファ233は、アップストリームの通信を待ちながら、別のノードから受け取られた情報をバッファリングする。内部コントローラ231は、内部読出しバッファ内及び外部読出しバッファ内でバッファリングされた情報を含む、ノードからの情報のアップストリーム通信のスケジューリングを制御する。例示的な一実施では、内部コントローラ231は、読出しバッファを管理し、第1の使用可能なアップストリーム読出しスロット上の内容を空にする。
【0023】
図3は、本発明の一実施形態による記憶方法300のフローチャートである。一実施形態では、記憶方法300は、チェーン構成として組織化された複数のノードを有する記憶システム内で実施される。例示的な一実施では、記憶方法300は、記憶システム200において実施することができる。
【0024】
ブロック310で、待ち時間制約条件に応じてコマンドが発行される。一実施形態では、待ち時間制約条件は、コマンドの発行を実行することを含み、その結果、チェーン内の複数のノードのリンクの使用可能な全読出し帯域幅を超えないようになり、また複数のノードの読出しバッファ容量を超えないようになる。例示的な一実施では、コマンドの発行は、ネットワーク内のノードの位置を憂慮せずに、あるいはネットワーク内の他のノードの特性を憂慮せずに、対象のノードの特性に応じて実行される。
【0025】
ブロック320で、コマンドによりノードでノード受取りインターフェース処理が実行される。一実施形態では、ノード受取りインターフェース処理は、コマンドの組織化されたダウンストリーム通信を容易にする。例示的な一実施では、ノード受取りインターフェース処理は、マルチドロップ構成における動作のシミュレーションと同様に動作する。
【0026】
ブロック330で、コマンドに対応するノード対応処理が、そのコマンドがそのノードを対象とする場合に実行される。一実施形態では、ノード応答処理で、アップストリームでマスタコントローラまで転送されるべき応答情報を検索する。アップストリーム情報の転送は、内部で検索される情報と、もっと先のアップストリームの通信で外部で受け取られる信号との衝突を回避するように実行される。例示的な一実施では、読出し情報は、第1の使用可能なスロット上でアップストリームで転送される。
【0027】
図4は、本発明の一実施形態によるノード受取りインターフェース処理420のフローチャートである。一実施形態では、ノード受取りインターフェース420は、ブロック320で実行されるノード受取りインターフェース処理に類似している。
【0028】
ブロック421でコマンドが受け取られる。一実施形態では、コマンドは外部コントローラから受け取られる。例示的な一実施では、コマンドはダウンストリームバス上で受け取られる。
【0029】
ブロック422で、ノードがコマンドの対象であるかどうかの判定が行われる。例示的な一実施では、ノード内に記憶された情報がコマンドの対象になる。例えば、読出しコマンドが、ノード内部の記憶位置と関連づけられたアドレスにある情報を読み出すことに向けられる。
【0030】
このコマンドは、ノードがコマンドの対象である場合に、ブロック423でノード内で内部転送される。一実施形態では、コマンドは、実行されるべきノード応答処理に転送される。
【0031】
ブロック424で、もっと先のダウンストリームにノードがあるかどうかの判定が行われる。
【0032】
ブロック425でコマンドは、ノードがそのコマンドの対象ではなく、且つダウンストリームにノードがある場合に、ダウンストリームに渡される。
【0033】
一実施形態では、無効要求がブロック426で、ノードがその要求の対象ではなく、もっと先のダウンストリームにノードがない場合に、アップストリームに転送される。
【0034】
図5は、本発明の一実施形態によるアップストリーム通信衝突解決処理430のフローチャートである。一実施形態では、アップストリーム通信衝突解決処理430は、アップストリーム通信の際の衝突を防止するためにブロック330で実行される。例示的な一実施では、アップストリーム通信衝突430は、アップストリーム通信インターフェース230によって実行される。
【0035】
ブロック431で、内部動作と関連した内部情報が受け取られる。一実施形態では、この内部情報は、ノード内部の記憶位置から検索された読出し要求応答情報である。
【0036】
ブロック432で、外部情報が受け取られる。一実施形態では、この外部情報は、ダウンストリームノードから受け取られる。
【0037】
ブロック433で、受け取られた内部情報及び外部情報と関連したスケジューリング競合又はタイミング衝突が解決される。一実施形態では、この解決には、内部読出しバッファ内及び外部読出しバッファ内の情報に優先順位を割り当てることが伴う。一実施形態では、優先順位はラウンドロビンで決定される。別の実施形態では、タイミング衝突は、外部読出しバッファ内で受け取られた情報へのデフォルトアウォーディング優先順位(default awarding priority)によって解決される。情報は、決定された優先順位に応じてアップストリームに転送される。
【0038】
一実施形態では、チェーン化メモリ構成で既存のコントローラをわずかな改変により利用できるように、軽量ノードアクセスプロトコルが利用される。非固定待ち時間ノード(例えば、NANDメモリ、ハードドライブなど)の場合では、マスタコントローラが、符号化コマンドを発行して読出しを開始し、読出しデータが入手可能になるまでノードをポーリングすることができ、あるいはノードからの割込みを待って読出しを開始することができる。その場合、読出しは、非固定待ち時間ノード内のバッファからの既知の待ち時間になる。
【0039】
軽量ノードアクセスプロトコルはまた、アップストリーム方向の(マスタコントローラに向かう)ノードからのデータ又はコマンドの読出しデータバーフロ(bur fro)自律転送に対し割り当てられたスロットがある方式で利用することもできる。例示的な一実施では、マスタコントローラは、DMAエンジンとして働き、DMA要求に応答してマスタコントローラに直接書き込むことができる。
【0040】
本発明の具体的な諸実施形態についての上記の説明は、例示及び説明を目的として提示した。これらは網羅的なものではなく、あるいは開示された形態そのものに本発明を限定するものではなく、多くの改変形態及び変形形態が上記の教示に照らして可能であることが明らかである。これらの実施形態は、本発明の原理及び本発明の実用的な応用を最適に説明し、それによって他の当業者が本発明及び様々な実施形態を、企図された特定の用途に適合された様々な改変と共に最適に利用できるように選択され記述された。本発明の範囲は、本明細書に添付の特許請求の範囲及びその等価物によって定義されるものである。
図1
図2
図3
図4
図5