JPH0224752A - スマート・メモリ・カード - Google Patents

スマート・メモリ・カード

Info

Publication number
JPH0224752A
JPH0224752A JP1123044A JP12304489A JPH0224752A JP H0224752 A JPH0224752 A JP H0224752A JP 1123044 A JP1123044 A JP 1123044A JP 12304489 A JP12304489 A JP 12304489A JP H0224752 A JPH0224752 A JP H0224752A
Authority
JP
Japan
Prior art keywords
data
card
memory
array
logic
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
JP1123044A
Other languages
English (en)
Other versions
JPH06105443B2 (ja
Inventor
David L Arlington
デヴイド・エル・アーリントン
Jacqueline M Cole
ジヤクリーン・モーリス・コール
Bruce G Hazelzet
ブラース・ジイー・ハゼルゼツト
David J Krolak
デヴイド・ジエイ・ローラーク
Hehching H Li
ヘーチイング・ハリイ・リ
Bharat J Oza
バラツト・ジエイ・オザ
A Frank Weaver
エー・フランク・ウエーヴアー
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 JPH0224752A publication Critical patent/JPH0224752A/ja
Publication of JPH06105443B2 publication Critical patent/JPH06105443B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1028Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/1056Updating check bits on partial write, i.e. read/modify/write

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、コンピュータ・メモリ・インターフェース及
びアーキテクチャに関し、具体的には、様々なアレイ・
タイプとメモリ・サイズをもつ様々なシステム構成で使
用できる、メモリ・カード用の単純であるが強力で柔軟
なメモリ・インターフェース及びアーキテクチャに関す
る。本発明は、信頼性向上機能やシステムにとってトラ
ンスペアレントな形の直接及び部分的な記憶動作の全領
域を犠牲にすることなく、迅速なアクセスを含めて性能
と機能が改善された「スマート」メモリ・カードを企図
する。
B、従来技術及びその問題点 代表的なコンピュータ・システムの基本アーキテクチャ
は、バスによってランダム・アクセス・メモIJ(RA
M)に接続された中央演算処理装置(CPU)を含む。
入出力(I 10)装置など中央演算処理装置以外の装
置が、データの読取り及び書込みのためにRAMにアク
セスする。初期のコンピュータ・システムでは、それら
の装置は、RAMへのアクセスを可能にするようCPU
に要求するために、割込みレベルを上げる必要があった
。これにより、コンピュータ・システムによる処理時間
の遅延が発生する。したがってCPUに割り込まずにR
AMに対するアクセスを可能にする直接メモリ・アクセ
ス(DMA)制御装置が開発された。
こうしたコンピュータ・システムは、マイクロコンピュ
ータ、ミニコンピユータ、またはメイン・フレームのい
ずれであれ、一般にバスに挿入される複数のメモリ・プ
リント回路からRAMが構成されているモジュール式構
成をその特徴とする。
これらのメモリ・カードは、通常、集積回路(IC)チ
ップなどのアレイを含み、その制御は、カード外のCP
UまたはDMA制御装置あるいはその両方によって行な
われる。本明細書では、こうしたカードは、「非知能」
メモリ・カードと呼ぶ。
本発明は、本明細書で「知能」メモリ・カード七呼ぶメ
モリ・カードのクラスに属する。すなわち、これらのメ
モリ・カードは、非知能メモリ・カードではカード以外
で実行されるような機能を実行する様々なデータ・フロ
ー及び制御論理機構を含んでいる。
本発明の詳細な説明するために、まず第17A図を参照
する。第17A図は、概略構成図の形で従来技術の非知
能メモリ・カード及びプロセッサ・インターフェースを
示す。このシステムでは、プロセッサ10は、パリティ
・バス11を介して、エラー訂正コード(ECC)機能
を含むメモリ制御装置12に接続される。制御装置は、
外部メモリ・バス13を介して順番に複数のメモリ・カ
ードと連絡する。メモリ・カードのうち1つだけを参照
番号14で示しである。これらのメモリ・カードはそれ
ぞれドライバ及びレシーバ15を含む。
これらのドライバ及びレシーバは、外部メモリ・バス1
3と内部メモリ・バス17の間の緩衝動作を行なう。内
部メモリ・バスは、カード上のランダム・アクセス・メ
モリ(RAM)チップのアレイ16をアドレスするのに
使用される。
知能メモリ・カードのアーキテクチャを、第17B図に
対照して示す。この図では、同じ回路または対応する回
路を同じ参照番号で示しである。
制御装置12と外部メモリ・バス13が除去されている
ことに留意されたい。制御装置の機能はバッファ論理回
路18に組み込まれている。後で詳細に説明するように
、これらの機能をカード上の回路に組み込むと、マシン
性能が飛躍的に向上し、メモリ・カードを知能メモリ・
カードまたは「スマート」メモリ・カードとして特徴付
ける基礎ができる。
本発明は具体的には、IBM9370シリーズのコンピ
ュータで使用されたメモリ・アーキテクチャ及びプロセ
ッサ・インターフェースの改善である。これらのメモリ
・カードは、知能メモリ・カードのクラスに属する。第
18図は、IBM9370シリーズのスマート・メモリ
・カードの概略構成図である。これらのカードは、それ
ぞれ40個からなる2つのバンクとして構成された80
個の動的ランダム・アクセス・メモリ(DRAM)チッ
プの512KX2個のアレイから構成されるメモリ・ア
レイ21を含む。この特定のメモリ・カードは、8バイ
ト幅の内部メモリ・データ・バス27と28をもつ。こ
れらのバスは、カード上の論理回路23を2つのメモリ
・アレイ・バンク21及び2本の2バイト幅外部メモリ
・バス24.25に相互接続する。1方向制御バス22
as22b、22cが、それぞれアレイ制御再駆動論理
回路26 as 26 bs 26 eをメモリ・アレ
イに接続する。これらのバスは、アレイ・アドレス、ア
レイ選択(RAS及びCAS) 、読取り/書込み制御
、及びデータ入出力制御信号を供給する。
中央制御装置29は、アレイ制御再駆動論理回路26a
s 28bi 26cと連絡するアレイ制御部と、双方
向データ・フロー論理回路30.31と連絡するデータ
・フロー制御部の2つの部分に分かれる。双方向データ
・フロー論理回路30.31はそれぞれ2つの4バイト
FCC半体を含む。
「スマート」メモリ・カードを使用すると、メモリ・ア
レイとアレイ・データの使用点の間に余分なバスが不要
になり、したがって、この性能面でクリティカルな経路
上での関連するバスの遅延がなくなる。通常、入出力及
びキャッシュ用のバスは、各キャッシュ及び入出力イン
ターフェース上にFCC論理を複製する必要がないよう
なパリティ・バスである。ECC論理回路を含む制御装
置が、このパリティ・バスをFCCを含まない1つまた
は複数のメモリ・カードに接続する。しかし、メモリ・
カード上の論理回路は依然として、そのアレイとカード
外のメモリ・バスの間でデータを緩衝記憶する必要があ
る。ECCをメモリ・カード・バッファ論理回路に含め
ることにより、メモリ・カードを直接パリティ・バス上
に置くことができ、したがってより迅速なメモリ・アク
セスが行なえる。同期環境では、こうすると、1つまた
は複数のラッチ状態が不要になって、各取出しまたは記
憶転送の際に少なくとも1クロツクが節約される。
カード上のECC用の論理回路が若干のバス遅延を除去
して性能を高めるので、拡張FCC,ソフト障害スクラ
ビング、読取り・修正・書込み(RMW)などの動作用
の自立式論理回路は、これらの動作のサイクル時間を減
少させて性能を向上させる。これらの動作中に複数のカ
ード外のバス交差の必要がないため、サイクル時間が減
少する。これらの動作は自動的な性格であるため、シス
テム制御オーバーヘッドと必要な付随時間がなくなる。
1つの例は拡張ECC(XECC)である。システムは
、1つまたは1連のアレイ取出しを開始するだけである
。拡張ECCを実行する必要がある場合、メモリ・カー
ドは、XECCが内部で発生している間、BUSY線を
活動状態に保つ。これは、検出可能であるが(FCCだ
けでは)訂正不可能なエラーを含む最初に取り出された
データを反転し、同じメモリ位置に戻して記憶し、その
位置への他のデータを取り出し、続いてそのデータを反
転した後、ECC論理回路で処理を行なうことから構成
される。XECC動作がうまくいくと、訂正されたデー
タが、そのメモリ位置に復元される。うまくいかないと
、検出可能なエラーを含む最初のデータが復元される。
XECC動作がうま(いくと、続いてシステム・バスへ
の残りの取出し転送が行なわれる。これらの3つの内部
動作のバス交差遅延があると、それらの動作が外部で行
なわれる場合、その動作の正味のサイクル時間が増加す
ることになる。
もう1つの例は読取り・修正・書込み(RMW)である
。読取り・修正・書込み動作は部分記憶であるが、部分
的というのは、1つまたは複数の4バイ)ECCワード
で、すべてのバイトではなく1つまたは複数のバイトだ
けが重ね書きされるという意味である。ECCワードが
正しいデータ及び正しい関連検査ビットをもつようにす
るには、まずメモリに記憶された部分的に重ね書きすべ
きデータをメモリから取り出して(これは事前取出しと
呼ばれる)、ECCにかけて単一ビット・エラーを訂正
しなければならない。複数のビット・エラーはXECC
動作を呼び出すことができる。
システムは、記憶コマンドを関連するフィールド長及び
開始アドレスと共に送り、メモリ・カードは、直接書込
みまたはRMWが必要かどうかを決定する。RMWが必
要な場合、場合によっては、カードは、メモリの事前取
出しを開始しながら、すべてのシステム転送をバッファ
に記憶する。すなわち、システム記憶とカード事前取出
しが同時に実行される。事前取出しが行なわれメモリ・
エラーが訂正される度に、カードは、当該の事前取出し
されたバイトを重ね書きして、その結果をメモリに再記
憶する。この場合も、動作サイクル及びシステム論理オ
ーバーヘッドが最小になる。
カード・メモリ再生及び関連するソフト・エラー・スク
ラビングもシステムにとっである程度トランスペアレン
トである。通常の再生動作では、システムは、再生線を
活動化し、BUSYが消えるのを待つ。メモリ・カード
は再生アドレス・カウントとアレイ制御を取り扱う。活
動状態になりトリガされると、活動再生時間に当該の再
生を置換することにより、ソフト・エラーのスクラビン
グが行なわれる。スクラブ動作は基本的にはゼロ・バイ
トのRMWである。メモリからデータが取り出され、カ
ード上のECCが単一ビット・エラーを訂正し、次いで
データがメモリに復元される。
単一ビット・エラーがソフト障害に関連している場合、
復元動作で、ソフト障害であった不良データ・ビットの
代わりに良好なデータが入れられる。
この動作中に再生も実行される。
IBM9370プロセッサは、高性能の機能を組み込む
ように進化してきたが、それには、次々と次世代システ
ム用のメモリ・カードの改良された設計が必要であった
。この改良された設計及び機能が本出願の基礎である。
次世代設計の目的の1つは、初期アクセスの後27ナノ
秒ごとにメモリ・カードから最高8回の8バイト・デー
タ転送を獲得する能力をもつことであった。この27ナ
ノ秒という転送速度は、エラー訂正コード(FCC)、
パリティ生成及び他の信頼性向上機能に必要な時間を含
むものでなければならなかった。
この新しいメモリ・カードの設計過程で、最小数の集積
回路(IC)に必要なすべての機能を詰め込むことがも
う1つの設計上の目的であった。
この場合の問題点は、コスト上の制約と現在の技術的能
力によって課されるチップ/モジュール入出力制限の範
囲内で、必要なすべての機能を提供することであった。
第3の設計上の目的は、単純で極めて柔軟なインターフ
ェース及びアーキテクチャを定義して、メモリ・カード
が広範なハードウェア技術及びシステム用途で使用でき
るようにすることである。
C0問題点を解決するための手段 したがって、本発明の目的は、初期アクセスの後でメモ
リ・カードから最高8回の8バイト転送を行なえる、改
良された「スマート」メモリ・カードを提供することに
ある。
本発明の他の目的は、コスト上の制約と技術的能力によ
って課される最小チップ・カウント制限をもつ、完全機
能メモリ・カードのインターフェース及びアーキテクチ
ャを提供することにある。
本発明の他の目的は、広範囲のハードウェア技術及びシ
ステム用途に対してシステムから見て非常に簡単に動作
するコンピュータ・メモリ・カードのインターフェース
及びアーキテクチャを提供することにある。
本発明の他の目的は、メモリ・カード・インターフェー
スに必要な制御を単純化しながら、同時に部分記憶の柔
軟性を大幅に増大させる、メモリ・カード・アーキテク
チャを提供することにある。
次世代のIBM9370プロセッサ環境で実施された発
明の好ましい実施例によると、「スマート」メモリ・カ
ードのアーキテクチャ及びインターフェースは、一部に
は、初期アクセスの後27ナノ秒ごとにメモリ・カード
から最高8回の8バイト・データ転送が可能な、80ナ
ノ秒の高速アクセス動的ランダム・アクセス・メモリ(
DRAM)を使用することにより、飛躍的に向上した性
能をもたらす。27ナノ秒という転送速度は、エラー訂
正コード(ECC)、パリティ生成及び他の信頼性機能
に必要な時間を含むものである。2つの相補型金属酸化
物半導体(0MO8)集積回路(IC)論理チップまた
はモジュールだけで必要なすべての機能を提供するにも
関わらず、コスト上の制約と技術的能力によって課され
るチップ/モジュール入出力制限の範囲内にある。「ス
マート」メモリ・カード方式によって提供される単純性
と柔軟性により、1つのカード・インターフェースが広
範囲のハードウェア技術及び様々なシステムで使用でき
る手段がもたらされる。メモリ・カードのアーキテクチ
ャは、システムにとってトランスペアレントな形で広範
囲の直接かつ部分的な記憶動作を提供する。
D、実施例 図面中の第1図を参照すると、本発明によるスマート・
メモリ・カードの概略構成図が示されている。図のカー
ドは、それぞれ40個からなる2つのバンクの80個の
256KX4のDRAMまたはそれぞれ40個からなる
4つのバンクの160個の256KX4のDRAMから
構成されたメモリ40を含む。16バイト幅の内部メモ
リ・バス4L42及び8バイト幅の外部メモリ・バス4
3.44がある。内部メモリ・バス41.42は、メモ
リ40と論理ブロック45との間に、データ及び制御用
の通信経路をもたらす。論理ブロック45は、この新し
いメモリ・カードの性能と機能を支援するように特に設
計された2つのCMOSチップ46と47から構成され
る。大まかに述べると、CMOSチップ46と47はそ
れぞれ、5つの機能部分に分かれている。第1の部分(
a)は、システム・バスとメモリ40の間の双方向デー
タ・フローを支援し、2つの完全な4バイトECCを含
む。第2の部分(b)は、状態マシンとして実施されて
いる主制御部である。第3の部分(C)は、アレイ制御
機能をもたらす。第4の部分(d)はデータ・フロー制
御を行なう。第5の部分(e)はアレイ制御再駆動部で
ある。これらのCMOSチップのいくつかの部分によっ
て実行される設計及び動作については、以下により詳細
に説明する。
第18図に示した従来のメモリ・カードのインターフェ
ース・データ・バスは必要な専用入出力の数を最小にし
たが、バス自体の幅に対する入出力の数が重要な設計上
の要素となっていた。幅広のカード外データ・バスは、
プロセッサへの主な性能上の利点を備えている。このバ
スの幅が広くなるにつれて、カード入出力の数が増えな
ければならない。この論理機能は少なくともカード間で
送られる信号を緩衝記憶しなければならないので、関連
するチップ/モジュール入出力の数も増えなければなら
ない。チップ入出力の数が増加するにつれて、これらの
入出力を支援するチップ面積が増え、したがって必要な
バッファ回路用、及び「スマート」カード・アーキテク
チャを構成するすべての追加論理機能用のシリコンを提
供する。
実際、カード上のFCC及び他の信頼性向上機能はほと
んど自由である。
この入出力及び関連する機能のカード上での分割は、次
の2つの方式のどちらかで実施できる。
すなわち、多数の小型、低価格のモジュールか、それと
も1.2個のより大型でより高価なモジュールである。
第1図に示したような1つまたは2つのモジュールを使
用するだけで、重要な利点が得られることが判明した。
したがって、本発明では、2モジユ一ル方式を選択した
が、これらの利点を活用できるカード・アーキテクチャ
を開発しなければならなかった。
カードは、アレイ40に対する16バイトのインターフ
ェース41.42、システムに対する8バイトのインタ
ーフェース、及び関連するカード上の論理回路が対称的
に2等分されるように構成した。このため、1つのモジ
ュール部品番号がカード上で2度使用できるようになっ
た。こうして、追加カード部品番号に関連する設計開発
及び在庫オーバーヘッドが大幅に減少した。論理機能は
類似しているが、2つの論理モジュールは別々に機能し
なければならない。これは、論理回路を個性化するため
接地または高電位に接続された専用モジュール線によっ
て処理される。カード上に4つのFCCがある場合、2
つまたは4つのモジュールの間に論理ブロックを区分す
るのは難しいことではない。モジュールの数を3個以下
に保つことにより、モジュール間の通信線は6本に抑え
られる。IBM9370プロセッサの主記憶装置の場合
と同じく、ECCのセクションを、モジュール境界を横
切って分割しなければならないとき、チップ間信号は飛
躍的に増大する。
モジュールの数を2に制限するために、アレイ制御論理
ブロックをデータ・フロー論理ブロックと−緒にした。
第18図に示すように、18M9370主記憶装置は2
つのデータ・フロー・モジュール30.31.3つのア
レイ制御再駆動モジュール28 a% 28 b128
 as及び1つの主制御モジュール29を有する。1つ
のモジュール内にこの論理ブロックを入れることにより
、厳格にタイミングを調整されたアレイ制御信号(RA
S、CAS1アドレスなど)が1つの論理チップからし
かこなくなる。このため、タイミング・スキューが減少
し、タイミング・マージンが増大するので、実質的にカ
ード性能が向上する。スキューの減少は、単一のチップ
上で固有な内部論理機能及びドライバ・ブロックのため
の経路、処理及び環境に関する追跡の結果生じる。カー
ドは1枚当りのモジュールの数を制限すると、電力及び
信号用の論理モジュール・ピンの合計数が減少する。
この減少によりカードの信頼性がやや向上し、カード面
積の活用とカード配線の改善に役に立つ。
1モジユールが最適の方式であったはずであるが、入出
力の合計数及び関連する同時交換要件を処理するための
パッケージ技術はなかった。以下に説明するカード外デ
ータのインターリーブに関する重要な技術上の問題を回
避するために、最終的に4モジユールではなく2モジユ
ールを選択した。この問題を回避したことは、選択され
たアーキテクチャと大いに関係がある。4個の論理モジ
ュールを使用する場合、各モジュールに1つのECCを
割り当てる機能的区分が必要となる。この場合、アレイ
における16バイトをシステムで8バイトにするデータ
のインターリーブには、システム・インターフェースで
1つのECCモジュールの入出力に別のモジュールを物
理的に点在させることが必要となる。残り2つのECC
についても同様である。この点在するインターフェース
に対するドライバによる高インピーダンス制御は、適切
に行なうのが非常に難しい。モジュール間のインターリ
ーブは、ドライバに損害を与える恐れのあるバス争奪の
問題を回避しながら、しかもバス性能を満たすように厳
格にタイミングを調整しなければならない。バスの過重
な負荷及び内部論理スキニーにより、これらのクリティ
カルなタイミングが合致しなくなる。本発明では、EC
Cの関連する対を1つのモジュールに置き、データ出力
選択マルチプレクサ(第2図の59)を介して内部にそ
れらの出力を「点在」させることにより、それを回避す
る。以下に示す説明では、この動作をメモリ・データ取
出し動作に関連付け、またやはり第2図に示したもう一
方の基本アーキテクチャ構成要素を扱う。
第2図及び第3図を参照すると、本発明によるスマート
・メモリ・カードのデータ・フロー・アーキテクチャ及
び制御論理ブロックが構成図として示されている。取出
しコマンドがカードに送られ、監視制御論理ブロック(
第3図の64)によって解釈される。この論理ブロック
は、内部制御バス(第3図の86)を介してアレイ制御
論理ブロック(第3図の63)に、取出し動作のために
アレイを適切に活動化させるように指示する。短時間後
、アレイに対するアクセス時間に関して、データが内部
メモリ・データ・バスに載せられ、−時的にメモリ取出
しレジスタ51に記憶される。フロー選択論理ブロック
52は、メモリ記憶バッファ53や内部データ・ループ
・レジスタ54からのデータではなくレジスタ51のデ
ータを選択する。
次にフロー選択論理ブロック52の出力が、ECC及び
パリティ生成論理ブロック55に供給される。論理ブロ
ック55は、ECC出力レジスタ57に出力を供給する
第2図のブロック56は、診断コマンドによってロード
または読み取られる内部レジスタを表わす。括弧内の文
字は、レジスタについての説明である。制御レジスタは
(C)で示し、状況レジスタは(S)で示し、データ・
レジスタは(D)で示す。文字(R)と(W)は、それ
ぞれレジスタが「多用途データ・バス」を介して読取り
または書込みができるかどうかを示すのに使用する。図
ではデータ・フロー論理の説明のためにレジスタをすべ
て示しであるが、プログラム・レジスタなどいくつかの
レジスタは、実際は制御論理ブロック(第3図の71)
にあり、チエッカ・レジスタナトいくつかのレジスタは
、データ・フロー論理ブロックと制御論理ブロックの間
で分割されている。
2重ラッチ設計、すなわち、ECC55の前のレジスタ
51とECCの後のレジスタ57は、ECC論理機能の
同期動作、及び連続データ出力を得るためのFCCを介
したデータのパイプライン化にとって極めて重要である
。ECCコード化回路は、各データ・バイトに対して1
つの未訂正パリティ・ビットを生成することにより2重
の目的を実施するので、パリティ生成及びECC論理機
能は単一ブロックとして示されている。パリティ訂正が
、必要な場合、コード化論理回路に続く別の回路で行な
われる。取出し動作では、ECC論理ブロックは、シン
ドローム・データを生成しブロック56のシンドローム
状況レジスタに記憶もする。このシンドロームは、取出
し動作と一緒に将来診断動作が行なわれる場合に備えて
保持される。FCC論理ブロック55はまた、任意の適
切なエラー信号を生成する。16バイト幅(1モジュー
ル当り8バイト)のECC出力レジスタ57に一時的に
記憶された取出しデータは、データ出力選択論理ブロッ
ク59、データ出力レジスタ60及びバス・ドライバ6
1を介して外部システムに多重化して出力される。多重
化は、各モジュールごとに一方のFCCから4バイト、
次いでもう一方のFCCから4バイトの8バイトを出力
し、さらに他の2つのECCから8バイトを出力する。
性能を最適化するために、最初の8バイト転送は、EC
C出力レジスタ57とデータ出力レジスタ80に同時に
ラッチされる。これについては、後で第5図に関してよ
り詳細に説明する。データ・パイプライン化のため、E
CC出力レジスタ57の出力はまた、内部データ・ルー
プ・バスを介して内部データ・ループ・レジスタ54に
送られてラッチされる。これは、拡張FCC動作の活動
化があり得ることを予期して行なわれる。このレジスタ
は、後続の、XECC動作の反転ステップ及びメモリ再
記憶ステップのためにr不良」データを保持することに
なる。
本発明によるスマート・メモリ・カードの制御論理アー
キテクチャを第3図に示す。この論理回路は、アレイ制
御論理及び再駆動ブロック63、監視機構64及びデー
タ処理制御論理ブロック65の3つの主要構成要素を含
む。これらの構成要素はそれぞれ、内部制御バス67に
よって相互接続され、クロック論理ブロック68から線
67を介して内部クロック信号を受け取る。アレイ制御
論理ブロック63は再生カウンタ69とスクラブ・カウ
ンタ70を含む。これらのカウンタについては、後で第
15図に関してより詳細に説明する。
監視機構64は、アレイ制御論理ブロック63及びデー
タ・フロー制御論理ブロック65を構成する状態マシン
を駆動する主状態マシンである。それに含まれるプログ
ラム・レジスタ71は、適切なカード形式とシステム適
用業務に合わせて状態マシンを初期化/個性化するのに
使用される。データ・フロー制御論理ブロック65は、
特殊機能レジスタ(SFR)72を含む。SFRは主と
して、種々の診断動作及び自己検査動作のためにデータ
・フロー論理ブロック65を個性化するのに使用される
。プログラム・レジスタ71と5FR72は、第2図に
示した診断状況レジスタ及び内部制御レジスタ56の一
部である。
第1図のメモリ・カードのデータ・フロー・アーキテク
チャを、第4図により詳細に示す。ただし、同じまたは
類似の構成要素は第2図で使用したものと同じ参照番号
で示す。第4図で、参照番号に付加された接尾辞raJ
またはrbJはそれぞれ偶数及び奇数のデータ転送論理
回路を示す。データ・フローの主要部分をよりよく示す
ため、第5図を参照する。第5図は、第4図のデータ・
フロー図の破線領域の論理回路の拡大図である。
本発明−によるスマート・メモリ・カードについて述べ
るべき最初の様態は性能である。ここでは、主要な取出
し及び記憶転送速度の問題とそれに関連する解決法につ
いて述べる。さらに、メモリ・カードの全体的性能を向
上させるための他のユニークなアーキテクチャ及びイン
ターフェース技術についても述べる。
新世代I 8M9370シリーズ・コンピュータが必要
とするような、27ナノ秒ごとにカード1枚当り8バイ
トという速さのデータ転送速度を達成するため、メモリ
・カード・アーキテクチャでは、カード上で2つの形の
インターリーブを利用する。
第1の形は、現在使用中の大半の動的ランダム・アクセ
ス・メモリの固有部分であるページ・モード動作に関す
るものである。第2の形式は、16バイトの内部アレイ
・バスと8バイトの外部システム・バス間のオンカード
操作である。本発明による「スマート」メモリ・カード
・アーキテクチャは、後述する単純なインターフェース
とあいまって、このインターリ−ピングを可能にし、広
範囲のインターリーブ方式に使用して様々な性能上の要
件を満たすことができる。
タイミング図を第6図に示す。活動状態のアレイ・ペー
ジ・モード動作中にアレイ列アドレス・ストローブ(C
AS)線をインターリーブすると、背面取出しまたは記
憶動作の場合よりメモリとの間でのデータのより高速な
転送が可能になる。−例として、第6図を参照すると、
1対のメモリ・バンクのすべてのアレイに対するアレイ
行アドレス・ストローブ(RAS)が活動化され(低レ
ベル)、取出しページ・モード動作中ずっと保持される
。次いでバンクAに対するCASが活動化されて、メモ
リから16バイトを取り出し、続いて、バンクBに対す
るCASが活動化されてさらに16バイトを取り出し、
続いてバンクAからさらに16バイトが取り出され、最
後にバンクBから16バイトが取り出される。これらの
4回の16バイト・アレイ転送は、次いでFCC論理回
路により2重16バイト・レジスタ(第2図の51と5
7)を介してパイプライン化される。本発明は、アレイ
のバンク1個当りわずか2ページ・サイクルの場合につ
いて示す。しかし、ページ・モード動作は、1回のRA
S活動化中に多数のCAS活動化を含むことができる。
すなわち、多数の取出し動作に対する16バイト・アレ
イ転送の実際の数を飛躍的に増大させることができる。
ベクトル処理の性能を向上させるために、アレイ・バン
ク1つ当りのページ・サイクルの数を増加させることが
できる。現在使用されているアレイに対するページ制限
でも、十二分な能力が提供される。
メモリへのまたはメモリからの各16バイト・アレイ転
送は、それぞれ奇数及び偶数システム・データ転送とカ
ード上またはカード外でインターリーブされる。取出し
時のデータの16バイトから8バイトへの多重化は、出
力多重化回路73と74(第4図)によって実行される
。記憶時の8バイトから16バイトへの変換は、受け取
ったシステム・データを記憶バッファの奇数セクション
125aまたは126a及び偶数セフシラン125bま
たは128b (第4図)に経路指定することによって
実施され、対応するシステム転送用の当該のラッチ・セ
クションのみを使用可能にする。
取出し時16バイトから8バイトへの変換について、以
下に第4図と第5図に関して説明する。
LGAラッチ51aからの偶数転送はECCA35aに
供給され、LGAラッチ51. bからの奇数転送はE
CCB55bに供給される。ECCA35a及びECC
B55bの出力は、それぞれLGBラッチ57a及び5
7bにラッチされる。これらのラッチは、低速マルチプ
レクサ(MUX)73に出力を供給する。ECCA35
aとECCB55bの出力はまた、マルチプレクサ73
の出力と共に高速マルチプレクサ(MUX)74に供給
される。高速MUX74の出力は、システム転送ラッチ
60を介してドライバ61に供給される。
ドライバ61は、システム・バスへのインターフェース
をもたらす。取出しの第1の8バイト転送は、常に高速
マルチプレクサ経路0または1を介して送られ、第2の
8バイト転送は高速マルチプレクサ経路2を介して送ら
れる。第1の8バイト転送は、関連する16バイト・ア
レイ転送がLGBラッチ57にラッチされるのと同時に
、システム転送ラッチ60にラッチされる。
以下の例に示すように、連続する4回の16バイト転送
は、CAS線をインターリーブして、この64バイトの
データを8回の8バイト転送でシステム・バスに転送す
ることにより、メモリから取り出される。この2つのイ
ンターリーブ動作により、8回のデータ転送がすべて連
続し最小のシステム・クロック速度で行なわれるように
、エラー訂正コード(ECC)回路55aと55bを介
してデータをパイプライン化することができる。この動
作のタイミング図を、第7図に示す。第7図では、括弧
内の数は、タイミング・パルスが高レベルのとき、どの
レジスタ・ラッチが使用可能になるかを示す。a/bは
、偶数(a)データと奇数(b)データの両方(完全1
6バイト)が同時にラッチされることを示す。
取出し動作時の27ナノ秒という転送速度を満たし、最
適なデータ制御の柔軟性を可能にするために、ユニーク
な出力マルチプレクサとラッチ回路を開発しなければな
らなかった。この回路は、2つの重要なタイミング経路
を満たさなければならなかった。一方の経路は、ECC
取出し論理回路を介する内部ラッチ51からラッチ57
への遅延で、他方の経路はシステム・バス出力へのラッ
チ60である。システム・バスを横切るラッチ間遅延が
27ナノ秒という要件のため、システム・ラッチ60と
ドライバ61の間に組合せ論理回路を配置することは妨
げられた。したがって、16バイト・アレイ転送から8
バイト・システム転送へのインターリーブのためのマル
チプレクサ論理回路は、内部ECCラッチ・グループ間
に配置しなければならない。このため、システム・ラッ
チ60でラッチされてその直後に送り出されるように、
ECC回路55aと55bで各アレイ転送(偶数または
奇数)の最初の8バイトを得ることに関して問題が生じ
た。この特殊なラッチ及びマルチプレクサの方式は、デ
ータ及びパリティ・ビットならびにいくつかのエラー信
号に使用される。
次にこの方法について詳細に説明する。
以下の説明の理解を助けるために、用語の定義を示す。
通常取出しという用語は、64バイト(4アレイ転送)
境界を越えるデータ循環が起こらないことを意味する。
すなわち、転送列01234567、G34587.4
5B、G7などは許容されるが、12345670.8
70123.70などは許容されない。0123458
7の列を第7図のタイミング図に示す。ページ取出しと
いう用語は、完全8転送動作のみを指し、その際に境界
を越えることが許容される。偶数開始列の例は、230
16745.87452301などである。奇数開始列
の例は、10325478.54781032などであ
る。
偶数(ECCB55b)システム転送を最初に送り出す
通常取出しまたはページ取出しでは、以下に示す動作が
行なわれる。許容される開始及び奇数非ページ動作のタ
イミング・ギャップをGとして示す。16バイト・アレ
イ取出しは、カード上の両方のモジュールのLGA51
 aと51bにラッチされる。取出しの場合について、
この点を、第7図にクロック・ポイント3で示す。両方
のモジュールを横切る4つのFCCがこのデータを処理
し、完全16バイトがクロック・ポイント5でLGB5
7aと57bにラッチされる。LGB57aと57bに
ラッチされた16バイトは、第2の8バイト・システム
転送の間データを保持するが、クロック・ポイント5で
LGA51に同時にラッチされた次の16バイト・アレ
イ転送は、ECC論理回路55aと55bを介してパイ
プライン化される。保持されたLGBデータは、拡張E
CCが呼び出される場合に使用される完全16バイト内
部データ・ループ(+検査ビット)にも使用される。同
時に(クロック・ポイント5で)、この特定の場合(偶
数が最初)、各ECCA35aからの8バイトが、「高
速マルチプレクサ」74経路0を介してシステム・ラッ
チ60に送られ、次いでシステム・バス上でドライブさ
れる。次のクロック(クロック・ポイント6)で、各E
CCB55bからの以前にラッチされた8バイトが、L
GB57bから「低速マルチプレクサ」73経路1及び
高速マルチプレクサ74経路2を介してシステム・ラッ
チ60に送られる。したがって、カード外での連続8バ
イト転送は、一方のモジュールからの4バイトと他方の
モジュールからの4バイトで構成される。
奇数(ECCB55b)システム転送を最初に送り出す
通常取出しでは、データは、LGA51a、51b及び
LGB57a157bにラッチされ、前述の場合と同様
にECC55a及び55bによって処理される。しかし
、ECCB55bデータは、LGB時(クロック・ポイ
ント5)にシステム・ラッチにラッチされない。データ
が転送ストリングをラッチ・アップする前に間隙を置く
ために1クロツク・サイクルの遅延を設けて、クロック
・ポイント6で奇数データをシステム・ラッチ60に保
持し、転送ストリングがこのケースで連続するようにさ
せる。その結果、最初のケースで使用したものと同じL
GB−システム・ラッチ・マルチプレクサ方式に従う。
ただし、LGB時におけるシステム・ラッチへの「高速
マルチプレクサ」74経路O入力が阻止される。
奇数(ECCB55b)システム転送を最初に送り出す
ページ取出しでは、奇数転送は、その前に間隙を置かず
に、直接送り出される。この場合、システム・ラッチは
、「高速マルチプレクサ」74経路1を介して、LGB
時(クロック・ポイント5)にECCBデータをロード
される。次のクロック(クロック・ポイント6)で、各
ECCA35aからの以前にラッチされた8バイトが、
「低速マルチプレクサ」73経路O及び「高速マルチプ
レクサ」74経路2を介してLGB57aからシステム
・ラッチに送り出される。
システム・バスへのコマンドで活動化された診断データ
転送はすべて、前のサイクルからのデータを保持するr
LGB様」ラッチからくる。長いLGB−FCC経路は
最初のバス転送には含まれないので、すべての診断コマ
ンド取出し転送は、「低速マルチプレクサ」73を介し
て経路設定される。本発明によるメモリ・カードに必要
な診断取出しの数に対応するために、「高速マルチプレ
クサ」74に追加の「低速マルチプレクサ」73経路入
力(3)が追加されて、均衡の取れた4−1マルチプレ
クサになる。「低速マルチプレクサ」73は、必要に応
じた幅にできる。この幅の増加は、多目的データ・バス
の柔軟性によって獲得できる、前述の転送深さの増加に
関連する。コマンドには関連しないが、内部特殊機能レ
ジスタ(SFR)(第2図の58)設定に関連する診断
データ転送は、LGBラッチ及び出力マルチプレクサの
前にデータ経路に経路設定される。すなわち、それらの
転送は、上記の3つのケースのいずれかに応じて処理さ
れる。
第8図に示すように、カード上の別々の4つの4バイト
ECC75,78,77及び78を使用すると、カード
上アレイ・バスは16バイト幅だとしても4バイト直接
記憶動作を行なう手段が与えられる。主メモリ記憶装置
の多くは16バイトより小さいので、このことは、キャ
ッシュが存在しないときシステム性能にとって重要であ
る。この細分性の高いECC方式により、ECC境界か
ら始まるすべての記憶は、4バイトずつの増分で直接記
憶として実行することができる。直接記憶が実行できな
いときは、同じ結果を得るために追加の読取り・修正・
書込−み(RMW)サイクルが必要となる。
4つの4バイトFCCを使用すると、またメモリ・アレ
イが、×1構成の代わりに×4構成で使用できるように
なる。×4アレイ、すなわちチップ1個当り4つのデー
タ入出力を用いると、メモリの細分性が向上する。すな
わち、設定されたメモリ・チップ密度で、個々のバンク
内のメモリの深さを減少させ、そのバンク内のアレイの
入出力幅を増加させることにより、より小さなカード・
アドレス密度を実現することができる。たとえば、51
2KX2アレイを用いて16バイトの帯幅を得るために
、80アレイが必要である。追加のアレイは、各ECC
に関連する検査ビット及び予備ビット用のものである。
すなわち、バンクのメモリの深さは、512にで、バン
クのサイズは8メガバイト(Mb)である。最小の2つ
のバンク・カードは18Mbである。前述した必要なイ
ンターリ−ピングのために常に少なくとも2つのバンク
がなければならない。IMbのDRAMを256KX4
に構成する場合、そのバンクに対する160ビツト(1
6バイトに対して128ビツト、検査ビット用に28ビ
ツト、予備ビットに4ビツト)を得るのに40アレイし
か必要でない。すなわち、バンクは、わずか深さ256
 K、サイズ4Mbである。同じ幅のアレイ・バンクを
さらに追加することにより、プロセッサのカード密度の
全範囲が実現される。細分性を減少するために×4構成
にし、直接書込み効率のために4つのFCCを設けると
、第8図に示すようなある種の方式で内部プレイ・バス
を構成することにより、重要な信頼性上の利点が実現さ
れる。各アレイからの入出力1は第1のECC75に送
られ、各アレイからの入出力2は第2のECC76に送
られ、入出力3は第3のECC77に、入出力4は第4
のECC78に送られる。このようにして、チップ破損
などの大きなアレイ障害が起こっても、せいぜいIEC
Cワードワー1ビツトしか影響を受けない。このため、
単一エラー訂正(SEC)ハードウェアがその障害を補
償するため最も効率的に動作することができる。
冗長アレイも×4で構成される。このようにして、各E
CCワードに冗長ビット(予備ビット)を設けることが
できる。この論理回路は、故障チップをfitfiする
ために冗長アレイの4つのビットすべてを交換し、ある
いはチップの入出力の故障を置換するためにビットの一
部だけを置換することができる能力をもつ。個別化され
た各ECCごとにこの交換を制御するために、チップ上
に冗長ビット・アドレス・レジスタが設けられている。
カード上のアレイ・バンク間を別々に制御するための追
加の冗長ビット・アドレス・レジスタも存在する。すな
わち、一方のバンク中の冗長アレイが位置1の故障チッ
プを交換して外し、他方のバンク中の冗長アレイが位置
9の故障チップを交換して外すことができる。4つのF
CCと×4構成でアレイを使用することの結合効果が完
全に実現できるのは、データ選択を伴うアレイを使用す
るときだけであることに留意されたい。すなわち、個別
データ選択を伴うIMb及び4Mbのアレイを使用する
と、データ選択をもたない標準アレイに対して大きな性
能上の利益が得られる。
第2図を参照すると、取出し動作の場合、ユニークな2
重ラッチ・グループ51及び57のデータ・フロー設計
を利用することにより、本発明によるメモリ・カードで
、ECC論理遅延の固有の影響が最小になり、回路カウ
ントも大幅に減少する。
記憶動作では、2重ラッチ対は53及び57であり、内
部データ・ループ動作を必要とする動作では、2重ラッ
チ対は54及び57である。データがECC55にラッ
チされそこから取り出されるこの同期2重ラッチ方式は
、データをECC55を介して高速度でパイプライン化
することができる。さらに、取出し時には、FCCCC
シカラッチ51データをECCコード化回路に同期させ
ることにより、全体的FCC性能を向上させる。このこ
とが重要となるのは、1つまたは複数のアレイに欠陥が
あり、そのデータ出力が不定レベルにあるときである。
入力ラッチ動作は、このデータを強制的に良好状態また
は不良状態にするが、どちらの状態もFCCによって処
理でき、かつ必要な場合はXECCによって処理できる
。ECC出力の同期化により、取出し時にシステムへの
転送を行なうとき、特にビットが訂正されるとき、すべ
てのデータ及びパリティが育効になり、記憶動作が実行
中の場合に、アレイに転送すべき育効検査ビットがすで
に生成されているようになる。
またこの2重うッチ同期設計は、様々なりロック速度に
関する柔軟性をももたらす。ラッチ間でデータをパイプ
ライン化することによって、EC055中のフローを、
最も遅いラッチ間経路のタイミング・マージンを十分に
見込んだクロック速度の数倍の速度で、クロック速度と
同調させることができる。本発明によるメモリ・カード
を使用するロー・エンド・プロセッサのクロック速度は
40ナノ秒である。すなわち、取出しの場合、LGAラ
ッチ51からLGBラッチ57に至るECC経路が、1
クロツタ遅延となるように同調される。記憶動作の場合
も同じことがいえる。ハイ・エンド・プロセッサのクロ
ック速度が27ナノ秒の場合、内部ラッチ間転送に2つ
のクロック・サイクルが見込まれる。外部システム・バ
スを横切る1回のクロック転送を行なうために、レシー
バからラッチへ及びラッチからドライバへの遅延が制限
されるように、内部論理回路の周りにカード内部ラッチ
・グループが置かれている。設計の目的は、それらの間
に組合せ論理回路がないようにすることであった。
内部取出し経路論理回路を通過するのに必要な時間を最
小にするために、パリティ生成が、ECCコード化論理
回路と並列に行なわれる。実際に、パリティ生成論理回
路の多くは、コード化論理回路の部分から構成され、し
たがって、回路が節約できる。ECCによるバイト内の
可能なデータ・ビット訂正を補償するため、パリティ・
ビットは、その経路中でデータ経路中のものと類似の訂
正XORをもつ。バイト中の任意のビットが訂正(反転
)された場合、システム・バス上で適切なパリティを維
持するために、関連するパリティ・ビットが反転される
このアーキテクチャを用いて、ECC及び他の内部論理
回路を通過するラッチ・フローを1方向にすることによ
り回路数が大幅に減少する。XECC及びRMWの内部
ループを含めてすべての動作に対して、このことがあて
はまる。このため、装置負荷を最小にし、チップ上のワ
イヤ長さを短くすることによって、ECC経路の総遅延
が間接的に減少する。チップに対する双方向データ・フ
ローの効果は、第2図に示すような、ラッチ・グループ
51.53.57.80と、システム・ドライバとレシ
ーバの対6L62及びメモリ・ドライバとレシーバの対
50.58との間でのユニークな経路設定によって実現
される。FCC出力ラッチ57は記憶時は直接メモリに
入力を供給し、取出し動作中には出力回路60を介して
システムに入力を供給する。ECC入力ラッチ51と5
3はそれぞれ、取出し時はメモリ・レシーバ50から、
また記憶時はシステム・レシーバ62から、入力を供給
される。
このカード・インターフェースの重要な特徴は、幅の広
い多目的データ・バスである。このバスを使用すると、
適正なカード機能のためにこのメモリ・システム・イン
ターフェースに追加しなげればならない制御入力と状況
出力及びエラー出力の数が制限される。すなわち、これ
は、カード設計で直面する機能対チップ/モジュール入
出力(Ilo)の制限に対する重要な解決策である。多
目的データ・バスは、カードの柔軟性の要件に対する重
要な解決策でもある。モジュール入出力段での多目的バ
スの仕様は以下の通りである(第9A図及び第9B図を
参照されたい)。
モジュール入出力バス(合計45ビツト)a)双方向デ
ータまたはアドレス入力用のバイト1ないし3 (24
) b)双方向データまたはコマンド、フィールド長入力用
のバイトO(08) C)他のモジュールのバイトOの入力用の補助バイト(
08)(この分岐により、カード・タブのコマンド及び
フィールド長情報の単一人力が論理モジュールによって
共用できる。またこの分岐により、コマンドとアドレス
の全体を1サイクルでカードに転送でき、そのため性能
が向上することに留意されたい。)d)4つの双方向デ
ータ・バイト用の双方向パリティ・ビットO−4(04
) e)補助バイト用のパリティ・ビット入力(01)この
多目的データ・バスは、同じバス線上で様々な入出力デ
ータ・フィールドを多重化することにより、システム・
インターフェースにおけるカード信号入出力の総数を減
少させる。データ及びアドレス/コマンド/フィールド
長による実際の多重化指定を第9B図に示す。たとえば
、モジュールL(第9A図)のデータ・バイト0は、選
択(SEL)が表明されたときカードに送られる「コマ
ンド」ワードのフィールド長部分と多重化される。(バ
イトAで示した)補助バイトは、「コマンド」ワードに
対してだけ存在し、データ・ワード転送には存在しない
ことに留意されたい。
関連するパリティ・ビットは第9B図には示されていな
い。最も重要なことであるが、このことが、カード論理
回路上のチップ入出力信号パッド及びモジュール入出力
ビンの削減に直接に関係している。「スマート」メモリ
・カードの好ましい実施例の多目的バスの特定のデータ
・フィールドを、以下のリストに示す。
1)入力フィールド a)コマンド/フィールド長/アドレス(「コマンド」
ワード) b)通常記憶データ(パリティを含む)C)診断データ
(1) 制御レジスタは次のものをロードする。
i)特殊機能レジスタ72 (データ・フロー論理の内部制御) (非コマンド診断動作開始) ii)冗長ビット・アドレス・レジスタ58d(内部ビ
ット交換を制御する) iii )プログラム・レジスタ71 (内部制御論理回路の初期化) データ・レジスタ・ロード56f i)検査ビット・レジスタ ii)冗長ビット・レジスタ d)診断データ(2) データ・ループ記憶 直接検査及び冗長ビット記憶 ECCなしの記憶 2)出力フィールド a)通常取出しデータ(パリティをもつ)b)診断デー
タ(1) 制御レジスタは次のものを読み取る。
i)特殊機能レジスタ72 ii)冗長ビット・アドレス・レジスタ56diii 
)プログラム・レジスタ71 iv)マスク・レジスタ58c データ・レジスタは次のものを読み取る。
i)検査ビット・レジスタ56f it )冗長ビット・レジスタ58f 状況レジスタは次のものを読み取る。
i)シンドローム・レジスタ58a if )チエッカ情報58b iii )拡張ECCカウンタ58e d)診断データ(2) データ・ループ取出し 直接検査及び冗長ビット取出し ECCなしの取出し 上記のリストで、診断(1)は、コマンドで駆動される
ものに関する。コマンド・リストについては表1を参照
されたい。診断(2)は、特殊機能レジスタ(SFR)
?2の設定によって制御されるものに関する。5FR7
2のロードはコマンドによって駆動されることに留意さ
れたい。表1のコマンドHE X O60,を参照のこ
と。表1には「16進コ一ド解釈j図及び例も含まれて
いる。
メモリ・カード上の論理回路は、2つの主要部分に分か
れる。1)制御論理回路、第1図の46b−eまたは4
7 b −e o監視機構64(状態マシン制御装置)
、第3図のアレイ制御論理回路63、及びデータ・フロ
ー制御論理回路65から構成される。2)データ・フロ
ー論理回路自体、第4図の48aまたは47a、ECC
及び冗長ビット交換論理回路及びカード上のアレイ・バ
スとカード外のシステム・バスの間の様々なデータ経路
を含む。
多目的データ・バスは、カード選択時(活動SEL入力
)にブマンド/フィールド長/アドレス転送を介して、
または診断コマンド(第1表に示した080コマンドま
たはODOコマンド)の1つによってロードされた内部
レジスタを使って制御入力信号の大半を処理する。
表1 16進動−F解釈 例: 16進詭3F −64々トの通常記憶 XFR:  コマンドのシステム転送の数MCL上のC
B/RC: 転送1−8回(取出しまたは記憶) デー、り・ループ:転送8回 クロツタ及びドライバ制御マクロ(17信号)及び非シ
ステム使用アレイ検査信号(2)用のもの以外にバス入
力の外部に追加しなければならないただ2つの専用モジ
ュール入力を以下にリストする。この場合、クロック及
びドライバ・マクロ入出力は、システムの大半またはす
べてのカード上で標準的なものなので、扱わない。
制御入力の最小セット 1)SEL:カード選択信号 2)REF:カード再生活動化信号 多目的データ・バスは、診断取出しコマンド(表1に示
す160コマンドまたはIDOコマンド)を使って、状
況及びエラー信号の大半を処理する。多目的バスの外部
に追加しなければならない唯一の状況モジュール入出力
を以下にリストする。
状況/エラー信号の最小セット 1)BUSY:カード使用中状況信号 2)XFERニジステムへの有効データ転送状況信号 3)MCL :機械チエツク・エラー信号4)MBE:
複数ビット・エラー信号 5)SBE:単一ビット・エラー信号 8)UCE:訂正不能エラー信号 多目的データ・バス及び上記の信号によってカバーされ
ない残りのモジュール入出力は、以下にリストする論理
回路間で必要なチップ間連絡信号だけである。
1)MSYNC:機械チエツク同期信号2)XSYNC
:拡張ECC同期信号 3)SSYNC:同期スクラブ信号 4)MACKN:機械チエツク肯定応答信号5)XAC
KN:拡張ECC肯定応答信号8)SACKNニスクラ
ブ肯定応答信号このインターフェースは、従来のI 8
M9370プロセツサのメモリ・インターフェースに幾
分類似しているが、コマン゛ド処理方式の大きな改良に
よって、機能能力が増大し、柔軟性が向上し、システム
・コマンドが減少する。従来のI 8M9370プロセ
ツサ・メモリ・インターフェースは、7ビツトのコマン
ド・フィールドをもち、そのすべてのピッ、トが復号さ
れて一定数の専用コマンドをもたらす。これは、診断コ
マンドには十分であったが、取出し、直接記憶、及び読
取り・修正・書込み(RMW)動作にとってはやや不十
分である。
この幾分ランダムな復号方式は4ないし64バイトの6
つの異なる記憶「長さ」及び6つの異なる取出し「長さ
」しかもたらさなかった。読取り・修正・書込み動作は
、システムによって生成された別々の取出しコマンドと
部分記憶コマンドから構成される別々の16個のコマン
ドによってカバーされる。
本発明による改良されたIBM9370プロセッサ・メ
モリ・インターフェースは、以下に示すような構成の1
0ピツト・フィールドをもつ。コマンド・ビット取出し
/記憶制御用に1つと、通常/診断動作制御用に1つの
計2つしかない。これらは、表1の「16進コードの解
釈」リストに示した上の2つのビットである。表1のそ
れらの下に示した他の8つのビットは、2通りに使用さ
れる。診断コマンドでは、それらのビットは、専用診断
動作を選択するための直線的復号として使用される。し
かし、通常コマンドでは、それらのビットは、その取出
しまたは記憶のフィールド長を示すのに使用される。通
常コマンドをX (2XX。
3XX)で示したのはそのためである。Xは、許容され
る記憶または取出しの「長さ」に対して存在できる様々
な16進値を表わす。フィールド長は、開始バイト・ア
ドレスとあいまって、カード1枚当り1ないし256個
までの連続バイトがその単一コマンドの作用を受けるよ
うにすることにより、個別のバイトごとの柔軟性をもた
らす。カードごとの実際の実施例は、最高64バイトで
ある。これは、論理回路を変えることによって256バ
イトにまで容易に拡張することができ、258バイトの
限界は、アーキテクチャにさらにフィールド長ビットを
追加することによって変更できる。その最大の利点は、
どの通常記憶動作にも1つのコマンドしか必要でなく、
どの通常取出し動作にも1つのコマンドしか必要でない
ことである。記憶動作の場合、この1つの関連するコマ
ンドの開始アドレスとフィールド長を、カード上の論理
回路が使って、直接記憶を行なうかどうか、または82
56の固有の読取り・修正・書込み動作のうちの1つを
内部で行なうかどうかを自動的に決定する。
第1OA図ないし第10H図は、「SB」列の番号で示
される開始バイト・アドレスとrF LJ行の番号で示
されるフィールド長の関係を示す。
たとえば、「321」コマンドは、第10A図の表に基
づいて次のように解釈される。16進数の3は、それが
取出しコマンド(3XX)であることを意味する。16
進数21は、2つのXを表し、したがって関連する取出
しコマンドのフィールド長を表し、FL=33と解釈さ
れる。関連する開始バイト・アドレスが5B=OOOの
場合、第10C図に進んで、それらに対応するボックス
中での「、」または「0」を見つける。FL=33及び
5B=OOOは、ボックス中の「、」に対応する。記憶
コマンドを考慮するとき、「、」と「3」だけが一義的
な意味を持ち、それらの意味は第10A図で説明されて
いる。「3転送」は、関連するデータを取り出すために
行なわなければならないシステム転送の回数に関係する
。r (HE) Jは、2カード・ポートを指す。これ
らの表は、8回の転送で移動できる128バイトの最大
数に関係する127の最大FLを示す。1枚のカードに
対する前述の最大値は64バイトなので、128バイト
では2枚のカードが必要になる。
多目的データ・バス上での多重化により、カード上の特
殊制御レジスタに対して任意の数の診断記憶または取出
しが可能となる。メモリ・カード上の2個の論理モジュ
ールはそれぞれ、2つの重要制御レジスタを有し、それ
が本発明によるインターフェースに関連する柔軟性の多
くをもたらす。
チップ上の制御レジスタは、非常によく使われている設
計ツールであるが、それらのレジスタによってサポート
されるメモリ・カードに関連する機能の組合せは独特で
ある。これらの機能をリストし、要約して記述する。
特殊機能レジスタ(SFR)72は、通常コマンドがデ
ータ・フロー中で実行される方式、またはデータ・フロ
ー経路自体が任意の動作に対して構成される方式を修正
するために使用される。レジスタの24ビツトは、下記
の機能を提供し、また将来グレードアップの際に追加す
る機能を収容する。このレジスタは容易に32ビツトま
たはそれ以上に拡張できる。従来のIBM9370メモ
リ・カードは4つのSFRビットしかもっていなかった
。そのうちの3つが復号されて、以下の8つの機能を提
供していた; a)特殊機能なし:b−d)1モジュール当り1つだけ
のデータ・ビット、検査ビットまたはその両方に対する
ハード故障シミュレーシ1ン:e)通常読取り時のEC
C:f)メモリなしの単純データ・ループ二g)通常取
出し/記憶コマンドに対するメモリ・オーバーヘッド・
ビット:及びh)EECなしの記憶時の使用禁止冗長ビ
ット・レジスタである。4番目のSFRビットは、シン
ドローム・レジスタを使用可能にするために様々なモー
ドを選択するのに使用された。本発明による5FR72
により、以下の制御が可能となる。
1、データ・ループ:異なる3種のデータ・ループ動作
を実行して、システムがメモリに行くことなくカード・
データを記憶し取り出すことができる。この機能を使う
と、カード上の3つの主要データ・フロー経路が、メモ
リからの干渉(またはメモリに対する妨害)なしにチエ
ツクアウトできる。
この機能はまた、他の様々な診断にも使用でき、カード
を小型キャッシュとして使用することさえもできる。
2、通常コマンドに対するメモリ・オーバーヘッド・ビ
ット:この機能を使うと、通常記憶及び取出しコマンド
を用いてすべての検査ビット及び冗長ビット・アレイ位
置の迅速な検査が可能になる。
これは、カード上のすべてのアレイ位置を迅速に検査す
るために、システムが「アレイ検査モード」動作を使用
することができない場合にその補償をする助けとなる。
「アレイ検査モード」については、後でより詳細に説明
する。
3、ハード故障シミュレーシロン:この機能を使うと、
カードに物理的な損害を及ぼすことなく複数のビットを
1つの値にスタックすることができる。カード拡張EC
C動作の完全な能力が検査できるのは、ハードウェア故
障が存在する(スタックされたビット)場合だけである
。カードが「クリーン」 (スタックされたビットのよ
うなアレイ障害がない)メモリの状態で出荷されるので
、アレイの問題点をシミュレートするには、スタックさ
れたビットを論理回路中で活動化しなければならない。
スタックできるのはECC1つ当り2(モジュール当り
4)ビットである。スタックされた各ビットは、複数の
ビットの復号ではなく、SFR中の単一ビットによって
制御される。すなわち、4つのビットの任意の組合せが
可能である。
4、ECC禁止:取出しまたは記憶に関連するECC動
作を禁止できる。取出し時の訂正またはデータ・エラー
信号も、記憶時の検査ビット生成もない。冗長ビットも
検査ビットと一緒に制御できる。IBM9370プロセ
ッサの設計では、専用コマンドで記憶時のECC禁止を
行なわなければならなかった。
5、拡張ECC禁止:拡張ECCが、取出しコマンド、
または読取り・修正・書込みに関連する事前取出しある
いはその両方に対して個別に禁止できる。
6、拡張ECCカウンタ:拡張ECCカウンタが、外部
状況信号の活動化をトリガする速度が、このレジスタに
よって制御される。システムは、この状況線を監視して
メモリがどのぐらい「汚れているか」についての指示を
得る。診断ルーチンは適切な時に通常の動作を中断して
、アレイ障害の程度を決定し、また深刻な性能の低下さ
らに不良データの逸出をもたらす恐れのある、故障メモ
リの大きな部分を交換するために予備ビットを使用でき
るかどうかを決定すべきことを示す表示として使われる
7、シンドローム・レジスタ:SFRは内部レジスタが
後で読み出せるように特定の動作シンドローム・データ
をいつ保持するかを制御する。それらの内部レジスタは
、異なる4種のエラーのケースに応じて使用可能になる
。1)誤りなし:各取出し転送ごとにレジスタが更新さ
れる。2)単一ビット・エラーの発生時にのみ、レジス
タが更新され保持される。これは、デバッグ中に使用し
て、長時間の実行中に断続的に起こる単一ビット・エラ
ーの発生を捕捉することができる。次いで、保持された
シンドロームを使って、その障害に関連するアレイ・ビ
ットを特定することができる。3)任意の多重ビット・
エラーの発生時にレジスタが、更新され保持される。4
)拡張FCC動作中に単一ビット・エラーに対してのみ
レジスタが更新され保持される。この場合、シンドロー
ムを使って、拡張ECC動作をトリガした2重ビット障
害の種類を決定することができる。XECC動作自体が
うまくいかなかった場合、2つ(または4.6.8.1
0など)のソフト障害がある。XECCがうまくいき、
影響°を受けるFCCに対する関連するシンドロームが
すべてゼロであった場合、2つのハード障害が存在し、
訂正された。シンドロームが有効な奇数値の場合、1つ
のソフト障害及び1つのハード障害が存在し、訂正され
た。XECC動作で、メモリからソフト・エラーがスク
ラブされ、奇数のシンドローム値はそれがあった場所を
示す。ハード障害は、新しいアレイと物理的に置換し、
あるいは電気的に交換しなければならないメモリ中での
実際の故障である。ソフト障害は、放射線またはノイズ
によって変更されたアレイ中のデータである。アレイが
損傷を受けていす、したがってその障害は訂正できる。
8、周波数スクラブ:再生時にソフト・エラー・スクラ
ブ動作を活動化して、それが発生する率を制御する。
プログラム・レジスタ71は、どの種類のカードが差し
込まれるかを監視し、システム構成がどんなものである
かを知ることによって決定されるシステム入力に基づい
て、カードの動作を個性化するために制御論理回路によ
って使用される。次に、システム内に記憶された適切な
データがこのレジスタにロードされる。このレジスタの
32ビツトは、以下に示す機能を提供し、将来グレード
アップの際に追加される機能を収容する。
1、カード・サイズ指示 2、カード上のアレイ・バンクの数 3、ボート中のカード位置 4、ボート中のカード数 5、FCC伝播遅延 6、同時切替えに対するメモリ・ドライバ・スキュー動
作 7、カード使用中信号のプログラミング8、アレイRA
S及びCASパルスを変更するための様々の制御。
この変更により、異なるアレイ技術が使用でき、また実
際のハードウェア性能に基づいてアレイ・タイミング・
マージンを改善することができる。
こうしたプログラム・レジスタは従来のI 8M937
0メモリには存在しなかった。
本発明によるカード・アーキテクチャは、最小の専用入
出力及び論理オーバーヘッドをもつが、カード上での製
造検査時間を半分に削減できる、「アレイ検査モード」
を提供する。「アレイ検査モード」を用いると、カード
上のあるメモリ位置にあるすべてのデータが、検査ビッ
ト(CB)と冗長ビット(RB)を含めて1回のアレイ
転送(2回のシステム転送)記憶及び1つのアレイ転送
可取出しによって検査できる。これを行なうには、カー
ド上のFCC及びパリティ活動を完全に禁止する。取出
し時にはECC訂正及びパリティ生成が禁止され、記憶
時にはFCC検出ビット生成及びパリティ検査が禁止さ
れる。パリティ用の4つのモジュール入出力が、7つの
モジュール検出ビットのうちの4つに使用され、多数ビ
ット・エラー(MBE)用の4つの再駆動入出力が、3
つの検査ビット及び冗長ビットに使用される。ECCが
禁止され、「アレイ検査モード」の双方向動作に必要な
レシーバは、MBEドライバ上のチエッカ回路に対して
すでに存在しているので、MBEが使用できる。
システム診断でカード「システム・モード」中にすべて
のアレイを検査しなければならない場合と比較すれば、
検査時間の削減が明らかになる。
カード上の各メモリ・アドレス位置ごとに、システムは
、記憶及び取出しのために以下のことを行なわなければ
ならない。後で見るように、各7レイを検査するために
カード・メモリ空間全体にわたってあらゆるアドレス位
置で合計8回のシステム転送を行なわなければならない
。それには、カード密度が84MB以上の場合、かなり
の時間がかかる。表1に示すように、コマンド080及
び160の代わりに、取出し及び記憶時に検査ビット及
び冗長ビットだけを移動させる特殊機能レジスタ・オプ
ションを使用することができることに留意され′たい。
その結果、システム転送は8回となる。
記憶: a)CBレジスタ及びRBレジスタをロードするための
コマンド060(システム転送2回) b> DBをロードするための、ECCが禁止されたコ
マンド2XX (システム転送2回)取出し: a)DBを読み取るための、ECCが禁止されたコマン
ド3XX(システム転送2 回)b)CBレジスタ及び
RBレジスタを読み取るためのコマンド180(システ
ム転送2回)それに対応する「アレイ検査モード」では
、記憶及び取出しの場合、各アドレス位置で次のことだ
けを実行すればよい。後で見るように、各アレイを検査
するために全カード・メモリ空間全体にわたってあらゆ
るアドレス位置で合計4回の「システム」転送を実行し
なければならない。
記憶: a)コマンド2XX (システム転送2回)取出し: b)コマンド3XX(システム転送2回)この機能のた
だ2つの専用入出力は、CTMとRESETである。C
TMは、「アレイ検査モード」と「システム・モード」
間の切替えを行なう。
RESETは、長い走査を必要とせずに、カードを初期
化する手段をもたらす。システムは、走査を使ってカー
ドの初期化及びその診断の多くを行なう。リセットなら
びに内部レジスタ・ロード及び読取りコマンド(コマン
ド080、OD、0及び160、ID0)の追加により
、走査経路及び関連する制御装置がカード上で完全に配
線されるのにちょうど十分な走査で製造検査を行なうこ
とができる。このため、テスタのオーバーヘッドと検査
時間を減少させることができる。チップ上の走査経路の
連続性はチップ/モジュール検査で確認され、走査ラッ
チの関連機能はカードの論理回路の検査中に「システム
・モード」で検査される。
このカード上の「アレイ検査モード」機能を用いると、
メモリ・カードからECCを外して、異なるシステムが
このカードを使用できるようにすることもできる。この
場合、検査ビットと冗長ビットが、使用するカード外の
論理回路用のデータ・ビットと同時に利用できる。カー
ド上のRB交換はこのモードでも依然として使用できる
。アレイに対するECC保護が、カード上の論理回路及
びカード外のバスまで行なわれるので、パリティ・ビッ
トが生成されないことは、重要ではない。
従来のメモリ設計技術を本発明によるユニークな特徴と
組み合わせることにより、IBM9370プロセッサの
新バージタンの性能及び機能上の要件に対応できる、一
般的でしかも同時に強力で柔軟なメモリ・インターフェ
ース及びアーキテクチャが実現された。
自己エラー訂正機能をもつメモリ・カードは、メモリと
のシステム対話を最小にするために、メモリへのシステ
ム記憶を処理する2つのモードを提供しなければならな
い。一方のモードは直接モードで、他方のモードは、読
取り・修正・書込み(RMW)と呼ばれる部分記憶であ
る。直接記憶が行なえるのは、重ね書きすべきデータが
1つまたは複数のカードFCC境界内に完全に収まると
きである。本発明の好ましい実施例は、4個の4バイト
ECCをもつ。すなわち、4つのバイトがすべて1つの
ECC境界内に完全に収まる場合に、4バイトの直接記
憶を行なうことができる。16バイトのカード上インタ
ーフェースで4バイトまたは8バイトの直接記憶を行な
う能力があるため、主記憶メモリを緩衝記憶するための
キャッシュ・メモリが存在しないとき、システム性能の
大幅な向上が可能になる。記憶すべきデータがECC境
界上で開始も終了もしないときに、RMW動作を実行し
なければならない。カード上のECCでは、重ね書きす
べきデータの事前取出しを最初に行なうことが必要であ
る。可能な場合、この事前取出しにより、ECC及び拡
張ECC論理回路は、関連するECCワード中にあるど
んなエラーでも消すことができる。それが行なわれなか
った場合、ECCワードの重ね書きされない部分に存在
するエラーが、不良データに対する正しい検出ビットの
生成によってマスクされることになる。将来完全に重ね
書きされない場合、このエラーの結果、その位置に対す
る次の取出し時に不良データが逸出する。RMW性能の
低下は事前取出しに関係し、その結果行なわれるメモリ
への記憶のための純サイクル時間が大幅に増大する。こ
の機能を外部メモリ制御装置中ではなくてメモリ・カー
ド上で実施することにより、この時間が大幅に削減され
る。
これら2つのモードを扱うため、従来のIBM9370
プロセッサ主記憶装置用のコマンド・セットは、4ない
し64バイトの直接記憶用の6つの個別コマンド、部分
記憶の異なる読取り(事前取出し)部分用の8つの個別
コマンド、及び部分記憶の複数の異なる書込み部分用の
8つの個別の関連コマンドを含む。したがって、システ
ムは、どのモードにし、どのコマンドを送るべきかを決
定しなければならない。これによって、特定のカード上
のECC構成と限られた数のアレイ形式にインターフェ
ースが固定される。システムを将来グレードアップする
には、インターフェースに変更を加えなければならない
。本発明によるインターフェース及びアーキテクチャは
、システムからほとんど何も必要とせずに、最適の柔軟
性をもたらす。この大幅に縮小されたコマンド・セット
は、構造化し直されたコマンド・データ書式とあいまっ
て、単純でトランスペアレントな動作をもたらす。
ハードウェアの観点から見たこれらの拡張機能について
以下に詳しく説明する。
IBM9370のコマンド・ワードは、8つのコマンド
・ビットと24のアドレス・ビットから構成される。前
述のように、特定の直接記憶またはRMWを行なうには
、異なる22個のコマンドのうちから全8ビツトの復号
を選択する必要がある。RMWでは、選択されたコマン
ドは修正すベキハイド数を示す。アドレス・フィールド
の2つのビットだけがモジュールの開始バイトを指すの
に使用される。すなわち、限られた数のRMWオプショ
ンを実行するのにかなりのシステム動作が必要である。
IBM9370より後のモデルに対する本発明の好まし
い実施例では、2つのコマンド・ビット、8つのフィー
ルド長ビット及び30のアドレス・ビットから構成され
る「コマンド・ワード」がある。カード上の2つのモジ
ュールそれぞれの「コマンド・ワード」の5番目のバイ
トは、カード・タブに64個しか固有ビットがないので
、8バイトのうちの2バイトを両方のモジュールに供給
することによって実施する。これらの補助バイトが実際
にカード上でどう配線されるかについては第9A図を参
照されたい。2つのコマンド・ビットが、記憶動作か取
出し動作か、及び通常動作か診断動作かの選択を行なう
。現在の設計では、8つのフィールド長ビットのうちの
7つを使って、8回のシステム転送で書き込むべきバイ
トの数を選択する。すなわち、1バイトを表わす。oo
o。
00のフィールド長から128バイトを表わす1111
111のフィールド長まで使用できる。最高128バイ
トの範囲で、2カード・ポート全体にわたるRMW動作
が可能である。8番目のフィールド長ビットは、深さが
わずか8転送ではなく、18システム転送であるRMW
動作を行なうのに利用できる。全アドレス・フィールド
は、全メモリ空間内で、RMWサイクルを構成する4つ
のアレイ転送の開始位置の選択を行なう。そのうちの7
ビツトは、関連する4つのアレイ転送(8システム転送
)のグループ内での開始バイトを示す。
2カード・ポートでは、開始バイトが000の場合、書
込み可能なバイト数は、1ないし128である。開始バ
イトが127の場合、1バイトしか書き込めない。した
がって、境界を横切る循環動作は行なえない。その結果
得られる実行可能なRMW動作を、第10A図ないし第
10H図に示す。
これらの図をどう解釈するかの詳細は上記に説明した。
1カード・ポート及び2カード・ポートの境界を、第1
1A図及び118図に示す。第11A図及び第118図
のボックス内の数は、バイト数を表わす。たとえば、2
0を含むサブボックスは、実際には20.21.22.
23の4つのバイトを表わす。rMODJは、関連する
バイトがカード上の左側と右側のどちらのモジュールに
あるかを示す。各モジュールは、A及びBで示した2つ
のFCCをもつ。「開始」は、開始アドレス(システム
転送)が偶数(ECCA)かそれとも奇数(ECCB)
かを示す。2カード・ポート全体で1つのモジュール部
品番号しか使用しない。したがって、様々なRMW動作
を実行するために、ポート全体で4つのモジュールを一
義的に個性化する必要がある。カード上のモジュール位
置は、ノ1−ド・ワイヤ式モジュール・ピンによって決
定される。ポート内のカード位置は、そのモジュール中
のプログラム・レジスタのシステム個性化によって決定
される。
RMW動作に関していくつかの重要な特徴がある。記憶
コマンドの実行中、開始アドレスとフィールド長は、直
接記憶を行なうか、それともRMW(部分記憶)を行な
うかを決定する。書き込むべきデータのすべてがECC
ワードに対応する4バイト境界内にきちんと含まれると
きだけ直接記憶が行なわれる。
開始アドレスがFCC境界外にあり、終了アドレスが境
界上にあるRMWは、事前取出し/記憶転送とその後に
続く最高7回の直接記憶転送から構成される。これを、
PWRMWのケースと呼ぶ。開始アドレスが境界上にあ
り、終了アドレスが境界外にあるRMWは、事前取出し
/記憶転送で終了し、その前に最高7回の直接記憶転送
がくる。これをWP  RMWケースの場合と呼ぶ。開
始アドレスも終了アドレスも境界外にあるときは、間に
最高6回の直接記憶転送をはさんで両端で事前取出し/
記憶転送が行なわれる。これを、PPRMWケースと呼
ぶ。1回だけ転送が行なわれるとき、このケースは、単
一事前取出し/記憶動作となる。これらの異なる3種の
RMWサイクルで、可能なすべてのRMWの組合せがカ
バーされる。
上記では8システム転送を参照したが、それが1カード
・コマンド・サイクル当り許容される転送の最高数だか
らである。7回以下の転送を含むRMW動作は、これら
3つのグループのうちの1つのサブセット集合である。
これらの異なる3種のRMWの完全な実施例については
、第12図を参照されたい。このカード上RMW機能の
基本概念は、9回以上の転送にも拡張できる。カードは
、RMWの完全な柔軟性をもたらし、制御論理回路を比
較的単純に保つように構成されている。同時にRMW形
式の最小数を3種に保つため、RMWは連続するバイト
・セットに対してのみ行なわれる。すなわち、事前取出
しは、連続するデータ・ブロックの開始バイト及び終了
バイトでしか行なえない。中間部では事前取出しは行な
えない。
事前取出し中に、ECCはカード全体(または2カード
・ポート)にわたって活動状態になる。
しかし、拡張FCC(XECC)は、境界内で部分記憶
が行なわれる、ECCに対して複数ビット・エラーが発
生する場合にしかトリガされない。複数ビット・エラー
信号はXECCに関する通常取出し用のものなので、X
ECCが開始される場合は活動化されない。XECC動
作ステップは、1つのFCCのみによって活動化された
としても、カード(ポート)全体にわたって行なわれる
。これは、アレイ・タイミングの同期を保つためである
。上記のチップ間連絡線(XSYNC,MSYNC,5
SYNC,XACKN、MACKN、5ACKN)のい
くつかを使って、1枚のカード上の2つのモジュールま
たは2カード・ポートにわたる4つのモジュールを同期
する。しかし、各XECC動作内での作業は、そのEC
Cの境界内で部分記憶が行なわれているか否かに応じて
変わる。
このことについては、以下で詳細に説明する。部分記憶
ECC境界内のデータに対するXECC動作がうまくい
かなかった場合は、適切なSFRビットが設定されてい
れば、未訂正エラー(UCE)が活動状態になる。UC
Eが活動状態であってもなくても、メモリの不良データ
は復元され、その結果、その位置への次のアクセスでは
、不良データの逸出(非検出)ではなく、検出可能エラ
ーが依然として提示される。事前取出しのみで奇数の複
数ビット・エラーが生じた場合、XECCにいかずにU
CEが活動状態になる。SFR内の別のビットを使って
、通常の取出しコマンドに対するXECCを可能にし、
同時にRMW中にXECCを非活動状態にすることがで
きる。事前取出し時に単一ビット訂正を示す単一ビット
・エラー信号が活動状態になる。
基本的な直接記憶/RMW制御手順を、第13図の流れ
図に示す。カードが選択されたと判断ブロック101で
判定されると、機能ブロック102で1.コマンド、開
始アドレス及びフィールド長がロードされる。機能ブロ
ック103で、ロードされたコマンド、開始アドレス及
びフィールド長を使って、終了アドレス、アレイ数とシ
ステム転送の数、最初及び最後のバイト・エネーブル位
置、それに必要なら事前取出しが必要な場所を決定する
。これらの計算に基づいて、工ないし4回(または、設
計されている場合はそれ以上)のアレイ転送が、判断ブ
ロック104で決定された一連の動作経路に従って進行
する。上記の項目を計算する方法については、以下でよ
り詳細に説明する。
4アレイ転送直接記憶wwwwでは、その後に続く動作
経路シーケンスは判断ブロック104から始まり、そこ
でブロック106に分岐することが決定される。判断ブ
ロック106で、修正開始動作に従うかどうか決定する
ためのテストが行なわれる。このテストの結果はノーで
あり、機能ブロック107で、EFBバイトの記憶が実
行され、その後判断ブロック108で、処理が完了した
かどうか判定するためのテストが行なわれる。このテス
トの結果もノーであり、判断ブロック104に戻る。次
に、機能ブロック109に進み、そこで16バイトの直
接記憶が実行され、その後判断ブロック108に進む。
第3のrWJ転送について、この経路が、再び繰り返さ
れる。次に、第4の最後のWアレイ転送について、判断
ブロック113に進み、そこで処理が修正で終了かどう
か判定するためのテストが行なわれる。このテストの結
果はノーであり、機能ブロック114で、ELBバイト
の記憶が行なわれて処理が完了する。
2アレイ転送PW  PMWでは、動作経路シーケンス
は、判断ブロック106から始まり、その結果はイエス
である。機能ブロック112で、完全取出しが実行され
、続いてEFBバイトごとにデータの組合せが行なわれ
る。次いで、機能ブロック107及び判断ブロック10
8を経て判断ブロック104に戻り、そこから判断ブロ
ック113に進む。判断ブロック113でのテストの結
果はノーであり、機能ブロック114に進んで処理が完
了する。
2アレイ転送WP  RMWでは、動作経路シーケンス
は、やはり判断ブロック106から始まり、そのテスト
の結果はノーになる。検査プロ、り107と判断ブロッ
ク108を経て判断ブロック104に戻り、そこから判
断ブロック113に進み、テストの結果はイエスとなる
。したがって、機能ブロック115に進み、そこで完全
取出しが行なわれ、続いてELBバイトごとにデータの
組合せが行なわれる。
2アレイ転送PP  RMWでは、動作経路シーケンス
は、やはり判断ブロック106から始まり、そこでテス
トの結果はイエスとなり、以下、PWの場合と同じ経路
をたどって判断ブロック113に進み、そこでやはりテ
ストの結果はイエスとなり、以下、WPの場合と同じ経
路をたどって完了する。
特殊単一転送P  RMWでは、動作経路は判断ブロッ
ク110から始まり、そのテストの結果はイエスとなる
。この場合は、機能ブロック116に進み、そこで完全
取出しが実行され、続いてELBバイトと論理的にAN
DされたEFBのデータ組合せが行なわれる。単一直接
書込み転送では、判断ブロック110でのテストの結果
はノーとなる。流れ図には示されていないが、各完全取
出しく事前取出し)について、XECCが活動状態にな
る必要があるか否かの決定が行なわれる。この流れ図で
参照された様々な計算は以下の通りである。
1)開始アドレス(SA)=入力アドレス2)計算終了
アドレス(EA)=開始アドレス+フィールド長(FL
) 3)(1カード・ポートに基づく)アレイ転送(AXF
)の数を(2進加算で)計算する:FLビット 765
432i0 SAピット +   3210 xxx ただし、合計中の2つの8ビツトに1つを加えると転送
の数になる(・たとえば、01=2転送)4)(1カー
ド・ポートに基づく)システム転送(SFX)の数を(
2進加算で)計算する:FLビット 78543210 SAビット       210 ””xxx ただし、合計中の3つの6ビツトに1つを加えると、転
送の数に等しくなる(たとえば、111=8転送) 5)(SA (1: O)≠°00°B)または(EA
 (1: O)≠’11”B)及び(AXF数=°00
″B)の場合、事前取出しくたとえば、PWWW)から
始まる。(1:O)は2つの最下位ビット(LSB)を
示す。
6)(EA (1: O)≠″11°Bの場合、事前取
出しくたとえば、WWWP)で終了する。
7)第17レイ転送バイト・エネーブル復号(EFBバ
イト) 1カード・ボート       2カード・ボートCR
D>              左       右
MOD>  左  右    左   右   左  
 右EFBO=O≦4=0≦4≦8≦C EFB1≦1≦5≦1≦5≦9≦D EFB2≦2≦6≦2≦6≦A≦E EFB3≦3≦7≦3≦7≦B≦F EFB4≦8≦C≦10≦14≦18≦ICEFB5≦
