JP2000501536A - 種々のメモリセグメント間のメモリコントロールシーケンスのタイミングを最適にするメモリコントローラユニット - Google Patents

種々のメモリセグメント間のメモリコントロールシーケンスのタイミングを最適にするメモリコントローラユニット

Info

Publication number
JP2000501536A
JP2000501536A JP10510113A JP51011398A JP2000501536A JP 2000501536 A JP2000501536 A JP 2000501536A JP 10510113 A JP10510113 A JP 10510113A JP 51011398 A JP51011398 A JP 51011398A JP 2000501536 A JP2000501536 A JP 2000501536A
Authority
JP
Japan
Prior art keywords
request
memory
control
refresh
segment
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
JP10510113A
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
Application filed by ユニシス・コーポレイション filed Critical ユニシス・コーポレイション
Publication of JP2000501536A publication Critical patent/JP2000501536A/ja
Pending legal-status Critical Current

Links

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
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

(57)【要約】 個々の対のメモリセグメント(312a,312b)に分割されたメモリ(312)を制御するための個々の制御セグメント(311a,311b)を含むメモリコントローラ(310)が記載される。プログラマブルメモリコントローラ(310)は、メモリ動作間の待ちサイクル数を減らすことによりメモリデバイス(312)の平均アクセス時間を改善する(図4)。共通データバス(319)はメモリセグメント(312a,312b)間で共用される。各コントロールセグメント(311a,311b)は個々の組のアドレス(318,336)およびコントロールライン(320,322,324,326,338,340,342,344)を各メモリセグメント(312a,312b)に与え、多数のコントロールセグメント(311)およびメモリセグメント(312)間でコントロールシーケンス(図4)が同時に起こるようにする。したがって、コントロールシーケンス(図4)が1つのセグメント(311a,312a)内で処理されているときに、別のセグメント(311b,312b)において別のコントロールシーケンス(図4)が同時に起こり得る。この態様でコントロールシーケンス(図4)を重ならせることにより、アイドルな状態のままになる頻度を下げてデータバス(319)の帯域幅を増加させる。各コントロールセグメント(311a,311b)は他のコントロールセグメントに複数の許可モード信号を与える。許可モード信号は複数の実行待ちメモリリクエスト(303)からメモリリクエストを選択するためにリクエストセレクタ(530)によって用いられ、このため、選択されたリクエスト(552)はコントロールセグメント(311a,311b)のうちの1つがこのようなリクエストを受ける状態になると直ちに開始することができる。

Description

