JP2006505066A - 改善されたメモリアクセスのための方法及び装置 - Google Patents

改善されたメモリアクセスのための方法及び装置 Download PDF

Info

Publication number
JP2006505066A
JP2006505066A JP2004550087A JP2004550087A JP2006505066A JP 2006505066 A JP2006505066 A JP 2006505066A JP 2004550087 A JP2004550087 A JP 2004550087A JP 2004550087 A JP2004550087 A JP 2004550087A JP 2006505066 A JP2006505066 A JP 2006505066A
Authority
JP
Japan
Prior art keywords
data
shift register
shift
shift registers
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004550087A
Other languages
English (en)
Inventor
ティー リンチ,ウィリアム
ジェイ ハービソン,デイヴィッド
Original Assignee
リング テクノロジー エンタープライズィズ,エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=32174817&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2006505066(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by リング テクノロジー エンタープライズィズ,エルエルシー filed Critical リング テクノロジー エンタープライズィズ,エルエルシー
Publication of JP2006505066A publication Critical patent/JP2006505066A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1036Read-write modes for single port memories, i.e. having either a random port or a serial port using data shift registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C2029/3202Scan chain

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)

Abstract

本発明は、データが1以上の記憶装置からロードされるか又は該記憶装置に書き込まれる場合がある直列に相互接続される1以上のシフトレジスタのセットを利用したメモリアクセススキームに関する。すなわち、記憶装置からのデータは、シフトレジスタのセットにパラレルにロードされ、次いで、シフトレジスタのセットから出力されてその宛先に転送されるまで、シフトレジスタを通してシリアルにシフトされる。さらに、シフトレジスタのシフティングがデータのリード及び/又はロードの間に中断されないように、データは記憶装置からシフトレジスタのセットに読み出され、データはシフトレジスタのセットから記憶装置にロードされる。さらに、記憶装置からのデータは、2以上のシフトレジスタのパラレルチェインにロードされる場合があり、次いで、シフトレジスタのチェインを通してシリアルにシフトされる。

Description