9≦D≦11≦15≦19≦IDEFB8≦A≦E≦1
2≦16≦IA≦IEEFB7≦B≦F≦13≦17≦
1B≦IF1カード・ポート       2カード・
ボートCRD>             左    
   右MOD>  左  右    左   右  
 左   右ELBO≧0≧4≧0≧4≧8≧C ELB1≧1≧5≧1≧5≧9≧D ELB2≧2≧6≧2≧6≧A≧E ELB3≧3≧7≧3≧7≧B≧F ELB4≧8≧C≧10≧14≧18≧ICELB5≧
9≧D≧11≧15≧19≧IDELB6≧A≧E≧1
2≧16≧IA≧IEELB7≧B =F≧13≧17
≧1B =IF上記で、EFBnが活動状態になるのは
、sAの4つ(1カード・ポートの場合)のLSBまた
はSAの5つ(2カード・ポートの場合)のLSBの1
6進値が所与の16進値以下の場合である。
≦“F′16進数または≦’ IF’ 18進数は、E
FBが常にオンであることを意味する。
8)最終アレイ転送バイト・エネーブル復号(ELBバ
イト) 上記で、EFBnが活動状態になるのは、EAの4つ(
1カード・ボートの場合)のLSBまたはEAの5つ(
2カード・ボートの場合)のLSBの16進値が、所与
の16進値以上の場合である。≧’O’16進数は、E
LBが常に活動状態にあることを意味する。
バイト選択の例(第13図参照) 1)事前取出し・修正・書込みを伴う単一アレイ転送:
具体的には、’02’16進数アドレスの12バイト。
ブロック101で、システムはコマンド、アドレス、フ
ィールド長を使ってカードを選択する。ブロック102
でカードはそれらをロードする。
開始アドレス及びフィールド長: 5A(7:O) = ’00000010°B (’0
1’  18進数)FL(7:O)=’0000101
1’B (’OB’  18進数)ブロック103で、
カードは以下の計算を行なう。
終了アドレス FL(7:0)   00001011SA(7:O)
  +0OOOOO10アレイ転送の数 FL(7:0) SA(3:0) UM AXF(Co) =00 回の転送 +    0010 したがって、 アレイ・バス上で1 システム転送の数 FL(7:0)  00001011 SΔ(2:O)  +   010 SUM    00001101 SXF(2:O) =OOI  したがって、アレイ・