【発明の詳細な説明】 種々のメモリセグメント間のメモリコントロールシーケンスの タイミングを最適にするメモリコントローラユニット 発明の背景 発明の分野 この発明は一般にコンピュータシステムに関し、特にメモリコントロールデバ イスに関する。特定的には、この発明は、プログラマブルメモリコントローラで あって、メモリセグメントの対を用い、リクエストする複数の装置間で複数の実 行待ちメモリリクエストを最適に順序付けることによりセグメント対の間のタイ ミングシーケンスを最適に制御することによって、メモリアクセス速度を高める ものに向けられる。 関連技術 現在のコンピュータシステムに用いられる最も一般的な2つのタイプの半導体 ランダムアクセスメモリ(RAM)は、スタティックランダムアクセスメモリ( SRAM)およびダイナミックランダムアクセスメモリ(DRAM)である。典 型的にDRAMは、コンピュータシステムの主記憶部の実現などといった大量の メモリが要求される場合に用いられることが最も多い。SRAMは、より少ない 量のメモリが要求され、かつ/またはより高いアクセス速度が望まれる場合に最 もよく用いられることが多い。たとえば、SRAMは高速キャッシュメモリとし てコンピュータシステムに用いられることが多い。 DRAMはSRAMと比較するとコストが低く、要求されるスペースが少ない ため、大量のメモリが必要である場合に最もよく実現される。しかしながら、D RAMの使用には、SRAMよりもより複雑な支持回路構成が要求される。SR AMはフリップフロップのアレイにデータのビットを記憶する。SRAMにビッ トが書込まれると、それは別の書込シーケンスによって変更されるか、またはメ モリ回路にエネルギがなくなるまでそこに留まる。 一方、DRAMはチャージされたキャパシタとしてデータのビットを記憶する 。 DRAMは典型的に1ビットの記憶につき1つのトランジスタしか用いずに実現 されるため、典型的に1ビットにつき4つから6つのトランジスタを必要とする SRAMよりもはるかに高密度で製造され得る。しかしながら、DRAMは電荷 としてデータのビットを記憶するため、不安定である。なぜなら、電荷は一般に は数ミリセカンドであるごくわずかな時間に漏出してしまうからである。このた め、「リフレッシュ」として知られている手順がDRAMに連続して施されてい なければ、DRAMはメモリ損失を受ける。 リフレッシュはDRAMの各セル内のデータにアクセスすることによって行な われる。DRAMチップは一般に行および列を有するマトリックス状に構成され る。2ミリセカンドごとに各セルに対して連続して読出および書込を行なうこと によって多くの時間をかけずにリフレッシュ動作を有効に行なうために、DRA Mは1回の動作で行全体をリフレッシュできるように構成される。この特徴によ りリフレッシュサイクルに費やされる時間が大幅に減る。 さらに、複数のDRAMの行/列構成により、各DRAMチップに接続される 必要があるアドレスラインを少なくすることが容易になる。DRAM内の各メモ リ場所は、特定の行アドレスおよび特定の列アドレスを特定することによりアド レス指定される。行および列アドレスの交差部により特定のメモリ場所が特定さ れる。行アドレスおよび列アドレスを時間多重化することにより、そのアドレス の両方のコンポーネントに対して同じアドレスラインを用いることができ、それ により、必要なアドレスラインの本数が減る。 たとえば、64Mビットの容量を有するDRAMチップは8192列と919 2行とを含むマトリックスとして構成され得る。一般に、線形アドレス指定技術 を用いて64Mビットのデータに対してアドレス指定を行なうためには26本の アドレスラインが必要である。しかしながら、行および列アドレスを時間多重化 すると(すなわち行アドレスを与え、その後に列アドレスを与える)、13本の アドレスラインしか必要ではない。 DRAMの(後に説明する)リフレッシュ、アドレス多重化および他の厳しい 制御およびタイミング要件に対処するためには複雑な支持回路構成が必要である 。これはSRAMに要求される比較的単純な支持回路構成とは対照的である。し か しながら、このような複雑な支持回路構成はDRAMの大きなアレイ間で共有す ることができ、付加的なコストも大きなメモリアレイを採用するシステムにはさ ほど大きな問題ではない。実際に、大きなメモリアレイを採用するシステムに対 しては、半導体の占有面積およびメモリの低コスト化の両方において実現される 節減は一般には、複雑な支持回路構成に関連した付加的な費用よりも大きい。 したがって、システム設計においてDRAMの使用を希望するコンピュータシ ステムの設計技術者は、要求されるDRAM支持回路構成を供給する必要がある 。一般に、DRAMの製造業者は、製造する各タイプのDRAMに対して仕様書 を与えている。このような仕様書はDRAMの各動作モードを指示するために必 要な情報を含む。仕様書には複数のデジタル波形を含むタイミング図が含まれる ことも多い。各タイミング図には、コントロール信号と、DRAMの動作の各モ ードを支持するために必要であるそれらの関連したタイミングとが示される。典 型的に、DRAMは少なくとも3つの動作モード、すなわち読出、書込およびリ フレッシュを支持する。典型的な読出サイクルシーケンスは20個よりも多いタ イミングパラメータにかかわり得、これらはすべて適切な読出動作を保証するた めに特定の範囲内に保たれる必要がある。書込およびリフレッシュサイクルタイ ミングも同様に複雑である。 DRAMに用いられるタイミング要件、リフレッシュ要件およびアドレス多重 化技術はすべて、アクセス時間を増加する傾向にある。典型的に、今日では一般 的に入手可能である最も速い市販の(COTS)DRAMのアクセス時間は50 ナノセカンドから70ナノセカンド(ns)までの範囲である。これは5nsか ら15nsまでの範囲である最も速いCOTS SRAMのアクセス時間とは対 照的である。DRAMのコントロールタイミング要件は、それらのアクセス時間 が比較的長いことの原因の一部である。 このようなコントロールタイミングはメモリアクセス動作時およびメモリアク セス動作間の好ましくない待ちサイクルの原因となることが多い。典型的に、D RAMのメモリアクセス動作の前後には一定の期間が経過する必要がある。たと えば、DRAMの読出動作の後には、データバスにデータが出力される前にいく つかのシーケンシャルな事象が起こらなければならない。この期間をここではセ ットアップ時間と呼ぶ。同様に、DRAMメモリ読出動作が行なわれた後、DR AMが別のメモリアクセスコマンドを受入れることができる状態になる前にも一 定の期間が経過しなければならない。この期間をここでは行アドレスストローブ (RAS)プリチャージ時間と呼ぶ。したがって、従来の方法を用いると、DR AMデバイスを用いる場合にはシステムデータバスの能力が最適に利用されない 。このようなデータバスがメモリアクセスシーケンス時およびメモリアクセスシ ーケンス間の長い時間にわたってアイドルな状態になることも稀ではない。 発明の概要 したがって、この発明は、メモリ動作間の待ちサイクル数を減らすことにより 、メモリデバイスの平均アクセス時間を改善するプログラマブルメモリコントロ ーラに向けられる。メモリは1対のメモリセグメントに分割される。共通データ バスはメモリセグメント間で共有されるが、各セグメントには個々の組のアドレ スおよびコントロールラインが設けられる。このため、コントロールシーケンス が1つのセグメント内で処理されているときに、別のコントロールシーケンスが 2つ目のセグメント内で同時に起こり得る。この態様でコントロールシーケンス が重なることにより、共用されるデータバスは第1のセグメントから解放される と直ちに第2のセグメントによって使用することができる。これにより、データ バスがアイドルな状態のままとなっている時間が減ることにより、共通データバ スの帯域幅が増加する。 各メモリセグメントには個々のコントロール論理(以下、「コントロールセグ メント」と呼ぶ)が設けられる。相補的なコントロールセグメントの各々は個々 の組のコントロールおよびアドレスラインを対応するメモリセグメントに与える 。2つのコントロールセグメント内に生じるコントロールシーケンス間の調整は 、コントロールセグメント間に伝達される一連の許可モード信号によって行なわ れる。したがって、各コントロールセグメントは他のコントロールセグメントに 許可モード信号を与える。許可モード信号は、特定のコントロールシーケンスが そこで開始し得ることを他のコントロールセグメントに示す。 このように、各コントロールセグメントはメモリコントローラによって行なう ことができる各動作モードに対して1つの許可モード信号をもたらす。たとえば 、典型的なDRAMメモリコントローラは3つの動作モード、すなわち読出、書 込およびリフレッシュを行なう。したがって、この例を用いると、読出許可、書 込許可およびリフレッシュ許可である3つの許可モード信号ジェネレータが各コ ントロールセグメント内に設けられる。各コントロールセグメントは他方のコン トロールセグメントによって用いられる1組の許可モード信号ジェネレータを維 持し、特定のコントロールシーケンスがそこで開始し得るときを決定する。 さらに、各セグメントの中でのメモリコントロールシーケンスを容易に最適化 るするために、各対のメモリセグメントの間にメモリアドレスをインターリーブ してもよい。たとえば、すべての偶数のアドレス場所を一方のメモリセグメント に含み、すべての奇数の場所を他方のメモリセグメントに含んでもよい。この態 様でアドレス場所をインターリーブすることにより、他方のメモリセグメントで メモリ動作を行なう間に、一方のメモリセグメントに対するメモリリクエストが 実行待ちの状態にされ易くなる。 この発明は、マルチプロセッサコンピュータシステムなどの多数のメモリリク エストする装置を採用するコンピュータシステムに関する共有のデータバスの帯 域幅をさらに増加する。リクエストする複数の装置からのメモリリクエストは対 応する複数のメモリリクエストキューに維持される。各メモリリクエストキュー は、予め規定された優先順位に従うか、または先入れ先出し方式(FIFO)な どに基づいたより簡単な方法によってリクエストを再度順序付けることにより管 理され得る。いずれの場合にも、メモリリクエストキューからの処理される次の リクエストをここで「現在のリクエスト」と呼ぶ。したがって、任意の時点にお いて各メモリリクエストキューは現在のリクエストを含む。 上述のとおり、許可モード信号は、特定のコントロールセグメント内で特定の タイプのメモリシーケンスが開始するときを通知する。これらの信号はこの発明 では特定のメモリシーケンスが「許可される」ときを決定するために用いられる 。したがって、任意の時点において、少なくとも1つの現在のリクエストが許可 されると決定されると、複数のメモリリクエストキューの各々からの現在のリク エストのすべてが取出される。1組の現在のリクエストが取出されると、取出さ れ たすべてのリクエストは各クロックパルスの間に並行して分析される。取出され たリクエストは各クロックパルスの間に同時に検査され、現在許可されているも のがあるかどうかが決定される。取出されたリクエストのうちの1つが許可され ていればそれは直ちに処理される。取出された残りのリクエストは、すべてのリ クエストが処理されるまで各クロックパルスの間に並行してさらに検査される。 取出された最後のリクエストに関するコントロールシーケンスが開始すると、複 数のメモリリクエストキューが前進し、次の組の現在のリクエストに対して先の プロセスが繰返される。 図面の簡単な説明 添付の図面を参照してこの発明を説明する。 図1は、この発明の典型的な動作環境を示すブロック図である。 図2は、DRAMデバイスに関するシーケンシャルな2つの読出シーケンスを 示す典型的なタイミング図である。 図3は、この発明の好ましい実施例を含む典型的な動作環境を示すブロック図 である。 図4は、この発明の実現例に従ったDRAMデバイスに関する2つの同時読出 コントロールシーケンスを示す典型的なタイミング図である。 図5Aおよび図5Bを含む図5は、この発明の好ましい実施例を示すブロック 図である。 図面において、似た参照番号は一般に同一であり、機能的に類似しており、か つ/または構造的に類似したエレメントを示す。エレメントが最初に示される図 面は参照番号の一番左の数字で示される。 好ましい実施例の詳細な説明 この発明は、メモリ動作間の待ちサイクル数を減らすことによりメモリデバイ スの平均アクセス時間を改善するプログラマブルメモリコントローラに向けられ る。メモリの各ブロックは共通データバスを共用する2つのセグメントに分割さ れる。各セグメントはそれ自体の個々の組のアドレスおよびコントロールライン を有する。セグメント間のコントロールシーケンスは重なるため、共用データバ スは他方のセグメントにから解放されると直ちに一方のセグメントによって使用 することができる。 各メモリセグメントに対して個々のコントロールセグメントが設けられる。2 つのコントロールセグメント内に発生するコントロールシーケンス間の調整は、 コントロールセグメント間に伝達される一連の許可モード信号によって行なわれ る。したがって、各コントロールセグメントは他方のコントロールセグメントに 許可モード信号を与え、これは特定のコントロールシーケンスがそこで開始し得 るときを示す。上述の許可モード信号を与えるプログラマブル波形ジェネレータ の一例は前述の相互参照した出願に開示されている。 この発明は、上述のとおり、重なるコントロールシーケンスの能力を最大限に 利用するために、リクエストする複数の装置からの実行待ちメモリリクエストの 順番を最適にする。リクエストする複数の装置からのメモリリクエストは対応す る複数のメモリリクエストキューに維持される。各メモリリクエストキューから の現在のリクエストは各クロックパルスの間に並行して分析される。少なくとも 1つの現在のリクエストがアクティブであるときに現在のリクエストすべてが取 出される。取出されたリクエストはすべて各クロックパルスの間に同時に検査さ れ、許可されると直ちに処理されるため、共用データバスがアイドルな状態のま まとなる時間が減る。 ここに記載する例は、DRAMデバイスの制御に関するものとして、この発明 の好ましい実施例を説明する。しかしながら、この発明の実施例は制限されるこ となくスタティックランダムアクセスメモリ(SRAM)、ビデオメモリ(VR AM)、三次元ランダムアクセスメモリ(3DDRAM)、同期型ダイナミック ランダムアクセスメモリ(SDRAM)、ウィンドウズランダムアクセスメモリ (WRAM)、キャッシュDRAM、マルチバンクDRAMおよび未だ発明され ていない他のメモリデバイスを含む、マルチプルセグメントに構成することがで きるいかなるタイプのメモリデバイスによって実現されてもよい。 図1は、この発明の典型的な動作環境を示すブロック図である。図1は、リク エストする複数の装置102a,102b,・・・,および102n(102と総 称 する)と、DRAMコントローラ110と、DRAM112とを示す。リクエス トする装置102の各々は、DRAMコントローラ110と接続され、メモリの 読出および書込動作をリクエストし得るものならいかなるデバイスでもよい。こ のようなリクエストをする装置の例としては、中央処理装置(CPU)、ダイレ クトメモリアクセス(DMA)デバイス、第2レベルキャッシュデバイスおよび 入力/出力(I/O)チャネルデバイスなどが挙げられる。リクエストをする装 置102はコントロールバス106および共通アドレスバス104を介してDR AMコントローラ110に結合され、かつ共通データバス108を介してDRA M112に結合される。DRAMコントローラはDRAM112とリクエストを する装置102との間のインターフェイスとして作用する。なお、図1に示され るように、複数のDRAM112が単一のDRAMコントローラ110に結合さ れてもよい。また、DRAMコントローラとDRAMとの複数の組合せ134を 、図示されるようにアドレスバス104、コントロールバス106およびデータ バス108を介してリクエストする装置102に結合してもよい。 各DRAMコントローラ110はアドレスマルチプレクサ114とDRAMタ イミングコントロール回路116とを含む。アドレスマルチプレクサ114はア ドレスバス104に結合される。アドレスマルチプレクサ114は典型的に、リ クエストする装置102で発生したアドレスを、DRAM112が必要とする時 間多重化された行および列アドレスに変換する。時間多重化された行および列ア ドレスはアドレスバス118を介してDRAM112に送られる。 上述のとおり、DRAMに必要なアドレスバス118は典型的にはせいぜいリ クエストする装置のアドレスバス104およびDRAMの入カアドレスバス13 0の幅の半分である。たとえば、64MバイトのDRAMを有するコンピュータ システムの典型的な実現例では一般に、少なくとも26ビット幅のアドレスバス が要求される。すなわち、65,536,000個の個々のアドレス場所を表わ すためには最低でも26個の2進数字が必要である。実現例によっては、DRA Mを制御するために付加的なアドレスラインがさらに用いられる。たとえば、特 に大きなメモリアレイを採用するシステムにおいては、各ブロックが64Mバイ トのDRAMを含む複数のDRAMブロック間で選択を行なうために、付加的な アドレスラインが用いられる。この例では、要求される26本のアドレスライン に3本のアドレスラインを加えることができ、最高で8個のこのようなブロック 間での選択を行なうために用いることができろ。したがって、この例では、アド レスバス104および130は29ビット幅となるであろう。しかしながら、先 に述べた時間多重化技術を用いるとアドレスバス118には13本のラインしか 必要ではない。典型的に単一のDRAMコントローラ110が複数のDRAMチ ップ112を制御する点を考慮するとこの節減は非常に大きい。 メモリ読出およびメモリ書込リクエストはリクエストする装置102によって コントロールバス106を介して送られる。DRAMコントローラ110は、こ のような信号に対する適切な信号および適切なタイミングを発生して、アドレス ライン118およびコントロールラインRAS′120、CAS′122、OE ′124およびWE′126を介してDRAM112に送ることにより、このよ うなリクエストに応答する。メモリ書込に関するデータが双方向データバス10 8および128をそれぞれ介してリクエストする装置102からDRAM112 に送られる。同様に、メモリ読出に関するデータは双方向データバス128およ び108をそれぞれ介してDRAM112からリクエストする装置102に送ら れる。一般に、DRAMコントローラ110はDRAM112によって要求され るように周期的なリフレッシュサイクルを制御して発生する。読出および書込リ クエストならびにこのようなリフレッシュ動作間の調停もまた、典型的にはDR AMコントローラ110によって管理される。 DRAMコントローラ110からの出力信号であって、具体的にはアドレスバ ス118、RAS′ライン120、CAS′ライン122、OE′ライン124 およびWE′ライン126上の信号を、図2のタイミング図を参照して説明する 。図2のタイミング図には典型的なDRAM読出動作に関するタイミング関係が 示される。この場合、示される読出動作は4ワードページモードの読出リクエス トである。これはたとえばCOTS拡張データ出力(EDO)DRAMによって 支持される一般的なタイプの読出リクエストである。この動作モードでは、連続 した4つの列アドレスが後続する単一の行アドレスを特定することにより、共通 の行内に記憶された4ワードのデータがアクセスされる。4つの列アドレスの各 々 に結合された単一の行アドレスは、異なった4つの行/列アドレスを含む。行ア ドレスは1回しか特定されないため、4ワードのデータを読出すためのシーケン ス時間が実質的に減る。 図2のタイミング図はメモリコントロールデバイスによって一般的にもたらさ れる、コントロールラインの相互関係およびタイミング制約のタイプに関する典 型的な要件を示すために用いられることに注目されたい。ここに示した原理をも たらすために、書込またはリフレッシュモードなどの他の動作モードを用いても よい。したがって、この開示を通して用いられる読出動作は、この発明の好まし い実施例によってもたらされる特徴および機能を顕著に示すための一例として用 いられたものである。種々のタイプの読出モード、書込モードおよびリフレッシ ュモードといった、他の動作モードにも同じ原理が当てはまる。 図2に示されるタイミング図はDRAMデバイスに関するコントロール信号の 公称タイミングおよび関係を示す典型的なタイミング図である。コントロール信 号は水平方向の波形として示され、タイミング図の左側に各波形の初めに明示さ れる。タイミング図の上方に示される数字は連続したシステムクロックパルス2 28を表わす時間基準点である。この例では、クロックパルス0からクロックパ ルス18までの範囲に19個のクロックパルスが示される(参照番号228の右 の数字を参照)。ここでは特定のクロックパルスについて述べる場合、それは以 後クロックパルス228−nと呼ばれ、ここでnはタイミング図の上方の行22 8に示される0から14までの数のうちの1つを表わすことに注目されたい。た とえば、RAS′波形206の遷移222はクロックパルス228−2で起こる 。なおRAS′206などの波形信号の名称の最後に付された「′」という記号 は、関連した信号が論理ローレベルでアクティブな状態にあることを示す。 次に、典型的なDRAMに必要なタイミングの関係を説明する。読出開始シー ケンスは読出開始信号250が論理ハイレベルから論理ローレベル202に移行 するときに開始する。DRAM112は行アドレスストローブ(RAS′)22 2の立下がり縁で行アドレス218をラッチする。このため、クロックパルス2 28−2の間には、DRAMコントローラ110がRAS′信号206の立下が り縁222を発生するときに、アドレスマルチプレクサ114は、リクエストす る装置10によって発生した読出リクエストに対応する適当な行アドレス218 をDRAM112に同時に供給する必要がある。行アドレス218はアドレスバ ス118を介してDRAMに伝達される。 典型的に、行アドレス218はDRAMコントローラ110のアドレスマルチ プレクサ114で発生した変換された出力である。先に述べたとおり、アドレス マルチプレクサ114はアドレスバス104および130の全幅を含むアドレス を変換する。全長アドレスの各々は別個の行および列アドレスに変換され、これ らは行および列アドレス信号218および220で示されるようにDRAMチッ プ112に時間多重化される。前述のとおり、各行および列アドレスはより小さ い幅を持つアドレスバス118を含むことに留意されたい。行/列アドレス指定 のこの方法により、各DRAMチップに装着されるアドレスラインの数が(典型 的には半分に)減る。より大きいアドレスバス130はDRAMコントローラチ ップ110の各々だけに装着され、これらは典型的には、大きなメモリアレイを 有する典型的なコンピュータシステムを含む複数のDRAMチップと比較すると はるかに少ない。 再度図2を参照して、クロックパルス228−4で次の事象が起こる。クロッ クパルス228−4では、列アドレスストローブ(CSA′)208が論理ロー レベル224に移行する。この事象によりDRAM112がアドレスバス118 を介して列アドレス220をラッチする。このため、クロックパルス228−4 の間に、DRAMコントローラ110がCAS′信号206の立下がり縁224 を発生するときに、アドレスマルチプレクサ114はリクエストする装置102 の読出リクエストに対応する有効な列アドレス220をDRAM112に同時に 供給する必要がある。 同時に、クロックパルス228−4の間に、出力イネーブル(OE′)信号2 10が論理ロー状態246に移行し、DRAM112にその出力ドライバをオン にさせる。この結果、行/列アドレス218/220によって特定されたメモリ 場所に記憶されたデータがこのときデータバス128上に現れる。このためデー タD0 226はリクエストする装置102がデータバス108を介して読出で きる。 次に、クロックパルス228−6において、CAS′信号208は234で再 びローになる。これによりDRAM112が第2の列アドレス228をラッチす る。このときOE′信号210はローのままであり、DRAMはその出力ドライ バをオンにする。これにより、行/列アドレス218/228によって特定され たメモリ場所に記憶されたデータがデータバス128上に現れるようになる。こ の時点でデータD1 240はリクエストする装置102がデータバス108を 介して読出できる。 次に、クロックパルス228−8において、CAS′208がロー234にな り、DRAM112に列アドレス230をラッチさせる。このときOE′信号2 10はローのままであり、DRAMはその出力ドライバをオンにし、それにより 行/列アドレス218/230からのデータがデータバス128に出力される。 この時点でデータD2 242はリクエストする装置102がデータバス108 を介して読出できる。 最後に、クロックパルス228−10において、CAS′信号234はローに なり、DRAM112に列アドレス232をラッチさせる。このときOE′信号 210はローのままであり、DRAMはその出力ドライバをオンにし、それによ り行/列アドレス218/232からのデータがデータバス128に出力される 。この時点でデータD3 244はリクエストする装置102がデータバス10 8を介して読出できる。読出動作が図2に示され、書込イネーブル(WE′)信 号212は読出シーケンス全体にわたってハイのままであることに留意されたい 。 この4ワードページの読出シーケンスの直後に第2の読出シーケンスがつづき 、これは図2に示される。RASプリチャージ248として知られるDRAMの 制約のために、第2の読出シーケンスは第1の読出シーケンスが完了した直後に 開始することはできない。RASプリチャージは次のメモリサイクルに備えて典 型的なDRAMデバイスのダイナミック回路構成をプリチャージするために要す る時間である。この例では、RASプリチャージ248は3クロックサイクル分 の長さであり、クロックパルス228−11から228−14までの間に起こる 。異なったDRAMデバイスによりRASプリチャージ時間に必要な異なった時 間が特定され得る。 この例では、後の読出サイクルが開始し得る最も早い期間は、RASプリチャ ージ248の時間要件を補償するクロックパルス228−12の間である。した がって、第2の読出開始シーケンスは読出開始信号250がクロックパルス22 8−13においてハイから論理ローレベル254に移行するときに開始する。第 2の読出シーケンスは上述の第1の読出シーケンスと同じ態様で機能する。した がって、RAS′信号206の立下がり縁256で新しい行アドレス252がD RAM112にラッチされる。同様に、CSA′信号208の立下がり縁258 で新しい列アドレス254がDRAMデバイス112にラッチされる。さらに、 同時に、OE′信号210が260でローに移行し、DRAM112にその出力 ドライバをオンにさせ、それにより行/列アドレス252/254からのデータ がデータバス214に出力される。 データバス214は先の連続した読出動作間の4クロックパルス(228−1 2から228−16まで)にわたってアイドルな状態となる。データバスがアイ ドルな状態にある期間が生じるというこの現象は一般に、書込およびリフレッシ ュサイクルなどの他のモードのDRAM動作時にも起こる。これは上述の要求さ れるセットアップ時間およびRASプリチャージ時間のためである。さらに、他 のタイプのメモリデバイスの場合にもデータバスがアイドルの状態にある期間は 生じ得る。50メガヘルツのシステムクロック速度で動作する典型的なシステム の場合、各クロックパルス228は20ナノセカンド(ns.)の経過時間を表 わすことに留意されたい。したがってこの場合、データバスは2つの連続した読 出動作間に80nsにわたってアイドルな状態である。 図3は、この発明の好ましい実施例を含む典型的な動作環境を示すブロック図 である。この発明の好ましい実施例はASICデバイスを用いて実現される。し たがって、この例はASIC310としてこの発明の好ましい実施例を説明する 。ASIC310はDRAM312と、複数のリクエストする装置302a,3 02b,・・・,302n(302と総称する)との間のインターフェイスとして 作用する。DRAM312は2つのセグメント312aおよび312b(312 と総称する)に分割される。図3に示されるように、複数のDRAM312が単 一のASIC312に結合され得ることに留意されたい。また、ASIC/DR AM のこのような複数の組合せ334を複数のリクエストする装置302の各々に結 合してもよいことに留意されたい。 ASIC310は2つのコンポーネントを含み、ここではそれらをインターフ ェイスコントローラ328およびDRAMコントローラ311と呼ぶ。DRAM コントローラ311は1対の相補的なコントロールセグメント311aおよび3 11b(311と総称する)を含む。各コントロールセグメント311は1つの DRAMセグメント312を制御する。したがって、コントロールセグメント3 11aはコントロール信号をDRAMセグメント312aに与え、コントロール セグメント311bはコントロール信号をDRAMセグメント312bに与える 。インターフェイスコントローラ328は複数のリクエストする装置302とD RAMコントローラ311との間にインターフェイスを提供する。コンポーネン ト328および311の各々によってもたらされる機能を以下に説明する。 DRAMコントローラ311はアドレスおよびコントロール信号をDRAM3 12に与える。コントロールセグメント311aおよび311bの各々はDRA Mセグメント312aおよび312bの各々に、個々の組のアドレスおよびコン トロールラインを介して結合される。たとえば、コントロールセグメント311 aはアドレスラインADR_A318を介してDRAMセグメント312aに結 合される。同様に、コントロールセグメント311aはコントロールラインRA S′_A320、CAS′_A322、OE′_A324およびWE′_A32 6を介してDRAMセグメント312aに結合される。同様に、コントロールセ グメント311bはアドレスラインADR B336を介してDRAMセグメン ト312bに結合される。さらに、コントロールセグメント311bはコントロ ールラインRAS′_B338、CAS′_B340、OE′_B342および WE′_B344を介してDRAMセグメント312bに結合される。 双方向データバス319は相補的な対のDRAMセグメント312aおよび3 12bによって共用される。したがって、リクエストする装置302からの読出 リクエストの処理時にはDRAM312からDRAMコントローラ311の方向 にデータバス319を介してデータが伝達される。同様に、リクエストする装置 302からの書込リクエストの処理時にはDRAMコントローラ311からDR AM312の方向にデータバス319を介してデータが伝達される。 インターフェイスコントローラ328は複数のリクエストする装置302とD RAMコントローラ311との間にインターフェイスを提供する。各リクエスト する装置302は、バス304a,304b,・・・,および304n(304と 総称する)ならびに306a,306b,・・・,および306n(306と総称 する)によって示される2つの単方向バスを介してインターフェイスコントロー ラに結合される。第1の単方向バス304はリクエストする装置302からのア ドレス、コントロールおよびデータ信号をインターフェイスコントローラ328 内の個々のメモリリクエストキューに伝達する。個々のメモリリクエストキュー 303a,303b,・・・,および303n(303と総称する)はリクエスト する装置302からの複数のリクエストを記憶する。このようなリクエストは後 に、メモリリクエストキュー出力308a,308b,・・・,および308n( 308と総称する)を介してメモリリクエストキュー303からDRAMコント ローラ311に転送される。 バス306によって示される第2の単方向バスはインターフェイスコントロー ラ328内のデータ記憶領域310からのデータを、リクエストする装置302 に伝達する。典型的には、インターフェイスコントローラ310によつて他の機 能がもたらされる。たとえば、インターフェイスコントローラは典型的に、DR AM312によって要求される周期的なリフレッシュサイクルに関する制御を与 える。さらに、実行待ちの読出、書込およびリフレッシュリクエスト間の調停は 、典型的にはインターフェイスコントローラ328によって管理される。これら および他の機能は論理コントロールクロック316および双方向信号バス314 によって表わされる。 図3に示されるこの発明の実施例によって発生するコントロール信号を以下に 図4のタイミング図を参照して説明する。図4に示されるタイミング図は、先に 述べ、かつ図2に示される読出コントロールシーケンスに類似した読出コントロ ールシーケンスであることに留意されたい。図2および図4に示される読出コン トロールシーケンスの両方に関するタイミング仕様は同じである。しかしながら 、図2は単一のDRAMからの2つの連続した読出シーケンスを示し、図4はこ の 発明の実施例に従う2つのDRAMセグメント312aおよび312bに関する 重なる連続した2つの読出シーケンスを示す。 したがって、図4のタイミング図は2つの部分に分割される。上部分「セグメ ントA」484はコントロールセグメント311aによって発生した信号を表わ す。同様に、下部分「セグメントB」486はコントロールセグメント311b によって発生した信号を表わす。よって、信号ADR A404、RAS′_A 406、CAS′_A408およびOE′_A410はそれぞれコントロールセ グメント311aのコントロールラインADR_A318、RAS′_A320 、CAS′_A322およびOE′_A324に対応する。同様に、信号ADR _B457、RAS′_B458、CAS′_B460およびOE′_B462 はそれぞれコントロールセグメント311bの制御ラインADR_B336、R AS′_B338、CAS′_B340およびOE′_B432に対応する。コ ントロールラインWE′_A326およびWE_B344に対応する信号は図4 には示されず、これらの読出シーケンスを通してハイの論理状態にあるものと仮 定する。 共用データバス319に関連した信号は、セグメントA484およびB486 に関する読出シーケンス間にあるデータバス信号488として図4に示される。 さらに、示されるように、第1の組のデータワードDO 450a、D 145 0b、D2 450cおよびD3 450dはセグメントA484からのコント ロールシーケンスに関連する。同様に、第2の組のデータワードDO 452a 、D1 452b、D2 452cおよびD3(図示せず)はセグメントB48 6からのコントロールシーケンスに関連する。 セグメントA484に関する読出シーケンスはStart Rd_A信号40 2で始まる。Start Rd_A信号402の立下がり縁414でDRAMコ ントローラ310はADR_A信号404で示されるようにADR_A318上 に行アドレス486を発生する。行アドレス486はRAS′_Aコントロール 信号406の立下がり縁422でDRAMセグメント312aにラッチされる。 列アドレス488はCAS_A信号408の立下がり縁424でDRAMセグメ ント312aにラッチされる。同時に、OE′_A信号410の立下がり縁49 0でDRAMセグメント312aはその出力ドライバをオンにし、データバス信 号488上のデータワード450aで示されるように、データバス319上にデ ータワードが現れるようにする。後の(ADR_A信号404上に示される)列 アドレスおよびCAS′_A信号408の後の立下がり縁492、494および 496に応答して、他のデータワード450a、450bおよび450cが似た 態様でデータバス319上に現れる。 この読出シーケンスの開始時に、Allow Rd_B信号454で示される 読出許可信号がコントロールセグメント311aによって発生する。この読出シ ーケンスおよび他のすべてのタイプのコントロールシーケンスの開始時に他の許 可信号もまたコントロールセグメント311aによって発生されることに留意さ れたい。たとえば、読出シーケンスの開始時には、書込許可およびリフレッシュ 許可信号もまたコントロールセグメント311aによって発生される。しかしな がら、簡略化するために、図4の例にはAllow Rd_B信号454しか示 していない。さらに、Allow Rd_B信号と実行待ちの読出リクエストの 実行待ちである読出開始点との関係を説明するために、読出リクエストはコント ロールセグメント311bに関して実行待ちの状態にあるものと仮定する。コン トロールセグメント311aおよび311bの各々はコントロールセグメント内 に発生する各コントロールシーケンスの開始時に相補的なコントロールセグメン トに関する1組の許可モード信号を発生すべきことは容易にわかる。たとえば、 このような許可モード信号がいかにして発生されるかについての一例および完全 な記述は前述の相互参照した出願に記載されている。 したがってコントロールセグメント311bは読出シーケンスが開始すること を許可されたときを決定するためにAllow Rd_B信号454をモニタリ ングする。読出シーケンスがDRAMセグメント312bに関して実行待ちであ るならば、このようなシーケンスはAllow Rd_B信号454が(470 などの)ハイの論理状態にある場合のみに開始することができる。したがって、 Start Rd_B信号456で示されるように、読出開始シーケンスはSt art Rd_B信号456のローからハイへの遷移472によって示されるよ うにクロックパルス448−9で開始する。 このように、Start Rd_B信号456の立下がり縁474でコントロ ールセグメント311bは行アドレス476を発生する。行アドレス476はR AS′_B信号458の立下がり縁478でDRAMセグメントB312にラッ チされる。列アドレス480はCAS′_B信号460の立下がり縁482でD RAMセグメントB312bにラッチされる。同時に、OE′_B信号462の 立下がり縁488でDRAMセグメントB312bはその出力ドライバをオンに し、データバス信号488上のデータワード452aで示されるように、データ バス308上にデータワードが現れるようにする。他のデータワード452b、 452cおよび450d(図示せず)も後の列アドレスおよびCAS′_B信号 460の立下がり縁に応答して、似た態様でデータバス308上に現れる。 セグメントA484およびセグメントB486について示されたコントロール シーケンスの各々に関するタイミング仕様および制御は図2の読出シーケンスに 関して先に説明したものと同じであることに留意されたい。しかしながら、図4 に示されるようにセグメントA484およびセグメントB486の読出シーケン スが重なることにより、データバス488は読出シーケンス間の1クロックサイ クル484にわたってのみアイドルな状態となる。これは、連続した読出シーケ ンス間の4クロックサイクル間にわたってアイドルな状態となる図2のデータバ ス214とは対照的である。 上述のとおり、この発明は、複数のリクエストする装置で発生する実行待ちの メモリリクエストの順序を最適にして、コントロールシーケンスの、重なる能力 を最大限に利用するようにする。このようなリクエストの処理順序を最適に選択 するために用いることができる装置および技術の一例を以下に図5を参照して説 明する。 図5は図3に示されるインターフェイスコントローラ328およびDRAMコ ントローラ311の詳細な図を示す。DRAMコントローラ311はDRAMコ ントロールセグメント311aおよび311bを含む。インターフェイスコント ローラ328は複数(n)のリクエストする装置302(図5には図示せず)と DRAMコントローラ311との間にインターフェイスをもたらす。インターフ ェイスコントローラ328は、図5の右上角部に示される複数(n)のメモリリ クエストキュー303を介して、リクエストする装置からリクエストを受ける。 リクエストセレクタ530はメモリリクエストキュー303内の複数のリクエ ストの中から(後に説明する特定の基準に従って)次のリクエストを選択する。 選択されたリクエスト552は後にリクエストプロセッサ560によって処理さ れる。リクエストプロセッサ560は、適切なコントロールセグメント311a または311bに、DRAMコントロールセグメント311aに与えられたst art_read556、start write558またはstart_r efresh570信号などの、適切な開始信号を与える。選択されたリクエス ト552に対応するアドレスがアドレスライン578または582を介してDR AMコントロールセグメント311aまたは311bに同時に与えられる。これ らの機能の詳細を以下に説明する。 下記の表には、図5に示されかつ後に説明するコントロールライン538およ び536に対応する信号の名称および定義が記載される。 上述のとおり、インターフェイスコントローラ328とインターフェイスする 各リクエストする装置302に対して1つのメモリリクエストキューが与えられ る。したがって、この例では、インターフェイスコントローラ328は(n)個 のメモリリクエストキュー303を含む。図5に示されるように、メモリリクエ ストキュー303は別個の2組のキューに、すなわち複数のアドレスキュー50 6a−506n(506と総称する)と、複数のリクエストキュー510a−5 10n(510と総称する)とに分割される。アドレスキュー506のエントリ には、リクエストキュー510における対応するエントリに関連したアドレスが 含まれる。 各アドレスキュー506はアドレスキューバス504a−504n(504と 総称する)を含む。各アドレスキューバス504は各アドレスキュー506の現 在のアドレスに結合される。現在のアドレスは各アドレスキュー506から出力 される次のアドレスである。各リクエストキュー510はリクエストキューバス 508a−508n(508と総称する)を含む。各リクエストキューバス50 8は各リクエストキュー510の現在のリクエストに結合される。現在のリクエ ストは各リクエストキュー510から出力される次のリクエストである。 複数のアドレスキューバス504はアドレスマルチプレクサ544に結合され る。アドレスマルチプレクサ544は、複数のアドレスキューバス504のうち の1つの内容をアドレスマルチプレクサ出力ライン550を介してアドレスレジ スタ556にゲートする機能を果たす。出力ライン550にゲートされるアドレ スキューバスの選択は、リクエストセレクタ530に結合されたアドレスマルチ プレクサコントロールライン596によって制御される。 同様に、複数のリクエストキューバス508がリクエストマルチプレクサ54 6に結合される。リクエストマルチプレクサ546は、複数のリクエストキュー バス508のうちの1つの内容をリクエストマルチプレクサ出力ライン552を 介してリクエストプロセッサ560にゲートする機能を果たす。出力ライン55 2にゲートされるリクエストキューバスの選択は、リクエストセレクタ530に 結合されたリクエストマルチプレクサコントロールライン594によって制御さ れる。 リクエストセレクタ530はリクエストセレクタ入力ライン512a−512 n(512と総称する)を介してリクエストキューバス508の各々に結合され る。リクエストセレクタは実行待ちのリクエストがあるかどうかを判断するため に入力ライン512を介して現在のリクエストの各々を分析する。さらに、リク エストセレクタは、DRAMコントローラ311から受けたコントロール信号に 従って、実行待ちのいずれのリクエストの開始が許可されるかを決定する。たと えば、DRAMコントロールセグメント311aはコントロールライン536を 介してリクエストセレクタにコントロール信号SEGA_AV、SEGB_RD ALおよびSEGB_WRALを与える。 実行待ちの制御ラインの各々はリクエストセレクタ530に1または0の値を 含む信号を与え得る。1の値は制御信号によって表わされる機能が真であり、0 の値はこのような機能が偽であることを示す。たとえば、制御ラインSEGA_ AV536上の値が1であれば、新しいコントロールシーケンスを開始するため にDRAMコントロールセグメント311aが利用できることを示す。なぜなら 、先のコントロールシーケンスは完了しておりRASプリチャージ要件が満たさ れているからである。同様に、コントロールラインSEGB RDAL536上 の値が1であれば、DRAMコントロールセグメント311bは読出コントロー ルシーケンスを開始することが許可されていることを示す。これは上述の許可モ ード信号の一例である。さらに、コントロールラインSEGB_WRAL536 上の値が1であれば、DRAMコントロールセグメント311bは書込コントロ ールシーケンスを開始することが許可されていることを示す。 同様に、DRAMコントロールセグメント311bはコントロールライン53 8を介してリクエストセレクタにコントロール信号SEGA_AV、SEGB_ RDALおよびSEGB WRALを与える。コントロールラインSEGB A V538上の値が1であれば、DRAMコントロールセグメント311bは新し いコントロールシーケンスを開始するために利用できることを示す。同様に、コ ントロールラインSEGA RDAL538上の値が1であれは、DRAMコン トロールセグメント311aは読出コントロールシーケンスを開始することが許 可されていることを示す。さらに、コントロールラインSEGA_WRAL53 8上の値が1であれば、DRAMコントロールセグメント311aは書込コント ロールシーケンスを開始することが許可されていることを示す。 現在のリクエスト512のうちDRAMコントロールセグメント311aおよ び311b内で開始することが許可されているものがあるかどうかを判断するた めにリクエストセレクタが用いる基準を下記の表に示す。下記の表には、コント ロールライン536および538を介してそれぞれリクエストセレクタ530な らびにDRAMコントロールセグメント311aおよび311bに結合されるコ ントロール信号が記載される。下記の表のXの値は「ドントケア」条件を示す。 このように、上記の表に示されるように、セグメント311aの読出シーケン スはコントロールラインSEGA_AVおよびSEGA_RDAL536上に1 の値が現れるときに許可される。同様に、セグメント311bの読出シーケンス はコントロールラインSEGB_AVおよびSEGB_RDAL538上に1の 値が現れるときに許可される。同様に、セグメント311aの書込シーケンスは コントロールラインSEGA_AVおよびSEGA_WRAL536上に1の値 が現れるときに許可される。さらに、セグメント311bの書込シーケンスはコ ントロールラインSEGB_AVおよびSEGB_WRAL538上に1の値が 現れるときに許可される。 システムクロックの各パルスと同時に、リクエストセレクタはリクエストバス 入力ライン512a−512nを介してリクエストキューのリクエストを分析す る。1つまたはそれ以上のリクエストキュー508内でリクエストがアクティブ な状態になると(すなわち少なくとも1つのリクエストが実行待ちである)、リ クエストキューの出力の状態がリクエストセレクタによって取出される。その後 、リクエストキュー入力512から次の組のリクエストが取出される前に、取出 されたリクエストはすべて、後に説明するように処理される。 取出が完了した後、取出されたすべてのリクエストは各システムクロック時に 並行して分析され、上記の基準に従って許可されたリクエストがあればそれを決 定する。取出されたリクエストは上記の真の表の1つの行にあるすべての条件が 満たされるときに許可される。リクエストが許可されれば、リクエストセレクタ 530は許可されたリクエストのうち最も小さな番号のものを選択し、その関連 のリクエストする装置番号(1−n)をコントロールライン592を介してリク エストマルチプレクサ546に伝達する。同時に、リクエストセレクタ530は 、同じリクエストする装置数をアドレスマルチプレクサ596に送る。 これにより、許可されたリクエストがリクエストマルチプレクサ552の出力 にゲートされ、かつリクエストプロセッサ560に伝達される。同時に、関連の アドレスがアドレスマルチプレクサ550の出力にゲートされアドレスレジスタ 556に記憶されるため、それはアドレスライン578および582を介してD RAMコントロールセグメント312が利用できる。 リクエストプロセッサ560によってリクエストが開始されると、「リクエス ト開始」信号553がリクエストセレクタに送られる。これにより、リクエスト セレクタが、取出されたリクエストの組から開始したリクエストを削除する。リ クエストセレクタ530はその後、取出された残りのリクエストから最も小さな 番号の許可されたリクエストを選択する。任意のクロックパルスの間に許可され たリクエストがなければ、リクエストマルチプレクサはリクエストセレクタ53 0からヌル入力511を選択するよう信号を受ける。 取出されたリクエストがすべて開始していれば、リクエストセレクタは取出さ れたすべてのリクエストに対してキュー前進信号516を送り、これらのキュー が1だけ前進するようにする。最後の取出時に取出されていない内容を有するリ クエストキューは前進されない。さらに、1つのリクエストキュー510の1つ のリクエストがアクティブな状態になると直ちに、新しい組の取出されたリクエ ストによって上記のプロセスが繰返される。 リフレッシュをリクエストする装置528にしたがえば、DRAMコントロー ルセグメント311のうちの1つまたは両方によってリフレッシュシーケンスを 発生する必要がある場合、リフレッシュをリクエストする装置528は2つの入 力ライン522および524を介してリフレッシュセレクタ532に信号を送る 。リフレッシュリクエストはリクエストプロセッサ560によって開始されるま でリフレッシュをリクエストする装置によってアクティブな状態に保たれ、リフ レッシュ認識信号526がリクエストプロセッサ560からリフレッシュをリク エストする装置528に送られる。これによりリフレッシュをリクエストする装 置528はリフレッシュリクエストを消す。 リフレッシュセレクタ532はコントロールライン590を介してリフレッシ ュマルチプレクサ548に結合される。リフレッシュマルチプレクサ548は2 本の入力ライン518および520を介してリフレッシュをリクエストする装置 528に結合される。各入力ラインは2つのコントロールセグメント311aま たは311bのうちの一方に関するリフレッシュリクエストを表わす。リフレッ シュがアクティブの状態にあるときには常に、その数がリフレッシュセレクタか らリフレッシュマルチプレクサに出力される。これにより、適切なリフレッシュ リクエストがリフレッシュマルチプレクサ548を介して出力554にゲートさ れ、リクエストプロセッサ560に伝達される。2つのリクエストがアクティブ な状態にあれば、小さな番号のリクエストが最初に選択され、次いで大きな番号 のリクエストが選択される。 リクエストプロセッサ560はリフレッシュマルチプレクサ548からのリフ レッシュリクエストとリクエストマルチプレクサ546からの読出/書込リクエ ストとの調停を行なう。リフレッシュリクエストの優先順位は最も高い。したが って、リフレッシュリクエストおよび読出/書込リクエストの両方が同時に到着 する場合、リフレッシュリクエストが最初に処理され、読出/書込リクエストは すべてのリフレッシュリクエストが処理されるまでホールドされる。さもなけれ ば、リクエストマルチプレクサ546からの読出/書込リクエストは直ちに処理 される。 リクエストマルチプレクサ546からのリクエストは以下のようにしてリクエ ストプロセッサ560によって処理される。リクエストプロセッサ560はリク エストをデコードし、適切な開始信号を発生して、それぞれセグメントAおよび セグメントB信号インターフェイス564および562を介して適切なコントロ ールセグメントに送る。たとえば、コントロールセグメント311aに関する読 出リクエストの場合、start_readコントロールライン556を介して コントロールセグメント311aに読出開始信号が送られる。同様に、コントロ ールセグメント311bに関する読出リクエストの場合、start read コントロールライン572を介して読出開始信号がコントロールセグメント31 1bに送られる。同様に、コントロールセグメント311aに関する書込リクエ ストの場合、start_writeコントロールライン558を介して書込開 始信号がコントロールセグメント311aに送られる。さらに、コントロールセ グメント311bに関する書込リクエストの場合、start_writeコン トロールライン574を介してコントロールセグメント311bに書込開始信号 が送られる。 すべての場合において、リクエストが上述のとおり開始されると、reque st_start信号がリクエストプロセッサ560からリクエストセレクタ5 30に送られるため、リクエストセレクタ530内の取出されたリクエストの組 から、取出されたリクエストが削除される。 リクエストプロセッサ560はさらに、リフレッシュの開始が許可されるとき を決定する。リクエストプロセッサ560がリフレッシュを開始できるときを決 定するために用いる基準を下記の表に示す。下記の表はコントロールライン59 0および588をそれぞれ介してリクエストプロセッサ560ならびにDRAM コントロールセグメント311aおよび311bに結合されたコントロール信号 を示す。下記の表のXの値は「ドントケア」条件を示す。 このように、対応するセグメントが利用でき、かつその対応するセグメントに 関するリフレッシュ許可信号がアクティブな状態にあるときに、アクティブなリ フレッシュリクエストが開始される。これらの条件が満たされるときに、リクエ ストプロセッサ560は適切なDRAMコントロールセグメント311aまたは 311bに開始リフレッシュ信号570または576をそれぞれ送る。 ここに開示した原理から逸脱することなくこの発明の実施例および実現例に対 して他の多くの変形を施すことが可能である。以上にこの発明のさまざまな実施 例を記載したが、これらは例としてのみであり制限を加えるものではないものと 理解されるべきである。したがって、この発明の幅および範囲は上記の例示的な 実施例のうちのいかなるものによっても制限されるべきではなく、以下の請求の 範囲およびそれらの等価物に従ってのみ規定されるべきである。
【手続補正書】 【提出日】1999年2月26日(1999.2.26) 【補正内容】 (1) 明細書第4頁第8行に下記の文章を挿入する。 記 これまでのところ、マルチプロセッサシステム内の複数のCPUがシステムの 主メモリへのアクセス競合を起こすことが知られていた。この既知の問題に関す る典型的な先行技術の解決策は、1989年2月3日に出願されたUSSN/3 06,326の優先権を主張するEP 0 380 844に示され記載されて いる。この特許には、主メモリが、情報のブロックを含むバンクを備えたメモリ セグメントによって規定された、独立してアクセス可能なDRAMベースのメモ リユニットに分割され得ることが教示されている。ブロックは互いに独立してい るため独立してアドレス指定され得るが、データの転送は双方向経路を介して行 なわれる。2つのプロセッサコントローラがCPUと主メモリとの間に経路イン ターフェイスを形成する。まず、システムコントロールユニット(SCU)がC PUの各々からコマンドおよび/またはデータを受ける。記憶されたコマンドは 、アドレス指定されたメモリセグメント/ブロックが利用可能かどうかを決定す るためにSCUの論理部によって処理される。アレイコントロールユニット(A CU)は主メモリおよびSCUと交信する。ACUはメモリ制御DRAM(MC D)コントローラを含む。メモリコマンドによってアドレス指定されたメモリの 特定のセグメントにアクセスすることができるとACUが決定すると、SCUに ACUから情報が与えられ、SCUから主メモリユニット(MMU)内のバッフ ァに直接データが転送される。ACUはメモリのステータスモニタとしての役割 を果たし、SCU内に存在するコマンドによって既に確立されているメモリのア ドレスに与え、またはそこからデータを取出す。ACUは有効コマンドに応答し てSCUからのデータを受けないため、それはメモリバッファが利用可能かどう かをSCUに中継し、SCUからのSEND DATA信号を待つ必要がある。 しかし、CPUもまた、メモリからの[またはメモリへの]データの転送を行な うためにSEND DATA信号の通知を受ける必要がある。メモリへのアクセ スに伴うアクセス待ち時間の増加はすべて、このハンドシェイク方式のルーチン である。 (2) 明細書第17頁第16行から第21行までの「コン〜ている」を下記 のように補正する。 記 コントロールセグメント311aおよび311bの各々が、コントロールセグ メント内で発生する各コントロールシーケンスの開始時に相補的なコントロール セグメント311bおよび311aに結合される1組の許可モード信号を発生す ることが認められるべきである。以下に、図4および図5を参照して許可モード 信号を説明する。 (3) 明細書第25頁第25行から第30行までの文章を削除する。 (4) 請求の範囲を別紙のとおり補正する。 (5) 図面を別紙のとおり補正する。 請求の範囲 1.複数の処理ユニットと、独立してアクセス可能な複数のダイナミックランダ ムアクセスメモリ(DRAM)ベースのメモリアドレスを有するシステム主メモ リとを含むマルチプロセシングコンピュータシステムにおいて、前記メモリは後 続のメモリアクセスコマンド間の各アクセス動作の前後に固定された待ち期間を 示し、前記DRAMの主メモリへのリクエストを受けるための改良されたメモリ コントローラ(310)は、 前記処理ユニットに結合されたリクエストをする装置(302)からのリクエ ストを受け、前記主メモリ(312)の、アドレス指定可能なセグメント(31 2a,312b)にアクセスするためのプログラマブルメモリコントローラ(3 10)が結合され、 前記コントローラは相補的な対のDRAMコントロールセグメント(311a ,311b)を有し、前記相補的な対のDRAMコントロールセグメントの各々 は、アドレスライン(318,336)と、前記メモリセグメント(312a, 312b)にそれぞれ結合された複数のコントロールライン(320−326お よび338−344)とを有し、それにより複数のコントロールセグメント(3 11)とメモリセグメント(312)との間でコントロールシーケンス(図4) が同時に発生でき、 前記メモリコントローラ(310)は、前記DRAMのコントロールセグメン ト(311a,311b)とリクエストをする装置(302)との間に結合され たインターフェイスコントローラ(328)を有し、 前記インターフェイスコントローラ(328)は、複数のメモリリクエスト( 508)を受けるように結合され、最適なリクエスト(@552)と関連したメ モリアドレス(@550)とを選択するためのリクエストセレクタ手段(530 ,532,544,546,548)と、 前記最適なメモリリクエストを受けるよう結合され、前記最適なリクエストと 関連した前記コントロールセグメント(311a)のうちの1つにおいてモード 開始信号(556−570)を発生するためのリクエストプロセッサ手段(56 0)と、 前記コントロールセグメント(311a,311b)内において、相補的なリ クエストセレクタ手段(530,532)に結合され、前記相補的なコントロー ルセグメント(311b,311a)のうちの他のもの内の関連したアドレスで の最適なリクエストの選択を可能にするためのモード許可信号手段(538,5 88)とを含むことを特徴とする、メモリコントローラ。 2.前記リクエストセレクタ手段(530,546)がリクエストマルチプレク サ(546)を含む、請求項1に記載のプログラマブルメモリコントローラ(3 10)。 3.前記リクエストをする装置(302)と前記コントロールセグメント(31 1a,311b)との間に結合されたアドレスマルチプレクサ(544)を備え るリクエストキュー(303)をさらに含み、前記最適なリクエストは前記アド レスマルチプレクサ(544)によって示されるアドレスに前記リクエストプロ セッサ(560)を介してゲートされる、請求項2に記載のプログラマブルメモ リコントローラ。 4.前記リクエストプロセッサ(560)が、リフレッシュリクエスト(@53 2,548)を受けるようにさらに結合され、かつ前記最適なリクエストおよび リフレッシュリクエスト間で調停を行なう、請求項1に記載のプログラマブルメ モリコントローラ。 5.前記複数のメモリリクエストを記憶するために用いられる複数のメモリリク エストキュー(510,303)をさらに含み、前記メモリリクエストキューの 各々は、前記リクエストマルチプレクサ(546)および前記リクエストセレク タ(530,@512)に結合された出力を有する、請求項2に記載のプログラ マブルメモリコントローラ(310)。 6.前記各メモリリクエストキュー(303)が、アドレスキュー(506)お よびリクエストキュー(510)を含む、請求項5に記載のプログラマブルメモ リコントローラ。 7.前記相補的な対のメモリセグメント(312a,312b)の各々が、別個 の組のアドレスおよびコントロールラインを介して前記メモリコントロールセグ メント(311a,311b)のうちの1つに結合され、 複数のメモリリクエストを記憶するために記憶手段(303)が前記リクエス トプロセッサ(560)に結合され、 前記リクエストセレクタ手段(530,546)は、前記コントロールセグメ ントにおける前記モード許可信号手段(536,538)に従って前記リクエス トプロセッサ(560)にゲートされる前記メモリリクエスト(@552)のう ちの1つを選択するために、前記記憶手段(303)と前記メモリセグメント( 312a,312b)との間に結合され、 リクエストを発生するための、リクエストをする複数の装置(302)が前記 記憶手段(303)に結合される、請求項1に記載のプログラマブルメモリコン トローラ。 8.前記記憶手段(303)が、各々が前記リクエストをする複数の装置(30 2)のうちの1つに結合された複数のメモリリクエストキュー(303)を含む 、請求項7に記載のプログラマブルメモリコントローラ。 9.前記リクエストセレクタ手段(530,546)が、 前記リクエストキュー(303,510)と前記リクエストプロセッサ(56 0)との間に結合されたリクエストマルチプレクサ(546)を含み、 前記リクエストセレクタ手段(530)は、前記リクエストマルチプレクサ( 546)に結合され、前記モード許可信号手段(536,538)に従って前記 リクエストプロセッサ(560)に前記メモリリクエストのうちの1つをゲート するよう前記リクエストマルチプレクサ(546)を制御する、請求項8に記載 のプログラマブルメモリコントローラ。 10.前記メモリリクエストキュー(303)の各々が、アドレスキュー(50 6)およびリクエストキュー(510)と、 前記アドレスキュー(506)に結合されたアドレスマルチプレクサ(544 )と、 前記アドレスマルチプレクサ(544)と前記コントロールセグメント(31 1a,311b)との間に結合されたアドレスレジスタ(556)とを含む、請 求項9に記載のプログラマブルメモリコントローラ。 11.リフレッシュリクエストを発生するリフレッシュをリクエストする装置 (528)と、 前記リフレッシュをリクエストする装置(528)と前記リクエストプロセッ サ(560)との間に結合されたリフレッシュセレクタ(532)と、 前記リフレッシュプロセッサ(560)に結合され、前記リフレッシュリクエ ストおよびメモリリクエスト間で調停を行なうための手段とをさらに含む、請求 項10に記載のプログラマブルメモリコントローラ。 12.前記リフレッシュをリクエストする装置(528)および前記リクエスト プロセッサ(560)に結合されたリフレッシュマルチプレクサ(548)と、 前記リフレッシュマルチプレクサ(548)に結合され、前記リフレッシュマ ルチプレクサ上の入力信号に従って前記リクエストプロセッサ(560)に前記 リフレッシュリクエストのうちの1つをゲートするよう前記リフレッシュマルチ プレクサ(548)を制御するためのリフレッシュセレクタ(532)とをさら に含む、請求項11に記載のプログラマブルメモリコントローラ。 13.複数の処理ユニットと、独立してアクセス可能な複数のダイナミックラン ダムアクセスメモリDRAMベースのメモリアドレスを有する、システム主メモ リとを含むマルチプロセシングコンピュータシステムにおいて、前記メモリは、 後続のメモリアクセスコマンド間のアクセス動作の前後に固定待ち期間を示し、 前記DRAMの主メモリへのリクエストを受けるためのアクセス速度を高めるた めの方法は、 前記主メモリ(312)に対するアクセスに関する複数のリクエストを受ける メモリコントローラ(310)を設けるステップと、 前記メモリコントローラ(310)を一対の相補的なDRAMコントロールセ グメント(311a,311b)に分割するステップと、 前記メモリ(312)を、各々が前記相補的なコントロールセグメント(31 1a,311b)のうちの1つに結合される、一対のメモリセグメント(312 a,312b)に分割するステップと、 インターフェイスコントローラ(328)を介して前記リクエスト(@302 )を前記DRAMコントロールセグメント(311a,311b)に結合し、各 コントロールセグメント(311a,311b)へのリクエストのキューを維 持し、かつ前記コントロールセグメント(311a,311b)にアクセスコン トロールライン(556−570および572−576)を設定するステップと 、 前記メモリセグメント(312aまたは312b)のうちの1つへのアクセス リクエストを完了するステップと、 アクセスリクエストの完了時に前記コントロールセグメント(311aまたは 311b)のうちの1つにおいてモード許可信号を立上げるステップと、 前記一方の相補的なコントロールセグメント(311a)からの前記モード許 可信号を前記他方の相補的なコントロールセグメント(311b)に結合し、先 のアクセスリクエストと重なる相補的なメモリセグメント(312b)へのアク セスを開始し、メモリへのシーケンシャルなアクセスリクエスト間の待ち時間お よびセットアップ時間がなくなるようにするステップとを含む、方法。 14.前記リクエストを前記DRAMに結合するステップが、少なくとも1つの メモリリクエストがアクティブな状態になると常に、複数のリクエストキュー( 303a−303n)からの1組の取出されたリクエストを記憶するステップを 含む、請求項13に記載の方法。 15.前記リクエストを前記DRAMに結合するステップが、 前記実行待ちのリクエストの各々をデコードしてデコード済リクエストにし、 前記メモリリクエストのタイプと前記実行待ちリクエストの宛先とを決定するス テップと、 前記デコード済リクエストと前記コントロールセグメント(311a,311 b)からのコントロール信号とを比較し、前記コントロールセグメントのいずれ かにおいて前記デコード済リクエストの開始が許可されるかどうかを判断するス テップとを含む、請求項8に記載の方法。 16.前記処理ステップが、前記コントロールセグメント(311a,311b )のうちの1つに開始信号を送るステップを含む、請求項8に記載の方法。 【図1】【図2】【図3】【図4】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ルーバー,マーク・ディー アメリカ合衆国、19454 ペンシルバニア 州、ノース・ウェールズ、アダムズ・コー ト、2401 【要約の続き】 ス(図4)が同時に起こり得る。この態様でコントロー ルシーケンス(図4)を重ならせることにより、アイド ルな状態のままになる頻度を下げてデータバス(31 9)の帯域幅を増加させる。各コントロールセグメント (311a,311b)は他のコントロールセグメント に複数の許可モード信号を与える。許可モード信号は複 数の実行待ちメモリリクエスト(303)からメモリリ クエストを選択するためにリクエストセレクタ(53 0)によって用いられ、このため、選択されたリクエス ト(552)はコントロールセグメント(311a,3 11b)のうちの1つがこのようなリクエストを受ける 状態になると直ちに開始することができる。