本発明は、メモリアクセスに関し、より詳細には、記憶装置へのアクセスを改善するための方法及びシステムに関する。
今日のPC及びワークステーションにおけるプロセッサは、キャッシュ、グラフィックスサブシステム及び高速通信装置と同様に、メモリからのより高い帯域幅及び速度を要求している。メモリの製造者は、固体メモリのアクセス速度を改善することで応答してきている。メモリ製造者が速度及び帯域幅の両者において大幅な進歩をなしている一方で、プロセッサの速度の要求と、今日のメモリが提供することができる速度及び帯域幅との間には大きなギャップがなお存在する。
これに応じて、本発明は、従来技術の問題に対処する方法及びシステムに向けられる。本発明の目的によれば、本明細書で実施され広く記載されるように、1以上の出力を有する少なくとも1つの記憶装置と、直列に相互接続される少なくとも1つのシフトレジスタのセットとを有する装置の方法及びシステムが提供され、少なくとも1つのシフトレジスタは、シフト周波数を有するクロック信号を受信するものであって、シフトレジスタは、クロック信号に従って、該シフトレジスタにロードされるデータを該セットにおけるシフトレジスタにおける次の1つにシフト可能である。装置では、記憶装置の出力のうちの1つからのデータは、シフトレジスタからなるセットのうちの1つにおける対応するシフトレジスタにロードされる場合がある。シフトレジスタにより受信されたクロック信号がデータのロードの間にそのシフト周波数を維持するように、クロック信号に従い、ロードされたデータは、該セットにおけるシフトレジスタから次のシフトレジスタにシフトされる。
別の態様では、出力を有する少なくとも1つの記憶装置、少なくとも直列に相互接続される第一のシフトレジスタのセットと直列に相互接続される第二のシフトレジスタのセット、及び第一又は第二のシフトレジスタのセットにおける対応するシフトレジスタに少なくとも1つの記憶装置のうちの1つの出力をそれぞれ接続する複数のコネクタを含む装置の方法及びシステムが提供される。装置では、記憶装置の出力のうちの少なくとも1つからのデータは、複数のコネクタを介して第一又は第二のシフトレジスタのセットにおける対応するシフトレジスタにロードされる場合があり、クロック信号に従い、第一のシフトレジスタのセットにロードされるデータは、第一のシフトレジスタのセットにおけるシフトレジスタのうちの1つから第一のシフトレジスタのセットにおけるシフトレジスタの次の1つにシフトされる。これに応じて、装置では、第二のシフトレジスタのセットにロードされるデータは、クロック信号に従って、第二のシフトレジスタのセットにおけるシフトレジスタの1つから第二のシフトレジスタのセットにおけるシフトレジスタの次の1つにシフトされる場合がある。
概要及び以下の詳細な説明は、特許請求された発明の範囲を限定するものではない。両者共に、本発明を実施するために他を可能にする例及び説明を提供する。添付図面は、本発明の最良の形態を実行するための記載の一部を形成するものであって、説明と共に本発明の幾つかの実施の形態を示すものであって、本発明の原理を説明する。
本発明の実施の形態に対して更に詳細な参照が行われ、この例は添付図面に例示される。可能であれば同一部材を引用するために図面を通して同じ参照符号が使用される。
図1は、提供される方法及びシステムに係る、記憶装置10、ポータル11及びマイクロプロセッサ20の簡略化された図を例示している。記憶装置10は、RAM(Random Access Memory)、DRAM(Dynamic RAM)、RDRAM(Rambus DRAM)、SDRAM(Synchronous DRAM)、SIMM(Single in−Line Memory Module)、DIMM(Dual in−Line Memory Module)、RIMM(Rambus Inline Memory Module)、磁気メモリ、コンテンツアドレス可能なメモリ、ROM(Read Only Memory)若しくはメモリ出力が電気データとして表現されるか又は電気データに変換されるいずれかのタイプの記憶装置のような、いずれかのタイプの記憶装置である場合がある。ポータル11は、以下に更に詳細に記載される場合がある。さらに、簡略化の理由のため、ポータル11とマイクロプロセッサ20の間の接続においてコンポーネントは例示されていない。しかし、当業者であれば、ポータル11及びマイクロプロセッサ20は、このコネクションにおいて他のコンポーネントを含んでいる場合があることを認識されるであろう。
図1のシステムでは、記憶装置10からのデータは、必ずしも必要ではないが、データがマイクロプロセッサ20にシリアルに送出されるように、シフトレジスタが連続的にクロックされる間にポータル11に同時にロードされることが好ましいが、次いで、データは、ポータル11に再びロードされ、マイクロプロセッサ20にクロックされる場合がある。本明細書で使用される用語「同時に」とは、1制御パルス又はクロック信号の間に生じるイベントを言及し、イベントが絶対的に正確な同じ時間で生じることを必ずしも意味していない。
図1は、マイクロプロセッサ20に接続されるポータル11を例示しているが、ポータル11が他のタイプの装置に接続する場合がある。たとえば、ポータル11は、以下の本出願と同日に提出された米国特許出願に記載されるようなメモリセクションで使用される場合があり、この記載は、その全体としてそのまま引用により明示的に組み込まれる。シリアル番号10/284,199号“METHODS AND SYSTEMS FOR A STORAGE SYSTEM”by M. JAMES BULLEN, STEVEN L, DODD, DAVID J. HERBISON, and WILLIAT T. LYNCH。
さらに、ポータル11は、記憶装置10にデータを書き込むために入力ピン14に接続される。図1の実施の形態では、書き込みのためのデータは、マイクロプロセッサ20から受信される場合がある。他の実施の形態では、データは他の装置から受信される場合がある。
図2は、提供される方法及びシステムに係る、ポータル11及び記憶装置10の更に詳細な図を例示している。当業者にとって明らかであるように、この図は、ポータル11の一般的な動作の説明の助けとなる例示の目的のために簡略化される。
ポータル11は、(この例では、シフトレジスタチェイン12−1及び12−2である)少なくとも1つのシフトレジスタチェイン12を含んでいる。それぞれのシフトレジスタチェイン12は、(このケースではn=8)直列に相互接続される複数のシフトレジスタ16−1〜16−nを含んでいる。さらに、ポータルは、記憶装置10の対応するデータ入力/出力ピン14とシフトレジスタ16を接続するための複数の接続回路17を含んでいる。また、ポータルに制御信号を提供する制御信号発生器15が例示されている。
シフトレジスタ16は、ダイナミックであるかラッチングであるか、シングルクロックであるかマスター/スレーブクロックであるか、サンプリングであるかエッジトリガであるか、データ(D)、RS、又はJK、電荷結合素子(CCD)のステージであるか、若しくはクロック信号に基づいてその入力を出力にシフトするいずれかのタイプの装置といった、如何なるタイプのシフトレジスタである場合がある。シフトレジスタチェイン12は、本発明の範囲から逸脱することなしに多数のシフトレジスタを含む場合がある。
本明細書で使用されるように、用語「シフトレジスタ」とは、入力で信号を受信可能であって、たとえば制御信号又はクロック信号のようなイベントの発生で信号を出力可能な1以上の選択可能な入力をもつレジスタ、装置、ステージ又はその他を言及している。用語「シフトレジスタ」がシングルレジスタステージを意味せず、一連のかかるレジスタを意味することがあるが、本明細書で使用されるように、用語「シフトレジスタ」は、シングルステージを言及する。一連のこれらのシフトレジスタは、本明細書ではシフトレジスタチェイン又はシフトレジスタストリングのいずれかを意味する。一連のレジスタのセットは、シングルチェインのシフトレジスタ又はパラレルチェインのシフトレジスタのいずれかである場合がある一連の(シフト)レジスタのアレイ又はシフトレジスタのアレイを意味することもある。
それぞれの記憶装置10は、記憶装置10への転送及び記憶装置10からのデータ転送のため、複数のI/Oピン14−1〜14−n(この実施の形態ではn=8)を含んでいる。記憶装置10は、本発明の範囲から逸脱することなしにいずれかの数のピンを含んでいる場合がある。さらに、図示されていないが、記憶装置10は、記憶装置から読み取られるべきデータ又は記憶装置に書き込まれるべきデータのためのアドレスを受信するためのピンのような他のピンを含んでいる。シフトレジスタ16及びコネクション及びコネクション回路17に関する更に詳細な説明が後に提供される。
例示では、第一のI/Oピン(14−1)で開始して、1つおきのピン(14−1、14−3,14−5及び14−7)は、記憶装置10−1から接続回路17を介して、シフトレジスタチェイン12−1(シフトレジスタチェイン16−1〜16−4)におけるシフトレジスタ16に接続される。さらに、第二のI/Oピン14−2で開始して、1つおきのピン(14−2,14−4,14−6及び14−8)は、シフトレジスタチェイン12−2におけるシフトレジスタに接続される。同様に、記憶装置10−2のI/Oピンは、シフトレジスタチェイン12−1及び12−2における対応するシフトレジスタ16に接続される。
図は、記憶装置10のI/Oピン14をシフトレジスタチェイン12のシフトレジスタ16に接続する1例を例示しているが、しかし、I/Oピン14は、いずれかのシフトレジスタチェイン12のシフトレジスタ16に接続される場合がある。たとえば、シフトレジスタをデータピンに連続的に接続するよりはむしろ、シフトレジスタは、擬似的なランダム方式で接続される場合がある。たとえば、シフトレジスタチェイン12−1のシフトレジスタ16−1は、記憶装置10−1のピン14−6と接続され、シフトレジスタチェイン12−2のシフトレジスタ16−3は、記憶装置10−1のピン14−4と接続され、シフトレジスタチェイン12−1のシフトレジスタ16−1は、記憶装置10−2のピン14−7と接続される。かかるメカニズムは、暗号化された方式で、又は他の工学的研究のためにメモリに情報を記憶すること、及びメモリにおける情報を抽出することのために利用することができる。
暗号化を利用した実施の形態では、暗号化は、たとえば、ハードワイアード又はソフトウェア(SW)がセレクションを変更するために利用される場合がある。そのライトモード及び/又はその後のリードモードの両方で変更することができる暗号化方式は、書込み時間、及び/又は読出し時間と関連する1つ又は2つの「鍵」が使用される場合がある暗号化であることが好ましい。かかるソフトウェアの変更を達成するため、例として、コネクション回路17の出力とシフトレジスタアレイ内のそれらの伝送ノードを相互接続するワイアリングパスに複数の選択ゲートが挿入される場合があり、又は、入力/出力ピン14−1〜14−nと17−1〜17−nを接続する対応する入力/出力ノードとの間にルータスイッチを挿入することができる。メモリの入力/出力と17−1〜17−nのメモリ側のコネクション回路の入力/出力との間のルータスイッチへのソフトウェア定義入力は、それぞれのメモリの入力/出力が17−1〜17−nのコネクション回路の入力/出力への1つの完全なワイアリングパスを有すること、及び望まれる場合の実施の形態においてそれぞれのコネクション回路の入力/出力がメモリの入力/出力への1つの完全なワイアリングパスを有することを保証するために使用される場合がある。これらのルーティングスイッチ入力は、メモリに書き込まれるか又は送信されるためにメモリから読み出される選択されたファイルのためにコンピュータ制御下で変更することができる。
さらに、図2は2つのシフトレジスタチェイン12−1及び12−2、並びに2つの記憶装置10−1及び10−2をもつアレイを例示しているが、このメカニズムは、シフトレジスタチェイン12をいずれかの数の記憶装置10に接続するために利用することができる。好ましくは、シフトレジスタ16の数は、記憶装置10から同時に転送されたビット数よりも大きいか又は等しい。
たとえば、図2のポータル11は、1つの記憶装置10−1又は10−2にそれぞれ接続される2つのポータル11に分割される。かかる実施の形態では、第一のポータルは、対応するコネクション回路17−1〜17−8と共に、それぞれのシフトレジスタのチェイン12−1及び12−2のシフトレジスタ16−1〜16−4を含んでいる。同様に、第二のポータルは、対応するコネクション回路17−9〜17−16と共に、2つの例示されたシフトレジスタのチェイン12−1〜12−2のシフトレジスタ16−5〜16−8を含んでいる。次いで、2つのチェインのシフトレジスタ16−4及び16−5は、シフトレジスタ16−5がその出力をシフトレジスタ16−4に直接供給するようにシリアルに接続される。
さらに、図2は2つのシフトレジスタのチェイン12−1及び12−2を含むポータル11を例示しているが、ポータルは、いずれかの数のシフトレジスタアレイを含んでいる場合がある。さらに、シフトレジスタアレイ12−1及び12−2は、1つのM×Nアレイに結合され、Mはシリアルに接続されたシフトレジスタのチェイン数であり、nはそれぞれのチェインにおけるシフトレジスタの数である。たとえば、図2の実施の形態では、シフトレジスタ12−1及び12−2は、シングル2×8アレイに結合される。代替的な実施の形態では、アレイの幅及び長さは、本発明の範囲から逸脱することなしに、システム設計者により望まれるサイズとすることができる。シフトレジスタアレイの幅及び長さを異ならせる利点は、後に更に詳細に説明される。
制御信号発生器はポータル11の外部にあるとして例示されているが、制御信号発生器15はポータル11又はマイクロプロセッサ20に含まれる場合があるか、又は制御信号は、ある外部ソース(図示せず)から受信される場合がある。制御信号は、制御信号発生器15の例示となる実施の形態と共に、後に更に詳細に説明される。
さらに、1以上のポータル11がシングルチップに実施される場合がある。さらに、ポータル11に加えて、チップは、制御信号発生器15及び/又は記憶装置10を含んでいる場合がある。たとえば、図2の実施の形態に関して、シングルチップは、ポータル11、制御信号発生器15、及び記憶装置10−1〜10−2を含んでいる場合がある。かかるチップは、記憶装置10とポータル11の間の全てのコネクションがチップの内部にあるため、記憶装置10−1及び10−2からマイクロプロセッサ20にデータを読み出すための2つの入力/出力を必要とする。対照的に、記憶装置10−1及び10−2並びにポータル11が異なるチップ上に実施される場合、記憶装置10とポータル11との間に16のコネクションが存在する。このように、同じチップ上にポータル11と記憶装置10を含むことで、記憶装置からデータを検索するために必要なI/Oコネクションの数が低減される場合がある。メモリI/O及びポータルI/Oにより、個々のチップの設計の制約がなくなり、全ての係るバスが内部にあるので、メモリのための広いI/Oが利用される場合がある。
図3は、それぞれがリングを形成するようにシフトレジスタのチェイン12−1及び12−2が接続される簡略化された図を例示している。かかるメカニズムは、米国特許第5,604,682号、第5,636,139号、第5,581,479号及び第6,356,973号に記載されるような、ストレージリングをロードするために使用することができ、そのデータは、引用により全体としてそのまま本明細書に盛り込まれる。たとえば、例示されるように、図3のリングは、リングを形成するための直列に相互接続される複数のシフトレジスタ16を含んでいる。4つのポータル11が例示されており、複数のシフトレジスタを2つの記憶装置10にそれぞれ接続している。さらに、入力/出力コントローラ31が例示されており、このコントローラは、リングから別の装置にデータを送出し(リードデータ)、及びデータがリングを循環し及び/又は1以上の記憶装置10に書き込まれるようにデータをリングに挿入するために使用される。
また、I/Oコントローラ31は、リング、ポータル及び記憶装置をクロック及び/又は制御するため、他のソース(図示せず)からのクロック信号及び制御信号を受信する場合がある。当業者であれば、これは、メモリ装置が先に引用された特許出願に記載されるようなリングから情報を読出し又は書き込みするために使用される1つの例示的な実施の形態であること、及びいずれかの数の記憶装置、シフトレジスタ、パラレルリング及びI/Oコントローラ31が実現される場合があることを理解されるであろう。
図4は、提供される方法及びシステムに係る、記憶装置10のI/Oピン14とシフトレジスタチェイン12のシフトレジスタ16の間のコネクションに関する更に詳細な図を与えている。より詳細には、図4は、図2に例示されるもののように、記憶装置10のピン14をシフトレジスタのチェイン12のj番目のシフトレジスタ16−jを接続するための手段を例示している。記憶装置10の各ピン14をシフトレジスタのチェイン12の対応するシフトレジスタ16に接続するために使用される類似の接続が使用される場合がある。
図4に例示されるように、シフトレジスタ1−j6は、マスタークロックからの信号を受信する伝送ゲート32、スレーブクロックから信号を受信する伝送ゲート36、並びに2つのインバータ34及び38を含んでいる。伝送ゲートは、「パスゲート」と呼ばれることもある。コネクション回路17は、インバータ40、リードロード信号(RPL)を受信する伝送ゲート42、リードパス信号(RPi)を受信する伝送ゲート46、記憶装置からデータを読み取るためのインバータ44を含んでいる。コネクション回路17は、メモリに書き込まれるべきデータを最初に送出するために伝送ゲート56を含んでおり、完全な信号強度を回復するインバータ54、及びWPL制御入力によりアクティブインバータとなる反転トリステートバッファ52が続く。トリステートバッファは、アクチベートされないとき(容量性の浮動点出力)高インピーダンスを与える。図4は、タイミングパルス発生回路15がポータル11の外部にあることを図2は例示し、図4は仮定しているが、先に記載されたこの回路は、コネクション回路17に関する拡張された記載としてポータル11に含まれている場合がある。
図4では、シフトレジスタ16−jは、レジスタ内に1及び0を記憶するために「ラッチ」の代わりに伝送ゲート(パスゲートとも呼ばれることがある)を使用するため、「ダイナミックシフトレジスタ」と呼ばれる場合がある。図6は、後に記載されるが、シフトレジスタ16−jがラッチを使用する実施の形態を例示している。ダイナミックシフトレジスタは、連続的に再充電される必要があるか、又は電荷が移動されるか、若しくは電荷が失われる。「ラッチ」モードでは、クロスカップルド・インバータは、利得、及び電源が維持される限り記憶された情報を自動的な再充電を提供する。伝送ゲートの出力側のダイナミックストレージは、ダイナミックチャージが部分的に垂れ流されるときでさえ、その利得がフルレベルの1又は0を提供するように、フォロウアップインバータを使用することが好ましい。
伝送ゲート42並びに読み出し及び書き込みのそれぞれのためのトリステートバッファ52、並びに記憶装置10は、同じ記憶装置10について同時の読み出し及び書き込みをシステムが許可しないので、決して同時にアクチベートされないことが好ましい。少なくとも1つのこれら伝送経路が常に開いていることが好ましいので、コネクション回路17のライトチャネルからリードチャネルへ、又はコネクション回路17のリードチャネルからライトチャネルへのデータのループバックがない。リードチャネルでは、2つの伝送ゲート(42及び46)及び2つのインバータ(44及び34)は、フルステージのDレジスタ(又はダイナミックシフトレジスタ)として作用し、RPLは、マスタークロックの役割を果たし、RPiは、スレーブクロックの役割を果たす。伝送ゲート56及びインバータ54は、ダイナミックDレジスタ(又はダイナミックシフトレジスタ)の第一の半分を表し、WPiは、マスタークロックの役割を果たす。レジスタのスレーブの半分について対応する半分のステージは、その出力の常にアクティブのインバータがメモリによりリードアウトが提供されるときはいつでもI/Oインタフェースの制御について「争っている」ので、必要でないか又は望まれない。この問題は、共通のI/Oをもつメモリ内の状況に対応する。メモリを離れるいずれかのリードデータについてトリステートバッファを利用することでメモリにおいて解決することができる。図4では、17のライトチャネルがメモリの内部のリードチャネルに等価であるので、トリステートバッファ52は、17のライトチャネルの出力として挿入される。
RPi及びWPiパルスのフレキシビリティに沿ったメモリ動作にRPL及びWPLの同期が後に記載される。全てのRPiパルス(WPi)は、RPLパルス(WPL)に関して同じタイミングを有するか、全てが異なるタイミングを有するか、又はそれぞれがその間で変化を有する場合がある。しかし、RPL及びWPiパルスがマスタークロックパルスに等価であるので、RPLパルスがRPiパルスに先行し、WPiパルスがWPLパルスに先行することが好ましい。これらのタイミングパルスは、シフトアレイのMC及びSCクロックパルスに関して適切に計時することができる。このタイミングは、ハードウェア(HW)設計によるか、又はソフトウェア(SW)制御と結合されたHW設計により設定される場合がある。ゲート46及び56の特定のレジスタサイトへの接続は、(図4におけるように)HW設計によるか、SW制御と結合されるHW設計により設定される場合もある。
図4について記載されている全てのダイナミック(チャージストレージ)回路は、従来の「ラッチレジスタ」により置き換えることができる。ダイナミックレジスタは、それらの低減されたトランジスタのカウントのために有効である。また、代替的な制御回路17のHWコンフィギュレーションが記憶されたメモリデータを反転するかは重要でない。しかし、反転の数がリードチャネルにおけるのとライトチャネルにおけるのと同じであることが好ましい。これは、ライトチャネルにおけるトリステートバッファ52が非反転バッファよりはむしろ反転バッファであるからである。
図5は、提供される方法及びシステムに係る、図4のコネクションについてクロック信号を例示している。特に、図5は、マスタークロック信号(MC)、ライトパス信号(WPi)、ライトロード信号(WPL)、リードロード信号(RPL)、リードパス信号(RPi)、及びスレーブクロック信号(SC)を例示している。クロック及び制御信号は、マイクロプロセッサ、個別の回路、これら2つの組合せにより提供される場合がある。たとえば、図2では、マイクロプロセッサ22はクロック信号を提供し、個別の制御信号発生回路15は制御信号を生成する。この図におけるタイミングパルスは、ローディング(リード又はライト)動作がシフト動作を中断しないことを保証する。ライトデータは、記憶装置10に書き込まれたときでさえ、アレイを通してシフトし続ける。リードデータは、アレイがさもなければアレイを通してシフトする、アレイにおけるデータを自動的に上書きする。
図4及び図5を参照して、メモリ装置10からシフトレジスタ16にデータを読み出すためのリード動作が記載される。はじめに、記憶装置10には、読み出されるべきデータのアドレスが提供される。このアドレスは、マイクロプロセッサから提供されるか、又は個別のコントローラ(図示せず)により提供される場合がある。次いで、記憶装置10は、データをそのI/Oピン14にラッチする。RPL信号は、メモリについて「出力有効」時間の中心となるように計時されるのが好ましい。これにより、DRAM、SDRAM又は他のタイプの記憶装置が使用される場合であれば何であってもその自然のドリフト又はエージングを可能にする。RPiが狭いサンプリングパルスであるので安定な出力を有することが好ましい。RPiは、電荷を伝送ゲート42の出力側に伝送し、メモリ出力をインバータ44の出力に伝送する。RPiがオフになったときでさえ、及びメモリ出力それ自身が変化した場合であっても、本来サンプリングされた出力は、伝送ゲート46の入力側で利用可能である。
マスタークロック信号(MC)がハイになったとき、入力信号(Din)は、伝送ゲート32を通過し、その反転が伝送ゲート36の入力側に提供される。一般に、Din信号は、シフトレジスタチェイン12の先行するシフトレジスタ16からシフトレジスタ16を通過する信号である。したがって、情報が記憶装置から読出し又は記憶装置に書き込まれていないとき、データは、マスター及びスレーブクロック信号によりチェインにおいてあるシフトレジスタから次のシフトレジスタにクロック(信号のタイムが記録)される場合がある。
このケースでは、しかし、データが記憶装置10から読み出される。したがって、マスタークロック信号(MC)がロウになった後、及びスレーブクロック(SC)がハイになる前、リードパス信号(RPi)はハイになり、インバータ34を通してメモリ装置10からのデータを伝送ゲート36に通過させ、これにより、伝送ゲート32を通して前にクロックされたDinデータを上書きする。RPiは、44と46の間のノードに記憶されるデータを伝送ゲート32とインバータ34の間のダイナミックノードに伝送する狭いサンプリングパルスであることが好ましい。チャージングは、Din及びMCのアクションからのいずれか記憶された電荷を置き換える(上書きする)。インバータ34は、(オリジナル)メモリデータの反転を伝送ゲート36の入力側に提供する。つぎに、スレーブクロック(SC)はハイになり、データはインバータ38を通して、シフトレジスタのチェイン12の次のシフトレジスタ16−j+1に送出される。次いで、データは、マイクロプロセッサ20に到達するまで、マスター及びスレーブクロック信号に従ってそれぞれのシフトレジスタ16から次に通過する場合がある。
図4及び図5を参照して、記憶装置10にデータを書き込むための書き込み動作が説明される。はじめに、データは、前のシフトレジスタ又は他のソースからDinを介してシフトレジスタ16にクロックされる。MCがハイになる前の周期において、このデータは伝送ゲート32への入力で保持される。WPiがハイになった場合、MCがハイになる前に、Dinで保持されているデータは伝送ゲート56を通過し、その反転がインバータ54と取りステートバッファ52の間のノードに存在する。
生じるべき次のパルスは、伝送ゲート32に印加されるマスタークロックである。入力ノードで記憶されていたデータは56と54との間にあるノードに転送されていないが、そのノードが前のステージの出力インバータにより保持されるその電荷を有し続けることが好ましいので、データはオリジナルの入力ノードになお存在する。したがって、ライトデータは、それ自身ライト動作により影響されず、ライト又はリード動作なしにちょうどデータがあったチェインに転送される。このライトデータは、他のメモリでの次のライトダウンストリームため、又はシフトレジスタチェインの終わりでの転送のために使用されるか、使用されない場合がある。
WPLがハイになったとき、MCがロウになったのち、トリステートバッファ52は、WPLによりアクチベートされる。これは反転バッファであるので、入力Dinでのオリジナルのライトデータは、出力I/Oピン14に提供される。WPLは、メモリI/Oが安定であって入力ライトデータにとって受けることができるときに印加されることが好ましい。まさにRPLについて、RPLのタイミングは特定のメモリを収容するために調節することができ、DRAM、SRAM又はいずれか他のタイプの記憶装置について信頼性高く計時することができる。次いで、記憶装置は、記憶装置のアドレスピン(図示せず)を介して受信されたアドレスでメモリに信号を書き込む場合がある。このメモリアドレスは、マイクロプロセッサにより提供されるか、個別の制御回路(図示せず)により提供される場合がある。
リードのための4つのパルス系列RPL,MC,RPi,SC、及びライトのための4つのパルス系列WPi,MC,WPL,SCは、2つの隣接する伝送ゲートが同時に「オン」になることがない(閉じることがない)4相システムとなる。そのMC及びSCのクロッキングによるシフトレジスタアレイは、リード及びライト動作により影響されない状態を継続する。複数のMC(及びSC)パルスは、順序が維持される限り、RPLの後及びRPiの前に生じる場合がある。複数のMC(及びSC)パルスは、WPiの後及びWPLの前にも生じる場合がある。
また、図5は、全てのRPiパルスが同時に生じることがなく、全てのWPiパルスが同時に生じることのないことを示している。後の議論は、ハードウェア(HW)設計が固定されたアプリケーションのための様々なRPi(又はWPi)パルスを提供することができることを示している。セレクタ及びソフトウェア(SW)制御をもつHW設計は、一般的なやり方でRPi(WPi)における変化のためのフレキシビリティを提供することができる。図4は、メモリからシフトレジスタのアレイへのリード及びライトチャネルがハードワイアリングにより固定されることを意味している。これは一般的なケースであるが、メモリからシフトレジスタノードへの可変の接続を許容するセレクタ及びSW制御をもつHW設計を利用することも可能である。
図4は、シフトレジスタの「アレイ」が唯一のシフトレジスタのチェインから構成されることを意味することが意図されていない。複数のチェインは、真のM×nアレイを形成するために並列に配置することができ、この場合、Mはパラレルチェインの数に等しく、nは(等しい長さであると仮定される)それぞれのチェインにおけるレジスタの数に等しい。積M*nはメモリを介して同時にアクセスすることができる全体のレジスタ数に等しい。たとえば、64出力ビットをもつシングルメモリについて、専用のアレイは1×64(シングルチェイン)、2×32(2つのパラレルチェイン)、4×16、8×8、16×4、32×2又は64×1である。Mを選択するために1つの方法は、その後の説明で考慮される。他の実施の形態では、シフトレジスタのアレイは、いずれかの数のシフトレジスタ及びいずれかの数のパラレルチェインを有する場合がある。たとえば、2×34,1×65,6×9等のアレイは、64出力を持つシングルメモリにアクセスするために使用される場合がある。
図4及び図5は、書込みがアレイにおけるアップストリームで実行され、読出しがダウンストリームで実行されない限り、同時ではないが読出し及び書込みの両者について使用することができるシフトレジスタのアレイのケースを与えている。後の説明は、書込み専用のシフトレジスタのアレイが読出し専用のシフトレジスタのアレイから分離されている代替的な実施の形態を与えている。これにより、1つの(又は1を超える)記憶装置で書込みが行われ、1以上の他の記憶装置で読取りが同時に行われる。
図6は、提供される方法及びシステムに係る、記憶装置10のピン14とシフトレジスタ16を接続するために代替的なメカニズムを例示している。この実施の形態では、伝送ゲートの代わりに、相補的な金属酸化膜半導体(CMOS)ラッチシフトレジスタが使用される。
特に、図6の実施の形態の接続回路17は、伝送ゲート42、インバータ40,44,64及び84、反転トリステートバッファ52、並びにラッチレジスタ62及び82を含んでいる。
さらに、シフトレジスタ16は、インバータ76、NANDゲート68,70,72及び80、並びにラッチシフトレジスタ74及び78を含んでいる。NANDゲート68は、その入力としてラッチシフトレジスタ62からの出力、及びリードパス信号(RPi)を受ける。NANDゲート68の出力は、NANDゲート72に接続される。NANDゲート70は、他の入力をNANDゲート72に提供する。NANDゲート70は、その入力としてマスタークロック信号(MC)及び前のリード/ライトシフトレジスタ(Din)からの信号を受ける。NANDゲート72の出力は、S入力としてシフトレジスタ74に供給し、その反転をR入力として供給する。ラッチシフトレジスタ74の出力は、ラッチシフトレジスタ78への入力として供給する。また、ラッチシフトレジスタ78は、スレーブクロック信号(SC)を受ける。
さらに、記憶装置に情報を書き込むため、NANDゲート80は、その入力としてライトパス信号(WPi)及びDinを受ける。NANDゲート80の出力は、コネクション回路17のラッチレジスタ82に送出される。ラッチレジスタ82からの出力の反転は、次いで、トリステートバッファ52への入力として使用される。ラッチレジスタ82の反転が使用されるため、インバータの必要がない。
図6の実施の形態の読出し及び書込み動作は、前に記載された図5に例示されるクロック信号を使用して実行される場合がある。この実施の形態の読取り及び書込み動作は、図4及び図5に記載されたのと同じやり方で実行されるのが好ましい。
図7は、提供される方法及びシステムに係る、図4に例示される記憶装置10のI/Oピン14とシフトレジスタのチェインのシフトレジスタ16との間のコネクションに対する変更を例示している。図7は、17のそれぞれのリード及びライトチャネルにおける伝送ゲート46及び56に先行する2つの更なるインバータ(47及び57)を除いて、コネクション回路17は、図4におけるコネクション回路と同じである。これらのインバータは、これらの伝送ゲート46,56及び32を互いに切り離す。メモリ10に記憶されたデータは、この例では、ライトチャネルにおける反転の数が17のリードチャネルにおける反転の数になお等しいので、オーバラップすることのない実際のデータの反転であり、これは重要ではない。さらに、シフトレジスタ16−jは、図4のシフトレジスタと本質的に同じである。図4と図7との間で本質的に異なるのは、図7が図4の4相スキームよりはむしろ標準的な2相パルススキームを利用していることである。シフトレジスタのアレイにおけるデータシフトは、書込み及び読出し動作のため、割込みなしで継続する。RPLは、生じたときに、MCと同時に起こることが好ましく、RPiは、生じたときに、SCと同時に起こることが好ましい。WPiは、生じたときに、MCと同時に起こることが好ましく、WPLは、生じたときに、SCと同時に起こることが好ましい。
図8は、提供される方法及びシステムに係る、図7のコネクションについてクロック及び制御信号を例示している。例示されるように、マスタークロック信号(MC)は、(図5におけるように)周期的な信号であり、スレーブクロック信号(SC)は、マスタークロック信号(MC)の反転である。リードロード信号(RPL)は、マスタークロック(MC)パルスと同時に起こる。リードパス信号(RPi)は、リードロード信号(RPL)に続いて生じ、スレーブクロック(SC)パルスと同時に起こる。さらに、ライトパス信号(WPi)は、マスタークロック(MC)パルスと同時に起こる。ライトロード信号(WRL)は、ライトパス信号(WPi)に続いて生じ、スレーブクロックパルス(SC)と同時に起こる。
図8では、WPiパルスは、同時に起こるMCパルスと「相関付けされる」と考えられ、WPLパルスは、同時に起こるSCパルスと相関付けされ、RPLパルスは、同時に起こるMCパルスと相関付けされ、RPiパルスは、同時に起こるSCパルスと相関付けされる。用語「相関“correlation”」とは、それぞれのパルスを使用して記憶装置から読み出されたデータ又は記憶装置に書き込まれたデータがシフトのみが行われているようにシフトレジスタがそのシフトを維持するようなやり方で読出し又は書き込まれるように、WPi,WPL,RPL及びRPiパルスが計時されることを意味する。すなわち、記憶装置にデータを書き込むか又は記憶装置からデータを読み出す間、シフトレジスタがそのシフト周波数を維持するように、パルスが計時される。更なる例として、図5では、WPLパルスは、それに続くMCパルスと相関付けされ、WPiパルスは、それに続くSCパルスと相関付けされ、RPiパルスは、それに続くSCパルスと相関付けされる。
図7の回路の読出し及び書込み動作は、図8のクロック及び制御信号が図7の回路の動作のために使用される場合があることを除いて、図4のそれらに対応している。図8におけるパルス波形は、RPiパルスが1つであって、RPLパルスの1.5クロックサイクル後であり、RPLはMCと同時に起こり、RPiはSCと同時に起こる。しかし、いずれか又は全てのRPiパルスは、たとえば、RPLの整数nと2分の1(n+1/2)クロックサイクル後で生じる場合があり、nはゼロよりも大きいか又は等しい。さらに、この例では、WPLパルスは、WPiパルスの1.5クロック周期後に生じ、WPiはMCと同時に起こり、WPLはSCと同時に起こる。しかし、RPiによれば、WPLは、WPiパルスの整数nと2分の1(n+1/2)クロックサイクル後に生じる場合があり、nはゼロよりも大きいか又は等しい。
図7と図4との間の違いは、NORゲート41及びインバータ39の挿入である。NORゲート41は、RPiがアクティブであるときは何時でも伝送ゲート32へのマスタークロックパルスMCの印加を無効にする。伝送ゲート32がディスエーブルになることは、書き込みの間に生じることはなく、したがって書き込みデータは図4におけるようにダウンストリームで継続する。17におけるライトチャネル及びライト動作は、WPi及びWPLパルスが広いことを除いて、及びメモリに記憶されるデータの付随して起こる反転を除いて、図4におけるのと同じである。最後の結果が図4についてと同じであるが、NORゲートの存在により影響されるリード動作である。図4では、MCがアクティブであるとき、伝送ゲート21とインバータ34との間のノードに記憶されるダイナミックチャージは、MCがロウになり、RPiがハイになるときに上書きされる。図4における伝送ゲート46及びインバータ44は、(32と34との間の)このノードの完全な制御を有し、該ノードをリードデータで上書きする。図7では、NORゲートが利用されない場合に生じる場合があるように、MC及びRPiが両者同時にハイである場合、インバータ44及び30はノードの制御を争う。伝送ゲート32をディスエーブルにすることで、アクティブな伝送ゲート46にノードの完全な制御が与えられる。インバータ37−1及び37−2によるスレーブクロックの2つの反転が必要ではない場合があり、インバータ39及びNORゲート41はMCの2つのゲート遅延を必要とするので、MC及びSCクロックがオーバラップしないことを単に保証する。記憶装置をシフトレジスタと接続するための図4〜8の実施の形態は例であるが、当業者であれば、他のメカニズムがコネクション回路17及びシフトレジスタ16のために利用される場合があることを認識されるであろう。
図9は、提供される方法及びシステムに係る、単一又は複数のRPiパルスと共に単一のRPLパルスを発生するための多用途の回路を例示している。この制御回路は、図2で参照された制御信号発生器15で利用される場合がある。例示されるように、回路は、マスタークロック(MC)によりクロックされる伝送ゲート112,116,120,124及び128、並びにスレーブクロック(SC)によりクロックされる伝送ゲート114,118,122及び126を含んでいる。さらに、回路は、インバータ130,132,134,136,138,140,142,144,146,148,150,152,154,156及び158を含んでいる。また、回路は、NANDゲート160,162,164,166及び168、並びにNORゲート170を含んでいる。回路は、その入力として、ポータル11が記憶装置10からデータを読み取るべきときにハイになるリード発生信号(RPGen)を受ける。RPGen信号は、メモリについて低い周波数の制御クロックと一致する複数のマスタークロックサイクルのサイクルだけ続く長いパルスであることが好ましい。マイクロプロセッサ20は、RPGen信号を発生するか、又は分離制御回路がこの信号を発生する場合がある。さらに、マスタークロック(MC)がマイクロプロセッサ20により発生されるか、又は分離制御回路により発生される場合がある。
図9はA,B,C,D及びEとしてラベル付けされる5つの可能性のあるパルスを発生する回路を例示しているが、シフトレジスタのチェインを長くすることで、より多くのパルスが発生される場合がある。様々な出力パルス(A,B,C,D又はE)の中から、RPL及びRPi信号を選択するため、セレクタ(図示せず)又は信号を選択するための如何なるタイプの回路が利用される場合がある。たとえば、例示されるパルスのうち、RPLパルスがパルスA,C又はEのいずれかから選択されることが好ましい。RPiパルスは、RPLに続くことが好ましい。したがって、たとえば、RPLがパルスAとして選択された場合、RPiパルスは、B又はDとして選択されることが好ましい。さらに、たとえば、CパルスがRPLパルスとして選択された場合、DはRPiパルスについて選択されることが好ましい。
RPiパルスの可変のタイミング機能の1つの用途は、2つの異なるデータストリームの間の同期調整用であり、これらのうちの一方は、遠い位置にある場合がある。同期調整の例は、同期されるように、2つのデータパケットにおける開始バイトのアラインメントである。RPiは、プラス又はマイナスn/2クロック周期の調整レンジを有し、いずれかのリードデータがシフトレジスタの出力に現れる時間は、安定のメモリ出力とのそれ自身のアラインメントにおいてRPLが最適化されたままの間であるとしても、RPiのタイミングを単に調整することで変化させることができる。
以下は、RPL,RPi,WPL及びWPi信号を発生するためのこの例示的な回路の動作の簡単な外観を提供し、ポイントP及びRとしてラベル付けされる回路における様々なポイントへの特定の参照をなすものである。RPGen入力からRとしてラベル付けされるポイントに延びる最初の2つの伝送ゲート112及び114、並びに対応するインバータ130及び132は、その後の動作における同期を保証するため、入力パルスRPGenを再び成形する。Pとラベル付けされたポイントでの回路により発生された波形は、1クロック周期に等しい長さの正のパルスであることが好ましい。次いで、このパルスは、レジスタのチェインに移動し、それぞれNAND/インバータの組み合わせで、2分の1のクロックサイクルのRPL及びRPiパルスを生成する。
図10は、A,B,C,D及びEとしてラベル付けされるパルスと共に図9のR及びPとしてラベル付けされる回路のポイントでの信号を例示しており、図9の回路がどのようにこれらのパルスを発生するかに関する理解における助けとするために提供されている。先に説明されたように、RPL及びRPi信号は、これらのパルスから選択される場合がある。例示されるように、パルスAは、たとえば、第一のRPLパルスとして選択される場合があり、MCパルスと同時に起こり、MCパルスによりRPGenの捕捉の正確に1クロックサイクル後になる。
ライト制御信号(WPL及びWPi)に関して、図9の回路は、回路への入力が記憶装置10にデータを書き込むことが望まれるときにハイになるライト発生信号(WPGen)であることを除いて、これらの信号を発生するための使用される場合もある。さらに、かかる実現では、可能性のあるWPiパルスのタイミングは、先の説明(A,C,E,...)におけるRPLと関連されるパルスタイミングと対応し、WPLタイミングは、先の説明(B,D,...)におけるRPiと関連されるパルスタイミングと対応する。一般に、WPLパルスのみが存在するので、及びWPLの前にWPiが生じることが好ましいので、BというWPL選択は、その関連されるWPiとしてAという1つの選択にし、DというWPL選択は、A又はC等といった2つの選択にする。より多くの選択は、より長いシフトレジスタのチェインを必要とする。
図9の回路は、マイクロプロセッサ20に含まれるか、ポータル11に含まれるか、17に関連される分離制御回路である場合がある。これは、図5及び図8に例示されるような制御信号を発生するための回路の1例であるが、当業者であれば、これらの信号を発生するために利用される場合がある様々な他の回路及びこの回路のバリエーションが存在することを認識されるであろう。
図11は、提供される方法及びシステムに係る、RPx及びWPxパルスを発生するために利用される場合がある1つの代替的な例となる回路を示している。この回路は、図2に例示される制御信号発生器回路15で利用されている。例示されるように、この回路は、図9の回路のフロントエンド部分と同一であるフロントエンド部分201を含んでいる。次いで、このフロントエンド部分201の出力は、この例では、パルス信号A〜Pを生成するループ203に供給される。
図9では、RPGen(又はWPGen)は、新たなデータ出力をメモリが提供するたびに外部ソースから回路に入力されることが好ましい。しかし、シーケンシャルな順序でメモリの多くの出力バイトについてメモリにアクセスすることが望まれる場合がある。図11の例となる回路では、回路15は、RPGen要求パルスを受信することに応答して、それぞれのメモリ出力サイクルについて新たなRPx(又はWPx)パルスを連続的に発生する場合がある。完全な周期パルスは、図9におけるのと同じやり方で形成されるが、このパルスは、休止信号がループ201に印加されるまで回路の周りでループし続ける。休止信号は、読出し又は書きこみ動作が休止される場合があることを示すため、RPGen信号を供給するソースのような。外部ソースから回路により受信される場合がある。
この回路では、記憶装置からシフトレジスタのチェイン12に8クロックサイクル毎にM*8ビットがロードされ、次いで、記憶装置からシフトレジスタのチェインにロードされる新たなデータのセットの前に、シフトレジスタのチェインからシリアルにクロックされる。たとえば、図2を参照して、記憶装置10−1及び10−2から8ビットのデータがそれぞれロードされる2つの8ビットのパラレルシフトレジスタのチェイン12−1及び12−2が存在する。代替的な実施の形態では、記憶装置からのデータがロードされるそれぞれのチェインにおけるシフトレジスタの数が大きい場合、ループは単に長くなる場合がある。
回路の動作は、ノード205でのループの終了、NORゲート170及び172の間の(伝送ゲート254,256及びインバータ258及び260を有する)更なるフルステージシフトレジスタ、及び2つの連続したNORゲート172及び174の存在を除いて、図9の動作に対応する。伝送ゲート254及び256を有する更なるシフトレジスタステージは、4つのアクティブロジックゲートのシーケンスに関連する更なる遅延が存在することなしにパイプラインの中断を生じる。このシフトレジスタは、必要とされないが、シフトレジスタループを通してループする完全な周期のパルスにより鋭い波形を提供する。NORゲート172は、更なるシフトレジスタから1方の入力を受け、ループを完成するループバック信号から一方の入力を受ける。NORゲート174は、NORゲート172から入力を受け、休止信号が完全なループサイクルについてハイを保持するときにフルサイクルのパルスを循環するのを停止する外部の休止信号から入力を受ける。RPGen(又はWPGen)信号の反転は、休止信号を提供するための便利な方法である。すなわち、タイミングパルスが継続されるべき完全な時間長についてRPGenがハイに保持され、その負になる反転は、RPGenが再びハイになるまで連続的に印加される休止信号としての役割を果たす。
NANDゲート252〜282に入力されるSelA,SelB等は、電源バスに接続するHWによりアクチベートされるか、適切なRPX及びWPxを選択するためにSWにより選択される。それら選択のチョイスは、関連される記憶装置の公知の特性により、又は後に説明されるようなキャリブレーションテストにより決定される場合がある。これらのパルスのタイミングを選択及び変更する能力は、このアーキテクチャの設計のフレキシビリティに加わる。
以下は、先に記載された方法及びシステムを使用して達成可能な帯域幅の能力のうちの幾つかに関する一般的な説明を与えるものである。以下の記載は、DRAMを引用する。しかし、類似の結果がいずれかのタイプの記憶装置で達成される場合がある。
従来のシステムでは、DRAMからのデータビットは、DRAMのキャッシュに読み出され、次いで、マイクロプロセッサへの転送のために幅Bのバスに直接転送される。ここで、Bは、DRAMのデータI/Oピン数に等しい(又は、複数のDRAMが同時に使用されている場合には、複数のDRAM)。かかるシステムでは、かかるキャッシュの全体のスループットは、B/tCYCLEよりも決して大きくならず、ここで、tCYCLEは、DRAMのサイクル時間である。DRAMが同期DRAM(すなわちSDRAM)ではない場合、tCYCLEは、チップ、寿命、温度、電圧供給の変動等の間のパラメータの違いに依存する変数である。
したがって、Bの幅のバスのそれぞれのワイヤは、tCYCLEのホールド時間を有する。言い換えれば、Bの幅のバスのそれぞれのワイヤは、1/tCYCLEの周波数で動作し、毎秒1/tCYCLEビットのスループットを有する。全ての(B)ワイヤにわたって合計される全体のスループットがBを増加することで増加される場合があるが、個々のワイヤ当たりのスループット、又はそれぞれのワイヤの帯域幅の能力は、1/tCYCLEに制限されたままとなる。シフトレジスタのアレイは、それぞれの出力ワイヤのスループットを結合された技術のフルリミットに等しくするのを可能にし、より少ない数のワイヤにより同じ全体のスループットを生じるのを可能にする。
8つのデータI/Oピンを有する2つのDRAMがかかる従来のシステムで使用され、tCYCLEが20ナノ秒であるとすると、マイクロプロセッサへの最大のスループットは、800メガビット/秒(16/29ナノ秒)である。しかし、16バスのそれぞれは、1/tCYCLEで動作し、このケースでは50MHzである。
図2に例示されるようなシステムについて、8ビットの2つのDRAMは、2つのパラレルシフトレジスタのチェインにそれぞれ接続され、マスター及びスレーブクロック信号は、あるシフトレジスタ16から次のシフトレジスタにビットをシフトする。このように、記憶装置10からシフトレジスタチェイン12にデータを読み出すことにおいて、リードロード信号(RPL)は、DRAMについてtCYCLEと同期されるのが好ましい。すなわち、RPLリードロード信号間の間隔は、動作しているシステム環境のtCYCLEについて最も長い製造業者が保証する値に少なくとも等しいことが好ましい。したがって、マスタークロック信号(MC)の周波数は、DRAMがシフトレジスタに新たなデータをロードする前にシフトレジスタのうちのDRAMから全てのデータをクロックするための十分なクロックサイクルが存在するように、僅か(B/M)/tCYCLEであることが好ましく、ここでBは、DRAMのI/Oピン14の数であり、Mはシフトレジスタチェイン12の数である。
図2のシステムでは、Bは16であり(2・8ビットDRAM)、Mは2であり(2パラレルシフトレジスタチェイン)。したがって、たとえばtCYCLEが20ナノ秒である場合、マスタークロック信号の周波数は、僅か400MHz(16/2/20ナノ秒)であることが好ましい。さらに、このシステムでは、マイクロプロセッサは、毎秒800メガビットを受信しているが、先に記載された従来のシステムにおけるような16のI/Oピンとは対照的に、マイクロプロセッサの(400MHzの周波数でそれぞれ動作する)2つのI/Oピンのみを使用してそのようにすることもできる。
したがって、図2のシステムでは、DRAM10からの16ビットの情報は、毎秒20ナノ秒のマイクロプロセッサに供給される場合がある。さらに、データを受信するため、マイクロプロセッサにより2つのI/Oピンが使用される。さらに、マイクロプロセッサのそれぞれのI/Oピンは、400MHzの周波数でデータを受信する。
したがって、必要なマイクロプロセッサのI/Oピンの数が低減される場合がある。また、マイクロプロセッサのI/Oピンの数が16に保持される場合、16の分離シフトレジスタのチェインが使用される場合があり、同じリード数にわたりマイクロプロセッサで利用可能なBの値を増加することができる。さらに、それぞれのシフトレジスタのチェインの周波数は、シフトレジスタのチェインが接続されるDRAMの数を単に増加することで増加される場合がある。
たとえば、それぞれ8ビットの16のDRAMに接続される16のシフトレジスタのチェイン(M=16)が存在する場合、マスタークロック信号(MC)は、400MHzの周波数を有することが好ましい(16DRAM*それぞれ8ビット/16シフトレジスタのチェイン/20ナノ秒のアクセス時間)。しかし、かかるケースでは、マイクロプロセッサは、6.4ギガビット/秒のデータを受信する(その16データI/Oピンのそれぞれが400MHzの周波数で動作する)。
さらに、マイクロプロセッサが毎秒当たりより多くのデータを望む場合、これは、DRAMの数を増加することで達成され、このことは、(tCYCLEが20ナノ秒であるとして)マスタークロック信号(MC)が増加するのを許容する。たとえば、それぞれ8ビットの32のDRAMが16シフトレジスタのチェインで使用される場合、メモリは、マイクロプロセッサに12.8ギガビット/秒の情報を供給し、マイクロプロセッサのそれぞれのデータI/Oピンのクロック速度は、800MHzで動作する。
以下は、好適な最適化の関係を決定するための方法を提供し、M×nアレイの以下の2つの関係を使用する。最大のメモリのスループット=C*W/tCYCLE=B/tCYCLE、及びシフトレジスタのスループット=(C*W)*fshift/n=(M*n)*(fshift/n)=M*fshift。ここで、Cは同時にアクセスされるチップ数を示し、Wはそれぞれのチップについて出力バイトの幅であり、B=C*Wは同時にアクセスされる全体のビット数であり、Mはシフトレジスタのパラレルチェインの数であり、nはそれぞれのチェインにおけるシフトレジスタの数であり、fshiftはシフトレジスタを動作させるためのクロック周波数(すなわち、シフト周波数)であり、及びtCYCLEはメモリにアクセスするためのサイクル時間である。以下の説明は、システムを最適化するための1つの方法を提供しており、当業者であれば、多くの他のやり方及びシステムを設計するために使用される場合があるパラメータが存在することを認識されるであろう。かかるように、この好適な最適化のメカニズムに関する以下の記載は、この特定の例に本発明を制限するために読まれるものではない。
1実施の形態では、2つの先に識別された関係が互いに等しいものとされる。これにより、関係C/M=fshift*tCYCLE/Wを生じ、以下では最適化の関係と呼ばれる。それぞれのチェインの長さは、それぞれのチェインにおけるレジスタの数であり、n=C*W/Mである。シフトレジスタのアレイは、M×nアレイとして記載される。tCYCLE/Wはいずれか特定のメモリのパラメータであり、この最適化の例のため、定数として考慮することができ、逆数の場合、W/tCYCLEは、M又はfshiftの値が何であろうと、達成することのできる最大の可能なスループットである。fshiftは記憶装置の技術、又は記憶装置のI/O伝送線路の伝達特性に関連する最大値を有するものとする。これは、C/Mを残りのパラメータのままとし、C及びMは互いに線形に依存する。すなわち、Cが2倍になった場合、この例の最適化の関係はMが2倍になる必要があると言われる。
好ましくは、先に記載された方法及びシステムで使用される記憶装置は同期する。しかし、これらの方法及びシステムは、非同期式の記憶装置でも機能する。たとえば、tCYCLEは非同期のDRAMについてかなり変動する可能性がある。非同期のDRAMは外部制御により同期式であることが強制されず、出力は、シフトレジスタにDRAMからのデータをロードするため、同期信号に関してドリフトする場合がある。これにより、データがシフトレジスタに2度読み出されるか、データがシフトレジスタにより全然読み出されない可能性がある。
非同期DRAMが、ページモードで動作するときに、アクセス不可能な内部回路によりそのワードラインのアドレスを循環させる場合、メモリ出力は、マスタークロック信号(MC)とは独立なレートで変化する。かかるメモリによれば、内部で制御されるページモードを許容することが受け入れられない場合があるが、むしろ、制御される外部アドレス発生器により入力アドレスを巡回させる。アドレスイネーブルパルスが内部ページクロッキングを優先する場合、アドレスイネーブルのタイミングは、フィードバックにより連続的に制御することができる。スケジュールされたキャリブレーションテストは、RPLタイミングがクロック周期に等しい量だけインクリメント的に変化するものであって、サンプリングのための(近似的な)セントラルタイムを示し、次のパルスのために選択されたRPL(及び等価なWPL)パルスである。図9及び図11のような回路は、RPL(及びWPL)のための新たなタイミングを選択するためにSW制御を利用することができる。さらに、このシステムの動作を改善するため、DRAMに対する内部変更が行われる場合がある。
図12は、提供された方法及びシステムに係る、多数のポータル11からなるシフトレジスタのチェイン12がシフトレジスタからなるより長いチェインを形成するためにシリアルに接続される実施の形態が例示されている。この例では、ポータル11が2つの記憶装置10−1及び10−2に接続する図2に示される例とは対照的に、それぞれのポータル11は、1つの記憶装置10に接続している。しかし、ポータル11は、いずれかの数の記憶装置10に接続されるいずれかの数のシフトレジスタのチェイン12を含む場合がある。以下の説明の理解を改善するため、それぞれのポータル11のシフトレジスタのチェイン12は、シフトレジスタのアレイ12と呼ばれ、直列に相互接続されるポータル11のシフトレジスタのアレイ12から構成されるより長いシフトレジスタのチェインは、シフトレジスタのチェイン96−1及び96−2と呼ばれる。さらに、先に説明されたように、図12はDIMMである記憶装置10を例示しているが、記憶装置10は、いずれかのタイプの記憶装置である場合がある。
図12は、最初のN/2の記憶装置10がシフトレジスタのアレイ96−1の最初のリード/ライトチェインに接続され、次のN/2の記憶装置10がシフトレジスタのチェイン96−2の次のリード/ライトチェインに接続されるN個の記憶装置を更に例示している。
さらに、この例示的な実施の形態では、それぞれのポータル11は、1つのリード/ライトシフトレジスタのアレイ12及び関連されるコネクション回路17を含んでおり、それぞれの記憶装置10がコネクション回路17を介して対応するポータル11のシフトレジスタのアレイ12に接続される。図では示されていないが、それぞれのポータル11は、RPGen及びWPGenパルス発生回路を含んでいる場合がある。また、ポータル11は、データポータル(Dポータル)11又はメモリインタフェース装置とも呼ばれる場合がある。それぞれのシフトレジスタのアレイ12は、(この図では示されない)複数のシフトレジスタ16を他のアレイと直列に相互接続されるM×nアレイで含んでいることが好ましい。これに応じて、より長いリード/ライトシフトレジスタのチェイン96−1及び96−2は、M×((N/2)n)アレイとして見られる場合があり、ここでMはパラレルチェインの数(このケースでは2)であり、N/2は直列接続されたシフトレジスタのアレイ12の数であり、nはシフトレジスタのアレイ12の長さである。唯一のメモリ10が読み出されるとき、しかし、連結されたM×((N/2)n)のアレイは、通常の動作では、M*nのシフトレジスタのアレイとして機能し、全てのアップストリームのシフトされたデータは、アクティブなM*nシフトレジスタのアレイにより上書きされ、全てのダウンストリームのデータは、新たなリードデータが到達する前にシフトされる。
チェイン96におけるそれぞれのポータル11のシフトレジスタのアレイ12は、シフトレジスタ12−1〜12−(N/2)がより長いチェイン96−1を形成するためにシリアルに接続されるように、チェイン96−1における次のシフトレジスタのアレイ12に接続される。たとえば、チェイン96−1について、シフトレジスタのアレイ12−1は、シフトレジスタのアレイ12−2に接続され、このアレイ12−2は、より長いリード/ライトのチェイン96−1を形成するため、次のシフトレジスタのアレイ12−3に接続される。したがって、データがシフトレジスタのアレイ12−1からクロックされるとき、このデータは、シフトレジスタのアレイ12−2にクロックされる。このように、リードデータは、シフトレジスタのチェインを通してクロックすることができ、最後のシフトレジスタのアレイ(たとえば、12−N/2又は12−N)から、たとえばマイクロプロセッサに出力される。しかし、図12のこの実現では、データはシフトレジスタからセレクタ94にクロックされ、このセレクタは、図12〜図14に記載される実施の形態から複数の任意の出力ポートのうちの1つにデータを切り替える。たとえば、図12〜図14の例示的な実施の形態では、出力ポートは、光ファイバケーブル(A又はB)である。他の例では、これら出力ポートは、ルーティングチャネル、スイッチングケーブル、又はシステム設計者により望まれるいずれか他の適切なコンポーネントである場合がある。セレクタ94は、ルーティングを決定する個別のセレクトアドレスにより制御される。
図12に示されるアーキテクチャは、m個のシフトレジスタのチェインのそれぞれについてより長いネットチェインを生じるDポータルの連結により、幾つかの制限を導入し、幾つかの動作上のフレキシビリティを付加する。それぞれのDポータル11がその関連されるメモリ10に関して最適化される場合、特定のハードウェアの値fshift,M及びnを有する。Mは「最適なM」であり、全ての他のパラメータが固定されたときにライン当たりのスループットを最大にするMである。これは、大部分のアクセスが一度に1つのメモリ10についてであるときに行われる設計上の選択である。隣接するメモリ10及びその関連する連結されたDポータル11が同時にアクセスされる場合、それぞれのDポータル11は、連結されたシフトレジスタのアレイのどこかで望まれない上書きの発生なしに、新たな情報をそのシフトレジスタアレイに読むことができる前に、2*nクロックシフトを待たなければならない。それぞれのワイヤのスループットは影響されず、したがって、2つのメモリのための全体のスループットは、1に関して同じであるが、それぞれのメモリのサイクルタイムが2倍される必要がある。あるアプリケーション又は他の工学的な研究について、2つのメモリにアクセスし、1つのデータストリームでそれらの出力をインタリーブするためのフレキシビリティを有することが望ましい場合がある。1度に1つのメモリのみにアクセスするのを好む最適化は、図12の例では2である、それ自身のポート数でI/Oトラフィックが制限されるときに、受け入れることができ、望まれる。しかし、それぞれの記憶装置10からの出力バイトWを多重する、すなわちインタリーブすることが望まれる場合、全てのN/2の記憶装置10に同時にアクセスすることができる。先に使用されたのと同じ表記を使用して、CはN/2に等しくなり。nはn*N/2に等しくなる。図12のケースについて固定されるMがC=1についてスループットを最適化するために選択される場合、新たなスループットレートはM*fshiftに等しい。(最適化の関係はCによりMを増加し、Cによりスループットを増加している。)異なるDIMMからの出力バイトを多重化するこのフレキシビリティは、たとえば、2つのファイルからデータベースを比較するために使用することができる。マルチプレックスインタリーブによるかかる多数の記憶装置10(たとえばDIMM)のアドレス指定をシステムが受け入れ、望む場合、RPL及びRPiのタイミングループは、それぞれのポータルについて長くなければならず、タイミングセレクションは、多数の同時の読出しが要求されるときであれば何時であっても調整されなければならない。図11におけるループは、全ての記憶装置がインタリーブされるときに最も長い期間を収容するため、それぞれのポータルにおけるそれぞれのパルス発生回路について(W/M)*N/2=n*(N/2)クロックサイクルの長さである。C=N/2についてそれぞれのDポータルのループ内で選択される1つのRPLが存在し、N/2のRPLがC=1について選択される。1つの休止入力によるよりも早くループをシャットダウンするため、N/2の休止入力のロケーションが使用される場合がある。
さらに、図12は、ライトテンポラリポータル(Tポータル)82、テンポラリストレージ記憶装置84、テストセレクタ86、スイッチルータ88、並びにセレクタ90−1及び90−2を例示している。これらのコンポーネントは、この例示的な実施の形態に含まれ、異なる実施の形態に含まれるか又は含まれない場合がある。ライトテンポラリポータル82は、Tポータルとも呼ばれ、Dポータル11の全てのエレメントを盛り込んだ、左記に記載されたようなシフトレジスタアレイであることが好ましい。テンポラリストレージ記憶装置84は、DRAM,SDRAM,SIMM,DIMM等のような、いずれかのタイプの記憶装置である場合がある。セレクタ86,90−1,90−2及び94は、複数の入力信号のなかから選択するためのいずれかのタイプのセレクタである場合がある。ライトスイッチ88は、複数のポートのうちの1つのポートからいずれかのポートに入力トラフィックを送出するためのいずれかのタイプのスイッチ又はルーティングセレクタである場合がある。
リード/ライトコネクション回路17は、図4〜図8を参照して記載されるような回路を含んでいることが好ましい。さらに、図示されていないが、制御及びクロック信号は、マスタークロック(MC)、スレーブクロック(SC)、リードロード信号(RPL)、リードパス信号(RPi)、ライトロード信号(WPL)、及びライトパス信号(WPi)を提供するために先に記載されたような回路を使用して図12の実施の形態に提供される場合がある。たとえば、図9及び図11を参照して記載された回路は、制御信号を発生するために使用される場合がある。記憶装置10は、たとえばDRAM、SDRAM、SIMM、DIMM等といった、先に説明されたようないずれかのタイプの記憶装置である場合がある。
ここで、図12の実施の形態のための書込み動作が記載される。記憶装置10に書き込まれるデータは、ライトTポータル82にはじめに到達する。このTポータル82は、シフトレジスタのアレイ、制御回路及び制御パルス発生回路を含むDポータル11と全く同様である。このデータは、光ファイバケーブル又は他の高スループットのワイヤリングを介して、及び個別の制御回路(図示せず)の制御下で供給される場合がある。
データが書き込まれることになる記憶装置10がビジーであるか、又はビジーでない場合でさえ、データは一時的な記憶装置84に書き込まれる場合があり、この場合、記憶装置10がライトデータを受信する準備があるまで保持される。記憶装置10がライトデータを受信する準備があるとき、データはテストセレクタ86に通過され、このテストセレクタは、書込み動作であるので、ライトデータWDをライトスイッチ(ルータ)88に通過するように設定される。ライトスイッチ88は、記憶装置10に関連する適切なシフトレジスタ96のチェインにデータが送出されるように、ライトスイッチ88を切り替える選択信号を受ける。次いで、ライトデータは、シフトレジスタのチェインにクロックされ、シフトレジスタのチェインでは、このライトデータは、データが書き込まれることになる記憶装置10に対応するシフトレジスタのアレイ12にロードされるまでクロックされる。次いで、図4〜図8を参照して先に説明されたような方式でデータがメモリに書き込まれる。
ここで、図12の実施の形態について読出し動作が説明される。はじめに、たとえば宛先アドレスのようなヘッダデータは、適切なリードセレクタ90−1又は90−2に供給される。宛先アドレスは、データが適切なアドレスに送出されるように、図12の実施の形態とデータが送出されるべき宛先との間のスイッチがデータを切り替えるために使用するアドレスである。たとえば、宛先がインターネットに接続されたコンピュータである場合、宛先アドレスは、IPアドレスとすることができる。代替的に、宛先アドレスは、先に引用された、本出願と同日に提出された米国特許出願“METHOD AND SYSTEMS FOR A STORAGE SYSTEMS”by M. JAMES BULLEN, STEVEN L. DODD, DAVID J. HERBISON, and William T. LYNCHに記載されたストレージハブのような、ストレージハブにおけるスイッチが使用する場合がある内部アドレスである。
前の「宛先に関連した」データ以外のデータが、又は前の「宛先に関連した」データに加えて、たとえばキャッシュディスクアレイ(CDA)システムからのような記憶装置以外のソースから到来する場合、このデータは、セレクタ90−1及び/又は90−2を使用してアレイにシリアルにロードすることができ、たとえばマイクロプロセッサに単に送出することができる。システムがたとえばマイクロプロセッサとの直接な通信についてのみ意図され、シリアル入力は期待されず、リードセレクタ90−1及び90−2が使用される必要がない。次いで、データは、適切なシフトレジスタのチェインにクロックされ、シフトレジスタを通してクロックされる。
つぎに、データは、チェインにおける記憶装置10からチェインにおける対応するシフトレジスタのチェイン12にロードされ、ヘッダデータHD(たとえば、宛先アドレス)がチェインのフロントに添付される。
次いで、データは、シフトレジスタのチェインを通して、及び該チェインからシリアルにクロックされ、セレクタ94に通過される。セレクタ94は、光ファイバケーブルのうちの1つを介してデータを送出するのをセレクタ94に指示する制御信号を受ける。次いで、セレクタ94は、適切な光ファイバケーブルにデータを切り替える。他の実現では、ポータル11がマイクロプロセッサに直接的にデータを送出する図1に例示されるように、セレクタ94が含まれる必要がない。
ここで、図12の実施の形態のためのテスト動作が説明される。所定の例では、既知のデータを使用してシステムを試験することが望まれる場合がある。システムを試験するとき、テストセレクト信号は、ライトスイッチ88にテストデータを送出し始めることをセレクタに指示するライト/テストセレクタ86に送出する。テストセレクタ86は、コントローラ(図示せず)、別の装置、記憶装置、又は他のタイプの記憶媒体(図示せず)から入力ピンを介してテストデータを受ける場合がある。第二のセレクトリードは、ライトデータ又はテストデータのいずれかの代わりに、シフトレジスタのアレイに入力されるべき0のセット(クリアデータ)を許可する。クリアデータは、既知の初期化の状態にレジスタをリセットする。
このテストデータは、全体の動作をテストするために記憶装置10に書き込まれ、後に読み出される。かかる入力は、システムの可用性及び品質をテストするプログラムされたセルフテストのために非常に有効である。ライトデータは、リード/ライトチェイン96−1又は96−2のいずれかにおける記憶装置10のいずれか1つ又は全部に書き込まれる場合がある。
図13は、提供される方法及びシステムに係る、記憶装置10から読み取るための個別のシフトレジスタのチェイン、記憶装置10に書き込むための個別のシフトレジスタのチェイン96を使用する実施の形態を例示する。例示されるように、実施の形態は、ライトテンポラリポータル(Tポータル)82、テンポラリストレージ記憶装置84、テストセレクタ86、リードセレクタ90−1及び90−2、データ書き込み用のシフトレジスタアレイのチェイン96、データ読出し用のシフトレジスタアレイの1以上のチェイン98−1及び98−2、リード/ライト制御回路17、記憶装置10及びリードセレクタ94を含んでいる。図示されていないが、それぞれのポータルは、そのRPGen及びWPGenパルス発生回路を含んでいることが好ましい。
1つのライトチェインのアレイは、書込み動作が読取り動作よりも一般的ではないときに有効である。好ましくは、一度に1つの記憶装置10が書き込まれる。同じデータが幾つかの記憶装置に書き込まれ、記憶装置のアドレス指定が適切に計時される場合に、幾つかの記憶装置10が一度に書き込まれる。これは、書き込まれたデータが書き込み動作の間に破壊されないが、規則的にシフトされたデータとしてアレイを下り続けるため、図4、図6及び図7における設計の特徴のうちの1つである。リード/ライトアレイをリードオンリ及びライトオンリアレイに分割することで、現在読まれていない記憶装置10で書き込みを行うことができる。これにより、読み取りがプライオリティを有することが可能となり、書き込みがその書込みを実行するための多くの機会を有することが可能となる。たとえば、記憶装置10−1が読み出される場合、この例では、(出力が多重化され、RPxパルスが変更されない限り)記憶装置10−2は読み出すことができず、メモリ装置10−2は書き込むことができない。
ここで、図13の実施の形態のための書込み動作が説明される。記憶装置10に書き込まれるデータは、ライトテンポラリストレージ82にはじめに到達する。データが書き込まれる記憶装置がビジーであるか、又はビジーではない場合でさえも、記憶装置10がデータを書き込む準備があるまで、テンポラリストレージ記憶装置84にデータが書き込まれる場合がある。
記憶装置10はデータを受信する準備があるとき、データはテストセレクタ86に通過され、このテストセレクタは、書込み動作であるため、書込みシフトレジスタのチェイン96のチェインに書き込みデータを送出するために設定される。次いで、データは、データが書き込まれる記憶装置10に対応するライトシフトレジスタアレイにロードされるまで、シフトレジスタのチェイン96を通してクロックされる。次いで、データは、図4〜図8を参照して先に記載されたような方式で、メモリに書き込まれる。1以上のコントローラ(図示せず)は、適切なロケーションにある適切な記憶装置10にデータが書き込まれるのを保証するため、WPGen、マスター及びスレーブクロック信号等のような、他の制御信号と共にデータが書き込まれるアドレスを記憶装置に供給する。
つぎに、図12の実施の形態の読出し動作が記載される。はじめに、読み出されるべきチェインについて、リードセレクタ90にヘッダデータ(HD)が供給される。次いで、アレイのチェイン98を通してヘッダデータがクロックされ、セレクタ94に出力される。次いで、リードデータは、チェインにおける記憶装置10から対応するシフトレジスタアレイ12に同期してロードされる。次いで、ヘッダデータがシリアル化されたデータのフロントに添付されるように、データは、シフトレジスタ96のチェインを通してクロックされ、リードセレクタ94に通過される。リードセレクタ94は、制御信号を受信し、この信号に従って、ヘッダデータ及びリードデータをセレクタ94の適切な出力に向ける。次いで、光ファイバケーブルのうちの1つを介して、その宛先にセレクタからデータが送出される。データがマイクロプロセッサに供給される図1に例示されるような実現では、リードチェインセレクタ96が含まれる必要がない。
図12の実施の形態におけるように、テストセレクタ86は、システムを試験するため、また、テストデータを記憶装置に供給するために使用される場合がある。また、システムを試験するため、宛先データの代わりに又は宛先データに続いて、90−1又は90−2にテストデータが供給される場合がある。かかる動作は、特定の宛先へのルーティング、及び宛先による擬似データの受け入れを試験するために有効である。
図14は、提供される方法及びシステムに係る、ライトシフトレジスタアレイの複数のチェイン102及びリードシフトレジスタアレイの複数のチェイン104を利用した実施の形態の上位レベルの図を例示している。さらに、本実施の形態は、図12のライトセレクタ88に類似して機能するライトセレクタ106を含んでいる。より詳細には、ライトセレクタ106は、ライトセレクタ106に適切なライトシフトレジスタアレイのチェインにデータを切り替えさせる制御信号を受ける。先の実施の形態におけるように、1以上のコントローラ(図示せず)は、どの記憶装置10にデータが書き込まれるか、又はどの記憶装置10からデータを読み出すかを判定するため、これらの様々な装置への信号を供給し、記憶装置10におけるデータをリード又はライトするためのアドレスを供給し、特定の実現により要求される全ての他の制御及びクロック信号を供給する。いずれか2つの隣接するDポータルを互いに直列に接続することができる手段を組み込むことも容易に可能である。より多くのセレクタ回路により、いずれか2つのDポータルを互いに直列に接続することができる。これは、たとえば、2つのファイルからのデータを多重化すること、2つのファイルを比較すること、及び(畳み込み積分のような)特別の数学演算を2つのファイルに実行するために行うことができる。医療のスキャン、フィンガープリント、セキュリティチェック等に関する大容量データベースでのサーチを支援することができる。
図12及び図13の実施の形態は、先に引用された米国特許出願“METHOD AND SYSTEMS FOR A STORAGE SYSTEMS”by M. JAMES BULLEN, STEVEN L. DODD, DAVID J. HERBISON, and WILLIAM T. LYNCHに記載された実施の形態で使用されたデータポータル(Dポータル)で利用される場合がある。より詳細には、図12では、記憶装置10に対応するリード/ライト制御回路17及びリード/ライトシフトレジスタのチェイン12(たとえば、記憶装置10−1に対応するリード/ライト制御回路17−1及びリード/ライトシフトレジスタチェイン12−1)がDポータルとして利用される。また、図13におけるように、記憶装置10に対応するリード/ライト制御回路17、ライトチェイン96のライトシフトレジスタのチェイン12、及びリードチェイン98のシフトレジスタのアレイ12の組み合わせがDポータルとして利用される場合がある(たとえば、記憶装置10−1に対応するライトチェイン96のライトシフトレジスタアレイ12−1、リードチェイン98−1のリードシフトレジスタアレイ12−1、リード/ライト制御回路17−1)。同様に、図14では、記憶装置10に対応するリード/ライト制御回路17、対応するライトシフトレジスタアレイ12、及び対応するリードシフトレジスタアレイ12がDポータルとして利用される場合がある。
先に説明されたように、図2に例示されるポータル11は、制御信号発生器15を含んでいる場合がある。図15は、図2に例示される実施の形態に対する代替的な実施の形態を例示しており、ポータル11は、制御信号発生器15を含んでいる。図2及び図15のこのポータル11は、単一のチップ上に実施される場合がある。ポータル11は、図12〜図14におけるように、結合されたリード/ライトアレイ又は独立なリード及びライトアレイのいずれかを組み込む場合がある。
図16は、別の代替を例示しており、提供される方法及びシステムに係る、単一のチップ160が1以上の記憶装置10、ポータル11及び制御信号発生器15を含んでいる。この例では、記憶装置10とポータル11の間のコネクションは、チップ160の内部にある。かかるように、ポータル11及び記憶装置10−1及び10−2がそれぞれの個別のチップである例示的な実施の形態とは対照的に、チップ160は、記憶装置10からのデータを読み出すために2つ(M)のI/Oピンを必要とする。個別のチップを使用した例では、ポータル11と記憶装置10を接続するために16(B=C*W=M*n)のピンが使用され、ポータル11からのリードデータを転送するために更なる2つ(M)のI/Oピンが使用される。このように、ポータル11と同じチップ上に記憶装置10を含むことで、I/Oピンの数が低減される場合がある。これは、たとえば、より高い価格で2つのチップを有するのに対する好適な代替としてメモリ製造者又は顧客によってこの設計が許容されるような、所定の例において好適な場合がある。メモリ出力の幅は、Bビットのメモリ出力がチップ内部にあるので、I/Oピンのカウントにより制限されない。カスタマアプリケーションは、その入力ポートの数がBからMに低減されるので、そのチップ内で非常に幅の広いデータバスを収容することができる。Mリードの多重化された入力は、完全に同期され、チップ160からのクロック信号によりBワイヤに分離することができる。
本発明に関する好適な実施の形態及び方法であると現在考えられるものが例示及び記載されたが、本発明の真の範囲から逸脱することなしに、様々な変化及び変更が行われる場合があること、等価な構成がそのエレメントについて置き換えられる場合があることが当業者により理解される。
さらに、本発明の中心的な範囲から逸脱することなしに、特定のエレメント、技術又は実現を本発明の教示に適合するため、多くの変更がなされる場合がある。したがって、本発明が本明細書に開示される特定の実施の形態及び方法に限定されないが、本発明が特許請求の範囲に含まれる全ての実施の形態を含んでいることが意図される。
提供される方法及びシステムに係る、記憶装置、ポータル及びマイクロプロセッサの簡略化された図である。 提供される方法及びシステムに係る、ポータル及び記憶装置のより詳細な図である。 提供される方法及びシステムに係る、リングを形成するようにシフトレジスタのチェインが接続される簡略化された図である。 提供される方法及びシステムに係る、記憶装置のI/Oピンとシフトレジスタのチェインのうちのシフトレジスタとの接続のより詳細な図である。 提供される方法及びシステムに係る、クロック信号を例示する図である。 提供される方法及びシステムに係る、シフトレジスタを記憶装置のI/Oピンと接続するための代替的なメカニズムを例示する図である。 提供される方法及びシステムに係る、記憶装置のI/Oピンとシフトレジスタのチェインのシフトレジスタとの間の接続を例示する図である。 提供される方法及びシステムに係る、クロック及び制御信号を例示する図である。 提供される方法及びシステムに係る、リードロード信号(RPL)(又はライトパス信号(WPi))及びリードパス信号(RPi)(又はライトロード信号(WPL))を発生するための回路を例示する図である。 提供される方法及びシステムに係る、図9の回路の様々なポイントでの信号を例示する図である。 提供される方法及びシステムに係る、RPx及びWPxパルスの連続発生のために利用される場合がある回路を例示する図である。 提供される方法及びシステムに係る、複数のポータルがチェインを形成するために接続される実施の形態を例示する図である。 提供される方法及びシステムに係る、記憶装置からの読出し記憶装置への書き込みのための個別のシフトレジスタのアレイを使用する実施の形態を例示する図である。 提供される方法及びシステムに係る、ライトシフトレジスタチャインからなる複数のチェイン及びリードシフトレジスタチェインからなる複数のチェインを利用した実施の形態の上面図を例示する。 提供される方法及びシステムに係る、ポータルが制御信号発生器を含む実施の形態を例示する図である。 提供される方法及びシステムに係る、1つのチップが記憶装置、ポータル、制御信号発生器を含む実施の形態を例示する図である。

