JPH06504155A - 高性能ダイナミックメモリシステム - Google Patents

高性能ダイナミックメモリシステム

Info

Publication number
JPH06504155A
JPH06504155A JP5504477A JP50447793A JPH06504155A JP H06504155 A JPH06504155 A JP H06504155A JP 5504477 A JP5504477 A JP 5504477A JP 50447793 A JP50447793 A JP 50447793A JP H06504155 A JPH06504155 A JP H06504155A
Authority
JP
Japan
Prior art keywords
data
memory
bus
write
control
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.)
Granted
Application number
JP5504477A
Other languages
English (en)
Other versions
JP3599334B2 (ja
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 JPH06504155A publication Critical patent/JPH06504155A/ja
Application granted granted Critical
Publication of JP3599334B2 publication Critical patent/JP3599334B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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
    • 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/1689Synchronisation and timing concerns
    • 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/1694Configuration of memory controller to different memory types
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Saccharide Compounds (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 高性能ダイナミックメモリシステム l匪叫公互 本発明はメモリシステムに関する。詳しくは、様々なバスに接続し、単一プロセ ッサおよび多重プロセッサアーキテクチャの両方を効率的にサポートするメモリ システムに関スる。
l肌旦宵l ランダムアクセスメモリ(RAM) 、特にダイナミックランダムアクセスメモ リ(DRAM)の応用範囲の拡大および急速な発展により、メモリ装置の記憶容 量はほぼ2年毎に倍増している。さらに、今日では記憶容量が様々に異なるDR AMなどの、様々なタイプのメモリ装置が市販されている。これには、サイズが 各々、256k X 1、LM x 1.4M x 1.16M x 1.25 6k x4、LM x 4.4M x 4のDRAMが含まれ、また間もな(, 256k x16およびIM x 16の記憶容量を有するさらに大きなりRA Mも加わる予定である。しかし、様々なプロセッサおよびバスシステムを効率的 にサポートし得、様々なタイプのメモリ装置の使用を可能にする主メモリ構造を どのように提供するかという問題は、先行技術によってはいまだ解決されていな い。さらに、このような主メモリが提供されるとしても、次の問題は、の必要条 件に従って効率的に制御し得るメモリコントローラを提供することである。
様々なプロセッサシステムの必要条件を満たすために、様々なプロセッサをサポ ートする様々な帯域幅を有する様々な異なるシステムバスが導入されている。こ れらのバスはまた様々なバスクロック周波数を有し得る。
市販されている1つのバスは、Sun Microsystems Inc、に より開発されたM−バスと呼ばれるバスである。このバスは相補形金属−酸化物 一半導体(CMO3)の技術と適合し得る。M−バスは通常は2つのレベルに分 類される。レベル1は単一プロセッサシステムをサポートする。単一プロセッサ システムの1つの例は一般に図IAに示される。この例では、バス2がプロセッ サ3とメモリコントローラ4との間を接続し、メモリコントローラ4はメモリ5 と接続する。単一プロセッサシステムの別の例を図IBに示す。この例では、プ ロセッサ6はキャッシュ7に接続し、キャッジニアがさらにシステムバス8に接 続する。レベル2は多重プロセッサシステムをサポートする。多重プロセッサシ ステム10の1つの例を図ICに示す。
複数のプロセッサ11−12 (2つのみを示す)がバス15およびメモリコン トローラ16を通して共通の主メモリ17を共有する。
各プロセッサ11または12は少くとも1つのローカルキャッシュ13または1 4に接続する。レベル2のM−バスの1つの例は、5PARCM−バスレベル2 であり、これは、通常の読出しおよトな読出し処理、コヒーレントな書込みおよ び無効処理、およびコヒーレントな読出しおよび無効処理を含む多くの他の処理 をサポートし得る。これら後半の処理の各々は、各プロセッサと接続するローカ ルキャッシュを必要とする。システムバスは、32ビツト、64ビツト、および 128ビツトのデータ幅など様々な大きさ、および25MHz、33MHz、  40MHz、または50MHzなどの様々なりロック周波数を有し得る。
従来のメモリシステムは、大きさおよびクロック速度が異なる様々なバスをサポ ートするほどに柔軟ではない。特に、従来のメモリシステムは、各々が少(とも 1つのローカルキャッシュに接続し、また共通の主メモリを共有する多くのプロ セッサに接続するバスシステムを効率的にサポートしない。
例えば、いくつかのプロセッサシステムでは、コピーバック環境の下でのキャッ シュコントローラは、内部でキャッシュラインを消去し、次に主メモリ(DRA M)の読出しを要求し・続いて古いキャッシュラインの主メモリへの書き戻しを 可能にする、内部バッファリングを有し得ない。多くの場合、先ず主メモリに書 込み次に読出しを行うように要求される。これは、省略されたキャッシュライン が満たされるのを待つためプロセッサの周期に無駄が生じる。従来のメモリシス テムは、キャッシュ消去操作をサポートするメカニズムを有しない。さらに、コ ヒーレントな読出し処理の間、従来のメモリコントローラは処理の監視しか行え ず、抑止読出し操作を書込み操作に変換して反射型メモリを提供することができ ない。
い(つかの従来のメモリコントローラには、FIFOなどのデータバッファリン グ部が供給され、正常な書込みまたは読出しデータをバッファする。しかし、こ のようなコントローラの構成は一般には上述のキャッシュ消去または反射型読出 し操作をサポートするには適切ではない。さらに、このようなコントローラは、 データバッファリング部が前の処理に占領されているときは、主メモリとシステ ムバスとの間のデータ処理を効率的に行い得ない。さらに、短いバイト処理およ び長いバースト処理は通常は効率的で信頼性のある方法で実行され得ない。
最後に、従来のメモリシステムは、様々なシステムバスクロック周波数に従って メモリのタイミング分解能を向上させるほどに柔軟ではない。
これら従来のメモリシステムの例は以下の参考文献に開示されている: 199 0年9月4日付けの米国特許第4.954.951号;Advanced Mi cro Devices社の製品仕様書、”4M ConfigurableD ynamic Memory Contro11er/Driver−1製品番 号AM29C668,1990年3月刊行i SAMSUNG社の製品仕様書、 −Dyna+sic RAM Controt Iers”、製品番号KS84 C31/32.1989年11月刊行; Signetics Fast社の製 品仕様書、”Intelligent DRAM Controller”、製 品番号FAST 74F1763.1989年3月12日刊行HSigneti cs Fast社の製品仕様書、−DRAM and Interrupt V ector Controller−1製品番号FAST 74F1761.1 989年3月5日刊行;論文−M−Bus Pr。
vides Processor −Independent Bus−1Mi croprocessor Report、1991年8月7日刊行。
発l匡8」旨 従って、本発明の1つの目的は、様々な大きさおよびクロック周波数を有し得る 様々なタイプのシステムバスと共に使用され得る柔軟性を有するメモリシステム を提供することである。
本発明の別の目的は、様々なプロセッサおよびバスシステムをサポートする新規 のメモリ構造を有するメモリシステムを提供することである。このメモリ構造は 、複数のブロックを含み、ブロックの各々は様々なタイプのメモリチップにより 構成され得、また様々なタイプの大きさを有し得る。
本発明のさらに別の目的は、すべてのM−バスレベル1およびレベル2の処理タ イプ、および、同時にコピーバック操作が行われるコヒーレントの読出しを伴う キャッシニ消去操作を効率的にサボー!・シ得るメモリシステムを提供すること である。
本発明のさらに別の目的は、データのためのパリティ発生およびチェック、アド レスのパリティチェックのための追加ビット、および多重プロセッサをサポート するために柔軟性が増大したことによる追加の制御ビットを含む、32.64、 および128ビツトの大きさのシステムバスをサポートし得るメモリシステムを 提供することである。
本発明のさらに別の目的は、様々なバスクロック周波数を有する様々なタイプの システムバスと接続し得、またメモリのタイミング分解能が向上したメモリシス テムを提供することである。
本発明のさらに別の目的は、複数のデータチャンネルを提供して効率的なデータ 処理を可能とするメモリシステムを提供することである。
本発明のさらに別の目的は、メモリ内の複数のブロックをサポートし、バスおよ びデータの大きさに依存してブロックの1つの中の1つ以上のバンクへの効率的 なアクセスを提供するメモリシステムを提供することである。
本発明のさらに別の目的は、システムバスの通信量を低減して、共通の主メモリ を共有する多重プロセッサの効率を向上させ得るDRAMコントローラを提供す ることである。
本発明のこれらの目的によれば、主メモリ、およびシステムバスと主メモリとの 間を接続するメモリコントローラを有する高性能のダイナミックメモリシステム が提供される。
主メモリは、複数のバンクを含む少くとも1つのブロックを備える。バンクの各 々は所定のメモリ帯域幅を有する。主メモリの各ブロックはDRAMタイプのメ モリエレメントにより構成される。
システムバスは、様々な大きさおよび様々なバス周波数を有し得る。システムバ スは複数のプロセッサに接続され、プロセッサの各々が少くとも1つのローカル キャッシュと接続し、これにより主メモリがすべてのプロセッサにより共有され る。本発明の第1の実施態様においては、システムバスは様々なプロセッサシス テムをサポートし得る拡張M−バスである。
メモリコントローラは、システムバスへのおよびシステムバスからのデータ転送 を制御するために、システムバスからのアドレスおよび制御信号を受け取る制御 回路を含む。コントローラはまた、データ送受信回路を含み、この場合も制御回 路の制御の下で、データをシステムバスへおよびシステムバスから、主メモリへ および主メモリから送受信する。
制御回路はアドレス信号経路および制御信号経路を含む。
アドレス信号経路上には、制御回路には読出しアドレス経路および書込みアドレ ス経路が設けられている。書込みアドレス経路には2つの書込み経路が設けられ ている。一方は、システムバスで連続書込みデータ処理が行われるとき、第1の データ処理アドレスのための経路を提供するために使用される。他方は、第1の ア゛ドレスがDPAMで実行されている間に、次のデータ処理アドレスを保持す るために使用される。制御信号経路では、制御回路には読出し制御信号経路およ び書込み制御信号経路が備わる。書込み制御信号経路はさらに、第1のデータ処 理制御信号のための第1の経路、および次のデータ処理制御信号を保持するため の第2の経路を含む。
制御回路は、主メモリの構成パラメータ、システムバスの大きざ、およびシステ ムバス周波数増倍率に関するプログラム情報を提供するように構成され、これに より主メモリ内の様々なメモリタイプ、様々な大きさおよび速度を有する様々な タイプのシステムバスがサポートされ、また主メモリのタイミング分解能が向上 する。
データ送受信回路には複数のデータチャンネルが含まれ、各々が少くとも1つの 書込み先入れ先出し部(書込みF IFO)を有する書込みデータ経路を備える 。書込みFIFOはシステムバスから受け取るデータを主メモリに記憶する前に 一時的に保持するもので、FIFOに既に保管されているデータを失わずに、す べてのプロセッサがいつでもデータを得ることが可能である。また、書込みデー タ経路では、少(とも1つの他の反射型先入れ先出し部(反射型FIFO)が含 まれ、プロセッサの1つに接続するローカルキャッシュからデータを要求してい る別のプロセッサのローカルキャッシュに転送されるシステムバス上のデータを 捕え、これにより、データは反射型FIFOおよびデータを要求しているプロセ ッサのローカルキャッシュに同時に記憶される。各チャンネルは、主メモリのブ ロックのバンクと同じ、所定の大きさのデータバス帯域幅を有する。
各データチャンネルはまた、システムバスと主メモリとの間に、読出しデータの 転送のための読出しデータ経路を含む。
読出しデータ経路にはデータ訂正をサポートするために使用されるエラー検出お よび訂正回路が設けられている。
第2の実施態様においては、2つのデータチャンネルが集積回路の形態の単一の データチャンネルユニットに接続される。データ送受信回路は2つ以上のこれら データチャンネルユニットを含み得る。
メモリコントローラの制御回路はまた、適切なデータチャネルおよびチャンネル ユニットを認識および選択し得る制御論理を含む。この選択はシステムバスの大 きさ、各データチャンネルの状況、および転送されるデータの大きさに依存する 。データバースト書込みの間は、各ユニットのチャンネルは他の方法で操作し得 、これにより主メモリ境界内のさらに多(のデータ語を適切なチャンネルに蓄積 し得、主メモリへの効率的な転送が可能となる。
第3の実施態様においては、主メモリは複数のブロックに分かれ、各ブロックを 各々異なるDRAMタイプの構成とし得る。
各ブロックは同一のDRAMタイプの複数のバンクを含む。
主メモリシステムはまた、バス周波数を増加させる周波数乗算器を含み、主メモ リのタイミング分解能を向上させるメモリクロックを提供する。周波数乗算器は 、プログラム可能メモリコントローラにより生成されるバス周波数乗算ファクタ ーを使用する。
第4の実施態様においては、プログラム可能メモリコントローラは、プログラミ ング機能を記憶する多くのプログラムレジスタを含む。これらプログラムレジス タの中には、多様な制御用の情報を記憶するコマンドレジスタがある。これらの 情報には、主メモリのブロック数および各ブロックの大きさおよびプロセッサの メモリマツプにおける位置、バスの大きさ、バス周波数乗算ファクター、および エラー検出および訂正回路のデータ帯域幅をプログラミングすることが含まれる 。タイミング分解能が向上した主メモリ読出しおよび書込み操作のための制御信 号のタイミングを記憶するために、タイミングレジスタが設けられている。メモ リコントローラはまた、各データチャンネルにおける各FIFOの状況(空白か 空白でないか)、およびデータ処理の間に発生するエラー情報、などの各データ チャンネルの状況を記憶する状況レジスタを含む。また、全体のメモリマツプに おける主メモリのブロックのローカル情報を記憶するために供給される位置プロ グラムレジスタが含まれ、これはコンパレータに接続し、これにより、入力アド レスが位置プログラムレジスタ内のプログラムされた位置の1つに符合するとき メモリ内のブロックの1つを正しく選択することが可能となる。位置プログラム レジスタには、どのプロセッサのアドレスビットがアドレスと符合するかを認識 するために使用されるマスクビットを記憶するためのマスクレジスタが接続され ている。
上述のおよび他の本発明の特徴および利点は、以下の図面を参照して、後述する 実施態様の詳細な説明を研究すれば明かとなる。
の な會 B 図IAは単一プロセッサシステムの1つの例を示す。
図IBは単一プロセッサシステムの他の例を示す。
図tCは、キャッシュを使用する多重プロセッサシステムを一般的に示す。
図2は、本発明により構成される主メモリ構造の1つの実施態様を示す。
図3は、本発明により構成されるメモリコントローラの制御回路の1つの実施態 様のブロック図を示す。
図4は、本発明により構成されるメモリコントローラ回路のデータ送受信回路の 1つの実施態様のブロック図を示す。
図5は、本発明により構成されるメモリコントローラ回路のデータ送受信回路で 使用されるエラー検出および訂正装置(EDC)の1つの実施態様のブロック図 を示す。
図6A−6Eは、様々なバスの大きさを有するシステムバスおよび様々な大きさ のデータのデータ処理を効率的にサポートする、データ送受信回路の配置の様々 な実施態様を示す。
な の−な1日 以下に、本発明により構成されるメモリシステムの実施態様について述べる。
メモリシステムはDRAM構造および独自のDRAMコントローラを含む。その DRAMコントローラは、大規模なメモリ構造、および32.64、または12 8ビy)データ幅などの様々なバス幅を有し、また25Mhz、33 Mhz、 40Mhz、または50Mhzなどの様々なバスクロツタ周波数を有するいくつ かのバスをサポートするのに適している。メモリシステムはまた、様々なプロセ ッサシステムに対する高性能および高効率のメモリ動作を行うために、多くのバ ス処理をサポートするのに適している。このようなプロセッサシステムには、図 IAおよびIBに示すような単一プロセッサシステム、ならびに図ICに示すよ うな多重プロセッサシステムが含まれる。DRAMコントローラには、DRAM 制御装置(DRAG)およびデータ送受信装置(DSRD)が含まれる。DRA GはシステムバスとDRAMとの間のDS[?Dに接続される。
DSRDはシステムバスとDRAMとの間に接続される。システムバスは単一の 多重アドレス/データバスで有り得、または複数の個別のアドレスおよびデータ バスを含み得る。バスインターフェースは完全に同期され、バスクロックの立ち 上がりを使用する。バス信号の定義はM−バス標準の拡張であるため、M−バス は追加のプロセッサシステムをサポートするために使用され得る。
本発明のメモリシステムは、高性能のアドレス/制御経路および少くとも1つの 高性能のエラー検出および訂正データ経路よりなる。アドレス/制御経路上、メ モリコントローラには多くのバスシステムおよびデータ処理のためのメモリアク セスを効率的に制御するプログラム可能DRAGが設けられている。データ経路 上、メモリコントローラにはFfFOバッファおよびエラー検出および訂正メカ ニズム(EDC)を含むDSRDが設けられている。DSRDは、書込み時には 高性能データバッファおよびデマルチプレクサとして、また読出し時にはエラー コレクタとして機能する。DRACおよびDSRDは各々集積回路とされ得る。
1. メモリ構造 図2に、本発明により構成されるメモリ構造の1つの実施態様を示す。図2のメ モリは複数のDRAMチップを使用して構成される。
図2のメモリは4つのブロック(ブロック0−3)に分けられる。各ブロックは 4つのバンク(バンク0−3)を含む。各バンクは39ビット幅(すなわぢ、3 2個のデータビットおよび7個のエラーチェックビット)である。バンク0−3 は156ビツト幅のブロックとして同時にアクセスされ得、これにより最大メモ リ性能が得られる。
メモリは、メモリコントローラのメモリ側に接続される12本のアドレスライン (行アドレスおよび列アドレスとして多重化される)を有する。メモリはまた4 本のDRAM読出し/書込みライン!iW[3−0] (アクセスされたブロッ クの4−39ピツトノインク各々に対して1本)、およびメモリコントローラの メモリ側に接続される各々4本のRAS [3: O]およびCAS[3:O] 制御ラインを含む。メモリは初期の書込みサイクルを使用して書き込まれる。す なわち共通の入出力を有するDRAMチップは、各々別の入出力を有するDRA Mチップと同じ方法で制御される。
このような大規模構成のDRAMを使用するとき存在する実質的なアドレスおよ び制御容量を駆動するために、外部ノ寸ソファが必要とされる。
メモリコントローラチップセット(DSRDおよびDRAG)は、256K x  1または4、IM x 1または4、もしくは4M x 1または4、および 16M x I DRAMチップのいずれかをサポートするように設計される。
コントローラはまた、もっと大きな4メガビットDRAM (256K K 1 6)およびさらに大きな16メガビツトDRAM (LM X 16)も、これ らの装置が利用可能になればサポートし得る。メモリシステムの最大全容量は2 56K x I DRAMを使用し単一のブロックを有する4メガバイトから、 16M x I DRAMを使用し全部で4個のブロックを有する1ギガバイト まで拡張し得る。記憶容量は2進増分で拡張可能である。DRAMチップのタイ プは1つのブロックを構成する4つのバンクすべてにおいて同一である。しかし 、各ブロックは異なるタイプのDRAMを有し得る。DRAM構造の可能な構成 を下記の表1に示す。
多重周波数クロック(4Clまたは50Mtlzバスクロックでは2倍、33M Hzバスクロックでは3倍、または25MHzパスクロックでは4倍)が入力さ れ、これによりDRAMのタイミングが10ナノ秒(40MHzパスクロックに 対しては12.5ナノ秒)の間隔に制御される。
156ビツトプロソクの各々は、他のブロックのデータラインのそれぞれに接続 されるデータラインを有している。適切なブロックは、それのRASおよびCA Sラインをアサートすることによって選択される。選択されたブロックから得ら れる156ビツトはDSRDを通過し、ここでデータのチェックおよび必要であ れば訂正が行われる。エラーチェックピットは除去され、データはバス上に位置 づけられる。メモリは32.64、または128ビツト幅のデータ経路をサポー トし得る。
短1 主メモリのブロックの各バンクは、64デー・タビットなどの他の所定のデータ 幅によっても構成され得る。
(以下余白) 2、バス構造およびその定義 システムバスは、現在市販されているM−バスを含む、様々なバスを含み得る。
本発明によると、多重プロセッサシステムを効率的にサポートするために、バス 信号仕様は、再編成および拡張され得る。1つの実施態様において、信号仕様に は、現存する32−164−1および128ビツトデータをサポートするために 、データパリティ生成、データのチェックおよびアドレスパリティチェックのた めの付加ビット、ならびに様々なプロセッサシステムをサポートする制御ビット が設けられている。分離アドレスおよびデータ線は、非多重システムバスアプリ ケーションをサポートするために提供され得る。信号はまた、M−バス適合性を サポートするために多重化され得る。信号仕様は、本発明のメモリシステムと協 同して、バーストを含むすべてのM−バスレベル1およびレベル2のトランザク ションタイプをサポートするばかりでなく、バーストトランザクションの早期終 了を可能にし、様々なバーストオーダ(連続およびIntel型バースト)のサ ポートを提供し、様々なプロセッサのバースト長要件(Inte1%Motor ola、 5parc)のサポートを提供し、そしてFIFOへのキャッシュデ ータ線の書込みボスティングを可能にする。さらに、読出し/書込みまたはI1 0動作は、読出しから書込み、または書込みから読出し等のデータトランザクシ ョンの変換を許すために禁止され得る。その結果、バストランザクシ冒ン速度が 向上する。
例えば、システムバスを介して転送された制御信号は、アドレス信号(Ad)  、アドレスフェーズを同定するアドレスストローブ信号(AS”)、データフェ ーズを同定するデータストローブ信号(DS”)、アドレス/データパリティf f1M (ADP)、およびバストランザクションの早期終了のためのデータバ ースト最終信号(BLST)を含み得る。さらに、制御信号は、バスインターフ ェースモードを同定スるインターフェースモード信号(IMD)、トランザクシ ョンタイプを特定するトランザクションタイプ信号(TYPE)、バストランザ クション中に転送されるバイトの数を特定するトランザクションサイクル号(S IZE)、およびすでに進行しているDRAM読出し/書込みまたは110サイ クルを中止するメモリ抑制信号(INH)を含み得る。他の制御信号は、抑制さ れたトランザクションサイクルを他に転送するサイクル信号(TRC)を変換さ せる変換サイクル信号(TRC)、スヌープウインドを、タイミングレジスタに おいてプログラムされたタイミングインターバルを越えて延長させるスヌーブウ インド信号(SNW) 、バスマスクにトランザクション確認を提供する確認信 号(BACK)、バスエラー発生を示すエラー信号(BERR)、および反射読 出しトランザクション中のバスを保持する、DRAGによって生成されたバス要 求信号(BR)を含み得る。さらに他の制御信号は、バスオーナーシップの保持 中に、DRAG8によってアサートされるノ(ス話中信号(BB)、バス許諾信 号(BG)、およびエラー条件が発生するときに常にアサートされる割り込みア ウト信号(INT)。
最後に、制御信号は、すべてのパストランザクションを同期させるクロック信号 (CLK)、強化タイミングをDRAMに発生させる多重周波数クロック信号( MCLに)、DRAMをリセットするリセットイン信号(RSTIN)、および 同定信号(ID)を含み得る。
以下に、これらの制御信号のい(っかについてより詳細に説明する。
IMDは、M−バスモードまたは一般的なバスモードのような主要メモリシステ ムに現在連結されてる、バス型またはバスモードを特定するのに使用される。
TYPEは、アドレスフェーズ中のデータトランザクションタイプを特定する。
TYPEビットの解釈は、IMDによって決定される。例えば、IMDが、バス 型は5PARC型であると示すとき、TYPEL’ットは、書込み、読出し、コ ヒーレント無効、コヒーレント読出し、コヒーレント書込みおよび取り消し、お よびコヒーレント読出しおよび無効を含む、すべてのデータトランザクションタ イプの5PARCM−バスを同定する。IMDが、バス型は一般型であると示す ときには、TYPEビットは、書込み、読出し、デフォルトバーストサイズにお ける読出し、書込み、デフォルトバーストサイズにおける書込み、連続バースト オーダ、非連続バーストオーダ(Intelプロセッサ等)、ポストされた書込 み、デフォルトバーストサイズにポストされた書込み、およびバス上のバイト0 の位置を含む、様々なデータトランザクションタイプのM−バスまたは一般的ア プリケーシゴンを同定する。バイト0は、バス上の最低バイトまたはバス上の最 高バイトのいずれかとして発生する。
5IZEピツトは、トランザクシランサイズ、およびイネーブルされる特定の1 つのバイトまたは複数のバイトを特定するのに使用される。トランザクションサ イズは、バイト、ハーフワード(2バイト)、ワード、ダブルワード、16バイ トのバースト、32バイトのバースト、64バイトのバースト、または128バ イトのバーストを含み得る。特定バイトイネーブル情報は、バイトイネーブル、 ならびに1486および68040のようなプロセッサと互換性のある誤配置さ れ元データ転送を提供するために、オリジナルM−バス仕様に加えられる。バイ トイネーブルのすべての組合せは、同時にアサートされ得る。トランザクション サイズ情報の解釈は、アドレス信号における特定の1つまたはそれ以上のバイト のアドレスの機能であり、それにより、メモリ制御器における1つまたはそれ以 上のデータチャネルの選択、または主要メモリにおけるバンクの1つまたはそれ 以上のバイトへのアクセス、または主要メモリによける1つまたはそれ以上のバ ンクへのアクセスが可能になる。
PMDビットは、パリティ計算アルゴリズムを特定し、パリティ計算に関与する 信号を同定する。PMDビットは、全システムバスサイクルにおいて有効である 。パリティモードは、ディスエーブルとなったパリティ計算、計算されたアドレ スパリティ計算されたデータパリティ、計算されたアドレスおよびデータパリテ ィ、計算された奇数パリティ、または計算された偶数パリティを含む。
BACKビットは、トランザクション確認信号をマスクシステムプロセッサ(す なわち、バスマスタ)に提供スる。M−バスモードにおいて、確認信号は、補正 不可能なエラー、有効なデータ転送、およびアイドルサイクルのようなM−バス 定義を含む。一般的なモードでは、確認信号は、有効なデータ転送、エラー例外 、およびアイドルサイクルを含み得る。
ASは、バスマスタによってアサートされ、トランザクションのアドレスフェー ズを同定する。
DSは、トランザクションのデータフェーズ中でバスマスタによってアサートさ れる。DSは、DRAGにおいて内部的にバイブラインされ、データが転送され るクロックサイクルの1つ前のクロックサイクルに現れる。データは転送され、 BACKは、DSがアサートされる(但し、DRAM制御器が転送を確認し得る 場合)クロックサイクル後のすべてのシステムバスサイクルにおいてアサートさ れる。バスマスタは、Dsを使用して、サイクル毎をベースとした追従応答を制 御(中止)し得る。
BLSTは、バスマスタによって使用され、早期にパストランザクションを終了 する。BLSTは、DSがまたアサートされるクロックサイクル中においてのみ 認識される。従って、BLSTは、最終的に所望されるデータ転送の1つ前のシ ステムバスサイクルとしてアサートされなければならない。
INHは、多重プロセッシング環境におけるキャッシュ制御器によってアサート され、すでに進行中のDRAM読出し/書込みまたはレジスタI10サイクルを 中止する。データ転送が開始する前にINHが受け取られると、動作は、すべて のデータが転送される前に中止される。メモリ制御器がバス確認を開始した後に IN[]が受け取られると、そのINHは無視される。メモリが反射型である場 合には、DRA、Mの読出しは、書込みに変換される。データを保持するスヌー ブキャッシュから発生するBACK信号は、解釈されて、書込みストローブをF IFO/EDCデータ経路に提供する。禁止された書込みはまた、オーナーシッ プの読出しに変換され得る。
TRCは、アサートされると、禁止された読出しサイクルを書込みサイクル(反 射型)に、または禁止された書込みサイクルを読出しサイクル(オーナーシップ の読出し)に変換する。
SNWは、アサートされると、スヌーブウインドを、I)RAMタイミングレジ スタにプログラムされた値から生じるインターバルを越えて延長させる。この信 号は、もし使用されないと、永久にディアサートされ得る。
BER)lは、バスパリティエラーがデータトランザクションのアドレスまたは データフェーズ中に発生したことを示す。信号は、非同期的(すなわち、1つま たはそれ以上の後のクロック)にアサートされる。この信号は、エラーが発生す る1つ後のサイクルで有効で、解除されるまで有効である。信号は、コマンドレ ジスタに適切なビットを書き込むことによって解除される。
BRは、反射型読込みトランザクション中にDRAGによって発生される。主要 メモリシステムによって発生したBRは、システムのバス仲介ロジックに対する オーナーシップのための最高のプライオリティ要求として解釈される。さらなる システムバストランザクションは、主要メモリへの進行中の書込み(反射型読出 しから生じる)が終了するまで停止される。オリジナルのM−バス仕様は、2つ のキャッシュの間で転送されるデータが同時にDRAMに書き込まれる間に、次 のバストランザクションを遅延させる反射型主要メモリの明示的なメカニズムを 有さない。要求するキャッシュとキャッシュデータオーナとの間の確認データ転 送のより複雑なプロトコルを有するシステムは、BRを使用して、次のトランザ クションがDSRD中の反射型データ経路にオーバーライドするのを防止するた めにデータストローブを形成し得る。
BGは、BRに応答して外部仲介ロジックによってアサートされ、DRAGがバ スの認可されたオーナーシップであったことを示す。
BBは、そのバスのオーナーシップの存続のためにDHACによってアサートさ れる。DRAGは、反射型読出し動作中に、主要メ% IJ 書込みトランザク ションを完了する際に、バスを必要とし得る。
INTは、エラー条件が発生したときに常にアサート(もしイネーブルされる場 合に)されるオープンDRAM出力である。例アサートされるINTを引き起こ し得る。
CLKは、すべてのバスデータトランサクシ3ンを同期させる。
例えば、最大クロック周波数は、50Mhzであり、すべてのデータトランザク ションは、クロック信号の立ち上がりにおいてストローブされる。
R3TINは、DRACをリセットするのに使用される。信号は、少な(とも4 つのクロックについてアサートされなければならない。
(Dビットは、2つの解釈を有する。IMDがM−バスモードを示すときには、 IDビット解釈は、完全にM−バス互換性である。
M−バスモードでは、IDフィールドは、ポートレジスタおよび他のI10レジ スタにアクセスするためのM−バスアドレス空間内の様々な形態の空間を選択す る。非M−バスモードで使用されるときには、IDビットは、アドレス信号と連 結して使用され、パストランザクションの特性を限定し、110レジスタまたは DI?AMメモリを選択する。IDビットと、限定された一般的(非M−バス) 動作の固定値との間には、適合が必要である。
第2の実施態様では、システムバス仕様1;!、 5PARC,1860゜14 86およびMotorola 68040.88000シリーズおよびMIPS  R3000およヒR4500シリーズを含むさらなるプロセッサシステムをサ ポー トし得るM−バス標準(EMババス呼ばれる)の拡張である。EM−バス では、M−バス信号のいくつかが保存され、M−バス信号のいくつかが再定義さ れ、エンハンスされ、いくつかの新しい信号が加えられる。
すべてのEM−バストランザクンヨンは、アドレスフェーズ、次いでデータフェ ーズに分離される。アドレスフェーズは、アドレスストローブ信号(AS’)の アサーションによって同定され、1つのEM−バスサイクル中存続する。データ フェーズは、アドレスフェーズに素早く後続し、1つまたはそれ以上のクロック サイクル中存続し得る。データフェーズは、データストローブ(DS”)のバス マスタアサーション、およヒAs”の同時ディアサーションによって同定される 。バスマスタは、DS”をディアサーションすることによってデータトランザク ションを一次的に妨害し得る。DS”は、その使用を必要としないシステムに永 久にアサートされ得る。EM−バス拡張によって、多重アドレスおよびデータバ スが可能になるが、それらはM−バスのように強制ではない。M−バスのように 、多重によってAD[0:63]を形成するときには、アドレス(およびAD[ 36:63]を形成する属性)は、AS”と同時にアサートされ、データは、D S゛と同時にアサートされ得る。
EM−バス信号は、以下の表2において要約される=(以下余白) [2− EXT欄においてXと記される記号は、M−バス仕様ではな(、EM−バス仕様 において存在する。R(再定義された)と記される記号は、M−バスにおいて記 載されるが、このEM−バス仕様においては再定義およびエンハンスされる。D M(脱多重化された)と記される記号は、M−バスにおけるように、同一の機能 定義を有するが、EM−バスにおけるデータ線と多重化される必要はない。DR C欄においてXとして記される信号はすべて、DRAM制御器チップセットへの 入力を必要とする。DRC欄においてOと記される記号は、メモリシステムの様 々なサブシステムにおいて必要とされ得るオプションである。
トランザクションのアドレスフェーズ中では、A[O:351は、トランザクシ ョンアドレスを含む。このアドレスは、AS−中に有効である。さらに、AP[ Q:3]は、トランザクションアドレスの最低の32ビツトのパリティを反映す る。パリティは、A[33:35]にはサポートされない。これらのパリティビ ットは、ASoのアサーション中にのみ有効でなければならず、従って、最低の 4つのデータパリティビットと多重化され得る。パリティの意味(すなわち、奇 数/偶数およびイネーブル/ディスエーブル)は、パリティモートビブト、PM [O:2]によって特定される。パリティは、表3に示されるように割当てられ る。
トランザクションのデータフェーズ中では、D[0:63]は、トランザクショ ンの最低の64ビツトを含む。個々のバイトイネ ゛−プルを特定するサイズビ ットは、トランザクション属性として特定される。データは、DS”のアサーシ ョン中にのみ転送される。D[O:63]は、アドレスおよびトランザクション 信号と多重化され、オリジナルのM−バス定義との互換性を維持する。
バイト順序規則は、TYPEビットによって定義される。
トランザクションのデータフェーズ中では、D[64:127]は、トランザク ションの上部64データビツトを含む。個々のバイトイネーブルを特定する5I ZEビツトも、トランザクション属性として特定され、データは、再度、DS” のアサーション中にのみ転送される。D[64:127]ビツトがオプションで あることに留意すること。バイト順序規則は、TYPEビットによって定義され る。
トランザクションのデータフェーズ中では、DP[O:15]は、データバスの パリティを特定する。パリティの意味(すなわち、奇数/偶数およびイネーブル /ディスエーブル)は、パリティモードビット、PMD[0:2]によって特定 される。これらのパリティビットは、DS−のアサーション中にのみ有効でなけ ればならない。従って、DP[0:3]は、AP[0:3]と多重化され得る。
DP[O:15]は、表4および5によって示されるように割り当てられる。
(以下余白) & ヤ 振り M−バス仕様は、すべてのトランザクションのアドレスフェーズにおいて、MA D[36:63]として発生する多数のトランザクション属性を同定する。これ に対して、EM−バス延長は、これらのトランザクション属性信号を分割し、そ れらをエンハンスメントとして特定する。TYPEおよび5IZHの定義は、5 PARC以外のプロセッサプロトコルを扱えるように拡張される。5parcプ ロセツサに関しては、TYPEおよび5IZEビツトは、M−バス仕様における ように、それらの解釈を保持する。IntelまたはMotorolaプロセッ サに関しては、これらのビットは、各々のバスインターフェースの特異性を扱え るように再定義される。
TYPEおよび5IZHの解釈は、EM−バスIMDビットによって特定される 。M−バス信号AD[0:63]、EM−バスA[0:35]およびトランザク ション属性の関係は、以下の表6に定義される。
tら これらのトランザクション属性はすべて、AS”がアドレスフェーズにおいてア サートされる間有効である。
TYPEおよび5IZHの定義はまた、様々なプロセッサバス特性を扱えるよう に拡張される。これらの拡張された定義は、SPA RC,i 860.148 6およびMotorola 68040. 880Ooシリーズ、およびMIP S R3000および114000シリーズを含むプロセッサシステムをサポー トする。
アドレスフェーズにおいて、TYPE[5:Olは、トランザクションタイプを 特定する。TYPEピッ) (SPARCM−バス互換性または一般インターフ ェース)の解釈は、表7および8において示されるように、IMDビットによっ て決定される。
癖7 奴 も (以下余白) 一般モード(IMD=1)のTYPE[5:Olの各ビットの機能を、以下に説 明する: TYPE[Olは、読出しおよび書込みを同定する。0のとき、このビットは、 トランザクションが読出しであることを示す。
■のときには、このビットは、トランザクションが書込みであることを示す。
TYPE[1]は、連続または非連続バーストのようなバーストオーダを同定す る。TYPE[1]=Oのとき、バーストオーダは、連続である。TYPE [ 1] =lのとき、バーストオーダは、非連続である。
幅Nバイト(N=4.8または16)のシステムバスであるとすると、5IZE  S>N (ここで、5=kN、 k=2°、iは、整数=〉1、およびNk< =128バイト)のすべてのトランザクションがバーストを構TYPE[2]ビ ツトは、二者択一の解釈を有する。TYPE[2]=0のとき、バイトにおける トランザクション長さは、5IZE[2:01の値によって与えられる。TYP E[21・1のとき、トランザクション中にイネーブルされるバイトは、それら の各々のサイズビットが低いとアサートさせるときに特定される(例えば、5I ZE[N〕°は、BYTE[N]がトランザクションに関与することを意味する )。詳細は、5IZE[7:Olの定義を祭照のこと。
TYPE[3]は、小エンジアンおよび大エンジアンを特定する。
プロセッサは、2つの方法のうちのいずれかで、バス上のBYTE Oの位置を 定義し得る。BYTE Oがバス上の最低バイトとして発生するか(D[7:O l−小エンジアン、TYPE [3]・0)、またはBYTE Oは、バス上の 最高バイトとして発生する(大エンジアン−D[M:M−7]、ここで、M−B 、 −1,肌は、バス幅ビットであり、TYPE[3]=1) 、詳細は、5I ZE[7:01ビツトの定義を参照のこと。
TYPE[4]は、書込みボスティングに関連する。TYPE[4]−1のとき 、書込みデータは、書込みfHoにポストされ、そこで、次の読出しが完了する までとどまる。これは、ドラム読出しが完了した後まで、実際のドラム書込みを 延期させるために使用され得、それによって、キャッシュ線フィルの速度が増加 する。
TYPE[5]は、デフォルトバーストモードを特定する。TYPE [5]二 〇のとき、トランザクションサイズは、5IZE[7:Olによって特定される (これは、TYPE [2]によって解釈される)。TYPE [5]=1のと き、トランザクションサイズは、コマンドレジスタへプログラムされたデフォル トバーストサイズによって特定される。
(以下余白) 5IZE[7,0]は、メモリシステムにデータトランザクションサイズを知ら せるために備えられている。アドレスフェーズの間に、5IZB[2:Q]は、 バストランザクシ璽ンの間に伝送されるバイト数を指定する。5IZE[7:3 ]は、バイトイネーブルされ、ミスアラインされたデータ伝送であって、148 6および613040プロセツサと互換性のあるデータ伝送を与えるためにオリ ジナルのMパス仕様に追加された。5IZHの解釈は表9〜13に示すように、 TYPE[2]によ一ンて決定される。
表 IO バイトイネーブルとなったバイトのいかなる組み合せも同時にアサートされ得る 。通常、プロセッサではバイトイネーブル信号が連続的(continguou s)であることを必要とする。
無効な組み合せと有効な組み合せとを区別するチェックは行われない。
(以下余白) 表11 (以下余白) 表 13 ID[3:Ol。IDビット識別は2つの解釈を有している。IMD−0の時、 表14に示すように、ID解釈は厳密にM−バス互換性がある。
そこで、IDフィールドは、ポートレジスタまたはその他の■10レジスタにア クセスするための、M−バスアドレス空間の範囲内で様々な構成空間を選択する 。非M−バス適応で用いられた場合(IMD−1)には、IDビットはアドレス 信号と共に用いられ、バストランザクシゴンの特性を規定し、I10レジスタま たはdrawメモリを選択する。規定された一般的(非M−バス)動作を行うに は、ID[3:01と、表15に示した固定値とは適合していなければならない 。
(以下余白) 表14 パリティモードピットPMD[O:2]は、パリティ計算操作アルゴリズムを指 定し、パリティ計算操作に関連する信号を職別する。これらは、全システムバス サイクルの間有効である。
これらのビットは表16に示すように規定される。
(以下余白) 表 16 DS”は、トランザクションのデータフェーズの間にバスマスターによってアサ ートされる。データは伝送され、DS”がアサ−は、DS”を用いて、サイクル 毎を基準としてスレーブの応答を制御(減速)させ得る。M−バスはDS’信号 を有していないことに注意されたい。
デフォルトのバースト長は、各トランザクションのアドレスフェーズの間に5I ZE[O:3]によって指定される。BLST”はバスマスターによって用いら れて、デフォルトのバースト長が切り離され得、アサートされるサイクルの間に バストランザクションを早期に終了させる。BLST”は、DS”もアサートさ れているサイクルの間識別されるだけである。
DRPA” +t、ハX vスターによって提供され、次のメインメモリアクセ スが、前回のアクセスと同じDRAMのページで起こるということを示している 。メインメモリサブシステムは、こ制し得る。この信号は、1つのプロセッサシ ステムの中でのみ用いられる。
BACK[O:Zドは、M−バスのMRDY”、MRTY”およびMERR”と 同一である。以下の表17および18にその機能をまとめる。
表17 (以下余白)  it 3、DHAC構造 本発明による構造を有する、DRAMコントロールデバイス(DRAG) 50 の実施態様を図3に示す。すべてのパストランザクションは、データフェーズの 後にアドレス/コントロールフェーズに分割されることを想起されたい。AS” によって指定されるアドレス/コントロールフェーズの間、コントロール信号は 、システムバスを越えてフントロール人カバッファ52を介してDRAG5G内 に伝送され、パイプラインレジスタ53に記憶される。さらに、アドレス信号A D[35:01およびアドレスパリティ信号ADP[3:OFは、システムバス からアドレスおよびアドレスパリティ人力バッファ91を介してDRAG50内 に伝送され、パイプラインレジスタ92内に同時にクロックされる。
また、アドレス/コントロールフェーズの間、アドレス信号AD[35:Olは トランザクションアドレスを有する。このアドレスは、AS”のアサーションの 間有効なままである。アドレスがDRAG50に入力された後、アドレスパリテ ィは、アドレスパリティチェック回路95によってチェ・ツクされる。1パリテ イビツトハ、アドレス信号のバイト毎に計算され、アドレスパリティ信号ADP [3:O]のアドレスパリティ4ビツトに対してチェックされる。ADP[3: 01は、トランザクションアドレスの最も低い32ビツトのパリティを反映して いる。アドレスパリティは、任意に、データパリティと多重送信され得る。アド レスパリティは、AD[35:03のピット[35:33]にはサポートされて いない。パリティのセンス(つまり、偶数/奇数およびイネーブル/ディスエー ブル)はPMDにより指定される。パリティ計算の特性はPMDにより各バスサ イクルごとに指定される。
アドレスパリティ誤差が起こると、トランザクションは終了し、バスエラー信号 BERRがアサートされる。アドレスパスパリティエラーピットは、DRAG5 0の状態レジスタ76で設定される。BERRは、トランザクションのデータフ ェーズの間のバスパリティエラー状態を示す。この信号は、同期して(つまり、 1クロツクまたはそれ以上遅れて)アサートされ、エラーが起こった1クロツク 後に有効になり、クリアされるまで続く。信号はDRAG50のコマンドレジス タ73に適切なビットを書き込むことによってクリアされる。
システムバスからのすべての同期入力は、クロックの立ち−Lがり開始時に有効 になると考えられる。同期制御入力のいくつかは、バスサイクルのアドレスフェ ーズの間にAS”のアサーシコンによって有効になる。これら後者の制御入力に は、バスタイブを識別するための信号IMD、データトランザクンゴンタイプを 指定するための信号TYPE、データトランザクシ冒ンサイダンサイズるための 信号5IZEが含まれる。
本発明によると、DRAG50のアドレス経路および制御経路は、それぞれ分割 され、キャッシニパージ動作がサポートされ得る。アドレス経路には、読み出し トランザクションのための読み出しアドレス経路(すべての標準M−バス読み出 しトランザクションを含む)、および書込みアドレス経路が含まれる。
さらに、書込みアドレス経路には、2つの連続した書込みトランザクションアド レスのうち、第一のアドレスのための第一経路、および、2つの連続した書込み トランザクションのうち、第一書込みトランザクションにLL、第二のアドレス のための第二経路が含まれる。書込みアドレスレジスタ112は、第二経路に備 えられ、第ニアドレス信号を保持する。プロセッサは、通常、アドレスが確認さ れるまでデータトランザクションアドレスを保持する機構は有していない、とい うことに言及しておこう。本発明のDRAG50の構成によって、より効率的な データトランザクションが可能になる。制御経路には、通常および反射読み出し 制御信号のための読み出し制御信号経路、および書込み制御信号経路が含まれる 。書込み制御信号経路は、また、2つの連続した書込み制御信号のうち第一の信 号のための第一経路、および2つの連続した書込み制御信号のうち、第一書込み トランザクションの直後に続く第ニドランザクジョンに伴った第二の信号のため の第二経路を含む。書込み制御レジスタ62は、第二経路に備えられ、第二制御 信号を保持する。
マルチプレクサ63および113は、それぞれ、通常書込みおよびポストされた 書込みアドレス、/′制御信号がらの書込みアドレス/制御信号を選択するのに 用いられる。選択された書込み制御信号および書込みアドレス信号は、それぞれ 、書込み制御レジスタ65および書込みバーストカウンタ114に伝送される。
読み出し制御信号および読み出しアドレス信号は、それぞれ、読み出し制御レジ スタ64および読み出しバーストカウンタ116に記憶される。書込みおよび読 み出し制御レジスタ64および65の内容は、リフレッシュ制御回路85がらリ フレッシュ制御信号と共に、制御ソースマルチプレクサ68によって選択される 。制御ソースマルチプレクサ68から選択された信号は、状態およびタイミング 制御ロジック72に伝送される。読み出しおよび書込みアドレスバーストカウン タ114および116のfi上部からのアドレスは、アドレスソースマルチプレ クサ121によって、リフレッシュ回路85のリフレッシュアドレスカウンタか らのアドレスと共に多重伝送される。DRAM動作のためのアドレスは、これら 3つのソースのうちの1つから起こる。特定のソースは、状態およびタイミング 制御ロジック72によって決定される。書込みアドレスバーストカウンタ114 は、書込みの間と、(lワード以下のバイトの書込みである)読み出し改変書込 みの間と、抑止DRAM書込みの間と、通常書込みから所有権サイクルの読み出 しへの転換が可能となるポストされた書込みの間とにアドレスを供給する。読み 出しアドレスバーストカウンタ116は、通常読み出しの間と、反射読み出しの 間とにアドレスを供給する。後者は、メインメモリへの読み出しデータの同期書 込みを伴う、通常読み出しからコヒーレント読み出しへの変換である。
読み出しが行われ、ポストされた書込み信号がその前の書込み動作にアサートさ れると、アドレスパイプラインレジスタ92の内容は、コンパレータ108によ って、書込みアドレスレジスタ112のポストされた書込みアドレスと比較され る。2つのアドレスが合致すると、ポストされた書込みが読み出し動作を進める 。それ以外の場合には、読み出しが終了した後に起こるポストされた書込みと共 に即座に入力読み出しが起こる。アドレスバスの最も低い7ビツトは、比較から 除外される。従って、ポストされた書込みのバーストアドレススノくンは、読み 出しのバーストアドレススパンと重複する(あるいはこれを含む、あるいはこれ に含まれる)一方、DRAM構造とのコヒーレントは維持している。
アドレスマルチプレクサ121の出力は、行/列ブリマルチプレクサおよび行/ 列アドレスマルチプレクサを有する、行/列マルチプレクサ125内に流入する 。行/列ブリマルチプレクサにおいて、アドレス信号は、アドレスプロ・ツタコ ンーノくレータ105によって選択されるDRAM構造の内の、アクセスされた ブロックにおけるDRAMチップのサイズに応じて、行アドレスと列アドレスに 分割される。そして、分割されたアドレスは、RAS/CAS発生回路87の制 御の下で、DRAMの実際のアドレスを発生する行/列アドレスマルチプレクサ 125内に流入する。
書込みおよび読み出しアドレスカウンタ114および116は、それぞれ2つの 重複する部分に分割される。各カウンタの下部はシステムバスへのバーストを制 御する。各カウンタの上部はメインメモリへのバーストを制御する。サラニ、各 カウンタの下部は、アドレスビット2および3で重複し、DRAG50によって 選択されたメモリ内のバンクまたは複数のバンクを指定するDSRDにおけるチ ャンネルを識別するのにこれらのビットが用いられる。カウンタのアドレス出力 の解釈は、32−164−または128−ビットなどのシステムバスのサイズと 、32−または64−ビットなどのDSRDにおけるEDCの幅と、データトラ ンザクションサイズ情報とに依存している。
バーストタイプトランザクションは以下のように規定される。Nバイト(N=4 .8または16)の幅のシステムバスを仮定すると、5IZE SIHのトラン ザクションであればいずれでもバーストを構成する(ここで、5=kN、 k− 2°、iは整数=〉1、かつNk(=128バイト)。アドレスの最も低いlo g2Nビットである、A[log2N−11:01のバーストの間、バスは0( アラインメント制約)に固定される。次の10g2にビットである、A[(10 g2に+log2N−1) + (log2N)]は、トランザクションのバー ストカウンタを形成する。TYPEビットが、バーストのオーダーが連続である と示している時には、この10g2にビットのアドレスを連続的に増加すること によって、連続したアドレスが発生される。
すべての10g2にビットが1であるアドレスに到達した後、カウンタはラップ アラウンドして0になる。この場合、すべてのl og2にビットが低い。ハイ オーダーのアドレスA[35: 10g2に+l。
g2N]は固定されたままである。
TYPE[1]=1の場合、バーストカウンタは、Intelプロセッサの非連 続特性に従って増加する。最も低いlog2Nビットは再び0(アラインメント 制約)に固定される。次の10g2にビットである、A[(10g2に+log 2N−1): (log2N))が、トランザクションのバーストカウンタを形 成する。これらのビットは、以下のように増加する。
An+2 An+I An An+2 An+I An” An+2 An+1° An An÷2 An+1” An” An+2° An+I An An+2° An+I An” An+2° An+1° An An+2” Analo An” 本発明によるEMババス実施態様において、TYPE[1]はバーストのオーダ ー、つまり、連続または非連続を表わす。
システムバーストが起こると、プログラムされたアドレスでデータ伝送が始まる 。通常の動作の間に、システムハスバーストカウンタを、バースト長を法として 増加することによって、連続したアドレスが発生される。カウンタのアドレスは 、一定のプログラムされたバースト長の最高値に達するとラップアラウンドする 。バーストは、プログラムされたバースト長の後に終了し、または、BLSTの アサ−シランと共に早期に終了し得る。バーストアドレスは、常に連続的に増加 するわけではない。
Inte1486プロセツサには、アドレスのための特定のバーストオーダーが 必要である。このオーダーは、Intelバーストモードを指定することによっ てサポートされる。Intelの非連続オーダーを用いたバーストの間でさえ、 カウンタは、バースト長によって指定されるアドレス境界の外側には増加しない 。
システムバースト読み出しおよび書込み伝送が、Nピントのバス幅(N = 3 2.64、または128)を用いるシステムのためにNビットが配置された境界 上で起こる。
DRAG5(lに、反射読み出しトランザクションおよびコヒー之ント読み出し トランザクションを可能にする、出力読み出し要求を中止するよう指示するため に、抑止ラインが提供されている。この信号は、マルチ処理環境における牛ヤツ シ二ブロノクの所有者によってアサートされ、それによって、メインメモリアク セスが抑止されている間に、要求キャッシュにデータを供給し得る。この入力は 、マルチ処理環境において用いられ、抑止DRAM読み出し動作を書込み動作に 変換し、反射メモリを増加させる。スヌーピングキャッシニが、データの有効コ ピーを所有していると判断すると、バスを越えてデータを要求キャッシュに供給 する。同時に、メインメモリが更新される。
プロセッサがマルチ処理環境にデータを書き込もうとすると、そのローカルキャ ッシュが、問題のデータラインの状況(キャッシュ可能か、書込み中、ヒツトま たはミス)を判断せねばならない。キャッシュ可能なラインに書込み動作が起こ った場合には、前もって同一のラインに改変され、有効なコピーのみを有する第 二のスヌービングキャッシュにヒツトが起こり得る。DRAMコントローラは、 スヌーピングキャッシュが要求キャッシュにデータを供給する時には、出力書込 み動作を抑止する。データの有効コピーがスヌービングキャプシュに存在しない 場合には、DRAMへの書込み動作は抑止され、同じアドレスでの読み出し動作 に変換され得る。
読み出しまたは書込み動作の間、スヌープウインドウがCASがアサートされる まで伸びる。これらの時間間隔は、その他の全てのDRAMタイミングと共にプ ログラム可能である。あるいは、システムバスのその他のすべてのデバイスがス ヌーブサイクルを終了するまでウィンドウを伸ばすために、外部入力が提供され ている。
メモリリフレッシュ要求は、メインメモリを有するメモリチップの密度と構造に 応じて変化する。しかし、行は同一の時間間隔でリフレッシュされなければなら ない(この場合、読7.出し動作の後に消去が行われる)。一定のブロックのす べてのバンクが、特定のアドレスで同時に消去される。
状態およびタイミング制御ロジック7zは、データ伝送受信デバイス(DSRD )へのパストランザクションタイプ識別信号(FET)を発生するバス状態回路 と、DRSDへのメモリサイクル識別信号(FECRT)を発生するメモリ状態 回路とを有している。
本発明によると、タイミング制御ロジック72は、システムセットアツプ、およ び異なるシステム要求をサポートするための状態情報をプログラムするのに用い られる、いくつかのプログラム可能レジスタを有する。これらのプログラム可能 レジスタがよりよく理解できるよう、以下の表を提供する。
この表において、最初の欄はビット数を示す。第二の欄はビットの名称を示す。
第三の欄はシステムリセットがアサートされた後にビットに指定された数値を示 す。第四の欄は、レジスタバイトのアドレスの、最低の4ニブルを示す。最高ア ドレスは、IMDによって指定されるインターフェースモードに依存する。表に 挙げたすべての数値は、2進法または16進法(h)で示されている。全−Cの 信号はアクティブハイである。
各1ノジスタ(M−バス指定ボート1/ジスタを除く)は、アドレス空間におい て16バイトの間隔で配され、システムバスの幅に関わらず、その内容は、デー タバスの最低の8ビツトにアクセスできるようになっている。
プログラム可能(読み出しおよび書込み)コマンドレジスタ73は、たとえば、 それぞれ表19から22に規定する4バイトを有している。
(以下余白) 表19 RFD[6:O] i!、!J 7 レッシュヵウンタ除数である。これらのビ ットはCLKをI Mhzまで除算する。
CIEは、コヒーラント無効化確認イネーブルである。このビットがハイに設定 されると、M−バスはコヒーラント無効化サイクルにイネーブルされる。タイプ ビットがこのサイクルを指定するアドレスフェーズの2クロツク後に、BACK が発生される。異なる確認遅延を必要とするシステムでは、CIE=Oの設定を し、確認を行うのに外部PLDを用いなければならない。
表ル IEは、システムバスへの割り込みをイネーブルにする。
BIJ[1:O]は、2進法でブロックの数を規定する9 2進法の数値は、ブ ロックの数よりも少ないものであり、たとえば、 0(h)−1ブロツク、3( h)−4ブロツクである。
ESは、各EDCパケットにおけるデータビット数、またはEDCサイズを指定 する。0は32ビツトを指定し、一方、1は64ピツトを指定する。
SBSは、システムバスにおけるデータビットの数、あるいはシステムバスサイ ズを指定する。
00は、32ビツトを指定し、一方01は64ビツトを指定する。同様に、10 は128ビツトを指定する。
INITは、DRAMメモリおよびそのチェックビットの初期化を開始させる。
DFB[1:01は、キャッシュライン読み出し/書込みのデフォルトのバース ト長を示す。これらのビットは、入力5IZEビ・ノドと同様の方法で規定され る。適切なTYPEビ・ノドが、トランザクシ目ンのアドレスフェーズの間にア サートされると、ノイスは、このデフォルト長でバーストトランザクシ嘗ンを行 う。
これらは以下のように解釈される。
DFB[l:0] デフォルトのバースト長0016バイト 0132バイト 1064バイト 11 128バイト PLL[1:O]は、入力バスクロック(CLK)からMCLにへの乗算因子を プログラムする。PLLビットは以下のように規定される。
PLL[1:0]MCLK 00 使用せず 01 X2(40または50MHzパスクロック)10 X3 (33MHzバ スクO、ツク)11 X4 (25MHzパスクロック)(以下余白) 多重周波数クロック入力がバス周波数多重回路により供給され、それにより、シ ステムバスクロブク周波数に関わらずメモリ回路が10 ns (但し、40  MHzのバスに対しては12.5 ns)に設定される。この結果は、プログラ ム可能タイミングレジスタ74により達成される。バス周波数多重回路は、好適 にはメモリ制御チップ(図示しない)の内部に組み込まれる、フェーズロブクル ープ(PLL)回路であり得る。この配置において、メモリタイミングは、外部 的にではなく、内部的に制御される。
表= ETMEは、DSRD内のエラーログFIFOがフルであることを示す割込みを イネーブルとする。
ERMWは、読出し一修正一書込みサイタルにおいて多重エラーが起こったこと を示す割込みをイネーブルとする。
EMEWは、単一のワード内における2以上のエラーを示す割込みをイネーブル とする。
ESEWは、単一のワード内において単一の修正可能なエラーが起こったことを 示す割込みをイネーブルとする。
EABPは、アドレスタイプのうちの1つがパリティエラーを有することを示す 割込みをイネーブルとする。
EDBPは、データバイトのうちの1つがパリティエラーを有することを示す割 込みをイネーブルとする。
EDCは、データバスにおける単一のビットエラーの修正をイネーブルとする。
CBERRは、システムバス上のBERRをアサートする条件をクリアにする。
プログラム可能(読出しおよび書込み) DRAMタイミングレジスタ74は、 例えば、エンハンスされたタイミング分解におけるDRAM作動のために様々な 制御信号を記憶する、8つのバイトを含む。これらのタイミング信号を、表23 および24に定義する。
全てのタイミング値は、4ビツト値に設定されている。時間間隔は、MCLKが 100 Mhz (40MHzのバスクロックに対しては12.5 ns)で作 動している場合、正確に10 nsと指定されている。全てのタイミングは、t pの1/nに分解され得、その場合、nはPLL多重器である(例えば、tp・ 20 nsの場合に2のPLL多重器を有する50 MHzのシステムは、10  nsと指定されたDRAMタイミング分解を有し得る)。したがって、タイミ ング値が制約されない限り、DRAM読出しデータは、バスクロックの20 n Sの境界よりも、10 nsの境界上のDSRDに到達し得る。
以下に、利用可能なプログラム可能時間間隔を定義する。
tARll、アドレス信号の開始とRASアサーションとの間の時間間隔をプロ グラムする。
tRAMは、RASの開始と多重化されたアドレスとの間の時間間隔をプログラ ムする。
tMACは、多重化されたアドレスとCASアサーションとの間のtcpwは、 CASパルス幅をプログラムする。
tRPRは、RASプリチャージ幅をプログラムする。
tCPは、CASプリチャージ幅をプログラムする。
tDCは、CASアサーションに対するFIFOデータ遅延をプログラムする。
tRINは、非反射抑止中のRAS完了をプログラムする口tENRは、読出し 上のFESTRBのイネーブル遅延をプログラムする。
tACCは、DRAMアクセス時間(DRAMチップによって決定される)をプ ログラムする。
tCLzハ、出力LOW Zへ+7)DRAM CAS (DRAMチップによ って決定される)をプログラムする。
呻は、バスCIJ期間をプログラムする。
本発明のDRAG 50はまた、プログラム可能(読出しおよヒ書込み)ブロッ ク配置レジスタ102を備え、レジスタ102は、例えば、全体のメモリマツプ 内のDRAMのブロックの位置、および、DRAMの各ブロックのポビュシーシ 菖ンコードまたはサイズを記憶する、8つのバイトを含む。ブロック配置レジス タ102の配置を表25に示す。
奴z5 BA(N)[35:22]は、全体のメモリマ・ツブにおけるメモリのブフロッ クNは、入力されて(るアドレスビットA[35:22]がBA(N)[35: 22] ヒツトに一致した時に選択される。BA(N)フィールド内のいかなる ビットもマスクされ得、したがって、比較においては考慮されない。比較は、コ マンドレジスタ内において初期のピットが設定されるまで、開始されない。
P(N)[1:01は、ブロックNの全バンクにインストールされたDRAMチ ップのサイズを指定する、ポピーシーションコード(0(−N<・3)を示す。
ポビュシーシ薗ンコードは以下のように定義される。
00 深さ256K (すなわち、2561 x 1または2561 x 4) 01 深さLM (すなわち、IM x 1またはIM x 4)10 深さ4 M (すなわち、4M x 1または4M x 4)11 深さ16M(すなわ ち、16M X 1)プログラム可能(読出しおよび書込み)ブロックマスクレ ジスタ104は、8つのバイトを有するブロック配置レジスタ102と連動する 。ブロックマスクレジスタ104は、例えば、ブロック配置レジスタ102内の 特定のビット(単数または複数)をマスクするために使用される。レジスタ10 2内のマスクされたビットは、メモリマツプアドレスの比較において考慮されな い。レジスタ104の配置を表26に示す。
扛2−6 B2−6B [35: 22]は、メモリマツプアドレスの比較中にブロック配 置レジスタ内の特定のビットが考慮されるか否かを示す、ブロックNマスク(0 <−N(−3)を意味する。マスクの定義を要約すると以下のようになる。
BM(N)[X]=O: BA(N)[35:22]1.:対しrAD[35: 22]を比較する場合、ビットXを無視する。
BM(N)[X]=1: BA(N)[35:22]i:対しテAD[35:2 2]を比較する場合、ビットXを含む。
アドレスブロック比較器105は、パイプラインレジスタ92とブロック配置レ ジスタ102とに連結されることにより、入力さてくるシステムバスアドレスと 、配置レジスタ102内に記憶されている4つのブロックの位置とを比較する。
一致が起こると、入力されてくるアドレスは書込みアドレスレジスタ112(D SRD内の書込みFIFOが前回の転送から、またはボストされた書込み中に占 有されている場合にアドレスを保持する)、または、ステータス制御下の読出し または書込みバーストアドレスカウンタ114および116とタイミング制御ロ ジック72とに転送される。
本発明によると、DRAG 5Gはまた、DSRDからのステータス情報を記憶 する、ステータスレジスタ76を備える。例えばこの情報は、書込みおよび読出 しFIFOのステータス、および、作動中に起こったエラーのステータスを含む 。ステータスレジスタ76は、ステータスおよびタイミング制御ロジック72が 適切なチャネルを選択し、且つ、効果的な様式でシステムの割込みを設定するこ とを可能にする。
DRAG 50は更に、2以上の読出し専用エラーログFIFOを含み得、且つ 、ビットレジスタ(FEDC内部の)をチェックし得る。
ビットレジスタは各々、EDCシンドロームビットをエラー条件に反映させるシ ンドロームビット、シンドロームFIFOエンプティフラグビット、および、前 回の読出し作動中に存在したEDCチェックピットを反映するチェックビットを 各々記憶する、4つのバイトを有し得る。
DRAG 50はまた、Mパスポートレジスタ(図示しない)を備え得、それに より、Mバス互換性素子のためのペンダコード、M /<ス互換性素子のための 訂正レベル、およびこのポートにおいて存在するベンダ特異性Mバス素子を指定 する素子の番号を記憶する。DRAG 50は更に、DRAG 50内部の他の レジスタのアドレスを記憶する間接アドレスレジスタ、および最新のエラーのア ドレスを記憶するエラー位置レジスタを備え得るユ −初期電力投入後、DRA G 50をリセットまたは初期化するために、非対称人力RSTINが使用され る。RSTIN信号は、少なくとも4つのクロックサイクルに対してアサートさ れる。RSTINがアサートされた後、コマンドレジスタ73およびステータス レジスタ76内の全ビットが所定の値に初期化される。RSTINがディアサー トされた後、ホストプログラムが、レジスタ73にシステムの正しい値を付与し 、且つ、初期化ビット(INIT)を設定する。RSTINは、DRAG 50 およびDSRD内でCLKに同期される。
メモリ制御器は、全RRAMをクリアすること、およびDSRD内のEDCビッ トを適切に初期化することにより、応答する。
非多重化システムバスは、アドレスラインのみによってDRAo 50にインタ ーフェースする。DRAG 5G内部の制御およびステータスレジスタは、シス テムのデータバスを介してアクセス可能でなければならない。DRAG 50の 制御レジスタのプログラミングおよびステータスの読出しを容易にするために、 FEDCとDRAC50との間に更に8ビツトのデータバスが供給される。
全ての■10トランザクシコンは、バイト幅に基づき、FEDCを介してDRA G 50に送信される。
以下の3つの信号は、システムバスを制御するために用いられ、それにより、反 射メモリの作動が完了しつつある間にFIFOのオーバーフローを防止する。D RAM制御器は、反射メモリシステム内に抑止を受信してから1クロツクサイク ル後に、BRをアサートすることにより、バスを要求する。システムのアービト レーションロジックはBGをアサートし、それにより、主要メモリ制御器へのバ スの使用を認める。主要メモリ制御器は、BHにより応答し、それにより、電流 バスマスタがBHに対する保持を開放するとすぐにバスビジー状態を示す。Mバ ス反射メモリシステム内において、BRはアービトレーションロジックにより最 高の優先順位を与えられる。
他の選択可能プロトコルを用いることにより、他のシステムが反射メモリをイン プリメントし得る。現在の作動が実行されている間に、多くのメモリが次のシス テムバス作動をアービトレーションする(重複アービトレーション)。DRAM 制御器がBHにより応答する時間を与えるために、反射メモリシステムは、抑止 が起こってから1クロツク後まで、重複アービトシーシ1ンサイクルを開始して はならない。
DRAG 50は、プログラム可能レジスタおよび他の関連するレジスタ内の情 報、システムバスからの情報、モしてDSRDのステータス情報を使用すること により、その内部回路およびDSRDに様々な制御信号を供給する。このことは 、DRAG 5Gが、特定のシステムバスおよびプロセッサバスの効率的なサポ ート、および異なるデータトランサクシ1ンの要求に対するサポートを提供する ことを可能にする。DSIiDへの制御信号およびDSRDからのステータス応 答は、DSRDインターフェースおよび110バッファ回路128を介して送信 される。これらの信号について以下に述べる。
DRAM制御信号は、RAS[3:Ol、CAS[3:Ol、およびWR[3: Olを含む。RAS [N]およびCAS [N]は、外部的にバッファされ、 ブロック[N]に含まれる全てのDRAMメモリバンクに接続されている。
書込みイネーブルラインWR[M]の各々は、外部的にバッファされ、全ての占 有されたブロック内のバンク[M]に接続されている。
採用されている特定の制御アーキテクチャは、ビット幅に基づいて構成されたD RAMおよびニブル幅に基づいて構成されたDRAMを同一の様式で処理する。
ビット幅DRAMが用いられる場合、データ入力およびデータ出力ビンは互いに 接続されている。ニブル幅DRAMが用いられる場合、そのOEビンは常にアー スされている(イネーブルされている)。その後、両タイプのDRAMとも、初 期書込みサイクルモードを用いて書き込まれる。このモードは、CASのアサ− シランの前に、そのR/Wラインが適切なレベルにセットされていることを必要 とする。
アドレスに関するRASおよびCAS信号の発生、およびそれらのパルス幅(プ リチャージ幅を含む)は、DRAMタイミング制御レジスタ内に適切なビットを セットすることにより、プログラムされ得る。MCLKが100 Mhzで作動 している場合、これらの値は、10 nsの分解にプログラムされ得る。
RAS/CAS信号およびDRAGのアドレス信号は各々、RAS/CAS駆動 器およびアドレス駆動器に送られる。RAS[3:0]およびCAS [3:0 ]は、RAS/CAS発生回路87によって生成され、全てのブロックに対する メモリのRASおよびCASタイミングパルスを含む。
RAS[N]およびCAS [N]は、ブロックN内の全てのバンクに接続され ている。アドレス信号は、メモリの16Mビットにスパンし得るメモリのために 、12ビット多重化行/列アドレスに形成され得る。
4、FEDCユニット構成 本発明によると、メモリ制御器のデータ送信および受信素子(DSRD)は、好 適には、複数のデータチャネルを有し、その各々が、FIFO/エラー検出およ び修正回路(FEDC30)である。
図4は、本発明による構成を有する、メモリ制御器の一部であるFEDCユニッ ト30の実施態様を示す。FEDCユニット30は、2群のFIFO/エラー検 出および修正ロジックアレイ(FEDC)を含み、それにより、2つの32ビツ トデータチヤネルを供給する。
これらユニットのうちの2つは、32ビツトまたは64ビツトのシステムバスを 効率的にサポートし得る。FEDC30は、読出しおよび書込みデータバスを供 給する。本実施態様において、FEDC30は、システムバスにインターフェー スする32ビツトのデータバスおよび64ビツトのデータバスを有し、64ビツ トのデータバスは更に、DRAMにインターフェースする2つの完全な32ビツ トデータバスに分割される。DRAM側の32ビツトのデータバスは各々、7つ のエラーチェックビットに連動する。
本発明によると、32.64、および128ビツトのシステムバスを効率的にサ ポートするために、4つのFEDCユニット30が接続され得る。
FEDCユニット30は、制御バッファ175および出力バッファ162を介し てDRAG 50に連結され、それにより、DRAG 50からの制御信号を受 信し、ステータス信号をDRAG SGに送信する。yEDユニ・ノド30はま た、入力および出力バッファアレイ130.162.168.169.170. 172、および174を介してシステムバスとDRAMメモリとの間に連結され 、それにより、システムバスへおよびシステムバスから、そして、DRAG 5 0の制御下にあるDRAMへおよびDRAMから、データを送信および受信する 。
DSRDとシステムデータバスとの間の全てのデータフローは、バス幅に整合し ていると考えられる。システムパストランザクションがこれらの整合された境界 を交差する時、プロセッサおよびキャシコ制御器は、トランザクションを複数の 作動に分割し、各々の部分に対するアドレスフェーズを発生させる。したがって 、これらの誤配置されたトランザクションはバーストであり得ない。
メモリ制御器は、メモリ構成に依存して、所定のメモリ境界上のメモリにデータ を記憶する。本実施態様において、メモリ一致は、幅128ビットである。4. 8、または16バイトのバーストトランザクションは、16バイトの境界上で一 致すると考えられる。この場合、メモリ境界は、幅128ビットのデータである 。記憶境界に誤配置されたバーストトランザクションは、バーストの最初のサイ クル中に、DSRDと主要メモリとの間において、4.8、または12バイトの 転送を含む。更なるメモリが転送されると、メモリアドレスはバースト長内にラ ップされる。最終のデータ転送は、メモリ転送の最初のサイクル中に省略された バンクを含む。誤配置の性質は、シーケンスまたはインテルのような、定義され たバースト順序に依存する。
本発明によると、FEDCユニット30は、2つの独立した書込みおよび読出し チャネルを形成する、2群のFEDCアレイを含む。各チャネルは、幅32ビッ トであり、且つ、メモリ内の1バンクにアクセスし得る。FEDCユニット30 内の2つのチャネルまたはFEDCは、同時に2つのバンクにアクセスし得る。
全ての書込みデータは、2つのチャネルのうちの1つにステアリングする。2つ のチャネルのうちの1つを介したデータバスは、2つのチャネルのパスサイズお よび/またはステータスに依存して、DRAC50からの制御信号により、デー タフェーズ中に選択される。バースト書込み中において、全てのデー夕がDRA Mへの転送を蓄積し得るように、2つのチャネルは、交互に作動し得る。
各FEDCまたはデータチャネルは、通常の書込みトランザクション中に使用す るための、書込みファーストインファーストアウトバッファ(書込みFIFO)  145または147を含む。本発明の利点として、書込みFIFO145また は147もまた、ポストされた書込みトランザクシラン用に用いられる。ボスト された書込みトランザクションにおいては、記憶すべきデータが書込みPIFO 145または147内にポストされる。この機能は、DRAC50内のアドレス /制御バスの、分割された構成により達成される。
各FEDCは更に、反射読出しトランザクシコン中の排他的使用のために、反射 ファーストインファーストアウト部材(反射FIFO) 141iまたは148 を備えている。反射読出しトランザクション中において、主要メモリを更新する ためのフヒーレント読出しおよびコピーバックが同時に起こる。各FIFOは、 異なる長さのデータバーストをサポートするために、32バイトの深さを有し得 る。バスバースト作動は、完全な書込みFIFO深さまでサポートされる。この 構成において、 FEDCユニット30は、上記したようなりRAG 50のア ドレス/制御バスの分割された構成と協働して、ボストされた書込みトランザク ション、および、反射読出しトランザクションを可能にし、Mバスのレベル1お よびレベル2の様々なトランザクションタイプをサポートする。
マルチプロセシング環境におけるオーナーシップ操作のために、書込みを放棄し 、且つ、書込みを読みだしに変換するために、書込みFIFO145および14 7がクリアされ、それにより、次の書込みサイクルの準備をする。DRAG 5 0は、FEDC素子30に特別なコマンドを与えることにより、書込みが抑止さ れた時にFIFO145および147をクリアする。
PIFO145−148には、特定の制御信号もまた記憶される。こレラの信号 は、パリティステータス、バンク書込みステータス、およびバーストの最後のス テータスを含む。書込み中に、これらのステータスピットおよびFIFOステー タス(FIFOエンプティ)は、データフェーズクロックサイクル毎に、FED Cユニット30により、出力バッ7ア162を介してDRAG 50に報告され る。DRAG 50は、このステータス情報を用いることにより、書込みトラン ザクションを完了する。
書込みトランザクション中において、システムバスデータは、適切な書込みFI FOに転送される前に、FEDCユニット30内部のシステムバスバイブライン レジスタ回路136に記憶される。
バイト幅パリティは、レジスタ回路136からFIFOに転送される際に、パリ ティチェツキングロジック140により、データ上で計算される。このことは、 システムバス上を、入力および出力バッファ174を介してFEDCユニット3 0に、データと同時に適用される、バスパリティに対して、選択的にチェックさ れる0パリテイモードを決定するために、バスパリティモード信号(PMD)が システムバスから供給される。パリティの計算は、システムバスバイトイネーブ ルにより認定される。データバスパリティエラーが発生すれば、バスエラー信号 (BERR)がアサートされる。
FIFO145−147または146−148および出力レジスタ回路193か らのデータ、およびメモリチェックピットを初期化するために用いられた全ての ゼロは、DRAG 50の制御下で多重化されるデータ多重化回路156または 157に送られる。選択されたデータ信号は、エラー修正回路により使用される 、7つの更なるビットを発生させる、書込み多項式発生回路(WPG)164ま たは166に送られる。各FEDCまたはチャネルが32ビット幅のデータを処 理するように配置されていれば、入力および出力バッファ168−169または 170−172を介してチャネルから現れる単一の本発明によると、FEDCユ ニット30は、異なるデータ長を有する様々なデータトランザクションをサポー トし、データトランザクションは、メモリのバンクのデータビット幅よりも狭い バイトトランザクションを含む。更に含まれるものは、メモリ境界以内の複数の ワードトランザクション(1ブロツクのメモリのデータ幅よりも狭いサブバース トトランザクション)、1ブロツクのメモリのデータビット幅と同一の複数のワ ードトランザクション、および1ブロツクのメモリのデータビ、ト幅を超える複 数のワードトランザクションである。
制御信号バッファ175からのバイトイネーブル信号は各々、レジスタ149− 152に送信される。これらのイネーブル信号は、その後、バイト(単数または 複数)の選択のために、多重化回路156および157に送信される。
1ブロツクのメモリ中のバンクのデータ幅よりも狭い幅を有する書込み中に、D RAG 50は、読出し一修正一書込みサイクルを実行する。データはまず入力 および出力バッファ168または170を介してメモリのバンクから読出され、 バイブラインレジスタ回路179または180を介してバイブライン転送される 。
その後、読出しデータは、エラー検出および修正回路(EDC) 185または 188を介して、データ出力レジスタ回路193または194に送信される。E DC185または188は、読出し一修正一・書込みサイクル中に、読出しデー タのエラーを検出および修正する。
記憶すべきデータバスは、書込みまたは反射FIFO中でバッファされ、データ 多重化回路156または157内のバイト選択信号の制御下においてレジスタ回 路193または194からの古い読出しデータと結合される。その後、結合され た書込みデータは、新しいチェックピットを発生させる、書込み多項式発生回路 (WPG)164に送信される。修正された単一のワードは、最終的にDRAG  50からの適切な制御信号の制御下においてメモリに書込まれる。読出しデー タにおいてエラーが発生する毎に、検出されたエラー情報は、読出しログFIF O(ログFIFO> 200または201内に保存される。エラー情報は、いず れのビットが欠陥を有するかを決定するために用いられ得る。
(以下余白) データサブバーストの書き込みの間に、データはFEDCユニット30内へ通さ れ、そこで、WPG 164又1tl 66がそのデータにチェックビットを追 加する。メモリ内に1つのブロックが生成されるが、余分な長いワードの全てが 書き込まれる訳ではない。オリジナルのサブバーストにおけるワードに対する書 き込みストローブ及びデータ出力イネーブルのみがアサートされる。CASが、 選択されたブロック全体に対してアサートされる。初期の書き込み周期を用いて 、選択されたブロックの適切な部分へデータが書き込まれる。更新されない(書 き込みがアサートされない)主メモリブロックの部分が、ダミー読み出し操作を 受ける。このダミーデータは破棄される。
ブロックデータビット幅に等しい長さのバーストに対して、データワードがデー タバス上を順次パイプラインされ、FEDCユニット30によって脱多重化され る。全ての書き込みストローブがアサートされて、初期の書き込みサイクルと同 時にブロック帯域幅内の全てのビットを更新する。
バースト長がメモリ境界を越えると、アサートされたブロックのRAS [X] がローに維持され、CAS [X]の再アサーシジンが順次起こって多数のメモ リベージを書き込む(つまり、ベージモード型アクセスが起こる)。このトラン ザクションにおいて、アドレスがメモリベージ境界に対して誤配置されることが ある。これが起こると、書き込みPIF0145〜148に同時に現れるデータ が同じメモリベージへ行かないこともあり得る。FEDCユニット3oから発出 される書き込みストローブが各バンクに対応付けられる。内部DRAG50から 生じる制御信号によって、書き込みストローブ及びFIFO状態が選択的にイネ ーブルとされ、書き込みFIFOが選択的にアンクロックされる(uncloc ked)。これが、長いバーストの中心部をメモリデータ境界へ実質的に再配置 する。最終メモリベージの書き込みストローブ、FIFO状態及びFIFOアン クロックが同様に選択的にイネーブルとされ、誤配置データの残りの主メモリへ の格納を終了する。FIFO空き状態がバースト書き込みの途中で起こると、D RAC50が、より多くのFIFOデータを待って、主メモリへのバーストを終 了する。DRAC50はバースト最終指示を受け取ると、アドレスフェーズの間 に5IZEビツトによって指定されたバースト長に関わらず、現在の周期が終了 するとすぐにトランザクションが終了される。
バーストの途中でシステムバスデータパリティエラーが発生すると、パリティエ ラーよりも前のバースト転送部分からノ書き込みPIF0146〜148内部の 全てのデータが主メモリに格納される。パリティエラーを含むデータは、ブロッ ク基準で無視される。言い換えると、ブロック内の1つ又はそれ以上のバイトが パリティエラーを含むときは常に、ブロック幅を有するワード全体が破棄される 。パリティエラーを含むワードを破棄した後でも、FIFO145〜158は、 破棄されたブロック以降に発生したバーストトランザクションの部分からの有効 データを含むこともある。この残りのデータは、うまく記憶されている。割り込 みが発生され、適当な状態ビ、7トセノトが(データパリティエラー割り込みが イネーブルされたとする)、パリティエラーが書き込みFIFo145〜148 を通して伝播したことを示す。このエラーは、BERRアサーションの間にすで に予め生じているであろう。
読み出し操作の間、アクセスされたブロックの全てのビットが同時に読み出され る。全てのビットがデータパイプラインレジスタ回路179及び18oの中へ並 列的にストローブされる。2つのチャネル中のデータは、エラー検出及び補正の ためにEDC185及び188を通って同時に流れ、さセにデータアウトレジス タ回路193及び194へ流れる。各チャネル中の補正された又は未補正のデー タは、各マルチプレクサ195及び196によって選択される。その後、適切な データがデータアウトマルチプレクサ回路206によって選択され、入力及び出 力バッファ130を介してシステムバスに供給される。データが入力及び出力バ ッファ174を通つTFEDC−Lニット30から出る際に、バイト幅のパリテ ィがパリティ発生回路176によってデータに追加される。
通常の条件下では、データは、補正を必要とせず、データアウトマルチプレクサ 206を介してシステムバスへ与えられる。データが補正を必要とする場合、バ ースト中の全ての残りのデータと共にシステムバス確認が1クロック周期分だけ 遅延される。バースト内の多数のワードが、単一のピットエラーを含む場合でも 、正しくないデータはシステムバスには到達しない。
主メモリデータ境界を越える読み出しデータバーストの誤配置は、書き込み時と 同様に完全にサポートされる。そのように誤配置されたトランザクションは、完 全なメモリブロック読み出しから始まる。そのブロックの有理数のみがデータバ ス上に送られる。メモリアクセスは、1つ又はそれ以上の付加的な完全なブロッ クがシステムバスにわたって転送されるまで継続する。バーストの最終アクセス は、1つ又はそれ以上の未転送データバンクが残っている当初のブロックへ戻る 。バーストライン長が主メモリの帯域幅を越える場合、DRAG50は選択され たブロックのRAS [X] を維持し、CAS [X]を再アサートして、次 のブロックを読み出す(ベージモード型アクセスが発生する)。
エラーがシステムアクセス又はスクラビング中に発生すると、検出されたエラー 情報が、読み出しエラー記録FIFO200及び201に保存される。エラー情 報はどのビットが欠陥であるかを決定するために用いられることができる。エラ ー記録FIFO200及び201はバスに対して規定される最も長いバースト転 送の結果を格納するように設計される。
エラー記録FIFO200及び201は、規定された最も長いバスバーストにお ける連続エラーによっていっばいになり得る。これが起こると、その後のエラー は記録されない。エラー記録FIFO200及び201は単一バーストからのエ ラーを捕らえるためにのみ用いられる。次のバーストの前に、それらはホストプ ロセッサによってクリアされるべきである。
状態マルチプレクサ160は、書き込み及び反射型読み出しFIFOからの状態 ビット及びエラー検出回路186からの状態ビットを多重化するために設けられ ている。多重化された信号は出力バファ162を介してDRAG50へ送られる 。
図5は、EDC回路185又は188の一例を示す。EDC185又は188は 、読み出しデータを捕らえてチェックビットを生成するために用いられる読み出 し多項式発生器(RPG)220を備えている。シンドローム発生器222は、 主メモリ及びRPG220からのチェックピットを比較する。
2つのチェックピットが同じであれば、データ中にエラーは発生【7ていない。
比較の結果が2つのチェック信号の差を示す場合は、エラー検出器224がシン ドロームをデコードしてエラーのタイプを識別する。適切なエラー状態ビットが DRAG50へ報告される。同様に、割り込みがプロセッサへ発生される。同時 に、エラー位置検出器226はシンドローム発生器から信号を受け取り、エラー 検出器226からのデコードされた信号に応答してエラーのビット位置を識別す る32ビy)ワードを生成する。エラー補正器228では、これらのデコードさ れた32ピy)が、EDCを通過しない32ピツトデータと排他的論理和されて 、欠陥ビット位置を反転する。エラーが起こると、シンドローム発生器からのエ ラー情報が、エラー記録FIFO200又は201へ送られる。
本発明によれば、FEDCユニット3oは、集積回1(IC)とすることができ る。広いバス帯域幅及びさらに狭い帯域幅を有するシステムバスをサポートする ために、多数のICが並列に配置されてFEDC装置又はDSRDを形成するこ とが可能である。
FEDCユニット30内の2つのチャネルの特定の構成は、本発明の原理を示す ための一例に過ぎないことはもちろんである。FEDCユニット30は、単一チ ャネル又は多チャネルに構成することも可能である。さらに、FEDCユニット 30の各チャネルも以下に論じるように、異なるデータビット処理能力を有する こともある。
5、FEDCユニットの組み合わせ 本発明の重要な特徴の1つは、メモリ制御装置のDSRDが、異なるバスサイズ 及びプロセッサシステムを効率的にサポートし、メモリソースを効率的に利用す るように容易にセットアツプされ得る複数のFEDCユニット30又はデータチ ャネルを備えていることである。これは、2つ又はそれ以上のFEDCユニット 30のチップを組み合わせてFEDC装置を形成することによって達成される。
アドレスフェーズの間に、DRAC50は、アドレス/制御情報を解釈し、デー タフェーズの各周期の間に各FEDCユニット30の内部で適切なチャネル及び FIFOを選択する。チャネル選択は、バーストの長さ、バースト順序及びシス テムバスサイズに依存する。書き込みトランザクションがデータバーストである 場合、各FEDCユニット3o内のチャネルは交互にクロックされる。つまり、 各FEDCユニット30内部の一方のチャネルがデータフェーズの第1の周期上 で選択され、他方のチャネルがデータフェーズの次の周期上で選択される。この プロセスは、128個のデータビットシステムバスからのデータを脱多重化し、 格納し続ける。このデータは、その後、DRAM50へ転送される。INH信反 射型FIFOヘルートされる。
システムバス読み出しトランザクションの間、4×32ビツトのデータ及び4× 7チエツクビソト(全部で156ビツト)が、DRAM50から並列に読み出さ れる。各チャネルは、32ビツトのデータを処理する。
図6A及び図6Bは、32ビツト又は64ビツトのシステムバスを効率的にサポ ー トすることができるFEDC装置31の一例を示す。FEDC装置31は、 2つのFEDCユニット32及び33を備えている。各ユニットは、2つのFE DCチャネル34〜35及び36〜37を有している。各チャネルは、32ビツ トデータを処理することが可能であり、主メモリlOの選択されたブロック12 における1つのバンクにアクセスすることができる。FEDC装置31から主メ モリのブロック1〜4への接続の一例が示されている。
書き込み及び読み出しバーストカウンタ114及び116からのアドレス信号の 一部が、FEDCユニット及びチャンル番号を識別するために用いられる。その 結果、データが、異なるデータ長を有するデータトランザクシ冒ン内の適切な1 つのバンク又は複数のバンクをアクセスすることができる。
D RA G 50 ハ、適切なFEDC!二y)及び適切なFEDCチャネル を選択するために選択信号を供給する。アドレス信号中の下位ビットA [3:  O]及び32ビツトシステムバス及び64ビツトシステムバスに対するそれら の識別機能がそれぞれ、表28及び表29に挙げられている。
ム25 kZ’1 32ビツト及び64ビツトのシステムバスに対して、A2=0はFEDCユニッ ト32を識別し、A2=1はFEDCユニット33を識別する。A3−0はチャ ネル34及び36を識別し、A3=1はチャネル35及び37を識別する。32 ビフトバスシステムにおいて、32ビツト又はそれ以上のシステムバストランザ クシ嘗ンの間、A[1:Olが無視されて全てのバイトがイネーブルとされるこ とができる。64ビプトバスシステムにおいて、64又はそれ以上のシステムバ ストランザクラインの間、A [2: Olが無視されて全てのバイトがイネー ブルとされることができる。
図60は、4つのFEDCユニット39〜42を備えており、128ビツトシス テムバスをサポートするFEDC装置38を示している。各FEDCユニットは 32ビツトのデータを処理することができる。A[3:Olの識別機能は表30 に挙げられている。
この実施例において、A2及びA3の組み合わせは、FEDCユニット39〜4 2のうち1つを選択するために用いられている。A3−0及びA2=0はFED Cユニ・ノド39を識別する。A3=0及びA2=1はFEDCユニット40を 識別する。A3冨1及びA2=0はFEDC’、Lニット41を識別する。A3 =1及びA2=1はFEDCユニット42を識別する。128ビツト又はそれ以 上のシステムパストランザクラインの間、A [3: Olが無視されて全ての バイトがイネーブルとされる。
図6D及び図6Eは、2つのFEDCユニット44及び45を備えており64ピ ツト又は128ビツトのシステムバス又はそれよりも小さいシステムバスをサポ ・−卜するFEDC装置43の他の実施例を示している。この実施例において、 各FEDCユニット44又は45は、64ビプトデータを処理することができる 1つのFEDC又は1つのFEDCチャネルのみを備えている。A3=OはFE DCユニット44を識別し、A3=1はFEDCユニット45を識別する。図6 Dに示されるような64ビツトシステムに対して、64ビ・ノド又はそれ以上の システムトランザクションの間、A[2:0コが無視されて、全てのバイトがイ ネーブルとされる。図6Eに示されるような128ビ、トシステムバスに対して 、128ビツト又はそれ以上のシステムトランザクションの間、A [3: O lが無視されて、全てのバイトがイネーブルとされる。
6、多重処理サポート DRAM制御装置は多重処理環境のための完全なサポートを有している。読み出 し操作は、スヌーピングキャッシュが要求するキャッシュヘデータを供給する場 合に、’INHのアサーションによって抑止される。TRC入力がアサートされ ると、これらの読み出しが反射的であると考えられ、バス上を転送されるデータ が反射型書き込みFIFOによって捕らえられる。人力されるBACK信号がD RAC50によって用いられて、FEDCのためにFEDSを生成して、データ を反射型書き込みFIFOヘストロープする。データがDRAMへ書き込まれる まで、BR倍信号DRAM制御装置によってアサートされる。この信号は、以降 の読み出しを禁止するために用いられることができる(反射型書き込みFIFO が空になるまで反射型であり得る)。この禁止は2つの方法のうち一方によって 発生することができる。転送が完了するまでBR倍信号、多重処理パスアービト シーシタン論理の最高優先順位の要求に他のホストをオフとさせることが可能で あるか、或いはスス−ピングキャッシュがバス転送(例えば、自身のデータスト ローブ)の速度を落とす機構を有することもあるかいずれかである。
書き込み周期の間、INH信号は書き込みをオーナーシップに対する読み出しに 変えることによって書き込みを打ち切るために用いられ得る。スヌービングキャ ッシュが要求されたライン上のヒツトを報告しない場合、システムは、TRCを アサートして、DRAMは打ち切られた書き込みを読み出しに変換する。
DRAM制御装置のアーキテクチャは、多重処理システムにおける全てのプロセ ッサが主メモリに記憶されるキヤ・/シュラモノ上の状態と同じであることを必 要とする。プロセッサAからの操作を通る書き込み(キヤ・1シユ不可能)から 得られるデータを、スヌービングプロセッサBのキャッシュからの修正されたラ イン(キャッシュ可能)に併合するための準備はされない。
転送がうまく抑止されるべきであれば、データがメモリへ/から転送される前に INH及びTRCがDRAM制御装置へ到着する。メモリ転送を制御するデータ ストローブの位置は、DRAMタイミングの残りと共にプログラムされることが できる。或いは、転送はSNW入力(スヌーブウインドウ)を延長することによ って配置されることができる。スヌーブウインドウを必要としないシステムはS NW信号を永久に非アサートとする。
7、DRACとFEDC装置との間の協同データトランザクションの間、DRA C50、及び特にDRAC50の状態及びタイミング制御論理72が、FEDC 30への多くの制御信号を発生する。これらの制御信号は、以下のパラグラフで 論じられる。
トランザクションのアドレスフェーズの間、メモリ動作の認識の後で、DRAC 50は、コマンドを解釈して、制御情報をFEDC30へ送る。データフェーズ の間、これらの制御信号はDRAC50によって更新され、FEDC30がDR AC50への状態信号に応答し、さらに、DRAC50はシステムバスにわたっ て複合確認信号に応答する。
例えば、DRAC50によって発生される制御信号は、FIFOトランザクシ冒 ンストンストローブ信号DS)、動作中の参与のために1つ又はそれ以上のFE DCを選択するFEDCアドレス又はチップ選択信号(F E CS)、及びF EDCユニット又は■10パスにおける2つのFEDCのうち一方を選択するた めのFEDCアドレス信号(FEA)を含んでいる。付加的な信号は、FEDC )ランザクシラン型信号(FET)、FEDCバイトイネーブル信号(FEBE )、及びDRAM周期型信号(FEDRT)を含んでいる。最終的に、DRAC 50は、長いバーストストローブイネーブル信号(FESTEN)、FEDC読 み出しストローブ信号(FESTRB)、及びI10データイネーブル信号(I ODTA)を発生する。
FEDSは、FEDCのFIFO3への全てのトランザクションの間、データス トローブとして働く。
FEDSは、個々のFEDCユニットを選択しイネーブルとするために用いられ る。それは、データトランザクションにおける参与のために1つ又はそれ以上の FEDCを選択する。
FEAは、特定のバストランザクションを規定するためにFETと共に用いられ る。メモリアクセスの間、FEAが各FEDCユニット内のFEDCを選択する 。メモリ書き込み上で、FEAは適当な1つのチャネル又は複数のチャネルを、 データ長及びバスサイズに応じて選択する。メモリ読み出し上で、FEAはシス テムバス上へ正しいデータワードをイネーブルとする。
例えば、長いバーストの書き込みの間、FEAは各FEDCユニット内の1つの チャネルを選択してメモリ境界上のバーストデータを蓄積する。さらに、FEA は各ユニットにおける他方のチャネルを選択してその後のバーストデータを蓄積 する。各FEDCユニットにおけるチャネルは、バーストデータがメモリ内に効 率的に格納され得るように、交互に配されている。
FETはFEAと共に、トランザクションの性質を指定する。例えば、DRAM 読み出し/書き込み動作の間、FETは、読み出しデータ、書き込みデータ、反 射型書き込み、クリア書き込みのFIFOを含み得るバストランザクシコンタイ プを規定する。システムバスI10動作の間、FETピットはDRAC50から FEDC30へのI10データバスを制御するために用いられる。これらのピッ トはまた、DRAG50におけるI10レジスタの読み出し及びFEDC30に おけるシンドローム及びチェックピットの読み出しを、FEDC30におけるM パスポートレジスタの読み出しと共に制御する。
FEBEビットはトランザクションサイズのバージョンとして解釈される。FE BEビットは、多くのFEDC中に分布し、5IZEにおいて、及びトランザク ションの長さと共に、個々のバスバイトイネーブルを反射する。これらの信号は 、5IZEビツトと同一となるようにデコードされる。
FEDCTは、書き込みEDCチェックビット、EDCを有する書き込み、IN IT DRAM及びチェックピット、EDCを有する反射型書き込み、読み出し 未補正バス読み出し補正バス読み出しシンドロームFIFOを含む適切なメモリ 周期を識別するために用いられる。
FESTENビットは、128ビツト境界と交差するメモリバースト転送をサポ ートするために用いられる。この信号1:!、FESTRBに資格を与え、32 ビツト基準でメモリによって返送される状態ピットを有効とするために用いられ る。
FESTRBは、メモリ読み出し動作の間は読み出しデータストローブとして、 及びメモリ書き込み動作の間はFIFOアンクロック信号として働く。それは、 FEDC読み出しデータバイブラインレジスタ177〜180にデータを格納す るために用いられる。書き込みの間、この信号はDRAC50によってアサート されて、適切な書き込みFIFOからの次のデータをアクセスする。
l0DTAビツトは、FEDC30とレジスタ内部DRAC50との間でデータ を運ぶ。それらは、I10100間のみ用いられる。メモリ動作の間は、それら は禁止とされる。
FEDCXニット30はまた、DRA(:5Qへ送り返される信号(FEST) を発生して、それ又はトランザクションの状態を知らせる。各FEDCユニット 30はある特定のピノ)をDRAC50へ与える。全てのFEDCユニットが、 DRAG入力で接続されるそれぞれのFEST信号を有する。
一実施例において、状態情報は、補正され得ないデータエラー(UNC)、2つ のピットデータエラー(DBIT)、信号ピットデータエラー(SBIT)、シ ンドロームFIFOエンプティ(EFE)、及びシンドロームFIFOフル(E FF)を有している。付加的な信号は、早まって終了されたバーストにおける最 後の転送である現在のFIFOデータ(BLST)、データパリティエラー(D PE)、現在エンプティであるデータFIFOチャネルO(DFEO)、現在エ ンプティであるデータFIFOチャネル1 (DFEI)、現在エンプティであ る反射型データFIFOチャネル0 (RFEO)、エンプティである反射型デ ータFIFOチャネル1(RFEI)を有している。これらの信号は異なるメモ リ周期に対応付けられる。
8、リフレッシュ動作 リフレッシュ要求は、システム中のDRAMチップの密度及び組織によって異な る。I、かじながら、行は、同一時間間隔で(およそ16μsごとに)リフレッ シュされなくてはならない(この場合、読み出し動作の後スクラビングが行われ る)。リフレッシュ要求は、DRAG50のリフレッシュ回路83の一部である 2つの縦続接続されたカウンタ(タイマ)によって発生される。プログラム可能 な7ビツトカウンタがCLKを分割して、IMHzのクロック信号を生成する。
このクロックはさらに4ビツトの15を法とするカウンタによって分割され、1 5usecごとにリフレッシュ要求を発生する。これらのリフレッシュ要求はり フレシュ要求83におけるリフレッシュ状態制御回路によってメモリ要求に同期 してアービトレートされる。システムバス要求はりフレシュ要求にわたって優先 順位を受け取るが、リフレッシュは他のバス要求が発生し得る前に挿入される。
リフレッシュ/初期化アドレスカウンタは、DRAC5077) +77 L/ ッシュ回i83の一部であり、アドレスソースマルチプレクサ121へ接続され る。このカウンタはリフレッシュ要求毎に1行分だけ進められる。列アドレスは リフレッシュアドレスの最上位から二番目の位置を形成する。全ての行がリフレ ッシュされ、同一の列アドレスでスクラブされた後、列カウントは進んで、全て の行が、次の列アドレスでリフレッシュされる。行及び列アドレスカウンタはそ れぞれ12ビツト長のスパニング16Mビットである。
所定ブロックの全ての4つのバンクは、特定のアドレスで同時にスクラブされる 。FEDC50内の4つのエラー補正チャネルが並列に用いられる。4つのDR AMブロックのうち1つがスクラブされている間、他の3つのブロックは通常リ フレッシュを受けている。2ビツトスクラブブロツクカウンタは、次のブロック がスクラブされ得るように特定ブロックの全ての行及び列がリフレッシュされた 後に進む。スクラビングの間にエラーが検出されると、補正アドレスかりフレッ シュアドレスカウンタからエラー位置しジスタヘコビーされる。読み出し動作の 間、データは常にシステムバス要求正される(EDCがイネーブルである場合) 。エラーが発生すると、補正されたデータはメモリアレイへは書き込まれない。
データはスクラビング周期の間にのみDRAM内部で補正される。リフレッシュ 周期(つまり、エラーチェックのための読み出し)の間にエラーが発生すると、 スクラブ周期(つまり、エラーを補正するための読み出し修正書き込み)に変え られる。
メモリの各ブロックが異なるサイズのDRAM構成要素で占められているが、所 定ブロック内の全てのバンクは同一サイズ装置でなくてはならない。簡単のため 、リフレッシュアドレスカウンタは各ブロックを最大容量(16Mビット)のD RAMSであるかのように処理する。より小さいメモリをリフレッシュする場合 、同一アドレス位置が、カウンタが次のロケーションに対して進む前に複数回ス クラブされる。スクラブ繰り返しカウントは以下のように示される。
R=202″旧 ここで、Rはこの式における繰り返しカウントであり、Mはより小さいメモリサ イズの平方根のlog2である。
本発明の好ましい実施例が示され説明されたが、本発明の精神及び範囲を越えず に多くの修正例が可能であることが当業者には明かである。例えば、メモリは異 なる数のブロックヲ有するように構成されることもできる。メモリシステム又は 原理はMバスのかわりにシステムバスと共に用いられることもできる。FEDC 30は異なる数のチャネルを用いて構成されることが可能であり、チャネルデー タ幅もまたシステム要求に応じて変えることができる。
7゛b7りO・・・・・・・ 丁O,/りJFIG、6A 7℃へ〆り0・・・・・・・ フ’(1−117JFIG、6B 7”Cl−1lり0・・・・・・・ アt3、vQ J丁0++1 qO・・・ ・・・・ 7t−/りJFIG、6E フロントページの続き (81)指定回 EP(AT、BE、CH,DE。
DK、ES、FR,GB、GR,IE、IT、LU、MC,NL、SE)、0A (BF、BJ、CF、CG、CI、 CM、 GA、 GN、 ML、 MR, SN、 TD、 TG)、 AT、 AU、 BB、 BG、 BR,CA、  CH,DE。
DK、 ES、 FI、 GB、 HU、JP、 KP、 KR,LK、 LU 、 MG、 MW、 NL、 No、 R○、RU、SD、 5E (72)発明者 ネメック、ジョン ジエイ。
アメリカ合衆国 カリフォルニア 95051サンタ クララ、ニステラ ドラ イブ

Claims (1)

  1. 【特許請求の範囲】 1.システムバスに結合されているメモリシステムであって、該システムバスは さらに複数のプロセッサに結合されており、該複数のプロセッサのそれぞれが少 なくとも1つのデータキャッシュに対応付けられており、該メモリシステムは、 該データを格納するためのメモリ手段、該システムバスからアドレス及び制御信 号を受け取り、該メモリ手段から該システムバスへ及び該システムバスから該メ モリ手段への該データの転送を制御するための制御手段であって、書き込みアド レス信号から読み出しアドレス信号を分離するためのアドレス分離手段、及び読 み出し制御信号から書き込み制御信号を分離するための書き込み制御信号分離手 段を備えている制御手段、並びに 該システムバスと該メモリ手段との間に結合され、該制御手段の制御下で、該シ ステムバスから該メモリ手段へ、及び該メモリ手段から該システムバスへ該デー タを送信及び受信するための送信及び受信手段を備えており、該送信及び受信手 段は、キャッシュパージ動作の間に該システムバスから受け取ったデータを一時 的に格納するための少なくとも1つの書き込み先入れ先出し(FIFO)バッフ ァ手段であって、該書き込みFIFOバッファ手段に予め格納されている該デー タの損失を伴わずに任意の時点で該データキャッシュが該メモリ手段からデータ を得ることを許すための書き込みFIFOバッファ手段を備えており、該プロセ ッサと該メモリ手段との間の該データ転送の効率が向上されるメモリシステム。 2.前記アドレス分離手段が、第1の書き込みトランザクションアドレス信号の ための第1の書き込みアドレスバス、及び第2の書き込みトランザクションアド レス信号を保持するための書き込みアドレスレジスタ手段を有する第2の書き込 みアドレスバスをさらに備えており、前記書き込み制御分離手段が、第1の書き 込み制御信号のための第1の書き込み制御バス、及び第2の書き込みトランザク ション制御信号を保持するための書き込み制御レジスタ手段を有する第2の書き 込み制御パスをさらに備えている請求項1に記載のメモリシステム。 3.前記2つの書き込みアドレスバスのうち一方からの書き込みアドレス信号を 選択するための第1の多重化手段、及び前記2つの書き込み制御バスのうち一方 からの書き込み制御信号を選択するための第2の多重化手段をさらに備えている 請求項2に記載のメモリシステム。 4.前記書き込みFIFOバッファ手段が、全てのMバス書き込みトランザクシ ョンを含めて、通常の書き込みデータをバッファするためにさらに用いられる請 求項1に記載のメモリシステム。 5.前記送信及び受信手段が、前記システムバス上のデータを捕らえるための少 なくとも1つの先入れ先出し(FIFO)手段をさらに備えており、該捕らえら れたデータは前記プロセッサの1つに対応する前記データキャッシュのうち1つ からデータを要求しているプロセッサに対応する該データキャッシュの他の1つ に転送されるので、該捕らえられたデータは該捕らえるFIFO手段及び該デー タ要求プロセッサの該データキャッシュに同時に格納される請求項1に記載のメ モリシステム。 6.前記制御手段が、システムバスサイズを含むシステム情報及びメモリ構造情 報を格納するための制御レジスタ手段をさらに備えている請求項1又は5に記載 のメモリシステム。 7.前記書き込みアドレスと前記読み出しアドレスとを比較して前記メモリ手段 へのアクセス優先順位を決定るすためのアドレス比較手段をさらに備えている請 求項5に記載のメモリシステム。 8.システムバスに結合されているメモリシステムであって、データを格納する ためのメモリ手段、 該システムバスからのアドレス及び制御信号を受け取るための制御手段であって 、該制御手段は該メモリ手段への及び該メモリ手段からの該データの転送を制御 し、該制御手段は、該アドレス信号を転送するためのアドレスバス手段及び該制 御信号を転送するための制御バス手段を備えており、該アドレスバス手段が読み 出しアドレスバス及び書き込みアドレスバスをさらに備えており、該書き込みア ドレスバスが第1の書き込みアドレスバス及び第2の書き込みアドレスバスをさ らに備えており、該制御バス手段が読み出し制御バス及び書き込み制御バスをさ らに備えており、該書き込み制御バスが第1の書き込み制御バス及び第2の書き 込み制御バスをさらに備えている制御手段、並びに 該システムバスから該メモリ手段へ、及び該メモリ手段から該システムバスヘの 該データの送信及び受信を行うための手段であって、該受信及び送信手段が該第 1又は第2の書き込みアドレスバスのうち一方によって供給されるアドレスを有 する該システムバスから受信された該データを一時的に格納するための少なくと も1つの書き込み先入れ先出し(FIFO)手段を備えている受信及び送信手段 を備えているメモリシステム。 9.前記アドレスバス手段が、前記第2のアドレスバスからの第1の書き込みト ランザクションアドレス信号を保持するために前記第2の書き込みアドレスバス 内に配置される書き込みアドレスレジスタ手段をさらに備えており、前記制御バ ス手段が、前記第2の書き込み制御バスからの第2の制御信号を保持するために 前記第2の書き込み制御バス内に配置される書き込み制御レジスタ手段をさらに 備えている請求項8に記載のメモリシステム。 l0.前記書き込みアドレスバスを通る書き込みアドレスと前記読み出しアドレ スバスを通る読み出しアドレスとを比較して、前記メモリ手段へのアクセス優先 順位を決定するためのアドレス比較手段をさらに備えている請求項8に記載のメ モリシステム。 11.システムバスに結合されているメモリシステムであって、該システムバス はさらに複数のプロセッサに結合されており、該複数のプロセッサのそれぞれが 少なくとも1つのデータキャッシュに対応付けられており、該メモリシステムは 、該データを格納するためのメモリ手段、該システムバスからアドレス及び制御 信号を受け取り、該メモリ手段から該システムバスへ及び該システムバスから該 メモリ手段への該データの転送を制御するための制御手段、並びに 該システムバスと該メモリ手段との間に結合され、該制御手段の制御下で、該シ ステムバスから該メモリ手段へ、及び該メモリ手段から該システムバスへ該デー タを送信及び受信するための送信及び受信手段を備えており、該送信及び受信手 段は、該システムバス上の該データを捕らえるための少なくとも1つの反射型読 み出し先入れ先出し(FIFO)バッファ手段を備えており、該捕らえられたデ ータは該複数のプロセッサの1つに対応する該データキャッシュのうち1つから 該複数のプロセッサのうちデータを要求しているプロセッサに対応する該データ キャッシュの他の1つに転送されるので、該データは該反射型読み出しFIFO 手段及び該データ要求プロセッサに対応する該キャッシュに同時に格納されるメ モリシステム。 12.システムバスに結合されているメモリシステムであって、該システムバス は複数のプロセッサに結合されており、該複数のプロセッサのそれぞれが少なく とも1つのデータキャッシュに対応付けられており、該複数のプロセッサはデー タを処理するためのものであり、該メモリシステムは、該データを格納するため のメモリ手段、該システムバスから該メモリ手段へ、及び該メモリ手段から該シ ステムバスへ該データを送信及び受信するための送信及び受信手段であって、該 送信及び受信手段は、書き込みデータバス及び読み出しデータバスを有している 少なくとも1つのデータチャネル手段を備えており、該データチャネル手段は、 通常の書き込みデータのうち該データ及びキャッシュパージ動作中のキャッシュ パージ書き込みデータをバッファするために該書き込みデータバス上に配置され る書き込み先人れ先出し(FIFO)手段をさらに備えており、該データチャネ ル手段が、該システムバスがコヒーレント読み出し動作を行っている場合に該デ ータを捕らえるために該書き込みデータバス上に配置される反射型先入れ先出し (FIFO)手段をさらに備えており、該送信及び受信手段が、エラーを検出し 読み出し動作中に検出されたエラーを補正するために該読み出しデータバス上に 配置されるエラー検出及び補正(EDC)手段をさらに備えている送信及び受信 手段、並びに該メモリ手段並びに該送信及び受信手段へ制御信号を供給するため の制御手段を備えているメモリシステム。 13.前記EDC手段が、ワードよりも短いデータ長を有する書き込み中の読み 出しデータエラーを検出して補正するためにさらに用いられており、該補正され たデータが前記書き込みデータバスへ送出されて該書き込みデータバイトと組み 合わせられる請求項12に記載のメモリシステム。 14.前記メモリ手段が、ダイナミックランダムアクセスメモリ(DRAM)で ある請求項12に記載のメモリシステム。 15.システムバスに結合されるメモリシステムであって、データを格納するた めのメモリ手段であって、該メモリ手段が少なくとも1つのブロックを備えてお り、該ブロックが複数のバンクを備えており、該複数のバンクのそれぞれは同時 にアクセスされることが可能であり、該複数のバンクのそれぞれは同一の所定の 帯域幅を有しているメモリ手段、該システムバスから該メモリ手段へ、及び該メ モリ手段から該システムバスヘデータを送信及び受信するための送信及び受信手 段であって、該受信及び送信手段が、該メモリの該少なくとも1つのブロックに おける該複数のバンクのうち少なくとも1つにアクセスすることができるデータ チャネルをそれぞれ供給するための複数のデータチャネル手段を備えており、該 データチャネル手段のそれぞれが、該メモリ手段に格納されるべき該データをバ ッファするためのバッファ手段をさらに備えており、該データチャネル手段が該 システムバスへ読み出しデータを正しく転送するための読み出し手段をさらに備 えている送信及び受信手段、並びに該システムバス手段からアドレス及び制御信 号を受け取るための制御手段であって、該制御手段が、該メモリ手段から該シス テムバス手段へ及び該システムバス手段から該メモリ手段への該データの転送を 制御し、該制御手段が、バスサイズ情報をプログラムするためのバスサイズプロ グラム手段を備えており、該制御手段が、該バスサイズプログラム手段において プログラムきれた該システムバスのバスサイズに応じて、及び転送されるデータ のサイズに応じてメモリ動作中の該データチャネル手段の少なくとも1つを選択 するための手段をさらに備えている制御手段を備えているメモリシステム。 16.前記バッファ手段が、通常書き込みデータ及びキンャッシュバージ動作中 のキャッシュパージ書き込みデータのうちの書き込みデータをバッファするため の書き込みFIFO手段をさらに備えており、該バッファ手段が、コヒーレント 読み出し動作中のデータを捕らえるための反射型FIFO手段をさらに備えてい る請求項15に記載のメモリシステム。 17.前記読み出し手段が読み出し動作中にエラーを検出して該検出されたデー タを補正するためのエラー検出及び補正(EDC)手段を備えている請求項15 に記載のメモリシステム。 18.前記EDC手段がワードよりも短いデータ長を有する書き込み動作中の読 み出しデータエラーを検出して補正するためにも用いられ、該補正されたデータ が前記書き込みデータバスへ送出されて、該書き込みバイトと組み合わされる請 求項17に記載のメモリシステム。 19.前記メモリ手段中の前記バンクのそれぞれが32ピットデータ幅である請 求項15に記載のメモリシステム。 20.前記データチャネル手段のそれぞれが、前記メモリ手段内の前記複数のバ ンクの1つをアクセスすることができる32ピットデータ幅を有している請求項 15に記載のメモリシステム。 21.前記データチャネル手段のそれぞれが、前記メモリ手段内の前記複数のバ ンクの少なくとも1つをアクセスすることができる64ピットデータ幅を有する 請求項15に記載のメモリシステム。 22.前記複数のデータチャネル手段のうち2つが単一ユニットへ組み合わせら れ、モノリシック集積回路に構成される請求項23に記載のメモリシステム。 23.前記送信及び受信手段が、前記メモリシステムがサポートするように設計 されている該システムバスの最大バスサイズに応じて該ユニットの少なくとも2 つをさらに備えている請求項22に記載のメモリシステム。 24.前記制御手段が、前記システムバスの前記バスサイズ及び転送されるべき データサイズに応じてメモリ動作において前記ユニットのうち1つ又はそれ以上 を選択するための手段をさらに備えている請求項23に記載のメモリシステム。 25.前記制御手段が、前記メモリ手段内の前記ブロックの多数をプログラムし 、該メモリ手段内の補正ブロックを選択する手段をさらに備えている請求項15 に記載のメモリシステム。 26.前記制御手段が、前記データチャネル手段のデータ幅をプログラムするた めの手段をさらに備えている請求項15に記載のメモリシステム。 27.前記制御手段が、システムバスクロック周波数から得られる逓倍メモリク ロック周波数を供給し、前記メモリシステムのタイミング分解能を向上させるた めの周波数逓倍手段をさらに備えており、該制御手段が、前記システムバスの前 記システムバスクロック周波数に応じて該周波数逓倍手段へ周波数逓倍係数を供 給するための手段をさらに備えている請求項15に記載のメモリシステム。 28.前記メモリ手段が、ダイナミックランダムアクセスメモリ(DRAM)で ある請求項15に記載のメモリシステム。 29.前記システムバスがMバスであり、該Mバスが複数のプロセッサをサポー トすることが可能であり、該複数のプロセッサのそれぞれが少なくとも1つのデ ータキャッシュに付随する請求項15に記載のメモリシステム。 30.前記メモリ手段が、複数のブロックを備えており、該複数のブロックのそ れぞれが異なるDRAMタイプで構成されており、該DRAMタイプは異なるサ イズを有しており、該ブロックのうち1つのブロック内の前記複数のバンクの全 てが同一のDRAMタイプで構成されている請求項15に記載のメモリシステム 。 31.前記メモリ手段における前記複数のバンクのそれぞれが複数のバリティチ ェックピットも有している請求項19に記載のメモリシステム。 32.前記周波数逓倍手段がフェーズロックされたループ(PLL)乗算器であ る請求項27に記載のメモリシステム。 33.前記システムバスが32、64、又は128ピットデータ幅システムバス のうちいずれかである請求項15に記載のメモリシステム。 34.前記制御手段が、向上されたタイミング分解能によって前記メモリ手段に 対するタイミング制御信号を格納するためのプログラムレジスタ手段をさらに備 えている請求項15に記載のメモリシステム。 35.前記書き込みFIFO手段及び前記反射型FIFO手段が16データワー ドに適応し、長いバーストデータ転送をサポートするように構成されている請求 項16に記載のメモリシステム。 36.システムバスに結合されているメモリシステムであって、 データを格納するためのメモリ手段、 該システムバスと該メモリ手段との間での該データの転送を制御するための制御 手段であって、該制御手段は、該システムバスのバスクロック周波数及び該バス クロック周波数の周波数逓倍係数に関する情報を格納するためのプログラムレジ スタ手段と、 該逓倍係数に応答して高いメモリクロック周波数を供給して異なるバス速度をサ ポートし、該メモリ手段のタイミング分解能を向上させるためのメモリ周波数逓 倍手段とを備えている制御手段を備えているメモリシステム。 37.前記制御手段が、前記メモリ手段のためのタイミング制御信号をプログラ ムするためのタイミングプログラム手段をさらに備えている請求項36に記載の メモリシステム。 38.システムバスに結合されているメモリシステムであって、 複数のブロックを有しており、データを格納するためのメモリ手段、 該メモリ手段へのアクセスを制御するための制御手段であって、該制御手段は、 該メモリ手段の該複数のブロックの数に関する情報を格納するためのコマンドプ ログラム手段と、メモリマップ全体において該メモリ手段の該ブロックの位置を プログラムするための位置プログラム手段と、マスクビットをプログラムして、 該位置プログラム手段においてプログラムされた該位置の特定のピットをマスク することを可能とするマスクプログラム手段と、入力アドレスを該位置プログラ ム手段における該メモリ手段の該プログラムされた位置と比較して、該メモリ手 段の該ブロックの1つを選択することを可能とする比較手段とを備えている制御 手段を備えているメモリシステム。 39.前記複数のブロックのそれぞれが、同一タイプのメモリ素子によって形成 される複数のバンクを備えており、該複数のバンクのそれぞれが、同一の所定の 帯域幅を有しているので、前記メモリ手段が異なるバスサイズをサポートするこ とができる請求項38に記載のメモリシステム。 40.前記複数のバンクのそれぞれの前記所定の帯域幅が、複数のデータピット 及び複数のバリティチェックピットを有している請求項39に記載のメモリシス テム。 41.前記制御手段が、前記システムバスのバスサイズに応じて適切なバンクを 選択するための手段をさらに備えている請求項38に記載のメモリシステム。 42.前記メモリ手段の前記複数のブロックが異なるメモリサイズからなる異な るメモリタイプを備えている請求項38に記載のメモリシステム。 43.前記メモリ手段がダイナミックランダムアクセスメモリ(DRAM)であ る請求項38に記載のメモリシステム。 44.システムバスに結合されているメモリシステムであって、 データを格納するためのメモリ手段であって、該メモリ手段が少なくとも1つの ブロックを備えており、該少なくとも1つのブロックが、複数のバンクをさらに 備えており、該複数のバンクのそれぞれが異なるバスサイズ及び異なるデータト ランザクションサイズをサポートするための同一の所定の帯域幅を有しているメ モリ手段、 該メモリ手段と該システムバスとの間のデータフローを制御するための制御手段 であって、該制御手段が該少なくとも1つのブロックのうち適切な1つを選択す るための手段とバスサイズ情報をプログラムするための手段並びに該シスデムバ スの該バスサイズ及び転送されるデータサイズに応じて該複数のバンクのうち少 なくとも1つを選択するための手段をさらに備えている制御手段を備えているメ モリシステム。 45.異なるシステムバス速度をサポートするための手段及び前記メモリ手段の タイミング分解能を向上するための手段をさらに備えている請求項44に記載の メモリ制御装置。 46.前記サポートするための手段が入力されるバスクロック周波数に基づいて 周波数逓倍のための逓倍係数をプログラムするための手段をさらに備えている請 求項45に記載のメモリシステム。 47.向上されたタイミング分解能において前記メモリ手段の制御信号のタイミ ングをプログラムするためのタイミング信号プログラム手段をさらに備えている 請求項44に記載のメモリシステム。 48.システムバスに結合されているメモリシステムであって、 データを格納するためのメモリ手段であって、該メモリ手段が少なくとも1つの ブロックを備えており、該少なくとも1つのブロックが複数のバンクをさらに備 えているメモリ手段、 該システムバスから該メモリ手段へ、及び該メモリ手段から該システムバスヘの 該データを送信及び受信するための送信及び受信手段であって、該送信及び受信 手段がデータチャネルをそれぞれ供給するための複数のデータチャネル手段を備 えており、該データチャネル手段が該メモリ手段の該複数のバンクのうち少なく とも1つにアクセスするためのものであり、該データチャネル手段のそれぞれが 、該メモリ手段に格納されるべき該データをバッファするためのデータバッファ 手段と該メモリ手段から該システムバスヘの該データを転送するための読み出し 手段をさらに備えている送信及び受信手段、並びに 該システムバスからアドレス及び制御信号を受け取り、該メモリ手段から該シス テムバスへ及び該システムバスから該メモリ手段への該データの転送を制御する ための制御手段であって、該制御手段が異なるデータ長のデータトランザクショ ンをサポートするために適切なチャネルを選択するための手段を備えている制御 手段を備えているメモリシステム。 49.前記複数のデータチャネル手段が、各データバッファ手段にデータを蓄積 しデータ転送の効率を向上させるために長いバースト書き込みの間に交互に動作 する請求項48に記載のメモリシステム。
JP50447793A 1991-08-16 1992-08-14 高性能ダイナミックメモリシステム Expired - Lifetime JP3599334B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74720291A 1991-08-16 1991-08-16
PCT/US1992/006862 WO1993004432A2 (en) 1991-08-16 1992-08-14 High-performance dynamic memory system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003030118A Division JP2003263361A (ja) 1991-08-16 2003-02-06 高性能ダイナミックメモリシステム

Publications (2)

Publication Number Publication Date
JPH06504155A true JPH06504155A (ja) 1994-05-12
JP3599334B2 JP3599334B2 (ja) 2004-12-08

Family

ID=25004090

Family Applications (3)

Application Number Title Priority Date Filing Date
JP50447793A Expired - Lifetime JP3599334B2 (ja) 1991-08-16 1992-08-14 高性能ダイナミックメモリシステム
JP2003030118A Pending JP2003263361A (ja) 1991-08-16 2003-02-06 高性能ダイナミックメモリシステム
JP2005133730A Pending JP2005228359A (ja) 1991-08-16 2005-04-28 高性能ダイナミックメモリシステム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2003030118A Pending JP2003263361A (ja) 1991-08-16 2003-02-06 高性能ダイナミックメモリシステム
JP2005133730A Pending JP2005228359A (ja) 1991-08-16 2005-04-28 高性能ダイナミックメモリシステム

Country Status (7)

Country Link
US (3) US5469558A (ja)
EP (1) EP0553338B1 (ja)
JP (3) JP3599334B2 (ja)
AT (1) ATE185631T1 (ja)
AU (1) AU2476192A (ja)
DE (1) DE69230134T2 (ja)
WO (1) WO1993004432A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155144A (ja) * 2004-11-29 2006-06-15 Sony Ericsson Mobilecommunications Japan Inc 不揮発性メモリのデータ保存方法、コンピュータプログラムおよび携帯端末
JP2007004834A (ja) * 2006-10-10 2007-01-11 Fujitsu Ltd マルチプロセッサ装置及びそのメモリアクセス方法

Families Citing this family (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993004432A2 (en) * 1991-08-16 1993-03-04 Multichip Technology High-performance dynamic memory system
US5745791A (en) * 1992-09-16 1998-04-28 Intel Corporation System for interfacing first and second components having different data path width by generating first and second component address to read data into buffer
US6147696A (en) * 1993-06-24 2000-11-14 Nintendo Co. Ltd. Electronic entertainment and communication system
US5959596A (en) 1993-06-24 1999-09-28 Nintendo Co., Ltd. Airline-based video game and communications system
US6762733B2 (en) * 1993-06-24 2004-07-13 Nintendo Co. Ltd. Electronic entertainment and communication system
KR100229260B1 (ko) * 1993-09-17 1999-11-01 사와무라 시코 디램 제어회로
US5453957A (en) * 1993-09-17 1995-09-26 Cypress Semiconductor Corp. Memory architecture for burst mode access
US5621896A (en) * 1994-06-01 1997-04-15 Motorola, Inc. Data processor with unified store queue permitting hit under miss memory accesses
US5634112A (en) * 1994-10-14 1997-05-27 Compaq Computer Corporation Memory controller having precharge prediction based on processor and PCI bus cycles
US5634073A (en) * 1994-10-14 1997-05-27 Compaq Computer Corporation System having a plurality of posting queues associated with different types of write operations for selectively checking one queue based upon type of read operation
US5623608A (en) * 1994-11-14 1997-04-22 International Business Machines Corporation Method and apparatus for adaptive circular predictive buffer management
DE4445801C2 (de) * 1994-12-21 2003-12-04 Siemens Ag Schaltungsanordnung zur Ansteuerung von dynamischen Speichern durch einen Mikroprozessor
US5608877A (en) * 1995-03-24 1997-03-04 Cirrus Logic, Inc. Reset based computer bus identification method and circuit resilient to power transience
US5751295A (en) * 1995-04-27 1998-05-12 Control Systems, Inc. Graphics accelerator chip and method
US6295585B1 (en) * 1995-06-07 2001-09-25 Compaq Computer Corporation High-performance communication method and apparatus for write-only networks
US5748920A (en) * 1995-06-23 1998-05-05 Cirrus Logic, Inc. Transaction queue in a graphics controller chip
JP3782840B2 (ja) * 1995-07-14 2006-06-07 株式会社ルネサステクノロジ 外部記憶装置およびそのメモリアクセス制御方法
US5835970A (en) * 1995-12-21 1998-11-10 Cypress Semiconductor Corp. Burst address generator having two modes of operation employing a linear/nonlinear counter using decoded addresses
US5915265A (en) * 1995-12-22 1999-06-22 Intel Corporation Method and apparatus for dynamically allocating and resizing the dedicated memory in a shared memory buffer architecture system
US5706471A (en) * 1995-12-28 1998-01-06 Intel Corporation I-O register lock for PCI bus
US5797043A (en) * 1996-03-13 1998-08-18 Diamond Multimedia Systems, Inc. System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs
US5822553A (en) * 1996-03-13 1998-10-13 Diamond Multimedia Systems, Inc. Multiple parallel digital data stream channel controller architecture
JPH11501141A (ja) * 1996-03-15 1999-01-26 サン・マイクロシステムズ・インコーポレーテッド 分割トランザクション・スヌーピング・バスおよび調停方法
JP3519205B2 (ja) * 1996-03-21 2004-04-12 シャープ株式会社 Dmaコントローラ
DE69718846T2 (de) * 1996-06-06 2003-06-18 Motorola, Inc. Verfahren zum Speicherzugriff
FR2749682B1 (fr) * 1996-06-10 1998-07-10 Bull Sa Circuit pour transborder des donnees entre memoires distantes et calculateur comprenant un tel circuit
JPH1078934A (ja) * 1996-07-01 1998-03-24 Sun Microsyst Inc パケット切替えコンピュータ・システムのマルチサイズ・バス結合システム
US5784705A (en) * 1996-07-15 1998-07-21 Mosys, Incorporated Method and structure for performing pipeline burst accesses in a semiconductor memory
US5848251A (en) * 1996-08-06 1998-12-08 Compaq Computer Corporation Secondary channel for command information for fibre channel system interface bus
US6567903B1 (en) * 1996-08-23 2003-05-20 Emc Corporation Data storage system having master/slave addressable memories
US6347365B1 (en) 1996-08-23 2002-02-12 Emc Corporation Data storage system having a[n] memory responsive to clock pulses produced on a bus and clock pulses produced by an internal clock
JP3671992B2 (ja) * 1996-10-28 2005-07-13 ソニー株式会社 映像信号受信装置および映像信号受信方法
US5911149A (en) * 1996-11-01 1999-06-08 Nec Electronics Inc. Apparatus and method for implementing a programmable shared memory with dual bus architecture
FR2755523B1 (fr) * 1996-11-05 1998-12-04 Bull Sa Circuit electrique pour echanger des donnees entre un microprocesseur et une memoire et calculateur comprenant un tel circuit
JP3863252B2 (ja) * 1996-11-15 2006-12-27 富士通株式会社 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法
US6167486A (en) 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
US5996042A (en) * 1996-12-16 1999-11-30 Intel Corporation Scalable, high bandwidth multicard memory system utilizing a single memory controller
US5732027A (en) * 1996-12-30 1998-03-24 Cypress Semiconductor Corporation Memory having selectable output strength
US5963965A (en) * 1997-02-18 1999-10-05 Semio Corporation Text processing and retrieval system and method
JP3602293B2 (ja) * 1997-04-22 2004-12-15 株式会社ソニー・コンピュータエンタテインメント データ転送方法及び装置
JP3541623B2 (ja) * 1997-06-27 2004-07-14 松下電器産業株式会社 データ処理装置
JPH1124989A (ja) * 1997-07-07 1999-01-29 Nec Corp 語長可変メモリアクセス方式
US5915126A (en) * 1997-08-12 1999-06-22 International Business Machines Corporation Computer system memory controller and method of burst data ordering translation
EP0859318B1 (en) * 1997-09-13 1999-07-14 Hewlett-Packard Company Optimized memory organization in a multi-channel computer architecture
US6449281B1 (en) * 1997-09-30 2002-09-10 Intel Corporation Interface control of communication between a control processor and a digital signal processor
US6401167B1 (en) 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
WO1999019805A1 (en) 1997-10-10 1999-04-22 Rambus Incorporated Method and apparatus for two step memory write operations
US6029253A (en) * 1997-10-30 2000-02-22 Micron Electronics, Inc. Method for synchronizing data with a bi-directional buffer
US6018810A (en) * 1997-12-12 2000-01-25 Compaq Computer Corporation Fault-tolerant interconnection means in a computer system
US6076183A (en) * 1997-12-18 2000-06-13 Bull, S.A. Method of memory error correction by scrubbing
US6138214A (en) * 1997-12-19 2000-10-24 Siemens Aktiengesellschaft Synchronous dynamic random access memory architecture for sequential burst mode
US6622224B1 (en) * 1997-12-29 2003-09-16 Micron Technology, Inc. Internal buffered bus for a drum
GB9802096D0 (en) 1998-01-30 1998-03-25 Sgs Thomson Microelectronics Shared memory access
US6096091A (en) * 1998-02-24 2000-08-01 Advanced Micro Devices, Inc. Dynamically reconfigurable logic networks interconnected by fall-through FIFOs for flexible pipeline processing in a system-on-a-chip
US6301629B1 (en) * 1998-03-03 2001-10-09 Alliance Semiconductor Corporation High speed/low speed interface with prediction cache
JPH11272606A (ja) * 1998-03-19 1999-10-08 Fujitsu Ltd バス制御装置
US6195770B1 (en) * 1998-03-31 2001-02-27 Emc Corporation Data storage system
US6157989A (en) * 1998-06-03 2000-12-05 Motorola, Inc. Dynamic bus arbitration priority and task switching based on shared memory fullness in a multi-processor system
US6178467B1 (en) * 1998-07-07 2001-01-23 International Business Machines Corporation Microprocessor system requests burstable access to noncacheable memory areas and transfers noncacheable address on a bus at burst mode
US6535519B1 (en) * 1998-08-28 2003-03-18 Lsi Logic Corporation Method and apparatus for data sharing between two different blocks in an integrated circuit
US6434649B1 (en) * 1998-10-14 2002-08-13 Hitachi, Ltd. Data streamer
US6233632B1 (en) * 1999-01-07 2001-05-15 Vlsi Technology, Inc. Optimizing peripheral component interconnect transactions in a mixed 32/64-bit environment by eliminating unnecessary data transfers
JP2000260181A (ja) * 1999-03-08 2000-09-22 Toshiba Corp 同期型半導体記憶装置
US6385687B2 (en) * 1999-05-14 2002-05-07 Micron Technology, Inc. Method and apparatus for simultaneously accessing the tag and data arrays of a memory device
US6560725B1 (en) * 1999-06-18 2003-05-06 Madrone Solutions, Inc. Method for apparatus for tracking errors in a memory system
US6631442B1 (en) 1999-06-29 2003-10-07 Emc Corp Methods and apparatus for interfacing to a data storage system
NO312926B1 (no) * 1999-07-20 2002-07-15 Ericsson Telefon Ab L M Kommunikasjon over multimaster buss
US6393512B1 (en) * 1999-09-27 2002-05-21 Ati International Srl Circuit and method for detecting bank conflicts in accessing adjacent banks
US6393534B1 (en) * 1999-09-27 2002-05-21 Ati International Srl Scheduler for avoiding bank conflicts in issuing concurrent requests to main memory
US6708254B2 (en) 1999-11-10 2004-03-16 Nec Electronics America, Inc. Parallel access virtual channel memory system
US6560675B1 (en) * 1999-12-30 2003-05-06 Unisys Corporation Method for controlling concurrent cache replace and return across an asynchronous interface
US6845472B2 (en) * 2000-01-25 2005-01-18 Hewlett-Packard Development Company, L.P. Memory sub-system error cleansing
US6400642B1 (en) 2000-03-24 2002-06-04 Cypress Semiconductor Corp. Memory architecture
US6240031B1 (en) 2000-03-24 2001-05-29 Cypress Semiconductor Corp. Memory architecture
US6584584B1 (en) 2000-04-10 2003-06-24 Opentv, Inc. Method and apparatus for detecting errors in a First-In-First-Out buffer
US6694417B1 (en) 2000-04-10 2004-02-17 International Business Machines Corporation Write pipeline and method of data transfer that sequentially accumulate a plurality of data granules for transfer in association with a single address
US6571310B1 (en) 2000-04-20 2003-05-27 International Business Machines Corporation Method and apparatus for managing a heterogeneous data storage system
JP3457628B2 (ja) * 2000-05-19 2003-10-20 Necエレクトロニクス株式会社 Cpuシステムおよび周辺lsi
US6738942B1 (en) * 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
US6684314B1 (en) * 2000-07-14 2004-01-27 Agilent Technologies, Inc. Memory controller with programmable address configuration
US6884171B2 (en) * 2000-09-18 2005-04-26 Nintendo Co., Ltd. Video game distribution network
US6892279B2 (en) * 2000-11-30 2005-05-10 Mosaid Technologies Incorporated Method and apparatus for accelerating retrieval of data from a memory system with cache by reducing latency
US6587920B2 (en) * 2000-11-30 2003-07-01 Mosaid Technologies Incorporated Method and apparatus for reducing latency in a memory system
US6895498B2 (en) * 2001-05-04 2005-05-17 Ip-First, Llc Apparatus and method for target address replacement in speculative branch target address cache
US6799293B2 (en) * 2001-06-19 2004-09-28 Adaptec, Inc. Sparse byte enable indicator for high speed memory access arbitration method and apparatus
US6556495B2 (en) 2001-07-09 2003-04-29 International Business Machines Corporation 2-D FIFO memory having full-width read/write capability
US6683816B2 (en) * 2001-10-05 2004-01-27 Hewlett-Packard Development Company, L.P. Access control system for multi-banked DRAM memory
US7051264B2 (en) * 2001-11-14 2006-05-23 Monolithic System Technology, Inc. Error correcting memory and method of operating same
US6766385B2 (en) 2002-01-07 2004-07-20 Intel Corporation Device and method for maximizing performance on a memory interface with a variable number of channels
US6807608B2 (en) 2002-02-15 2004-10-19 International Business Machines Corporation Multiprocessor environment supporting variable-sized coherency transactions
US7421693B1 (en) 2002-04-04 2008-09-02 Applied Micro Circuits Corporation Logic for synchronizing multiple tasks at multiple locations in an instruction stream
US7437535B1 (en) 2002-04-04 2008-10-14 Applied Micro Circuits Corporation Method and apparatus for issuing a command to store an instruction and load resultant data in a microcontroller
US6978330B1 (en) * 2002-04-04 2005-12-20 Applied Micro Circuits Corporation Shared resource access via declarations that contain a sequence number of a packet
US6938132B1 (en) * 2002-04-04 2005-08-30 Applied Micro Circuits Corporation Memory co-processor for a multi-tasking system
US7376950B2 (en) * 2002-05-08 2008-05-20 Intel Corporation Signal aggregation
EP1504350A1 (en) * 2002-05-16 2005-02-09 Nokia Corporation Method, device and memory controller for adapting data transfer bus
ITRM20020281A1 (it) * 2002-05-20 2003-11-20 Micron Technology Inc Metodo ed apparecchiatura per accesso rapido di memorie.
US7117292B2 (en) * 2002-10-11 2006-10-03 Broadcom Corporation Apparatus and method to switch a FIFO between strobe sources
US7155579B1 (en) * 2002-12-27 2006-12-26 Unisys Corporation Memory controller having programmable initialization sequence
US20040128464A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Memory reclamation
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
US7174476B2 (en) * 2003-04-28 2007-02-06 Lsi Logic Corporation Methods and structure for improved fault tolerance during initialization of a RAID logical unit
US8447900B1 (en) 2003-06-12 2013-05-21 Marvell International Ltd. Adaptive multiple FIFO scheme
US7543291B2 (en) * 2003-08-01 2009-06-02 Hewlett-Packard Development Company, L.P. Processor purging system and method
US20050091467A1 (en) * 2003-10-22 2005-04-28 Robotham Robert E. Method and apparatus for accessing data segments having arbitrary alignment with the memory structure in which they are stored
US9087036B1 (en) 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
WO2005081257A1 (ja) * 2004-02-20 2005-09-01 Spansion Llc 半導体記憶装置および半導体記憶装置の制御方法
US7082075B2 (en) * 2004-03-18 2006-07-25 Micron Technology, Inc. Memory device and method having banks of different sizes
CN100337226C (zh) * 2004-04-08 2007-09-12 华为技术有限公司 一种多通道数据缓冲设计方法与装置
US8200879B1 (en) * 2004-06-29 2012-06-12 National Semiconductor Corporation Memory interface including an efficient variable-width bus
US7888962B1 (en) 2004-07-07 2011-02-15 Cypress Semiconductor Corporation Impedance matching circuit
JP4813485B2 (ja) * 2004-08-17 2011-11-09 シリコン ハイブ ビー・ヴィー バーストリードライト動作による処理装置
US7392456B2 (en) * 2004-11-23 2008-06-24 Mosys, Inc. Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
US7421522B1 (en) * 2004-12-01 2008-09-02 Altera Corporation Techniques for transmitting and receiving SPI4.2 status signals using a hard intellectual property block
US20060150047A1 (en) * 2004-12-30 2006-07-06 Wolfgang Nikutta Apparatus and method for generating a high-frequency signal
US7480781B2 (en) * 2004-12-30 2009-01-20 Intel Corporation Apparatus and method to merge and align data from distributed memory controllers
JP4643334B2 (ja) * 2005-03-31 2011-03-02 富士通セミコンダクター株式会社 半導体記憶装置
US7426672B2 (en) * 2005-04-28 2008-09-16 International Business Machines Corporation Method for implementing processor bus speculative data completion
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
JP4831599B2 (ja) 2005-06-28 2011-12-07 ルネサスエレクトロニクス株式会社 処理装置
US20070022244A1 (en) * 2005-07-25 2007-01-25 Honeywell International Inc. Methods and systems for refresh and error scrubbing of dynamic memory devices
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
US8036846B1 (en) 2005-10-20 2011-10-11 Cypress Semiconductor Corporation Variable impedance sense architecture and method
US7797467B2 (en) * 2005-11-01 2010-09-14 Lsi Corporation Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features
JP4887824B2 (ja) * 2006-02-16 2012-02-29 富士通セミコンダクター株式会社 メモリシステム
KR100888597B1 (ko) 2006-09-20 2009-03-16 삼성전자주식회사 메모리 인터페이스 제어 장치 및 제어 방법
US7876133B1 (en) 2006-09-27 2011-01-25 Cypress Semiconductor Corporation Output buffer circuit
US20090276556A1 (en) * 2006-10-04 2009-11-05 Mediatek Inc. Memory controller and method for writing a data packet to or reading a data packet from a memory
US20080086577A1 (en) * 2006-10-04 2008-04-10 Mediatek Inc. Digital Television System, Memory Controller, and Method for Data Access
US8868397B2 (en) * 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
US20080162857A1 (en) * 2006-12-29 2008-07-03 Jong Hoon Oh Memory device with multiple configurations
US20080168331A1 (en) * 2007-01-05 2008-07-10 Thomas Vogelsang Memory including error correction code circuit
US9495290B2 (en) * 2007-06-25 2016-11-15 Sonics, Inc. Various methods and apparatus to support outstanding requests to multiple targets while maintaining transaction ordering
US8438320B2 (en) * 2007-06-25 2013-05-07 Sonics, Inc. Various methods and apparatus for address tiling and channel interleaving throughout the integrated system
WO2009133428A1 (en) * 2008-04-29 2009-11-05 Freescale Semiconductor, Inc. Multiplexing and demultiplexing data
WO2010037117A1 (en) 2008-09-29 2010-04-01 Nirvanix, Inc. Client application program interface for network-attached storage system
US20100325519A1 (en) * 2009-06-17 2010-12-23 Microsoft Corporation CRC For Error Correction
US8972995B2 (en) 2010-08-06 2015-03-03 Sonics, Inc. Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads
US8560927B1 (en) 2010-08-26 2013-10-15 Altera Corporation Memory error detection circuitry
JP5581969B2 (ja) * 2010-10-27 2014-09-03 ソニー株式会社 復号装置および方法、並びにプログラム
JP2012221038A (ja) * 2011-04-05 2012-11-12 Toshiba Corp メモリシステム
US9141438B2 (en) 2011-06-30 2015-09-22 Net Navigation Systems, Llc Logic for synchronizing multiple tasks
US10359949B2 (en) * 2011-10-31 2019-07-23 Apple Inc. Systems and methods for obtaining and using nonvolatile memory health information
US8984203B2 (en) * 2012-10-09 2015-03-17 Sandisk Technologies Inc. Memory access control module and associated methods
US9733855B1 (en) * 2013-01-04 2017-08-15 Altera Corporation System and methods for adjusting memory command placement
US9417685B2 (en) * 2013-01-07 2016-08-16 Micron Technology, Inc. Power management
EP2972837B1 (en) * 2013-03-13 2018-10-10 Veriscape, Inc. Dynamic memory management for a virtual supercomputer
US9361973B2 (en) * 2013-10-28 2016-06-07 Cypress Semiconductor Corporation Multi-channel, multi-bank memory with wide data input/output
US9778982B2 (en) 2013-12-09 2017-10-03 Hewlett Packard Enterprise Development Lp Memory erasure information in cache lines
US9489255B2 (en) * 2015-02-12 2016-11-08 International Business Machines Corporation Dynamic array masking
JP6600146B2 (ja) * 2015-03-27 2019-10-30 ルネサスエレクトロニクス株式会社 データ処理回路及びエラー訂正方法
US10921874B2 (en) 2017-03-06 2021-02-16 Facebook Technologies, Llc Hardware-based operating point controller for circuit regions in an integrated circuit
US11231769B2 (en) 2017-03-06 2022-01-25 Facebook Technologies, Llc Sequencer-based protocol adapter
WO2022058768A1 (en) * 2020-09-21 2022-03-24 Micron Technology, Inc Memory apparatus and method for operating the same
CN113220607B (zh) * 2021-05-26 2023-05-12 浙江赛思电子科技有限公司 一种基于fifo的数据处理方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4954951A (en) * 1970-12-28 1990-09-04 Hyatt Gilbert P System and method for increasing memory performance
US4195340A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. First in first out activity queue for a cache store
US4245307A (en) * 1979-09-14 1981-01-13 Formation, Inc. Controller for data processing system
JPS56140459A (en) * 1980-04-04 1981-11-02 Hitachi Ltd Data processing system
US4476527A (en) * 1981-12-10 1984-10-09 Data General Corporation Synchronous data bus with automatically variable data rate
US4494190A (en) * 1982-05-12 1985-01-15 Honeywell Information Systems Inc. FIFO buffer to cache memory
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
US4751671A (en) * 1983-02-14 1988-06-14 Prime Computer, Inc. Size configurable data storage system
US4675808A (en) * 1983-08-08 1987-06-23 American Telephone And Telegraph Company At&T Bell Laboratories Multiplexed-address interface for addressing memories of various sizes
US4633434A (en) * 1984-04-02 1986-12-30 Sperry Corporation High performance storage unit
KR900007564B1 (ko) * 1984-06-26 1990-10-15 모토로라 인코포레이티드 동적 버스를 갖는 데이터 처리기
US4683534A (en) * 1985-06-17 1987-07-28 Motorola, Inc. Method and apparatus for interfacing buses of different sizes
US5056041A (en) * 1986-12-31 1991-10-08 Texas Instruments Incorporated Data processing apparatus with improved bit masking capability
US4814980A (en) * 1986-04-01 1989-03-21 California Institute Of Technology Concurrent hypercube system with improved message passing
US4853846A (en) * 1986-07-29 1989-08-01 Intel Corporation Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors
US4935894A (en) * 1987-08-31 1990-06-19 Motorola, Inc. Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information
US5097437A (en) * 1988-07-17 1992-03-17 Larson Ronald J Controller with clocking device controlling first and second state machine controller which generate different control signals for different set of devices
US5079063A (en) * 1988-12-23 1992-01-07 Monsanto Company Solution-spun antiflea fibers
US5115503A (en) * 1989-01-12 1992-05-19 Dell U.S.A. Corporation System for adapting its clock frequency to that of an associated bus only when it requires usage thereof
US5079693A (en) * 1989-02-28 1992-01-07 Integrated Device Technology, Inc. Bidirectional FIFO buffer having reread and rewrite means
US5131083A (en) * 1989-04-05 1992-07-14 Intel Corporation Method of transferring burst data in a microprocessor
US5077686A (en) * 1990-01-31 1991-12-31 Stardent Computer Clock generator for a computer system
US5208838A (en) * 1990-03-30 1993-05-04 National Semiconductor Corporation Clock signal multiplier
US5333294A (en) * 1990-10-09 1994-07-26 Compaq Computer Corporation Configurable data width direct memory access device with a read address counter and a write address counter which increments the addresses based on the desired data transfer width
WO1993004432A2 (en) * 1991-08-16 1993-03-04 Multichip Technology High-performance dynamic memory system
US5256994A (en) * 1992-09-21 1993-10-26 Intel Corporation Programmable secondary clock generator

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155144A (ja) * 2004-11-29 2006-06-15 Sony Ericsson Mobilecommunications Japan Inc 不揮発性メモリのデータ保存方法、コンピュータプログラムおよび携帯端末
JP4565981B2 (ja) * 2004-11-29 2010-10-20 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 不揮発性メモリのデータ保存方法、コンピュータプログラムおよび携帯端末
JP2007004834A (ja) * 2006-10-10 2007-01-11 Fujitsu Ltd マルチプロセッサ装置及びそのメモリアクセス方法
JP4644647B2 (ja) * 2006-10-10 2011-03-02 富士通株式会社 情報処理装置及び情報処理装置の制御方法

Also Published As

Publication number Publication date
JP2005228359A (ja) 2005-08-25
JP2003263361A (ja) 2003-09-19
EP0553338A4 (ja) 1994-08-03
WO1993004432A2 (en) 1993-03-04
US5469558A (en) 1995-11-21
EP0553338A1 (en) 1993-08-04
DE69230134T2 (de) 2000-06-29
AU2476192A (en) 1993-03-16
JP3599334B2 (ja) 2004-12-08
US5768560A (en) 1998-06-16
ATE185631T1 (de) 1999-10-15
EP0553338B1 (en) 1999-10-13
US5781918A (en) 1998-07-14
WO1993004432A3 (en) 1993-04-15
DE69230134D1 (de) 1999-11-18

Similar Documents

Publication Publication Date Title
JPH06504155A (ja) 高性能ダイナミックメモリシステム
US7844771B2 (en) System, method and storage medium for a memory subsystem command interface
JP6029923B2 (ja) Nand型フラッシュメモリの読み込み方法及び装置
CA1322611C (en) Memory control unit
US8296541B2 (en) Memory subsystem with positional read data latency
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US9552175B2 (en) System and method for providing a command buffer in a memory system
US7451273B2 (en) System, method and storage medium for providing data caching and data compression in a memory subsystem
JP4737438B2 (ja) 複数の処理ユニットでリソースを共有する情報処理装置
US7287103B2 (en) Method and apparatus for generating a mask value and command for extreme data rate memories utilizing error correction codes
US7543114B2 (en) System and controller with reduced bus utilization time
US20140237176A1 (en) System and method for unlocking additional functions of a module
JPH032943A (ja) 記憶システム
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
US20110296124A1 (en) Partitioning memory for access by multiple requesters
CN114902197B (zh) 非易失性双列直插式存储器模块的命令重放
US5812803A (en) Method and apparatus for controlling data transfers between a bus and a memory device using a multi-chip memory controller
US5627991A (en) Cache memory having a multiplexor assembly for ordering output on a data chunk basis
US8732433B2 (en) Apparatuses and methods for providing data from multiple memories
JP4824180B2 (ja) 半導体記憶装置
US20070073927A1 (en) Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040225

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040318

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040914

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070924

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070924

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110924

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term