(57)【要約】本発明は、データが１以上の記憶装置からロードされるか又は該記憶装置に書き込まれる場合がある直列に相互接続される１以上のシフトレジスタのセットを利用したメモリアクセススキームに関する。すなわち、記憶装置からのデータは、シフトレジスタのセットにパラレルにロードされ、次いで、シフトレジスタのセットから出力されてその宛先に転送されるまで、シフトレジスタを通してシリアルにシフトされる。さらに、シフトレジスタのシフティングがデータのリード及び／又はロードの間に中断されないように、データは記憶装置からシフトレジスタのセットに読み出され、データはシフトレジスタのセットから記憶装置にロードされる。さらに、記憶装置からのデータは、２以上のシフトレジスタのパラレルチェインにロードされる場合があり、次いで、シフトレジスタのチェインを通してシリアルにシフトされる。
2006505066.tif 000002
【特許請求の範囲】
【請求項１】
１以上の出力を有する少なくとも１つの記憶装置と、
少なくとも１つのシフトレジスタがシフト周波数を有するクロック信号を受け、該シフトレジスタが該シフト周波数に従って該シフトレジスタにロードされたデータを該セットにおけるシフトレジスタのうちの次の１つにシフト可能である、直列に相互接続される少なくとも１つのシフトレジスタのセットとを備え、
該記憶装置の１以上の出力からのデータは、シフトレジスタの該セットにうちの１つにおける対応するシフトレジスタにロードされ、ロードされたデータは、該シフトレジスタがデータのロードの間にそのシフト周波数を維持するように、該クロック信号に従って該シフトレジスタから該シフトレジスタのうちの次の１つにシフトされる、
ことを特徴とする装置。
【請求項２】
該クロック信号の１以上のパルスと相関付けされる１以上のタイミングパルスのセットに応じて、該記憶装置の１以上の出力から対応するシフトレジスタにデータをロードするためのコネクション回路を備える、
請求項１記載の装置。
【請求項３】
シフトレジスタのセット数は、該シフト周波数のために選択される周波数、及びシフトレジスタの該セットのスループットが１以上の記憶装置からのスループットに対応する要件に基づいて決定される、
請求項１記載の装置。
【請求項４】
該シフトレジスタのセット数は、該シフト周波数で分割される該１以上の記憶装置からのスループットに対応し、該スループットは、該１以上の記憶装置からのメモリ出力の数及び該記憶装置のサイクルタイムに基づいて決定される、
請求項３記載の装置。
【請求項５】
１以上のシフトレジスタからのデータは、該記憶装置の対応する出力を介して１以上の記憶装置にロードされ、該シフトレジスタは、該１以上の記憶装置へのデータのロードの間にそのシフト周波数を維持する、
請求項１記載の装置。
【請求項６】
該記憶装置から該シフトレジスタへのデータのロードで利用される１以上の可変に計時されるサンプリング及びパスパルスを発生するためのタイミング回路を更に備え、該サンプリング及びパスパルスは、該装置により開始パルスの受信に基づいて発生される、
請求項１記載の装置。
【請求項７】
該記憶装置のうちの少なくとも１つの出力と該シフトレジスタのセットの少なくとも１つでのシフトレジスタとの間の複数のコネクション回路を更に備え、
該記憶装置の１以上の出力からのデータは、該１以上のサンプリングパルスを使用して該コネクション回路のうちの対応する１つに転送され、
該記憶装置が新たなデータをその出力に提供する間に、該記憶装置の出力からのデータが該コネクション回路に転送されて該コネクション回路により保持されるように、該サンプリングパルスが計時され、
該コネクション回路の１以上に転送されるデータは、該パスパルスを使用して該コネクション回路から続いて転送され、少なくとも１つのシフトレジスタのセットにデータを分配するために該パスパルスが計時され、該シフトレジスタは、データの転送及びシフトの間にそれらのシフト周波数を維持する、
請求項６記載の装置。
【請求項８】
該コネクション回路の１以上は、該コネクション回路から該少なくとも１つのシフトレジスタのセットへのワイアリングパスを変更するためのセレクタを含む、
請求項６記載の装置。
【請求項９】
該ワイアリングパスは、暗号化方式に基づいて変更される、
請求項８記載の装置。
【請求項１０】
該タイミング回路は、該記憶装置からのデータを転送する可変のタイミングをもつ複数のサンプリングパルスを発生し、転送されたデータは、その精度について分析され、該分析結果は、次のサンプリングパルスについて好適なタイミングを選択するために使用される、
請求項７記載の装置。
【請求項１１】
該パスパルスは、メモリから該１以上のシフトレジスタのセットに転送されるデータと該装置の外部にあるデータとの間の同期調整に基づいて決定される、
請求項６記載の装置。
【請求項１２】
該タイミング回路は複数のパルスを発生し、該タイミング回路は、該サンプリング及びパスパルスとして発生されたパルスのうちの１以上を選択する複数のセレクタゲートを含み、該選択は、該サンプリング及びパスパルスとして選択されたパルスを変更するために変えられる、
請求項６記載の装置。
【請求項１３】
該記憶装置から該対応するシフトレジスタにロードされるデータが、該データが有効である間にロードされるように、該サンプリングパルスとして選択されたパルスが選択されるように、該セレクタゲートをソフトウェアで制御する、
請求項１２記載の装置。
【請求項１４】
該シフトレジスタにロードされるデータが予め決定された基準に基づいて同期されるように、該パスパルスとして選択されたパルスが選択されるように、該セレクタゲートをソフトウェアで制御する、
請求項１２記載の装置。
【請求項１５】
該タイミング回路は、該開始パルスの受信に基づいて、複数のロード動作で利用される該サンプリング及びパスパルスを発生するためのループを含み、それぞれのロード動作は、該記憶装置から該シフトレジスタにデータをロードすることを含む、
請求項６記載の装置。
【請求項１６】
該タイミング回路は、それぞれのロード動作について複数のパルスを発生し、該タイミング回路は、該ロード動作のために該サンプリング及びパスパルスとして該発生されたパルスのうちの１以上を選択するための複数のセレクタゲートを含み、該選択は、該サンプリング及びパスパルスとして選択されたパルスを変更するために変えられる、
請求項１５記載の装置。
【請求項１７】
該記憶装置から該対応するシフトレジスタにロードされるデータが、該データが有効である間にロードされるように、該サンプリングパルスとして選択されるパルスが選択されるように、該セレクタゲートをソフトウェアで制御する、
請求項１６記載の装置。
【請求項１８】
該シフトレジスタにロードされるデータが予め決定された基準に基づいて同期されるように、該パスパルスとして選択されたパルスが選択されるように、該セレクタゲートをソフトウェアで制御する、
請求項１６記載の装置。
【請求項１９】
該記憶装置の１以上からシフトレジスタのセットにデータをロードすること、及びシフトレジスタのセットから該記憶装置の１以上にデータを書き込むことの両者で少なくとも１つのシフトレジスタのセットが使用される、
請求項１記載の装置。
【請求項２０】
該セレクタへの１以上の入力を選択し、シフトレジスタのセットのうちの１つにデータがロードされるように選択された入力に到達するデータを出力するための１以上のセレクタを更に含み、該入力に到達するデータは、該記憶装置の１以上に書き込まれる１以上のデータ、及び該装置を検査するためのテストデータを含む、
請求項１９記載の装置。
【請求項２１】
該セレクタへの１以上の入力を選択し、シフトレジスタのセットのうちの１つにデータがロードされるように選択された入力に到達するデータを出力するための１以上のセレクタを更に含み、該入力に到達するデータは、該１以上の記憶装置から該シフトレジスタにロードされるデータに添付される１以上のデータ、及び該装置を検査するためのテストデータを含む、
請求項１９記載の装置。
【請求項２２】
少なくとも１つのシフトレジスタのセットは、該記憶装置の１以上にデータを書き込むために使用され、少なくとも１つのシフトレジスタのセットは、該記憶装置からシフトレジスタのセットにデータをロードするために使用され、書き込みのための少なくとも１つのシフトレジスタのセットは、ロードのための少なくとも１つのシフトレジスタのセットとは別である、
請求項１記載の装置。
【請求項２３】
該記憶装置の少なくとも１つ、及び少なくとも１つのシフトレジスタのセットは、チップ上に実施される、
請求項１記載の装置。
【請求項２４】
該チップは、多数の入力／出力リードを含み、出力リードの数は、該チップに含まれる１以上の記憶装置からの出力数よりも少ない、
請求項２３記載の装置。
【請求項２５】
少なくとも１つの記憶装置の出力と少なくとも１つのシフトレジスタのセットのうちのシフトレジスタとの間の複数のコネクション回路を更に備え、
該複数のコネクション回路の少なくとも１つは、該チップ上に実現される、
請求項２３記載の装置。
【請求項２６】
該チップは、多数の入力／出力リードを含み、出力リードの数は、該チップに含まれる１以上の記憶装置からの出力の数よりも少ない、
請求項２５記載の装置。
【請求項２７】
該記憶装置の１以上からデータを読み出すことを該装置に指示する、該装置によるパルスの受信に基づいて該１以上のサンプリングパルスを発生するためのタイミング回路を更に備え、
該タイミング回路は該チップに実現される、
請求項２５記載の装置。
【請求項２８】
該チップは多数の入力／出力リードを含み、出力リードの数は、該チップに含まれる１以上の記憶装置からの出力の数よりも少ない、
請求項２７記載の装置。
【請求項２９】
該記憶装置は、不揮発性の記憶装置を含む、
請求項１記載の装置。
【請求項３０】
該記憶装置は、磁気記憶装置を含む、
請求項１記載の装置。
【請求項３１】
該シフトレジスタは、少なくとも１つのクロックで動作する半導体ラッチを含む、
請求項１記載の装置。
【請求項３２】
該シフトレジスタは、少なくとも１つのクロックで動作する動的な電荷転送ステージを含む、
請求項１記載の装置。
【請求項３３】
該シフトレジスタは、少なくとも１つの電荷結合素子のステージを含む、
請求項１記載の装置。
【請求項３４】
少なくとも１つのシフトレジスタのセットの出力は、マイクロプロセッサに接続される、
請求項１記載の装置。
【請求項３５】
少なくとも１つのシフトレジスタのセットはリングを形成し、該リングにおけるデータは、該クロック信号に基づくレートで循環される、
請求項１記載の装置。
【請求項３６】
データは、該記憶装置の１以上からシフトレジスタのセットの１以上にロードされ、同時に、シフトレジスタのセットの１以上から該記憶装置の異なる１以上にロードされる、
請求項１記載の装置。
【請求項３７】
出力を有する少なくとも１つの記憶装置と、
直列に相互接続される第一のシフトレジスタのセット及び直列に相互接続される第二のシフトレジスタのセットと、
該記憶装置の少なくとも１つの出力のうちの１つを該第一又は第二のシフトレジスタのセットにおける対応するシフトレジスタに接続する複数のコネクタとを備え、
該記憶装置の少なくとも１つの出力からのデータは、該複数のコネクタを介して、該第一又は第二のシフトレジスタのセットにおける対応するシフトレジスタにロードされ、
該第一のシフトレジスタのセットにロードされたデータは、該クロック信号に従って、該第一のシフトレジスタのセットにおけるシフトレジスタのうちの１つから該第一のシフトレジスタのセットにおけるシフトレジスタのうちの次の１つにシフトされ、
該第二のシフトレジスタのセットにロードされるデータは、該クロック信号に従って、該第二のシフトレジスタのセットにおけるシフトレジスタのうちの１つから該第二のシフトレジスタのセットにおけるシフトレジスタのうちの次の１つにシフトされる、
ことを特徴とする装置。
【請求項３８】
シフト周波数を有するクロック信号に基づいて、該シフトレジスタから該セットにおけるシフトレジスタのうちの次の１つに、直列に相互接続されるシフトレジスタのセットにおける１以上のシフトレジスタでデータをシフトするステップと、
少なくとも１つの記憶装置から該セットにおける対応するシフトレジスタにデータをロードするステップと、
該クロック信号に従って該シフトレジスタの１以上にロードされるデータを該セットにおけるシフトレジスタのうちの次の１つにシフトするステップとを備え、
該シフトレジスタは、該記憶装置から該シフトレジスタにデータをロードする間にそれらのシフト周波数を維持する、
ことを特徴とする方法。
【請求項３９】
該記憶装置の出力の１以上から対応するシフトレジスタにデータをロードするステップは、該クロック信号の１以上のパルスと相関付けされる１以上のタイミングパルスのセットを使用するステップを含む、
請求項３８記載の方法。
【請求項４０】
シフトレジスタのセットの数は、該シフト周波数のために選択される周波数、及びシフトレジスタのセットのためのスループットが１以上の記憶装置からのスループットに対応する要件に基づいて決定される、
請求項３８記載の方法。
【請求項４１】
該記憶装置の対応する出力を介して、該シフトレジスタの１以上から１以上の記憶装置にデータをロードするステップを更に備え、
該シフトレジスタは、該１以上の記憶装置へのデータのロードの間にそれらのシフト周波数を維持する、
請求項３８記載の方法。
【請求項４２】
開始パルスを受けるステップと、
該開始パルスの受信に応じて１以上の可変に計時されるサンプリング及びパスパルスを発生するステップとを更に有し、
該記憶装置から該シフトレジスタへのデータのロードは、該発生されたサンプリング及びパスパルスを使用する、
請求項３８記載の方法。
【請求項４３】
該データを該シフトレジスタにロードするステップは、
該１以上のサンプリングパルスを使用して、該記憶装置の１以上の出力からのデータを転送するステップと、
該記憶装置が新たなデータをその出力に提供するとき、該記憶装置からのデータをラッチするステップと、
該データがシフトレジスタのセットに分配されるように、第二の計時されたパルスのセットを使用してラッチされたデータを転送するステップと、
を含む請求項４２記載の方法。
【請求項４４】
該ラッチされたデータをシフトレジスタのセットに分配するためのワイアリングパスを変更するステップを更に備える、
請求項４３記載の方法。
【請求項４５】
該ワイアリングパスは、暗号化方式に基づいて変更される、
請求項４４記載の方法。
【請求項４６】
該記憶装置からの既知のデータを転送するため、可変のタイミングをもつ複数のサンプリングパルスを発生するステップと、
精度について転送されたデータを分析するステップと、
該分析に基づいて次のサンプリングパルスのための好適なタイミングを選択するステップと、
を更に備える方法。
【請求項４７】
該メモリから１以上のシフトレジスタのセットに転送されるデータと該装置の外部のデータとの間に同期調整に基づいて、該パスパルスが発生される、
請求項４２記載の方法。
【請求項４８】
シフトレジスタのセットから該記憶装置の１以上にデータを書き込むステップを更に有する、
請求項３８記載の方法。
【請求項４９】
１以上のシフトレジスタのライトセットのうちの少なくとも１つのシフトレジスタから該記憶装置の１以上にデータを書き込むステップを更に備え、
該シフトレジスタのライトセットは、ロードのためのシフトレジスタのセットとは別々である、
請求項３８記載の方法。
【請求項５０】
該記憶装置から該シフトレジスタにデータをロードするステップは、該シフトレジスタに前にシフトされたデータを上書きするステップを含む、
請求項３８記載の方法。
【請求項５１】
シフト周波数を有するクロック信号に基づいて、該シフトレジスタから該第一のセットにおけるシフトレジスタのうちの次の１つに、直列に相互接続される第一のシフトレジスタのセットでデータをシフトするステップと、
シフト周波数で、該シフトレジスタから該第二のセットにおけるシフトレジスタのうちの次の１つに、直列に相互接続される第二のシフトレジスタのセットでデータをシフトするステップと、
少なくとも１つの記憶装置の出力から該第一のセットにおける対応するシフトレジスタにデータをロードするステップと、
少なくとも１つの記憶装置の出力から該第二のセットにおける対応するシフトレジスタにデータをロードするステップと、
該シフト周波数に従って、該シフトレジスタから該第一のセットにおけるシフトレジスタのうちの次の１つに、該第一のセットにおけるシフトレジスタにロードされたデータをシフトするステップと、
該シフト周波数に従って、該シフトレジスタから該第二のセットにおけるシフトレジスタのうちの次の１つに、該第二のセットにおけるシフトレジスタにロードされたデータをシフトするステップと、
を備えることを特徴とする方法。
【請求項５２】
データを転送するための少なくとも１つの手段を含む、データを記憶するための少なくとも１つの手段と、
データをシフトする手段がシフト周波数を有するクロック信号を受信し、シフトするための手段はそれぞれで、少なくとも１つのシフトするための手段からのデータが該シフト周波数に従って該シフトするための手段のうちの次の手段にシフトされるように直列に相互接続される、データをシフトするための複数の手段からなる少なくとも１つのセットと、
該シフトするための手段がデータのロードの間にそれらの周波数を維持するように、該記憶するための手段から対応するシフトするための手段にデータをロードするための手段と、
を備えることを特徴とする装置。
【請求項５３】
該ロードするための手段は、
該記憶するための手段からのデータをラッチするための複数の手段と、
１以上のサンプリングパルスを使用して該ラッチするための手段のうちの対応する１つにデータを転送するための手段であって、該記憶するための手段が新たなデータを該転送するための手段に提供する間、該記憶するための手段の該転送するための手段からのデータが該ラッチするための手段に転送されて該ラッチするための手段によりラッチされるようにサンプリングパルスが計時される転送するための手段と、
１以上のパスパルスを使用して該ラッチするための手段からのデータを転送するための手段とを備え、
該パスパルスは、少なくとも１つの該シフトするための手段にデータを分配するために計時され、該クロック信号は、データ転送、及び該シフトするための手段から該セットにおけるシフトするための次の手段へのデータのシフトの間にその周波数を維持する、
請求項５２記載の装置。
【請求項５４】
シフト周波数を有するクロック信号に基づいて、該シフトレジスタから該セットにおけるシフトレジスタの次の１つに、直列に相互接続されるシフトレジスタのセットにおける１以上のシフトレジスタでデータをシフトするステップと、
該シフトレジスタの１以上のから記憶装置にデータをロードするステップと、
データが該記憶装置にロードされた後に該シフト周波数に従って該１以上のシフトレジスタから該セットにおける該シフトレジスタの次の１つにロードされたデータをシフトするステップとを備え、
該シフトレジスタは、データをロードする間にそれらのシフト周波数を維持する、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリアクセスに関し、より詳細には、記憶装置へのアクセスを改善するための方法及びシステムに関する。
【背景技術】
【０００２】
今日のＰＣ及びワークステーションにおけるプロセッサは、キャッシュ、グラフィックスサブシステム及び高速通信装置と同様に、メモリからのより高い帯域幅及び速度を要求している。メモリの製造者は、固体メモリのアクセス速度を改善することで応答してきている。メモリ製造者が速度及び帯域幅の両者において大幅な進歩をなしている一方で、プロセッサの速度の要求と、今日のメモリが提供することができる速度及び帯域幅との間には大きなギャップがなお存在する。
【発明の開示】
【課題を解決するための手段】
【０００３】
これに応じて、本発明は、従来技術の問題に対処する方法及びシステムに向けられる。本発明の目的によれば、本明細書で実施され広く記載されるように、１以上の出力を有する少なくとも１つの記憶装置と、直列に相互接続される少なくとも１つのシフトレジスタのセットとを有する装置の方法及びシステムが提供され、少なくとも１つのシフトレジスタは、シフト周波数を有するクロック信号を受信するものであって、シフトレジスタは、クロック信号に従って、該シフトレジスタにロードされるデータを該セットにおけるシフトレジスタにおける次の１つにシフト可能である。装置では、記憶装置の出力のうちの１つからのデータは、シフトレジスタからなるセットのうちの１つにおける対応するシフトレジスタにロードされる場合がある。シフトレジスタにより受信されたクロック信号がデータのロードの間にそのシフト周波数を維持するように、クロック信号に従い、ロードされたデータは、該セットにおけるシフトレジスタから次のシフトレジスタにシフトされる。
【０００４】
別の態様では、出力を有する少なくとも１つの記憶装置、少なくとも直列に相互接続される第一のシフトレジスタのセットと直列に相互接続される第二のシフトレジスタのセット、及び第一又は第二のシフトレジスタのセットにおける対応するシフトレジスタに少なくとも１つの記憶装置のうちの１つの出力をそれぞれ接続する複数のコネクタを含む装置の方法及びシステムが提供される。装置では、記憶装置の出力のうちの少なくとも１つからのデータは、複数のコネクタを介して第一又は第二のシフトレジスタのセットにおける対応するシフトレジスタにロードされる場合があり、クロック信号に従い、第一のシフトレジスタのセットにロードされるデータは、第一のシフトレジスタのセットにおけるシフトレジスタのうちの１つから第一のシフトレジスタのセットにおけるシフトレジスタの次の１つにシフトされる。これに応じて、装置では、第二のシフトレジスタのセットにロードされるデータは、クロック信号に従って、第二のシフトレジスタのセットにおけるシフトレジスタの１つから第二のシフトレジスタのセットにおけるシフトレジスタの次の１つにシフトされる場合がある。
【０００５】
概要及び以下の詳細な説明は、特許請求された発明の範囲を限定するものではない。両者共に、本発明を実施するために他を可能にする例及び説明を提供する。添付図面は、本発明の最良の形態を実行するための記載の一部を形成するものであって、説明と共に本発明の幾つかの実施の形態を示すものであって、本発明の原理を説明する。
【発明を実施するための最良の形態】
【０００６】
本発明の実施の形態に対して更に詳細な参照が行われ、この例は添付図面に例示される。可能であれば同一部材を引用するために図面を通して同じ参照符号が使用される。
【０００７】
図１は、提供される方法及びシステムに係る、記憶装置１０、ポータル１１及びマイクロプロセッサ２０の簡略化された図を例示している。記憶装置１０は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＲＤＲＡＭ（Ｒａｍｂｕｓ  ＤＲＡＭ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、ＳＩＭＭ（Ｓｉｎｇｌｅ  ｉｎ−Ｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）、ＤＩＭＭ（Ｄｕａｌ  ｉｎ−Ｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）、ＲＩＭＭ（Ｒａｍｂｕｓ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）、磁気メモリ、コンテンツアドレス可能なメモリ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）若しくはメモリ出力が電気データとして表現されるか又は電気データに変換されるいずれかのタイプの記憶装置のような、いずれかのタイプの記憶装置である場合がある。ポータル１１は、以下に更に詳細に記載される場合がある。さらに、簡略化の理由のため、ポータル１１とマイクロプロセッサ２０の間の接続においてコンポーネントは例示されていない。しかし、当業者であれば、ポータル１１及びマイクロプロセッサ２０は、このコネクションにおいて他のコンポーネントを含んでいる場合があることを認識されるであろう。
【０００８】
図１のシステムでは、記憶装置１０からのデータは、必ずしも必要ではないが、データがマイクロプロセッサ２０にシリアルに送出されるように、シフトレジスタが連続的にクロックされる間にポータル１１に同時にロードされることが好ましいが、次いで、データは、ポータル１１に再びロードされ、マイクロプロセッサ２０にクロックされる場合がある。本明細書で使用される用語「同時に」とは、１制御パルス又はクロック信号の間に生じるイベントを言及し、イベントが絶対的に正確な同じ時間で生じることを必ずしも意味していない。
【０００９】
図１は、マイクロプロセッサ２０に接続されるポータル１１を例示しているが、ポータル１１が他のタイプの装置に接続する場合がある。たとえば、ポータル１１は、以下の本出願と同日に提出された米国特許出願に記載されるようなメモリセクションで使用される場合があり、この記載は、その全体としてそのまま引用により明示的に組み込まれる。シリアル番号１０／２８４，１９９号“ＭＥＴＨＯＤＳ  ＡＮＤ  ＳＹＳＴＥＭＳ  ＦＯＲ  Ａ  ＳＴＯＲＡＧＥ  ＳＹＳＴＥＭ”ｂｙ  Ｍ．  ＪＡＭＥＳ  ＢＵＬＬＥＮ，  ＳＴＥＶＥＮ  Ｌ，  ＤＯＤＤ，  ＤＡＶＩＤ  Ｊ．  ＨＥＲＢＩＳＯＮ，  ａｎｄ  ＷＩＬＬＩＡＴ  Ｔ．  ＬＹＮＣＨ。
【００１０】
さらに、ポータル１１は、記憶装置１０にデータを書き込むために入力ピン１４に接続される。図１の実施の形態では、書き込みのためのデータは、マイクロプロセッサ２０から受信される場合がある。他の実施の形態では、データは他の装置から受信される場合がある。
【００１１】
図２は、提供される方法及びシステムに係る、ポータル１１及び記憶装置１０の更に詳細な図を例示している。当業者にとって明らかであるように、この図は、ポータル１１の一般的な動作の説明の助けとなる例示の目的のために簡略化される。
【００１２】
ポータル１１は、（この例では、シフトレジスタチェイン１２−１及び１２−２である）少なくとも１つのシフトレジスタチェイン１２を含んでいる。それぞれのシフトレジスタチェイン１２は、（このケースではｎ＝８）直列に相互接続される複数のシフトレジスタ１６−１〜１６−ｎを含んでいる。さらに、ポータルは、記憶装置１０の対応するデータ入力／出力ピン１４とシフトレジスタ１６を接続するための複数の接続回路１７を含んでいる。また、ポータルに制御信号を提供する制御信号発生器１５が例示されている。
【００１３】
シフトレジスタ１６は、ダイナミックであるかラッチングであるか、シングルクロックであるかマスター／スレーブクロックであるか、サンプリングであるかエッジトリガであるか、データ（Ｄ）、ＲＳ、又はＪＫ、電荷結合素子（ＣＣＤ）のステージであるか、若しくはクロック信号に基づいてその入力を出力にシフトするいずれかのタイプの装置といった、如何なるタイプのシフトレジスタである場合がある。シフトレジスタチェイン１２は、本発明の範囲から逸脱することなしに多数のシフトレジスタを含む場合がある。
【００１４】
本明細書で使用されるように、用語「シフトレジスタ」とは、入力で信号を受信可能であって、たとえば制御信号又はクロック信号のようなイベントの発生で信号を出力可能な１以上の選択可能な入力をもつレジスタ、装置、ステージ又はその他を言及している。用語「シフトレジスタ」がシングルレジスタステージを意味せず、一連のかかるレジスタを意味することがあるが、本明細書で使用されるように、用語「シフトレジスタ」は、シングルステージを言及する。一連のこれらのシフトレジスタは、本明細書ではシフトレジスタチェイン又はシフトレジスタストリングのいずれかを意味する。一連のレジスタのセットは、シングルチェインのシフトレジスタ又はパラレルチェインのシフトレジスタのいずれかである場合がある一連の（シフト）レジスタのアレイ又はシフトレジスタのアレイを意味することもある。
【００１５】
それぞれの記憶装置１０は、記憶装置１０への転送及び記憶装置１０からのデータ転送のため、複数のＩ／Ｏピン１４−１〜１４−ｎ（この実施の形態ではｎ＝８）を含んでいる。記憶装置１０は、本発明の範囲から逸脱することなしにいずれかの数のピンを含んでいる場合がある。さらに、図示されていないが、記憶装置１０は、記憶装置から読み取られるべきデータ又は記憶装置に書き込まれるべきデータのためのアドレスを受信するためのピンのような他のピンを含んでいる。シフトレジスタ１６及びコネクション及びコネクション回路１７に関する更に詳細な説明が後に提供される。
【００１６】
例示では、第一のＩ／Ｏピン（１４−１）で開始して、１つおきのピン（１４−１、１４−３，１４−５及び１４−７）は、記憶装置１０−１から接続回路１７を介して、シフトレジスタチェイン１２−１（シフトレジスタチェイン１６−１〜１６−４）におけるシフトレジスタ１６に接続される。さらに、第二のＩ／Ｏピン１４−２で開始して、１つおきのピン（１４−２，１４−４，１４−６及び１４−８）は、シフトレジスタチェイン１２−２におけるシフトレジスタに接続される。同様に、記憶装置１０−２のＩ／Ｏピンは、シフトレジスタチェイン１２−１及び１２−２における対応するシフトレジスタ１６に接続される。
【００１７】
図は、記憶装置１０のＩ／Ｏピン１４をシフトレジスタチェイン１２のシフトレジスタ１６に接続する１例を例示しているが、しかし、Ｉ／Ｏピン１４は、いずれかのシフトレジスタチェイン１２のシフトレジスタ１６に接続される場合がある。たとえば、シフトレジスタをデータピンに連続的に接続するよりはむしろ、シフトレジスタは、擬似的なランダム方式で接続される場合がある。たとえば、シフトレジスタチェイン１２−１のシフトレジスタ１６−１は、記憶装置１０−１のピン１４−６と接続され、シフトレジスタチェイン１２−２のシフトレジスタ１６−３は、記憶装置１０−１のピン１４−４と接続され、シフトレジスタチェイン１２−１のシフトレジスタ１６−１は、記憶装置１０−２のピン１４−７と接続される。かかるメカニズムは、暗号化された方式で、又は他の工学的研究のためにメモリに情報を記憶すること、及びメモリにおける情報を抽出することのために利用することができる。
【００１８】
暗号化を利用した実施の形態では、暗号化は、たとえば、ハードワイアード又はソフトウェア（ＳＷ）がセレクションを変更するために利用される場合がある。そのライトモード及び／又はその後のリードモードの両方で変更することができる暗号化方式は、書込み時間、及び／又は読出し時間と関連する１つ又は２つの「鍵」が使用される場合がある暗号化であることが好ましい。かかるソフトウェアの変更を達成するため、例として、コネクション回路１７の出力とシフトレジスタアレイ内のそれらの伝送ノードを相互接続するワイアリングパスに複数の選択ゲートが挿入される場合があり、又は、入力／出力ピン１４−１〜１４−ｎと１７−１〜１７−ｎを接続する対応する入力／出力ノードとの間にルータスイッチを挿入することができる。メモリの入力／出力と１７−１〜１７−ｎのメモリ側のコネクション回路の入力／出力との間のルータスイッチへのソフトウェア定義入力は、それぞれのメモリの入力／出力が１７−１〜１７−ｎのコネクション回路の入力／出力への１つの完全なワイアリングパスを有すること、及び望まれる場合の実施の形態においてそれぞれのコネクション回路の入力／出力がメモリの入力／出力への１つの完全なワイアリングパスを有することを保証するために使用される場合がある。これらのルーティングスイッチ入力は、メモリに書き込まれるか又は送信されるためにメモリから読み出される選択されたファイルのためにコンピュータ制御下で変更することができる。
【００１９】
さらに、図２は２つのシフトレジスタチェイン１２−１及び１２−２、並びに２つの記憶装置１０−１及び１０−２をもつアレイを例示しているが、このメカニズムは、シフトレジスタチェイン１２をいずれかの数の記憶装置１０に接続するために利用することができる。好ましくは、シフトレジスタ１６の数は、記憶装置１０から同時に転送されたビット数よりも大きいか又は等しい。
【００２０】
たとえば、図２のポータル１１は、１つの記憶装置１０−１又は１０−２にそれぞれ接続される２つのポータル１１に分割される。かかる実施の形態では、第一のポータルは、対応するコネクション回路１７−１〜１７−８と共に、それぞれのシフトレジスタのチェイン１２−１及び１２−２のシフトレジスタ１６−１〜１６−４を含んでいる。同様に、第二のポータルは、対応するコネクション回路１７−９〜１７−１６と共に、２つの例示されたシフトレジスタのチェイン１２−１〜１２−２のシフトレジスタ１６−５〜１６−８を含んでいる。次いで、２つのチェインのシフトレジスタ１６−４及び１６−５は、シフトレジスタ１６−５がその出力をシフトレジスタ１６−４に直接供給するようにシリアルに接続される。
【００２１】
さらに、図２は２つのシフトレジスタのチェイン１２−１及び１２−２を含むポータル１１を例示しているが、ポータルは、いずれかの数のシフトレジスタアレイを含んでいる場合がある。さらに、シフトレジスタアレイ１２−１及び１２−２は、１つのＭ×Ｎアレイに結合され、Ｍはシリアルに接続されたシフトレジスタのチェイン数であり、ｎはそれぞれのチェインにおけるシフトレジスタの数である。たとえば、図２の実施の形態では、シフトレジスタ１２−１及び１２−２は、シングル２×８アレイに結合される。代替的な実施の形態では、アレイの幅及び長さは、本発明の範囲から逸脱することなしに、システム設計者により望まれるサイズとすることができる。シフトレジスタアレイの幅及び長さを異ならせる利点は、後に更に詳細に説明される。
【００２２】
制御信号発生器はポータル１１の外部にあるとして例示されているが、制御信号発生器１５はポータル１１又はマイクロプロセッサ２０に含まれる場合があるか、又は制御信号は、ある外部ソース（図示せず）から受信される場合がある。制御信号は、制御信号発生器１５の例示となる実施の形態と共に、後に更に詳細に説明される。
【００２３】
さらに、１以上のポータル１１がシングルチップに実施される場合がある。さらに、ポータル１１に加えて、チップは、制御信号発生器１５及び／又は記憶装置１０を含んでいる場合がある。たとえば、図２の実施の形態に関して、シングルチップは、ポータル１１、制御信号発生器１５、及び記憶装置１０−１〜１０−２を含んでいる場合がある。かかるチップは、記憶装置１０とポータル１１の間の全てのコネクションがチップの内部にあるため、記憶装置１０−１及び１０−２からマイクロプロセッサ２０にデータを読み出すための２つの入力／出力を必要とする。対照的に、記憶装置１０−１及び１０−２並びにポータル１１が異なるチップ上に実施される場合、記憶装置１０とポータル１１との間に１６のコネクションが存在する。このように、同じチップ上にポータル１１と記憶装置１０を含むことで、記憶装置からデータを検索するために必要なＩ／Ｏコネクションの数が低減される場合がある。メモリＩ／Ｏ及びポータルＩ／Ｏにより、個々のチップの設計の制約がなくなり、全ての係るバスが内部にあるので、メモリのための広いＩ／Ｏが利用される場合がある。
【００２４】
図３は、それぞれがリングを形成するようにシフトレジスタのチェイン１２−１及び１２−２が接続される簡略化された図を例示している。かかるメカニズムは、米国特許第５，６０４，６８２号、第５，６３６，１３９号、第５，５８１，４７９号及び第６，３５６，９７３号に記載されるような、ストレージリングをロードするために使用することができ、そのデータは、引用により全体としてそのまま本明細書に盛り込まれる。たとえば、例示されるように、図３のリングは、リングを形成するための直列に相互接続される複数のシフトレジスタ１６を含んでいる。４つのポータル１１が例示されており、複数のシフトレジスタを２つの記憶装置１０にそれぞれ接続している。さらに、入力／出力コントローラ３１が例示されており、このコントローラは、リングから別の装置にデータを送出し（リードデータ）、及びデータがリングを循環し及び／又は１以上の記憶装置１０に書き込まれるようにデータをリングに挿入するために使用される。
【００２５】
また、Ｉ／Ｏコントローラ３１は、リング、ポータル及び記憶装置をクロック及び／又は制御するため、他のソース（図示せず）からのクロック信号及び制御信号を受信する場合がある。当業者であれば、これは、メモリ装置が先に引用された特許出願に記載されるようなリングから情報を読出し又は書き込みするために使用される１つの例示的な実施の形態であること、及びいずれかの数の記憶装置、シフトレジスタ、パラレルリング及びＩ／Ｏコントローラ３１が実現される場合があることを理解されるであろう。
【００２６】
図４は、提供される方法及びシステムに係る、記憶装置１０のＩ／Ｏピン１４とシフトレジスタチェイン１２のシフトレジスタ１６の間のコネクションに関する更に詳細な図を与えている。より詳細には、図４は、図２に例示されるもののように、記憶装置１０のピン１４をシフトレジスタのチェイン１２のｊ番目のシフトレジスタ１６−ｊを接続するための手段を例示している。記憶装置１０の各ピン１４をシフトレジスタのチェイン１２の対応するシフトレジスタ１６に接続するために使用される類似の接続が使用される場合がある。
【００２７】
図４に例示されるように、シフトレジスタ１−ｊ６は、マスタークロックからの信号を受信する伝送ゲート３２、スレーブクロックから信号を受信する伝送ゲート３６、並びに２つのインバータ３４及び３８を含んでいる。伝送ゲートは、「パスゲート」と呼ばれることもある。コネクション回路１７は、インバータ４０、リードロード信号（ＲＰＬ）を受信する伝送ゲート４２、リードパス信号（ＲＰｉ）を受信する伝送ゲート４６、記憶装置からデータを読み取るためのインバータ４４を含んでいる。コネクション回路１７は、メモリに書き込まれるべきデータを最初に送出するために伝送ゲート５６を含んでおり、完全な信号強度を回復するインバータ５４、及びＷＰＬ制御入力によりアクティブインバータとなる反転トリステートバッファ５２が続く。トリステートバッファは、アクチベートされないとき（容量性の浮動点出力）高インピーダンスを与える。図４は、タイミングパルス発生回路１５がポータル１１の外部にあることを図２は例示し、図４は仮定しているが、先に記載されたこの回路は、コネクション回路１７に関する拡張された記載としてポータル１１に含まれている場合がある。
【００２８】
図４では、シフトレジスタ１６−ｊは、レジスタ内に１及び０を記憶するために「ラッチ」の代わりに伝送ゲート（パスゲートとも呼ばれることがある）を使用するため、「ダイナミックシフトレジスタ」と呼ばれる場合がある。図６は、後に記載されるが、シフトレジスタ１６−ｊがラッチを使用する実施の形態を例示している。ダイナミックシフトレジスタは、連続的に再充電される必要があるか、又は電荷が移動されるか、若しくは電荷が失われる。「ラッチ」モードでは、クロスカップルド・インバータは、利得、及び電源が維持される限り記憶された情報を自動的な再充電を提供する。伝送ゲートの出力側のダイナミックストレージは、ダイナミックチャージが部分的に垂れ流されるときでさえ、その利得がフルレベルの１又は０を提供するように、フォロウアップインバータを使用することが好ましい。
【００２９】
伝送ゲート４２並びに読み出し及び書き込みのそれぞれのためのトリステートバッファ５２、並びに記憶装置１０は、同じ記憶装置１０について同時の読み出し及び書き込みをシステムが許可しないので、決して同時にアクチベートされないことが好ましい。少なくとも１つのこれら伝送経路が常に開いていることが好ましいので、コネクション回路１７のライトチャネルからリードチャネルへ、又はコネクション回路１７のリードチャネルからライトチャネルへのデータのループバックがない。リードチャネルでは、２つの伝送ゲート（４２及び４６）及び２つのインバータ（４４及び３４）は、フルステージのＤレジスタ（又はダイナミックシフトレジスタ）として作用し、ＲＰＬは、マスタークロックの役割を果たし、ＲＰｉは、スレーブクロックの役割を果たす。伝送ゲート５６及びインバータ５４は、ダイナミックＤレジスタ（又はダイナミックシフトレジスタ）の第一の半分を表し、ＷＰｉは、マスタークロックの役割を果たす。レジスタのスレーブの半分について対応する半分のステージは、その出力の常にアクティブのインバータがメモリによりリードアウトが提供されるときはいつでもＩ／Ｏインタフェースの制御について「争っている」ので、必要でないか又は望まれない。この問題は、共通のＩ／Ｏをもつメモリ内の状況に対応する。メモリを離れるいずれかのリードデータについてトリステートバッファを利用することでメモリにおいて解決することができる。図４では、１７のライトチャネルがメモリの内部のリードチャネルに等価であるので、トリステートバッファ５２は、１７のライトチャネルの出力として挿入される。
【００３０】
ＲＰｉ及びＷＰｉパルスのフレキシビリティに沿ったメモリ動作にＲＰＬ及びＷＰＬの同期が後に記載される。全てのＲＰｉパルス（ＷＰｉ）は、ＲＰＬパルス（ＷＰＬ）に関して同じタイミングを有するか、全てが異なるタイミングを有するか、又はそれぞれがその間で変化を有する場合がある。しかし、ＲＰＬ及びＷＰｉパルスがマスタークロックパルスに等価であるので、ＲＰＬパルスがＲＰｉパルスに先行し、ＷＰｉパルスがＷＰＬパルスに先行することが好ましい。これらのタイミングパルスは、シフトアレイのＭＣ及びＳＣクロックパルスに関して適切に計時することができる。このタイミングは、ハードウェア（ＨＷ）設計によるか、又はソフトウェア（ＳＷ）制御と結合されたＨＷ設計により設定される場合がある。ゲート４６及び５６の特定のレジスタサイトへの接続は、（図４におけるように）ＨＷ設計によるか、ＳＷ制御と結合されるＨＷ設計により設定される場合もある。
【００３１】
図４について記載されている全てのダイナミック（チャージストレージ）回路は、従来の「ラッチレジスタ」により置き換えることができる。ダイナミックレジスタは、それらの低減されたトランジスタのカウントのために有効である。また、代替的な制御回路１７のＨＷコンフィギュレーションが記憶されたメモリデータを反転するかは重要でない。しかし、反転の数がリードチャネルにおけるのとライトチャネルにおけるのと同じであることが好ましい。これは、ライトチャネルにおけるトリステートバッファ５２が非反転バッファよりはむしろ反転バッファであるからである。
【００３２】
図５は、提供される方法及びシステムに係る、図４のコネクションについてクロック信号を例示している。特に、図５は、マスタークロック信号（ＭＣ）、ライトパス信号（ＷＰｉ）、ライトロード信号（ＷＰＬ）、リードロード信号（ＲＰＬ）、リードパス信号（ＲＰｉ）、及びスレーブクロック信号（ＳＣ）を例示している。クロック及び制御信号は、マイクロプロセッサ、個別の回路、これら２つの組合せにより提供される場合がある。たとえば、図２では、マイクロプロセッサ２２はクロック信号を提供し、個別の制御信号発生回路１５は制御信号を生成する。この図におけるタイミングパルスは、ローディング（リード又はライト）動作がシフト動作を中断しないことを保証する。ライトデータは、記憶装置１０に書き込まれたときでさえ、アレイを通してシフトし続ける。リードデータは、アレイがさもなければアレイを通してシフトする、アレイにおけるデータを自動的に上書きする。
【００３３】
図４及び図５を参照して、メモリ装置１０からシフトレジスタ１６にデータを読み出すためのリード動作が記載される。はじめに、記憶装置１０には、読み出されるべきデータのアドレスが提供される。このアドレスは、マイクロプロセッサから提供されるか、又は個別のコントローラ（図示せず）により提供される場合がある。次いで、記憶装置１０は、データをそのＩ／Ｏピン１４にラッチする。ＲＰＬ信号は、メモリについて「出力有効」時間の中心となるように計時されるのが好ましい。これにより、ＤＲＡＭ、ＳＤＲＡＭ又は他のタイプの記憶装置が使用される場合であれば何であってもその自然のドリフト又はエージングを可能にする。ＲＰｉが狭いサンプリングパルスであるので安定な出力を有することが好ましい。ＲＰｉは、電荷を伝送ゲート４２の出力側に伝送し、メモリ出力をインバータ４４の出力に伝送する。ＲＰｉがオフになったときでさえ、及びメモリ出力それ自身が変化した場合であっても、本来サンプリングされた出力は、伝送ゲート４６の入力側で利用可能である。
【００３４】
マスタークロック信号（ＭＣ）がハイになったとき、入力信号（Ｄｉｎ）は、伝送ゲート３２を通過し、その反転が伝送ゲート３６の入力側に提供される。一般に、Ｄｉｎ信号は、シフトレジスタチェイン１２の先行するシフトレジスタ１６からシフトレジスタ１６を通過する信号である。したがって、情報が記憶装置から読出し又は記憶装置に書き込まれていないとき、データは、マスター及びスレーブクロック信号によりチェインにおいてあるシフトレジスタから次のシフトレジスタにクロック（信号のタイムが記録）される場合がある。
【００３５】
このケースでは、しかし、データが記憶装置１０から読み出される。したがって、マスタークロック信号（ＭＣ）がロウになった後、及びスレーブクロック（ＳＣ）がハイになる前、リードパス信号（ＲＰｉ）はハイになり、インバータ３４を通してメモリ装置１０からのデータを伝送ゲート３６に通過させ、これにより、伝送ゲート３２を通して前にクロックされたＤｉｎデータを上書きする。ＲＰｉは、４４と４６の間のノードに記憶されるデータを伝送ゲート３２とインバータ３４の間のダイナミックノードに伝送する狭いサンプリングパルスであることが好ましい。チャージングは、Ｄｉｎ及びＭＣのアクションからのいずれか記憶された電荷を置き換える（上書きする）。インバータ３４は、（オリジナル）メモリデータの反転を伝送ゲート３６の入力側に提供する。つぎに、スレーブクロック（ＳＣ）はハイになり、データはインバータ３８を通して、シフトレジスタのチェイン１２の次のシフトレジスタ１６−ｊ＋１に送出される。次いで、データは、マイクロプロセッサ２０に到達するまで、マスター及びスレーブクロック信号に従ってそれぞれのシフトレジスタ１６から次に通過する場合がある。
【００３６】
図４及び図５を参照して、記憶装置１０にデータを書き込むための書き込み動作が説明される。はじめに、データは、前のシフトレジスタ又は他のソースからＤｉｎを介してシフトレジスタ１６にクロックされる。ＭＣがハイになる前の周期において、このデータは伝送ゲート３２への入力で保持される。ＷＰｉがハイになった場合、ＭＣがハイになる前に、Ｄｉｎで保持されているデータは伝送ゲート５６を通過し、その反転がインバータ５４と取りステートバッファ５２の間のノードに存在する。
【００３７】
生じるべき次のパルスは、伝送ゲート３２に印加されるマスタークロックである。入力ノードで記憶されていたデータは５６と５４との間にあるノードに転送されていないが、そのノードが前のステージの出力インバータにより保持されるその電荷を有し続けることが好ましいので、データはオリジナルの入力ノードになお存在する。したがって、ライトデータは、それ自身ライト動作により影響されず、ライト又はリード動作なしにちょうどデータがあったチェインに転送される。このライトデータは、他のメモリでの次のライトダウンストリームため、又はシフトレジスタチェインの終わりでの転送のために使用されるか、使用されない場合がある。
【００３８】
ＷＰＬがハイになったとき、ＭＣがロウになったのち、トリステートバッファ５２は、ＷＰＬによりアクチベートされる。これは反転バッファであるので、入力Ｄｉｎでのオリジナルのライトデータは、出力Ｉ／Ｏピン１４に提供される。ＷＰＬは、メモリＩ／Ｏが安定であって入力ライトデータにとって受けることができるときに印加されることが好ましい。まさにＲＰＬについて、ＲＰＬのタイミングは特定のメモリを収容するために調節することができ、ＤＲＡＭ、ＳＲＡＭ又はいずれか他のタイプの記憶装置について信頼性高く計時することができる。次いで、記憶装置は、記憶装置のアドレスピン（図示せず）を介して受信されたアドレスでメモリに信号を書き込む場合がある。このメモリアドレスは、マイクロプロセッサにより提供されるか、個別の制御回路（図示せず）により提供される場合がある。
【００３９】
リードのための４つのパルス系列ＲＰＬ，ＭＣ，ＲＰｉ，ＳＣ、及びライトのための４つのパルス系列ＷＰｉ，ＭＣ，ＷＰＬ，ＳＣは、２つの隣接する伝送ゲートが同時に「オン」になることがない（閉じることがない）４相システムとなる。そのＭＣ及びＳＣのクロッキングによるシフトレジスタアレイは、リード及びライト動作により影響されない状態を継続する。複数のＭＣ（及びＳＣ）パルスは、順序が維持される限り、ＲＰＬの後及びＲＰｉの前に生じる場合がある。複数のＭＣ（及びＳＣ）パルスは、ＷＰｉの後及びＷＰＬの前にも生じる場合がある。
【００４０】
また、図５は、全てのＲＰｉパルスが同時に生じることがなく、全てのＷＰｉパルスが同時に生じることのないことを示している。後の議論は、ハードウェア（ＨＷ）設計が固定されたアプリケーションのための様々なＲＰｉ（又はＷＰｉ）パルスを提供することができることを示している。セレクタ及びソフトウェア（ＳＷ）制御をもつＨＷ設計は、一般的なやり方でＲＰｉ（ＷＰｉ）における変化のためのフレキシビリティを提供することができる。図４は、メモリからシフトレジスタのアレイへのリード及びライトチャネルがハードワイアリングにより固定されることを意味している。これは一般的なケースであるが、メモリからシフトレジスタノードへの可変の接続を許容するセレクタ及びＳＷ制御をもつＨＷ設計を利用することも可能である。
【００４１】
図４は、シフトレジスタの「アレイ」が唯一のシフトレジスタのチェインから構成されることを意味することが意図されていない。複数のチェインは、真のＭ×ｎアレイを形成するために並列に配置することができ、この場合、Ｍはパラレルチェインの数に等しく、ｎは（等しい長さであると仮定される）それぞれのチェインにおけるレジスタの数に等しい。積Ｍ＊ｎはメモリを介して同時にアクセスすることができる全体のレジスタ数に等しい。たとえば、６４出力ビットをもつシングルメモリについて、専用のアレイは１×６４（シングルチェイン）、２×３２（２つのパラレルチェイン）、４×１６、８×８、１６×４、３２×２又は６４×１である。Ｍを選択するために１つの方法は、その後の説明で考慮される。他の実施の形態では、シフトレジスタのアレイは、いずれかの数のシフトレジスタ及びいずれかの数のパラレルチェインを有する場合がある。たとえば、２×３４，１×６５，６×９等のアレイは、６４出力を持つシングルメモリにアクセスするために使用される場合がある。
【００４２】
図４及び図５は、書込みがアレイにおけるアップストリームで実行され、読出しがダウンストリームで実行されない限り、同時ではないが読出し及び書込みの両者について使用することができるシフトレジスタのアレイのケースを与えている。後の説明は、書込み専用のシフトレジスタのアレイが読出し専用のシフトレジスタのアレイから分離されている代替的な実施の形態を与えている。これにより、１つの（又は１を超える）記憶装置で書込みが行われ、１以上の他の記憶装置で読取りが同時に行われる。
【００４３】
図６は、提供される方法及びシステムに係る、記憶装置１０のピン１４とシフトレジスタ１６を接続するために代替的なメカニズムを例示している。この実施の形態では、伝送ゲートの代わりに、相補的な金属酸化膜半導体（ＣＭＯＳ）ラッチシフトレジスタが使用される。
【００４４】
特に、図６の実施の形態の接続回路１７は、伝送ゲート４２、インバータ４０，４４，６４及び８４、反転トリステートバッファ５２、並びにラッチレジスタ６２及び８２を含んでいる。
【００４５】
さらに、シフトレジスタ１６は、インバータ７６、ＮＡＮＤゲート６８，７０，７２及び８０、並びにラッチシフトレジスタ７４及び７８を含んでいる。ＮＡＮＤゲート６８は、その入力としてラッチシフトレジスタ６２からの出力、及びリードパス信号（ＲＰｉ）を受ける。ＮＡＮＤゲート６８の出力は、ＮＡＮＤゲート７２に接続される。ＮＡＮＤゲート７０は、他の入力をＮＡＮＤゲート７２に提供する。ＮＡＮＤゲート７０は、その入力としてマスタークロック信号（ＭＣ）及び前のリード／ライトシフトレジスタ（Ｄｉｎ）からの信号を受ける。ＮＡＮＤゲート７２の出力は、Ｓ入力としてシフトレジスタ７４に供給し、その反転をＲ入力として供給する。ラッチシフトレジスタ７４の出力は、ラッチシフトレジスタ７８への入力として供給する。また、ラッチシフトレジスタ７８は、スレーブクロック信号（ＳＣ）を受ける。
【００４６】
さらに、記憶装置に情報を書き込むため、ＮＡＮＤゲート８０は、その入力としてライトパス信号（ＷＰｉ）及びＤｉｎを受ける。ＮＡＮＤゲート８０の出力は、コネクション回路１７のラッチレジスタ８２に送出される。ラッチレジスタ８２からの出力の反転は、次いで、トリステートバッファ５２への入力として使用される。ラッチレジスタ８２の反転が使用されるため、インバータの必要がない。
【００４７】
図６の実施の形態の読出し及び書込み動作は、前に記載された図５に例示されるクロック信号を使用して実行される場合がある。この実施の形態の読取り及び書込み動作は、図４及び図５に記載されたのと同じやり方で実行されるのが好ましい。
【００４８】
図７は、提供される方法及びシステムに係る、図４に例示される記憶装置１０のＩ／Ｏピン１４とシフトレジスタのチェインのシフトレジスタ１６との間のコネクションに対する変更を例示している。図７は、１７のそれぞれのリード及びライトチャネルにおける伝送ゲート４６及び５６に先行する２つの更なるインバータ（４７及び５７）を除いて、コネクション回路１７は、図４におけるコネクション回路と同じである。これらのインバータは、これらの伝送ゲート４６，５６及び３２を互いに切り離す。メモリ１０に記憶されたデータは、この例では、ライトチャネルにおける反転の数が１７のリードチャネルにおける反転の数になお等しいので、オーバラップすることのない実際のデータの反転であり、これは重要ではない。さらに、シフトレジスタ１６−ｊは、図４のシフトレジスタと本質的に同じである。図４と図７との間で本質的に異なるのは、図７が図４の４相スキームよりはむしろ標準的な２相パルススキームを利用していることである。シフトレジスタのアレイにおけるデータシフトは、書込み及び読出し動作のため、割込みなしで継続する。ＲＰＬは、生じたときに、ＭＣと同時に起こることが好ましく、ＲＰｉは、生じたときに、ＳＣと同時に起こることが好ましい。ＷＰｉは、生じたときに、ＭＣと同時に起こることが好ましく、ＷＰＬは、生じたときに、ＳＣと同時に起こることが好ましい。
【００４９】
図８は、提供される方法及びシステムに係る、図７のコネクションについてクロック及び制御信号を例示している。例示されるように、マスタークロック信号（ＭＣ）は、（図５におけるように）周期的な信号であり、スレーブクロック信号（ＳＣ）は、マスタークロック信号（ＭＣ）の反転である。リードロード信号（ＲＰＬ）は、マスタークロック（ＭＣ）パルスと同時に起こる。リードパス信号（ＲＰｉ）は、リードロード信号（ＲＰＬ）に続いて生じ、スレーブクロック（ＳＣ）パルスと同時に起こる。さらに、ライトパス信号（ＷＰｉ）は、マスタークロック（ＭＣ）パルスと同時に起こる。ライトロード信号（ＷＲＬ）は、ライトパス信号（ＷＰｉ）に続いて生じ、スレーブクロックパルス（ＳＣ）と同時に起こる。
【００５０】
図８では、ＷＰｉパルスは、同時に起こるＭＣパルスと「相関付けされる」と考えられ、ＷＰＬパルスは、同時に起こるＳＣパルスと相関付けされ、ＲＰＬパルスは、同時に起こるＭＣパルスと相関付けされ、ＲＰｉパルスは、同時に起こるＳＣパルスと相関付けされる。用語「相関“ｃｏｒｒｅｌａｔｉｏｎ”」とは、それぞれのパルスを使用して記憶装置から読み出されたデータ又は記憶装置に書き込まれたデータがシフトのみが行われているようにシフトレジスタがそのシフトを維持するようなやり方で読出し又は書き込まれるように、ＷＰｉ，ＷＰＬ，ＲＰＬ及びＲＰｉパルスが計時されることを意味する。すなわち、記憶装置にデータを書き込むか又は記憶装置からデータを読み出す間、シフトレジスタがそのシフト周波数を維持するように、パルスが計時される。更なる例として、図５では、ＷＰＬパルスは、それに続くＭＣパルスと相関付けされ、ＷＰｉパルスは、それに続くＳＣパルスと相関付けされ、ＲＰｉパルスは、それに続くＳＣパルスと相関付けされる。
【００５１】
図７の回路の読出し及び書込み動作は、図８のクロック及び制御信号が図７の回路の動作のために使用される場合があることを除いて、図４のそれらに対応している。図８におけるパルス波形は、ＲＰｉパルスが１つであって、ＲＰＬパルスの１．５クロックサイクル後であり、ＲＰＬはＭＣと同時に起こり、ＲＰｉはＳＣと同時に起こる。しかし、いずれか又は全てのＲＰｉパルスは、たとえば、ＲＰＬの整数ｎと２分の１（ｎ＋１／２）クロックサイクル後で生じる場合があり、ｎはゼロよりも大きいか又は等しい。さらに、この例では、ＷＰＬパルスは、ＷＰｉパルスの１．５クロック周期後に生じ、ＷＰｉはＭＣと同時に起こり、ＷＰＬはＳＣと同時に起こる。しかし、ＲＰｉによれば、ＷＰＬは、ＷＰｉパルスの整数ｎと２分の１（ｎ＋１／２）クロックサイクル後に生じる場合があり、ｎはゼロよりも大きいか又は等しい。
【００５２】
図７と図４との間の違いは、ＮＯＲゲート４１及びインバータ３９の挿入である。ＮＯＲゲート４１は、ＲＰｉがアクティブであるときは何時でも伝送ゲート３２へのマスタークロックパルスＭＣの印加を無効にする。伝送ゲート３２がディスエーブルになることは、書き込みの間に生じることはなく、したがって書き込みデータは図４におけるようにダウンストリームで継続する。１７におけるライトチャネル及びライト動作は、ＷＰｉ及びＷＰＬパルスが広いことを除いて、及びメモリに記憶されるデータの付随して起こる反転を除いて、図４におけるのと同じである。最後の結果が図４についてと同じであるが、ＮＯＲゲートの存在により影響されるリード動作である。図４では、ＭＣがアクティブであるとき、伝送ゲート２１とインバータ３４との間のノードに記憶されるダイナミックチャージは、ＭＣがロウになり、ＲＰｉがハイになるときに上書きされる。図４における伝送ゲート４６及びインバータ４４は、（３２と３４との間の）このノードの完全な制御を有し、該ノードをリードデータで上書きする。図７では、ＮＯＲゲートが利用されない場合に生じる場合があるように、ＭＣ及びＲＰｉが両者同時にハイである場合、インバータ４４及び３０はノードの制御を争う。伝送ゲート３２をディスエーブルにすることで、アクティブな伝送ゲート４６にノードの完全な制御が与えられる。インバータ３７−１及び３７−２によるスレーブクロックの２つの反転が必要ではない場合があり、インバータ３９及びＮＯＲゲート４１はＭＣの２つのゲート遅延を必要とするので、ＭＣ及びＳＣクロックがオーバラップしないことを単に保証する。記憶装置をシフトレジスタと接続するための図４〜８の実施の形態は例であるが、当業者であれば、他のメカニズムがコネクション回路１７及びシフトレジスタ１６のために利用される場合があることを認識されるであろう。
【００５３】
図９は、提供される方法及びシステムに係る、単一又は複数のＲＰｉパルスと共に単一のＲＰＬパルスを発生するための多用途の回路を例示している。この制御回路は、図２で参照された制御信号発生器１５で利用される場合がある。例示されるように、回路は、マスタークロック（ＭＣ）によりクロックされる伝送ゲート１１２，１１６，１２０，１２４及び１２８、並びにスレーブクロック（ＳＣ）によりクロックされる伝送ゲート１１４，１１８，１２２及び１２６を含んでいる。さらに、回路は、インバータ１３０，１３２，１３４，１３６，１３８，１４０，１４２，１４４，１４６，１４８，１５０，１５２，１５４，１５６及び１５８を含んでいる。また、回路は、ＮＡＮＤゲート１６０，１６２，１６４，１６６及び１６８、並びにＮＯＲゲート１７０を含んでいる。回路は、その入力として、ポータル１１が記憶装置１０からデータを読み取るべきときにハイになるリード発生信号（ＲＰＧｅｎ）を受ける。ＲＰＧｅｎ信号は、メモリについて低い周波数の制御クロックと一致する複数のマスタークロックサイクルのサイクルだけ続く長いパルスであることが好ましい。マイクロプロセッサ２０は、ＲＰＧｅｎ信号を発生するか、又は分離制御回路がこの信号を発生する場合がある。さらに、マスタークロック（ＭＣ）がマイクロプロセッサ２０により発生されるか、又は分離制御回路により発生される場合がある。
【００５４】
図９はＡ，Ｂ，Ｃ，Ｄ及びＥとしてラベル付けされる５つの可能性のあるパルスを発生する回路を例示しているが、シフトレジスタのチェインを長くすることで、より多くのパルスが発生される場合がある。様々な出力パルス（Ａ，Ｂ，Ｃ，Ｄ又はＥ）の中から、ＲＰＬ及びＲＰｉ信号を選択するため、セレクタ（図示せず）又は信号を選択するための如何なるタイプの回路が利用される場合がある。たとえば、例示されるパルスのうち、ＲＰＬパルスがパルスＡ，Ｃ又はＥのいずれかから選択されることが好ましい。ＲＰｉパルスは、ＲＰＬに続くことが好ましい。したがって、たとえば、ＲＰＬがパルスＡとして選択された場合、ＲＰｉパルスは、Ｂ又はＤとして選択されることが好ましい。さらに、たとえば、ＣパルスがＲＰＬパルスとして選択された場合、ＤはＲＰｉパルスについて選択されることが好ましい。
【００５５】
ＲＰｉパルスの可変のタイミング機能の１つの用途は、２つの異なるデータストリームの間の同期調整用であり、これらのうちの一方は、遠い位置にある場合がある。同期調整の例は、同期されるように、２つのデータパケットにおける開始バイトのアラインメントである。ＲＰｉは、プラス又はマイナスｎ／２クロック周期の調整レンジを有し、いずれかのリードデータがシフトレジスタの出力に現れる時間は、安定のメモリ出力とのそれ自身のアラインメントにおいてＲＰＬが最適化されたままの間であるとしても、ＲＰｉのタイミングを単に調整することで変化させることができる。
【００５６】
以下は、ＲＰＬ，ＲＰｉ，ＷＰＬ及びＷＰｉ信号を発生するためのこの例示的な回路の動作の簡単な外観を提供し、ポイントＰ及びＲとしてラベル付けされる回路における様々なポイントへの特定の参照をなすものである。ＲＰＧｅｎ入力からＲとしてラベル付けされるポイントに延びる最初の２つの伝送ゲート１１２及び１１４、並びに対応するインバータ１３０及び１３２は、その後の動作における同期を保証するため、入力パルスＲＰＧｅｎを再び成形する。Ｐとラベル付けされたポイントでの回路により発生された波形は、１クロック周期に等しい長さの正のパルスであることが好ましい。次いで、このパルスは、レジスタのチェインに移動し、それぞれＮＡＮＤ／インバータの組み合わせで、２分の１のクロックサイクルのＲＰＬ及びＲＰｉパルスを生成する。
【００５７】
図１０は、Ａ，Ｂ，Ｃ，Ｄ及びＥとしてラベル付けされるパルスと共に図９のＲ及びＰとしてラベル付けされる回路のポイントでの信号を例示しており、図９の回路がどのようにこれらのパルスを発生するかに関する理解における助けとするために提供されている。先に説明されたように、ＲＰＬ及びＲＰｉ信号は、これらのパルスから選択される場合がある。例示されるように、パルスＡは、たとえば、第一のＲＰＬパルスとして選択される場合があり、ＭＣパルスと同時に起こり、ＭＣパルスによりＲＰＧｅｎの捕捉の正確に１クロックサイクル後になる。
【００５８】
ライト制御信号（ＷＰＬ及びＷＰｉ）に関して、図９の回路は、回路への入力が記憶装置１０にデータを書き込むことが望まれるときにハイになるライト発生信号（ＷＰＧｅｎ）であることを除いて、これらの信号を発生するための使用される場合もある。さらに、かかる実現では、可能性のあるＷＰｉパルスのタイミングは、先の説明（Ａ，Ｃ，Ｅ，．．．）におけるＲＰＬと関連されるパルスタイミングと対応し、ＷＰＬタイミングは、先の説明（Ｂ，Ｄ，．．．）におけるＲＰｉと関連されるパルスタイミングと対応する。一般に、ＷＰＬパルスのみが存在するので、及びＷＰＬの前にＷＰｉが生じることが好ましいので、ＢというＷＰＬ選択は、その関連されるＷＰｉとしてＡという１つの選択にし、ＤというＷＰＬ選択は、Ａ又はＣ等といった２つの選択にする。より多くの選択は、より長いシフトレジスタのチェインを必要とする。
【００５９】
図９の回路は、マイクロプロセッサ２０に含まれるか、ポータル１１に含まれるか、１７に関連される分離制御回路である場合がある。これは、図５及び図８に例示されるような制御信号を発生するための回路の１例であるが、当業者であれば、これらの信号を発生するために利用される場合がある様々な他の回路及びこの回路のバリエーションが存在することを認識されるであろう。
【００６０】
図１１は、提供される方法及びシステムに係る、ＲＰｘ及びＷＰｘパルスを発生するために利用される場合がある１つの代替的な例となる回路を示している。この回路は、図２に例示される制御信号発生器回路１５で利用されている。例示されるように、この回路は、図９の回路のフロントエンド部分と同一であるフロントエンド部分２０１を含んでいる。次いで、このフロントエンド部分２０１の出力は、この例では、パルス信号Ａ〜Ｐを生成するループ２０３に供給される。
【００６１】
図９では、ＲＰＧｅｎ（又はＷＰＧｅｎ）は、新たなデータ出力をメモリが提供するたびに外部ソースから回路に入力されることが好ましい。しかし、シーケンシャルな順序でメモリの多くの出力バイトについてメモリにアクセスすることが望まれる場合がある。図１１の例となる回路では、回路１５は、ＲＰＧｅｎ要求パルスを受信することに応答して、それぞれのメモリ出力サイクルについて新たなＲＰｘ（又はＷＰｘ）パルスを連続的に発生する場合がある。完全な周期パルスは、図９におけるのと同じやり方で形成されるが、このパルスは、休止信号がループ２０１に印加されるまで回路の周りでループし続ける。休止信号は、読出し又は書きこみ動作が休止される場合があることを示すため、ＲＰＧｅｎ信号を供給するソースのような。外部ソースから回路により受信される場合がある。
【００６２】
この回路では、記憶装置からシフトレジスタのチェイン１２に８クロックサイクル毎にＭ＊８ビットがロードされ、次いで、記憶装置からシフトレジスタのチェインにロードされる新たなデータのセットの前に、シフトレジスタのチェインからシリアルにクロックされる。たとえば、図２を参照して、記憶装置１０−１及び１０−２から８ビットのデータがそれぞれロードされる２つの８ビットのパラレルシフトレジスタのチェイン１２−１及び１２−２が存在する。代替的な実施の形態では、記憶装置からのデータがロードされるそれぞれのチェインにおけるシフトレジスタの数が大きい場合、ループは単に長くなる場合がある。
【００６３】
回路の動作は、ノード２０５でのループの終了、ＮＯＲゲート１７０及び１７２の間の（伝送ゲート２５４，２５６及びインバータ２５８及び２６０を有する）更なるフルステージシフトレジスタ、及び２つの連続したＮＯＲゲート１７２及び１７４の存在を除いて、図９の動作に対応する。伝送ゲート２５４及び２５６を有する更なるシフトレジスタステージは、４つのアクティブロジックゲートのシーケンスに関連する更なる遅延が存在することなしにパイプラインの中断を生じる。このシフトレジスタは、必要とされないが、シフトレジスタループを通してループする完全な周期のパルスにより鋭い波形を提供する。ＮＯＲゲート１７２は、更なるシフトレジスタから１方の入力を受け、ループを完成するループバック信号から一方の入力を受ける。ＮＯＲゲート１７４は、ＮＯＲゲート１７２から入力を受け、休止信号が完全なループサイクルについてハイを保持するときにフルサイクルのパルスを循環するのを停止する外部の休止信号から入力を受ける。ＲＰＧｅｎ（又はＷＰＧｅｎ）信号の反転は、休止信号を提供するための便利な方法である。すなわち、タイミングパルスが継続されるべき完全な時間長についてＲＰＧｅｎがハイに保持され、その負になる反転は、ＲＰＧｅｎが再びハイになるまで連続的に印加される休止信号としての役割を果たす。
【００６４】
ＮＡＮＤゲート２５２〜２８２に入力されるＳｅｌＡ，ＳｅｌＢ等は、電源バスに接続するＨＷによりアクチベートされるか、適切なＲＰＸ及びＷＰｘを選択するためにＳＷにより選択される。それら選択のチョイスは、関連される記憶装置の公知の特性により、又は後に説明されるようなキャリブレーションテストにより決定される場合がある。これらのパルスのタイミングを選択及び変更する能力は、このアーキテクチャの設計のフレキシビリティに加わる。
【００６５】
以下は、先に記載された方法及びシステムを使用して達成可能な帯域幅の能力のうちの幾つかに関する一般的な説明を与えるものである。以下の記載は、ＤＲＡＭを引用する。しかし、類似の結果がいずれかのタイプの記憶装置で達成される場合がある。
【００６６】
従来のシステムでは、ＤＲＡＭからのデータビットは、ＤＲＡＭのキャッシュに読み出され、次いで、マイクロプロセッサへの転送のために幅Ｂのバスに直接転送される。ここで、Ｂは、ＤＲＡＭのデータＩ／Ｏピン数に等しい（又は、複数のＤＲＡＭが同時に使用されている場合には、複数のＤＲＡＭ）。かかるシステムでは、かかるキャッシュの全体のスループットは、Ｂ／ｔＣＹＣＬＥよりも決して大きくならず、ここで、ｔＣＹＣＬＥは、ＤＲＡＭのサイクル時間である。ＤＲＡＭが同期ＤＲＡＭ（すなわちＳＤＲＡＭ）ではない場合、ｔＣＹＣＬＥは、チップ、寿命、温度、電圧供給の変動等の間のパラメータの違いに依存する変数である。
【００６７】
したがって、Ｂの幅のバスのそれぞれのワイヤは、ｔＣＹＣＬＥのホールド時間を有する。言い換えれば、Ｂの幅のバスのそれぞれのワイヤは、１／ｔＣＹＣＬＥの周波数で動作し、毎秒１／ｔＣＹＣＬＥビットのスループットを有する。全ての（Ｂ）ワイヤにわたって合計される全体のスループットがＢを増加することで増加される場合があるが、個々のワイヤ当たりのスループット、又はそれぞれのワイヤの帯域幅の能力は、１／ｔＣＹＣＬＥに制限されたままとなる。シフトレジスタのアレイは、それぞれの出力ワイヤのスループットを結合された技術のフルリミットに等しくするのを可能にし、より少ない数のワイヤにより同じ全体のスループットを生じるのを可能にする。
【００６８】
８つのデータＩ／Ｏピンを有する２つのＤＲＡＭがかかる従来のシステムで使用され、ｔＣＹＣＬＥが２０ナノ秒であるとすると、マイクロプロセッサへの最大のスループットは、８００メガビット／秒（１６／２９ナノ秒）である。しかし、１６バスのそれぞれは、１／ｔＣＹＣＬＥで動作し、このケースでは５０ＭＨｚである。
【００６９】
図２に例示されるようなシステムについて、８ビットの２つのＤＲＡＭは、２つのパラレルシフトレジスタのチェインにそれぞれ接続され、マスター及びスレーブクロック信号は、あるシフトレジスタ１６から次のシフトレジスタにビットをシフトする。このように、記憶装置１０からシフトレジスタチェイン１２にデータを読み出すことにおいて、リードロード信号（ＲＰＬ）は、ＤＲＡＭについてｔＣＹＣＬＥと同期されるのが好ましい。すなわち、ＲＰＬリードロード信号間の間隔は、動作しているシステム環境のｔＣＹＣＬＥについて最も長い製造業者が保証する値に少なくとも等しいことが好ましい。したがって、マスタークロック信号（ＭＣ）の周波数は、ＤＲＡＭがシフトレジスタに新たなデータをロードする前にシフトレジスタのうちのＤＲＡＭから全てのデータをクロックするための十分なクロックサイクルが存在するように、僅か（Ｂ／Ｍ）／ｔＣＹＣＬＥであることが好ましく、ここでＢは、ＤＲＡＭのＩ／Ｏピン１４の数であり、Ｍはシフトレジスタチェイン１２の数である。
【００７０】
図２のシステムでは、Ｂは１６であり（２・８ビットＤＲＡＭ）、Ｍは２であり（２パラレルシフトレジスタチェイン）。したがって、たとえばｔＣＹＣＬＥが２０ナノ秒である場合、マスタークロック信号の周波数は、僅か４００ＭＨｚ（１６／２／２０ナノ秒）であることが好ましい。さらに、このシステムでは、マイクロプロセッサは、毎秒８００メガビットを受信しているが、先に記載された従来のシステムにおけるような１６のＩ／Ｏピンとは対照的に、マイクロプロセッサの（４００ＭＨｚの周波数でそれぞれ動作する）２つのＩ／Ｏピンのみを使用してそのようにすることもできる。
【００７１】
したがって、図２のシステムでは、ＤＲＡＭ１０からの１６ビットの情報は、毎秒２０ナノ秒のマイクロプロセッサに供給される場合がある。さらに、データを受信するため、マイクロプロセッサにより２つのＩ／Ｏピンが使用される。さらに、マイクロプロセッサのそれぞれのＩ／Ｏピンは、４００ＭＨｚの周波数でデータを受信する。
【００７２】
したがって、必要なマイクロプロセッサのＩ／Ｏピンの数が低減される場合がある。また、マイクロプロセッサのＩ／Ｏピンの数が１６に保持される場合、１６の分離シフトレジスタのチェインが使用される場合があり、同じリード数にわたりマイクロプロセッサで利用可能なＢの値を増加することができる。さらに、それぞれのシフトレジスタのチェインの周波数は、シフトレジスタのチェインが接続されるＤＲＡＭの数を単に増加することで増加される場合がある。
【００７３】
たとえば、それぞれ８ビットの１６のＤＲＡＭに接続される１６のシフトレジスタのチェイン（Ｍ＝１６）が存在する場合、マスタークロック信号（ＭＣ）は、４００ＭＨｚの周波数を有することが好ましい（１６ＤＲＡＭ＊それぞれ８ビット／１６シフトレジスタのチェイン／２０ナノ秒のアクセス時間）。しかし、かかるケースでは、マイクロプロセッサは、６．４ギガビット／秒のデータを受信する（その１６データＩ／Ｏピンのそれぞれが４００ＭＨｚの周波数で動作する）。
【００７４】
さらに、マイクロプロセッサが毎秒当たりより多くのデータを望む場合、これは、ＤＲＡＭの数を増加することで達成され、このことは、（ｔＣＹＣＬＥが２０ナノ秒であるとして）マスタークロック信号（ＭＣ）が増加するのを許容する。たとえば、それぞれ８ビットの３２のＤＲＡＭが１６シフトレジスタのチェインで使用される場合、メモリは、マイクロプロセッサに１２．８ギガビット／秒の情報を供給し、マイクロプロセッサのそれぞれのデータＩ／Ｏピンのクロック速度は、８００ＭＨｚで動作する。
【００７５】
以下は、好適な最適化の関係を決定するための方法を提供し、Ｍ×ｎアレイの以下の２つの関係を使用する。最大のメモリのスループット＝Ｃ＊Ｗ／ｔＣＹＣＬＥ＝Ｂ／ｔＣＹＣＬＥ、及びシフトレジスタのスループット＝（Ｃ＊Ｗ）＊ｆｓｈｉｆｔ／ｎ＝（Ｍ＊ｎ）＊（ｆｓｈｉｆｔ／ｎ）＝Ｍ＊ｆｓｈｉｆｔ。ここで、Ｃは同時にアクセスされるチップ数を示し、Ｗはそれぞれのチップについて出力バイトの幅であり、Ｂ＝Ｃ＊Ｗは同時にアクセスされる全体のビット数であり、Ｍはシフトレジスタのパラレルチェインの数であり、ｎはそれぞれのチェインにおけるシフトレジスタの数であり、ｆｓｈｉｆｔはシフトレジスタを動作させるためのクロック周波数（すなわち、シフト周波数）であり、及びｔＣＹＣＬＥはメモリにアクセスするためのサイクル時間である。以下の説明は、システムを最適化するための１つの方法を提供しており、当業者であれば、多くの他のやり方及びシステムを設計するために使用される場合があるパラメータが存在することを認識されるであろう。かかるように、この好適な最適化のメカニズムに関する以下の記載は、この特定の例に本発明を制限するために読まれるものではない。
【００７６】
１実施の形態では、２つの先に識別された関係が互いに等しいものとされる。これにより、関係Ｃ／Ｍ＝ｆｓｈｉｆｔ＊ｔＣＹＣＬＥ／Ｗを生じ、以下では最適化の関係と呼ばれる。それぞれのチェインの長さは、それぞれのチェインにおけるレジスタの数であり、ｎ＝Ｃ＊Ｗ／Ｍである。シフトレジスタのアレイは、Ｍ×ｎアレイとして記載される。ｔＣＹＣＬＥ／Ｗはいずれか特定のメモリのパラメータであり、この最適化の例のため、定数として考慮することができ、逆数の場合、Ｗ／ｔＣＹＣＬＥは、Ｍ又はｆｓｈｉｆｔの値が何であろうと、達成することのできる最大の可能なスループットである。ｆｓｈｉｆｔは記憶装置の技術、又は記憶装置のＩ／Ｏ伝送線路の伝達特性に関連する最大値を有するものとする。これは、Ｃ／Ｍを残りのパラメータのままとし、Ｃ及びＭは互いに線形に依存する。すなわち、Ｃが２倍になった場合、この例の最適化の関係はＭが２倍になる必要があると言われる。
【００７７】
好ましくは、先に記載された方法及びシステムで使用される記憶装置は同期する。しかし、これらの方法及びシステムは、非同期式の記憶装置でも機能する。たとえば、ｔＣＹＣＬＥは非同期のＤＲＡＭについてかなり変動する可能性がある。非同期のＤＲＡＭは外部制御により同期式であることが強制されず、出力は、シフトレジスタにＤＲＡＭからのデータをロードするため、同期信号に関してドリフトする場合がある。これにより、データがシフトレジスタに２度読み出されるか、データがシフトレジスタにより全然読み出されない可能性がある。
【００７８】
非同期ＤＲＡＭが、ページモードで動作するときに、アクセス不可能な内部回路によりそのワードラインのアドレスを循環させる場合、メモリ出力は、マスタークロック信号（ＭＣ）とは独立なレートで変化する。かかるメモリによれば、内部で制御されるページモードを許容することが受け入れられない場合があるが、むしろ、制御される外部アドレス発生器により入力アドレスを巡回させる。アドレスイネーブルパルスが内部ページクロッキングを優先する場合、アドレスイネーブルのタイミングは、フィードバックにより連続的に制御することができる。スケジュールされたキャリブレーションテストは、ＲＰＬタイミングがクロック周期に等しい量だけインクリメント的に変化するものであって、サンプリングのための（近似的な）セントラルタイムを示し、次のパルスのために選択されたＲＰＬ（及び等価なＷＰＬ）パルスである。図９及び図１１のような回路は、ＲＰＬ（及びＷＰＬ）のための新たなタイミングを選択するためにＳＷ制御を利用することができる。さらに、このシステムの動作を改善するため、ＤＲＡＭに対する内部変更が行われる場合がある。
【００７９】
図１２は、提供された方法及びシステムに係る、多数のポータル１１からなるシフトレジスタのチェイン１２がシフトレジスタからなるより長いチェインを形成するためにシリアルに接続される実施の形態が例示されている。この例では、ポータル１１が２つの記憶装置１０−１及び１０−２に接続する図２に示される例とは対照的に、それぞれのポータル１１は、１つの記憶装置１０に接続している。しかし、ポータル１１は、いずれかの数の記憶装置１０に接続されるいずれかの数のシフトレジスタのチェイン１２を含む場合がある。以下の説明の理解を改善するため、それぞれのポータル１１のシフトレジスタのチェイン１２は、シフトレジスタのアレイ１２と呼ばれ、直列に相互接続されるポータル１１のシフトレジスタのアレイ１２から構成されるより長いシフトレジスタのチェインは、シフトレジスタのチェイン９６−１及び９６−２と呼ばれる。さらに、先に説明されたように、図１２はＤＩＭＭである記憶装置１０を例示しているが、記憶装置１０は、いずれかのタイプの記憶装置である場合がある。
【００８０】
図１２は、最初のＮ／２の記憶装置１０がシフトレジスタのアレイ９６−１の最初のリード／ライトチェインに接続され、次のＮ／２の記憶装置１０がシフトレジスタのチェイン９６−２の次のリード／ライトチェインに接続されるＮ個の記憶装置を更に例示している。
【００８１】
さらに、この例示的な実施の形態では、それぞれのポータル１１は、１つのリード／ライトシフトレジスタのアレイ１２及び関連されるコネクション回路１７を含んでおり、それぞれの記憶装置１０がコネクション回路１７を介して対応するポータル１１のシフトレジスタのアレイ１２に接続される。図では示されていないが、それぞれのポータル１１は、ＲＰＧｅｎ及びＷＰＧｅｎパルス発生回路を含んでいる場合がある。また、ポータル１１は、データポータル（Ｄポータル）１１又はメモリインタフェース装置とも呼ばれる場合がある。それぞれのシフトレジスタのアレイ１２は、（この図では示されない）複数のシフトレジスタ１６を他のアレイと直列に相互接続されるＭ×ｎアレイで含んでいることが好ましい。これに応じて、より長いリード／ライトシフトレジスタのチェイン９６−１及び９６−２は、Ｍ×（（Ｎ／２）ｎ）アレイとして見られる場合があり、ここでＭはパラレルチェインの数（このケースでは２）であり、Ｎ／２は直列接続されたシフトレジスタのアレイ１２の数であり、ｎはシフトレジスタのアレイ１２の長さである。唯一のメモリ１０が読み出されるとき、しかし、連結されたＭ×（（Ｎ／２）ｎ）のアレイは、通常の動作では、Ｍ＊ｎのシフトレジスタのアレイとして機能し、全てのアップストリームのシフトされたデータは、アクティブなＭ＊ｎシフトレジスタのアレイにより上書きされ、全てのダウンストリームのデータは、新たなリードデータが到達する前にシフトされる。
【００８２】
チェイン９６におけるそれぞれのポータル１１のシフトレジスタのアレイ１２は、シフトレジスタ１２−１〜１２−（Ｎ／２）がより長いチェイン９６−１を形成するためにシリアルに接続されるように、チェイン９６−１における次のシフトレジスタのアレイ１２に接続される。たとえば、チェイン９６−１について、シフトレジスタのアレイ１２−１は、シフトレジスタのアレイ１２−２に接続され、このアレイ１２−２は、より長いリード／ライトのチェイン９６−１を形成するため、次のシフトレジスタのアレイ１２−３に接続される。したがって、データがシフトレジスタのアレイ１２−１からクロックされるとき、このデータは、シフトレジスタのアレイ１２−２にクロックされる。このように、リードデータは、シフトレジスタのチェインを通してクロックすることができ、最後のシフトレジスタのアレイ（たとえば、１２−Ｎ／２又は１２−Ｎ）から、たとえばマイクロプロセッサに出力される。しかし、図１２のこの実現では、データはシフトレジスタからセレクタ９４にクロックされ、このセレクタは、図１２〜図１４に記載される実施の形態から複数の任意の出力ポートのうちの１つにデータを切り替える。たとえば、図１２〜図１４の例示的な実施の形態では、出力ポートは、光ファイバケーブル（Ａ又はＢ）である。他の例では、これら出力ポートは、ルーティングチャネル、スイッチングケーブル、又はシステム設計者により望まれるいずれか他の適切なコンポーネントである場合がある。セレクタ９４は、ルーティングを決定する個別のセレクトアドレスにより制御される。
【００８３】
図１２に示されるアーキテクチャは、ｍ個のシフトレジスタのチェインのそれぞれについてより長いネットチェインを生じるＤポータルの連結により、幾つかの制限を導入し、幾つかの動作上のフレキシビリティを付加する。それぞれのＤポータル１１がその関連されるメモリ１０に関して最適化される場合、特定のハードウェアの値ｆｓｈｉｆｔ，Ｍ及びｎを有する。Ｍは「最適なＭ」であり、全ての他のパラメータが固定されたときにライン当たりのスループットを最大にするＭである。これは、大部分のアクセスが一度に１つのメモリ１０についてであるときに行われる設計上の選択である。隣接するメモリ１０及びその関連する連結されたＤポータル１１が同時にアクセスされる場合、それぞれのＤポータル１１は、連結されたシフトレジスタのアレイのどこかで望まれない上書きの発生なしに、新たな情報をそのシフトレジスタアレイに読むことができる前に、２＊ｎクロックシフトを待たなければならない。それぞれのワイヤのスループットは影響されず、したがって、２つのメモリのための全体のスループットは、１に関して同じであるが、それぞれのメモリのサイクルタイムが２倍される必要がある。あるアプリケーション又は他の工学的な研究について、２つのメモリにアクセスし、１つのデータストリームでそれらの出力をインタリーブするためのフレキシビリティを有することが望ましい場合がある。１度に１つのメモリのみにアクセスするのを好む最適化は、図１２の例では２である、それ自身のポート数でＩ／Ｏトラフィックが制限されるときに、受け入れることができ、望まれる。しかし、それぞれの記憶装置１０からの出力バイトＷを多重する、すなわちインタリーブすることが望まれる場合、全てのＮ／２の記憶装置１０に同時にアクセスすることができる。先に使用されたのと同じ表記を使用して、ＣはＮ／２に等しくなり。ｎはｎ＊Ｎ／２に等しくなる。図１２のケースについて固定されるＭがＣ＝１についてスループットを最適化するために選択される場合、新たなスループットレートはＭ＊ｆｓｈｉｆｔに等しい。（最適化の関係はＣによりＭを増加し、Ｃによりスループットを増加している。）異なるＤＩＭＭからの出力バイトを多重化するこのフレキシビリティは、たとえば、２つのファイルからデータベースを比較するために使用することができる。マルチプレックスインタリーブによるかかる多数の記憶装置１０（たとえばＤＩＭＭ）のアドレス指定をシステムが受け入れ、望む場合、ＲＰＬ及びＲＰｉのタイミングループは、それぞれのポータルについて長くなければならず、タイミングセレクションは、多数の同時の読出しが要求されるときであれば何時であっても調整されなければならない。図１１におけるループは、全ての記憶装置がインタリーブされるときに最も長い期間を収容するため、それぞれのポータルにおけるそれぞれのパルス発生回路について（Ｗ／Ｍ）＊Ｎ／２＝ｎ＊（Ｎ／２）クロックサイクルの長さである。Ｃ＝Ｎ／２についてそれぞれのＤポータルのループ内で選択される１つのＲＰＬが存在し、Ｎ／２のＲＰＬがＣ＝１について選択される。１つの休止入力によるよりも早くループをシャットダウンするため、Ｎ／２の休止入力のロケーションが使用される場合がある。
【００８４】
さらに、図１２は、ライトテンポラリポータル（Ｔポータル）８２、テンポラリストレージ記憶装置８４、テストセレクタ８６、スイッチルータ８８、並びにセレクタ９０−１及び９０−２を例示している。これらのコンポーネントは、この例示的な実施の形態に含まれ、異なる実施の形態に含まれるか又は含まれない場合がある。ライトテンポラリポータル８２は、Ｔポータルとも呼ばれ、Ｄポータル１１の全てのエレメントを盛り込んだ、左記に記載されたようなシフトレジスタアレイであることが好ましい。テンポラリストレージ記憶装置８４は、ＤＲＡＭ，ＳＤＲＡＭ，ＳＩＭＭ，ＤＩＭＭ等のような、いずれかのタイプの記憶装置である場合がある。セレクタ８６，９０−１，９０−２及び９４は、複数の入力信号のなかから選択するためのいずれかのタイプのセレクタである場合がある。ライトスイッチ８８は、複数のポートのうちの１つのポートからいずれかのポートに入力トラフィックを送出するためのいずれかのタイプのスイッチ又はルーティングセレクタである場合がある。
【００８５】
リード／ライトコネクション回路１７は、図４〜図８を参照して記載されるような回路を含んでいることが好ましい。さらに、図示されていないが、制御及びクロック信号は、マスタークロック（ＭＣ）、スレーブクロック（ＳＣ）、リードロード信号（ＲＰＬ）、リードパス信号（ＲＰｉ）、ライトロード信号（ＷＰＬ）、及びライトパス信号（ＷＰｉ）を提供するために先に記載されたような回路を使用して図１２の実施の形態に提供される場合がある。たとえば、図９及び図１１を参照して記載された回路は、制御信号を発生するために使用される場合がある。記憶装置１０は、たとえばＤＲＡＭ、ＳＤＲＡＭ、ＳＩＭＭ、ＤＩＭＭ等といった、先に説明されたようないずれかのタイプの記憶装置である場合がある。
【００８６】
ここで、図１２の実施の形態のための書込み動作が記載される。記憶装置１０に書き込まれるデータは、ライトＴポータル８２にはじめに到達する。このＴポータル８２は、シフトレジスタのアレイ、制御回路及び制御パルス発生回路を含むＤポータル１１と全く同様である。このデータは、光ファイバケーブル又は他の高スループットのワイヤリングを介して、及び個別の制御回路（図示せず）の制御下で供給される場合がある。
【００８７】
データが書き込まれることになる記憶装置１０がビジーであるか、又はビジーでない場合でさえ、データは一時的な記憶装置８４に書き込まれる場合があり、この場合、記憶装置１０がライトデータを受信する準備があるまで保持される。記憶装置１０がライトデータを受信する準備があるとき、データはテストセレクタ８６に通過され、このテストセレクタは、書込み動作であるので、ライトデータＷＤをライトスイッチ（ルータ）８８に通過するように設定される。ライトスイッチ８８は、記憶装置１０に関連する適切なシフトレジスタ９６のチェインにデータが送出されるように、ライトスイッチ８８を切り替える選択信号を受ける。次いで、ライトデータは、シフトレジスタのチェインにクロックされ、シフトレジスタのチェインでは、このライトデータは、データが書き込まれることになる記憶装置１０に対応するシフトレジスタのアレイ１２にロードされるまでクロックされる。次いで、図４〜図８を参照して先に説明されたような方式でデータがメモリに書き込まれる。
【００８８】
ここで、図１２の実施の形態について読出し動作が説明される。はじめに、たとえば宛先アドレスのようなヘッダデータは、適切なリードセレクタ９０−１又は９０−２に供給される。宛先アドレスは、データが適切なアドレスに送出されるように、図１２の実施の形態とデータが送出されるべき宛先との間のスイッチがデータを切り替えるために使用するアドレスである。たとえば、宛先がインターネットに接続されたコンピュータである場合、宛先アドレスは、ＩＰアドレスとすることができる。代替的に、宛先アドレスは、先に引用された、本出願と同日に提出された米国特許出願“ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭＳ  ＦＯＲ  Ａ  ＳＴＯＲＡＧＥ  ＳＹＳＴＥＭＳ”ｂｙ  Ｍ．  ＪＡＭＥＳ  ＢＵＬＬＥＮ，  ＳＴＥＶＥＮ  Ｌ．  ＤＯＤＤ，  ＤＡＶＩＤ  Ｊ．  ＨＥＲＢＩＳＯＮ，  ａｎｄ  Ｗｉｌｌｉａｍ  Ｔ．  ＬＹＮＣＨに記載されたストレージハブのような、ストレージハブにおけるスイッチが使用する場合がある内部アドレスである。
【００８９】
前の「宛先に関連した」データ以外のデータが、又は前の「宛先に関連した」データに加えて、たとえばキャッシュディスクアレイ（ＣＤＡ）システムからのような記憶装置以外のソースから到来する場合、このデータは、セレクタ９０−１及び／又は９０−２を使用してアレイにシリアルにロードすることができ、たとえばマイクロプロセッサに単に送出することができる。システムがたとえばマイクロプロセッサとの直接な通信についてのみ意図され、シリアル入力は期待されず、リードセレクタ９０−１及び９０−２が使用される必要がない。次いで、データは、適切なシフトレジスタのチェインにクロックされ、シフトレジスタを通してクロックされる。
【００９０】
つぎに、データは、チェインにおける記憶装置１０からチェインにおける対応するシフトレジスタのチェイン１２にロードされ、ヘッダデータＨＤ（たとえば、宛先アドレス）がチェインのフロントに添付される。
【００９１】
次いで、データは、シフトレジスタのチェインを通して、及び該チェインからシリアルにクロックされ、セレクタ９４に通過される。セレクタ９４は、光ファイバケーブルのうちの１つを介してデータを送出するのをセレクタ９４に指示する制御信号を受ける。次いで、セレクタ９４は、適切な光ファイバケーブルにデータを切り替える。他の実現では、ポータル１１がマイクロプロセッサに直接的にデータを送出する図１に例示されるように、セレクタ９４が含まれる必要がない。
【００９２】
ここで、図１２の実施の形態のためのテスト動作が説明される。所定の例では、既知のデータを使用してシステムを試験することが望まれる場合がある。システムを試験するとき、テストセレクト信号は、ライトスイッチ８８にテストデータを送出し始めることをセレクタに指示するライト／テストセレクタ８６に送出する。テストセレクタ８６は、コントローラ（図示せず）、別の装置、記憶装置、又は他のタイプの記憶媒体（図示せず）から入力ピンを介してテストデータを受ける場合がある。第二のセレクトリードは、ライトデータ又はテストデータのいずれかの代わりに、シフトレジスタのアレイに入力されるべき０のセット（クリアデータ）を許可する。クリアデータは、既知の初期化の状態にレジスタをリセットする。
【００９３】
このテストデータは、全体の動作をテストするために記憶装置１０に書き込まれ、後に読み出される。かかる入力は、システムの可用性及び品質をテストするプログラムされたセルフテストのために非常に有効である。ライトデータは、リード／ライトチェイン９６−１又は９６−２のいずれかにおける記憶装置１０のいずれか１つ又は全部に書き込まれる場合がある。
【００９４】
図１３は、提供される方法及びシステムに係る、記憶装置１０から読み取るための個別のシフトレジスタのチェイン、記憶装置１０に書き込むための個別のシフトレジスタのチェイン９６を使用する実施の形態を例示する。例示されるように、実施の形態は、ライトテンポラリポータル（Ｔポータル）８２、テンポラリストレージ記憶装置８４、テストセレクタ８６、リードセレクタ９０−１及び９０−２、データ書き込み用のシフトレジスタアレイのチェイン９６、データ読出し用のシフトレジスタアレイの１以上のチェイン９８−１及び９８−２、リード／ライト制御回路１７、記憶装置１０及びリードセレクタ９４を含んでいる。図示されていないが、それぞれのポータルは、そのＲＰＧｅｎ及びＷＰＧｅｎパルス発生回路を含んでいることが好ましい。
【００９５】
１つのライトチェインのアレイは、書込み動作が読取り動作よりも一般的ではないときに有効である。好ましくは、一度に１つの記憶装置１０が書き込まれる。同じデータが幾つかの記憶装置に書き込まれ、記憶装置のアドレス指定が適切に計時される場合に、幾つかの記憶装置１０が一度に書き込まれる。これは、書き込まれたデータが書き込み動作の間に破壊されないが、規則的にシフトされたデータとしてアレイを下り続けるため、図４、図６及び図７における設計の特徴のうちの１つである。リード／ライトアレイをリードオンリ及びライトオンリアレイに分割することで、現在読まれていない記憶装置１０で書き込みを行うことができる。これにより、読み取りがプライオリティを有することが可能となり、書き込みがその書込みを実行するための多くの機会を有することが可能となる。たとえば、記憶装置１０−１が読み出される場合、この例では、（出力が多重化され、ＲＰｘパルスが変更されない限り）記憶装置１０−２は読み出すことができず、メモリ装置１０−２は書き込むことができない。
【００９６】
ここで、図１３の実施の形態のための書込み動作が説明される。記憶装置１０に書き込まれるデータは、ライトテンポラリストレージ８２にはじめに到達する。データが書き込まれる記憶装置がビジーであるか、又はビジーではない場合でさえも、記憶装置１０がデータを書き込む準備があるまで、テンポラリストレージ記憶装置８４にデータが書き込まれる場合がある。
【００９７】
記憶装置１０はデータを受信する準備があるとき、データはテストセレクタ８６に通過され、このテストセレクタは、書込み動作であるため、書込みシフトレジスタのチェイン９６のチェインに書き込みデータを送出するために設定される。次いで、データは、データが書き込まれる記憶装置１０に対応するライトシフトレジスタアレイにロードされるまで、シフトレジスタのチェイン９６を通してクロックされる。次いで、データは、図４〜図８を参照して先に記載されたような方式で、メモリに書き込まれる。１以上のコントローラ（図示せず）は、適切なロケーションにある適切な記憶装置１０にデータが書き込まれるのを保証するため、ＷＰＧｅｎ、マスター及びスレーブクロック信号等のような、他の制御信号と共にデータが書き込まれるアドレスを記憶装置に供給する。
【００９８】
つぎに、図１２の実施の形態の読出し動作が記載される。はじめに、読み出されるべきチェインについて、リードセレクタ９０にヘッダデータ（ＨＤ）が供給される。次いで、アレイのチェイン９８を通してヘッダデータがクロックされ、セレクタ９４に出力される。次いで、リードデータは、チェインにおける記憶装置１０から対応するシフトレジスタアレイ１２に同期してロードされる。次いで、ヘッダデータがシリアル化されたデータのフロントに添付されるように、データは、シフトレジスタ９６のチェインを通してクロックされ、リードセレクタ９４に通過される。リードセレクタ９４は、制御信号を受信し、この信号に従って、ヘッダデータ及びリードデータをセレクタ９４の適切な出力に向ける。次いで、光ファイバケーブルのうちの１つを介して、その宛先にセレクタからデータが送出される。データがマイクロプロセッサに供給される図１に例示されるような実現では、リードチェインセレクタ９６が含まれる必要がない。
【００９９】
図１２の実施の形態におけるように、テストセレクタ８６は、システムを試験するため、また、テストデータを記憶装置に供給するために使用される場合がある。また、システムを試験するため、宛先データの代わりに又は宛先データに続いて、９０−１又は９０−２にテストデータが供給される場合がある。かかる動作は、特定の宛先へのルーティング、及び宛先による擬似データの受け入れを試験するために有効である。
【０１００】
図１４は、提供される方法及びシステムに係る、ライトシフトレジスタアレイの複数のチェイン１０２及びリードシフトレジスタアレイの複数のチェイン１０４を利用した実施の形態の上位レベルの図を例示している。さらに、本実施の形態は、図１２のライトセレクタ８８に類似して機能するライトセレクタ１０６を含んでいる。より詳細には、ライトセレクタ１０６は、ライトセレクタ１０６に適切なライトシフトレジスタアレイのチェインにデータを切り替えさせる制御信号を受ける。先の実施の形態におけるように、１以上のコントローラ（図示せず）は、どの記憶装置１０にデータが書き込まれるか、又はどの記憶装置１０からデータを読み出すかを判定するため、これらの様々な装置への信号を供給し、記憶装置１０におけるデータをリード又はライトするためのアドレスを供給し、特定の実現により要求される全ての他の制御及びクロック信号を供給する。いずれか２つの隣接するＤポータルを互いに直列に接続することができる手段を組み込むことも容易に可能である。より多くのセレクタ回路により、いずれか２つのＤポータルを互いに直列に接続することができる。これは、たとえば、２つのファイルからのデータを多重化すること、２つのファイルを比較すること、及び（畳み込み積分のような）特別の数学演算を２つのファイルに実行するために行うことができる。医療のスキャン、フィンガープリント、セキュリティチェック等に関する大容量データベースでのサーチを支援することができる。
【０１０１】
図１２及び図１３の実施の形態は、先に引用された米国特許出願“ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭＳ  ＦＯＲ  Ａ  ＳＴＯＲＡＧＥ  ＳＹＳＴＥＭＳ”ｂｙ  Ｍ．  ＪＡＭＥＳ  ＢＵＬＬＥＮ，  ＳＴＥＶＥＮ  Ｌ．  ＤＯＤＤ，  ＤＡＶＩＤ  Ｊ．  ＨＥＲＢＩＳＯＮ，  ａｎｄ  ＷＩＬＬＩＡＭ  Ｔ．  ＬＹＮＣＨに記載された実施の形態で使用されたデータポータル（Ｄポータル）で利用される場合がある。より詳細には、図１２では、記憶装置１０に対応するリード／ライト制御回路１７及びリード／ライトシフトレジスタのチェイン１２（たとえば、記憶装置１０−１に対応するリード／ライト制御回路１７−１及びリード／ライトシフトレジスタチェイン１２−１）がＤポータルとして利用される。また、図１３におけるように、記憶装置１０に対応するリード／ライト制御回路１７、ライトチェイン９６のライトシフトレジスタのチェイン１２、及びリードチェイン９８のシフトレジスタのアレイ１２の組み合わせがＤポータルとして利用される場合がある（たとえば、記憶装置１０−１に対応するライトチェイン９６のライトシフトレジスタアレイ１２−１、リードチェイン９８−１のリードシフトレジスタアレイ１２−１、リード／ライト制御回路１７−１）。同様に、図１４では、記憶装置１０に対応するリード／ライト制御回路１７、対応するライトシフトレジスタアレイ１２、及び対応するリードシフトレジスタアレイ１２がＤポータルとして利用される場合がある。
【０１０２】
先に説明されたように、図２に例示されるポータル１１は、制御信号発生器１５を含んでいる場合がある。図１５は、図２に例示される実施の形態に対する代替的な実施の形態を例示しており、ポータル１１は、制御信号発生器１５を含んでいる。図２及び図１５のこのポータル１１は、単一のチップ上に実施される場合がある。ポータル１１は、図１２〜図１４におけるように、結合されたリード／ライトアレイ又は独立なリード及びライトアレイのいずれかを組み込む場合がある。
【０１０３】
図１６は、別の代替を例示しており、提供される方法及びシステムに係る、単一のチップ１６０が１以上の記憶装置１０、ポータル１１及び制御信号発生器１５を含んでいる。この例では、記憶装置１０とポータル１１の間のコネクションは、チップ１６０の内部にある。かかるように、ポータル１１及び記憶装置１０−１及び１０−２がそれぞれの個別のチップである例示的な実施の形態とは対照的に、チップ１６０は、記憶装置１０からのデータを読み出すために２つ（Ｍ）のＩ／Ｏピンを必要とする。個別のチップを使用した例では、ポータル１１と記憶装置１０を接続するために１６（Ｂ＝Ｃ＊Ｗ＝Ｍ＊ｎ）のピンが使用され、ポータル１１からのリードデータを転送するために更なる２つ（Ｍ）のＩ／Ｏピンが使用される。このように、ポータル１１と同じチップ上に記憶装置１０を含むことで、Ｉ／Ｏピンの数が低減される場合がある。これは、たとえば、より高い価格で２つのチップを有するのに対する好適な代替としてメモリ製造者又は顧客によってこの設計が許容されるような、所定の例において好適な場合がある。メモリ出力の幅は、Ｂビットのメモリ出力がチップ内部にあるので、Ｉ／Ｏピンのカウントにより制限されない。カスタマアプリケーションは、その入力ポートの数がＢからＭに低減されるので、そのチップ内で非常に幅の広いデータバスを収容することができる。Ｍリードの多重化された入力は、完全に同期され、チップ１６０からのクロック信号によりＢワイヤに分離することができる。
【０１０４】
本発明に関する好適な実施の形態及び方法であると現在考えられるものが例示及び記載されたが、本発明の真の範囲から逸脱することなしに、様々な変化及び変更が行われる場合があること、等価な構成がそのエレメントについて置き換えられる場合があることが当業者により理解される。
【０１０５】
さらに、本発明の中心的な範囲から逸脱することなしに、特定のエレメント、技術又は実現を本発明の教示に適合するため、多くの変更がなされる場合がある。したがって、本発明が本明細書に開示される特定の実施の形態及び方法に限定されないが、本発明が特許請求の範囲に含まれる全ての実施の形態を含んでいることが意図される。
【図面の簡単な説明】
【０１０６】
【図１】提供される方法及びシステムに係る、記憶装置、ポータル及びマイクロプロセッサの簡略化された図である。
【図２】提供される方法及びシステムに係る、ポータル及び記憶装置のより詳細な図である。
【図３】提供される方法及びシステムに係る、リングを形成するようにシフトレジスタのチェインが接続される簡略化された図である。
【図４】提供される方法及びシステムに係る、記憶装置のＩ／Ｏピンとシフトレジスタのチェインのうちのシフトレジスタとの接続のより詳細な図である。
【図５】提供される方法及びシステムに係る、クロック信号を例示する図である。
【図６】提供される方法及びシステムに係る、シフトレジスタを記憶装置のＩ／Ｏピンと接続するための代替的なメカニズムを例示する図である。
【図７】提供される方法及びシステムに係る、記憶装置のＩ／Ｏピンとシフトレジスタのチェインのシフトレジスタとの間の接続を例示する図である。
【図８】提供される方法及びシステムに係る、クロック及び制御信号を例示する図である。
【図９】提供される方法及びシステムに係る、リードロード信号（ＲＰＬ）（又はライトパス信号（ＷＰｉ））及びリードパス信号（ＲＰｉ）（又はライトロード信号（ＷＰＬ））を発生するための回路を例示する図である。
【図１０】提供される方法及びシステムに係る、図９の回路の様々なポイントでの信号を例示する図である。
【図１１】提供される方法及びシステムに係る、ＲＰｘ及びＷＰｘパルスの連続発生のために利用される場合がある回路を例示する図である。
【図１２】提供される方法及びシステムに係る、複数のポータルがチェインを形成するために接続される実施の形態を例示する図である。
【図１３】提供される方法及びシステムに係る、記憶装置からの読出し記憶装置への書き込みのための個別のシフトレジスタのアレイを使用する実施の形態を例示する図である。
【図１４】提供される方法及びシステムに係る、ライトシフトレジスタチャインからなる複数のチェイン及びリードシフトレジスタチェインからなる複数のチェインを利用した実施の形態の上面図を例示する。
【図１５】提供される方法及びシステムに係る、ポータルが制御信号発生器を含む実施の形態を例示する図である。
【図１６】提供される方法及びシステムに係る、１つのチップが記憶装置、ポータル、制御信号発生器を含む実施の形態を例示する図である。
【図１】
2006505066.tif 000003
【図２】
2006505066.tif 000004
【図３】
2006505066.tif 000005
【図４】
2006505066.tif 000006
【図５】
2006505066.tif 000007
【図６】
2006505066.tif 000008
【図７】
2006505066.tif 000009
【図８】
2006505066.tif 000010
【図９】
2006505066.tif 000011
【図１０】
2006505066.tif 000012
【図１１】
2006505066.tif 000013
【図１２】
2006505066.tif 000014
【図１３】
2006505066.tif 000015
【図１４】
2006505066.tif 000016
【図１５】
2006505066.tif 000017
【図１６】
2006505066.tif 000018
【国際調査報告】
2006505066.tif 000019