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