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

半導体記憶装置 Download PDF

Info

Publication number
JP2007080343A
JP2007080343A JP2005265342A JP2005265342A JP2007080343A JP 2007080343 A JP2007080343 A JP 2007080343A JP 2005265342 A JP2005265342 A JP 2005265342A JP 2005265342 A JP2005265342 A JP 2005265342A JP 2007080343 A JP2007080343 A JP 2007080343A
Authority
JP
Japan
Prior art keywords
data
parity
signal
circuit
read
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
JP2005265342A
Other languages
English (en)
Other versions
JP4864395B2 (ja
Inventor
Katsuhiko Hotani
克彦 穂谷
Shinichiro Shiratake
慎一郎 白武
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 JP2005265342A priority Critical patent/JP4864395B2/ja
Priority to US11/397,572 priority patent/US7765455B2/en
Publication of JP2007080343A publication Critical patent/JP2007080343A/ja
Application granted granted Critical
Publication of JP4864395B2 publication Critical patent/JP4864395B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • 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/1032Simple parity
    • 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
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • 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/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Error Detection And Correction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】誤り訂正機能を有する半導体記憶装置において、書き込み動作を高速化する。
【解決手段】半導体記憶装置は、第1のデータ数を有するデータ単位でエラー検査のためのパリティ信号を生成するパリティ生成回路17と、メモリセルアレイ11と、メモリセルアレイ11から読み出された読み出しパリティ信号と、この読み出しパリティ信号に対応しかつメモリセルアレイ11から読み出されかつ第1のデータ数を有する読み出しデータとに基づいて、読み出しデータのエラーを訂正するためのシンドローム信号を生成するシンドローム生成回路15と、シンドローム信号に基づいて、パリティ信号を訂正するパリティ訂正回路18とを具備し、パリティ生成回路18は、第1のデータ数より小さい第2のデータ数を有する入力データと読み出しデータの一部とを含むデータに対してパリティ信号を生成する。
【選択図】 図1

Description

本発明は、半導体記憶装置に係り、特に誤り訂正機能を有する半導体記憶装置に関する。
従来、半導体記憶装置としては、ECC(Error Checking and Correcting)回路を備えたものが知られている。ECC回路は、メモリセルアレイから読み出された複数のデータの中に誤りデータが存在するか否かを検査(check)し、もし誤りデータが存在すれば、その誤りデータを正しいデータに訂正(correct)する機能を持つ回路である。半導体記憶装置がECC回路を搭載することで、ある確率で誤りデータが読み出されてしまう場合に、その誤りデータを訂正して出力できるため、メモリの信頼性を向上させることができる。
ECC回路が誤りデータを訂正するためには、例えばパリティ信号が必要であり、このパリティ信号をデータとは別にメモリセルアレイ内に記憶しておく。ECC回路は、パリティ信号とデータとを用いて演算することで、データ内の誤りデータを検出および訂正する。
ところで、1ビットのパリティ信号に対応するデータ数が多いほど、パリティ信号のデータ数を抑えることができる。このため、メモリへの入力データあるいはメモリからの出力データよりも多くのデータが読み出され、読み出されたデータがECC回路により検査および訂正され、訂正されたデータの一部が出力される。
具体的には、データの読み出し動作では、パリティ信号および読み出しデータを用いてシンドローム信号を生成する。そして、シンドローム信号を用いて読み出しデータ中の誤りの有無を検査し、誤りがあった場合、データ訂正が行われ、訂正されたデータの一部が出力される。
一方、データの書き込み動作では、まず、データを書き込む前に読み出し動作が行われる。パリティ信号に対応するデータ数が入力データよりも多い場合、読み出しデータの一部を入力データに付加し、この付加された書き込みデータに対してパリティ信号を生成する。そして、訂正された読み出しデータの一部、入力データおよびパリティ信号がメモリセルアレイに記憶される。
ここで、読み出し動作と書き込み動作とを比べると、書き込み動作はデータ訂正後に、パリティ信号を再度生成する必要があるため、ECC演算時間は読み出し時に比べて書き込み時の方が長くなる。このため、書き込み時のECC演算がサイクルタイムに大きく影響し、サイクルタイムが長くなってしまうという問題が生じる。
また、この種の関連技術として、データの誤り検出の精度を向上する技術が開示されている(特許文献1参照)。
特開平11−16389号公報
本発明は、誤り訂正機能を有する半導体記憶装置において、書き込み動作を高速化することが可能な半導体記憶装置を提供する。
本発明の一視点に係る半導体記憶装置は、第1のデータ数を有するデータ単位でエラー検査のためのパリティ信号を生成するパリティ生成回路と、複数のメモリセルを含み、かつデータを記憶する第1の領域とパリティ信号を記憶する第2の領域とを含むメモリセルアレイと、前記メモリセルアレイから読み出された読み出しパリティ信号と、この読み出しパリティ信号に対応しかつ前記メモリセルアレイから読み出されかつ第1のデータ数を有する読み出しデータとに基づいて、前記読み出しデータのエラーを訂正するためのシンドローム信号を生成するシンドローム生成回路と、前記シンドローム信号に基づいて、前記パリティ信号を訂正するパリティ訂正回路とを具備し、前記パリティ生成回路は、前記第1のデータ数より小さい第2のデータ数を有する入力データと前記読み出しデータの一部とを含むデータに対してパリティ信号を生成する。
本発明によれば、誤り訂正機能を有する半導体記憶装置において、書き込み動作を高速化することが可能な半導体記憶装置を提供することができる。
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の説明において、同一の機能および構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る半導体記憶装置の構成を示すブロック図である。半導体記憶装置は、メモリセルアレイ11、センスアンプ回路12、アドレス制御回路13およびデータ制御回路14を備えている。
メモリセルアレイ11は、複数のメモリセルMCが行列状に配置されて構成されている。メモリセルアレイ11には、ロウ方向に延びた複数のワード線WLが配設されている。また、メモリセルアレイ11には、カラム方向に延びた複数のビット線対BL,/BLが配設されている。
複数のワード線WLには、ロウデコーダ(図示せず)が接続されている。メモリセルアレイ11の行の選択は、ワード線WLにより行われる。複数のビット線対BL,/BLには、カラムデコーダ(図示せず)が接続されている。メモリセルアレイの列の選択は、ビット線対BL,/BLにより行われる。
また、メモリセルアレイ11は、例えば外部回路から入力された入力データDIを記憶するための第1の領域と、後述するパリティ信号Pを記憶するための第2の領域とを備えている。センスアンプ回路12は、メモリセルアレイ11の第1領域から読み出されたデータを検知増幅し、この検知したデータを読み出しデータRDとして出力する。また、センスアンプ回路12は、メモリセルアレイ11の第2領域から読み出されたデータを検知増幅し、この検知したデータを読み出しパリティ信号RPとして出力する。
なお、メモリセルアレイ11については特に限定されず、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、あるいは不揮発性メモリ等であってもよい。不揮発性メモリとしては、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetic Random Access Memory)、あるいはフラッシュメモリ等があげられる。以下に、メモリセルMCの一例としてFeRAMセルの構成について説明する。図2は、FeRAMセルの構成を示す回路図である。
メモリセルMCは、トランジスタTと強誘電体キャパシタCとから構成されている。トランジスタTのゲート電極は、ワード線WLに接続されている。トランジスタTのソース(あるいは、ドレイン)は、ビット線BLに接続されている。トランジスタTのドレイン(あるいは、ソース)は、強誘電体キャパシタCの一方の電極に接続されている。強誘電体キャパシタCの他方の電極は、プレート線PLに接続されている。すなわち、トランジスタTと強誘電体キャパシタCとは、直列に接続されている。上記メモリセルMCが複数個配置されてメモリセルアレイ11が構成される。
半導体記憶装置には、例えば外部回路からアドレス信号AD、ライトイネーブル信号WEおよび例えば16ビットの入力データDI0〜DI15が入力される。ライトイネーブル信号WEは、半導体記憶装置にデータの書き込み、あるいは半導体記憶装置からデータの読み出しを可能にするための信号である。例えば、ライトイネーブル信号WEがローレベルの場合、半導体記憶装置にデータが書き込まれる。一方、ライトイネーブル信号WEがハイレベルの場合、半導体記憶装置からデータが読み出される。
アドレス信号ADおよびライトイネーブル信号WEは、アドレス制御回路13に入力される。アドレス制御回路13は、アドレス信号ADをデコードしてロウアドレス信号およびカラムアドレス信号をメモリセルアレイ11(具体的には、ロウデコーダおよびカラムデコーダ)に供給する。
入力データDI0〜DI15は、データ制御回路14に入力される。データ制御回路14は、入力データDI0〜DI15にメモリセルアレイ11から読み出された読み出しデータRDの一部が付加された64ビットの書き込みデータWD0〜WD63をメモリセルアレイ11に書き込むための制御を実行する。
半導体記憶装置は、シンドローム生成回路15、読み出しデータ訂正回路16、パリティ生成回路17、パリティ訂正回路18およびエラー検出回路19を備えている。
パリティ生成回路17は、ハミング符号(hamming code)を用いて、例えば7ビットのパリティ信号P0〜P6を生成する。また、パリティ生成回路17は、このパリティ信号P0〜P6を例えば64ビットのデータ単位で生成する。
ここで、パリティ生成回路17は、入力データDI0〜DI15よりも多いデータ単位でパリティ信号P0〜P6を生成している。このように、1ビットのパリティ信号に対応するデータ数を多くすることで、パリティ信号のデータ数を抑えることができる。この結果、パリティ信号を記憶するためのメモリセルアレイ11の第2の領域の記憶容量を低減することができる。
シンドローム生成回路15は、エラー訂正のためのシンドローム信号を生成する。すなわち、シンドローム生成回路15は、メモリセルアレイ11から読み出された64ビットの読み出しデータRD0〜RD63と、この読み出しデータRD0〜RD63に対応するパリティ信号P0〜P6とに基づいて、ハミング符号を用いて7ビットのシンドローム信号Sy0〜Sy6を生成する。また、シンドローム生成回路15は、シンドローム信号Sy0〜Sy6の反転信号である反転シンドローム信号SyB0〜SyB6を生成する。
図3は、パリティ生成回路17およびシンドローム生成回路15に用いられるハミング符号を示す図である。ハミング符号は、シンドローム信号Sy0〜Sy6のビット数に対応する7の行と、パリティ信号P0〜P6および読み出しデータRD0〜RD63に対応する71の列とから構成されている。図3に示した“パリティ信号P”に含まれる7の列の数字0〜6はそれぞれ、パリティ信号P0〜P6のビット番号に対応している。また、図3に示した“データ”に含まれる64の列の数字0〜63はそれぞれ、読み出しデータRD0〜RD63のビット番号に対応している。
なお、パリティ信号P0〜P6のそれぞれが対応する列は、任意に設定することが可能である。同様に、読み出しデータRD0〜RD63のそれぞれが対応する列は、任意に設定することが可能である。
エラー検出回路19は、読み出しデータRD0〜RD63のエラー検出処理を実行する。すなわち、エラー検出回路19は、シンドローム信号Sy0〜Sy6および反転シンドローム信号SyB0〜SyB6を用いて、読み出しデータRD0〜RD63のうちどのビットにエラーが存在するのかを検出する。
パリティ訂正回路18は、エラー検出回路19から供給されるエラー検出信号DEに基づいて、パリティ生成回路17により生成されたパリティ信号を訂正する。
読み出しデータ訂正回路16は、シンドローム生成回路15により生成されたシンドローム信号Sy0〜Sy6に基づいて、読み出しデータRD0〜RD63のエラーを訂正する。
次に、このように構成された半導体記憶装置のデータ書き込み動作について説明する。半導体記憶装置は、7ビットのパリティ信号P0〜P6に対応する64ビットのデータ単位でデータ書き込み動作を実行する。なお、予め、データおよびパリティ信号は、メモリセルアレイ11に記憶されているものとする。
先ず、半導体記憶装置には、外部回路からアドレス信号AD、ローレベルのライトイネーブル信号WEおよび入力データDI0〜DI15が入力される。すると、データ制御回路14は、入力データDI0〜DI15のアドレス信号に対応する7ビットの読み出しパリティ信号RP0〜RP6をメモリセルアレイ11の第2領域から読み出す処理を実行する。また、データ制御回路14は、パリティ信号P0〜P6に対応する64ビットの読み出しデータRD0〜RD63をメモリセルアレイ11の第1領域から読み出す処理を実行する。
メモリセルアレイ11の第2領域から読み出された読み出しパリティ信号RP0〜RP6は、シンドローム生成回路15に入力される。メモリセルアレイ11の第1領域から読み出された読み出しデータRD0〜RD63は、シンドローム生成回路15、読み出しデータ訂正回路16およびパリティ生成回路17に入力される。
次に、シンドローム生成回路15は、シンドローム生成処理を実行する。すなわち、シンドローム生成回路15は、図3に示したハミング符号を用いて、7ビットのシンドローム信号Sy0〜Sy6および反転シンドローム信号SyB0〜SyB6を生成する。シンドローム信号Sy0〜Sy6および反転シンドローム信号SyB0〜SyB6は、読み出しデータ訂正回路16およびエラー検出回路19に入力される。
読み出しデータ訂正回路16は、シンドローム信号Sy0〜Sy6を用いて、読み出しデータRD0〜RD63のエラーを訂正して、訂正出力データDO0〜DO63を生成する。この訂正された64ビットの訂正出力データDO0〜DO63は、データ制御回路14に入力される。
ところで、パリティ生成回路17は、シンドローム生成回路15によるシンドローム生成処理に並行して(あるいは、同時に)、パリティ生成処理を実行する。すなわち、パリティ生成回路17は、入力データDI0〜DI15と、エラー訂正がされていない読み出しデータRD0〜RD63の一部(入力データDI0〜DI15のアドレス以外のアドレスに対応する48ビットの読み出しデータRD)とから構成されるデータに対して、ハミング符号を用いてパリティ信号P0〜P6を生成する。このパリティ信号P0〜P6は、パリティ訂正回路18に入力される。
また、エラー検出回路19は、シンドローム生成処理に並行して、エラー検出処理を実行する。具体的には、エラー検出回路19は、シンドローム信号Sy0〜Sy6および反転シンドローム信号SyB0〜SyB6を用いて、読み出しデータRD0〜RD63のうちどのビットにエラーが存在するのかを検出して、この検出結果であるエラー検出信号DEを生成する。
以下に、一例として、パリティ信号P0〜P6と読み出しデータRD0〜RD63とから構成される71ビットのデータのうちデータ0(読み出しデータRD0に対応する)のエラーを検出する動作について説明する。
図4は、エラー検出回路19に含まれるデータ0のエラーを検出するための検出回路19−1を示す回路図である。検出回路19−1は、3つのNAND回路21〜23と、NOR回路24とを備えている。NAND回路21には、シンドローム信号Sy0,Sy1が入力される。NAND回路22には、反転シンドローム信号SyB2,SyB3,SyB4が入力される。NAND回路23には、反転シンドローム信号SyB5,SyB6が入力される。
3つのNAND回路21〜23の出力のそれぞれは、NOR回路24に入力される。このNOR回路24の出力であるエラー検出信号DE0が“1”データの場合、データ0はエラーであると判定される。これは、シンドローム信号Sy0〜Sy6が、ハミング符号のデータ0に対応する列のデータと同じになっているからである。一方、エラー検出信号DE0が“0”データの場合、データ0はエラーでないと判定される。このエラー検出信号DEは、パリティ訂正回路18に入力される。
パリティ訂正回路18は、エラー検出信号DEに基づいて、パリティ生成回路17から供給された7ビットのパリティ信号P0〜P6のうちどのパリティ信号に対応する読み出しデータRDにエラーが存在したかを判定する。そして、パリティ訂正回路18は、7ビットのパリティ信号P0〜P6のうちエラーが存在した読み出しデータRDに対応したパリティ信号を訂正して、この訂正結果である訂正パリティ信号CP0〜CP6を生成する。この訂正パリティ信号CP0〜CP6は、メモリセルアレイ11の第2領域に記憶される。
また、データ制御回路14は、入力データDI0〜DI15と訂正出力データDO0〜DO63の一部(入力データDI0〜DI15のアドレス以外のアドレスに対応する48ビットの訂正出力データDO)とから構成される64ビットの書き込みデータWD0〜WD63を、メモリセルアレイ11の第1領域に書き込む。
以上詳述したように本実施形態によれば、データ書き込み動作時に、シンドローム生成処理(すなわち、シンドローム演算)とパリティ生成処理(すなわち、パリティ演算)とを並行して行うようにしているため、データ書き込み動作を高速化することができる。この結果、サイクルタイムを短縮させることができる。
また、所定のデータ数を有するパリティ信号に対して入力データよりも多くのデータ数を割り当てている。よって、パリティ信号を記憶する領域を低減することができ、ひいてはメモリセルアレイの記憶容量を低減させることができる。
(第2の実施形態)
第2の実施形態は、エラー検出処理を高速に行うようにしたものである。
図5は、本発明の第2の実施形態に係る半導体記憶装置の構成を示すブロック図である。ここで、本実施形態では、パリティ生成回路17およびシンドローム生成回路15はそれぞれ、第1の実施形態と異なる検査符号を用いて、8ビットのパリティ信号P0〜P7および8ビットのシンドローム信号Sy0〜Sy7を生成している。
図6は、パリティ生成回路17およびシンドローム生成回路15に用いられる検査符号を示す図である。なお、図6には、検査符号の特徴の理解を容易にするために、符号“1”のみを記載している。すなわち、実際には、符号“1”以外の位置には符号“0”が記載されるが、図6ではこの符号“0”の記載を省略している。
検査符号(あるいは、検査行列ともいう)は、シンドローム信号Sy0〜Sy7のビット数に対応する8の行と、パリティ信号P0〜P7および読み出しデータRD0〜RD63に対応する72の列とから構成されている。図3に示した“パリティ信号P”に含まれる8の列の数字0〜7はそれぞれ、パリティ信号P0〜P7のビット番号に対応している。また、図3に示した“データ”に含まれる64の列の数字0〜63はそれぞれ、読み出しデータRD0〜RD63のビット番号に対応している。
ここで、8ビットのパリティ信号P0〜P7に対応する64ビットのデータは、8つのデータブロックBLK0〜BLK7から構成されている。各データブロックBLKは、8ビットのデータから構成されている。データブロックBLK0はデータ0〜7、データブロックBLK1はデータ8〜15、データブロックBLK2はデータ16〜23、データブロックBLK3はデータ24〜31、データブロックBLK4はデータ32〜39、データブロックBLK5はデータ40〜47、データブロックBLK6はデータ48〜55、データブロックBLK7はデータ56〜63から構成されている。
そして、下位4ビットの検査符号(シンドローム信号Sy0〜Sy3に対応する)の符号“1”は、8ビット周期で変化している。ここで、8ビット周期にしている理由は、以下のようである。
本実施形態では、半導体記憶装置の入出力数(I/O)は“16”である。また、最小の書き込みデータ数は“8”である。すなわち、半導体記憶装置は、8ビットの入力データDI0〜DI7を書き込むことも可能であるし、16ビットの入力データDI0〜DI15を書き込むことも可能であるし、あるいは16ビットの入力データDI0〜DI15のうち上位バイト(8ビットの入力データDI8〜DI15)と下位バイト(8ビットの入力データDI0〜DI7)とを分けて書き込むことも可能である。データ部分の下位4ビットの検査符号の符号“1”の周期は、最小の書き込みデータ数“8”と同じ8ビット単位で変化している。
このように、図6に示した検査コードは、下位4ビットが8ビット周期になっているため、8ビット単位で誤りビットが存在するか否かを検出するのに有効である。すなわち、データブロック中に誤りビットがあるかどうかを判定するには、4ビットの信号(シンドローム信号Sy0〜Sy3)のみで行うことができる。
アドレス制御回路13は、ブロック選択信号BSL0〜BSL7を生成する。このブロック選択信号BSL0〜BSL7は、例えば16ビットの入力データDI0〜DI15が外部回路から入力された場合に、この入力データDI0〜DI15をメモリセルアレイ11に書き込むために書き換えが必要な64ビットの書き込みデータWD0〜WD63のうちで入力データDI0〜DI15がどのブロックに対応するかを示す信号である。
また、アドレス制御回路13は、ライトイネーブル信号WEがローレベルの場合(半導体記憶装置にデータが書き込まれる場合)に、ブロック選択信号BSL0〜BSL7を出力する。ブロック選択信号BSL0〜BSL7は、エラー検出回路19に入力される。
エラー検出回路19は、シンドローム信号Sy0〜Sy7のうち下位4ビットのシンドローム信号Sy0〜Sy3を用いて、読み出しデータRD0〜RD63のうちどのブロックにエラーが存在するのかを検出して、この検出結果であるブロックエラー信号BEを生成する。
以下に、一例として、ブロック0(読み出しデータRD0〜RD7)のエラーを検出する動作について説明する。図7は、エラー検出回路19に含まれるブロック0のエラーを検出するための検出回路19−2を示す回路図である。
検出回路19−2は、2つのNAND回路31,32と、NOR回路33とを備えている。NAND回路31には、シンドローム信号Sy0および反転シンドローム信号SyB1が入力される。NAND回路32には、反転シンドローム信号SyB2,SyB3が入力される。
2つのNAND回路31,32の出力のそれぞれは、NOR回路33に入力される。このNOR回路33の出力であるブロックエラー信号BE0が“1”データの場合、読み出しデータRD0〜RD63のうちブロック0にエラーが存在すると判定される。一方、ブロックエラー信号BE0が“0”データの場合、ブロック0にエラーが存在しないと判定される。このブロックエラー信号BEは、パリティ訂正回路18に入力される。また、エラー検出回路19は、ブロックエラー信号BEの反転信号である反転ブロックエラー信号BEBを生成する。この反転ブロックエラー信号BEBも、パリティ訂正回路18に入力される。
パリティ訂正回路18は、訂正判定回路18Aを備えている。訂正判定回路18Aは、反転ブロックエラー信号BEBおよびブロック選択信号BSLに基づいて、パリティ信号Pの訂正が必要であるか否かを判定する。読み出しデータRD0〜RD63内にエラーが存在した場合でも、このエラーが存在したビットを含むブロックが入力データに置き換えられるならば、このブロックに対応するパリティ信号を訂正する必要がない。
以下に一例として、パリティ信号P0を訂正するか否かを判定する動作について説明する。図8は、訂正判定回路18Aに含まれるパリティ信号P0を訂正するか否かを判定するための判定回路18A−1を示す回路図である。
判定回路18A−1は、4つのNOR回路34〜37と、インバータ回路38とを備えている。NOR回路34には、反転ブロックエラー信号BEB0およびブロック選択信号BSL0が入力される。NOR回路35には、反転ブロックエラー信号BEB4およびブロック選択信号BSL4が入力される。NOR回路36には、反転ブロックエラー信号BEB7およびブロック選択信号BSL7が入力される。
3つのNOR回路34〜36の出力のそれぞれは、NOR回路37に入力される。NOR回路37の出力は、インバータ回路38に入力される。このインバータ回路38の出力である判定信号JS0が“1”データの場合、パリティ信号P0は訂正が必要であると判定される。一方、判定信号JS0が“0”データの場合、パリティ信号P0は訂正が必要でないと判定される。
パリティ訂正回路18は、判定信号JS0に基づいて、パリティ信号P0〜P7を訂正する。この訂正された訂正パリティ信号CP0〜CP7は、メモリセルアレイ11の第2領域に記憶される。
以上詳述したように本実施形態によれば、入力データのアドレス以外の読み出しデータに誤りビットがあるかどうかを高速に検出することができる。これにより、エラー検出回路19の演算処理を低減することができる。
(第3の実施形態)
第3の実施形態は、シンドローム生成回路15とパリティ生成回路17との一部の回路を共有するようにしたものである。
図9は、本発明の第3の実施形態に係る半導体記憶装置の主要部の構成を示す回路図である。なお、本実施形態では、8ビットの入力データDI0〜DI7の場合を例に説明する。
シンドローム生成回路15は、第1段に含まれる32個の2入力排他的論理和回路(以下、XOR回路という)41−1と、第2段に含まれる16個のXOR回路41−2と、第3段に含まれる8個のXOR回路41−3と、第4段に含まれる8個のXOR回路41−4とを備えている。
第1段から第4段までのXOR回路は、縦続接続されている。具体的には、第1段のXOR回路41−1の出力端子は、第2段のXOR回路41−2の入力端子に接続されている。第2段のXOR回路41−2の出力端子は、第3段のXOR回路41−3の入力端子に接続されている。第3段のXOR回路41−3の出力端子は、第4段のXOR回路41−4の一方の入力端子に接続されている。
第1段のXOR回路41−1の入力端子には、読み出しデータRD0〜RD63が入力されている。第4段のXOR回路41−4の他方の入力端子には、読み出しパリティ信号RP0〜RP7が入力されている。第4段のXOR回路41−4の出力端子からは、シンドローム信号Sy0〜Sy7が出力される。
パリティ生成回路17は、第1段に含まれる4個のXOR回路42−1と、第2段に含まれる2個のXOR回路42−2と、第3段に含まれる1個のXOR回路42−3とを備えている。
第1段から第3段までXOR回路は、縦続接続されている。具体的には、第1段のXOR回路42−1の出力端子は、第2段のXOR回路42−2の入力端子に接続されている。第2段のXOR回路42−2の出力端子は、第3段のXOR回路42−3の入力端子に接続されている。第1段のXOR回路41−1の入力端子には、入力データDI0〜DI7が入力されている。
また、パリティ生成回路17は、8個の選択回路(マルチプレクサ)43を備えている。選択回路43の一方の入力端子には、XOR回路42−3の出力端子が接続されている。選択回路43の他方の入力端子には、XOR回路41−3の出力端子が接続されている。選択回路43の制御端子には、ブロック選択信号BSL0〜BSL0が入力されている。選択回路43からは、パリティ信号P0〜P7が出力される。
このように構成された半導体記憶装置において、シンドローム生成回路15に入力される読み出しパリティ信号RP0〜RP7を最終段(第4段)のXOR回路41−4に入力するようにしている。シンドローム生成回路15によるシンドローム演算において、シンドローム生成回路15に含まれる第1段から第3段までのXOR回路は、読み出しデータRD0〜RD63のみを用いて演算を行っている。
一方、パリティ生成回路17によるパリティ演算では、読み出しデータRD0〜RD63の一部を入力データDI0〜DI7に置き換えたデータを用いて演算している。よって、シンドローム演算において読み出しパリティ信号RP0〜RP7の演算を最終段(シンドローム生成回路15に含まれる第4段のXOR回路41−4)で行うことで、同じ読み出しデータの演算部分を共有化することが可能となる。
そして、選択回路43は、ブロック選択信号BSL0〜BSL7に基づいて、XOR回路41−3の出力とXOR回路42−3の出力とのいずれかを選択する。
以上詳述したように本実施形態によれば、シンドローム生成回路15とパリティ生成回路17との一部の回路を共有することが可能となる。これにより、チップサイズを縮小することができる。
また、パリティ生成回路17による読み出しデータを用いた演算を省略することができるため、半導体記憶装置の演算処理を低減でき、かつ演算処理をより高速化することができる。
なお、上記各実施形態で示した各データ(入力データDI、読み出しデータRD、書き込みデータWD、パリティ信号P、およびシンドローム信号Sy等)のデータ数は一例であり、これらのデータのデータ数は、本発明が適用されるシステム等により任意に設定することが可能であることは勿論である。
本発明の例は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態の構成要素を適宜組み合わせてもよい。
本発明の第1の実施形態に係る半導体記憶装置の構成を示すブロック図。 メモリセルMCの一例としてのFeRAMセルの構成を示す回路図。 第1の実施形態に係るパリティ生成回路17およびシンドローム生成回路15に用いられるハミング符号を示す図。 エラー検出回路19の一部(検出回路19−1)を示す回路図。 本発明の第2の実施形態に係る半導体記憶装置の構成を示すブロック図。 第2の実施形態に係るパリティ生成回路17およびシンドローム生成回路15に用いられる検査符号を示す図。 エラー検出回路19の一部(検出回路19−2)を示す回路図。 訂正判定回路18Aの一部(判定回路18A−1)を示す回路図。 本発明の第3の実施形態に係る半導体記憶装置の主要部の構成を示す回路図。
符号の説明
11…メモリセルアレイ、12…センスアンプ回路、13…アドレス制御回路、14…データ制御回路、15…シンドローム生成回路、16…データ訂正回路、17…パリティ生成回路、18…パリティ訂正回路、18A…訂正判定回路、19…エラー検出回路、21〜23,31,32…NAND回路、24,33〜37…NOR回路、38…インバータ回路、41,42…XOR回路、43…選択回路、MC…メモリセル、T…トランジスタ、C…強誘電体キャパシタ、WL…ワード線、BL,/BL…ビット線、PL…プレート線。

