Semiconductor memory device and its control method

申请号 JP2007225996 申请日 2007-08-31 公开(公告)号 JP4564520B2 公开(公告)日 2010-10-20
申请人 株式会社東芝; 发明人 浩典 内川; 伸一 菅野;
摘要 A semiconductor memory device includes a plurality of detecting code generators configured to generate a plurality of detecting codes to detect errors in a plurality of data items, respectively, a plurality of first correcting code generators configured to generate a plurality of first correcting codes to correct errors in a plurality of first data blocks, respectively, each of the first data blocks containing one of the data items and a corresponding detecting code, a second correcting code generators configured to generate a second correcting code to correct errors in a second data block, the second data block containing the first data blocks, and a semiconductor memory configured to nonvolatilely store the second data block, the first correcting codes, and the second correcting code.
权利要求
  • 複数の第1データ内の誤りをそれぞれ検出するための複数の検出符号を生成する複数の検出符号生成部と、
    各第1データとこれに対応する検出符号とから第1単位データが構成され、複数の第1単位データ内の誤りをそれぞれ訂正するための複数の第1訂正符号を生成する複数の第1訂正符号生成部と、
    前記複数の第1単位データから第2単位データが構成され、この第2単位データ内の誤りを訂正するための第2訂正符号を生成する第2訂正符号生成部と、
    前記第2単位データ、前記複数の第1訂正符号、及び前記第2訂正符号を不揮発に格納する半導体メモリと、
    を具備し、
    前記第2訂正符号の誤り訂正能力は、前記第1訂正符号の誤り訂正能力よりも高いことを特徴とする半導体記憶装置。
  • 前記複数の第1訂正符号を用いて、前記複数の第1単位データ内の誤りをそれぞれ訂正する第1訂正部と、
    前記複数の検出符号を用いて、前記第1訂正部により訂正された複数の第1データ内の誤りをそれぞれ検出し、かつ前記訂正された複数の第1データのそれぞれについての誤りの有無を示す第1誤り情報を生成する検出部と、
    前記第1誤り情報および前記第2訂正符号を用いて、前記訂正された複数の第1データのうち誤りを含んだものに対して誤りを訂正する第2訂正部と、
    をさらに具備することを特徴とする請求項1に記載の半導体記憶装置。
  • 前記第1訂正部により訂正された複数の第1データからなる前記第1訂正済データと、前記第2訂正部により訂正された複数の第1データからなる前記第2訂正済データとの一方を選択して出力する選択部をさらに具備することを特徴とする請求項2に記載の半導体記憶装置。
  • 前記検出部は、前記第1訂正済データ内の誤りの有無を示す第2誤り情報を生成し、
    前記選択部は、前記第2誤り情報に基づいて、前記第1訂正済データ内に誤りが存在しない場合には前記第1訂正済データを出力し、前記第1訂正済データ内に誤りが存在する場合には前記第2訂正済データを出力することを特徴とする請求項3に記載の半導体記憶装置。
  • 前記検出部は、前記訂正された複数の第1データのいずれにおいて誤りが検出されたかを示す第3誤り情報を生成し、
    前記第2訂正部は、前記第1誤り情報、前記第3誤り情報及び前記第2訂正符号を用いて、前記訂正された複数の第1データのうち誤りを含んだもののみに対して誤りを訂正することを特徴とする請求項2乃至4のいずれかに記載の半導体記憶装置。
  • 前記半導体メモリは、第1サイズを最小単位としてデータの読み込み、又は書き込みを行い、
    前記複数の第1データのそれぞれのサイズは、前記第1サイズと等しいことを特徴とする請求項1乃至5のいずれかに記載の半導体記憶装置。
  • 前記複数の第1データおよび前記複数の検出符号を一時的に記憶する一時記憶回路をさらに具備することを特徴とする請求項1乃至6のいずれかに記載の半導体記憶装置。
  • 前記複数の検出符号生成部は、前記複数の検出符号を生成する処理を並列で行い、
    前記複数の第1訂正符号生成部は、前記複数の第1訂正符号を生成する処理を並列で行うことを特徴とする請求項1乃至7のいずれかに記載の半導体記憶装置。
  • 前記第2訂正部は、前記第1訂正部により訂正された複数の第1データ内に誤りが存在しない場合に、訂正処理を停止することを特徴とする請求項2に記載の半導体記憶装置。
  • 前記半導体メモリは、NAND型フラッシュメモリであることを特徴とする請求項1乃至9のいずれかに記載の半導体記憶装置。
  • 複数の第1データ内の誤りをそれぞれ検出するための複数の検出符号を生成する工程と、
    各第1データとこれに対応する検出符号とから第1単位データが構成され、複数の第1単位データ内の誤りをそれぞれ訂正するための複数の第1訂正符号を生成する工程と、
    前記複数の第1単位データから第2単位データが構成され、この第2単位データ内の誤りを訂正するための第2訂正符号を生成する工程と、
    前記第2単位データ、前記複数の第1訂正符号、及び前記第2訂正符号を不揮発に格納する工程と、
    を具備し、
    前記第2訂正符号の誤り訂正能力は、前記第1訂正符号の誤り訂正能力よりも高いことを特徴とする半導体記憶装置の制御方法。
  • 前記複数の第1訂正符号を用いて、前記複数の第1単位データ内の誤りをそれぞれ訂正する工程と、
    前記複数の検出符号を用いて、前記第1訂正符号を用いて訂正された複数の第1データ内の誤りをそれぞれ検出することによって、前記訂正された複数の第1データのそれぞれについての誤りの有無を示す誤り情報を生成する工程と、
    前記誤り情報および前記第2訂正符号を用いて、前記訂正された複数の第1データのうち誤りを含んだものに対して誤りを訂正する工程と、
    をさらに具備することを特徴とする請求項11に記載の半導体記憶装置の制御方法。
  • 前記第1 訂正符号により訂正された複数の第1データからなる前記第1訂正済データと、前記第2 訂正符号により訂正された複数の第1データからなる前記第2訂正済データとの一方を選択して出力する工程をさらに具備することを特徴とする請求項12に記載の半導体記憶装置の制御方法。
  • 前記第1訂正済データ内の誤りの有無を示す第2誤り情報を生成する工程をさらに具備し、
    前記出力する工程は、
    前記第2誤り情報に基づいて、前記第1訂正済データ内に誤りが存在しない場合には前記第1訂正済データを出力し、前記第1訂正済データ内に誤りが存在する場合には前記第2訂正済データを出力することを特徴とする請求項13に記載の半導体記憶装置の制御方法。
  • 前記訂正された複数の第1データのいずれにおいて誤りが検出されたかを示す第3誤り情報を生成する工程と、
    前記第1誤り情報、前記第3誤り情報及び前記第2訂正符号を用いて、前記訂正された複数の第1データのうち誤りを含んだもののみに対して誤りを訂正する工程と、
    をさらに具備することを特徴とする請求項12乃至14のいずれかに記載の半導体記憶装置。
  • 说明书全文

    本発明は、半導体記憶装置およびその制御方法に関し、不揮発に情報を記憶するとともに誤り訂正回路を有する記憶装置およびそのような記憶装置の制御方法に関する。

    不揮発性の記憶装置の種類によっては、時間の経過とともに、データの記憶を担っている物理量の状態が変化する。 時間の経過が、ある一定の長さに達すると、データが失われることもある。 このような特徴を有する記憶装置には、様々なものが含まれる。 そのような記憶装置の1つとして、例えば、いわゆる積層ゲート構造を有するトランジスタをメモリセルとして用いた不揮発性半導体記憶装置がある。

    積層ゲート構造は、基板上に順に積層されたトンネル絶縁膜、浮遊ゲート電極、電極間絶縁膜、制御ゲート電極を有する。 メモリセルに情報を記憶させるには、トンネル絶縁膜を介して浮遊ゲート電極に基板から電子を注入する。 そして、浮遊ゲート電極に蓄積された電荷によって情報が保持される。 浮遊ゲート電極に蓄積された電荷は、時間の経過とともに、トンネル絶縁膜を介して基板へと漏れ出す。 このため、時間の経過とともに、メモリセルが保持する情報が失われ得る(情報に誤りが生じ得る)。

    情報を格納した時点からの時間の経過が短ければ、情報に誤りが生じている可能性は低い。 一方、情報を格納した時点からの時間の経過が長ければ、情報に誤りが生じている可能性は高い。 このようなメモリセルを複数個有する記憶装置では、誤った情報を正しく復元するための誤り訂正機構が設けられていることがある。

    一般に、複数のビットからなるデータに、情報の記録から時間が経過したこと等を理由として誤りが多く含まれている場合でも誤りを訂正するには、高い誤り訂正能を有する訂正機構が必要である。 高い誤り訂正能力を有する訂正機構は、回路規模が大きく、消費電力が大きく、処理に時間を要する。 通常、情報の記憶から長時間が経過した後でも正しい情報を復元できることを保証しておくために、高い誤り訂正能力を有する訂正機構が設けられている。 そして、情報の記憶からの時間の経過の長短によらずに、一律に、高性能の誤り訂正機構が適用される。

    このため、記憶から短い時間しか経過していない情報を読み出す際にも、このような高性能の誤り訂正機構が用いられる。 すると、それほど多くの誤りが含まれていない情報の読み出しであるにも係らず、無駄に、高性能の誤り訂正機構が用いられる。 このことは、記憶装置の消費電力が無駄に消費されることにつながる。

    さらに、一般に、誤り訂正能力を高めるには、誤り訂正の対象となる情報を大きくすることが求められる。 例えば、512バイトのデータに対して誤り訂正符号が生成される代わりに、複数個の512バイトのデータが連結された例えば4kバイトのデータを1つの単位として用いて誤り訂正符号が生成される。 こうすることにより、誤り訂正能力を高めることができる。 しかしながら、この手法は、例えば、512バイトのデータを読み出したいにも係らず、4kバイトのデータを読み出さなければならないことにつながる。 このことによっても、記憶装置は、無駄な電力を消費することを強いられる。

    この出願の発明に関連する先行技術文献情報としては次のものがある。

    特開昭63−275225号公報

    本発明は、誤り訂正能力を損なうことなく消費電力および回路規模が抑制された半導体記憶装置および半導体記憶装置の制御方法を提供しようとするものである。

    本発明の一態様による半導体記憶装置は、複数の第1データ内の誤りをそれぞれ検出するための複数の検出符号を生成する複数の検出符号生成部と、各第1データとこれに対応する検出符号とから第1単位データが構成され、複数の第1単位データ内の誤りをそれぞれ訂正するための複数の第1訂正符号を生成する複数の第1訂正符号生成部と、前記複数の第1単位データから第2単位データが構成され、この第2単位データ内の誤りを訂正するための第2訂正符号を生成する第2訂正符号生成部と、前記第2単位データ、前記複数の第1訂正符号、及び前記第2訂正符号を不揮発に格納する半導体メモリとを具備し、前記第2訂正符号の誤り訂正能力は、前記第1訂正符号の誤り訂正能力よりも高いことを特徴とする。

    本発明の一態様による半導体記憶装置の制御方法は、複数の第1データ内の誤りをそれぞれ検出するための複数の検出符号を生成する工程と、各第1データとこれに対応する検出符号とから第1単位データが構成され、複数の第1単位データ内の誤りをそれぞれ訂正するための複数の第1訂正符号を生成する工程と、 前記複数の第1単位データから第2単位データが構成され、この第2単位データ内の誤りを訂正するための第2訂正符号を生成する工程と、前記第2単位データ、前記複数の第1訂正符号、及び前記第2訂正符号を不揮発に格納する工程とを具備し、前記第2訂正符号の誤り訂正能力は、前記第1訂正符号の誤り訂正能力よりも高いことを特徴とする。

    本発明によれば、誤り訂正能力を損なうことなく消費電力および回路規模が抑制された半導体記憶装置および半導体記憶装置の制御方法を提供できる。

    以下に本発明の実施形態について図面を参照して説明する。 なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。

    また、以下に示す各実施形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。 この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。

    また、本発明の各実施形態における各機能ブロックは、ハードウェア、コンピュータソフトウェア、のいずれかまたは両者の組み合わせとして実現することができる。 このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明される。 このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。 当業者は、具体的な実施態様ごとに、様々な方法でこれらの機能を実現し得るが、そのような実現を決定することは本発明の範疇に含まれるものである。

    図1は、本発明の実施形態に係る半導体記憶装置を概略的に示すブロック図である。

    図1に示すように、半導体記憶装置10は、誤り訂正回路1と半導体メモリ2とを備えている。 誤り訂正回路1と半導体メモリ2とは、例えば、1つの半導体集積回路として1つの半導体チップ上に設けられる。 半導体メモリ2は、情報を不揮発に記憶し、記憶されているデータに変化が生じ得る特徴を有すれば、どのような記憶装置であっても構わない。 そのような半導体メモリ2として、例えば、NAND型フラッシュメモリが挙げられる。

    NAND型フラッシュメモリは、複数のメモリセルを有する。 各メモリセルは、いわゆる積層ゲート構造型のMOSFET(metal oxide semiconductor field effect transistor)から構成される。 積層ゲート構造のMOSトランジスタは、トンネル絶縁膜、浮遊ゲート電極、電極間絶縁膜、制御ゲート電極、ソース/ドレイン拡散層を含んでいる。 各メモリセルトランジスタは、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じた情報を記憶する。 メモリセルトランジスタは、1ビットの情報を記憶するように構成されていても、複数ビットの情報を記憶するように構成されていてもよい。 そして、半導体メモリ2内のセンスアンプ、及び電位発生回路等を含む制御回路は、半導体メモリ2に供給されたデータをメモリセルトランジスタに書き込み、メモリセルトランジスタに記憶されているデータを半導体メモリ2の外部に出力することが可能な構成を有している。

    同じ行に属するメモリセルトランジスタの制御ゲート電極は、同じワード線と接続される。 同じ列に属し且つ直列接続されたメモリセルトランジスタの両端には選択ゲートトランジスタが設けられる。 一方の選択ゲートトランジスタは、ビット線と接続される。 この法則に則って、メモリセルトランジスタ、選択ゲートトランジスタ、ワード線、ビット線が設けられる。 データの書き込みおよび読み出しは複数のメモリセルトランジスタの集合毎に行われ、このメモリセルトランジスタの集合からなる記憶領域が1つのページに対応する。 また、複数のページから、ブロックが構成される。 NAND型フラッシュメモリは、ブロック単位でデータを消去する。

    半導体記憶装置10には、外部から半導体メモリ2への書き込みを要求されているデータ(書き込みデータ)が供給される。 誤り訂正回路1は、書き込みデータに誤り訂正符号および誤り検出符号を付加して、半導体メモリ2に供給する。 半導体メモリ2は、誤り訂正符号および誤り検出符号を付加された書き込みデータを記憶する。

    また、半導体メモリ12は、半導体記憶装置10に供給される制御信号に応答して、読み出しを要求されているデータ(読み出しデータ)と、これに付加された誤り訂正符号および誤り検出符号を誤り訂正回路1に供給する。 誤り訂正回路1は、読み出しデータの誤りを検出、および訂正する。 そして、誤りが存在した場合にこれを訂正し、誤り訂正符号および誤り検出符号を除去し、読み出しデータを外部へ出力する。

    [書き込み系回路の構成]
    図2は、誤り訂正回路1のデータ書き込みに関する主要部を示すブロック図である。 誤り訂正回路1は、それぞれが所定の大きさの複数の書き込みデータのそれぞれを1つの単位として、誤り訂正符号を生成するとともに、複数の書き込みデータ全体を1つの単位として別の誤り訂正符号を生成する。 書き込みデータの数は、達成することが望まれる誤り訂正能力および採用される誤り訂正符号に応じて決定され、以下、書き込みデータが8個である例について説明する。

    図2に示すように、誤り訂正回路1は、書き込みデータDa1、Da2、Da3、Da4、Da5、Da6、Da7、Da8を供給される。 第1単位サイズは、例えば、半導体メモリ2による、書き込みおよび読み出しのデータの単位サイズと一致させることができる。 より具体的には、NAND型フラッシュメモリが半導体メモリ2として用いられる場合、書き込みデータのサイズは、1ページ分のサイズに対応し、例えば512バイトである。 以下、説明の便宜上、第1単位サイズが512バイトである場合を例として用いる。

    誤り訂正回路1は、一時記憶回路3を有する。 一時記憶回路3は、例えば揮発性の記憶回路からなり、例えばDRAM(dynamic random access memory)とすることができる。 一時記憶回路3は、書き込みの際に、半導体メモリ2への書き込みデータに対する誤り検出符号および誤り訂正符号を生成する際の一時記憶領域としての機能を有する。 一時記憶回路3は、書き込みの際、書き込みデータDa1乃至Da8を供給される。 そして、一時記憶回路3は、書き込みデータDa1乃至Da8を記憶する。

    書き込みデータDa1、Da2、Da3、Da4、Da5、Da6、Da7、Da8は、それぞれ、誤り検出符号生成部41、42、43、44、45、46、47、48(一部のみ図示)に供給される。

    誤り検出符号生成部41、42、43、44、45、46、47、48は、それぞれ、書き込みデータDa1、Da2、Da3、Da4、Da5、Da6、Da7、Da8に対する誤り検出符号(のデータ)Db1、Db2、Db3、Db4、Db5、Db6、Db7、Db8を生成する。 誤り検出符号Db1乃至Db8は、それぞれ、書き込みデータDa1乃至Da8の誤りを検出するために用いられる。 そして、誤り検出符号Db1乃至Db8は、この目的を達成しつつ、符号の計算が簡単で、誤り検出符号生成部12の消費電力の少ないものが用いられる。 例えば、誤り検出符号としては、CRC(cyclic redundancy checksum)32、CRC16等を用いることができる。 誤り検出符号Db1乃至Db8は、一時記憶回路3に供給される。

    また、誤り検出符号Db1、Db2、Db3、Db4、Db5、Db6、Db7、Db8は、それぞれ、第1誤り訂正符号生成部61、62、63、64、65、66、67、68に供給される。 また、第1誤り訂正符号生成部61乃至68には、それぞれ、書き込みデータDa1乃至Da8が供給される。

    第1誤り訂正符号生成部61乃至68は、それぞれ、書き込みデータDa1乃至Da8と、誤り検出符号Db1乃至Db8とを用いて、第1誤り訂正符号を生成する。 第1誤り訂正符号生成部61により生成される第1誤り訂正符号は、書き込みデータDa1および誤り検出符号のデータDb1内の誤りを訂正するために用いられる。 同様に、第1誤り訂正符号生成部62乃至68により生成される第1誤り訂正符号は、それぞれ、書き込みデータDa2乃至Da8および誤り検出符号のデータDb2乃至Db8内の誤りを訂正するために用いられる。

    第1誤り訂正符号として、例えば1ビットの誤り訂正能力程度の、それほど訂正能力が高くは無いが、計算のために高い電力および長い時間を要求せず、実行のために用いられる回路の規模が小さいものを用いることができる。 より具体的には、第1誤り訂正符号として、例えば、ハミング符号等を用いることができる。

    第1誤り訂正符号生成部61乃至68は、それぞれ、第1誤り訂正符号(のデータ)Dc1、Dc2、Dc3、Dc4、Dc5、Dc6、Dc7、Dc8を出力する。 第1誤り訂正符号Dc1乃至Dc8は、一時記憶回路3に供給される。

    誤り検出符号Db1乃至Db8は、第2誤り訂正符号生成部8に供給される。 第2誤り訂正符号生成部8には、また、書き込みデータDa1乃至Da8が供給される。 第2誤り訂正符号生成部8は、書き込みデータDa1乃至Da8、誤り検出符号データDb1乃至Db8を用いて、第2誤り訂正符号を生成する。 第2誤り訂正符号は、書き込みデータDa1乃至Da8および誤り検出符号Db1乃至Db8内の誤りを訂正するために用いられる。

    第2誤り訂正符号として、例えば、計算量が多いが多ビットの誤りを訂正できる、第1誤り訂正符号を用いた誤り訂正よりも高い能力の誤り訂正を可能とするものが用いられる。 より具体的には、第2誤り訂正符号として、例えば、BCH符号、リード・ソロモン(RS)符号、或いはLDPC符号(low density parity check code)等を用いることができる。 第2誤り訂正符号生成部8は、演算量が多いがために、回路規模、消費電力、演算時間が、第1誤り訂正符号生成部61乃至68より大きいが、第1誤り訂正符号生成部61乃至68より高い誤り訂正能力を有している。

    第2誤り訂正符号生成部8は、第2誤り訂正符号(のデータ)Ddを一時記憶回路3に供給する。 また、一時記憶回路3は、後述のような構造とされた、書き込みデータDa1乃至Da8、誤り検出符号Db1乃至Db8、第1誤り検出符号Dc1乃至Dc8、第2誤り検出符号Ddを半導体メモリ2に供給する。

    [データ書き込み時の動作]
    次に、誤り訂正回路1の、データ書き込み時の動作について図3乃至図6を参照して説明する。 図3乃至図6は、書き込みの際の一時記憶回路3内のデータの状態を概略的に順に示している。

    まず、図3に示すように、半導体メモリ2への書き込み対象となる8個の書き込みデータDa1乃至Da8が、誤り訂正回路1に供給される。 書き込みデータDa1乃至Da8は、一時記憶回路3内に格納される。

    次に、図4に示すように、書き込みデータDa1乃至Da8は、それぞれ、誤り検出符号生成部41乃至48に供給される。 誤り検出符号生成部41乃至48は、それぞれ、書き込みデータDa1乃至Da8についての誤り検出符号 Db1乃至Db8を生成する。 誤り検出符号としてCRC32が用いられる場合、各誤り検出符号Db1乃至Db8のサイズは、32ビットである。

    書き込みデータDa1と、その後ろに繋げられた誤り検出符号Db1とによって、誤り訂正単位を構成する第1単位データD1が構成される。 同様に、書き込みデータDa2乃至Da8と、それぞれの後ろに繋げられた誤り検出符号Db2乃至Db8とによって、第1単位データD2乃至D8が構成される。 そして、第1単位データD1乃至D8は、一時記憶回路3に格納される。 誤り検出符号生成部41乃至48の詳細な構成は、当業者にとって既知であり、ここでは説明を省略する。 本実施形態では、誤り検出符号生成部41乃至48は、検出符号生成動作を並行して行っている。 このように、誤り検出符号生成部41乃至48を並行して動作させることによって、処理時間を短縮させることができる。

    次に、図5に示すように、第1単位データD1乃至D8は、それぞれ、第1誤り訂正符号生成部61乃至68に供給される。 第1誤り訂正符号生成部61は、第1単位データD1を用いて、第1単位データD1の誤りを訂正するための第1誤り訂正符号Dc1を生成する。 第1誤り訂正符号Dc1は、誤り検出符号Db1の後ろと書き込みデータDa2の前に連結された形で、一時記憶回路3内に格納される。

    同様に、第1誤り訂正符号生成部62乃至68は、それぞれ、第1単位データD2乃至D8を用いて、第1単位データD2乃至D8の誤りを訂正するための第1誤り訂正符号Dc2乃至Dc8を生成する。 第1誤り訂正符号Dc2は、誤り検出符号Db2の後ろと書き込みデータDa3の前に連結された形で、一時記憶回路3内に格納される。 同様に、第1誤り訂正符号Dc3乃至Dc7は誤り検出符号Db3乃至Db7の後ろと書き込みデータDa4乃至Da8の前に連結され、第1誤り訂正符号Dc8は誤り検出符号Db8の後ろに連結された形で、一時記憶回路3内に格納される。

    第1誤り訂正符号としてハミング符号が用いられた場合、各第1単位データD1乃至D8は、4096ビットの各書き込みデータ+32ビットの誤り検出符号からなるサイズを有する。 この各第1単位データD1乃至D8内の1ビットの誤り訂正を行なうためには、各第1誤り訂正符号Db1乃至Db8のサイズは、例えば13ビットである。 第1誤り訂正符号生成部61乃至68の詳細な構成は、当業者にとって既知であり、ここでは説明は省略する。 本実施形態では、第1誤り訂正符号生成部61乃至68は、訂正符号生成動作を並行して行っている。 このように、第1誤り訂正符号生成部61乃至68を並行して動作させることによって、処理時間を短縮させることができる。

    第1単位データD1乃至D8は、順に連結されて第2単位データを構成し、第2単位データは、第2誤り訂正符号生成部8に供給される。 第2単位データは、第2誤り訂正符号生成部が第2誤り訂正符号を生成する際に用いるデータの単位である。 第2誤り訂正符号生成部8は、第2単位データを用いて、第2単位データ内の誤りを訂正するための第2誤り訂正符号Ddを生成する。 第2誤り訂正符号Ddは、第2単位データの後ろに連結された形で一時記憶回路3内に格納される。

    第2誤り訂正符号としてRS符号が用いられた場合、第2単位データは、4096ビットの書き込みデータ×8+32ビットの誤り検出符号×8からなるサイズを有し、この第2単位データ内の12ビットの誤りを訂正する。 このような大きさの第2単位データの誤りを訂正するためには、第2誤り訂正符号Ddの大きさは、例えば192ビットである。 第2誤り訂正符号生成部8の詳細な構成は、当業者にとって既知であり、ここでは説明は省略する。

    ここまでの工程によって、第2単位データの後ろに第2誤り訂正符号Ddが繋げられることによって、転送単位データ(図5の一時記憶回路3内の構成)が得られる。 転送単位データは、半導体メモリ2に供給される。 半導体メモリ2は、転送単位データごとに、データを記憶する処理を行なう。

    [読み出し系回路の構成]
    図6は、誤り訂正回路1のデータ読み出しに関する主要部を示すブロック図である。

    図6に示すように、信号S1が、半導体メモリ2から第1誤り訂正部11に供給される。 信号S1は、転送単位データ(図5の一時記憶回路3内の構成)から構成される。

    第1単位データD1乃至D8内に誤りが存在する場合、第1誤り訂正部11は、信号S1内の第1誤り訂正符号Dc1乃至Dc8を用いて、第1誤り訂正部11の能力の範囲内で第1単位データD1乃至D8内の誤りをそれぞれ訂正する。 すなわち、第1誤り訂正部11は、第1誤り訂正符号Dc1を用いて、第1単位データD1内の誤りを訂正する。 同様に、第1誤り訂正部11は、第1単位データD2乃至D8内の誤りを、誤り訂正符号Dc2乃至Dc8を用いて、第1誤り訂正部11の能力の範囲内でそれぞれ訂正する。

    第1誤り訂正部11は、こうして、信号S1に対して第1誤り訂正符号を用いた誤り訂正が施された形態の信号S2を出力する。 誤り訂正前の各第1単位データD1乃至D8内の誤りビットの数が、第1誤り訂正部11の誤り訂正能力以下であれば、信号S2内の誤り訂正後の第1単位データD1乃至D8内には誤りが無い。 一方、誤り訂正前の各第1単位データD1乃至D8内の誤りビットの数が、第1誤り訂正部11の誤り訂正能力を超えていれば、信号S2内の誤り訂正後の第1単位データD1乃至D8内には誤りが含まれている。

    信号S2は、誤り検出部12および第2誤り訂正部13に供給される。 誤り検出部12は、誤り検出符号Db1乃至Db8を用いて、書き込みデータDa1乃至Da8内の誤りをそれぞれ検出する。 そして、誤り検出部12は、信号S2をそのまま選択部14に供給する。 また、誤り検出部12は、全ての第1単位データD1乃至D8内に誤りを検出しなかったか、誤りを検出したかを示す信号S3を選択部14に供給する。 また、誤り検出部12は、誤りが検出されたか否かに加えて、第1単位データD1乃至D8のいずれにおいて誤りが検出されたかの情報を含んだ信号S4を第2誤り訂正部13に供給する。

    第2誤り訂正部13は、信号S4を解析して、誤り検出部12での誤り検出の結果、誤りが検出されたか否かを知得する。 誤りが検出されなかった場合は、これ以上の誤り訂正は不要であるので、例えば、第2誤り訂正部13は電源回路(図示せず)からの電源供給の停止またはクロック回路(図示せず)からのクロック信号の供給の停止等によって、処理対象である信号S2についての動作を停止する。

    一方、第2誤り訂正部13は、信号S4の解析の結果、信号S2内に誤りが検出されたことを知得した場合、第2誤り訂正符号Ddを用いて、第1単位データD1乃至D8内の誤りを訂正する。 この際、第2誤り訂正部13は、信号S4内の情報を用いて、誤りを含んでいる第1単位データD1乃至D8のみに対して誤り訂正を行なう。 その様子の例が、図7に示されている。

    図7は、第1単位データD2、D4、D5内で誤りが検出された例を示している。 第2誤り訂正部13は、第2誤り訂正符号Ddを用いたシンドロームの計算については、第1単位データD1乃至D8の全てを対象とする。 一方、第2誤り訂正部13は、チェン探索(Chien Search)については、誤りが検出された第1単位データD2、D4、D5のみを対象とする。 そして、第2誤り訂正部13は、第1単位データD2、D4、D5内の誤りを第2誤り訂正符号Ddを用いて訂正する。 第2誤り訂正部13は、信号S2に対して第2誤り訂正符号を用いて誤り訂正が施された形態の信号S5を出力する。

    なお、第2誤り訂正部13での誤り訂正は、従来と異なり、第1単位データD1乃至D8のうちの誤りが検出されたものに対して、順次行なわれる。 すなわち、各第1単位データD1乃至D8専用の誤り訂正回路は設けられていない。 こうすることによって、第2誤り訂正部13の回路規模および消費電力を削減できる。

    一方、誤り訂正を行なう第1単位データの数によっては、第1単位データD1乃至D8専用の回路を設けて並列に誤り訂正を行なう場合よりも多くの時間がかかることになる。 しかしながら、本実施形態では、第2誤り訂正部13が、第1単位データD1乃至D8のうちの誤りが検出されたものに対してのみチェン探索を行なう。 これに加えて、後述するように、第1誤り訂正符号は、第1誤り訂正符号を用いた訂正のみによって、第1単位データD1乃至D8の誤りのほとんど(100%に近い割合)を訂正できるように設計される。 このため、第2誤り訂正符号を用いるケースは稀である。 したがって、本実施形態では、第1単位データD1乃至D8に対する誤り訂正回路を共用することによって、処理時間の増大を招くことなく、第2誤り訂正部13の回路規模および消費電力を削減できる。

    また、例えば、ある転送単位データが記憶装置から繰り返し読み出される処理において、この転送単位データの最初の読み出し時に、誤り検出部12がこの転送単位データ内に誤りを検出しなかったとする。 このようなとき、この転送単位データの2回目以降の読み出しの際に、予め第2誤り訂正部13への電源供給とクロック信号供給の少なくとも一方が停止される。 この結果、このように同じ転送単位データが読み出される際に、誤り訂正回路1での電力消費が、大幅に削減される。

    次に、第1誤り訂正部11及び第2誤り訂正部13の訂正能力の決定の仕方について説明する。 なお、第1誤り訂正部11の訂正能力という場合には、第1誤り訂正符号生成部61乃至68が第1誤り訂正符号Dc1乃至Dc8を生成する処理も含まれるものとする。 同様に、第2誤り訂正部13の訂正能力という場合には、第2誤り訂正符号生成部8が第2誤り訂正符号Ddを生成する処理も含まれるものとする。

    図8は、半導体メモリ2にデータを書き込んでからの経過時間と、必要訂正能力との関係を示す図である。 図8に示すように、経過時間が長くなると、半導体メモリ2に書き込まれたデータのうち誤りの数が増加する。 そこで、誤りの数の増加に合わせて誤り訂正能力を変化させる。 そして、過剰または不十分な誤り訂正能力が使用されないように、第1誤り訂正部11及び第2誤り訂正部13の誤り訂正能力が決定される。 具体的には、経過時間が短い間は、第1誤り訂正部11のみによって誤り訂正ができるとともに、経過時間が所定時間(誤り数が急激に増加する時間)を過ぎた後は第1誤り訂正部11及び第2誤り訂正部13によって誤りが訂正できるように、第1誤り訂正部11及び第2誤り訂正部13の誤り訂正能力が決定される。

    図9は、本実施形態の第1誤り訂正部11及び第2誤り訂正部13の担当範囲の分担の概念を示している。 図9の横軸は、半導体メモリ2の所定範囲(NAND型フラッシュメモリではページ)当たりの誤りの数を示している。 縦軸は、誤り発生確率を示している。 また、破線は、半導体メモリ2の劣化前(データ書き込み直後)の関係を示している。 一方、実線は、半導体メモリ2の劣化後(補償されるデータ保持時間が経過した後)の関係を示している。

    図9に示すように、所定範囲当たりの誤りの数が少ない範囲では、第1誤り訂正部11のみで全ての誤りが訂正されるように第1誤り訂正部11の誤り訂正能力が決定される。 具体的には、訂正可能なビット数、誤り訂正方式、および誤り訂正符号のビット数等が決定される。 例えば、劣化前の段階では第1誤り訂正部11がほぼ100%程度の誤り、劣化後では99%程度の誤りを訂正できるように、第1誤り訂正部11の誤り訂正能力が決定される。 一方、第2誤り訂正部13の誤り訂正能力は、劣化後で残りの1%程度の誤りを訂正できるように決定される。

    この結果、図10に示すように、誤り率の増加とともに、第2誤り訂正部13の利用確率は上昇する。

    このように、誤り訂正能力が小さいが処理時間および消費電力の少ない第1誤り訂正部11がほぼ全ての誤り訂正を担当し、処理時間および消費電力が大きいが誤り訂正能力が高い第2誤り訂正部13が残りの誤りの訂正を担当する。 このため、誤り訂正回路1は、高度な誤り訂正能力を維持しながら、短い処理時間、少ない消費電力、小さな回路規模を有することが可能となる。

    図11は、誤り率と第2誤り訂正部13による平均チェン探索範囲との関係を示している。 本実施形態(実線)では、上記したように、第1誤り訂正部11のみによってほとんどの場合の誤りを訂正できるように、第1誤り訂正部11の誤り訂正能力が設定されている。 このため、従来(破線)と比べて、誤り率が高くても、第2誤り訂正部13が誤り訂正に関与することが少ない。

    以上述べたように、実施形態に係る半導体記憶装置によれば、それぞれが複数の書き込みデータの1つを含んだ複数の第1単位データD1乃至D8が構成され、複数の第1単位データD1乃至D8に対して複数の第1誤り訂正符号Dc1乃至Dc8がそれぞれ生成されるとともに、複数の第1単位データD1乃至D8からなる第2単位データに対して第2誤り訂正符号Ddが生成される。 そして、誤りビット数が少ない場合は、低能力であるが電力消費が少なく必要な回路規模が小さい第1誤り訂正符号Dc1乃至Dc8を用いた訂正が行なわれ、誤りビット数が多い場合は、電力消費が多く必要な回路規模が大きいが高能力での訂正が可能な第2誤り訂正符号Ddおよび第1誤り訂正符号Dc1乃至Dc8を併用して訂正が行なわれる。 このため、誤り訂正能力が損なわれることなく、誤り訂正回路1の回路規模および消費電力が適正化され且つ誤り訂正時間の短い半導体記憶装置が提供される。

    また、本実施形態では、第1誤り訂正符号Db1乃至Db8を用いて誤り訂正が行われた後も誤りを含んでいる第1単位データD1乃至D8に対してのみ、第2誤り訂正符号Ddを用いた誤り訂正が行なわれる。 このため、第2誤り訂正符号Ddを用いた誤り訂正を行なう回路を複数の第1単位データD1乃至D8のそれぞれに設ける例に比べて、第2誤り訂正部13の規模は大幅に小さい。

    その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。

    本発明の実施形態に係る半導体記憶装置を概略的に示すブロック図。

    誤り訂正回路のデータ書き込みに関する主要部を示すブロック図。

    書き込みの際の一時記憶回路3内のデータの状態を示す図。

    図3に続く状態を示す図。

    図4に続く状態を示す図。

    誤り訂正回路のデータ読み出しに関する主要部を示すブロック図。

    第2誤り訂正部での動作の一例を示す図。

    書き込みからの経過時間と必要訂正能力との関係を示す図。

    第1誤り訂正部11及び第2誤り訂正部13の担当範囲の分担の概念を示す図。

    誤り率と第2誤り訂正部の利用確率との関係を示す図。

    誤り率と第2誤り訂正部による平均チェン探索との関係を示す図。

    符号の説明

    1…誤り訂正回路、2…半導体メモリ、3…一時記憶回路、10…半導体記憶装置、41乃至48…誤り検出符号生成部、61乃至68…第1誤り訂正符号生成部、8…第2誤り訂正符号生成部、Da1乃至Da8…書き込みデータ、Db1乃至Db8…誤り検出符号、Dc1乃至Dc8…第1誤り訂正符号、Dd…第2誤り訂正符号、11…第1誤り訂正部、12…誤り検出部、13…第2誤り訂正部、14…選択部。

    QQ群二维码
    意见反馈