Claims (54)

  1. 1以上の出力を有する少なくとも1つの記憶装置と、
    少なくとも1つのシフトレジスタがシフト周波数を有するクロック信号を受け、該シフトレジスタが該シフト周波数に従って該シフトレジスタにロードされたデータを該セットにおけるシフトレジスタのうちの次の1つにシフト可能である、直列に相互接続される少なくとも1つのシフトレジスタのセットとを備え、
    該記憶装置の1以上の出力からのデータは、シフトレジスタの該セットにうちの1つにおける対応するシフトレジスタにロードされ、ロードされたデータは、該シフトレジスタがデータのロードの間にそのシフト周波数を維持するように、該クロック信号に従って該シフトレジスタから該シフトレジスタのうちの次の1つにシフトされる、
    ことを特徴とする装置。
  2. 該クロック信号の1以上のパルスと相関付けされる1以上のタイミングパルスのセットに応じて、該記憶装置の1以上の出力から対応するシフトレジスタにデータをロードするためのコネクション回路を備える、
    請求項1記載の装置。
  3. シフトレジスタのセット数は、該シフト周波数のために選択される周波数、及びシフトレジスタの該セットのスループットが1以上の記憶装置からのスループットに対応する要件に基づいて決定される、
    請求項1記載の装置。
  4. 該シフトレジスタのセット数は、該シフト周波数で分割される該1以上の記憶装置からのスループットに対応し、該スループットは、該1以上の記憶装置からのメモリ出力の数及び該記憶装置のサイクルタイムに基づいて決定される、
    請求項3記載の装置。
  5. 1以上のシフトレジスタからのデータは、該記憶装置の対応する出力を介して1以上の記憶装置にロードされ、該シフトレジスタは、該1以上の記憶装置へのデータのロードの間にそのシフト周波数を維持する、
    請求項1記載の装置。
  6. 該記憶装置から該シフトレジスタへのデータのロードで利用される1以上の可変に計時されるサンプリング及びパスパルスを発生するためのタイミング回路を更に備え、該サンプリング及びパスパルスは、該装置により開始パルスの受信に基づいて発生される、
    請求項1記載の装置。
  7. 該記憶装置のうちの少なくとも1つの出力と該シフトレジスタのセットの少なくとも1つでのシフトレジスタとの間の複数のコネクション回路を更に備え、
    該記憶装置の1以上の出力からのデータは、該1以上のサンプリングパルスを使用して該コネクション回路のうちの対応する1つに転送され、
    該記憶装置が新たなデータをその出力に提供する間に、該記憶装置の出力からのデータが該コネクション回路に転送されて該コネクション回路により保持されるように、該サンプリングパルスが計時され、
    該コネクション回路の1以上に転送されるデータは、該パスパルスを使用して該コネクション回路から続いて転送され、少なくとも1つのシフトレジスタのセットにデータを分配するために該パスパルスが計時され、該シフトレジスタは、データの転送及びシフトの間にそれらのシフト周波数を維持する、
    請求項6記載の装置。
  8. 該コネクション回路の1以上は、該コネクション回路から該少なくとも1つのシフトレジスタのセットへのワイアリングパスを変更するためのセレクタを含む、
    請求項6記載の装置。
  9. 該ワイアリングパスは、暗号化方式に基づいて変更される、
    請求項8記載の装置。
  10. 該タイミング回路は、該記憶装置からのデータを転送する可変のタイミングをもつ複数のサンプリングパルスを発生し、転送されたデータは、その精度について分析され、該分析結果は、次のサンプリングパルスについて好適なタイミングを選択するために使用される、
    請求項7記載の装置。
  11. 該パスパルスは、メモリから該1以上のシフトレジスタのセットに転送されるデータと該装置の外部にあるデータとの間の同期調整に基づいて決定される、
    請求項6記載の装置。
  12. 該タイミング回路は複数のパルスを発生し、該タイミング回路は、該サンプリング及びパスパルスとして発生されたパルスのうちの1以上を選択する複数のセレクタゲートを含み、該選択は、該サンプリング及びパスパルスとして選択されたパルスを変更するために変えられる、
    請求項6記載の装置。
  13. 該記憶装置から該対応するシフトレジスタにロードされるデータが、該データが有効である間にロードされるように、該サンプリングパルスとして選択されたパルスが選択されるように、該セレクタゲートをソフトウェアで制御する、
    請求項12記載の装置。
  14. 該シフトレジスタにロードされるデータが予め決定された基準に基づいて同期されるように、該パスパルスとして選択されたパルスが選択されるように、該セレクタゲートをソフトウェアで制御する、
    請求項12記載の装置。
  15. 該タイミング回路は、該開始パルスの受信に基づいて、複数のロード動作で利用される該サンプリング及びパスパルスを発生するためのループを含み、それぞれのロード動作は、該記憶装置から該シフトレジスタにデータをロードすることを含む、
    請求項6記載の装置。
  16. 該タイミング回路は、それぞれのロード動作について複数のパルスを発生し、該タイミング回路は、該ロード動作のために該サンプリング及びパスパルスとして該発生されたパルスのうちの1以上を選択するための複数のセレクタゲートを含み、該選択は、該サンプリング及びパスパルスとして選択されたパルスを変更するために変えられる、
    請求項15記載の装置。
  17. 該記憶装置から該対応するシフトレジスタにロードされるデータが、該データが有効である間にロードされるように、該サンプリングパルスとして選択されるパルスが選択されるように、該セレクタゲートをソフトウェアで制御する、
    請求項16記載の装置。
  18. 該シフトレジスタにロードされるデータが予め決定された基準に基づいて同期されるように、該パスパルスとして選択されたパルスが選択されるように、該セレクタゲートをソフトウェアで制御する、
    請求項16記載の装置。
  19. 該記憶装置の1以上からシフトレジスタのセットにデータをロードすること、及びシフトレジスタのセットから該記憶装置の1以上にデータを書き込むことの両者で少なくとも1つのシフトレジスタのセットが使用される、
    請求項1記載の装置。
  20. 該セレクタへの1以上の入力を選択し、シフトレジスタのセットのうちの1つにデータがロードされるように選択された入力に到達するデータを出力するための1以上のセレクタを更に含み、該入力に到達するデータは、該記憶装置の1以上に書き込まれる1以上のデータ、及び該装置を検査するためのテストデータを含む、
    請求項19記載の装置。
  21. 該セレクタへの1以上の入力を選択し、シフトレジスタのセットのうちの1つにデータがロードされるように選択された入力に到達するデータを出力するための1以上のセレクタを更に含み、該入力に到達するデータは、該1以上の記憶装置から該シフトレジスタにロードされるデータに添付される1以上のデータ、及び該装置を検査するためのテストデータを含む、
    請求項19記載の装置。
  22. 少なくとも1つのシフトレジスタのセットは、該記憶装置の1以上にデータを書き込むために使用され、少なくとも1つのシフトレジスタのセットは、該記憶装置からシフトレジスタのセットにデータをロードするために使用され、書き込みのための少なくとも1つのシフトレジスタのセットは、ロードのための少なくとも1つのシフトレジスタのセットとは別である、
    請求項1記載の装置。
  23. 該記憶装置の少なくとも1つ、及び少なくとも1つのシフトレジスタのセットは、チップ上に実施される、
    請求項1記載の装置。
  24. 該チップは、多数の入力/出力リードを含み、出力リードの数は、該チップに含まれる1以上の記憶装置からの出力数よりも少ない、
    請求項23記載の装置。
  25. 少なくとも1つの記憶装置の出力と少なくとも1つのシフトレジスタのセットのうちのシフトレジスタとの間の複数のコネクション回路を更に備え、
    該複数のコネクション回路の少なくとも1つは、該チップ上に実現される、
    請求項23記載の装置。
  26. 該チップは、多数の入力/出力リードを含み、出力リードの数は、該チップに含まれる1以上の記憶装置からの出力の数よりも少ない、
    請求項25記載の装置。
  27. 該記憶装置の1以上からデータを読み出すことを該装置に指示する、該装置によるパルスの受信に基づいて該1以上のサンプリングパルスを発生するためのタイミング回路を更に備え、
    該タイミング回路は該チップに実現される、
    請求項25記載の装置。
  28. 該チップは多数の入力/出力リードを含み、出力リードの数は、該チップに含まれる1以上の記憶装置からの出力の数よりも少ない、
    請求項27記載の装置。
  29. 該記憶装置は、不揮発性の記憶装置を含む、
    請求項1記載の装置。
  30. 該記憶装置は、磁気記憶装置を含む、
    請求項1記載の装置。
  31. 該シフトレジスタは、少なくとも1つのクロックで動作する半導体ラッチを含む、
    請求項1記載の装置。
  32. 該シフトレジスタは、少なくとも1つのクロックで動作する動的な電荷転送ステージを含む、
    請求項1記載の装置。
  33. 該シフトレジスタは、少なくとも1つの電荷結合素子のステージを含む、
    請求項1記載の装置。
  34. 少なくとも1つのシフトレジスタのセットの出力は、マイクロプロセッサに接続される、
    請求項1記載の装置。
  35. 少なくとも1つのシフトレジスタのセットはリングを形成し、該リングにおけるデータは、該クロック信号に基づくレートで循環される、
    請求項1記載の装置。
  36. データは、該記憶装置の1以上からシフトレジスタのセットの1以上にロードされ、同時に、シフトレジスタのセットの1以上から該記憶装置の異なる1以上にロードされる、
    請求項1記載の装置。
  37. 出力を有する少なくとも1つの記憶装置と、
    直列に相互接続される第一のシフトレジスタのセット及び直列に相互接続される第二のシフトレジスタのセットと、
    該記憶装置の少なくとも1つの出力のうちの1つを該第一又は第二のシフトレジスタのセットにおける対応するシフトレジスタに接続する複数のコネクタとを備え、
    該記憶装置の少なくとも1つの出力からのデータは、該複数のコネクタを介して、該第一又は第二のシフトレジスタのセットにおける対応するシフトレジスタにロードされ、
    該第一のシフトレジスタのセットにロードされたデータは、該クロック信号に従って、該第一のシフトレジスタのセットにおけるシフトレジスタのうちの1つから該第一のシフトレジスタのセットにおけるシフトレジスタのうちの次の1つにシフトされ、
    該第二のシフトレジスタのセットにロードされるデータは、該クロック信号に従って、該第二のシフトレジスタのセットにおけるシフトレジスタのうちの1つから該第二のシフトレジスタのセットにおけるシフトレジスタのうちの次の1つにシフトされる、
    ことを特徴とする装置。
  38. シフト周波数を有するクロック信号に基づいて、該シフトレジスタから該セットにおけるシフトレジスタのうちの次の1つに、直列に相互接続されるシフトレジスタのセットにおける1以上のシフトレジスタでデータをシフトするステップと、
    少なくとも1つの記憶装置から該セットにおける対応するシフトレジスタにデータをロードするステップと、
    該クロック信号に従って該シフトレジスタの1以上にロードされるデータを該セットにおけるシフトレジスタのうちの次の1つにシフトするステップとを備え、
    該シフトレジスタは、該記憶装置から該シフトレジスタにデータをロードする間にそれらのシフト周波数を維持する、
    ことを特徴とする方法。
  39. 該記憶装置の出力の1以上から対応するシフトレジスタにデータをロードするステップは、該クロック信号の1以上のパルスと相関付けされる1以上のタイミングパルスのセットを使用するステップを含む、
    請求項38記載の方法。
  40. シフトレジスタのセットの数は、該シフト周波数のために選択される周波数、及びシフトレジスタのセットのためのスループットが1以上の記憶装置からのスループットに対応する要件に基づいて決定される、
    請求項38記載の方法。
  41. 該記憶装置の対応する出力を介して、該シフトレジスタの1以上から1以上の記憶装置にデータをロードするステップを更に備え、
    該シフトレジスタは、該1以上の記憶装置へのデータのロードの間にそれらのシフト周波数を維持する、
    請求項38記載の方法。
  42. 開始パルスを受けるステップと、
    該開始パルスの受信に応じて1以上の可変に計時されるサンプリング及びパスパルスを発生するステップとを更に有し、
    該記憶装置から該シフトレジスタへのデータのロードは、該発生されたサンプリング及びパスパルスを使用する、
    請求項38記載の方法。
  43. 該データを該シフトレジスタにロードするステップは、
    該1以上のサンプリングパルスを使用して、該記憶装置の1以上の出力からのデータを転送するステップと、
    該記憶装置が新たなデータをその出力に提供するとき、該記憶装置からのデータをラッチするステップと、
    該データがシフトレジスタのセットに分配されるように、第二の計時されたパルスのセットを使用してラッチされたデータを転送するステップと、
    を含む請求項42記載の方法。
  44. 該ラッチされたデータをシフトレジスタのセットに分配するためのワイアリングパスを変更するステップを更に備える、
    請求項43記載の方法。
  45. 該ワイアリングパスは、暗号化方式に基づいて変更される、
    請求項44記載の方法。
  46. 該記憶装置からの既知のデータを転送するため、可変のタイミングをもつ複数のサンプリングパルスを発生するステップと、
    精度について転送されたデータを分析するステップと、
    該分析に基づいて次のサンプリングパルスのための好適なタイミングを選択するステップと、
    を更に備える方法。
  47. 該メモリから1以上のシフトレジスタのセットに転送されるデータと該装置の外部のデータとの間に同期調整に基づいて、該パスパルスが発生される、
    請求項42記載の方法。
  48. シフトレジスタのセットから該記憶装置の1以上にデータを書き込むステップを更に有する、
    請求項38記載の方法。
  49. 1以上のシフトレジスタのライトセットのうちの少なくとも1つのシフトレジスタから該記憶装置の1以上にデータを書き込むステップを更に備え、
    該シフトレジスタのライトセットは、ロードのためのシフトレジスタのセットとは別々である、
    請求項38記載の方法。
  50. 該記憶装置から該シフトレジスタにデータをロードするステップは、該シフトレジスタに前にシフトされたデータを上書きするステップを含む、
    請求項38記載の方法。
  51. シフト周波数を有するクロック信号に基づいて、該シフトレジスタから該第一のセットにおけるシフトレジスタのうちの次の1つに、直列に相互接続される第一のシフトレジスタのセットでデータをシフトするステップと、
    シフト周波数で、該シフトレジスタから該第二のセットにおけるシフトレジスタのうちの次の1つに、直列に相互接続される第二のシフトレジスタのセットでデータをシフトするステップと、
    少なくとも1つの記憶装置の出力から該第一のセットにおける対応するシフトレジスタにデータをロードするステップと、
    少なくとも1つの記憶装置の出力から該第二のセットにおける対応するシフトレジスタにデータをロードするステップと、
    該シフト周波数に従って、該シフトレジスタから該第一のセットにおけるシフトレジスタのうちの次の1つに、該第一のセットにおけるシフトレジスタにロードされたデータをシフトするステップと、
    該シフト周波数に従って、該シフトレジスタから該第二のセットにおけるシフトレジスタのうちの次の1つに、該第二のセットにおけるシフトレジスタにロードされたデータをシフトするステップと、
    を備えることを特徴とする方法。
  52. データを転送するための少なくとも1つの手段を含む、データを記憶するための少なくとも1つの手段と、
    データをシフトする手段がシフト周波数を有するクロック信号を受信し、シフトするための手段はそれぞれで、少なくとも1つのシフトするための手段からのデータが該シフト周波数に従って該シフトするための手段のうちの次の手段にシフトされるように直列に相互接続される、データをシフトするための複数の手段からなる少なくとも1つのセットと、
    該シフトするための手段がデータのロードの間にそれらの周波数を維持するように、該記憶するための手段から対応するシフトするための手段にデータをロードするための手段と、
    を備えることを特徴とする装置。
  53. 該ロードするための手段は、
    該記憶するための手段からのデータをラッチするための複数の手段と、
    1以上のサンプリングパルスを使用して該ラッチするための手段のうちの対応する1つにデータを転送するための手段であって、該記憶するための手段が新たなデータを該転送するための手段に提供する間、該記憶するための手段の該転送するための手段からのデータが該ラッチするための手段に転送されて該ラッチするための手段によりラッチされるようにサンプリングパルスが計時される転送するための手段と、
    1以上のパスパルスを使用して該ラッチするための手段からのデータを転送するための手段とを備え、
    該パスパルスは、少なくとも1つの該シフトするための手段にデータを分配するために計時され、該クロック信号は、データ転送、及び該シフトするための手段から該セットにおけるシフトするための次の手段へのデータのシフトの間にその周波数を維持する、
    請求項52記載の装置。
  54. シフト周波数を有するクロック信号に基づいて、該シフトレジスタから該セットにおけるシフトレジスタの次の1つに、直列に相互接続されるシフトレジスタのセットにおける1以上のシフトレジスタでデータをシフトするステップと、
    該シフトレジスタの1以上のから記憶装置にデータをロードするステップと、
    データが該記憶装置にロードされた後に該シフト周波数に従って該1以上のシフトレジスタから該セットにおける該シフトレジスタの次の1つにロードされたデータをシフトするステップとを備え、
    該シフトレジスタは、データをロードする間にそれらのシフト周波数を維持する、
    ことを特徴とする方法。
