JP3892832B2 - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP3892832B2
JP3892832B2 JP2003291491A JP2003291491A JP3892832B2 JP 3892832 B2 JP3892832 B2 JP 3892832B2 JP 2003291491 A JP2003291491 A JP 2003291491A JP 2003291491 A JP2003291491 A JP 2003291491A JP 3892832 B2 JP3892832 B2 JP 3892832B2
Authority
JP
Japan
Prior art keywords
memory
data
error correction
memory area
correction code
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.)
Expired - Fee Related
Application number
JP2003291491A
Other languages
English (en)
Other versions
JP2005063547A (ja
Inventor
桂一 櫛田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003291491A priority Critical patent/JP3892832B2/ja
Priority to US10/734,303 priority patent/US7200780B2/en
Publication of JP2005063547A publication Critical patent/JP2005063547A/ja
Application granted granted Critical
Publication of JP3892832B2 publication Critical patent/JP3892832B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/109Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Static Random-Access Memory (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、誤り訂正符号(Error-Correction-Code;ECC)を用いた訂正機能(ECC 訂正機能)を搭載した半導体記憶装置に係り、特にリセット機能が搭載されていない半導体記憶装置に関するもので、例えば大容量SRAMなどに使用されるものである。
半導体メモリの微細化、大容量化の進行に伴い、製造技術が高度化、困難化し、メモリ中の全てのメモリセルが正しく動作する製品を高い歩留りで製造することが困難になってきている。また、微細化により、1ビットセル当りの保持電荷容量が小さくなり、宇宙線やアルファ線に起因するランダムな1ビットデータの破壊(ソフトエラーと呼ばれる)現象が無視できない程度まで頻繁に発生するようになってきている。このソフトエラー現象は、リダンダンシー技術では解決することができないので、大きな問題となりつつある。この問題を解決する手段の1つとしてメモリ内部にECC 訂正機能を搭載している。
図6は、従来の誤り訂正機能を有するDRAMの一部を示す。
このDRAMは、DRAM外部との間で入力データ/出力データを授受する入出力(I/O)回路10と、指定されたアドレスにnビットのデータを格納するための複数のメモリ領域を有するデータ用メモリ(メインメモリ)11と、このデータ用メモリ11と同じアドレス空間を有し、データ用メモリ11の各メモリ領域に格納されている各データをそれぞれ訂正することが可能なm(<n)ビットのコード(ECC) を記憶するためのコード用メモリ12と、これらを制御するために設けられたECC 制御回路13とを備えている。
図7は、図6中のECC 制御回路13の従来例を示している。
このECC 制御回路は、読み出しデータ用レジスタ23、ECC コード用レジスタ24、ECC コード生成回路25、シンドローム生成回路26、ECC デコード回路(シンドロームデコーダ)27、訂正データ用レジスタ28を有し、次のような基本的な機能を有する。
(1)通常のデータ書き込み前の読み出し時には、データ用メモリ11から読み出されたnビットのデータを読み出しデータ用レジスタ23に格納し、同時に、コード用メモリ12から読み出されたmビットのECC コードをECC コード用レジスタ24に格納する。そして、前記データ用メモリ11から読み出されたデータに対してECC コード生成回路25によってmビットのECC コードを生成し、このECC コードと前記コード用メモリ12から読み出されたECC コードとをシンドローム生成回路26で比較し、シンドロームと呼ばれるエラー訂正符号を作成する。ここで、上記2つのECC コードが一致する場合にはシンドローム符号は"0" となり、読み出されたデータ中もしくはECC コード中の特定の1ビットが反転していた場合にはシンドローム符号が"0" 以外の特定の値をとる。
ECC デコード回路(シンドロームデコーダ)27は、シンドローム符号が"0" の場合にはデータ入力時のデータが正しく保存されていたと判別する。これに対して、シンドローム符号が"0" 以外の特定の値の場合には、シンドローム符号は反転していたビットと1対1の対応がとられているので、どのビットが正しくないかを判別することができ、訂正処理を行う。
引き続き、データ書き込み時には、I/O回路10からデータ用メモリ11に書き込まれる入力データに対してECC コード生成回路25によってECC コードを生成する。そして、このECC コードをコード用メモリ12に格納する。
(2)通常の読み出し時には、前記通常のデータ書き込み前の読み出し時と同様の動作を行う。この場合、読み出しデータ用レジスタ23に格納されたデータが、そのまま訂正データ用レジスタ28を経由して、または、訂正データ用レジスタ28で1ビット訂正されて出力データとなる。
上述したようにECC 機能を搭載するDRAMは、各アドレスのデータ毎に1ビットまでのデータエラーを訂正して出力することができるので、リダンダンシーで救済不可能なソフトエラーによるデータエラー率を抑えることができる。さらに、プロセス工程で発生するメモリセルのビット不良についても、その不良率が十分小さい場合にはビット不良を救済する効果も併せ持っている。
ところで、例えばSRAMにおいては、通常、仕様上の理由からリセット機能が搭載されていない。このようなメモリに、図6に示したようなECC 制御回路13を搭載した場合、電源投入直後には、読み出しデータ用メモリ11内のデータとコード用メモリ12内のECCコードの関係は、ランダム状態(ECC コードに関する相関が全くない状態)になっているので、ECC 機能に不都合が生じる。
また、一般によく用いられる1ビット訂正機能限定のECC 機能を有するECC 制御回路をSRAMに搭載した場合、電源投入直後にはデータ用メモリ11内のデータとコード用メモリ12内のECC コードに2ビット以上のデータエラーが発生していた場合に対応していない。この場合には、電源投入後にデータ用メモリ11およびコード用メモリ12から最初に読み出しを行った際には、データ用メモリ11から読み出されたデータ中の本来誤りでない1ビットを高い確率で誤訂正してしまう。
即ち、データ用メモリ11から読み出されたデータに対して生成したECC コードとコード用メモリ12から読み出されたECC コードとを比較してシンドローム符号を作成すると、シンドローム符号は"0" 以外の特定の値をとるので、本来正しいはずのデータに対して誤って1ビットを訂正してしまうおそれがあるという問題がある。
ここで、I/O回路10の入/出力データのビット幅よりもデータ用メモリ11のビット幅nを大きく設定している場合、あるいは、入力データの一部のビットしかデータ用メモリ11に書き込みを行わない機能(マスク機能)を有する場合を考える。この場合、電源投入後の初めて書き込みを行う際にECC コードを作成する時に、事前にデータ用メモリ11からデータを読み出し、これを参照する必要があるので、前記した誤訂正の問題を避けることが困難であり、結果として、誤ったECC コードを書き戻すことになる。
さらに、ECC 制御回路13を、ソフトエラー対策だけでなく、固定ビット不良の対策に適用しようとした場合、前記した問題は致命的となる。即ち、電源投入後に初めてデータを書き込む際に指定するアドレスのメモリ領域中に固定の単ビット不良がある場合、次にデータ読み出しを行う時には、上記不良のビットと誤訂正されたビットとの合計2ビットが不良であるとみなされるので、読み出しデータは高い確率で誤ったデータとして読み出される。
なお、特許文献1には、ECC 制御回路の機能検証を行う際、1ビット誤りを発生させたビット位置とECC 制御回路が2つのセレクタの出力から1ビット誤りを検出したビット位置を比較し、1ビット誤りを発生させる前のデータ値とECC 制御回路が1ビット誤りを訂正した後のデータ値を比較する点が示されている。
特開2000−242515号公報
上記したようにリセット機能が搭載されていない半導体記憶装置にECC 制御機能を搭載する場合に、データの初期読み出し時にデータの誤訂正が発生するという問題があった。 本発明は上記の問題点を解決すべくなされたもので、電源投入後のデータの初期読み出し時におけるECC 制御回路のシンドローム生成回路によるデータの誤訂正を防止でき、ソフトエラーに対して正しくデータを訂正し得る半導体記憶装置を提供することを目的とする。
本発明の半導体記憶装置は、指定されたアドレスにデータを格納するための複数のメモリ領域を有するデータ用メモリと、前記データ用メモリと同じアドレス空間を有し、前記データ用メモリの各メモリ領域に格納されている各データをそれぞれ訂正することが可能なエラー訂正コードを記憶するためのコード用メモリと、エラー訂正コード生成回路とシンドローム生成回路とエラー訂正コードデコード回路を有し、前記データ用メモリの任意のメモリ領域にデータ書き込みが行われる際、当該書き込み前に前記メモリ領域から読み出されたデータに対してエラー訂正コードを生成し、このエラー訂正コードを前記メモリ領域に対応するコード用メモリから読み出されたエラー訂正コードと比較してエラー判別・訂正処理を行うエラー訂正コード制御回路と、電源投入後に前記データ用メモリの各メモリ領域に対して最初にアクセスする際に、各メモリ領域毎に読み出されたデータに対する前記エラー訂正コード制御回路によるエラー訂正機能を無効にするECC 機能無効制御回路と、前記データ用メモリの各メモリ領域毎に対応してバリッドビットを記憶するために前記データ用メモリに付加され、対応する前記メモリ領域と同時にアクセスされ、電源投入後にリセット信号によってバリッドビットが無効状態に初期化される記憶セルを具備し、前記ECC 機能無効制御回路は、前記データ用メモリのメモリ領域からデータを読み出した際に前記メモリ領域に対応する前記記憶セルのデータが初期値の場合には前記シンドローム生成回路の動作を停止させる信号を出力し、前記エラー訂正コード制御回路は、電源投入後に最初に前記データ用メモリのメモリ領域からデータを読み出した時は前記メモリ領域に対応する前記記憶セルに記憶されているバリッドビットを有効状態に書き換えるように制御することを特徴とする。
本発明の半導体記憶装置によれば、電源投入後のデータの初期読み出し時におけるECC制御回路のシンドローム生成回路によるデータの誤訂正を防止でき、ソフトエラーに対して正しくデータを訂正することができる。
<第1の実施形態>
図1は、本発明の第1の実施形態に係るSRAMの一部を示している。
このSRAMは、SRAM外部との間でkビットの入力データ/出力データを授受する入出力(I/O)回路10と、指定されたアドレスにn(例えばkの整数倍)ビットのデータ幅を持つ複数のメモリ領域を有するデータ用メモリ(メインメモリ)11と、このデータ用メモリ11と同じアドレス空間を有し、データ用メモリ11の各メモリ領域に格納されている各データをそれぞれ訂正することが可能なm(<n)ビットのECC コードを記憶するためのコード用メモリ12と、これらを制御するために設けられたECC 制御回路13とを備えている。
このECC 制御回路13は、例えば図2に示すように、読み出しデータ用レジスタ23、ECC コード用レジスタ24、ECC コード生成回路25、シンドローム生成回路26、ECCデコード回路(シンドロームデコーダ)27、訂正データ用レジスタ28を有する。そして、図7を参照して前述した従来例のECC 制御回路13と同様の基本的な機能(1)、(2)を有し、さらに、(3)電源投入後における最初のデータ読み出し時にはメモリ領域から読み出されたデータに対してエラー訂正を行わないように制御することが可能になっている。
即ち、ECC 制御回路13の機能は、次の通りである。
(1)通常のデータ書き込み前の読み出し時には、データ用メモリ11のメモリ領域から読み出されたnビットのデータを読み出しデータ用レジスタ23に格納し、同時に、コード用メモリ12から読み出されたmビットのECC コードをECC コード用レジスタ24に格納する。そして、前記メモリ領域から読み出されたデータに対してECC コード生成回路25によってmビットのECC コードを生成し、このECC コードと前記コード用メモリ12から読み出されたECC コードとをシンドローム生成回路26で比較し、シンドロームと呼ばれるエラー訂正符号を作成する。ここで、上記2つのECC コードが一致する場合、シンドローム符号は"0" となり、読み出されたデータ中もしくはECC コード中の特定の1ビットが反転していた場合には、シンドローム符号が"0" 以外の特定の値をとる。
ECC デコード回路(シンドロームデコーダ)27は、シンドローム符号が"0" の場合にはデータ入力時のデータが正しく保存されていたと判別する。これに対して、シンドローム符号が"0" 以外の特定の値の場合には、シンドローム符号は反転していたビットと1対1の対応がとられているので、どのビットが正しくないかを判別することができ、訂正処理を行う。
引き続き、データ書き込み時には、I/O回路10からデータ用メモリ11に書き込まれるkビットの入力データに対してECC コード生成回路25によってECC コードを生成する。そして、このECC コードをコード用メモリ12に格納する。
(2)通常の読み出し時には、前記通常のデータ書き込み前の読み出し時と同様の動作を行う。この場合、読み出しデータ用レジスタ23に格納されたデータが、そのまま訂正データ用レジスタ28を経由して、または、訂正データ用レジスタ28で1ビット訂正されて出力データとなる。
(3)電源投入後における最初のデータ読み出し時には、データ用メモリ11のメモリ領域から読み出されたデータに対してエラー訂正を行わないように制御する。具体例としては、前記メモリ領域から読み出されたnビットのデータに対してECC コード生成回路25によってmビットのECC コードを生成するが、このECC コードと前記コード用メモリ12から読み出されたECC コードとをシンドローム生成回路26で比較しないように制御する、または、シンドローム生成回路26で比較したとしてもその結果を無効にするように制御する。
さらに、データ用メモリ11から読み出しデータ用レジスタ23に読み出されたデータに対するエラー訂正機能の有効/無効を制御する(本例ではシンドローム生成回路26の機能の有効/無効を制御する)ためのECC 機能無効制御回路14と、データ用メモリ11とコード用メモリ12における初期データの整合をとるために、データ用メモリ11の各メモリ領域毎に対応してバリッドビットを記憶するために付加された記憶セル群からなるバリッドビットアレイ11aを搭載している。
ECC 機能無効制御回路14は、(1)電源投入後にリセット信号によってバリッドビットアレイ11aの各記憶セルのバリッドビットを無効状態(本例では"1" 状態、フラグオン状態)に初期化する機能と、(2)データ用メモリ11のメモリ領域からデータを読み出した際にメモリ領域に対応するバリッドビットが初期値である場合にはシンドローム生成回路の動作を停止させる信号を出力する機能、換言すれば、電源投入後にデータ用メモリ11の各メモリ領域に対して最初にアクセスする際にECC 制御回路13のシンドローム生成回路の機能を無効にする機能と、(3)電源投入後に最初にデータ用メモリ11のメモリ領域からデータを読み出した後は、このメモリ領域に対応するバリッドビットを有効状態(本例では"0" 状態、フラグオフ状態)に書き換える機能を有する。
図3は、図1中のデータ用メモリ11に付加されたバリッドビットアレイ11aのカラムを取り出して一例を示している。
バリッドビットアレイ11aのカラムの一対のビット線BL、/BLには、ビット線プリチャージ・イコライズ回路30と、複数の記憶セル31と、初期化回路32が接続されている。各記憶セル31は、データ用メモリ11の各メモリセル(SRAMセル)と同じ構成を有し、同一行のメモリセルと共通のワード線、または、同一行のメモリセルのワード線と同じように選択駆動されるワード線WLに接続されている。
初期化回路32は、接地ノードと一方のビット線(第1のビット線)BLとの間に接続された第1のクロックド・インバータ回路IV1と、上記一対のビット線BL、/BL間に接続された第2のクロックド・インバータ回路IV2とからなり、これらの2つのクロックド・インバータ回路IV1、IV2はリセットパルス信号reset により駆動される。
また、一対のビット線BL、/BLには、初期化解除回路33が接続されている。この初期化解除回路33は、接地ノードと他方のビット線(第2のビット線)/BLとの間に接続された第3のクロックド・インバータ回路IV3と、一対のビット線BL、/BL間に接続された第4のクロックド・インバータ回路IV4と、ビット線プリチャージ信号Bprechと第2のビット線/BLの電位とリセットパルス信号reset の三入力の論理和否定をとるノア回路NORと、このノア回路NORの出力信号(ECC 機能停止信号ECC-disable )をバッアァ増幅して第3、第4のクロックド・インバータ回路IV3、IV4を駆動する二段接続されたインバータ回路IV5、IV6とからなる。
図3の構成によれば、電源投入により、例えばパワーオンリセット信号reset によって初期化解除回路33の2つのクロックド・インバータ回路IV3、IV4が駆動され、第1のビット線BLが"H" レベル、第2のビット線/BLが"L" レベルになる、つまり、バリッドビットが"1" 状態(フラグオン状態)に初期化される。
このようにリセットされた状態では、最初のデータ読み出し時にビット線プリチャージ信号Bprechが活性化すると、ノア回路NORの出力信号ECC-disable が"H" レベルになり、ECC 制御回路13のシンドローム生成回路26の動作を停止させる。
この後、ビット線プリチャージ信号が非活性化すると、ノア回路NORの出力信号ECC-disable が"L" レベルになり、ECC 制御回路13のシンドローム生成回路26の動作が可能になるとともに、初期化解除回路22の2つのクロックド・インバータ回路IV3、IV4が駆動され、第2のビット線/BLが"H" レベル、第1のビット線BLが"L" レベルになる、つまり、バリッドビットが"0" 状態になり、初期化が解除される。
次に、上記第1の実施形態に係るSRAMの動作の全体的な流れを簡単に説明する。
電源投入により、例えばパワーオンリセット信号によってバリッドビットアリイ11aのバリッドビットが"1" 状態に初期化される。
次に、データ用メモリ11の指定アドレスにデータを書き込む場合、まず、指定アドレスのメモリ領域の記憶データおよびバリッドビットが読み出され、読み出しデータ用レジスタ23に格納される。同時に、コード用メモリ12から読み出されたmビットのECC コードはECC コード用レジスタ24に格納される。
このような電源投入後の最初の読み出し時には、バリッドビットは"1" であるので、シンドローム生成回路26は機能を停止し、前記メモリ領域から読み出されたデータの訂正を行わない。
次に、指定アドレスのメモリ領域に書き込みデータが書き込まれ、書き込みデータで一部が上書きされたデータに対して作成されたECC コードがコード用メモリ12に書き込まれる。この書き込みと同時に、指定アドレスのメモリ領域に対応するバリッドビットが"0" に書き換えられる。
2回目以降の読み出し時には、バリッドデータは"0" になっているので、シンドローム生成回路26は通常の動作を行い、指定アドレスのメモリ領域の記憶データに対応したECC コードを用いて読み出しデータを正しく訂正する。
上記した第1の実施形態のSRAMによれば、データの初期読み出し時に、読み出しデータ用メモリ11の記憶データとコード用メモリ12のECC コードが対応していないことに起因するシンドローム生成回路26によるデータの誤訂正が起こらなくなる。
これにより、特にソフトエラーについて正しくデータを訂正することができるようになる。さらに、ECC 機能を用いて、プロセス起因の固定単ビット不良の訂正も正しく行うことができるようになる。
また、電源投入時に発生するパワーオンリセット信号によってバリッドビットアレイ11aのバリッドビットが初期化される場合には、電源投入後から最初に読み出しデータ用メモリ11にアクセスすることが可能になるまでの時間が短いという利点がある。
<第1の実施形態の変形例>
第1の実施形態では、バリッドビットアレイ11aを読み出しデータ用メモリ11に付加したが、これに限らず、図4に示すように、バリッドビットアレイ11aと同様のバリッドビット記憶回路群(例えばフリップフロップ回路群)11bを、読み出しデータ用メモリ11とは独立に配設するように変更してもよい。なお、図4において、図1中と同一部分には同一符号を付している。
このような変形例において、ECC 機能無効制御回路14は、読み出しデータ用メモリ11のメモリ領域とそれに対応するバリッドビット記憶回路を同時にアクセスし、電源投入後にリセット信号reset によってバリッドビットを初期化する。そして、読み出しデータ用メモリ11のメモリ領域からデータを読み出した際にメモリ領域に対応するバリッドビットが初期値の場合にはECC 制御回路13内のシンドローム生成回路(図2中26)の動作を停止させる信号を出力する。また、電源投入後に最初に読み出しデータ用メモリ11のメモリ領域からデータを読み出した時はメモリ領域に対応するバリッドビットを有効状態に書き換えるように制御する。
したがって、電源投入後に読み出しデータ用メモリ11の各メモリ領域に対して最初にアクセスする場合には、各メモリ領域毎に読み出したデータに対するエラー訂正機能を無効にすることが可能になり、第1の実施形態と同様の効果が得られる。
<第2の実施形態>
図5は、本発明の第2の実施形態に係るSRAMの一部を示している。
このSRAMは、図1に示したSRAMと同様のI/O回路10、読み出しデータ用メモリ11、コード用メモリ12、ECC 制御回路13のほかに、組み込み自己テスト(Bild In Self Test;BIST)回路50が搭載されている。
このBIST回路50は、通常のBIST機能のほかに読み出しデータ用メモリ初期化機能およびECC 機能無効制御機能を有しており、ECC 機能無効制御機能を実現するために、ECC 制御回路13のシンドローム生成回路26とECC デコード回路27に接続されている。
即ち、BIST回路50は、電源投入直後に、読み出しデータ用メモリ11の各メモリ領域に対応するアドレスと初期データおよびそのコードデータを自動で生成し、それらがECC制御回路13によって読み出しデータ用メモリ11およびコード用メモリ12に書き込まれる際にシンドローム生成回路26の機能を停止させる信号を出力する。
このように読み出しデータ用メモリ初期化機能およびECC 機能無効制御機能を有するBIST回路50を用いた場合にも、電源投入後に読み出しデータ用メモリ11の各メモリ領域に対して最初にアクセスする場合には、読み出したデータに対するエラー訂正機能を無効にすることが可能になり、第1の実施形態と同様の効果が得られる。
また、第1の実施形態のようなバリッドビットアレイ11aあるいはバリッドビット記憶回路群11bを追加する場合に比べて、半導体メモリに搭載される既存のBIST回路にECC 機能無効制御機能を付加することは回路規模が小さくて済む。
<第2の実施形態の変形例>
第2の実施形態におけるBIST回路50を、初期メモリテスト機能(例として、マーチテスト、つまり、書き込みおよび読み出しの連続動作)を有するBIST回路に変更してもよい。このような初期メモリテスト機能を有するBIST回路は、電源投入直後に、予め用意したテストパターンデータをECC 制御回路13によって読み出しデータ用メモリ11の各メモリ領域に書き込む。この際、シンドローム生成回路26の機能を停止させる信号を出力し、ECC コード生成回路25にテストパターンデータを通してECC コードを生成し、これをコード用メモリ12に書き込む。
このように初期メモリテスト機能を有するBIST回路を搭載した場合にも、電源投入後に読み出しデータ用メモリ11の各メモリ領域に対して最初にアクセスする場合には、各メモリ領域毎に読み出したデータに対するECC 制御回路13によるエラー訂正機能を無効にすることが可能になり、第2の実施形態と同様の効果が得られる。
本発明の第1の実施形態に係るSRAMの一部を示すブロック図。 図1中のECC 制御回路の一例を示すブロック図。 図1中のデータ用メモリに付加されたバリッドビットアレイのカラムを取り出して一例を示す回路図。 第1の実施形態に係るSRAMの変形例の一部を示すブロック図。 本発明の第2の実施形態に係るSRAMの一部を示すブロック図。 従来の誤り訂正機能を有するDRAMの一部を示すブロック図。 図6中のECC 制御回路の従来例を示すブロック図。
符号の説明
10…I/O回路、11…データ用メモリ(メインメモリ)、12…コード用メモリ、13…ECC 制御回路、14…ECC 機能無効制御回路、23…読み出しデータ用レジスタ、24…ECC コード用レジスタ、25…ECC コード生成回路、26…シンドローム生成回路、27…ECC デコード回路(シンドロームデコーダ)、28…訂正データ用レジスタ。

Claims (4)

  1. 指定されたアドレスにデータを格納するための複数のメモリ領域を有するデータ用メモリと、
    前記データ用メモリと同じアドレス空間を有し、前記データ用メモリの各メモリ領域に格納されている各データをそれぞれ訂正することが可能なエラー訂正コードを記憶するためのコード用メモリと、
    エラー訂正コード生成回路とシンドローム生成回路とエラー訂正コードデコード回路を有し、前記データ用メモリの任意のメモリ領域にデータ書き込みが行われる際、当該書き込み前に前記メモリ領域から読み出されたデータに対してエラー訂正コードを生成し、このエラー訂正コードを前記メモリ領域に対応するコード用メモリから読み出されたエラー訂正コードと比較してエラー判別・訂正処理を行うエラー訂正コード制御回路と、
    電源投入後に前記データ用メモリの各メモリ領域に対して最初にアクセスする際に、各メモリ領域毎に読み出されたデータに対する前記エラー訂正コード制御回路によるエラー訂正機能を無効にするECC 機能無効制御回路と、
    前記データ用メモリの各メモリ領域毎に対応してバリッドビットを記憶するために前記データ用メモリに付加され、対応する前記メモリ領域と同時にアクセスされ、電源投入後にリセット信号によってバリッドビットが無効状態に初期化される記憶セルを具備し、
    前記ECC 機能無効制御回路は、前記データ用メモリのメモリ領域からデータを読み出した際に前記メモリ領域に対応する前記記憶セルのデータが初期値の場合には前記シンドローム生成回路の動作を停止させる信号を出力し、
    前記エラー訂正コード制御回路は、電源投入後に最初に前記データ用メモリのメモリ領域からデータを読み出した時は前記メモリ領域に対応する前記記憶セルに記憶されているバリッドビットを有効状態に書き換えるように制御することを特徴とする半導体記憶装置。
  2. 前記記憶セルは、前記データ用メモリの対応するメモリ領域のメモリセルと共通に接続されているワード線により選択制御されることを特徴とする請求項記載の半導体記憶装置。
  3. 指定されたアドレスにデータを格納するための複数のメモリ領域を有するデータ用メモリと、
    前記データ用メモリと同じアドレス空間を有し、前記データ用メモリの各メモリ領域に格納されている各データをそれぞれ訂正することが可能なエラー訂正コードを記憶するためのコード用メモリと、
    エラー訂正コード生成回路とシンドローム生成回路とエラー訂正コードデコード回路を有し、前記データ用メモリの任意のメモリ領域にデータ書き込みが行われる際、当該書き込み前に前記メモリ領域から読み出されたデータに対してエラー訂正コードを生成し、このエラー訂正コードを前記メモリ領域に対応するコード用メモリから読み出されたエラー訂正コードと比較してエラー判別・訂正処理を行うエラー訂正コード制御回路と、
    電源投入後に前記データ用メモリの各メモリ領域に対して最初にアクセスする際に、各メモリ領域毎に読み出されたデータに対する前記エラー訂正コード制御回路によるエラー訂正機能を無効にするECC 機能無効制御回路と、
    前記データ用メモリの各メモリ領域毎に対応してバリッドビットを記憶するために前記データ用メモリとは独立に配設され、対応する前記メモリ領域と同時にアクセスされ、電源投入後にリセット信号によって前記バリッドビットが初期化される記憶回路を具備し、
    前記ECC 機能無効制御回路は、前記データ用メモリのメモリ領域からデータを読み出した際に前記メモリ領域に対応する前記記憶回路のデータが初期値の場合には前記シンドローム生成回路の動作を停止させる信号を出力し、
    前記エラー訂正コード制御回路は、電源投入後に最初に前記データ用メモリのメモリ領域からデータを読み出した時は前記メモリ領域に対応する前記記憶回路に記憶されているバリッドビットを有効状態に書き換えるように制御することを特徴とする半導体記憶装置。
  4. 指定されたアドレスにデータを格納するための複数のメモリ領域を有するデータ用メモリと、
    前記データ用メモリと同じアドレス空間を有し、前記データ用メモリの各メモリ領域に格納されている各データをそれぞれ訂正することが可能なエラー訂正コードを記憶するためのコード用メモリと、
    エラー訂正コード生成回路とシンドローム生成回路とエラー訂正コードデコード回路を有し、前記データ用メモリの任意のメモリ領域にデータ書き込みが行われる際、当該書き込み前に前記メモリ領域から読み出されたデータに対してエラー訂正コードを生成し、このエラー訂正コードを前記メモリ領域に対応するコード用メモリから読み出されたエラー訂正コードと比較してエラー判別・訂正処理を行うエラー訂正コード制御回路と、
    電源投入後に前記データ用メモリの各メモリ領域に対して最初にアクセスする際に、各メモリ領域毎に読み出されたデータに対する前記エラー訂正コード制御回路によるエラー訂正機能を無効にするECC 機能無効制御回路を具備し、
    前記ECC 機能無効制御回路は、電源投入直後に、前記データ用メモリの各メモリ領域に対応するアドレスと初期データおよびそのコードデータを自動で生成し、各初期データおよびそのコードデータが対応する前記データ用メモリの各メモリ領域および前記コード用メモリに前記エラー訂正コード制御回路によって書き込まれる際に前記エラー訂正コード制御回路の機能を停止させる信号を出力することを特徴とする半導体記憶装置。
JP2003291491A 2003-08-11 2003-08-11 半導体記憶装置 Expired - Fee Related JP3892832B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003291491A JP3892832B2 (ja) 2003-08-11 2003-08-11 半導体記憶装置
US10/734,303 US7200780B2 (en) 2003-08-11 2003-12-15 Semiconductor memory including error correction function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003291491A JP3892832B2 (ja) 2003-08-11 2003-08-11 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2005063547A JP2005063547A (ja) 2005-03-10
JP3892832B2 true JP3892832B2 (ja) 2007-03-14

Family

ID=34131656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003291491A Expired - Fee Related JP3892832B2 (ja) 2003-08-11 2003-08-11 半導体記憶装置

Country Status (2)

Country Link
US (1) US7200780B2 (ja)
JP (1) JP3892832B2 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4102313B2 (ja) * 2004-02-05 2008-06-18 株式会社東芝 半導体集積回路装置
JP2007066423A (ja) * 2005-08-31 2007-03-15 Toshiba Corp 半導体集積回路装置
JP2007133986A (ja) * 2005-11-11 2007-05-31 Nec Electronics Corp 半導体記憶装置
JP4852315B2 (ja) * 2006-02-03 2012-01-11 株式会社日立製作所 データ信頼性向上方法及びその方法を用いた情報処理装置
US20080263400A1 (en) * 2007-04-23 2008-10-23 Microsoft Corporation Fault insertion system
US8041990B2 (en) * 2007-06-28 2011-10-18 International Business Machines Corporation System and method for error correction and detection in a memory system
US8041989B2 (en) * 2007-06-28 2011-10-18 International Business Machines Corporation System and method for providing a high fault tolerant memory system
JP5042766B2 (ja) * 2007-10-03 2012-10-03 日立オートモティブシステムズ株式会社 制御装置、および制御装置のメモリ初期化方法
JP5399403B2 (ja) * 2007-10-31 2014-01-29 アギア システムズ インコーポレーテッド マルチレベルフラッシュメモリの系統誤差訂正
US8379466B2 (en) * 2009-03-31 2013-02-19 Freescale Semiconductor, Inc. Integrated circuit having an embedded memory and method for testing the memory
US8315117B2 (en) * 2009-03-31 2012-11-20 Freescale Semiconductor, Inc. Integrated circuit memory having assisted access and method therefor
US8634263B2 (en) * 2009-04-30 2014-01-21 Freescale Semiconductor, Inc. Integrated circuit having memory repair information storage and method therefor
JP5284905B2 (ja) 2009-08-12 2013-09-11 富士通株式会社 データ移行方法、及びプログラム
JP5600963B2 (ja) * 2010-02-22 2014-10-08 富士通株式会社 不揮発性記憶装置、及びデータ初期化方法
US8631271B2 (en) 2010-06-24 2014-01-14 International Business Machines Corporation Heterogeneous recovery in a redundant memory system
US8898511B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Homogeneous recovery in a redundant memory system
US8484529B2 (en) 2010-06-24 2013-07-09 International Business Machines Corporation Error correction and detection in a redundant memory system
US8549378B2 (en) 2010-06-24 2013-10-01 International Business Machines Corporation RAIM system using decoding of virtual ECC
US8522122B2 (en) 2011-01-29 2013-08-27 International Business Machines Corporation Correcting memory device and memory channel failures in the presence of known memory device failures
CN103365737B (zh) * 2012-04-06 2016-09-14 国民技术股份有限公司 数据读写方法、读写装置及数据存储***
US8890083B2 (en) * 2012-05-23 2014-11-18 International Business Machines Corporation Soft error detection
KR20130136341A (ko) * 2012-06-04 2013-12-12 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US9224503B2 (en) 2012-11-21 2015-12-29 International Business Machines Corporation Memory test with in-line error correction code logic
KR102024033B1 (ko) * 2013-03-04 2019-09-24 삼성전자주식회사 이동 통신 시스템에서 메모리 제어 방법 및 장치
JP6318769B2 (ja) * 2014-03-28 2018-05-09 富士通株式会社 ストレージ制御装置、制御プログラム、および制御方法
US9530523B2 (en) * 2014-06-25 2016-12-27 Intel Corporation Thermal disturb as heater in cross-point memory
CN105469822B (zh) * 2014-09-12 2019-10-18 华邦电子股份有限公司 半导体存储器装置、半导体***以及读取方法
US9800271B2 (en) * 2015-09-14 2017-10-24 Qualcomm Incorporated Error correction and decoding
KR20170060263A (ko) 2015-11-24 2017-06-01 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
KR102446677B1 (ko) * 2015-11-26 2022-09-23 삼성전자주식회사 스토리지 컨트롤러의 동작 방법 및 상기 스토리지 컨트롤러를 포함하는 데이터 저장 장치의 동작 방법
US10108512B2 (en) * 2016-04-01 2018-10-23 Intel Corporation Validation of memory on-die error correction code
CN107870838A (zh) * 2017-11-17 2018-04-03 郑州云海信息技术有限公司 一种linux下多pattern内存诊断测试的方法
US10719387B2 (en) * 2018-04-25 2020-07-21 Oracle International Corporation Memory interface with tamper-evident features to enhance software security
US10956262B2 (en) * 2019-03-14 2021-03-23 Micron Technology, Inc. Deferred error code correction with improved effective data bandwidth performance
KR20210157830A (ko) * 2020-06-22 2021-12-29 에스케이하이닉스 주식회사 메모리 및 메모리의 동작 방법
KR20220168737A (ko) * 2021-06-17 2022-12-26 삼성전자주식회사 반도체 메모리 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63167500A (ja) 1986-12-27 1988-07-11 Mitsubishi Electric Corp 半導体記憶装置
US6119248A (en) * 1998-01-26 2000-09-12 Dell Usa L.P. Operating system notification of correctable error in computer information
US6216247B1 (en) * 1998-05-29 2001-04-10 Intel Corporation 32-bit mode for a 64-bit ECC capable memory subsystem
JP2000242515A (ja) 1999-02-19 2000-09-08 Nec Eng Ltd Ecc機能検証回路及びecc機能検証方法

Also Published As

Publication number Publication date
JP2005063547A (ja) 2005-03-10
US20050036371A1 (en) 2005-02-17
US7200780B2 (en) 2007-04-03

Similar Documents

Publication Publication Date Title
JP3892832B2 (ja) 半導体記憶装置
US7392456B2 (en) Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
KR101750662B1 (ko) 데이터 에러 교정용 회로, 장치, 및 방법
US7299400B2 (en) Error correction circuit
US6957378B2 (en) Semiconductor memory device
KR101860809B1 (ko) 메모리 시스템 및 메모리 에러 정정 방법
US9396817B2 (en) Self-repairing memory and method of use
US20060136800A1 (en) Memory system and semiconductor memory device
US7385849B2 (en) Semiconductor integrated circuit device
JP3184738B2 (ja) エラー訂正可能なメモリ・デバイス
US7949933B2 (en) Semiconductor integrated circuit device
US11748007B2 (en) Memory, memory system, and operation method of memory system
JP2007080343A (ja) 半導体記憶装置
JP2008021390A (ja) 半導体記憶装置
JP4050091B2 (ja) 半導体メモリ装置
US6967882B1 (en) Semiconductor memory including static memory
KR102024033B1 (ko) 이동 통신 시스템에서 메모리 제어 방법 및 장치
JP2003059290A5 (ja)
JP2005050442A (ja) 冗長メモリ回路
US11698835B2 (en) Memory and operation method of memory
JP2005293728A (ja) 半導体記憶装置
JP2006073108A (ja) 半導体集積回路
JP2012230730A (ja) 半導体装置
JP2009158051A (ja) 不揮発性半導体記憶装置及び読み出しテスト方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061030

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091215

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101215

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111215

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121215

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121215

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131215

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees