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

半導体記憶装置 Download PDF

Info

Publication number
JP4534639B2
JP4534639B2 JP2004208494A JP2004208494A JP4534639B2 JP 4534639 B2 JP4534639 B2 JP 4534639B2 JP 2004208494 A JP2004208494 A JP 2004208494A JP 2004208494 A JP2004208494 A JP 2004208494A JP 4534639 B2 JP4534639 B2 JP 4534639B2
Authority
JP
Japan
Prior art keywords
data
error
main
circuit
codeword
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.)
Expired - Fee Related
Application number
JP2004208494A
Other languages
English (en)
Other versions
JP2006031813A (ja
Inventor
和年 清水目
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2004208494A priority Critical patent/JP4534639B2/ja
Publication of JP2006031813A publication Critical patent/JP2006031813A/ja
Application granted granted Critical
Publication of JP4534639B2 publication Critical patent/JP4534639B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、たとえばメモリストリングが選択用スイッチを介してビット線およびソース線に接続されるNAND型フラッシュメモリ等の半導体記憶装置に係り、特に、半導体記憶装置のエラー訂正処理技術に関するものである。
NAND型フラッシュメモリでは、複数個のメモリトランジスタを直列に接続してメモリストリングを構成し、2個のメモリストリングで1個のビットコンタクトおよびソース線を共有することにより、高集積化が実現されている。
一般的なNAND型フラッシュメモリにおいて、消去動作は、たとえば選択されたメモリストリングが接続された全ワード線に0V、非選択のメモリストリングが接続された全ワード線をフローティングとして、メモリアレイの基板に高電圧(20V)を印加する。 その結果、選択メモリストリングのメモリトランジスタのみフローティングゲートから基板に電子が引き抜かれる。その結果、メモリトランジスタのしきい値電圧は負方向にシフトして、たとえば−3Vになる。
また、データの書き込み動作は、選択するワード線に接続されたメモリトランジスタ一括に、数百〜数千バイトのいわゆるページ単位で行われる。
具体的には、たとえば選択するワード線に高電圧(たとえば18V)を、書き込むべき(0データ)メモリトランジスタが接続されたビット線に0V、書き込みを禁止すべき(1データ)メモリトランジスタが接続されたビット線にハイレベル(たとえば3.3V)を印加する。
その結果、書き込むべき選択メモリトランジスタのみ、フローティングゲート中に電子が注入されて、選択メモリトランジスタのしきい値電圧は正方向にシフトして、たとえば2V程度になる。
このようなNAND型フラッシュメモリにおいては、データの書き込みおよび消去ともFN(Fowler Nordheim) トンネル電流により行うため、動作電流をチップ内昇圧回路から供給することが比較的容易であり、単一電源で動作させやすいという利点がある。
さらに、ページ単位で、つまり選択するワード線に接続されたメモリトランジスタ一括にデータの書き込みが行われるため、NOR型フラッシュメモリに比較して書き込み速度の点で優位である。
ところで、上述したNAND型フラッシュメモリ等のようなワード線セクタを単位としたページ書き込みを行う不揮発性半導体記憶装置においては、データの書き込みは選択ワード線に接続されたすべてのメモリセル一括にデータ書き込みを行う。
しかし、選択ワード線に接続された各メモリセルは、製造プロセスに起因するサイズ等のバラツキのため、それぞれ書き込み速度に差が生じる。
具体的には、NAND型フラッシュメモリ等のようなワード線セクタを単位としたページ書き込みを行う不揮発性半導体記憶装置においては、メモリセル間で書き込み必要時間に分布が生じる。
このような書き込み速度のバラツキを考慮して、一般的なNAND型フラッシュメモリ等においては、書き込み時のしきい値電圧Vthの分布を狭く抑える観点から、書き込み動作がベリファイ動作を介して行われ、かつこの書き込み/ベリファイ動作を書き込み終了メモリセルから順次書き込み禁止にしてすべてのメモリセルの書き込みが終了するまで繰り返し行う、いわゆるビット毎ベリファイ動作が行われる。
ところが、一般的なメモリセルの場合、プログラム必要時間はt0であるが、プロセス等のバラツキ要因から非常に長いプログラム必要時間たとえばt1(>t0)以上を要するメモリセルがごくまれに存在する場合がある。
このような場合、ごくまれに存在する書き込みの遅いメモリセルのために、上述した書き込み/ベリファイ動作の回数も、たとえば100回以上と多くの回数を設定している。
また、NAND型フラッシュメモリにおけるデータの読み出しは、ランダムアクセスされたページ単位で、メモリセルに格納されたデータをセンスアンプを通して確定させてデータレジスタに格納し、その後、ページデータを1あるいは2バイト単位ずつ、シリアルに外部転送することにより行われる。
具体的には、たとえば選択されたワード線に0Vを、非選択の全ワード線に4V程度の電圧を印加する。
NAND型フラッシュメモリの場合、複数のメモリセルが直列に接続されていることから、NOR型フラッシュメモリに比較して、メモリセルの読み出し電流が少ないため、メモリセルに格納されたデータをセンスアンプを通して確定させる、いわゆるランダムアクセス時間が長い。
また、NAND型フラッシュメモリ等の不揮発性半導体記憶装置のエラー訂正においては、冗長のメモリエリアを持ち、製品の出荷前に不良個所を見つけ、この冗長メモリと物理的に置換している。
また、エラー訂正符号(ECC:Error Correction Code)として、ハミングコードやBCHコードを使ったビット単位のエラー訂正が主流である。
ところが、一般的なNAND型フラッシュメモリ等のようなワード線セクタを単位としたページ書き込みを行う不揮発性半導体記憶装置において、従来のECCではビット単位のECCを行っており訂正能力が弱いため、上述したように、ごくまれに存在する書き込みの遅いメモリセルのために、上述した書き込み/ベリファイ動作の回数も、たとえば100回以上と多くの回数を設定して、完全に書き込みが終了するまで繰り返す必要があり、結果的に書き込み時間が長くなってしまう場合がある。
また、従来のECCではビット単位のECCを行っており訂正能力が弱いため、正規のメモリアレイの他に、冗長メモリアレイを形成することが必須である。すなわち、LSI製造時の歩留まりを改善するために冗長のメモリを付加し、測定を行い、不良のメモリを冗長のメモリと置換するといった煩雑な処理が必要である。また、冗長メモリの分だけメモリ自体のサイズが大型化し、また、冗長メモリを形成する分、プロセス工程数が多くなり、ひいてはコスト高を招くという不利益がある。
従来のエラー訂正回路では、データの重要性に対してECCのストラテジーを変えることができない。
本発明は、かかる事情に鑑みてなされたものであり、その目的は、エラー訂正能力を強化でき、書き込み時間または/および読み出し時間を短縮化でき、また、冗長メモリを不要にあるいは削減することができ、ひいては、小型化を図れ、コスト低減を図ることが可能な半導体記憶装置を提供することにある。
上記目的を達成するため、本発明の第1の観点の半導体記憶装置は、複数のメモリセルがマトリクス状に配置され、検査符号が付加された複数の主符号語を含むページデータが複数の系列を含むように多次元的に展開して記録されるセルアレイと、上記セルアレイから読み出された検査符号が付加された複数の主符号語を含むページデータを受けて、各主符号語毎に、所定個数以内のエラーデータが存在する場合にはエラーデータを訂正し、検査符号を含む主符号語毎に対応するエラー情報を付加し、訂正状態を表す情報とデータを順次に出力するデータ出力部と、を有し、上記データ出力部は、上記読み出しページデータに含まれる検査符号を含む主符号語を順次シフトインして保持可能な複数のシフトレジスタと、複数に分割された主符号語を含む読み出しページデータを受けて、少なくとも連続する主符号語を異なる上記シフトレジスタに入力させる第1のスイッチ回路と、上記各シフトレジスタのうち、主符号語が全てシフトインされた主符号語データを選択的に出力する第2のスイッチ回路と、上記第2のスイッチ回路により出力される主符号語に所定個数以内のエラーデータが存在する場合に当該エラーデータを訂正するエラー訂正回路と、上記第2のスイッチ回路により選択出力された主符号語に対して上記エラー訂正回路によるエラー情報を付加して出力する付加回路と、を含む
本発明の第2の観点の半導体記憶装置は、複数のメモリセルがマトリクス状に配置され、複数の主符号語を含むページデータの書き込みが複数のメモリセル単位で行われるセルアレイと、書き込むべきページデータを受けて複数の符号語に分割し、各符号語毎に検査して検査符号を生成し、対応する符号語に当該検査符号を付加して主符号語を形成するデータ入力部と、上記検査符号が付加された複数の主符号語を含むページデータを複数の系列を含むように多次元的に展開して書き込ませ、記録されたページデータを読み出すコントロール回路と、上記セルアレイから読み出された検査符号が付加された複数の主符号語を含むページデータを受けて、各主符号語毎に、所定個数以内のエラーデータが存在する場合にはエラーデータを訂正し、検査符号を含む主符号語毎に対応するエラー情報を付加し、訂正状態を表す情報とデータを順次に出力するデータ出力部と、を有し、上記データ入力部は、少なくとも上記複数の主符号語を含む書き込むべきページデータをラッチするラッチ回路と、書き込むべきページデータに含まれる符号語を順次シフトインして保持可能な複数のシフトレジスタと、複数に分割可能な符号語を含む書き込むべきページデータを受けて、少なくとも連続する符号語を異なる上記シフトレジスタに入力させる第1のスイッチ回路と、上記各シフトレジスタのうち、符号語が全てシフトインされた符号語データを選択的に出力する第2のスイッチ回路と、上記第2のスイッチ回路により出力されるように選択された符号語を検査して検査符号を生成する検査符号生成回路と、上記第2のスイッチ回路により選択出力された符号語に対して上記検査符号を付加して上記主符号語として上記ラッチ回路に出力する付加回路と、を含み、上記データ出力部は、上記読み出しページデータに含まれる検査符号を含む主符号語を順次シフトインして保持可能な複数のシフトレジスタと、複数に分割された符号語を含む読み出しページデータを受けて、少なくとも連続する符号語を異なる上記シフトレジスタに入力させる第1のスイッチ回路と、上記各シフトレジスタのうち、主符号語が全てシフトインされた符号語データを選択的に出力する第2のスイッチ回路と、上記第2のスイッチ回路により出力される主符号語に所定個数以内のエラーデータが存在する場合に当該エラーデータを訂正するエラー訂正回路と、上記第2のスイッチ回路により選択出力された符号語に対して上記エラー訂正回路によるエラー情報を付加して出力する付加回路と、を含む
好適には、上記データ出力部は、上記複数の系列のシンドロームデータを生成してエラー訂正を行い、エラーデータが存在するにもかかわらずエラー訂正ができなかった場合には、当該シンドロームデータとエラー訂正の状況を示す情報を出力し、エラー訂正ができた場合には訂正したエラーロケーションを出力する。
好適には、上記データ出力部からのシンドロームデータとエラー訂正の状況を示す情報に基づいて上記ページデータの多次元的な多重訂正処理を行う処理回路を有する。
好適には、上記データ出力部からのシンドロームデータとエラー訂正の状況を示す情報に基づいて上記ページデータの多次元的な多重訂正処理を行う処理回路を有する。
好適には、上記メモリセルがマトリクス配置されたセルアレイは、複数のメモリセルが直列接続されたNAND型メモリストリングを含み、セルアレイにおいて、上記ページデータの複数の主符号語がNANDストリングのセル配列方向に並列的に展開されている。
好適には、上記メモリセルがマトリクス配置されたセルアレイは、各々が複数のブロックに分割され、セルアレイにおいて、上記ページデータの複数の主符号語が上記複数のブロックに並列的に展開されている。
好適には、各々が上記セルアレイを含む複数のバンクを有し、上記ページデータの複数の主符号語が上記複数のバンクに並列的に展開されている。
本発明によれば、たとえば、外部の上位装置から複数の符号語に分割可能な書き込むべきページデータがデータ入力部に入力される。
データ入力部においては、入力されたページデータを構成する、各符号語毎に検査が行われて検査符号が生成される。そして、生成された検査符号が対応する符号語に検査符号が付加されて主符号語が形成される。
検査符号が付加された複数の主符号語を含むページデータは、コントロール回路により、セルアレイに対して複数の系列を含むようにたとえば2次元的に展開して書き込まれる。
また、たとえばコントロール回路の制御の下、セルアレイから検査符号が付加された複数の主符号語を含むページデータが読み出されてデータ出力部に転送される。
データ出力部においては、ラッチ回路から転送された検査符号が付加された複数の主符号語を含むページデータを受けて、各主符号語毎に、所定個数以内のエラーデータが存在する場合にはエラーデータが訂正される。そして、検査符号を含む主符号語毎に対応するエラー情報が付加され順次に外部の処理回路に出力される。
この場合、データ出力部においては、複数の系列のシンドロームデータを生成してエラー訂正が行われ、エラーデータが存在するにもかかわらずエラー訂正ができなかった場合には、当該シンドロームデータとエラー訂正の状況を示す情報が処理回路に出力される。
処理回路においては、データ出力部からのシンドロームデータとエラー訂正の状況を示す情報に基づいてページデータの多次元的な多重訂正処理が行われる。
本発明によれば、読み出し時に訂正状態を表す情報とシンドロームデータを外部に出力することで、外部で多次元的なエラー訂正に拡張でき、さらにエラー訂正能力を強化することができる。
1ページを構成するデータを複数の符号語で構成することで、訂正能力を強力にできる。また、複数の符号語で構成したことで訂正不能に陥った符号語が有っても残りのデータは使うことが可能となる。
そして、一般的な不揮発性半導体記憶のECCに比べ、リードソロモン符号を使うことで訂正能力が強力になる。
また、シフトレジスタ等を複数持つことで、エラー訂正および検査符号に掛かる時間をデータの入出力の時間に影響させること無く連続に行うことができ、読み出し、書き込みの高速化が可能となる。
また、エラー訂正を強化したことで、ライト−ベリファイの回数を従来に比べ減らすことができ、書き込みに必要な時間を減らすことができる。
さらに、エラー訂正を強化したことで、冗長メモリを不要もしくは小さくでき、置換する作業も不要もしくは減らすことができる。これにより、メモリ自体のサイズを小型化でき、さらにプロセス工程数を減らしコストを低減できる。
以下、本発明の実施形態を、図面に関連付けて説明する。
図1は、本発明に係る半導体記憶装置を採用した信号処理システムの全体構成を示すブロック図である。
本実施形態においては、半導体記憶装置として、複数のメモリセルを直列に接続したメモリストリングが選択用スイッチを介してビット線およびソース線に接続されるNAND型フラッシュメモリを採用している。
本信号処理システム1は、図1に示すように、第1の半導体記憶装置としてのNAND型フラッシュメモリ2、ホスト装置としてのCPU3、ブリッジ回路4、および第2の半導体記憶装置としてのたとえばDRAM5を有している。
なお、CPU3により本発明に係る処理回路が構成される。
本信号処理システム1においては、ホスト側であるCPU3とNAND型フラッシュメモリ2は、ブリッジ回路4を介して接続されている。
CPU3からのフラッシュメモリ2に対する読み出し(以降、リードという場合もある)および書き込み(以降、ライトという場合もある)のアクセス要求は、フラッシュメモリ2に内蔵するコントロール回路が受け付ける。
コントロール回路は、アドレス変換処理(CPU3の指定する論理アドレスをフラッシュメモリ上の物理アドレスに変換するマッピング処理。論理・物理アドレス変換処理)等を行う。
また、フラッシュメモリ2は、セルアレイからのリードデータに対するエラー検出・訂正処理、およびセルアレイへのライトデータに対するエラー訂正符号の付加等を行う機能を有する。
この信号処理システム1は、たとえばNAND型フラッシュメモリ2の特性を活かして、NAND型フラッシュメモリ2は、システムのOSプログラムやアプリケーションプログラムの格納、または画像や音声データのストレージとして適用する。
そして、信号処理システム1においては、電源オン時、強制的なリセット時、あるいはシステムリセット時等に、NAND型フラッシュメモリ2に記憶されているデータを高速、たとえば1GB/s程度の高速で読み出し、ブリッジ回路4を通してDRAM5に高速に転送する。
以後、CPU3は、DRAM5をアクセスすることによりシステムを高速に起動させることができ、さらに、画像処理、音声処理、あるいはこれらに伴う表示処理や音声出力処理等の、アプリケーションに応じた各種信号処理を行うことができる。
また、フラッシュメモリ2のセルアレイからのリードデータに対するエラー検出・訂正処理、およびセルアレイへのライトデータに対するエラー訂正符号の付加等を行う機能は、基本的に、リードソロモン(RS)符号を使った不揮発性用エラー訂正法を採用している。
本実施形態においては、NAND型フラッシュメモリ2のセルアレイに対してワード線セクタ単位のページデータが一括的に書き込まれる。
本実施形態においては、1ページの書き込みデータを複数の符号語(code word )に分割し、ECC用レジスタを複数持ち、交互にエラー訂正処理することでエラー訂正処理が無かった場合のメモリの書き込み、読み出し速度に影響を与えない高速なエラー訂正を行えるエラー訂正法を採用している。
本実施形態に係るフラッシュメモリ2は、基本的に複数バンクを有し、複数のバンクを並列にアクセスすることで高速データ転送を可能にしている。
そして、複数のバンクを独立して同時にアクセスできるようにしたことで高速書き込み、読み出し可能であり、データ書き込み時に各符号語に検査符号(パリティ:Parity)を付加し、セルアレイに正規のデータと同時並列的に主符号語として記録しておき、データを読み出す時にパリティも正規のデータとともに読み出し、メモリ内部で失われたデータを復元するためのエラー訂正処理を行う機能を有している。
そして、本実施形態においては、記録されるデータの重要性に伴い、ECCの訂正方法をさらに強化できる構成を採用している。
つまり、後述するように、シンドロームをデータと共に外部に出力することで、外部でN次元のエラー訂正を簡単に拡張できるようにしている。
本実施形態においては、2次元かつ最小距離2を仮定し説明する。
これにより、外部のCPU3でさらに訂正を拡張し行うことができ、また2次元に配置された符号語の訂正を繰り返すことでさらに訂正能力と訂正の信頼性を強化できる。
ここでは、説明をしやすくするためにバンクの個数を2個に仮定して説明する。さらに以下の仮定の下に説明する。
基本的に、512バイト+16バイトを1ページとする。
1ページは、図2および図3に示すように、132バイト(128バイトの符号語CWと4バイトのパリティデータ(検査符号PD))からなる4個の主符号語MCWで構成する。
そして、符号語はGF(2**8)のリードソロモン符号(Reed Solomon Code )とし、最小距離5を仮定する。GFはガロア体(Galois Field)を示し、2**8は2の8乗を意味する。この主符号語により、1セクタが構成され、この1セクタは正規データ(128バイト)とパリティデータ(4バイト)から構成される。
この場合、パリティの冗長は約3%となる。
ここでは述べないが、最小符号距離は本発明において5を限定するものでは無い。また符合語の長さ132バイトも限定するものでは無い。
そして、本実施形態においては、ECCの拡張機能を有している。
このECCの2次元的拡張による訂正方法においては、図4に示すように、2次元的に主符号語を構成する。図4の例では、132バイト×4の1ページデータが構成される。 まず、データライト時点で1ページに含まれる4個の符号語のうち、一つの符号語を距離2のリードソロモン符号のパリティとして、下記式で表せるデータとパリティをライトする。
このデータとパリティに対して、システムでは、距離5のパリティPA ,PB ,PC ,PD を付加しメモリにライトする。
そして、このデータをリードしたときに、ECC処理が実行される。
この例では、距離5の符号語を仮定していることから、エラーが3バイト以上含まれる場合には、エラー訂正はできない。
そうした場合、エラーのある符号語に対して訂正不能を表すフラグ情報を用いて、4符号語中このフラグが1つあれば、これをエラーロケーションとして以下の方法でエラー訂正することができる。
(数1)
n =an +bn +cn
n =an +bn +cn +Pn
たとえば、cn にエラーがあったと仮定し、エラーベクタがeV であったとする。
この場合、訂正不能は、cn のみ1本であったとすると、エラーロケーションはcn となるので、下記式のようになり、cn にeV をガロア体(Galois Field)上において加算することで訂正が完了することになる。
なお、このECCの2次元的拡張による訂正方法においては、図4に示すように、2次元的に主符号語を構成し、132バイト(128バイトの符号語CWと4バイトのパリティデータ(検査符号PD))からなる4個の主符号語MCWで1ページデータが構成されるが、主符号語MCWの展開方法としては、たとえば以下の方法を採用することができる。
第1は、同一バンクの同一ブロック内で、NANDストリングのセル配列方向に4個の主符号語を並列的に展開する方法である。
第2は、同一バンクの異なるブロックに一または複数の主符号語を並列的に展開する方法である。
第3は、異なるバンクにそれぞれ4個の主符号語を並列的に展開する方法である。
以下に、本実施形態に係るNAND型フラッシュメモリ2のより具体的な構成および機能を中心に説明する。
図5は、図1のNAND型フラッシュメモリの構成例を示すブロック図である。
また、図6は、図5におけるバンクの具体的な構成例を示すブロック図である。
図5のフラッシュメモリ2は、セルアレイを含む2つのバンク201(A),202(B)、マルチプレクサ(MPX)/デマルチプレクサ(DeMPX)203、データ入力部204、データ出力部205、I/Oバッファ206、コントロール回路207、および昇圧回路208を、主構成要素として有している。
また、図6に示すように、バンク(A,B)220(201,202)は、メモリセルがマトリクス状に配列されたセルアレイ221、ロー(行、ページ)デコーダ222、ブロックアドレスデコーダ223、ワード線デコーダ224、セルアレイ221のデータ入出力側に配置されたセンスアンプ(S/A)およびデータレジスタを含むデータラッチ回路(DT1)225、カラムセレクタ(Yセレクタ)226、およびカラム(列)デコーダ227を有している。また、図6においては、アドレスレジスタ209を有する。
セルアレイ221は、図7に示すように、直列に接続された複数、たとえば16個のメモリトランジスタM0〜M15およびその両端に直列に接続された2個の選択トランジスタST0,ST1により構成されたメモリストリングSTRG00,STRG01,STRG04223がマトリクス状に配置されている。
なお、図7では、図面の簡単化にため、1行4224列の4224個のメモリストリングSTRG00〜STRG04223が配列された1行のブロックBLK0のみについて示しているが、実際には、各バンク220にブロックBLK0と同様の構成を有する複数(m個)のブロックBLK1〜BLKmがさらに配列される。
また、図7の例では、ビット線本数は、通常512バイトに予備の16バイトを加えた528バイト、つまり4224本としている。
これは、本実施形態の1ページのデータに相当する。
メモリストリングSTRG00のメモリトランジスタM0のドレインに接続された選択トランジスタST0がビット線BL0に接続され、メモリストリングSTRG01のメモリトランジスタM0のドレインがビット線BL1に接続され、同様にして、メモリストリングSTRG04223のメモリトランジスタM0のドレインがビット線BL4223に接続されている。
また、各メモリストリングSTRG00〜04223のメモリトランジスタM15のソースが接続された選択トランジスタST1が共通のソース線SRLに接続されている。
また、同一行に配置されたメモリストリングSTRG00,STRG01〜STRG04223のメモリトランジスタのゲート電極が共通のワード線WL0〜WL15に接続され、選択トランジスタST0のゲート電極が共通の選択ゲート線DSGに接続され、選択トランジスタST1のゲート電極が共通の選択ゲート線SSGに接続されている。
ローデコーダ222は、ブロックアドレスデコーダ223により導通状態が制御される転送ゲート群2221、ワード線デコーダ224から供給されるワード線および選択ゲート線用駆動電圧供給線VCG0〜VCG15,VDSG,VSSGを有している。
なお、図7では、図面の簡単化にため、ブロックBLK0に対応するブロックアドレスデコーダ部分並びに転送ゲート群を示しているが、実際には、複数配列される図示しないブロックに対応してブロックアドレスデコーダ部分並びに転送ゲート群が設けられる。
転送ゲート群2221は、転送ゲートTW0〜TW15,TD0およびTS0により構成されている。
転送ゲート群2221は、ブロックアドレスデコーダ223でデコードされたブロックアドレスに応答して生成され、対応するブロックの選択ゲート線およびワード線を駆動するための信号BSELによって導通状態に保持させる。
具体的には、ブロックBLK0がアドレス指定されていた場合、各転送ゲートTW0〜TW15は、それぞれブロックアドレスデコーダ223の出力信号BSEL0に応じてワード線WL0〜WL15と駆動電圧供給線VCG0〜VCG15とを作動的に接続し、転送ゲートTD0,TS0は同じくブロックアドレスデコーダ223の出力信号BSEL0に応じて選択ゲート線DSG,SSGと駆動電圧供給線VDSG,VSSGとを作動的に接続する。
ブロックアドレスデコーダ223は、アドレスレジスタ209に保持されたアドレスからブロックアドレスをデコードし、デコードしたブロックアドレスに応答して、ローデコーダ222の対応するブロックの選択ゲート線およびワード線を駆動するための転送ゲート群2221を信号BSELによって導通状態に保持させる。
ワード線デコーダ224は、バンクコントロール回路211,212のリード、ライト、あるいは消去の動作を示すコントロール信号に応じて、アドレスレジスタ204,206に保持されたアドレスから動作に応じて昇圧回路208により昇圧された駆動電圧を駆動電圧供給線VCG0〜VCG15,VDSG,VSSGに発生して、ローデコーダ222に供給する。
このような構成を有するバンク220において、たとえば1行目のブロックBLK0のメモリストリングSTRG00(〜TRG04223)のメモリトランジスタM14のデータの読み出し、およびメモリトランジスタM14へのデータの書き込みは以下のように行われる。
読み出し時には、図8に示すように、ワード線デコーダ224により駆動電圧供給線VCG14に接地電圧GND(0V)が供給され、駆動電圧供給線VCG0〜VCG13,VCG15および駆動電圧供給線VDSG,VSSGにたとえば4.5Vが供給され、ソース線SRLに接地電圧0Vが供給される。
そして、ブロックアドレスデコーダ223において、ブロックBLK0に対応する部分にのみアクティブのアドレス信号が入力されて、ブロックアドレスデコーダ223の出力信号BSEL0が4.5V+αのレベルで出力され、他のブロックBLK1〜BLKmに対応するブロックアドレスデコーダの出力信号BSEL1〜BSELmは接地電圧GNDレベルに保持される。
これにより、ブロックBLK0に対応する転送ゲート群2221の転送ゲートTW0〜TW15,TD0およびTS0が導通状態となり、他のブロックBLK1〜BLKmに対応する転送ゲート群の転送ゲートが非導通状態に保持される。
その結果、メモリストリングSTRG00の選択トランジスタST0,ST1が導通状態になり、ビット線BL0にデータが読み出される。
書き込み時には、図9に示すように、ワード線デコーダ224により選択された駆動電圧供給線VCG14に高電圧、たとえば20Vが供給され、駆動電圧供給線VCG0〜VCG13,VCG15に中間電圧(たとえば10V)、駆動電圧供給線VDSGの電源電圧VCC(たとえば3.3V)、駆動電圧供給線VSSGに接地電圧GND(0V)が供給される。
また、書き込みを行うべきメモリトランジスタM14を有するメモリストリングSTRG00が接続されたビット線BL0に接地電圧GND、書き込みを禁止すべきメモリトランジスタM14を有するメモリストリングSTRG01〜STRG04223が接続されたビット線BL1BL04223に電源電圧VCCが印加される。
そして、ローデコーダ222のブロックBLK0に対応する部分にのみ、ブロックアドレスデコーダ223の出力信号BSEL0が20V+αのレベルで出力され、他のブロックBLK1〜BLKmに対応するブロックアドレスデコーダの出力信号BSEL1〜BSELmは接地電圧GNDレベルで出力される。
これにより、ブロックBLK0に対応する転送ゲート群2221の転送ゲートTW0〜TW15,TD0およびTS0が導通状態となり、他のブロックBLK1〜BLKmに対応する転送ゲート群の転送ゲートが非導通状態に保持される。
その結果、選択ワード線WL14に書き込み電圧20Vが、非選択のワード線WL0〜WL13,WL15にパス電圧(中間電圧)Vpass(たとえば10V)が印加される。
これにより、メモリストリングSTRG01〜STRG04223の選択トランジスタST0がカットオフ状態となり、書き込みを禁止すべきメモリトランジスタが接続されたメモリストリングSTRG01〜STRG04223のチャネル部はフローティング状態となる。その結果、これらのチャネル部の電位は、主として非選択ワード線に印加されるパス電圧Vpassとのキャパシタカップリングによりブーストされ、書き込み禁止電圧まで上昇し、メモリストリングSTRG01〜STRG04223のメモリトランジスタM14へのデータ書き込みが禁止される。
一方、書き込みをすべきメモリトランジスタが接続されたメモリストリングSTRG00のチャネル部は接地電圧GND(0V)に設定され、選択ワード線WL14に印加された書き込み電圧20Vとの電位差により、メモリトランジスタM14へのデータの書き込みがなされ、しきい値電圧が正方向にシフトして、たとえば消去状態の−3Vから2V程度になる。
以上の動作にように、本実施形態のNAND型フラッシュメモリ2は、アドレスレジスタ209に保持されたアドレスに応じて、対応するバンク201,202のセルアレイ221から行(ページ)単位でデータがリードされ、セルアレイ221に対して行(ページ)単位でデータがライトされる。
マルチプレクサ/デマルチプレクサ203は、ライト時には、データ入力部204による4個の主符号語を含む書き込むべきページデータを、コントロール回路207のコントロールの下、所定のタイミングで切り替えて選択的にバンク(A)201のデータラッチ回路225にカラムセレクタ226を通して転送させ、あるいはバンク(B)202のデータラッチ回路225にカラムセレクタ226を通して転送させる。
マルチプレクサ/デマルチプレクサ203は、リード時には、バンク(A)201のデータラッチ回路225からカラムセレクタ226を通して転送された4個の主符号語MCWを含むリードデータと、バンク(B)202のデータラッチ回路225からカラムセレクタ226を通して転送された4個の主符号語MCWを含むリードデータとを、コントロール回路207のコントロールの下、所定のタイミングで切り替えて選択的にデータ出力部205に入力させる。
データ入力部204は、コントロール回路207のコントロールの下、I/Oバッファ206を通してCPU3から転送されてきた1ページ分(512バイト分)のデータを4個の符号語CWに分割し、各符号語(128バイト)毎に4バイトのパリティデータを生成して付加し、132バイトの4個の主符号語MCWを順次に形成してマルチプレクサ/デマルチプレクサ203を通して、バンク(A)201またはバンク(B)202に転送する。
図10は、本実施形態に係るデータ入力部204の具体的な構成例を示す回路図である。
図10のデータ入力部204は、書き込むべきページデータに含まれる符号語CW(128バイト)を順次シフトインして保持可能な複数(本実施形態では第1、第2の2個)のシフトレジスタと2041,2042と、コントロール回路207のコントロールの下、複数(本実施形態では4個)に分割可能な符号語CWを含む書き込むべきページデータを受けて、連続する符号語を異なる第1のシフトレジスタ2041と第2のシフトレジスタ2042とに交互に入力させる第1のスイッチ回路(SW1)2043と、コントロール回路207のコントロールの下、第1および第2のシフトレジスタ2041,2042のうち、符号語CWが全てシフトインされた符号語データを選択的に出力する第2のスイッチ回路2044と、第2のスイッチ回路2044により今出力されるように選択された符号語を検査して4バイトのパリティデータPD(検査符号)を生成する検査符号生成回路2045と、第2のスイッチ回路2044により選択出力された128バイトの符号語CWに対してパリティデータPD(検査符号)を付加(合成)して132バイトの主符号語MCWとしてマルチプレクサ/デマルチプレクサ203を通して、バンク(A)201またはバンク(B)202に転送する付加回路2046と、を有している。
検査符号生成回路2045は、シンドローム生成(Syndrome Gen)回路20451と、Gマトリクス演算回路20452と、出力タイミング生成回路20453と、2入力ANDゲート20454とを有する。
このような構成を有する検査符号生成回路2045においては、シンドローム生成回路20451で生成された4変数XiがGマトリクス演算回路20452に送られ、マトリクス演算されて4バイトのパリティが生成される。シンドローム生成回路20451は4変数XiがGマトリクス演算回路20452に送られた時点でリセットされる。
そして、対応する符号語が第1のシフトレジスタ2041または第2のシフトレジスタ2042が128バイトフルになるまでにGマトリクス演算回路20452でパリティ計算を行って、たとえば第2のスイッチ回路2044でフルになった対応する符号語がシフトインされている第1のシフトレジスタ2041または第2のシフトレジスタ2042の符号語データが選択されるタイミングで、出力タイミング生成回路20453から出力パルスPLSによりANDゲート20454からパリティデータPDを出力させる。
また、リセットされたシンドローム回路20451には、次の128バイトの符号語が入力され、また、この符号語は第1のスイッチ回路2043を介して前回と異なる第2のシフトレジスタ2042または第1のシフトレジスタ2041にシフトインされる。
データ出力部205は、コントロール回路207のコントロールの下、マルチプレクサ/デマルチプレクサ203を通してデータラッチ回路225から転送されてきた4個の主符号語MCWを含む1ページ分(512バイト+16バイト)のデータを受けて、各主符号語(132バイト)毎に、所定個数以内のエラーデータが存在する場合にはエラーデータを訂正し、パリティデータPDを含むリードされた主符号語MCW毎にエラー情報を付加してI/Oバッファ206を介して外部のCPU3に転送する。
図11は、本実施形態に係るデータ出力部205の具体的な構成例を示す回路図である。
図11のデータ出力部205は、マルチプレクサ/デマルチプレクサ203を通してデータラッチ回路225から転送されてきたリードページデータに含まれる4バイトのパリティデータを含む主符号語MCWを順次シフトインして保持可能な複数(本実施形態では第1第2の2個)のシフトレジスタ2051,2052と、コントロール回路207のコントロールの下、複数(本実施形態では4個)の主符号語MCWを含むリードページデータを受けて、連続する主符号語を異なる第1のシフトレジスタ2051と第2のシフトレジスタ2052とに交互に入力させる第1のスイッチ回路(SW1)2053と、コントロール回路207のコントロールの下、第1および第2のシフトレジスタ2051,2052のうち、主符号語MCWが全てシフトインされた主符号語データを選択的に出力する第2のスイッチ回路2054と、第2のスイッチ回路2054により今出力されるように選択された主符号語に所定個数以内のエラーデータが存在する場合にこのエラーデータを訂正するエラー訂正回路2055と、第2のスイッチ回路2054により選択出力された132バイトの主符号語MCWに対してエラー訂正回路2055によるエラー情報を付加(合成)して、132バイトの主符号語MCWとして、上記第2のスイッチ回路により選択出力された符号語に対して上記エラー訂正回路によるエラー情報を付加してI/Oバッファ206を介して外部のCPU3に転送する付加回路2056とを有する。
エラー訂正回路2055は、シンドローム生成回路20551、4バイトのシンドロームレジスタ(4BSreg)20552、ECCプロセッサ20553、エラーベクトルレジスタ(eV−reg)20554、エラーロケーションレジスタ(eL−reg)20555、および2入力ANDゲート20556を有している。
このような構成を有するエラー訂正回路2055においては、シンドローム生成回路20551でHマトリクス上のシンドロームが計算される。
そして、エラー訂正処理で得られたエラーベクトルとエラーロケーションから、第2のスイッチ回路2054で選択出力される第1のシフトレジスタ2051または第2のシフトレジスタ2052のデータがシフトアウトされるタイミングでエラーベクターをエラーデータに加算する付加回路2056に出力する。
データ出力部205において、前に生成したシンドロームをデータと共にI/Oバッファ206を通して外部のCPU3に出力する。
さらに、エラー訂正の状況を示す情報をエラー訂正ポインタとして出力する。この情報は以下の内容を含む。
エラーが無かった場合、Nバイト訂正した場合のNとエラーロケーション、訂正できなかった場合の各状態を示す情報である。
I/Oバッファ206は、CPU3側、すなわちホスト(ブリッジ)側に対応した高速I/Fを含み、ブリッジ回路4とのデータの入出力を行うための複数のデータ入出力ピンPD206、コマンド/アドレスを入力するための入力ピンPCA206、コントロール信号を入出力するための入出力ピンPL206が接続されている。
I/Oバッファ206を通してCPU3とコントロール回路207との間では、コマンド/アドレス、およびコントロール信号の授受が行われる。
コントロール回路207は、I/Oバッファ206を通して入力したリードコマンドRD、ライトコマンドWR等のコマンドとリードあるいはライトするアドレスを入力して、コマンドをコマンドレジスタ209およびコントロール回路210に出力し、アドレスをアドレスレジスタ209に供給する。
コントロール回路207は、I/Oバッファ206を通してチップイネーブル信号/CE、リードイネーブル信号/RD、あるいはライトイネーブル信号/WE等のコントロール系信号を入力し、各バンク201,202のページデータのリード、ライト動作のコントロールを行う。
また、コントロール回路207は、コントロール系信号およびコマンドに応じてデータ入力部204、またはデータ出力部205のデータ入出力のコントロール、特に、各スイッチ回路の切り替え制御を行い、また、これと並行して、カラムデコーダ227を通してのカラムセレクタ226を制御してデータラッチ回路225のデータの入出力制御を行い、さらに、マルチプレクサ/デマルチプレクサ203の切り替え制御を行う。
すなわち、コントロール回路207は、コントロール信号およびコマンドを解読して、フラッシュメモリ2の全体をイネーブルにする等の処理を行い、コマンドによる指示されたアクセス(リードまたはライト)が、バンク(A)201とバンク(B)202のいずれへのアクセスであるかを判定して、所定のアクセス制御を行う。
コントロール回路207は、データ入力部204においては形成された4個の主符号語を通常モード時には、1ページデータをワード線単位でセルアレイに記憶させる。
これに対して、ECCの2次元的拡張による訂正モードにおいては、コントロール回路207は、132バイトからなる4個の主符号語MCWで1ページデータを2次元的に展開する。コントロール回路207は、たとえば4個の主符号語MCWを、同一バンクの同一ブロック内で、NANDストリングのセル配列方向に4個の主符号語を並列的に展開し、あるいは、同一バンクの異なるブロックに一または複数の主符号語を並列的に展開し、あるいは異なるバンクにそれぞれ4個の主符号語を並列的に展開する。
また、コントロール回路207は、コマンドに応じて、具体的には、上述したように、リードやライト時に駆動線に供給する電圧が異なることから、コマンドに応じた電圧となるように昇圧すべき電圧を昇圧回路208に指示する。
コントロール回路207は、インタリーブ制御・コマンド制御・アドレス指定(バンク・ブロック・ページ)を行い、コントロール信号、コマンドおよびアドレスをバンク201,202に出力し、データ入出力を制御を行い、アドレス変換処理(ホストの指定する論理アドレスをフラッシュメモリ上の物理アドレスに変換するマッピング処理。論理・物理アドレス変換処理)を行うためのアドレス変換テーブルを有する。
昇圧回路208は、コントロール回路207の指示に従って、たとえばリード等のコマンドに応じて電圧を電源電圧VCCを昇圧して生成し、バンク201または202のローデコーダ222やワード線デコーダ224等の供給する。
たとえばリード時には、前述したように、4.5Vの電圧が必要なことから3.3Vから4.5Vへの昇圧を行う。
また、ライト時には、前述したように、20Vと中間電圧10Vが必要なことから、20V,10Vへの昇圧を行う。
ここで、本実施形態に係るフラッシュメモリ2のライトおよびリード動作シーケスンについて、図面に関連付けて説明する。
図12(A)〜(I)は、本実施形態に係るフラッシュメモリ2のライト動作シーケスンについて説明するためのタイミングチャートである。
図13(A)〜(I)は、本実施形態に係るフラッシュメモリ2のリード動作シーケスンについて説明するためのタイミングチャートである。
まず、図10および図12(A)〜(I)に関連付けてフラッシュメモリ2のライト動作シーケスンについて説明する。
<データライト>
図12(A)に示すように、CPU3から転送された4個の符号語に分割可能な1ページ分の連続したライトデータがI/Oバッファ206を通してデータ入力部204に入力される。
コントロール回路207のコントロールの下、第1のスイッチ回路2043が第1のシフトレジスタ2041の入力側に切り替えられ、入力データは、図12(A),(B)に示すように、第1のシフトレジスタ(128Bshift A)2041とシンドローム生成回路20451に入力される。
図12(B)〜(E)に示すように、符号語として128バイトのデータが入力され第1のシフトレジスタ2041が、128バイトのデータでフル(Full)になったとき、それまでシンドローム生成回路20451で生成された入力信号と係数でマトリクス演算された結果の4変数はGマトリクス演算回路20452に送られ、これと並行してシンドローム生成回路20451はリセットされる。
次に、コントロール回路207のコントロールの下、第1のスイッチ回路2043が第2のシフトレジスタ(128Bshift B)2042の入力側に切り替えられ、次の128バイトのデータを第2のシフトレジスタ2042とシンドローム生成回路20451に切り替え入力させる。
この第2のシフトレジスタ2042が、128バイトのデータでフルになるまでに第1のシフトレジスタ2041側の4バイトのパリティを計算する。
そして、第1のシフトレジスタ2042の128バイトのデータ第2のスイッチ回路2044から出力され、この128バイトのデータ(一つの符号語CW))に4バイトのパリティデータPDが付加回路2046で付加(合成)されて一つの主符号語MCWが完成される。
そして、132バイトの主符号語MCWを形成してマルチプレクサ/デマルチプレクサ203を通して、バンク(A)201またはバンク(B)202に転送する。
第2のシフトレジスタ2042が128バイトのデータでフル時点で同様の動作を行う。これを4回繰り返し4個の主符号語を順次転送した時点で、バンク(A)201またはバンク(B)202のデータラッチ回路225が512バイト+16バイトのデータでフルになる。
このとき、コントロール回路207のコントロールにより、マルチプレクサ/デマルチプレクサ203を一方のバンク(B)202またはバンク(A)201のデータラッチ回路に転送可能なように切り替える。
なお、本実施形態では述べないが、この1ページデータはライト−ベリファイ動作に入り、ライトデータが正しく書き込まれたことを確認しライト動作を終了する。
しかし、この時点で符号語のエラー訂正能力内であれば書き込みが弱かったり、回路上の欠陥等で完全なデータが書き込まれなくともリード時に復元できることから、ベリファイ動作を終了できる。
以上の動作を繰り返すことで複数のバンクにデータとパリティデータを高速に書き込むことができる。
次に、図11および図13(A)〜(I)に関連付けてフラッシュメモリ2のリード動作シーケスンについて説明する。
<データリード>
バンク(A)201またはバンク(B)202のセルアレイ221からリードされ、パリティデータが付加された132バイトの主符号語MCWを4個含む512バイト+16バイトのページデータはデータラッチ回路225にラッチされる。
その後、図13(A)〜(G)に示すように、コントロール回路207のコントロールの下、たとえばデータラッチ回路225のラッチデータのうち一つの主符号語MCWがマルチプレクサ/デマルチプレクサ203を通してデータ出力部205に転送される。
データ出力部205は、たとえば第1のスイッチ回路2053を介して第1のシフトレジスタ2051にシフトインされ、これと並行して、エラー訂正回路2055のシンドローム生成回路20551に入力される。
そして、1主符号語が転送された第1のシフトレジスタ2051にシフトインされた時点で、シンドローム生成回路20551によるシンドローム生成が完了し、シンドロームレジスタ(4Bsreg)20552に保管する。
データ出力部205においては、さらに次の主符号語MCWが転送されてくるが、このときコントロール回路207のコントロールの下、第1のスイッチ回路2053を第2のシフトレジスタ2052の入力側に切り替え、転送されてきた次の主符号部MCWを第2のシフトレジスタ2052にシフトインさせる。
このとき、シンドローム生成回路20551およびシンドロームレジスタ20552は、クリアされ新たな符号語のシンドローム生成をスタートする。
このようにして、前の符号語のエラー訂正を次の符号語が転送完了するまでに終了させることでこの訂正処理は読み出し速度に影響させないで続けることができる。この処理を1ページに含まれる4主符号語に対し実行する。
そして、図12(A)〜(I)に示すように、エラー訂正処理で得られたエラーべクトルとエラーロケーションから、この読み出しデータがシフトアウトされる時に目的のエラーデータにエラーべクターを加えることでエラー訂正処理が完了する。
もしエラー訂正できなかった場合、たとえば最小距離から決る訂正可能数以上のエラーが合った場合は、前に生成したシンドロームをデータと共に外部に出力する。
さらに、エラー訂正の状況を示す情報をエラー訂正ポインタとして出力する。
<その他データリードモード>
その他のリードモードについて説明する。
このモードはエラー訂正処理を行い、ライト−ベリファイの繰り返し動作を続けるか止めるかを判断するものであり、理由は問わないがエラーが残っていても訂正範囲であればこの動作を停止する判断を行うものである。
たとえば、訂正能力が2重訂正が可能と仮定して1重訂正でエラーを復元できるのであればベリファイ動作を停止する。
この場合は、その後データをリードするまでに1個のエラーが増加しても訂正できることになる。
換言すれば、ベリファイ動作で何個のエラーが残っているか、ECCによって判断するものである。
もしこの方法を取らない場合は、ベリファイすべき正しいデータをレジスタに格納しておき、読み出したデータのレジスタと全データが同じか、違っているなら何バイト違っているか判断するためデータコンパレータが必要になる。
次に、ECCの2次元的拡張による訂正モード時の動作について、図14に関連付けて4重イレージャー訂正を例に説明する。
図14において、右上がりの斜線を付したデータは、NANDフラッシュ2のセルアレイから読み出された時点ではエラーだったがECC−1で2重訂正でエラー訂正されたデータを示している。また、図14において、左上がりの斜線を付したデータは、ECC−1で訂正できなかったエラーデータであって、ECC−2でエラーロケーションが得られた結果、ECC−1で4重イレージャー訂正が外部のCPU3において可能なデータを示している。なお、ECC−2で1重イレージャー訂正も可能である(外部のCPU3にて実施)。
<多重エラーの場合のイレージャー訂正の例>
図14は、132バイト×4の1ページに書き込まれるデータを示している。この一つの132バイトデータを最小距離2の符号語としてECC−2の系列であらかじめパリティーを計算しておく。この計算法は数1および図4に関連付けて既に説明した。
その上でメモリに書き込み、その後読み出したとする。ここでECC−1系列の符合語を上からa,b,c,dとし、ECC−2の系列を左から1,2,3とする。
ECC−1系列のa,c,dは読み出した際にそれぞれ2バイトのエラーが有ったと仮定する。この場合、ECC−1は2重訂正可能であり、訂正できる。
訂正できた系列および初めからエラーの無かった系列に対し、ECC−1ポインタをリセットしておく。
しかし、図14の例でbの系列は3バイト以上のエラーが有ったと仮定する。この場合は訂正不能であり、ポインタをセットしておく。そして、データリードの動作で説明したように、データ出力部205がシンドローム、ポインタ、データを外部のCPU3に出力する。
外部のCPU3では4個のECC−1系列でポインタが1本の場合、上述したようにデータをならべ、ECC−2の系列でシンドロームを計算する。この例で、得られたシンドロームが0ならエラー無しを意味する。図14の例では、丸印で示した符合語である。
図14において、Xはシンドロームが0でない符合語である。ここでECC−1のa,b,c,dのポインタがセットしているデータとECC−2系列でXの符合語の交点がエラーロケーションであり、そのエラーベクトルはECC−2のシンドロームとなる。
ここでnバイトのエラーの場合、n個のシンドロームをbのS0(数1) に加算し、誤訂正が無いか検査する。誤訂正が無い場合はbのシンドロームS0は0になる。また、同様にシンドロームS1、S2、S3についてもエラーベクトルとロケーションから所定の式で0になるか検査することが望ましい。
また、本例では、ECC−2を最小距離2としたが、実際には2に限定されない。
このように、2次元的拡張による訂正モードを採用することにより、記録されるデータの性質に従い、ECCの訂正方法を強化できる。つまりシンドロームをデータと共に外部に出力することで、外部で二次元のエラー訂正を簡単に行うことができる。
これにより外部でさらにイレージャー訂正を行うことができる。この場合、最大で4主符号誤中の1主符号誤が全てエラーでも訂正可能となる。
以上説明したように、本実施形態によれば、I/Oバッファ206を通してCPU3から転送されてきた1ページ分(512バイト分)のデータを4個の符号語CWに分割し、各符号語(128バイト)毎に4バイトのパリティデータを生成して付加し、132バイトの4個の主符号語MCWを順次に形成してマルチプレクサ/デマルチプレクサ203を通して、バンク(A)201またはバンク(B)202に転送するデータ入力部204と、検査符号が付加された複数の主符号語を含むページデータを複数の系列を含むように2次元的に展開して書き込ませ、記録されたページデータを読み出すコントロール回路207と、コントロール回路207のコントロールの下、マルチプレクサ/デマルチプレクサ203を通してデータラッチ回路225から転送されてきた4個の主符号語MCWを含む1ページ分(512バイト+16バイト)のデータを受けて、各主符号語(132バイト)毎に、所定個数以内のエラーデータが存在する場合にはエラーデータを訂正し、パリティデータPDを含むリードされた主符号語MCW毎にエラー情報を付加して訂正状態を表す情報とデータをI/Oバッファ206を介して外部のCPU3に転送するデータ出力部205とを有することから、以下の効果を得ることができる。
すなわち、読み出し時に訂正状態を表す情報とシンドロームデータを外部に出力することで、外部で多次元的なエラー訂正に拡張でき、さらにエラー訂正能力を強化することができる。
1ページを構成するデータを複数の符号語で構成することで、訂正能力を強力にできる。また、複数の符号語で構成したことで訂正不能に陥った符号語が有っても残りのデータは使うことが可能となる。
そして、一般的な不揮発性半導体記憶のECCに比べ、リードソロモン符号を使うことで訂正能力が強力になる。
また、シフトレジスタ等を複数持つことで、エラー訂正および検査符号に掛かる時間をデータの入出力の時間に影響させること無く連続に行うことができ、読み出し、書き込みの高速化が可能となる。
また、エラー訂正を強化したことで、ライト−ベリファイの回数を従来に比べ減らすことができ、書き込みに必要な時間を減らすことができる。
さらに、エラー訂正を強化したことで、冗長メモリを不要もしくは小さくでき、置換する作業も不要もしくは減らすことができる。これにより、メモリ自体のサイズを小型化でき、さらにプロセス工程数を減らしコストを低減できる。
また、複数のバンクを持つことにより、読み出しのランダムアクセス時間を見かけ上見えなくすることによって高速読み出しが可能となる。
また、フラッシュメモリ2はエラー検出、訂正処理回路有することから、フラッシュメモリからのリードデータのエラー検出、訂正処理を行うことによりホスト側の処理を軽減することが可能となる。
なお、本実施形態においては、バンクが2つの場合を例に説明したが、さらに多くのバンク、たとえば4個、や8個等のバンクを備える半導体記憶装置に本発明を適用できることはいうまでもない。
本発明に係る半導体記憶装置を採用した信号処理システムの全体構成を示すブロック図である。 本実施形態に係る1ページデータの構成例を説明するための図である。 本実施形態に係る主符号語における構成およびパリティデータ(検査符号)の配置位置を説明するための図である。 ECCの2次元的拡張による訂正方法を説明するための図である。 図1のNAND型フラッシュメモリの構成例を示すブロック図である。 図5におけるバンクの具体的な構成例を示すブロック図である。 図6のバンクおよびローデコーダの具体的な構成例を説明するための図である。 図5のバンクにおけるデータリード時における各駆動線のバイアス条件を示す図である。 図5のバンクにおけるデータライト時における各駆動線のバイアス条件を示す図である。 本実施形態に係るデータ入力部の具体的な構成例を示す回路図である。 本実施形態に係るデータ出力部の具体的な構成例を示す回路図である。 本実施形態に係るフラッシュメモリ2のライト動作シーケスンについて説明するためのタイミングチャートである。 本実施形態に係るフラッシュメモリ2のリード動作シーケスンについて説明するためのタイミングチャートである。 ECCの2次元的拡張による訂正モード時の動作について説明するための図である。
符号の説明
1…信号処理システム、2…NAND型フラッシュメモリ、201(A),202(B)…バンク、203…マルチプレクサ/デマルチプレクサ(MPX/DQEMPX)、
204…データ入力部、205…データ出力部、206…I/Oバッファ、207…コントロール回路、208……昇圧回路、209…アドレスレジスタ、220…バンク(A,B)(201,202)、221…セルアレイ、222…ロー(行、ページ)デコーダ、223…ブロックアドレスデコーダ、224…ワード線デコーダ、225…データラッチ回路(DT)、226…カラムセレクタ(Yセレクタ)、227…カラム(列)デコーダ、3…CPU(ホスト装置)、4…ブリッジ回路、5…DRAM。