JP2004550087A 2002-10-31 2003-10-23 改善されたメモリアクセスのための方法及び装置 Pending JP2006505066A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/284,198 US6879526B2 (en) 2002-10-31 2002-10-31 Methods and apparatus for improved memory access
PCT/US2003/033679 WO2004042506A2 (en) 2002-10-31 2003-10-23 Methods and apparatus for improved memory access

Publications (1)

Publication Number Publication Date
JP2006505066A true JP2006505066A (ja) 2006-02-09

Family

ID=32174817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004550087A Pending JP2006505066A (ja) 2002-10-31 2003-10-23 改善されたメモリアクセスのための方法及び装置

Country Status (8)

Country Link
US (3) US6879526B2 (ja)
EP (1) EP1576445B1 (ja)
JP (1) JP2006505066A (ja)
KR (1) KR100994393B1 (ja)
AT (1) ATE472802T1 (ja)
AU (1) AU2003301774A1 (ja)
DE (1) DE60333227D1 (ja)
WO (1) WO2004042506A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346625A (ja) * 2004-06-07 2005-12-15 Nec Electronics Corp 階層型モジュール

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996705B2 (en) 2000-04-17 2015-03-31 Circadence Corporation Optimization of enhanced network links
US8898340B2 (en) 2000-04-17 2014-11-25 Circadence Corporation Dynamic network link acceleration for network including wireless communication devices
US8510468B2 (en) 2000-04-17 2013-08-13 Ciradence Corporation Route aware network link acceleration
US8195823B2 (en) 2000-04-17 2012-06-05 Circadence Corporation Dynamic network link acceleration
US8065399B2 (en) 2000-04-17 2011-11-22 Circadence Corporation Automated network infrastructure test and diagnostic system and method therefor
US20110128972A1 (en) 2000-04-17 2011-06-02 Randy Thornton Peer to peer dynamic network link acceleration
US20020002611A1 (en) 2000-04-17 2002-01-03 Mark Vange System and method for shifting functionality between multiple web servers
US8024481B2 (en) * 2000-04-17 2011-09-20 Circadence Corporation System and method for reducing traffic and congestion on distributed interactive simulation networks
US6879526B2 (en) * 2002-10-31 2005-04-12 Ring Technology Enterprises Llc Methods and apparatus for improved memory access
US7197662B2 (en) * 2002-10-31 2007-03-27 Ring Technology Enterprises, Llc Methods and systems for a storage system
US7707351B2 (en) * 2002-10-31 2010-04-27 Ring Technology Enterprises Of Texas, Llc Methods and systems for an identifier-based memory section
ATE557349T1 (de) 2002-10-31 2012-05-15 Parallel Iron Llc Speichersystem und verfahren für ein speichersystem
US7415565B2 (en) * 2002-10-31 2008-08-19 Ring Technology Enterprises, Llc Methods and systems for a storage system with a program-controlled switch for routing data
US7574638B2 (en) * 2005-02-03 2009-08-11 Samsung Electronics Co., Ltd. Semiconductor device tested using minimum pins and methods of testing the same
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US8418013B2 (en) * 2006-01-25 2013-04-09 Deere & Company Method of using virtual inputs and outputs to automate testing of application software and hardware
US7843846B1 (en) * 2006-09-18 2010-11-30 Qlogic, Corporation Method and system for processing network information
US8949555B1 (en) 2007-08-30 2015-02-03 Virident Systems, Inc. Methods for sustained read and write performance with non-volatile memory
US9921896B2 (en) 2007-08-30 2018-03-20 Virident Systems, Llc Shutdowns and data recovery to avoid read errors weak pages in a non-volatile memory system
US8856464B2 (en) * 2008-02-12 2014-10-07 Virident Systems, Inc. Systems for two-dimensional main memory including memory modules with read-writeable non-volatile memory devices
KR101069672B1 (ko) * 2009-04-20 2011-10-04 주식회사 하이닉스반도체 반도체 메모리 장치의 어드레스 제어회로
US9543956B2 (en) 2011-05-09 2017-01-10 Intel Corporation Systems and methods for configuring an SOPC without a need to use an external memory
US8547778B2 (en) * 2011-10-04 2013-10-01 Oracle International Corporation Apparatus and method for converting static memory address to memory address pulse
KR102044827B1 (ko) 2012-10-17 2019-11-15 삼성전자주식회사 데이터 로딩 회로 및 이를 포함하는 반도체 메모리 장치
US9651618B2 (en) * 2013-01-09 2017-05-16 Nxp Usa, Inc. Electronic device and method for state retention
JP2014179141A (ja) * 2013-03-14 2014-09-25 Toshiba Corp 半導体記憶装置
US9647694B2 (en) 2014-12-28 2017-05-09 International Business Machines Corporation Diagonal anti-diagonal memory structure
US11107308B2 (en) * 2018-02-02 2021-08-31 Denso International America, Inc. Automated hardware-in-the-loop tester for automotive electronic control units

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59180870A (ja) * 1983-03-31 1984-10-15 Fujitsu Ltd 半導体記憶装置
JPH04350742A (ja) * 1991-05-28 1992-12-04 Fujitsu Ltd 画像データ書込み方法及び画像メモリ装置
JPH09504147A (ja) * 1993-10-15 1997-04-22 イメージ・テレコミュニケーションズ・コーポレーション 情報サービス制御点
JPH11507457A (ja) * 1995-06-09 1999-06-29 サーブ ダイナミックス メモリ構造