バス上で2回の転送 修正開始=真、なぜならば、5A(1:O)≠°00°
B修正終了=真、なぜならば、EA(1:O)≠’11
’Bブロック103でEFBとELBを計算する。
左EFB(0ニア) = ’00111111’B左E
LB(0ニア) = ’11111111°B右EFB
(0ニア) = ’11111111°B右ELB(0
ニア) = ’11111100°B書込みコマンドな
ので、ブロック104に戻る。
ブロック104で、これは唯一のアレイ転送なので、最
初かつ最後の転送である。ブロック110に進む。ブロ
ック110で、修正開始と修正終了がともに真である。
ブロック116に進む。ブロック116で、完全取出し
を実行し、次いで方程式に従ってデータの組合せを行な
い、次いでブロック111に進む。
左モジュール: EFB(oニア)=’0011111
1’BELB(0ニア) = ’11111111°B
論理積 = ’00111111°B 旧  新 データ  データ バイト  バイト 右モジュール: EFB(0ニア)=’1llllll
l°BELB(0ニア)= ’11111100’B論
理積 = ’11111100’B 新旧 データデータ バイト  バイト フロック111で、方程式に従って左モジュール・バイ
ト0と1及び右モジュール・バイト6と7に旧データを
記憶する。左モジュール・バイト2ないし7と右モジュ
ール・バイト0ないし5に新データを記憶する。ブロッ
ク108に進む。ブロック108で処理が完了し、ブロ
ック101で待機状態に入る。
2)2アレイ転送PWの例ニアドレス7への13バイト
書込み。ブロック101で、システムはカードを選択し
、コマンド、アドレス、フィールド長を送る。ブロック
102で、カードはそれらをロードする。
開始アドレス及びフィールド長: 5A(7:0)=’0OOO0111’B (’07°
16進数)FL(7:0) = ’00001100’
B (’QC’ 16進数)ブロック103で、カード
は、以下の計算を行なう。
終了アドレス PL(7:0)   00001100SA(7:0)
  +0OO00111EA(7:O)   0001
