(57)【要約】【課題】通常メモリセルまたはビット線に不良が有るページバッファを不良のないページバッファに置換する救済置換回路の規模増大を防ぎ、かつ、ＥＣＣ回路へのデータ転送の高速化を図った半導体記憶装置を提供する。【解決手段】データ転送部は、通常メモリセルに接続される通常ビット線のデータをラッチするページバッファ１０２ａと、パリティメモリセルに接続されるパリティビット線のデータをラッチするページバッファ１０２ｃと、ページバッファ１０２ａに不良が有る場合に、置換先となるか、または、ページバッファ１０２ｃに不良が有る場合に、置換先となるページバッファ１０２ｂと、を含んで構成され、ＥＣＣ Ｂｕｓ＿１は、ページバッファ１０２ａ、及びページバッファ１０２ｂと接続され、Ｄａｔａ Ｂｕｓ＿１は、ページバッファ１０２ａ、ページバッファ１０２ｃ、及びページバッファ１０２ｂと接続される。【選択図】図１０
2015005316.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータバスと、
前記第１のデータバスと異なる本数から構成され、前記第１のデータバスとは独立して設けられる第２のデータバスと、
第１の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち前記第１のデータバスと同じ本数のビット線と、前記第１のデータバスとを接続してデータを転送し、
一方、第２の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち前記第２のデータバスと同じ本数のビット線と、前記第２のデータバスとを接続してデータを転送するデータ転送部と、
を備え、
前記データ転送部は、
通常メモリセルに接続される通常ビット線のデータをラッチする第１のページバッファと、
パリティメモリセルに接続されるパリティビット線のデータをラッチする第２のページバッファと、
前記第１のページバッファに接続される通常メモリセル或いは通常ビット線に不良が有る場合に、通常メモリセル、及び通常ビット線とともに置換され、または、前記第２のページバッファに接続されるパリティメモリセル或いはパリティビット線に不良が有る場合に、パリティメモリセル、及びパリティビット線とともに置換される、第３のページバッファと、
を含んで構成され、
前記第１のデータバスは、前記第１のページバッファ、及び前記第３のページバッファと接続され、
前記第２のデータバスは、前記第１のページバッファ、前記第２のページバッファ、及び前記第３のページバッファと接続される、
ことを特徴とする半導体記憶装置。
【請求項２】
前記第３のページバッファは、前記第１のページバッファ、及び前記第２のページバッファのいずれか一方の置換先として置換されたかを示す識別データが予め書き込まれており、前記識別データに応じて第１のページバッファまたは前記第２のページバッファとしての動作を実行する、
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記第１のデータバスに接続されたデータ入出力部に入力される前記第１のページバッファの出力データの誤りを、前記第２のデータバスに接続されたパリティデータ入出力部に入力される前記第２のページバッファの出力データに基づいて、訂正するＥＣＣ回路と、
前記第２のデータバスに接続されるとともに、前記第２の動作モードにおいて、前記第１のページバッファのうちメモリセルまたはビット線に不良があるページバッファを前記第３のページバッファに置換する救済置換回路と、
を備え、
前記第３のページバッファの前記識別データが前記第２のページバッファの置換先として置換されたことを示す場合、
前記救済置換回路は、前記第１の動作モードにおいて、置換元である前記第２のページバッファを選択する、前記第１の動作モードにおける第１選択アドレスが入力されると、入力される前記第１選択アドレスを前記第２の動作モードにおける第２選択アドレスに変換し、
当該変換後の第２選択アドレスと、置換元である前記第２のページバッファについて予め設定された第２の動作モードにおける第２選択アドレスとを比較し、
比較結果が一致する場合に、置換先の前記第３のページバッファと前記第２のデータバスとを接続し、
置換先の前記第３のページバッファは、前記第１の動作モードのデータ読み出し動作において、前記第１のデータバスに固定データを、前記第２のデータバスにパリティデータをそれぞれ出力し、
一方、前記第１の動作モードのデータ書き込み動作において、前記第１のデータバスからのデータ書き込みを許可せず、前記第２のデータバスからのパリティデータの書き込みを許可する、
ことを特徴とする請求項２に記載の半導体記憶装置。
【請求項４】
前記第１のページバッファは、メモリセルまたはビット線に不良が有るページバッファの出力を固定されたデータとするページバッファ制御回路を有し、
前記ページバッファ制御回路は、メモリセルまたはビット線に不良が有る場合、前記第１のデータバスからの書き込みを許可しないことを特徴とする請求項３に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関する。
【背景技術】
【０００２】
従来のＮＡＮＤ型フラッシュメモリでは、多数回の書き換えに伴うトンネル酸化膜の劣化等に起因して、データ保持中に記憶素子（メモリセルトランジスタ）の保持特性が失われ、エラービットの発生率（エラー率）が大きくなる傾向がある。特に、ＮＡＮＤ型フラッシュメモリでは、メモリセルの大容量化、すなわち製造プロセスにおける微細化が進むとエラー率は上昇してしまう傾向にある。そのため、記憶すべきデータに誤り訂正符号（Ｅｒｒｏｒ Ｃｏｒｒｅｃｔｉｎｇ Ｃｏｄｅ）の冗長データ（パリティデータ）を付加してデータ列としてフラッシュメモリに書込むと共に、読み出し時には誤り訂正符号の冗長データを基にしてデータの訂正を行うことで、エラービットが発生したときのデータの補償を行っている。例えば、特許文献１には、ＥＣＣ処理を行うＥＣＣ回路を備えた半導体記憶装置について開示されている。
【０００３】
また、ＮＡＮＤ型フラッシュメモリでは、製造直後のテストにおいて、メモリセルトランジスタに、記憶保持をできないなどのビット不良、或いはメモリセルセルトランジスタに接続されるビット線に、他のビット線との短絡（ショート）、或いはビット線の断線（オープン）といった不良が発見される場合がある。こうした場合、メモリセルトランジスタのデータを、ビット線を介してラッチし、増幅してメモリセルのデータを外部へ読み出す、或いはメモリセルへデータを書きこむページバッファと、このページバッファに接続されるビット線と、ビット線に接続されるメモリセルトランジスタとを、セットで他の不良のないセットへ置換することが行なわれている。このような置換をリダンダンシー技術と呼ぶが、特許文献１に記載の半導体記憶装置では、リダンダンシー技術を用いて不良を救済することなく、ＥＣＣ処理を用いて不良ビットを救済している。しかしながら、この方法では、本来経年劣化によりデータ保持特性の失われたメモリセルトランジスタを救済するＥＣＣ処理の訂正処理能力が、製造工程に起因する不良ビットの救済に費やされてしまい、ＥＣＣ処理の訂正処理能力が低下してしまう。
【０００４】
そのため、現在では、不良ビットの救済処理と、ＥＣＣ処理による誤り訂正処理は、以下に説明するように別個に行われている。
図１７は、ＮＡＮＤ型フラッシュメモリの一般的なブロック構成を示す図である。図１７に示すＮＡＮＤ型フラッシュメモリ８０では、ＮＡＮＤ型フラッシュメモリ８０の外部のナンドコントローラ９０（メモリコントローラ）においてＥＣＣ処理を実行する。
図１７に示すＮＡＮＤ型フラッシュメモリ８０は、Ｍｅｍｏｒｙ Ａｒｒａｙ（メモリアレイ）１０１、ページバッファ８２、Ｃｏｌｕｍｎ Ｃｏｄｉｎｇ Ｃｉｒｃｕｉｔ（カラムコーディング回路）８３、Ｃｏｌｕｍｎ Ｒｅｐａｉｒ ＭＵＸ（行置換マルチプレクサ；以下カラム置換回路と呼ぶ）８４、Ｉ／Ｏ ＰＡＤ（Ｉ／Ｏパッド）１０６を備えている。
また、ナンドコントローラ９０は、ＥＣＣ Ｅｎｇｉｎｅ（ＥＣＣ回路）８７、及びＩ／Ｏ ＰＡＤ（Ｉ／Ｏパッド）１０６ｃを備えている。
【０００５】
メモリアレイ１０１は、複数のメモリセルトランジスタを含んで構成される。これらの複数のメモリセルトランジスタ各々は、１ビットのデータを記憶する。メモリアレイ１０１において、同一のワード線に接続される複数のメモリセルトランジスタがページを構成する。１つのページにおけるメモリセルトランジスタへのデータの書き込み、及びメモリセルからのデータの読み出しは、一括して実行される。
【０００６】
ページバッファ８２は、メモリアレイ１０１のページと同じ個数のデータを保持できるように構成されている。図１８は、ページバッファ８２を構成するページバッファユニットを説明するための図である。また、図１９は、従来のページバッファユニットの内部の回路構成を示す図である。
ページバッファ８２は、図１８に示すページバッファユニットの複数個から構成される。ページバッファユニットは、それぞれが１本のビット線に接続され、メモリセルからビット線を介して読み出されたデータ、またはメモリセルへビット線を介して書き込むデータを保持するビット回路５１＿０ａ〜５１＿７ａを含んで構成されている。
【０００７】
ＭＵＸ（マルチプレクサ）５２＿ｂは、図１７に示すカラムコーディング回路８３からカラムアドレス信号（Ｓｕｂ ＢＬ Ｃｏｄｉｎｇ）が入力され、このカラムアドレス信号（図１９においてＤＩＯ＜ｉ＞で示す）に基づいて、ビット回路５１＿０ａ〜ビット回路５１＿７ａのうちいずれか一つを選択する。すなわち、マルチプレクサ５２＿ｂは、８本のビット線のうちのいずれか一本のビット線を、ＰＢ Ｃｏｎｔｒｏｌ Ｃｉｒｃｕｉｔ（ＰＢ制御回路）８３＿１と接続する。
【０００８】
ＰＢ制御回路８３＿１は、図１７に示すカラムコーディング回路８３からカラムアドレス信号（Ｃｏｄｉｎｇ；図１９では選択信号Ｓｅｌで示す）が入力され、マルチプレクサ５２＿ｂにより選択されたビット回路を、Ｄａｔａ Ｂｕｓ＿１（データバス）を介して、外部回路（Ｐｅｒｉｐｈｅｒａｌ Ｃｉｒｃｕｉｔ）に接続する。
以上の構成により、１つのページにおけるメモリセルトランジスタ各々が、ビット線を介してページバッファ８２のビット回路に接続される。そして、このうち、カラムアドレスにより選択されたビット線がデータバスに接続されて、メモリセルへのデータの書き込み、またはメモリセルからのデータの読み出しが実行される。
【０００９】
図１７に戻って、カラムコーディング回路８３は、図１７において不図示のアドレス制御回路から入力されるカラムアドレスに基づいて、カラムアドレス信号（図１８に示すＳｕｂ ＢＬ Ｃｏｄｉｎｇ、及びＣｏｄｉｎｇ）を生成し、このカラムアドレス信号に対応するページバッファ８２のページバッファユニットを選択する。これにより、Ｉ／Ｏパッド１０６、Ｄａｔａ Ｂｕｓ＿２、及びＤａｔａ Ｂｕｓ＿１、ビット回路、及びビット線を介してメモリセルトランジスタへデータが書きこまれる。また、メモリセルからのデータがビット線、ビット回路、Ｄａｔａ Ｂｕｓ＿１、及びＤａｔａ Ｂｕｓ＿２を介してＩ／Ｏパッド１０６の外部へ読み出される。
【００１０】
また、ページバッファ８２は、図１７に示す様に、ＰＢ（Ｐａｇｅ Ｂｕｆｆｅｒ）＿Ｄａｔａ８２ａ（以下、ページバッファ８２ａとする）と、ＰＢ＿ＣＲ８２ｂ（以下、ページバッファ８２ｂとする）から構成される。ページバッファ８２ａは、通常メモリセルに接続されるビット線の電位を増幅し、増幅結果をラッチするページバッファである。また、ページバッファ８２ｂは、ページバッファ８２ａに接続される通常メモリセルまたはビット線に不良が有る場合に、通常メモリセル、及びビット線とともに置換されるページバッファである。すなわち、ページバッファ８２ａを構成するページバッファユニットの１つに不良があった場合、この不良ページバッファユニットは、ページバッファ８２ｂを構成するページバッファユニットの１つに置換される。
【００１１】
カラム置換回路８４は、不良ページバッファユニットを、ページバッファ８２ｂを構成するページバッファユニットに置換する回路である。例えば、カラム置換回路８４は、メモリセルトランジスタからのデータ読み出し動作において、不良ページバッファの位置を示すカラムアドレスが入力されると、カラムコーディング回路８３を制御して、ページバッファ８２ａにおける不良ページバッファユニットの代わりにページバッファ８２ｂにおけるページバッファユニットを選択するように制御する。これにより、選択されたページバッファユニットからのデータが、Ｄａｔａ Ｂｕｓ＿１、Ｄａｔａ Ｂｕｓ＿２、Ｉ／Ｏパッド１０６を介して外部へ読み出される。これらの不良ページバッファの位置を示すカラムアドレスは、図１７に示すＲｅｐａｉｒ Ｉｎｆｏｒｍａｔｉｏｎに含まれる。Ｒｅｐａｉｒ Ｉｎｆｏｒｍａｔｉｏｎは、ＮＡＮＤ型フラッシュメモリ８０の製造後のテストにおいて、半導体検査装置（メモリテスタ）により検出され、その後、製品の出荷前に例えばメモリアレイ１０１のシステム用記憶領域などに記憶される。
一方、カラム置換回路８４は、メモリセルトランジスタへのデータ書き込み動作において、不良ページバッファの位置を示すカラムアドレスが入力されると、カラムコーディング回路８３を制御して、ページバッファ８２ａにおける不良ページバッファユニットの代わりにページバッファ８２ｂにおけるページバッファユニットを選択するように制御する。これにより、Ｉ／Ｏパッド１０６から入力されるデータが、Ｄａｔａ Ｂｕｓ＿２、及びＤａｔａ Ｂｕｓ＿１を介して、不良ページバッファユニットではなく、ページバッファ８２ｂにおけるページバッファユニットに入力される。
【００１２】
Ｄａｔａ Ｂｕｓ＿１、Ｄａｔａ Ｂｕｓ＿２は、これらのデータの受け渡しをページバッファ８２、及びＩ／Ｏパッド１０６の間において行なう配線であり、通常８本、或いは１６本の配線から構成される。
Ｉ／Ｏパッド１０６（インターフェース部）は、ナンドコントローラ９０との間で上記データの受け渡しを行なう外部端子である。
【００１３】
また、ナンドコントローラ９０におけるＩ／Ｏパッド１０６ｃ（インターフェース部）は、ＮＡＮＤ型フラッシュメモリ８０との間で上記データの受け渡しを行なう外部端子である。
ＥＣＣ Ｅｎｇｉｎｅ（ＥＣＣ回路）８７は、ＮＡＮＤ型フラッシュメモリ８０のデータ読み出し動作において、Ｉ／Ｏパッド１０６ｃを介して、ＮＡＮＤ型フラッシュメモリ８０から入力されるデータ（置換先のデータを含むが、データにエラーを含んでいる可能性はある）が入力される。ＥＣＣ回路８７は、入力されたデータを、例えば自身に記憶するパリティデータに基づいてＥＣＣ処理（デコード処理）して、誤り訂正後のデータ（Ｃｌｅａｒ Ｄａｔａ）を外部に出力する。一方、ＮＡＮＤ型フラッシュメモリ８０のデータ書き込み動作において、ＥＣＣ回路８７は、外部から入力されるデータと、このデータを書き込む先のＮＡＮＤ型フラッシュメモリ８０の１ページのデータとからパリティデータを生成する。ＥＣＣ回路８７は、パリティデータを自身に記憶するとともに、書き込みデータをＩ／Ｏ パッド１０６ｃを介して、ＮＡＮＤ型フラッシュメモリ８０に対して出力する。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開平１１−２４２８９９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
上述したように、一般的なＮＡＮＤ型フラッシュメモリでは、外部においてＥＣＣ処理を行うため、ＥＣＣ処理を行う際のデータは、カラム置換回路８４を経由した後のデータ、すなわち不良カラム救済後のデータである。
しかしながら、ＮＡＮＤ型フラッシュメモリ８０では、ＥＣＣ処理に際して、通常のＩ／Ｏパッド１０６へのバス幅でしかデータを転送できないため、ＥＣＣ処理に時間を要するという問題がある。このＥＣＣ処理の時間を短縮するためには、ＥＣＣ処理の際はバス幅を広げるようにする構成をとることが考えられる。例えば、上記例で言えば、ＮＡＮＤ型フラッシュメモリ８０のＤａｔａ Ｂｕｓ＿１、及びＤａｔａ Ｂｕｓ＿２のバス幅を広げることが考えられる。
【００１６】
しかしながら、例えばバス幅を２倍にすると、不良ビットの救済効率を同等とするためには、つまり、一回にカラム置換回路８４に入力され、置換される不良ビットがバス幅を広げる前に比べて２倍となる可能性があるので、カラム置換回路８４の規模を２倍の規模とする必要がある。また、Ｉ／Ｏパッド１０６の回路規模の増加、主に配置するパッド個数の増加も生じる。このように、バス幅を広げてＥＣＣ処理を高速化しようとすると、不良ビットの救済を行なうためにチップサイズが大きくなってしまうという問題がある。
【００１７】
また、ＥＣＣ処理を行うＥＣＣ回路８７を、ＮＡＮＤ型フラッシュメモリ８０の内部に備える構成にすることも考えられる。例えば、図１７に示すＮＡＮＤ型フラッシュメモリ８０とナンドコントローラ９０を一体化し、Ｉ／Ｏパッド１０６、及び１０６ｃを削除し、Ｃｌｅａｒ Ｄａｔａを出力する部分を、Ｉ／Ｏパッドとする構成の半導体記憶装置が考えられる。しかしながら、この場合でも、ＥＣＣ処理を高速に行うためにバス幅を広げると、上述したような、不良ビットの救済を行なうためにチップサイズが大きくなってしまうという問題が生じる。さらに、ＥＣＣ回路８７に入力されるデータは、不良ビット救済後のデータ、すなわち、カラム置換回路８４を経由したデータであるため、カラム置換回路により不良ビット救済の処理に要する時間だけ、ＥＣＣ処理の時間が長くなるという問題がある。
【００１８】
そこで本発明が解決しようとする課題は、通常メモリセルまたはビット線に不良が有るページバッファを不良のないページバッファに置換する救済置換回路の規模増大を防ぎ、かつ、ＥＣＣ回路へのデータ転送の高速化を図った半導体記憶装置を提供することにある。
【課題を解決するための手段】
【００１９】
本発明の半導体記憶装置は、第１のデータバスと、前記第１のデータバスと異なる本数から構成され、前記第１のデータバスとは独立して設けられる第２のデータバスと、第１の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち前記第１のデータバスと同じ本数のビット線と、前記第１のデータバスとを接続してデータを転送し、一方、第２の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち前記第２のデータバスと同じ本数のビット線と、前記第２のデータバスとを接続してデータを転送するデータ転送部と、を備え、前記データ転送部は、通常メモリセルに接続される通常ビット線のデータをラッチする第１のページバッファと、パリティメモリセルに接続されるパリティビット線のデータをラッチする第２のページバッファと、前記第１のページバッファに接続される通常メモリセル或いは通常ビット線に不良が有る場合に、通常メモリセル、及び通常ビット線とともに置換され、または、前記第２のページバッファに接続されるパリティメモリセル或いはパリティビット線に不良が有る場合に、パリティメモリセル、及びパリティビット線とともに置換される、第３のページバッファと、を含んで構成され、前記第１のデータバスは、前記第１のページバッファ、及び前記第３のページバッファと接続され、前記第２のデータバスは、前記第１のページバッファ、前記第２のページバッファ、及び前記第３のページバッファと接続される、ことを特徴とする。
【００２０】
また、本発明の半導体記憶装置において、前記第３のページバッファは、前記第１のページバッファ、及び前記第２のページバッファのいずれか一方の置換先として置換されたかを示す識別データが予め書き込まれており、前記識別データに応じて第１のページバッファまたは前記第２のページバッファとしての動作を実行する、ことを特徴とする。
【００２１】
また、本発明の半導体記憶装置において、前記第１のデータバスに接続されたデータ入出力部に入力される前記第１のページバッファの出力データの誤りを、前記第２のデータバスに接続されたパリティデータ入出力部に入力される前記第２のページバッファの出力データに基づいて、訂正するＥＣＣ回路と、前記第２のデータバスに接続されるとともに、前記第２の動作モードにおいて、前記第１のページバッファのうちメモリセルまたはビット線に不良があるページバッファを前記第３のページバッファに置換する救済置換回路と、を備え、前記第３のページバッファの前記識別データが前記第２のページバッファの置換先として置換されたことを示す場合、前記救済置換回路は、前記第１の動作モードにおいて、置換元である前記第２のページバッファを選択する、前記第１の動作モードにおける第１選択アドレスが入力されると、入力される前記第１選択アドレスを前記第２の動作モードにおける第２選択アドレスに変換し、当該変換後の第２選択アドレスと、置換元である前記第２のページバッファについて予め設定された第２の動作モードにおける第２選択アドレスとを比較し、比較結果が一致する場合に、置換先の前記第３のページバッファと前記第２のデータバスとを接続し、置換先の前記第３のページバッファは、前記第１の動作モードのデータ読み出し動作において、前記第１のデータバスに固定データを、前記第２のデータバスにパリティデータをそれぞれ出力し、一方、前記第１の動作モードのデータ書き込み動作において、前記第１のデータバスからのデータ書き込みを許可せず、前記第２のデータバスからのパリティデータの書き込みを許可する、ことを特徴とする。
【００２２】
また、本発明の半導体記憶装置において、前記第１のページバッファは、メモリセルまたはビット線に不良が有るページバッファの出力を固定されたデータとするページバッファ制御回路を有し、前記ページバッファ制御回路は、メモリセルまたはビット線に不良が有る場合、前記第１のデータバスからの書き込みを許可しないことを特徴とする。
【発明の効果】
【００２３】
本発明の半導体記憶装置は、第１のデータバスと、第１のデータバスと異なる本数から構成され、第１のデータバスとは独立して設けられる第２のデータバスと、を備える。また、転送部は、第１の動作モード（ＥＣＣモード）によりメモリセルとの間でデータを転送する場合、複数のビット線のうち第１のデータバスと同じ本数のビット線と、第１のデータバスとを接続してデータを転送し、一方、第２の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち第２のデータバスと同じ本数のビット線とを接続してデータを転送する。
【００２４】
これにより、ページバッファの出力に接続されるデータバスを、第１動作モード（ＥＣＣモード）用と第２の動作モード（通常モード）用とに個別に設け、それぞれを独立して用いることができる。また、例えばＥＣＣ回路を内蔵した半導体記憶装置において、更に不良カラムを置換する冗長機能を有していても、不良カラムのデータと置換先のデータとを通常データに含めて、この通常データとパリティデータとを第１の動作モードを用いてＥＣＣ回路にバス幅を広げて転送し、誤り訂正する構成をとればよい。そのため、不良ビットの救済を行う回路（カラム置換回路）をＥＣＣ回路とページバッファの出力との間に置く必要はなくなる。これにより、第１の動作モードにおいてバス幅を広げてＥＣＣ回路へデータ転送する場合に、データがカラム置換回路を通過する必要は無くなり、カラム置換回路における処理が不要となるので、ＥＣＣ処理の際のデータ転送の高速化を図ることができる。また、第２のデータバスを、従来の救済効率に応じたバス幅にしておくことができる。これにより、カラム置換回路の回路規模は増大しないので、チップサイズの増加を抑制できる。
【００２５】
特に、本発明の半導体記憶装置では、第２のページバッファに接続されるパリティメモリセルあるいはパリティビット線に不良がある場合、第２のページバッファの置換先を、第１のページバッファに接続される通常メモリセルあるいは通常ビット線に不良がある場合の第１のページバッファの置換先である第３のページバッファとしている。そのため、半導体記憶装置における冗長回路の規模の増大を抑制でき、チップサイズの増大を防止することができる。また、第１の動作モードにおいて、カラム置換回路により第３のページバッファから第２のページバッファへの置換を行うので、第１の動作モードにおいて第３のページバッファの置換を行うパリティ専用の不良置換機構が不要となる。そのため、半導体記憶装置における不良置換機構の規模の増大を抑制でき、チップサイズの増大を防止することができる。
【図面の簡単な説明】
【００２６】
【図１】ＮＡＮＤ型フラッシュメモリ１０のブロック構成を示す図である。
【図２】図１に示すページバッファ１０２、カラムコーディング回路１０３、及びＥＣＣカラムコーディング回路１０８に対応する部分のデータ読み出し動作を説明するための図である。
【図３】図２に示すＰＢ ４ＩＯ ユニットの内部の構成、及びＰＢユニットの内部の構成を示す図である。
【図４】ＰＢ ユニットの内部の回路構成を示す図である。
【図５】ＰＢ ユニットの内部の他の回路構成を示す図である。
【図６】図４、及び図５に示すビット内部回路５０＿ｉ（ｉ＝０〜７の整数）の回路構成を示す図である。
【図７】図１に示すページバッファ１０２、カラムコーディング回路１０３、及びＥＣＣカラムコーディング回路１０８に対応する部分のデータ書き込み動作を説明するための図である。
【図８】ページバッファ１０２を構成する各ページバッファを説明するための図である。
【図９】ページバッファ１０２の動作を説明するためのフローチャートである。
【図１０】ＮＡＮＤ型フラッシュメモリ２０のブロック構成を示す図である。
【図１１】ページバッファ１０２ｃにおけるＰＢ ユニットの内部の回路構成を示す図である。
【図１２】ページバッファ１０２ｂにおけるＰＢ ユニットの内部の回路構成を示す図である。
【図１３】ＣＲ／ＰＣＲ情報格納部７０の保持するデータにより、Ｄａｔａ Ｂｕｓ、及びＥＣＣ Ｂｕｓのいずれのバスを用いてデータのやり取りを行うかを整理した図である。
【図１４】ＮＡＮＤ型フラッシュメモリ２０におけるページバッファ１０２を構成する各ページバッファを説明するための図である。
【図１５】アドレス空間Ａｄｄ＿Ａとアドレス空間Ａｄｄ＿Ｂとの構成を示す図である。
【図１６】ＮＡＮＤ型フラッシュメモリ２０におけるカラム置換回路１０４の構成を示す図である。
【図１７】ＮＡＮＤ型フラッシュメモリの一般的なブロック構成を示す図である。
【図１８】ページバッファ８２を構成するページバッファユニットを説明するための図である。
【図１９】従来のページバッファユニットの内部の回路構成を示す図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照して、本発明の実施の形態について説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００２８】
図１は、ＮＡＮＤ型フラッシュメモリ１０のブロック構成を示す図である。図１に示すＮＡＮＤ型フラッシュメモリ１０は、Ｍｅｍｏｒｙ Ａｒｒａｙ（メモリアレイ１０１）、ＰＢ（Ｐａｇｅ Ｂｕｆｆｅｒ；ページバッファ）１０２、Ｃｏｌｕｍｎ Ｃｏｄｉｎｇ Ｃｉｒｃｕｉｔ（カラムコーディング回路）１０３、Ｍａｉｎ Ｃｏｌｕｍｎ Ｒｅｐａｉｒ ＭＵＸ（カラム救済回路）１０４を備えている。また、ＮＡＮＤ型フラッシュメモリ１０は、Ｐａｒｉｔｙ ＣＲ ＭＵＸ（パリティカラム置換回路）１０５、ＥＣＣ Ｃｏｌｕｍｎ Ｃｏｄｉｎｇ Ｃｉｒｃｕｉｔ（ＥＣＣカラムコーディング回路）１０８、Ｉ／Ｏ ＰＡＤ（Ｉ／Ｏパッド）１０６、及びＥＣＣ Ｃｉｒｃｕｉｔ（ＥＣＣ回路）１０７を備えている。なお、図１７に示すＮＡＮＤ型フラッシュメモリ８０と同一の部分には同一の符号を付し、その説明を適宜省略する。
図１において、Ｄａｔａ Ｂｕｓ＿１、Ｄａｔａ Ｂｕｓ＿２、及びＤａｔａ Ｂｕｓ＿３（第２のデータバス）は、データの受け渡しをページバッファ１０２とＩ／Ｏパッド１０６との間において行なう配線であり、以下、単にＤａｔａ＿Ｂｕｓと呼ぶこともある。また、ＥＣＣ Ｂｕｓ＿１、ＥＣＣ Ｂｕｓ＿２、及びＥＣＣ Ｂｕｓ＿３（第１のデータバス）は、データの受け渡しをページバッファ８２とＥＣＣ回路１０７との間において行なう配線であり、以下、単にＥＣＣ＿Ｂｕｓと呼ぶこともある。
【００２９】
ＮＡＮＤ型フラッシュメモリ１０は、図１７に示すＮＡＮＤ型フラッシュメモリ８０と相違して、カラムコーディング回路８３に代えて、カラムコーディング回路１０３、及びＥＣＣカラムコーディング回路１０８を有する。カラムコーディング回路１０３とＥＣＣカラムコーディング回路１０８とでは、別系統のカラムアドレス（Ｃｏｄｉｎｇ）が入力される。また、カラムコーディング回路１０３とＥＣＣカラムコーディング回路１０８とは、後述するように、ページバッファ１０２のＰＢ制御回路６０に選択信号Ｓｅｌ＿Ａまたは選択信号Ｓｅｌ＿Ｂを出力して、ページバッファ１０２に直結した部分（図１８に示すマルチプレクサ５２＿ｂ、及びＰＢ制御回路８３＿１の部分）から、ページバッファの出力を、ＥＣＣ Ｂｕｓ＿１とＤａｔａ Ｂｕｓ＿１とのいずれか一方のデータバスに接続する。
【００３０】
特に、ＥＣＣカラムコーディング回路１０８は、ＥＣＣ回路１０７からカラムアドレス（以下、カラムアドレスＡｄｄｒｅｓｓ Ｂとする）が入力され、不図示のアドレス制御回路からカラムコーディング回路１０３に入力されるカラムアドレス（以下、カラムアドレスＡｄｄｒｅｓｓ Ａとする）とは独立して、ＰＢ制御回路６０に対して選択信号Ｓｅｌ＿Ｂを出力して、ページバッファ１０２の出力とＥＣＣ Ｂｕｓ＿１とを接続する。これにより、ページバッファ１０２の出力と、ＥＣＣ Ｂｕｓ＿１またはＤａｔａ Ｂｕｓ＿１との接続におけるアドレス制御を独立して実行することができる。
【００３１】
また、従来のＮＡＮＤ型フラッシュメモリでは、ページバッファの出力（データバスを以下、区別のためＩＯバスとする）を、第１の動作モードと第２の動作モードとにおいて共有している。これに対して、ＮＡＮＤ型フラッシュメモリ１０では、ページバッファの出力であるＩＯバスを、第１の動作モードと第２の動作モードとにおいて共有することなく、独立に設けている。
【００３２】
これにより、ページバッファの出力からＥＣＣ回路１０７への入力までの径路において、後述するカラム置換回路１０４等の高速なデータ転送に悪影響を及ぼす回路は不要となり、データ転送を高速に行うことができる。また、第２のデータバスを、従来の救済効率に応じたバス幅にしておくことができる。これにより、カラム置換回路１０４の回路規模は増大しないので、チップサイズの増加を抑制できる。さらに、ＮＡＮＤ型フラッシュメモリ１０を、ＥＣＣ回路を内蔵しないＮＡＮＤ型フラッシュメモリに設計変更する場合であっても、ＥＣＣカラムコーディング回路１０８、パリティカラム置換回路１０５、ＥＣＣ Ｂｕｓ＿１〜ＥＣＣ Ｂｕｓ＿３、ＥＣＣ回路１０７を削除すればよいので、容易に設計することができる。
【００３３】
ページバッファ１０２は、図１に示すように、ＰＢ（Ｐａｇｅ Ｂｕｆｆｅｒ）＿Ｄａｔａ１０２ａ（以下、ページバッファ１０２ａとする）と、ＰＢ＿ＣＲ１０２ｂ（以下、ページバッファ１０２ｂとする）と、ＰＢ＿Ｐａｒｉｔｙ１０２ｃ（以下、ページバッファ１０２ｃとする）と、ＰＢ＿ＰＣＲ１０２ｄ（以下、ページバッファ１０２ｄとする）とから構成される。
ページバッファ１０２ａは、通常メモリセルに接続されるビット線の電位を増幅し、増幅結果をラッチするページバッファである。また、ページバッファ１０２ａは、通常モード（第２の動作モード）におけるデータ読み出し時に、カラムコーディング回路１０３から選択信号Ｓｅｌ＿Ａが入力されると、増幅結果をデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａとして、Ｄａｔａ Ｂｕｓ＿１、Ｄａｔａ Ｂｕｓ＿２、及びＤａｔａ Ｂｕｓ＿３（第２のデータバス）を介して、Ｉ／Ｏパッド１０６から出力する。
一方、ページバッファ１０２ａは、ＥＣＣモード（第１の動作モード）におけるデータ読み出し時に、ＥＣＣカラムコーディング回路１０８から選択信号Ｓｅｌ＿Ｂが入力されると、増幅結果をデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿ＢとしてＥＣＣ Ｂｕｓ＿１、ＥＣＣ Ｂｕｓ＿２、及びＥＣＣ Ｂｕｓ＿３（第１のデータバス）を介して、ＥＣＣ回路１０７に対して出力する。
【００３４】
また、ページバッファ１０２ａは、通常モードにおけるデータ書込み時に、カラムコーディング回路１０３から選択信号Ｓｅｌ＿Ａが入力されると、Ｉ／Ｏパッド１０６から入力される書き込みデータがＤａｔａ Ｂｕｓ＿３、Ｄａｔａ Ｂｕｓ＿２、及びＤａｔａ Ｂｕｓ＿１を介してデータ書き込み信号Ｄａｔａ＿Ｉｎ＿Ａとして入力される。一方、ページバッファ１０２ａは、ＥＣＣモードにおけるデータ書き込み時に、ＥＣＣカラムコーディング回路１０８から選択信号Ｓｅｌ＿Ｂが入力されると、ＥＣＣ回路１０７のＥＣＣ処理の結果がＥＣＣ Ｂｕｓ＿３、ＥＣＣ Ｂｕｓ＿２、及びＥＣＣ Ｂｕｓ＿１を介してデータ書き込み信号Ｄａｔａ＿Ｉｎ＿Ｂとして入力される。
【００３５】
ページバッファ１０２ｂは、ページバッファ１０２ａに接続される通常メモリセルまたはビット線に不良が有る場合に、通常メモリセル、及びビット線とともに置換されるページバッファである。すなわち、ページバッファ１０２ａを構成するページバッファユニットの１つに不良があった場合、このページバッファユニットは、ページバッファ１０２ｂを構成するページバッファユニットの１つに置換される。なお、ページバッファ１０２ｂの動作は、上述したページバッファ１０２ａと同じ動作であるので、説明を省略する。
【００３６】
このページバッファ１０２ａからページバッファ１０２ｂへのページバッファユニットの置換を行なうのが、カラム置換回路１０４である。カラム置換回路１０４は、ページバッファ１０２ａにおける不良のページバッファユニットを選択するカラムアドレス（後述する選択信号Ｓｅｌ＿Ａ）がカラムコーディング回路１０３に入力される場合、カラムコーディング回路１０３がページバッファ１０２ｂにおけるページバッファユニットを選択するように制御を実行する。
【００３７】
ページバッファ１０２ｃは、パリティメモリセル（ＥＣＣ処理用のメモリセルトランジスタ。ただし、構成は通常メモリセルと同じ）に接続されるビット線の電位を増幅し、増幅結果をラッチするページバッファである。なお、パリティメモリセルが記憶するパリティデータは、通常モードでは、Ｉ／Ｏパッド１０６を介して外部に出力されない。一方、ページバッファ１０２ｃは、ＥＣＣモードにおけるデータ読み出し時に、ＥＣＣカラムコーディング回路１０８から選択信号Ｓｅｌ＿Ｂが入力されると、増幅結果をデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂとして、ＥＣＣ Ｂｕｓ＿１、ＥＣＣ Ｂｕｓ＿２、及びＥＣＣ Ｂｕｓ＿３を介してＥＣＣ回路１０７に対して出力する。
【００３８】
また、パリティメモリセルが記憶するパリティデータは、通常モードでは、Ｉ／Ｏパッド１０６を介して外部から入力されない。
一方、ページバッファ１０２ｃは、ＥＣＣモードにおけるデータ書き込み時に、ＥＣＣカラムコーディング回路１０８から選択信号Ｓｅｌ＿Ｂが入力されると、ＥＣＣ回路１０７のＥＣＣ処理の結果であるパリティデータがＥＣＣ Ｂｕｓ＿３、ＥＣＣ Ｂｕｓ＿２、及びＥＣＣ Ｂｕｓ＿１を介してデータ書き込み信号Ｄａｔａ＿Ｉｎ＿Ｂとして入力される。
【００３９】
ページバッファ１０２ｄは、ページバッファ１０２ｃに接続されるパリティメモリセルまたはビット線に不良が有る場合に、パリティメモリセル、及びビット線とともに置換されるページバッファである。すなわち、ページバッファ１０２ｃを構成するページバッファユニットの１つに不良があった場合、このページバッファユニットは、ページバッファ１０２ｄを構成するページバッファユニットの１つに置換される。なお、ページバッファ１０２ｄの動作は、上述したページバッファ１０２ｃと同じ動作であるので、説明を省略する。
【００４０】
このページバッファ１０２ｃからページバッファ１０２ｄへのページバッファユニットの置換を行なうのが、パリティカラム置換回路１０５である。パリティカラム置換回路１０５は、ページバッファ１０２ｃにおける不良のページバッファユニットを選択するカラムアドレス（後述する選択信号Ｓｅｌ＿Ｂ）がＥＣＣカラムコーディング回路１０８に入力される場合、ＥＣＣカラムコーディング回路１０８がページバッファ１０２ｄにおけるページバッファユニットを選択するように制御を実行する。
【００４１】
これらのページバッファ１０２を構成するページバッファ１０２ａ〜１０２ｄは、全て同一の回路構成からなり、以下にその回路構成について、図２〜図６を用いて詳細に説明する。図２は、図１に示すページバッファ１０２、カラムコーディング回路１０３、及びＥＣＣカラムコーディング回路１０８に対応する部分のデータ読み出し動作を説明するための図である。また、図３は、図２に示すＰＢ ４ＩＯ ユニットの内部の構成、及びＰＢ ユニットの内部の構成を示す図である。また、図４は、ＰＢ ユニットの内部の回路構成を示す図である。また、図５は、ＰＢ ユニットの内部の他の回路構成を示す図である。また、図６は、図４、及び図５に示すビット内部回路５０＿ｉ（ｉ＝０〜７の整数）の回路構成を示す図である。
【００４２】
図２を参照して、図１に示すページバッファ１０２、カラムコーディング回路１０３、及びＥＣＣカラムコーディング回路１０８に対応する部分は、４本分のＩＯ線からの４つのデータをラッチし、４本分のＩＯ線に対してデータを書き込むＰＢ ４ＩＯ ユニットを有する。
【００４３】
図２においては、１０個のＰＢ ４ＩＯとして、ＰＢ０ ＩＯ ０１２３（ＰＢ ４ＩＯ ユニット３０＿０）、ＰＢ０ ＩＯ ４５６７（ＰＢ ４ＩＯ ユニット３０＿１）、ＰＢ１ＩＯ ０１２３（ＰＢ ４ＩＯ ユニット３０＿２）、ＰＢ１ ＩＯ ４５６７（ＰＢ ４ＩＯ ユニット３０＿３）、ＰＢ２ ＩＯ ０１２３（ＰＢ ４ＩＯ ユニット３０＿４）、ＰＢ２ ＩＯ ４５６７（ＰＢ ４ＩＯ ユニット３０＿５）、ＰＢ３ ＩＯ ０１２３（ＰＢ ４ＩＯ ユニット３０＿６）、ＰＢ３ ＩＯ ４５６７（ＰＢ ４ＩＯ ユニット３０＿７）、ＰＢ４ ＩＯ ０１２３（ＰＢ ４ＩＯ ユニット３０＿８）、ＰＢ４ ＩＯ ４５６７（ＰＢ ４ＩＯ ユニット３０＿９）を示している。
【００４４】
ここで、ＩＯ線とは、後述するＰＢユニットにおいて、マルチプレクサ５２＿ｂとＰＢ制御回路６０との間に設けられる入出力線である。このＩＯ線は、本実施形態では、マルチプレクサ５２＿ｂと８個のビット回路５１＿０ａ〜５１＿７ａとを介して、８本のビット線のいずれか一本と電気的に接続される。すなわち、ＩＯ線は、メモリセルトランジスタに書き込むデータ或いはメモリセルトランジスタから読み出されるデータが行き来する信号線である。
【００４５】
図３（ａ）を参照して、図２に示すＰＢ ４ＩＯ ユニットは、同一の構成を有している。図３（ａ）では、図２に示すＰＢ ４ＩＯ ユニット３０＿０を代表として、その構成を示している。ＰＢ ４ＩＯ ユニット３０＿０は、４個のＰＢユニット３０＿００〜３０＿０３から構成される。
ＰＢユニット３０＿００〜３０＿０３各々は、活性レベル（以下、例としてＨレベルとする）の選択信号Ｓｅｌ＿Ａ＜０＞がカラムコーディング回路１０３から供給されると、自身に接続される１本のＩＯ線とＤａｔａ Ｂｕｓ（第２のデータバス；後述するデータバスＤａｔａ＿Ａ＜７：０＞）とを接続する。これにより、図３（ａ）に示すように、４本のＩＯ線からデータバスＤａｔａ＿Ａ＜３：０＞へ、４ビットのデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａ＜０＞〜Ｄａｔａ＿Ｏｕｔ＿Ａ＜３＞が読み出される。
【００４６】
また、ＰＢユニット３０＿００〜３０＿０３各々は、活性レベル（以下、例としてＨレベルとする）の選択信号Ｓｅｌ＿Ｂ＜０＞がＥＣＣカラムコーディング回路１０８から供給されると、自身に接続される１本のＩＯ線とＥＣＣ Ｂｕｓ（第１のデータバス；後述するデータバスＤａｔａ＿Ｂ＜１９：０＞）とを接続する。これにより、図３（ａ）に示すように、４本のＩＯ線からデータバスＤａｔａ＿Ｂ＜３：０＞へ、４ビットのデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂ＜０＞〜Ｄａｔａ＿Ｏｕｔ＿Ｂ＜３＞が読み出される。
【００４７】
図３（ｂ）を参照して、図３（ａ）に示すＰＢユニット各々は、図１８に示すビット回路と同一構成の８個のビット回路５１＿０ａ〜５１＿７ａと、同じく図１８に示すマルチプレクサ５２＿ｂと、本願の特徴的部分であるＰＢ Ｃｏｎｔｒｏｌ Ｃｉｒｕｃｕｉｔ（ページバッファ制御回路）６０とから構成される。
まず、図４、及び図６を参照して、１つのＰＢユニットの詳細な回路構成について説明する。
図６では、図４に示すビット内部回路５０＿０〜５０＿７各々の回路における、書き込み動作におけるデータのセンシング部、及びラッチ部、読み出し動作における信号線を駆動するドライバ部の構成を、具体的にトランジスタ、及びインバータ回路を用いて記載している。なお、図３（ｂ）に示すビット回路５１＿０ａ〜５１＿７ａとマルチプレクサ５２＿ｂとを合わせた回路が、ビット内部回路５０＿０〜５０＿７に相当する。すなわち、ビット内部回路は、選択信号ＤＩＯにより選択されるので、ビット回路とマルチプレクサ５２＿ｂの一部の機能を有している。また、この図６に示すビット内部回路は、図１８に示す従来のＰＢユニットにおけるビット内部回路と同一の回路構成である。
【００４８】
図６に示すように、ビット内部回路５０＿ｉ（ｉを整数として、ｉ＝０〜７の８台は同一構成の回路である）は、インバータ回路５１１、インバータ回路５１２、トランジスタ５１３、トランジスタ５１４、トランジスタ５１５、トランジスタ５２１、及びトランジスタ５２２から構成される。ここで、トランジスタ５１３、トランジスタ５１４、トランジスタ５１５、トランジスタ５２１、及びトランジスタ５２２は、Ｎチャネル型ＭＯＳ（Ｍｅｔａｌ Ｏｘｉｄｅ Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）トランジスタである。
【００４９】
ビット内部回路５０＿ｉにおいて、ラッチ部は、インバータ回路５１１とインバータ回路５１２とから構成されている。ここで、インバータ回路５１１は、出力端子が接続点Ｎ２においてインバータ回路５１２の入力端子に接続され、入力端子が接続点Ｎ１においてインバータ回路５１２の出力端子に接続されている。
この接続点Ｎ１は、不図示のメモリセルトランジスタにビット線を介して接続される。接続点Ｎ１は、読み出し動作において、メモリセルトランジスタが記憶するデータがＤａｔａ＿ｉとして現れ、書き込み動作においてはメモリセルに書き込むべきデータがＤａｔａ＿ｉとして現れる。例えば、メモリセルトランジスタがＬ（ロウ）レベル（データ０とする）を記憶するとき、Ｄａｔａ＿ｉの電位はＬレベルとなり、一方、メモリセルトランジスタがＨ（ハイ）レベル（データ１とする）を記憶するとき、Ｄａｔａ＿ｉの電位はＨレベルとなる。
【００５０】
ビット内部回路５０＿ｉにおいて、ドライバ部は、トランジスタ５１５、及びトランジスタ５２２から構成される。
トランジスタ５２２は、ドレインが読み出し信号ＲＤの配線に接続され、ゲートが選択信号ＤＩＯ＜ｉ＞の配線に接続され、ソースがトランジスタ５１５のドレインに接続されている。
トランジスタ５１５は、ドレインがトランジスタ５２２のソースに接続され、ゲートが接続点Ｎ２に接続され、ソースが接地されている。
ここで、選択信号ＤＩＯ＜ｉ＞（ｉ＝０〜７）は、図３（ｂ）に示すＳｕｂ ＢＬ Ｃｏｄｉｎｇである。例えば、カラムコーディング回路１０３は不図示のアドレス制御回路から入力される３ビットのアドレス信号に基づいて、或いはＥＣＣカラムコーディング回路１０８はＥＣＣ回路１０７から入力される３ビットのアドレス信号に基づいて、選択信号ＤＩＯ＜ｉ＞のうちの１つの信号をＨレベルとする。これにより、図４に示すビット内部回路５０＿０〜５０＿７の１つのビット内部回路が選択される。
【００５１】
以上の構成により、メモリセルトランジスタからのデータ読み出し動作において、選択信号ＤＩＯ＜ｉ＞がＨレベルになると、読み出し信号ＲＤの論理レベルはＤａｔａ＿ｉの論理レベルと同じ論理レベルとなる。つまり、例えば読み出し信号ＲＤをＨレベルにプリチャージしておくことにより、Ｄａｔａ＿ｉがＨレベルのときは、トランジスタ５１５がオフ（非導通状態）、トランジスタ５２２がオン（導通状態）であり、ビット内部回路５０＿ｉは、読み出し信号ＲＤをＨレベルに維持する。一方、Ｄａｔａ＿ｉがＬレベルのときは、トランジスタ５１５がオン、トランジスタ５２２がオンであり、ビット内部回路５０＿ｉは、読み出し信号ＲＤをＨレベルからＬレベルに変化させる。
読み出し信号ＲＤの配線は、図４に示すように、ＰＢ制御回路６０に接続される。
第１の動作モード（ＥＣＣモード）では、選択信号Ｓｅｌ＿Ｂ（ＥＣＣカラムコーディング回路１０８が出力するカラムアドレス）が入力されると、読み出し信号ＲＤの配線はＥＣＣ Ｂｕｓに接続される。これにより、ＥＣＣ Ｂｕｓには、ビット内部回路５０＿ｉのＤａｔａ＿ｉがデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂとして読み出される。
【００５２】
一方、第２の動作モード（通常モード）では、選択信号Ｓｅｌ＿Ａ（カラムコーディング回路１０３が出力するカラムアドレス）が入力されると、読み出し信号ＲＤの配線は、Ｄａｔａ Ｂｕｓに接続される。これにより、Ｄａｔａ Ｂｕｓには、ビット内部回路５０＿ｉのＤａｔａ＿ｉがデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａとして読み出される。
【００５３】
図６に戻って、ビット内部回路５０＿ｉにおいて、センシング部は、トランジスタ５１３、トランジスタ５１４、トランジスタ５２１から構成される。
トランジスタ５１３は、ドレインが接続点Ｎ１に接続され、ゲートが書き込み信号ＤＩの配線に接続され、ソースがトランジスタ５２１のドレインに接続されている。
トランジスタ５１４は、ドレインが接続点Ｎ２に接続され、ゲートが書き込み信号ｎＤＩの配線に接続され、ソースがトランジスタ５２１のドレインに接続されている。
トランジスタ５２１は、ドレインがトランジスタ５１３のソース、及びトランジスタ５１４のソースに接続され、ゲートが選択信号ＤＩＯ＜ｉ＞の配線に接続され、ソースが接地されている。
【００５４】
書き込み信号ＤＩ、及び書き込み信号ｎＤＩの配線は、図４に示すように、ＰＢ制御回路６０に接続される。後述するように、第１の動作モードでは選択信号Ｓｅｌ＿ＢによりデータバスＥＣＣ Ｂｕｓに接続され、ＥＣＣ Ｂｕｓからデータ書き込み信号Ｄａｔａ＿Ｉｎ＿Ｂが入力される。これにより、ＰＢ制御回路６０では、このデータ書き込み信号Ｄａｔａ＿Ｉｎ＿Ｂのレベルに応じて書き込み信号ＤＩ、及び書き込み信号ｎＤＩのいずれか一方をＬレベルからＨレベルに変化させ、他方をＬレベルに維持する。
一方、第２の動作モードでは、選択信号Ｓｅｌ＿ＡによりＤａｔａ Ｂｕｓに接続され、Ｄａｔａ Ｂｕｓからデータ書き込み信号Ｄａｔａ＿Ｉｎ＿Ａが入力される。これにより、ＰＢ制御回路６０は、このデータ書き込み信号Ｄａｔａ＿Ｉｎ＿Ａのレベルに応じて書き込み信号ＤＩ、及び書き込み信号ｎＤＩのいずれか一方をＬレベルからＨレベルに変化させ、他方をＬレベルに維持する。
【００５５】
以上の構成により、メモリセルトランジスタへのデータ書き込み動作において、選択信号ＤＩＯ＜ｉ＞がＨレベルになると、書き込み信号ＤＩ、及び書き込み信号ｎＤＩのレベルに応じて、ビット内部回路５０＿ｉのＤａｔａ＿ｉのレベルが決定する。具体的には、データ書き込み信号Ｄａｔａ＿Ｉｎ＿Ａ，またはデータ書き込み信号Ｄａｔａ＿Ｉｎ＿ＢがＬレベル（データ０）のとき、ＰＢ制御回路６０は、書き込み信号ＤＩをＨレベル、書き込み信号ｎＤＩをＬレベルとする。これにより、ビット内部回路５０＿ｉでは、トランジスタ５１３がオンし、トランジスタ５１４がオフする。そして、接続点Ｎ１はＬレベル、接続点Ｎ２はＨレベルとなり、Ｄａｔａ＿ｉの論理は、データバスの論理と同じくＬレベル（データ０）となる。
【００５６】
一方、データ書き込み信号Ｄａｔａ＿Ｉｎ＿Ａ，またはデータ書き込み信号Ｄａｔａ＿Ｉｎ＿ＢがＨレベル（データ１）のとき、ＰＢ制御回路６０は、書き込み信号ＤＩをＬレベル、書き込み信号ｎＤＩをＨレベルとする。これにより、ビット内部回路５０＿ｉでは、トランジスタ５１３がオフし、トランジスタ５１４がオンする。そして、接続点Ｎ１はＨレベル、接続点Ｎ２はＬレベルとなり、Ｄａｔａ＿ｉの論理は、データバスの論理と同じくＨレベル（データ１）となる。
【００５７】
図４に戻って、ＰＢ制御回路６０（転送部）の構成を説明する。
ＰＢ制御回路６０は、データバスからページバッファへのデータ転送を実行する書き込み部と、ページバッファからデータバスへのデータ転送を実行する読み出し部とからなる。
このうち、ＰＢ制御回路６０の読み出し部は、トランジスタ６１ａ、及びトランジスタ６１ｂから構成される。
トランジスタ６１ａ、及びトランジスタ６１ｂは、ＮＭＯＳトランジスタである。
トランジスタ６１ａは、ドレインが読み出し信号ＲＤの配線に接続され、ゲートが選択信号Ｓｅｌ＿Ａの配線に接続され、ソースがＤａｔａ Ｂｕｓ（第２のデータバス）に接続されている。トランジスタ６１ｂは、ドレインが読み出し信号ＲＤの配線に接続され、ゲートが選択信号Ｓｅｌ＿Ｂの配線に接続され、ソースがＥＣＣ Ｂｕｓ（第１のデータバス）に接続されている。
【００５８】
ここで、選択信号Ｓｅｌ＿Ａは、カラムコーディング回路１０３が、図１において不図示のアドレス制御回路から入力されるＡｄｄｒｅｓｓ Ａ、例えば複数ビットのアドレスに基づいて生成するカラムアドレス信号である。また、選択信号Ｓｅｌ＿Ｂは、ＥＣＣカラムコーディング回路１０８が、図１に示すＥＣＣ回路１０７から入力されるＡｄｄｒｅｓｓ Ｂ、例えば上記複数ビットのうちの一部のビットのアドレスに基づいて生成するカラムアドレス信号である。
【００５９】
このように、ＰＢ制御回路６０の読み出し部は、ＥＣＣモード（第１の動作モード）のデータ読み出し時において、Ｈレベルの選択信号Ｓｅｌ＿ＢがＥＣＣコーディング回路１０８から入力されると、トランジスタ６１ｂをオンさせて読み出し信号ＲＤの配線とＥＣＣ Ｂｕｓとを接続する。これにより、ビット内部回路５０＿０〜５０＿７に格納されたメモリセルトランジスタのデータ（ビット内部回路ではＤａｔａ＿ｉ）が、ＥＣＣ Ｂｕｓにデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂとして出力される。
【００６０】
また、ＰＢ制御回路６０の読み出し部は、通常モード（第２の動作モード）のデータ読み出し時において、Ｈレベルの選択信号Ｓｅｌ＿Ａがコーディング回路１０３から入力されると、トランジスタ６１ａをオンさせて読み出し信号ＲＤの配線とＤａｔａ Ｂｕｓとを接続する。これにより、ビット内部回路５０＿０〜５０＿７に格納されたメモリセルトランジスタのデータが、Ｄａｔａ Ｂｕｓにデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａとして出力される。
【００６１】
また、ＰＢ制御回路６０の読み出し部は、ページバッファ１０２ａ、及びページバッファ１０２ｃにおいて、メモリセルトランジスタ、またはメモリセルトランジスタに接続されるビット線に不良がある場合、ＥＣＣモードのデータ読み出し時において、ＥＣＣ回路１０７に入力するデータが固定データ（この場合はデータ０に固定する）となるように、次の構成を有している。
すなわち、ＰＢ制御回路６０の読み出し部は、図４に示すように、不良情報格納部９０ａ、及びデータ固定部９０ｂを有している。
【００６２】
不良情報格納部９０ａは、インバータ回路９２、インバータ回路９３、トランジスタ９４、トランジスタ９５、及びトランジスタ９６から構成される。ここで、トランジスタ９４、トランジスタ９５、及びトランジスタ９６は、Ｎチャネル型ＭＯＳトランジスタである。
不良情報格納部９０ａにおいて、ラッチ部は、インバータ回路９２とインバータ回路９３とから構成されている。ここで、インバータ回路９２は、出力端子が接続点Ｎ４においてインバータ回路９３の入力端子に接続され、入力端子が接続点Ｎ３においてインバータ回路９３の出力端子に接続されている。
この接続点Ｎ３は、アンド回路９１の第１入力端子に接続される。接続点Ｎ３は、ラッチ部が記憶するデータが、欠陥を示す欠陥信号ＰＢ＿Ｄｅｆｃｅｔとして現れる。また、接続点Ｎ４は、ラッチ部が記憶するデータが、欠陥を示す欠陥信号ｎＰＢ＿Ｄｅｆｃｅｔとして現れる。
【００６３】
不良情報格納部９０ａにおいて、センシング部は、トランジスタ９４、トランジスタ９５、トランジスタ９６から構成される。
トランジスタ９４は、ドレインが接続点Ｎ３に接続され、ゲートが不良情報信号ＳＤＩの配線に接続され、ソースがトランジスタ９６のドレインに接続されている。
トランジスタ９５は、ドレインが接続点Ｎ４に接続され、ゲートが不良情報信号ｎＳＤＩの配線に接続され、ソースがトランジスタ９６のドレインに接続されている。
トランジスタ９６は、ドレインがトランジスタ９４のソース、及びトランジスタ９５のソースに接続され、ゲートがパワーオンリセット信号ＰＯＲ＿Ｍｏｄｅの配線に接続され、ソースが接地されている。
【００６４】
ここで、不良情報信号ＳＤＩ、及び不良情報信号ｎＳＤＩは、ＰＢ制御回路６０に接続されるビット線、当該ビット線に接続されるメモリセルトランジスタに不良が有るか否かを示す信号である。これらの不良情報信号は、製造後のテストにおいて、ＰＢ制御回路６０に接続されるビット線等に不良が有る場合、不良情報信号ＳＤＩがデータ０（Ｌレベル）、不良情報信号ｎＳＤＩがデータ１（Ｈレベル）とされ、ＰＢ制御回路６０に接続されるビット線等に不良が有る場合、不良情報信号ＳＤＩがＨレベル、不良情報信号ｎＳＤＩがＬレベルとされる。そして、これらの不良情報信号は、テスト後の製品出荷前において、ＰＢ制御回路６０の位置を示す選択信号Ｓｅｌ＿Ｂに関連付けられて、ＮＡＮＤ型フラッシュメモリ１０の例えばシステム用記憶領域に格納される。
また、パワーオンリセット信号ＰＯＲ＿Ｍｏｄｅは、ＮＡＮＤ型フラッシュメモリ１０の電源投入後の所定期間（不良情報信号をシステム用記憶領域からＰＢ制御回路６０に転送する期間）、Ｈレベルを維持する信号である。
【００６５】
以上の構成により、不良情報格納部９０ａは、ＮＡＮＤ型フラッシュメモリ１０の電源投入後に、ＰＢ制御回路６０に接続されるビット線等に不良が有る場合、パワーオンリセット信号ＰＯＲ＿ＭｏｄｅがＨレベルとなることにより、トランジスタ９４がオフ、トランジスタ９５がオンする。これにより、ノードＮ３がＨレベル、ノードＮ４がＬレベルとなり、欠陥信号ＰＢ＿ＤｅｆｃｅｔがＨレベルとなる。そして、不良情報格納部９０ａは、転送期間終了後、パワーオンリセット信号ＰＯＲ＿ＭｏｄｅがＬレベルとなることにより、以降のＮＡＮＤ型フラッシュメモリ１０に電源が投入されている期間、欠陥信号ＰＢ＿ＤｅｆｃｅｔをＨレベルに維持する。
【００６６】
また、不良情報格納部９０ａは、ＮＡＮＤ型フラッシュメモリ１０の電源投入後に、ＰＢ制御回路６０に接続されるビット線等に不良がない場合、パワーオンリセット信号ＰＯＲ＿ＭｏｄｅがＨレベルとなることにより、トランジスタ９４がオン、トランジスタ９５がオフする。これにより、ノードＮ３がＬレベル、ノードＮ４がＨレベルとなり、欠陥信号ＰＢ＿ＤｅｆｃｅｔがＬレベルとなる。そして、不良情報格納部９０ａは、転送期間終了後、パワーオンリセット信号ＰＯＲ＿ＭｏｄｅがＬレベルとなることにより、以降のＮＡＮＤ型フラッシュメモリ１０に電源が投入されている期間、欠陥信号ＰＢ＿ＤｅｆｃｅｔをＬレベルに維持する。
【００６７】
また、データ固定部９０ｂは、アンド回路９１、トランジスタ６１ｃを有している。ここで、トランジスタ６１ｃは、ＮＭＯＳトランジスタである。
アンド回路９１は、２入力１出力の論理積回路であり、第１入力端子が接続点Ｎ３に接続され、第２入力端子が選択信号Ｓｅｌ＿Ａの配線に接続され、出力端子は、トランジスタ６１ｃのゲートに接続される。
トランジスタ６１ｃは、ドレインが読み出し信号ＲＤの配線に接続され、ゲートがアンド回路９１の出力端子に接続され、ソースが接地されている。
【００６８】
以上の構成により、ＰＢ制御回路６０に接続されるビット線等に不良がない場合、データ固定部９０ｂは、欠陥信号ＰＢ＿ＤｅｆｃｅｔがＬレベルであるから、アンド回路９１の出力信号は常にＬレベルであり、トランジスタ６１ｃはオフする。このため、データ固定部９０ｂは実質何の動作も行わない。
一方、ＰＢ制御回路６０に接続されるビット線等に不良が有る場合、欠陥信号ＰＢ＿ＤｅｆｃｅｔがＨレベルとなっている。ＥＣＣ使用時、すなわちＥＣＣモードではアンド回路９１にＨレベルの選択信号Ｓｅｌ＿Ｂが入力されると、アンド回路９１の出力信号がＨレベルとなり、トランジスタ６１ｃがオンするので、ＥＣＣ Ｂｕｓ＿１は接地され、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿ＢはＬレベル（ＧＮＤレベル）に固定される。つまり、ＰＢ制御回路６０に接続されるビット線等に不良がある場合、ＥＣＣモードではＰＢ制御回路は、ＥＣＣ  Ｂｕｓ＿１に固定レベル（Ｌレベル）のデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂを出力するデータ固定回路として動作する。
【００６９】
なお、通常モードでのデータ読み出し時は、ＰＢ制御回路６０は選択信号Ｓｅｌ＿Ａで選択されるので、アンド回路９１の出力はＬレベルとなり、この追加回路であるデータ固定部９０ｂは実質動作しないことになる。もっとも、このアンド回路９１を使用せず、欠陥信号ＰＢ＿Ｄｅｆｅｃｔを直接トランジスタ６１ｃのゲートに入力すれば、ＰＢ制御回路６０に接続されるビット線等に不良が有る場合、読み出し信号ＲＤはＬレベルに固定される。つまり、ＰＢ制御回路６０は、通常モードで選択信号Ｓｅｌ＿Ａが入力されると、Ｄａｔａ Ｂｕｓ＿１に固定レベル（Ｌレベル）のデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａを出力し、ＥＣＣモードで選択信号Ｓｅｌ＿Ｂが入力されると、Ｌレベルのデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂを出力するデータ固定回路として動作する。
【００７０】
なお、図４に示す不良情報格納部９０ａ、及びデータ固定部９０ｂの構成は、図５に示す構成であってもよい。図５は、ＰＢ ユニットの内部の他の回路構成を示す図である。
なお、図５において図４と同一の部分には同一の符号を付し、その説明を省略する。
図５において、不良情報格納部９０ａついては図４に示すものと同じ構成だが、データ固定部９０ｂについては、データ固定部９０ｂ’としている。なお、不良情報格納部９０ａついて、接続点Ｎ４に現れる信号を欠陥信号ｎＰＢ＿Ｄｅｆｅｃｔとしている。
データ固定部９０ｂ’は、トランジスタ６１ｃのみから構成される。トランジスタ６１ｃは、ソースがＥＣＣ Ｂｕｓ（第１のデータバス）に接続されている。また、これにより、トランジスタ６１ｂは、ドレインが読み出し信号ＲＤの配線に接続され、ゲートが選択信号Ｓｅｌ＿Ｂの配線に接続され、ソースがトランジスタ６１ｃのドレインに接続されている。
【００７１】
この構成により、ＰＢ制御回路６０に接続されるビット線等に不良が有る場合、欠陥信号ｎＰＢ＿ＤｅｆｅｃｔがＬレベルとなるので、トランジスタ６１ｃがオフとなり、読み出し信号ＲＤのＥＣＣ Ｂｕｓ＿１への伝送パスが断たれることになる。このため、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂは、Ｐｕｌｌ Ｕｐ回路によりＨレベルに固定される。一方、ＰＢ制御回路６０に接続されるビット線等に不良がない場合、欠陥信号ｎＰＢ＿ＤｅｆｅｃｔはＨレベルとなり、トランジスタ６１ｃが常時オンとなる。これにより、読み出し信号ＲＤ、つまりメモリセルトランジスタのデータを、ＥＣＣ Ｂｕｓ＿１へデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂとして読み出すことができる。
データ固定部９０ｂ’は、図５に示すデータ固定部９０ｂと比較して、読み出し信号ＲＤの配線とＥＣＣ Ｂｕｓ＿１との間で、トランジスタ６１ｂとトランジスタ６１ｃとが
直列回路となるが、アンド回路を不要とできるメリットがある。
【００７２】
また、図５に示すデータ固定部９０ｂ’において、例えばトランジスタ６１ｃを、読み出し信号ＲＤの配線とトランジスタ６１ａ、及びトランジスタ６１ｂのドレインとの間、すなわち読み出し信号ＲＤの配線とＰＢ制御回路６０との間に挿入すれば、ＰＢ制御回路６０は、通常モードで選択信号Ｓｅｌ＿Ａが入力されると、Ｄａｔａ Ｂｕｓ＿１に固定レベル（Ｈレベル）のデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａを出力し、ＥＣＣモードで選択信号Ｓｅｌ＿Ｂが入力されると、Ｈレベルのデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂを出力するデータ固定回路として動作する。
以上のような回路構成により、ＰＢ制御回路６０に接続されるビット線等に不良が有る場合、データＤａｔａ＿Ｏｕｔ＿ＡまたはデータＤａｔａ＿Ｏｕｔ＿ＢをＬレベルまたはＨレベルの固定値とすることができる。
【００７３】
図４に戻って、ＰＢ制御回路６０の書き込み部は、インバータ回路６２、インバータ回路６３、ナンド回路６４、ナンド回路６５、オア回路６６、インバータ回路６７、アンド回路７１、スイッチ６８、及びスイッチ６９から構成される。
インバータ回路６２は、論理反転回路であり、出力端子が書き込み信号ＤＩの配線に接続され、入力端子がナンド回路６４の出力端子に接続される。インバータ回路６３は、論理反転回路であり、出力端子が書き込み信号ｎＤＩの配線に接続され、入力端子がナンド回路６５の出力端子に接続される。
【００７４】
ナンド回路６４は、３入力１出力の否定的論理積回路であり、第１入力端子が書き込みイネーブル信号ｆＤｉｎＥｎａｂｌｅの配線に接続され、第２入力端子がオア回路６６の出力端子に接続され、第３入力端子がインバータ回路６７の出力端子に接続される。また、ナンド回路６４の出力端子は、インバータ回路６２の入力端子に接続される。
ナンド回路６５は、３入力１出力の否定的論理積回路であり、第１入力端子が書き込みイネーブル信号ｆＤｉｎＥｎａｂｌｅの配線に接続され、第２入力端子がオア回路６６の出力端子に接続され、第３入力端子がスイッチ６８の第１入出力端子、及びスイッチ６９の第１入出力端子に接続される。また、ナンド回路６５の出力端子は、インバータ回路６３の入力端子に接続される。
【００７５】
オア回路６６は、２入力１出力の論理和回路であり、第１入力端子がアンド回路７１の出力に接続され、第２入力端子が選択信号Ｓｅｌ＿Ａの配線に接続される。また、オア回路６６の出力端子は、ナンド回路６４の第２入力端子、及びナンド回路６５の第２入力端子に接続される。アンド回路７１は、選択信号Ｓｅｌ＿Ｂと欠陥信号ｎＰＢ＿Ｄｅｆｅｃｔとの論理積を演算する。これにより、欠陥信号ｎＰＢ＿ＤｅｆｅｃｔがＨレベルの場合（不良でない場合）は、選択信号Ｓｅｌ＿ＢがＨレベルになることにより、ナンド回路６５の第２入力端子がＨレベルとなり、書き込みの条件の１つを満たすことができる。一方、欠陥信号ｎＰＢ＿ＤｅｆｅｃｔがＬレベルの場合（不良ページバッファである）は選択信号Ｓｅｌ＿Ｂの動作モードにおいて、ナンド回路６５の第２入力端子がＨレベルになることはなく、書き込みが行われなくなる。
インバータ回路６７は、論理反転回路であり、入力端子がスイッチ６８の第１入出力端子、及びスイッチ６９の第１入出力端子に接続され、出力端子がナンド回路６４の第３入力端子に接続される。
【００７６】
スイッチ６８は、双方向に信号を伝達するスイッチであり、第１入出力端子がインバータ回路６７の入力端子、及びナンド回路６５の第３入力端子に接続され、第２入出力端子がＤａｔａ Ｂｕｓに接続される。
スイッチ６９は、双方向に信号を伝達するスイッチであり、第１入出力端子がインバータ回路６７の入力端子、及びナンド回路６５の第３入力端子に接続され、第２入出力端子がＥＣＣ Ｂｕｓに接続される。なお、上記双方向スイッチがどちらも非選択の場合にインバータ回路６７の入力が不定にならないように、インバータ回路６７の入力がＰＭＯＳトランジスタによりＰｕｌｌ Ｕｐ（プルアップ）処理される。
【００７７】
以上の構成により、ＰＢ制御回路６０の書き込み部は、ＥＣＣモード（第１の動作モード）のデータ書き込み時において、書き込みイネーブル信号ｆＤｉｎＥｎａｂｌｅがＨレベルに、選択信号Ｓｅｌ＿ＢがＨレベルになると、スイッチ６９がオンし、ＥＣＣ Ｂｕｓから入力されるデータ書き込み信号Ｄａｔａ＿Ｉｎ＿Ｂのレベルに応じて、書き込み信号ＤＩ、及び書き込み信号ｎＤＩのいずれか一方をＬレベルからＨレベルに変化させる。具体的には、データ書き込み信号Ｄａｔａ＿Ｉｎ＿ＢがＬレベル（データ０）のとき、書き込み信号ＤＩをＨレベルに変化させる。これにより、ビット内部回路５０＿０〜５０＿７のうち、いずれか１つのビット内部回路のＤａｔａ＿ｉが、Ｌレベルになり、その後のプログラム処理により、メモリセルトランジスタにデータ０が書き込まれる。
【００７８】
一方、データ書き込み信号Ｄａｔａ＿Ｉｎ＿ＢがＨレベル（データ１）のとき、書き込み信号ｎＤＩをＨレベルに変化させる。これにより、ビット内部回路５０＿０〜５０＿７のうち、いずれか１つのビット内部回路のＤａｔａ＿ｉが、Ｈレベルになり、その後のプログラム処理により、メモリセルトランジスタにデータ１が書き込まれる。
【００７９】
また、ＰＢ制御回路６０の書き込み部は、通常モード（第２の動作モード）のデータ書き込み時において、書き込みイネーブル信号ｆＤｉｎＥｎａｂｌｅがＨレベルに、選択信号Ｓｅｌ＿ＡがＨレベルになると、スイッチ６８がオンし、Ｄａｔａ Ｂｕｓから入力されるデータ書き込み信号Ｄａｔａ＿Ｉｎ＿Ａのレベルに応じて、書き込み信号ＤＩ、及び書き込み信号ｎＤＩのいずれか一方をＬレベルからＨレベルに変化させる。具体的には、データ書き込み信号Ｄａｔａ＿Ｉｎ＿ＡがＬレベル（データ０）のとき、書き込み信号ＤＩをＨレベルに変化させる。これにより、ビット内部回路５０＿０〜５０＿７のうち、いずれか１つのビット内部回路のＤａｔａ＿ｉが、Ｌレベルになり、その後のプログラム処理により、メモリセルトランジスタにデータ０が書き込まれる。
【００８０】
一方、データ書き込み信号Ｄａｔａ＿Ｉｎ＿ＡがＨレベル（データ１）のとき、書き込み信号ｎＤＩをＨレベルに変化させる。これにより、ビット内部回路５０＿０〜５０＿７のうち、いずれか１つのビット内部回路のＤａｔａ＿ｉが、Ｈレベルになり、その後のプログラム処理により、メモリセルトランジスタにデータ１が書き込まれる。
【００８１】
このように、ＰＢ制御回路６０は、ページバッファ１０２のＰＢユニットを構成するビット内部回路５０＿０〜５０＿７のうち、選択信号ＤＩＯ＜ｉ＞により選択されたビット内部回路にビット線を介して接続されるメモリセルトランジスタと、データバス（第１のデータバス、および第２のデータバス）との間のデータ転送を制御する回路である。
【００８２】
また、上述した読み出し信号ＲＤの配線、書き込み信号ＤＩの配線、及び書き込み信号ｎＤＩの配線（ＩＯ線）は、ＰＢユニットを構成するビット内部回路５０＿０〜５０＿７とＰＢ制御回路６０とを接続する配線であり、これらの配線はＰＢユニットのデータ転送用の入出力配線である。従って、本実施形態において、ＰＢ制御回路６０は、ページバッファ１０２の入出力部と、第１、及び第２のデータバス（ＥＣＣ Ｂｕｓ、Ｄａｔａ Ｂｕｓ）との間で、書き込みデータ、及び読み出しデータを転送する。
【００８３】
図３（ａ）に戻って、以上のＰＢ制御回路６０の構成により、ＰＢ ４ＩＯユニット３０＿０は次に説明する動作を実行する。
ＰＢ ４ＩＯ ユニット３０＿０は、Ｈレベルの選択信号Ｓｅｌ＿Ａ＜０＞がカラムコーディング回路１０３から入力されると、４本分のページバッファの入出力線（図４に示すデータ読み出し線ＲＤ；ＩＯ線ＩＯ＿０〜ＩＯ＿３とする）を、４ビット分のＤａｔａ Ｂｕｓ（ここではデータバスＤａｔａ＿Ａ＜３：０＞とする）にそれぞれ接続する。これにより、ＰＢ ４ＩＯ ユニット３０＿０は、データバスＤａｔａ＿Ａ＜３：０＞にデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａ＜０＞〜Ａ＜３＞（以下、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａ＜３：０＞とする）を出力する。
【００８４】
また、ＰＢ ４ＩＯ ユニット３０＿０は、Ｈレベルの選択信号Ｓｅｌ＿Ｂ＜０＞がＥＣＣカラムコーディング回路１０８から入力されると、４本分のページバッファの入出力線ＩＯ線ＩＯ＿０〜ＩＯ＿３を、４ビット分のＥＣＣ Ｂｕｓ（ここでは、データバスＤａｔａ＿Ｂ＜３：０＞とする）にそれぞれ接続する。これにより、ＰＢ ４ＩＯ ユニット３０＿０は、データバスＤａｔａ＿Ｂ＜３：０＞にデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂ＜０＞〜Ｂ＜３＞（以下、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂ＜３：０＞とする）を出力する。
【００８５】
図２に戻って、以上のＰＢ ４ＩＯユニット３０＿０の構成により、図２に示すデータ読み出し動作において、ページバッファ１０２、及びカラムコーディング回路１０３、及びＥＣＣカラムコーディング回路１０８（ここでは、データ読み出しモデルとする）は、次に説明する動作を実行する。
なお、図２に示すＰＢ ４ＩＯユニット３０＿１〜３０＿９に接続されるページバッファの入出力線（図４、図５に示すデータ読み出し線ＲＤ）を、これらのＰＢ ４ＩＯユニットの順番に、それぞれＩＯ線ＩＯ＿４〜ＩＯ＿７、ＩＯ線ＩＯ＿８〜ＩＯ＿１１、ＩＯ線ＩＯ＿１２〜ＩＯ＿１５、ＩＯ線ＩＯ＿１６〜ＩＯ＿１９、ＩＯ線ＩＯ＿２０〜ＩＯ＿２３、ＩＯ線ＩＯ＿２４〜ＩＯ＿２７、ＩＯ線ＩＯ＿２８〜ＩＯ＿３１、ＩＯ線ＩＯ＿３２〜ＩＯ＿３５、ＩＯ線ＩＯ＿３６〜ＩＯ＿３９とする。
また、Ｄａｔａ Ｂｕｓは、８ビット幅のバスであり、これらをデータバスＤａｔａ＿Ａ＜７：０＞とする。また、ＥＣＣ Ｂｕｓは、２０ビット幅のバスであり、これらをデータバスＤａｔａ＿Ｂ＜１９：０＞とする。
【００８６】
通常モード（第２の動作モード）では、カラムコーディング回路１０３は、選択信号Ｓｅｌ＿Ａ＜０＞〜Ｓｅｌ＿Ａ＜４＞の５つのカラムアドレスのうち１つのカラムアドレスをＨレベル、残りの４つのカラムアドレスをＬレベルに維持して、データ読み出しモデルに対して出力する。
例えば、通常モードにおいて、選択信号Ｓｅｌ＿Ａ＜０＞〜Ｓｅｌ＿Ａ＜４＞の順番に、選択信号を５回、データ読み出しモデルに与えると、次のようにＩＯ線ＩＯ＿０〜ＩＯ＿３９の４０ビットのデータがデータバスＤａｔａ＿Ａ＜７：０＞に順次読み出される。
【００８７】
選択信号Ｓｅｌ＿Ａ＜０＞がＨレベルになると、ＰＢ ４ＩＯユニット３０＿０、及びＰＢ ４ＩＯユニット３０＿１は、それぞれのＰＢ制御回路６０におけるトランジスタ６１ａがオンし、ＩＯ線ＩＯ＿０〜ＩＯ＿７とデータバスＤａｔａ＿Ａ＜７：０＞とを接続する。これにより、ＰＢ ４ＩＯユニット３０＿０、及びＰＢ ４ＩＯユニット３０＿１は、データバスＤａｔａ＿Ａ＜７：０＞に、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａ＜７：０＞（ＩＯ線ＩＯ＿０〜ＩＯ＿７のデータ）を出力する。
【００８８】
次に、選択信号Ｓｅｌ＿Ａ＜１＞がＨレベルになると、ＰＢ ４ＩＯユニット３０＿２、及びＰＢ ４ＩＯユニット３０＿３は、それぞれのＰＢ制御回路６０におけるトランジスタ６１ａがオンし、ＩＯ線ＩＯ＿８〜ＩＯ＿１５とデータバスＤａｔａ＿Ａ＜７：０＞とを接続する。これにより、ＰＢ ４ＩＯユニット３０＿２、及びＰＢ ４ＩＯユニット３０＿３は、データバスＤａｔａ＿Ａ＜７：０＞に、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａ＜７：０＞（ＩＯ線ＩＯ＿８〜ＩＯ＿１５のデータ）を出力する。
【００８９】
次に、選択信号Ｓｅｌ＿Ａ＜２＞がＨレベルになると、ＰＢ ４ＩＯユニット３０＿４、及びＰＢ ４ＩＯユニット３０＿５は、それぞれのＰＢ制御回路６０におけるトランジスタ６１ａがオンし、ＩＯ線ＩＯ＿１６〜ＩＯ＿２３とデータバスＤａｔａ＿Ａ＜７：０＞とを接続する。これにより、ＰＢ ４ＩＯユニット３０＿４、及びＰＢ ４ＩＯユニット３０＿５は、データバスＤａｔａ＿Ａ＜７：０＞に、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａ＜７：０＞（ＩＯ線ＩＯ＿１６〜ＩＯ＿２３のデータ）を出力する。
【００９０】
次に、選択信号Ｓｅｌ＿Ａ＜３＞がＨレベルになると、ＰＢ ４ＩＯユニット３０＿６、及びＰＢ ４ＩＯユニット３０＿７は、それぞれのＰＢ制御回路６０におけるトランジスタ６１ａがオンし、ＩＯ線ＩＯ＿２４〜ＩＯ＿３１とデータバスＤａｔａ＿Ａ＜７：０＞とを接続する。これにより、ＰＢ ４ＩＯユニット３０＿６、及びＰＢ ４ＩＯユニット３０＿７は、データバスＤａｔａ＿Ａ＜７：０＞に、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａ＜７：０＞（ＩＯ線ＩＯ＿２４〜ＩＯ＿３１のデータ）を出力する。
【００９１】
最後に、選択信号Ｓｅｌ＿Ａ＜４＞がＨレベルになると、ＰＢ ４ＩＯユニット３０＿８、及びＰＢ ４ＩＯユニット３０＿９は、それぞれのＰＢ制御回路６０におけるトランジスタ６１ａがオンし、ＩＯ線ＩＯ＿３２〜ＩＯ＿３９とデータバスＤａｔａ＿Ａ＜７：０＞とを接続する。これにより、ＰＢ ４ＩＯユニット３０＿８、及びＰＢ ４ＩＯユニット３０＿９は、データバスＤａｔａ＿Ａ＜７：０＞に、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａ＜７：０＞（ＩＯ線ＩＯ＿３２〜ＩＯ＿３９のデータ）を出力する。
【００９２】
このようにして、選択信号Ｓｅｌ＿Ａを５回、データ読み出しモデルに供給すると、ＰＢ ４ＩＯユニット３０＿０〜３０＿９は、ＰＢ制御回路６０により、ＩＯ線ＩＯ＿０〜ＩＯ＿３９を８本ずつ、データバスＤａｔａ＿Ａ＜７：０＞に接続する。これにより、合計４０ビットのメモリセルトランジスタの記憶するデータを、ビット線、及びＩＯ線ＩＯ＿０〜ＩＯ＿３９を介してＤａｔａ Ｂｕｓに読み出すことができる。
【００９３】
また、ＥＣＣモード（第１の動作モード）では、ＥＣＣカラムコーディング回路１０８は、選択信号Ｓｅｌ＿Ｂ＜０＞〜Ｓｅｌ＿Ｂ＜１＞の２つのカラムアドレスのうち１つのカラムアドレスをＨレベル、残りの１つのカラムアドレスをＬレベルに維持して、データ読み出しモデルに対して出力する。
例えば、ＥＣＣモードにおいて、選択信号Ｓｅｌ＿Ｂ＜０＞〜Ｓｅｌ＿Ｂ＜１＞の順番に、選択信号を２回、データ読み出しモデルに与えると、次のようにＩＯ線ＩＯ＿０〜ＩＯ＿３９の４０ビットのデータがデータバスＤａｔａ＿Ｂ＜１９：０＞に順次読み出される。
【００９４】
選択信号Ｓｅｌ＿Ｂ＜０＞がＨレベルになると、ＰＢ ４ＩＯユニット３０＿０、３０＿２、３０＿４、３０＿６、及び３０＿８は、それぞれのＰＢ制御回路６０におけるトランジスタ６１ｂがオンし、ＩＯ線ＩＯ＿０〜ＩＯ＿３、ＩＯ＿８〜ＩＯ＿１１、ＩＯ＿１６〜ＩＯ＿１９、ＩＯ＿２４〜ＩＯ＿２７、ＩＯ＿３２〜ＩＯ＿３５とデータバスＤａｔａ＿Ｂ＜１９：０＞とを接続する。これにより、ＰＢ ４ＩＯユニット３０＿０、３０＿２、３０＿４、３０＿６、及び３０＿８は、データバスＤａｔａ＿Ｂ＜１９：０＞に、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂ＜１９：０＞（ＩＯ線ＩＯ＿０〜ＩＯ＿３、ＩＯ＿８〜ＩＯ＿１１、ＩＯ＿１６〜ＩＯ＿１９、ＩＯ＿２４〜ＩＯ＿２７、ＩＯ＿３２〜ＩＯ＿３５のデータ）を出力する。
【００９５】
次に、選択信号Ｓｅｌ＿Ｂ＜１＞がＨレベルになると、ＰＢ ４ＩＯユニット３０＿１、３０＿３、３０＿５、３０＿７、及び３０＿９は、それぞれのＰＢ制御回路６０におけるトランジスタ６１ａがオンし、ＩＯ線ＩＯ＿４〜ＩＯ＿７、ＩＯ＿１２〜ＩＯ＿１５、ＩＯ＿２０〜ＩＯ＿２３、ＩＯ＿２８〜ＩＯ＿３１、ＩＯ＿３６〜ＩＯ＿３９とデータバスＤａｔａ＿Ｂ＜１９：０＞とを接続する。これにより、ＰＢ ４ＩＯユニット３０＿１、３０＿３、３０＿５、３０＿７、及び３０＿９は、データバスＤａｔａ＿Ｂ＜１９：０＞に、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂ＜１９：０＞（ＩＯ線ＩＯ＿４〜ＩＯ＿７、ＩＯ＿１２〜ＩＯ＿１５、ＩＯ＿２０〜ＩＯ＿２３、ＩＯ＿２８〜ＩＯ＿３１、ＩＯ＿３６〜ＩＯ＿３９のデータ）を出力する。
【００９６】
このようにして、選択信号Ｓｅｌ＿Ｂを２回、データ読み出しモデルに供給すると、ＰＢ ４ＩＯユニット３０＿０〜３０＿９は、ＰＢ制御回路６０により、ＩＯ線ＩＯ＿０〜ＩＯ＿３９を２０本ずつ、データバスＤａｔａ＿Ｂ＜１９：０＞に接続する。これにより、合計４０ビットのメモリセルトランジスタの記憶するデータを、ビット線、及びＩＯ線ＩＯ＿０〜ＩＯ＿３９を介してＥＣＣ Ｂｕｓに読み出すことができる。
例えば、通常モードでは、ＩＯ線ＩＯ＿０〜ＩＯ＿３、ＩＯ＿８〜ＩＯ＿１１、ＩＯ＿１６〜ＩＯ＿１９、ＩＯ＿２４〜ＩＯ＿２７、ＩＯ＿３２〜ＩＯ＿３５のデータは、選択信号を５回与えなければ、Ｄａｔａ Ｂｕｓに読み出すことができなかった。これに対して、ＥＣＣモードでは、選択信号を１回与えれば（選択信号Ｓｅｌ＿Ｂ＜０＞を与えれば）、ＩＯ線ＩＯ＿０〜ＩＯ＿３、ＩＯ＿８〜ＩＯ＿１１、ＩＯ＿１６〜ＩＯ＿１９、ＩＯ＿２４〜ＩＯ＿２７、ＩＯ＿３２〜ＩＯ＿３５のデータを、ＥＣＣ Ｂｕｓに読み出すことができる。
【００９７】
また、図７は、図１に示すページバッファ１０２、カラムコーディング回路１０３、及びＥＣＣカラムコーディング回路１０８に対応する部分のデータ書き込み動作を説明するための図である。
データ書き込み動作においても、ＰＢ ４ＩＯユニット３０＿０の動作により、ページバッファ１０２、及びカラムコーディング回路１０３、及びＥＣＣカラムコーディング回路１０８（ここでは、データ書き込みモデルとする）は、データ書き込み動作を実行する。
データ書き込みモデルでは、データの転送を図２に示す方向と逆方向に処理を行なうだけであるので、詳細な説明は省略する。
【００９８】
データ書き込みモデルでは、例えば、通常モードでは、ＩＯ線ＩＯ＿０〜ＩＯ＿３、ＩＯ＿８〜ＩＯ＿１１、ＩＯ＿１６〜ＩＯ＿１９、ＩＯ＿２４〜ＩＯ＿２７、ＩＯ＿３２〜ＩＯ＿３５へ与えるデータは、選択信号を５回与えなければ、Ｄａｔａ Ｂｕｓから書き込むことができなかった。これに対して、ＥＣＣモードでは、選択信号を１回与えれば（選択信号Ｓｅｌ＿Ｂ＜０＞を与えれば）、ＩＯ線ＩＯ＿０〜ＩＯ＿３、ＩＯ＿８〜ＩＯ＿１１、ＩＯ＿１６〜ＩＯ＿１９、ＩＯ＿２４〜ＩＯ＿２７、ＩＯ＿３２〜ＩＯ＿３５へ与えるデータを、ＥＣＣ Ｂｕｓから書き込むことができる。
【００９９】
このように、本実施形態のＮＡＮＤ型フラッシュメモリ１０（半導体記憶装置）は、第１のデータバス（データバスＤａｔａ＿Ｂ＜１９：０＞）と、第１のデータバスと異なる本数から構成され、第１のデータバスとは独立して設けられる第２のデータバス（データバスＤａｔａ＿Ａ＜７：０＞）と、第１の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち第１のデータバスと同じ本数のビット線と、第１のデータバスとを接続してデータを転送し、一方、第２の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち第２のデータバスと同じ本数のビット線と、第２のデータバスと、を接続してデータを転送するデータ転送部（ＰＢ ４ＩＯユニット３０＿０〜３０＿９各々におけるＰＢ制御回路６０）と、を備える。
【０１００】
また、ビット線を、ｎ（ｎはｐとｑの公倍数であり、ｐ、及びｑはｐ＞ｑである自然数）本のビット線とすると、第１のデータバスはｐ本であり、第２のデータバスはｑ本であって、データ転送部は、第１の動作モードでは、（ｎ／ｐ）本のアドレス信号が入力されると、ｐ本のビット線とｐ本の第１のデータバスとの接続を行い、一方、第２の動作モードでは、（ｎ／ｑ）本のアドレス信号が入力されると、ｑ本ビット線と第２のデータバスとの接続を行う。
【０１０１】
また、ＮＡＮＤ型フラッシュメモリ１０は、メモリアレイ１０１と、メモリアレイ１０１からページ単位でデータを読み出し、メモリアレイ１０１から読み出された読み出しデータを格納するページバッファ８２と、ページバッファ８２から転送された読み出しデータに対して誤りを訂正し、この訂正された読み出しデータをページバッファ８２に書き戻すＥＣＣ回路１０７（ＥＣＣ部）と、ページバッファに書き戻された読み出しデータを出力するＩ／Ｏパッド１０６（インターフェース部）と、を備え、ＥＣＣ Ｂｕｓは、ＥＣＣ回路１０７に接続され、Ｄａｔａ Ｂｕｓは、Ｉ／Ｏパッド１０６に接続される。
【０１０２】
また、ＮＡＮＤ型フラッシュメモリ１０において、ページバッファ８２は、Ｉ／Ｏパッド１０６に入力された書き込みデータを格納し、ＥＣＣ回路１０７は、ページバッファから転送された書き込みデータに対してパリティデータを生成し、パリティデータ及び書き込みデータをページバッファに書き戻す。
【０１０３】
これにより、ページバッファ１０２から複数のデータバス（本実施形態ではＥＣＣ Ｂｕｓ、Ｄａｔａ Ｂｕｓ）を用意し、それぞれについて独立したカラムコーディング（Ｃｏｌｕｍｎ Ｃｏｄｉｎｇ）、すなわちアドレス制御を可能にすることができる。
本実施形態では、ページバッファ１０２の入出力線（上記例で言えばＩＯ＿０〜ＩＯ＿３９）から、すなわちページバッファに直結した部分から独立なデータバスの構成、および独立なアドレス制御としているところが特徴である。
そのため、本実施形態における半導体記憶装置では、以下に述べる特徴的な効果を奏することができる。
【０１０４】
（１）第１の動作モード（本実施形態ではＥＣＣモード）において、バス幅を広げ、高速化できる。
本実施形態の説明では、１回のカラムアドレス入力により、第２の動作モード（通常モード）では、Ｄａｔａ Ｂｕｓに８ビットのデータを転送し、ＥＣＣモードでは２０ビットのデータを転送する場合に説明した。このように、Ａｄｄｒｅｓｓ＿Ｂの入力（選択信号Ｓｅｌ＿ＢのＰＢ制御回路６０への入力）次第では、すなわちページバッファ１０２へのカラムコーディング次第では、簡単にバス幅を広げることができる。例えば、１０２４個のＰＢユニットでカラムアドレスを２アドレスとすれば、ＥＣＣモードではＥＣＣ Ｂｕｓを５１２ｂｉｔのバス幅に広げてデータ転送できる。
また、ページバッファに直結した部分から独立なデータバスの構成、および独立なアドレス制御としている。そのため、従来のように、Ｄａｔａ Ｂｕｓの一部を共有してＥＣＣ回路へデータ転送する場合に比べて、高速なデータ転送が可能になる。
特に、不良のＰＢユニットについては、ＰＢ制御回路６０が固定データをＥＣＣ Ｂｕｓを介してＥＣＣ回路１０７へ転送するので、ＥＣＣ処理においてカラム置換回路１０４で救済処理した後のデータをＥＣＣ Ｂｕｓを介してＥＣＣ回路１０７に転送する必要はなく、バス幅の拡大されたＥＣＣ Ｂｕｓの径路にカラム置換回路１０４を配置する必要が無くなる。このため、カラム置換回路１０４での救済処理に要する時間だけ、ＥＣＣ処理の際のページバッファからＥＣＣ回路へのデータ転送の時間を短縮できる。また、ＥＣＣ処理に際してＤａｔａ Ｂｕｓ（第２のデータバス）のバス幅を拡大する必要はないので、カラム置換回路１０４の回路規模の増大を抑制できる。
【０１０５】
（２）アドレス制御、アドレスマップの自由度の向上
本実施形態の説明では、通常モードにおいて、１つのカラムアドレスで８ビットのデータ転送する際、例えばＰＢ ４ＩＯユニット３０＿０、と３０＿１に選択信号Ｓｅｌ＿Ａ＜０＞を供給して、ＩＯ線ＩＯ＿０〜ＩＯ＿７のデータをＤａｔａ Ｂｕｓに転送した。これに対して、ＥＣＣモードでは、ＰＢ ４ＩＯユニット３０＿０、と３０＿１に選択信号Ｓｅｌ＿Ｂ＜０＞、Ｓｅｌ＿Ｂ＜１＞と別々のアドレスを割り当てて、全アドレスについて一括でＥＣＣ回路にデータ転送をすることができる。例えば、通常データとパリティデータとが、通常モードにおいて選択信号Ｓｅｌ＿Ａの異なるアドレスに割り付けられていた場合であっても、ＥＣＣモードにおいて選択信号Ｓｅｌ＿Ｂの同じアドレスに割り付けることができ、通常データとパリティデータを一括してＥＣＣ回路に入力することができる。このように、第２の動作モードにおけるアドレス制御が第１の動作モードにおけるアドレス制御に対して独立性が非常に高く、アドレスマップの自由度を高くすることができる。
【０１０６】
また、通常モードではカラムアドレスは選択信号Ｓｅｌ＿Ａ＜０＞〜Ｓｅｌ＿Ａ＜４＞の５つに対し、ＥＣＣモードではカラムアドレスは選択信号Ｓｅｌ＿Ｂ＜０＞、Ｓｅｌ＿Ｂ＜１＞の２つとなった。このことは、通常モードにおける規格（Ｕｓｅｒ Ｓｐｅｃ）では、カラムアドレスが２のｎ乗でない（所謂きりのよくない）値で定められていたとしても、ＥＣＣモードではアドレス空間を２のｎ乗などのきりのよい単位空間へ変換可能であることを意味している。
これにより、ＥＣＣ回路１０７のコード構成、たとえばコード長をいくつにするか、積符号化する場合のコード長構成の最適化などの過程において、自由度をもって設計することができ、より最適なパフォーマンスを引き出すことができる。
【０１０７】
（３）設計変更の容易化
またＥＣＣ回路を内蔵した製品を設計する場合、仮に当該製品の派生製品であってＥＣＣ回路の内蔵が不要な製品を別途設計するような場合、データバス（ＥＣＣバス）、アドレス制御に係るカラムコーディング回路がＥＣＣモードと通常モードでは独立している。これにより、ＥＣＣモードに係る回路と通常モードに係る回路の切り分けが明確であるため、不要なＥＣＣモードに係る回路の削減が容易となり、設計変更が容易になる。
【０１０８】
続いて、図１に示すＮＡＮＤ型フラッシュメモリの第１の動作モード、及び第２の動作モードでの動作について、ページバッファ１０２の概略構成、及び動作フローチャートを参照して説明する。図８は、ページバッファ１０２を構成する各ページバッファを説明するための図である。また、図９は、ページバッファ１０２の動作を説明するためのフローチャートである。
図８（ａ）には、ページバッファ１０２を構成するＭａｉｎ Ｄａｔａ（通常データ）用のページバッファ１０２ａ、Ｃｏｌｕｍｎ Ｒｅｐａｉｒ ｆｏｒ Ｍａｉｎ Ｄａｔａ（通常データの置換データ）用のページバッファ１０２ｂ、ＥＣＣ Ｐａｒｉｔｙ（パリティデータ）用のページバッファ１０２ｃ、及びＰａｒｉｔｙ’ｓ Ｃｏｌｕｍｎ Ｒｅｐａｉｒ（パリティデータの置換データ）用のページバッファ１０２ｄを模式的に示している。図８（ａ）には、これらページバッファ１０２ａ〜１０２ｄを構成するＰＢ ユニット（図４、図５に示すＰＢ制御回路６０、及びビット内部回路５０＿０〜５０＿７を単位とする回路）に番号を付して示している。この番号は、図３（ｂ）に示すＣｏｄｉｎｇ、すなわちＰＢ ユニットの位置を示す選択信号Ｓｅｌ＿Ａの番号である。
【０１０９】
すなわち、ページバッファ１０２ａは、通常データ用のＰＢ ユニットとして、２５６個のＰＢ ユニット０〜ＰＢ ユニット２５５を有し、ページバッファ１０２ｂは、通常データの置換用のＰＢ ユニットとして８個のＰＢ ユニット２５６〜ＰＢ ユニット２６３を有する。
また、ページバッファ１０２ｃは、パリティデータ用のＰＢ ユニットとして、３６個のＰＢ ユニット２６４〜ＰＢ ユニット２９９を有し、ページバッファ１０２ｄは、パリティデータの置換用のＰＢ ユニットとして８個のＰＢ ユニット３００〜ＰＢ ユニット３０７を有する。
【０１１０】
また、ここでは、図８（ｂ）に示す様に、ページバッファ１０２ａのＰＢ ユニット１に接続される８本のビット線、或いは当該８本のビット線に接続されるメモリセルトランジスタに不良があった場合に、ページバッファ１０２ｂのＰＢ ユニット２５６に置換される例を示している。また、図８（ｂ）では、ページバッファ１０２ｃのＰＢ ユニット２６５に接続される８本ビット線、或いは当該８本のビット線に接続されるメモリセルトランジスタに不良があった場合に、ページバッファ１０２ｄのＰＢ ユニット３００に置換される例を示している。
なお、図８（ｂ）において斜線を施して示しているページバッファ１０２ｂにおけるＰＢ ユニット２５７〜２６３は使用されないので、これらはカラム置換回路１０４の制御によりカラムコーディング回路１０３が選択することはなく、すなわち不活性状態となっている。また、同じく図８（ｂ）において斜線を施して示しているページバッファ１０２ｄにおけるＰＢ ユニット３０１〜３０７は使用されないので、これらはパリティカラム置換回路１０５の制御によりＥＣＣカラムコーディング回路１０８が選択することはなく、すなわち不活性状態となっている。
【０１１１】
また、ページバッファ１０２ａにおけるＰＢ ユニット１は、通常モードでは選択されず、置換先のＰＢ ユニット２５６が選択信号Ｓｅｌ＿Ａにより選択され、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａ（ＰＢ ユニット１から読み出すはずのデータ）が、Ｄａｔａ Ｂｕｓ＿１、Ｄａｔａ Ｂｕｓ＿２、及びＤａｔａ Ｂｕｓ＿３（第２のデータバス）を介してＩ／Ｏパッド１０６から出力される。また、通常モードでは、書き込みデータがＩ／Ｏパッド１０６から入力されると、Ｄａｔａ Ｂｕｓ＿３、Ｄａｔａ Ｂｕｓ＿２、及びＤａｔａ Ｂｕｓ＿１を介してＰＢ ユニット２５６に、データ書き込み信号Ｄａｔａ＿Ａ＿Ｉｎ（ＰＢ ユニット１に書き込むはずのデータ）として入力される。このように、ユーザがカラムアドレスを供給して使用できるページバッファの領域はページバッファ１０２ａのＰＢ ユニット０〜２５５までである。つまり、ページバッファ１０２ｂのＰＢ ユニット２５６〜２６３、ページバッファ１０２ｃのＰＢ ユニット２６４〜２９９、及びページバッファ１０２ｄのＰＢ ユニット３００〜３０７は、ユーザがアクセスすることのできないページバッファの領域である。
【０１１２】
また、ページバッファ１０２ａにおけるＰＢ ユニット１は、ＥＣＣモードで選択信号Ｓｅｌ＿Ｂにより選択され、ＬレベルまたはＨレベルのいずれか一方に固定されたデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂが、ＥＣＣ Ｂｕｓ＿１、及びＥＣＣ Ｂｕｓ＿２（第１のデータバス）を介してＥＣＣ回路１０７まで転送され、ＥＣＣ処理に用いられる。また、置換先のＰＢ ユニット２５６も選択信号Ｓｅｌ＿Ｂにより選択され、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂが、ＥＣＣ Ｂｕｓ＿１、ＥＣＣ Ｂｕｓ＿２、及びＥＣＣ Ｂｕｓ＿３を介してＥＣＣ回路１０７まで転送され、ユーザから見たＰＢ ユニット１の読み出しデータとしてＥＣＣ処理に用いられる。
【０１１３】
また、ＥＣＣモードでは、ＥＣＣ処理が終了すると、ＰＢ ユニット１に書き戻すべきデータがＥＣＣ Ｂｕｓ＿３、ＥＣＣ Ｂｕｓ＿２、およびＥＣＣ Ｂｕｓ＿１（第１のデータバス）を介してＰＢ ユニット２５６に、データ書き込み信号Ｄａｔａ＿Ｂ＿Ｉｎとして入力される。なお、これらのＥＣＣ処理後のデータのうちＰＢ ユニット０〜２５５のデータは、上述の様に、データバスＤａｔａ＿Ａを介して外部へ誤りのないデータ（Ｃｌｅａｒ Ｄａｔａ）として読み出される。
【０１１４】
また、ページバッファ１０２ｃにおけるＰＢ ユニット２６５は、ＥＣＣモードで選択信号Ｓｅｌ＿Ｂにより選択され、ＬレベルまたはＨレベルのいずれか一方に固定されたデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂが、ＥＣＣ Ｂｕｓ＿１、及びＥＣＣ Ｂｕｓ＿２（データバスＤａｔａ＿Ｂ）を介してパリティカラム置換回路１０５まで転送される。また、置換先のＰＢ ユニット３００も選択信号Ｓｅｌ＿Ｂにより選択され、データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂが、ＥＣＣ Ｂｕｓ＿１、及びＥＣＣ Ｂｕｓ＿２を介してパリティカラム置換回路１０５まで転送され、置換処理が行われる。こうして、ＰＢ ユニット３００の出力するデータが、ＰＢ ユニット２６５のデータ読み出し信号としてＥＣＣ Ｂｕｓ＿３を介してＥＣＣ回路１０７に転送され、ＥＣＣ処理に用いられる。
【０１１５】
また、ＥＣＣモードでは、ＥＣＣ処理が終了すると、ＰＢ ユニット２６５に書き戻すべきデータがＥＣＣ Ｂｕｓ＿３を介してパリティカラム置換回路１０５まで転送され、置換処理した後、ＥＣＣ Ｂｕｓ＿２、およびＥＣＣ Ｂｕｓ＿１（第１のデータバス）を介してＰＢ ユニット３００に、データ書き込み信号Ｄａｔａ＿Ｂ＿Ｉｎとして入力される。なお、これらのＥＣＣ処理後のデータは、上述の様に、データバスＤａｔａ＿Ａを介して外部へ読み出されることはない。
【０１１６】
図９に示すフローチャートを参照して、メモリセルトランジスタへのデータ書き込み動作、メモリセルトランジスタからのデータ読み出し動作について説明する。なお、図９（ａ）はデータ書込み動作（Ｄａｔａ Ｉｎ）、図９(ｂ)は、データ読み出し動作（Ｄａｔａ Ｏｕｔ）、図９（ｃ）は、ＥＣＣでのエンコード（Ｅｎｃｏｄｅ）処理動作、図９(ｄ)は、ＥＣＣでのデコード（Ｄｅｃｏｄｅ）処理動作を、それぞれ示している。
[データ書き込み動作]
ユーザがＩ／Ｏパッド１０６を介してＮＡＮＤ型フラッシュメモリ１０に、所定のコマンド（ライトコマンド）を入力し、アドレス（ここでは、ＰＢ ユニット１を選択するカラムアドレス）入力をし、引き続いて、書き込みデータを入力する（ステップＳＴ１）。
次に、通常データの置換が実行される（ステップＳＴ２）。具体的には、カラム置換回路１０４の制御によりカラムコーディング回路１０３は、ＰＢ ユニット１を選択せず、代わりにＰＢ ユニット２５６を選択する。ＰＢ ユニット２５６には外部からのデータが格納される（ステップＳＴ３）。
【０１１７】
次に、ユーザが所定時間経過後に、プログラム実行コマンド（Ｐｒｏｇｒａｍ Ｅｘｅｃｕｔｕｉｏｎ Ｃｏｍｍａｎｄ）を与える（Ｉｎｖｏｋｅ）と（ステップＳＴ５）、通常モード（第２の動作モード）であれば、ステップＳＴ６に進みプログラム処理（ページバッファからビット線を介してメモリセルトランジスタへデータを与える）を実行する（ステップＳＴ６）。一方、ＥＣＣモード（第１の動作モード）であれば、ステップＳＴ５に進みＥＣＣのエンコード処理を実行する。（ステップＳＴ５）。具体的には次の処理を実行する。
【０１１８】
ここで、図８（ｃ）は、ＥＣＣ処理でのコード構成を示している。ＥＣＣとしてのＤａｔａ部は、ＰＢ ユニット０〜ＰＢ ユニット２６３に格納されたデータであり、パリティ部（ＥＣＣ Ｐａｒｉｔｙ）は、ＰＢ ユニット２６４〜ＰＢ ユニット２９９に格納されたデータからなる。なお、ＰＢ ユニット１に書き込むべきデータは、ＰＢ ユニット２５６に書き込まれて格納され、ＰＢ ユニット１以外のＰＢ ユニット０、ＰＢ ユニット２〜２５５には、それぞれに接続されるビット線を介してメモリセルトランジスタが記憶するデータが読み出されて格納されている。
ＰＢ ユニット０〜ＰＢ ユニット２６３に格納されたデータが、ＥＣＣ Ｂｕｓ＿１、ＥＣＣ Ｂｕｓ＿２、及びＥＣＣ Ｂｕｓ＿３（第１のデータバス）を介して、ＥＣＣ回路１０７に入力（Ｄａｔａ Ｌｏａｄ）される（ステップＳＴ３１）。
【０１１９】
なお、このとき、上述したように、ＥＣＣ回路１０７には、ＰＢ ユニット１からは固定データ（図４に示すＰＢ制御回路６０であればＬデータ、図５に示すＰＢ制御回路６０であればＨデータ）が入力される。また、ＥＣＣ回路１０７には、ＰＢ ユニット２５６からは、ＰＢ ユニット１に書き込むべきだったが実際はＰＢ ユニット２５６に書き込まれたデータが入力される。
ＥＣＣ回路１０７は、エンコード（Ｅｎｃｏｄｅ）処理を実行し、パリティデータを生成（Ｐａｒｉｔｙ Ｇｅｎｅｒａｔｉｏｎ）する（ステップＳＴ３２）。
【０１２０】
続いて、ＥＣＣ回路１０７は、ＰＢ ユニット０〜２９９にＥＣＣ処理後のデータを書き戻す（Ｄａｔａ Ｓｔｏｒｅ）処理を実行する（ステップＳＴ３３）。
なお、このとき、ＥＣＣコーディング回路１０８は、パリティカラム置換回路１０５の制御により、ＰＢ ユニット２６５を非選択とし、ＰＢ ユニット３００を選択する。これにより、ＰＢ ユニット２６５に書き戻すべきパリティデータがＰＢ ユニット３００に書き戻される。また、ＰＢ ユニット０〜２６３には、エンコード（Ｅｎｃｏｄｅ）時にはデータの書き戻しをしなくてもよいが、同じデータ（Ｄａｔａ）を書き戻してもよい。ＰＢ ユニット２６４〜３０７にはパリティデータが書き込まれる。このように、図８（ｂ）において斜線を施して示している不活性状態にあるページバッファには、図４または図５に示す回路により、書き込みがされないようになっている。
【０１２１】
続いて、各ＰＢユニットにおいて、図６に示すラッチ部にメモリセルに書き込むべきデータ（Ｄａｔａ＿ｉ）がラッチされたので、メモリセルトランジスタへのデータ書込み（Ｐｒｏｇｒａｍ ｔｏ Ｍｅｍｏｒｙ Ｃｅｌｌ）処理が開始される（ステップＳＴ６）。
各ＰＢ ユニットでは、書込みが成功するまで、ラッチ部からメモリセルへのデータ印加が繰り返される（ステップＳＴ７）。書き込みが成功すれば、繰り返し処理は終了し（ステップＳＴ７−Ｙｅｓ）、書き込みが成功しなければ、書込みが成功するまで、ステップＳＴ６に戻ってプログラム処理が実行される（ステップＳＴ７−Ｎｏ）。
【０１２２】
[データ読み出し動作]
ユーザがＩ／Ｏパッド１０６を介して所定のコマンド（リードコマンド）を入力し、アドレス（ここでは、ＰＢ ユニット１を選択するカラムアドレス）を入力する（ステップＳＴ１１）。
次に、各ＰＢ ユニットにおいて、図６に示すビット内部回路の接続点Ｎ１に、メモリセルトランジスタからのデータ（Ｄａｔａ＿ｉ）がセンシングされラッチ部へ読み出される（ステップＳＴ１２）。
また、ビット内部回路のラッチ部にＤａｔａ＿ｉがラッチされる（ステップＳＴ１３）。
その後、通常モード（第２の動作モード）であれば、ステップＳＴ１５に進みセンシング処理が終了する（ステップＳＴ１５）。一方、ＥＣＣモード（第１の動作モード）では、ステップＳＴ１４に進み、ＥＣＣのデコード（Ｄｅｃｏｄｅ）処理を実行する。（ステップＳＴ１４）。具体的には次の処理を実行する。
【０１２３】
ＰＢ ユニット０〜ＰＢ ユニット２９９に格納されたデータが、ＥＣＣ Ｂｕｓ＿１、ＥＣＣ Ｂｕｓ＿２、及びＥＣＣ Ｂｕｓ＿３（第１のデータバス）を介して、ＥＣＣ回路１０７に入力（Ｄａｔａ Ｌｏａｄ）される（ステップＳＴ４１）。
なお、このとき、上述したように、ＥＣＣ回路１０７には、ＰＢ ユニット１からは固定データ（図４に示すＰＢ制御回路６０であればＬデータ、図５に示すＰＢ制御回路６０であればＨデータ）が入力される。また、ＥＣＣ回路１０７には、ＰＢ ユニット２５６からは、ＰＢ ユニット１に書き込むべきだったが実際はＰＢ ユニット２５６に書き込まれたデータが入力される。また、パリティカラム置換回路１０５には、ＰＢ ユニット３００からは、ＰＢ ユニット２６５に書き込むべきだったが実際はＰＢ ユニット３００に書き込まれたパリティデータがＥＣＣ Ｂｕｓ＿１、及びＥＣＣ Ｂｕｓ＿２を介して入力され、置換処理した後、ＥＣＣ Ｂｕｓ＿３を介してＥＣＣ回路１０７に入力される。
ＥＣＣ回路１０７は、デコード（Ｄｅｃｏｄｅ）処理を実行し、パリティデータに基づいて、ＰＢ ユニット０〜ＰＢ ユニット２６３に格納されたデータの誤りを訂正して（Ｅｒｒｏｒ Ｃｏｒｒｅｃｔｉｏｎ）する（ステップＳＴ４２）。
【０１２４】
続いて、ＥＣＣ回路１０７は、ＰＢ ユニット０〜２９９にＥＣＣ処理後のデータを書き戻す（Ｄａｔａ Ｓｔｏｒｅ）処理を実行する（ステップＳＴ４３）。
ＰＢ ユニット０〜２６３には、ＥＣＣ処理後のデータ（誤り訂正されたデータ）がそのまま書き戻される。ＰＢ ユニット２６４〜３０７のパリティデータ部についてはユーザーが使用しないため、ＥＣＣ処理後のデータ（誤り訂正されたデータ）を書き戻す必要はないが、書き戻してもよい。パリティカラム置換回路１０５の制御により、ＰＢ ユニット２６５を非選択とし、ＰＢ ユニット３００を選択する。これにより、ＰＢ ユニット２６５に書き戻すべき誤り訂正後のパリティデータをＰＢ ユニット３００に書き戻す。このように、図８（ｂ）において斜線を施して示している不活性状態ページバッファには図４または図５に示す回路により、書き込みがされないようになっている。
【０１２５】
続いて、各ＰＢユニットにおいて、図６に示すラッチ部にメモリセルに書き込むべきデータ（Ｄａｔａ＿ｉ）がラッチされたので、センシング（Ｓｅｎｓｉｎｇ）処理が終了すし、読み出し可能な状態へ移行する（ステップＳＴ１５）。
ＰＢ ユニット０〜ＰＢ ユニット２５５には、選択信号Ｓｅｌ＿Ａが入力され、格納されたデータが、Ｄａｔａ Ｂｕｓ＿１、Ｄａｔａ Ｂｕｓ＿２、及びＤａｔａ Ｂｕｓ＿３を介して、読み出される。このとき、カラムコーディング回路１０３は、カラム置換回路１０４の制御により、ＰＢ ユニット１を非選択とし、ＰＢ ユニット２５６を選択する。ＰＢ ユニット２５６は、ＰＢ ユニット１に書き込むべきだったが実際はＰＢ ユニット２５６に書き込まれたデータを出力する。つまり、不良を有するカラムの置換（Ｄｅｆｅｃｔ Ｃｏｌｕｍｎ Ｒｅｐａｉｒ）が実行される（ステップＳＴ１６）。
このようにして、ユーザがＰＢ ユニット１を介してメモリセルトランジスタへ書き込んだ書き込みデータが、不良救済されて他のメモリセルトランジスタに書き込まれ、更に書き込まれたデータが誤り訂正されて、Ｉ／Ｏパッド１０６から出力される（ステップＳＴ１７）。
【０１２６】
以上説明したように、ＮＡＮＤ型フラッシュメモリ１０（半導体記憶装置）は、ＥＣＣ Ｂｕｓ＿１〜３（第１のデータバス）と、第１のデータバスと異なる本数から構成され、第１のデータバスとは独立して設けられるＤａｔａ Ｂｕｓ＿１〜３（第２のデータバス）と、ＥＣＣモード（第１の動作モード）によりメモリセルとの間でデータを転送する場合、複数のビット線のうち第１のデータバスと同じ本数のビット線と、第１のデータバスとを接続してデータを転送し、一方、通常モード（第２の動作モード）によりメモリセルとの間でデータを転送する場合、複数のビット線のうち第２のデータバスと同じ本数のビット線と、第２のデータバスとを接続してデータを転送するページバッファ１０２（データ転送部）と、を備える。
また、データ転送部は、通常メモリセルに接続されるビット線の電位を増幅し、増幅結果をラッチするページバッファ１０２ａと、ページバッファ１０２ａに接続される通常メモリセルまたはビット線に不良が有る場合に、通常メモリセル、及びビット線とともに置換されるページバッファ１０２ｂと、パリティメモリセルに接続されるビット線の電位を増幅し、増幅結果をラッチするページバッファ１０２ｃと、を含んで構成される。また、第２のデータバスは、ページバッファ１０２ａ、及びページバッファ１０２ｂと接続され、第１のデータバスは、ページバッファ１０２ａ、ページバッファ１０２ｂ、及びページバッファ１０２ｃと接続される。
【０１２７】
また、半導体記憶装置は、第１のデータバスに接続され、ページバッファ１０２ｃに接続されるパリティメモリセルまたはビット線に不良が有る場合に、パリティメモリセル、及びビット線とともに置換されるページバッファ１０２ｄと、第２のデータバスに接続されるとともに、ページバッファ１０２ａのうちメモリセルまたはビット線に不良が有るページバッファをページバッファ１０２ｂに置換するカラム置換回路１０４（第１の救済置換回路）と、第１のデータバスに接続されるとともに、ページバッファ１０２ｃのうちメモリセルまたはビット線に不良が有るページバッファをページバッファ１０２ｄに置換するパリティカラム置換回路１０５（第２の救済置換回路）と、第１のデータバスに接続されるとともに、ページバッファ１０２ｃ、及びページバッファ１０２ｄの出力データに基づき、ページバッファ１０２ａ、及びページバッファ１０２ｂの出力データの誤りを訂正するＥＣＣ回路１０７（ＥＣＣ回路）と、を備える。
【０１２８】
また、半導体記憶装置は、ページバッファ１０２ａのうちメモリセルまたはビット線に不良が有るページバッファの出力を固定されたデータとするＰＢ制御回路６０（ページバッファ制御回路）を有する。
【０１２９】
また、ページバッファ制御回路は、メモリセルまたはビット線に不良が有る場合、第１のデータバスからの書き込みを許可しない。
【０１３０】
また、第１の動作モードでは、ページバッファ１０２ａと、第２の動作モードでの救済置換を前提として存在するページバッファ１０２ｂとのうち、メモリセルまたはビット線に不良が有るページバッファについては救済置換を行わずに、ＥＣＣ回路の入力データとして取り扱う。
【０１３１】
また、ビット線を、ｎ（ｎはｐとｑの公倍数であり、ｐ、及びｑはｐ＞ｑである自然数）本のビット線とすると、第１のデータバスはｐ本であり、第２のデータバスはｑ本であって、データ転送部は、第１の動作モードでは、（ｎ／ｐ）本のアドレス信号が入力されると、ｐ本のビット線とｐ本の第１のデータバスとの接続を行い、一方、第２の動作モードでは、（ｎ／ｑ）本のアドレス信号が入力されると、ｑ本ビット線と第２のデータバスとの接続を行う。なお、上記構成は、論理的空間においての概念を前提としており、物理的ビット線数ｎがｐとｑの公倍数でなくてもよく、余りをダミービット線として処理するなどで対応できる。
【０１３２】
このように、ＮＡＮＤ型フラッシュメモリ１０によれば、ＥＣＣ回路１０７へのＥＣＣ Ｂｕｓ（第１のデータバス）のバス幅を広くしやすいことから（上記説明では、ＥＣＣ回路へのバス幅は３００ビット）、また、Ｍａｉｎ Ｄａｔａ部の置換回路（カラム置換回路１０４）がこのＥＣＣ Ｂｕｓの途中には不要となるため、ＥＣＣ処理でのデータ転送を高速化することができる。また、Ｍａｉｎ Ｄａｔａ部の置換回路は従来の様に増大しないことから、チップサイズの増大を抑制でき、従来に比べて製造の際のコストを低減できる効果がある。
なお、上記実施形態では、Ｍａｉｎ Ｄａｔａ部の置換回路と比較して、規模が小さいＰａｒｉｔｙ部に専用のＰＣＲ置換システム（パリティカラム置換回路１０５）を用いて説明したが、この構成は必須ではない。もっとも、パリティカラム置換回路１０５は、Ｐａｒｉｔｙ部の不良を救済する方法として有用である。パリティカラム置換回路１０５を用いない場合には、カラム１ビットあたり５０％（０か１か）の確率で１エラー分の訂正ができなくなってしまい、ＥＣＣ処理における訂正能力を損なってしまう。これに対して、上記説明の様に、パリティカラム置換回路１０５を用いてＰａｒｉｔｙ部の不良を救済すると、ＥＣＣ訂正能力を向上できる。
【０１３３】
ところで、上述したＮＡＮＤ型フラッシュメモリ１０の構成では、パリティ部の不良を置換するために、専用の置換ユニットであるＰＢ＿ＰＣＲ１０２ｄ（ページバッファ１０２ｄ）を準備する必要があり、チップサイズ増大による製造コストの増加、ＥＣＣシステムとしてのシステムの複雑化が懸念される。そこで、まず、ページバッファ１０２ｄの機能をＰＢ＿ＣＲ１０２ｂ（ページバッファ１０２ｂ）に集約することが考えられる。また、第１の動作モード（ＥＣＣモード）において、Ｍａｉｎ Ｄａｔａ用のカラム置換回路１０４を使用して、Ｐａｒｉｔｙ部（ページバッファ１０２ｃ）の不良ビットの救済置換を行う。これにより、ＮＡＮＤ型フラッシュメモリ１０におけるパリティカラム置換回路１０５が不要となる。
【０１３４】
図１０は、ＮＡＮＤ型フラッシュメモリ２０のブロック構成を示す図である。なお、図２０において、図１に示すＮＡＮＤ型フラッシュメモリ１０と同一の部分には同一の符号を付し、その説明を適宜省略する。ＮＡＮＤ型フラッシュメモリ２０では、図１に示すＮＡＮＤ型フラッシュメモリ１０からページバッファ１０２ｄが削減されている。ページバッファ１０２ｃを構成するページバッファユニットの１つに不良があった場合、このページバッファユニットは、ページバッファ１０２ｂを構成するページバッファユニットの１つに置換される。
また、図１に示すページバッファ１０２ｄ用の置換回路であるパリティカラム置換回路１０５を削除し、ユーザがページバッファ１０２ａにアクセスする際に使用するカラム置換回路１０４を、ページバッファ１０２ｃ用の置換回路として利用することでＰａｒｉｔｙ部の不良ビットを救済している。
【０１３５】
また、図１０では、ページバッファ１０２ａのインターフェイス（入出力部）をＤａｔａ＿Ａ１０２ａ＿Ａ、Ｄａｔａ＿Ｂ１０２ａ＿Ｂと区別して図示している。ここで、Ｄａｔａ＿Ａ１０２ａ＿Ａは、図４または図５に示すＰＢユニットのデータ書き込み信号Ｄａｔａ＿Ｉｎ＿Ａの配線（以下、Ｄａｔａ＿Ａ＿Ｉｎバスとする）、及びデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａの配線（以下、Ｄａｔａ＿Ｏｕｔ＿Ａバスとする）であり、Ｄａｔａ＿Ｂｕｓ＿１（第２のデータバス）とＰＢ ユニットのＰＢ制御回路６０とを接続する。一方、Ｄａｔａ＿Ｂ１０２ａ＿Ｂは、データ書き込み信号Ｄａｔａ＿Ｉｎ＿Ｂの配線（以下、Ｄａｔａ＿Ｉｎ＿Ｂバスとする）、及びデータ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂの配線（以下、Ｄａｔａ＿Ｏｕｔ＿Ｂバスとする）であり、ＥＣＣ＿Ｂｕｓ＿１とＰＢ ユニットのＰＢ制御回路６０とを接続する。
【０１３６】
図１０では、同様に、ページバッファ１０２ｂのインターフェイスをＤａｔａ＿Ａ１０２ｂ＿Ａ、Ｄａｔａ＿Ｂ１０２ｂ＿Ｂと区別して図示している。Ｄａｔａ＿Ａ１０２ｂ＿Ａは、ＰＢユニットのＤａｔａ＿Ａ＿Ｉｎ、及びＤａｔａ＿Ｏｕｔ＿Ａバスであり、Ｄａｔａ＿Ｂｕｓ＿１とＰＢ ユニットのＣＲ／ＰＣＲ Ｓｅｌｅｃｔｏｒ（ＣＲ／ＰＣＲセレクタ部）７５とを接続する（図１２参照）。一方、Ｄａｔａ＿Ｂ１０２ｂ＿Ｂは、Ｄａｔａ＿Ｉｎ＿Ｂバス、及びＤａｔａ＿Ｏｕｔ＿Ｂバスであり、ＥＣＣ＿Ｂｕｓ＿１とＰＢ ユニットのＣＲ／ＰＣＲセレクタ部７５とを接続する。なお、ＰＢ ユニットの構成については後述する。
【０１３７】
図１０では、同様に、ページバッファ１０２ｃのインターフェイスをＤａｔａ＿Ａ１０２ｃ＿Ａ、Ｄａｔａ＿Ｂ１０２ｃ＿Ｂと区別して図示している。Ｄａｔａ＿Ａ１０２ｃ＿Ａは、ＰＢユニットのＤａｔａ＿Ａ＿Ｉｎ、及びＤａｔａ＿Ｏｕｔ＿Ａバスであり、Ｄａｔａ＿Ｂｕｓ＿１とＰＢ ユニットのＰＢ制御回路６０とを接続する（図１１参照）。一方、Ｄａｔａ＿Ｂ１０２ｃ＿Ｂは、Ｄａｔａ＿Ｉｎ＿Ｂバス、及びＤａｔａ＿Ｏｕｔ＿Ｂバスであるが、図１１に示すＰＢ ユニットでは示されておらず、ＥＣＣ＿Ｂｕｓ＿１とＰＢ ユニットのＰＢ制御回路とを接続していない。なお、これはＰＢ ユニットの構成によるもので、接続してもよい（詳細後述）。
【０１３８】
また、図１０では、ＥＣＣ回路１０７のインターフェイス（入出力部）をメインデータの入出力部であるＤａｔａ Ｉ／Ｆ１０７ａ、Ｐａｒｉｔｙ Ｉ／Ｆ１０７ｂと区別して図示している。Ｄａｔａ Ｉ／Ｆ１０７ａは、ＥＣＣ＿Ｂｕｓ１およびＥＣＣ＿Ｂｕｓ２を経由し、ページバッファ１０２のＰＢユニット群におけるＤａｔａ＿Ｂ部（Ｄａｔａ＿Ｂ１０２ａ＿Ｂ、Ｄａｔａ＿Ｂ１０２ｂ＿Ｂ）と、ＥＣＣ処理に係るデータ（Ｍａｉｎ Ｄａｔａ）のやり取りを行う。一方、Ｐａｒｉｔｙ Ｉ／Ｆ１０７ｂは、Ｄａｔａ＿Ｂｕｓ＿１、 Ｄａｔａ＿Ｂｕｓ＿２を経由して、ページバッファ１０２のＰＢユニット群におけるＤａｔａ＿Ａ部（Ｄａｔａ＿Ａ１０２ｂ＿Ａ、Ｄａｔａ＿Ａ１０２ｃ＿Ａ）と、ＥＣＣ処理に係るデータ（Ｐａｒｉｔｙ Ｄａｔａ）のやり取りを行う。
【０１３９】
第１の動作モードにおいて、ＥＣＣ Ｄａｔａ部（ページバッファ１０２ａ、１０２ｂのＰＢ ユニット）は従来どおりのＥＣＣ Ｂｕｓを経由した動作となる。ただし、ＥＣＣ Ｐａｒｉｔｙ部（ページバッファ１０２ｃのＰＢ ユニット）については、このときＤａｔａ Ｂｕｓを経由したパリティデータのやり取りを行い、結果、図１に示すカラム置換回路１０５が不要となる構成になる。なお、上記ＥＣＣ Ｄａｔａ部、ＥＣＣ Ｐａｒｉｔｙ部とＥＣＣ回路１０７とのデータのやりとりを同時に行うことができる。
【０１４０】
ここで、ページバッファ１０２ａ〜１０２ｃにおける各ＰＢ ユニットの構成について説明する。
まず、ページバッファ１０２ａのＰＢ ユニットについては、図４または図５に示す回路構成でよい。
次に、図１１は、ページバッファ１０２ｃにおけるＰＢ ユニットの内部の回路構成を示す図である。なお、図１１において、図４、及び図５と同じ部分は同一の符号を付し、その説明を省略する。
図５に示すＰＢ ユニットの構成と相違する部分を具体的に説明する。図１１に示すＰＢ ユニットは、図５に示すＰＢ ユニットから、トランジスタ６１ｂ、トランジスタ６１ｃ、スイッチ６９、インバータ回路６７の入力をプルアップ処理するＰＭＯＳトランジスタ、アンド回路７１を削除した構成である。また、図１１に示すＰＢ ユニットでは、選択信号Ｓｅｌ＿Ｂが入力されない構成となることにより、図５に示すオア回路６６は、図１１に示すＰＢ ユニットではアンド回路６６ａとなり、アンド回路６６ａの第１入力端子は、選択信号Ｓｅｌ＿Ａの配線に接続される。
このように、ページバッファ１０２ｃのＰＢ ユニットについては、この図１１に示すように、Ｄａｔａ＿Ｉｎ＿Ｂバス、及びＤａｔａ＿Ｏｕｔ＿Ｂバスに係る部分を省略した形式をとることができる。
【０１４１】
もっとも、ＰＢ ユニットを、図４または図５に示す構成のまま、選択信号Ｓｅｌ＿ＢをＬｏｗレベルに固定（Ｌｏ Ｆｉｘ）とすることにより、Ｄａｔａ＿Ｉｎ＿Ｂバス、及びＤａｔａ＿Ｏｕｔ＿Ｂバスを使用しないようにする構成してもよい。この場合、Ｄａｔａ＿Ｂ１０２ｃは、Ｄａｔａ＿Ｉｎ＿Ｂバス、及びＤａｔａ＿Ｏｕｔ＿Ｂバスであり、ＥＣＣ＿Ｂｕｓ＿１とＰＢ ユニットのＰＢ制御回路６０とを接続するインターフェースと言える。ただし、ＥＣＣ＿Ｂｕｓ＿１とＰＢ ユニットのＰＢ制御回路６０とは実際には接続されることはない。
【０１４２】
次に、図１２は、ページバッファ１０２ｂにおけるＰＢ ユニットの内部の回路構成を示す図である。図１２において、図５と同一の部分については同一の符号を付し、その説明な詳細は省略する。図１２に示すＰＢ ユニットは、図５に示すＰＢ ユニットに対して、ＣＲ／ＰＣＲ Ｉｎｆｏ．（ＣＲ／ＰＣＲ情報格納部）７０と、ＣＲ／ＰＣＲ Ｓｅｌｅｃｔｏｒ（ＣＲ／ＰＣＲセレクタ部）７５とを追加した構成となっている。ＣＲ／ＰＣＲ情報格納部７０は、このＰＢ ユニットがＣＲ用（Ｍａｉｎの不良ビット救済用、つまりページバッファ１０２ａのＰＢ ユニット救済用）とＰＣＲ用（Ｐａｒｉｔｙの不良ビット救済用、つまりページバッファ１０２ｃのＰＢ ユニット救済用）のいずれか一方に割り当てられたかを示す情報を保持する。また、ＣＲ／ＰＣＲセレクタ部７５は、ＣＲ／ＰＣＲ情報格納部７０が保持する、ＰＢ ユニットがＣＲ用とＰＣＲ用のいずれか一方に割り当てられたかを示す情報に基づいて、Ｄａｔａ＿Ｉｎ＿Ａバス、及びＤａｔａ＿Ｉｎ＿ＢバスとＰＢ制御回路６０との接続、或いはＤａｔａ＿Ｏｕｔ＿Ａバス、及びＤａｔａ＿Ｏｕｔ＿ＢバスとＰＢ制御回路６０との接続を切り替える。
【０１４３】
まず、図１２を参照して、ＣＲ／ＰＣＲ情報格納部７０の回路構成について説明し、このＣＲ／ＰＣＲ情報格納部７０への電源投入時におけるデータラッチ処理について説明する。なお、このデータラッチ処理は一例であり、この一例では、選択信号Ｓｅｌ＿Ａに関連付けた不良情報を、ＮＡＮＤ型フラッシュメモリ２０の例えばシステム用記憶領域に記録し、これを不良情報格納部９０ａに対応するラッチ、及びＣＲ／ＰＣＲ情報格納部７０へ転送する動作を説明する。なお、不良情報格納部９０ａの回路構成については、図４、及び図５を用いて説明したので、その説明を省略する。
【０１４４】
ＣＲ／ＰＣＲ情報格納部７０は、インバータ回路１１２、インバータ回路１１３、トランジスタ１１４、トランジスタ１１５、トランジスタ１１６、及びトランジスタ１１７から構成される。ここで、トランジスタ１１４、トランジスタ１１５、トランジスタ１１６、及びトランジスタ１１７は、Ｎチャネル型ＭＯＳトランジスタである。
ＣＲ／ＰＣＲ情報格納部７０において、ラッチ部は、インバータ回路１１２とインバータ回路１１３とから構成されている。ここで、インバータ回路１１２は、出力端子が接続点Ｎ６においてインバータ回路１１３の入力端子に接続され、入力端子が接続点Ｎ５においてインバータ回路１１３の出力端子に接続されている。
この接続点Ｎ５には、ラッチ部が記憶するデータが、ＣＲ／ＰＣＲ Ｓｅｌｅｃｔｏｒ７５における接続制御を行う切替信号Ｓｅｌ＿ＣＲとして現れる。また、接続点Ｎ６は、ラッチ部が記憶するデータが、ＣＲ／ＰＣＲ Ｓｅｌｅｃｔｏｒ７５における接続制御を行う切替信号Ｓｅｌ＿ＰＣＲとして現れる。
【０１４５】
ＣＲ／ＰＣＲ情報格納部７０において、センシング部は、トランジスタ１１４、トランジスタ１１５、トランジスタ１１６、及びトランジスタ１１７から構成される。
トランジスタ１１４は、ドレインが接続点Ｎ５に接続され、ゲートが、パリティアドレス信号Ｐａｒｉｔｙ＿Ａｄｄｒ（不良該当ＡｄｄｒｅｓｓがＰａｒｉｔｙ領域内にある場合にＨレベルとなる信号）の配線に接続され、ソースがトランジスタ１１５のドレインに接続されている。
トランジスタ１１５は、ドレインがトランジスタ１１４のソースに接続され、ゲートが不良情報信号ＳＤＩの配線に接続され、ソースがトランジスタ１１７のドレインに接続されている。
トランジスタ１１６は、ドレインが接続点Ｎ６に接続され、ゲートが不良情報信号ｎＳＤＩの配線に接続され、ソースがトランジスタ１１７のドレインに接続されている。
トランジスタ１１７は、ドレインがトランジスタ１１５のソース、及びトランジスタ１１６のソースに接続され、ゲートがパワーオンリセット信号ＰＯＲ＿Ｍｏｄｅの配線に接続され、ソースが接地されている。
【０１４６】
ここで、不良情報信号ＳＤＩ、及び不良情報信号ｎＳＤＩは、ＰＢ制御回路６０に接続されるビット線、当該ビット線に接続されるメモリセルトランジスタに不良が有るか否かを示す信号である。これらの不良情報信号は、製造後のテストにおいて、ＰＢ制御回路６０に接続されるビット線等に不良が有る場合、不良情報信号ＳＤＩがデータ０（Ｌレベル）、不良情報信号ｎＳＤＩがデータ１（Ｈレベル）とされ、ＰＢ制御回路６０に接続されるビット線等に不良が有る場合、不良情報信号ＳＤＩがＨレベル、不良情報信号ｎＳＤＩがＬレベルとされる。そして、これらの不良情報信号は、テスト後の製品出荷前において、ＰＢ制御回路６０の位置を示す選択信号Ｓｅｌ＿Ａに関連付けられて、ＮＡＮＤ型フラッシュメモリ２０の例えばシステム用記憶領域に格納される。
また、パワーオンリセット信号ＰＯＲ＿Ｍｏｄｅは、ＮＡＮＤ型フラッシュメモリ２０の電源投入後の所定期間（不良情報信号をシステム用記憶領域からＰＢ制御回路６０に転送する期間）、Ｈレベルを維持する信号である。
【０１４７】
以上の構成により、不良情報格納部９０ａ、及びＣＲ／ＰＣＲ情報格納部７０は、ＮＡＮＤ型フラッシュメモリ２０の電源投入後に、ＰＢ制御回路６０に接続されるビット線等に不良が有る場合、パワーオンリセット信号ＰＯＲ＿Ｍｏｄｅ、パリティアドレス信号Ｐａｒｉｔｙ＿ＡｄｄｒがＨレベルとなることにより、トランジスタ９４がオフ、トランジスタ１１５、及びトランジスタ１１６の一方がオフ、トランジスタ９５がオン、トランジスタ１１５、及びトランジスタ１６の他方がオンする。これにより、ノードＮ３がＨレベル、ノードＮ５、及びノードＮ６の一方がＨレベル、ノードＮ４がＬレベル、ノードＮ５、及びノードＮ６の他方がＬレベルとなり、欠陥信号ＰＢ＿ＤｅｆｃｅｔがＨレベル、切替信号Ｓｅｌ＿ＣＲ、及び切替信号Ｓｅｌｅ＿ＰＣＲの一方がＨレベルとなる。そして、不良情報格納部９０ａ、及びＣＲ／ＰＣＲ情報格納部７０は、転送期間終了後、パワーオンリセット信号ＰＯＲ＿ＭｏｄｅがＬレベルとなることにより、以降のＮＡＮＤ型フラッシュメモリ２０に電源が投入されている期間、欠陥信号ＰＢ＿ＤｅｆｃｅｔをＨレベル、切替信号Ｓｅｌ＿ＣＲ、及び切替信号Ｓｅｌｅ＿ＰＣＲの一方をＨレベルに維持する。
【０１４８】
また、ＣＲ／ＰＣＲ情報格納部７０は、ＮＡＮＤ型フラッシュメモリ２０の電源投入後に、ＰＢ制御回路６０に接続されるビット線等に不良がない場合、パワーオンリセット信号ＰＯＲ＿ＭｏｄｅがＨレベルとなることにより、トランジスタ９４がオン、トランジスタ９５がオフする。これにより、ノードＮ３がＬレベル、ノードＮ４がＨレベルとなり、欠陥信号ＰＢ＿ＤｅｆｃｅｔがＬレベルとなる。そして、不良情報格納部９０ａは、転送期間終了後、パワーオンリセット信号ＰＯＲ＿ＭｏｄｅがＬレベルとなることにより、以降のＮＡＮＤ型フラッシュメモリ２０に電源が投入されている期間、欠陥信号ＰＢ＿ＤｅｆｃｅｔをＬレベルに維持する。
【０１４９】
一方、ＣＲ／ＰＣＲ情報格納部７０については、この例では電源投入後のラッチ処理における初期値の設定をノードＮ５（切替信号Ｓｅｌ＿ＣＲ）がＨレベルとなるように設定するとする。パワーオンリセット信号ＰＯＲ＿ＭｏｄｅがＨレベルとなることにより、トランジスタ１１５がオン、トランジスタ１１６がオフする。これにより、パリティアドレス信号Ｐａｒｉｔｙ＿ＡｄｄｒがＨレベル（ＰＢ ユニット（ＣＲ／ＰＣＲユニット）の置換元の不良ビットアドレスがＰａｒｉｔｙ領域であればＨレベルとなる）であれば、ノードＮ５（切替信号Ｓｅｌ＿ＣＲ）がＬレベル、ノードＮ６（切替信号Ｓｅｌ＿ＰＣＲ）がＨレベルとなる。一方、パリティアドレス信号Ｐａｒｉｔｙ＿ＡｄｄｒがＬレベル（置換元の不良ビットアドレスがＰａｒｉｔｙ領域でなければＬレベルとなる）であれば、ノードＮ５（切替信号Ｓｅｌ＿ＣＲ）がＨレベル、ノードＮ６（切替信号Ｓｅｌ＿ＰＣＲ）がＬレベルとなる。そして、不良情報格納部９０ａは、転送期間終了後、パワーオンリセット信号ＰＯＲ＿ＭｏｄｅがＬレベルとなることにより、以降のＮＡＮＤ型フラッシュメモリ１０に電源が投入されている期間、欠陥信号ＰＢ＿ＤｅｆｃｅｔをＬレベルに維持する。
【０１５０】
このように、ＣＲ／ＰＣＲ情報格納部７０は、ＰＢユニットがＣＲ用のＰＢ ユニットとして設定された場合は、切替信号Ｓｅｌ＿ＣＲがＨレベル、ＰＣＲ用のＰＢ ユニットとして設定された場合は、切替信号Ｓｅｌ＿ＰＣＲがＨレベルとなるよう動作する。
【０１５１】
また、ＣＲ／ＰＣＲセレクタ部７５は、以下の回路構成を有している。
ＣＲ／ＰＣＲセレクタ部７５は、トランジスタ１１８、トランジスタ１１９、トランジスタ１２０、及びトランジスタ１２１から構成される。これらのトランジスタは、Ｎチャネル型ＭＯＳトランジスタである。
トランジスタ１１８は、ドレインがトランジスタ６１ｃのソース、ゲートが切替信号Ｓｅｌ＿ＣＲの配線に接続され、ソースがＤａｔａ＿Ｏｕｔ＿Ｂバス（データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ｂを転送する配線）に接続される。
トランジスタ１１９は、ドレインまたはソースの一方がＤａｔａ＿Ｏｕｔ＿Ａバス（データ読み出し信号Ｄａｔａ＿Ｏｕｔ＿Ａを転送する配線）、ゲートが切替信号Ｓｅｌ＿ＰＣＲの配線に接続され、ドレインまたはソースの他方がトランジスタ１１８のドレインに接続される。
なお、Ｄａｔａ＿Ｏｕｔ＿Ａバス、Ｄａｔａ＿Ｏｕｔ＿Ｂバスには、それぞれＰｕｌｌ Ｕｐ回路が接続されている。
【０１５２】
トランジスタ１２０は、ドレインがトランジスタ６９のソース（図５ではスイッチ６９の第２入力端子）、ゲートが切替信号Ｓｅｌ＿ＣＲの配線に接続され、ソースがＤａｔａ＿Ｉｎ＿Ｂバス（データ書き込み信号Ｄａｔａ＿Ｉｎ＿Ｂを転送する配線）に接続される。
トランジスタ１２１は、ドレインまたはソースの一方がＤａｔａ＿Ｉｎ＿Ａバス（データ書き込み信号Ｄａｔａ＿Ｉｎ＿Ａを転送する配線）、ゲートが切替信号Ｓｅｌ＿ＰＣＲの配線に接続され、ドレインまたはソースの他方がトランジスタ１２０のドレインに接続される。
【０１５３】
なお、図１２において、ＣＲ／ＰＣＲ情報格納部７０とＣＲ／ＰＣＲセレクタ部７５とは、図５に示すＰＢ ユニットに追記した構成となっているが、図４に示すＰＢ ユニットに追記する構成としてもよい。また、ＣＲ／ＰＣＲ情報格納部７０とＣＲ／ＰＣＲセレクタ部７５とは、回路配置的にＰＢ ユニットに組み込まれる必要はなく、ＰＢ ユニットとは個別にする構成としてもよい。また、ＣＲ／ＰＣＲ情報格納部７０は、他の等価的な論理回路、例えばフリップフロップ等によっても構成可能である。
【０１５４】
続いて、以上のような構成を有するＰＢ ユニットの回路動作について説明する。なお、ＰＢユニットがＣＲ用のＰＢ ユニットとして設定され、ＣＲ用のＰＢ ユニットとして使用される場合は、ＮＡＮＤ型フラッシュメモリ１０と変わらないので動作説明を省略する。ここでは、ＰＢユニットがＰＣＲ用のＰＢ ユニットとして設定され、ＰＣＲ用のＰＢ ユニットとして使用される場合について説明する。
【０１５５】
ＰＣＲ用のＰＢ ユニットとして使用する場合は、上述の通り、切替信号Ｓｅｌ＿ＰＣＲがＨレベルとなるようデータがラッチされている。
この状態で第１の動作モード（選択信号Ｓｅｌ＿Ｂを用いるＥＣＣ動作モード）でＰＢ制御回路６０にアクセスした場合、データ書き込み動作のときは、データ書き込み信号Ｄａｔａ＿Ｉｎ＿Ａがトランジスタ１２１を経由してＰＢ制御回路６０に取り込まれ、データ書き込み信号Ｄａｔａ＿Ｉｎ＿Ｂは無視される。データ読み出し動作のときは、ＰＢ制御回路６０からのデータが、トランジスタ１１９を経由してＤａｔａ＿Ｏｕｔ＿Ａバスに出力され、同時にＤａｔａ＿Ｏｕｔ＿ＢバスにはＰｕｌｌ Ｕｐ回路による固定値が出力されることになる。
一方、第２の動作モード（選択信号Ｓｅｌ_Ａを用いる通常動作モード）の場合は、ＮＡＮＤ型フラッシュメモリ１０と同様に、ＰＢ制御回路６０はデータ書き込み動作のときは、Ｄａｔａ＿Ｉｎ＿Ａバスと、データ読み出し動作のときはＤａｔａ＿Ｏｕｔ＿Ａバスとデータのやりとりを行う。
【０１５６】
図１３は、ＣＲ／ＰＣＲ情報格納部７０の保持するデータにより、Ｄａｔａ Ｂｕｓ、及びＥＣＣ Ｂｕｓのいずれのバスを用いてデータのやり取りを行うかを整理した図である。上述の通り、続いて動作を説明するＮＡＮＤ型フラッシュメモリ２０では、図１２に示すページバッファ１０２ｂのＰＢ ユニットを、図１３に示すデータバスを用いてＣＲ／ＰＣＲ情報格納部７０の保持するデータにより動作させることが重要である。なお、図１２に示すＰＢ ユニットは、ＮＭＯＳのスイッチ（トランジスタ１１９、１２１）を利用して、図１３に示す動作を実現するＰＢ ユニットの例であるが、ＮＭＯＳのスイッチに変えて論理回路を実装して同等の機能を実現してもよい。
【０１５７】
続いて、ＮＡＮＤ型フラッシュメモリ２０の動作について、図面を参照して説明する。
図１４は、ＮＡＮＤ型フラッシュメモリ２０におけるページバッファ１０２を構成する各ページバッファを説明するための図である。
図１４（ａ）は、本実施形態のＮＡＮＤ型フラッシュメモリ２０の動作におけるＥＣＣコード構成とＰＢ ユニットとの関係を示している。ＰＢ ユニットは、本実施形態では合計３２０個存在し、Ａｄｄ＿Ａのアドレス空間においては１アドレスに１個のＰＢ ユニットが割り当てられ、図１４（ａ）に示すように０〜３１９のアドレスＡｄｄ＿Ａ（ＰＢ ユニットを選択する選択信号Ｓｅｌ＿Ａ；第２選択アドレス）が、それぞれＰＢ ユニット０〜ＰＢ ユニット３１９に割り当てられている。
【０１５８】
ここで、ＰＢ ユニット０〜ＰＢ ユニット２５５（ページバッファ１０２ａ）は、Ｍａｉｎ Ｄａｔａ部でユーザーが読み書きを行うことのできる領域である。また、ＰＢ ユニット２５６〜２８７はＣＲ／ＰＣＲ用のＰＢ ユニット２５５（ページバッファ１０２ｂ）であり、ページバッファ１０２ａまたはページバッファ１０２ｃにおける不良ビット線の置換先として用意されている。ＰＢ ユニット２８８〜ＰＢ ユニット３１９はＥＣＣ Ｐａｒｉｔｙの領域（ページバッファ１０２ｃ）である。ここで、ＥＣＣコードのＥＣＣ Ｄａｔａ部はＰＢ ユニット０〜ＰＢ ユニット２８７のデータとし、Ｐａｒｉｔｙ部はＰＢ ユニット２８８〜ＰＢ ユニット３１９のデータとする。
【０１５９】
また、図１４（ｂ）は、ＰＢ ユニット１およびＰＢ ユニット２８９が不良ビットを含むＰＢユニットであるとし、それぞれＣＲ／ＰＣＲ用のＰＢ ユニットのＰＢ ユニット２５６、ＰＢ ユニット２８７のＰＢユニットへと置換されるように設定した例を示している。
【０１６０】
図１５は、アドレス空間Ａｄｄ＿Ａとアドレス空間Ａｄｄ＿Ｂとの構成を示す図である。Ａｄｄ＿Ｂ空間は、ＰＢユニットを複数まとめて１つのアドレスＡｄｄ＿Ｂ（ＰＢ ユニットを選択する選択信号Ｓｅｌ＿Ｂ；第１選択アドレス）に割り当てている。例えば、Ａｄｄ＿Ｂ＿０（Ａｄｄ＿Ｂ空間の０番地）では、Ａｄｄ＿Ａ空間でいうところのＰＢ ユニット０、ＰＢ ユニット３２、ＰＢ ユニット６４、ＰＢ ユニット９６、ＰＢ ユニット１２８、ＰＢ ユニット１６０、ＰＢ ユニット１９２、ＰＢ ユニット２２４、ＰＢ ユニット２５６，及び、ＰＢ ユニット２８８の１０個のＰＢ ユニットで１アドレスが構成されている。また、例えば、Ａｄｄ＿Ｂ＿１ではＰＢ ユニット１、ＰＢ ユニット３３、ＰＢ ユニット６５、・・・といったように、同じく１０個のＰＢ ユニットで１アドレスが構成されている。これにより、ページバッファ１０２を構成するＰＢ ユニット０〜ＰＢ ユニット３１９とＥＣＣ回路（ＥＣＣ Ｅｎｇｉｎｅ）とのデータの受け渡しを、Ａｄｄ＿Ａで行うとすると単純に３２０回のアクセスを行わなければならないが、Ａｄｄ＿Ｂで行うとすると３２回のアクセスで済むことになる。
【０１６１】
なお、上述のように、Ａｄｄ＿Ａの空間を利用して、簡単のために１アドレス１ビット構成としているが、１アドレス８ビット（８ＩＯ）や１６ビット（１６ビット）などの多ビットの構成としてもよい。この場合、これはＰＢ ユニットをビット数分準備することにより構成できる。また、例示したアドレス空間は変更することができ、ＰＢ ユニットを複数配置して複数アドレスの並列動作が可能な構成なども含まれる。
【０１６２】
図１６は、ＮＡＮＤ型フラッシュメモリ２０におけるカラム置換回路１０４の構成を示す図である。
カラム置換回路１０４は、図１６（ａ）に示すアドレス比較部１０４＿１と、図１６（ｂ）に示すデータバス置換部１０４＿２とから構成される。
アドレス比較部１０４＿１は、Ａｄｄｒｅｓｓ Ｃｏｎｖｅｒｓｉｏｎ Ｃｉｒｃｕｉｔ（アドレス比較回路）１０４＿１ａ、Ａｄｄｒｅｓｓ Ｃｏｍｐａｒｉｓｏｎ Ｃｉｒｃｕｉｔ（アドレス変換回路）１０４＿１ｂ、トランスファーゲートＴＧＮ、トランスファーゲートＴＧＥから構成される。
アドレス比較回路１０４＿１ａは、入力されるアドレスＡｄｄ＿Ａと回路内部に保存されている不良ビット情報とを比較し、一致した場合、該当する置換先のＣＲ＿Ｈｉｔ信号を出力する。一方、アドレス比較回路１０４＿１ａは、一致しない場合、ヒットしないことを示す、例えばＨレベルのＮＯ＿ＣＲ＿Ｈｉｔ信号を出力する。
【０１６３】
トランスファーゲートＴＧＮは、通常動作モード（第２の動作モード）時にＨレベルとなるモード信号Ｎｏｒｍａｌ＿Ｍｏｄｅが入力されると、Ａｄｄ＿Ａ（選択信号Ｓｅｌ＿Ａ）を通過させ、アドレス比較回路１０４＿１ａにアドレスＡｄｄ＿Ａを入力する。
一方、トランスファーゲートＴＧＥは、ＥＣＣ動作モード（第１の動作モード）時にＨレベルとなるモード信号ＥＣＣ＿Ｍｏｄｅが入力されると、Ａｄｄ＿Ａ＿Ｐａｒｉｔｙを通過させ、アドレス比較回路１０４＿１ａにアドレスＡｄｄ＿Ａを入力する。
アドレス変換回路１０４＿１ｂは、Ａｄｄ＿Ｂ（選択信号Ｓｅｌ＿Ｂ）を、ＥＣＣ＿ＰａｒｉｔｙのＡｄｄ＿Ａ空間における値であるＡｄｄ＿Ａ＿Ｐａｒｉｔｙに変換して、変換後のＡｄｄ＿Ａ＿ＰａｒｉｔｙをトランスファーゲートＴＧＥに対して出力する。
【０１６４】
データバス置換部１０４＿２は、トランスファーゲートＴＧＷ＿ＮＨ、トランスファーゲートＴＧＷ＿０〜トランスファーゲートＴＧＷ＿３１、トランスファーゲートＴＧＲ＿ＮＨ、トランスファーゲートＴＧＲ＿０〜トランスファーゲートＴＧＲ＿３１から構成される。
【０１６５】
トランスファーゲートＴＧＷ＿ＮＨ、トランスファーゲートＴＧＷ＿０〜トランスファーゲートＴＧＷ＿３１は、アドレス比較回路１０４＿１ａから対応するＣＲ＿Ｈｉｔ信号が入力されると、Ｄａｔａ Ｂｕｓ＿２（Ｗｒｉｔｅ）または置換先のＤａｔａ＿Ｉｎ＿Ａ＿２５６バス〜Ｄａｔａ＿Ｉｎ＿Ａ＿２８７バスのうち、１つのデータバスと、Ｄａｔａ Ｂｕｓ＿３（Ｗｒｉｔｅ）とを接続する。ここで、Ｄａｔａ Ｂｕｓ＿２（Ｗｒｉｔｅ）、Ｄａｔａ Ｂｕｓ＿３（Ｗｒｉｔｅ）は、それぞれ図１０に示すＤａｔａ Ｂｕｓ＿２、Ｄａｔａ Ｂｕｓ＿３のデータ書き込み信号が転送される配線である。また、Ｄａｔａ＿Ｉｎ＿Ａ＿２５６バス〜Ｄａｔａ＿Ｉｎ＿Ａ＿２８７バスは、それぞれＰＢ ユニット２５６〜ＰＢ ユニット２８７のＤａｔａ＿Ｉｎ＿Ａバス（図１２参照）である。
【０１６６】
トランスファーゲートＴＧＲ＿ＮＨ、トランスファーゲートＴＧＲ＿０〜トランスファーゲートＴＧＲ＿３１は、アドレス比較回路１０４＿１ａから対応するＣＲ＿Ｈｉｔ信号が入力されると、Ｄａｔａ Ｂｕｓ＿２（Ｒｅａｄ）または置換先のＤａｔａ＿Ｏｕｔ＿Ａ＿２５６バス〜Ｄａｔａ＿Ｏｕｔ＿Ａ＿２８７バスのうち、１つのデータバスと、Ｄａｔａ Ｂｕｓ＿３（Ｒｅａｄ）とを接続する。ここで、Ｄａｔａ Ｂｕｓ＿２（Ｒｅａｄ）、Ｄａｔａ Ｂｕｓ＿３（Ｒｅａｄ）は、それぞれ図１０に示すＤａｔａ Ｂｕｓ＿２、Ｄａｔａ Ｂｕｓ＿３のデータ読み出し信号が転送される配線である。また、Ｄａｔａ＿Ｏｕｔ＿Ａ＿２５６バス〜Ｄａｔａ＿Ｏｕｔ＿Ａ＿２８７バスは、それぞれＰＢ ユニット２５６〜ＰＢ ユニット２８７のＤａｔａ＿Ｏｕｔ＿Ａバス（図１２参照）である。
【０１６７】
上述の様にＮＡＮＤ型フラッシュメモリ２０では、Ｐａｒｉｔｙ専用の冗長領域（図１に示すページバッファ１０２ｄ）を不要とし、さらにＰａｒｉｔｙ部（ページバッファ１０２ｃ）の不良ビットをＣＲ／ＰＣＲ置換用のＰＢユニット（ページバッファ１０２ｂ）と置換するパリティカラム置換回路１０５を不要とする。以下、ＮＡＮＤ型フラッシュメモリ２０のＥＣＣ動作モード（第１の動作モード）について説明する。
［エンコード動作］
なお、エンコード動作の説明では、ＮＡＮＤ型フラッシュメモリ１０の説明との重複を防ぐため、ユーザーがＩ／Ｏパッド１０６からデータ入力し、各ＰＢユニットにデータが格納された状態から、エンコードを開始するところから説明する。
エンコード動作では、ＰＢ ユニットに格納されたデータをＥＣＣ回路１０７へ転送し、Ｐａｒｉｔｙ（パリティデータ）を生成し、ＰＢ ユニットへ書き戻す動作をする。
Ａｄｄ＿Ｂ空間は、図１５に示す様になっており、１０個のＰＢユニットのデータが同時にＥＣＣ回路１０７へ転送される。ここで、ＥＣＣ Ｄａｔａ部（ページバッファ１０２ａ、及びページバッファ１０２ｂ）の９個のＰＢ ユニットについては、ＥＣＣ＿Ｂｕｓ＿１、 ＥＣＣ＿Ｂｕｓ＿２を経由し、不良ビット救済を行わない経路にて転送される。
ＥＣＣ＿Ｐａｒｉｔｙ部（ページバッファ１０２ｃ）のＰＢ ユニットは、Ｄａｔａ＿Ｂｕｓ＿１、 Ｄａｔａ＿Ｂｕｓ＿２、 Ｄａｔａ＿Ｂｕｓ＿３を経由して転送され、不良ビットは、カラム置換回路１０４において正常ビットと置換される。
【０１６８】
詳細に説明するために、図１５に示すＡｄｄ＿Ｂ＿１のデータ転送を行う場合を考える。図１５に示す、Ａｄｄ＿Ａ空間におけるＰＢ ユニット１、ＰＢ ユニット３３、ＰＢ ユニット６５、・・・、ＰＢ ユニット２２５、ＰＢ ユニット２５７に格納されたデータは、ＥＣＣ＿Ｂｕｓを経由して転送されるが、ＰＢ ユニット１は、不良ビットを含むため固定値を出力する。不良ＰＢユニット２８９はＥＣＣ＿Ｐａｒｉｔｙ部（ページバッファ１０２ｃ）であるので、ＰＢユニットのＤａｔａ＿Ａ部（インターフェース部）からＤａｔａ＿Ｂｕｓ＿１、Ｄａｔａ＿Ｂｕｓ＿２を経由し、カラム置換回路１０４に固定値を渡す。
また、ＰＢユニット２８９の置換先として割り当てられたＰＢユニット２８７は、図１２における切替信号Ｓｅｌ＿ＰＣＲがＨレベルになっているはずであり、Ｄａｔａ＿Ｏｕｔ＿ＡバスからＤａｔａ＿Ｂｕｓ＿１、Ｄａｔａ＿Ｂｕｓ＿２を経由し、カラム置換回路１０４へデータを渡す。
【０１６９】
ここで、カラム置換回路１０４にはＡｄｄ＿Ａ空間のアドレス値２８９が与えられており、またＡｄｄ＿Ａにおける２８９は不良であり、２８７と置換する設定がされていることから、ＰＢユニット２８９のデータはＰＢユニット２８７に置換されてＥＣＣ回路１０７へ転送される。なお、ここでは、まだＰａｒｉｔｙ（パリティデータ）生成前なので、この転送動作は省略することができる。
【０１７０】
そしてＡｄｄ＿Ｂ＿３１まで繰り返し動作することで、ＥＣＣへのデータ転送は完了し、Ｐａｒｉｔｙが生成される。前述のように、ＰＢユニット２８７はＥＣＣ＿Ｐａｒｉｔｙの置換先として指定されているため、Ａｄｄ＿Ｂ＿３１のときにＥＣＣ＿Ｄａｔａとして読み出されるときには、前述の図１２における切替信号Ｓｅｌ＿ＰＣＲがＨレベルで、切替信号Ｓｅｌ＿ＣＲがＬレベルであるから、Ｄａｔａ＿Ｏｕｔ＿Ｂバスには固定値が出力されるため、結果的にＥＣＣ回路１０７のＥＣＣ Ｄａｔａ部には固定値が読み出される。
【０１７１】
Ｐａｒｉｔｙ（パリティデータ）を生成した後、ＰＢユニットへ書き戻しを行う場合も、同様の経路にて行われる。なお、Ａｄｄ＿Ｂ＿１のとき、ＥＣＣ＿Ｄａｔａ部は書き戻しをしなくてもよいが、書き戻す場合、不良ビットを含むＰＢ ユニット１は書き込みが許可されない。一方、ＰＢ ユニット３３、ＰＢ ユニット６５、・・・、ＰＢ ユニット２２５、ＰＢ ユニット２５７にはＤａｔａが書き戻される。
Ｅｃｃ＿Ｐａｒｉｔｙ（パリティデータ）は、図１０に示すように、ＥＣＣ回路１０７からＤａｔａ＿Ｂｕｓ＿３へ出力される。
【０１７２】
カラム置換回路１０４においては、Ａｄｄ＿Ｂ＿１の場合、図１５に示すように、ＥＣＣ＿ＰａｒｉｔｙのＡｄｄ＿Ａ空間における値は２８９であるので、Ａｄｄ＿Ｂは１を示し、Ａｄｄ＿Ａ＿Ｐａｒｉｔｙは２８９を示すことになる。この値がＡｄｄ＿Ａとなり、アドレス比較部１０４＿１のアドレス比較回路１０４＿１ａに入力される。図１４（ｂ）に示すように、２８９は不良ビットであり２８７と置換することにしているので、アドレス比較回路１０４＿１ａにおいてアドレスと不良ビット情報との比較は一致する。この比較結果により、アドレス比較回路１０４＿１ａは、ＣＲ＿Ｈｉｔ＿３１についてはＨレベル、その他の出力はＬレベルを出力する。
【０１７３】
このＣＲ＿Ｈｉｔ＿３１は、図１６（ｂ）に示すトランスファーゲートＴＧＷ＿３１に入力され、トランスファーゲートＴＧＷ＿３１はＤａｔａ＿Ｂｕｓ＿３（Ｗｒｉｔｅ）とＤａｔａ＿Ｉｎ＿Ａ＿２８７バスとを電気的に接続する。
従って、ＥＣＣ回路１０７から出力されたＰａｒｉｔｙデータは、Ａｄｄ＿Ｂ空間からＡｄｄ＿Ａ空間へ変換されたアドレスをカラム置換回路１０４に入力することにより、置換動作が可能となる。なお、置換がない場合は、Ｎｏ＿ＣＲ＿ＨｉｔがＨレベル、その他がＬレベルとなり、Ｄａｔａ＿Ｂｕｓ＿３（Ｗｒｉｔｅ）とＤａｔａ＿Ｂｕｓ＿２とが電気的に接続され、ＥＣＣ＿Ｂｕｓ＿２からカラムコーディング回路１０３に入力される。カラムコーディング回路１０３に与えるアドレスも、カラム置換回路１０４で示されるようにＥＣＣ＿ＰａｒｉｔｙのＡｄｄ＿Ａ空間における値Ａｄｄ＿Ａが与えられるため、該当するＰａｒｉｔｙ用ＰＢユニットが選択されＰａｒｉｔｙが格納される。
【０１７４】
［デコード動作］
デコード動作では、ＰＢユニットに格納されているメモリセルアレイから読み出したデータをＥＣＣへ転送し、誤り訂正を行い、ＰＢユニットへ書き戻す動作を行う。なお、ＰＢユニットからのＥＣＣ回路１０７へのデータの転送においては、エンコード時とほぼ同じなので適宜、説明を省略する。ＥＣＣ＿Ｐａｒｉｔｙ部のＰＢ ユニットのデータは、Ｄａｔａ＿Ｂｕｓ＿１、Ｄａｔａ＿Ｂｕｓ＿２、Ｄａｔａ＿Ｂｕｓ＿３を経由して転送され、不良ビットはカラム置換回路１０４において正常ビットと置換される。エンコード時は、この動作はしなくてもよかったが、デコード時にはすべてのＰａｒｉｔｙ部を正しくＥＣＣへ転送するために必要である。
【０１７５】
詳細に説明するために、Ａｄｄ＿Ｂ＿１のデータ転送を行う場合を考える。図１６（ａ）のアドレス変換回路１０４＿１ｂに入力されるＡｄｄ＿Ｂは１で、図５に示すように変換されたＡｄｄ＿Ａ＿Ｐａｒｉｔｙは２８９となる。そして、このときはモード信号ＥＣＣ＿ＭｏｄｅはＨレベルであり、この２８９がＡｄｄ＿Ａとしてアドレス比較回路１０４＿１ａに与えられる。アドレス比較回路１０４＿１ａでは、Ａｄｄ＿Ａの２８９は不良ビットアドレスと一致するので、ＣＲ＿Ｈｉｔ＿３１をＨレベル、その他はＬレベルとして出力する。図６（ｂ）に示すバス置換部１０４＿２において、Ａｄｄ＿ＡにおけるＰＢユニット２８９のデータが置換されて、本来ＰＢユニット２８７に保存されるべきであったデータがＥＣＣ＿Ｂｕｓ＿３に出力され、そしてＥＣＣ回路１０７へ転送される。
【０１７６】
そして、図１５に示すＡｄｄ＿Ｂ＿３１まで繰り返し動作することで、ＥＣＣ回路１０７へのデータ転送は完了し、誤り訂正が行われ、ＰＢユニットへの書き戻しが行われる。このときの動作はエンコード時のＰａｒｉｔｙの書き戻しと同じなので、説明を省略する。
なお、デコード時のデータの書き戻しについては、訂正後のデータをＰＢユニットに書き戻す方式だけでなく、たとえば誤りの検出されたビットにＨレベル、誤りのなかったビットにはＬを与えるようなデータをＰＢ ユニットに送り、ＰＢ ユニットにおいて、メモリアレイから読み出したデータとこの誤り検出データの排他的論理演算をすることで、誤りの検出されたビットだけ反転させるような方式にも適用可能である。
【０１７７】
ＮＡＮＤ型フラッシュメモリ２０は、ＥＣＣ Ｂｕｓ（第１のデータバス）と、第１のデータバスと異なる本数から構成され、第１のデータバスとは独立して設けられるＤａｔａ Ｂｕｓ（第２のデータバス）と、を備える。また、ＮＡＮＤ型フラッシュメモリ２０は、第１の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち第１のデータバスと同じ本数のビット線と、第１のデータバスとを接続してデータを転送し、一方、第２の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち第２のデータバスと同じ本数のビット線と、第２のデータバスとを接続してデータを転送するページバッファ１０２（データ転送部）を備える。データ転送部は、通常メモリセルに接続される通常ビット線のデータをラッチするページバッファ１０２ａ（第１のページバッファ）と、パリティメモリセルに接続されるパリティビット線のデータをラッチするページバッファ１０２ｃ（第２のページバッファ）と、を含む。また、第１のページバッファに接続される通常メモリセル或いは通常ビット線に不良が有る場合に、通常メモリセル、及び通常ビット線とともに置換され、または、第２のページバッファに接続されるパリティメモリセル或いはパリティビット線に不良が有る場合に、パリティメモリセル、及びパリティビット線とともに置換される、ページバッファ（第３のページバッファ）を含む。第１のデータバスは、第１のページバッファ、及び第３のページバッファと接続され、第２のデータバスは、第１のページバッファ、第２のページバッファ、及び第３のページバッファと接続される。
【０１７８】
また、ページバッファ１０２ｂ（第３のページバッファ）は、第１のページバッファ、及び第２のページバッファのいずれか一方の置換先として置換されたかを示す識別データが予め書き込まれており、識別データに応じて第１のページバッファまたは第２のページバッファとしての動作を実行する。
【０１７９】
また、ＮＡＮＤ型フラッシュメモリ２０は、第１のデータバスに接続されるとともに、パリティデータ入出力部に入力される第２のページバッファの出力データに基づき、データ入出力部に入力される第１のページバッファの出力データの誤りを訂正するＥＣＣ回路１０７を備える。また、ＮＡＮＤ型フラッシュメモリ２０は、第１のデータバスに接続されるとともに、ＥＣＣモードにおいて、第２のページバッファのうちパリティメモリセルまたはパリティビット線に不良があるページバッファを第３のページバッファに置換するパリティカラム置換回路１０５と、を備える。
【０１８０】
第３のページバッファは、識別データ（切替信号Ｓｅｌ＿ＰＣＲ）が第２のページバッファの置換先として置換されたことを示す場合、第１の動作モードのデータ読み出しにおいて選択されると、ＥＣＣ回路１０７のデータ入出力部に固定データをＤａｔａ＿Ｏｕｔ＿Ｂ＿ＣＲバス（第１のデータバス）を介して出力するとともに、ＥＣＣ回路１０７のパリティデータ入出力部にパリティデータを、Ｄａｔａ＿Ｏｕｔ＿Ｂ＿ＰＣＲバス（第１のデータバス）、及びパリティカラム置換回路１０５（救済置換回路）を介して出力する。一方、第１の動作モードのデータ書き込み動作において選択されると、ＥＣＣ回路１０７のデータ入出力部からのデータ書き込み信号Ｄａｔａ＿Ｉｎ＿ＣＲ（データ）の書き込みを許可せず、ＥＣＣ回路１０７のパリティデータ入出力部からのパリティデータが入力される。
【０１８１】
ＮＡＮＤ型フラッシュメモリ２０によれば、次の効果が得られる。
（１）Ｐａｒｉｔｙ専用の置換領域ＰＣＲ（ＮＡＮＤ型フラッシュメモリ２０のページバッファ１０２ｄ）が不要となり、設計コスト、テストコスト、面積縮小によるコスト削減が可能となる。
（２）Ｐａｒｉｔｙ専用の不良置換機構（ＮＡＮＤ型フラッシュメモリ２０のパリティカラム置換回路１０５）が不要になり、設計コスト、面積縮小によるコスト削減が可能となる。
（３）上記（１）、及び（２）に記載の効果を有しつつ、ＥＣＣ＿Ｄａｔａ部とＥＣＣ＿Ｐａｒｉｔｙ部を同じ時刻に読み出しもしくは書き込みすることが可能であり、処理速度の面でも優位性を持つ。
【０１８２】
（４）また、Ａｄｄ＿Ａ空間のみ使用してＥＣＣを実行した場合、図１５に示すアドレス割付の例であれば、３２０回の読み出しと３２０回の書き込みを行う必要がある。本発明では３２回の読み出しと３２回の書き込みで処理でき、処理時間を１０分の１にできる。アドレス割付によって処理時間は変わるが、Ａｄｄ＿Ｂのバス幅を広げるような割付を選べばより短縮できる効果が得られる。
（５）ＥＣＣ用のアドレスＡｄｄ＿Ｂの割付けにおいて、ＥＣＣ＿Ｐａｒｉｔｙの部分は、カラム置換回路１０４にＡｄｄ＿Ａの割付けで与えれることができる範囲で、自由にＡｄｄ＿Ｂを設定できる。
【０１８３】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１８４】
１０，２０，８０…ＮＡＮＤ型フラッシュメモリ、１０１…メモリアレイ、１０２，１０２ａ，１０２ｂ，１０２ｃ，１０２ｄ，８２，８２ａ，８２ｂ…ページバッファ、８３，１０３，１０８…カラムコーディング回路、８４，１０４…カラム置換回路、１０５…パリティカラム置換回路、１０７…ＥＣＣ回路、１０６，１０６ｃ…Ｉ／Ｏパッド
【図１】
2015005316.tif 000003
【図２】
2015005316.tif 000004
【図３】
2015005316.tif 000005
【図４】
2015005316.tif 000006
【図５】
2015005316.tif 000007
【図６】
2015005316.tif 000008
【図７】
2015005316.tif 000009
【図８】
2015005316.tif 000010
【図９】
2015005316.tif 000011
【図１０】
2015005316.tif 000012
【図１１】
2015005316.tif 000013
【図１２】
2015005316.tif 000014
【図１３】
2015005316.tif 000015
【図１４】
2015005316.tif 000016
【図１５】
2015005316.tif 000017
【図１６】
2015005316.tif 000018
【図１７】
2015005316.tif 000019
【図１８】
2015005316.tif 000020
【図１９】
2015005316.tif 000021