Family Cites Families (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3713096A (en) * 1971-03-31 1973-01-23 Ibm Shift register interconnection of data processing system
US3748647A (en) * 1971-06-30 1973-07-24 Ibm Toroidal interconnection system
US3735362A (en) * 1971-09-22 1973-05-22 Ibm Shift register interconnection system
US3812476A (en) * 1971-11-16 1974-05-21 Texas Instruments Inc Memory device
US4064556A (en) * 1975-06-23 1977-12-20 Sperry Rand Corporation Packed loop memory with data manipulation capabilities
US4065756A (en) * 1976-03-15 1977-12-27 Burroughs Corporation Associative memory with neighboring recirculated paths offset by one bit
GB1580057A (en) * 1976-07-16 1980-11-26 Post Office Information handling apparatus
US4302632A (en) 1976-10-18 1981-11-24 Graphic Scanning, Inc. Digitally-controlled telephone answering switching system
IT1118355B (it) * 1979-02-15 1986-02-24 Cselt Centro Studi Lab Telecom Sistema di interconnessione tra processori
DK152722C (da) * 1979-12-25 1988-09-26 Kureha Chemical Ind Co Ltd Ved opvarmning krympende lamineret film samt fremgangsmaade til dens fremstilling
US4363125A (en) * 1979-12-26 1982-12-07 International Business Machines Corporation Memory readback check method and apparatus
US4335175A (en) * 1980-10-01 1982-06-15 W. R. Grace & Co. Thermoplastic film laminates
EP0094794B1 (en) * 1982-05-14 1992-04-22 Communications Patents Limited Communications system
US4510599A (en) 1983-04-04 1985-04-09 General Electric Company Prioritized unidirectional distributed bus accessing system
US4506387A (en) * 1983-05-25 1985-03-19 Walter Howard F Programming-on-demand cable system and method
US4709418A (en) * 1983-09-14 1987-11-24 British Telecommunications Public Limited Company Wideband cable network
US4646270A (en) * 1983-09-15 1987-02-24 Motorola, Inc. Video graphic dynamic RAM
US5163024A (en) 1983-12-30 1992-11-10 Texas Instruments Incorporated Video display system using memory with parallel and serial access employing serial shift registers selected by column address
US4672602A (en) * 1984-11-02 1987-06-09 Itt Corporation Control and routing system
US4683555A (en) * 1985-01-22 1987-07-28 Texas Instruments Incorporated Serial accessed semiconductor memory with reconfigureable shift registers
US4763317A (en) * 1985-12-13 1988-08-09 American Telephone And Telegraph Company, At&T Bell Laboratories Digital communication network architecture for providing universal information services
US5062059A (en) * 1986-12-08 1991-10-29 Sunriver Corporation Apparatus and method for communication between host CPU and remote terminal
US4816989A (en) 1987-04-15 1989-03-28 Allied-Signal Inc. Synchronizer for a fault tolerant multiple node processing system
US4790418A (en) * 1987-04-30 1988-12-13 Ford Motor Company Transmission clutch loop transfer control
US5191410A (en) * 1987-08-04 1993-03-02 Telaction Corporation Interactive multimedia presentation and communications system
US5119481A (en) * 1987-12-22 1992-06-02 Kendall Square Research Corporation Register bus multiprocessor system with shift
US4995078A (en) * 1988-06-09 1991-02-19 Monslow H Vincent Television broadcast system for selective transmission of viewer-chosen programs at viewer-requested times
US5200925A (en) * 1988-07-29 1993-04-06 Mitsubishi Denki Kabushiki Kaisha Serial access semiconductor memory device and operating method therefor
JP3002471B2 (ja) * 1988-08-19 2000-01-24 株式会社日立製作所 番組配信装置
US5060068A (en) * 1988-10-31 1991-10-22 James E. Lindstrom Audio/video distribution system
US4984240A (en) * 1988-12-22 1991-01-08 Codex Corporation Distributed switching architecture for communication module redundancy
US5014125A (en) * 1989-05-05 1991-05-07 Cableshare, Inc. Television system for the interactive distribution of selectable video presentations
US5003591A (en) * 1989-05-25 1991-03-26 General Instrument Corporation Functionally modifiable cable television converter system
US5130792A (en) * 1990-02-01 1992-07-14 Usa Video Inc. Store and forward video system
US5084839A (en) * 1990-02-05 1992-01-28 Harris Corporation Variable length shift register
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
CA2022302C (en) * 1990-07-30 1995-02-28 Douglas J. Ballantyne Method and apparatus for distribution of movies
US5153884A (en) * 1990-08-15 1992-10-06 Allen-Bradley Company, Inc. Intelligent network interface circuit
US5261114A (en) * 1990-11-09 1993-11-09 Ast Research, Inc. Method and apparatus for providing down-loaded instructions for execution by a peripheral controller
US5132992A (en) * 1991-01-07 1992-07-21 Paul Yurt Audio and video transmission and receiving system
US5253341A (en) * 1991-03-04 1993-10-12 Rozmanith Anthony I Remote query communication system
US5369784A (en) * 1991-08-01 1994-11-29 City Communications Limited Radio communications system using multiple simultaneously transmitting transceivers
US5543477A (en) * 1991-09-24 1996-08-06 Chevron Chemical Company Copolymers of ethylene and alkyl acrylate with improved melt-point temperatures
US5247347A (en) * 1991-09-27 1993-09-21 Bell Atlantic Network Services, Inc. Pstn architecture for video-on-demand services
US5371532A (en) * 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
US5771367A (en) * 1992-12-17 1998-06-23 International Business Machines Corporation Storage controller and method for improved failure recovery using cross-coupled cache memories and nonvolatile stores
US5400331A (en) * 1993-04-28 1995-03-21 Allen-Bradley Company, Inc. Communication network interface with screeners for incoming messages
WO1994030015A1 (en) * 1993-06-03 1994-12-22 Target Technologies, Inc. Data and television network for digital computer workstations
US6356973B1 (en) * 1993-10-15 2002-03-12 Image Telecommunications Corporation Memory device having a cyclically configured data memory and having plural data portals for outputting/inputting data
US5553311A (en) * 1994-02-17 1996-09-03 Image Telecommunications Inc. Customer premise device for controlling data transmissions by storing a limited number of operation algorithms and receiving operation instructions from external sources
DE69426490T2 (de) * 1994-09-07 2001-06-28 Cryovac Inc Chlorfreies Verbundfilmmaterial, Verfahren zu seiner Herstellung und sein Gebrauch
US5729763A (en) 1995-08-15 1998-03-17 Emc Corporation Data storage system
US6149750A (en) * 1995-09-18 2000-11-21 3M Innovative Properties Company Lens blank surface protection film
US5768623A (en) * 1995-09-19 1998-06-16 International Business Machines Corporation System and method for sharing multiple storage arrays by dedicating adapters as primary controller and secondary controller for arrays reside in different host computers
US5970510A (en) 1996-04-10 1999-10-19 Northrop Grumman Corporation Distributed memory addressing system
US6587909B1 (en) 1996-06-05 2003-07-01 Hewlett-Packard Development Company, L.P. Installation and removal of components of a computer
FR2754100B1 (fr) * 1996-09-30 1998-11-20 Sgs Thomson Microelectronics Memoire a acces serie avec securisation de l'ecriture
US5953263A (en) * 1997-02-10 1999-09-14 Rambus Inc. Synchronous memory device having a programmable register and method of controlling same
US5909564A (en) 1997-03-27 1999-06-01 Pmc-Sierra Ltd. Multi-port ethernet frame switch
FR2765719B1 (fr) * 1997-07-04 1999-10-01 Sgs Thomson Microelectronics Perfectionnement aux memoires a acces sequentiels
US5908333A (en) * 1997-07-21 1999-06-01 Rambus, Inc. Connector with integral transmission line bus
EP1019912A2 (en) * 1997-10-10 2000-07-19 Rambus Incorporated Apparatus and method for pipelined memory operations
US6051756A (en) 1998-02-26 2000-04-18 Cargill, Incorporated Particle bombardment transformation of Brassica
US5953283A (en) * 1998-07-31 1999-09-14 International Business Machines Corporation Multi-port SRAM with reduced access requirements
US6870936B1 (en) 1998-10-20 2005-03-22 Edward Y. Ajamian Control platform for multiple signal routing and interfacing in an audio/visual environment
JP3557114B2 (ja) * 1998-12-22 2004-08-25 株式会社東芝 半導体記憶装置
US7266706B2 (en) * 1999-03-03 2007-09-04 Yottayotta, Inc. Methods and systems for implementing shared disk array management functions
US6370605B1 (en) * 1999-03-04 2002-04-09 Sun Microsystems, Inc. Switch based scalable performance storage architecture
JP3813758B2 (ja) * 1999-04-12 2006-08-23 エルピーダメモリ株式会社 半導体記憶装置
US6728799B1 (en) 2000-01-13 2004-04-27 Hewlett-Packard Development Company, L.P. Hybrid data I/O for memory applications
GB2367648B (en) * 2000-10-03 2002-08-28 Sun Microsystems Inc Multiple trap avoidance mechanism
US7089293B2 (en) 2000-11-02 2006-08-08 Sun Microsystems, Inc. Switching system method for discovering and accessing SCSI devices in response to query
US6697368B2 (en) 2000-11-17 2004-02-24 Foundry Networks, Inc. High-performance network switch
US6880100B2 (en) 2001-07-18 2005-04-12 Smartmatic Corp. Peer-to-peer fault detection
US6560146B2 (en) * 2001-09-17 2003-05-06 Sandisk Corporation Dynamic column block selection
US6684292B2 (en) 2001-09-28 2004-01-27 Hewlett-Packard Development Company, L.P. Memory module resync
US6981173B2 (en) 2001-09-28 2005-12-27 Hewlett-Packard Development Company, L.P. Redundant memory sequence and fault isolation
US7069468B1 (en) * 2001-11-15 2006-06-27 Xiotech Corporation System and method for re-allocating storage area network resources
JP3964212B2 (ja) * 2002-01-16 2007-08-22 株式会社日立製作所 記憶装置システム
US6947981B2 (en) 2002-03-26 2005-09-20 Hewlett-Packard Development Company, L.P. Flexible data replication mechanism
JP2003303139A (ja) 2002-04-09 2003-10-24 Nec Corp 冗長メモリモジュールおよびメモリコントローラ
CA2498154A1 (en) 2002-09-16 2004-03-25 Tigi Corporation Storage system architectures and multiple caching arrangements
JP4202709B2 (ja) * 2002-10-07 2008-12-24 株式会社日立製作所 ストレージ装置を有するネットワークにおける、ボリューム及び障害管理方法
US7197662B2 (en) * 2002-10-31 2007-03-27 Ring Technology Enterprises, Llc Methods and systems for a storage system
ATE557349T1 (de) 2002-10-31 2012-05-15 Parallel Iron Llc Speichersystem und verfahren für ein speichersystem
US6879526B2 (en) 2002-10-31 2005-04-12 Ring Technology Enterprises Llc Methods and apparatus for improved memory access
US7415565B2 (en) * 2002-10-31 2008-08-19 Ring Technology Enterprises, Llc Methods and systems for a storage system with a program-controlled switch for routing data
US7707351B2 (en) * 2002-10-31 2010-04-27 Ring Technology Enterprises Of Texas, Llc Methods and systems for an identifier-based memory section

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59180870A (ja) * 1983-03-31 1984-10-15 Fujitsu Ltd 半導体記憶装置
JPH04350742A (ja) * 1991-05-28 1992-12-04 Fujitsu Ltd 画像データ書込み方法及び画像メモリ装置
JPH09504147A (ja) * 1993-10-15 1997-04-22 イメージ・テレコミュニケーションズ・コーポレーション 情報サービス制御点
JPH11507457A (ja) * 1995-06-09 1999-06-29 サーブ ダイナミックス メモリ構造

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346625A (ja) * 2004-06-07 2005-12-15 Nec Electronics Corp 階層型モジュール
US7800918B2 (en) 2004-06-07 2010-09-21 Nec Electronics Corporation Hierarchical module
JP4610235B2 (ja) * 2004-06-07 2011-01-12 ルネサスエレクトロニクス株式会社 階層型モジュール

Also Published As

Publication number Publication date
KR100994393B1 (ko) 2010-11-16
US20040085818A1 (en) 2004-05-06
US7313035B2 (en) 2007-12-25
US20070237009A1 (en) 2007-10-11
EP1576445B1 (en) 2010-06-30
ATE472802T1 (de) 2010-07-15
AU2003301774A8 (en) 2004-06-07
KR20050062781A (ko) 2005-06-27
WO2004042506A2 (en) 2004-05-21
EP1576445A2 (en) 2005-09-21
AU2003301774A1 (en) 2004-06-07
US20050128823A1 (en) 2005-06-16
EP1576445A4 (en) 2006-08-16
US7808844B2 (en) 2010-10-05
WO2004042506A3 (en) 2005-09-09
US6879526B2 (en) 2005-04-12
DE60333227D1 (de) 2010-08-12

Similar Documents

Publication Publication Date Title
JP2006505066A (ja) 改善されたメモリアクセスのための方法及び装置
US8397020B2 (en) Memory array and method with simultaneous read/write capability
JP4315552B2 (ja) 半導体集積回路装置
JP4084428B2 (ja) 半導体記憶装置
US6477107B1 (en) Integrated circuit memory devices having data selection circuits therein which are compatible with single and dual data rate mode operation and methods of operating same
KR100252048B1 (ko) 반도체 메모리장치의 데이터 마스킹 회로 및 데이터 마스킹방법
KR100435612B1 (ko) 클록 버니어 조정
KR100396944B1 (ko) 반도체 기억 장치 및 그를 이용한 메모리 시스템
KR101145784B1 (ko) 반도체 메모리 장치 및 그를 포함하는 메모리 시스템
KR100915554B1 (ko) 반도체기억장치
US20030021164A1 (en) Semiconductor memory device having different data rates in read operation and write operation
US20080205187A1 (en) Data flow control in multiple independent port
TW200822131A (en) Daisy chain cascading devices
US20050117446A1 (en) Semiconductor memory device and semiconductor memory device control method
US8069318B2 (en) High performance data rate system for flash devices
US7164607B2 (en) Dual bus memory burst architecture
JP2001236785A (ja) 半導体メモリ装置、バッファ及び信号伝送回路
JP4828037B2 (ja) 半導体メモリ装置及びデータ伝送方法
KR100224718B1 (ko) 동기식 메모리장치의 내부 클락 발생기
US6834015B2 (en) Semiconductor memory device for reducing data accessing time
JP4824180B2 (ja) 半導体記憶装置
JP5028710B2 (ja) 半導体記憶装置
JP2727054B2 (ja) 信号分配回路
US6356505B2 (en) Internal regeneration of the address latch enable (ALE) signal of a protocol of management of a burst interleaved memory and related circuit
JPH07230410A (ja) メモリアクセス制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100326

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100630

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100817