(57)【要約】【課題】誤り訂正能力を損なうことなく消費電力および回路規模が抑制された半導体記憶装置を提供する。【解決手段】半導体記憶装置は、複数の第１データ内の誤りをそれぞれ検出するための複数の検出符号を生成する複数の検出符号生成部４１乃至４８と、各第１データとこれに対応する検出符号とから第１単位データが構成され、複数の第１単位データ内の誤りをそれぞれ訂正するための複数の第１訂正符号を生成する複数の第１訂正符号生成部６１乃至６８と、前記複数の第１単位データから第２単位データが構成され、この第２単位データ内の誤りを訂正するための第２訂正符号を生成する第２訂正符号生成部８と、第２単位データ、複数の第１訂正符号、及び第２訂正符号を不揮発に格納する半導体メモリ２とを含む。【選択図】      図５
2010238363.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１データ内の誤りをそれぞれ検出するための複数の検出符号を生成する検出符号生成部と、
各第１データとこれに対応する検出符号とから第１単位データが構成され、複数の第１単位データ内の誤りをそれぞれ訂正するための複数の第１訂正符号を生成する第１訂正符号生成部と、
前記複数の第１単位データから第２単位データが構成され、この第２単位データ内の誤りを訂正するための第２訂正符号を生成する第２訂正符号生成部と、
前記第２単位データ、前記複数の第１訂正符号、及び前記第２訂正符号を不揮発に格納する半導体メモリと、
前記複数の第１訂正符号を用いて、前記複数の第１単位データ内の誤りをそれぞれ訂正する第１訂正部と、
前記複数の検出符号を用いて、前記第１訂正部により訂正された複数の第１データ内の誤りをそれぞれ検出し、かつ前記訂正された複数の第１データのそれぞれについての誤りの有無を示す第１誤り情報を生成する検出部と、
前記第１誤り情報および前記第２訂正符号を用いて、前記訂正された複数の第１データのうち誤りを含んだものに対してチェン探索を行い、誤りを訂正する第２訂正部と、
を具備し、
前記第２訂正符号の誤り訂正能力は、前記第１訂正符号の誤り訂正能力よりも高いことを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置およびその制御方法に関し、不揮発に情報を記憶するとともに誤り訂正回路を有する記憶装置およびそのような記憶装置の制御方法に関する。
【背景技術】
【０００２】
不揮発性の記憶装置の種類によっては、時間の経過とともに、データの記憶を担っている物理量の状態が変化する。時間の経過が、ある一定の長さに達すると、データが失われることもある。このような特徴を有する記憶装置には、様々なものが含まれる。そのような記憶装置の１つとして、例えば、いわゆる積層ゲート構造を有するトランジスタをメモリセルとして用いた不揮発性半導体記憶装置がある。
【０００３】
積層ゲート構造は、基板上に順に積層されたトンネル絶縁膜、浮遊ゲート電極、電極間絶縁膜、制御ゲート電極を有する。メモリセルに情報を記憶させるには、トンネル絶縁膜を介して浮遊ゲート電極に基板から電子を注入する。そして、浮遊ゲート電極に蓄積された電荷によって情報が保持される。浮遊ゲート電極に蓄積された電荷は、時間の経過とともに、トンネル絶縁膜を介して基板へと漏れ出す。このため、時間の経過とともに、メモリセルが保持する情報が失われ得る（情報に誤りが生じ得る）。
【０００４】
情報を格納した時点からの時間の経過が短ければ、情報に誤りが生じている可能性は低い。一方、情報を格納した時点からの時間の経過が長ければ、情報に誤りが生じている可能性は高い。このようなメモリセルを複数個有する記憶装置では、誤った情報を正しく復元するための誤り訂正機構が設けられていることがある。
【０００５】
一般に、複数のビットからなるデータに、情報の記録から時間が経過したこと等を理由として誤りが多く含まれている場合でも誤りを訂正するには、高い誤り訂正能力を有する訂正機構が必要である。高い誤り訂正能力を有する訂正機構は、回路規模が大きく、消費電力が大きく、処理に時間を要する。通常、情報の記憶から長時間が経過した後でも正しい情報を復元できることを保証しておくために、高い誤り訂正能力を有する訂正機構が設けられている。そして、情報の記憶からの時間の経過の長短によらずに、一律に、高性能の誤り訂正機構が適用される。
【０００６】
このため、記憶から短い時間しか経過していない情報を読み出す際にも、このような高性能の誤り訂正機構が用いられる。すると、それほど多くの誤りが含まれていない情報の読み出しであるにも係らず、無駄に、高性能の誤り訂正機構が用いられる。このことは、記憶装置の消費電力が無駄に消費されることにつながる。
【０００７】
さらに、一般に、誤り訂正能力を高めるには、誤り訂正の対象となる情報を大きくすることが求められる。例えば、５１２バイトのデータに対して誤り訂正符号が生成される代わりに、複数個の５１２バイトのデータが連結された例えば４ｋバイトのデータを１つの単位として用いて誤り訂正符号が生成される。こうすることにより、誤り訂正能力を高めることができる。しかしながら、この手法は、例えば、５１２バイトのデータを読み出したいにも係らず、４ｋバイトのデータを読み出さなければならないことにつながる。このことによっても、記憶装置は、無駄な電力を消費することを強いられる。
【０００８】
この出願の発明に関連する先行技術文献情報としては次のものがある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開昭６３−２７５２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、誤り訂正能力を損なうことなく消費電力および回路規模が抑制された半導体記憶装置および半導体記憶装置の制御方法を提供しようとするものである。
【課題を解決するための手段】
【００１１】
本発明の一態様による半導体記憶装置は、複数の第１データ内の誤りをそれぞれ検出するための複数の検出符号を生成する検出符号生成部と、各第１データとこれに対応する検出符号とから第１単位データが構成され、複数の第１単位データ内の誤りをそれぞれ訂正するための複数の第１訂正符号を生成する第１訂正符号生成部と、前記複数の第１単位データから第２単位データが構成され、この第２単位データ内の誤りを訂正するための第２訂正符号を生成する第２訂正符号生成部と、前記第２単位データ、前記複数の第１訂正符号、及び前記第２訂正符号を不揮発に格納する半導体メモリと、前記複数の第１訂正符号を用いて、前記複数の第１単位データ内の誤りをそれぞれ訂正する第１訂正部と、前記複数の検出符号を用いて、前記第１訂正部により訂正された複数の第１データ内の誤りをそれぞれ検出し、かつ前記訂正された複数の第１データのそれぞれについての誤りの有無を示す第１誤り情報を生成する検出部と、前記第１誤り情報および前記第２訂正符号を用いて、前記訂正された複数の第１データのうち誤りを含んだものに対してチェン探索を行い、誤りを訂正する第２訂正部とを具備し、前記第２訂正符号の誤り訂正能力は、前記第１訂正符号の誤り訂正能力よりも高い。
【発明の効果】
【００１２】
本発明によれば、誤り訂正能力を損なうことなく消費電力および回路規模が抑制された半導体記憶装置および半導体記憶装置の制御方法を提供できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る半導体記憶装置を概略的に示すブロック図。
【図２】誤り訂正回路のデータ書き込みに関する主要部を示すブロック図。
【図３】書き込みの際の一時記憶回路３内のデータの状態を示す図。
【図４】図３に続く状態を示す図。
【図５】図４に続く状態を示す図。
【図６】誤り訂正回路のデータ読み出しに関する主要部を示すブロック図。
【図７】第２誤り訂正部での動作の一例を示す図。
【図８】書き込みからの経過時間と必要訂正能力との関係を示す図。
【図９】第１誤り訂正部１１及び第２誤り訂正部１３の担当範囲の分担の概念を示す図。
【図１０】誤り率と第２誤り訂正部の利用確率との関係を示す図。
【図１１】誤り率と第２誤り訂正部による平均チェン探索との関係を示す図。
【発明を実施するための形態】
【００１４】
以下に本発明の実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１５】
また、以下に示す各実施形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１６】
また、本発明の各実施形態における各機能ブロックは、ハードウェア、コンピュータソフトウェア、のいずれかまたは両者の組み合わせとして実現することができる。このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明される。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、様々な方法でこれらの機能を実現し得るが、そのような実現を決定することは本発明の範疇に含まれるものである。
【００１７】
図１は、本発明の実施形態に係る半導体記憶装置を概略的に示すブロック図である。
【００１８】
図１に示すように、半導体記憶装置１０は、誤り訂正回路１と半導体メモリ２とを備えている。誤り訂正回路１と半導体メモリ２とは、例えば、１つの半導体集積回路として１つの半導体チップ上に設けられる。半導体メモリ２は、情報を不揮発に記憶し、記憶されているデータに変化が生じ得る特徴を有すれば、どのような記憶装置であっても構わない。そのような半導体メモリ２として、例えば、ＮＡＮＤ型フラッシュメモリが挙げられる。
【００１９】
ＮＡＮＤ型フラッシュメモリは、複数のメモリセルを有する。各メモリセルは、いわゆる積層ゲート構造型のＭＯＳＦＥＴ（metal oxide semiconductor field effect transistor）から構成される。積層ゲート構造のＭＯＳトランジスタは、トンネル絶縁膜、浮遊ゲート電極、電極間絶縁膜、制御ゲート電極、ソース／ドレイン拡散層を含んでいる。各メモリセルトランジスタは、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じた情報を記憶する。メモリセルトランジスタは、１ビットの情報を記憶するように構成されていても、複数ビットの情報を記憶するように構成されていてもよい。そして、半導体メモリ２内のセンスアンプ、及び電位発生回路等を含む制御回路は、半導体メモリ２に供給されたデータをメモリセルトランジスタに書き込み、メモリセルトランジスタに記憶されているデータを半導体メモリ２の外部に出力することが可能な構成を有している。
【００２０】
同じ行に属するメモリセルトランジスタの制御ゲート電極は、同じワード線と接続される。同じ列に属し且つ直列接続されたメモリセルトランジスタの両端には選択ゲートトランジスタが設けられる。一方の選択ゲートトランジスタは、ビット線と接続される。この法則に則って、メモリセルトランジスタ、選択ゲートトランジスタ、ワード線、ビット線が設けられる。データの書き込みおよび読み出しは複数のメモリセルトランジスタの集合毎に行われ、このメモリセルトランジスタの集合からなる記憶領域が１つのページに対応する。また、複数のページから、ブロックが構成される。ＮＡＮＤ型フラッシュメモリは、ブロック単位でデータを消去する。
【００２１】
半導体記憶装置１０には、外部から半導体メモリ２への書き込みを要求されているデータ（書き込みデータ）が供給される。誤り訂正回路１は、書き込みデータに誤り訂正符号および誤り検出符号を付加して、半導体メモリ２に供給する。半導体メモリ２は、誤り訂正符号および誤り検出符号を付加された書き込みデータを記憶する。
【００２２】
また、半導体メモリ１２は、半導体記憶装置１０に供給される制御信号に応答して、読み出しを要求されているデータ（読み出しデータ）と、これに付加された誤り訂正符号および誤り検出符号を誤り訂正回路１に供給する。誤り訂正回路１は、読み出しデータの誤りを検出、および訂正する。そして、誤りが存在した場合にこれを訂正し、誤り訂正符号および誤り検出符号を除去し、読み出しデータを外部へ出力する。
【００２３】
［書き込み系回路の構成］
図２は、誤り訂正回路１のデータ書き込みに関する主要部を示すブロック図である。誤り訂正回路１は、それぞれが所定の大きさの複数の書き込みデータのそれぞれを１つの単位として、誤り訂正符号を生成するとともに、複数の書き込みデータ全体を１つの単位として別の誤り訂正符号を生成する。書き込みデータの数は、達成することが望まれる誤り訂正能力および採用される誤り訂正符号に応じて決定され、以下、書き込みデータが８個である例について説明する。
【００２４】
図２に示すように、誤り訂正回路１は、書き込みデータＤａ１、Ｄａ２、Ｄａ３、Ｄａ４、Ｄａ５、Ｄａ６、Ｄａ７、Ｄａ８を供給される。第１単位サイズは、例えば、半導体メモリ２による、書き込みおよび読み出しのデータの単位サイズと一致させることができる。より具体的には、ＮＡＮＤ型フラッシュメモリが半導体メモリ２として用いられる場合、書き込みデータのサイズは、１ページ分のサイズに対応し、例えば５１２バイトである。以下、説明の便宜上、第１単位サイズが５１２バイトである場合を例として用いる。
【００２５】
誤り訂正回路１は、一時記憶回路３を有する。一時記憶回路３は、例えば揮発性の記憶回路からなり、例えばＤＲＡＭ（dynamic random access memory）とすることができる。一時記憶回路３は、書き込みの際に、半導体メモリ２への書き込みデータに対する誤り検出符号および誤り訂正符号を生成する際の一時記憶領域としての機能を有する。一時記憶回路３は、書き込みの際、書き込みデータＤａ１乃至Ｄａ８を供給される。そして、一時記憶回路３は、書き込みデータＤａ１乃至Ｄａ８を記憶する。
【００２６】
書き込みデータＤａ１、Ｄａ２、Ｄａ３、Ｄａ４、Ｄａ５、Ｄａ６、Ｄａ７、Ｄａ８は、それぞれ、誤り検出符号生成部４１、４２、４３、４４、４５、４６、４７、４８（一部のみ図示）に供給される。
【００２７】
誤り検出符号生成部４１、４２、４３、４４、４５、４６、４７、４８は、それぞれ、書き込みデータＤａ１、Ｄａ２、Ｄａ３、Ｄａ４、Ｄａ５、Ｄａ６、Ｄａ７、Ｄａ８に対する誤り検出符号（のデータ）Ｄｂ１、Ｄｂ２、Ｄｂ３、Ｄｂ４、Ｄｂ５、Ｄｂ６、Ｄｂ７、Ｄｂ８を生成する。誤り検出符号Ｄｂ１乃至Ｄｂ８は、それぞれ、書き込みデータＤａ１乃至Ｄａ８の誤りを検出するために用いられる。そして、誤り検出符号Ｄｂ１乃至Ｄｂ８は、この目的を達成しつつ、符号の計算が簡単で、誤り検出符号生成部１２の消費電力の少ないものが用いられる。例えば、誤り検出符号としては、ＣＲＣ（cyclic redundancy checksum）３２、ＣＲＣ１６等を用いることができる。誤り検出符号Ｄｂ１乃至Ｄｂ８は、一時記憶回路３に供給される。
【００２８】
また、誤り検出符号Ｄｂ１、Ｄｂ２、Ｄｂ３、Ｄｂ４、Ｄｂ５、Ｄｂ６、Ｄｂ７、Ｄｂ８は、それぞれ、第１誤り訂正符号生成部６１、６２、６３、６４、６５、６６、６７、６８に供給される。また、第１誤り訂正符号生成部６１乃至６８には、それぞれ、書き込みデータＤａ１乃至Ｄａ８が供給される。
【００２９】
第１誤り訂正符号生成部６１乃至６８は、それぞれ、書き込みデータＤａ１乃至Ｄａ８と、誤り検出符号Ｄｂ１乃至Ｄｂ８とを用いて、第１誤り訂正符号を生成する。第１誤り訂正符号生成部６１により生成される第１誤り訂正符号は、書き込みデータＤａ１および誤り検出符号のデータＤｂ１内の誤りを訂正するために用いられる。同様に、第１誤り訂正符号生成部６２乃至６８により生成される第１誤り訂正符号は、それぞれ、書き込みデータＤａ２乃至Ｄａ８および誤り検出符号のデータＤｂ２乃至Ｄｂ８内の誤りを訂正するために用いられる。
【００３０】
第１誤り訂正符号として、例えば１ビットの誤り訂正能力程度の、それほど訂正能力が高くは無いが、計算のために高い電力および長い時間を要求せず、実行のために用いられる回路の規模が小さいものを用いることができる。より具体的には、第１誤り訂正符号として、例えば、ハミング符号等を用いることができる。
【００３１】
第１誤り訂正符号生成部６１乃至６８は、それぞれ、第１誤り訂正符号（のデータ）Ｄｃ１、Ｄｃ２、Ｄｃ３、Ｄｃ４、Ｄｃ５、Ｄｃ６、Ｄｃ７、Ｄｃ８を出力する。第１誤り訂正符号Ｄｃ１乃至Ｄｃ８は、一時記憶回路３に供給される。
【００３２】
誤り検出符号Ｄｂ１乃至Ｄｂ８は、第２誤り訂正符号生成部８に供給される。第２誤り訂正符号生成部８には、また、書き込みデータＤａ１乃至Ｄａ８が供給される。第２誤り訂正符号生成部８は、書き込みデータＤａ１乃至Ｄａ８、誤り検出符号データＤｂ１乃至Ｄｂ８を用いて、第２誤り訂正符号を生成する。第２誤り訂正符号は、書き込みデータＤａ１乃至Ｄａ８および誤り検出符号Ｄｂ１乃至Ｄｂ８内の誤りを訂正するために用いられる。
【００３３】
第２誤り訂正符号として、例えば、計算量が多いが多ビットの誤りを訂正できる、第１誤り訂正符号を用いた誤り訂正よりも高い能力の誤り訂正を可能とするものが用いられる。より具体的には、第２誤り訂正符号として、例えば、ＢＣＨ符号、リード・ソロモン（ＲＳ）符号、或いはＬＤＰＣ符号（low density parity check code）等を用いることができる。第２誤り訂正符号生成部８は、演算量が多いがために、回路規模、消費電力、演算時間が、第１誤り訂正符号生成部６１乃至６８より大きいが、第１誤り訂正符号生成部６１乃至６８より高い誤り訂正能力を有している。
【００３４】
第２誤り訂正符号生成部８は、第２誤り訂正符号（のデータ）Ｄｄを一時記憶回路３に供給する。また、一時記憶回路３は、後述のような構造とされた、書き込みデータＤａ１乃至Ｄａ８、誤り検出符号Ｄｂ１乃至Ｄｂ８、第１誤り検出符号Ｄｃ１乃至Ｄｃ８、第２誤り検出符号Ｄｄを半導体メモリ２に供給する。
【００３５】
［データ書き込み時の動作］
次に、誤り訂正回路１の、データ書き込み時の動作について図３乃至図６を参照して説明する。図３乃至図６は、書き込みの際の一時記憶回路３内のデータの状態を概略的に順に示している。
【００３６】
まず、図３に示すように、半導体メモリ２への書き込み対象となる８個の書き込みデータＤａ１乃至Ｄａ８が、誤り訂正回路１に供給される。書き込みデータＤａ１乃至Ｄａ８は、一時記憶回路３内に格納される。
【００３７】
次に、図４に示すように、書き込みデータＤａ１乃至Ｄａ８は、それぞれ、誤り検出符号生成部４１乃至４８に供給される。誤り検出符号生成部４１乃至４８は、それぞれ、書き込みデータＤａ１乃至Ｄａ８についての誤り検出符号Ｄｂ１乃至Ｄｂ８を生成する。誤り検出符号としてＣＲＣ３２が用いられる場合、各誤り検出符号Ｄｂ１乃至Ｄｂ８のサイズは、３２ビットである。
【００３８】
書き込みデータＤａ１と、その後ろに繋げられた誤り検出符号Ｄｂ１とによって、誤り訂正単位を構成する第１単位データＤ１が構成される。同様に、書き込みデータＤａ２乃至Ｄａ８と、それぞれの後ろに繋げられた誤り検出符号Ｄｂ２乃至Ｄｂ８とによって、第１単位データＤ２乃至Ｄ８が構成される。そして、第１単位データＤ１乃至Ｄ８は、一時記憶回路３に格納される。誤り検出符号生成部４１乃至４８の詳細な構成は、当業者にとって既知であり、ここでは説明を省略する。本実施形態では、誤り検出符号生成部４１乃至４８は、検出符号生成動作を並行して行っている。このように、誤り検出符号生成部４１乃至４８を並行して動作させることによって、処理時間を短縮させることができる。
【００３９】
次に、図５に示すように、第１単位データＤ１乃至Ｄ８は、それぞれ、第１誤り訂正符号生成部６１乃至６８に供給される。第１誤り訂正符号生成部６１は、第１単位データＤ１を用いて、第１単位データＤ１の誤りを訂正するための第１誤り訂正符号Ｄｃ１を生成する。第１誤り訂正符号Ｄｃ１は、誤り検出符号Ｄｂ１の後ろと書き込みデータＤａ２の前に連結された形で、一時記憶回路３内に格納される。
【００４０】
同様に、第１誤り訂正符号生成部６２乃至６８は、それぞれ、第１単位データＤ２乃至Ｄ８を用いて、第１単位データＤ２乃至Ｄ８の誤りを訂正するための第１誤り訂正符号Ｄｃ２乃至Ｄｃ８を生成する。第１誤り訂正符号Ｄｃ２は、誤り検出符号Ｄｂ２の後ろと書き込みデータＤａ３の前に連結された形で、一時記憶回路３内に格納される。同様に、第１誤り訂正符号Ｄｃ３乃至Ｄｃ７は誤り検出符号Ｄｂ３乃至Ｄｂ７の後ろと書き込みデータＤａ４乃至Ｄａ８の前に連結され、第１誤り訂正符号Ｄｃ８は誤り検出符号Ｄｂ８の後ろに連結された形で、一時記憶回路３内に格納される。
【００４１】
第１誤り訂正符号としてハミング符号が用いられた場合、各第１単位データＤ１乃至Ｄ８は、４０９６ビットの各書き込みデータ＋３２ビットの誤り検出符号からなるサイズを有する。この各第１単位データＤ１乃至Ｄ８内の１ビットの誤り訂正を行なうためには、各第１誤り訂正符号Ｄｂ１乃至Ｄｂ８のサイズは、例えば１３ビットである。第１誤り訂正符号生成部６１乃至６８の詳細な構成は、当業者にとって既知であり、ここでは説明は省略する。本実施形態では、第１誤り訂正符号生成部６１乃至６８は、訂正符号生成動作を並行して行っている。このように、第１誤り訂正符号生成部６１乃至６８を並行して動作させることによって、処理時間を短縮させることができる。
【００４２】
第１単位データＤ１乃至Ｄ８は、順に連結されて第２単位データを構成し、第２単位データは、第２誤り訂正符号生成部８に供給される。第２単位データは、第２誤り訂正符号生成部が第２誤り訂正符号を生成する際に用いるデータの単位である。第２誤り訂正符号生成部８は、第２単位データを用いて、第２単位データ内の誤りを訂正するための第２誤り訂正符号Ｄｄを生成する。第２誤り訂正符号Ｄｄは、第２単位データの後ろに連結された形で一時記憶回路３内に格納される。
【００４３】
第２誤り訂正符号としてＲＳ符号が用いられた場合、第２単位データは、４０９６ビットの書き込みデータ×８＋３２ビットの誤り検出符号×８からなるサイズを有し、この第２単位データ内の１２ビットの誤りを訂正する。このような大きさの第２単位データの誤りを訂正するためには、第２誤り訂正符号Ｄｄの大きさは、例えば１９２ビットである。第２誤り訂正符号生成部８の詳細な構成は、当業者にとって既知であり、ここでは説明は省略する。
【００４４】
ここまでの工程によって、第２単位データの後ろに第２誤り訂正符号Ｄｄが繋げられることによって、転送単位データ（図５の一時記憶回路３内の構成）が得られる。転送単位データは、半導体メモリ２に供給される。半導体メモリ２は、転送単位データごとに、データを記憶する処理を行なう。
【００４５】
［読み出し系回路の構成］
図６は、誤り訂正回路１のデータ読み出しに関する主要部を示すブロック図である。
【００４６】
図６に示すように、信号Ｓ１が、半導体メモリ２から第１誤り訂正部１１に供給される。信号Ｓ１は、転送単位データ（図５の一時記憶回路３内の構成）から構成される。
【００４７】
第１単位データＤ１乃至Ｄ８内に誤りが存在する場合、第１誤り訂正部１１は、信号Ｓ１内の第１誤り訂正符号Ｄｃ１乃至Ｄｃ８を用いて、第１誤り訂正部１１の能力の範囲内で第１単位データＤ１乃至Ｄ８内の誤りをそれぞれ訂正する。すなわち、第１誤り訂正部１１は、第１誤り訂正符号Ｄｃ１を用いて、第１単位データＤ１内の誤りを訂正する。同様に、第１誤り訂正部１１は、第１単位データＤ２乃至Ｄ８内の誤りを、誤り訂正符号Ｄｃ２乃至Ｄｃ８を用いて、第１誤り訂正部１１の能力の範囲内でそれぞれ訂正する。
【００４８】
第１誤り訂正部１１は、こうして、信号Ｓ１に対して第１誤り訂正符号を用いた誤り訂正が施された形態の信号Ｓ２を出力する。誤り訂正前の各第１単位データＤ１乃至Ｄ８内の誤りビットの数が、第１誤り訂正部１１の誤り訂正能力以下であれば、信号Ｓ２内の誤り訂正後の第１単位データＤ１乃至Ｄ８内には誤りが無い。一方、誤り訂正前の各第１単位データＤ１乃至Ｄ８内の誤りビットの数が、第１誤り訂正部１１の誤り訂正能力を超えていれば、信号Ｓ２内の誤り訂正後の第１単位データＤ１乃至Ｄ８内には誤りが含まれている。
【００４９】
信号Ｓ２は、誤り検出部１２および第２誤り訂正部１３に供給される。誤り検出部１２は、誤り検出符号Ｄｂ１乃至Ｄｂ８を用いて、書き込みデータＤａ１乃至Ｄａ８内の誤りをそれぞれ検出する。そして、誤り検出部１２は、信号Ｓ２をそのまま選択部１４に供給する。また、誤り検出部１２は、全ての第１単位データＤ１乃至Ｄ８内に誤りを検出しなかったか、誤りを検出したかを示す信号Ｓ３を選択部１４に供給する。また、誤り検出部１２は、誤りが検出されたか否かに加えて、第１単位データＤ１乃至Ｄ８のいずれにおいて誤りが検出されたかの情報を含んだ信号Ｓ４を第２誤り訂正部１３に供給する。
【００５０】
第２誤り訂正部１３は、信号Ｓ４を解析して、誤り検出部１２での誤り検出の結果、誤りが検出されたか否かを知得する。誤りが検出されなかった場合は、これ以上の誤り訂正は不要であるので、例えば、第２誤り訂正部１３は電源回路（図示せず）からの電源供給の停止またはクロック回路（図示せず）からのクロック信号の供給の停止等によって、処理対象である信号Ｓ２についての動作を停止する。
【００５１】
一方、第２誤り訂正部１３は、信号Ｓ４の解析の結果、信号Ｓ２内に誤りが検出されたことを知得した場合、第２誤り訂正符号Ｄｄを用いて、第１単位データＤ１乃至Ｄ８内の誤りを訂正する。この際、第２誤り訂正部１３は、信号Ｓ４内の情報を用いて、誤りを含んでいる第１単位データＤ１乃至Ｄ８のみに対して誤り訂正を行なう。その様子の例が、図７に示されている。
【００５２】
図７は、第１単位データＤ２、Ｄ４、Ｄ５内で誤りが検出された例を示している。第２誤り訂正部１３は、第２誤り訂正符号Ｄｄを用いたシンドロームの計算については、第１単位データＤ１乃至Ｄ８の全てを対象とする。一方、第２誤り訂正部１３は、チェン探索（Chien Search）については、誤りが検出された第１単位データＤ２、Ｄ４、Ｄ５のみを対象とする。そして、第２誤り訂正部１３は、第１単位データＤ２、Ｄ４、Ｄ５内の誤りを第２誤り訂正符号Ｄｄを用いて訂正する。第２誤り訂正部１３は、信号Ｓ２に対して第２誤り訂正符号を用いて誤り訂正が施された形態の信号Ｓ５を出力する。
【００５３】
なお、第２誤り訂正部１３での誤り訂正は、従来と異なり、第１単位データＤ１乃至Ｄ８のうちの誤りが検出されたものに対して、順次行なわれる。すなわち、各第１単位データＤ１乃至Ｄ８専用の誤り訂正回路は設けられていない。こうすることによって、第２誤り訂正部１３の回路規模および消費電力を削減できる。
【００５４】
一方、誤り訂正を行なう第１単位データの数によっては、第１単位データＤ１乃至Ｄ８専用の回路を設けて並列に誤り訂正を行なう場合よりも多くの時間がかかることになる。しかしながら、本実施形態では、第２誤り訂正部１３が、第１単位データＤ１乃至Ｄ８のうちの誤りが検出されたものに対してのみチェン探索を行なう。これに加えて、後述するように、第１誤り訂正符号は、第１誤り訂正符号を用いた訂正のみによって、第１単位データＤ１乃至Ｄ８の誤りのほとんど（１００％に近い割合）を訂正できるように設計される。このため、第２誤り訂正符号を用いるケースは稀である。したがって、本実施形態では、第１単位データＤ１乃至Ｄ８に対する誤り訂正回路を共用することによって、処理時間の増大を招くことなく、第２誤り訂正部１３の回路規模および消費電力を削減できる。
【００５５】
また、例えば、ある転送単位データが記憶装置から繰り返し読み出される処理において、この転送単位データの最初の読み出し時に、誤り検出部１２がこの転送単位データ内に誤りを検出しなかったとする。このようなとき、この転送単位データの２回目以降の読み出しの際に、予め第２誤り訂正部１３への電源供給とクロック信号供給の少なくとも一方が停止される。この結果、このように同じ転送単位データが読み出される際に、誤り訂正回路１での電力消費が、大幅に削減される。
【００５６】
次に、第１誤り訂正部１１及び第２誤り訂正部１３の訂正能力の決定の仕方について説明する。なお、第１誤り訂正部１１の訂正能力という場合には、第１誤り訂正符号生成部６１乃至６８が第１誤り訂正符号Ｄｃ１乃至Ｄｃ８を生成する処理も含まれるものとする。同様に、第２誤り訂正部１３の訂正能力という場合には、第２誤り訂正符号生成部８が第２誤り訂正符号Ｄｄを生成する処理も含まれるものとする。
【００５７】
図８は、半導体メモリ２にデータを書き込んでからの経過時間と、必要訂正能力との関係を示す図である。図８に示すように、経過時間が長くなると、半導体メモリ２に書き込まれたデータのうち誤りの数が増加する。そこで、誤りの数の増加に合わせて誤り訂正能力を変化させる。そして、過剰または不十分な誤り訂正能力が使用されないように、第１誤り訂正部１１及び第２誤り訂正部１３の誤り訂正能力が決定される。具体的には、経過時間が短い間は、第１誤り訂正部１１のみによって誤り訂正ができるとともに、経過時間が所定時間（誤り数が急激に増加する時間）を過ぎた後は第１誤り訂正部１１及び第２誤り訂正部１３によって誤りが訂正できるように、第１誤り訂正部１１及び第２誤り訂正部１３の誤り訂正能力が決定される。
【００５８】
図９は、本実施形態の第１誤り訂正部１１及び第２誤り訂正部１３の担当範囲の分担の概念を示している。図９の横軸は、半導体メモリ２の所定範囲（ＮＡＮＤ型フラッシュメモリではページ）当たりの誤りの数を示している。縦軸は、誤り発生確率を示している。また、破線は、半導体メモリ２の劣化前（データ書き込み直後）の関係を示している。一方、実線は、半導体メモリ２の劣化後（補償されるデータ保持時間が経過した後）の関係を示している。
【００５９】
図９に示すように、所定範囲当たりの誤りの数が少ない範囲では、第１誤り訂正部１１のみで全ての誤りが訂正されるように第１誤り訂正部１１の誤り訂正能力が決定される。具体的には、訂正可能なビット数、誤り訂正方式、および誤り訂正符号のビット数等が決定される。例えば、劣化前の段階では第１誤り訂正部１１がほぼ１００％程度の誤り、劣化後では９９％程度の誤りを訂正できるように、第１誤り訂正部１１の誤り訂正能力が決定される。一方、第２誤り訂正部１３の誤り訂正能力は、劣化後で残りの１％程度の誤りを訂正できるように決定される。
【００６０】
この結果、図１０に示すように、誤り率の増加とともに、第２誤り訂正部１３の利用確率は上昇する。
【００６１】
このように、誤り訂正能力が小さいが処理時間および消費電力の少ない第１誤り訂正部１１がほぼ全ての誤り訂正を担当し、処理時間および消費電力が大きいが誤り訂正能力が高い第２誤り訂正部１３が残りの誤りの訂正を担当する。このため、誤り訂正回路１は、高度な誤り訂正能力を維持しながら、短い処理時間、少ない消費電力、小さな回路規模を有することが可能となる。
【００６２】
図１１は、誤り率と第２誤り訂正部１３による平均チェン探索範囲との関係を示している。本実施形態（実線）では、上記したように、第１誤り訂正部１１のみによってほとんどの場合の誤りを訂正できるように、第１誤り訂正部１１の誤り訂正能力が設定されている。このため、従来（破線）と比べて、誤り率が高くても、第２誤り訂正部１３が誤り訂正に関与することが少ない。
【００６３】
以上述べたように、実施形態に係る半導体記憶装置によれば、それぞれが複数の書き込みデータの１つを含んだ複数の第１単位データＤ１乃至Ｄ８が構成され、複数の第１単位データＤ１乃至Ｄ８に対して複数の第１誤り訂正符号Ｄｃ１乃至Ｄｃ８がそれぞれ生成されるとともに、複数の第１単位データＤ１乃至Ｄ８からなる第２単位データに対して第２誤り訂正符号Ｄｄが生成される。そして、誤りビット数が少ない場合は、低能力であるが電力消費が少なく必要な回路規模が小さい第１誤り訂正符号Ｄｃ１乃至Ｄｃ８を用いた訂正が行なわれ、誤りビット数が多い場合は、電力消費が多く必要な回路規模が大きいが高能力での訂正が可能な第２誤り訂正符号Ｄｄおよび第１誤り訂正符号Ｄｃ１乃至Ｄｃ８を併用して訂正が行なわれる。このため、誤り訂正能力が損なわれることなく、誤り訂正回路１の回路規模および消費電力が適正化され且つ誤り訂正時間の短い半導体記憶装置が提供される。
【００６４】
また、本実施形態では、第１誤り訂正符号Ｄｂ１乃至Ｄｂ８を用いて誤り訂正が行われた後も誤りを含んでいる第１単位データＤ１乃至Ｄ８に対してのみ、第２誤り訂正符号Ｄｄを用いた誤り訂正が行なわれる。このため、第２誤り訂正符号Ｄｄを用いた誤り訂正を行なう回路を複数の第１単位データＤ１乃至Ｄ８のそれぞれに設ける例に比べて、第２誤り訂正部１３の規模は大幅に小さい。
【００６５】
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
【符号の説明】
【００６６】
１…誤り訂正回路、２…半導体メモリ、３…一時記憶回路、１０…半導体記憶装置、４１乃至４８…誤り検出符号生成部、６１乃至６８…第１誤り訂正符号生成部、８…第２誤り訂正符号生成部、Ｄａ１乃至Ｄａ８…書き込みデータ、Ｄｂ１乃至Ｄｂ８…誤り検出符号、Ｄｃ１乃至Ｄｃ８…第１誤り訂正符号、Ｄｄ…第２誤り訂正符号、１１…第１誤り訂正部、１２…誤り検出部、１３…第２誤り訂正部、１４…選択部。
【図１】
2010238363.tif 000003
【図２】
2010238363.tif 000004
【図３】
2010238363.tif 000005
【図４】
2010238363.tif 000006
【図５】
2010238363.tif 000007
【図６】
2010238363.tif 000008
【図７】
2010238363.tif 000009
【図８】
2010238363.tif 000010
【図９】
2010238363.tif 000011
【図１０】
2010238363.tif 000012
【図１１】
2010238363.tif 000013
【手続補正書】
【提出日】平成22年8月19日(2010.8.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の第１データ内の誤りをそれぞれ検出するための複数の検出符号を生成する検出符号生成部と、
各第１データとこれに対応する検出符号とから第１単位データが構成され、複数の第１単位データ内の誤りをそれぞれ訂正するための複数の第１訂正符号を生成する第１訂正符号生成部と、
前記複数の第１単位データから第２単位データが構成され、この第２単位データ内の誤りを訂正するための第２訂正符号を生成する第２訂正符号生成部と、
前記第２単位データ、前記複数の第１訂正符号、及び前記第２訂正符号を不揮発に格納する半導体メモリと、
前記複数の第１訂正符号を用いて、前記複数の第１単位データ内の誤りをそれぞれ訂正する第１訂正部と、
前記複数の検出符号を用いて、前記第１訂正部により訂正された複数の第１データ内の誤りをそれぞれ検出し、かつ前記訂正された複数の第１データのそれぞれについての誤りの有無を示す第１誤り情報を生成する検出部と、
前記第１誤り情報および前記第２訂正符号を用いて、前記訂正された複数の第１データのうち誤りを含んだものに対してチェン探索を行い、誤りを訂正する第２訂正部と、
を具備し、
前記第２訂正符号の誤り訂正能力は、前記第１訂正符号の誤り訂正能力よりも高いことを特徴とする半導体記憶装置。
【請求項２】
前記第２訂正部は、前記第１訂正部により訂正された複数の第１データ内に誤りが存在しない場合に、訂正処理を停止することを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記半導体メモリは、ＮＡＮＤ型フラッシュメモリであることを特徴とする請求項１又は２に記載の半導体記憶装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、半導体記憶装置に関し、不揮発に情報を記憶するとともに誤り訂正回路を有する記憶装置に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
本発明は、誤り訂正能力を損なうことなく消費電力および回路規模が抑制された半導体記憶装置を提供しようとするものである。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明によれば、誤り訂正能力を損なうことなく消費電力および回路規模が抑制された半導体記憶装置を提供できる。