JP2016126813A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2016126813A
JP2016126813A JP2015002415A JP2015002415A JP2016126813A JP 2016126813 A JP2016126813 A JP 2016126813A JP 2015002415 A JP2015002415 A JP 2015002415A JP 2015002415 A JP2015002415 A JP 2015002415A JP 2016126813 A JP2016126813 A JP 2016126813A
Authority
JP
Japan
Prior art keywords
data
bit
syndrome
error
write
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
Application number
JP2015002415A
Other languages
English (en)
Inventor
尊雅 鈴木
Takamasa Suzuki
尊雅 鈴木
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Priority to JP2015002415A priority Critical patent/JP2016126813A/ja
Priority to US14/852,259 priority patent/US9690653B2/en
Publication of JP2016126813A publication Critical patent/JP2016126813A/ja
Priority to US15/601,652 priority patent/US10409675B2/en
Priority to US16/529,600 priority patent/US11016845B2/en
Priority to US17/239,471 priority patent/US11436084B2/en
Pending 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/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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • 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

Abstract

【課題】使用する行列式を工夫することにより効率的なエラー訂正を行う。
【解決手段】メモリセルアレイ11から読み出されたm×nビット(m及びnはいずれも2以上の整数)のリードデータRD及びリードパリティRPに基づいてシンドロームSを生成するシンドロームジェネレータ120と、シンドロームSに基づいてリードデータRDに含まれるエラービットの位置を特定するエラーロケータ130,140とを備える。シンドロームSは、pビット(pは2以上の整数)の第1シンドローム部と、qビット(qは2以上の整数)の第2シンドローム部を含む。エラーロケータ130,140は、第1シンドローム部に基づいてエラービットのmビット内の位置を特定し、第2シンドローム部に基づいてエラービットのnビット内の位置を特定する。本発明によれば、効率的なエラー訂正を行うことが可能となる。
【選択図】図3

Description