Claims (1)

  1. 【特許請求の範囲】 1.相補的な対のコントロールセグメントを有するプログラマブルメモリコント ローラであって、前記相補的な対のコントロールセグメントの各々は、個々の組 のアドレスおよびコントロールラインを対応する対のメモリセグメントに与え、 かつコントロールシーケンスが前記相補的なコントロールセグメントにおいて開 始し得るときを示す複数の許可モードを信号を与え、前記プログラマブルメモリ コントローラは、 リクエストセレクタを含み、前記リクエストセレクタは複数のメモリリクエス トおよび前記複数の許可モード信号を受けるように結合され、前記許可モード信 号に従って前記複数のメモリリクエストから最適なリクエストを選択することが でき、さらに リクエストプロセッサを含み、前記リクエストプロセッサは前記最適なリクエ ストと前記相補的な対のコントロールセグメントとの間に結合され、前記リクエ ストプロセッサは前記最適なリクエストをデコードし、適切な開始信号を前記最 適なリクエストに関連したコントロールセグメントに送る、プログラマブルメモ リコントローラ。 2.前記リクエストセレクタが、前記コントロールラインを介してリクエストマ ルチプレクサに結合される、請求項1に記載のプログラマブルメモリコントロー ラ。 3.前記リクエストマルチプレクサが、前記複数のリクエストと前記リクエスト プロセッサとの間に結合され、前記最適なリクエストは、前記コントロールライ ンを介して前記リクエストセレクタによって送られた信号に従って前記リクエス トプロセッサにゲートされる、請求項2に記載のプログラマブルメモリコントロ ーラ。 4.前記リクエストプロセッサが、リフレッシュリクエストにさらに結合され、 かつ前記最適なリクエストとリフレッシュリクエストとの調停を行なう、請求項 1に記載のプログラマブルメモリコントローラ。 5.前記複数のメモリリクエストを記憶するために用いられる複数のメモリリク エストキューをさらに含み、前記各メモリリクエストキューは、前記リクエスト マルチプレクサおよび前記リクエストセレクタに結合された出力を有する、請求 項2に記載のプログラマブルメモリコントローラ。 6.前記各メモリリクエストキューが、アドレスキューおよびリクエストキュー を含む、請求項5に記載のプログラマブルメモリコントローラ。 7.リクエストする複数の装置からメモリリクエストを選択するための方法であ って、前記メモリリクエストは、2つのコントロールセグメントによって制御さ れる2つのメモリセグメントを有するメモリデバイスに向けられ、そこにおいて コントロールシーケンスの重なりが生じ得、前記方法は、 (1) 前記リクエストする複数の装置で発生した1組の実行待ちメモリリク エストを取出すステップと、 (2) 前記実行待ちメモリリクエストのうちの少なくとも1つが許可される まで前記実行待ちメモリリクエストの各々を並行して同時に分析するステップと 、 (3) 前記ステップ(2)で決定された許可されたメモリリクエストから、 選択されたメモリリクエストを選択するステップと、 (4) 前記選択されたメモリリクエストを処理するステップと、 (5) 前記実行待ちリクエストのすべてが前記処理ステップによって処理さ れるまで少なくとも前記ステップ(2)から(4)を繰返すステップとを含む、 方法。 8.前記取出すステップが、 前記少なくとも1つのメモリリクエストがアクティブな状態になるときには常 に、複数のリクエストキューからの1組の取出されたリクエストを記憶するステ ップを含む、請求項7に記載の方法。 9.前記同時のステップが、 前記各実行待ちリクエストをデコードしてデコードされたリクエストにし、前 記メモリリクエストのタイプおよび前記実行待ちリクエストの宛先を決定するよ うにするステップと、 前記デコードされたリクエストと前記コントロールセグメントからのコントロ ール信号とを比較して、前記デコードされたリクエストが前記2つのコントロー ルセグメントのいずれかにおいて開始することが許可されるかどうかを決定する ステップとを含む、請求項8に記載の方法。 10.前記処理するステップが、前記コントロールセグメントのうちの1つに開 始信号を送るステップを含む、請求項8に記載の方法。 11.前記選択するステップが、前記許可されたリクエストを発生するリクエス トする装置に対応するコントロール信号をリクエストマルチプレクサに送り、前 記処理するステップに用いられる前記リクエストキューからの前記許可されたリ クエストをゲートするようにするステップを含む、請求項8に記載の方法。 12.コンピュータシステムであって、 相補的な対のメモリセグメントと、 相補的な対のコントロールセグメントを有するメモリコントローラとを含み、 前記相補的な対のコントロールセグメントの各々は、別個の組のアドレスおよび コントロールラインを介して1つの前記メモリセグメントに結合され、前記メモ リコントローラは許可モード信号を発生することができ、前記メモリコントロー ラは、 複数の開始信号ラインを介して前記コントロールセグメントに結合されたリク エストプロセッサを含み、前記開始信号ラインは、開始信号を前記コントロール セグメントに伝達して、そこにおいてコントロールシーケンスを開始するために 用いられ、さらに 前記リクエストプロセッサに結合され、複数のメモリリクエストを記憶するた めの記憶手段と、前記記憶手段および前記コントロールセグメントに結合され、 前記コントロールセグメントからの前記許可モード信号に従って、前記リクエス トプロセッサにゲートされる前記メモリリクエストのうちの1つを選択するため の選択手段と、 前記記憶手段に結合されたリクエストする複数の装置とを含む、コンピュータ システム。 13.前記記憶手段が複数のメモリリクエストキューを含み、前記複数のメモリ リクエストキューの各々は、前のリクエストする複数の装置のうちの1つに結合 される、請求項12に記載のコンピュータシステム。 14.前記選択手段が、 前記リクエストキューと前記リクエストプロセッサとの間に結合されたリクエ ストマルチプレクサと、 リクエストセレクタとを含み、前記リクエストセレクタは、マルチプレクサ選 択ラインを介して前記リクエストマルチプレクサに結合され、前記マルチプレク サ選択ライン上の信号に従って、前記メモリリクエストのうちの1つを前記リク エストプロセッサにゲートするように前記リクエストマルチプレクサを制御する 、請求項13に記載のコンピュータシステム。 15.前記各メモリリクエストキューがアドレスキューおよびリクエストキュー を含む、請求項13に記載のコンピュータシステム。 16.前記アドレスキューに結合されたアドレスマルチプレクサと、 前記アドレスマルチプレクサと前記コントロールセグメントとの間に結合され たアドレスレジスタとをさらに含む、請求項15に記載のコンピュータシステム 。 17.リフレッシュリクエストを発生するリフレッシュのリクエストをする装置 と、 前記リフレッシュジェネレータおよび前記リクエストプロセッサとの間に結合 されたリフレッシュセレクタと、 前記リフレッシュプロセッサに結合され、前記リフレッシュリクエストとメモ リリクエストとの調停を行なうための調停手段とをさらに含む、請求項12に記 載のコンピュータシステム。 18.前記リフレッシュのリクエストをする装置と前記リクエストプロセッサと の間に結合されたリフレッシュマルチプレクサと、 リフレッシュセレクタとをさらに含み、前記リフレッシュセレクタは、リフレ ッシュマルチプレクサ選択ラインを介して前記リフレッシュマルチプレクサに、 かつ前記リフレッシュのリクエストをする装置に結合され、前記リフレッシュマ ルチプレクサ選択ライン上の信号に従って、前記リクエストプロセッサに前記リ フレッシュリクエストのうちの1つをゲートするように前記リフレッシュマルチ プレクサを制御する、請求項17に記載のコンピュータシステム。