Claims (14)

  1. 複数のメモリセルがマトリクス状に配置され、検査符号が付加された複数の主符号語を含むページデータが複数の系列を含むように多次元的に展開して記録されるセルアレイと、
    上記セルアレイから読み出された検査符号が付加された複数の主符号語を含むページデータを受けて、各主符号語毎に、所定個数以内のエラーデータが存在する場合にはエラーデータを訂正し、検査符号を含む主符号語毎に対応するエラー情報を付加し、訂正状態を表す情報とデータを順次に出力するデータ出力部と、を有し、
    上記データ出力部は、
    読み出しページデータに含まれる検査符号を含む主符号語を順次シフトインして保持可能な複数のシフトレジスタと、
    複数に分割された主符号語を含む読み出しページデータを受けて、少なくとも連続する主符号語を異なる上記シフトレジスタに入力させる第1のスイッチ回路と、
    上記各シフトレジスタのうち、主符号語が全てシフトインされた主符号語データを選択的に出力する第2のスイッチ回路と、
    上記第2のスイッチ回路により出力される主符号語に所定個数以内のエラーデータが存在する場合に当該エラーデータを訂正するエラー訂正回路と、
    上記第2のスイッチ回路により選択出力された主符号語に対して上記エラー訂正回路によるエラー情報を付加して出力する付加回路と、を含む
    半導体記憶装置。
  2. 上記データ出力部は、上記複数の系列のシンドロームデータを生成してエラー訂正を行い、エラーデータが存在するにもかかわらずエラー訂正がきなかった場合には、当該シンドロームデータとエラー訂正の状況を示す情報を出力する
    請求項1記載の半導体記憶装置。
  3. 上記データ出力部は、上記複数の系列のシンドロームデータを生成してエラー訂正を行い、エラーデータが存在するにもかかわらずエラー訂正ができなかった場合には、当該シンドロームデータとエラー訂正の状況を示す情報を出力し、エラー訂正ができた場合には訂正したエラーロケーションを出力する
    請求項1記載の半導体記憶装置。
  4. 上記データ出力部からのシンドロームデータとエラー訂正の状況を示す情報に基づいて上記ページデータの多次元的な多重訂正処理を行う処理回路を有する
    請求項記載の半導体記憶装置。
  5. 上記データ出力部からのシンドロームデータとエラー訂正の状況を示す情報に基づいて上記ページデータの多次元的な多重訂正処理を行う処理回路を有する
    請求項記載の半導体記憶装置。
  6. 上記メモリセルがマトリクス配置されたセルアレイは、複数のメモリセルが直列接続されたNAND型メモリストリングを含み、
    セルアレイにおいて、上記ページデータの複数の主符号語がNANDストリングのセル配列方向に並列的に展開されている
    請求項1から5のいずれか一に記載の半導体記憶装置。
  7. 上記メモリセルがマトリクス配置されたセルアレイは、各々が複数のブロックに分割され、
    セルアレイにおいて、上記ページデータの複数の主符号語が上記複数のブロックに並列的に展開されている
    請求項1から5のいずれか一に記載の半導体記憶装置。
  8. 各々が上記セルアレイを含む複数のバンクを有し、
    上記ページデータの複数の主符号語が上記複数のバンクに並列的に展開されている
    請求項1から5のいずれか一に記載の半導体記憶装置。
  9. 複数のメモリセルがマトリクス状に配置され、複数の主符号語を含むページデータの書き込みが複数のメモリセル単位で行われるセルアレイと、
    書き込むべきページデータを受けて複数の符号語に分割し、各符号語毎に検査して検査符号を生成し、対応する符号語に当該検査符号を付加して主符号語を形成するデータ入力部と、
    上記検査符号が付加された複数の主符号語を含むページデータを複数の系列を含むように多次元的に展開して書き込ませ、記録されたページデータを読み出すコントロール回路と、
    上記セルアレイから読み出された検査符号が付加された複数の主符号語を含むページデータを受けて、各主符号語毎に、所定個数以内のエラーデータが存在する場合にはエラーデータを訂正し、検査符号を含む主符号語毎に対応するエラー情報を付加し、訂正状態を表す情報とデータを順次に出力するデータ出力部と、を有し、
    上記データ入力部は、
    少なくとも上記複数の主符号語を含む書き込むべきページデータをラッチするラッチ回路と、
    書き込むべきページデータに含まれる符号語を順次シフトインして保持可能な複数のシフトレジスタと、
    複数に分割可能な符号語を含む書き込むべきページデータを受けて、少なくとも連続する符号語を異なる上記シフトレジスタに入力させる第1のスイッチ回路と、
    上記各シフトレジスタのうち、符号語が全てシフトインされた符号語データを選択的に出力する第2のスイッチ回路と、
    上記第2のスイッチ回路により出力されるように選択された符号語を検査して検査符号を生成する検査符号生成回路と、
    上記第2のスイッチ回路により選択出力された符号語に対して上記検査符号を付加して上記主符号語として上記ラッチ回路に出力する付加回路と、を含み、
    上記データ出力部は、
    読み出しページデータに含まれる検査符号を含む主符号語を順次シフトインして保持可能な複数のシフトレジスタと、
    複数に分割された符号語を含む読み出しページデータを受けて、少なくとも連続する符号語を異なる上記シフトレジスタに入力させる第1のスイッチ回路と、
    上記各シフトレジスタのうち、主符号語が全てシフトインされた符号語データを選択的に出力する第2のスイッチ回路と、
    上記第2のスイッチ回路により出力される主符号語に所定個数以内のエラーデータが存在する場合に当該エラーデータを訂正するエラー訂正回路と、
    上記第2のスイッチ回路により選択出力された符号語に対して上記エラー訂正回路によるエラー情報を付加して出力する付加回路と、を含む
    半導体記憶装置。
  10. 上記データ出力部は、上記複数の系列のシンドロームデータを生成してエラー訂正を行い、エラーデータが存在するにもかかわらずエラー訂正ができなかった場合には、当該シンドロームデータとエラー訂正の状況を示す情報を出力し、エラー訂正ができた場合には訂正したエラーロケーションを出力する
    請求項9記載の半導体記憶装置。
  11. 上記データ出力部からのシンドロームデータとエラー訂正の状況を示す情報に基づいて上記ページデータの多次元的な多重訂正処理を行う処理回路を有する
    請求項10記載の半導体記憶装置。
  12. 上記メモリセルがマトリクス配置されたセルアレイは、複数のメモリセルが直列接続されたNAND型メモリストリングを含み、
    セルアレイにおいて、上記ページデータの複数の主符号語がNANDストリングのセル配列方向に並列的に展開されている
    請求項9から11のいずれか一に記載の半導体記憶装置。
  13. 上記メモリセルがマトリクス配置されたセルアレイは、各々が複数のブロックに分割され、
    セルアレイにおいて、上記ページデータの複数の主符号語が上記複数のブロックに並列的に展開されている
    請求項9から11のいずれか一に記載の半導体記憶装置。
  14. 各々が上記セルアレイを含む複数のバンクを有し、
    上記ページデータの複数の主符号語が上記複数のバンクに並列的に展開されている
    請求項9から11のいずれか一に記載の半導体記憶装置。
