JP2009295252A - 半導体記憶装置及びそのエラー訂正方法 - Google Patents

半導体記憶装置及びそのエラー訂正方法 Download PDF

Info

Publication number
JP2009295252A
JP2009295252A JP2008149703A JP2008149703A JP2009295252A JP 2009295252 A JP2009295252 A JP 2009295252A JP 2008149703 A JP2008149703 A JP 2008149703A JP 2008149703 A JP2008149703 A JP 2008149703A JP 2009295252 A JP2009295252 A JP 2009295252A
Authority
JP
Japan
Prior art keywords
bit
data
error
bit line
user data
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
JP2008149703A
Other languages
English (en)
Inventor
Kenichiro Tominaga
謙一郎 冨永
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2008149703A priority Critical patent/JP2009295252A/ja
Publication of JP2009295252A publication Critical patent/JP2009295252A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】従来のエラー訂正方法ではビット線の固着不良に起因する1ビットのビット誤りを含む2ビットのビット誤りを訂正することができない問題があった。
【解決手段】本発明にかかる半導体記憶装置は、同一のワード線方向に一群のデータが格納される複数のデータ格納セルが配置され、データとして予め定められた値を有するリファレンスデータが格納されるリファレンスデータ格納領域と、データとして他の回路から入力される第1のユーザーデータが格納されるユーザーデータ領域と、を備える記憶部10と、リファレンスデータと、第1のユーザーデータとに基づき、固着不良が発生したビット線の位置を示す不良ビット線情報A3を出力する書き込み制御部20と、不良ビット線情報A3と第1のユーザーデータに含まれる1ビット訂正用パリティデータに基づき、第1のユーザーデータに対するエラー訂正を行うエラー訂正回路70と、を有する。
【選択図】図1

Description

