(57)【要約】【課題】チップサイズの増大を抑制しつつ、動作速度を向上出来る半導体記憶装置を提供すること。【解決手段】半導体記憶装置1は、メモリセルを備えたメモリセルアレイ2と、対応するカラムが不良カラムであるか否かの情報を保持可能な第１ラッチ回路22と、ポインタがセットされ得る複数の第２ラッチ回路23と、対応する前記カラムに対する書き込みデータまたは読み出しデータを保持可能であると共に、対応する前記第１ラッチ回路が前記不良カラムでない旨の情報を保持する場合に、前記第２ラッチ回路に前記ポインタがセットされるタイミングで活性化される複数の第３ラッチ回路20とを具備し、前記ポインタは、クロックに同期して前記第２ラッチ回路23間を順次シフトされ、前記シフトの際、前記不良カラムである旨の情報を保持する前記第１ラッチ回路22に対応する前記第２ラッチ回路23はスキップされる。【選択図】図３
2011123965.tif 000002
【特許請求の範囲】
【請求項１】
ロウ及びカラムに関連付けられた、データ保持可能な複数のメモリセルを備えたメモリセルアレイと、
前記カラム毎に対応付けて設けられ、対応する前記カラムが不良カラムであるか否かの情報を保持可能な、複数の第１ラッチ回路と、
前記カラム毎に対応付けて設けられ、ポインタがセットされ得る複数の第２ラッチ回路と、
前記カラム毎に対応付けて設けられ、対応する前記カラムに対する書き込みデータまたは読み出しデータを保持可能であると共に、対応する前記第１ラッチ回路が前記不良カラムでない旨の情報を保持する場合に、前記第２ラッチ回路に前記ポインタがセットされるタイミングで活性化される複数の第３ラッチ回路と
を具備し、前記ポインタは、クロックに同期して前記第２ラッチ回路間を順次シフトされ、
前記シフトの際、前記不良カラムである旨の情報を保持する前記第１ラッチ回路に対応する前記第２ラッチ回路はスキップされる
ことを特徴とする半導体記憶装置。
【請求項２】
外部から入力され第ｉ番目（ｉは０以上の整数）のカラムを選択する第１カラムアドレスに基づいて、第ｊ番目（ｊは０以上の整数であり、ｊ≧ｉ）のカラムを選択する第２カラムアドレスを算出する制御回路を更に備え、
（ｊ−ｉ）は、０番目から前記第ｊ番目までのカラムの間にある不良カラムの数に相当し、
前記制御回路で算出された前記第２カラムアドレスに対応する前記第ｊ番目のカラムに前記ポインタがセットされる
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
外部から入力され第ｉ番目（ｉは０以上の整数）のカラムを選択する第１カラムアドレスに基づいて、０番目のカラムから、前記第ｉ番目のカラムを置き換え得る第ｊ番目（ｊは０以上の整数であり、ｊ≧ｉ）のカラムまでの間にある不良カラムの数を算出する制御回路と、
前記カラム毎に対応付けて設けられ、対応する前記カラムが前記第１カラムアドレスに相当するか否かを判断し、相当する場合に、対応する前記第２ラッチ回路に前記ポインタをセットする、複数のデコーダと
を更に備え、前記デコーダによっていずれかの前記第２ラッチ回路にセットされた前記ポインタは、前記制御回路で算出された前記不良カラムの数に相当するだけ、前記第２ラッチ回路間を順次シフトされる
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項４】
前記カラム毎に対応付けて設けられ、対応する前記第２ラッチ回路からの出力と、対応する前記第２ラッチ回路への入力とのいずれかを選択して、次段の前記第２ラッチ回路へ入力する選択回路を更に備え、
前記選択回路は、対応する前記第１ラッチ回路が前記不良カラムである旨の情報を保持する場合には前記第２ラッチ回路への入力を選択し、対応する前記第１ラッチ回路が前記不良カラムで無い旨の情報を保持する場合には前記第２ラッチ回路の出力を選択し、
前記第２ラッチ回路の各々は、前記クロックに同期して、前記選択回路からの信号を取り込む
ことを特徴とする請求項２または３記載の半導体記憶装置。
【請求項５】
ロウ及びカラムに関連付けられた、データ保持可能な複数のメモリセルを備えたメモリセルアレイと、
前記カラム毎に対応付けて設けられ、対応する前記カラムが不良カラムであるか否かの情報を保持可能な、複数の第１ラッチ回路と、
前記カラム毎に対応付けて設けられ、対応する前記カラムに対する書き込みデータまたは読み出しデータを保持可能な、複数の第２ラッチ回路と、
外部から入力され第ｉ番目（ｉは０以上の整数）のカラムを選択する第１カラムアドレスに基づいて、第ｊ番目（ｊは０以上の整数、ｊ≧ｉ）のカラムを選択する第２カラムアドレスを算出する制御回路と、
前記カラム毎に対応付けて設けられ、対応する前記カラムが前記第２カラムアドレスに相当するか否かを判断する、複数のデコーダと
を具備し、（ｊ−ｉ）は、０番目から前記第ｊ番目までのカラムの間にある不良カラムの数に相当し、
前記第２ラッチ回路は、対応する前記第１ラッチ回路が前記不良カラムでない旨の情報を保持すると共に、対応する前記カラムが前記第２カラムアドレスに相当すると前記デコーダによって判断された際に活性化される
ことを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体記憶装置に関する。例えば、不良カラムの置き換え機能を有するＮＡＮＤ型フラッシュメモリに関する。
【背景技術】
【０００２】
従来、ＮＡＮＤ型フラッシュメモリにおいては、不良となったカラムを、冗長用カラム（リダンダンシカラムと呼ぶ）に置き換える技術（リダンダンシ技術と呼ぶ）が広く用いられている。これにより、不良となったカラムを救済出来る。
【０００３】
しかしながら、データが一括して書き込まれる単位である１ページのサイズが大きくなるにつれて、リダンダンシ技術を用いる結果、データの書き込み速度が低下する、という問題があった（例えば特許文献１参照）。これは、リダンダンシカラムはページの端に設けられるのが通常であるため、データをページバッファに転送する際、データをページバッファ内で移動させる必要があること等が原因である。更に、リダンダンシカラムへの置き換えを制御する回路ブロックが大きくなり、チップサイズが増大する、という問題もあった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−１２８９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は、チップサイズの増大を抑制しつつ、動作速度を向上出来る半導体記憶装置を提供する。
【課題を解決するための手段】
【０００６】
この発明の一態様に係る半導体記憶装置は、ロウ及びカラムに関連付けられた、データ保持可能な複数のメモリセルを備えたメモリセルアレイと、前記カラム毎に対応付けて設けられ、対応する前記カラムが不良カラムであるか否かの情報を保持可能な、複数の第１ラッチ回路と、前記カラム毎に対応付けて設けられ、ポインタがセットされ得る複数の第２ラッチ回路と、前記カラム毎に対応付けて設けられ、対応する前記カラムに対する書き込みデータまたは読み出しデータを保持可能であると共に、対応する前記第１ラッチ回路が前記不良カラムでない旨の情報を保持する場合に、前記第２ラッチ回路に前記ポインタがセットされるタイミングで活性化される複数の第３ラッチ回路とを具備し、前記ポインタは、クロックに同期して前記第２ラッチ回路間を順次シフトされ、前記シフトの際、前記不良カラムである旨の情報を保持する前記第１ラッチ回路に対応する前記第２ラッチ回路はスキップされる。
【発明の効果】
【０００７】
本発明によれば、チップサイズの増大を抑制しつつ、動作速度を向上出来る半導体記憶装置を提供出来る。
【図面の簡単な説明】
【０００８】
【図１】この発明の第１実施形態に係るＮＡＮＤ型フラッシュメモリのブロック図。
【図２】第１実施形態に係るリダンダンシ回路の回路図。
【図３】第１実施形態に係るページバッファの回路図。
【図４】第１実施形態に係るＮＡＮＤ型フラッシュメモリの動作を示すフローチャート。
【図５】第１実施形態に係るリダンダンシ回路及びページバッファの回路図。
【図６】第１実施形態に係るページバッファの回路図。
【図７】第１実施形態に係るページバッファの回路図。
【図８】第１実施形態に係るページバッファの回路図。
【図９】第１の実施形態に係るカラムの模式図。
【図１０】第１の実施形態に係るリダンダンシ回路の回路図。
【図１１】書き込みデータとページバッファの模式図。
【図１２】第１実施形態に係る書き込みデータとページバッファの模式図。
【図１３】この発明の第２実施形態にＮＡＮＤ型フラッシュメモリの動作を示すフローチャート。
【図１４】第２実施形態に係るページバッファの回路図。
【図１５】第２実施形態に係るページバッファの回路図。
【図１６】この発明の第３実施形態に係るページバッファの回路図。
【図１７】第３実施形態にＮＡＮＤ型フラッシュメモリの動作を示すフローチャート。
【図１８】第３実施形態に係るページバッファの模式図。
【発明を実施するための形態】
【０００９】
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１０】
［第１の実施形態］  
この発明の第１の実施形態に係る半導体記憶装置について、ＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【００１１】
＜ＮＡＮＤ型フラッシュメモリの全体構成について＞  
図１は、本実施形態に係るＮＡＮＤ型フラッシュメモリのブロック図である。図示するようにＮＡＮＤ型フラッシュメモリ１は、メモリセルアレイ２、ロウデコーダ３、リダンダンシ回路４、ページバッファ５、及び制御回路６を備えている。
【００１２】
まずメモリセルアレイ２について説明する。図示するようにメモリセルアレイ２は、複数のＮＡＮＤセル８を備えている。ＮＡＮＤセル８の各々は、複数個（図１の例では３２個）のメモリセルトランジスタＭＴ０〜ＭＴ３１と、選択トランジスタＳＴ１、ＳＴ２とを含んでいる。以下、メモリセルトランジスタＭＴ０〜ＭＴ３１を区別しない場合には、一括してメモリセルトランジスタＭＴと呼ぶことにする。メモリセルトランジスタＭＴは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（例えば浮遊ゲート）と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲートとを有する積層ゲート構造を備えている。電荷蓄積層は絶縁物を材料に用いて形成されても良い。メモリセルトランジスタＭＴは、隣接するもの同士でソース、ドレインを共有している。そして、選択トランジスタＳＴ１、ＳＴ２間に、その電流経路が直列接続されるようにして配置されている。直列接続されたメモリセルトランジスタＭＴの一端側のドレインは選択トランジスタＳＴ１のソースに接続され、他端側のソースは選択トランジスタＳＴ２のドレインに接続されている。
【００１３】
同一行にあるメモリセルトランジスタＭＴの制御ゲートはワード線ＷＬ０〜ＷＬ３１のいずれかに共通接続され、同一行にある選択トランジスタＳＴ１、ＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＤ、ＳＧＳに共通接続されている。以下ではワード線ＷＬ０〜ＷＬ３１を単にワード線ＷＬと呼ぶことがある。更に、選択トランジスタＳＴ１のドレインはビット線ＢＬ０〜ＢＬｍ（ｍは２以上の自然数）のいずれかに接続され、選択トランジスタＳＴ２のソースはソース線ＳＬに共通接続される。ビット線ＢＬ０〜ＢＬｍについても、これらを区別しない場合には単にビット線ＢＬと呼ぶ。
【００１４】
以上の構成において、ワード線ＷＬ及びセレクトゲート線ＳＧＤ、ＳＧＳを共通にする複数のＮＡＮＤセル８によって、１つのブロックと呼ばれる単位が形成される。同一のブロック内のメモリセルトランジスタＭＴは、一括してデータが消去される。更に、同一のワード線ＷＬに接続された複数のメモリセルトランジスタＭＴには、一括してデータが書き込まれ、この単位はページと呼ばれる。図１では１つのブロックのみ図示しているが、ブロックはビット線ＢＬに沿った方向に複数設けられても良い。この場合、メモリセルアレイ２内において同一列にあるＮＡＮＤセル８は、同一のビット線ＢＬに共通接続される。
【００１５】
次にロウデコーダ３について説明する。ロウデコーダ３は、メモリセルアレイ２のロウ方向を選択する。すなわち、ワード線ＷＬを選択する。そして、選択したワード線ＷＬ及び非選択のワード線ＷＬに対して、適切な電圧を印加する。
【００１６】
ページバッファ５は、データの書き込み時には、外部の図示せぬホスト機器（例えばパーソナルコンピュータやデジタルカメラ等）から与えられる書き込みデータを一時的に保持し、これをビット線ＢＬに転送して、ページ単位で一括してデータを書き込む。またデータの読み出し時には、ページ単位でビット線ＢＬに読み出されたデータをセンス・増幅し、これを一時的に保持し、外部へ出力する。リダンダンシ回路４は、ページバッファ５を制御して、不良カラムの置き換えを行う。リダンダンシ回路４及びページバッファ５の詳細については後述する。また、「カラム」なる用語は複数のビット線ＢＬの集合であり、この点についても後に詳述する。
【００１７】
制御回路６は、ＮＡＮＤ型フラッシュメモリ１全体の動作を司る。すなわち、データの書き込み時、読み出し時、及び消去時等において、ロウデコーダ３、リダンダンシ回路４、及びページバッファ５の動作を制御する。
【００１８】
＜リダンダンシ回路４の詳細について＞  
次に、上記リダンダンシ回路４の詳細について図２を用いて説明する。図２はリダンダンシ回路４のブロック図である。
【００１９】
図示するようにリダンダンシ回路４は、（ｎ＋１）個の比較器１０−０〜１０−ｎと、（ｎ＋１）個のレジスタ１１−０〜１１−ｎと、加算器１２とを備えている。（ｎ＋１）は１以上の自然数である。
【００２０】
レジスタ１１−０〜１１−ｎは、メモリセルアレイ２における不良カラムＣＲＤのアドレスに相当する情報を保持する。より具体的には、レジスタ１１−０〜１１−ｎのそれぞれには、不良カラムＣＲＤがアドレスの小さい順に対応付けられる。レジスタ１１−ｌ（ｌは０〜ｎのいずれかを取る変数）に対応付けられた不良カラムＣＲＤを、ＣＲＤｌと呼ぶことにする。そしてレジスタ１１−ｌは、カラム（ＣＲＤｌ−ｌ）に相当するカラムアドレスを保持する。このカラムアドレスを、以下ではＡ（ＣＲＤｌ−ｌ）と呼ぶことにする。
【００２１】
比較器１０−０〜１０−ｎはそれぞれ、レジスタ１１−０〜１１−ｎに対応付けて設けられている。そして比較器１０−ｌはそれぞれ、レジスタ１１−ｌに保持されるカラムアドレスＡ（ＣＲＤｌ−ｌ）と、ホスト機器から入力され、ホスト機器によるアクセス対象カラムを指し示すカラムアドレス（これを外部カラムアドレスＡinと呼ぶ）とを比較する。そして比較結果を加算器１２へ出力する。以下では、比較器１０−０〜１０−ｎ及びレジスタ１１−０〜１１−ｎを区別しない場合には、一括して比較器１０及びレジスタ１１と呼ぶ。
【００２２】
加算器１２は、比較器１０において、カラムアドレスＡ（ＣＲＤｌ−ｌ）が外部カラムアドレスＡin以下（すなわち、Ａ（ＣＲＤｌ−ｌ）≦Ａin）であった比較器１０の数をカウントする。このカウント数をＳ１と呼ぶ。そして加算器１２は、外部カラムアドレスＡinにＳ１を加算して、その結果を内部カラムアドレスＡoとして、ページバッファ５に出力する。
【００２３】
＜ページバッファ５及びメモリセルアレイ２の詳細について＞  
次に、上記ページバッファ５及びメモリセルアレイ２の詳細について図３を用いて説明する。図３は、ページバッファ５及びメモリセルアレイ２のブロック図である。
【００２４】
まずメモリセルアレイ２について説明する。メモリセルアレイ２は、１２８本（ｍ＝１２７）のビット線ＢＬを含む。このビット線ＢＬの本数は説明を簡潔・簡略化するためのものであって、勿論、１２８本に限定されるものでは無く、実際の製品においては１２８本以上の多数であるのが通常である。そしてビット線ＢＬ０から順に、隣接する８本のビット線ＢＬが、１つのカラムという単位となる。本実施形態では１２８本のビット線ＢＬが含まれるので、１６個のカラムＣ０〜Ｃ１５が含まれる。そしてカラムＣｉ（ｉは０〜１５の整数）には、ビット線ＢＬ８ｉ〜ＢＬ（８ｉ＋７）が属することとなる。以下では、カラムＣ０〜Ｃ１５を区別しない場合には、単にカラムＣと呼ぶことにする。
【００２５】
次にページバッファ５について説明する。ページバッファ５は、カラムＣ０〜Ｃ１５にそれぞれ対応づけられた複数のラッチ回路２０−０〜２０−１５及び選択部２１−０〜２１−１５を備えている。以下において、ラッチ回路２０−０〜２０−１５及び選択部２１−０〜２１−１５を区別しない場合には、まとめてラッチ回路２０及び選択部２１と呼ぶことがある。
【００２６】
ラッチ回路２０−ｉは、カラムＣｉすなわちビット線ＢＬ８ｉ〜ＢＬ（８ｉ＋７）に対応付けられ、データを保持する機能を有する。そしてラッチ回路２０−ｉは、データの読み出し時には、ビット線ＢＬ８ｉ〜ＢＬ（８ｉ＋７）に読み出されたデータを一時的に保持する。そして、読み出されたデータをデータ線ＤＬへ出力する。他方、データの書き込み時には、データ線ＤＬから与えられる書き込みデータを一時的に保持し、これをビット線ＢＬ８ｉ〜ＢＬ（８ｉ＋７）に転送する。
【００２７】
次に選択部２１について説明する。選択部２１−ｉは、ラッチ回路２０−ｉすなわちカラムＣｉに対応付けられ、対応するラッチ回路２０−ｉを活性化させる機能を有する。ラッチ回路２０−ｉは、対応する選択部２１−ｉによって活性化されることで、データの入出力が可能となる。
【００２８】
選択部２１−０〜２１−１５はそれぞれ、ラッチ回路２２−０〜２２−１５、２３−０〜２３−１５、デコーダ２４−０〜２４−１５、及び選択回路２５−０〜２５−１５を備えている。これらについても特に区別しない場合には、ラッチ回路２２、２３、デコーダ２４、及び選択回路２５と呼ぶ。
【００２９】
ラッチ回路２２−ｉは、対応するカラムＣｉが不良であるか否かの情報を保持可能である。すなわちラッチ回路２２は、いわゆるアイソレーションラッチ（isolation latch）である。そして対応するカラムＣｉが不良であれば例えば“１”を保持し、正常であれば“０”を保持する。
【００３０】
ラッチ回路２３−ｉは、対応するラッチ回路２０−ｉが活性化されるタイミングを決定するポインタ（例えば“１”データ）を保持可能である。そしてラッチ回路２３は、クロックＣＬＫの例えば立ち上がりエッジに同期して、入力データを内部に取り込む。またラッチ回路２３は、例えば制御回路６から与えられる制御信号により、一括して初期化される。初期化されることにより全ラッチ回路２３の保持データは“０”となる。
【００３１】
デコーダ２４−ｉは、リダンダンシ回路４で生成された内部カラムアドレスＡoをデコードする。そして内部カラムアドレスＡoが、対応するカラムＣｉを指し示している場合には、ラッチ回路２３−ｉに強制的にポインタをセットする。すなわちラッチ回路２３−ｉに“１”を保持させる。
【００３２】
選択回路２５−ｉは、ラッチ回路２２−ｉの保持する情報に基づいて、ラッチ回路２３−ｉに保持されるデータと、ラッチ回路２３−ｉへの入力データ（すなわち前段の選択部２１−（ｉ−１）の出力データ）とのいずれかを選択する。より具体的には、ラッチ回路２２−ｉに“０”が保持されていれば、ラッチ回路２３−ｉの保持するデータを選択して出力する。他方、ラッチ回路２２−ｉに“１”が保持されていれば、ラッチ回路２３−ｉへの入力データを選択して出力する。
【００３３】
以上の構成において、選択回路２５−ｉの出力が次段のラッチ回路２３−（ｉ＋１）及び選択回路２５−（ｉ＋１）に与えられるようにして、選択部２１−０〜２１−１５は順次、直列接続されている。なお、初段の選択部２１−０におけるラッチ回路２３−０には“０”が入力され、最終段の選択部２１−１５における選択回路２５−１５の出力は、特にどこにも接続される必要は無いが、例えば制御回路６へ入力可能とされても良い。
【００３４】
ラッチ回路２２−ｉ、２３−ｉの保持する情報（“１”または“０”）は、ラッチ回路２０−ｉに与えられる。そして、ラッチ回路２２−ｉ、２３−ｉがそれぞれ“０”、“１”を保持している場合に、ラッチ回路２０−ｉが活性化される。活性化されたラッチ回路２０−ｉは、データの書き込み時には書き込みデータを取り込み、またデータの読み出し時には読み出しデータを出力する。ラッチ回路２２−ｉが“１”を有しているか、またはラッチ回路２３−ｉが“０”を有している場合には、ラッチ回路２０−ｉは活性化されない。
【００３５】
＜書き込み時におけるデータ転送動作について＞  
次に、データの書き込み時において、ホスト機器から入力された書き込みデータをページバッファ５内のラッチ回路２０に格納する動作（データ転送動作と呼ぶ）について、図４を用いて説明する。図４は、データ転送動作のフローチャートである。
【００３６】
まずデータ転送動作にあたって、例えばＮＡＮＤ型フラッシュメモリ１への電源投入時などに、不良カラムＣＲＤのアドレスが読み出され、アドレスの小さいものから順に、レジスタ１１−０〜１１−ｎに割り当てられる。そして各レジスタ１１−ｌには、（ＣＲＤｌ−ｌ）のカラムのカラムアドレスＡ（ＣＲＤｌ−ｌ）がセットされる。またページバッファ５においては、不良カラムに対応するラッチ回路２２に“１”がセットされる（ステップＳ１０）。これは、例えばメモリセルアレイ２から不良カラム情報を読み出すことによって行っても良いし、または予め不良カラム情報が書き込まれたヒューズ素子によってセットしても良い。その後、ホスト機器から書き込みデータ及びアドレス（ロウアドレス及び外部カラムアドレスＡin）と共に、書き込みコマンドを受信する（ステップＳ１１）。
【００３７】
書き込みコマンドを受信することで、制御回路６は書き込みシーケンスを実行し、これによりデータ転送動作が開始される。まず外部カラムアドレスＡinがリダンダンシ回路４に入力される。そしてリダンダンシ回路４の比較器１０が、外部カラムアドレスＡinと、対応するレジスタ１１内の不良カラムアドレスＡ（ＣＲＤｌ−ｌ）とを比較する（ステップＳ１２）。そして比較器１０は、比較結果を加算器１２に出力する。
【００３８】
加算器１２は、比較器１０においてＡin≧Ａ（ＣＲＤｌ−ｌ）となるカラムアドレスＡ（ＣＲＤｌ−ｌ）の数をカウントする（ステップＳ１３）。このカウント数がＳ１となる。そして加算器１２は、外部カラムアドレスＡinとＳ１とを加算して、その加算結果（Ａin＋Ｓ１）を、内部カラムアドレスＡoとしてページバッファ５へ出力する（ステップＳ１４）。
【００３９】
ステップＳ１４の後、ページバッファ５では、各選択部２１においてデコーダ２４が内部カラムアドレスＡoをデコードする（ステップＳ１５）。この時点において、ラッチ回路２３の全ては初期化されており、“０”を保持している。つまりいずれのラッチ回路２３にもポインタはセットされていない。これは、前述の通り例えば制御回路６による初期化動作によって行われる。
【００４０】
ステップＳ１５の結果、いずれかのデコーダ２４において、内部カラムアドレスＡoと、自身が対応するカラムＣとが一致する。よってそのデコーダ２４は、対応するラッチ回路２３にポインタをセットする（ステップＳ１６）。つまりラッチ回路２３に“１”をセットする。ポインタがセットされたカラムをカラムＣｊと呼ぶ（ｊ＝０〜１５）。
【００４１】
このカラムＣｊが不良でなければ、すなわち選択部２１−ｊにおけるラッチ回路２２−ｊが“０”を保持していれば（ステップＳ１７、ＮＯ）、ラッチ回路２３−ｊ＝“１”、ラッチ回路２２−ｊ＝“０”となるので、対応するラッチ回路２０−ｊが活性化される。よって、書き込みデータがラッチ回路２０−ｊに転送される（ステップＳ１８）。
【００４２】
そしてカラムＣｊが最終カラムであれば、すなわちｊ＝１５であれば（ステップＳ１９、ＹＥＳ）、以降、いずれのラッチ回路２３にもポインタはセットされないので、データの転送動作は完了する。一例としては、最終段の選択回路２５−１５から出力されるポインタ（“１”）を受信することで、転送動作の完了を制御部６が認識できる。勿論、転送動作の完了はその他の方法によって決定されても良い。最終カラムで無ければ（ステップＳ１９、ＮＯ）、クロックＣＬＫに同期して（ステップＳ２０、ＹＥＳ）、ｊ＝ｊ＋１としてステップＳ１６に戻る。すなわち、次のカラムＣｊにつきポインタがセットされる（ステップＳ１６）。
【００４３】
ステップＳ１６においてカラムＣｊが不良であった場合、すなわち選択部２１−ｊにおけるラッチ回路２２−ｊが“１”を保持していれば（ステップＳ１７、ＹＥＳ）、対応するラッチ回路２０−ｊは活性化されず、書き込みデータは転送されない。そしてカラムＣｊが最終カラムであれば（ステップＳ２２、ＹＥＳ）、データの転送動作は完了する。他方、最終カラムでなければ（ステップＳ２２、ＮＯ）、ｊ＝ｊ＋１としてステップＳ１６に戻る。つまりこの場合、カラムＣ（ｊ−１）から転送されたポインタは、選択回路２５−ｊによって、ラッチ回路２３−ｊをスキップするパスを介してラッチ回路２３−（ｊ＋１）に転送される。
【００４４】
以上のようにして、最終カラムＣ１５に対応するラッチ回路２０−１５までのデータの転送動作が完了すると、このデータがビット線ＢＬ０〜ＢＬ１２７に転送されて、メモリセルトランジスタＭＴにデータが書き込まれる。
【００４５】
なお、ステップＳ１９、Ｓ２２では、必ずしも最終カラムであるか、という判断だけで無く、ラッチ回路２０へ未転送の書き込みデータが残っているか、という判断を行っても良い。すなわち、未転送の書き込みデータが無くなった時点で、データの転送動作を完了させても良い。
【００４６】
＜データ転送動作の具体例＞  
次に、以上のデータ転送動作の具体例について説明する。
【００４７】
＜第１の例＞  
まず第１の例として、説明の簡単化のためにカラムがカラムＣ０〜Ｃ３の４個であり、そのうちのカラムＣ２が不良であり、外部カラムアドレスＡinがカラムＣ０に相当する場合を例に説明する。
【００４８】
まず、図４におけるステップＳ１０〜Ｓ１４の処理が実行される。本動作につき図５を用いて説明する。図５は、リダンダンシ回路４及びページバッファ５のブロック図である。
【００４９】
不良カラムはカラムＣ２であり、これはリダンダンシ回路４のレジスタ１１−０に対応付けられる。つまりＣＲＤ０＝Ｃ２である。従ってレジスタ１１−０は、カラム（Ｃ２−０）＝Ｃ２に相当するカラムアドレスＡ（Ｃ２−０）を保持する。当然ながら、このカラムアドレスはカラムＣ２のアドレスに等しい。更に、ページバッファ５のラッチ回路２２−０、２２−１、２２−３には“０”が格納され、不良カラムＣ２に対応するラッチ回路２２−２に“１”が格納される（ステップＳ１０）。ラッチ回路２３の全ては“０”を保持する状態に初期化されている。
【００５０】
その後、書き込みコマンドを受信する（ステップＳ１１）。ホスト機器から与えられた外部カラムアドレスＡinは、カラムＣ０に相当するアドレスである。リダンダンシ回路４の比較器１０−０は、レジスタ１１内の不良カラムＣ２に相当するカラムアドレスと外部カラムアドレスＡinとを比較する（ステップＳ１２）。すると、Ｃ０＜Ｃ２であるから、加算器１２におけるカウント数Ｓ１は“０”である（ステップＳ１３）。従って加算器１２は、内部カラムアドレスＡoとしてカラムＣ０に相当するアドレスを生成し、これをページバッファ５へ出力する（ステップＳ１４）。
【００５１】
引き続き、その後のページバッファ５の動作について図６乃至図８を用いて説明する。図６乃至図８はページバッファ５のブロック図であり、クロックＣＬＫの入力と共に変化するページバッファ５の動作を示している。なお図６乃至図８では、理解の助けのために、主たる動作に関与しないブロックの図示を省略すると共に、特に着目すべきブロック及び信号パスを太字で示している。また図中のバツ印は、不良が存在することを意味する。
【００５２】
ステップＳ１４の後、デコーダ２４−０〜２４−３が内部カラムアドレスＡoをデコードする（ステップＳ１５）。すると、内部カラムアドレスＡoはカラムＣ０を指し示しているので、図６に示すようにデコーダ２４−０はラッチ回路２３−０にポインタをセットする（ステップＳ１６、ｊ＝０）。すると、選択部２１−０ではラッチ回路２２−０＝“０”（ステップＳ１７、ＮＯ）、ラッチ回路２３−０＝“１”であるので、ラッチ回路２０−０が活性化される。よってラッチ回路２０−０に書き込みデータが転送される（ステップＳ１８）。
【００５３】
次にクロックＣＬＫが入力されると（ステップＳ２０、ＹＥＳ）、図７に示すように、選択回路２５−０によって選択されたラッチ回路２３−０のポインタが、ラッチ回路２３−１に取り込まれる（ステップＳ２１、Ｓ１６）。またラッチ回路２２−１は“０”を保持しているので（ステップＳ１７、ＮＯ）、ラッチ回路２０−１が活性化される。よってラッチ回路２０−１に書き込みデータが転送される（ステップＳ１８）。この際、初段のラッチ回路２３−０には、例えば制御回路６から“０”が入力されている。ラッチ回路２３−０は、クロックＣＬＫの入力と共にこの“０”を取り込むため、それまでラッチ回路２３−０にセットされていたポインタはクリアされる。つまりラッチ回路２０−０は非活性化される。
【００５４】
次にクロックＣＬＫが入力されると（ステップＳ２０、ＹＥＳ）、図８に示すように、選択回路２５−１によって選択されたラッチ回路２３−１のポインタが、ラッチ回路２３−２に取り込まれる（ステップＳ２１、Ｓ１６）。しかし、ラッチ回路２２−２は“１”を保持しているので（ステップＳ１７、ＹＥＳ）、選択回路２５−２はラッチ回路２３−２をバイパスして選択回路２５−１の出力（“１”）をラッチ回路２３−３に転送する（ステップＳ２３）。そしてラッチ回路２３−３にもポインタがセットされる（ステップＳ１６）。
【００５５】
すると、選択部２１−２ではラッチ回路２２−２、２３−２が共に“１”を保持しているので、ラッチ回路２０−２は活性化されない。他方、選択部２１−３ではラッチ回路２２−３＝“０”、ラッチ回路２３−３＝“１”となるので、ラッチ回路２０−３は活性化される。よって、ラッチ回路２０−３に書き込みデータが転送される（ステップＳ１８）。
【００５６】
なお図８の時点では、ラッチ回路２３−０内の“０”がラッチ回路２３−１に取り込まれる。従って、ラッチ回路２０−０、２０−１も非活性化される。以上のようにして、データの転送動作が完了する（ステップＳ１９、ＹＥＳ）。
【００５７】
また、上記の例では外部カラムアドレスＡinがカラムＣ０に相当する場合を例に説明したが、Ｃ１〜Ｃ３に相当する場合も同様の動作を行う。例えば外部カラムアドレスＡinがカラムＣ２に相当したとすると、Ｓ１＝１となり、内部カラムアドレスＡoが指し示すカラムはＣ２＋１＝Ｃ３となる。よって図６においてはラッチ回路２３−３にポインタがセットされる。
【００５８】
＜第２の例＞  
次に別の例を用いて、特にリダンダンシ回路４の動作について説明する。図９はメモリセルアレイ２に含まれるカラムの模式図である。図示するように、説明の簡単化のために、カラムがカラムＣ０〜Ｃ１１の１２個であり、そのうちのカラムＣ３、Ｃ５、Ｃ６、Ｃ８が不良であったとする。また、外部カラムアドレスＡinとして、カラムＣ７に相当するアドレスが入力されたと仮定する。
【００５９】
この場合のリダンダンシ回路４のブロック図を図１０に示す。図示するように、レジスタ１１−０〜１１−１１のうち、レジスタ１１−０〜１１−３が、それぞれカラムＣ３、Ｃ５、Ｃ６、Ｃ８に対応付けられる。そしてレジスタ１１−０は（Ｃ３−０）＝Ｃ３に相当するカラムアドレスを保持し、レジスタ１１−１は（Ｃ５−１）＝Ｃ４に相当するカラムアドレスを保持し、レジスタ１１−２は（Ｃ６−２）＝Ｃ４に相当するカラムアドレスを保持し、レジスタ１１−３は（Ｃ８−３）＝Ｃ５に相当するカラムアドレスを保持する。
【００６０】
すると、外部カラムアドレスＡinに相当するカラムはカラムＣ７であるので、比較器１０−０〜１０−３の全てにおいて、Ａ（ＣＲＤｌ−ｌ）≦Ａinが成立する。そのため、加算器１２ではＳ１＝４となり、内部カラムアドレスＡoは、（Ｃ７＋４）＝Ｃ１１に相当するアドレスとなる。その結果、カラムＣ１１に対応するラッチ回路２３にポインタがセットされる。
【００６１】
＜効果＞  
以上のように、この発明の第１の実施形態に係る半導体記憶装置であると、チップサイズの増大を抑制しつつ、動作速度を向上出来る。本効果につき、以下説明する。
【００６２】
従来のカラムリダンダンシ方式の多くは、ページバッファに通常のカラム領域とリダンダンシカラム領域とを設けた構成を用いている。そして、内部カラムアドレスによって通常のカラム領域にアクセスする。もし、リダンダンシ回路に格納された不良カラムアドレスと内部カラムアドレスとが等しくなった場合には、リダンダンシカラム領域にアクセスするための内部信号を生成し、これによりリダンダンシカラム領域にアクセスする。しかしながら、このような構成であると、内部アドレス信号の配線長が長くなること、カラムを順番にアクセスしていく際にはその度に内部アドレス信号を変える必要があること、また通常のカラム領域とリダンダンシカラム領域とは距離的に離れていることが多いので、内部アドレス信号の配線差が生じること、等の原因により、データ入出力の動作速度が低下する、という問題があった。
【００６３】
そこで、データの入出力速度を向上させるために、カラム毎にポインタを設け、ポインタをシフトさせる構成が考え得る。本構成であると、まず通常のカラム領域にデータを格納する。その後、不良カラムに相当するデータを、通常のカラム領域からリダンダンシカラム領域に順次転送する。しかしながら本構成では、通常のカラム領域に不具合があった場合には、リダンダンシカラム領域へのデータの転送が出来なくなり、チップ不良になる、という問題があった。
【００６４】
そのため、リダンダンシ回路内にデータラッチを設け、書き込みデータを一時的にこのデータラッチに保持させる構成が考え得る。本構成では、あるカラムにアクセスする際、このカラムが正常なカラムであれば、ページバッファの通常のカラム領域にデータを格納する。しかし、不良カラムであれば、まずリダンダンシ回路内のデータラッチに格納する。その後、改めてリダンダンシ回路において不良カラム情報を読み出し、リダンダンシ回路内のデータラッチに保持させたデータを、ページバッファのリダンダンシカラム領域に順次転送する。本構成であると、不良カラムに対応するデータはリダンダンシ回路のデータラッチに格納されているので、ページバッファにおける通常のカラム領域に不具合があったとしても、チップ不良となることはない。しかし、リダンダンシ回路の回路規模が大幅に増大する、という問題があった。
【００６５】
上記いずれの場合であっても、ページバッファが通常のカラム領域とリダンダンシカラム領域とに明確に分かれている。上記の場合の書き込みデータのページバッファへの転送の様子を図１１に示す。図１１は、書き込みデータとページバッファの模式図であり、カラムＣ３、Ｃ８が不良であったと仮定する。
【００６６】
例えばデータＤ０〜Ｄ１５が、それぞれカラムＣ０〜Ｃ１５に書き込まれる場合を想定する。すると、データＤ０〜Ｄ２、Ｄ４〜Ｄ７、Ｄ９〜Ｄ１５は、ページバッファにおいてそれぞれカラムＣ０〜Ｃ２、Ｃ４〜Ｃ７、Ｃ９〜Ｃ１５に相当するラッチにセットされる。そしてデータＤ３、Ｄ９が、上記説明した何らかの方法によって、リダンダンシカラムＣＲ０、ＣＲ１に相当するラッチにセットされる。このような方法であると、上記いずれの方法であっても、リダンダンシカラム領域にデータを転送するために時間がかかり、またこの時間をいくらかでも短縮しようとすれば、チップ面積が増大する。
【００６７】
しかしながら本実施形態に係る構成であると、上記問題点を解決し、チップ面積の増大を抑制しつつ、データ転送速度を向上出来る。  
本実施形態では、まずカラム毎にラッチ回路２２を設け、対応するカラムが不良であるか否かの情報を持たせている。そして、不良である旨の情報をラッチ回路２２が保持する場合、対応するラッチ回路２０へのアクセスを強制的に禁止する。また、カラム毎にラッチ回路２３を設け、ラッチ回路２３にポインタを保持させる。そして、クロックと共にポインタをシフトさせ、このシフトの際、不良カラムに対応するラッチ回路２３をスキップさせる。
【００６８】
以上の構成において、ホスト機器から外部カラムアドレスＡinを受信した際、外部カラムアドレスＡin以下のカラムアドレスに不良があるか否かを検出する。この不良数Ｓ１は、以下の（１）式によって求められる。
【数１】
2011123965.tif 000003
【００６９】
但し、Ｎはリダンダンシカラムの数（すなわち図２におけるレジスタ１１の数）である。またＣＲＤｌは不良カラムであり、Ａ（ＣＲＤ０−０）、Ａ（ＣＲＤ１−１）、Ａ（ＣＲＤ２−２）、…が、それぞれレジスタ１１−０、１１−１、１１−２、…に格納されているカラムアドレスとなる。前述の通りＣＲＤ０、ＣＲＤ１、ＣＲＤ２、…は、不良カラムＣＲＤにつき、アドレスの小さいものから順にサフィックスを付与したものである。つまり不良カラムＣＲＤのアドレスの小さいものから順に、Ａ（ＣＲＤ０−０）、Ａ（ＣＲＤ１−１）、Ａ（ＣＲＤ２−２）、…がレジスタ１１−０、１１−１、１１−２、…に格納される。
【００７０】
そして、内部カラムアドレスＡoを（Ａin＋Ｓ１）によって算出し、内部カラムアドレスＡoに対応するラッチ回路２３にポインタをセットする。つまり、Ａo＝Ａin＋Ｓ１が、アクセスすべき先頭のカラムアドレスとなる。その後は、不良カラムに対応するラッチ回路２３をスキップさせつつ、クロックと共にポインタをシフトさせる。
【００７１】
このような構成によれば、ページバッファ５のラッチ回路２０にアクセスする度にカラムリダンダンシ回路から不良カラム情報を読み出すことを必要とせずに、正常なカラムに対応するラッチ回路２０のみを順次活性化出来る。
【００７２】
本方法によるラッチ回路２０の活性化の様子を、図１１の場合と比較して図１２に示す。図１２は書き込みデータとページバッファの模式図であり、図１１と同様にカラムＣ３、Ｃ８が不良であったと仮定する。
【００７３】
図示するように、書き込みデータがセットされるカラムは、ポインタのシフトの過程で不良カラムが存在する度に、１つずつづれてていく。つまり、カラムＣ３が不良であるので、データＤ３〜Ｄ６はカラムＣ４〜Ｃ７にセットされる。またカラムＣ８が不良であるので、データＤ７〜Ｄ１５はカラムＣ９〜Ｃ１７にセットされる。つまり、カラムＣ１６〜Ｃ１９は、不良カラムに対応するデータを格納するためにのみ使用されるものではなく、不良があった場合に足りなくなるカラムを補うためのもの、ということが出来る。
【００７４】
つまり、図１１のようなリダンダンシカラム領域を持たず、そして常に正常なカラムに対してのみアクセスできる。従って、ラッチ回路２０を活性化させるための配線の配線長が大きくなることや、また配線長の差が配線間で大きくなることも抑制される。更に、データを一時的にいずれかのラッチに格納し、その後データを移動させる、という必要も無い。従って、データ入出力の速度を向上出来る。更に、不良カラムに相当するラッチ回路２０にはデータは格納されないため、いずれかのラッチ回路２０に不具合が生じても、チップ不良となることは無い。
【００７５】
また以上の構成は、上記（１）式を計算するための比較器１０と、比較結果を加算する加算器１２、及び１ビットの情報を保持可能なラッチ回路２２、２３によって実現できる。従って、回路規模の増加を抑制しつつ、上記効果が得られる。
【００７６】
［第２の実施形態］  
次に、この発明の第２の実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第１の実施形態において、外部カラムアドレスＡinに基づいてラッチ回路２３にポインタをセットさせた後、このポインタをシフトさせることで、アクセスすべき先頭カラムを探索するものである。以下では、第１の実施形態と異なる点についてのみ説明する。
【００７７】
＜ＮＡＮＤ型フラッシュメモリ１の構成について＞  
本実施形態に係るＮＡＮＤ型フラッシュメモリ１は、上記第１の実施形態で説明した構成において、以下の変更を行ったものである。
【００７８】
・リダンダンシ回路４の加算器１２は、内部カラムアドレスＡoを算出することなく、カウント数Ｓ１を計数した後、これを制御部６に返す。  
・デコーダ２４は、内部カラムアドレスＡoでは無く外部カラムアドレスＡinをデコードし、そのデコード結果に基づいてラッチ回路２３にポインタをセットする。  
・制御部６は、カウント数Ｓ１だけポインタをシフトさせる。このシフト動作においては、選択回路２１は常時ラッチ回路２３の出力を選択する。つまりラッチ回路２３のスキップは行われない。
【００７９】
＜書き込み時におけるデータ転送動作について＞  
次に、本実施形態に係るデータ転送動作について、図１３を用いて説明する。図１３は、データ転送動作のフローチャートである。本実施形態に係るデータ転送動作は、アクセスすべき先頭のカラムの決定方法においてのみ、第１の実施形態と異なる。従って、この点に着目して以下説明する。
【００８０】
まず第１の実施形態において図４を用いて説明したステップＳ１０〜Ｓ１３の動作が実行される。ステップＳ１３の後、加算器１２は内部カラムアドレスＡoを算出することなく、カウント数Ｓ１を制御部６へ出力する（ステップＳ３０）。
【００８１】
またページバッファ５においては、デコーダ２４が外部カラムアドレスＡinをデコードする。その結果、いずれかのデコーダ２４において、外部カラムアドレスＡinと、自身が対応するカラムＣとが一致するので、そのデコーダ２４は、対応するラッチ回路２３にポインタをセットする（ステップＳ３２）。つまりラッチ回路２３に“１”をセットする。ポインタがセットされたカラムをカラムＣｋと呼ぶ（ｋ＝０〜１５）。ステップＳ３１、Ｓ３２は、ステップＳ１２〜Ｓ３０の前に行われても良いし、同時に行われても良い。
【００８２】
その後、制御部６はＳ１回だけポインタをシフトさせる（ステップＳ３３）。つまり制御部６は、ページバッファ５に対してＳ１回だけクロックＣＬＫを入力する。その結果、カラムＣｊにポインタがセットされる（ステップＳ１６）。当然ながらこの場合、ｊ＝ｋ＋Ｓ１である。これによって、アクセスすべき先頭カラムが決定される。
【００８３】
その後は、第１の実施形態で説明したステップＳ１７以降の動作が実行される。ステップＳ２１、Ｓ２３の次にはステップＳ１６が実行される。なお、以上のステップＳ３３においては、選択回路２５はラッチ回路２２内のデータに関わらず、ラッチ回路２３の出力を選択する。
【００８４】
＜データ転送動作の具体例＞  
次に、以上のデータ転送動作の具体例につき、特に先頭カラムの決定方法に着目して、図１４及び図１５を用いて説明する。図１４及び図１５はページバッファ５のブロック図である。以下では説明の簡単化のために、図６乃至図８と同様、カラムがカラムＣ０〜Ｃ３の４個であり、そのうちのカラムＣ２が不良であったと仮定する。また、外部カラムアドレスＡinが不良カラムＣ２に相当する場合を仮定する。
【００８５】
ステップＳ１１の後、デコーダ２４−０〜２４−３が外部カラムアドレスＡinをデコードする（ステップＳ３１）。外部カラムアドレスＡinはカラムＣ２を指し示しているので、図１４に示すようにデコーダ２４−２は、ラッチ回路２３−２にポインタをセットする（ステップＳ３２、ｋ＝２）。
【００８６】
引き続き制御部６は、ページバッファ５に対してＳ１回だけクロックを入力する（ステップＳ３３）。本例の場合、外部カラムアドレスＡin＝不良カラムＣ２であり、またカラムＣ０、Ｃ１は正常であるのでＳ１＝１である。従って制御部６は１回だけクロックを入力する。その結果、図１５に示すように、ラッチ回路２３−３にポインタ（“１”）がセットされ、ラッチ回路２３−２には“０”がセットされる。
【００８７】
以降の動作は第１の実施形態で説明した図７、図８と同様である。
【００８８】
＜効果＞  
本実施形態に係る構成であっても、第１の実施形態と同様の効果が得られる。また本構成によれば、加算器における内部カラムアドレスＡoの算出が不要となるので、リダンダンシ回路４の構成をより簡略化できる。
【００８９】
［第３の実施形態］  
次に、この発明の第３の実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第１の実施形態において、ポインタを排して、ラッチ回路２０にアクセスする度に内部カラムアドレスＡoを生成するものである。以下では、第１の実施形態と異なる点についてのみ説明する。
【００９０】
＜ＮＡＮＤ型フラッシュメモリ１の構成について＞  
本実施形態に係るＮＡＮＤ型フラッシュメモリ１においてリダンダンシ回路４は、第１の実施形態と同様に、（１）式により不良数を計算し、また（Ａin＋Ｓ１）によって内部カラムアドレスＡoを算出する。これがアクセスすべき先頭カラムとなる。更にリダンダンシ回路４は、例えばクロックＣＬＫに同期して、内部カラムアドレスＡoを算出し直し、これをページバッファ５へ出力する。この内部カラムアドレスＡoは、正常なカラムに対して順番にアクセスされるように、生成される。この生成方法については後述する。
【００９１】
本実施形態に係るページバッファ５は、図１６に示す構成を有している。図１６は本実施形態に係るページバッファ５のブロック図である。図示するようにページバッファ５は、第１の実施形態で説明した図３の構成において、選択部２１のラッチ回路２３及び選択回路２５を排した構成を有している。そしてデコーダ２４は内部カラムアドレスＡoをデコードし、そのデコード結果とラッチ回路２２内のデータに基づいて、ラッチ回路２０が活性化される。より具体的には、ラッチ回路２２に“０”が保持され、且つデコードの結果、内部カラムアドレスＡoが自身の対応するカラムを指し示していた場合に、ラッチ回路２０は活性化される。
【００９２】
＜書き込み時におけるデータ転送動作について＞  
次に、本実施形態に係るデータ転送動作について、図１７を用いて説明する。図１７は、データ転送動作のフローチャートである。
【００９３】
図示するように、第１の実施形態において図４を用いて説明したステップＳ１５までの処理が実行される。ステップＳ１５の結果、内部カラムアドレスＡoに対応するカラムＣｊにおいて、ラッチ回路２０−ｊが活性化されて、書き込みデータがラッチ回路２０−ｊに転送される（ステップＳ４０）。そしてカラムＣｊが最終カラムＣ１５であれば（ステップＳ４１、ＹＥＳ）、データの転送動作は完了する。
【００９４】
カラムＣｊが最終カラムＣ１５でなければ（ステップＳ４１、ＮＯ）、リダンダンシ回路４において、次の内部カラムアドレスＡoが算出される。すなわち、加算器１２は現在の外部カラムアドレスＡinに“１”を加えてこれを外部カラムアドレスＡinとして（ステップＳ４２）、ステップＳ１２に戻って内部カラムアドレスＡoを算出する。この「“１”を加える」ということの意味は、対象となるカラムＣを“１”だけずらす、という意味である。
【００９５】
＜効果＞  
本実施形態に係る構成であっても、チップ面積の増大を抑制しつつ、データ転送速度を向上出来る。つまり、第１の実施形態で説明したような内部カラムアドレスの算出方法は、ポインタを有しないカラムリダンダンシ方式においても有効である。
【００９６】
すなわち本実施形態では、アクセスしようとするカラムアドレスを、レジスタ１１内の不良カラムアドレスと常に比較している。そして正常なカラムのアドレスを順次発行する。
【００９７】
この様子を図１８に示す。図１８はページバッファ５の模式図であり、カラムＣ３、Ｃ６、Ｃ１１、Ｃ１３に不良がある場合について示している。この場合には、レジスタ１１−０にはカラムＣ３（Ｃ３−０）のカラムアドレスが保持され、レジスタ１１−１にはカラムＣ６（＝Ｃ６−１）のカラムアドレスが保持され、レジスタ１１−２にはカラムＣ９（＝Ｃ１１−２）のカラムアドレスが保持され、レジスタ１１−３にはカラムＣ１０（＝Ｃ１３−３）のカラムアドレスが保持される。
【００９８】
例えば外部カラムアドレスＡinがカラムＣ７に相当すると仮定する。すると、Ｓ１＝２であるから、アクセスすべきカラム（内部カラムアドレスＡoに相当するカラム）は、Ｃ７＋２＝Ｃ９となる。その後は、アクセス対象となるカラムが順次シフトされていく。
【００９９】
すなわち、まずＡin＝Ｃ７＋１＝Ｃ８とされる。するとＳ１＝２であるから、アクセスすべきカラムはＣ８＋２＝Ｃ１０となる。引き続きＡin＝Ｃ８＋１＝Ｃ９とされる。するとＳ１＝３であるから、アクセスすべきカラムはＣ９＋３＝Ｃ１２となる。引き続きＡin＝Ｃ９＋１＝Ｃ１０とされる。するとＳ１＝４であるから、アクセスすべきカラムはＣ１０＋４＝Ｃ１４となる。以下同様である。このようにして、正常なカラムに対してのみ、順次アクセスが実行される。
【０１００】
このような構成によれば、ページバッファ５へのアクセス順序は第１の実施形態で説明した図１２のようになり、内部カラムアドレス信号Ａoについての考慮すべき配線差は、非常に小さくなる。また、ポインタを用いる必要が無いため、第１、第２の実施形態よりも更に回路規模を縮小できる。
【０１０１】
以上のように、この発明の第１、第２の実施形態に係る半導体記憶装置１によれば、ロウ及びカラムＣ０〜Ｃ１５に関連付けられた、データ保持可能な複数のメモリセルを備えたメモリセルアレイ２と、カラムＣ毎に対応付けて設けられ、対応するカラムＣが不良カラムであるか否かの情報を保持可能な、複数の第１ラッチ回路２２と、カラムＣ毎に対応付けて設けられ、ポインタがセットされ得る複数の第２ラッチ回路２３と、カラムＣ毎に対応付けて設けられ、対応するカラムＣに対する書き込みデータまたは読み出しデータを保持可能であると共に、対応する第１ラッチ回路２２が不良カラムでない旨の情報を保持する場合に、第２ラッチ回路２３にポインタがセットされるタイミングで活性化される複数の第３ラッチ回路２０とを備える。そしてポインタは、クロックに同期して第２ラッチ回路２３間を順次シフトされ、シフトの際、不良カラムである旨の情報を保持する第１ラッチ回路２２に対応する第２ラッチ回路２３はスキップされる。
【０１０２】
そして第１の実施形態では、外部から入力され第ｉ番目（ｉは０以上の整数）のカラムを選択する第１カラムアドレスＡinに基づいて、第ｊ番目（ｊは０以上の整数であり、ｊ≧ｉ）のカラムを選択する第２カラムアドレスＡoを算出する制御回路（リダンダンシ回路４）を更に備える。ここで、Ｓ１＝（ｊ−ｉ）は、０番目から前記第ｊ番目までのカラムの間にある不良カラムの数に相当し、制御回路４で算出された第２カラムアドレスＡoに対応する第ｊ番目のカラムに前記ポインタがセットされる。
【０１０３】
また第２の実施形態では、外部から入力され第ｉ番目（ｉは０以上の整数）のカラムを選択する第１カラムアドレスＡinに基づいて、０番目のカラムから、第ｉ番目のカラムを置き換え得る第ｊ番目（ｊは０以上の整数であり、ｊ≧ｉ）のカラムまでの間にある不良カラムの数Ｓ１を算出する制御回路（リダンダンシ回路４）と、カラムＣ毎に対応付けて設けられ、対応するカラムＣが第１カラムアドレスＡoに相当するか否かを判断し、相当する場合に、対応する第２ラッチ回路２３にポインタをセットする、複数のデコーダ２４とを更に備える。そしてデコーダ２４によっていずれかの第２ラッチ回路２３にセットされたポインタは、制御回路４で算出された不良カラムの数Ｓ１に相当するだけ、第２ラッチ回路２３間を順次シフトされる。
【０１０４】
更に第３の実施形態に係る半導体記憶装置１は、ロウ及びカラムＣ０〜Ｃ１５に関連付けられた、データ保持可能な複数のメモリセルを備えたメモリセルアレイ２と、カラムＣ毎に対応付けて設けられ、対応するカラムＣが不良カラムであるか否かの情報を保持可能な、複数の第１ラッチ回路２２と、カラムＣ毎に対応付けて設けられ、対応するカラムＣに対する書き込みデータまたは読み出しデータを保持可能な、複数の第２ラッチ回路２０と、外部から入力され第ｉ番目（ｉは０以上の整数）のカラムを選択する第１カラムアドレスＡinに基づいて、第ｊ番目（ｊは０以上の整数、ｊ≧ｉ）のカラムを選択する第２カラムアドレスＡoを算出する制御回路（リダンダンシ回路４）と、カラムＣ毎に対応付けて設けられ、対応するカラムＣが第２カラムアドレスＡoに相当するか否かを判断する、複数のデコーダ２４とを具備する。そしてＳ１＝（ｊ−ｉ）は、０番目から第ｊ番目までのカラムの間にある不良カラムの数に相当する。また第２ラッチ回路２０は、対応する第１ラッチ回路２２が不良カラムでない旨の情報を保持すると共に、対応するカラムＣが第２カラムアドレスＡoに相当するとデコーダ２４によって判断された際に活性化される。
【０１０５】
上記構成によれば、正常なカラムについてのラッチ回路２０のみが活性化される。内部カラムアドレスＡoを生成する場合には、この内部カラムアドレスＡoは、常に正常なカラムについてのラッチ回路２０に対応したアドレスである。このようにして、アクセスすべき先頭のカラムにつきポインタをセットし、以降はポインタを順次シフトする。従って、ページバッファには、リダンダンシカラム領域として限定された領域が不要となる。よって、不要なデータ転送（ページバッファ内の通常のカラム領域からリダンダンシカラム領域へのデータ転送、またはリダンダンシ制御回路内のラッチからページバッファ内のリダンダンシカラム領域へのデータ転送等）を行う必要がない。その結果、チップ面積の増加を招くことなく、ＮＡＮＤ型フラッシュメモリの動作速度を向上出来る。
【０１０６】
なお上記実施形態では、データ転送動作として書き込み時の場合を例に挙げて説明した。しかし、データの読み出し時であっても全く同様である。データの読み出し時には、ページ単位でデータがページバッファ５内に読み出され、各カラム単位でラッチ回路２０に格納される。その後、データ線ＤＬを介して、各ラッチ回路２０が読み出しデータを出力する。この際、どのラッチ回路２０からデータを読み出すか、つまりどのラッチ回路２０を活性化させるかの決定も、書き込み時と同様の方法を用いて行うことができる。そしてその後は第１、第２の実施形態で説明したようにポインタをシフトさせたり、または第３の実施形態で説明したように内部カラムアドレスＡoを順次生成したりする等により、ラッチ回路２０を順次活性化させれば良い。
【０１０７】
また上記実施形態では、ラッチ回路２２に“１”が保持されている場合には、当該カラムへのアクセスができない場合を例に説明した。しかし、ラッチ回路２２内のデータに関わらず、ポインタがセットされたカラムへのアクセスを可能にできる構成であっても良い。このような構成は、不良カラム検出動作等に役立ち得る。
【０１０８】
また別の構成では、ラッチ回路２２に“１”がセットされている場合には、ラッチ回路２３には強制的にポインタがセットされないようにしても良い。この場合、第１の実施形態で説明した図８の場面において、ラッチ回路２３−２に“１”はセットされず、“０”を保持した状態を維持する。
【０１０９】
また上記第２の実施形態では、リダンダンシ回路４のレジスタ１１は、不良カラムＣＲＤのアドレスＡ（ＣＲＤ）そのものを保持しても良い。この場合、図１５におけるステップＳ１２では、ＡinとＡ（ＣＲＤ）との比較が行われる。つまり、外部カラムアドレスと、不良カラムのカラムアドレスとを比較する。そしてステップＳ１２では、Ａ（ＣＲＤ）≦ＡinとなるＡ（ＣＲＤ）の総数が、カウント数Ｓ１とされる。この場合、ステップＳ３３のシフトにおいては、ラッチ回路２２に“１”が保持されているカラム（すなわち不良カラム）に対応するラッチ回路２３はスキップされる。
【０１１０】
更に、ページバッファ５におけるラッチ回路２３の動作は、例えば制御回路６によって制御されても良い。制御回路６は、例えば制御信号ＳＥＴを生成して、これをページバッファ５に供給する。ＳＥＴ＝“Ｌ”の場合には、ラッチ回路２３は、前段の選択部２１から与えられる信号を取り込む。他方、ＳＥＴ＝“Ｈ”の場合には、ラッチ回路２３は、前段の選択部２１の出力を取り込むのでは無く、外部からの制御信号（例えばデコーダ２４による制御信号）に基づいてデータをセットする。  
従って上記構成を採用した場合、第１の実施形態では、まず制御回路６がＳＥＴ＝“Ｈ”とした状態で、先頭カラムへのポインタのセットが行われる。つまり、図５〜図６に示す動作が実行される。その後、図６の状態が得られると、制御回路６はＳＥＴ＝“Ｌ”とする。その結果、ポインタがラッチ回路２３間を順次転送され、図７及び図８の動作が実行される。第２の実施形態では、ＳＥＴ＝“Ｈ”の状態で図１４の動作が行われ、その後はＳＥＴ＝“Ｌ”とされて、図１５の動作及びその後のポインタのシフトが実行される。
【０１１１】
また、上記第１乃至第３の実施形態ではＮＡＮＤ型フラッシュメモリの場合を例に挙げたが、例えばＮＯＲ型、ＤＩＮＯＲ型、ＡＮＤ型フラッシュメモリであっても良い。またフラッシュメモリに限らず、磁気抵抗素子をメモリセルに用いた磁気ランダムアクセスメモリ（Magnetic Random Access Memory）や、可変抵抗素子を用いたＲｅＲＡＭ（Resistance Random Access Memory）等、半導体メモリ全般に適用可能である。
【０１１２】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【符号の説明】
【０１１３】
１…フラッシュメモリ、２…メモリセルアレイ、３…ロウデコーダ、４…リダンダンシ回路、５…ページバッファ、６…制御回路、８…ＮＡＮＤセル、１０、１０−０〜１０−ｎ…比較器、１１、１１−０〜１１−ｎ…レジスタ、１２…加算器、２０、２０−０〜２０−１５、２２、２２−０〜２２−１５、２３、２３−０〜２３−１５…ラッチ回路、２１、２１−０〜２１−１５…選択部、２４、２４−０〜２４−１５…デコーダ、２５、２５−０〜２５−１５…選択回路
【図１】
2011123965.tif 000004
【図２】
2011123965.tif 000005
【図３】
2011123965.tif 000006
【図４】
2011123965.tif 000007
【図５】
2011123965.tif 000008
【図６】
2011123965.tif 000009
【図７】
2011123965.tif 000010
【図８】
2011123965.tif 000011
【図９】
2011123965.tif 000012
【図１０】
2011123965.tif 000013
【図１１】
2011123965.tif 000014
【図１２】
2011123965.tif 000015
【図１３】
2011123965.tif 000016
【図１４】
2011123965.tif 000017
【図１５】
2011123965.tif 000018
【図１６】
2011123965.tif 000019
【図１７】
2011123965.tif 000020
【図１８】
2011123965.tif 000021