JP2004208494A 2004-07-15 2004-07-15 半導体記憶装置 Expired - Fee Related JP4534639B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004208494A JP4534639B2 (ja) 2004-07-15 2004-07-15 半導体記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004208494A JP4534639B2 (ja) 2004-07-15 2004-07-15 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2006031813A JP2006031813A (ja) 2006-02-02
JP4534639B2 true JP4534639B2 (ja) 2010-09-01

Family

ID=35897976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004208494A Expired - Fee Related JP4534639B2 (ja) 2004-07-15 2004-07-15 半導体記憶装置

Country Status (1)

Country Link
JP (1) JP4534639B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080100750A (ko) * 2007-05-14 2008-11-19 삼성전자주식회사 데이터 읽기 장치 및 그 방법
JP5490062B2 (ja) * 2011-07-19 2014-05-14 株式会社東芝 不揮発性半導体記憶装置
US9230684B2 (en) 2012-12-19 2016-01-05 Kabushiki Kaisha Toshiba Memory controller, storage device, and memory control method
JP6886547B1 (ja) * 2020-05-13 2021-06-16 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置およびecc関連情報の読出し方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000305861A (ja) * 1999-04-26 2000-11-02 Hitachi Ltd 記憶装置およびメモリカード
JP2000348497A (ja) * 1999-06-08 2000-12-15 Toshiba Corp 半導体記憶装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2821278B2 (ja) * 1991-04-15 1998-11-05 日本電気アイシーマイコンシステム株式会社 半導体集積回路
JP3270367B2 (ja) * 1997-09-29 2002-04-02 エヌイーシーフィールディング株式会社 半導体記憶装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000305861A (ja) * 1999-04-26 2000-11-02 Hitachi Ltd 記憶装置およびメモリカード
JP2000348497A (ja) * 1999-06-08 2000-12-15 Toshiba Corp 半導体記憶装置

