JPH06214871A - デュアルポート電子データ記憶システム及び電子データ記憶システム、並びに同時アクセス方法 - Google Patents

デュアルポート電子データ記憶システム及び電子データ記憶システム、並びに同時アクセス方法

Info

Publication number
JPH06214871A
JPH06214871A JP5274682A JP27468293A JPH06214871A JP H06214871 A JPH06214871 A JP H06214871A JP 5274682 A JP5274682 A JP 5274682A JP 27468293 A JP27468293 A JP 27468293A JP H06214871 A JPH06214871 A JP H06214871A
Authority
JP
Japan
Prior art keywords
data
memory
address
memory array
write
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
JP5274682A
Other languages
English (en)
Other versions
JP2716350B2 (ja
Inventor
Anthony G Aipperspach
ガス アイッパースパック アンソニー
Dennis T Cox
トーマス コックス デニス
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06214871A publication Critical patent/JPH06214871A/ja
Application granted granted Critical
Publication of JP2716350B2 publication Critical patent/JP2716350B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

(57)【要約】 【目的】 改善されたディジタル電子メモリデバイスを
提供すること。 【構成】 相互書き込み回路234は、メモリアレイ2
02、204と、第1のラッチセット216、218
と、第2のラッチセット230、232と、へ接続さ
れ、メモリアレイ202に事前に書き込まれ、かつ第1
のラッチセットに格納されたデータに応答してメモリア
レイ204にデータを書き込むこと、及びメモリアレイ
204に事前に書き込まれ、かつ第2のダッチセットに
格納されたデータに応答してメモリアレイ202にデー
タを書き込むことによって相互書き込みを行なう。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、ディジタル電
子メモリデバイス(記憶装置)に係り、特に、冗長デー
タ記憶装置を有する電子メモリデバイスに関する。さら
に、より詳細には、本発明は、冗長データ記録装置とデ
ュアルポートメモリアクセスとを有する電子メモリデバ
イスに関する。
【0002】
【従来の技術】高速データ処理システムにおいて、キャ
ッシュメモリは、メインメモリ内に格納されたデータを
アクセスするための有効時間を減少するために使用され
る。キャッシュメモリは、メインメモリのより大きく、
かつ通常はより低速の領域から複写された選択されたデ
ータを格納するバッファである。キャッシュメモリは、
システムプロセッサが、プロセッサがメインメモリから
データを検索しなければならなかった場合よりも速くデ
ータを検索するのを可能とする。プロセッサスループッ
ト(処理能力)は、より遅いメモリから要求されたデー
タを待機しながら空費されるプロセッサマシンサイクル
がより少数である程増加する。キャッシュメモリ読み取
り又は書き込みサイクルが一つのプロセッサマシンサイ
クル内で実行され得ることは理想的である。それゆえ、
プロセッサは、キャッシュメモリ動作が実行されている
間、待機する必要がなくなる。データ処理システムのデ
ザインにキャッシュメモリを組み込むことによって、よ
り遅いメインメモリからのデータを待機するために事前
に費やされたプロセッサマシンサイクルは、今度は有用
な動作を実行するために使用され得る。
【0003】しかしながら、プロセッサスループット
は、プロセッサによって要求されたデータがキャッシュ
メモリ内に格納される場合にのみ増加する。キャッシュ
メモリの使用は、あるデータが、プロセッサによって任
意の所与時間において次に選択されることの確率が、他
のデータよりも高いという原理に基づく。このようなよ
り高い確率データがキャッシュメモリ内に格納された場
合、データに対する平均アクセス時間は減少する。従っ
て、データは、キャッシュヒット(hit )の確率を増加
させようと試みて、頻繁に、キャッシュメモリを出たり
入ったりする。キャッシュヒットは、プロセッサによっ
て必要とされる次のデータがキャッシュメモリ内に位置
しており、かつプロセッサが迅速にデータをアクセスす
ることができる時に発生する。
【0004】キャッシュメモリの内容を効率的に管理す
るための努力において、メモリ管理ユニット(MMU)
又はいくつかの他の装置は、中央処理装置(CPU)が
キャッシュメモリをアクセスしようと試みている間、頻
繁に、キャッシュメモリへデータを入れたり出したり細
かく移動させようする。このようなキャッシュメモリへ
の同時アクセスの必要性に対する一つの解決法は、単一
メモリアレイが二つの装置によって同時にアクセスされ
るのを許容するデュアルポートメモリを使用することで
ある。デュアルポートメモリを使用することの一つの欠
点は、比較的大きなチップサイズを有する装置に付随す
る高いコストである。デュアルポートメモリチップは、
シングルポートメモリチップの2倍よりも大きい。大き
なチップサイズは製造歩留りを減少させる。製造歩留り
とは、製造される良質のチップの数と組み立てられるチ
ップの総数の比率である。
【0005】メインプロセッサのマシンサイクルと同じ
速さのサイクル時間を有するキャッシュメモリに加え
て、データ処理システムデザインの他の目標は、データ
の完全性を保護すると共に、シングルポイントの故障を
避けることにある。このような目標を達成するための一
つの方法は、冗長データ記憶装置を有するメモリを使用
することにある。データが冗長データ記憶装置を有する
メモリに書き込まれる度ごとに、データの二つのコピー
が二つの分離したメモリアレイ内に格納される。(例え
ば、パリティチェックを使用することによって)第1の
アレイ内のデータにおいてエラーが検出された場合、代
わりに第2のアレイからのデータが使用される。冗長メ
モリを使用することの欠点は、メモリチップのサイズと
コストである。冗長メモリチップは、二つのメモリアレ
イを必要とし、これによりシリコンチップ上で2倍の面
積が必要となる。上記に説明されているように、大きな
チップサイズは、製造歩留りを低下させ、従って製造コ
ストが高くなる。
【0006】冗長データ記憶装置を有するデュアルポー
トキャッシュメモリを必要とする従来のデータ処理シス
テムは、シングルポートメモリデバイスの4倍の大きさ
のメモリチップを使用しなければならない。従って、デ
ュアルポート能力がチップサイズを2倍にし、かつデー
タ冗長はサイズを再び2倍にする。このように、同じ能
力を有する従来のメモリのスペースの約半分を占めるコ
ンフィギュレーションにおいて、デュアルポートと冗長
記憶装置の能力を有するキャッシュメモリの必要性が存
在していることは理解されよう。
【0007】
【発明が解決しようとする課題】本発明の一つの目的
は、改善されたディジタル電子メモリデバイスを提供す
ることにある。
【0008】本発明の他の目的は、冗長データ記憶装置
を有する改善されたディジタル電子メモリデバイスを提
供することにある。
【0009】本発明のさらに他の目的は、冗長データ記
憶装置とデュアルポートメモリアクセスを有する改善さ
れたディジタル電子メモリデバイスを提供することにあ
る。
【0010】
【課題を解決するための手段】上記の目的は以下のよう
にして達成される。複数のメモリアレイ内に格納された
冗長データを有するデュアルポートメモリデバイスを提
供するためのデータ処理システムにおける方法及びシス
テムが開示されている。第1のデータポートと連結され
ているデータ及びアドレスラッチの第1のセットは、デ
ータ及びアドレス情報を格納するために提供されてい
る。第2のデータポートと連結されているデータ及びア
ドレスラッチの第2のセットは、データ及びアドレス情
報を格納するために提供されている。各データポートは
メモリアレイと連結されている。外部記憶装置アクセス
期間の後で、相互書き込み回路は、第1のメモリアレイ
に事前に書き込まれ、かつデータとアドレスラッチの第
1のセット内に格納されたデータに応答して第2のメモ
リアレイにデータを書き込むことによって、及び第2の
メモリアレイに事前に書き込まれ、かつデータとアドレ
スラッチの第2のセット内に格納されたデータに応答し
て第1のメモリアレイにデータを書き込むことによっ
て、内部相互書き込み動作を実行し、ここで第1又は第
2のメモリアレイのいづれかに書き込まれたデータの冗
長コピーが生成される。
【0011】本発明の一つの態様は、デュアルポート電
子データ記憶システムであって、データ及びアドレス情
報を格納するためのデータ及びアドレスラッチの第1の
セットと、データ及びアドレスラッチの前記第1のセッ
トと連結された第1のメモリアレイと、データ及びアド
レス情報を格納するためのデータ及びアドレスラッチの
第2のセットと、データ及びアドレスラッチの前記第2
のセットと連結された第2のメモリアレイと、前記第1
のメモリアレイに事前に書き込まれ、かつデータ及びア
ドレスラッチの前記第1のセット内に格納されたデータ
に応答して前記第2のメモリアレイにデータを書き込む
こと、及び前記第2のメモリアレイに事前に書き込ま
れ、かつデータ及びアドレスラッチの前記第2のセット
内に格納されたデータに応答して前記第1のメモリアレ
イにデータを書き込むことによって、相互書き込み動作
を実行するために、前記第1のメモリアレイと、前記第
2のメモリアレイと、データ及びアドレスラッチの前記
第1のセットと、データ及びアドレスラッチの前記第2
のセットとに連結された相互書き込み回路を、を備えこ
れによって、前記第1及び前記第2のメモリアレイのい
づれかに書き込まれたデータの冗長コピーが生成される
ことよりなるデュアルポート電子データ記憶システムで
ある。
【0012】本発明の一つの態様は、電子データ記憶シ
ステムであって、データ及びアドレス情報を格納するた
めのデータ及びアドレスラッチの第1のセットと、デー
タ及びアドレス情報を格納するためのデータ及びアドレ
スラッチの第2のセットと、複数のメモリアレイと、前
記複数のメモリアレイのうちの一つに書き込むために事
前に使用され、かつデータ及びアドレスラッチの前記第
1及び前記第2のセットの内の少なくとも一方に格納さ
れた前記アドレス及びデータ情報に応答して、前記複数
のメモリアレイ内の格納されたデータを変更するため
に、データ及びアドレスラッチの前記第1及び前記第2
のセット並びに前記複数のメモリアレイに連結された手
段と、を備え、これによって前記複数のメモリアレイの
内の一つのメモリアレイに書き込まれたデータの冗長コ
ピーが前記複数のメモリアレイの内の他のメモリアレイ
に複写されることよりなる電子データ記憶システムであ
る。
【0013】本発明の一つの態様は、データ処理システ
ムにおけるメモリ内に格納された冗長データセットへの
同時アクセスを提供する方法であって、メモリサイクル
の第1の部分の間、第1のシングルポートメモリアレイ
をアクセスするステップと、前記メモリサイクルの前記
第1の部分の間、第2のシングルポートメモリアレイを
アクセスするステップと、前記第1及び前記第2のシン
グルポートメモリアレイの内の少なくとも一方への書き
込み動作に応答して前記メモリサイクルの第2の部分の
間は自動的に相互書き込み動作を実行するステップと、
を備え、これによって前記第1及び前記第2のメモリア
レイの内の一方に書き込まれたデータの冗長コピーが生
成されることよりなる同時アクセス方法である。
【0014】
【実施例】図1に関しては、本発明の方法及びシステム
を実施するために使用されるマルチポートCPU、メイ
ンメモリ、及びデュアルポートキャッシュメモリを有す
るデータ処理システムの高水準のブロック図が示されて
いる。データ処理システム100は、プロセッサ10
2、メインメモリ104、及びキャッシュメモリ106
を含む。好ましい実施例においては、プロセッサ102
は、複数の並列動作を実行することが可能であり、かつ
データ、アドレス、及び制御ラインの三つのセットを有
する。プロセッサ102は、これら三つの分離バスを介
してキャッシュメモリ106及びメインメモリ104に
接続されている。三つのバスのうちの二つは、プロセッ
サ102を、デュアルポートメモリであるキャッシュメ
モリ106に接続するために使用される。プロセッサ1
02は、制御ライン108、アドレスライン110、及
びデータライン112によってキャッシュメモリ106
の第1ポートに接続されている。プロセッサ102は、
制御ライン114、アドレスライン116、及びデータ
ライン118によってキャッシュメモリ106の第2ポ
ートに接続されている。図1において、キャッシュメモ
リ106のタグメモリ部分とデータメモリ部分は分離し
て示されていない。キャッシュメモリ106は、以下に
説明されているセット連想記録装置のデザインを組み込
むこともある。
【0015】プロセッサ102は、制御ライン122、
アドレスライン124、及びデータライン128を含む
第3のデータバスを介してメインメモリ104に接続さ
れている。本発明の好ましい実施例においては、データ
ライン128は、16ビット幅であり、かつ関連する制
御ラインと共に、より速いデータライン112及び11
8の半分のデータレートで動作する。データライン11
2及び118は8ビット幅である。
【0016】クロック120は、プロセッサ102とキ
ャッシュメモリ106の両方に接続されており、かつプ
ロセッサ102によるキャッシュメモリアクセスの同期
化のためにクロック信号を供給する。
【0017】プロセッサ102は、好ましくは並列デザ
インであり、かつ複数のデータポートを有する。プロセ
ッサ102は複数の並列動作を実行することが可能であ
り、かつキャッシュメモリ106内に格納されたデータ
への同時アクセスを必要とする。プロセッサ102の第
1の部分はソフトウェアの命令を実行することによって
タスキングされるが、プロセッサ102の第2の部分
は、正規の命令実行とメモリ管理タイプ機能がタスキン
グされる。この種の機能は、キャッシュメモリ106内
に格納されたデータを更新することを含んでおり、これ
によってプロセッサ102の第1の部分内でのソフトウ
ェア実行をサポートする。プロセッサ102の両ポート
はキャッシュメモリ106と同期的に動作し、かつクロ
ック120とシンクロする。他の構成は、同期的に動作
する二つのプロセッサ、又はメモリ管理ユニットと共に
動作する一つのプロセッサなどのプロセッサ102のた
めに使用され得る。
【0018】図2に関しては、図1のデータ処理システ
ムを実行するために使用される好ましいキャッシュメモ
リチップの詳細をさらに示すブロック図が描かれてい
る。連想キャッシュメモリシステムのタグメモリ部分は
図2には示されていない。キャッシュメモリ200は少
なくとも二つのメモリアレイ、即ちメモリアレイ202
とメモリアレイ204を含む。この実施例においては、
二つのメモリアレイが示されているが、本発明の他の実
施例においては二つより多くのメモリアレイが使用され
てもよい。メモリアレイ202はデータラッチ208に
接続された四つのデータ出力206の(a)、(b)、
(c)、及び(d)を有する。データラッチ208から
の四つの出力の各々は、八つのデータビットと、一つの
パリティビットからなる9ビットを有しており、かつマ
ルチプレクサ210へ入力データを供給する。後期選択
信号212は、マルチプレクサ210への四つの入力の
内の一つをデータ出力ラッチ214へ送られるように選
択するマルチプレクサ210へ制御信号を供給する。デ
ータ出力ラッチ214は、メモリアレイ202からの読
み取りサイクルの間、ラインD0上に出力されるデータ
を格納する。
【0019】キャッシュメモリ200は、本発明の好ま
しい実施例による4ウェイのセット連想キャッシュメモ
リを使用するデータ処理システムのためにデザインされ
ている。セット連想キャッシュにおいて、メモリは、キ
ャッシュヒットレートを改善する「ライン」の明瞭な
「セット」へパーティション分割される。本発明の実施
例においては、ラインの四つのセットが使用され、これ
によって4ウェイのセット連想キャッシュが提供される
ことになる。キャッシュメモリがアクセスされると、セ
ット内の全てのデータラインが同時に読み取られ、次い
で、後期選択信号212及び226に応答して読み取り
サイクルの終わり頃にマルチプレクサ210及び224
によって選択される。後期選択信号212及び226
は、タグメモリ(図示されてない)によって発生され、
かつどのセットが要求されたデータと整合するかを表示
する。これらの信号はタグ比較プロセスの終わりに発生
され、従ってメモリアドレスサイクルにおいて比較的後
に到着する。タグメモリによるこの様な信号の発生は、
キャッシュデザインの技術における当業者に公知であ
る。
【0020】メモリアレイ202への書き込みサイクル
の間、データはデータ入力ラッチ216内に格納され
る。データ入力ラッチ216は、データラインD0とメ
モリアレイ202へ接続されている。読み取り又は書き
込みサイクルの間、アドレスラインA0からのアドレス
情報はアドレスラッチ218内に格納される。アドレス
ラッチ218はメモリアレイ202と接続されており、
かつメモリ読み取り又は書き込み動作のためにアドレス
情報を提供する。データ入力ラッチ216とアドレスラ
ッチ218がデータ及びアドレス情報をラッチした後
で、プロセッサ102は、キャッシュメモリ200内の
メモリアレイ202への書き込み動作が終了する前に、
引き続く動作の実行を進める。データ入力ラッチ216
及びアドレスラッチ218は、プロセッサ102が一つ
の書き込みサイクル当り二つのチップクロスを回避する
のを可能とする。一つのデバイスから他のデバイスへの
データの通信であるチップクロスはデータバスの駆動に
おいて固有の遅延を含む。
【0021】メモリアレイ204は、メモリアレイ20
2について上述されているラッチと同様に、入力と出力
のラッチのセットと接続されている。メモリアレイ20
4は、四つのデータ出力220の(a)、(b)、
(c)、及び(d)を有し、かつ各9ビットの出力はデ
ータラッチ222と接続されている。データラッチ22
2は四つのデータ出力を有しており、これらのデータ出
力の全てはマルチプレクサ224と接続されている。後
期選択信号226は、マルチプレクサ224への四つの
データ入力のうちのいづれがデータ出力ラッチ228ヘ
送られるかを決定するために使用される。メモリアレイ
204内に含まれているデータはデータラインD1上の
データ出力ラッチ228から読み取られる。データライ
ンD1もデータ入力ラッチ230を介してメモリアレイ
204へデータを書き込むために使用される。アドレス
ラッチ232は、アドレスラインA1からアドレス情報
を格納するために使用され、かつメモリアレイ204と
接続されている。
【0022】相互書き込み(cross-write)回路234
は、メモリアレイ202とメモリアレイ204の両方に
接続されている。相互書き込み回路234は、データ入
力ラッチ216、アドレスラッチ218、アドレスラッ
チ232、及びデータ入力ラッチ230とも接続されて
いる。相互書き込み回路234は相互書き込みイネーブ
ル236からの信号によって、使用可能又は使用不能と
なり得る。
【0023】相互書き込み回路234が使用可能とさ
れ、メモリアレイ202への書き込みサイクルにすぐに
続く時には、メモリアレイ202へ書き込まれ、かつア
ドレスラッチ218内に格納されたアドレスにおいてデ
ータ入力ラッチ216内に格納されたデータは、アドレ
スラッチ218内に格納されたメモリ位置においてメモ
リアレイ204に後から書き込まれる。このような相互
書き込み動作は、メモリアレイ202にまず最初に書き
込まれたデータの冗長コピーをメモリアレイ204に格
納する。同様に、データがメモリアレイ204に書き込
まれた場合、データ入力ラッチ230内に格納されたデ
ータは、アドレスラッチ232内に格納されたアドレス
において、後からメモリアレイ202に書き込まれる。
以下に記述されているように、メモリサイクルの後から
の部分の間、及び外部デバイス(外部書き込み)による
最初に書き込みの後で、全ての相互書き込み動作が発生
する。
【0024】プロセッサ102が情報をメモリアレイ2
02に書き込み、次いで同じメモリサイクルの間、情報
をメモリアレイ204に同時に書き込む場合は、データ
入力ラッチ230及びアドレスラッチ232において格
納されたデータ及びアドレス情報に従ってメモリアレイ
202内に格納されたデータを更新し、次いでデータ入
力ラッチ216及びアドレスラッチ218において格納
されたデータ及びアドレス情報に従ってメモリアレイ2
04を同様に更新する。
【0025】キャッシュメモリ200内で、外部メモリ
アクセスの始めから次の可能性のある外部メモリアクセ
スの始めまでの時間として定義されるメモリサイクル
は、三つのサブサイクル、即ち、サブサイクル1、2、
及び3、に分割される。サブサイクル1の間、プロセッ
サ102は両メモリポートから読み取り及び両メモリポ
ートに書き込みが許容される。サブサイクル1は、メモ
リアクセス期間と呼ばれてもよい。従って、プロセッサ
102は、サブサイクル1として定義されたメモリサイ
クルの第1の部分の間、一メモリサイクル当り一度キャ
ッシュメモリ106へのアクセスが許容される。
【0026】相互書き込み動作は、サブサイクル2の
間、即ちプロセッサ102がメモリアレイ202及びメ
モリアレイ204のいづれか又は両方にデータを書き込
んだ後で、及び次のプロセッサメモリサイクルの前に、
生じる。サブサイクル3の間、キャッシュメモリ200
は、事前のメモリ動作が読み取り動作でなかった(従っ
て、サブサイクル2の間は相互書き込み動作が行なわれ
ない)場合、引き続く読み取り動作に備えてビット検知
ラインを復元する(事前充電する)。相互書き込み動作
がサブサイクル2の間に実行されなかった場合、復元
は、サブサイクル3ではなくサブサイクル2の間に実行
される。
【0027】相互書き込み動作は次のメモリアクセス期
間の前に生じるので、同じメモリサイクルの間、プロセ
ッサ102が同じ対応メモリアドレスへ異なるデータワ
ードを書き込む状態を除いては、メモリアレイ202と
メモリアレイ204は、同じ対応アドレスにおいて格納
された同じデータ情報を含んでいる。異なるデータが同
じ位置へ同時に書き込まれる時、メモリアレイ202に
書き込まれたデータは、メモリアレイ204に事前に書
き込まれたデータによって重ね書きされ、かつメモリア
レイ204に事前に書き込まれたデータは、メモリアレ
イ202に書き込まれたデータによって重ね書きされ
る。この場合において、異なるデータが同じ位置に同時
に書き込まれる時、相互書き込み動作はデータの冗長性
を破壊する。従来の技術のデバイスにおいては、異なる
データが同じメモリアドレスに書き込まれる場合、中間
データワードが指定されたアドレスに格納され得る。デ
ータの冗長性の破壊を阻止するために、キャッシュメモ
リ200の外部にある回路(図示されてない)は、プロ
セッサ102が、プロセッサ102のポートの内の一つ
からのメモリの書き込みを遅延させることによって、同
じメモリサイクルの間、同じ位置へ異なるデータを書き
込まないようにする。しかしながら、データの冗長性を
破壊するためのこのような能力は、メモリエラーを検出
する責任を有するキャッシュメモリ200の外部にある
回路をテストするために使用され得る。
【0028】プロセッサ102がポート0及びポート1
の両方からキャッシュメモリ200を同時に読み取る場
合、次のメモリアクセスの前に、相互書き込み回路23
4がいかなるデータをも相互書き込みすることは必要と
されない。
【0029】図3においては、上記に説明されたよう
に、図2のキャッシュメモリ200の動作タイミングを
さらに示すタイミングチャートが示されている。図3
は、外部メモリアクセスの始まりから次の可能性ある外
部メモリアクセスの始まりまでの時間として定義されて
いるメモリサイクルを示している。キャッシュメモリ2
00内では、メモリサイクルタイムが、三つのサブサイ
クルであるサブサイクル1、2、及び3に分割されてい
る。サブサイクル1は、中央処理装置(CPU)のよう
な外部デバイスが、キャッシュメモリ200のポートの
いづれかから読み取り、又はいづれかに書き込むのが許
容される外部メモリアクセス期間を定義する。サブサイ
ル2の間に相互書き込み回路234が使用可能であり、
かつ先行しているサブサイクル1の間にいづれかのポー
トが書き込まれた場合、相互書き込み回路234は相互
書き込み動作を実行する。復元動作(ビット検知ライン
を事前充電する)は、サブサイクル3の間に実行される
か、さもなければ、上記のように、サブサイクル2の間
に特定アレイを更新するために相互書き込み動作が必要
とされない場合、この特定アレイのための復元動作は、
サブサイクル2の間に実行され得る。
【0030】キャッシュメモリ200内では、一つのサ
ブサイクルの継続期間内でメモリアレイ202と204
への内部アクセスが生じるが、外部という点からは、メ
モリアレイ202と204へのアクセスはいくつかのサ
ブサイクルの継続期間にわたって生じる。例えば、ポー
ト1又は2を用い、外部の読み取り又は書き込みに応答
して、メモリアレイ202及び204は、サブサイクル
1の間に読み取られたり書き込まれたりする。外部書き
込み動作に応答して、相互書き込み動作のためのメモリ
アレイ202及び204のいづれかへのアクセスはサブ
サイクル2の間に生じる。外部の観点からは、メモリア
レイ202又は204から要求されるデータは、データ
出力ラッチ214及び228内にそれぞれ格納され、か
つサブサイクル2又は3の間、或いはもっと後で、プロ
セッサ102によって読み取られ得る。従って、データ
出力ラッチ214及び228は、キャッシュメモリ20
0内の単一サブサイクルの期間よりも長い外部メモリア
クセス期間を供給し得る。
【0031】アドレスラッチ218と228は、プロセ
ッサ102からアドレスデータをラッチし、かつデータ
が一旦ラッチされると、プロセッサ102が、引き続く
動作のためにアドレスラインを使用するのを許容する。
同様に、データ入力データ216及び230は、プロセ
ッサ102からキャッシュメモリ200に書き込まれた
データをラッチし、かつデータが一旦ラッチされると、
プロセッサ102が、引き続く動作のためにデータライ
ンを使用するのを可能とする。
【0032】以下の表1は、デュアルポート動作の間の
種々の読み取り/書き込み状態におけるキャッシュメモ
リ200の動作を詳細に示している。相互書き込み動作
は、サブサイクル1の間の他のポートへの書き込み動作
に続いてサブサイクル2の間に生じる。例えば、メモリ
アレイ202がポート0から読み取られ、かつメモリア
レイ204がポート1へ書き込まれた場合、メモリアレ
イ202への相互書き込みが生じ、これによりメモリア
レイ204が復元され得る。上記のように、サブサイク
ル2の間に相互書き込みが必要とされない場合は、メモ
リアレイ202又は204はサブサイクル2の間に復元
され得る。相互書き込みがサブサイクル2の間に必要と
された場合は、メモリアレイ202又は204はサブサ
イクル3の間に復元され得る。 表1 デュアルポート動作 動作 サブサイクル1 サブサイクル2 サブサイクル3 読み取りポート0 読み取り0 復元 − 読み取りポート1 読み取り1 復元 − 読み取りポート0 読み取り0 1から0を相互書き込み 復元 書き込みポート1 書き込み1 復元 − 書き込みポート0 書き込み0 復元 − 読み取りポート1 読み取り1 0から1を相互書き込み 復元 書き込みポート0 書き込み0 1から0を相互書き込み 復元 書き込みポート1 書き込み1 0から1を相互書き込み 復元
【0033】以下の表2は、シングルポート動作の間の
種々の読み取り/書き込み状態におけるキャッシュメモ
リ200の動作を詳細に示している。シングルポート動
作の間、ポート1とポート2の両方が、同じアドレスを
用いて読み取られかつ書き込まれ、これによってダブル
ワイドメモリとして動作する。即ち、キャッシュメモリ
200は、32k×9ビットではなく、32k×18ビ
ットとして振る舞い、従って相互書き込み動作は実行さ
れない。
【0034】 表2 シングルポート動作 動作 サブサイクル1 サブサイクル2 サブサイクル3 読み取りポート0 読み取り0 復元 − 読み取りポート1 読み取り1 復元 − 書き込みポート0 書き込み0 復元 − 書き込みポート1 書き込み1 復元 −
【0035】上記の本発明の好ましい実施例の詳細な記
述を読めば、本発明の開示内容が、複数のポートアクセ
スと、複数のメモリアレイ内で冗長データ記憶装置を有
する改善されたディジタルメモリデバイスを提供してい
ることが理解されよう。好ましい実施例においては、デ
ュアルポートアクセスとデータの冗長性の組合わされた
特徴が、同じ特徴を有すると共に従来のデザインを用い
たチップの半分の面積と同じ位小さい面積を有するチッ
プ内に提供されている。より小型のチップサイズと減少
したトランジスタの数によって製造コストが実質的に安
価化され、これによりメモリの信頼度が高まる。
【0036】本発明の好ましい実施例のメモリデザイン
は二つのポートと二つのメモリアレイを使用している
が、本発明の実質的な特徴から逸脱することなく、追加
のポート又は追加のメモリアレイが追加され得ることが
理解されよう。追加のメモリサブサイクルは二つ以上の
メモリアレイをサポートする相互書き込み動作を処理す
るために追加され得る。4ウェイのセット連想キャッシ
ュデザインをサポートするために組み込まれた特徴に関
しては、本発明の好ましい実施例は、キャッシュデザイ
ンの種々のコンフィギュレーションをサポートするため
に適合される。
【0037】
【発明の効果】本発明は、改善されたディジタル電子メ
モリデバイスを提供する。
【図面の簡単な説明】
【図1】本発明の好ましい実施例によるマルチポートC
PU、メインメモリ、及びデュアルポートキャッシュメ
モリを有するデータ処理システムの高水準ブロック図を
示す図である。
【図2】図1のデータ処理システムを実施するために使
用されるキャッシュメモリチップの詳細をさらに示す図
である。
【図3】図2のキャッシュメモリ200の動作のタイミ
ングをさらに示すタイムチャートである。
【符号の説明】
100 データ処理システム 200 キャッシュメモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デニス トーマス コックス アメリカ合衆国55901、ミネソタ州ロチェ スター、サーティーサード ストリート ノースウエスト 1127

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 デュアルポート電子データ記憶システム
    であって、 データ及びアドレス情報を格納するためのデータ及びア
    ドレスラッチの第1のセットと、 データ及びアドレスラッチの前記第1のセットと連結さ
    れた第1のメモリアレイと、 データ及びアドレス情報を格納するためのデータ及びア
    ドレスラッチの第2のセットと、 データ及びアドレスラッチの前記第2のセットと連結さ
    れた第2のメモリアレイと、 前記第1のメモリアレイに事前に書き込まれ、かつデー
    タ及びアドレスラッチの前記第1のセット内に格納され
    たデータに応答して前記第2のメモリアレイにデータを
    書き込むこと、及び前記第2のメモリアレイに事前に書
    き込まれ、かつデータ及びアドレスラッチの前記第2の
    セット内に格納されたデータに応答して前記第1のメモ
    リアレイにデータを書き込むことによって、相互書き込
    み動作を実行するために、前記第1のメモリアレイと、
    前記第2のメモリアレイと、データ及びアドレスラッチ
    の前記第1のセットと、データ及びアドレスラッチの前
    記第2のセットとに連結された相互書き込み回路と、 を備え、 これによって、前記第1及び前記第2のメモリアレイの
    いづれかに書き込まれたデータの冗長コピーが生成され
    ることよりなるデュアルポート電子データ記憶システ
    ム。
  2. 【請求項2】 メモリサイクルタイムが複数のサブサイ
    クルへ分割され、前記第1と前記第2のメモリアレイへ
    の外部メモリアクセスが選択されたサブサイクルの間だ
    け許容されることよりなる請求項1に記載のデュアルポ
    ート電子データ記憶システム。
  3. 【請求項3】 前記相互書き込み回路が、相互書き込み
    イネーブルラインと連結された信号に応答して使用可能
    となったり、使用不能となったりすることよりなる請求
    項1に記載のデュアルポート電子データ記憶システム。
  4. 【請求項4】 マルチプレクサの各々と連結された複数
    の後期選択信号に応答して、前記第1及び第2のメモリ
    アレイから複数のデータ出力のうちの一つを選択するた
    めに前記第1及び第2のメモリアレイの各々と連結され
    た前記マルチプレクサをさらに備えることよりなる請求
    項1に記載のデュアルポート電子データ記憶システム。
  5. 【請求項5】 電子データ記憶システムであって、 データ及びアドレス情報を格納するためのデータ及びア
    ドレスラッチの第1のセットと、 データ及びアドレス情報を格納するためのデータ及びア
    ドレスラッチの第2のセットと、 複数のメモリアレイと、 前記複数のメモリアレイのうちの一つに書き込むために
    事前に使用され、かつデータ及びアドレスラッチの前記
    第1及び前記第2のセットの内の一方に格納された前記
    アドレス及びデータ情報に応答して、前記複数のメモリ
    アレイ内に格納されたデータを変更するためにデータ及
    びアドレスラッチの前記第1及び前記第2のセット並び
    に前記複数のメモリアレイに連結された手段と、 を備え、 これによって前記複数のメモリアレイの内の一つのメモ
    リアレイに書き込まれたデータの冗長コピーが前記複数
    のメモリアレイの内の他の一つのメモリアレイに複写さ
    れることよりなる電子データ記憶システム。
  6. 【請求項6】 前記複数のメモリアレイが第1のメモリ
    アレイと第2のメモリアレイを備える請求項5に記載の
    電子データ記憶システム。
  7. 【請求項7】 データ処理システムにおけるメモリ内に
    格納された冗長データセットへの同時アクセスを提供す
    る方法であって、 メモリサイクルの第1の部分の間、第1のシングルポー
    トメモリアレイをアクセスするステップと、 前記メモリサイクルの前記第1の部分の間、第2のシン
    グルポートメモリアレイをアクセスするステップと、 前記第1及び前記第2のシングルポートメモリアレイの
    内の少なくとも一方への書き込み動作に応答して前記メ
    モリサイクルの第2の部分の間は相互書き込み動作を自
    動的に実行するステップとを備え、 これによって前記第1及び第2のメモリアレイの内の一
    方に書き込まれたデータの冗長コピーが生成されること
    よりなる同時アクセス方法。
  8. 【請求項8】 外部書き込み動作に応答してデータ入力
    ラッチ内にデータワードを格納するステップと、 外部読み取り動作に応答してデータ出力ラッチ内にデー
    タワードを格納するステップと、 外部書き込み及び読み取り動作の一方に応答してアドレ
    スラッチ内にアドレスを格納するステップと、 をさらに含む請求項7に記載の同時アクセス方法。
  9. 【請求項9】 読み取り動作の後で、又は前記相互書き
    込み動作の後で、前記第1及び前記第2のシングルポー
    トメモリアレイ内にビット検知ラインを復元するステッ
    プをさらに含む請求項7に記載の同時アクセス方法。
JP5274682A 1992-12-04 1993-11-02 電子データ記憶システム Expired - Lifetime JP2716350B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/986,168 US5359557A (en) 1992-12-04 1992-12-04 Dual-port array with storage redundancy having a cross-write operation
US986168 1992-12-04

Publications (2)

Publication Number Publication Date
JPH06214871A true JPH06214871A (ja) 1994-08-05
JP2716350B2 JP2716350B2 (ja) 1998-02-18

Family

ID=25532150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5274682A Expired - Lifetime JP2716350B2 (ja) 1992-12-04 1993-11-02 電子データ記憶システム

Country Status (3)

Country Link
US (1) US5359557A (ja)
EP (1) EP0600817A3 (ja)
JP (1) JP2716350B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905999A (en) * 1996-04-29 1999-05-18 International Business Machines Corporation Cache sub-array arbitration
JP2002501654A (ja) 1997-05-30 2002-01-15 ミクロン テクノロジー,インコーポレイテッド 256Megダイナミックランダムアクセスメモリ
DE10105627B4 (de) * 2000-03-20 2007-06-21 International Business Machines Corp. Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung
CN100495369C (zh) * 2004-01-20 2009-06-03 特科2000国际有限公司 使用多个存储器设备的便携数据存储设备
US20070233961A1 (en) * 2006-03-31 2007-10-04 Banning John P Multi-portioned instruction memory
US7747896B1 (en) * 2006-06-30 2010-06-29 Guillermo Rozas Dual ported replicated data cache
US8547774B2 (en) * 2010-01-29 2013-10-01 Mosys, Inc. Hierarchical multi-bank multi-port memory organization
US10446203B1 (en) * 2018-08-14 2019-10-15 Micron Technology, Inc. Write cycle execution based on data comparison
CN111177142B (zh) * 2018-11-13 2024-03-01 深圳市中兴微电子技术有限公司 一种数据转换方法及装置、设备和存储介质
US11095313B2 (en) * 2019-10-21 2021-08-17 International Business Machines Corporation Employing single error correction and triple error detection to optimize bandwidth and resilience under multiple bit failures

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59112351A (ja) * 1982-12-20 1984-06-28 Nec Corp メモリ装置制御方式

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4008460A (en) * 1975-12-24 1977-02-15 International Business Machines Corporation Circuit for implementing a modified LRU replacement algorithm for a cache
US4410964A (en) * 1980-12-08 1983-10-18 Nordling Karl I Memory device having a plurality of output ports
JPS5998387A (ja) * 1982-11-26 1984-06-06 Nec Corp メモリ回路
JPS59151371A (ja) * 1983-02-03 1984-08-29 Toshiba Corp 半導体メモリ素子
US4616310A (en) * 1983-05-20 1986-10-07 International Business Machines Corporation Communicating random access memory
US4893279A (en) * 1986-03-04 1990-01-09 Advanced Micro Devices Inc. Storage arrangement having a pair of RAM memories selectively configurable for dual-access and two single-access RAMs
US4875196A (en) * 1987-09-08 1989-10-17 Sharp Microelectronic Technology, Inc. Method of operating data buffer apparatus
JPH07109701B2 (ja) * 1987-11-30 1995-11-22 株式会社東芝 キャッシュメモリ
US5175839A (en) * 1987-12-24 1992-12-29 Fujitsu Limited Storage control system in a computer system for double-writing
US5031146A (en) * 1988-12-22 1991-07-09 Digital Equipment Corporation Memory apparatus for multiple processor systems
IE63461B1 (en) * 1989-09-11 1995-04-19 Jeremy Owen Jones Improvements in and relating to stable memory circuits
US4975882A (en) * 1989-10-30 1990-12-04 Motorola, Inc. User programmable redundant memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59112351A (ja) * 1982-12-20 1984-06-28 Nec Corp メモリ装置制御方式

Also Published As

Publication number Publication date
US5359557A (en) 1994-10-25
EP0600817A2 (en) 1994-06-08
EP0600817A3 (en) 1996-12-11
JP2716350B2 (ja) 1998-02-18

Similar Documents

Publication Publication Date Title
US6415364B1 (en) High-speed memory storage unit for a multiprocessor system having integrated directory and data storage subsystems
JP3466047B2 (ja) 複数ポート・インターリーブ・キャッシュ
US4577293A (en) Distributed, on-chip cache
EP0622737B1 (en) High performance memory system
US5557768A (en) Functional pipelined virtual multiport cache memory with plural access during a single cycle
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5371870A (en) Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching
EP0192202B1 (en) Memory system including simplified high-speed data cache
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
EP0706133A2 (en) Method and system for concurrent access in a data cache array utilizing multiple match line selection paths
US20060143428A1 (en) Semiconductor signal processing device
JPH10133947A (ja) 統合されたプロセッサ・メモリ装置
US6023746A (en) Dual associative-cache directories allowing simultaneous read operation using two buses with multiplexors, address tags, memory block control signals, single clock cycle operation and error correction
JPH04230551A (ja) 階層集積回路キャッシュメモリ
JPH01251247A (ja) キヤツシユメモリサブシステム
US5668972A (en) Method and system for efficient miss sequence cache line allocation utilizing an allocation control cell state to enable a selected match line
US5805855A (en) Data cache array having multiple content addressable fields per cache line
JPH10177519A (ja) 統合されたプロセッサ・メモリ装置
JP2648548B2 (ja) コンピュータ・メモリ
US5269009A (en) Processor system with improved memory transfer means
US4718039A (en) Intermediate memory array with a parallel port and a buffered serial port
JP3320922B2 (ja) メモリ装置
US6219764B1 (en) Memory paging control method
US5761714A (en) Single-cycle multi-accessible interleaved cache
JP2716350B2 (ja) 電子データ記憶システム