0011アレイ転送の数 PL(7:O)   00001100SA(3:0)
  +   0111 SuM     00010011 AXF(1:0)=01 1.たがって、2回の転送が
行なわれることになる。
システム転送の数 FL(7:0)   00001100SA(2:O)
  +   111 SUM     00010011 SXF(2:O) =01Oしたがッテ、システム・ハ
ス上で3回の転送 修正開始=真、なぜならば、5A(1:0)≠゛00′
B修正終了=偽、なぜならば、EA(1:O) = ’
11’Bブロック103でEFBとELBを計算する。
左EFB(0ニア) = ’0OOO1111’B左E
LB(0ニア) = ’11110000’B右EFB
(0ニア) = ’00011111°B右ELB(0
ニア) = ’00000000°B書込みコマンドな
ので、ブロック104に進む。
ブロック104で、これは2つのアレイ転送の最初のも
のである。次にブロック106に進む。ブロック106
で、修正開始が真であり、したがってブロック112に
進み、EFBについて完全取出し及びデータの組合せが
実行される。
左モジュール: EFB(0ニア) = ’0O001
111’B旧  新 データ  データ 右モジュール: EFB(0ニア) = ’00011
111″B旧  新 データデータ ブロック107に進み、左モジュール・バイトOないし
3でNo−Qpを実行する。旧データが取り出されて訂
正されたが、それはメモリには戻されず、スクラブ動作
となる。次に、旧データを右モジュール・パイ)(0:
2)に記憶する。新データを左モジュール・バイト(4
: 7)と右モジュール・バイト(3: 7)に記憶す
る。次にブロック108に進み、処理が完了していない
ので、そこからブロック104に進む。ブロック104
で、これは最後のアレイ転送である。ブロック113に
進み、そこで修正終了が偽となる。次にブロック114
に進み、ELBを記録する。
左モジュ−ル: ELB(0ニア) = ’11110
000’B新  旧 データデータ 右モジュール: ELB(0ニア) = ’0O000
000’B旧 データ 左モジュールのパイ)(0:3)に新しい経路を記憶し
、他の12バイトでNo−0pを実行する。この場合は
、事前取出しが行なわれていないので、メモリのこれら
12バイトの内容は未知であり、したがって、それらは
非撹乱状態のままでなければならない。次に、ブロック
108に進む。
ここで処理が完了し、ブロック101に戻る。
3)2アレイ転送WPの例ニアドレス12(10進数)
での5バイト書込み。ブロック101で、システムはカ
ードを選択し、コマンド、アドレス、フィールド長を送
る。ブロック102で、カードはそれらをロードする。
開始アドレス及びフィールド長: 5A(7:O) = ’00001100°B (’Q
C’ 113進数)Fl、(7:O) = ’0000
0100’B (’04°16進数)ブロック103で
、カードは以下の計算を行なう。
終了アドレス FL(7:O)  00000100 SA(7:O)  +0O001100EA(7:0)
  00010000 アレイ転送の数 PL(7:O)   00000100SA(3:O)
   +  1l10 0SU     00010000 AXF(1:0) =OI L、たがって2回のアレイ
転送が行なわれる。
システム転送の数 FL(7:O)   00000100SA(2:O)
   +   110 05U     00001000 SXF(2:0)=001 したがって2回のアレイ転
送 修正開始=偽、なぜならば、5A(1:O) = ’0
0°B修正終了=真、なぜならば、EA(Co)≠°1
1°BELBとEFBを計算する。
左E F B (0: 7 ) =’0OOOOO00
°B左E L B (0: 7 ) =’1O0000
00°B右E F B (0: 7 ) =’0OOO
1111’B右E L B (0: 7 ) =’0O
OOOO00°B書込みコマンドなので、ブロック10
4に進む。
ブロック104で、これは2つのアレイ転送の最初のも
のである。ブロック106に進み、そこで修正開始が偽
となる。次にブロック107に進む。
ブロック107で、EFBを記録する。
左モジュール: EFB (0ニア) =OOOOOO
OO旧ヂークを保持 右モデーール: EFB(0ニア) =0000111
1旧ザーダ新データ 保持 記憶 左モジュール・バイト(0: 7)と右モジュール・バ
イト(0:3)でNo−opを実行する。
右モジュール・パイ)(4ニア)に新しいデータを記憶
する。次にブロック108に進む。処理が完了していな
いので、ブロック104に進む。ブロック104で、こ
れは最後のアレイ転送である。
ブロック113に進み、そこで修正終了が真となる。ブ
ロック115に進み、ELBごとに完全取出しを実行し
、次いでデータの組合せを行なう。
左モジ、−ル: ELB(0ニア)=’1000000
0°B新  旧 データ   データ 右モジュール: ELB(0ニア) = ’00000
000°B旧チーク ブロック114に進み、そこで新データを左モジュール
形式Oに、旧データをバイト(1:3)に記憶する。残
りのバイトにNo−opを実行する。次にブロック10
8に進む。処理が完了し、ブロック101に進む。これ
で例の説明を終わる。
RMWサイクルでカードまたは2カード・ポートを横切
るデータ・フローは、制御論理回路によってバイトごと
に個性化される。制御論理回路は、アレイ・データ選択
を利用してアレイへのワードごとの書込みを可能にする
。制御論理回路は、また各データ・フロー・バイトに対
する内部書込みエネーブル信号を生成する。これらのエ
ネーブル信号は、第4図に示した取出し/記憶マルチプ
レクサ論理回路を制御する。1バイトを重ね書きすると
きマルチプレクサ120aと120bは、記憶バッファ
・マルチプレクサ122aと122bからデータを選択
する。記憶バッファ・マルチプレクサ論理回路は、適切
な4つのバイト・ワードを選択するのに使用される。そ
れらのワードは連続して緩衝記憶され、適切なときに使
用される。
データを重ね書きしないときは、マルチプレクサは、L
PDラッチ54a154bから取出し/ループ・マルチ
プレクサ121 a、  12 l bを介してループ
されたメモリから事前に取り出されて訂正されていたデ
ータを選択する。このループ動作及び取出し/記憶マル
チプレクサの選択は、検査ビット経路や冗長ビット経路
ではなく、データ・ビット経路に基づいてのみ行なわれ
る。記憶バッファ/ループ・データ選択が行なわれて記
憶すべき新しいワードを形成した後に、新しい検査ビッ
トがECC論理回路によって生成される。新しい検査ビ
ット生成後に、冗長ビット記憶のためのデータ・ビット
または検査ビットの選択が行なわれる。
RMW性能を最適化するために、記憶バッファ53が、
データ・フローに追加されて、記憶中にデータの連続し
たシステム転送が可能になった。
直接記憶では、データは、記憶時にデータ・フローEC
C論理回路55 a155 bを介してパイプライン化
できるので、バッファを完全に利用する必要はない。偶
数アドレス開始直接記憶の場合、データが第14図のク
ロック・ポイント1でSIEラッチ125aにロードさ
れ、次いでクロック・ポイント2で、S10ラッチ12
5bにロードされる。
この時点で、データはECC55aと55bを介して送
られる。このため、8バイト・システム転送を16バイ
ト・アレイ転送に変換することができる。1クロツクF
CC構成では、次のクロックであるクロック・ポイント
3で、データ及び生成されたデータ・ビットが、LGB
ラッチ57a157bにラッチされる。同時に、次のシ
ステム転送がやはりSIEラッチ125aでラッチでき
、以下同様である。種々の記憶バッファ動作用の論理回
路を単純にするために、直接記憶用の前述のパイプライ
ン動作を、全記憶バッファが活用できるように、実際に
いく分修正する。すなわち、クロック・ポイント3でE
CC出力ラッチ(LGB)57a、57bにデータをラ
ッチするのに加えて、次の8バイト・データ転送が82
E12E3aにロードされ、前の2つの転送が5B11
27a及び127bにシフトされる。このシフトにより
、5IE125aへの最初の転送が次のクロック・ポイ
ント5で更新されるとき、重ね書きされることが防止さ
れる。次いで、クロック・ポイント5で第4のデータ転
送が520128bにロードされる。
クロック・ポイント4でSIE更新に加えて、前の第3
及び第4の転送が5B2128aと128bにシフトさ
れる。この時点で、最初の4つの転送はすべてSBI及
びSB2中にあり、したがって、最後の4つの転送はす
べて(全ロードが実行される場合)SIE1310.S
2E及びS20に再ロードできる。1つ置きのクロック
(3,5,7など)が16バイト・データで更新されて
アレイに進むので、LGB57a、57bに関するパイ
プライン効果に留意されたい。第14B図に、次のRM
Wケースのラッチ・タイミングを示す。
この図で、番号を付けたパルスは、関連するシステム転
送番号に対するラッチの動作(データ更新)を表わす。
括弧内の数は、第4図の論理ブロックの参照番号である
最初のアレイ転送のために事前取出しを行なわなければ
ならないRMWでは、記憶バッファは完全に利用される
。それにより、論理回路が同時に2つのモードで実行で
きるようになる。論理回路の一部は、システム・バスで
の連続する記憶転送を緩衝記憶し、論理回路の一部はア
レイ・バスを介してデータの事前取出しを行なう。この
場合、記憶バッファは以下のようにロードされる。ラッ
チ5IE125a、次いで、ラッチ310125b;統
いてラッチ82E128a、さらにラッチ520128
bに進む。ラッチ82E128aがロードされる間に、
5IE125a及び510125bにラッチされたデー
タは、それぞれSBIラッチ127a、L27bにシフ
トされ、ラッチ5IE125aが、再ロードされ、続い
てラッチ520126bが再ロードされる。82Eがロ
ードされ、SB1にシフトされる(第14B図には図示
せず)とき、「PRE」で示されるメモリ・アクセスか
らの事前取出しデータも、メモリ取出しレジスタ51a
、51bにラッチされる。すべての取出しの場合と同様
に、取出しデータがLGB57にラッチされた後、それ
はまた内部でループされ、LPD54にラッチされて、
後のXECC動作で使用できるようになる。制御論理回
路を修正すると、これらの同じラッチを使って、8回を
超える転送でサイクルを緩衝記憶しパイプライン化する
ことができる。直接書込みから始まるRMWサイクルは
、全直接記憶サイクルの場合と同様にパイプライン式書
込みから始まるため、性能上価かな利点を得る。
以下の説明では、PWRMWのデータ・フロー経路に重
点を置く。4つのシステム転送が、51E1S10、S
2E及び52053で緩衝記憶される。同時に、メモリ
への事前取出しが行なわれる。緩衝記憶された記憶デー
タは、取出しデータがFETラッチ51a、51bにラ
ッチされ、必要ならば単一ビット訂正のためにECC論
理回路55a、55bを介して送られ、次いでLGBラ
ッチ57a、57bにラッチされる間、保持される。
XECCが活動化されて複数ビット・エラーを処理する
ケースは、この例でカバーされていない。
そのデータは次いで内部でLPDラッチ54a154b
にループされる。記憶マルチプレクサ122aと122
bは、SIEと810データがループ化データと共に取
出し/記憶マルチプレクサ回路120aと120bに送
られるように設定される。取出し/ループ・マルチプレ
クサ121aと121bは、メモリ取出し経路や冗長ビ
ット交換経路ではなくループ経路を選択するように設定
されなければならない。書込みエネーブル信号は、バイ
トごとにループ化データまたは記憶緩衝データを選択す
る。次いで、ECC55a、55bを介して新しいワー
ドが供給され、必要なら、ECC論理回路からの新しく
生成された検査ビット及び適切な冗長ビットと共にLG
Bラッチ57a157bにラッチされる。次いで、LG
Bラッチ57a157bからのデータがメモリに記憶さ
れる。
記憶バッファ・マルチプレクサ122a、122bは、
次にS2Eラッチ126aと820ラッチ126bを選
択する。別の事前取出しは行なわれない。この選択され
た記憶データが、次にECC55a155bを介して供
給されて、検査ビットを生成し、次いでLGBラッチ5
7a、57bにラッチされる。次にこのデータがメモリ
に記憶される。
このRMWアーキテクチャでは、このカード上では使用
されないが追加のソフト・エラー・スクラブ動作を行な
うのに使用できる事前取出しオプションがある。このカ
ード上で、ECCワード内のバイトが事前に取り出され
るが重ね書きされないとき、バイトはECC訂正論理回
路を通過するがメモリに戻されない。この記憶を行なう
ことができる場合、この重ね書きされないECCワード
内のソフト・エラーがメモリからスクラブされることに
なる。
訂正不可能メモリ・データ・エラーの発生によるシステ
ム・ダウン時間を最小にするため、通常取出し動作時に
、拡張FCCが実行される。これは、ハード及びソフト
・エラーの境界合せからハード障害を取り除<XECC
2重補数技術を使って実行される。これにより、単一エ
ラー訂正/ 2 重エラー訂正(SEC/DED)EC
Cが転送時に正確なデータを供給し、メモリからソフト
・エラーをスクラブすることができる。拡張ECCが、
RMW事前取出しのために設けられ、うまくいく部分記
憶動作の数が増加する。その結果、最終的に取出し動作
に関連するXECCヒツトが減少し、訂正不能エラーが
減少する可能性が生じる。部分記憶に関連するXECC
遅延は、後の取出しに関連するものほど重要ではない。
部分記憶では、システムはバスを記憶転送で一杯にする
。転送される最初の記憶データについて事前取出しを実
行しなければならない場合でも、カードは、すべての記
憶データを1つの連続するブロックに緩衝記憶し、すべ
ての操作を内部で処理する。すなわち、内部XECCサ
イクル中にカードは使用中であるが、バスは空いている
ことがあり得る。取出しでは、訂正済みデータが転送さ
れるのを要求側装置がXECC遅延が待つとき、バスを
一杯にする。
この場合のデータ転送は、XECCが複数転送取出し動
作の最中に発生する場合、転送相互間にかなりの間隙を
生じることがある。
XECCを使用しない場合、RMW事前取出し中に遭遇
した2重ビット・エラーは訂正できないことになる。こ
れは、この設計では、奇数複数ビット・エラーまたは失
敗したXECC動作として処理される。不良であるが訂
正可能なデータをその位置に維持するために、そのRM
W動作のためのアレイに対する最終書込みは阻止される
。すなわち、部分記憶は行なわれない。このため、それ
以前に完全に重ね書きされていない限り、その位置への
その後の取出しで、再び訂正不能エラー状況が生じるこ
とが保証される。
XECCを使う場合、ハード障害とソフト障害から構成
される2重ビット・エラーを事前に取り出し訂正するこ
とができる。この場合、障害が重ね書きされたバイトに
関してどこにあろうと、XECCが成功すれば、ソフト
障害はその位置から取り除かれることになる。すなわち
、ハード障害が残っているため、その後の取出しで、単
一ビット訂正だけが行なわれ、XEccは行なわれず、
データの転送が遅くなる。2重ハード障害の場合は、障
害を引き起こしたアレイの欠陥は訂正できないが、部分
記憶が行なえるようにすると、一方または両方のビット
について重ね書きされたデータが、それらがスタックさ
れるレベルと一致することができる。すなわち、その後
の取出し時に、データは、その欠陥をXECCを呼び出
す必要があるビット障害として示さない。
XECCは、メモリ・ポート全体にわたる1つまたは複
数のFCCCCセフシロン重ビット・エラーによって活
動化できる。この適用例では、モジュール1個当り2つ
のECC,カード1枚当り2個のモジュール、ポート1
個当り1枚または2枚のカードがある。1つのポート全
体のECCの数がどうであれ、1つのECCだけがXE
CCを活動化させる必要がある場合、すべてのモジュー
ルを同期させておくために、そのポート全体にわたるす
べてのFCCが、同様に時間調整されたXECC状の動
作を実行しなければならない。同期化が必要なのは、適
切なアレイ及びシステム動作のためである。X5YNC
及びXACKNチップ間通信線間通上線機能を実行する
ために使用される。RMWに関連するXECC動作では
、これは、異なる3種の内部XECC動作を内部的に設
計しなければならなかったことを意味する。1つのXE
CC動作は「完全J XECC動作であり、その動作の
通常のステップがすべて実施できる。他の2つは「修正
されたJ XECC動作であり、いくつかのステップが
変更されている。これら及び関連する動作ステップの必
要性については、以下で説明する。
どの種類のXECC動作が実行されるかは、主に2つの
ことによって決まる。1つは、特定のECCワード境界
のRMWに関連する状態であり、もう1つはFCC内部
のエラー状態である。3種類のRMW状態がある: 1
)ECC境界内のバイトが完全に重ね書きされる。2)
少なくとも1つは重ね書きされるが、すべてのバイトが
重ね書きされるわけではない。3)境界内でバイトが重
ね書きされない。3種類のFCCエラー状態がある:1
)エラーまたは訂正済みの単一ビット・エラーがない。
2)偶数多数ビット・エラー 3)奇数多数ビット・エ
ラー。ボート内の1つのモジュールでXECCが非活動
化された場合、それはすべてのモジュールに対して非活
動化されなければならない。XECCが活動状態のモジ
ュールが同期パルスを送り出して、XECC動作を開始
することを示し、XECCが非活動化されたモジュール
が同期信号を°受け取る場合、受信側モジュールがチエ
ッカを活動化し、動作は終了する。
特殊機能レジスタ(SFR)72中に、XECC動作に
通常取出し及びRMW事前取出しを独立に活動化または
非活動化させる2つのビットがある。すべてのRMW 
 XECCがポート全体にわたって非活動化されている