Also Published As

Publication number Publication date
JP2006031813A (ja) 2006-02-02

Similar Documents

Publication Publication Date Title
JP4135680B2 (ja) 半導体記憶装置および信号処理システム
JP4538034B2 (ja) 半導体記憶装置、及びその制御方法
JP4138169B2 (ja) オンチップエラー訂正回路を備えた半導体メモリ装置及びエラー訂正方法
JP5166074B2 (ja) 半導体記憶装置、その制御方法、および誤り訂正システム
CN107643958B (zh) 恢复数据的方法和使用该方法的存储器系统和raid存储系统
KR101950758B1 (ko) 반도체 장치
US20100208519A1 (en) Semiconductor memory device and method of reading the same
JP6131207B2 (ja) 半導体記憶装置
JP5657079B1 (ja) 半導体記憶装置
JP6178909B1 (ja) 不揮発性半導体記憶装置
JP5855150B2 (ja) 半導体記憶装置
US8990667B2 (en) Error check and correction circuit, method, and memory device
JP2020155167A (ja) 不揮発性メモリ
JP2023120450A (ja) 半導体記憶装置および誤り検出訂正方法
TWI608489B (zh) Non-volatile semiconductor memory device and its test method
US10102071B2 (en) Storage device that restores data lost during a subsequent data write
JP4534639B2 (ja) 半導体記憶装置
JP2000348497A (ja) 半導体記憶装置
KR20160020717A (ko) 반도체 기억장치 및 그 프로그래밍 방법
JP2014142976A (ja) 半導体記憶装置
TWI539465B (zh) 半導體儲存裝置及其冗餘方法
JP5710815B1 (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070410

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100525

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100607

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees