(58)【調査した分野】(Int.Cl.,DB名)
訂正後の前記データが前記メモリセルアレイに書きまれる時、メモリセルを選択するための選択信号のイネーブル時間を訂正書き込み時間と称し、且つ前記エラービットを発見していない前記データが前記メモリセルアレイに書き込まれる時、前記選択信号のイネーブル時間を通常書き込み時間と称し、前記訂正書き込み時間は、前記通常書き込み時間よりも長い請求項1に記載のメモリ装置。
前記データライト回路は、制御信号発生回路を更に含み、前記制御信号発生回路は、初期ライトラッチ信号及びライトマスク信号に基づいて前記第1ライトラッチ信号と前記第2ライトラッチ信号を生成し、第16インバータ、第17インバータ、第18インバータ及び信号発生回路を含み、
前記第16インバータは、前記第17インバータと直列に結合され、前記第16インバータの入力端は、前記初期ライトラッチ信号を受信し、前記第17インバータは、パリティライトラッチ信号を前記パリティデータ読み書き回路に出力し、前記第18インバータは、前記初期ライトラッチ信号を受信して逆相パリティライトラッチ信号を前記パリティデータ読み書き回路に出力し、
信号産生回路は、
出力端が対応するライトマスク信号を受信する第19インバータと、
第1入力端が前記初期ライトラッチ信号を受信し、第2入力端が前記第19インバータの出力端に結合され、出力端が対応する前記第1ライトラッチ信号の逆相信号を出力する第4NANDゲートと、
入力端が前記第4NANDゲートの出力端に結合され、出力端が対応する前記第1ライトラッチ信号を出力する第20インバータと、
第1入力端が前記初期ライトラッチ信号を受信し、第2入力端が対応する前記ライトマスク信号を受信し、出力端が対応する前記第2ライトラッチ信号の逆相信号を出力する第5NANDゲートと、
入力端が前記第5NANDゲートの出力端に結合され、出力端が対応する前記第2ライトラッチ信号を出力する第21インバータと、
を含む請求項10に記載のメモリ装置。
前記データ読み書き回路が前記リード動作を実行する時、前記シンドローム発生回路は、前記リードビット信号に基づいて前記パリティデータライト信号を生成し、前記データ読み書き回路が前記ライト動作を実行する時、前記シンドローム発生回路は、前記訂正ビット信号又は前記データ出力信号に基づいて前記パリティデータライト信号を製造する請求項12に記載のメモリ装置
【発明を実施するための形態】
【0007】
本発明の上記特徴及び利点を分かり易くするために、実施例を挙げ、図面を合わせて以下のとおり詳細を説明する。
【0008】
図1は、本発明の一実施例によるメモリ装置のブロック図である。
図1を参照し、メモリ装置100は、メモリセルアレイ110、パリティデータメモリセルアレイ120、データ読み書き回路130、パリティデータ読み書き回路140及びシンドローム演算回路170を含む。シンドローム演算回路170は、シンドローム発生回路150及びシンドロームデコード回路160を含む。データ読み書き回路130は、メモリセルアレイ110に結合され、メモリセルアレイ110のデータMDにアクセスする。パリティデータ読み書き回路140は、パリティデータメモリセルアレイ120に結合され、パリティデータメモリセルアレイ120のパリティデータPMにアクセスする。パリティデータPMは、データMDに対して検査及び訂正することに用いられるエラー検査及び訂正コードであり、例えば、データMDに対してハミングコード(Hamming code)等のECCデコードプログラムを実行することにより生成される。パリティデータPMのビット数は、データMDのビット数により決定される。本実施例において、データMDのサイズは、64ビットを例とし、パリティデータPMのサイズは、対応して7ビットに設定しているが、本発明は、データMD及びパリティデータPMのサイズを限定するものではない。
【0009】
シンドローム演算回路170は、データ読み書き回路130から受信したデータMD(データの読み書き回路130がデータMDを読み出した後にリードビット信号RDを出力する)及びパリティデータ読み書き回路140から受け取ったパリティデータPM(パリティデータ読み書き回路140がパリティデータPMを読み出した後にパリティリード信号PSを出力する)に基づいてエラーデコード信号SDを生成し、リードデータMDの同じ1つリードサイクルにおいて、データ読み書き回路130は、エラーデコード信号SDに基づいてデータMD中のエラービットを訂正し、正しいデータ(即ち、データ出力信号RWB)及び訂正ビット信号CSを出力する。データ読み書き回路130は、訂正後のデータをメモリセルアレイ110に書き戻し、シンドローム演算回路170が更に訂正ビット信号CSに基づいてパリティデータライト信号NSをパリティデータ読み書き回路140に出力し、パリティデータメモリセルアレイ120中のパリティデータPMを更新する。
【0010】
言い換えれば、本実施例において、データMD及びパリティデータPMを読み出した後に、シンドローム演算回路170のシンドロームエンコード(Syndrome encoding)及びシンドロームデコード(Syndrome decoding)によって、データMDにエラービットがあるか否かを検査することができる。エラービットがあれば、データ読み書き回路130は、同じ1つのリードサイクルにおいて即時にエラーデコード信号SDに基づいてエラービットを訂正して正しいデータ出力信号RWBを出力することができ、訂正ビット信号CSをシンドローム演算回路170に併せて出力してパリティデータ読み書き回路140にパリティデータPMを更新させることもできる。特に、データMDの読み出しから正しいデータ出力信号RWBの出力までの間において、メモリ装置100は、メモリセルアレイ110のメモリセルを再度選択する必要がなく、同じ1つのリードサイクルにおいて、上記動作を完成でき、更にパリティデータPMを更新することができる。
以下、本実施例の回路構造及び実施方式を更に説明する。
【0011】
図2は、本発明の一実施例のデータ読み書き回路の回路ブロック図である。
図2を参照し、データ読み書き回路130は、データリード回路210、データ訂正回路220及びデータライト回路230を含む。データリード回路210は、メモリセルアレイ110に結合されてメモリセルアレイ110からデータMDを読み出してリードデータAD及び対応するリードビット信号RDを生成する。データ訂正回路220は、データリード回路210及びシンドローム演算回路170のシンドロームデコード回路160に結合され、リードサイクル中にリードデータADをラッチすること、及びエラーデコード信号SDに基づいてリードデータADのエラービットを訂正して正しいデータ出力信号RWB及び訂正ビット信号CSを生成することに用いられ、ここで、データ出力信号RWBは、データ読み書き回路130がデータMDを読み出し、訂正した後の出力結果である。データライト回路230は、データ訂正回路220及びメモリセルアレイ110に結合され、訂正ビット信号CSを用いてエラービットに対応するデータ出力信号RWBを置き換えて正しいデータMDをメモリセルアレイ110に書き戻すことに用いられる。
【0012】
図1を再び参照し、シンドローム演算回路170は、シンドローム発生回路150及びシンドロームデコード回路160を含む。シンドローム発生回路150は、データ読み書き回路130及びパリティデータ読み書き回路140に結合され、リード動作又はライト動作に基づいてデータリード回路210又はデータ訂正回路220の出力信号を選択的に受信してパリティデータライト信号NSを生成する。より具体的には、データ読み書き回路130がリード動作を実行する時、シンドローム発生回路150は、リードビット信号RDに基づいてパリティデータライト信号NSを生成し、データ読み書き回路130がライト動作を実行する時、シンドローム発生回路150は、訂正ビット信号CS又はデータ出力信号RWBに基づいてパリティデータライト信号NSを生成する。
【0013】
シンドローム発生回路150は、パリティデータライト信号NS及び対応するパリティデータPMを比較し(パリティデータ読み書き回路140は、パリティデータPMを読み出してパリティリード信号PSをシンドローム発生回路150に提供する)、シンドローム信号SYを生成する。シンドロームデコード回路160は、シンドローム発生回路150に結合され、シンドローム信号SYをデコードしてエラーデコード信号SDを生成する。データ読み書き回路130は、エラーデコード信号SDに基づいてデータMD中のエラービットを訂正する。
次に、データ読み書き回路130の具体的実施方式を説明する。
【0014】
図3Aは、本発明の一実施例によるデータリード回路の回路説明図であり、
図3Bは、本発明の一実施例によるメモリ装置のリード動作の波形説明図である。
図4は、本発明の一実施例によるデータ訂正回路の回路説明図であり、
図5Aは、本発明の一実施例のデータライト回路の回路説明図であり、
図5Bは、本発明の一実施例によるデータライト回路の制御信号発生回路の回路説明図である。
図1及び
図2に併せて
図3A〜
図5Bを参照し、データ読み書き回路130の実施の詳細を具体的に説明する。
【0015】
図3Aにおいて、データリード回路210は、リードスイッチ310、プリチャージ回路320及び増幅回路330を含む。リードスイッチ310の入力端は、メモリセルアレイ110からデータMDを受信し、リードイネーブル信号DEによってオン又はオフに制御される。プリチャージ回路320は、リードスイッチ310の入力端に結合され、プリチャージ信号PBによって制御されてリードスイッチ310の入力端に対して予備充電動作を実行する。増幅回路330の入力端は、リードスイッチ310の出力端に結合され、リードイネーブル信号DEによって制御されてリードデータADを生成し、対応するリードビット信号RDを生成する。
【0016】
具体的には、メモリセルアレイ110中のセンスアンプは、差動信号(DifferentialSignal)方式でメモリセルに記憶されたデータMDを出力するので、データMDは、データ信号MDiT及び逆相データ信号MDiNの差動信号を含み、そのうちのデータMDは、64ビットを例とし、本明細書において、MDiによりデータMDのうちの1つのビットを表し、iは、0〜63の整数(i=0、1、2、…、63)であり、例えば、MD0、MD1、…、MD63である。同様に、リードデータADもリードデータ信号ADiT及び逆相リードデータ信号ADiNを含む差動信号である。本明細書おけるiは、対応するビットを指し、例えば、リードビット信号RDi、データ出力信号RWBi及び訂正ビット信号CSiは、リードビット信号RD、データ出力信号RWB、及び訂正ビット信号CS中の対応するビットを表し、これにより類推する。
【0017】
リードスイッチ310において、伝送ゲートTG1は、ビット線BLに結合されてデータ信号MDiTを受信し、伝送ゲートTG2は、相補ビット線BLNに結合され、逆相データ信号MDiNを受信し、伝送ゲートTG1及び伝送ゲートTG2は、何れもリードイネーブル信号DEによって制御される。
図3A中のインバータINV1の入力端は、リードイネーブル信号DEを受信し、その出力端は、伝送ゲートTG1の一方の制御端及び伝送ゲートTG2の一方の制御端に共通に結合される(例えば、伝送ゲートTG1及び伝送ゲートTG2のうちのN型トランジスタの制御端)。インバータINV2の入力端は、インバータINV1の出力端に結合され、その出力端は、伝送ゲートTG1の他方の制御端及び伝送ゲートTG2の他方の制御端(例えば、伝送ゲートTG1及び伝送ゲートTG2内のP型トランジスタの制御端)に共通に結合される。
【0018】
プリチャージ回路320において、インバータINV3は、プリチャージ信号PBを受信する。P型トランジスタTP1の第1端は、電源電圧VDDに結合され、その制御端は、インバータINV3の出力端に結合され、その第2端は、ビット線BLに結合される。P型トランジスタTP2の第1端は、電源電圧VDDに結合され、その制御端は、インバータINV3の出力端に結合され、その第2端は、相補ビット線BLNに結合される。P型トランジスタTP3は、P型トランジスタTP1の第2端及びP型トランジスタTP2の第2端の間に結合され、その制御端は、インバータINV3の出力端に結合される。
【0019】
増幅回路330において、アンプ332は、リードスイッチ310に結合されてデータ信号MDiT及び逆相データ信号MDiNを受信し、対応してリードデータ信号ADiT及び逆相リードデータ信号ADiNを出力する。インバータINV4は、逆相リードデータ信号ADiNを受けてリードビット信号RDiを出力する。
【0020】
本実施例において、アンプ332は、P型トランジスタT31、T32及びN型トランジスタT33〜T35である。P型トランジスタT31とN型トランジスタT33は、電圧電源VDD及びN型トランジスタT35の第1端の間に直列に結合され、P型トランジスタT32及びN型トランジスタT34は、同様に電源電圧VDD及びN型トランジスタT33の第1端の間に直列に結合され、P型トランジスタT31及びN型トランジスタT33の制御端は、N型トランジスタT34の第1端に共通に結合され、P型トランジスタT32及びN型トランジスタT34の制御端は、N型トランジスタT33の第1端に共通に結合される。N型トランジスタT35の第2端は、グランド電圧GNDに結合され、その制御端は、リードイネーブル信号DEに結合される。
【0021】
図3Bにおいて、リード動作の前に、プリチャージ信号PBは、リードスイッチ310をオンにしてビット線BL及び相補ビット線BLNに予備充電動作を実行する。リード動作を開始する時、プリチャージ信号PBは、リードスイッチ310をオフにして予備充電動作を終了する。同時に、メモリセルアレイ110のメモリセルを選択するための選択信号CSLは、ロー論理レベル(Low)からハイ論理レベル(High)になり、選択されたメモリセルのデータMDを読み出す。次に、リードイネーブル信号DEは、ハイ論理レベル(High)に切り替わり、リードスイッチ310をオンにし、アンプ332を起動してデータ信号MDiT及び逆相データ信号MDiNを増幅してリードデータ信号ADiT、逆相リードデータ信号ADiN、及びリードビット信号RDiを出力する。
図3Bの低電圧VSSは、ここではグランド電圧GNDを例とする。
【0022】
図4を参照し、データ訂正回路220は、訂正スイッチ410、リードビットラッチ420、訂正回路430及び出力回路440を含む。訂正スイッチ410の入力端は、データリード回路210からリードデータADiを受信し、リードラッチ信号LARによってオン又はオフに制御される。リードビットラッチ420は、訂正スイッチ410に結合され、リードデータADiをラッチすることに用いられる。訂正回路430は、リードビットラッチ420に結合され、対応するエラーデコード信号SDiを受信し、エラーデコード信号SDiに基づいてリードビットラッチ420に記憶されたビットを訂正することに用いられる。出力回路440は、訂正回路430及びリードビットラッチ420に結合され、出力イネーブル信号OEによって制御されてリードビットラッチ420に記憶されたビットをデータ出力信号RWBiとして出力する。
【0023】
図4の訂正スイッチ410において、伝送ゲートTG3は、データリード回路210からリードデータ信号ADiTを受信し、伝送ゲートTG4は、データリード回路210から逆相リードデータ信号ADiNを受信し、伝送ゲートTG3及び伝送ゲートTG4は、何れもリードラッチ信号LARによって制御される。インバータINV5入力端は、リードラッチ信号LARを受信し、その出力端は、伝送ゲートTG3の制御端の一方及び伝送ゲートTG4の制御端の一方に共通に結合されてリードラッチ信号LAR逆相信号を提供する。
【0024】
リードビットラッチ420は、インバータINV6及びインバータINV7を含む。インバータINV6の入力端は、インバータINV7の出力端に結合され、伝送ゲートTG3を介してリードデータ信号ADiTを受信する。インバータINV7の入力端は、インバータINV6の出力端に結合され、伝送ゲートTG4を介して逆相リードデータ信号ADiNを受信する。
【0025】
訂正回路430において、インバータINV8は、エラーデコード信号SDiを受信し、インバータINV9は、インバータINV6の出力端に結合されて訂正ビット信号CSiを出力する。P型トランジスタTP4の第1端は、電源電圧VDDに結合され、その第2端は、P型トランジスタTP5の第1端に結合され、その制御端は、インバータINV8の出力端に結合される。P型トランジスタTP5の第2端は、インバータINV6の入力端に結合され、その制御端は、リードデータ信号ADiTを受信する。P型トランジスタTP6の第1端は、同様に電源電圧VDDに結合され、第2端は、P型トランジスタTP7の第1端に結合され、その制御端は、インバータINV8の出力端に結合される。P型トランジスタTP7の第2端は、インバータINV6の出力端に結合され、その制御端は、逆相リードデータ信号ADiNを受信する。
【0026】
出力回路440において、インバータINV10の入力端は、出力イネーブル信号OEに結合される。NANDゲートNAND1の第1入力端は、P型トランジスタTP5の第2端に結合され、その第2入力端は、出力イネーブル信号OEを受信する。NORゲートNOR1の第1入力端は、P型トランジスタTP5の第2端に結合され、第2入力端は、インバータINV10の出力端に結合される。P型トランジスタTP8の第1端は、電源電圧VDDに結合され、その制御端は、NANDゲートNAND1の出力端に結合され、N型トランジスタTN1の第1端は、P型トランジスタTP8の第2端に結合され、訂正後のデータ出力信号RWBiを提供し、その制御端は、NORゲートNOR1の出力端に結合され、その第2端は、グランド電圧GNDに結合される。出力回路440は、N型トランジスタTN1の第1端に結合されるラッチ442を更に含むことができる。ラッチ442の回路構造は、リードビットラッチ420と同じで、2つのインバータINVが互いに結合して形成される。
【0027】
図3Bを再び参照し、リードラッチ信号LARがハイ論理レベルに切り替わると、リードビットラッチ420は、リードデータADiを受信してそのビット値をラッチし、対応する正ラッチビット信号EiT及び逆ラッチビット信号EiNを生成する。
図3Bにおいて、リードラッチ信号LARのハイ論理レベル期間において、正ラッチビット信号EiTはロー論理レベルに変化し、逆ラッチビット信号EiNは、ハイ論理レベルに変化する。リードラッチ信号LARがロー論理レベルに切り替わった後、データMDのi番目のビットがエラービットの場合、シンドロームデコード回路160からのエラーデコード信号SDiがハイ論理レベルに切り替わる。同じリードサイクルにおいて、訂正回路430は、エラーデコード信号SDiに基づいてリードビットラッチ420によってラッチされたエラーのビット値を反転するので、正ラッチビット信号EiT及び逆ラッチビット信号EiNが反転を発生してエラーを訂正する。最後に、出力回路440は、出力イネーブル信号OEに基づいて正しいデータ出力信号RWBiを出力する。
【0028】
図5Aを参照し、データライト回路230は、インバータINV11、ライトスイッチ510、ライトスイッチ520、ライトビットラッチ530及び出力回路540を含む。インバータINV11の入力端は、対応するデータ出力信号RWBiを受信する。ライトスイッチ510の入力端は、インバータINV11の出力端に結合され、第1ライトラッチ信号LAWmによってオン又はオフに制御される。ライトスイッチ520の入力端は、対応する訂正ビット信号CSiを受信し、第2ライトラッチ信号LDWmによってオン又はオフに制御される。ここで、mは0から7の整数であり、対応するマスクビットを示す。ライトビットラッチ530は、ライトスイッチ510の出力端及びライトスイッチ520の出力端に結合され、出力回路540は、ライトスイッチ520の出力端及びライトビットラッチ530の出力端に結合される。出力回路540は、ライトイネーブル信号WEによって制御され、データ出力信号RWBi又は訂正ビット信号CSiをメモリセルアレイ110に書き込む。
【0029】
ここで、出力回路540が出力するデータ信号MDiT及び逆相データ信号MDiNは、データMDiを新たに書き込むために、それぞれメモリセルアレイ110のビット線及び相補ビット線に送り返される。
【0030】
図5Aにおいて、ライトスイッチ510は、伝送ゲートTG5方式で実施され、ライトスイッチ520は、伝送ゲートTG6の方式で実施される。伝送ゲートTG5の2つの制御端は、対応する第1ライトラッチ信号LAWm及び第1ライトラッチ信号LAWmの逆相信号(逆相第1ライトラッチ信号と略記する)LAWmBをそれぞれ受信し、伝送ゲートTG6の2つの制御端は、それぞれ第2ライトラッチ信号LDWm及び第2ライトラッチ信号LDWmの逆相信号(逆相第2ライトラッチ信号と略記する)LDWmBを受信する。
【0031】
ライトビットラッチ530は、インバータINV12及びインバータINV13を含む。インバータINV12の入力端は、インバータINV13の出力端に結合され、インバータINV13の入力端は、インバータINV12の出力端に結合され、インバータINV12の入力端は、伝送ゲートTG5及び伝送ゲートTG6の出力端に共通に結合される。
【0032】
出力回路540において、インバータINV14はインバータINV15と直列に結合され、インバータINV14はライトイネーブル信号WEによって受け取られる。NANDゲートNAND2の第1入力端はインバータINV12の出力端に結合され、第2入力端はインバータINV15の出力端に結合され、NORゲートNOR2の第1入力端はインバータINV12の出力端に結合され、そして第2入力端はインバータINV14の出力端に結合される。P型トランジスタTP9の第1端は電源電圧VDDに結合され、制御端はNANDゲートNAND2の出力端に結合され、N型トランジスタTN2の第1端はP型トランジスタTP9の第2端に結合されて対応するデータ信号MDiTを提供し、制御端はNORゲートNOR2の出力端に結合され、第2端はグランド電圧GNDに結合される。NANDゲートNAND3のうちの第1入力端は、インバータINV13の出力端に結合され、第2入力端は、インバータINV15の出力端に結合される。NORゲートNOR3のうち第1入力端はインバータINV13の出力端に結合され、第2入力端はインバータINV14の出力端に結合される。P型トランジスタTP10の第1端は電源電圧VDDに結合され、制御端はNANDゲートNAND3の出力端に結合され、N型トランジスタTN3の第1端はP型トランジスタTP10の第2端に結合され、対応する逆相データ信号MDiNを提供し、制御端はNORゲートNOR3の出力端に結合され、その第2端はグランド電圧GNDに結合される。
【0033】
図5Bを参照し、データライト回路230は、制御信号発生回路550を更に含み、制御信号発生回路550は、初期ライトラッチ信号LAW及びライトマスク信号DMに基づいて第1ライトラッチ信号LAWm及び第2ライトラッチ信号LDWmを生成する。本実施例において、ライトマスク信号DMは、8ビットの信号であるので、ライトマスク信号DMmは、m番目のビットに対応する信号を表し、mは0〜7の整数である。
【0034】
制御信号発生回路550は、パリティライトラッチ信号LAWPT及び逆相パリティライトラッチ信号LAWPBをパリティデータ読み書き回路140に提供し、対応する第1ライトラッチ信号LAWm及び第2ライトラッチ信号LDWm、及びその逆相信号をデータライト回路230に提供する。
【0035】
制御信号発生回路550は、インバータINV16、インバータINV17、インバータINV18及び信号産生回路610を含む。インバータINV16及びインバータINV17は、直列に結合され、インバータINV16の入力端は、初期ライトラッチ信号LAWを受信し、インバータINV17出力は、パリティライトラッチ信号LAWPTをパリティデータ読み書き回路140に出力し、インバータINV18は、初期ライトラッチ信号LAWを受信して逆相パリティライトラッチ信号LAWPBを出力する。
【0036】
補足説明として、リード動作を実行する時、ライトイネーブル信号WE、初期ライトラッチ信号LAWは、ロー論理レベルに維持される。
【0037】
図5Bの信号産生回路610において、インバータINV19の出力端は、対応するライトマスク信号DMmを受信する。NANDゲートNAND4の第1入力端は、初期ライトラッチ信号LAWを受信し、その第2入力端は、インバータINV19の出力端に結合され、その出力端は、対応する逆相第1ライトラッチ信号LAWmBを出力する。インバータINV20の入力端は、NANDゲートNAND4の出力端に結合され、その出力端は、対応する第1ライトラッチ信号LAWmを出力する。NANDゲートNAND5の 第1入力端は、初期ライトラッチ信号LAWを受信し、第2入力端は、対応するライトマスク信号DMmを受信し、その出力端は、対応する逆相第2ライトラッチ信号LDWmBを出力する。インバータINV21の入力端は、NANDゲートNAND5の出力端に結合され、その出力端は、対応する第2ライトラッチ信号LDWmを出力する。
【0038】
図6Aは、本発明の一実施例によるメモリ装置のエラービットを発見していない場合のライト動作の波形説明図であり、
図6Bは、本発明の一実施例によるメモリ装置のエラービットを訂正する場合のライト動作の波形説明図である。上記の実施例と共に
図6A及び
図6Bを参照する。
【0039】
図6Aにおいて、メモリ装置100がデータMDを書き込み且つ書き込むビットが訂正する必要がない時、メモリセルの選択信号CSLを選択するためのイネーブル時間(例えば、ハイ論理レベルを維持する時間)を通常書き込み時間と称する。通常書き込み時間において、訂正ビット信号CS及びライトマスク信号DMは、ロー論理レベルを維持し続け、ライトスイッチ510はオンにされ、ライトスイッチ520はオフにされ、データライト回路230は、データ出力信号RWBiを選択的にメモリセルアレイ110に書き込む。
【0040】
図6Bにおいて、メモリ装置100がデータMD中にエラービットを発見した後、且つデータライト回路230が正しいデータを書き戻す時、選択信号CSLのイネーブル時間を訂正書き込み時間と称する。訂正書き込み時間において、リードラッチ信号LARがロー論理レベルに切り替わった後、エラービット位置に対応するエラーデコード信号SDiの論理レベルがハイレベルになり、対応してデータ訂正回路220が出力する訂正ビット信号CSiもハイ論理レベルに切り替わる。補足説明として、シンドローム発生回路150も対応してパリティデータライト信号NSをパリティデータ読み書き回路140に出力し、パリティデータPMを更新する。
【0041】
次に、データライト回路230がライド動作を行い、対応する第1ライトラッチ信号LAWmがライトスイッチ510をオフにし、対応する第2ライトラッチ信号LDWmがライトスイッチ520をオンにし、訂正ビット信号CSiにデータ出力信号RWBiを置き換えて出力回路540に入力させ、ライトイネーブル信号WEのイネーブル時間において正しいビット値を書き込む。
【0042】
言い換えれば、書き込もうとするビットが元々正しい時、データライト回路230は、データ出力信号RWBiをメモリセルアレイ110に書き込み、書き込もうとするビットがエラービットである時、データライト回路230が訂正ビット信号CSiをメモリセルアレイ110に書き込む。
【0043】
特に、本実施例において、選択信号CSLのイネーブル時間は、変更することができ、訂正書き込み時間は、通常書き込み時間よりも長くなる。メモリ装置100がエラービットを発見した時、選択信号CSLのイネーブル時間を延長することでデータライト回路130及びパリティデータ読み書き回路140は、訂正を行う同じ1つのサイクルにおいて、正しいデータをメモリセルアレイ110に書き戻し、パリティデータPMを更新することができる。即ち、選択信号CSLは、1回イネーブルにするだけで検査訂正及び更新の動作を完成することができる。
次に、シンドローム発生回路150の回路構造の詳細を説明する。
【0044】
図7Aは、本発明の一実施例によるシンドローム発生回路の回路説明図であり、
図7Bは、本発明の一実施例によるシンドローム発生回路の内部演算回路の回路説明図であり、
図7Cは、本発明の一実施例によるシンドローム発生回路のシンドローム制御信号発生回路の回路説明図である。
【0045】
先ず、
図7Aを参照し、シンドローム発生回路150は、内部演算回路710及び複数XORゲートXOR2を含み、内部動作回路710は、複数の伝送ゲートTG(
図7Bの伝送ゲートTG7〜TG9)及び複数の第1XORゲートXOR1とを含む。
【0046】
図7Bにおいて、内部演算回路710は、複数の伝送ゲートTGを制御してデータ出力信号RWB、訂正ビット信号CS又はリードビット信号RDを複数のXORゲートXOR1に選択的に提供し、パリティデータライト信号NSを出力する。具体的には、内部演算回路710は、複数の入力回路720を有する。各入力回路720は、対応するデータ出力信号RWBiを受信する以外に、更に、データリード回路210から対応するリードビット信号RDiを受信し、データ訂正回路220から対応する訂正ビット信号CSiを受信することができる。内部演算回路710は、入力回路720内の複数の伝送ゲートTG7〜TG9を制御することでリードビット信号RD、データ出力信号RWB、訂正ビット信号CSのうちの1つの信号を対応するXORゲートXOR1に選択的に入力する。
【0047】
詳細には、伝送ゲートTG7は、対応するリードビット信号RDiを受信し、且つライトデータ制御信号WED及びライトデータ制御信号WEDの逆相信号WEDBによって制御され、伝送ゲートTG8は、データ出力信号RWBiを受信し、ライトデータ選択信号WEm及びライトデータ選択信号WEmの逆相信号WEmBによって制御され、伝送ゲートTG9は、訂正ビット信号CSiを受信し、ライトマスク選択信号DWm及びライトマスク選択信号DWmの逆相信号DWmBによって制御される。
【0048】
メモリ装置100がリード動作を実行する時、入力回路720は、リードビット信号RDiを選択的に受信し、伝送ゲートTG7をオンにし、伝送ゲートTG8及び伝送ゲートTG9をオフにする。メモリ装置100がライト動作を実行する時、入力回路720は、伝送ゲートTG7をオフにし、ライトマスク信号DMに基づいて伝送ゲートTG8又は伝送ゲートTG9をオンにしてデータ出力信号RWBi又は訂正ビット信号CSiを選択的に受信する。
【0049】
多段のXORゲートXOR1の演算を経て、内部動作回路710は、最終的にパリティデータライト信号NSjを出力し、本実施例のパリティビットは、7ビットであるので、jは0〜6の整数であり、パリティデータライト信号NSjは、パリティデータライト信号NSのj番目のビットに対応する信号を表す。
【0050】
図7Aにおいて、複数のXORゲートXOR2は、内部演算回路710から対応するパリティデータライト信号NSjを受信し、パリティデータ読み書き回路140から対応するパリティリード信号PSjを受信する。シンドローム発生回路150は、パリティリード信号PS及びパリティデータライト信号NSを比較してシンドローム信号SYを出力する。シンドロームデコード回路160は、シンドローム信号SY及びデコード制御信号SDEを受信し、シンドローム信号SYに対してデコード演算を実行し、エラーデコード信号SDをデータ読み書き回路130のデータ訂正回路220に出力する。
【0051】
シンドローム発生回路150は、上記伝送ゲートTGの制御信号を生成することに用いられるシンドローム制御信号発生回路730を更に含む。
図7Cのシンドローム制御信号発生回路730の回路構造は、
図5Bの制御信号発生回路550と類似するので、シンドローム制御信号発生回路730の動作の詳細は、ここでは再度説明しない。
【0052】
次に、パリティデータ読み書き回路140の具体的な回路構造を説明する。
図8は、本発明の一実施例によるパリティデータ読み書き回路の回路説明図であり、
図9は、本発明の一実施例によるパリティデータライト回路の回路説明図である。
【0053】
先ず、
図8を参照し、パリティデータ読み書き回路140は、パリティデータリード回路810及びパリティデータライト回路820を含む。パリティデータリード回路810は、パリティデータメモリセルアレイ120及びシンドローム演算回路170に結合され、パリティデータメモリセルアレイ120からパリティデータPMを読み出し、パリティリード信号PSをシンドローム演算回路170のシンドローム発生回路150に出力することに用いられる。パリティデータライト回路820は、パリティデータメモリセルアレイ120及びシンドローム演算回路170のシンドローム発生回路150に結合され、訂正後のパリティデータPMをパリティデータメモリセルアレイ120に書き込むことに用いられる。
【0054】
メモリ装置100がリード動作を実行する時、パリティデータリード回路810は、パリティデータメモリセルアレイ120からパリティデータPMを読み出してパリティリード信号PSをシンドローム発生回路150に出力することができる。シンドローム発生回路150は、パリティリード信号PSに基づいてリードビット信号RDにエラービットがあるか否かを検査する。エラービットが存在する場合、対応するエラーデコード信号SDiが論理レベルを変更する。本実施例において、データMDのi番目のビットがエラーであれば、エラーデコード信号SDiは、
図3Bに示されるように、ハイ論理レベルに変化する。
【0055】
パリティデータリード回路810の回路の詳細は、
図3Aを参照することができ、当業者は、データリード回路210から十分な提案、教示及び実施方式を得ることができ、ここでは再度説明しない。
【0056】
図9は、パリティデータライト回路820の回路詳細を示し、その回路構造は、
図5Aのデータライト回路230に類似しており、当業者は、データ書込回路230から十分な提案、教示及び実施方式を得ることができ、ここでは再度説明しない。
【0057】
図6Bを参照し、シンドローム発生回路150がリードビット信号RDにエラービットがあることを検出する時、データライト回路230は、リードビット信号RDに訂正を行い、シンドローム発生回路150は、エラービット位置を記録する訂正ビット信号CSに基づいて新しいパリティデータライト信号NSを出力する。パリティデータライト回路820は、新しいパリティデータライト信号NSをパリティデータメモリセルアレイ120に書き込み、パリティデータPMを更新する。
図9のパリティデータPMは、パリティデータデータ信号PMjT及び逆相パリティデータ信号PMjNからなる差動信号を含み、jは、0〜6の整数であり、対応するパリティビットを表す。
【0058】
上記を総合し、本発明のメモリ装置は、1つのリードサイクルにおいてメモリセルアレイからデータを読み出し、検査を行うことができ、データ中に1つのエラービットがあることを発見した時、本発明のメモリ装置は、同じ1つのリードサイクルにおいてエラーを訂正し、正しいデータを出力することができる。また、本発明のメモリ装置は、更に訂正ビット信号をデータライト回路及びシンドローム発生回路に同時に出力することができる。選択信号のイネーブル時間を延長することによって、データライト回路は、訂正後のデータをメモリセルアレイに書き戻すことができ、且つシンドローム発生回路は、新たなパリティデータライト信号をパリティデータライト回路に出力し、パリティデータを更新することができる。このように、選択信号は、書き込むメモリセルに対して1回のイネーブル時間を提供するだけでデータの訂正及び更新を完成することができ、エラーを即時に検査及び訂正する効果を達成する。
【0059】
本発明は、上記のように実施例を開示したが、それは本発明を限定するためのものではなく、当業者は、本発明の精神及び範囲から逸脱することなく、いくらかの変更及び修飾を行うことができ、故に本発明の保護範囲は、後述の特許請求の範囲が定義するものを基準とする。