JPH0922387A - メモリ装置 - Google Patents
メモリ装置Info
- Publication number
- JPH0922387A JPH0922387A JP7172288A JP17228895A JPH0922387A JP H0922387 A JPH0922387 A JP H0922387A JP 7172288 A JP7172288 A JP 7172288A JP 17228895 A JP17228895 A JP 17228895A JP H0922387 A JPH0922387 A JP H0922387A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- bit
- ecc
- bit error
- 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.)
- Pending
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
(57)【要約】
【目的】 システムのフォルト・トレラントを向上さ
せ、信頼性を向上させたメモリ装置を提供すること。 【構成】 m個のメモリ素子から成るメモリ部と、メモ
リ部の制御装置とを備えて構成されるメモリ装置におい
て、上記メモリ部は、全てのメモリアドレスについて、
上記m個のメモリ素子に加えて、x個(xは1以上の整
数)の冗長ビット用のメモリ素子を備え、さらに、上記
制御装置は、外部装置に接続されているデータバスと上
記メモリ部のメモリデータ信号ラインとの間に設けら
れ、かつ上記データバスと上記メモリ部のメモリデータ
信号ラインとの接続を変更可能な手段を備えたメモリ装
置。
せ、信頼性を向上させたメモリ装置を提供すること。 【構成】 m個のメモリ素子から成るメモリ部と、メモ
リ部の制御装置とを備えて構成されるメモリ装置におい
て、上記メモリ部は、全てのメモリアドレスについて、
上記m個のメモリ素子に加えて、x個(xは1以上の整
数)の冗長ビット用のメモリ素子を備え、さらに、上記
制御装置は、外部装置に接続されているデータバスと上
記メモリ部のメモリデータ信号ラインとの間に設けら
れ、かつ上記データバスと上記メモリ部のメモリデータ
信号ラインとの接続を変更可能な手段を備えたメモリ装
置。
Description
【0001】
【産業上の利用分野】本発明はメモリ装置にかかり、特
に、あらゆるコンピュータシステムのメモリに関するフ
ォルト・トレランス(fault toleranc
e;障害の許容性)及び信頼性を向上させるのに好適な
メモリ装置に関する。
に、あらゆるコンピュータシステムのメモリに関するフ
ォルト・トレランス(fault toleranc
e;障害の許容性)及び信頼性を向上させるのに好適な
メモリ装置に関する。
【0002】
【従来の技術】従来技術としては、特開平6−2599
89号公報に記載されているように、ヒューズを用いて
2系列設けられたメモリ素子を切り替える技術が存在す
る。しかし、この技術では、2系列設けられた全てのメ
モリ素子を切り換えなければならず、メモリ素子の利用
効率が悪く、しかもメモリ素子の切り換えが一度しかで
きないという問題点があった。また、上記従来技術で
は、エラーチェック方法について特に言及されていな
い。
89号公報に記載されているように、ヒューズを用いて
2系列設けられたメモリ素子を切り替える技術が存在す
る。しかし、この技術では、2系列設けられた全てのメ
モリ素子を切り換えなければならず、メモリ素子の利用
効率が悪く、しかもメモリ素子の切り換えが一度しかで
きないという問題点があった。また、上記従来技術で
は、エラーチェック方法について特に言及されていな
い。
【0003】
【発明が解決しようとする課題】いま、メモリへの書き
込み又はメモリからの読み出しを2ビットエラー検出、
1ビットエラー訂正可能なECCエラーチェックコード
を用いて行うシステムを想定する。このシステムのメモ
リにおいて、あるメモリ素子(1ビット)が破壊された
場合、そのメモリ素子をアクセスする時、常にECC1
ビットエラーとなり、これを訂正するための時間がアク
セス毎に必要になり、システムの性能低下に直結すると
いう問題点がある。
込み又はメモリからの読み出しを2ビットエラー検出、
1ビットエラー訂正可能なECCエラーチェックコード
を用いて行うシステムを想定する。このシステムのメモ
リにおいて、あるメモリ素子(1ビット)が破壊された
場合、そのメモリ素子をアクセスする時、常にECC1
ビットエラーとなり、これを訂正するための時間がアク
セス毎に必要になり、システムの性能低下に直結すると
いう問題点がある。
【0004】また、すでに破壊されているメモリ素子
(1ビット)が存在するアドレスのデータエリアにおい
て、もう1つのメモリ素子(1ビット)が破壊された場
合、ECC2ビットエラーとなり、システムダウンとな
る問題点がある。
(1ビット)が存在するアドレスのデータエリアにおい
て、もう1つのメモリ素子(1ビット)が破壊された場
合、ECC2ビットエラーとなり、システムダウンとな
る問題点がある。
【0005】本発明は、上記した従来技術の問題点に鑑
み成されたもので、メモリ部においてあるメモリ素子が
破壊されてもシステムの性能低下に至らず、かつメモリ
部内の同一アドレスにおいて2ビットの破壊が生じても
システムダウンに至らないように、システムのフォルト
・トレラントを向上させ、信頼性を向上させたメモリ装
置を提供することを目的としている。
み成されたもので、メモリ部においてあるメモリ素子が
破壊されてもシステムの性能低下に至らず、かつメモリ
部内の同一アドレスにおいて2ビットの破壊が生じても
システムダウンに至らないように、システムのフォルト
・トレラントを向上させ、信頼性を向上させたメモリ装
置を提供することを目的としている。
【0006】
【課題を解決するための手段】本発明のメモリ装置は、
m個のメモリ素子から成るメモリ部と、メモリ部の制御
装置とを備えて構成されるメモリ装置に適用されるもの
であり、上記メモリ部は、全てのメモリアドレスについ
て、上記m個のメモリ素子に加えて、x個(xは1以上
の整数)の冗長ビット用のメモリ素子を備え、さらに、
上記制御装置は、外部装置に接続されている入出力デー
タバスと上記メモリ部のメモリデータ信号ラインとの間
に設けられ、かつ上記入出力データバスと上記メモリ部
のメモリデータ信号ラインとの接続を変更可能な手段を
備えたことを特徴としている。
m個のメモリ素子から成るメモリ部と、メモリ部の制御
装置とを備えて構成されるメモリ装置に適用されるもの
であり、上記メモリ部は、全てのメモリアドレスについ
て、上記m個のメモリ素子に加えて、x個(xは1以上
の整数)の冗長ビット用のメモリ素子を備え、さらに、
上記制御装置は、外部装置に接続されている入出力デー
タバスと上記メモリ部のメモリデータ信号ラインとの間
に設けられ、かつ上記入出力データバスと上記メモリ部
のメモリデータ信号ラインとの接続を変更可能な手段を
備えたことを特徴としている。
【0007】
【作用】本発明によれば、上記メモリ部に不良のあるメ
モリ素子が存在する場合、上記外部装置に接続されてい
る入出力データバスと不良のあるメモリ素子のメモリデ
ータ信号ラインとを切離し、代わりに冗長ビット用のメ
モリ素子のメモリデータ信号ラインと接続し、新たに接
続されたメモリデータ信号ラインを介して冗長ビット用
のメモリ素子にデータを転送することにより、システム
のフォールト・トレラントを向上させることができる。
モリ素子が存在する場合、上記外部装置に接続されてい
る入出力データバスと不良のあるメモリ素子のメモリデ
ータ信号ラインとを切離し、代わりに冗長ビット用のメ
モリ素子のメモリデータ信号ラインと接続し、新たに接
続されたメモリデータ信号ラインを介して冗長ビット用
のメモリ素子にデータを転送することにより、システム
のフォールト・トレラントを向上させることができる。
【0008】
【実施例】以下、添付の図面に示す実施例について説明
する。
する。
【0009】図1は、本発明の一実施例を示すブロック
図である。図1において、1はメモリ装置である。ま
た、b(0)〜b(n)はメモリ装置1以外の例えばC
PU等と接続される入出力データバスであり、(n+
1)本の信号線から成り、ECCコードを含んでも良い
し含まなくても良い。2はメモリコントローラであり、
ECCコード用の回路であるチェッカー・訂正回路・コ
ード生成回路、後述するメモリライン入替え等に使用す
るレジスタ等を含んでいる。3はカウンタ部であり、
(m+1)個のECC1ビットエラーカウンタd(0)
〜d(m)から構成されている。e(0)〜e(m)は
(m+1)本のデータバス、g(0)〜g(m+x)は
(m+1+x)本のメモリデータ信号ライン(但し、x
≧1)、4はデータバスe(0)〜e(m)とメモリデ
ータ信号ラインg(0)〜g(m+x)を一対一に接続
するプログラマブルデバイスである。5はプログラマブ
ルデバイス4を制御するプログラマブルデバイス制御回
路である。6はメモリ部であり、(m+1+x)本のデ
ータ幅のあるメモリ素子i(0)〜i(m+x)から構
成され、メモリ素子i(0)〜i(m+x)には、図示
するように、アドレス0〜hが付されている。また、メ
モリ素子i(0)〜i(m+x)のデータ幅は、上記し
たように(m+1+x)本であるが、有効な信号は(m
+1)本であり、残りのx本は冗長ビットラインであ
る。
図である。図1において、1はメモリ装置である。ま
た、b(0)〜b(n)はメモリ装置1以外の例えばC
PU等と接続される入出力データバスであり、(n+
1)本の信号線から成り、ECCコードを含んでも良い
し含まなくても良い。2はメモリコントローラであり、
ECCコード用の回路であるチェッカー・訂正回路・コ
ード生成回路、後述するメモリライン入替え等に使用す
るレジスタ等を含んでいる。3はカウンタ部であり、
(m+1)個のECC1ビットエラーカウンタd(0)
〜d(m)から構成されている。e(0)〜e(m)は
(m+1)本のデータバス、g(0)〜g(m+x)は
(m+1+x)本のメモリデータ信号ライン(但し、x
≧1)、4はデータバスe(0)〜e(m)とメモリデ
ータ信号ラインg(0)〜g(m+x)を一対一に接続
するプログラマブルデバイスである。5はプログラマブ
ルデバイス4を制御するプログラマブルデバイス制御回
路である。6はメモリ部であり、(m+1+x)本のデ
ータ幅のあるメモリ素子i(0)〜i(m+x)から構
成され、メモリ素子i(0)〜i(m+x)には、図示
するように、アドレス0〜hが付されている。また、メ
モリ素子i(0)〜i(m+x)のデータ幅は、上記し
たように(m+1+x)本であるが、有効な信号は(m
+1)本であり、残りのx本は冗長ビットラインであ
る。
【0010】現時点において、メモリ素子i(0)〜i
(m)及びメモリデータ信号ラインg(0)〜g(m)
が有効であり、メモリ素子i(m+1)〜i(m+x)
及びメモリデータ信号ラインg(m+1)〜g(m+
x)が無効であるとする。つまり、メモリデータ信号ラ
インg(0)〜g(m)は、プログラマブルデバイス4
を通してそれぞれデータバスe(0)〜e(m)と接続
されているが、メモリデータ信号ラインg(m+1)〜
g(m+x)は、プログラマブルデバイス4内において
データバスe(0)〜e(m)に接続されていない。
(m)及びメモリデータ信号ラインg(0)〜g(m)
が有効であり、メモリ素子i(m+1)〜i(m+x)
及びメモリデータ信号ラインg(m+1)〜g(m+
x)が無効であるとする。つまり、メモリデータ信号ラ
インg(0)〜g(m)は、プログラマブルデバイス4
を通してそれぞれデータバスe(0)〜e(m)と接続
されているが、メモリデータ信号ラインg(m+1)〜
g(m+x)は、プログラマブルデバイス4内において
データバスe(0)〜e(m)に接続されていない。
【0011】次に、上記したプログラマブルデバイス4
の接続状態を前提として、図1に示す実施例の動作につ
いて説明する。図1に示すECC1ビットエラーカウン
タd(0)〜d(m)は、単位時間zごとにリセットさ
れる。メモリ素子i(0)〜i(m)が異常であるかど
うかは、エラーの総量で決めるべきではなく、単位時間
あたりのエラー回数で決まるべきだからである。そこ
で、まずメモリコントローラ2内に存在するタイマーの
上限となるエラーカウント時間zを設定する。そして、
次にメモリが不良であると判断するための基準となるE
CC1ビットエラーカウンタd(0)〜d(m)のカウ
ント数の最大値yを設定する。そして、タイマーが規定
時間zに達したとき、ECC1ビットエラーカウンタd
(0)〜d(m)とタイマーはリセットされる。
の接続状態を前提として、図1に示す実施例の動作につ
いて説明する。図1に示すECC1ビットエラーカウン
タd(0)〜d(m)は、単位時間zごとにリセットさ
れる。メモリ素子i(0)〜i(m)が異常であるかど
うかは、エラーの総量で決めるべきではなく、単位時間
あたりのエラー回数で決まるべきだからである。そこ
で、まずメモリコントローラ2内に存在するタイマーの
上限となるエラーカウント時間zを設定する。そして、
次にメモリが不良であると判断するための基準となるE
CC1ビットエラーカウンタd(0)〜d(m)のカウ
ント数の最大値yを設定する。そして、タイマーが規定
時間zに達したとき、ECC1ビットエラーカウンタd
(0)〜d(m)とタイマーはリセットされる。
【0012】図1のメモリ装置1にデータを書き込む場
合には、入出力データバスb(0)〜b(n)bから入
ったデータは、メモリコントローラ2でECCエラー訂
正コードを用いて訂正され、データバスe(0)〜e
(m)へ送られる。この時点で、データにエラーは無い
はずである。そして、プログラマブルデバイス4とメモ
リデータ信号ラインg(0)〜g(m)を通ってメモリ
素子i(0)〜i(m)へ格納される。この時、有効な
信号幅は(m+1)本であって、残りのx本は冗長ビッ
トラインであり、データバスe(0)〜e(m)とは接
続されていない。
合には、入出力データバスb(0)〜b(n)bから入
ったデータは、メモリコントローラ2でECCエラー訂
正コードを用いて訂正され、データバスe(0)〜e
(m)へ送られる。この時点で、データにエラーは無い
はずである。そして、プログラマブルデバイス4とメモ
リデータ信号ラインg(0)〜g(m)を通ってメモリ
素子i(0)〜i(m)へ格納される。この時、有効な
信号幅は(m+1)本であって、残りのx本は冗長ビッ
トラインであり、データバスe(0)〜e(m)とは接
続されていない。
【0013】次に、図1のメモリ装置1からデータを読
み出す場合を考える。メモリ素子i(0)〜i(m+
x)から読みだされた(m+1+x)個のデータのう
ち、有効なビットラインg(0)〜g(m)のデータだ
けがプログラマブルデバイス4によってデータバスe
(1)〜e(m)に出力される。そして、メモリコント
ローラ2のECCチェッカーでチェックされる。もし、
このとき、1ビットエラーがあれば、該当ビットに対応
するECC1ビットエラーカウンターdを1だけ増加さ
せる。そして、この処理を繰り返し、ECC1ビットエ
ラーカウンターdが決められた回数yに到達したら、メ
モリ素子i内の該当不良メモリアドレスラインに異常が
あるとして、例えばメモリ素子i(3)に不良があり、
メモリ素子i(m+1)が不良の無い冗長メモリライン
であるとすると、i(3)からi(m+1)へのデータ
入替え作業を実行する。
み出す場合を考える。メモリ素子i(0)〜i(m+
x)から読みだされた(m+1+x)個のデータのう
ち、有効なビットラインg(0)〜g(m)のデータだ
けがプログラマブルデバイス4によってデータバスe
(1)〜e(m)に出力される。そして、メモリコント
ローラ2のECCチェッカーでチェックされる。もし、
このとき、1ビットエラーがあれば、該当ビットに対応
するECC1ビットエラーカウンターdを1だけ増加さ
せる。そして、この処理を繰り返し、ECC1ビットエ
ラーカウンターdが決められた回数yに到達したら、メ
モリ素子i内の該当不良メモリアドレスラインに異常が
あるとして、例えばメモリ素子i(3)に不良があり、
メモリ素子i(m+1)が不良の無い冗長メモリライン
であるとすると、i(3)からi(m+1)へのデータ
入替え作業を実行する。
【0014】図2は上記したメモリ装置1の動作を示す
フローチャートである。図2のステップ100におい
て、メモリコントローラ2内に存在するタイマーの上限
となるエラーカウント時間zが設定される。次に、ステ
ップ101において、メモリが不良であると判断するた
めの基準となるECC1ビットエラーカウンタd(0)
〜d(m)のカウント数の最大値yが設定される。次
に、ステップ102において、ECC1ビットエラーカ
ウンタd(0)〜d(m)がリセットされる。次に、ス
テップ103において、メモリコントローラ2内のタイ
マーがリセットされる。
フローチャートである。図2のステップ100におい
て、メモリコントローラ2内に存在するタイマーの上限
となるエラーカウント時間zが設定される。次に、ステ
ップ101において、メモリが不良であると判断するた
めの基準となるECC1ビットエラーカウンタd(0)
〜d(m)のカウント数の最大値yが設定される。次
に、ステップ102において、ECC1ビットエラーカ
ウンタd(0)〜d(m)がリセットされる。次に、ス
テップ103において、メモリコントローラ2内のタイ
マーがリセットされる。
【0015】次に、ステップ104において、タイマー
のカウント値がエラーカウント時間zに到達したか否か
が判定され、到達していると判定された場合にはステッ
プ102へ戻る。到達していないと判定された場合に
は、ステップ105において、実行される処理がメモリ
リード処理か否かが判定される。メモリリード処理では
ないと判定された場合には、ステップ111において、
前記したメモリライト処理やメモリリフレシュ処理等の
一般処理が行われた後、ステップ104に戻る。ステッ
プ105においてメモリリード処理と判定された場合に
は、ステップ106において、前記したメモリリード処
理が実行される。その後、ステップ108において、E
CC1ビットエラーが生じているか否かが判定され、生
じていないと判定された場合にはステップ104に戻
り、生じていると判定された場合にはステップ108に
おいて該当ビットに対応するECC1ビットエラーカウ
ンターdを1だけ増加させる。次に、ステップ109に
おいて、ECC1ビットエラーカウンターdの計数値が
決められた回数yに到達したか否かを判定し、到達して
いない場合にはステップ104に戻り、到達している場
合にはステップ110において当該ビットに対応するメ
モリデータ信号ラインgの入替え処理を行う。例えば、
メモリ素子i(3)のメモリデータ信号ラインg(3)
からメモリ素子i(m+1)のメモリデータ信号ライン
g(m+1)への入替え作業を実行する。この作業につ
いて、以下に2つの例を示す。
のカウント値がエラーカウント時間zに到達したか否か
が判定され、到達していると判定された場合にはステッ
プ102へ戻る。到達していないと判定された場合に
は、ステップ105において、実行される処理がメモリ
リード処理か否かが判定される。メモリリード処理では
ないと判定された場合には、ステップ111において、
前記したメモリライト処理やメモリリフレシュ処理等の
一般処理が行われた後、ステップ104に戻る。ステッ
プ105においてメモリリード処理と判定された場合に
は、ステップ106において、前記したメモリリード処
理が実行される。その後、ステップ108において、E
CC1ビットエラーが生じているか否かが判定され、生
じていないと判定された場合にはステップ104に戻
り、生じていると判定された場合にはステップ108に
おいて該当ビットに対応するECC1ビットエラーカウ
ンターdを1だけ増加させる。次に、ステップ109に
おいて、ECC1ビットエラーカウンターdの計数値が
決められた回数yに到達したか否かを判定し、到達して
いない場合にはステップ104に戻り、到達している場
合にはステップ110において当該ビットに対応するメ
モリデータ信号ラインgの入替え処理を行う。例えば、
メモリ素子i(3)のメモリデータ信号ラインg(3)
からメモリ素子i(m+1)のメモリデータ信号ライン
g(m+1)への入替え作業を実行する。この作業につ
いて、以下に2つの例を示す。
【0016】図3は、第1の入替え処理を示すフローチ
ャートである。なお、以下の説明では、メモリ素子i
(3)のメモリデータ信号ラインg(3)からメモリ素
子i(m+1)のメモリデータ信号ラインg(m+1)
への入替え作業を例にして説明する。ステップ120に
おいて、アドレスをメモリ素子i(0)〜i(m+x)
の最低値とする。図1に示す実施例では、アドレスが最
低アドレスである“0”に設定される。そして、ステッ
プ121においてメモリ素子i(0)〜i(m)からメ
モリコントローラ2のレジスタへデータを読み込み、ス
テップ123においてECC1ビットエラーがあれば訂
正を行う。次に、ステップ123において、プログラマ
ブルデバイス制御回路5を用いて、プログラマブルデバ
イス4の内容を書き換え、その接続をe(3)〜g
(3)からe(3)〜g(m+1)へ変更する。次に、
ステップ124において、ステップ121でメモリコン
トローラ2のレジスタへ読み込んだメモリデータをメモ
リ素子iに書き込む。この時メモリ素子i(0)〜i
(2),i(4)〜i(m+1)の全ビットへデータを
書いてもよいし、メモリ素子i(m+1)にだけメモリ
データを書き込んでもよい。そして、ステップ125に
おいて、アドレスが最大値か否かを判定し、最大値では
ないと判定された場合には、ステップ126においてア
ドレスを1だけ増加する。続いて、ステップ127にお
いて、プログラマブルデバイス制御回路5を用いて、プ
ログラマブルデバイス4の内容を書き換えて、その接続
をe(3)〜g(m+1)からe(3)〜g(3)へ戻
し、ステップ121に戻る。アドレスが最大値になるま
で、ステップ121〜127のサイクルを繰り返し実行
する。ステップ125において、アドレスがメモリ素子
iの最大値に達したときは、プログラマブルデバイス4
の接続をe(3)〜g(3)からe(3)〜g(m+
1)へ変更した状態で処理を終了し、プログラマブルデ
バイス制御回路5にi(3)に不良があるという情報を
蓄えておく。これらの作業によりメモリ素子i(3)は
無効となり、メモリ素子i(m+1)が有効となった。
ャートである。なお、以下の説明では、メモリ素子i
(3)のメモリデータ信号ラインg(3)からメモリ素
子i(m+1)のメモリデータ信号ラインg(m+1)
への入替え作業を例にして説明する。ステップ120に
おいて、アドレスをメモリ素子i(0)〜i(m+x)
の最低値とする。図1に示す実施例では、アドレスが最
低アドレスである“0”に設定される。そして、ステッ
プ121においてメモリ素子i(0)〜i(m)からメ
モリコントローラ2のレジスタへデータを読み込み、ス
テップ123においてECC1ビットエラーがあれば訂
正を行う。次に、ステップ123において、プログラマ
ブルデバイス制御回路5を用いて、プログラマブルデバ
イス4の内容を書き換え、その接続をe(3)〜g
(3)からe(3)〜g(m+1)へ変更する。次に、
ステップ124において、ステップ121でメモリコン
トローラ2のレジスタへ読み込んだメモリデータをメモ
リ素子iに書き込む。この時メモリ素子i(0)〜i
(2),i(4)〜i(m+1)の全ビットへデータを
書いてもよいし、メモリ素子i(m+1)にだけメモリ
データを書き込んでもよい。そして、ステップ125に
おいて、アドレスが最大値か否かを判定し、最大値では
ないと判定された場合には、ステップ126においてア
ドレスを1だけ増加する。続いて、ステップ127にお
いて、プログラマブルデバイス制御回路5を用いて、プ
ログラマブルデバイス4の内容を書き換えて、その接続
をe(3)〜g(m+1)からe(3)〜g(3)へ戻
し、ステップ121に戻る。アドレスが最大値になるま
で、ステップ121〜127のサイクルを繰り返し実行
する。ステップ125において、アドレスがメモリ素子
iの最大値に達したときは、プログラマブルデバイス4
の接続をe(3)〜g(3)からe(3)〜g(m+
1)へ変更した状態で処理を終了し、プログラマブルデ
バイス制御回路5にi(3)に不良があるという情報を
蓄えておく。これらの作業によりメモリ素子i(3)は
無効となり、メモリ素子i(m+1)が有効となった。
【0017】図4は、第2の入替え処理を示すフローチ
ャートである。なお、以下の説明では、メモリ素子i
(3)のメモリデータ信号ラインg(3)からメモリ素
子i(m+1)のメモリデータ信号ラインg(m+1)
への入替え作業を例にして説明する。ステップ130に
おいて、アドレスをメモリ素子iの最低値とする。図1
に示す実施例では、アドレスが最低アドレスである
“0”に設定される。次に、ステップ131において、
プログラマブルデバイス制御回路5を用いて、プログラ
マブルデバイス4の内容を書き換えて、その接続をe
(3)〜g(3)からe(3)〜g(m+1)へ変更す
る。このとき、不良のあるデータのビット3、つまりメ
モリのi(3)に相当する部分のデータが完全に欠落し
たことになる。次に、ステップ132において、メモリ
素子iからメモリコントローラ2のレジスタへデータを
読み込み、ECCコードを用いてデータのビット3を作
成し、メモリ素子iに書き込む。この時メモリ素子i
(0)〜i(2),i(4)〜i(m+1)の全ビット
へデータを書いてもよいし、メモリ素子i(m+1)に
だけ書いてもよい。次に、ステップ135において、ア
ドレスが最大値か否かを判定し、最大値ではないと判定
された場合には、ステップ136において、アドレスを
1だけ増加して、ステップ132へ戻る。ステップ13
5において、アドレスがメモリ素子iの最大値に達した
ときは処理を終了し、プログラマブルデバイス制御回路
5内にメモリ素子i(3)に不良があるという情報を蓄
えておく。これらの作業によりメモリ素子i(3)は無
効となり、メモリ素子i(m+1)が有効となった。
ャートである。なお、以下の説明では、メモリ素子i
(3)のメモリデータ信号ラインg(3)からメモリ素
子i(m+1)のメモリデータ信号ラインg(m+1)
への入替え作業を例にして説明する。ステップ130に
おいて、アドレスをメモリ素子iの最低値とする。図1
に示す実施例では、アドレスが最低アドレスである
“0”に設定される。次に、ステップ131において、
プログラマブルデバイス制御回路5を用いて、プログラ
マブルデバイス4の内容を書き換えて、その接続をe
(3)〜g(3)からe(3)〜g(m+1)へ変更す
る。このとき、不良のあるデータのビット3、つまりメ
モリのi(3)に相当する部分のデータが完全に欠落し
たことになる。次に、ステップ132において、メモリ
素子iからメモリコントローラ2のレジスタへデータを
読み込み、ECCコードを用いてデータのビット3を作
成し、メモリ素子iに書き込む。この時メモリ素子i
(0)〜i(2),i(4)〜i(m+1)の全ビット
へデータを書いてもよいし、メモリ素子i(m+1)に
だけ書いてもよい。次に、ステップ135において、ア
ドレスが最大値か否かを判定し、最大値ではないと判定
された場合には、ステップ136において、アドレスを
1だけ増加して、ステップ132へ戻る。ステップ13
5において、アドレスがメモリ素子iの最大値に達した
ときは処理を終了し、プログラマブルデバイス制御回路
5内にメモリ素子i(3)に不良があるという情報を蓄
えておく。これらの作業によりメモリ素子i(3)は無
効となり、メモリ素子i(m+1)が有効となった。
【0018】なお、上記の例では、プログラマブルデバ
イス制御回路5内にメモリ素子i(3)が不良であると
いう情報を蓄えておくとしたが、この不良メモリ記憶処
理を効率よく行うために以下のようにする。まず、シス
テムの最初の稼働時には、メモリ素子iは、番号の低い
もの(i(0)〜i(m))が使用されていることと
し、その使用されている番号の最大値p(この場合に
は、p=m)をプログラマブルデバイス制御回路5内の
有効データナンバーレジスタ(図示せず)へ格納してお
く。そして、不良発生時には、メモリ素子i(p+1)
を新たに有効とするため、プログラマブルデバイス4を
用いてメモリ素子i(p+1)をシステムに接続し、有
効データナンバーレジスタの値pを1増加させることに
する。この場合、メモリ素子i(1)〜i(p)は有効
であるか不良があるかどちらかであり、i(p+1)〜
i(max)は、全て無効(冗長)であるが、不良では
ないことになる。
イス制御回路5内にメモリ素子i(3)が不良であると
いう情報を蓄えておくとしたが、この不良メモリ記憶処
理を効率よく行うために以下のようにする。まず、シス
テムの最初の稼働時には、メモリ素子iは、番号の低い
もの(i(0)〜i(m))が使用されていることと
し、その使用されている番号の最大値p(この場合に
は、p=m)をプログラマブルデバイス制御回路5内の
有効データナンバーレジスタ(図示せず)へ格納してお
く。そして、不良発生時には、メモリ素子i(p+1)
を新たに有効とするため、プログラマブルデバイス4を
用いてメモリ素子i(p+1)をシステムに接続し、有
効データナンバーレジスタの値pを1増加させることに
する。この場合、メモリ素子i(1)〜i(p)は有効
であるか不良があるかどちらかであり、i(p+1)〜
i(max)は、全て無効(冗長)であるが、不良では
ないことになる。
【0019】図1に示す実施例では、メモリ部6のメモ
リ素子i(0)〜i(m)全体を一つのブロックとして
冗長ビット(メモリ素子i(m+1)〜i(m+x))
を加え、メモリデータラインの入替えを行った。しか
し、これでは1つのメモリセルの不良に対し、場合によ
っては全アドレスエリアを無効とし、データの入替えを
行わなければならない。このため、データ入替え時の転
送時間が非常にかかり、またメモリ資源の有効活用とい
う意味で効率が悪い。そこで、メモリ部6を複数のブロ
ックに分割し、それぞれの分割されたメモリのブロック
ごとに、前記図1に示す回路を全部あるいは一部共用で
持たせることにより、不良メモリセルが検出された場合
メモリのアドレス領域を部分的に、前記した実施例と同
様に、不良データビットライン(不良メモリ)の入替え
を行うようにしても良い。
リ素子i(0)〜i(m)全体を一つのブロックとして
冗長ビット(メモリ素子i(m+1)〜i(m+x))
を加え、メモリデータラインの入替えを行った。しか
し、これでは1つのメモリセルの不良に対し、場合によ
っては全アドレスエリアを無効とし、データの入替えを
行わなければならない。このため、データ入替え時の転
送時間が非常にかかり、またメモリ資源の有効活用とい
う意味で効率が悪い。そこで、メモリ部6を複数のブロ
ックに分割し、それぞれの分割されたメモリのブロック
ごとに、前記図1に示す回路を全部あるいは一部共用で
持たせることにより、不良メモリセルが検出された場合
メモリのアドレス領域を部分的に、前記した実施例と同
様に、不良データビットライン(不良メモリ)の入替え
を行うようにしても良い。
【0020】なお、不良データビット(不良メモリ)が
発見された場合には、上記手順によりメモリデータライ
ンの入替えが行われる。この入替えには、通常かなりの
処理時間を要するため、CPUの処理を止めなければな
らない。このため、図1のプログラマブルデバイス制御
回路5にCPUへの割込み信号発行論理を持たせ、不良
データビット(不良メモリ)が発見され、メモリデータ
ラインの入替えを行う場合には、この割込み信号を発行
して一時通常のCPUの処理を停止させ、メモリデータ
ラインの入替えを行う機能を持たせても良い。
発見された場合には、上記手順によりメモリデータライ
ンの入替えが行われる。この入替えには、通常かなりの
処理時間を要するため、CPUの処理を止めなければな
らない。このため、図1のプログラマブルデバイス制御
回路5にCPUへの割込み信号発行論理を持たせ、不良
データビット(不良メモリ)が発見され、メモリデータ
ラインの入替えを行う場合には、この割込み信号を発行
して一時通常のCPUの処理を停止させ、メモリデータ
ラインの入替えを行う機能を持たせても良い。
【0021】以上の説明から明らかなように、入力デー
タのECCチェクと1ビットエラー訂正が可能であり、
出力データのECCチェックが可能な制御装置とメモリ
部とからなるメモリ装置において、メモリ装置の入出力
データバス幅と同数のカウンタを設け、該入出力データ
バスと該カウンタを各ビット(各メモリ素子)毎に対応
させ、メモリ部からのデータ出力に際して該メモリ装置
がECC1ビットエラーを検出した時、対応するカウン
タを1だけ加算し、ECC1ビットエラーの発生回数を
各メモリデータの入出力ビット毎に記録できるようにし
たことにより、メモリ部のどのメモリ素子がアクセス毎
にECCコードで訂正されて処理時間の増加による性能
低下の原因となっているか、またはどのビット(メモリ
素子)が異常であるかを知ることができる。
タのECCチェクと1ビットエラー訂正が可能であり、
出力データのECCチェックが可能な制御装置とメモリ
部とからなるメモリ装置において、メモリ装置の入出力
データバス幅と同数のカウンタを設け、該入出力データ
バスと該カウンタを各ビット(各メモリ素子)毎に対応
させ、メモリ部からのデータ出力に際して該メモリ装置
がECC1ビットエラーを検出した時、対応するカウン
タを1だけ加算し、ECC1ビットエラーの発生回数を
各メモリデータの入出力ビット毎に記録できるようにし
たことにより、メモリ部のどのメモリ素子がアクセス毎
にECCコードで訂正されて処理時間の増加による性能
低下の原因となっているか、またはどのビット(メモリ
素子)が異常であるかを知ることができる。
【0022】そして、上記カウンタがある決められた一
定時間内に一定値に達した場合、対応したメモリ素子に
異常があると認識し、プログラマブルデバイスを書き替
えて、異常があるメモリのメモリデータ信号ラインと該
メモリ装置の入出力データバスとの接続を切離し、代わ
りにメモリの冗長ビットと該メモリ制御装置の入出力デ
ータバスを接続する。この時切り離されるメモリ素子の
記憶内容をECCコードを用いて訂正した上、新しく接
続されたメモリ素子に格納するという作業を行うコント
ローラ又はソフトウエアを設けることにより、メモリ部
のエラーに対するフォールトトレラントを向上させるこ
とができる。
定時間内に一定値に達した場合、対応したメモリ素子に
異常があると認識し、プログラマブルデバイスを書き替
えて、異常があるメモリのメモリデータ信号ラインと該
メモリ装置の入出力データバスとの接続を切離し、代わ
りにメモリの冗長ビットと該メモリ制御装置の入出力デ
ータバスを接続する。この時切り離されるメモリ素子の
記憶内容をECCコードを用いて訂正した上、新しく接
続されたメモリ素子に格納するという作業を行うコント
ローラ又はソフトウエアを設けることにより、メモリ部
のエラーに対するフォールトトレラントを向上させるこ
とができる。
【0023】以上の説明から明らかなように、上記実施
例によれば、次の効果が得られる。すなわち、従来技術
では、メモリへの書き込み又はメモリからの読み出しを
2ビットエラー検出、1ビットエラー訂正可能なECC
エラーチェックコードを用いて行うシステムにおいて、
このメモリのあるビットが破壊された場合、そのビット
をアクセスする時常にECC1ビットエラーとなり、こ
れを訂正するための時間が毎アクセスごとに必要にな
り、システムの性能低下になっていた。また、さらにも
う一ビット同じアドレスのデータエリアで破壊された場
合、ECC2ビットエラーとなりシステムダウンになっ
ていた。これに対して、上記実施例では、ECC1ビッ
トエラーが頻発するデータビットラインを発見し、該エ
ラー頻発メモリデータラインを無効とし、新たに別のメ
モリデータラインを代わりに使用することにより、シス
テムのフォルトトレラントを向上させる事に有効であ
り、性能低下やシステムダウンを防ぐことができ、信頼
性向上に役立つ。
例によれば、次の効果が得られる。すなわち、従来技術
では、メモリへの書き込み又はメモリからの読み出しを
2ビットエラー検出、1ビットエラー訂正可能なECC
エラーチェックコードを用いて行うシステムにおいて、
このメモリのあるビットが破壊された場合、そのビット
をアクセスする時常にECC1ビットエラーとなり、こ
れを訂正するための時間が毎アクセスごとに必要にな
り、システムの性能低下になっていた。また、さらにも
う一ビット同じアドレスのデータエリアで破壊された場
合、ECC2ビットエラーとなりシステムダウンになっ
ていた。これに対して、上記実施例では、ECC1ビッ
トエラーが頻発するデータビットラインを発見し、該エ
ラー頻発メモリデータラインを無効とし、新たに別のメ
モリデータラインを代わりに使用することにより、シス
テムのフォルトトレラントを向上させる事に有効であ
り、性能低下やシステムダウンを防ぐことができ、信頼
性向上に役立つ。
【0024】
【発明の効果】本発明によれば、メモリ部においてある
メモリ素子が破壊されてもシステムの性能低下に至ら
ず、かつメモリ部内の同一アドレスにおいて2ビットの
破壊が生じてもシステムダウンに至らないように、シス
テムのフォルトトレラントを向上させる事ができ、性能
低下やシステムダウンを防ぐことができ、信頼性向上に
役立つという効果を有する。
メモリ素子が破壊されてもシステムの性能低下に至ら
ず、かつメモリ部内の同一アドレスにおいて2ビットの
破壊が生じてもシステムダウンに至らないように、シス
テムのフォルトトレラントを向上させる事ができ、性能
低下やシステムダウンを防ぐことができ、信頼性向上に
役立つという効果を有する。
【図1】図1は、本発明の一実施例を示すブロック図。
【図2】図2は、図1に示す実施例の動作を示すフロー
チャート。
チャート。
【図3】図3は、図2に示すデータの入替え処理の一例
を示すフローチャート。
を示すフローチャート。
【図4】図4は、図2に示すデータの入替え処理の一例
を示すフローチャート。
を示すフローチャート。
1…メモリ装置、2…メモリコントローラ、3…カウン
タ部、4…プログラマブルデバイス、5…プログラマブ
ルデバイス制御回路、6…メモリ部、b(0)〜b
(n)…入出力データバス、d(0)〜d(m)…EC
C1ビットエラーカウンタ、e(0)〜e(m)…デー
タバス、g(0)〜g(m+x)…メモリデータ信号ラ
イン、i(0)〜i(m+x)…メモリ素子。
タ部、4…プログラマブルデバイス、5…プログラマブ
ルデバイス制御回路、6…メモリ部、b(0)〜b
(n)…入出力データバス、d(0)〜d(m)…EC
C1ビットエラーカウンタ、e(0)〜e(m)…デー
タバス、g(0)〜g(m+x)…メモリデータ信号ラ
イン、i(0)〜i(m+x)…メモリ素子。
Claims (1)
- 【請求項1】 m個のメモリ素子から成るメモリ部と、
メモリ部の制御装置とを備えて構成されるメモリ装置に
おいて、 上記メモリ部は、全てのメモリアドレスについて、上記
m個のメモリ素子に加えて、x個(xは1以上の整数)
の冗長ビット用のメモリ素子を備え、 さらに、上記制御装置は、外部装置に接続されている入
出力データバスと上記メモリ部のメモリデータ信号ライ
ンとの間に設けられ、かつ上記入出力データバスと上記
メモリ部のメモリデータ信号ラインとの接続を変更可能
な手段を備えたことを特徴とするメモリ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7172288A JPH0922387A (ja) | 1995-07-07 | 1995-07-07 | メモリ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7172288A JPH0922387A (ja) | 1995-07-07 | 1995-07-07 | メモリ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0922387A true JPH0922387A (ja) | 1997-01-21 |
Family
ID=15939158
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7172288A Pending JPH0922387A (ja) | 1995-07-07 | 1995-07-07 | メモリ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0922387A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100575657B1 (ko) * | 2004-10-28 | 2006-05-03 | 엘지전자 주식회사 | 낸드 플래시 읽기 방법 |
| US8179718B2 (en) | 2008-07-04 | 2012-05-15 | Samsung Electronics Co., Ltd. | Memory device and memory programming method |
| WO2013005355A1 (ja) * | 2011-07-01 | 2013-01-10 | パナソニック株式会社 | メモリアクセス制御装置、及び製造方法 |
-
1995
- 1995-07-07 JP JP7172288A patent/JPH0922387A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100575657B1 (ko) * | 2004-10-28 | 2006-05-03 | 엘지전자 주식회사 | 낸드 플래시 읽기 방법 |
| US8179718B2 (en) | 2008-07-04 | 2012-05-15 | Samsung Electronics Co., Ltd. | Memory device and memory programming method |
| WO2013005355A1 (ja) * | 2011-07-01 | 2013-01-10 | パナソニック株式会社 | メモリアクセス制御装置、及び製造方法 |
| US8824236B2 (en) | 2011-07-01 | 2014-09-02 | Panasonic Corporation | Memory access control device and manufacturing method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7328365B2 (en) | System and method for providing error check and correction in memory systems | |
| US7797609B2 (en) | Apparatus and method for merging data blocks with error correction code protection | |
| US5267242A (en) | Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing | |
| US8468422B2 (en) | Prediction and prevention of uncorrectable memory errors | |
| US8566672B2 (en) | Selective checkbit modification for error correction | |
| JPH07191915A (ja) | コンピュータ・システム、メモリ・カード、及びその操作方法 | |
| JPH03248251A (ja) | 情報処理装置 | |
| KR20020029925A (ko) | 디지털 데이터의 소프트 에러를 정정하는 방법 및 장치 | |
| JP3270367B2 (ja) | 半導体記憶装置 | |
| US7246257B2 (en) | Computer system and memory control method thereof | |
| JP2016045958A (ja) | メモリモジュール及びその動作方法 | |
| JP2001290710A (ja) | データエラー検出装置 | |
| JP3139738B2 (ja) | 論理回路 | |
| EP3882774B1 (en) | Data processing device | |
| CN104200835B (zh) | 在数据存储器中识别供电中断和重建数据存储器的方法 | |
| JPH0316655B2 (ja) | ||
| JP2001167002A (ja) | 電子ディスク装置の書き込み/読み出し制御方法及びその装置 | |
| JPS6356751A (ja) | メモリパトロ−ル制御方式 | |
| JP2993099B2 (ja) | 二重化メモリ装置 | |
| JPH04237351A (ja) | メモリ再書込み方式 | |
| JPH02143352A (ja) | メモリエラー検出修正方式 | |
| JPS60110047A (ja) | エラ−訂正方式 | |
| JPH06139155A (ja) | 記憶装置の診断方法 | |
| JPH0359740A (ja) | メモリ障害検出方式 | |
| JPH01251146A (ja) | ビットエラー訂正装置 |