JPH10207771A - メモリ動作短縮方法 - Google Patents

メモリ動作短縮方法

Info

Publication number
JPH10207771A
JPH10207771A JP9289800A JP28980097A JPH10207771A JP H10207771 A JPH10207771 A JP H10207771A JP 9289800 A JP9289800 A JP 9289800A JP 28980097 A JP28980097 A JP 28980097A JP H10207771 A JPH10207771 A JP H10207771A
Authority
JP
Japan
Prior art keywords
memory
read
data
write
burst
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.)
Withdrawn
Application number
JP9289800A
Other languages
English (en)
Other versions
JPH10207771A5 (ja
Inventor
Michael Andrewarthur Jay
ジェイ・マイケル・アンドリューアーサ
H Freidberg Donald
ドナルド・エイチ・フライドバーグ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH10207771A publication Critical patent/JPH10207771A/ja
Publication of JPH10207771A5 publication Critical patent/JPH10207771A5/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02—Addressing or allocation; Relocation
    • G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877—Cache access modes
    • G06F12/0879—Burst mode

Landscapes

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

Abstract

(57)【要約】 【課題】SDRAMに関するフル・バースト読み取り−
修正−書き込み動作に存在する不要なクロック・サイク
ルを除去する。 【解決手段】読み取りまたは書き込み動作を切り捨てま
たは中止することによってタグおよびデータを読み書き
する際のオーバーヘッドを減少させる。読み取り動作に
おいては、フル・バースト読み取りを実行して、第1の
データ・ラインのタグを読み、バーストの残りのライン
を読み取っている間にそのタグを更新する。フル・バー
スト動作を使用してタグを書き込むが、その時点でバー
スト動作を中止する。書き込み動作も、読み取り動作の
場合と同様な手段で短縮する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にマルチプ
ロセッサ・コンピュータ・システムに関するもので、特
にSDRAMメモリとの間の読み取り/書き込み動作を
一部切り捨てて実行する方法および装置に関するもので
ある。
【0002】
【従来の技術】マルチプロセッサ・コンピュータ・シス
テムは、典型的にはディレクトリ・ベースのキャッシュ
を使用する。このタイプのキャッシュは、メモリにデー
タ情報とともにキャッシュ・タグ情報を記憶し、読み取
りまたは書き込み動作がそのメモリにおいて実行される
時は必ず、そのタグを検査することによって、どのプロ
セッサがそのデータの所有者であるかあるいはどのプロ
セッサがそのデータを更新する最後のプロセッサである
かなどデータ情報の現在の状態が判断される。要求され
たメモリ動作のタイプに基づいて、タグを検査すること
によってその他どのような事象が起きなければならない
か判断される。事象には、例えば、別のプロセッサがデ
ータを共有していることのプロセッサへの通知、また
は、新しいデータが書き込まれたのでプロセッサがロー
カル・キャッシュに保持しているデータが今や無効であ
るという情報が、含まれる。そのようなタイプの事象
は、要求されたメモリ動作の前または同時に発生しなけ
ればならない場合がある。
【0003】メモリが読み書きされる時、要求されたメ
モリ動作に基づいて、現在のタグが常に読み取られ、次
に更新されなければならず、また、新しく更新されたタ
グはメモリに書き込まれなければならない。データ情報
の読み取りまたは書き込みに加えて、これらの手順が発
生する。典型的マルチプロセッサ・システムは、同期D
RAMすなわちSDRAMメモリを使用することがあ
る。SDRAMメモリは、本質的には伝統的DRAMメ
モリに似ているが、メモリ・コントローラに対する一層
単純でかつ効率的なインターフェースを提供する同期レ
ジスタを含む。
【0004】現世代のSDRAMは、バースト・モード
または単一バイト・モードのいずれかで作動するように
構成することができるが、同時に両方のモードで動作す
るように構成することはできない。単一バイト・モード
またはバイト単位モードの書き込み動作においては、各
動作毎に1バイトだけが各チップに書き込まれる。単一
バイト・モードの読み取り動作においては、各動作毎に
1バイトだけが各チップから読み取られる。単一RAM
チップの読み取りは、1バイトのデータまたは8ビット
のデータを提供する。各単一モード動作は、メモリ・モ
ジュールにおける各チップから1バイトを読み書きす
る。このようなデータ・ラインは1メモリ・ラインと呼
ばれている。1キャッシュ・ラインは、複数のメモリ・
ラインから成る。単一バイト・モード動作においては、
読み取りまたは書き込みコマンドの各々は、コマンド・
セット全体のオーバーヘッドを必要とし、多くの単一モ
ード動作はキャッシュ・ライン全体に作用することを要
求される。
【0005】バースト・モードにおいては、1つの読み
取りまたは書き込みコマンドが出され、そのコマンドに
よって複数のメモリ・ラインに作用が及ぶ。この場合各
ラインは連続するクロック・サイクルで作用される。バ
ースト動作全体は1つの単一モード動作より長いが、バ
ースト動作に関しては単一セットのオーバーヘッド・コ
マンドだけが必要とされるので、キャッシュ・ライン全
体に動作が行われる場合より効率的である。
【0006】SDRAMの基本的動作は、3つのフェー
ズのコマンドを伴う。第1のフェーズは起動(activate)
である。第2および第3のフェーズは、それぞれ読み書
き(read/write)コマンドおよび前準備(precharge)コマ
ンドである。メモリ・コントローラが、起動コマンドを
発して行アドレスを提供する。メモリ・コントローラ
は、次に、列アドレスとともに読み取りまたは書き込み
コマンドを出す。読み取りまたは書き込みフェーズが完
了すると、メモリ・コントローラは、次のメモリ動作に
備えて、前準備コマンドを出し、RAMをリセットして
アイドル状態に戻す。読み取り動作においては、この動
作を前の動作から切り離すために必要とされる一定の遅
延の後、起動が発生し、次に読み取りコマンドが出され
る。このように、RAMがデータを取得してそれを出力
する間に内部遅延が存在する。この遅延はCAS待ち時
間と呼ばれるプログラム可能な特性である。CASはCo
lumnAddress Strobe(すなわち列アドレス・ストロボ)を
表し、RASはRow AddressStrobe(すなわち行アドレス
・ストロボ)を表す。これらの用語は伝統的DRAM用
語ではあるが、SDRAMにも使用される。読み取りコ
マンドが出された後、CAS待ち時間に応じて、第1の
メモリ・ラインの出力が開始する。バースト動作におい
ては、第2、第3および第4のメモリ・ラインは、次の
連続クロック・サイクルにおいて出力される。別のコマ
ンドを発することができるようにするため回復期間(rec
overy period)と呼ばれる待機期間が存在し、動作を完
了するため前準備コマンドが出される。
【0007】書き込み動作は活動化フェーズを伴い、列
アドレスを使用する書き込みコマンドが発せられる。バ
ースト動作の場合、連続サイクルにおいてデータの第
1、第2、第3および第4のメモリ・ラインが呈示され
る。
【0008】タグ・データを読みそして書き込む際、別
の前準備コマンドおよび別の起動コマンドを出すことな
しにRAMが読み取りコマンドおよびその後の書き込み
コマンドを許容することができるように、メモリの同じ
位置が使用される。この場合のコマンド・シーケンス
は、データ読み取りに関して、起動、読み取りおよび待
機であり、データ書き込みに関して、データの書き込み
および次にシーケンスの完了としての前準備という順で
ある。
【0009】SDRAMは、また、データをマスクし
(すなわちデータ出力を不可にし)、その結果チップに対
し書き込まれるデータを無視するように通知する制御信
号を持つ。この信号は、DQMと呼ばれる。基本的DQ
M動作は、出力を使用不可にすることである。DQM信
号が出された後、読み取り待ち時間またはCAS待ち時
間に類似した待ち時間がある。従って、数クロックの
後、出力が使用不可にされる。書き込みの場合、DQM
信号が出されると、上記数クロック・サイクルの間経過
した書き込みデータは無視される。
【0010】読み取りまたは書き込みコマンドのフェー
ズのシーケンスがRAMに対するアクセスを制御する。
第1に起動フェーズがあり、次に読み書きコマンド・フ
ェーズがあり、最後に前準備フェーズがある。データ転
送が行われる唯一のフェーズは、読み書きコマンド・フ
ェーズである。起動フェーズおよび前準備フェーズはオ
ーバーヘッドである。また、RAMにアクセスするCA
SまたはRASのような時間遅延が存在し、これはまた
オーバーヘッドの一部である。バースト動作モードは、
同じオーバーヘッドに関して一層多くのデータ処理を可
能にする。例えば、単一の読み取りまたは書き込み動作
が実行されているとすれば、起動に関して2クロック、
読み取りに関して1クロック、データ取り出しのための
1クロック、実際データに関して1クロック、毎準備コ
マンドを待つ間の1待機クロック、1前準備クロック、
および次の起動コマンドの前に更に1クロックが存在す
る。このように、8クロック・サイクルのうち、実際に
データを移動するのは1サイクルにすぎない。同様に、
書込み動作については、約6サイクルのうち、データが
実際に移動するのは1サイクルにすぎない。バースト・
タイプ動作は、1つの単一モード動作にかかる上記と同
じオーバーヘッド遅延について複数のデータ動作を可能
にする。例えば、起動コマンドが出された後出される読
み取りコマンドは連続するクロックにおける読み取りア
クセス遅延を持ち、キャッシュ・ラインの各メモリ・ラ
インがSDRAMから読み取られる。このように、すべ
てのキャッシュ・ライン・データが同じオーバーヘッド
の間に転送されるので、効率は向上する。
【0011】
【発明が解決しようとする課題】バースト動作に関する
主な問題は、たとえキャッシュ・ラインの一部だけの読
み取りまたは書き込みが必要であるとしても、全サイク
ルをともなわなければならない点である。読み取り動作
の場合、バーストの残りが読み出されるのを待つ間動作
全体が遅延する。書込み動作の場合、全バーストを完了
するにはデータのすべてを書き直さなければならない。
バースト・モード装置に関して、単一読み取りまたは書
き込みを実行すると、そのオーバーヘッドは、単一バー
ストまたは単一バイト動作に関するオーバーヘッドより
も実際に悪い。
【0012】マルチプロセッサ・システムにおいて、読
み取り(read)、書き込み(write)および読み取り−修正
−書き込み(read-modify-write)というメモリ動作サイ
クルの3つの基礎的なタイプがある。読み取り動作は、
タグおよびデータを読み取り、タグを更新し、メモリに
新しいタグ情報を書き戻すという動作を含む。書き込み
動作は、タグを読み、タグを更新し、新しいタグおよび
データをメモリに書き込む動作を含む。読み取り−修正
−書き込み動作は、タグおよびデータを読み、必要に応
じてデータを更新し、タグを更新し、タグおよびデータ
をメモリに書き戻す動作を含む。最新状態が保持されな
ければならないタグをメモリに持つマルチプロセッサ・
システムでは、あらゆるメモリ・アクセスが、実質的に
は、読み取り−修正−書き込みである。唯一の問題は、
データをどれだけ読み取り、データをどれだけ書き込む
かということである。最も単純なアプローチは、あらゆ
るサイクルを読み取り−修正−書き込みにすることであ
る。
【0013】図5は、読み取り−修正−書き込みサイク
ルに関する事象のシーケンスを示す。メモリが次のコマ
ンドに備える間、活動(ACT)510およびアイドル51
1クロック期間が存在する。次に読み取りコマンド(RD)
520があり、更にもう1つのアイドル・クロック期間
521があり、その後、転送されるデータ読み取りの4
サイクル(R0、R1、R2、R3)522がある。読み取りから
の回復のための1アイドル期間523、データ・バス・
パイプラインを通過する伝播を待つためのもう1つの期
間524がある。次に、4データ・サイクル(W0、W1、W
2、W3)531をともなう書き込みコマンド(WR)530が
発せられ、その後に別の1アイドル期間532が続く。
最後に、次のサイクルのための準備を行う前準備(PRE)
540が出され、その後にアイドル期間541が続く。
そこで、装置は次の起動(ACT)コマンド550の準備が
整う。第1の起動510から起動550までの全期間
は、17クロック期間である。伝統的なDRAMを使用
した以前のシステムでは、フル・バースト読み取りまた
はフル・バースト書き込みを行わずに、列アクセスを行
ってタグを書き込む、あるいはタグだけを読みとって新
しいタグおよびデータを書き込むことによって効果的に
バースト読み取りを行うことが可能であった。しかし、
メモリ・コントローラとのインターフェースを大幅に単
純化するSDRAMに関しては、フル・バーストの読み
取り−修正−書き込みサイクルを実行しなければならな
いという問題が存在する。
【0014】解決されなければならない問題は、要する
に、SDRAMに関してバースト・モードを使用する
時、読み取りまたは書き込みが必要な場合すべてのメモ
リ・ラインに対してフル・バースト読み取り−修正−書
き込み動作が実行されなければならない点である。例え
ば、システムが4メモリ・ラインを持ち、1つの読み取
りが要求されるとすれば、3メモリ・ラインを書き込む
3クロックが無駄になる(タグをもつメモリ・ラインは
更新されなければならない)。書き込みについても同様
に、データが書き込まれようとする時、読み取りバース
トの残りを待つため3クロックが無駄になる(タグをも
つメモリ・ラインは読み取られなければならない)。従
って、バースト・モードで動作しながら、1クロック・
サイクルの間に1ブロックにおけるすべてのメモリ・ラ
インをアクセスしないで済むように効率化されたSDR
AM使用システムを設計することが求められている。
【0015】
【課題を解決するための手段】本発明の方法およびシス
テムは、読み取りまたは書き込み動作を切り捨てまたは
中止することによってタグおよびデータを読み書きする
際のオーバーヘッドを減少させる。本発明の切り捨て読
み取り動作においては、フル・バースト読み取りが実行
され、第1のデータ・ラインにおいてタグが読み取ら
れ、バーストの残りのラインが読み取られている間にそ
のタグが更新される。タグはフル・バースト動作を使用
して書き込まれるが、その時点でバースト動作は、SD
RAM書き込み中止機能を使用することによって中止ま
たは切り捨てされる。この機能は、書き込みの第1のラ
インが完了した後に書き込みを中止する前準備コマンド
と実質的に同じはたらきをする。これによって、17ク
ロック期間からなる1サイクルのうちから3クロック期
間が節約される。
【0016】本発明の切り捨て書き込み動作は、読み取
り動作の場合と同様である。フル・バースト読み取りが
タグの取り出しで始まり、そのタグは第1ラインに書き
込まれ、第1ラインが読み取られるとその時点でバース
ト読み取り動作は切り捨てられる。フル・バースト書き
込み動作はタグ読み取り直後に始まり、データの最後の
3メモリ・ラインがまず書き込まれる。最後の3ライン
が書かれている間にタグ・データは更新される。次に、
サイクルがまわってバースト書き込み動作の最後のサイ
クルにおいてタグを含む第1のデータ・ラインが書き込
まれる。
【0017】本発明の技術的利点は、フル・バースト読
み取り−修正−書き込み動作に存在する不要なクロック
・サイクルを、読み取りまたは書き込み動作から除去す
ることによって、メモリのスループットを増加し、メモ
リ・アクセス待ち時間を減少させることである。
【0018】
【発明の実施の形態】図1は、本発明のSDRAM制御
を使用する複数ノードのマルチプロセッサ・システムの
1つのノードを示している。システム全体は、図1に示
されるノードを複数含むであろう。
【0019】図示されている実施形態において、各ノー
ドは、最高16のプロセッサ110をサポートすること
ができる。これらのプロセッサは、プロセッサ・エージ
ェント・チップすなわちPAC111に接続している。
各PAC111の機能は、関連プロセッサからの要求を
クロス・バー・ルータ・チップすなわちRAC112を
経由して記憶アクセスチップすなわちMAC113へ転
送し、次に、応答を要求元プロセッサに返送することで
ある。各PAC111は、入出力(I/O)サブシステム1
17を持つ。各MAC113は、その関連接続メモリ1
14へのアクセスを制御する。プロセッサ110がメモ
リ(または他の資源)へのアクセス要求を生成すると、関
連PAC111が適切なRAC112を経由してMAC
113へ要求を送る。要求が局所ノード上のメモリ11
4へ向けられたものであれば、MAC113はそれに接
続したメモリにアクセスする。要求が別のノード上のメ
モリ114へ向けられたものであれば、MAC113は
要求をTAC115へ転送する。TAC115は、ノー
ドとSCIリング116の間のインターフェースであ
る。TAC115は、また、ドーナツ形アクセス・チッ
プまたはSCIコントローラとして知られている。SC
Iリング116(図示されていない)は、複数ノード・シ
ステムにおけるノードを相互に連結させる。
【0020】各MAC113は、4バンクのメモリ11
4に接続している(図では単純化のため2バンクだけが
示されている)。メモリの各バンクは、4枚の複式イン
ライン・メモリ・モジュール(すなわちDIMM)ボード
を含む。DIMMの各々(図示されていない)に含まれる
SDRAMは2行に配置される。1行は88ビット幅
で、11個のSDRAMを含む。
【0021】図4、メモリにおけるキャッシュ・ライン
の構成を示す。キャッシュ内のタグおよびデータの構成
は、8バイトのタグ、32バイトのキャッシュ・データ
および4バイトの誤り訂正コード(ECC)である。第1
のメモリ・ライン410は、8つのタグ・バイト41
1、2バイトのデータ412、413および1バイトの
ECC414を含む。後続のメモリ・ラインの各々は、
10バイトのデータ415および1バイトのECC41
6を含む。ECCは、エラー検出および訂正のために使
用される。
【0022】このようなバイト構成は、DIMM上のS
DRAMの構成に直接対応づけられる。DIMM上の各
SDRAMは、図4に示されるバイトの1列を提供す
る。各SDRAMはフル・バースト読み取りの場合4バ
イトを提供し、フル・バースト書き込みの場合4バイト
を受け取る。それらのバイトは、図4の1列内の各行に
対応する。
【0023】タグ・データを読み取りまたは書き込むた
め、4つのメモリ・ラインの第1のメモリ・ライン41
0が読み取りまたは書き込みされなければならない。D
IMM上のSDRAM1行のSDRAMの各々は、同じ
コマンドを受け取り並列的に信号を制御する。SDRA
Mが読まれる時、DIMM上のすべてのSDRAMが読
まれる。1つのSDRAMが書かれる時、1つのバンク
のDIMM上のすべてのSDRAMが書かれる。メモリ
は、バースト長が4であるように構成される。SDRA
Mが読み取りを命令されると、各SDRAMは4バイト
のデータを出力しようとする。並列的にアクセスされる
すべてのSDRAMは、タグまたはデータを含む10バ
イトのメモリである1つのメモリ・ラインを形成するよ
うに結合される。4ラインのフル・バースト読み取り
は、32バイトのデータおよび8バイトのタグを提供す
る。読み取りコマンドが出されると、SDRAMの内部
遅延の後、4つの連続的クロック・サイクルの各々毎に
1つのメモリ・ラインが読み出される。書き込みコマン
ドが出されると、データは、4つの連続的クロック・サ
イクルにおいて書き込まれる。
【0024】システムがフルの読み取り−修正−書き込
みを実行する必要がある場合がある。フルの読み取り−
修正−書き込みでは、タグが読み取られ、データのすべ
てが読み取られ、データの一部またはすべてが更新さ
れ、タグが更新され、タグおよびデータがフル・バース
トで書き込まれる。
【0025】上述の通り、図5は、SDRAMが実行す
る上記のような読み取り−修正−書き込みのシーケンス
を示す。しかし、必ずしもフルの読み取り−修正−書き
込みを実行する必要がなく、従って、フルのメモリ・キ
ャッシュ読み取り書き込みを実行するために必要な多く
の時間を使用することが不必要な場合がある。
【0026】図2は、読み取り部分だけを実行するよう
に切り捨てされる読み取り−修正−書き込み動作のタイ
ミングを示す。先ず、起動コマンド210が出され、1
クロック待機211が続く。次に、読み取りコマンド2
20が出され、SDRAM遅延仕様によって必要とされ
る1クロック待機211がそれに続く。この実施は、2
単位のCAS待ち時間を使用する。従って、2クロック
・サイクルの後、タグ・データを持つ第1のデータ・ラ
イン222が読み出される。タグは、メモリ・ボードを
越えてMACへ渡され、MACは、データ・ラインの残
りが読み取られている間に新しいタグ状態の計算を開始
する。このように、4つの連続クロック・サイクル22
2を通して、キャッシュ・ラインの4メモリ・ラインが
読み取られる。データがレジスタおよびケーブルを経由
してMACに伝播する間に、1クロック・サイクルの遅
延223がある。データ・バスの折り返しに、1クロッ
ク224が必要とされる。そこで、MACは、タグ・デ
ータ231に関する書き込みコマンド230を発し、直
ちに前準備コマンド240が追随する。
【0027】前準備コマンドが書き込みコマンドの完了
前に出されると、書き込みを中止して直ちに前準備へ進
むというのがSDRAM動作である。SDRAMが出会
うシーケンスは、起動(ACT)210、読み取り(RD)22
0、到来するフル・バーストの読み取り(R0、R1、R2、R
3)222、次に、第1のデータ・ライン231の書き込
み(WR)230である。次のクロック・サイクルでは、次
のデータを書かないようにRAMに指示するDQM信号
が出される。1クロックの後、前準備240が出され、
書き込みが中止され、そのサイクルでRAMの入力要件
を充足するようにDQM信号が出される。1クロック周
期241のアイドルの後、システムは、次の起動コマン
ド250を受ける準備ができる。このように、1つの起
動210から次の起動までの期間は14クロックであ
り、一方、フル読み取り−修正−書き込みサイクル(図
5)は17クロック期間を必要とする。従って、17ク
ロック・サイクルのうち3クロック・サイクル、すなわ
ち約18%の節約となる。
【0028】タグを読み、タグを更新し、新しいタグを
書き込むために要する時間は、パイプライン機構および
MAC接続コントローラ状態機械に含まられるロジック
に基づいてMAC内では固定されている。SDRAMの
観点からすれば、SDRAMは、タグ読み取りとタグ書
き込みの間に常に6クロック・サイクルを持つ。従っ
て、この場合、図2を参照すれば、第1メモリ・ライン
の読み取り222があて、次に残りのバースト読取りの
3クロック、2アイドル・クロック223、224、そ
してタグの書込み230となり、6サイクルの遅延が保
持される。図5に示される読み取り−修正−書き込みの
場合もまったく同様のタイミングとなる。読み取りサイ
クルに対して相対的な書き込みサイクルに関する限り
は、図2と図5のタイミングは同じである。
【0029】図3は、書き込み部分だけを実行するよう
に切り捨てされる読み取り−修正−書き込み動作のタイ
ミングを示す。まず、行アドレスを使用して起動コマン
ド310が出され、2クロックの後、列アドレスを使用
して読み取りコマンド320が出される。次のクロック
・サイクルで、次の3クロック・サイクルに関するDQ
M信号323が出される。DQMは、読み取り待ち時間
と同様に2クロックの待ち時間を持つので、読取りの後
2クロックして、RAMからのタグを含む第1のメモリ
・ライン332が読み取られ、DQM信号が出されてい
たので、SDRAMの出力ドライバは、次の2つのサイ
クルの間停止される。2アイドル・クロックの後書き込
みコマンドが出され、4メモリ・ラインが書き込まれ
る。従って、第1メモリ・ライン322が読み取られて
から3クロック後、書き込みコマンド330がSDRA
Mに出される。しかしながら、本発明の切り捨て書き込
み動作においては、書き込みバーストが第2のメモリ・
ライン322で開始するようにアドレス・ビットが制御
される。従って、第2、第3および第4のメモリ・ライ
ンが書き込まれ、次に、タグ・データを持つ第1のメモ
リ・ライン331が書き込まれる。このように、タグ読
み取りとタグ書き込みの間のタイミング関係は6クロッ
ク遅延であり、図2および図5の場合と同様である。
【0030】タグ入力がMACに存在すると直ちにMA
Cはタグを読む。MACは、次のクロック・サイクルで
データを書き始める。ライン1、ライン2、ライン3の
書き込みを開始し、そのバーストの終了時点ではタグの
更新が完了しライン・ゼロを書き込む準備ができてい
て、そのタグ・ラインが出力ストリームに送り出され
る。
【0031】読み取りコマンドが出されが、次に、すべ
てのデータを出力できる状態になる前に書き込みコマン
ドが出される。これは読み取り動作を中止する。DQM
のパイプライン構造のため、読み込まれたものの出力は
DQM信号によって無効にされる。ボード上のRAMか
らレジスタ・バッファへのバスは、読み取りと書き込み
の間アイドルにされなければならない。同時に2つを出
力する試みは、競合を派生し、部品を破壊する可能性が
ある。このように、折り返しをして次のデータを書き込
む前にアイドルとならなければならない。これは、DQ
Mを用いて読み取られたデータを無効にすることによっ
て達成される。
【0032】このように、ある1つの起動コマンド31
0から次の起動コマンド350までのクロックを数えれ
ばサイクルの流れは次のようになる。すなわち、起動3
10のため1クロック、1クロック遅延、読み取りコマ
ンド320を出すための1クロック、1クロック遅延、
タグ・データを読み取るための1クロック、2クロック
遅延、最後のタグ・データ書き込みを含めて、フル・バ
ースト書き込みのための4クロック、1クロック遅延、
前準備コマンド340、1クロック遅延、および次の起
動コマンド、という流れである。ある1つの起動コマン
ドから次の起動コマンドまでの時間は14クロックであ
る。17クロックを要する図5のフル読み取り−修正−
書き込みの場合に比較して、本発明のサイクルは3クロ
ック期間節約している。
【0033】DQM信号は、SDRAM上の出力を使用
不可にする。DQMは、読み取りまたは書き込みの一部
を無効にするために使用され、この機能によって、フル
読み取りまたは書き込み動作が実行されず、従って時間
が節約される。DQM信号はMACによって発信され
る。
【0034】SDRAM仕様は、そのデータ・ピンをD
Qとして参照する。この場合、Qはレジスタの出力であ
り、Dはレジスタの入力である。従って、入力でありか
つ出力でもある単一のピンがDQピンである。ピンがデ
ータを受け取っている時ピンはDである。ピンがデータ
を書いている時、ピンはQである。DQMのMはマスク
を表す。従って、DQMは読み取られているまたは書き
込まれているデータをマスクする手段である。読み取り
動作を実行していてDQM信号がオンにされると、DQ
M信号はSDRAMの出力ドライバをオフにする。SD
RAMはなおバーストを継続するが、その特定のクロッ
ク期間実際にはバスを駆動しない。
【0035】このように、DQMをオンにすることによ
って、データは読み取り動作からマスクされ、RAMは
なおバーストを続行する。従って、RAMからバースト
の1バイトだけをマスクするためには、DQMは、所望
のマスク・サイクルに先行するサイクルに関して2クロ
ック・サイクルだけ信号をオンにされる。本発明におい
て、DQMは、すべてのSDRAMから第2、第3およ
び第4のメモリ・ラインをマスクするために使用され
る。従って、タグ・データを含む第1のメモリ・ライン
が読みとられた後、次の3つのサイクルに関してDQM
信号がオンにされ、バーストの第2、第3および第4の
メモリ・ラインが使用不可にされる。これによって、一
層早期の書込みコマンドの発信が可能となる。この場合
のタイミングは、RAMがバースト読み取りを完了させ
ている間にデータ・バスを折り返しすることができるの
で、フル読み取り−修正−書き込みの場合に比べて3ク
ロック短い。
【0036】書き込み動作の間、DQMはRAMに対し
てデータをその入力として無視するように命令する。従
って、書き込みコマンドが出され、DQMがオンにされ
ていれば、RAMは、バーストの間その位置にデータを
書き込むことはしない。従って、タグ・データを含む第
1のメモリ・ラインが更新され書き込まれると、次のサ
イクルでDQM信号がオンにされる。このように、第1
のラインは書き込まれるが、第2のラインは書き出され
ない。しかし、DQMを3サイクル全体にわたってオン
にする必要はない。なぜなら、第3のメモリ・ラインの
サイクルの際の前準備コマンドによって読み取り−修正
−書き込み動作を中止させることができるからである。
DQM信号は前準備コマンドのサイクルにオンにされ
る。なぜなら、前準備がRAMに読み込まれる際、RA
Mはなお書き込みコマンドを実行していて、従って、デ
ータをなお求めているからである。そこで、DQMはこ
のサイクルでデータを無視するようにRAMに伝え、前
準備コマンドが現在のバースト・メモリ動作を中止また
は切り捨てる。
【0037】以上、本発明の詳細を上記特定の実施形態
を使用して記述したが、本発明の理念を離脱することな
く、上記実施形態に種々の変更を行うことが可能である
点は認められるべきであろう。
【0038】本発明には、例として次のような実施様態
が含まれる。 (1)メモリ・キャッシュが特定メモリのバースト長に
等しい複数のメモリ・ラインからなり、上記複数メモリ
・ラインの第1のメモリ・ラインが残りのメモリ・ライ
ンに記憶されているデータの現在時状態を記述するタグ
・データを含むように構成されるメモリ・キャッシュに
関して実行される読み取り−修正−書き込みメモリ動作
の読み取り部分を短縮する方法であって、第1のメモリ
・ラインを読み取るステップと、残りのメモリ・ライン
の読み取りを防止するためマスク信号をオンにするステ
ップと、上記第1のメモリ・ラインから読み取ったタグ
・データを更新するステップと、上記第1のメモリ・ラ
イン以外の上記残りのメモリ・ラインに書き込みを行う
ステップと、上記残りのメモリ・ラインの書き込みの
後、上記更新したタグ・データを用いて上記第1のメモ
リ・ラインに書き込みを行うステップと、を含むメモリ
動作短縮方法。 (2)メモリ・キャッシュが特定メモリのバースト長に
等しい複数のメモリ・ラインからなり、上記複数メモリ
・ラインの第1のメモリ・ラインが残りのメモリ・ライ
ンに記憶されているデータの現在時状態を記述するタグ
・データを含むように構成されるメモリ・キャッシュに
関して実行される読み取り−修正−書き込みメモリ動作
の書き込み部分を短縮する方法であって、第1のメモリ
・ラインを読み取るステップと、残りのメモリ・ライン
を読み取るステップと、上記第1のメモリ・ラインから
読み取ったタグ・データを更新するステップと、上記更
新したタグ・データを用いて上記第1のメモリ・ライン
に書き込みを行うステップと、複数のメモリ・ラインの
第2のメモリ・ラインの書き込みを防止するためマスク
信号をオンにするステップと、上記マスク信号がオンに
された後、前準備コマンドを発して、残りのメモリ・ラ
インの書き込みを防止するステップと、を含むメモリ動
作短縮方法。 (3)(バースト長−1)に等しいクロック数メモリ動作
が短縮される、上記(1)または(2)に記載のメモリ
動作短縮方法。
【0039】(4)メモリ動作を実行するモードとして
フル・バースト読み取り−修正−書き込み動作を使用す
るSDRAMメモリ・チップを有するコンピュータ・シ
ステムであって、メモリ・バンクに対してコマンドを出
す手段と、プロセッサによって指示されるバースト読み
取り動作またはバースト書き込み動作のいずれかをシミ
ュレートするようにメモリ動作を選択的に短縮する手段
と、を備えるコンピュータ・システム。 (5)複数のメモリ・ラインが、キャッシュ・ラインを
形成し、キャッシュ・ラインの第1のメモリ・ラインが
そのキャッシュ・ラインの残りのメモリ・ラインに記憶
されているデータの現在状態を記述するタグ・データを
持つように構成され、上記メモリ動作を選択的に短縮す
る手段が動作の書き込み部分を短縮することによってキ
ャッシュ・ラインのバースト読み取り動作をシミュレー
トするように構成され、上記メモリ動作を選択的に短縮
する手段が、第1ラインの書き込みの後DQMマスク信
号をオンにする手段およびバーストの残りのメモリ・ラ
インに関する動作を中止するため次のクロック・サイク
ルにおいて前準備コマンドを発する手段を含む、上記
(4)に記載のコンピュータ・システム。 (6)複数のメモリ・ラインが、キャッシュ・ラインを
形成し、キャッシュ・ラインの第1のメモリ・ラインが
そのキャッシュ・ラインの残りのメモリ・ラインに記憶
されているデータの現在状態を記述するタグ・データを
持つように構成され、上記メモリ動作を選択的に短縮す
る手段が動作の読み取り部分を短縮することによってキ
ャッシュ・ラインのバースト書き込み動作をシミュレー
トするように構成され、上記メモリ動作を選択的に短縮
する手段が、第1ラインの読み取り後DQMマスク信号
をオンにする手段および書き込み動作の最後に第1メモ
リ・ラインへの書き込みを行う手段を含む、上記(4)
に記載のコンピュータ・システム。 (7)上記メモリ動作を選択的に短縮する手段が、(バ
ースト長−1)に等しいクロック数だけメモリ動作を短
縮する、上記(5)または(6)に記載のコンピュータ
・システム。 (8)第1のメモリ・ラインの読み取りと短縮されるメ
モリ動作の第1のメモリ・ラインの書き込みの間のクロ
ック・サイクルの数がフル・バースト読み取り−修正−
書き込み動作における第1のメモリ・ラインの読み取り
と第1のメモリ・ラインの書き込みの間のクロック・サ
イクルと等しい、上記(5)乃至(7)のいずれかに記
載のコンピュータ・システム。 (9)上記フル・バースト読み取り−修正−書き込み動
作がメモリ動作を実行する唯一無二のモードである、上
記(4)乃至(8)のいずれかに記載のコンピュータ・
システム。
【0040】(10)SDRAMを使用するプロセッサ
・システムにおいてメモリ動作サイクルを短縮する方法
であって、バースト・サイクルの間にSDRAMのいく
つかの特定ラインに影響を及ぼすバースト・コマンドの
1つのバースト起動コマンドをSDRAMに対して発す
るステップと、上記バースト起動コマンドによって特定
された数のSDRAMラインに関してそのバースト・サ
イクルの間にデータを起動するステップと、上記バース
ト起動コマンドによって特定された数のSDRAMライ
ンに関する上記データ起動を選択的に禁止するステップ
と、を含むメモリ動作短縮方法。
【0041】
【発明の効果】本発明によって、SDRAMに関するフ
ル・バースト読み取り−修正−書き込み動作に存在する
不要なクロック・サイクルが、読み取りまたは書き込み
動作から除去され、そのためメモリのスループットが増
加し、メモリ・アクセス待ち時間が減少する。
【図面の簡単な説明】
【図1】本発明のSDRAM制御を使用する複数ノード
のマルチプロセッサ・システムの1つのノードを示すブ
ロック図である。
【図2】本発明の短縮読み取り動作のタイミングを示す
図表である。
【図3】本発明の短縮書き込み動作のタイミングを示す
図表である。
【図4】メモリ・キャッシュ・ラインの構成を示す図表
である。
【図5】フル・バーストの読み取り−修正−書き込み動
作のタイミングを示す図表である。
【符号の説明】
100 プロセッサ 111 プロセッサ・エージェント・チップ(PAC) 112 クロス・バー・ルータ・チップ(RAC) 113 記憶アクセスチップ(MAC) 114 メモリ 115 ドーナッツ型アクセス・チップ(TAC) 117 入出力サブシステム 210、250、310、350、510、550
起動コマンド 220、320、520 読み取りコマンド 230、330、530 書き込みコマンド 240、340 540 前準備コマンド 222、322 522 読み取りサイクル 231、332、531 書き込みサイクル 211,221、223、224、241、311、3
21、511,521, 、523, 524、53
2、541 アイドル・クロック・サイクル 232、323 DQM信号 410 第1のメモリ・ライン 411 タグ 412、413、415 データ 414、416 ECC

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】メモリ・キャッシュが特定メモリのバース
    ト長に等しい複数のメモリ・ラインからなり、上記複数
    メモリ・ラインの第1のメモリ・ラインが残りのメモリ
    ・ラインに記憶されているデータの現在時状態を記述す
    るタグ・データを含むように構成されるメモリ・キャッ
    シュに関して実行される読み取り−修正−書き込みメモ
    リ動作の読み取り部分を短縮する方法であって、 第1のメモリ・ラインを読み取るステップと、 残りのメモリ・ラインの読み取りを防止するためマスク
    信号をオンにするステップと、 上記第1のメモリ・ラインから読み取ったタグ・データ
    を更新するステップと、 上記第1のメモリ・ライン以外の残りのメモリ・ライン
    に書き込みを行うステップと、 上記残りのメモリ・ラインの書き込みの後、上記更新し
    たタグ・データを用いて上記第1のメモリ・ラインに書
    き込みを行うステップと、 を含むメモリ動作短縮方法。
JP9289800A 1996-11-12 1997-10-22 メモリ動作短縮方法 Withdrawn JPH10207771A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US747,320 1996-11-12
US08/747,320 US5974514A (en) 1996-11-12 1996-11-12 Controlling SDRAM memory by using truncated burst read-modify-write memory operations

Publications (2)

Publication Number Publication Date
JPH10207771A true JPH10207771A (ja) 1998-08-07
JPH10207771A5 JPH10207771A5 (ja) 2005-03-10

Family

ID=25004583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9289800A Withdrawn JPH10207771A (ja) 1996-11-12 1997-10-22 メモリ動作短縮方法

Country Status (2)

Country Link
US (1) US5974514A (ja)
JP (1) JPH10207771A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862248B2 (en) 2003-06-28 2005-03-01 Hynix Semiconductor Inc. Method for masking ringing in DDR SDRAM
US7054221B2 (en) 2003-06-30 2006-05-30 Hynix Semiconductor Inc. Data pass control device for masking write ringing in DDR SDRAM and method thereof
JP2013502646A (ja) * 2009-08-20 2013-01-24 ラムバス・インコーポレーテッド 原子メモリ装置

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991850A (en) * 1996-08-15 1999-11-23 Micron Technology, Inc. Synchronous DRAM modules including multiple clock out signals for increasing processing speed
US6415364B1 (en) * 1997-12-31 2002-07-02 Unisys Corporation High-speed memory storage unit for a multiprocessor system having integrated directory and data storage subsystems
US6247101B1 (en) * 1998-07-01 2001-06-12 Lsi Logic Corporation Tagged access synchronous bus architecture
US6038693A (en) * 1998-09-23 2000-03-14 Intel Corporation Error correction scheme for an integrated L2 cache
DK1245027T3 (da) * 1999-12-17 2004-11-15 Thomson Licensing Sa Anvendelse af en SDRAM som lager til korrektion og spormellemlagring i frontend ID'er for optiske optage- eller gengiverindretninger
US6314049B1 (en) 2000-03-30 2001-11-06 Micron Technology, Inc. Elimination of precharge operation in synchronous flash memory
JP2001290696A (ja) * 2000-04-07 2001-10-19 Minolta Co Ltd メモリ基板
US6463506B1 (en) * 2000-04-29 2002-10-08 Hewlett-Packard Company Arrangement of data within cache lines so that tags are first data received
US6728798B1 (en) * 2000-07-28 2004-04-27 Micron Technology, Inc. Synchronous flash memory with status burst output
KR100644597B1 (ko) * 2000-08-05 2006-11-10 삼성전자주식회사 버스 시스템 및 그 커맨드 전달방법
US6310809B1 (en) 2000-08-25 2001-10-30 Micron Technology, Inc. Adjustable pre-charge in a memory
US6327202B1 (en) 2000-08-25 2001-12-04 Micron Technology, Inc. Bit line pre-charge in a memory
US6580659B1 (en) 2000-08-25 2003-06-17 Micron Technology, Inc. Burst read addressing in a non-volatile memory device
US6691204B1 (en) * 2000-08-25 2004-02-10 Micron Technology, Inc. Burst write in a non-volatile memory device
US20020135817A1 (en) * 2001-03-22 2002-09-26 Kuo-Jeng Wang Data transmission scheme for scanner
US6708258B1 (en) * 2001-06-14 2004-03-16 Cisco Technology, Inc. Computer system for eliminating memory read-modify-write operations during packet transfers
US6826113B2 (en) * 2003-03-27 2004-11-30 International Business Machines Corporation Synchronous dynamic random access memory device having memory command cancel function
US7480774B2 (en) * 2003-04-01 2009-01-20 International Business Machines Corporation Method for performing a command cancel function in a DRAM
KR100720260B1 (ko) * 2004-11-15 2007-05-22 주식회사 하이닉스반도체 반도체 메모리 장치의 로컬 입출력 라인 프리차지 회로
US7945840B2 (en) * 2007-02-12 2011-05-17 Micron Technology, Inc. Memory array error correction apparatus, systems, and methods
US7617354B2 (en) * 2007-03-08 2009-11-10 Qimonda North America Corp. Abbreviated burst data transfers for semiconductor memory
US7684280B2 (en) * 2007-10-22 2010-03-23 Advantest Corporation Histogram generation with banks for improved memory access performance
US8452920B1 (en) 2007-12-31 2013-05-28 Synopsys Inc. System and method for controlling a dynamic random access memory
KR20100101449A (ko) * 2009-03-09 2010-09-17 삼성전자주식회사 메모리 장치, 그것의 마스크 데이터 전송 방법 및 입력 데이터 정렬 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450130A (en) * 1994-03-30 1995-09-12 Radius Inc. Method and system for cell based image data compression
US5640364A (en) * 1994-12-23 1997-06-17 Micron Technology, Inc. Self-enabling pulse trapping circuit
US5668773A (en) * 1994-12-23 1997-09-16 Micron Technology, Inc. Synchronous burst extended data out DRAM
US5587961A (en) * 1996-02-16 1996-12-24 Micron Technology, Inc. Synchronous memory allowing early read command in write to read transitions

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862248B2 (en) 2003-06-28 2005-03-01 Hynix Semiconductor Inc. Method for masking ringing in DDR SDRAM
US7054221B2 (en) 2003-06-30 2006-05-30 Hynix Semiconductor Inc. Data pass control device for masking write ringing in DDR SDRAM and method thereof
JP2013502646A (ja) * 2009-08-20 2013-01-24 ラムバス・インコーポレーテッド 原子メモリ装置
US9658953B2 (en) 2009-08-20 2017-05-23 Rambus Inc. Single command, multiple column-operation memory device
US9898400B2 (en) 2009-08-20 2018-02-20 Rambus Inc. Single command, multiple column-operation memory device
US10552310B2 (en) 2009-08-20 2020-02-04 Rambus Inc. Single command, multiple column-operation memory device
US11204863B2 (en) 2009-08-20 2021-12-21 Rambus Inc. Memory component that performs data write from pre-programmed register
US11720485B2 (en) 2009-08-20 2023-08-08 Rambus Inc. DRAM with command-differentiated storage of internally and externally sourced data
US11748252B2 (en) 2009-08-20 2023-09-05 Rambus Inc. Data write from pre-programmed register
US12189523B2 (en) 2009-08-20 2025-01-07 Rambus Inc. Command-differentiated storage of internally and externally sourced data

Also Published As

Publication number Publication date
US5974514A (en) 1999-10-26

Similar Documents

Publication Publication Date Title
US5974514A (en) Controlling SDRAM memory by using truncated burst read-modify-write memory operations
US5893136A (en) Memory controller for independently supporting Synchronous and Asynchronous DRAM memories
US6504785B1 (en) Multiprocessor system with integrated memory
CN100386753C (zh) 脉冲串长度比预取长度短的存储器系统
US8195918B2 (en) Memory hub with internal cache and/or memory access prediction
US6604180B2 (en) Pipelined memory controller
EP1665058B1 (en) Memory module and method having on-board data search capabilites and processor-based system using such memory modules
JP4507186B2 (ja) モードレジスタにおけるバースト長設定の変更を行わずに、異なるバースト長のアクセスをサポートするdram
JP2909592B2 (ja) コンピュータメモリシステム
US7774559B2 (en) Method and system for terminating write commands in a hub-based memory system
JP2004110785A (ja) メモリコントローラ
KR100679370B1 (ko) 메모리 소자에서의 워드 순서지정 방법
JP2005535038A (ja) 内部ロウキャッシングを有するメモリハブおよびアクセス方法。
US6243768B1 (en) Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus
US6748527B1 (en) Data processing system for performing software initialization
EP1012687B1 (en) Method and apparatus for controlling data transfer between a synchronous dram-type memory and a system bus
US5926828A (en) Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus
JPH06318178A (ja) キャッシュタグメモリ用キャッシュタグ制御装置及び制御方法
JP3111052B2 (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JP3967921B2 (ja) データ処理装置及びデータ処理システム
JPH06231032A (ja) アクセス制御装置
JP3516835B2 (ja) 情報処理システム
JPH04297936A (ja) メモリ制御回路
HK1030817B (en) Method and apparatus for controlling data transfer between a synchronous dram-type memory and a system bus
JPH01287757A (ja) 記憶装置の接続方式

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040408

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040408

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20061017