本発明は半導体装置に関し、特に、データのエラー訂正機能を備えた半導体装置に関する。
近年、DRAM(Dynamic Random Access Memory)などの半導体装置は非常に大容量化しており、これに伴って不良ビットの発生数についても増大している。不良ビットのうち、ワード線不良やビット線不良に起因するものは、主に冗長ワード線や冗長ビット線への置換によって救済される。しかしながら、パッケージング後などに発生する散発的な不良ビットについては、冗長ワード線や冗長ビット線への置換によって救済することが困難であるケースが存在する。このような散発的な不良ビットについては、冗長回路を用いた置換を行うのではなく、エラー訂正機能を用いてデータを救済する方法が採られることがある。
一例として、非特許文献1には、ECC(Error Correction Circuit)を搭載したDRAMが開示されている。
ISSCC2014 / SESSION25 /HIGH-BANDWIDTH LOW-POWER DRAM AND I/O / 25.1
しかしながら、非特許文献1にはECCによるエンコード及びデコードをどの様な行列式を用いて行うかは開示されていない。ECCに含まれるエンコード回路やデコード回路は、使用する行列式によって回路構成が決まるため、その動作速度についても使用する行列式によって左右されることとなる。本発明は、使用する行列式を工夫することにより、より効率的なエラー訂正を行うことが可能な半導体装置を提供するものである。
本発明の一側面による半導体装置は、複数のメモリセルを含むメモリセルアレイと、mビット(mは2以上の整数)のバーストデータが入出力されるように其々構成されるn個(nは2以上の整数)のデータ入出力端子と、前記n個のデータ入出力端子が受けるm×nビットのデータからkビット(kは2以上の整数)のパリティを生成し、前記m×nビットのデータ及び前記kビットのパリティを前記メモリセルアレイに保持させ、且つ、前記メモリセルアレイから読みだされた前記m×nビットのデータ及び前記kビットのパリティを用いて前記m×nビットのデータに含まれるエラービットを検出及び訂正するECC制御回路と、を備え、前記ECC制御回路は、前記n個のデータ入出力端子に対して共通であり且つ前記mビットのバーストデータに対して其々独立である第1エラー判定信号と、前記mビットのバーストデータに対して共通であり且つ前記n個のデータ入出力端子に対して其々独立である第2エラー判定信号を生成し、前記第1エラー判定信号と前記第2エラー判定信号に基づいて前記エラービットを検出することを特徴とする。
本発明の他の側面による半導体装置は、メモリセルアレイと、前記メモリセルアレイから読み出されたm×nビット(m及びnはいずれも2以上の整数)のリードデータ及びリードパリティに基づいてシンドロームを生成するシンドロームジェネレータと、前記シンドロームに基づいて前記リードデータに含まれるエラービットの位置を特定するエラーロケータと、を備え、前記シンドロームは、pビット(pは2以上の整数)の第1シンドローム部と、qビット(qは2以上の整数)の第2シンドローム部を含み、前記エラーロケータは、前記第1シンドローム部に基づいて前記エラービットの前記mビット内の位置を特定し、前記第2シンドローム部に基づいて前記エラービットの前記nビット内の位置を特定することを特徴とする。
本発明のさらに他の側面による半導体装置は、メモリセルアレイと、それぞれ複数のライトデータがバースト入力される複数のデータ入出力端子と、前記複数のバーストデータにそれぞれ対応する複数のデータマスク信号を受けるデータマスク端子と、前記ライトデータと前記メモリセルアレイから読み出された複数のリードデータを、前記データマスク信号に基づいて合成することによりパリティ生成用データを生成するマルチプレクサと、前記パリティ生成用データに基づいてライトパリティを生成するエンコーダと、前記リードデータと前記メモリセルアレイから読み出されたリードパリティに基づいてシンドロームを生成するシンドロームジェネレータと、前記シンドローム及び前記データマスク信号に基づいて、前記ライトパリティの値を変換する変換回路と、を備えることを特徴とする。
本発明によれば、効率的なエラー訂正を行うことが可能な半導体装置を提供することができる。
本発明の好ましい実施形態による半導体装置10の全体構成を示すブロック図である。 半導体装置10のレイアウトを説明するための平面図である。 ECC制御回路100の構成を示すブロック図である。 ECC制御回路100を構成する各回路ブロックのレイアウトを説明するための平面図である。 タイミングジェネレータ37の回路図である。 プロトタイプによる行列式である。 本発明の好ましい実施形態において使用する行列式である。 図7に示した行列式を倒置した図である。 (a)はライトパリティWP'0の生成方法を説明するための説明図であり、(b)はライトパリティWP'0を生成する回路の回路図である。 (a)はライトパリティWP'3〜WP'7の生成方法を説明するための説明図であり、(b)はライトパリティWP'3〜WP'7を生成する回路の回路図である。 4入力の排他的論理和回路の構成を示す回路図である。 シンドロームジェネレータ120の機能を説明するための図である。 (a)はシンドロームS0の生成方法を説明するための説明図であり、(b)はシンドロームS0を生成する回路の回路図である。 (a)はシンドロームS3〜S7の生成方法を説明するための説明図であり、(b)はシンドロームS3〜S7を生成する回路の回路図である。 エラーロケータ130,140の機能を説明するための模式図である。 エラーロケータ130に含まれるデコーダ131の回路図である。 エラーロケータ130に含まれるデコーダ132の回路図である。 エラーロケータ140及びエラーコレクタ150の回路図である。 マスクエラー検出回路160の構成を示すブロック図である。 第1の検出回路161の回路図である。 第2の検出回路162の回路図である。 半導体装置10のリード動作を説明するためのタイミング図である。 半導体装置10のライト動作を説明するためのタイミング図である。 半導体装置10を用いたデータ処理システム200の構成を示すブロック図である。 変形例によるデータ処理システム200Aの構成を示すブロック図である。
以下、添付図面を参照しながら、本発明の好ましい実施形態について詳細に説明する。
図1は、本発明の好ましい実施形態による半導体装置10の全体構成を示すブロック図である。
本実施形態による半導体装置10は単一の半導体チップに集積されたDDR4(Double Data Rate 4)型のDRAMであり、外部基板2に実装されている。外部基板2は、メモリモジュール基板あるいはマザーボードであり、外部抵抗Reが設けられている。外部抵抗Reは、半導体装置10のキャリブレーション端子ZQに接続されており、そのインピーダンスはキャリブレーション回路39の基準インピーダンスとして用いられる。本実施形態においては外部抵抗Reに接地電位VSSが供給されている。
図1に示すように、半導体装置10はメモリセルアレイ11を有している。メモリセルアレイ11は、8つのバンクBANK0〜BANK7に分割されており、各バンクは複数のワード線WLと複数のビット線BLT,BLBを備え、これらの交点にメモリセルMCが配置されている。メモリセルMCは、セルトランジスタTとセルキャパシタCが直列に接続されたDRAMセルである。
ワード線WLの選択はロウデコーダ12によって行われ、ビット線BLの選択はカラムデコーダ13によって行われる。図1に示すように、ロウデコーダ12及びカラムデコーダ13は、BANK0〜BANK7ごとに設けられている。
対を成すビット線BLT,BLBはセンスアンプSAMPに接続されている。ビット線BLT又はビット線BLBから読み出されたリードデータは、センスアンプSAMPによって増幅された後、相補のローカルデータ線LIOT/LIOB、スイッチ回路TG及び相補のメインデータ線MIOT/MIOBを介してECC制御回路100に転送される。ECC制御回路100についてもBANK0〜BANK7ごとに設けられている。
詳細については後述するが、メモリセルアレイ11からリードデータが読み出される際には、同時にパリティも読み出される。逆に、ECC制御回路100から出力されるライトデータは、相補のメインデータ線MIOT/MIOB、スイッチ回路TG及び相補のローカルデータ線LIOT/LIOBを介してセンスアンプSAMPに転送され、ビット線BLT又はビット線BLBに接続されたメモリセルMCに書き込まれる。詳細については後述するが、メモリセルアレイ11にライトデータが書き込まれる際には、同時にパリティも書き込まれる。
また、半導体装置10には外部端子としてアドレス端子21、コマンド端子22、クロック端子23、データ入出力端子24、データマスク端子25、電源端子26,27、キャリブレーション端子ZQが設けられている。
アドレス端子21は、外部からアドレス信号ADD及びバンクアドレス信号BADDが入力される端子である。アドレス端子21に入力されたアドレス信号ADDは、アドレス入力回路31を介してアドレスラッチ回路32に供給され、ラッチされる。アドレスラッチ回路32にラッチされた信号のうち、ロウアドレス信号XADD及びバンクアドレス信号BADDはロウデコーダ12に供給され、カラムアドレス信号YADD及びバンクアドレス信号BADDはカラムデコーダ13に供給される。
ロウデコーダ12は、バンクアドレス信号BADDに基づいてBANK0〜BANK7に対応するいずれか一つが選択されるとともに、ロウアドレス信号XADDに基づいて所定のワード線WLを選択する。カラムデコーダ13は、バンクアドレス信号BADDに基づいてBANK0〜BANK7に対応するいずれか一つが選択されるとともに、カラムアドレス信号YADDに基づいて所定のセンスアンプSAMPを選択する。
コマンド端子22は、外部からコマンド信号COMが入力される端子である。コマンド端子22に入力されたコマンド信号COMは、コマンド入力回路33を介してコマンドデコーダ34に供給される。コマンドデコーダ34は、コマンド信号COMをデコードすることによって各種内部コマンドICOMを生成する回路である。内部コマンドICOMは、ロウデコーダ12、カラムデコーダ13、タイミングジェネレータ37などに供給される。
例えば、コマンド信号COMとしてアクティブコマンド及びリードコマンドを入力するとともに、これらに同期してロウアドレスXADD及びカラムアドレスYADDを入力すれば、これらロウアドレスXADD及びカラムアドレスYADDによって指定されるメモリセルMCからリードデータ及びパリティが読み出される。リードデータ及びパリティはECC制御回路100に入力され、リードデータにエラービットが含まれている場合にはこれが訂正される。訂正されたリードデータDQは、データ入出力回路14を介して、データ入出力端子24から外部にバースト出力される。特に限定されるものではないが、本実施形態では8個のデータ入出力端子24(DQ0〜DQ7)が設けられており、リード動作時においては各データ入出力端子24から8ビットのリードデータDQがバースト出力される。したがって、1回のリード動作で64ビットのリードデータDQが出力される。
一方、コマンド信号COMとしてアクティブコマンド及びライトコマンドを入力するとともに、これらに同期してロウアドレスXADD及びカラムアドレスYADDを入力し、その後、データ入出力端子24にライトデータDQをバースト入力すれば、ライトデータDQはデータ入出力回路14を介してECC制御回路100に供給され、ライトデータに基づいてパリティが生成される。ライトデータ及びパリティはメモリセルアレイ11に供給され、ロウアドレスXADD及びカラムアドレスYADDによって指定されるメモリセルMCに書き込まれる。上述の通り、データ入出力端子24が8個設けられ、且つ、バースト数が8ビットである場合、1回のライト動作で64ビットのライトデータDQが入力される。
ライト動作時においては、データマスク端子25にデータマスク信号DMを入力することが可能である。データマスク信号DMを入力すれば、バースト入力されるライトデータDQのうち、対応するバーストデータがマスクされる。
クロック端子23には、外部クロック信号CK,/CKが入力される。外部クロック信号CKと外部クロック信号/CKは互いに相補の信号であり、いずれもクロック入力回路35に供給される。クロック入力回路35は、外部クロック信号CK,/CKを受けて内部クロック信号ICLKを生成する。内部クロック信号ICLKは、内部クロック発生回路36に供給され、これによって位相制御された内部クロック信号LCLKが生成される。特に限定されるものではないが、内部クロック発生回路36としてはDLL回路を用いることができる。内部クロック信号LCLKはデータ入出力回路14に供給され、リードデータDQの出力タイミングを決めるタイミング信号として用いられる。尚、内部クロック発生回路36は、コマンド信号COMの一つであるクロックイネーブル信号CKEに応答して活性化される。
内部クロック信号ICLKは、タイミングジェネレータ37にも供給され、これによって複数のタイミング信号RT1〜RT4,WT1〜WT5が生成される。タイミングジェネレータ37によって生成されるタイミング信号RT1〜RT4,WT1〜WT5はECC制御回路100に供給され、リード動作時及びライト動作時におけるECC制御回路100の動作タイミングを規定する。
電源端子26は、電源電位VDD,VSSが供給される端子である。電源端子26に供給される電源電位VDD,VSSは内部電源発生回路38に供給される。内部電源発生回路38は、電源電位VDD,VSSに基づいて各種の内部電位VPP,VOD,VARY,VPERIや、基準電位ZQVREFを発生させる。内部電位VPPは主にロウデコーダ12において使用される電位であり、内部電位VOD,VARYはメモリセルアレイ11内のセンスアンプSAMPにおいて使用される電位であり、内部電位VPERIは他の多くの回路ブロックにおいて使用される電位である。一方、基準電位ZQVREFは、キャリブレーション回路39にて使用される基準電位である。
電源端子27は、電源電位VDDQ,VSSQが供給される端子である。電源端子27に供給される電源電位VDDQ,VSSQはデータ入出力回路14に供給される。電源電位VDDQ,VSSQは、電源端子26に供給される電源電位VDD,VSSとそれぞれ同電位であるが、データ入出力回路14によって生じる電源ノイズが他の回路ブロックに伝搬しないよう、データ入出力回路14については専用の電源電位VDDQ,VSSQを用いている。
キャリブレーション端子ZQは、キャリブレーション回路39に接続されている。キャリブレーション回路39は、キャリブレーション信号ZQCによって活性化されると、外部抵抗Reのインピーダンス及び基準電位ZQVREFを参照してキャリブレーション動作を行う。キャリブレーション動作によって得られたインピーダンスコードZQCODEはデータ入出力回路14に供給され、これによって、データ入出力回路14に含まれる出力バッファ(図示せず)のインピーダンスが指定される。
図2は、半導体装置10のレイアウトを説明するための平面図である。
図2に示すように、メモリセルアレイ11を構成する8つのバンクBANK0〜BANK7はそれぞれ2つに分割されており、合計で16個のエリアを構成する。同一のバンクを構成する2つのエリアは、ロウアドレス信号XADDの最上位ビット(例えばビットX15)に基づいて排他的に選択される。図2において、X15Tと表記されているのは、ビットX15がハイレベルである場合に選択されるエリアであり、X15Bと表記されているのは、ビットX15がローレベルである場合に選択されるエリアである。
これら16個のエリアは、X方向及びY方向にマトリクス状にレイアウトされる。具体的には、同一のバンクを構成する2つのエリアはY方向に隣接して配置され、これらの間には当該バンクに対応するロウデコーダ(XDEC)12が配置される。また、バンクBANKi(iは0,2,4,6)に含まれる一方のエリアと、バンクBANKi+1に含まれる一方のエリアはX方向に隣接して配置され、これらの間には対応するカラムデコーダ(YDEC)13及びECC制御回路100が配置される。ECC制御回路100は、リードライトバスRWBSを介してデータ入出力回路14に接続される。データ入出力回路14及びデータ入出力端子24は、バンクBANK2,3とバンクBANK6,7に挟まれた中央領域PERIDQに配置される。バンクBANK0,1とバンクBANK4,5に挟まれた中央領域PERICAには、アドレス端子21、コマンド端子22、コマンドデコーダ34などが配置される。
以下、ECC制御回路100の構成及びその動作について詳細に説明する。
図3は、ECC制御回路100の構成を示すブロック図である。
図3に示すように、ECC制御回路100は、メモリセルアレイ11から同時に読み出された64ビットのリードデータD0〜D63及び8ビットのパリティP0〜P7を増幅するリードアンプ101と、64ビットのライトデータD0〜D63及び8ビットのパリティP0〜P7をメモリセルアレイ11に同時に書き込むライトアンプ102とを含む。
本明細書においては、メモリセルアレイ11から読み出されたデータD0〜D63を「リードデータRD0〜RD63」と表記することによって、ライトデータや訂正されたリードデータと区別することがある。また、本明細書においては、外部から入力されたデータを「ライトデータWD0〜WD63」と表記することによって、リードデータやデータマスク処理されたデータ、つまり実際にメモリセルアレイ11に書き込むべきデータD0〜D63と区別することがある。同様に、本明細書においては、メモリセルアレイ11から読み出されたパリティP0〜P7を「リードパリティRP0〜RP7」と表記し、メモリセルアレイ11に書き込むべきパリティP0〜P7を「ライトパリティWP0〜WP7」と表記することによって、両者を区別することがある。
リードアンプ101は、リード動作時においてはタイミング信号RT1に応答して活性化され、ライト動作時においてタイミング信号WT1に応答して活性化される。リードアンプ101をライト動作時においても活性化させるのは、データマスク機能とエラー訂正機能を両立させるためであり、その詳細については後述する。
リードアンプ101によって増幅されたリードデータRD0〜RD63及びリードパリティRP0〜RP7は、ECC制御回路100に含まれるシンドロームジェネレータ120に供給される。シンドロームジェネレータ120は、リードデータRD0〜RD63及びリードパリティRP0〜RP7に基づいて8ビットのシンドロームS0〜S7を生成する演算回路であり、リード動作時においてはタイミング信号RT2に応答して活性化され、ライト動作時においてタイミング信号WT2に応答して活性化される。シンドロームS0〜S7は、ECC制御回路100に含まれるエラーロケータ130に供給される。
エラーロケータ130は、シンドロームS0〜S7に基づいて、8ビットの第1エラー判定信号EBST0〜EBST7と、8ビットの第2エラー判定信号EDQ0〜EDQ7を生成する。エラーロケータ130は、リード動作時においてはタイミング信号RT3に応答して活性化され、ライト動作時においてタイミング信号WT3に応答して活性化される。詳細については後述するが、第1エラー判定信号EBST0〜EBST7は、リードデータRD0〜RD63に含まれるエラービットのバースト位置を特定するための信号である。したがって、第1エラー判定信号EBST0〜EBST7は、8個のデータ入出力端子24に対して共通であり、且つ、8ビットのバーストデータに対してそれぞれ独立な信号である。これに対し、第2エラー判定信号EDQ0〜EDQ7は、リードデータRD0〜RD63に含まれるエラービットのDQ位置を特定するための信号である。したがって、第2エラー判定信号EDQ0〜EDQは、8ビットのバーストデータに対して共通であり、且つ、8個のデータ入出力端子24に対してそれぞれ独立な信号である。
第1エラー判定信号EBST0〜EBST7及び第2エラー判定信号EDQ0〜EDQ7は、ECC制御回路100に含まれるエラーロケータ140に供給される。エラーロケータ140は、第1エラー判定信号EBST0〜EBST7及び第2エラー判定信号EDQ0〜EDQ7をさらにデコードすることによって、リードデータRD0〜RD63に含まれるエラービットを特定する回路である。エラービットは、64ビットのエラー位置信号EL0〜EL63によって特定される。
エラー位置信号EL0〜EL63は、ECC制御回路100に含まれるエラーコレクタ150に供給される。エラーコレクタ150には、リードデータRD0〜RD63も供給されており、エラー位置信号EL0〜EL63に基づいてリードデータRD0〜RD63を訂正することにより、訂正されたリードデータCRD0〜CRD63が生成される。エラーコレクタ150は、リード動作時においてはタイミング信号RT4に応答して活性化され、ライト動作時においてタイミング信号WT4に応答して活性化される。
エラーコレクタ150によって訂正されたリードデータCRD0〜CRD63は、リードライトバスRWBSを介してデータ入出力回路14に転送され、8個のデータ入出力端子24から外部にバースト出力される。
一方、ライト動作時に外部からバースト入力されるライトデータWD0〜WD63は、リードライトバスRWBSを介してECC制御回路100に供給される。ライトデータWD0〜WD63は、ECC制御回路100に含まれる第1のマルチプレクサ103に入力される。第1のマルチプレクサ103は、ライトデータWD0〜WD63と訂正されたリードデータCRD0〜CRD63をデータマスク信号DM0〜DM7に基づいて合成することにより、実際にメモリセルアレイ11に書き込むべきデータD0〜D63を生成する。
データマスク信号DM0〜DM7は、それぞれ8ビットのバーストデータに対応しており、ライトデータWD0〜WD63のうち、活性化しているデータマスク信号DM0〜DM7に対応するバーストデータについては、訂正されたリードデータCRD0〜CRD63のうち対応するバーストデータに置き換えられる。これにより、データマスク機能が実現される。第1のマルチプレクサ103から出力されるデータD0〜D63は、ライトアンプ102を介してメモリセルアレイ11に書き込まれる。ライトアンプ102は、ライト動作時においてタイミング信号WT5に応答して活性化される。
さらに、ライトデータWD0〜WD63は、ECC制御回路100に含まれる第2のマルチプレクサ104にも入力される。第2のマルチプレクサ104は、ライトデータWD0〜WD63と訂正される前のリードデータRD0〜RD63をデータマスク信号DM0〜DM7に基づいて合成することにより、パリティ生成用データPWD0〜PWD63を生成する。
パリティ生成用データPWD0〜PWD63は、ECC制御回路100に含まれるエンコーダ110に供給される。エンコーダ110は、タイミング信号WT2に応答して活性化され、パリティ生成用データPWD0〜PWD63をエンコードすることによってライトパリティWP'0〜WP'7を生成する。ライトパリティWP'0〜WP'7は、ECC制御回路100に含まれる変換回路105に入力される。
変換回路105は、ライトパリティWP'0〜WP'7とシンドロームS0〜S7の対応するビットを論理合成する排他的論理和ゲート105aと、マルチプレクサ105bによって構成される。変換回路105に含まれるマルチプレクサ105bの動作は、変換信号EDMによって制御される。変換信号EDMは、ECC制御回路100に含まれるマスクエラー検出回路160によって生成され、これが活性化している場合にはライトパリティWP'0〜WP'7とシンドロームS0〜S7が排他的論理和合成されてライトパリティWP0〜WP7が生成される。これに対し、変換信号EDMが非活性化している場合には、ライトパリティWP'0〜WP'7がそのままライトパリティWP0〜WP7として出力される。ライトパリティWP0〜WP7は、ライトアンプ102を介してメモリセルアレイ11に書き込まれる。
マスクエラー検出回路160は、タイミング信号WT3に応答して活性化され、エラービットが属するバーストデータと、データマスク信号DM0〜DM7によってマスクされるバーストデータが一致しているか否かを判定する。その結果、両者が一致している場合には変換信号EDMが活性化され、両者が一致していない場合には変換信号EDMが非活性化される。
図4は、ECC制御回路100を構成する各回路ブロックのレイアウトを説明するための平面図である。
図4に示すように、メモリセルアレイ11は8つのデータ入出力端子24に対応する8つのデータエリアA0〜A7を備えている。つまり、データエリアA0〜A7には、それぞれ8つのデータ入出力端子24に対応するデータDQ0〜DQ7が記憶される。そして、1回のリード動作によって各データエリアA0〜A7からそれぞれ8ビットのデータが読み出され、これにより合計で64ビットのデータD0〜D63が一度に読み出されることになる。さらに、メモリセルアレイ11は、パリティを格納するパリティエリアAPを備えている。パリティエリアAPは、データエリアA3とデータエリアA4との間に配置されており、1回のリード動作によってパリティエリアAPから8ビットのパリティP0〜P7が読み出される。したがって、1回のリード動作によって64ビットのデータD0〜D63と8ビットのパリティP0〜P7が一度に読み出されることになる。
ライト動作時におけるデータの流れはリード動作時におけるデータの流れと逆であり、1回のライト動作によって64ビットのデータD0〜D63が8ビットずつデータエリアA0〜A7に書き込まれるとともに、8ビットのパリティP0〜P7がパリティエリアAPに書き込まれる。
図4に示すように、ECC制御回路100を構成する各回路ブロックのうち、リードアンプ101及びライトアンプ102については、それぞれ対応するデータエリアA0〜A7及びパリティエリアAPに対してY座標が一致するよう配置されている。これにより、メモリセルアレイ11とリードアンプ101及びライトアンプ102との間における、データD0〜D63及びパリティP0〜P7の転送距離が短縮且つ均一化されている。
さらに、ライトアンプ102から見てメモリセルアレイ11とは反対のX方向側には、第1のマルチプレクサ103、エンコーダ110及び第2のマルチプレクサ104がこの順に配置されている。これにより、ライト動作時に外部から入力されるデータD0〜D63は、第1のマルチプレクサ103を介してライトアンプ102に供給されるとともに、第2のマルチプレクサ104を介してエンコーダ110に供給され、これによってライトパリティWP'0〜WP'7が生成される。ライトパリティWP'0〜WP'7は、必要に応じて変換回路105により変換され、ライトパリティWP0〜WP7としてライトアンプ102に供給される。
一方、リードアンプ101から見てメモリセルアレイ11とは反対のX方向側には、シンドロームジェネレータ120、エラーロケータ140及びエラーコレクタ150がこの順に配置されている。これにより、リードアンプ101から出力されるリードデータRD0〜RD63はシンドロームジェネレータ120に転送され、エラーロケータ140及びエラーコレクタ150を用いて検証及び訂正が実行される。
このように、ECC制御回路100を構成する上記の回路ブロックは、それぞれ対応するデータエリアA0〜A7及びパリティエリアAPに対してY座標が一致するよう配置され、これによってデータD0〜D63及びパリティP0〜P7の転送距離が短縮且つ均一化されている。これに対し、エラーロケータ130、マスクエラー検出回路160及び変換回路105については、上記の回路ブロックとは異なるエリアに配置されている。これは、エラーロケータ130、マスクエラー検出回路160及び変換回路105は、シンドロームS0〜S7に基づいて動作する回路であり、データエリアA0〜A7及びパリティエリアAPに対するレイアウト上の対応付けが不要だからである。
図5は、タイミングジェネレータ37の回路図である。
図5に示すように、タイミングジェネレータ37は、タイミング信号RT1〜RT4を生成する信号生成部37Rと、タイミング信号WT1〜WT5を生成する信号生成部37Wを備えている。
信号生成部37Rは、内部コマンドICOMの一種であるリード信号IREADに基づいてタイミング信号RT1〜RT4を生成する。リード信号IREADは、コマンド端子22に入力されるコマンド信号COMがリードコマンドを示している場合にコマンドデコーダ34によって活性化される信号である。信号生成部37Rにはタイミング調整用の遅延回路(インバータ)が複数設けられており、これにより、リード信号IREADが活性化すると、タイミング信号RT1〜RT4がこの順に活性化する。
信号生成部37Wは、内部コマンドICOMの一種であるライト信号IWRITEに基づいてタイミング信号WT1〜WT5を生成する。ライト信号IWRITEは、コマンド端子22に入力されるコマンド信号COMがライトコマンドを示している場合にコマンドデコーダ34によって活性化される信号である。信号生成部37Wにはタイミング調整用の遅延回路(インバータ)が複数設けられており、これにより、ライト信号IWRITEが活性化すると、タイミング信号WT1〜WT5がこの順に活性化する。
このようにして生成されるタイミング信号RT1〜RT4,WT1〜WT5は、ECC制御回路100を構成する各回路ブロックに供給され、これによりECC制御回路100の動作タイミングが制御される。
次に、ECC制御回路100が演算に使用する行列式について説明する。
図6は、プロトタイプによる行列式である。
図6に示す行列式は、64ビットのデータD0〜D63に8ビットのパリティP0〜P7を付加したハミング符号方式のHマトリクスである。図6に示すように、各データD又はパリティPに対して互いに異なる演算式が列方向に割り当てられており、各行について演算を行うことによって8ビットのシンドロームS0〜S7が生成される。つまり、Hマトリクスにおいて「1」と表記されている箇所で排他的論理和演算を行い、得られた値を行ごとに演算する。
具体的に説明すると、データD0〜D63からパリティP0〜P7を生成する場合(ライト動作時)には、Hマトリクスにおいて「1」と表記されている箇所のデータD0〜D63の値が「1」である数を行ごとに加算し、その結果、すべてのシンドロームS0〜S7の値が「0」となるよう、パリティP0〜P7の値を決定する。シンドロームS0〜S7の値は、加算した数が偶数であれば「0」、奇数であれば「1」とする。したがって、各行における加算数が全て偶数となるよう、パリティP0〜P7の値が決定される。
一方、パリティを用いてデータD0〜D63を検証する場合(リード動作時)には、Hマトリクスにおいて「1」と表記されている箇所のデータD0〜D63又はパリティP0〜P7の値が「1」である数を行ごとに偶奇判定し、これによってシンドロームS0〜S7を生成する。そして、シンドロームS0〜S7の値が全て「0」であればデータD0〜D63に誤りがないことが分かる。これに対し、シンドロームS0〜S7に「1」が含まれている場合には、データD0〜D63に誤り(エラービット)が存在する。エラービットの位置は、シンドロームS0〜S7の値によって示されており、HマトリクスにおいてシンドロームS0〜S7の値と同じ値を持つ列がエラービットに該当する。したがって、当該エラービットの値を反転させれば、データD0〜D63の誤りが訂正されることになる。
尚、エラービットの位置は7ビットのシンドロームS0〜S6によって特定され、残りのシンドロームS7はエラービットが2個存在するケースを検出するために用いられる。つまり、シンドロームS0〜S6によって特定できるエラービットは1ビットのみであり、エラービットが2ビット含まれている場合には位置特定ができない。このようなケースを検出するため、図6に示すHマトリクスでは、エラービットが1ビットである場合にシンドロームS7の値が常に「1」となるよう構成されている。そして、エラービットが2ビット含まれている場合にはシンドロームS7の値が「0」となるため、訂正不能であることが分かる。
しかしながら、図6に示すプロトタイプによる行列式を用いると演算が複雑になるため、エンコーダ110やシンドロームジェネレータ120の回路規模が大きくなるという問題がある。
図7は本発明の実施形態において使用する行列式であり、図8はこれを倒置した図である。
図7及び図8に示すように、本実施形態において使用する行列式は、シンドロームS0〜S2に対応する第1の行列式H1と、シンドロームS3〜S7に対応する第2の行列式H2によって構成されている。
第1の行列式H1は、各データエリアA0〜A7について同一であり、且つ、8ビットのバーストデータごとに相違する値を有している。したがって、第1の行列式H1から得られる3ビットのシンドロームS0〜S2は、エラービットのバースト位置を示すことになる。シンドロームS0〜S2は第1シンドローム部を構成する。尚、バースト数をmとした場合、第1の行列式H1に割り当てられるシンドロームのビット数Mは、
m<2
である。例えば、本実施形態のようにバースト数が8ビットである場合(m=8)、第1の行列式に割り当てられるシンドロームのビット数Mは3以上であれば良い。
第2の行列式H2は、8ビットのバーストデータについて同一であり、且つ、データエリアA0〜A7ごとに相違する値を有している。第2の行列式H2から得られる5ビットのシンドロームS3〜S7は第2シンドローム部を構成し、このうち、S3〜S6の部分は、エラービットのDQ位置を示しており、また、S7は2ビットエラーの検知に用いられる。尚、データ入出力端子24の数をn個とした場合、第2の行列式に割り当てられるシンドロームのビット数Nは、
n<+・・・+
である。例えば、本実施形態のようにデータ入出力端子24の数が8個である場合(n=8)、第2の行列式に割り当てられるシンドロームのビット数Nは4以上であれば良い。
ここで、本実施形態において第2の行列式H2に割り当てられるシンドロームS3〜S7のビット数Nを5ビットとしているのは、シンドロームS7を追加することによってエラービットが2ビット含まれているケースを判定可能とするとともに、シンドロームS0〜S7の合計ビット数を2のべき乗(=8ビット)とすることにより、シンドロームの取り扱いを容易とするためである。
パリティP0〜P7に対応する行列式については図6と同じであり、各パリティPj(j=0〜7)は、それぞれシンドロームSjの位置にて排他的論理和演算が行われる他、シンドロームS7については各パリティP0〜P7ともに排他的論理和演算が行われる。
図7及び図8には、ライトデータWD0〜WD63の値の一例が示されており、この値を用いてパリティP0〜P7を演算した結果が図8に示されている。パリティの演算は、上述したエンコーダ110によって行われる。
図9及び図10はエンコーダ110の構成を説明するための図であり、特に、図9(a)はライトパリティWP'0の生成方法を説明するための説明図、図9(b)はライトパリティWP'0を生成する回路の回路図、図10(a)はライトパリティWP'3〜WP'7の生成方法を説明するための説明図、図10(b)はライトパリティWP'3〜WP'7を生成する回路の回路図である。
まず、ライトパリティWP'0はシンドロームS0に対応する行SH0を用いて演算される。シンドロームS0に対応する行SH0は、第1の行列式H1に含まれる。そして、第1の行列式H1は、既に説明したように、各データエリアA0〜A7について同一であり、且つ、8ビットのバーストデータごとに相違する値を有している。図9(a)に示すように、シンドロームS0に対応する行SH0は、バースト順に一例として「0101010101」なる値を有している。この値は各DQ位置に対して共通である。
そして、図9(b)に示すように、データエリアA0に書き込むべき8ビットのライトデータWD0〜WD7のうち、データWD1,WD3,WD5,WD7を4入力の排他的論理和回路E00Wに入力する。他のデータエリアA1〜A7にそれぞれ書き込むべき8ビットのライトデータについても同様であり、対応する4ビットのライトデータを4入力の排他的論理和回路E01W〜E07Wにそれぞれ入力する。
さらに、4つの排他的論理和回路E00W〜E03Wからの出力を4入力の排他的論理和回路E11Wに入力し、4つの排他的論理和回路E04W〜E07Wからの出力を4入力の排他的論理和回路E12Wに入力する。そして、これら2つの排他的論理和回路E11W,E12Wからの出力ENC0_DQ0−3及びENC0_DQ4−7を2入力の排他的論理和回路E13Wに入力し、得られた値をライトパリティWP'0として出力する。これにより、図7及び図8に示した行列式のうち、シンドロームS0に対応する行SH0に「1」と表記されている箇所のライトデータWD0〜WD63の値が「1」である数が偶奇判定され、偶数個であればライトパリティWP'0の値は「0」となり、奇数個であればライトパリティWP'0の値は「1」となる。
ライトパリティWP'1及びWP'2の生成方法についても同様であり、図7及び図8に示した行列式のうち、それぞれシンドロームS1及びS2に対応する行SH1,SH2に「1」と表記されている箇所のライトデータWD0〜WD63の値が「1」である個数が偶奇判定される。図9(a)に示すように、シンドロームS1に対応する行SH1は、バースト順に一例として「00110011」なる値を有し、この値は各DQ位置に対して共通である。また、シンドロームS2に対応する行SH2は、バースト順に一例として「00001111」なる値を有し、この値は各DQ位置に対して共通である。そして、図9(b)と同様の回路による偶奇判定の結果、ライトパリティWP'1及びWP'2の値が算出される。
一方、ライトパリティWP'3〜WP'7はそれぞれシンドロームS3〜S7に対応する行SH3〜SH7を用いて演算される。シンドロームS3〜S7に対応する行SH3〜SH7は、第2の行列式H2に含まれる。そして、第2の行列式H2は、既に説明したように、8ビットのバーストデータについて同一であり、且つ、データエリアA0〜A7ごとに相違する値を有している。図10(a)に示すように、DQ0に対応する第2の行列式H2は、全てのバーストデータについて「11001」なる値を有している。
図10(b)に示すように、ライトパリティWP'3〜WP'7の演算においては、16個の排他的論理和回路E201W〜E216Wが共有される。例えば、排他的論理和回路E201WはデータエリアA0に書き込むべき8ビットのライトデータWD0〜WD7のうちライトデータWD0〜WD3に基づいて演算し、排他的論理和回路E202WはデータエリアA0に書き込むべき8ビットのライトデータWD0〜WD7のうちライトデータWD4〜WD7に基づいて演算する。これにより、16個の排他的論理和回路E201W〜E216Wからそれぞれ中間値Z0〜Z15が生成される。
そして、得られた中間値Z0〜Z15をさらに排他的論理和回路E3W〜E7Wによって論理合成することにより、ライトパリティWP'3〜WP'7が算出される。具体的には、ライトパリティWP'3を算出する場合、中間値Z0〜Z7,Z12〜Z15を用いた排他的論理和合成を行い、得られた値が偶数であればライトパリティWP'3の値は「0」となり、奇数であればライトパリティWP'3の値は「1」となる。同様に、ライトパリティWP'4を算出する場合、中間値Z0〜Z3,Z8〜Z15を用いた排他的論理和合成を行い、得られた値が偶数であればライトパリティWP'4の値は「0」となり、奇数であればライトパリティWP'4の値は「1」となる。どの中間値Z0〜Z15を選択するかは、図7に示した行列式のうち第2の行列式H2に基づいて定められる。
このように、ライトパリティWP'3〜WP'7の演算においては、多数の排他的論理和回路E201W〜E216Wが共有されるため、エンコーダ110の回路規模を小型化することが可能となる。
図11は、4入力の排他的論理和回路の構成を示す回路図である。
図11においては、入力される4ビットの信号を符号a〜dで示し、その反転信号を符号aF〜dFで示している。これらの信号a〜d,aF〜dFは、Pチャンネル型のMOSトランジスタQp1〜Qp14及びNチャンネル型のMOSトランジスタQn1〜Qn14の対応するゲート電極に入力される。そして、ノードN1に現れる信号がインバータINV1を介して信号Yとして出力され、ノードN2に現れる信号がインバータINV2を介して信号YFとして出力される。
電源電位VPERIが供給される電源配線V1とノードN1との間には、トランジスタQp1〜Qp4がこの順に直列接続されるとともに、トランジスタQp5〜Qp8がこの順に直列接続される。さらに、電源配線V1とノードN2との間には、トランジスタQp5,Qp9〜Qp11がこの順に直列接続されるとともに、トランジスタQp1,Qq12〜Qp14がこの順に直列接続される。そして、トランジスタQp2,Qp6のドレインは互いに接続され、トランジスタQp3,Qp10のドレインは互いに接続され、トランジスタQp9,Qp12のドレインは互いに接続され、トランジスタQp7,Qp13のドレインは互いに接続される。
接地電位VSSが供給される電源配線V2とノードN1との間には、トランジスタQn1〜Qn4がこの順に直列接続されるとともに、トランジスタQn5〜Qn8がこの順に直列接続される。さらに、電源配線V2とノードN2との間には、トランジスタQn5,Qn9〜Qn11がこの順に直列接続されるとともに、トランジスタQn1,Qn12〜Qn14がこの順に直列接続される。そして、トランジスタQn2,Qn6のドレインは互いに接続され、トランジスタQn3,Qn10のドレインは互いに接続され、トランジスタQn9,Qn12のドレインは互いに接続され、トランジスタQn7,Qn13のドレインは互いに接続される。
信号aはトランジスタQp5,Qn1のゲート電極に入力され、信号aFはトランジスタQp1,Qn5のゲート電極に入力される。信号bはトランジスタQp2,Qp9,Qn2,Qn9のゲート電極に入力され、信号bFはトランジスタQp6,Qp12,Qn6,Qn12のゲート電極に入力される。信号cはトランジスタQp7,Qp10,Qn7,Qn10のゲート電極に入力され、信号cFはトランジスタQp3,Qp13,Qn3,Qn13のゲート電極に入力される。信号dはトランジスタQp4,Qp14,Qn4,Qn14のゲート電極に入力され、信号dFはトランジスタQp8,Qp11,Qn8,Qn11のゲート電極に入力される。
かかる構成により、4ビットの信号a〜d及びその反転信号を符号aF〜dFに対して排他的論理和演算が行われ、その結果が信号Y及びその反転信号YFとして出力される。
さらに、初期状態において信号Y,YFをいずれもローレベルにリセットすべく、プリチャージ回路PREが設けられる。プリチャージ回路PREは、電源配線V1とトランジスタQn3,Qn10のドレインとの間に直列接続されたPチャンネル型のMOSトランジスタQp15,Qp16と、電源配線V1とトランジスタQn7,Qn13のドレインとの間に直列接続されたPチャンネル型のMOSトランジスタQp17,Qp18とからなる。トランジスタQp15,Qp17のゲート電極には信号cFが入力され、トランジスタQp16,Qp18のゲート電極には信号cが入力される。信号c及びcFは初期状態においていずれもローレベルとなる信号であり、これにより初期状態における信号Y,YFがいずれもローレベルにリセットされる。
このような構成を有する4入力の排他的論理和回路を用いれば、一般的な2入力の排他的論理和回路を多段に接続するよりも素子数が削減されるとともに、演算を高速に実行することが可能となる。
図12は、シンドロームジェネレータ120の機能を説明するための図である。
図12には、リードデータRD0〜RD63及びリードパリティRP0〜RP7の具体的な値の一例が示されている。このうちリードデータRD9に誤りが生じており、正しい値が「1」であるにも関わらず、実際の値は「0」となっている。仮に、リードデータRD0〜RD63に誤りが含まれない場合、シンドロームS0〜S7の値は全て「0」となるが、1ビットの誤りが含まれている場合、シンドロームS0〜S7の数ビットが「1」となる。この場合、シンドロームS0〜S7と同じ値を持つHマトリクス中の列がエラービットに該当する。
図13及び図14はシンドロームジェネレータ120の構成を説明するための図であり、特に、図13(a)はシンドロームS0の生成方法を説明するための説明図、図13(b)はシンドロームS0を生成する回路の回路図、図14(a)はシンドロームS3〜S7の生成方法を説明するための説明図、図14(b)はシンドロームS3〜S7を生成する回路の回路図である。
図13(a)に示すように、シンドロームS0の生成原理は、図9(a)に示したライトパリティWP'0の生成原理と基本的に同じであるが、シンドロームS0の生成には対応するリードパリティRP0が必要となる。このため、図13(b)に示すように、シンドロームS0を生成するための回路は、図9(b)に示した回路に加え、リードパリティRP0を排他的論理和演算に加えた構成とすればよい。シンドロームS1,S2の生成方法についても同様であり、それぞれリードパリティRP1,RP2を排他的論理和演算に加えればよい。
図14(a)に示すように、シンドロームS3〜S7の生成原理は、図10(a)に示したライトパリティWP'3〜WP'7の生成原理と基本的に同じであるが、シンドロームS3〜S7の生成にはそれぞれ対応するリードパリティRP3〜RP7が必要となる。このため、図14(b)に示すように、シンドロームS3〜S7を生成するための回路は、図10(b)に示した回路に加え、それぞれリードパリティRP3〜RP7を排他的論理和演算に加えた構成とすればよい。
このように、シンドロームS0〜S7を生成するための回路は、ライトパリティWP'0〜WP'7を生成するための回路と大部分の構成が一致する。このため、共通する部分の回路を時分割で使用すれば、ECC制御回路100の回路規模を削減することが可能となる。但し、この場合、エンコーダ110とシンドロームジェネレータ120を同時に起動することができなくなるため、本実施形態においては高速動作を実現すべく、エンコーダ110とシンドロームジェネレータ120を別個の回路によって構成している。
図15は、エラーロケータ130,140の機能を説明するための模式図である。
図15に示す例では、シンドロームジェネレータ120から出力されるシンドロームS0〜S7の値が「1011011」であり、これによりリードデータRD9に誤りがあることが分かる。そして、本実施形態では、シンドロームS0〜S2に基づいてエラーデータのバースト位置を特定し、シンドロームS3〜S7に基づいてエラーデータのDQ位置を特定する。バースト位置は、シンドロームS0〜S2をデコードしてエラーバースト信号EBST0〜EBST7の1ビットを活性化させることによって特定される。DQ位置は、シンドロームS3〜S6をデコードしてエラーマット信号EMAT0〜EMAT7の1ビットを活性化させることによって特定される。エラーバースト信号EBST0〜EBST7及びエラーマット信号EMAT0〜EMAT7は、エラーロケータ130によって生成される。尚、シンドロームS7はエラービットが2ビット存在する場合に「0」となり、この場合は訂正することができない。
そして、エラーバースト信号EBST0〜EBST7とエラーマット信号EMAT0〜EMAT7をさらにデコードすることにより、エラービットを特定する。かかるデコードは、エラーロケータ140によって行われる。図15に示す例では、エラーバースト信号EBST1及びエラーマット信号EMAT1が活性化しているため、リードデータRD9がエラービットであることが分かる。
図16は、エラーロケータ130に含まれるデコーダ131の回路図である。図16に示すように、エラーロケータ130にはシンドロームS0〜S2をデコードするデコーダ131が含まれている。これにより、リードデータRD0〜RD63にエラービットが含まれている場合、エラーバースト信号EBST0〜EBST7の1ビットが活性化する。
図17は、エラーロケータ130に含まれるデコーダ132の回路図である。図17に示すように、エラーロケータ130にはシンドロームS3〜S6をデコードするデコーダ132が含まれている。これにより、リードデータRD0〜RD63にエラービットが含まれている場合、エラーマット信号EMAT0〜EMAT7の1ビットが活性化する。
このようにして生成されるエラーバースト信号EBST0〜EBST7及びエラーマット信号EMAT0〜EMAT7は、エラーロケータ140に供給される。
図18は、エラーロケータ140及びエラーコレクタ150の回路図である。
図18に示すように、エラーロケータ140は、エラーバースト信号EBST0〜EBST7の対応する1ビットと、エラーマット信号EMAT0〜EMAT7の対応する1ビットを受ける64個のANDゲート回路AND0〜AND63によって構成される。リードデータRD0〜RD63にエラービットが含まれている場合、エラーバースト信号EBST0〜EBST7の1ビットと、エラーマット信号EMAT0〜EMAT7の1ビットが活性化するため、ANDゲート回路AND0〜AND63から出力されるエラー位置信号EL0〜EL63の1つがハイレベルに活性化することになる。
エラー位置信号EL0〜EL63は、エラーコレクタ150を構成する64個のマルチプレクサMUX0〜MUX63に供給される。マルチプレクサMUX0〜MUX63は、それぞれ対応するリードデータRD0〜RD63又はその反転信号の一方を選択し、これを訂正されたリードデータCRD0〜CRD63として出力する。具体的には、対応するエラー位置信号EL0〜EL63がローレベルに非活性化している場合には、反転されていないリードデータRD0〜RD63をそれぞれ出力し、対応するエラー位置信号EL0〜EL63がハイレベルに活性化している場合には、それぞれ対応するリードデータRD0〜RD63の反転信号を出力する。これにより、エラービットのみが反転されるので、訂正されたリードデータCRD0〜CRD63が生成される。
図19は、マスクエラー検出回路160の構成を示すブロック図である。
図19に示すように、マスクエラー検出回路160は、第1の検出回路161と第2の検出回路162を含んでいる。第1の検出回路161は、エラービットのバースト位置と、データマスク信号DM0〜DM7によってマスクされたライトデータのバースト位置が一致しているか否かを判定する回路であり、両者が一致した場合には検出信号EDMpreが活性化される。第2の検出回路162は、いずれかのDQ位置にエラービットが含まれるか否かを判定する回路であり、いずれかのDQ位置にエラービットが含まれる場合には検出信号EDQが活性化される。但し、リードデータRD0〜RD63にエラービットが含まれる場合、当該エラービットは必ずいずれかのDQ位置に属するため、検出信号EDMpreが活性化する際には検出信号EDQも必ず活性化する。したがって、第2の検出回路162については省略しても構わない。
図20は、第1の検出回路161の回路図である。
図20に示すように、第1の検出回路161は、シンドロームS0〜S2をデコードするデコーダ164を含み、このデコーダ164に含まれる8つのANDゲート回路G0〜G7にそれぞれデータマスク信号DM0〜DM7が入力されている。かかる構成により、エラービットのバースト位置とマスクされたライトデータのバースト位置が一致した場合、ANDゲート回路G0〜G7の出力信号EDM0〜EDM7のいずれかがハイレベルに活性化する。そして、出力信号EDM0〜EDM7は8入力のORゲート回路165に入力され、その出力信号が検出信号EDMpreとして出力される。したがって、エラービットのバースト位置とマスクされたライトデータのバースト位置が一致すれば、検出信号EDMpreがハイレベルに活性化する。尚、ここでいう一致とは、マスクされたライトデータのバースト位置が複数存在する場合、エラービットのバースト位置がマスクされたライトデータの複数のバースト位置のいずれかに属する場合も含む。
これに対し、エラービットのバースト位置とマスクされたライトデータのバースト位置が一致しない場合には、検出信号EDMpreはローレベルに非活性化される。もちろん、エラービットが存在しない場合や、データマスクが行われない場合にも、検出信号EDMpreはローレベルに非活性化される。尚、実際にANDゲート回路G0〜G7とORゲート回路165を用いるのではなく、ワイヤードロジックを用いて同等の機能を実現しても構わない。
図21は、第2の検出回路162の回路図である。
図21に示すように、第2の検出回路162は、シンドロームS3〜S5をデコードするデコーダ166を含む。デコーダ166を構成する3つのANDゲート回路G8〜G10は、それぞれ出力信号EDQ01,EDQ23,EDQ4567を生成する。出力信号EDQ01はエラービットのDQ位置がDQ0又はDQ1である場合に活性化し、出力信号EDQ23はエラービットのDQ位置がDQ2又はDQ3である場合に活性化し、出力信号EDQ4567はエラービットのDQ位置がDQ4〜DQ7である場合に活性化する。そして、出力信号EDQ01,EDQ23,EDQ4567は3入力のORゲート回路167に入力され、その出力信号が検出信号EDQとして出力される。尚、実際にANDゲート回路G8〜G10とORゲート回路167を用いるのではなく、ワイヤードロジックを用いて同等の機能を実現しても構わない。
第1の検出回路161によって生成される検出信号EDMpreと、第2の検出回路162によって生成される検出信号EDQは、図19に示すANDゲート回路163に入力される。したがって、ANDゲート回路163の出力である変換信号EDMは、検出信号EDMpre及び検出信号EDQの両方がハイレベルである場合に活性化される。このようにして生成される変換信号EDMは、図3に示した変換回路105に供給される。
既に説明したとおり、変換回路105は、ライトパリティWP'0〜WP'7とシンドロームS0〜S7の対応するビットを論理合成する排他的論理和ゲート105aと、マルチプレクサ105bによって構成される。そして、変換信号EDMがハイレベルに活性化している場合には排他的論理和演算が実行され、これによってライトパリティWP0〜WP7が生成される。これに対し、変換信号EDMがローレベルに非活性化している場合には、ライトパリティWP'0〜WP'7がそのままライトパリティWP0〜WP7として出力される。
以上が本実施形態による半導体装置10の具体的な回路構成である。次に、本実施形態による半導体装置10の動作について説明する。
図22は、本実施形態による半導体装置10のリード動作を説明するためのタイミング図である。
コマンド端子22を介して外部からリードコマンドREADが発行されると、図5に示した信号生成部37Rによってタイミング信号RT1〜RT4がこの順に活性化される。まず、タイミング信号RT1に応答してリードアンプ101が活性化され、これによりメモリセルアレイ11から読み出されたリードデータRD0〜RD63及びリードパリティRP0〜RP7が増幅される。増幅されたリードデータRD0〜RD63及びリードパリティRP0〜RP7は、シンドロームジェネレータ120に転送される。
次に、タイミング信号RT2に応答してシンドロームジェネレータ120が活性化され、シンドロームS0〜S7の生成が行われる。生成されたシンドロームS0〜S7は、エラーロケータ130に転送される。
次に、タイミング信号RT3に応答してエラーロケータ130が活性化され、シンドロームS0〜S7がデコードされる。これにより生成される第1エラー判定信号EBST0〜EBST7及び第2エラー判定信号EDQ0〜EDQ7は、エラーロケータ140によってさらにデコードされ、エラー位置信号EL0〜EL63が生成される。生成されたエラー位置信号EL0〜EL63は、エラーコレクタ150に転送される。
次に、タイミング信号RT4に応答してエラーコレクタ150が活性化され、リードデータRD0〜RD63の訂正が行われる。これにより、訂正されたリードデータCRD0〜CRD63が生成され、リードライトバスRWBSを介してデータ入出力回路14に転送される。そして、その後のタイミングRT5にてデータ入出力回路14が活性化され、訂正されたリードデータCRD0〜CRD63が8個のデータ入出力端子24を介して外部にバースト出力される。
このように、リード動作時においてはECC制御回路100によってリードデータRD0〜RD63に含まれるエラービットが訂正され、訂正されたリードデータCRD0〜CRD63がバースト出力される。
図23は、本実施形態による半導体装置10のライト動作を説明するためのタイミング図である。
コマンド端子22を介して外部からライトコマンドWRITEが発行されると、図5に示した信号生成部37Wによってタイミング信号WT1〜WT5がこの順に活性化される。さらに、8個のデータ入出力端子24を介して外部からライトデータWD0〜WD63がバースト入力され、これに同期して1個のデータマスク端子25を介して外部からデータマスク信号DM0〜DM7がバースト入力されると、タイミング信号WT1に応答してデータ入出力回路14が活性化される。これにより、ライトデータWD0〜WD63及びデータマスク信号DM0〜DM7がリードライトバスRWBSを介してECC制御回路100に転送される。さらに、タイミング信号WT1に応答してリードアンプ101が活性化され、これによりメモリセルアレイ11から読み出されたリードデータRD0〜RD63及びリードパリティRP0〜RP7が増幅される。増幅されたリードデータRD0〜RD63及びリードパリティRP0〜RP7は、シンドロームジェネレータ120に転送される。
次に、タイミング信号WT2に応答してエンコーダ110が活性化され、ライトパリティWP'0〜WP'7の生成が行われる。生成されたライトパリティWP'0〜WP'7は、変換回路105に転送される。さらに、タイミング信号WT2に応答してシンドロームジェネレータ120が活性化され、シンドロームS0〜S7の生成が行われる。生成されたシンドロームS0〜S7は、エラーロケータ130に転送されるとともに、マスクエラー検出回路160にも転送される。
次に、タイミング信号WT3に応答してマスクエラー検出回路160が活性化され、変換信号EDMの生成が行われる。生成された変換信号EDMは変換回路105に転送され、これによりライトパリティWP0〜WP7が生成される。生成されたライトパリティWP0〜WP7は、ライトアンプ102に転送される。さらに、タイミング信号WT3に応答してエラーロケータ130が活性化され、シンドロームS0〜S7がデコードされる。これにより生成される第1エラー判定信号EBST0〜EBST7及び第2エラー判定信号EDQ0〜EDQ7は、エラーロケータ140によってさらにデコードされ、エラー位置信号EL0〜EL63が生成される。生成されたエラー位置信号EL0〜EL63は、エラーコレクタ150に転送される。
次に、タイミング信号WT4に応答してエラーコレクタ150が活性化され、リードデータRD0〜RD63の訂正が行われる。これにより、訂正されたリードデータCRD0〜CRD63が生成される。訂正されたリードデータCRD0〜CRD63は、マルチプレクサ103を介してライトアンプ102に転送される。
そして、タイミング信号WT5に応答してライトアンプ102が活性化され、データD0〜D63及びパリティP0〜P7がメモリセルアレイ11に書き込まれる。
このように、ライト動作時においてもリード動作が実行され、訂正されたリードデータCRD0〜CRD63とライトデータWD0〜WD63がデータマスク信号DM0〜DM7に基づいて合成され、実際にメモリセルアレイ11に書き込むべきデータD0〜D63が生成される。このため、1又は2以上のデータマスク信号DM0〜DM7が活性化している場合にも、書き込むべきデータD0〜D63を正しく生成することが可能となる。
しかも、リードデータRD0〜RD63の訂正動作と並行して、シンドロームS0〜S7及びライトパリティWP'0〜WP'7に基づきライトパリティWP0〜WP7を生成していることから、ライトパリティWP0〜WP7を早期に生成することができる。つまり、エンコーダ110をマルチプレクサ103の後段に配置することによってもライトパリティWP0〜WP7を正しく生成することができるが、この場合には、ライトパリティWP0〜WP7が生成されるまでに時間がかかってしまう。これに対し、本実施形態では、ライトデータWD0〜WD63及び訂正される前のリードデータRD0〜RD63に基づいてパリティ生成用データPWD0〜PWD63を生成し、これに基づいてライトパリティWP'0〜WP'7を生成していることから、リードデータRD0〜RD63の訂正動作を待つことなく、シンドロームS0〜S7を利用してライトパリティWP0〜WP7を前倒しで生成することができる。
これにより、ライト動作に要する時間をリード動作に要する時間とほぼ一致させることができ、アクセス効率を高めることが可能となるとともに、一般的なDRAMの仕様との互換性を確保することが可能となる。
図24は、本実施形態による半導体装置10を用いたデータ処理システム200の構成を示すブロック図である。図24に示すデータ処理システム200は、半導体装置10とこれを制御するコントローラ210によって構成されている。コントローラ210は、半導体装置10にアドレス信号ADD及びコマンド信号COMを供給するとともに、データDQ0〜DQ7の送受信を行う。また、ライト動作時においては、半導体装置10にデータマスク信号DM0〜DM7を供給する。
図25は、変形例によるデータ処理システム200Aの構成を示すブロック図である。図25に示すデータ処理システム200Aは、半導体装置10Aとこれを制御するコントローラ210Aによって構成されている。半導体装置10Aはフラッシュメモリであり、各種のコマンド信号COM(/CE,/WE,/RE,CLE,ALEなど)が入力されるコマンド端子41と、アドレス信号ADDの入力、データDQの送受信及びデータマスク信号DMの入力が行われるIO端子42を備えている。半導体装置10Aは、上述した半導体装置10と同様のECC制御回路100を備えている。コントローラ210Aは、半導体装置10Aに各種のコマンド信号COMやアドレス信号ADDを供給するとともに、データDQの送受信を行う。また、ライト動作時においては、半導体装置10Aにデータマスク信号DMを供給する。このように、本発明をフラッシュメモリに適用することも可能である。このように、本発明はDRAMやSRAMに代表される揮発性メモリのみならず、フラッシュメモリやReRAM、STT−RAM、PRAM等の不揮発性メモリに関しても適用されるものである。
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
2 外部基板
10,10A 半導体装置
11 メモリセルアレイ
12 ロウデコーダ
13 カラムデコーダ
14 データ入出力回路
21 アドレス端子
22 コマンド端子
23 クロック端子
24 データ入出力端子
25 データマスク端子
26,27 電源端子
31 アドレス入力回路
32 アドレスラッチ回路
33 コマンド入力回路
34 コマンドデコーダ
35 クロック入力回路
36 内部クロック発生回路
37 タイミングジェネレータ
37R,37W 信号生成部
38 内部電源発生回路
39 キャリブレーション回路
41 コマンド端子
42 IO端子
100 ECC制御回路
101 リードアンプ
102 ライトアンプ
103,104 マルチプレクサ
105 変換回路
105a 排他的論理和ゲート
105b マルチプレクサ
110 エンコーダ
120 シンドロームジェネレータ
130,140 エラーロケータ
131,132 デコーダ
150 エラーコレクタ
160 マスクエラー検出回路
161,162 検出回路
163 ANDゲート回路
164,166 デコーダ
165,167 ORゲート回路
200,200A データ処理システム
210,210A コントローラ
A0〜A7 データエリア
AND0〜AND63 ANDゲート回路
AP パリティエリア
BANK0〜BANK7 バンク
BLT,BLB ビット線
C セルキャパシタ
E3W〜E7W,E00W〜E07W,E11W〜E13W,E201W〜E216W,E3R〜E7R,E00R〜E07R,E11R〜E13R,E201R〜E216R 排他的論理和回路
G0〜G10 ANDゲート回路
INV1,INV2 インバータ
LIOT/LIOB ローカルデータ線
MC メモリセル
MIOT/MIOB メインデータ線
MUX0〜MUX63 マルチプレクサ
PERICA,PERIDQ 中央領域
PRE プリチャージ回路
Qn1〜Qn14 Nチャンネル型MOSトランジスタ
Qp1〜Qp18 Pチャンネル型MOSトランジスタ
Re 外部抵抗
RWBS リードライトバス
SAMP センスアンプ
T セルトランジスタ
TG スイッチ回路
V1,V2 電源配線
WL ワード線
ZQ キャリブレーション端子
図19に示すように、マスクエラー検出回路160は、第1の検出回路161と第2の検出回路162を含んでいる。第1の検出回路161は、エラービットのバースト位置と、データマスク信号DM0〜DM7によってマスクされたライトデータのバースト位置が一致しているか否かを判定する回路であり、両者が一致した場合には検出信号EDMpreが活性化される。第2の検出回路162は、いずれかのDQ位置にエラービットが含まれるか否かを判定する回路であり、いずれかのDQ位置にエラービットが含まれる場合には検出信号EDQが活性化される

Claims (18)

  1. 複数のメモリセルを含むメモリセルアレイと、
    mビット(mは2以上の整数)のバーストデータが入出力されるように其々構成されるn個(nは2以上の整数)のデータ入出力端子と、
    前記n個のデータ入出力端子が受けるm×nビットのデータからkビット(kは2以上の整数)のパリティを生成し、前記m×nビットのデータ及び前記kビットのパリティを前記メモリセルアレイに保持させ、且つ、前記メモリセルアレイから読みだされた前記m×nビットのデータ及び前記kビットのパリティを用いて前記m×nビットのデータに含まれるエラービットを検出及び訂正するECC制御回路と、を備え、
    前記ECC制御回路は、前記n個のデータ入出力端子に対して共通であり且つ前記mビットのバーストデータに対して其々独立である第1エラー判定信号と、前記mビットのバーストデータに対して共通であり且つ前記n個のデータ入出力端子に対して其々独立である第2エラー判定信号を生成し、前記第1エラー判定信号と前記第2エラー判定信号に基づいて前記エラービットを検出することを特徴とする半導体装置。
  2. 前記ECC制御回路は、前記メモリセルアレイから読み出された前記m×nビットのデータ及び前記kビットのパリティに基づいてjビット(jは2以上の整数)のシンドロームを生成するシンドロームジェネレータを含み、
    前記jビットのシンドロームは、pビット(pは2以上の整数)の第1シンドローム部と、qビット(qは2以上の整数)の第2シンドローム部を含み、
    前記第1エラー判定信号は、前記第1シンドローム部に基づいて生成され、
    前記第2エラー判定信号は、前記第2シンドローム部に基づいて生成される、請求項1に記載の半導体装置。
  3. 前記第1エラー判定信号はmビットであり、前記第2エラー判定信号はnビットである、請求項2に記載の半導体装置。
  4. 前記mビットのバーストデータにそれぞれ対応するmビットのデータマスク信号を受けるデータマスク端子をさらに備えることを特徴とする請求項2又は3に記載の半導体装置。
  5. 前記ECC制御回路は、
    外部から前記n個のデータ入出力端子に入力される前記m×nビットのデータと、前記メモリセルアレイから読み出され、前記エラービットが訂正された前記m×nビットのデータを、前記データマスク信号に基づいて合成する第1のマルチプレクサと、
    外部から前記n個のデータ入出力端子に入力される前記m×nビットのデータと、前記メモリセルアレイから読み出され、前記エラービットが訂正されていない前記m×nビットのデータを、前記データマスク信号に基づいて合成する第2のマルチプレクサと、をさらに備える、請求項4に記載の半導体装置。
  6. 前記ECC制御回路は、前記第1のマルチプレクサから出力される前記m×nビットのデータを前記メモリセルアレイに書き込むライトアンプを含むことを特徴とする請求項5に記載の半導体装置。
  7. 前記ECC制御回路は、前記第2のマルチプレクサから出力される前記m×nビットのデータに基づいて、前記kビットのパリティを生成するエンコーダをさらに含むことを特徴とする請求項6に記載の半導体装置。
  8. 前記ECC制御回路は、前記エンコーダによって生成された前記kビットのパリティを前記qビットのシンドロームに基づいて変換する変換回路をさらに含むことを特徴とする請求項7に記載の半導体装置。
  9. 前記変換回路は、前記第1シンドローム部が示すバーストデータと前記データマスク信号が示すバーストデータに基づいて制御されることを特徴とする請求項8に記載の半導体装置。
  10. 前記変換回路は、前記第1シンドローム部が示すバーストデータと前記データマスク信号が示すバーストデータが一致しない場合、前記エンコーダによって生成された前記kビットのパリティをそのまま出力することを特徴とする請求項9に記載の半導体装置。
  11. 前記変換回路は、前記第1シンドローム部が示すバーストデータと前記データマスク信号が示すバーストデータが一致する場合、前記エンコーダによって生成された前記kビットのパリティと前記qビットのシンドロームを論理合成することを特徴とする請求項9又は10に記載の半導体装置。
  12. メモリセルアレイと、
    前記メモリセルアレイから読み出されたm×nビット(m及びnはいずれも2以上の整数)のリードデータ及びリードパリティに基づいてシンドロームを生成するシンドロームジェネレータと、
    前記シンドロームに基づいて前記リードデータに含まれるエラービットの位置を特定するエラーロケータと、を備え、
    前記シンドロームは、pビット(pは2以上の整数)の第1シンドローム部と、qビット(qは2以上の整数)の第2シンドローム部を含み、
    前記エラーロケータは、前記第1シンドローム部に基づいて前記エラービットの前記mビット内の位置を特定し、前記第2シンドローム部に基づいて前記エラービットの前記nビット内の位置を特定することを特徴とする半導体装置。
  13. 前記エラーロケータは、前記第1シンドローム部をデコードすることによってmビットの第1エラー判定信号を生成する第1のデコーダと、前記第2シンドローム部をデコードすることによってnビットの第2エラー判定信号を生成する第2のデコーダと、前記第1及び第2エラー判定信号に基づいてエラービットの位置を特定する第3のデコーダと、を含む請求項12に記載の半導体装置。
  14. m×nビットのライトデータに基づいてライトパリティを生成するエンコーダと、
    前記ライトデータ及び前記ライトパリティを前記メモリセルアレイに書き込むライトアンプと、をさらに備える、請求項12又は13に記載の半導体装置。
  15. 前記シンドロームと、前記ライトデータの前記mビットにそれぞれ対応するmビットのデータマスク信号とに基づいて、前記ライトパリティの値を変換する変換回路をさらに備える、請求項14の半導体装置。
  16. メモリセルアレイと、
    それぞれ複数のライトデータがバースト入力される複数のデータ入出力端子と、
    前記複数のバーストデータにそれぞれ対応する複数のデータマスク信号を受けるデータマスク端子と、
    前記ライトデータと前記メモリセルアレイから読み出された複数のリードデータを、前記データマスク信号に基づいて合成することによりパリティ生成用データを生成するマルチプレクサと、
    前記パリティ生成用データに基づいてライトパリティを生成するエンコーダと、
    前記リードデータと前記メモリセルアレイから読み出されたリードパリティに基づいてシンドロームを生成するシンドロームジェネレータと、
    前記シンドローム及び前記データマスク信号に基づいて、前記ライトパリティの値を変換する変換回路と、を備えることを特徴とする半導体装置。
  17. 前記変換回路は、前記シンドロームが示すバーストデータと前記データマスク信号が示すバーストデータが一致しない場合、前記エンコーダによって生成された前記ライトパリティをそのまま出力することを特徴とする請求項16に記載の半導体装置。
  18. 前記変換回路は、前記シンドロームが示すバーストデータと前記データマスク信号が示すバーストデータが一致する場合、前記エンコーダによって生成された前記ライトパリティと前記シンドロームを論理合成することを特徴とする請求項16又は17に記載の半導体装置。