JP10510113A 1996-08-16 1997-08-15 種々のメモリセグメント間のメモリコントロールシーケンスのタイミングを最適にするメモリコントローラユニット Pending JP2000501536A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/698,001 1996-08-16
US08/698,001 US5920898A (en) 1996-08-16 1996-08-16 Memory control unit providing optimal timing of memory control sequences between different memory segments by optimally selecting among a plurality of memory requests
PCT/US1997/014603 WO1998007095A1 (en) 1996-08-16 1997-08-15 Memory control unit providing optimal timing of memory control sequences between different memory segments

Publications (1)

Publication Number Publication Date
JP2000501536A true JP2000501536A (ja) 2000-02-08

Family

ID=24803505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10510113A Pending JP2000501536A (ja) 1996-08-16 1997-08-15 種々のメモリセグメント間のメモリコントロールシーケンスのタイミングを最適にするメモリコントローラユニット

Country Status (5)

Country Link
US (1) US5920898A (ja)
EP (1) EP0919029B1 (ja)
JP (1) JP2000501536A (ja)
DE (1) DE69707688T2 (ja)
WO (1) WO1998007095A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308248B1 (en) * 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
US6170046B1 (en) * 1997-10-28 2001-01-02 Mmc Networks, Inc. Accessing a memory system via a data or address bus that provides access to more than one part
US6269399B1 (en) * 1997-12-19 2001-07-31 Qwest Communications International Inc. Gateway system and associated method
US6182196B1 (en) * 1998-02-20 2001-01-30 Ati International Srl Method and apparatus for arbitrating access requests to a memory
TW467373U (en) * 1998-04-01 2001-12-01 Asustek Comp Inc Input/output testing device of computer system
US7346063B1 (en) * 1998-07-08 2008-03-18 Broadcom Corporation Memory management unit for a network switch
US6212611B1 (en) 1998-11-03 2001-04-03 Intel Corporation Method and apparatus for providing a pipelined memory controller
US6587918B1 (en) 1998-11-19 2003-07-01 Micron Technology, Inc. Method for controlling refresh of a multibank memory device
US6298413B1 (en) * 1998-11-19 2001-10-02 Micron Technology, Inc. Apparatus for controlling refresh of a multibank memory device
US6260123B1 (en) * 1998-12-09 2001-07-10 Advanced Micro Devices, Inc. Method and system for memory control and access in data processing systems
US6381683B1 (en) 1998-12-09 2002-04-30 Advanced Micro Devices, Inc. Method and system for destination-sensitive memory control and access in data processing systems
US6226721B1 (en) 1998-12-09 2001-05-01 Advanced Micro Devices, Inc. Method and system for generating and utilizing speculative memory access requests in data processing systems
US6546439B1 (en) 1998-12-09 2003-04-08 Advanced Micro Devices, Inc. Method and system for improved data access
US6219769B1 (en) 1998-12-09 2001-04-17 Advanced Micro Devices, Inc. Method and system for origin-sensitive memory control and access in data processing systems
US6510497B1 (en) 1998-12-09 2003-01-21 Advanced Micro Devices, Inc. Method and system for page-state sensitive memory control and access in data processing systems
US7017020B2 (en) * 1999-07-16 2006-03-21 Broadcom Corporation Apparatus and method for optimizing access to memory
US6714993B1 (en) 2000-05-22 2004-03-30 Legerity, Inc. Programmable memory based control for generating optimal timing to access serial flash devices
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US6757795B2 (en) 2001-04-03 2004-06-29 International Business Machines Corporation Apparatus and method for efficiently sharing memory bandwidth in a network processor
FR2824650A1 (fr) * 2001-05-10 2002-11-15 Koninkl Philips Electronics Nv Systeme de traitement de donnees et procede de distribution d'acces a des memoires
US7007152B2 (en) * 2001-12-28 2006-02-28 Storage Technology Corporation Volume translation apparatus and method
US6941428B2 (en) * 2002-09-25 2005-09-06 International Business Machines Corporation Memory controller optimization
US9424013B2 (en) * 2008-12-29 2016-08-23 Oracle America, Inc. System and method for reducing transactional abort rates using compiler optimization techniques
US9104531B1 (en) * 2011-11-14 2015-08-11 Marvell Israel (M.I.S.L.) Ltd. Multi-core device with multi-bank memory
US9047198B2 (en) 2012-11-29 2015-06-02 Apple Inc. Prefetching across page boundaries in hierarchically cached processors
US10014055B2 (en) 2014-07-30 2018-07-03 Hewlett-Packard Development Company, L.P. Split memory bank
KR102355573B1 (ko) 2014-10-29 2022-01-27 삼성전자주식회사 선형 리맵퍼 및 액세스 윈도우를 포함하는 메모리 시스템 및 시스템 온 칩
KR20170059239A (ko) * 2015-11-20 2017-05-30 삼성전자주식회사 이종 메모리들을 포함하는 메모리 장치 및 메모리 시스템
US11281592B2 (en) * 2019-11-11 2022-03-22 Advanced Micro Devices, Inc. Dynamic banking and bit separation in memories

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4384326A (en) * 1980-07-28 1983-05-17 Ncr Corporation Memory security circuit using the simultaneous occurance of two signals to enable the memory
JPS63140490A (ja) * 1986-12-03 1988-06-13 Sharp Corp ダイナミツクram
US5040153A (en) * 1987-10-23 1991-08-13 Chips And Technologies, Incorporated Addressing multiple types of memory devices
EP0321628B1 (en) * 1987-12-23 1992-11-04 International Business Machines Corporation Shared memory interface for a data processing system
CA1324679C (en) * 1989-02-03 1993-11-23 Michael A. Gagliardo Method and means for interfacing a system control unit for a multi-processor system with the system main memory
US5283877A (en) * 1990-07-17 1994-02-01 Sun Microsystems, Inc. Single in-line DRAM memory module including a memory controller and cross bar switches
US5265231A (en) * 1991-02-08 1993-11-23 Thinking Machines Corporation Refresh control arrangement and a method for refreshing a plurality of random access memory banks in a memory system
JP2703668B2 (ja) * 1991-03-18 1998-01-26 株式会社日立製作所 データ転送制御装置および磁気ディスク制御装置
US5313624A (en) * 1991-05-14 1994-05-17 Next Computer, Inc. DRAM multiplexer
JPH07262147A (ja) * 1994-03-17 1995-10-13 Fujitsu Ltd 共通メモリ保護方式
US5761731A (en) * 1995-01-13 1998-06-02 Digital Equipment Corporation Method and apparatus for performing atomic transactions in a shared memory multi processor system
US5625790A (en) * 1995-09-14 1997-04-29 Micron Technology, Inc. Method and apparatus for reducing the access time of a memory device by decoding a row address during a precharge period of the memory device
US5761732A (en) * 1996-06-28 1998-06-02 Intel Corporation Interleaving for memory cards

