JP3255908B2 - メモリー制御ユニット - Google Patents

メモリー制御ユニット

Info

Publication number
JP3255908B2
JP3255908B2 JP50800089A JP50800089A JP3255908B2 JP 3255908 B2 JP3255908 B2 JP 3255908B2 JP 50800089 A JP50800089 A JP 50800089A JP 50800089 A JP50800089 A JP 50800089A JP 3255908 B2 JP3255908 B2 JP 3255908B2
Authority
JP
Japan
Prior art keywords
address
write
read
memory
bus
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.)
Expired - Lifetime
Application number
JP50800089A
Other languages
English (en)
Other versions
JPH04501326A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22794950&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP3255908(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by エルジー・セミコン・カンパニー・リミテッド filed Critical エルジー・セミコン・カンパニー・リミテッド
Publication of JPH04501326A publication Critical patent/JPH04501326A/ja
Application granted granted Critical
Publication of JP3255908B2 publication Critical patent/JP3255908B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison

Description

【発明の詳細な説明】 技術分野 本発明は情報処理システムに関し、特にシステム・メ
モリーを高速度の非インターロック・システム・バスへ
接続するためのメモリー制御ユニットに関する。
背景技術 オペランド及び命令の如き情報ユニットを記憶するた
めの中央システム・メモリーを使用する情報処理システ
ムにおいては、重要な問題はシステム・メモリーを中央
システム・バスに接続することである。所要のシステム
・バスの帯域幅を確保して維持するためには、システム
・メモリーに対してアクセスするデータの読出し/書込
み動作が迅速に生じることが重要である。また、1つ以
上のシステム・バス装置またはバス接続を使用する如き
システムの場合は、読出し/書込み動作が正しい順序で
行われるように、ある格納場所を目標とする実質的に同
時の多くの読出し/書込みアクセスが生じることが重要
である。即ち、別のバス接続が或る格納場所に書込みを
要求する間に1つのバス接続が同じ場所の読出しを要求
するならば、これら2つの動作の順位付けは、データの
読み出しがデータのその時の状態を反映するようにしな
ければならない。
上記の両方の考察と関連するのは、ハードウエアある
いはソフトウエアの記憶装置のエラーの結果生じるエラ
ーを惹起することなく、要求するバス接続にデータを与
えるという重要な目標である。この観点から、単一のビ
ット・エラーを有効に補正しシステム・メモリー内に記
憶されたデータ・ワードに生じる多数ビット・エラーを
検出するエラー補正および検出シンドローム・ビットを
記憶する別の記憶装置を提供することが公知である。ま
た、ダイナミック・ランダム・アクセス・メモリー(DR
AM)を用いるシステム・メモリーの場合に、所要のメモ
リー復元サイクルの間エラーを検出して補正するエラー
の「嗅ぎ出し(sniffing)」および「洗い出し(scrubb
ing)」手法を提供することも公知である。
しかし、エラーの検出および補正手法は、その実施に
若干の時間を要することが判る。システム・メモリーの
読出し中、この余分な時間はメモリー・アクセスに費や
されるのが一般であり、長いアクセス・サイクルおよび
その結果のシステム・バスの全帯域幅の減縮が結果とし
て生じる。
発明の要約 本発明により構成され作動される情報処理システムに
よれば、上記の問題は克服され他の利点が実現される。
これによれば、メモリー制御ユニットは、このメモリー
制御ユニットを1つ以上の記憶ユニットにインターフェ
ースするための第1のインターフェース装置と、メモリ
ー読出し/書込み要求を含む情報ユニットを表すための
システム・データ・バス、およびシステム・アドレス・
バスを含むシステム・バスにメモリー制御ユニットをイ
ンターフェースするための第2のインターフェース装置
と、システム・バスからの書込み要求に応答して1つ以
上の情報ユニットをメモリー装置内のシステム・アドレ
ス・バスにより指定されるアドレスに記憶する装置とを
含み、この記憶装置は、書込み要求の実行に先立ち、受
取られた書込み要求および関連する書込みアドレスを記
憶するための複数の格納場所を有する書込み要求受取り
およびバッファ装置を有し、また、システム・バスから
の読み出し要求に応答して1つ以上の情報ユニットをメ
モリー装置のシステム・アドレス・バスにより指定され
る場所から読み出す装置を含み、この読出し装置は、読
み出し要求の実行に先立ち、受取った読み出し要求およ
び関連する読出しアドレスを記憶する複数の格納場所を
有する読み出し要求受取りおよびバッファ装置を有す
る。前記メモリー制御ユニットは更に、書込みハッファ
装置と接続された第1の入力と読み出し要求受取り装置
と接続された第2の入力とを有し、受取った読み出しア
ドレスを書込みアドレス・バッファ装置に記憶された書
込みアドレスに比較する装置を含み、この比較装置は、
アサートされる時、記憶された書込みアドレスの1つの
値の予め定めた範囲内の値を有する読み出しアドレスの
受取りの発生を表示するための出力を有する。
本発明の方法によれば、情報ユニットを読み出して書
込む方法が開示され、この方法は、システム・バスから
受取られる時、書込みアドレスを含む書込み要求をバッ
ファ記憶し、システム・バスから受取られる時、読み出
しアドレスを含む読み出し要求をバッファ記憶し、バッ
ファ記憶された書込みアドレスに対して各読出しアドレ
スを受取った時に比較を行い、必要に応じて、受取った
読出しアドレスがバッファ記憶された書込みアドレスの
予め定めた値の範囲内の値を有するかどうかを判定する
ステップを含む。もし受取ったアドレスがバッファ記憶
された書込みアドレスの予め定めたアドレス範囲内にあ
ると判定されなければ、本方法は更に、全てのバッファ
記憶された読出し要求を実行し、全てのバッファ記憶さ
れた書込み要求を実行するステップを含む。受取ったア
ドレスがバッファ記憶された書込みアドレスの予め定め
たアドレス範囲内にあると判定されたならば、本方法は
更に、予め定めたアドレス範囲内にあると判定された受
取った読出し要求を含まないその手前までの全てのバッ
ファ記憶された読出し要求を実行し、全てのバッファ記
憶された書込み要求を実行し、予め定めたアドレス範囲
内にあると判定されたバッファ記憶された読出し要求を
実行するステップを含む。
本発明の上記の特質は、添付図面に関して以下の望ま
しい実施態様の詳細な記述を読めば更に明らかになるで
あろう。
図面の簡単な説明 図1は、本発明の一実施例を含む情報処理システムの
ブロック図、 図2は、MCU22の制御マスター・フローを示すフロー
チャート、 図3a、3bおよび3cは、非インターロック・システム・
バスの作動を示すタイミング図、 図4a乃至4eは、種々のシステムのIPC指令のフォーマ
ットを示し、 図5aは、MCU22を概念的に示すブロック図、 図5bは、メモリー・アレイ26と接続されたMCU22の構
成を示すブロック図、 図6は、MCU22の回路の一部を更に詳細に示すブロッ
ク図、 図7は、MCU22の他の回路を更に詳細に示すブロック
図、 図8は、読出しアドレス照会回路の作動を示すフロー
チャート、および 図9は、読み出しタイプの機能として関連アドレス比
較の一部の作動を示すフローチャートである。
実施例 図1においては、本発明の望ましい実施態様を包含し
た情報処理システム(SYSTEM)10が示される。図示の如
く、SYSTEM10はシステム・バス(SB)12を含み、これは
更にシステム・アドレス・バス(SA)14と、システム・
バス制御バス(SBCB)15と、システム・データ・(SD)
バス16とを含む。SB12は、SYSTEM10の種々の構成素子間
に情報ユニットを運ぶように機能する。情報ユニット
は、アドレス、I/O入力または出力データ、オペラン
ド、命令あるいはSYSTEM10の構成要素間を通る他のタイ
プの情報である。本発明の望ましい実施態様において
は、SB12は、ECL電圧レベルで作動する高速度のインタ
ーロックされないバスである。即ち、バス上の論理信号
は、約−0.9乃至−1.8ボルト間で振動する。
システム・バス12には、複数のシステム・ユニットあ
るいはバス接続が接続され、それらは第1の中央処理装
置(CPU0)18と任意の第2のCPU120とを含む。また、SB
12には、メモリー・バス24を介してMEM0 26、MEM1 28お
よびMEM2 30の如き1つ以上のメモリー・ボードが接続
されたメモリー制御ユニット(MCU)22が接続されてい
る。本発明の望ましい実施態様においては、MCU22は、M
EM7 32の如き8個以下のメモリー・ボードに接続するこ
とができる。各メモリー・ボードは、組み込まれるメモ
リー素子のタイプおよび数量に応じて、例えば400万バ
イト(4MB)から128MBまでの情報を格納することができ
る。SB12はまた、それぞれSBI0〜SBI3(34、36、38、4
0)の如き1つ以上のシステム・バス・インターフェー
ス(SBI)ユニットが接続される。各SBIは更に、それぞ
れSBI0 34およびSBI1 38と接続されたIODB42、43の如き
関連するI/Oデータ・バス(IODB)と接続されている。
各IODBは更に、IOP44〜50及びIOP45〜51の如き15個まで
のインテリジェンスI/Oプロセッサ(IOP)が接続され
る。本発明の望ましい実施態様においては、IODB42、43
はTTLレベルで作動する。即ち、これらのバス上の論理
信号は、約0〜+5.0ボルトの範囲内で変動する。
CPU0 18およびCPU1 20はそれぞれ高速度のキャッシュ
・メモリーを含み、それぞれ更にキャッシュ・データ・
バス(CDB)52および54を介して、演算ユニット(AU0)
56および(AU1)58と接続されている。また、SB12に
は、システム・コンソール(SC)62が接続された支持制
御ユニット(SCU)60が接続されている。支持リンク・
バス(SLB)64は、SC62からSCU60を介してSB12と接続さ
れた種々のユニットに対してアクセスおよび通信を行
う。システム初期化データの如き診断その他の情報は、
一般にSLB64上に与えられる。
一般に、CPU18または20は、物理的アドレスに翻訳さ
れてSAバス14上に送られる仮想メモリー・アドレスを生
成する。アドレスは、メモリー・バス24を介して、メモ
リー・ボード26〜32に記憶される命令およびデータをア
ドレス指定するためMCU22により受取られて解釈され
る。データおよび命令は、SBCB15上に運ばれる情報に従
ってSDバス16上で読み出され書込まれる。更に、SBI34
〜40もまた、メモリー・ボード26〜32からデータを記憶
し検索するためシステム・バス12上にメモリー・アドレ
スおよびデータを転送するように作動可能である。1つ
以上のIOP44〜51が磁気ディスクの如き大容量記憶装置
と接続できる。また、あるIOPは、SYSTEM10からデータ
を入出力するため作動可能なデータ通信装置と接続する
こともできる。IOPはまた、オペレータがデータをシス
テムに入力するオペレータ・ワークステーションに接続
することもできる。
本発明の記述を容易にするため、次にSB12の作動を更
に詳細に延べることにする。
SB12は、64ビットのデータ経路と28ビットのアドレス
経路とを有する同期性の非インターロック・バスであ
る。SB12は、200Mb/秒のピーク相互接続帯域幅を有し、
前述の如く、エミッタ結合ロジック(ECL)ドライバお
よびレシーバからなる。
下記の信号は、システム・バス(SB)12の作動および
プロトコルを記述する。
システム・データ(SDATA(0:63)) システム・デー
タ・バス。バス接続間のすべてのメモリー・データ通信
は、これら64回線を介して送られる。本発明によれば、
以下に説明するCMDフラッグがアサートされる時、これ
らの回線のあるものを用いて、CMDおよびIDと関連して
以下に延べる如き指令−ID情報を伝送する。
データ・パリティ(SDPAR(0:7)) 奇数データ・パレ
ティ。SDATA16の合計8つのデータ・バイド毎に1つの
パリティ・ビット。
システム・アドレス(SA(04:31)) システム・アド
レス・バス。1つのバス接続は、1つのメモリー読出し
あるいは書込みサイクル間に、これら28回線を経てMCU2
2に対して1つのメモリー・アドレスを伝送する。その
後、MCU28は、データがバス上に駆動される1バス・サ
イクル前に読出されたデータのアドレスでこれら回線を
駆動する。SB12と接続された書き戻し(ライトバック)
キャッシュがMCU22が駆動したアドレスを用いてディレ
クトリの比較を行い、バスの介入が要求されるかどうか
を判定し、またキャッシュの再伝送中このアドレス回線
を駆動する。また、システム・アドレス回線は、(以下
に延べる)IPCトランザクションの間、IPCメッセージお
よび他のIPC関連データを送る。
アドレス・パリティ(SAPAR) 奇数アドレス・パリテ
ィ・ビット 指令(コマンド)フラッグ(CMDF) この回線は、バス
接続によりアサートされると、コマンド−ID情報の伝送
のためSDATAバス16がバス接続により使用中であること
を表示する。この回線がアサートされず、バスが以下に
述べるBUSVLDにより表示される如く有効である時、CMDF
はSDATA16がデータを伝送中であることを示す。
コマンド(CMD) CMDFがアサートされるバス・サイク
ルの間、バス接続がSDATA[48:55]上に指令タイプを示
して、メモリーの作動を開始し、あるいはMCU22の場合
は、データを要求側のバス接続へ戻す。8ビットのCMD
フィールドが、バス動作タイプをコード化する。
本発明の望ましい実施態様においては、CMDフィール
ドによりコード化される色々なタイプのバス動作は下記
の如くである。
動作 ノー・オペレーション 2倍長ワード読出し 4倍長ワード読出し 8倍長ワード読出し バイト書込み ワード書込み 2倍長ワード書込み データ返送(MCUからの伝送) IPCの伝送 MCU読出し MCU書込み SB12を構成する他の信号は、下記の如くである。
ID 各バス接続は、一義的な識別子(ID)を有する。バ
ス接続がCMDFをアサートするバス・サイクルの間、この
バス接続は、SDATA[48:55]へのバス指令(CMD)とと
もに、その一義的なIDをSDATA[56:63]へ駆動する。MC
U22は、データが要求側のバス接続へ返送される時、メ
モリー要求を行ったバス接続の、前に受取りバッファ記
憶されたIDを駆動する。SDATA[48:55]上への伝送IPC
指令のアサート中、バス接続はSDATA[56:63]上へIPC
指令の目標のIDを駆動する。
ビジィー(BSY) この信号回路は、最後のサイクルを
除き、1つのバス動作の全てのサイクルの間バス接続に
よりアサートされる。BSYは、バスの使用を要求する全
てのバス接続により各バス・サイクルの終りにサンプル
され、アサートされると、このバスが使用中であり他の
バス接続に使用できないことを表示する。関連するSBI
を介してIOPへ送られたSTART IO IPC指令(コマン
ド)の間、通信が目標IOPで確立され、IOPがSTART IO
指令を受け入れたかどうかの判定が行われるまでSBIはB
SY回線を駆動し続ける。
バス有効(BUSVLD) この信号は、有効情報がバス上に
置かれる時バス接続によってアサートされる。
ロック(LOCK) 他のバス接続(MCU22を除く)がバス
を使用することを阻止することが要求される時、バス接
続によりアサートされる。この信号回線を用いて、読出
し−修正−書込み動作を行うセマフォ命令を実現する。
CPU保持(CPUHLD) CPU毎に1つずつ2つのCPUHLD信号
が与えられる。この信号は、CPUにより生成され、他の
全てのバス接続により各バス・サイクルの終りにサンプ
ルされる。この信号は、書き戻し(ライトバック)キャ
ッシュの1つがMCU22データを再伝送しているか、ある
いは記憶された情報を更新しつつあることを表示する。
CPUHLDはBSYと同じ効果を持ち、これは、バスが依然と
して使用中であり、他の全てのバス接続には使用できな
いことを表示する。BSYと同様、CPUHLDは最後のバス・
サイクルの1サイクル前にアサート解除(デアサート)
される。これはまた、キャッシュに対する取出し/ライ
トバック動作をインターロックするためCPUにより使用
される。
MCU保持(MCUHLD) MCUにより生成され、他の全てのバ
ス接続により各バス・サイクルの終りにサンプルされ
る。本発明の一特質によれば、この信号は、MCUが補正
可能なエラーを検出して次のバス・サイクル中に補正さ
れた形態でデータが再び伝送されることを表示する。MC
UHLDに対するシステム・バス・プロトコルは、CPUHLDの
それと類似している。
確認書込み(WACK) データ・サイクル後のバス・サイ
クルにおける書込み動作に応答してMCU22により、また
プロセッサ間通信(IPC)動作に応答して目標装置によ
り生成される確認応答。
目標ビジィー(TB) この信号は、IPC伝送に応答して
目標装置により生成される。アサートされるTBは、目標
が使用中であること、および伝送が受け入れられなかっ
たことを表示する。
バス・エラー(BUSER) バス・エラーを検出するバス
接続によりアサートされる。
メモリー例外(MEMX) 無効なメモリー・アドレスが受
取られたときにはアドレス伝送に続くサイクルの間に、
あるいは2倍ビットの補正不能なメモリー・エラーがメ
モリー読出し中に生じたときにはデータ伝送に続くサイ
クルの間に、MCU22によりアサートされる。
Xmit Rq In/Xmit Rq Out(XRQI/XRQO)この信号
は、バス接続間にデイジーチェーン接続される。バスの
使用を要求するバス接続は、Xmit Rq Outをアサート
して以下の条件が満たされる場合にのみ次のサイクルに
おいて伝送を開始する。
その上位の近傍からのXmit Rq Inが偽であり、 ビジィーが偽であり、 保持が偽であり、 ロックが偽である(MCUでない場合のみ)こと。
バス接続は、下位の優先順位の近傍と接続されるXmit
Rq Outに、高い優先順位の近傍からのXmit Rq In
を渡す。本発明の一特質によれば、MCU22はXRQI/XRQOデ
イジーチェーンにおける最も高い優先順位のバス接続と
なるよう割当てられる。これは、以下に詳細に述べるよ
うに、待ち行列の読出しおよび書込み要求を実行するた
めMCU22がバスの制御を確保することを可能にする。
図3のタイミング図は、SDATA16上のデータの呈示に
先立つバス・サイクルの間示される関連するアドレスを
有する多重化されたコマンド/IDおよびデータ経路の作
動を含む多種のバス・トランザクションを示す。図3a〜
3cのタイミング図においては、信号のタイミングは、シ
ステム・クロック(CLK)の周期、即ち略々1バス・サ
イクルを表すクロック周期に照合される。本発明の望ま
しい実施態様においては、基本的なタイミング単位即ち
時間間隔、即ちCLKの周期は、約40ナノ秒である。
図3aは、要求された2倍長ワードのMCUのデータの返
送が後に続く2倍長ワード(64ビット)読み出しの指令
−ID部分が直後に続くバイト/半/ワード/2倍書込みを
示す。
図3bは、キャッシュ取出し/ライトバック(書き戻
し)のためのCPUHLDの使用を示す。CPUは、8倍長ワー
ド読み出し、およびその後の2倍長ワード・キャッシュ
・ライトバックのためMCU22へ指令(コマンド)/ID情報
を送りつつある状態で示される。MCU22は、4つの2倍
長ワードの戻しに応答する。CPUHLDは、別のバス接続が
このシーケンスの間バスを使用することを阻止する。
図3cはさらに、CPUHLD回線の使用を示している。バス
接続は、2倍長ワード読み出しを要求し、MCU22が要求
された2倍長ワードを返送する状態で示される。キャッ
シュ(単数または複数)は、この2倍長ワードのアドレ
スをラッチし、後のサイクルにおいてディレクトリ参照
を行う。もしキャッシュにより「ダーティー」マッチが
見出されるならば、このキャッシュはCPUHLDをこのサイ
クルの終る少し前にアサートする。CPUHLD回線は、ライ
トバック・キャッシュがアドレスと共に2倍長ワードを
再び送り、その後CPUHLDを解除するまで、他の接続がバ
スを使用することを阻止する。BSYは、再伝送の最初の
サイクルの間にアサートされ、BUSVLDはもし再伝送が行
われるならば2サイクルの間アサートされる。
プロセッサ間通信(IPC)能力は、IPCメッセージを送
ることによりバス接続が直接相互に通信することを可能
にする。これらのメッセージを送るためのバス・プロト
コルは、IPC伝送指令が書込み指令の代わりに使用され
る点を除いて、書込み動作と似ている。指令ID回線に沿
って送られるアドレスは、図4aに示されるフォーマット
を有する。8つの目標フィールド・ビットの状態は特定
の目標を指定するが、目標のIDがSDATA[56:63]のIDフ
ィールドにより送られることが想起されよう。
CPU0 CPU1 SBI0 SBI1 SB12 SBI3 64ビットのSDATAバスを用いて、種々のIPCメッセージ
・タイプにより要求される如き別の任意のメッセージ・
データを伝送する。図4b、4c、4dよび4eは、それぞれSB
I34により生成されるIPC、IOPを目標とするCPUにより生
成されるIPC、CPUを目標とするSCU60により生成されるI
PC、およびSBI34を介してIOPを目標とするSCU60により
生成されるIPCを示している。
エラーの検出 SB12により支持される4つのタイプのエラー検出機構
がある。これら4つのタイプは下記のものを含む。即
ち、 データ・パリティ・エラー検出:64ビット・データ・
バス上に8データ・パリティ・ビット(1バイト当たり
1パリティ・ビット)が存在する。
アドレス・パリティ・エラー検出:28ビット・アドレ
ス・バス上に1アドレス・パリティ・ビットが存在す
る。
ミッシング確認:確認制御回線を用いて、書込みおよ
びIPCトランザクションを確認する。読み出し動作は、
バス上のMCUデータ戻し指令−IDサイクルにより確認さ
れる。
シーケンス・エラー:特定のバス・トランザクション
に含まれるバス接続により不法のバス制御シーケンスが
検出される。
上記エラーのいずれかを検出するバス接続が、1シス
テム・バス・クロック・サイクルのみバス・エラー回線
をアサートする。これは、SCU60にエラーを通知する。
その後、SCU60がエラー条件をクリアするまで、SCUはバ
ス・エラー信号を再び駆動する。このバス接続はまた、
SCU60のアクセス可能エラー・レジスタにエラーのタイ
プを記憶する。
これまでに述べたように、SB12は非インターロック・
バスである。この非インターロックSBI2により可能にな
るバス・サイクルの顕著な低下により、ピーク・バス要
求速度およびI/O通信量に使用できるバスの帯域幅が結
果として広くなる。MCU22がメモリー・アクセスを内部
的に待機する限り、要求側のバス接続がメモリー・アク
セス時間を費やすことを要求されず、これにより他の要
求側に対してSB12を自由にする。もし要求されたアクセ
スが書込み動作であるならば、この要求側は上記の如く
通知され、またもし要求されたアクセスが読出しアクセ
スであれば、データは後で返送される。
次に図2のフローチャートを図5aおよび図5bと関連し
て参照すれば、メモリー・バス24を介してメモリー・ア
レイ26と接続されたMCU22がブロック図の形態で示され
る。MCU22は、8倍長ワード長(32バイト)までの読み
出し動作を行うことができるバッファ・メモリー・コン
トローラである。メモリー・アレイ26は、各面が2倍長
ワード幅である奇数プレーン及び偶数プレーンとして構
成される。システム・メモリーのコントローラとして、
MCU22はCPU0またはCPU1、SBI34およびSCU60からのサー
ビス要求を受け入れるように作動可能である。前に述べ
たように、MCU22は、8個までのメモリー・アレイに接
続することができる。
一般に、MCU22は、システム・データ・バス16および
アドレス・バス14をメモリー・アレイに対して論理的に
接続する。本発明の一特質によれば、メモリー読出し動
作のため2つのデータ経路が提供される。第1の経路
は、MCU22の保留中の要求が内部の待ち行列に滞ってい
ない時使用される高速のデータ経路である。この高速経
路は、未補正のデータを直接SB12に対して駆動し、この
データは同時にエラー検出および補正(ECC)回路へ与
えられる。もし補正可能なエラーが発見されると、MCU
は受信側バス接続に信号を送った後、補正されたデータ
をバスに対して駆動する。もしエラーが2ビット・エラ
ーの如く補正できなければ、受信側バス接続にその旨通
知される。第2のデータ経路は、MCU22が待ち行列に滞
った保留中の要求を持つか、あるいは他の状態でSB12に
対する即時のアクセスができない時に使用される通常の
経路である。要求されたデータを返送するためMCU22がS
B12に対するアクセスを待たねばならない限り、データ
は、SB12に対して駆動される前にECC回路に対して与え
られる。特にMCU22が通常リフレッシュ動作中にエラー
の補正を行う場合、所与のメモリー読出しの間に生じる
エラーの可能性が比較的小さく、また高速データ経路の
使用がシステム・バスの全帯域幅の著しい増加を生じる
ことが判るであろう。
MCU22は、開始状態マシン(ISM)70と、メモリー・イ
ンターフェース状態マシン(MISM)72と、終了状態マシ
ン(TSM)74を含む複数の状態マシンを含む。システム
・バス・デコード(SB DECODE)76のロジック・ブロッ
クは、SB12信号をデコードして、ISM70およびMISM72に
与えられる出力を生じる。一般に、ISM70は読出しある
いは書込み要求に応答してMCU22の作動を開始する信号
を生じる。MISM72は、メモリー・アレイに与えられる信
号MEMORY CONTROLとして全体的に示される複数の出力
信号を生じる。これらの信号は、メモリー・タイミング
・ストローブおよびリフレッシュ関連の信号を含む。TS
M74は、SB12の信号のあるものを復号し、他の信号をSB1
2に与え、この信号はデータ返送の間にMCU22がデータ・
エラーを検出する時に使用される。TSM74はまた、デー
タおよび指令/ID情報ユニットがSB12へ返送される時に
使用されるデータおよびアドレスのラッチのシーケンス
を制御する。
この点に関して、入力データ・ラッチ78、入力アドレ
ス・ラッチ80、及び対応する対の出力データおよびアド
レス・ラッチ82、84がそれぞれ提供される。MCU22とメ
モリー・アレイ間には、奇数メモリー・プレーン・デー
タ・ラッチ86と偶数メモリー・プレーン・データ・ラッ
チ88がある。メモリー・アドレスは、偶数のプレーン
(面)信号回線へ多重化される。
SB12からの書込みデータは、8の2倍長ワード・ラッ
チ90即ち待ち行列にバッファされ、関連する書込みアド
レスは8のラッチ92即ち待ち列92においてラッチされ
る。このため、8つまでの保留中の書込み要求がMCU22
によりバッファされ得る。4の読み出しアドレス・ラッ
チ94即ち待ち列は、4つまでの保留中の読み出し要求を
バッファ記憶する。4つの入力マルチプレクサ96が、書
き込みアドレス待ち列あるいは読み出しアドレス待ち列
94から特定のメモリー・アクセスに対するアドレスのソ
ースを選定する。別のマルチプレクサ96の入力が入力ア
ドレス・ラッチ80から直接与えられ、この待ち列をバイ
パスすることが要求される時、高速のメモリー・アクセ
ス経路に対して使用される。リフレッシュ・アドレス・
カウンタ98は、メモリー・アレイ・リフレッシュ・サイ
クルの間マルチプレクサ96を介してリフレッシュ・アド
レスを提供する。バッファ100は、偶数プレーンの信号
回線にマルチプレクサ96の選定された出力をバッファす
る。
本発明によれば、アドレス比較ロジック・ブロック10
2が、待ち列92においてバッファ記憶される書込みアド
レス(もしあれば)に対して、入力する読出し要求と関
連するアドレスを比較する。もし一致が生じるならば、
信号「読出しアドレス一致」(RAMTCH)がアサートされ
る。アサートされるRAMTCHは読出しおよび書込み要求の
通常の処理を中断させ、バッファ記憶された読出しおよ
び書込み要求を実行させる。本発明のこのような特質に
ついては、以下に更に詳細に述べることにする。
MCU22はまた、それぞれ奇数及び偶数のメモリー・デ
ータ・ラッチ86、88間および書込み待ち行列90および出
力データ・ラッチ82間に介挿されるエラー補正および検
出ロジック104を含む。
図2においては、バス接続あるいは内部で生成された
リフレッシュ要求により開始されるMCU動作に応答するM
CU22の制御の流れが示される。初期のリセット条件から
出た後、MCU22は、有効なMCU22動作(B)の起生につい
てのテストを含むアイドリング状態(A)に入る。もし
有効なMCU22の動作が検出されるならば、この動作がメ
モリー操作、即ち、メモリー・アレイの1つをアクセス
する動作であるかどうか、あるいは動作が内部動作であ
るかどうかを判定するために他のテストが行われる
(C)。もし後者の条件が真であるならば、内部動作が
診断動作か、あるいはリファレンス/変更テーブル(RC
T)に対する読み出しあるいは書き込みの如き、データ
をMCU22の内部リソースに対して読み出しあるいは書込
みを行う動作であるかを判定するため、更に他のテスト
(D)が行われる。もし診断動作が示されるならば、診
断制御ビットがセットされ(E)、アイドリング状態A
に入る。もしMCU22の内部リソースに対するアクセスが
示されるならば、開始状態マシン70が始動される
(F)。進行中の内部動作が、SB12に対するデータ返送
が行われることを要求するRMCU動作であるか、あるいは
RCTに対する書込みの如き非返送タイプの動作であるか
を判定するためテストが行われる(G)。もし後者が真
であるならば、ISM70がアイドリング状態にあるかどう
かを判定するテストが行われ(H)、ISM70が終了する
まで待機状態(I)に入り、終了した時にはアイドリン
グ状態Aに再び入る。
もしデータ返送が要求されるならば、終了状態マシン
74が始動され(J)、テストが行われ(K)、データ返
送が完了するまで待機状態にある(L)。TSM74の作動
の完了時に、アイドリング状態Aに再び入る。
ステップCにおいて、もしメモリー動作が示されるな
らば、メモリー・インターフェース状態マシン72が始動
され(M)、読出し動作か、読出し/修正/書込み動作
か、またはリフレッシュ・サイクルが進行中であるかを
判定するためテストが行われる(N)。もしこれらのい
ずれもが真でないならば、書き込み動作が進行中である
と推定される。制御は、書き込み動作中に、必要に応じ
てデータが補正される状態に分岐し(O)、データがメ
モリー・アレイへ書込まれる。もしテストNが読み出
し、RMW、あるいはリフレッシュ動作が進行中であると
判定するならば、テストが行われ(P)、メモリー・イ
ンターフェース状態マシン72の信号DTOUTのアサートの
ため待機状態(Q)が伴う。DTOUTのアサートは、偶数
プレーンのデータ/アドレス信号回線上にソースとされ
るアドレスによりその時示されるデータを与えることを
メモリー・アレイが要求されつつあることを示す。デー
タがMCU22へ返送される時、このデータがSB12に対して
駆動されるか、あるいはメモリー・アレイに書き戻され
る(リフレッシュあるいはRMWアクセス)かを判定する
ためテストが行われる(R)。もしデータがSB12に対し
て駆動されるならば、制御の流れはJへ移り、ここでTS
M74が始動される。もしデータがメモリー・アレイに書
込まれるならば、制御の流れはブロックOへ移り、ここ
でデータが補正されて書込まれる。その後、メモリー・
インターフェース状態マシン72がアイドリング状態にあ
り、書込みサイクルの完了を示すかどうかを判定するた
め、付随する待機状態(T)を伴ってテストが行われる
(S)。次いで、制御の流れはアイドリング状態Aへ戻
る。
次に図6においては、MCU22の回路の一部が更に詳細
に示される。図6に示される回路は、本発明の望ましい
実施態様においては、書込みデータおよびアドレスをバ
ッファ記憶し、読出しIDデータをバッファ記憶し、ECC
機能を実施するため用いられる1対の同じゲート・アレ
イ・デバイスの1つにおいて実施されている。各書込み
データ・ラッチ110の記憶場所は幅が1ワード即ち32ビ
ットである、3/8デコーダ112が、書き込みデータを記憶
するため8つのラッチの1つを選択する8つの選択出力
を提供する。
ECC回路は、シンドロームおよび書込み検査ビット生
成ロジック114と、シンドローム・ビット・デコーダ116
と、単一ビット補正回路118とを備える。4入力の32ビ
ット・マルチプレクサ120が、出力メモリー・データ回
線に与えるためのデータのソースを選択する。入力メモ
リー・データ(MEMDAT)が2入力マルチプレクサ122に
与えられ、これが未補正のメモリー・データあるいは補
正されたCRCDATをシステム・バス・ラッチに対して出力
させる。上記の高速読み出しサイクルの間、MEMDATが出
力される。エラーが検出されると、その後補正されたCR
CDATが与えられる。
4位置8ビット読み出しIDラッチ124が、読み出しア
クセス中SB12のバス接続IDをラッチするため設けられ
る。このラッチされたIDは、後で、データの目標を識別
するために、要求された読み出しデータの戻し中にSB12
に対して駆動される。
次に図7には、読出しおよび書込み要求アドレス及び
指令をバッファ記憶するための回路が示される。本発明
の望ましい実施態様においては、図7の回路もまたゲー
ト・アレイ・デバイスに実施される。
書込み要求アドレスおよび有効ビット・バッファ130
は、書き込みバッファ入力ポインタ選択ロジック132に
より決定される場所に28のアドレス・ビットを記憶す
る。アドレスが記憶される時、書き込みバッファ場所の
各々と関連する有効ビットがセットされ、対応する書込
み動作が完了した時リセットされる。書込みアドレスの
1つが、書込みアドレスをメモリー・アドレス・マルチ
プレクサ96に与える8入力マルチプレクサ134により選
択される。メモリー・アドレス・マルチプレクサ96に対
する他の入力は、リフレッシュ・アドレス・カウンタ98
からのりフレッシュ・アドレスと、4入力読み出しアド
レス・マルチプレクサ134からの読出しアドレスとを含
む。アドレス・パリティ・ロジック136は、入力読出し
および書込みアドレスに生じ得るパリティ・エラーを検
出する。メモリー・アドレス・マルチプレクサ96の出力
は、メモリー・アドレス出力ラッチ138によりラッチさ
れる。
4の2ビット読み出し指令バッファ140および8の2
ビット書込み指令バッファ142は、それぞれマルチプレ
クサ144、146により個々に選択される出力を有する。マ
ルチプレクサ144、146の出力は、読出し/書込み指令マ
ルチプレクサ148に対して与えられる。
指令デコード・ロジック150のブロックは、CMDビット
0、2及び3をデコードして、入力する要求された読み
出し動作が、2倍長ワード読出し動作、4読み出し動
作、8読み出し動作、あるいはMCU22からの内部データ
を読出す読み出し動作であるかを判定する。これらのデ
コードされた出力は、アドレス比較ロジック102のブロ
ックに与えられ、このブロックは、先に述べたように、
入力する読出し要求アドレスに対する、バッファ記憶さ
れた書き込みアドレスのすべての連想アドレス比較を行
う。もし一致が検出されると、読出し/書込みバッファ
の特殊な処理を開始するRAMTCH信号がアサートされる。
図9のフローチャートに示されるように、読み出し作動
のタイプに応じて、異なる数のビットが、入力する読み
出しアドレスと待ち行列の書込みアドレスとの間で比較
される。例えば、8読み出し中に10アドレス・ビット
(17:26)が比較され、4読出し中に11ビット(17:27)
が比較され、2倍長ワード読み出しが12アドレス・ビッ
ト(17:28)を比較する。典型的にはRCMの、内部の読み
出し中、4ビットのみが比較され、これらビットはリフ
ァレンス及び変更テーブルと関連するメモリー・アドレ
ス・ページ・フレームと対応する。
SB12の非インターロック動作の故に、MCU22は入力す
る読出し/書込み要求をバッファ記憶し、入力する読出
しがバッファされた書込みの前に進むことを許容する。
MCU22は、予め定めたメモリー・アドレス範囲内で、入
力する読出しアドレスがバッファ記憶された書込みアド
レスと一致する場合に、要求の実行を適性に順位付ける
アドレス比較ロジック102を含む。この場合、一致の進
行を生じた読出し要求の前に、待ち行列の読出しおよび
書込み要求が実行される。照合機能を行うため用いられ
るロジックは、全てのバッファ記憶された書込みアドレ
ス対読出し動作と関連する入力するアドレスの連想アド
レス比較を実現する。入力する読出しアドレスの最下位
の12ビットは、要求される動作タイプに応じて、指令デ
コード・ロジック150のデコード出力において2倍長ワ
ード・レベルまで比較される。
MCU22により実施される全ての読み出し要求は、2倍
長ワード幅以上である。MCU22はまた、メモリー・ボー
ドからの4倍長ワード幅入力データ経路を含むため、4
倍長ワード読み出しおよび8倍長ワード読出しを効率よ
く行うことができる。8倍長ワード読み出し中、MCU22
は3メモリー・クロック・サイクルだけ時間的に分けら
れたメモリー・アレイからの2つの4倍長ワードを受取
る。このため、一旦データの最初の2倍長ワードがSB12
に対して駆動されると、最小数の待ち状態で要求側への
データの戻しを可能にする。MCU22に対する書込み要求
は、バイト、ワードあるいは2倍長ワード幅でよい。1
ワード福以下の書込み要求(バイト書込み)は、読出し
−修正−書込みサイクルをMCU22により強制的に実行さ
せる。
SB12は、バス接続がMCU22の多数の連続的(back−to
−back)メモリー書込み要求を送ることを許容する。先
に述べたLOCK信号回線を用いてバス接続によりSB12を保
持することができるため、バスの再調停は各2倍長ワー
ド転送中は不要である。このSB12のLOCK条件は、8倍長
ワード書込み(4つの時間的に連続する書込み動作)以
下に対して維持することができる。しかし、MCU22が各
書込み転送後にシステム・バスの占有権を要求して受取
ることができねばならないため、多くとも各8倍長ワー
ド書込みの後に、再調停が行われなければならない。
所与の書込み要求後に書込みバッファが充填する(一
杯にする)ならば、MCU22は、書き込み要求後のバス接
続を停止し、このバスを擬似使用中状態に保持する能力
を有する。同じ擬似使用中状態は、読出しバッファが充
填状態にある時、MCU22により確立することもできる。
このため、MCU22が一杯の状態のバッファを少なくとも
部分的に空けることができるまで、MCU22がこれ以上の
バス要求を保留することを可能にする。先に述べたよう
に、SB12のXRQ0信号は、この目的のため使用される。MC
U22は、SB12上の最も上位の優先順位に規定され、そのX
RQ0回線は、MCUがXRQ0回線のアサートを解除するまで他
の要求側を強制してそのバス動作を保留させる。
前述のように、書き込みアドレスは、連想アドレス比
較の間に使用されるラッチ130内に記憶される。このラ
ッチされた記憶は、連想アドレス比較の間、8つの全て
の可能な待ち状態の書込みアドレスにアクセスすること
を可能にする。このアドレス比較は、読み出し動作が、
システム・バス(SB)12からラッチされているCMD(0:
3)回線からデコードされる時に行われる。これも既に
述べたように、連想的な比較は、RAMTCH(読出しアドレ
ス一致)ビットと呼ばれるビットを生成する。アサート
されるこのビットは、特別なシーケンシングがMCU22に
より要求されることを示すフラッグとして働く。アサー
トされるこのRAMTCHビットは、バス・インターフェース
・コントローラをしてXRQ0をアサートさせて、SB12をロ
ックして書込みバッファに対するこれ以上の書込み要求
のエントリを阻止する。このため、RAMTCH動作シーケン
スを行うことによりMCU22がこのRAMTCHフラッグをクリ
アするまで、SB12からはこれ以上の書込み要求が受け入
れられない。このRAMTCH動作シーケンスは、図8および
図9のフローチャートに示される。
RAMTCHフラッグのアサートは、要求された読み出し動
作が、書き込み要求保留中である場所をも読出すことを
示す。書き込み要求は、この読み出し要求の前に進行す
べきであり、さもなければ、古いデータが要求側へ戻さ
れデータの保全性が保持できないおそれがある。本発明
の一特質によれば、RAMTCHビットのアサートを生じさせ
た読出し要求が存在すると、その読出し要求のところま
で、読出しバッファ94、140中で待ち行列状態の読出し
要求が実行される。そして、アサートを生じさせた読出
し要求を実行する前に、書き込みバッファ90、92中で待
ち行列状態の書き込み要求が実行されるが、このとき、
RAMTCHのアサートの原因となった書き込み要求も実行さ
れる。次いで、アサートを生じさせた読出し要求を含む
残りの読出し要求の実行が行われる。よって、読出し要
求側に返送されたデータは、実行されたばかりの書込動
作の結果を反映している。次いで、SB12が解放され、更
に別のシステム・バスのアクティビティが起生し得る。
RAMTCH信号のアサートが、書き込みバッファが少なく
とも1つ、あるいは更に多くの、RAMTCHのアサートを生
じた読出し要求が開始し得る前に完了しなければならな
い書込み動作を含むことを示していることを留意すべき
である。先に述べたように、書込みバッファの内容の状
態はこの時点で凍結されねばならない。これは、全ての
保留中の書き込み要求が、一致を生じた読出し要求の実
行前に実行されるという事実のためである。もし別の書
込み動作が書込みバッファに入ることを許されたなら
ば、この動作は、目標として、一致された読み出し動作
が欲する同じ場所を有するかも知れない。もしこの後の
書込み動作からのデータが、書込みバッファのフラッシ
ュ動作中にシステム・メモリーに入ることを許されるな
らば、読出し動作はそれに対して「新し過ぎる」データ
を読出すおそれがある。このように、RAMTCHをセットし
た読出しが完了するまでは、これ以上の書込みは中止さ
れなければならない。以下の例示のメモリー要求シーケ
ンスは、MCU22の動作のこれまでの記述を示すものであ
る。
MCUに対する要求のシーケンス 読出しA 読出しB 書込みX 読出しX 書込みY 書込みX 上記のシーケンスの初めに、書込みバッファおよび読
出しバッファに保留中の要求がないと仮定すれば、読出
しAおよび読出しBは正常に進行し、即ちRAMTCHビット
はアサートされない。書込みXは、読出しバッファが空
である時、システム・メモリーへ書込まれるように書込
みバッファに入れられる。次いで、読出しXはMCU22に
入り、書込みXのアドレスと入力する読出しXアドレス
の連想アドレス比較の故に、RAMTCHビットのアサートを
強制する。RAMTCHのアサートはまた、MCU22にシステム
・バス12をロックさせてこれ以上の書込み要求のエント
リを阻止する。一方、書込みYは、MCU22のシステム・
バス・ラッチに入力されている。書込みYはMCU22がバ
スを解放するまでMCU22に入ることができる最後の動作
である。しかし、書き込みY要求は、読出しバッファ内
の読出し要求が実行されるまでは処理されることがな
い。書込みY要求は、書込みバッファに入れられて、以
下に述べるように、前の読出しX動作が完了するまで開
始しないように特にマークされる。
この時これ以上の要求がSB12から受取られることがな
い限り、MCU22は読出しB動作を完了し、次いで、読出
しX動作のためRAMTCHビットがアサートされる故に、書
込みバッファに保留中の要求を実行する。その後、MCU2
2は読出しX動作を完了する。この動作の完了時に、シ
ステム・バス12がMCU22により解放され、その結果、書
込みY動作が開始でき、書込みX動作がMCU22へ入って
実行できる。
SB12が書込みY動作時に中止されなければ、読出しX
の実行前に第2の書込みX動作は書き込みバッファに入
ることができる。書込みバッファ要求の実行後、第2の
書込みX動作からのデータは読出しX動作により読出さ
れ、誤りデータは要求側へ戻され得る。
待ち状態の読出し要求を見いださないMCU22に入力す
る読み出し要求は、実行のため直ちにメモリー・アドレ
スへ送られる。このため、要求側から見て読み出し要求
に対して最小限度の待ち時間を可能にする。MCU22に入
る書込み要求は、MCU22がアイドリング状態(図2)に
なければ直ちにバッファ記憶され、これと同時に書込み
要求の実行が直ちに始められる。書込み要求のバッファ
リングは、読出し動作が進行中に書込み要求がMCU22に
入ることを許容する。RAMTCHフラッグがアサートされな
い限り他の動作が実行中に、読出しおよび書込み要求
は、このようにMCU22に入ることができる。このよう
に、MCU22の作動は進行し、読出しを実行させ、読出し
が実行中に書込みをバッファ記憶させる。全ての読み出
し要求が実行されこれ以上の読み出し要求がシステム・
バス12から入力しない時点において、待ち状態の書込み
要求が存在するならばその実行が始まる。もし待ち状態
の読出しあるいは書込み要求がなく、SB12から入力する
動作がなければ、MCU22はアイドリング状態にあるもの
と見なされる。
読出し動作の間、もし予め定めた数の書込み要求が待
ち状態となるならば、SB12の占有権がMCU22により要求
される。この時、すべてのバッファ記憶された読出し要
求が実行され、MCU22がSB12を解放する前に少なくとも
1つ書込み要求が実行される。予め定めた数の読出し要
求が溜まると、同じシーケンスが後に続く。これは、バ
ッファのオーバーフローによるメモリー動作の損失を阻
止する。MCU22は通常の動作の間はシステム・バス12上
の最上の優先順位のデバイスであるため(XRQ0/XRQ1デ
イジーチェーンにおける最初である)、如何なる時も有
効にSB12のマスターとなることができる。しかし、SB12
は実質的にパイプライン化される限り、ある他のメモリ
ー動作がMCU22に入ることができる。MCU22前のシステム
・バス・ラッチがバス制御を取得する。先に述べたよう
に、この更なるメモリー動作は、MCU22が再び要求の通
常の流れが進行することを許容し得る如き時までマーク
される。
CPU0 18およびCPU1 20と関連するライトバック・キャ
ッシュ・メモリーの動作により、予め定めた数の保留中
の書込み要求が4つの2倍長ワードでセットされること
が望ましい。即ち、MCU22は、如何なる時も4つの2倍
長ワードのキャッシュ・ライトバックを受け入れる用意
がなければならない。このため、最大4つの保留中の書
込み要求を維持することにより、如何なるときもキャッ
シュ・ライトバックを行うことができる。
メモリー・リフレッシュ中、すべてのメモリー・アレ
イ・ボードが同時にリフレッシュされる。更に、この時
データの「嗅ぎ出し」及び「洗い出し」サイクルが行わ
れ、1つの2倍長ワードがダイナミックRAMメモリーの
1つのバンクから読み戻される。このように、このリフ
レッシュ・サイクルは、拡張2倍長ワード読出しと似て
いる。もしエラーが検出されると、このエラーは補正さ
れ、補正されたデータがメモリー・アレイへ戻される。
通常の2倍長ワード読出しの間、メモリー・アレイの一
方の部分(上部あるいは下部)のみがRASおよびCASスト
ローブを受取るが、他の部分は待機モード(RASもCASも
ない)のままである。リフレッシュ中、両方の部分が同
時にRASを受取る。上記の補正された2倍長ワードの記
憶中、補正データを受取るメモリー・アレイの部分は更
にその関連するCASストローブがアサートされることに
なる。
エラーが検出されないことを前提として、リフレッシ
ュ・サイクルは、完了するには通常6メモリー・クロッ
ク・サイクルを要する。もしエラーが検出されて補正可
能であれば、リフレッシュ・サイクルは5サイクルの別
の2倍長ワード書込みアクセス時間を要する。
嗅ぎ出し(sniff)ロジックが、1ビットのエラーを
補正して書き戻す。これは、1ビットのエラーをクリー
ンにするメモリーを周期的に洗い出す(scrub)効果を
有する。リフレッシュ動作が行われる毎に、データの2
倍長ワードが読み出され、必要に応じて、補正されて元
の場所へ書き戻される。リフレッシュ・アドレス指定ロ
ジックは、アドレスのRAS部分に対して10以下のビット
と、アドレスのCAS部分と、読出しのため選定されるメ
モリー・ボードを決定するデコード・ロジックと、読出
すべきバンクおよび部分(上部/下部)を選定するバン
ク・デコード・ロジックとの間に分割されるべき15アド
レス・ビットを含む。
MCU22は、アドレス情報が流れることができる多くの
経路を有する。通常の経路は、アドレスが入力アドレス
・ラッチ80を通って書込み/読出し待ち行列92、94へ入
るためのものである。一旦書込み/読出し待ち行列92、
94に置かれると、前記の特定の書込み動作が実行のため
読出されるまで、このアドレスはその場所にとどまる。
アイドリングのMCUの場合は、アドレスは待ち行列を有
効に迂回して、直ちにメモリーに対して与えられあるい
はセットアップされ、従って読出しおよび書込み動作を
促進する。
主メモリーに書込まれるべきデータは、4対1マルチ
プレクサ120へ送られる。このマルチプレクサ120の出力
は、いくつかの宛て先へ与えられる。これらの宛て先の
1つは、直接にメモリー・アレイに対するものである。
別の宛て先はECCコード化/デコード・ロジックであ
り、そこにおいて、検査ビットが生成されて、直接に、
メモリー書込み動作でデータとともにメモリーへ送られ
る。データ及び検査ビット信号回線は両方向である。こ
のため、書込み動作中にデータおよび検査ビットの出力
を許容する。メモリ一読出し中は、この方向は逆にな
る。
読出し−修正−書込み動作の場合は更に複雑なデータ
経路が存在する。このような動作は、2倍長ワードのデ
ータがメモリー装置から読み出されること、およびデー
タがエラーについて調べられることを要求する。もしエ
ラーが生じると、このエラーは補正され、補正されたデ
ータは書込みバッファ110に記憶されたデータのバイト
とマージされる。これは、マルチプレクサ120を用い
て、バイト毎に、マルチプレクサに対するソースを、ラ
ッチされ補正された読出しデータあるいは書込みバッフ
ァ出力のいずれかとして選択して行われる。マージされ
たデータは、その後、再びコード化されて通常の書込み
動作と同じ経路によりメモリーへ送られる。
データが返送されるべきバス接続のIDは、読み出しID
記憶ラッチ152にバッファ記憶され、MCU22のデータ返送
サイクルの間SB12のデータ経路に多重化される。読出し
動作中、MCU22はメモリー・アレイからのデータの返送
を待機するが、MCU22はSB12のデータ返送サイクルに対
して返送IDおよびアドレスをセットアップする。データ
がSB12に送られる1サイクル前に、要求側のID、データ
返送指令、および要求側により最初から与えられたアド
レスが要求側に戻される。システム・バスの占有権を取
得する際遅れが生じると、データ返送サイクルが遅れ
る。リソースの競合は、返送指令、IDおよびアドレスが
バスに対して駆動されるまで格納されるラッチ82、84の
使用により避けられる。
もし補正し得るエラーが生じると、データ経路マルチ
プレクサ122(2対1マルチプレクサ)がフリップさせ
られる。このマルチプレクサ122の片側はメモリーから
直接入力を受取る。他の側は、ECC回路の出力から、ラ
ッチされた補正データを受取る。このため、もしエラー
が検出されると、データ出力マルチプレクサ122をフリ
ップ作動させることにより補正データを迅速に送ること
ができる。補正データが要求側へ返送されると同時に、
データの次の2倍長ワード(多数の2倍長ワードトラン
ザクションならば)が次のサイクルの間に、送られるよ
うにラッチされる。もしこれもエラーであるならば、続
くサイクルの間に送られて補正されて最初の2倍長ワー
ドと同様に再び送られる。
本発明のMCU22はまた、多重2倍長ワード読み出し要
求の1つより多い2倍長ワードがエラーである時、正し
いデータを与える。この場合、MCU22が処理できるまで
データを保持するため、メモリー・アレイの出力におけ
るものへ戻るラッチを用いることができる。2倍長ワー
ドに現れる誤りデータのあらゆる場合に対処するため4
段のパイプラインが提供される。この4段は、メモリー
・アレイの出力におけるラッチ26a(図5b)、MCUの入力
におけるラッチ82、84、およびECCロジック104の入力及
び出力それぞれにおけるラッチ104a、104b(図5a)から
なる。
MCU22は、高速および内部のアドレス経路の双方を有
する。MCU22がアイドリング状態(読出しあるいは書込
みバッファのいずれにも何も記憶されておらず、如何な
る要求も処理していない)にある時は常に、入力動作
(読出しあるいは書込み)が即時始められる。アドレス
経路は、高速経路へ指向される。このため、システム・
バスの入力ラッチからMCU22のエッジのドライバへの直
接経路を可能する。もし動作がMCUの内部機能(MCUの読
出しあるいは書込み)であるならば、MCU22は即時動作
を開始し、(データが要求側へ送られるならば)要求が
MCUに入った2サイクル後内に応答する。このアドレス
はメモリー・アレイへ送られるが、全てのメモリー動作
を開始する行アドレス・ストローブ(RAS)信号は生成
されない。
もし入力する要求が前にバッファ記憶された動作の完
了を待たねばならなければ、内部経路を使用する。この
経路は、システム・バスを保持するラッチから、アドレ
スを直接に、読出しバッファ・アドレス・ラッチ94ある
いは書込みバッファ・アドレス・ラッチ130のいずれか
に取る。
アドレス・パリティ検査は、アドレスがMCU22に入る
とき、宛て先はずれ(out of bounds)検査とともに
行われる。もしエラーが検出されると、BUSERR回線がア
サートされてそのように表示する。要求がMCU22に入る
時にアドレス・エラーが検出されると、MCUはこの動作
をバッファ記憶せず、これを実行しない。これは、MCU
がアドレス上のパリティ・エラーをSCU60に通知するこ
とを除いて、あたかも動作が送られなかったように見え
る。宛て先外れ検査が真である場合、要求された動作は
使用可能なメモリーの領域外の目標場所を有し、MCU22
はアドレス・サイクルの2サイクル後にMEMX信号回線を
アサートして、この動作を無視する。この状態は、SCU6
0に対して通知されることになる。
読み出し動作が行われると、返送アドレスを要求側へ
戻すために該アドレスがラッチ84へ入力される。フィジ
カル・フレーム・ビット(アドレス・ビット04:20)
は、二次的ラッチに保持される。ビット28までのページ
・オフセット・ビット(アドレス・ビット21:28)がア
ップ/ダウン・カウンタ156に送られ、ベース・アドレ
スがMCU22により多重2倍長ワード戻しのため増分でき
るようにする。このカウンタは、正しくないデータが最
初に送られた後(補正可能エラー・シーケンス中)補正
データを送る必要により、アップ/ダウン能力を必要と
する。LSBアドレス信号29:31は、MCU22から戻される前
にゼロにされる。パリティは、アドレス・ビット04:20
に一回生成され、ビット21:28において再び生成され、
次いで多重2倍長ワード・データ返送の間のサイクル毎
に上位ビット・アドレス・パリティと組み合わされる。
SB12の高速度のゆえに、MCU22は、データを要求側へ
返送しているときに、ECCエラー・ビットをオンザフラ
イでデコードする。高速度データ経路は、実際にエラー
補正ロジックを迂回し、データは、たとえエラーを含も
うとも要求側へ返送される。もしこれがエラーを含むな
らば、データは補正され、次のサイクルの間に要求側へ
再び送られねばならない。この機能を達成するため、SB
12信号回線MCUHOLDが設けられる。例えBUSYを解除され
たとしても、SB12の占有権を保持するためのMCUの意図
を他のバス接続に通知するために、MCUHOLDは、MCUによ
り、他の全てのバス接続に駆動される。MCUHOLDは更
に、単一ビット・エラー検出ロジックにより、少なくと
も部分的に駆動される。
検査ビットがコード化されてメモリーへ送られる時、
これらを生じるコードの特性は、2倍長ワードにおける
各ワード当たり7つの検査ビットの形成に行く32データ
・ビットの各々のまさに3つのコピーである。検査ビッ
トがメモリーから返送されると、各々は、生成された時
各検査ビットと対応していた特定のデータ・ビットと排
他的OR論理がとられる。このため、これら7ビットに含
まれる情報は、エラーのあるビットが存在しないかどう
か、エラー状態にあるのは1ビットか、あるいはエラー
状態のビットが数多くあるかを判定する。単一ビット・
エラーは補正し得るが、多数のエラー・ビットは補正し
得ない。もし7つの検査ビットが全て論理値「0」であ
るならば、エラーのビットは存在しない。もし単一ビッ
トがエラーならば、7つの検査ビットの内3つが論理値
「1」となる。7つの検査ビット内に偶数個の1がある
と、少なくとも2つのビットがエラーであることを示
す。単一ビット・エラーの場合は、検査ビットのパリテ
ィのみが奇数となる。このため、単一ビット・エラーが
存在することを迅速に決定する1つの方法は、7つの検
査ビットのパリティを判定することによる。
2ビット・エラーの発生は、データが返送された後1
サイクルまで表示される必要はない。2ビット・エラー
の発生を表示するため、MEMX信号回線はハイの状態にさ
れる。補正し得ないエラーおよび関連するシンドローム
・パターンを持つアドレスは、SBL64を介してSCU60に対
して報知される。
本文に述べた本発明は、その趣旨あるいは実質的特徴
から逸脱することなく更に他の特定形態で実施すること
ができよう。このため、本文の実施態様は、あらゆる観
点において限定ではなく例示であるものと見なされるべ
きであり、本発明の範囲は本文の記述によるのではなく
請求の範囲によって示され、従って、請求の範囲の相当
の意味および範囲内に該当する全ての変更はその内に包
含されるべきものである。
フロントページの続き (51)Int.Cl.7 識別記号 FI G06F 15/177 682 G06F 15/177 682J (72)発明者 シュワルツ,マーティン・ジェイ アメリカ合衆国マサチューセッツ州 01602,ウスター,リッテンハウス・ロ ード 16 (72)発明者 カークル,ケヴィン・エイチ アメリカ合衆国マサチューセッツ州 01463,ペパレル,ローウェル・ロード 128 (72)発明者 エング,ケネス・ジェイ アメリカ合衆国マサチューセッツ州 02379,ウエスト・ブリッジウォーター, マイル・ブルック・ロード 28 (56)参考文献 特開 昭55−147744(JP,A) 特開 昭63−145536(JP,A) Michel Dubois and Christoph Scheuri ch,”Synchronizatik on,Coherence,and E vent ordering in M ultiprocessors”,Co mputer(IEEE),US,Co mputer society of IEEE,February 1988,V ol.21,No.2,p.9−21 (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 560 G06F 12/08

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】システム・バスとシステム・メモリーとの
    間に接続されたメモリー制御ユニットであって、システ
    ム・バスが、システム・メモリー内のアドレスを指定す
    るためのアドレス信号線と、システム・バス及びシステ
    ム・メモリーに結合されたバス接続間でデータ・ユニッ
    トを搬送するためのデータ信号線と、バス接続の1つに
    より開始された特定のシステム・バス・トランザクショ
    ンがシステム・メモリー読出要求であるか又はシステム
    ・メモリー書込要求であるかを指定する少なくとも1つ
    の信号線とを含む、メモリー制御ユニットにおいて、 システム・バスと結合され、該バスからシステム・メモ
    リー読出要求及びシステム・メモリー書込要求を受け取
    る第1インターフェース手段と、 システム・メモリーと結合され、システム・メモリー読
    出要求及びシステム・メモリー書込要求を実行する第2
    インターフェース手段と、 第1インターフェース及び第2インターフェースと結合
    され、書込要求の実行前に、第1インターフェースで受
    信した書込要求をバッファ記憶する第1バッファと、 第1インターフェース及び第2インターフェースと結合
    され、読出要求の実行前に、第1インターフェースで受
    信した読出要求をバッファ記憶する第2バッファと、 受信した読出要求のアドレスと、第1バッファ内の各書
    込要求のアドレスとの比較を行い、該読出要求が、いず
    れかの書込要求のアドレス内にあるアドレス値を含むか
    否かを判定し、含む場合に、出力信号をアサートする比
    較手段と、 比較手段からの出力信号がアサートされた場合に、受信
    した読出要求を除いて第2バッファ内の全ての読出要求
    を実行し、次に、第1バッファ内の全ての書込要求を実
    行する実行手段と を備えていることを特徴とするメモリー制御ユニット。
  2. 【請求項2】請求項1記載のメモリー制御ユニットにお
    いて、該制御ユニットはさらに、読出要求をデコードし
    て、比較手段で比較される各読出要求のアドレス・ビッ
    トのタイプ及び数を判定するデコード手段を備えること
    を特徴とするメモリー制御ユニット。
  3. 【請求項3】請求項2記載のメモリー制御ユニットにお
    いて、デコード手段は、各読出要求が、システム・メモ
    リのメモリ・ユニットの1つから8ワード長のデータを
    読み出す第1タイプであるか、メモリ・ユニットの1つ
    から4ワード長のデータを読み出す第2タイプである
    か、または、メモリ・ユニットの1つから2ワード長の
    データを読み出す第3タイプであるかを判定するよう構
    成されていることを特徴とするメモリー制御ユニット。
  4. 【請求項4】請求項3記載のメモリー制御ユニットにお
    いて、比較手段は、デコード手段が読出要求は第1タイ
    プであると判定した場合にアドレスの10ビットを比較
    し、デコード手段が読出要求は第2タイプであると判定
    した場合にアドレスの11ビットを比較し、デコード手段
    が読出要求は第3タイプであると判定した場合にアドレ
    スの12ビットを比較するよう構成されていることを特徴
    とするメモリー制御ユニット。
  5. 【請求項5】請求項1〜4いずれかに記載のメモリー制
    御ユニットにおいて、実行手段はさらに、比較手段から
    の出力信号がアサートされたときに、第1バッファ内の
    全ての書込要求を実行した後に、受信した読出要求を実
    行するよう構成されていることを特徴とするメモリー制
    御ユニット。
  6. 【請求項6】請求項1〜5いずれかに記載のメモリー制
    御ユニットにおいて、該制御ユニットはさらに、 第1バッファの最大容量よりも少ない所定数の書込要求
    が第1バッファに記憶されたときにそれを判定する判定
    手段と、 判定手段が該所定数の書込要求が記憶されたと判定した
    ときに、システム・バスへ信号をアサートして、バス接
    続が更なるシステム・メモリの読出要求及び書込要求を
    システム・バスへ発生することを阻止する手段と を備え、 実行手段は、判定手段が信号をシステム・バスへアサー
    トしたときに、第1バッファ内の少なくとも1つの書込
    要求を実行するよう構成されている ことを特徴とするメモリー制御ユニット。
  7. 【請求項7】請求項6記載のメモリー制御ユニットにお
    いて、該制御ユニットはさらに、 実行手段がいずれかの読出要求を実行するときに、1又
    は複数の情報ユニットをシステム・バスへ返送する返送
    手段と、 システム・バスへ返送されつつある情報ユニット中の1
    又は複数のエラー・ビットを検出し、1ビットのエラー
    を有する情報ユニットの修正された情報ユニットを返送
    手段へ提供するエラー検出及び修正手段と を備え、返送手段が、1エラー・ビットを有する情報ユ
    ニットがシステム・バスへ返送された後に、修正された
    情報ユニットをシステム・バスへ返送することを特徴と
    するメモリー制御ユニット。
  8. 【請求項8】請求項7記載のメモリー制御ユニットにお
    いて、該制御ユニットはさらに、返送されつつある情報
    ユニットが1つのエラー・ビットを有することを示すた
    めにシステム・バスへ第1信号をアサートし、かつ、返
    送されつつある情報ユニットが複数のエラー・ビットを
    有することを示すためにシステム・バスへ第2信号をア
    サートするための手段を備えることを特徴とするメモリ
    ー制御ユニット。
  9. 【請求項9】請求項1〜8いずれかに記載のメモリー制
    御ユニットにおいて、該制御ユニットはさらに、比較手
    段からの出力信号がアサートされたときにシステム・バ
    スへ信号をアサートする手段を備え、該信号により、読
    出要求または書込要求をシステム・バスから更に受信す
    ることを阻止することを特徴とするメモリー制御ユニッ
    ト。
  10. 【請求項10】複数のバス接続を共に結合しているシス
    テム・バスを有する情報処理システムにおけるメモリ読
    出要求及び書込要求を実行する方法であって、バス接続
    の1つは、1以上のメモリ・ユニットと接続されるメモ
    リ制御ユニットであり、該メモリ制御ユニットは、シス
    テム・バス上のアドレス及びデータ信号に応答して、メ
    モリ・ユニットへの情報ユニットの書き込み及びメモリ
    ・ユニットからの情報ユニットの読み出しを行う、実行
    方法において、 メモリ制御ユニットを1以上のメモリ・ユニットへ接続
    するインターフェースを提供するステップと、 メモリ制御ユニットをシステムへ結合するインターフェ
    ースを提供するステップと、 書込アドレスを含む書込要求を、システム・バスから受
    信してバッファ記憶するステップと、 読出アドレスを含む読出要求を、システム・バスから受
    信してバッファ記憶するステップと、 読出要求を受信したときに、該読出要求の読出アドレス
    をバッファ記憶されている各書込アドレスと比較し、受
    信した読出要求の読出アドレスが、バッファ記憶されて
    いる何れかの書込アドレス内のアドレス値を有するかを
    判定するステップと、 受信した読出要求の読出アドレスが、バッファ記憶され
    ている書込アドレス内のアドレス値を有さないと判定さ
    れた場合に、バッファ記憶された全ての読出要求を順に
    実行し、次に、バッファ記憶された全ての書込要求を順
    に実行するステップと、 受信した読出要求の読出アドレスが、バッファ記憶され
    ている書込アドレス内のアドレス値を有すると判定され
    た場合に、該受信した読出要求を除いて、バッファ記憶
    された全ての読出要求を順に実行し、次に、バッファ記
    憶されている全ての書込要求を実行するステップと からなることを特徴とする方法。
  11. 【請求項11】請求項10記載の方法において、該方法は
    さらに、 受信した読出要求の読出アドレスが、バッファ記憶され
    ている書込アドレス内のアドレス値を有すると判定され
    た場合に、受信した読出要求を実行するステップ を備えることを特徴とする方法。
JP50800089A 1988-06-30 1989-06-22 メモリー制御ユニット Expired - Lifetime JP3255908B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US21339588A 1988-06-30 1988-06-30
US213,395 1988-06-30

Publications (2)

Publication Number Publication Date
JPH04501326A JPH04501326A (ja) 1992-03-05
JP3255908B2 true JP3255908B2 (ja) 2002-02-12

Family

ID=22794950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50800089A Expired - Lifetime JP3255908B2 (ja) 1988-06-30 1989-06-22 メモリー制御ユニット

Country Status (6)

Country Link
US (1) US5379379A (ja)
EP (1) EP0425550B1 (ja)
JP (1) JP3255908B2 (ja)
CA (1) CA1322611C (ja)
DE (1) DE68920435T2 (ja)
WO (1) WO1990000284A1 (ja)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450564A (en) * 1990-05-04 1995-09-12 Unisys Corporation Method and apparatus for cache memory access with separate fetch and store queues
GB9019023D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station having multiplexing and burst mode capabilities
JP3191302B2 (ja) * 1990-12-28 2001-07-23 日本電気株式会社 メモリ回路
JP2925818B2 (ja) * 1991-04-05 1999-07-28 株式会社東芝 並列処理制御装置
US6678864B1 (en) * 1992-02-25 2004-01-13 Irving Tsai Method and apparatus for linking designated portions of a received document image with an electronic address
EP0575651A1 (en) * 1992-06-24 1993-12-29 International Business Machines Corporation Multiprocessor system
US5651126A (en) * 1992-06-26 1997-07-22 Apple Computer, Inc. Method and apparatus for reducing transitions on computer signal lines
US5615355A (en) * 1992-10-22 1997-03-25 Ampex Corporation Method and apparatus for buffering a user application from the timing requirements of a DRAM
KR940015838A (ko) * 1992-12-31 1994-07-21 윤종용 메모리 맵 방식의 인터페이스 장치
US5435001A (en) * 1993-07-06 1995-07-18 Tandem Computers Incorporated Method of state determination in lock-stepped processors
US5813028A (en) * 1993-10-12 1998-09-22 Texas Instruments Incorporated Cache read miss request invalidation prevention method
US5377338A (en) * 1993-10-12 1994-12-27 Wang Laboratories, Inc. Apparatus and methods for reducing numbers of read-modify-write cycles to a memory, and for improving DMA efficiency
US5673415A (en) * 1993-12-03 1997-09-30 Unisys Corporation High speed two-port interface unit where read commands suspend partially executed write commands
JPH07182170A (ja) * 1993-12-24 1995-07-21 Ricoh Co Ltd マイクロプロセッサ
US5826109A (en) * 1994-01-04 1998-10-20 Intel Corporation Method and apparatus for performing multiple load operations to the same memory location in a computer system
TW357295B (en) * 1994-02-08 1999-05-01 United Microelectronics Corp Microprocessor's data writing, reading operations
US5634081A (en) * 1994-03-01 1997-05-27 Adaptec, Inc. System for starting and completing a data transfer for a subsequently received autotransfer command after receiving a first SCSI data transfer command that is not autotransfer
US6021471A (en) * 1994-11-15 2000-02-01 Advanced Micro Devices, Inc. Multiple level cache control system with address and data pipelines
US5566317A (en) * 1994-06-14 1996-10-15 International Business Machines Corporation Method and apparatus for computer disk drive management
US5742831A (en) * 1994-06-30 1998-04-21 Intel Corporation Methods and apparatus for maintaining cache coherency during copendency of load and store operations
JP3164732B2 (ja) 1994-07-04 2001-05-08 富士通株式会社 データ処理装置
US5809550A (en) * 1994-09-30 1998-09-15 Intel Corporation Method and apparatus for pushing a cacheable memory access operation onto a bus controller queue while determining if the cacheable memory access operation hits a cache
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
US5701433A (en) * 1994-10-14 1997-12-23 Compaq Computer Corporation Computer system having a memory controller which performs readahead operations which can be aborted prior to completion
US5701434A (en) * 1995-03-16 1997-12-23 Hitachi, Ltd. Interleave memory controller with a common access queue
TW388982B (en) * 1995-03-31 2000-05-01 Samsung Electronics Co Ltd Memory controller which executes read and write commands out of order
US5666494A (en) * 1995-03-31 1997-09-09 Samsung Electronics Co., Ltd. Queue management mechanism which allows entries to be processed in any order
US5638534A (en) * 1995-03-31 1997-06-10 Samsung Electronics Co., Ltd. Memory controller which executes read and write commands out of order
US5625778A (en) * 1995-05-03 1997-04-29 Apple Computer, Inc. Method and apparatus for presenting an access request from a computer system bus to a system resource with reduced latency
US5870625A (en) * 1995-12-11 1999-02-09 Industrial Technology Research Institute Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command
US5790813A (en) * 1996-01-05 1998-08-04 Unisys Corporation Pre-arbitration system allowing look-around and bypass for significant operations
GB2308903B (en) * 1996-01-05 2000-01-26 Advanced Risc Mach Ltd Cache memory circuit
US5737636A (en) * 1996-01-18 1998-04-07 International Business Machines Corporation Method and system for detecting bypass errors in a load/store unit of a superscalar processor
US5893165A (en) * 1996-07-01 1999-04-06 Sun Microsystems, Inc. System and method for parallel execution of memory transactions using multiple memory models, including SSO, TSO, PSO and RMO
US6263411B1 (en) * 1996-09-20 2001-07-17 Matsushita Electric Industrial Co., Ltd. Video server scheduling for simultaneous read-write requests
US6272600B1 (en) * 1996-11-15 2001-08-07 Hyundai Electronics America Memory request reordering in a data processing system
WO1998036419A1 (fr) * 1997-02-17 1998-08-20 Hitachi, Ltd. Dispositif circuit integre a semi-conducteur
DE19712799A1 (de) * 1997-03-26 1998-10-01 Siemens Nixdorf Inf Syst Abhängigkeitssteuerung für überlappende Speicherzugriffe
US6092158A (en) * 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
US6125413A (en) * 1997-12-29 2000-09-26 Motorola, Inc. Computer system with trigger controlled interface and method
US6182181B1 (en) 1997-12-29 2001-01-30 Motorola, Inc. Computer system with interface and method
US6446149B1 (en) * 1998-03-03 2002-09-03 Compaq Information Technologies Group, L.P. Self-modifying synchronization memory address space and protocol for communication between multiple busmasters of a computer system
JP3708436B2 (ja) * 1998-05-07 2005-10-19 インフィネオン テクノロジース アクチエンゲゼルシャフト 2次元データフィールドのためのキャッシュメモリ
US6223259B1 (en) * 1998-10-30 2001-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Reducing read cycle of memory read request for data to be partially modified by a pending write request
US6212611B1 (en) * 1998-11-03 2001-04-03 Intel Corporation Method and apparatus for providing a pipelined memory controller
US6256713B1 (en) * 1999-04-29 2001-07-03 International Business Machines Corporation Bus optimization with read/write coherence including ordering responsive to collisions
US6684270B1 (en) * 2000-06-02 2004-01-27 Nortel Networks Limited Accelerated file system that recognizes and reroutes uncontested read operations to a second faster path for use in high-capacity data transfer systems
US7194561B2 (en) * 2001-10-12 2007-03-20 Sonics, Inc. Method and apparatus for scheduling requests to a resource using a configurable threshold
JP3823040B2 (ja) * 2001-10-12 2006-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記憶装置、データ処理装置、書き込み要求の実行順序を最適化する方法、データ処理方法およびハード・ディスク・ドライブ
US6804738B2 (en) * 2001-10-12 2004-10-12 Sonics, Inc. Method and apparatus for scheduling a resource to meet quality-of-service restrictions
TW564350B (en) * 2002-03-01 2003-12-01 Via Tech Inc Control chip for speeding up memory access and the operation method
US6895493B2 (en) * 2002-07-25 2005-05-17 Texas Instruments Incorporated System and method for processing data in an integrated circuit environment
DE10234933A1 (de) * 2002-07-31 2004-03-18 Advanced Micro Devices, Inc., Sunnyvale Pufferung von Non-Posted-Lesebefehlen und Antworten
US6577548B1 (en) 2002-09-26 2003-06-10 International Business Machines Corporation Self timing interlock circuit for embedded DRAM
US6973550B2 (en) * 2002-10-02 2005-12-06 Intel Corporation Memory access control
US6943804B2 (en) * 2002-10-30 2005-09-13 Hewlett-Packard Development Company, L.P. System and method for performing BLTs
US20040103249A1 (en) * 2002-11-25 2004-05-27 Chang-Ming Lin Memory access over a shared bus
US7062577B2 (en) * 2002-12-18 2006-06-13 Lsi Logic Corporation AMBA slave modular bus interfaces
US7093059B2 (en) * 2002-12-31 2006-08-15 Intel Corporation Read-write switching method for a memory controller
US7047322B1 (en) * 2003-09-30 2006-05-16 Unisys Corporation System and method for performing conflict resolution and flow control in a multiprocessor system
US7665069B2 (en) * 2003-10-31 2010-02-16 Sonics, Inc. Method and apparatus for establishing a quality of service model
US8504992B2 (en) * 2003-10-31 2013-08-06 Sonics, Inc. Method and apparatus for establishing a quality of service model
US9087036B1 (en) 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
JP4887824B2 (ja) * 2006-02-16 2012-02-29 富士通セミコンダクター株式会社 メモリシステム
US8868397B2 (en) * 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
US7702841B2 (en) * 2007-03-08 2010-04-20 Ricoh Company, Limited Semiconductor integrated circuit and image processing apparatus having the same
DE102008046681B4 (de) * 2008-09-10 2011-04-14 Atmel Automotive Gmbh Schaltung, Verfahren und Verwendung eines Speichers zum Senden und/oder Empfangen in einem Funknetz
US8108584B2 (en) 2008-10-15 2012-01-31 Intel Corporation Use of completer knowledge of memory region ordering requirements to modify transaction attributes
JP2013178696A (ja) * 2012-02-29 2013-09-09 Hitachi-Lg Data Storage Inc アーカイブシステムおよび処理方法
US9367491B2 (en) * 2013-12-31 2016-06-14 Global Unichip, Corp. Method and apparatus for on-the-fly learning traffic control scheme
US9823842B2 (en) 2014-05-12 2017-11-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
TWI668704B (zh) * 2018-10-01 2019-08-11 大陸商深圳大心電子科技有限公司 資料處理方法及使用所述方法的儲存控制器
CN114036096A (zh) * 2021-11-04 2022-02-11 珠海一微半导体股份有限公司 一种基于总线接口的读控制器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4354232A (en) * 1977-12-16 1982-10-12 Honeywell Information Systems Inc. Cache memory command buffer circuit
US4225922A (en) * 1978-12-11 1980-09-30 Honeywell Information Systems Inc. Command queue apparatus included within a cache unit for facilitating command sequencing
US4516199A (en) * 1979-10-11 1985-05-07 Nanodata Computer Corporation Data processing system
GB8401804D0 (en) * 1984-01-24 1984-02-29 Int Computers Ltd Data storage apparatus
US5097442A (en) * 1985-06-20 1992-03-17 Texas Instruments Incorporated Programmable depth first-in, first-out memory
US4864543A (en) * 1987-04-30 1989-09-05 Texas Instruments Incorporated First-in, first-out memory with counter address pointers for generating multiple memory status flags
US4783736A (en) * 1985-07-22 1988-11-08 Alliant Computer Systems Corporation Digital computer with multisection cache
US4792926A (en) * 1985-12-09 1988-12-20 Kabushiki Kaisha Toshiba High speed memory system for use with a control bus bearing contiguous segmentially intermixed data read and data write request signals
US4833651A (en) * 1986-07-24 1989-05-23 National Semiconductor Corporation High-speed, asynchronous, No-Fall-Through, first-in-first out memory with high data integrity
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
US4933901A (en) * 1988-01-11 1990-06-12 Texas Instruments Incorporated Method for assigning priority to read and write requests received closely in time

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Michel Dubois and Christoph Scheurich,"Synchronizatikon,Coherence,and Event ordering in Multiprocessors",Computer(IEEE),US,Computer society of IEEE,February 1988,Vol.21,No.2,p.9−21

Also Published As

Publication number Publication date
EP0425550A4 (en) 1992-03-25
WO1990000284A1 (en) 1990-01-11
DE68920435T2 (de) 1995-08-10
JPH04501326A (ja) 1992-03-05
CA1322611C (en) 1993-09-28
EP0425550A1 (en) 1991-05-08
DE68920435D1 (de) 1995-02-16
US5379379A (en) 1995-01-03
EP0425550B1 (en) 1995-01-04

Similar Documents

Publication Publication Date Title
JP3255908B2 (ja) メモリー制御ユニット
JP3204961B2 (ja) I/oバス対システムバス・インタフェース
US4995041A (en) Write back buffer with error correcting capabilities
US6101614A (en) Method and apparatus for automatically scrubbing ECC errors in memory via hardware
US6405271B1 (en) Data flow control mechanism for a bus supporting two-and three-agent transactions
US6564306B2 (en) Apparatus and method for performing speculative cache directory tag updates
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US5261057A (en) I/O bus to system interface
US7584330B2 (en) Multi-processor data coherency
JPH09114795A (ja) パケット交換型キャッシュコヒーレントマルチプロセッサシステムにおいてプロセッサをインターフェイスする並列型マスタ要求クラス構造
JPH09114735A (ja) パケット交換型キャッシュコヒーレントマルチプロセッサシステム用並列型コヒーレント読取り及び書戻しトランザクション処理システム
JPH09101943A (ja) パケット交換型キャッシュコヒーレントマルチプロセッサシステム
JPH0696030A (ja) マルチプロセッサのための拡張プロセッサバッファインターフェース
JPH05158890A (ja) 多重プロセッサ・データ処理システム及びその動作方法
JPH09114794A (ja) パケット交換型キャッシュコヒーレントマルチプロセッサシステムにおけるメモリトランザクション実行を制御するトランザクションアクティベーションプロセッサ
JPH09114736A (ja) パケット交換型キャッシュコヒーレントマルチプロセッサシステムのデータプロセッサ用高速デュアルポート型キャッシュコントローラ
US6996645B1 (en) Method and apparatus for spawning multiple requests from a single entry of a queue
US6591393B1 (en) Masking error detection/correction latency in multilevel cache transfers
US5771247A (en) Low latency error reporting for high performance bus
US5923857A (en) Method and apparatus for ordering writeback data transfers on a bus
US6412060B2 (en) Method and apparatus for supporting multiple overlapping address spaces on a shared bus
JP3255922B2 (ja) 統一された環境と分散されたシステム機能とを有する対称的マルチプロセシング・システム
US6701398B1 (en) Global bus synchronous transaction acknowledge with nonresponse detection
US6009482A (en) Method and apparatus for enabling cache streaming
US6898675B1 (en) Data received before coherency window for a snoopy bus

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20071130

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081130

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091130

Year of fee payment: 8

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091130

Year of fee payment: 8