JP2015002415A 2015-01-08 2015-01-08 半導体装置 Pending JP2016126813A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015002415A JP2016126813A (ja) 2015-01-08 2015-01-08 半導体装置
US14/852,259 US9690653B2 (en) 2015-01-08 2015-09-11 Semiconductor device having error correction code (ECC) circuit
US15/601,652 US10409675B2 (en) 2015-01-08 2017-05-22 Semiconductor device having error correction code (ECC) circuit
US16/529,600 US11016845B2 (en) 2015-01-08 2019-08-01 Semiconductor device having error correction code (ECC) circuit
US17/239,471 US11436084B2 (en) 2015-01-08 2021-04-23 Semiconductor device having error correction code (ECC) circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015002415A JP2016126813A (ja) 2015-01-08 2015-01-08 半導体装置

Publications (1)

Publication Number Publication Date
JP2016126813A true JP2016126813A (ja) 2016-07-11

Family

ID=56357022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015002415A Pending JP2016126813A (ja) 2015-01-08 2015-01-08 半導体装置

Country Status (2)

Country Link
US (4) US9690653B2 (ja)
JP (1) JP2016126813A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022511017A (ja) * 2018-12-06 2022-01-28 マイクロン テクノロジー,インク. 適応シンドロームデコーダを用いた直接入力冗長スキーム
JP2022511806A (ja) * 2018-12-06 2022-02-01 マイクロン テクノロジー,インク. 専用誤り訂正符号回路を用いた直接入力冗長方式
JP2022520666A (ja) * 2019-02-19 2022-03-31 マイクロン テクノロジー,インク. メモリデバイス上でのエラー補正

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6098301B2 (ja) * 2013-03-29 2017-03-22 富士通株式会社 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
JP2016126813A (ja) 2015-01-08 2016-07-11 マイクロン テクノロジー, インク. 半導体装置
KR20170121798A (ko) * 2016-04-26 2017-11-03 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
US10243584B2 (en) * 2016-05-11 2019-03-26 Samsung Electronics Co., Ltd. Memory device including parity error detection circuit
US10289486B2 (en) * 2017-07-13 2019-05-14 Omnivision Technologies, Inc. Memory with pattern oriented error correction code
KR102580944B1 (ko) * 2018-04-20 2023-09-20 삼성전자주식회사 에러 정정 기능을 갖는 메모리 장치와 그 동작 방법
US10795759B2 (en) * 2018-09-10 2020-10-06 Micron Technology, Inc. Apparatuses and methods for error correction coding and data bus inversion for semiconductor memories
US11269720B2 (en) 2019-08-11 2022-03-08 Winbond Electronics Corp. Memory storage apparatus and data access method
US20210306006A1 (en) * 2019-09-23 2021-09-30 SK Hynix Inc. Processing-in-memory (pim) devices
US11169876B2 (en) 2019-12-31 2021-11-09 Micron Technology, Inc. Apparatuses, systems, and methods for error correction
US11424001B2 (en) * 2020-02-07 2022-08-23 Micron Technology, Inc. Apparatuses, systems, and methods for error correction
JP2021150733A (ja) * 2020-03-17 2021-09-27 キオクシア株式会社 半導体装置及び半導体記憶装置
US11816339B2 (en) * 2020-09-07 2023-11-14 Micron Technology, Inc. Selectable error control for memory device
US11422888B2 (en) * 2020-10-14 2022-08-23 Western Digital Technologies, Inc. Data integrity check for writing data in memory
US11928021B2 (en) 2022-03-31 2024-03-12 Micron Technology, Inc. Systems and methods for address fault detection

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58219852A (ja) * 1982-06-15 1983-12-21 Toshiba Corp エラ−訂正回路
US4845713A (en) * 1987-06-08 1989-07-04 Exabyte Corporation Method and apparatus for determining the coefficients of a locator polynomial
US5384788A (en) * 1992-10-26 1995-01-24 Dell Usa, L.P. Apparatus and method for optimal error correcting code to parity conversion
US5483236A (en) * 1993-12-20 1996-01-09 At&T Corp. Method and apparatus for a reduced iteration decoder
US5771246A (en) * 1996-09-17 1998-06-23 Quantum Corporation Multiple-burst-correction system
US6738942B1 (en) * 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
US6981202B2 (en) * 2001-01-08 2005-12-27 Nokia Corporation Method and system for allocating convolutional encoded bits into symbols before modulation for wireless communication
US6981196B2 (en) * 2001-07-25 2005-12-27 Hewlett-Packard Development Company, L.P. Data storage method for use in a magnetoresistive solid-state storage device
TW522657B (en) * 2002-01-17 2003-03-01 Via Tech Inc PGZ algorithm based multi-mode Reed-Solomon decoder and its method
GB0228434D0 (en) * 2002-12-05 2003-01-08 Scient Generics Ltd Error correction
JP4256198B2 (ja) * 2003-04-22 2009-04-22 株式会社東芝 データ記憶システム
JP2005025827A (ja) * 2003-06-30 2005-01-27 Toshiba Corp 半導体集積回路装置およびそのエラー検知訂正方法
US7171591B2 (en) * 2003-12-23 2007-01-30 International Business Machines Corporation Method and apparatus for encoding special uncorrectable errors in an error correction code
JP2005327437A (ja) * 2004-04-12 2005-11-24 Nec Electronics Corp 半導体記憶装置
JP4791831B2 (ja) * 2006-01-20 2011-10-12 株式会社東芝 半導体記憶装置
JP4846384B2 (ja) * 2006-02-20 2011-12-28 株式会社東芝 半導体記憶装置
US7506226B2 (en) * 2006-05-23 2009-03-17 Micron Technology, Inc. System and method for more efficiently using error correction codes to facilitate memory device testing
US7739576B2 (en) * 2006-08-31 2010-06-15 Micron Technology, Inc. Variable strength ECC
JP4247262B2 (ja) * 2006-09-29 2009-04-02 株式会社東芝 集積回路装置
KR100891332B1 (ko) * 2007-03-30 2009-03-31 삼성전자주식회사 에러 정정 부호화기를 이용하여 에러를 체크하는 bch에러 정정 방법 및 회로
JP2009070509A (ja) * 2007-09-14 2009-04-02 Oki Electric Ind Co Ltd 半導体記憶装置
US8255771B2 (en) * 2008-03-14 2012-08-28 Micron Technology, Inc. Memory device repair apparatus, systems, and methods
JP2010009643A (ja) * 2008-06-24 2010-01-14 Toshiba Corp エラー訂正システム
KR101529880B1 (ko) * 2008-10-31 2015-06-19 삼성전자주식회사 에러 추정 방법 및 정정 방법
JP2011197819A (ja) * 2010-03-17 2011-10-06 Toshiba Corp 半導体装置
US8560927B1 (en) * 2010-08-26 2013-10-15 Altera Corporation Memory error detection circuitry
KR101807538B1 (ko) * 2010-12-30 2017-12-12 삼성전자주식회사 듀얼-신드롬 생성기를 포함하는 에러 정정 코드 블록, 이의 동작 방법, 및 상기 에러 정정 코드 블록을 포함하는 시스템
US9270299B2 (en) * 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
JP5346354B2 (ja) * 2011-05-17 2013-11-20 シャープ株式会社 不揮発性半導体記憶装置
JP5509165B2 (ja) * 2011-08-24 2014-06-04 株式会社東芝 誤り訂正符号化装置、誤り訂正復号装置、不揮発性半導体記憶システム及びパリティ検査行列生成方法
US8874995B2 (en) * 2012-02-02 2014-10-28 International Business Machines Corporation Partial-maximum distance separable (PMDS) erasure correcting codes for storage arrays
US9350386B2 (en) * 2012-04-12 2016-05-24 Samsung Electronics Co., Ltd. Memory device, memory system, and method of operating the same
US9235466B2 (en) * 2012-07-03 2016-01-12 Samsung Electronics Co., Ltd. Memory devices with selective error correction code
US9087614B2 (en) * 2012-11-27 2015-07-21 Samsung Electronics Co., Ltd. Memory modules and memory systems
US8959418B1 (en) * 2012-11-30 2015-02-17 Xilinx, Inc. Forward error correction
US9043674B2 (en) * 2012-12-26 2015-05-26 Intel Corporation Error detection and correction apparatus and method
US9698830B2 (en) * 2013-02-28 2017-07-04 Intel Corporation Single-bit first error correction
JP2016126813A (ja) 2015-01-08 2016-07-11 マイクロン テクノロジー, インク. 半導体装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022511017A (ja) * 2018-12-06 2022-01-28 マイクロン テクノロジー,インク. 適応シンドロームデコーダを用いた直接入力冗長スキーム
JP2022511806A (ja) * 2018-12-06 2022-02-01 マイクロン テクノロジー,インク. 専用誤り訂正符号回路を用いた直接入力冗長方式
US11709731B2 (en) 2018-12-06 2023-07-25 Micron Technology, Inc. Direct-input redundancy scheme with adaptive syndrome decoder
US11740964B2 (en) 2018-12-06 2023-08-29 Micron Technology, Inc. Direct-input redundancy scheme with dedicated error correction code circuit
JP2022520666A (ja) * 2019-02-19 2022-03-31 マイクロン テクノロジー,インク. メモリデバイス上でのエラー補正

Also Published As

Publication number Publication date
US20190354432A1 (en) 2019-11-21
US9690653B2 (en) 2017-06-27
US20160203045A1 (en) 2016-07-14
US11436084B2 (en) 2022-09-06
US20170269997A1 (en) 2017-09-21
US10409675B2 (en) 2019-09-10
US11016845B2 (en) 2021-05-25
US20210263796A1 (en) 2021-08-26

Similar Documents

Publication Publication Date Title
JP2016126813A (ja) 半導体装置
KR102467624B1 (ko) 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
US11106535B2 (en) Error correction circuit of semiconductor memory device and semiconductor memory device
US20180182446A1 (en) Semiconductor device verifying signal supplied from outside
US11169876B2 (en) Apparatuses, systems, and methods for error correction
KR102358321B1 (ko) 메모리 시스템, 메모리 장치 및 그의 동작 방법
JP2007042176A (ja) 半導体記憶装置
KR20210078201A (ko) 반도체 메모리 장치 및 메모리 시스템
JP2013114644A (ja) メモリモジュールおよび半導体記憶装置
US11762736B2 (en) Semiconductor memory devices
WO2014185441A1 (ja) 半導体装置
KR20210006616A (ko) 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
US11048583B1 (en) Flexible, low-latency error correction architecture for semiconductor memory products
US20230119555A1 (en) Semiconductor memory devices and memory systems
KR20130102398A (ko) 반도체 메모리 장치의 병렬 비트 테스트 회로
KR20220095576A (ko) 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
US10846009B2 (en) Memory device having global line groups in which data input and output units are different from each other
KR20190114701A (ko) 반도체 메모리 장치, 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR102017182B1 (ko) 반도체 메모리 장치
US11587637B1 (en) Apparatuses, systems, and methods for error correction of selected bit pairs
US11551779B2 (en) Global redundant column select implementation for boundary faults in a memory device
CN117393031A (zh) 半导体存储器件
JP2015204120A (ja) 半導体装置及び情報処理システム
US20240146335A1 (en) Semiconductor memory device and method of operating semiconductor memory device
JP2015170376A (ja) 半導体装置及びこれを備える情報処理システム