Also Published As

Publication number Publication date
US5920898A (en) 1999-07-06
EP0919029B1 (en) 2001-10-24
DE69707688D1 (de) 2001-11-29
WO1998007095A1 (en) 1998-02-19
EP0919029A1 (en) 1999-06-02
DE69707688T2 (de) 2002-07-11

Similar Documents

Publication Publication Date Title
JP2000501536A (ja) 種々のメモリセグメント間のメモリコントロールシーケンスのタイミングを最適にするメモリコントローラユニット
JP4742116B2 (ja) アウトオブオーダdramシーケンサ
US6026464A (en) Memory control system and method utilizing distributed memory controllers for multibank memory
US5745913A (en) Multi-processor DRAM controller that prioritizes row-miss requests to stale banks
US6295592B1 (en) Method of processing memory requests in a pipelined memory controller
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US6343352B1 (en) Method and apparatus for two step memory write operations
JP2002063131A (ja) バスシステム
KR19980086729A (ko) 복수어드레스 유지기억장치
US20050182908A1 (en) Method and apparatus of interleaving memory bank in multi-layer bus system
JP3444154B2 (ja) メモリアクセス制御回路
US5907863A (en) Memory control unit using preloaded values to generate optimal timing of memory control sequences between different memory segments
JP4250989B2 (ja) メモリアクセス制御装置
US6490225B1 (en) Memory having a synchronous controller and asynchronous array and method thereof
US20130097388A1 (en) Device and data processing system
JPH1124984A (ja) 複数アドレス保持記憶装置
US6385687B2 (en) Method and apparatus for simultaneously accessing the tag and data arrays of a memory device
JP3600830B2 (ja) プロセッサ
JPH10301897A (ja) アービトレーション方法及びその装置
JPH09185883A (ja) メモリアクセス制御装置
JPH10320975A (ja) 半導体型記憶装置
JP2000066946A (ja) メモリコントローラ
JPH1011356A (ja) メモリアクセスシステム
JPH06324940A (ja) メモリ制御方法および装置
JPH05108538A (ja) メモリアクセス制御方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040525