場合、複数ビット・エラー(偶数または奇数)が外部訂
正不能エラー信号(UCE)を即時活動化させる。デバ
ッグ及び診断の柔軟性のために、このエラー信号をシス
テム動作に対して阻止しく取出しエラーが記憶時には示
されず、その後の取出し時にのみ示される)またはデバ
ッグに対して使用可能にすることができる。UCEは、
失敗したXECC動作に対しても活動化できる。
RMWとエラー状態の以下の組合せにより、そのECC
セクタに対する「完全なJ XECC動作が行なわれる
。それが行なわれるのは、ECC境界内の全バイトでは
ないが少なくとも1バイトが重ね書きと関連付けられる
RMW状態、及び偶数の複数ビット・エラーが存在する
エラー状態の場合である。この場合、事前取出しデータ
の一部は未変更のままであり、したがってエラーを訂正
する試みは、メモリへの書込みが行なわれる前に行なわ
なければならない。他のECCセクタ中の異なるRMW
状態またはエラー状態は、このECCセクタに対する完
全動作に影響を及ぼさない。この「完全J XECC動
作のステップごとの詳細は以下の通りである。
初期取出し 1)アレイ境界内での部分記憶を容易にするために、メ
モリからの事前取出しが活動化される。
2)この部分記憶に関連する4バイトのECC境界内に
偶数複数ビット・エラーが存在する。
3)RMW  XECCがトリガされ、他のモジュール
を同期させるため、この論理モジュールに対するXEC
C同期信号(XSYNC)が活動化される。
4)通常取出しエラー信号は活動化されない。
5)FETラッチ51からECC55を介してLGBラ
ッチ57に渡された不良事前取出しデータは、LGBか
らLPDラッチ54にループされる。
6)システム・バス上にデータは出力されない。
7)XECC及びRMW動作を通じてカード使用中が活
動状態に保たれる。
反転/記憶 1)データが、LPDラッチ54から反転X0R129
を介してLGBラッチ57に転送される。
反転は、データ・ビット(DB)と検査ビット(CB)
に対して行なわれる。さらに、記憶時にFCCによって
生成されたCBが禁止される。
2)冗長ピッ) (RB)経路での反転は不必要である
。DB経路とCB経路がRB記憶選択論理回路に合流す
る点が、DBデータ及びCBデータに対する反転を行な
うXORの後にくる。すなわち、交換されるRBの反転
は自動的に処理される。
3)次いで、データがLGBラッチ57からメモリに記
憶される。最初に読み取られたのと同じメモリ位置が書
き込まれる。当該ECCのアレイ・データ入出力だけが
活動化されて、記憶が可能になる。この選択は、関連す
るアレイ・データ選択を活動化するだけで実施される。
反転/取出し 1)データが同じメモリ位置から取り出されて、FET
ラッチ51にラッチされる。次いでこのデータが反転X
0R129とECC論理回路55に送られる。この場合
も、反転XORの前にRBがこれらの経路中に交換され
るので、反転は、DB及びCBに対してだけ行なう必要
がある。
2)FCC訂正は、通常取出しの場合と同様に行なわれ
る。両方の初期障害がハード障害である場合、この時点
ではエラーは検出されず、エラー線も活動化されない。
ハード障害及びソフト障害があった場合、単一ビット・
エラー信号が活動化され、そのソフト障害に関連するD
BまたはCBに対して訂正が行なわれる。
3)訂正されたデータがLGBラッチ57にラッチされ
、次いでLPDラッチ54にループされてラッチされる
4)シンドローム・レジスタ56aが活動状態になり、
関連する特殊機能レジスタ72のシンドローム・レジス
タ・エネーブルに対するビット設定に応じて制御される
復元 1)成功したRMW  XECCでは、コマンド3XX
(通常取出し)XECCの場合、そのような復元は行な
われない。その代わりに、反転/取出しがRMWサイク
ルの続きに組み込まれる。すなわち、以下の動作は、X
ECCを使わない通常部分書込みの場合に行なわれるの
で、この時点でXECCは完了していると見なすことが
できる。
2)LPDラッチ54中の事前に取り出され訂正された
データまたは緩衝された記憶データ53の事前に取り出
され訂正されたデータのバイト幅選択は、関連する内部
書込みエネーブル信号のレベルに基づいて行なわれる。
記憶バッファ・データは、ラッチSIE、81018B
I、SB2゜32E及びS20から選択される。
3)選択されたデータは、その検査ビットがECCによ
って生成され、適切なRB交換が行なわれる。次いで、
DB、CB及びRBがLGBラッチ57にラッチされ、
このECCのためにメモリに記憶される。
4)RMWサイクルの残りの部分は通常と同様に進む。
失敗したXECC 1)2つのソフト障害がある場合、関連するSFRピッ
ドが設定されている場合だけ、未訂正信号(UCE)が
活動化される。このビットがリセットされると、UCE
は生成されない。UCEは、関連データがLGB57に
ラッチされた後に活動化され、カード使用中が非活動状
態になるまで活動状態に保たれ、そのとき低レベルに駆
動されるまで活動状態に保たれ、1クロツタ後に、UC
Eは高インピーダンス状態になる。
2)失敗したRMW  XECCでは、コマンドで指令
されるようにメモリへの部分記憶が行なわれてはならな
い。しかし、メモリの復元は行なわなければならない。
これが行なわれるのは、再びアクセスされたとき、依然
として検出済みであるが訂正不可能なエラーを含むよう
な状態にメモリ中のデータを復元するためである。復元
されたデー夕は、最初に取り出されたものとまったく同
じである。論理エラーがあるとデータは変更されるが、
問題が生じるのは逸出を起こす場合だけである。
これはほとんどあり得ない。
3)復元の場合、LPD54中のループ化「不良」デー
タと緩衝記憶データ53の間の選択が依然として行なわ
れる。しかし、生成されたCBとRBによって選択され
た結果データは、LGB57で阻止される。すなわち、
最初の不良データがメモリに復元される。XECCが失
敗しこのLGBでの阻止が行なわれる場合、XECCス
テップによって最初に取り出されたデータが変更されな
いことが判明している。早い時点ではなく LGBでの
阻止が選ばれたのは、代わりに、制御論理回路65内部
信号フィードバックに十分な時間を与えるためである。
復元で時間は増加しないことに留意されたい。
ここでいう復元は、成功したXECCの場合と同様に、
RMWサイクルの続きである、ただし修正された部分記
憶データの代わりに最初の不良データがメモリに戻され
る。
RMWとエラー状態の以下の組合せにより、そのECC
セクタに対する2つの「修正J XECC動作のうちの
どちらかが発生する。「修正IJXECCは、以下の場
合に行なわれる。1)ECC境界内で全バイトではなく
少なくとも1バイトが重ね書きと関連付けられるRMW
状態、及びこのECC内に単一ビット・エラーが存在し
、またはエラーが存在しないが、他のECC内に複数エ
ラーが存在するエラー状態、2)どのエラー状態でもE
CC内のすべてのバイトが完全に重ね書きされるかまた
は全く重ね書きされないRMW状態。この場合、XEC
Cステップは、以下の点を除いて、「完全J XECC
と同じである。
反転/記憶 1)LPDラッチ54からLGBラッチ57へのデータ
が反転されない。
2)このECCに対するLGB57中のデータがメモリ
に記憶されない。
反転/取出し 1)メモリからの取出しは許されるが、取り出されたデ
ータは、ラッチされたLPDデータの選択により、論理
ブロック121で論理回路内部で阻止される。
2)LPDデータが、LGB57でラッチされる前に反
転されない。
3)関連するUCEエラー信号が、このECCに対して
阻止される。
4)LGBデータがLPDにループ・バックされ、その
後RMWは通常のように続行する。
5)すなわち、修正されたXECCは、このECCセク
タの動作を、完全XECC動作を実行しているECCセ
クタの動作と同期させる。しかし、最初に取り出された
データは、論理回路によって変更されず、XECCを介
して保持される。この保持されたデータは、重ね書きす
べき記憶されたデータの選択に、また部分記憶がこのF
CCと関連付けられている場合には、変更されない取り
出されたデータの選択に使用される。これが行なわれる
のは、このECCセクタ中の良好なデータが、メモリに
よる不必要な記憶及び取出しによって混乱される危険を
減らすためである。
「修正2J XECCは、ECC境界内の全バイトでは
なく少なくとも1バイトが重ね書きと関連付けられてい
るRMW状態、及び奇数複数ビット・エラーが存在する
エラー状態の場合に生じる。他のECCセクタ中の異な
るRMW状態またはエラー状態は、この修正XECCの
動作には影響を及ぼさない。この場合、XECCステッ
プは、以下の点を除いて、「完全J XECCと同じで
ある。
初期取出し 1)内部訂正不能エラー信号(IUCE)が事前取出し
時に活動化されることを除いて、完全XECCと同じで
ある。関連するSFRビットが設定されている場合、外
部UCEが活動化され、他のECCセクタ内の偶数複数
ビット・エラーに対する完全XECCが成功した場合で
も、サイクルの終わりまで活動状態に保たれる。
反転/記憶 1)「修正IJ XECCと同じ 反転/取出し 1)UCEが禁止されずRMWが通常通り続行されない
点を除いて、「修正IJ XECCと同じ。
その代わり、このXECCに固有の以下の動作が行なわ
れる。XECC動作の後にLAED54中の不良データ
と緩衝記憶データ53の間の選択が行なわれ、その結果
がLGBにラッチされるが、反転データはメモリに記憶
されない。メモリ中の最初の不良データは、XECC動
作によって決して変更されないので、記憶を阻止するこ
とによりこの不良データは保存される。
この修正XECCを完全XECC動作を実行しているE
CCセクタ中の動作と同期させ、データを保持してXE
CC中にメモリのその部分に行かずに関連データを混乱
のない状態に保つことにより、この修正XECCは他の
修正XECCと同じ機能を実行する。ただし、奇数複数
ビット・エラーがこのFCCに関連付けられていたので
、このエラーは訂正できなかった。すなわち、検出可能
なメモリ中のデータを保存するために、XECCの後で
、事前取出しに関連する通常のRMW記憶が阻止される
事前取出し中に複数ビット・エラーが発生するRMW状
態がもう1つある。ECC境界内の全バイトではなく少
なくとも1バイトが重ね書きと関連付けられているRM
W状態、及びこのECC中に単一ビット・エラーが存在
しまたはエラーが存在せず、他のECC中に奇数複数ビ
ット・エラーだけが存在するエラー状態である。この場
合、XECCは活動化されず、通常のRMW動作が実行
される。このFCCにより、重ね書きがメモリに行く。
奇数MBEと関連するECCは重ね書きが阻止され、S
FRビットがセットされている場合、UCEが活動化さ
れる。
本発明は、メモリで完全に実行されるソフト・エラー・
スクラブ機能をもつ。この機能は、システムが動的ラン
ダム・アクセス・メモリ(DRAM)のオンカード再生
を開始するのに使用する、通常のプロセスによって活動
化される。システムは、15.8ミlJ秒に1回の平均
速度で1本の再生線を活動化する。再生制御は、従来技
術と共通なオンカード再生カウンタを使って行なわれる
本発明の独自の部分は、ソフト・エラー・スクラブ機能
がトランスペアレントな形でこの再生と結び付けられて
いることである。
IBM9370プロセッサのメモリ・カードは、ソフト
・エラー・スクラブ動作を実行する能力を持っていたが
、それがこのシステムによって実施されることはなかっ
た。スクラブ機能はトランスペアレントではなく、基本
取出しとその後に続いてゼロ・バイト修正書込みを実行
する2つのシステム活動化コマンドから構成されていた
。その2つの開始バイト・アドレス・ビットは無視され
る。
すなわち、バス上のカードに対する1つのスクラブ動作
によって、2コマンド・サイクルの間にバスが一杯にな
る。このスクラブ方式は、メモリ空間全体を頻繁にスク
ラブしなければならない場合、メモリの可用性及び関連
するシステム性能に太きな影響を及ぼすことになる。言
い替えれば、あるメモリ位置からECCワードが読み出
され、ECC論理回路を使って単一ビット・エラーが訂
正されていた。その場合、ゼロ・バイト修正書込みによ
り、訂正済みの元のデータが外部の重ね書きなしで同じ
位置に戻された。単一ビット・エラーがソフトの場合、
この2つのステップ処理でそれがスクラブされる。
本発明によると、同じ基本的な2ステツプ処理をトラン
スペアレント方式で、使用する。ただし、メモリ・バス
をコマンドで一杯にすることにより、システムは、メモ
リの可用性に影響を与えない。
この方式を用いると、バス上の1つのメモリ・カードが
、バスを一杯にしないトランスペアレントな再生/スク
ラブを行なう間に、別のカードが、取出し及び記憶のた
めにそのバスを使用することができる。オンカード再生
及びスクラブ・カウンタにより、バスによるデータ及び
アドレス転送が不要になる。ハード障害とは、関連する
アレイ・ビットが物理的に損傷を受け、常に1の値でス
タックされるものである。ソフト障害とは、ビット/セ
ルが損傷を受けないものである。この場合は、放射線(
アルファ粒子)またはノイズによってデータが誤った状
態に変わったのである。このエラーは、スクラブ処理で
正しいデータを戻すことにより、容易に修正できる。
ソフト・エラーは、大きなメモリ京間の各セクシゴン中
で時間の経過と共に累積することがある。
限定された間隔でメモリ空間全体でソフト・エラー・ス
クラブ・ルーチンを実行すると、ソフト障害が、はとん
ど使用されないセクシeン中で累積しないようになる。
スクラブを再生と結び付けると、再生もメモリ空間全体
を通して一定間隔で実行しなければならないので、それ
がうま〈実施される。第15図のカウンタ・セットアツ
プにより、高頻度の再生速度が低頻度の再生速度にスケ
ーリングされて、メモリの可用性が影響を受けないよう
になる。ソフト・エラーをスクラブして、任意の1つの
FCCワード中で並んだ2つのソフト・エラーの発生を
最小にすることが重要である。ECC論理回路は、拡張
ECC論理回路(2重補数再試行)とあいまって、2つ
のハード障害または1つのハード障害と1つのソフト障
害を検出し訂正することができるが、並んだ2つのソフ
ト障害を訂正することはできない。これは、検出可能で
あるが、システム動作に影響を及ぼす恐れのある訂正不
能なエラーを生じさせる。2つのハード障害と並んだ1
つのソフト障害は、より起こりやすく、ECC論理回路
がエラーを訂正し損なうというより深刻な状況を引き起
こす可能性がある。この場合、検出されないエラーが逸
出することがあり、したがってソフト・エラーを抑制し
て、それを発生させる蓄積を防止しなければならない。
本発明によるメモリ・カードは、オンカードRMWハー
ドウェアを使って、トランスペアレントなゼロ・バイト
書込みスクラブ動作を行なう。このことについては、第
15図、第16図及び表2に関して説明する。トランス
ペアレント・スクラブ動作は、それを再生と混合するこ
とによって実施する。アレイに関する限り、あるワード
線位置での取出しは再生と同じである。オンカード・ス
クラブ論理回路は、このことを利用して、再生の代わり
に、スクラブ、すなわち取出し及び記憶動作を行なう。
再生が必要であるとシステムが判定すると、システムは
カード再生信号(REF)を活動化する。
関連する特殊機能レジスタ・ビットが、スクラブ動作が
オフになるように設定されている場合、再生サイクルは
、2つの食違いアレイ再生のみから構成される。それら
のビットがスクラブ動作を活動状態にし、関連するカウ
ンタがスクラブが行なうように指示する場合、スクラブ
・サイクルは、2つのアレイ・バンクの間で分割された
4つの取出し及び記憶スクラブ動作から構成される。4
つのアレイ・バンクがある場合、他の2つのバンクがこ
の時間中に2つの再生を行なう。第16図を参照のこと
第16図は、スクラブ動作が再生コマンド動作とどのよ
うに混合されるかを示す。再生だけを行なうときは(図
示せず)、メモリ・アレイへのRAS線はすべて活動化
される。CAS線は非活動状態に保たれる。それにより
、2つのバンク・カード上のすべてのアレイに対するR
ASのみの再生が行なわれる。1つの再生コマンドで2
つの再生が実行されて、その対のサイクル・タイムが短
縮される。2バンクのスクラブ動作では、再生対の代わ
りに、2つのスクラブ対動作が行なわれる。
2つのバンクが同時に再生できるが、−時に1つのバン
クしかスクラブできないので、1つの再生の代わりに2
つのスクラブ動作を行なわなければならない。これは、
再生時にはアレイと共にデータが転送されないが、スク
ラブの場合はそれを行なわなければならないためである
。バンクのデータ入出力が点在しているため、−時に1
つのバンクだけがデータを転送できる。4つのバンクの
場合には、2つのバンクがスクラブされているとき、他
の2つのバンクが再生され、すべてその時のスクラブ・
カウンタ及び再生カウンタの当該のアドレス値に基づい
て行なわれる。
再生/スクラブ動作が完了すると、カード使用中線が未
活動状態になって、そのカードが利用可能なことを示す
。再生動作またはスクラブ動作のためのアドレッシング
は、すべて内部カウンタによって処理される。すなわち
、システムは、スクラブ動作を行なうのにカードへの1
本の信号線を活動化するだけでよい。アドレスを送る必
要がないので、再生コマンドの活動化でバスは一杯にな
らず、1コマンド・サイクルの間カードが一杯になるだ
けである。
再生は同時に80のアレイで行なわれるが、取出し及び
記憶動作は一時に1つのバンク(40アレイ)でしか行
なえないので、1つの再生動作の代わりに2つのスクラ
ブ動作が必要である。すなわち、全スクラブ・サイクル
は、それぞれが(システム転送に基づく場合はpwwp
になる)アレイ転送に基づ< rPPJ動作から構成さ
れる、背向形RMWサイクルに類似している。
各モジュールは、第15図に示すような再生カウンタと
スクラブ・カウンタをもつ。第15図で、再生カウンタ
の行アドレス・ビット(0−9)は、所定の間隔で再生
しなければならないアレイのワード線に対応する。カー
ドの電源を入れて、このカウンタとスクラブ・カウンタ
が共にゼロにリセットされた(正の論理と仮定)後、ス
クラブ・カウンタと再生カウンタの間でデータの一致が
見られる。
以下の例では、SFRビットの設定が01であると仮定
する。図の関連する行の9つの大文字のCで示されるよ
うに、再生カウンタのビット1−9が、スクラブ・カウ
ンタの行アドレス・ビット1−8及び5に一致するとき
、1対の2重スクラブ動作が行なわれる。すなわち、最
初の再生コマンドで1つのスクラブが行なわれる。再生
コマンドが活動化される度に、1対の再生動作(2本の
ワード線)が行なわれ、したがって再生カウンタのビッ
ト1が更新される。1対の2重スクラブが行なわれる度
に、スクラブ・カウンタの列アドレスのビット1が更新
される。すなわち、最初の再生コマンドの後、以前にリ
セットされたレジスタは、この2つのビット1位置に1
の値をとる。第2の再生コマンドが現われると、9つの
比較ビ。
トはもはや一致しなくなる。したがって、スクラブ動作
は行なわれず、再生だけが行なわれる。
所定の間隔でさらに再生が行なわれるとき、再生カウン
タは増分され続け、スクラブ・カウンタは最初のカウン
ト増分のまま留まる。すべてのカード・メモリ位置が再
生されると、再生カウンタ・ビット0−9が再びすべて
ゼーロになり、カウンタのビットAは1の値になる。0
1設定の場合、レジスタのA、B及びCビットは、カウ
ンタがこの範囲を通じて増分されるので、機能的に「ど
うでもよい」。ビット0−9に関連するカウントだけが
重要である。この範囲を通じての各ループごとに、カー
ドが完全に再生される。スクラブ・カウンタの行アドレ
スのビット1−傘は依然としてゼロなので、再生カウン
タの各ループごとに、比較ピッ) (C)がすべてゼロ
のときスクラブ動作が活動化される。すなわち、重要な
再生カウンタ・ビットがループ化されているので、スク
ラブ・カウンタは列アドレス・ビットの範囲を通じてカ
ウント・アップされ、その特定の行アドレスに対するカ
ードのあらゆる列アドレスに関連するデータがスクラブ
される。
その特定の行アドレスに対するすべての列アドレスがカ
ウントされると、スクラブ・カウンタのカウントが今度
はその行アドレス・ビット中を進むので、各行アドレス
について上記のプロセスが、繰り返される。9つの列ビ
ット及び9つの行アドレス・ビットの最大値に達するま
で、カウントが続く。最大値に達した時点で、アドレス
空間が最小のカードが完全にスクラブされ、スクラブ処
理がもう一度始まる。メモリ空間がより大きなカードで
は、スクラブ・カウントは、カードのサイズに応じて、
A、BまたはCビットに進む。この説明から、スクラブ
動作が時間的に分配され、−瞬には行なわれないことが
わかる。
ポート全体にわたるスクラブ動作が、ただ1つのモジュ
ールによって制御される。1カード・ポートでは、それ
は左モジュールである。2カード・ポートでは、それは
左カードの左モジュールである。この制御モジュール中
で、スクラブをいつ行なうかを決定するために、再生カ
ウンタとスクラブ・カウンタが比較される。
スクラブ動作が行なわれる度にスクラブ・カウンタが増
分される。スクラブ・カウンタをリセットできるのは、
システムの走査、またはリセット線だけであり、スクラ
ブも再生も電源投入後にリセットされる(すべて0)。
スクラブ動作は、同期線と肯定応答線の使用によってボ
ート全体にわたって同期される。またチップ開綿が、チ
ップ・カウンタがボート全体にわたって同じ値に留まっ
ていることを確認する。この検査により、各カウンタ用
のパリティ予想チエッカ回路が不要となる。
スクラブの取出し及び記憶動作は、以下のようにして進
行する。1つのアレイ位置(16バイト)からデータが
取り出され、ECCを使って、それぞれせいぜい1つの
ハード障害またはソフト障害が訂正される。FCC障害
がハード障害であろうとソフト障害であろうと、また障
害が発生しなくとも、訂正されたデータは内部でループ
化され、内部書込みエネーブル線がすべてセットされて
データの重ね書きを阻止する。次いで、データがアレイ
・バス上でドライブされる。単一ビット・エラーが訂正
された場合、その関連FCCに対するアレイ・データ選
択が活動化されて、正しいデータを同じアドレス位置に
戻す。その結果、そのメモリ位置の単一ソフト・エラー
が除去される。エラーが訂正されない場合、そのECC
に関連するデータ選択は活動化されない。これは、メモ
リ中の良好なデータが論理回路からの不良データ転送に
よって混乱されないようにするためである。他の特殊機
能レジスタに関する診断が活動状態のときにスクラブ動
作が発生するのを防止するために、内部チエッカが存在
する。このため、スクラブ動作中に、データの保全性に
影響を及ぼす恐れのある不適切なデータ操作が防止され
る。
現在の所、スクラブ動作中に拡張ECC(XECC)は
行なわれない。それを利用するなら、ハード障害と並ん
だ1つのソフト障害がメモリからスクラブできるように
なる。XECCの2重反転スチップにより、ハード障害
が除去され、SEC/DED  ECCで単一ソフト障
害が訂正できるようになる。この場合、メモリの復元が
可能となり、ソフト障害に関連する不良データを修正す
ることができる。XECCが行なわれない場合、2つ以
上の不良ビットを伴う取出しがあると、エラーがない場
合と同様に、アレイへの記憶が妨げられる。
このため、訂正し損なった3重ビット・エラーがメモリ
に復元されないようになり、したがってその位置でのそ
の後の取出し中に不良データが逸出することが可能にな
る。この場合、スクラブ動作中にエラー信号は生成され
ない。その位置でシステム取出しが行なわれるとき、エ
ラー信号が生成される。
特殊機能レジスタの2ビツトを使って、スクラブ速度を
制御する。カード論理回路により、システムは、060
診断書込みコマンドを用いて、または電源投入時(また
は他の任意の時に)にラッチを順次走査することにより
、スクラブ速度を事前設定することができる。060コ
マンドは、多目的データ・バスを介して特殊機能レジス
タ(SFR)をロードする。これらのビットが復号され
て、非スクラブ(省略時)、連続スクラブ(検査目的に
のみ使用される)及び異なる2つのシステム・スクラブ
速度が可能になる。スクラブ・カウンタ及び再生カウン
タのFREQビットの数によってこれらの速度が決まる
。連続スクラブとは、各再生活動化の際(通常、16ミ
IJ秒ごと)に1つのスクラブが行なわれるとの意味で
あることに留意されたい。連続速度を用いて、スクラブ
機能の検査に関連する製造検査回数を減らすことが利用
できる。システム使用は、デバッグまたは診断動作だけ
に制限される。
スクラブ動作は、選択されたある速度で、分配式に行な
われる。すなわち、スクラブ相互間の時間が一定になる
ように、一定数のスクラブが純粋な再生サイクルと混合
される。この設計では、様々なカード・サイズを補償す
る論理回路はない。すなわち、カード・メモリのサイズ
が増大するにつれて、特定のスクラブ速度の設定に対し
て、力一ド全体をスクラブするのに要する時間が増大す
る。
カード・サイズの範囲全体にわたってメモリ空間スクラ
ブ速度が一定に維持されるように論理回路を設計するこ
とができる。しかし、そうすると、システム内の様々な
カード・サイズに対するメモリ可用性の割合が異なるよ
うになる。すなわち、システム・メモリの増大を、顧客
が性能低下と感じ取る恐れがある。実施されたスクラブ
速度数と可用性に対する影響の例については第17図を
参照されたい。
表2 SFRピット   カード全体をスクラブ8)IB 6 MB 2 MB 4 MB 0.3 hr 2、Ohr O,6hr 4、Ohr 1.2 hr 8、Ohr 2.4 hr 16、Ohr  MB 6 MB 2 MB 4 MB  sec  sec  sec 65ec 1カードに対する可用性の影響の例 SFRビット 基本再生   可用性   純可用性0
  1    97.4 X     0.010 %