本発明は半導体記憶装置及びそのエラー訂正方法に関し、特に1ビット誤りを訂正する1ビット訂正用パリティデータを用いて2ビットの誤りデータを含む読み出しデータのエラー訂正を行う半導体記憶装置及びそのエラー訂正方法に関する。
半導体記憶装置では、原則的には書き込んだデータが動作中に失われない特性を有するが、何らかの故障により半導体記憶装置において保持しているデータに欠損が生じる保持不良がある。このような保持不良が発生した場合、半導体記憶装置に格納されたデータに基づき動作するCPU等が誤ったデータを読み込むことで暴走するおそれがある。そこで、半導体記憶装置では、保持しているデータに誤りが含まれる場合であっても、その誤りを訂正(エラー訂正)することで、半導体記憶装置が搭載されるシステムの異常動作を防止することが行われている。
このエラー訂正方法の1つにECC(Error Correcting Code)を用いた方法がある。ECCによるエラー訂正方法では、データに含まれる1ビットの誤りを訂正するために複数のビットで構成されるパリティデータ(あるいは検査ビット)を用いる。例えば、32ビットで一群のデータが構成されるデータに対して1ビットの誤りを訂正する場合、6ビットのパリティデータが用いられる。また、32ビットのデータに対して1ビットの誤り訂正と2ビットの誤り検出を行う場合、パリティデータは7ビットになる。さらに、32ビットのデータに対して2ビットの誤り訂正を行う場合、パリティデータは13ビットになる。
このように、ECCによるエラー訂正方法は、訂正する誤りデータの個数が増加するとパリティデータのビット数が増加する特性を有する。そのため、訂正する誤りデータの個数が増加すると、パリティデータが半導体記憶装置の記憶容量に占める割合が増加する。パリティデータは、本来記憶したいデータに対して付加される冗長データであるため、パリティデータの増加により半導体記憶装置の記憶容量が減少する問題がある。そこで、少ないパリティデータで多くの誤りデータを訂正するエラー訂正方法が特許文献1に開示されている。
特許文献1に記載のエラー訂正回路100のブロック図を図8に示す。図8に示すようにエラー訂正回路100は、シンドローム生成回路101、排他的論理和回路(EX−OR)102、1ビット誤り検出回路103、1ビット誤りシンドローム記憶回路104、2ビット誤り検出回路105、セレクタ106、デコード回路110、111、訂正回路112を有する。
エラー訂正回路100は、1ビット誤り検出回路103によりデータの1ビット誤りを検出する。そして、1ビット誤りシンドローム記憶回路104は、1ビット誤り検出回路103からの指示によりシンドロームを記憶する。また、2ビット誤り検出回路105において2ビット誤りを検出したときに、XOR回路102によりソフトエラーによる1ビット誤りシンドロームを生成し、セレクタ106を介してそのシンドロームをデコード回路110に与える。デコード回路110はソフトエラーによる誤りを訂正する信号を生成する。同時に、デコード回路111は、1ビット誤りシンドローム記憶回路104が記憶しているシンドロームを、固定故障による1ビット誤り時のシンドロームとして固定故障による誤りを訂正する信号を生成する。そして、訂正回路112がデコード回路110とデコード回路111の指示により2ビット誤りを訂正する。
このように、エラー訂正回路100では、1ビットの誤りが検出されると、検出された1ビットの誤りに対応したシンドロームを記憶する。また、2ビット誤りがあった場合には、記憶されたシンドロームを用いて2ビットの誤りのデータから1ビット誤りのシンドロームを生成する。その後、1番目の誤りに対応するシンドロームと2番目の誤りに対応するシンドロームをそれぞれデコードする。そして、デコードされた値に基づき、エラー箇所の値をそれぞれ反転することでエラー訂正を行う。これにより、エラー訂正回路100では、1ビットの誤り訂正と2ビットの誤り検出に対応する検査ビットを用いて、2ビットの誤り訂正が可能となる。
特開平5−197580号公報
ここで、エラー訂正回路100における課題を説明するための図を図9に示す。図9の左側の図はエラー訂正回路100で対応可能な不良モードにおける記憶部のデータの状態を示し、右側の図はエラー訂正回路100で対応できない不良モードにおける記憶部のデータの状態を示す。図9に示す例では、記憶部は、ビット線B1〜B9及びワード線W1〜W12により特定される複数のデータ格納セルを有するものする。また、記憶部は、ビット線B4及びワード線W5により特定されるデータ格納セルと、ビット線B7及びワード線W3により特定されるデータ格納セルと、ビット線B8及びワード線W9により特定されるデータ格納セルと、に不良データを有するものとする。また、記憶部のデータはワード線単位で読み出され、読み出されたデータ毎にエラー訂正が行われるものとする。
このような場合においてエラー訂正回路100は、図9の左図に示す不良モードに対して、読み出したデータのうち1ビット誤りを含む最初のデータの不良ビットの位置を1ビット誤りシンドローム記憶回路104に記憶する。図9の右図に示す例では、ワード線W5に格納されるデータを誤りデータを含む最初のデータとして読み出したとき、ビット線B4の不良の位置が1ビット誤りシンドローム記憶回路104に記憶される。
このとき、図9の左図に示す例では、他のビット誤りを含むデータには1つのみのエラーが含まれるため、エラー訂正回路100は、他のビット誤りを含むデータに対しては、1ビット誤りシンドローム記憶回路104のシンドロームを使用することなくエラー訂正を行う。
しかしながら、フラッシュメモリ等の半導体記憶装置では、記憶部に対するデータの書き込み動作においてビット線の固着不良が発生することがある。そこで、図9の右図に左図に示す不良モードに加えてビット線B2にビット線の固着不良が発生した場合の記憶部の状態を示す。この場合、ビット誤りを含むデータは、それぞれ2ビットの誤りデータを含むことになる。
このような場合、エラー訂正回路100は、ワード線W5に格納されるデータの2ビットエラーを2ビット誤り検出回路105が検出し、ビット線B4のビット誤り位置をデコード回路111により算出し、ビット線B2のビット誤り位置をデコード回路110により算出する。これにより、エラー訂正回路100は、ワード線W5のデータに対してはエラー訂正が可能になる。
しかしながら、ワード線W3及びワード線W9に格納されるデータのビット誤りは、1ビット誤りシンドローム記憶回路104に記憶されているシンドロームとは異なる位置に2つのビット誤りを有する。一方、エラー訂正回路100は、1ビット誤りシンドローム記憶回路104に記憶しているシンドローム以外のビット誤りに対しては1ビットの誤り訂正能力しかない。そのため、図9の左図に示すような不良モードに対して、エラー訂正回路100は、確実なエラー訂正を行うことができない問題がある。
本発明にかかる半導体記憶装置の一態様は、ビット線により列方向の位置が特定され、ワード線により行方向の位置が特定され、同一のワード線方向に一群のデータが格納される複数のデータ格納セルが配置され、前記データとして予め定められた値を有するリファレンスデータが格納されるリファレンスデータ格納領域と、前記データとして他の回路から入力される第1のユーザーデータが格納されるユーザーデータ領域と、を備える記憶部と、前記リファレンスデータと、前記第1のユーザーデータとに基づき、固着不良が発生した前記ビット線の位置を示す不良ビット線情報を出力する書き込み制御部と、前記不良ビット線情報と前記第1のユーザーデータに含まれる1ビット訂正用パリティデータに基づき、前記第1のユーザーデータに対するエラー訂正を行うエラー訂正回路と、を有する。
また、本発明にかかる半導体記憶装置におけるエラー訂正方法は、ビット線により列方向の位置が特定され、ワード線により行方向の位置が特定され、同一のワード線方向に一群のデータが格納される複数のデータ格納セルが配置さる記憶部を有する半導体記憶装置におけるエラー訂正方法であって、前記記憶部から読み出され、値が予め定められたリファレンスデータと、前記記憶部から読み出され、任意の値により構成される第1のユーザーデータと、に基づき固着不良が発生した前記ビット線の位置を示す不良ビット線情報を生成し、前記不良ビット線情報と前記第1のユーザーデータに含まれる1ビット訂正用パリティデータとに基づき、前記第1のユーザーデータ対するエラー訂正を行う。
本発明にかかる半導体記憶装置及びそのエラー訂正方法では、リファレンスデータとユーザーデータとにより、ビット線の固着不良が発生した位置を検出する。そして、ビット線の固着不良が発生した位置を示す不良ビット線情報とユーザーデータに含まれる1ビット訂正用パリティデータとを用いてユーザーデータに対するエラー訂正を行う。これにより、本発明にかかる半導体記憶装置及びそのエラー訂正方法では、固着不良の位置を特定した固着不良部分のエラー訂正に加え、1ビット訂正用パリティデータによる保持不良等のランダムに発生するビット誤りに対するエラー訂正動作を行うことができる。
本発明にかかるエラー訂正回路によれば、1ビット訂正用パリティデータを用いて固着不良によるビット誤りを含む2ビットのビット誤りに対するエラー訂正を実現することができる。
実施の形態1
以下、本発明の実施の形態について図面を参照して説明する。図1に実施の形態1にかかる半導体記憶装置1のブロック図を示す。図1に示すように、半導体記憶装置1は、記憶部10、書き込み制御部20、書き込みシーケンサ30、不良ビット線情報格納部40、読み出しシーケンサ50、不良ビット線指定レジスタ60、エラー訂正回路70を有している。
記憶部10は、格子状に配置される複数のデータ格納セルを有し、複数のデータ格納セルにはユーザーデータ及びリファレンスデータが格納される。複数のデータ格納セルは、ビット線により列方向の位置が特定され、ワード線により行方向の位置が特定される。そして、記憶部10へのデータの書き込み及び読み出しはワード線単位で行われる。つまり、同一のワード線に接続される複数のデータ格納セルに格納されたデータが一群のデータとして扱われる。また、記憶部10は、ユーザーデータが格納されるユーザーデータ格納領域と、リファレンスデータが格納されるリファレンスデータ格納領域を有する。ユーザーデータ格納領域に対しては、外部から入力されるユーザーデータの書き込みと、すでに格納されているユーザーデータの読み出しが行われる。なお、本実施の形態では、記憶部10としてフラッシュメモリを利用するものとする。
ここで、本実施の形態においては、ユーザーデータは、格納されるデータの本体部分となる処理データ部と処理データ部に含まれるデータに対する1ビット訂正用パリティデータを含むものとする。一方、リファレンスデータは、データに含まれる値がすべて同一となるものであって、予め書き込まれ、半導体記憶装置1の使用時には読み出し動作のみが行われる。本実施の形態では、リファレンスデータは、第1の論理値(例えば"0")のみで構成される(以下、このようなデータの状態をALL0と称す)第1のリファレンスデータと、第2の論理値(例えば"1")のみで構成される(以下、このようなデータの状態をALL1と称す)第2のリファレンスデータと、を有する。
書き込み制御部20は、記憶部10に対するデータの書き込み処理と、書き込んだデータの整合性を確認するベリファイ処理と、ビット線の不良位置を示す不良ビット線情報の出力とを行う。書き込み制御部20は、書き込みデータ格納バッファ21、リファレンスビット誤り検出部22、リファレンスデータ用エラービット格納部23、ベリファイ誤り検出部24、ベリファイ用エラービット格納部25、固着不良検出部26を有する。
書き込みデータ格納バッファ21は、他の回路から入力される書き込みデータをデータの書き込み処理が完了するまでの間保持し、記憶部10に対して出力する。
リファレンスビット誤り検出部22は、記憶部10のリファレンスデータ格納領域から第1のリファレンスデータと第2のリファレンスデータとを順次読み出し、それぞれのリファレンスデータとリファレンスデータに対応する期待値とを比較して、リファレンスデータにおけるビット誤りを検出する。より具体的には、リファレンスビット誤り検出部22は、第1のリファレンスデータとALL0となる期待値との比較、及び、第2のリファレンスデータとALL1となる期待値との比較を行う。そして、リファレンスビット誤り検出部22は、リファレンスデータのいずれかのビットにおいて、期待値と異なるデータがあれば、そのビットのビット線アドレスをリファレンスエラービット情報A1として出力する。また、本実施の形態では、リファレンスデータ用エラービット格納部23が設けられる。リファレンスデータ用エラービット格納部23は、リファレンスビット誤り検出部22が出力するリファレンスエラービット情報A1を格納するレジスタである。
ベリファイ誤り検出部24は、記憶部10のユーザーデータ格納領域からユーザーデータ(以下の説明では、記憶部10から読み出したユーザーデータを第1のユーザーデータと称す)を読み出し、第1のユーザーデータとして書き込まれる書き込みデータ(書き込みデータ格納バッファ21が出力する)と記憶部10から読み出される第1のユーザーデータとを比較する。そして、ベリファイ誤り検出部24は、書き込みデータと書き込みデータに対応する第1のユーザーデータとに不一致の箇所を検出した場合に、そのビットに対応するビット線アドレスをベリファイエラービット情報A2として出力する。また、本実施の形態では、ベリファイ用エラービット格納部25が設けられる。ベリファイ用エラービット格納部25は、ベリファイ誤り検出部24が出力するベリファイエラービット情報A2を格納するレジスタである。
固着不良検出部26は、リファレンスデータ用エラービット格納部23に格納されるリファレンスエラービット情報とベリファイ用エラービット格納部25に格納されるベリファイエラービット情報とを参照し、リファレンスエラービット情報により示されるビット線アドレスとベリファイエラービット情報により示されるビット線アドレスとが一致していれば、その一致したアドレスを不良ビット線情報A3として出力する。つまり、不良ビット線情報A3は、リファレンスデータと第1のユーザーデータとに共通に含まれるビット誤りの位置を示す情報であって、データに含まれるビット誤りの位置を示す情報である。
書き込みシーケンサ30は、書き込み制御部20の各ブロックの動作順序を制御する。また、書き込みシーケンサ30は、不良ビット線指定レジスタ60に格納されている値を参照して、不良ビット線指定レジスタ60に検出された不良ビット線情報A3を格納するか否かを制御する。なお、不良ビット線指定レジスタ60は、不良ビット線情報A3が格納され、格納された値は、エラー訂正回路70により参照される。
不良ビット線情報格納部40は、不揮発性の記憶部であって、不良ビット線情報A3を格納する。本実施の形態では、不良ビット線情報格納部40に格納された不良ビット線情報A3は、半導体記憶装置1の次回の起動時に用いられる。読み出しシーケンサ50は、半導体記憶装置1の起動時に不良ビット線情報格納部40を参照して、不良ビット線指定レジスタに格納する値を決定する。例えば、不良ビット線情報格納部40に不良ビット線情報A3が格納されていれば、その値を不良ビット線指定レジスタ60に格納する。一方、不良ビット線情報格納部40に不良ビット線情報A3が格納されていなければ、ALL0となる値を不良ビット線指定レジスタ60に格納する。
エラー訂正回路70は、不良ビット線情報A3及び第1のユーザーデータに含まれる1ビット訂正用パリティデータに基づき、第1のユーザーデータに含まれるビット誤りを訂正して後段回路に出力する。ここで、エラー訂正回路70の詳細なブロック図を図2に示し、エラー訂正回路70についてさらに詳しく説明する。
図2に示すように、エラー訂正回路70は、第1のECCデコーダ71、第2のECCデコーダ76、セレクタ72、固着不良回復部73を有する。第1のECCデコーダ71は、第1のユーザーデータに含まれる1ビット訂正用パリティデータを用いて第1のユーザーデータに含まれる1ビットのビット誤りの訂正と2ビットのビット誤りの検出とを行う。第1のECCデコーダ71は、1ビットの誤りを訂正した訂正後の第1のユーザーデータを出力データA4として出力する。一方、第1のECCデコーダ71は、2ビットのビット誤りを検出した場合には、2ビット誤り検出信号A5を出力する。
固着不良回復部73は、不良ビット線情報に基づき第1のユーザーデータに含まれる固着不良によるビット誤りに対応する位置のデータを反転させた第2のユーザーデータを出力する。固着不良回復部73は、インバータ74とセレクタ75とを有する。インバータ74は、第1のユーザーデータに含まれるデータの値を反転させる。セレクタ75は、不良ビット線指定レジスタ60から与えられる不良ビット線情報に基づき、固着不良が発生しているビット線に対応する位置のデータをインバータ74により反転されたデータと置き換えて第2のユーザーデータとして出力する。つまり、固着不良回復部73は、第1のユーザーデータのうち固着不良に対応するビット誤りの訂正を行う。
第2のECCデコーダ76は、第2のユーザーデータに含まれる1ビット訂正用パリティデータを用いて第2のユーザーデータに含まれる1ビットのビット誤りの訂正を行う。第2のECCデコーダ76は、1ビットの誤りを訂正した訂正後の第2のユーザーデータを出力データA6として出力する。
セレクタ72は、2ビット誤り検出信号A5に基づき第1のECCデコーダ71が出力する出力データA4と第2のECCデコーダ76が出力する出力データA6とのいずれか一方を選択して出力する。より具体的には、セレクタ72は、2ビット誤り検出信号A5が未検出状態を示す場合は出力データA4を出力し、2ビット誤り検出信号A5が検出態を示す場合は出力データA6を出力する。
次に、実施の形態1にかかる半導体記憶装置1の動作について説明する。半導体記憶装置1では、記憶部10への書き込み処理が行われる度にビット線の固着不良が発生しているか否かを判定する。また、半導体記憶装置1は、記憶部10からユーザーデータを読み出す場合、ユーザーデータに含まれるビット誤りの個数に応じてエラー訂正方法を選択する。以下では、書き込み処理の手順と読み出し処理の手順とに分けて半導体記憶装置1の動作について説明する。
図3、4に半導体記憶装置1における書き込み処理の手順を示すフローチャートを示す。まず、書き込み処理が開始されると、半導体記憶装置1はベリファイ処理によりユーザーデータの書き込みが正常に行われたか否かを判断する(ステップS1〜S5)。
ステップS1では、書き込みデータ格納バッファ21が出力するユーザーデータを記憶部10に書き込む書き込み動作が行われる。そして、ステップS2において、ステップS1で書き込んだデータを読み出し、書き込みデータと読み出しデータ(第1のユーザーデータ)とが一致しているか否かを判断するベリファイ処理が行われる。このベリファイ処理はベリファイ誤り検出部24によって行われる。そして、ステップS3においてステップS2の一致比較結果を参照し、一致比較結果が一致状態を示している場合は、書き込みエラー(ベリファイエラー)なしとして書き込み動作を正常終了する。一方、ステップS3において一致比較結果が不一致状態を示している場合は、書き込みベリファイエラーが存在するとして、ステップS4に進む。ステップS4では、書き込み動作のリトライ回数を判断し、リトライ回数が上限値に未だ達していない場合は、リトライ動作により、処理をステップS1に戻す。一方、ステップS4においてリトライ回数が上限値に達していると判断された場合、処理をステップS5に進める。ステップS5の処理は、ステップS4までに判明したビット誤りが発生しているビット線アドレスをベリファイエラービット情報としてベリファイ用エラービット格納部25に格納する。なお、ステップS4の判断処理は、書き込みシーケンサ30が行う。また、ステップS5の格納処理は、書き込みシーケンサ30が判断結果に基づきベリファイ用エラービット格納部25に制御指示を与えることで行われる。
続いて、半導体記憶装置1は、ステップS6〜S8においてリファレンスデータのビット誤りの検索を行う。まず、ステップS6においてリファレンスビット誤り検出部22が記憶部10から第1及び第2のリファレンスデータを読み出す。そして、ステップS7において、リファレンスビット誤り検出部22は、第1のリファレンスデータが期待値(例えば、ALL0)と一致するか及び第2のリファレンスデータが期待値(例えば、ALL1)と一致するかを判断する。このとき、第1のリファレンスデータ及び第2のリファレンスデータがいずれも期待値と一致した場合は、書き込みエラーが発生したものと判断し、書き込みを終了する。一方、第1のリファレンスデータと第2のリファレンスデータのいずれかに不一致のビットがあった場合、ステップS8に進む。ステップS8では、書き込みシーケンサ30がリファレンスデータ用エラービット格納部23に格納指示を与え、リファレンスデータ用エラービット格納部23にステップS7において検出された不一致部分に相当するビット線アドレスをリファレンスエラービット情報として格納する。
次に、半導体記憶装置1は、発生したビット誤りがビット線の固着不良によるものか否かをステップS9、S10で判断する。ステップS9では、ベリファイエラービット情報に含まれるビット線アドレスとリファレンスエラービット情報に含まれるビット線アドレスとの一致比較結果を判断する。ステップS9における判断において、不一致と判断された場合、書き込みエラーが発生したとして書き込み処理を終了する。一方、ステップS9における判断において、一致と判断された場合、ステップS10に進む。ステップS10では、ベリファイエラービット情報に含まれるビット誤りの個数又はリファレンスエラービット情報に含まれるビット誤りの個数が1ビットであるか否かを判断する。ステップS10の判断において、ビット誤りの個数が2ビット以上あると判断された場合、書き込みエラーが発生したとして書き込み処理を終了する。一方、ステップS10の判断において、ビット誤りの個数が1ビットであると判断された場合、固着不良検出部26は、検出された1ビット分のビット線アドレスを不良ビット線情報として出力し、ステップS11に処理を進める。なお、ステップS9及びS10の判断処理は、固着不良検出部26において行われる処理である。
ステップS11〜S14の処理では、検出結果となる不良ビット線情報を不良ビット線指定レジスタ60及び不良ビット線情報格納部40に格納するか否かを判断する。ステップS11では、書き込みシーケンサ30が、不良ビット線指定レジスタ60に格納されている値を参照し、以前の動作において検出された不良ビット線情報があるか否かを判断する。このとき、不良ビット線指定レジスタ60に格納されている値がALL0であれば、以前の動作において不良ビット線情報が検出されていないと判断し、ステップS12の処理に進む。
ステップS12では、書き込みシーケンサ30の制御指示に応じて、不良ビット線指定レジスタ60にステップS11において出力された不良ビット線情報が格納される。また、ステップS13では、不良ビット線情報格納部40にステップS11において出力された不良ビット線情報が格納される。ステップS13が完了すると、書き込み処理は正常終了する。
一方、ステップS11において、不良ビット線指定レジスタ60に格納されている値がALL0でないと判断された場合、以前の動作において検出された不良ビット線情報があると判断し、ステップS14の処理に進む。ステップS14では、書き込みシーケンサ30が、すでに不良ビット線指定レジスタ60に格納されている不良ビット線情報とステップS10で検出された不良ビット線情報とが一致するか否かを判断する。ステップS14の判断において、一致すると判断された場合、以前に検出された不良ビット線情報と今回検出された不良ビット線情報に相違がないため、書き込み処理を正常終了する。一方、ステップS14の判断において、不一致であると判断された場合、以前に検出された不良ビット線情報と今回検出された不良ビット線情報に違いがあるため、書き込みエラーとして終了する。
続いて、半導体記憶装置1における読み出し処理の手順のフローチャートを図5、6に示し、この処理について説明する。半導体記憶装置1では、半導体記憶装置1に起動後であって半導体記憶装置1の通常動作前に、まず、不良ビット線情報格納部40から以前に検出された不良ビット線情報を読み込み、通常動作前の設定を行う(ステップS20〜S25)。
ステップS20では、まず半導体記憶装置1のリセットを解除する。その後、ステップS21において、読み出しシーケンサ50が、不良ビット線情報格納部40から不良ビット線情報を読み出す。そして、ステップS22では、読み出しシーケンサ50が不良ビット線情報格納部40に不良ビット線情報が存在するか否かを判定する。ステップS22において、不良ビット線情報格納部40に以前に検出された不良ビット線情報がないと判断された場合、ステップS23で読み出しシーケンサ50は、不良ビット線指定レジスタ60にALL0を設定する。一方、ステップS22不良ビット線情報格納部40に以前に検出された不良ビット線情報があると判断された場合、ステップS24で読み出しシーケンサ50は、不良ビット線指定レジスタ60に読み出した不良ビット線情報を設定する。
ステップS23又はステップS24の動作が完了すると半導体記憶装置1は通常動作を開始する(ステップS25)。そして、ステップS26において、他の回路からユーザーデータの読み出し要求が発生すると、記憶部10から第1のユーザーデータが読み出される。
半導体記憶装置1は、読み出した第1のユーザーデータにおいてビット誤りがあるか否かをエラー訂正回路70の第1のECCデコーダ71で判断する(ステップS27)。このとき、第1のユーザーデータにビット誤りがなければ、読み出した第1のユーザーデータをそのまま後段回路に出力することで、正常なデータが読み出される。一方、ステップS27において、ビット誤りがあると判断された場合、第1のECCデコーダ71は、ビット誤りの個数を判定する(ステップS28)。ステップS28において、ビット誤りの個数が1つであると判断された場合、第1のECCデコーダにおいて1ビットのビット誤りを訂正して訂正後の第1のユーザーデータを読み出しデータとして、正常終了する(ステップS29)。一方、ステップS28において、ビット誤りの個数が2つであると判断された場合、ステップS30に進む。
ステップS30では、固着不良回復部73は、不良ビット線指定レジスタ60によって指定された1ビットのデータを訂正(反転)させ、さらに第2のECCデコーダ76が、残りの1ビット誤りを訂正して読み出しデータとして出力することで、正常なデータが読み出し可能となる。
上記説明より、本実施の形態にかかる半導体記憶装置1は、書き込み制御部20において検出されたビット線の固着不良に起因するビット誤りの位置を示す不良ビット線情報を生成し、この不良ビット線情報に基づき固着不良に起因するビット誤りを訂正し、保持不良等に起因するビット誤りは1ビット訂正用パリティデータを用いて訂正する。
ここで、本実施の形態にかかる半導体記憶装置1において訂正可能な記憶部10の不良モードを図7に示す。図7の左図に示す不良モードはビット線の固着不良が発生していないものであり、図7の右図に示す不良モードはビット線の固着不良が発生した場合のものである。図7の左図に示す不良モードは、データに保持不良による不良が1つ含まれるものである。本実施の形態にかかる半導体記憶装置1では、図7の左図に示す不良モードに対しては、第1のECCデコーダ71によるエラー訂正が行われる。一方、図7の右図に示す不良モードは、各データにビット線の固着不良によるビット誤りと保持不良によるビット誤りとを含む。本実施の形態にかかる半導体記憶装置1では、図7の右図に示す不良モードに対しては、固着不良回復部73と第2のECCデコーダ76によるエラー訂正が行われる。
このように、半導体記憶装置1では、ビット線固着不良に起因するビット誤りの位置を不良ビット線情報により特定できるため、第1のユーザーデータに含まれる1ビット訂正用パリティデータを保持不良によるビット誤りの訂正に用いることができる。これにより、半導体記憶装置1は、ビット線の固着不良による1ビットのビット誤りを含む2ビットの誤り訂正を1ビット訂正用パリティデータのみで行うことができる。このように、少ない訂正ビット数に対応したパリティデータによって、より多くの誤りを訂正することで、半導体記憶装置1では、記憶部の記憶容量に占める冗長データの割合を削減できるため、記憶容量の増大とデータの信頼性の向上とを実現することができる。
また、半導体記憶装置1がフラッシュメモリ等である場合、データの書き込み時におけるビット線の固着不良が発生する可能性がある。しかしながら、このような半導体記憶装置において、本実施の形態にかかるエラー訂正方法を利用することで、ビット線の固着不良に対するパリティデータを必要としない。つまり、本実施の形態にかかる半導体記憶装置によれば、ビット線の固着不良に対応するために記憶部10の記憶容量を犠牲にすることがない。
さらに、本実施の形態にかかる半導体記憶装置1によれば、不良ビット線情報を生成する場合に、従来から行われているベリファイ処理にリファレンスデータの整合性の判断処理及びベリファイ処理の結果とリファレンスデータの整合性の判断処理の結果の比較処理を加えるのみである。追加される処理は、比較動作だけで複雑な計算を必要としないため、半導体記憶装置1の処理能力に与える影響は非常に軽微であり、動作速度を損なうことはない。また、書き込み時においてベリファイ後の処理(図3のステップS3以降の処理)が発生することは稀であるため、このことからも半導体記憶装置1は動作速度を損なうことはないと言える。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、エラー訂正に用いられる回路は、ECC処理に対応したものでなくてもよく、そのシステムにおいて用いられるエラー訂正方法を実現できるエラー訂正回路を用いることが可能である。
実施の形態1にかかる半導体記憶装置のブロック図である。 実施の形態1にかかるエラー訂正回路のブロック図である。 実施の形態1にかかる半導体記憶装置の書き込み処理の手順を示すフローチャートである。 図3のフローチャートに続くフローチャートである。 実施の形態1にかかる半導体記憶装置の読み出し処理の手順を示すフローチャートである。 図5のフローチャートに続くフローチャートである。 実施の形態1にかかる半導体記憶装置において対応可能な記憶部の不良モードを示す図ある。 従来例にかかる半導体記憶装置のブロック図である。 従来例にかかる半導体記憶装置において対応できない記憶部の不良モードを示す図ある。
符号の説明
1 半導体記憶装置
10 記憶部
20 書き込み制御部
21 データ格納バッファ
22 リファレンスビット誤り検出部
23 リファレンスデータ用エラービット格納部
24 ベリファイ誤り検出部
25 ベリファイ用エラービット格納部
26 固着不良検出部
30 書き込みシーケンサ
40 不良ビット線情報格納部
50 読み出しシーケンサ
60 不良ビット線指定レジスタ
70 エラー訂正回路
71、76 ECCデコーダ
72、75 セレクタ
73 固着不良回復部
74 インバータ
A1 リファレンスエラービット情報
A2 ベリファイエラービット情報
A3 不良ビット線情報
A4、A6 出力データ
A5 2ビット誤り検出信号

Claims (14)

  1. ビット線により列方向の位置が特定され、ワード線により行方向の位置が特定され、同一のワード線方向に一群のデータが格納される複数のデータ格納セルが配置され、前記データとして予め定められた値を有するリファレンスデータが格納されるリファレンスデータ格納領域と、前記データとして他の回路から入力される第1のユーザーデータが格納されるユーザーデータ領域と、を備える記憶部と、
    前記リファレンスデータと、前記第1のユーザーデータとに基づき、固着不良が発生した前記ビット線の位置を示す不良ビット線情報を出力する書き込み制御部と、
    前記不良ビット線情報と前記第1のユーザーデータに含まれる1ビット訂正用パリティデータに基づき、前記第1のユーザーデータに対するエラー訂正を行うエラー訂正回路と、
    を有する半導体記憶装置。
  2. 前記エラー訂正回路は、
    前記第1のユーザーデータにおける1ビットのビット誤りの訂正と、前記第1のユーザーデータにおける2ビットのビット誤りを検出して2ビット誤り検出信号の出力と、を行う第1のエラー訂正回路と、
    前記不良ビット線情報に基づき前記第1のユーザーデータのうち前記固着不良によるビット誤りに対応する位置のデータを反転させた第2のユーザーデータを出力する固着不良回復部と、
    前記第2のユーザーデータにおける1ビットのビット誤りを訂正する第2のエラー訂正回路と、
    前記2ビット誤り検出信号に基づき前記第1のエラー訂正回路の出力と前記第2のエラー訂正回路の出力のいずれか一方を出力するセレクタと、
    を有する請求項1に記載の半導体記憶装置。
  3. 前記書き込み制御部は、
    前記リファレンスデータと当該リファレンスデータの期待値とを比較して読み出した前記リファレンスデータにおけるビット誤り位置を検出し、リファレンスエラービット情報を出力するリファレンスビット誤り検出部と、
    前記記憶部に書き込まれる書き込みデータと前記書き込みデータに対応する前記第1のユーザーデータとを比較して前記第1のユーザーデータにおけるビット誤りの位置を検出し、ベリファイエラービット情報を出力するベリファイ誤り検出部と、
    前記リファレンスエラービット情報におけるビット誤り位置と前記ベリファイエラービット情報におけるビット誤り位置とが一致した場合に当該一致したビット誤り位置を不良ビット線情報として出力する固着不良検出部と、
    を有する請求項1又は2に記載の半導体記憶装置。
  4. 前記固着不良検出部は、前記リファレンスエラービット情報に含まれるビット誤り位置の個数と前記ベリファイエラービット情報に含まれるビット誤り位置の個数との和が2以上である場合、前記記憶部への前記書き込みデータの書き込みが失敗したと判断し、前記不良ビット線情報を出力しない請求項3に記載の半導体記憶装置。
  5. 前記リファレンスデータは、データに含まれるすべての値が第1の論理値となる第1のリファレンスデータと、データに含まれるすべての値が第2の論理値となる第2のリファレンスデータと、を含む請求項1乃至4のいずれか1項に記載の半導体記憶装置。
  6. 前記不良ビット線情報を格納し、格納した前記不良ビット線情報を前記エラー訂正回路に通知する不良ビット線指定レジスタを有する請求項1乃至5のいずれか1項に記載の半導体記憶装置。
  7. 不揮発性の記憶装置であって、前記不良ビット線情報を格納する不良ビット線情報格納部を有する請求項1乃至6のいずれか1項に記載の半導体記憶装置。
  8. 前記記憶部は、フラッシュメモリである請求項1乃至7のいずれか1項に記載の半導体記憶装置。
  9. ビット線により列方向の位置が特定され、ワード線により行方向の位置が特定され、同一のワード線方向に一群のデータが格納される複数のデータ格納セルが配置さる記憶部を有する半導体記憶装置におけるエラー訂正方法であって、
    前記記憶部から読み出され、値が予め定められたリファレンスデータと、前記記憶部から読み出され、任意の値により構成される第1のユーザーデータと、に基づき固着不良が発生した前記ビット線の位置を示す不良ビット線情報を生成し、
    前記不良ビット線情報と前記第1のユーザーデータに含まれる1ビット訂正用パリティデータとに基づき、前記第1のユーザーデータに対するエラー訂正を行うエラー訂正方法。
  10. 前記誤りデータの訂正は、
    前記第1のユーザーデータに1ビットのビット誤りが含まれる場合は、前記1ビット訂正用パリティデータを用いて行われ、
    前記第1のユーザーデータに2ビットのビット誤りが含まれる場合は、前記不良ビット線情報に基づき前記第1のユーザーデータのうち前記固着不良によるビット誤りに対応する位置のデータを反転させた第2のユーザーデータを生成し、
    前記第2のユーザーデータに対して前記1ビット訂正用パリティデータを用いて行われる請求項9に記載のエラー訂正方法。
  11. 前記不良ビット線情報は、
    前記リファレンスデータと当該リファレンスデータの期待値とを比較して読み出した前記リファレンスデータにおけるビット誤り位置を示すリファレンスエラービット情報を生成し、
    前記記憶部に書き込まれる書き込みデータと前記書き込みデータに対応する前記第1のユーザーデータとを比較して前記第1のユーザーデータにおけるビット誤りの位置を示すベリファイエラービット情報を生成し、
    前記リファレンスエラービット情報におけるビット誤り位置と前記ベリファイエラービット情報におけるビット誤り位置とが一致した場合に当該一致したビット誤り位置を含む情報として生成される請求項9又は10に記載のエラー訂正方法。
  12. 前記不良ビット線情報は、前記リファレンスエラービット情報に含まれるビット誤り位置の個数と前記ベリファイエラービット情報に含まれるビット誤り位置の個数との和が2以上である場合は生成されない請求項11に記載のエラー訂正方法。
  13. 前記リファレンスデータは、データに含まれるすべての値が第1の論理値となる第1のリファレンスデータと、データに含まれるすべての値が第2の論理値となる第2のリファレンスデータと、を含む請求項9乃至12のいずれか1項に記載のエラー訂正方法。
  14. 前記記憶部は、フラッシュメモリである請求項9乃至13のいずれか1項に記載のエラー訂正方法。
JP2008149703A 2008-06-06 2008-06-06 半導体記憶装置及びそのエラー訂正方法 Pending JP2009295252A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008149703A JP2009295252A (ja) 2008-06-06 2008-06-06 半導体記憶装置及びそのエラー訂正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008149703A JP2009295252A (ja) 2008-06-06 2008-06-06 半導体記憶装置及びそのエラー訂正方法

Publications (1)

Publication Number Publication Date
JP2009295252A true JP2009295252A (ja) 2009-12-17

Family

ID=41543288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008149703A Pending JP2009295252A (ja) 2008-06-06 2008-06-06 半導体記憶装置及びそのエラー訂正方法

Country Status (1)

Country Link
JP (1) JP2009295252A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012119813A (ja) * 2010-11-30 2012-06-21 Nec Corp エラー訂正回路及びエラー訂正方法
JP2013020683A (ja) * 2011-07-14 2013-01-31 Toshiba Corp 不揮発性半導体メモリ
JP2016165033A (ja) * 2015-03-06 2016-09-08 日本電気株式会社 エラー訂正装置、エラー訂正システム及びエラー訂正方法
US9904491B2 (en) 2015-01-05 2018-02-27 Samsung Electronics Co., Ltd. Memory device, memory system, and method of operating the device
CN109754828A (zh) * 2017-11-02 2019-05-14 三星电子株式会社 半导体存储器装置及其操作方法、存储器系统
JP2022511017A (ja) * 2018-12-06 2022-01-28 マイクロン テクノロジー,インク. 適応シンドロームデコーダを用いた直接入力冗長スキーム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012119813A (ja) * 2010-11-30 2012-06-21 Nec Corp エラー訂正回路及びエラー訂正方法
JP2013020683A (ja) * 2011-07-14 2013-01-31 Toshiba Corp 不揮発性半導体メモリ
US8711604B2 (en) 2011-07-14 2014-04-29 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory and data processing method in non-volatile semiconductor memory
US9904491B2 (en) 2015-01-05 2018-02-27 Samsung Electronics Co., Ltd. Memory device, memory system, and method of operating the device
JP2016165033A (ja) * 2015-03-06 2016-09-08 日本電気株式会社 エラー訂正装置、エラー訂正システム及びエラー訂正方法
CN109754828A (zh) * 2017-11-02 2019-05-14 三星电子株式会社 半导体存储器装置及其操作方法、存储器系统
CN109754828B (zh) * 2017-11-02 2023-09-19 三星电子株式会社 半导体存储器装置及其操作方法、存储器系统
JP2022511017A (ja) * 2018-12-06 2022-01-28 マイクロン テクノロジー,インク. 適応シンドロームデコーダを用いた直接入力冗長スキーム
US11709731B2 (en) 2018-12-06 2023-07-25 Micron Technology, Inc. Direct-input redundancy scheme with adaptive syndrome decoder

