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