Claims (5)

  1. 第1のデータ数を有するデータ単位でエラー検査のためのパリティ信号を生成するパリティ生成回路と、
    複数のメモリセルを含み、かつデータを記憶する第1の領域とパリティ信号を記憶する第2の領域とを含むメモリセルアレイと、
    前記メモリセルアレイから読み出された読み出しパリティ信号と、この読み出しパリティ信号に対応しかつ前記メモリセルアレイから読み出されかつ第1のデータ数を有する読み出しデータとに基づいて、前記読み出しデータのエラーを訂正するためのシンドローム信号を生成するシンドローム生成回路と、
    前記シンドローム信号に基づいて、前記パリティ信号を訂正するパリティ訂正回路と
    を具備し、
    前記パリティ生成回路は、前記第1のデータ数より小さい第2のデータ数を有する入力データと前記読み出しデータの一部とを含むデータに対してパリティ信号を生成することを特徴とする半導体記憶装置。
  2. 前記パリティ生成回路は、前記シンドローム生成回路によるシンドローム生成処理に並行して、パリティ生成処理を実行することを特徴とする請求項1に記載の半導体記憶装置。
  3. 前記シンドローム信号に基づいて、前記読み出しデータのエラーの位置を検出して検出信号を生成する検出回路をさらに具備し、
    前記パリティ訂正回路は、前記検出信号に基づいて前記パリティ信号を訂正することを特徴とする請求項1又は2に記載の半導体記憶装置。
  4. 前記読み出しデータは、複数のデータブロックからなり、
    前記パリティ信号は、前記複数のデータブロック毎に生成され、かつ前記複数のデータブロックの数に対応した複数のデータ数を有し、
    前記パリティ訂正回路は、エラーが存在するデータブロックに対応するパリティ信号を訂正することを特徴とする請求項1乃至3のいずれかに記載の半導体記憶装置。
  5. 前記パリティ生成回路および前記シンドローム生成回路はそれぞれ、検査符号に基づいて、前記パリティ信号および前記シンドローム信号を生成し、
    前記検査符号は、前記メモリセルアレイにデータを書き込む際の最小の書き込みデータ数と同じ周期を有することを特徴とする請求項1乃至4のいずれかに記載の半導体記憶装置。