Similar Documents

Publication Publication Date Title
KR100645058B1 (ko) 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법
TWI465897B (zh) 記憶體模組之錯誤檢查與校正系統以及方法
JP3839215B2 (ja) 誤り検出・訂正方法、計算機システムの主記憶制御装置、及び計算機システム
JP4585520B2 (ja) 試験装置及び試験方法
US10467091B2 (en) Memory module, memory system including the same, and error correcting method thereof
JP7303408B2 (ja) 欠陥検出を備えるエラー補正ハードウェア
WO2009089716A1 (fr) Procédé et dispositif de vérification de données
KR20170135691A (ko) 복수의 데이터 비트와 복수의 어드레스 비트로 이루어진 블록용 에러 코드 발생장치 및 방법
TWI446160B (zh) 快閃記憶體控制器及資料讀取方法
JP2009295252A (ja) 半導体記憶装置及びそのエラー訂正方法
JPH03248251A (ja) 情報処理装置
JP3068009B2 (ja) 冗長化メモリのエラー訂正機構
US9189327B2 (en) Error-correcting code distribution for memory systems
JP3106947B2 (ja) 不揮発性半導体記憶装置
JP2008176828A (ja) エラー検出訂正回路のテスト回路およびテスト方法
TWI789453B (zh) 記憶體和操作該記憶體的方法
JP7107696B2 (ja) 半導体装置及び半導体メモリの故障検出方法
JP2007257628A (ja) 記憶された情報データの読み取りのための誤り訂正と誤り検出の方法およびそのための記憶制御ユニット
US20240103967A1 (en) Memory Decoder Providing Optimized Error Detection and Correction for Data Distributed Across Memory Channels
JP2005011386A (ja) 誤り訂正装置
CN117453146B (zh) 数据读取方法、系统、eFlash控制器及存储介质
US9032273B2 (en) Method, apparatus and device for data processing
US11809272B2 (en) Error correction code offload for a serially-attached memory device
JP3913221B2 (ja) 情報処理装置
JP2004326564A (ja) 不揮発性半導体メモリ装置