1  0    97.4 X     0.0()I
 Xl   1    97.4 %     6.0
00 X97.4 % 97.4 $ 91.4 X 表2は、4つの設定の速度を示す。スクラブを再生と結
び付け、より遅い速度でスクラブを実行することにより
、再生によって設定された値以上に可用性が減少しない
ことも示されている。スクラブ速度を選択するため、2
つのレジスタ・ピット、SFRqとrが復号される。省
略時の設定(00)(図示せず)ではスクラブ動作がオ
フになる。すなわち、再生動作中にスクラブは行なわれ
ない。01設定では、2つの動作速度のうち速い方が選
択され、10設定では遅い方の速度が選択される。第1
5図に関して説明したように、これらの速度は、再生カ
ウンタ及びスクラブ・カウンタのビット数とそれらの比
較方法を変えることによって調整できる。11設定は、
連続スクラブ動作を行なうために使用される。すなわち
、各再生コマンドが、スクラブ動作を活動化する。これ
を用いると、スクラブ動作の検査速度が上がる。
この検査では、各メモリ位置にスクラブ可能なソフト障
害を入力し、各位置に正確にヒツトするのに必要な2な
いし16秒の間この速度でスクラブを実行する。次に、
メモリの検査を行なって、すべてのソフト・エラーがス
クラブされたことを確認する。表2の下側は、2つの動
作スクラブ速度(設定01と10)での可用性に対する
影響がほとんどゼロであり、11検査設定ではシステム
がスクラブを実行しようとしないことを示す。
IBM9370プロセッサのメモリ・カードは自律スク
ラブ機能を持っていないので、調整可能性のための従来
技術は意味がない。そのシステム中でスクラブ機能を使
用する場合、関連するゼロ・バイト読取り・修正・書込
み(RMW)コマンドの速度を制御しなければならない
ことになる。さらに、9370メモリ・カードには特殊
機能レジスタ(SFR)が含まれているが、それはずっ
と原始的で、qビットとrビットを含んでいなかった。
9370メモリ・カードではSFRに4つのピットしか
なかったが、本発明は、24ビツトのSFRを使用して
、より一層の柔軟性と機能をもたらす。
簡略に要約すると、エラー訂正コード(FCC)及びす
べてのアレイ制御を各メモリ・カードに実装することに
より、最適な設計上の柔軟性がもたらされる。この柔軟
性により、固定インターフェースを使ってアレイ使用を
システムに対してトランスペアレントにすることができ
る。第1図に示すように、このインターフェースの主要
構成要素は、「多目的データ・バス」43と44である
。システム診断中のアレイ障害の分離のための物理から
論理への変換だけはトランスペアレントでない。
しかし、この変動性は、ソフトウェア/コードの修正に
よって処理できる。また、ECCを内部チエッカ及び内
蔵診断動作と共にメモリ・カードに実装することにより
、システムは、複数メモリ・カード・バス上の故障した
カード(及び論理構成要素またはアレイ構成要素)を容
易に分離することができる。これは、メモリに関連する
エラー検出及び障害分離(EDFI)の数を高めるのに
大きく貢献する。
ここで重要なことは、この柔軟性によって、共通インタ
ーフェースによるメモリ移行及びメモリ・バックアップ
戦略が可能となることである。たとえば、主記憶装置用
の4つのスロットをもつシステムは、32MB C4枚
の8MBカード)の基本メモリ容量及び256MB (
4枚の64MBカード)の最高メモリ容量を持つことが
できる。すなわち、各カード形式が差込み互換性をもつ
ことが望ましい。しかし、この範囲のカード密度を得る
には、8MBカードでは256KX4アレイ、64MB
カードではIM×47レイなど、異なる構成をもつ異な
るアレイ技術を使用しなければならない。さらに、これ
らのカード構成のいくつかまたはすべてでは、代替アレ
イをもつバックアップ・カードが供給のために必要であ
る。場合によっては、代替技術ではデータ選択などの主
要な機能を欠くことがある。オンカード論理回路を、イ
ンターフェースの修正なしに従来のカード機能及び性能
に合致またはほぼ合致するように再構成することができ
る。アレイ密度の変更に加えて、インターフェースを維
持しクロック速度だけを変更して、性能の向上を実現す
ることもできる。
「スマート」カード論理はまた、様々なFCCコードま
たは追加の冗長構成を使用して信頼性を向上させ、かつ
オンカード・インターリーブの量を増大させることによ
ってデータ転送速度を改善しながら、インターフェース
を維持することができる。このインターフェース及びア
ーキテクチャによってもたらされる差込み互換性及び性
能の柔軟性により、同じメモリ・カードをキャッシュ・
メモリの利点を伴って、あるいはそれなしでプロセッサ
で使用できるようになる。
「修正」インターフェースの大半を構成する「多目的」
データ・バスは、そのインターフェースに必要な専用線
の数を最小にする。このバスは、モジュール入出力カウ
ントを減少させる上に、このインターフェースを単純に
かつ柔軟にする。専用信号の数を減らすと、システムが
供給しなければならないタイミングが単純になる。「ス
マート」メモリ・カードの内部論理回路は、多種多様な
機能を使用可能にするために内部で発生しなければなら
ない複雑なタイミングからシステムを緩衝する。カード
上で使用する範囲のアレイ・ハードウェアに対する複雑
で変動するアレイ・タイミングは、第1図に示した適切
に初期化された内部論理回路46と47によって生成さ
れる。第3図の構成図に示すような制御論理回路の初期
化及び個性化は、適切なコードをプログラム・レジスタ
71にロードすることによって実施される。システムは
、カード選択(SEL)信号を活動化させコマンド、フ
ィールド長、アドレスを供給してカード動作を開始させ
るだけでよい。記憶動作の場合、次にデータは、同じ多
目的データ・バスを介して即座に多重化される。取出し
動作の場合は、即時ではなく、コマンド/アドレス・デ
ータがバスから除去された後少し経ってからデータ転送
が行なわれる。ある種の診断動作では、データ転送はま
ったく不要である。いずれの場合にも、活動化及び恐ら
くはデータ転送の後で、システムは、カード使用中が未
活動状態になって動作の完了を示すのを待つ。
このオンカード論理回路は、またハードウェアで内部で
多数の機能を実行することにより、必要なシステム・タ
イミング・ケースの数を減少させる。いくつかのケース
は、コマンドによって活動化された事象により自動的に
トリガされる。1)内部アレイ・バスからのデータに複
数ビット・エラーが存在する場合、取出しコマンドは、
自動的に内部拡張ECC動作をトリガすることができる
2)読取り・修正・書込みが、システム書込みコマンド
中に活動化される。カードは、選択時に供給されるフィ
ールド長と開始アドレスを使って、直接書込みまたは読
取り・修正・書込みを行なうかどうかを決定する。いく
つかの内部機能は、第3図の事前設定内部制御レジスタ
72及び関連する外部事象によってトリガされる。1)
自動ソフト・エラー・スクラブ動作は、特殊機能レジス
タの設定、第15図に示すような内部カウンタの関係、
及び再生(REF)信号の活動化の組合せによってトリ
ガされる。2)ECCなしの読取りまたは書込み、デー
タ・ループ動作及び他の診断動作は、特殊機能レジスタ
の設定及び通常取出し動作または記憶動作の活動化によ
って制御される。
データ・バス自体の全体的特徴が、インターフェースの
柔軟性の多くをもたらす。全体的なバス定義に影響を及
ぼさずに、バス全体にわたる個別指定を、様々なバスの
用途に応じて変更することができる。ビットの機能順序
の変更は、開発中のほとんどの時点でも、また将来の更
新の場合もシステムへの大きな影響なしに容易に行なう
ことができる。
固定したバス幅上でのビット変更に加えて、機能変更ま
たは更新の場合、バスの深さも容易に変更できる。これ
は、入力または出力あるいはその両方の多重化機能の分
岐を追加(除去)することによって行なう。たとえば、
設計サイクルの後の段階または追加設計時にさらにチエ
ッカを追加する場合、これらのチエッカは、1つまたは
複数のデータ出力転送を内部で追加して、既存の診断コ
マンドによって読み出すことができる。上記の出力多重
化機能の分岐は、第2図及び第5図に示されている。デ
ータ出力選択論理回路58を使って、通常取出し動作用
のデータ(入力a)または診断取出しデータ(入力b)
を選択する。
上記のチエッカ・データ転送追加は第5図に示されてい
る。既存の診断経路が、マルチプレクサ(MUX)73
に入っている。必要ならば、マルチプレクサ77を拡張
し、あるいはマルチプレクサ74の入力3に入力を供給
する同様のマルチプレクサを追加することにより、さら
に多くの診断線を容易に追加することができる。別の例
を挙げると、ベクトル・プロセッサ性能を改善するため
にメモリからより多くの取出しまたは記憶データ転送が
必要なとき、追加内部経路は必要ではない。
この場合、十分なフィールド長ビットがあるとすれば、
サイクル中により多くのCAS活動化が起こるように内
部アレイ制御論理回路を修正するだけでよい。このため
、システムとメモリのより多(の連続データ転送を可能
にすることによりアレイ・ページ・モード能力の多くが
利用できる。
本発明は、また第18図と第1図を比較すれば明らかな
ように、チップ・カウントの削減を実施する。第18図
の9370論理回路は、6つの個別論理モジュール26
a126bs 28C% 29.30及び31にわたっ
て分配されている。第1図に示す次世代のメモリは、2
つの個別論理モジュールしかもってない。これらは、1
つの論理部品番号しか必要でないように設計されており
、カード上のモジュール位置の個性化は、制御入力を高
レベルまたは低レベルにつなぐことによって制御される
。第18図のデータ・フロー・モジュール30のそれと
同じ機能は、第1図のモジュール46のセクション(a
)に関するものである。モジュール31と47 (a)
についても同様である。制御モジュール29は、モジュ
ール46と47を横切って分割されたセクシ目ン(b)
、(c)、(d)に変わっている。アレイ制御再駆動モ
ジュール2(3as 28 b128 cは、モジュー
ル46と47の間で分割されたセクション(e)に示さ
れたものと同様の機能をもつ。
本発明について、1つの好ましい実施例に関して説明し
てきたが、当業者なられかるように、頭書の特許請求の
範囲の精神及び範囲内で開示された特徴に修正を加え、
あるいはその一部分を組み込んで本発明を実施すること
ができる。
E0発明の効果 本発明は上述したように論理機構を介してシステム・バ
スとの通信を行なうスマート・メモリ・カードにおいて
、エラー訂正コード手段を分割して処理を進行しデータ
をインターリーブにより出力するように構成したので、
データの高速処理が可能となった。
【図面の簡単な説明】
第1図は、本発明によるスマート・メモリ・カードの好
ましい実施例の全体的アーキテクチャを示す構成図であ
る。 第2図は、本発明によるスマート・メモリ・カードのデ
ータ・フロー・アーキテクチャを示す構成図である。 第3図は、本発明によるスマート・メモリ・カードの制
御論理回路を示す構成図である。 第4図は、本発明によるスマート・メモリ・カードの内
部データ・フロー設計をより詳細に示す構成図である。 第5図は、本発明の取出しデータ出力選択動作をより詳
細に示す、第4図の構成図の部分図である。 第6図は、本発明の2重インターリーブ動作を示すタイ
ミング図である。 第7図は、本発明の取出しデータ出力タイミングを示す
タイミング図である。 第8図は、本発明による内部アレイ・バスを示す構成図
である。 第8A図及び第9B図は、本発明による多目的バスを示
す構成図である。 第10A図ないし第10H図は、システム転送によって
分類された2カード・ボートのフィールド長と開始バイ
ト・アドレスに基づく読取り・修正・書込み(RMW)
オプションを示す表である。 第11A図及び第11B図は、それぞれ1カード・ボー
ト及び2カード・ボートのRMWデータ境界定義を示す
機能構成図である。 第12図は、本発明によるメモリ・カードのRMW組合
せを示す表である。 第13図は、RMW動作の論理を示す流れ図である。 第14A図及び第14B図は、4アレイ転送直接書込み
(WWWW)と、最初のアレイ転送が事前取出しに関連
するという部分書込み2アレイ転送(RWWW)のタイ
ミングの比較を示すタイミング図である。 第15図は、スクラブ/再生カウンタの図である。 第16図は、スクラブ・タイミング動作を示すタイミン
グ図である。 第17A図及び第17B図は、それぞれ従来技術の非知
能メモリ・カード及びスマート・メモリ・カードを示す
構成図である。 第18図は、従来技術のスマート・メモリ・カードの全
体的アーキテクチャを示す構成図である。 40・・・・メモリ、48.47・・・・CMOSチッ
プ、51 a15 l b−・・−ラッチ、55a15
5b・・・・エラー訂正コード(EEC)、57a15
7b・・・・ラッチ、73・・・・低速マルチ・プレク
サ、74・・・・高速マルチ・プレクサ。

Claims (2)

    【特許請求の範囲】
  1. (1)論理機構及び該論理機構を介してシステム・バス
    との通信を行なうメモリ・アレイとを有するスマート・
    メモリ・カードにおいて上記論理機構は:  上記メモリ・アレイからデータを受け取り、該データ
    を一時的に記憶する第1ラッチ手段; 上記第1ラッチ
    手段からデータを受け取り、該データのエラー検知及び
    、エラー訂正を行なうエラー訂正コード手段;  上記エラー訂正コード手段からデータを受け取り、該
    データを一時的に記憶する第2ラッチ手段; 上記エラ
    ー訂正コード手段及び上記第2ラッチ手段からデータを
    受け取り、上記システム・バスに選択的に該データを転
    送するデータ出力選択手段;  とを有し、上記第1ラッチ手段、上記エラー訂正コー
    ド手段及び上記第2ラッチ手段の各々はそれぞれ奇数部
    及び偶数部を有し、上記データ出力選択手段は上記エラ
    ー訂正コード手段及び上記第2ラッチ手段の上記奇数部
    及び偶数部からそれぞれデータを受領するよう接続され
    ているとともに、上記論理機構はさらに上記データ出力
    選択手段の上記奇数部及び上記偶数部からのデータのイ
    ンターリーブ制御を行なう制御手段を有していることを
    特徴とするスマート・メモリ・カード。
  2. (2)上記データ出力選択手段は、上記第2ラッチ手段
    の奇数部及び偶数部からのデータを受け取り、上記制御
    手段の制御のもとでデータの転送を行なう低速マルチプ
    レクサ及び、高速マルチプレクサを有することを特徴と
    する特許請求の範囲第1項のスマート・メモリ・カード
JP1123044A 1988-06-15 1989-05-18 スマート・メモリ・カード Expired - Lifetime JPH06105443B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/206,757 US4888773A (en) 1988-06-15 1988-06-15 Smart memory card architecture and interface
US206757 1988-06-15

Publications (2)

Publication Number Publication Date
JPH0224752A true JPH0224752A (ja) 1990-01-26
JPH06105443B2 JPH06105443B2 (ja) 1994-12-21

Family

ID=22767812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1123044A Expired - Lifetime JPH06105443B2 (ja) 1988-06-15 1989-05-18 スマート・メモリ・カード

Country Status (4)

Country Link
US (1) US4888773A (ja)
EP (1) EP0346629B1 (ja)
JP (1) JPH06105443B2 (ja)
DE (1) DE68923828T2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008016051A (ja) * 2007-08-27 2008-01-24 Renesas Technology Corp 外部記憶装置およびそのメモリアクセス制御方法
JP2008117419A (ja) * 2007-12-21 2008-05-22 Renesas Technology Corp 外部記憶装置およびそのメモリアクセス制御方法
JP2009110551A (ja) * 2009-01-23 2009-05-21 Solid State Storage Solutions Llc 外部記憶装置およびそのメモリアクセス制御方法
US7721165B2 (en) 1995-07-14 2010-05-18 Solid State Storage Solutions, Inc. External storage device and memory access control method thereof
JP2013101641A (ja) * 2012-12-21 2013-05-23 Solid State Storage Solutions Inc 外部記憶装置およびそのメモリアクセス制御方法

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924375A (en) * 1987-10-23 1990-05-08 Chips And Technologies, Inc. Page interleaved memory access
US5159676A (en) * 1988-12-05 1992-10-27 Micron Technology, Inc. Semi-smart DRAM controller IC to provide a pseudo-cache mode of operation using standard page mode draws
US5235693A (en) * 1989-01-27 1993-08-10 Digital Equipment Corporation Method and apparatus for reducing buffer storage in a read-modify-write operation
US5907512A (en) * 1989-08-14 1999-05-25 Micron Technology, Inc. Mask write enablement for memory devices which permits selective masked enablement of plural segments
US5280601A (en) * 1990-03-02 1994-01-18 Seagate Technology, Inc. Buffer memory control system for a magnetic disc controller
US5341488A (en) * 1990-04-11 1994-08-23 Nec Electronics, Inc. N-word read/write access achieving double bandwidth without increasing the width of external data I/O bus
JP2862948B2 (ja) * 1990-04-13 1999-03-03 三菱電機株式会社 半導体記憶装置
US5261068A (en) * 1990-05-25 1993-11-09 Dell Usa L.P. Dual path memory retrieval system for an interleaved dynamic RAM memory unit
US5584044A (en) * 1990-09-28 1996-12-10 Fuji Photo Film Co., Ltd. Integrated circuit memory card for write in/read out capability having plurality of latching means for expandable addressing using counting means for enabling latches thereof
US5301343A (en) * 1990-12-31 1994-04-05 International Business Machines Corp. System having microprocessor local memory expansion capability through removable coupling of local memory expansion boards directly to the high speed microprocessor local bus
US5295255A (en) * 1991-02-22 1994-03-15 Electronic Professional Services, Inc. Method and apparatus for programming a solid state processor with overleaved array memory modules
JP2960560B2 (ja) * 1991-02-28 1999-10-06 株式会社日立製作所 超小型電子機器
US5274646A (en) * 1991-04-17 1993-12-28 International Business Machines Corporation Excessive error correction control
US5289477A (en) * 1991-06-06 1994-02-22 International Business Machines Corp. Personal computer wherein ECC and partly error checking can be selectively chosen for memory elements installed in the system, memory elements enabling selective choice of error checking, and method
US5267242A (en) * 1991-09-05 1993-11-30 International Business Machines Corporation Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
US5313475A (en) * 1991-10-31 1994-05-17 International Business Machines Corporation ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme
US5428762A (en) * 1992-03-11 1995-06-27 International Business Machines Corporation Expandable memory having plural memory cards for distributively storing system data
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
US5339402A (en) * 1992-07-28 1994-08-16 Tetsushi Ueda System for connecting an IC memory card to a central processing unit of a computer
US5588112A (en) * 1992-12-30 1996-12-24 Digital Equipment Corporation DMA controller for memory scrubbing
WO1994019747A1 (en) * 1993-02-17 1994-09-01 3Com Corporation System for reading dynamically changing data
US5638530A (en) * 1993-04-20 1997-06-10 Texas Instruments Incorporated Direct memory access scheme using memory with an integrated processor having communication with external devices
EP0683613A3 (en) * 1994-05-20 1997-01-29 At & T Corp Storage and transmission of message data using a videophone and a smart card.
GB2289779B (en) * 1994-05-24 1999-04-28 Intel Corp Method and apparatus for automatically scrubbing ECC errors in memory via hardware
US5774481A (en) * 1995-03-31 1998-06-30 International Business Machines Corporation Reduced gate error detection and correction circuit
IT1277386B1 (it) * 1995-07-28 1997-11-10 Alcatel Italia Apparato per lo scambio di informazioni tra carte di identificazione a circuiti integrati e un dispositivo terminale
JPH09330273A (ja) * 1996-06-10 1997-12-22 Mitsubishi Electric Corp メモリカードおよびメモリカードにおける誤り訂正方法
US5668815A (en) * 1996-08-14 1997-09-16 Advanced Micro Devices, Inc. Method for testing integrated memory using an integrated DMA controller
US5923682A (en) * 1997-01-29 1999-07-13 Micron Technology, Inc. Error correction chip for memory applications
US5953515A (en) * 1997-04-11 1999-09-14 International Business Machines Corporation Pluggable electronic card presence detect scheme for use in parallel and serial vital detect product data (VPD) collection systems
US6118688A (en) * 1997-06-05 2000-09-12 Matsushita Electronics Corporation Ferroelectric memory device and method for driving it
US6157563A (en) 1997-06-27 2000-12-05 Matsushita Electronics Corporation Ferroelectric memory system and method of driving the same
US6360346B1 (en) * 1997-08-27 2002-03-19 Sony Corporation Storage unit, method of checking storage unit, reading and writing method
US5987628A (en) * 1997-11-26 1999-11-16 Intel Corporation Method and apparatus for automatically correcting errors detected in a memory subsystem
US5963464A (en) * 1998-02-26 1999-10-05 International Business Machines Corporation Stackable memory card
US6108730A (en) * 1998-02-27 2000-08-22 International Business Machines Corporation Memory card adapter insertable into a motherboard memory card socket comprising a memory card receiving socket having the same configuration as the motherboard memory card socket
BR9908714A (pt) * 1998-03-13 2000-11-21 Motorola Inc Identificador rfid, leitora rfid, e sistema rfid incluindo identificadores com tamanhos de memória diferentes
US6115837A (en) * 1998-07-29 2000-09-05 Neomagic Corp. Dual-column syndrome generation for DVD error correction using an embedded DRAM
DE19835258B4 (de) * 1998-08-04 2006-07-27 Infineon Technologies Ag Integrierte dynamische Speicherschaltung mit einer Selbsttesteinrichtung
US6425055B1 (en) 1999-02-24 2002-07-23 Intel Corporation Way-predicting cache memory
JP2000253183A (ja) * 1999-03-03 2000-09-14 Sony Corp ネットワークシステム、端末装置及びネットワークサーバ
US6772380B1 (en) 1999-04-21 2004-08-03 Seagate Technology Llc Smart tester and method for testing a bus connector
US6938244B1 (en) * 1999-05-11 2005-08-30 Microsoft Corp. Interlaced protocol for smart card application development
US6845498B1 (en) * 1999-05-11 2005-01-18 Microsoft Corporation Method and apparatus for sharing data files among run time environment applets in an integrated circuit card
JP3871471B2 (ja) * 1999-07-12 2007-01-24 松下電器産業株式会社 Ecc回路搭載半導体記憶装置及びその検査方法
US6370668B1 (en) 1999-07-23 2002-04-09 Rambus Inc High speed memory system capable of selectively operating in non-chip-kill and chip-kill modes
US6591321B1 (en) * 1999-11-09 2003-07-08 International Business Machines Corporation Multiprocessor system bus protocol with group addresses, responses, and priorities
US6721943B2 (en) * 2001-03-30 2004-04-13 Intel Corporation Compile-time memory coalescing for dynamic arrays
US7069494B2 (en) * 2003-04-17 2006-06-27 International Business Machines Corporation Application of special ECC matrix for solving stuck bit faults in an ECC protected mechanism
US7080288B2 (en) * 2003-04-28 2006-07-18 International Business Machines Corporation Method and apparatus for interface failure survivability using error correction
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7184916B2 (en) * 2003-05-20 2007-02-27 Cray Inc. Apparatus and method for testing memory cards
US7437593B2 (en) * 2003-07-14 2008-10-14 International Business Machines Corporation Apparatus, system, and method for managing errors in prefetched data
US7107390B2 (en) * 2003-10-08 2006-09-12 Micron Technology, Inc. Parity-scanning and refresh in dynamic memory devices
US7478260B2 (en) * 2003-10-20 2009-01-13 Hewlett-Packard Development Company, L.P. System and method for setting a clock rate in a memory card
US7206962B2 (en) * 2003-11-25 2007-04-17 International Business Machines Corporation High reliability memory subsystem using data error correcting code symbol sliced command repowering
US7116600B2 (en) * 2004-02-19 2006-10-03 Micron Technology, Inc. Memory device having terminals for transferring multiple types of data
JP4056488B2 (ja) * 2004-03-30 2008-03-05 エルピーダメモリ株式会社 半導体装置の試験方法及び製造方法
US7272774B2 (en) * 2004-04-16 2007-09-18 Kingston Technology Corp. Extender card for testing error-correction-code (ECC) storage area on memory modules
US7099221B2 (en) 2004-05-06 2006-08-29 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
US7116602B2 (en) 2004-07-15 2006-10-03 Micron Technology, Inc. Method and system for controlling refresh to avoid memory cell data losses
US7831882B2 (en) * 2005-06-03 2010-11-09 Rambus Inc. Memory system with error detection and retry modes of operation
US9459960B2 (en) * 2005-06-03 2016-10-04 Rambus Inc. Controller device for use with electrically erasable programmable memory chip with error detection and retry modes of operation
US20070022244A1 (en) * 2005-07-25 2007-01-25 Honeywell International Inc. Methods and systems for refresh and error scrubbing of dynamic memory devices
JP4645837B2 (ja) * 2005-10-31 2011-03-09 日本電気株式会社 メモリダンプ方法、コンピュータシステム、およびプログラム
DE102005056865A1 (de) 2005-11-29 2007-05-31 Giesecke & Devrient Gmbh Pipeline-Mechanismus für den Datenaustausch zwischen Chipkarte und Terminal
US7562285B2 (en) 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
JP2007257791A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd 半導体記憶装置
US8578116B2 (en) * 2006-03-28 2013-11-05 Broadcom Corporation System and method for memory data protection with secure pad memory
US8352805B2 (en) 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
US20070271495A1 (en) * 2006-05-18 2007-11-22 Ian Shaeffer System to detect and identify errors in control information, read data and/or write data
US7894289B2 (en) * 2006-10-11 2011-02-22 Micron Technology, Inc. Memory system and method using partial ECC to achieve low power refresh and fast access to data
US7900120B2 (en) 2006-10-18 2011-03-01 Micron Technology, Inc. Memory system and method using ECC with flag bit to identify modified data
DE602006019010D1 (de) * 2006-10-20 2011-01-27 Fujitsu Ltd Speicheranordnung und auffrisch-justierverfahren
US20080168331A1 (en) * 2007-01-05 2008-07-10 Thomas Vogelsang Memory including error correction code circuit
US8370715B2 (en) * 2007-04-12 2013-02-05 International Business Machines Corporation Error checking addressable blocks in storage
TWI389030B (zh) * 2008-05-07 2013-03-11 Mstar Semiconductor Inc 於微處理器下載並執行程式碼的方法與電腦程式產品以及包含該微處理器之通訊裝置
US8433734B2 (en) * 2009-06-29 2013-04-30 Sandisk Technologies Inc. Selecting a file path of a removable storage device based on a root directory size comparison with a host device
JP5472808B2 (ja) * 2010-03-01 2014-04-16 ソリッド ステート ストレージ ソリューションズ インク 外部記憶装置およびそのメモリアクセス制御方法
US20120066471A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Allocation of memory buffers based on preferred memory performance
US20150067437A1 (en) * 2013-08-30 2015-03-05 Kuljit S. Bains Apparatus, method and system for reporting dynamic random access memory error information
US9146809B2 (en) * 2013-10-07 2015-09-29 Macronix International Co., Ltd. ECC method for double pattern flash memory
US9535785B2 (en) 2014-01-17 2017-01-03 Macronix International Co., Ltd. ECC method for flash memory
US10176038B2 (en) * 2015-09-01 2019-01-08 International Business Machines Corporation Partial ECC mechanism for a byte-write capable register
US9985655B2 (en) 2015-09-01 2018-05-29 International Business Machines Corporation Generating ECC values for byte-write capable registers
US9766975B2 (en) 2015-09-01 2017-09-19 International Business Machines Corporation Partial ECC handling for a byte-write capable register
US10049006B2 (en) 2015-12-08 2018-08-14 Nvidia Corporation Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands
US9823964B2 (en) 2015-12-08 2017-11-21 Nvidia Corporation Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation
US9880900B2 (en) 2015-12-08 2018-01-30 Nvidia Corporation Method for scrubbing and correcting DRAM memory data with internal error-correcting code (ECC) bits contemporaneously during self-refresh state
KR20180081282A (ko) * 2017-01-06 2018-07-16 에스케이하이닉스 주식회사 반도체장치
CN111819547A (zh) 2018-03-26 2020-10-23 拉姆伯斯公司 命令/地址通道错误检测
US11385963B1 (en) * 2021-02-24 2022-07-12 Western Digital Technologies, Inc. Usage of data mask in DRAM write

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5891590A (ja) * 1981-11-27 1983-05-31 Fujitsu Ltd メモリシステム
JPS5963093A (ja) * 1982-09-30 1984-04-10 Fujitsu Ltd メモリ回路
JPS60225955A (ja) * 1984-04-25 1985-11-11 Nec Corp 記憶装置
JPS62212854A (ja) * 1986-03-14 1987-09-18 Nippon Telegr & Teleph Corp <Ntt> 自動誤り訂正記憶装置
JPS62226352A (ja) * 1986-03-28 1987-10-05 Mitsubishi Electric Corp Ras付記憶装置
JPS62161399U (ja) * 1986-03-31 1987-10-14

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4317201A (en) * 1980-04-01 1982-02-23 Honeywell, Inc. Error detecting and correcting RAM assembly
FR2483713A1 (fr) * 1980-05-30 1981-12-04 Cii Honeywell Bull Dispositif pour la transmission de signaux entre deux stations de traitement de l'information
US4710934A (en) * 1985-11-08 1987-12-01 Texas Instruments Incorporated Random access memory with error correction capability

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5891590A (ja) * 1981-11-27 1983-05-31 Fujitsu Ltd メモリシステム
JPS5963093A (ja) * 1982-09-30 1984-04-10 Fujitsu Ltd メモリ回路
JPS60225955A (ja) * 1984-04-25 1985-11-11 Nec Corp 記憶装置
JPS62212854A (ja) * 1986-03-14 1987-09-18 Nippon Telegr & Teleph Corp <Ntt> 自動誤り訂正記憶装置
JPS62226352A (ja) * 1986-03-28 1987-10-05 Mitsubishi Electric Corp Ras付記憶装置
JPS62161399U (ja) * 1986-03-31 1987-10-14

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7721165B2 (en) 1995-07-14 2010-05-18 Solid State Storage Solutions, Inc. External storage device and memory access control method thereof
JP2008016051A (ja) * 2007-08-27 2008-01-24 Renesas Technology Corp 外部記憶装置およびそのメモリアクセス制御方法
JP2008117419A (ja) * 2007-12-21 2008-05-22 Renesas Technology Corp 外部記憶装置およびそのメモリアクセス制御方法
JP2009110551A (ja) * 2009-01-23 2009-05-21 Solid State Storage Solutions Llc 外部記憶装置およびそのメモリアクセス制御方法
JP2013101641A (ja) * 2012-12-21 2013-05-23 Solid State Storage Solutions Inc 外部記憶装置およびそのメモリアクセス制御方法

Also Published As

Publication number Publication date
EP0346629A3 (en) 1991-05-29
DE68923828D1 (de) 1995-09-21
EP0346629B1 (en) 1995-08-16
US4888773A (en) 1989-12-19
EP0346629A2 (en) 1989-12-20
JPH06105443B2 (ja) 1994-12-21
DE68923828T2 (de) 1996-03-28

Similar Documents

Publication Publication Date Title
JPH0224752A (ja) スマート・メモリ・カード
US5488691A (en) Memory card, computer system and method of operation for differentiating the use of read-modify-write cycles in operating and initializaiton modes
US5311520A (en) Method and apparatus for programmable memory control with error regulation and test functions
US4945512A (en) High-speed partitioned set associative cache memory
US6469945B2 (en) Dynamically configurated storage array with improved data access
US7275200B2 (en) Transparent error correcting memory that supports partial-word write
JP4071940B2 (ja) メモリ設計のための共有式誤り訂正
US7353438B2 (en) Transparent error correcting memory
US5452429A (en) Error correction code on add-on cards for writing portions of data words
US7676728B2 (en) Apparatus and method for memory asynchronous atomic read-correct-write operation
KR940008140B1 (ko) 캐쉬메모리 내장반도체 기억장치 및 그의 데이타독출방법
US5745673A (en) Memory architecture for solid state discs
EP0139124A2 (en) Apparatus and method for automatically correcting a double bit hard error within a memory of a computer system and ensuring that said error will never re-occur
US7257762B2 (en) Memory interface with write buffer and encoder
JPH05210595A (ja) メモリシステム
US5966389A (en) Flexible ECC/parity bit architecture
US7984363B2 (en) Integrated circuit device including a circuit to generate error correction code for correcting error bit for each of memory circuits
EP0041999A1 (en) Self-correcting memory system and method
US5925138A (en) Method for allowing data transfers with a memory having defective storage locations
JPS593799A (ja) 稼動中に欠陥部を再配置できるメモリ・システム
US6108812A (en) Target device XOR engine
US5630086A (en) Apparatus systems and methods for controlling electronic memories
JPS6237422B2 (ja)
JPH0594377A (ja) パリテイ検出回路
JPS6129024B2 (ja)