JP2005265342A 2005-09-13 2005-09-13 半導体記憶装置 Expired - Fee Related JP4864395B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005265342A JP4864395B2 (ja) 2005-09-13 2005-09-13 半導体記憶装置
US11/397,572 US7765455B2 (en) 2005-09-13 2006-04-05 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005265342A JP4864395B2 (ja) 2005-09-13 2005-09-13 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2007080343A true JP2007080343A (ja) 2007-03-29
JP4864395B2 JP4864395B2 (ja) 2012-02-01

Family

ID=37903301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005265342A Expired - Fee Related JP4864395B2 (ja) 2005-09-13 2005-09-13 半導体記憶装置

Country Status (2)

Country Link
US (1) US7765455B2 (ja)
JP (1) JP4864395B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059399A (ja) * 2007-08-30 2009-03-19 Toshiba Corp 半導体記憶装置
US9190136B2 (en) 2013-10-03 2015-11-17 Fujitsu Semiconductor Limited Ferroelectric memory device

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4864395B2 (ja) 2005-09-13 2012-02-01 株式会社東芝 半導体記憶装置
JP2009104757A (ja) * 2007-10-02 2009-05-14 Panasonic Corp 半導体記憶装置
JP2010009643A (ja) * 2008-06-24 2010-01-14 Toshiba Corp エラー訂正システム
KR101212759B1 (ko) * 2010-10-29 2012-12-14 에스케이하이닉스 주식회사 데이터 오류 검사 기능을 이용한 데이터 전송 방법, 데이터 오류 검사 기능을 이용한 반도체 메모리 및 메모리 시스템
KR102608908B1 (ko) * 2016-06-23 2023-12-04 에스케이하이닉스 주식회사 데이터의 오류를 정정하는 방법 및 이를 이용하는 반도체장치
KR20190031787A (ko) 2017-09-18 2019-03-27 삼성전자주식회사 병렬 리드-모디파이-라이트 동작을 수행하는 메모리 장치
KR102420641B1 (ko) * 2017-12-15 2022-07-14 에스케이하이닉스 주식회사 에러정정방법 및 이를 이용한 반도체장치
US11587637B1 (en) * 2021-08-19 2023-02-21 Micron Technology, Inc. Apparatuses, systems, and methods for error correction of selected bit pairs
US20230089736A1 (en) * 2021-09-21 2023-03-23 Nvidia Corporation Single-cycle byte correcting and multi-byte detecting error code

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62214599A (ja) * 1986-03-14 1987-09-21 Fujitsu Ltd 半導体記憶装置
JPH03288935A (ja) * 1990-04-05 1991-12-19 Nec Corp 情報処理装置の誤り訂正装置
JP2000348497A (ja) * 1999-06-08 2000-12-15 Toshiba Corp 半導体記憶装置
JP2001084792A (ja) * 1999-08-11 2001-03-30 Samsung Electronics Co Ltd 半導体装置、同期式半導体メモリ装置及び同期式半導体メモリ装置のエラーチェック及び訂正方法
JP2003085996A (ja) * 2001-07-04 2003-03-20 Hitachi Ltd 半導体装置
JP2007328894A (ja) * 2006-06-09 2007-12-20 Matsushita Electric Ind Co Ltd 半導体記憶装置、および半導体記憶装置の検査方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4555784A (en) * 1984-03-05 1985-11-26 Ampex Corporation Parity and syndrome generation for error detection and correction in digital communication systems
JP2664236B2 (ja) * 1989-02-01 1997-10-15 富士通株式会社 半導体記憶装置
JP2745252B2 (ja) * 1991-06-24 1998-04-28 三菱電機株式会社 半導体記憶装置
JPH07130166A (ja) * 1993-09-13 1995-05-19 Mitsubishi Electric Corp 半導体記憶装置および同期型半導体記憶装置
US5774481A (en) * 1995-03-31 1998-06-30 International Business Machines Corporation Reduced gate error detection and correction circuit
JP3710198B2 (ja) * 1996-04-18 2005-10-26 沖電気工業株式会社 Stm−n信号の誤り訂正符号化・復号化方法、stm−n信号の誤り訂正符号化回路及びstm−n信号の誤り訂正復号化回路
JP3766181B2 (ja) * 1996-06-10 2006-04-12 株式会社東芝 半導体記憶装置とそれを搭載したシステム
JP3432111B2 (ja) 1997-06-24 2003-08-04 シャープ株式会社 半導体記憶装置
US7032142B2 (en) * 2001-11-22 2006-04-18 Fujitsu Limited Memory circuit having parity cell array
US6973613B2 (en) * 2002-06-28 2005-12-06 Sun Microsystems, Inc. Error detection/correction code which detects and corrects component failure and which provides single bit error correction subsequent to component failure
JP4418153B2 (ja) 2002-12-27 2010-02-17 株式会社ルネサステクノロジ 半導体装置
JP4980565B2 (ja) * 2004-12-21 2012-07-18 富士通セミコンダクター株式会社 半導体メモリ
JP4864395B2 (ja) 2005-09-13 2012-02-01 株式会社東芝 半導体記憶装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62214599A (ja) * 1986-03-14 1987-09-21 Fujitsu Ltd 半導体記憶装置
JPH03288935A (ja) * 1990-04-05 1991-12-19 Nec Corp 情報処理装置の誤り訂正装置
JP2000348497A (ja) * 1999-06-08 2000-12-15 Toshiba Corp 半導体記憶装置
JP2001084792A (ja) * 1999-08-11 2001-03-30 Samsung Electronics Co Ltd 半導体装置、同期式半導体メモリ装置及び同期式半導体メモリ装置のエラーチェック及び訂正方法
JP2003085996A (ja) * 2001-07-04 2003-03-20 Hitachi Ltd 半導体装置
JP2007328894A (ja) * 2006-06-09 2007-12-20 Matsushita Electric Ind Co Ltd 半導体記憶装置、および半導体記憶装置の検査方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059399A (ja) * 2007-08-30 2009-03-19 Toshiba Corp 半導体記憶装置
US7729157B2 (en) 2007-08-30 2010-06-01 Kabushiki Kaisha Toshiba Semiconductor storage device
JP4560072B2 (ja) * 2007-08-30 2010-10-13 株式会社東芝 半導体記憶装置
US9190136B2 (en) 2013-10-03 2015-11-17 Fujitsu Semiconductor Limited Ferroelectric memory device

Also Published As

Publication number Publication date
US20070079226A1 (en) 2007-04-05
JP4864395B2 (ja) 2012-02-01
US7765455B2 (en) 2010-07-27

Similar Documents

Publication Publication Date Title
JP4864395B2 (ja) 半導体記憶装置
JP3892832B2 (ja) 半導体記憶装置
KR101860809B1 (ko) 메모리 시스템 및 메모리 에러 정정 방법
US10108509B2 (en) Dynamic enabling of redundant memory cells during operating life
TW556203B (en) Semiconductor memory device having ECC type error recovery circuit
US7810016B2 (en) Semiconductor storage device equipped with ECC function
US20080282128A1 (en) Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
US20060136800A1 (en) Memory system and semiconductor memory device
JP2006190425A (ja) 半導体記憶装置
US7385849B2 (en) Semiconductor integrated circuit device
KR20190064100A (ko) 메모리 시스템 및 이의 에러 정정 방법
US7949933B2 (en) Semiconductor integrated circuit device
US20080082870A1 (en) Parallel bit test device and method using error correcting code
US11881277B2 (en) Memory device and operating method thereof
JP4050091B2 (ja) 半導体メモリ装置
US7075851B2 (en) Semiconductor memory device inputting/outputting data and parity data in burst operation
CN111796963A (zh) 半导体存储器件和具有该半导体存储器件的存储***
JP2007257628A (ja) 記憶された情報データの読み取りのための誤り訂正と誤り検出の方法およびそのための記憶制御ユニット
KR20200122448A (ko) 에러 정정 회로를 가지는 메모리
US11928026B2 (en) Memory and operation method of memory
CN111913828B (zh) 具纠错电路的存储器
US20240177793A1 (en) Memory device including error correction device
JP2005293728A (ja) 半導体記憶装置
JPH07262794A (ja) 記憶装置
JPS5837638B2 (ja) キオクソウチ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110627

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: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111109

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees