(57)【要約】      （修正有）【課題】動作信頼性を向上出来る半導体記憶装置、コントローラ、及びメモリシステムを提供する。【解決手段】半導体記憶装置は、第１ラッチ回路22と、レジスタ28と、比較器30とを備える。第１ラッチ回路22は、対応するカラムが不良カラムであるか否かの情報を保持可能である。レジスタ28は、リダンダンシ用のカラム数を保持する。比較器30は、不良カラムである旨の情報を保持する第１ラッチ回路22の数と、レジスタ28内の情報に基づくクライテリアとを比較する。比較器30における比較結果に応じて、第１ラッチ回路22における不良の有無が判断される。【選択図】図４
2014186772.tif 000002
【特許請求の範囲】
【請求項１】
ロウ及びカラムに関連付けられた複数のメモリセルを備えたメモリセルアレイと、
前記カラム毎に対応付けて設けられ、対応する前記カラムが不良カラムであるか否かの情報を保持可能な、複数の第１ラッチ回路と、
リダンダンシ用のカラム数を保持するレジスタと、
前記不良カラムである旨の情報を保持する前記第１ラッチ回路の数と、前記レジスタ内の情報に基づくクライテリアとを比較する比較器と
を具備し、前記比較器における比較結果に応じて、前記第１ラッチ回路における不良の有無が判断される
ことを特徴とする半導体記憶装置。
【請求項２】
前記カラム毎に対応付けて設けられ、ポインタがセットされ得る複数の第２ラッチ回路と、
前記カラム毎に対応付けて設けられ、対応する前記カラムに対する書き込みデータまたは読み出しデータを保持可能であると共に、対応する前記第１ラッチ回路が前記不良カラムでない旨の情報を保持する場合に、前記第２ラッチ回路に前記ポインタがセットされるタイミングで活性化される複数の第３ラッチ回路と
を更に備え、前記ポインタは、クロックに同期して前記第２ラッチ回路間を順次シフトされ、
前記ポインタをシフトする際において、第１モードでは、前記不良カラムである旨の情報を保持する前記第１ラッチ回路に対応する前記第２ラッチ回路がスキップされ、
第２モードでは、前記不良カラムでない旨の情報を保持する前記第１ラッチ回路に対応する前記第２ラッチ回路がスキップされる
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記クロックに同期するカウンタを更に備え、
前記第２ラッチ回路は直列に接続され、
前記不良の有無を判断する際には、前記第２モードが選択され、
前記比較器は、前記第２ラッチ回路の直列接続の最終段から前記ポインタが出力されたタイミングにおける前記カウンタのカウンタ値と、前記クライテリアとを比較する
ことを特徴とする請求項２記載の半導体記憶装置。
【請求項４】
ロウ及びカラムに関連付けられた複数のメモリセルを備えたメモリセルアレイと、
前記カラム毎に対応付けて設けられ、対応する前記カラムが不良カラムであるか否かの情報を保持可能な、複数の第１ラッチ回路と、
前記カラム毎に対応付けて設けられた第２、第３ラッチ回路と
を具備し、前記第１ラッチ回路の不良検出時において、
前記第１ラッチ回路内の情報が、対応する前記第２ラッチ回路に転送され、
ＲＯＭフューズ情報から得られる不良カラムアドレスに対応する前記第３ラッチ回路に第１の値がセットされ、残りの前記第３ラッチ回路に第２の値がセットされ、
前記第２、第３ラッチ回路の保持データの論理演算結果の、前記カラム間における相違に基づいて、前記第１ラッチ回路の不良が検出される
ことを特徴とする半導体記憶装置。
【請求項５】
前記第１の値は、リダンダンシ用のカラムに対応する前記第３ラッチ回路にもセットされる
ことを特徴とする請求項４記載の半導体記憶装置。
【請求項６】
請求項１乃至５いずれか１項記載の半導体記憶装置を制御するコントローラであって、
前記半導体記憶装置へのコマンドを発行する制御部と、
前記第１ラッチ回路における不良に関する情報を保持するメモリと
を具備することを特徴とするコントローラ。
【請求項７】
請求項１乃至５いずれか１項記載の半導体記憶装置と、
請求項６記載のコントローラと
を具備することを特徴とするメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置、コントローラ、及びメモリシステムに関する。
【背景技術】
【０００２】
メモリセルが三次元に配列されたＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２５８２８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
動作信頼性を向上出来る半導体記憶装置、コントローラ、及びメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
実施形態の半導体記憶装置は、メモリセルアレイと、複数の第１ラッチ回路と、レジスタと、比較器とを備える。メモリセルアレイは、ロウ及びカラムに関連付けられた複数のメモリセルを備える。複数の第１ラッチ回路は、カラム毎に対応付けて設けられ、対応するカラムが不良カラムであるか否かの情報を保持可能である。レジスタは、リダンダンシ用のカラム数を保持する。比較器は、不良カラムである旨の情報を保持する第１ラッチ回路の数と、レジスタ内の情報に基づくクライテリアとを比較する。そして、比較器における比較結果に応じて、第１ラッチ回路における不良の有無が判断される。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係る半導体記憶装置のブロック図。
【図２】第１実施形態に係るメモリセルアレイの回路図。
【図３】第１実施形態に係る１ページの模式図。
【図４】第１実施形態に係るカラム制御部のブロック図。
【図５】第１実施形態に係る不良検出方法のフローチャート。
【図６】第１実施形態に係るカラム制御部のブロック図。
【図７】第１実施形態に係るカラム制御部のブロック図。
【図８】第１実施形態に係るカラム制御部のブロック図。
【図９】第１実施形態に係るカラム制御部のブロック図。
【図１０】第１実施形態に係るカラム制御部のブロック図。
【図１１】第１実施形態に係るカラム制御部のブロック図。
【図１２】カラム制御部のブロック図。
【図１３】カラム制御部のブロック図。
【図１４】カラム制御部のブロック図。
【図１５】カラム制御部のブロック図。
【図１６】第２実施形態に係る不良検出方法のフローチャート。
【図１７】第２実施形態に係るカラム制御部のブロック図。
【図１８】第２実施形態に係るカラム制御部のブロック図。
【図１９】第３実施形態に係るカラム制御部のブロック図。
【図２０】第３実施形態に係る比較部のブロック図。
【図２１】第４実施形態に係るデータラッチのブロック図。
【図２２】第４実施形態に係る不良検出方法のフローチャート。
【図２３】第４実施形態に係るカラム制御部のブロック図。
【図２４】第４実施形態に係るカラム制御部のブロック図。
【図２５】第４実施形態に係るカラム制御部のブロック図。
【図２６】第４実施形態に係るカラム制御部のブロック図。
【図２７】第５実施形態に係る不良検出方法のフローチャート。
【図２８】第５実施形態に係るカラム制御部のブロック図。
【図２９】第６実施形態に係る不良検出方法のフローチャート。
【図３０】第６実施形態に係るカラム制御部のブロック図。
【図３１】第７実施形態に係るメモリシステムのブロック図。
【図３２】第７実施形態に係る不良検出方法のフローチャート。
【図３３】第１乃至第７実施形態の変形例に係るメモリセルアレイの回路図。
【発明を実施するための形態】
【０００７】
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００８】
１．第１実施形態  
第１実施形態に係る半導体記憶装置、コントローラ、及びメモリシステムについて説明する。以下では半導体記憶装置として、メモリセルが半導体基板上方に積層された三次元積層型ＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【０００９】
１．１  構成について  
まず、半導体記憶装置１の構成について説明する。
【００１０】
１．１．１  半導体記憶装置の全体構成について  
図１は、本実施形態に係るＮＡＮＤ型フラッシュメモリ１のブロック図である。図示するようにＮＡＮＤ型フラッシュメモリ１は、メモリセルアレイ１０、ロウデコーダ１１、カラム制御部１２、入出力回路１３、及び制御回路１４を備えている。
【００１１】
メモリセルアレイ１０は、不揮発性のメモリセルの集合である複数（例えばＮ個）のブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、ＢＬＫ２、…）を備えている。同一ブロックＢＬＫ内のデータは一括して消去される。ブロックＢＬＫの各々は、メモリセルが直列接続されたＮＡＮＤストリング１５の集合である複数（例えばＭ個）のストリングユニットＳＵ（ＳＵ０、ＳＵ１、ＳＵ２、…）を備えている。メモリセルアレイ１０内のブロック数及びブロック内のストリングユニット数は任意である。
【００１２】
ロウデコーダ１１は、外部のコントローラから受信したブロックアドレスＢＡをデコードして、対応するブロックＢＬＫを選択し、更に後述するワード線やセレクトゲート線に所定の電圧を印加する。
【００１３】
カラム制御部１２は、データの読み出し時には、メモリセルから読み出したデータをセンス・増幅する。またデータの書き込み時には、外部のコントローラから受信した書き込みデータをメモリセルに転送する。メモリセルアレイ１０へのデータの読み出し及び書き込みは、複数のメモリセル単位で行われ、この単位がページとなる。またカラム制御部１２は、メモリセルアレイ１０における不良カラムに関する情報を保持し、正常なカラムに対してアクセスする。なお、カラムとは複数のビット線の集合である。カラム制御部１２の詳細については後述する。
【００１４】
入出力回路１３は、外部のコントローラとの間で種々のコマンドやデータの送受信を司る。
【００１５】
制御回路１４は、ＮＡＮＤ型フラッシュメモリ１全体の動作を制御する。
【００１６】
１．１．２  メモリセルアレイ１０について  
次に、上記メモリセルアレイ１０の構成の詳細について説明する。図２は、ブロックＢＬＫ０の回路図である。その他のブロックＢＬＫも同様の構成を有している。
【００１７】
図示するように、ブロックＢＬＫ０は複数のストリングユニットＳＵを含む。また各々のストリングユニットＳＵは、複数（本例ではＬ個）のＮＡＮＤストリング１５を含む。
【００１８】
ＮＡＮＤストリング１５の各々は、例えば８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）と、選択トランジスタＳＴ１、ＳＴ２と、バックゲートトランジスタＢＴとを含んでいる。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを含む積層ゲートを備え、データを不揮発に保持する。なお、メモリセルトランジスタＭＴの個数は８個に限られず、１６個や３２個、６４個、１２８個等であってもよく、その数は限定されない。バックゲートトランジスタＢＴもメモリセルトランジスタＭＴと同様に、制御ゲートと電荷蓄積層とを含む積層ゲートを備える。但し、バックゲートトランジスタＢＴはデータを保持するためのものでは無く、データの書き込み及び消去時には単なる電流経路として機能する。メモリセルトランジスタＭＴ及びバックゲートトランジスタＢＴは、選択トランジスタＳＴ１、ＳＴ２間に、その電流経路が直列接続されるようにして配置されている。なおバックゲートトランジスタＢＴは、メモリセルトランジスタＭＴ３とＭＴ４との間に設けられる。この直列接続の一端側のメモリセルトランジスタＭＴ７の電流経路は選択トランジスタＳＴ１の電流経路の一端に接続され、他端側のメモリセルトランジスタＭＴ０の電流経路は選択トランジスタＳＴ２の電流経路の一端に接続されている。
【００１９】
ストリングユニットＳＵ０〜ＳＵ（Ｍ−１）の各々の選択トランジスタＳＴ１のゲートは、それぞれセレクトゲート線ＳＧＤ０〜ＳＧＤ（Ｍ−１）に共通接続され、選択トランジスタＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＳ０〜ＳＧＳ（Ｍ−１）に共通接続される。これに対して同一のブロックＢＬＫ０内にあるメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートはそれぞれワード線ＷＬ０〜ＷＬ７に共通接続され、バックゲートトランジスタＢＴの制御ゲートはバックゲート線ＢＧ（ブロックＢＬＫ０〜ＢＬＫ（Ｎ−１）では、それぞれＢＧ０〜ＢＧ（Ｎ−１））に共通接続される。
【００２０】
すなわち、ワード線ＷＬ０〜ＷＬ７及びバックゲート線ＢＧは同一ブロックＢＬＫ０内の複数のストリングユニットＳＵ間で共通に接続されているのに対し、セレクトゲート線ＳＧＤ、ＳＧＳは、同一ブロックＢＬＫ０内であってもストリングユニットＳＵ毎に独立している。
【００２１】
また、メモリセルアレイ１０内でマトリクス状に配置されたＮＡＮＤストリング１５のうち、同一列にあるＮＡＮＤストリング１５の選択トランジスタＳＴ１の電流経路の他端は、いずれかのビット線ＢＬに共通接続される。すなわちビット線ＢＬは、同一のブロックＢＬＫ内における複数のＮＡＮＤストリング１５を共通に接続し、更に複数のブロックＢＬＫ間でＮＡＮＤストリング１５を共通に接続する。また選択トランジスタＳＴ２の電流経路の他端は、いずれかのソース線ＳＬに接続されている。ソース線ＳＬは、例えば複数のストリングユニットＳＵ間で、ＮＡＮＤストリング１５を共通に接続する。
【００２２】
前述の通り、同一のブロックＢＬＫ内にあるメモリセルトランジスタＭＴのデータは、一括して消去される。これに対してデータの読み出し及び書き込みは、いずれかのブロックＢＬＫのいずれかのストリングユニットＳＵにおける、いずれかのワード線ＷＬに共通に接続された複数のメモリセルトランジスタＭＴにつき、一括して行われる。この単位が「ページ」となる。
【００２３】
図３は、１ページの構成を示す模式図である。図示するように１ページは、通常データ領域とカラムリダンダンシ（ＣＲＤ）領域とを含む。カラムリダンダンシ領域とは、不良カラムを置換するための領域である。通常データ領域には、例えばＥＣＣ訂正のための情報（例えばパリティ）や、個々のメモリセルトランジスタが何ビットのデータを保持するかを示すフラグ等の情報が格納されても良い。
【００２４】
上記構成のメモリセルアレイ１０において、メモリセルトランジスタＭＴ、選択トランジスタＳＴ１、ＳＴ２、及びバックゲートトランジスタＢＴは、半導体基板上方に三次元的に積層されている。一例としては、半導体基板上に例えばカラム制御部１２等の周辺回路の一部が形成され、この周辺回路の上方にメモリセルアレイ１０が形成される。
【００２５】
メモリセルアレイ１０の構成については、例えば、“三次元積層不揮発性半導体メモリ”という２００９年３月１９日に出願された米国特許出願１２／４０７，４０３号に記載されている。また、“三次元積層不揮発性半導体メモリ”という２００９年３月１８日に出願された米国特許出願１２／４０６，５２４号、“不揮発性半導体記憶装置及びその製造方法”という２０１０年３月２５日に出願された米国特許出願１２／６７９，９９１号“半導体メモリ及びその製造方法”という２００９年３月２３日に出願された米国特許出願１２／５３２，０３０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００２６】
１．１．３  カラム制御部１２について  
次に、カラム制御部１２の構成につき、図４を用いて説明する。図４はカラム制御部１２のブロック図である。
【００２７】
カラム制御部１２は、メモリセルアレイ１０をカラム単位で取り扱う。まず、このカラムについて、図４を用いて説明する。
【００２８】
前述のようにメモリセルアレイ１０は、Ｌ本のビット線ＢＬ０〜ＢＬ（Ｌ−１）を含む。そしてビット線ＢＬ０から順に、隣接する例えば８本のビット線ＢＬが、１つのカラムという単位となり、本実施形態に係るメモリセルアレイ１０は、Ｓ個のカラムＣ０〜Ｃ（Ｓ−１）を備える（Ｓは２以上の自然数）。そしてカラムＣｉ（ｉは整数）には、ビット線ＢＬ８ｉ〜ＢＬ（８ｉ＋７）が属することとなる。つまり、カラムＣ０にはビット線ＢＬ０〜ＢＬ７が含まれ、カラムＣ１にはビット線ＢＬ８〜ＢＬ１５が含まれ、そしてカラムＣ（Ｓ−１）にはビット線ＢＬ（Ｌ−８）〜ＢＬ（Ｌ−１）が含まれる。前述の不良カラムの置き換えは、このカラム単位で行われる。
【００２９】
次にカラム制御部１２について説明する。図示するようにカラム制御部１２は、カラムＣ０〜Ｃ（Ｓ−１）にそれぞれ対応づけられた複数のラッチ回路２０（２０−０〜２０−（Ｓ−１））、選択部２１（２１−０〜２１−（Ｓ−１））、及び比較部２７を備えている。
【００３０】
ラッチ回路２０−ｉは、カラムＣｉすなわちビット線ＢＬ８ｉ〜ＢＬ（８ｉ＋７）に対応付けられ、データを保持する機能を有する。そしてラッチ回路２０−ｉは、データの読み出し時には、ビット線ＢＬ８ｉ〜ＢＬ（８ｉ＋７）に読み出されたデータを一時的に保持する。そして、読み出されたデータをデータ線ＤＬへ出力する。他方、データの書き込み時には、データ線ＤＬから与えられる書き込みデータを一時的に保持し、これをビット線ＢＬ８ｉ〜ＢＬ（８ｉ＋７）に転送する。
【００３１】
次に選択部２１について説明する。選択部２１−ｉは、ラッチ回路２０−ｉすなわちカラムＣｉに対応付けられ、対応するラッチ回路２０−ｉを活性化させる機能を有する。ラッチ回路２０−ｉは、対応する選択部２１−ｉによって活性化されることで、データの入出力が可能となる。
【００３２】
選択部２１はそれぞれ、ラッチ回路２２（２２−０〜２２−（Ｓ−１））、２３（２３−０〜２３−（Ｓ−１））、デコーダ２４（２４−０〜２４−（Ｓ−１））、選択回路２５（２５−０〜２５−（Ｓ−１））、及び選択回路２６（２６−０〜２６−（Ｓ−１））を備えている。
【００３３】
ラッチ回路２２−ｉは、対応するカラムＣｉが不良であるか否かの情報を保持可能である。すなわちラッチ回路２２は、いわゆるアイソレーションラッチ（isolation latch）である。そして対応するカラムＣｉが不良であれば例えば“０”を保持し、正常であれば“１”を保持する。またアイソレーションラッチ２２−ｉは、対応するカラムがリダンダンシ用のカラムであり、且つ未使用の場合にも、“０”を保持する。この“０”／“１”の関係は逆の場合であっても良い。なお、ラッチ回路２０を、アイソレーションラッチ２２と区別するためにデータラッチ２０と呼ぶ。
【００３４】
ラッチ回路２３−ｉは、対応するラッチ回路２０−ｉが活性化されるタイミングを決定するポインタ（例えば“１”）を保持可能である。そしてラッチ回路２３は、クロックＣＬＫの例えば立ち上がりエッジに同期して、入力データを内部に取り込む。またラッチ回路２３は、例えば制御回路１４から与えられる制御信号により、一括して初期化される。初期化されることにより、全ラッチ回路２３の保持データは“０”となる。
【００３５】
デコーダ２４−ｉは、例えば制御回路１４で生成された内部カラムアドレスＡoをデコードする。そして内部カラムアドレスＡoが、対応するカラムＣｉを指し示している場合には、ラッチ回路２３−ｉに強制的にポインタをセットする。すなわちラッチ回路２３−ｉに“１”を保持させる。
【００３６】
選択回路２６−ｉは、アイソレーションラッチ２２−ｉの保持するデータと、その反転データとのいずれかを、制御信号ＭＤに基づいて選択する。制御信号ＭＤは、カラム制御部１２の動作モードを規定する信号である。すなわち、カラム制御部１２は、アイソレーションラッチ２２がセットされているカラム（不良カラム）をスキップする第１スキップモードと、アイソレーションラッチ２２がセットされていないカラム（正常カラム）をスキップする第２スキップモードとを有し、いずれのモードを取るかが制御信号ＭＤによって指定される。そして選択回路２６は、第１スキップモードではアイソレーションラッチ２２のデータを選択し、第２スキップモードではアイソレーションラッチ２２の反転データを選択する。
【００３７】
選択回路２５−ｉは、選択回路２６−ｉの選択した情報に基づいて、ラッチ回路２３−ｉに保持されるデータと、ラッチ回路２３−ｉへの入力データ（すなわち前段の選択部２１−（ｉ−１）の出力データ）とのいずれかを選択する。より具体的には、アイソレーションラッチ２２−ｉに“１”が保持されていれば、ラッチ回路２３−ｉの保持するデータを選択して出力する。他方、アイソレーションラッチ２２−ｉに“０”が保持されていれば、ラッチ回路２３−ｉへの入力データを選択して出力する。言い換えれば、第１スキップモードにおいては、アイソレーションラッチ２２−ｉが“０”を保持する場合、つまり対応するカラムが不良カラムであるとアイソレーションラッチ２２−ｉが示す場合、ラッチ回路２３−ｉをスキップする。他方、第２スキップモードにおいては、アイソレーションラッチ２２−ｉが“１”を保持する場合、つまり対応するカラムが正常カラムであるとアイソレーションラッチ２２−ｉが示す場合、ラッチ回路２３−ｉをスキップする。
【００３８】
以上の構成において、選択回路２５−ｉの出力が次段のラッチ回路２３−（ｉ＋１）及び選択回路２５−（ｉ＋１）に与えられるようにして、選択部２１−０〜２１−（Ｓ−１）は順次、直列接続されている。なお、初段の選択部２１−０におけるラッチ回路２３−０には“０”が入力され、最終段の選択部２１−（Ｓ−１）からは信号ＥＮＤが出力される。
【００３９】
ラッチ回路２２−ｉ、２３−ｉの保持する情報（“１”または“０”）は、データラッチ２０−ｉに与えられる。そして、ラッチ回路２２−ｉ、２３−ｉが共に“１”を保持している場合に、データラッチ２０−ｉが活性化される。活性化されたデータラッチ２０−ｉは、データの書き込み時には書き込みデータを取り込み、またデータの読み出し時には読み出しデータを出力する。アイソレーションラッチ２２−ｉが“０”を有しているか（すなわちラッチ回路２２−ｉが、対応するカラムＣｉが不良カラムである、または未使用のリダンダンシカラムであると示していれば）、またはラッチ回路２３−ｉが“０”を有している場合には、データラッチ２０−ｉは活性化されない。
【００４０】
比較部２７は、レジスタ２８、カウンタ２９、及び比較器３０を備えている。比較部２７は、第２スキップモードにおいて活性化される。
【００４１】
レジスタ２８は、カラムリダンダンシの実装数をクライテリアとして保持する。カラムリダンダンシの実装数とは、不良カラムを置き換えるために設けられたリダンダンシ用のカラムの数である。
【００４２】
カウンタ２９は、クロックＣＬＫに同期してカウントアップ（またはカウントダウン）する。
【００４３】
比較器３０は、レジスタ２８の保持するクライテリアと、カウンタ２９のカウント数とを比較する。そしてその比較結果を制御回路１４に出力する。
【００４４】
１．２  後天的不良検知動作について  
次に、本実施形態に係る後天的不良検知動作について説明する。本実施形態において後天的不良とは、次のような不良を意味する。すなわち、前述の通り不良カラムが存在する場合、そのカラムはリダンダンシ用カラムに置き換えられる。ＮＡＮＤ型フラッシュメモリ１の製造時に判明している不良カラム（先天的不良）については、そのアドレス情報が、ＮＡＮＤ型フラッシュメモリのＲＯＭフューズに記録されている。従って、このＲＯＭフューズを読み出すことで、コントローラは先天的不良に対応出来る。
【００４５】
これに対して本実施形態における後天的不良とは、製造後（ＲＯＭフューズ書き込み後）に発生したアイソレーションラッチ２２の不良を示す。これは、出荷後において、ユーザがＮＡＮＤ型フラッシュメモリ１を使用している最中に発生した不良も含む。このようなアイソレーションラッチの不良は、ＲＯＭフューズには登録されていないため、以下で説明する後天的不良検知動作によって検知する。
【００４６】
図５は、本実施形態に係る後天的不良検知動作を示すフローチャートであり、特にカラム制御部１２の動作を示す。なお、図５の動作は制御回路１４の制御に基づいて行われる。
【００４７】
図示するように制御回路１４は、制御信号ＭＤを切り替えることにより、カラム制御部１２の動作モードを第１スキップモードから第２スキップモードに切り替える（ステップＳ１０）。これにより選択回路２８は、アイソレーションラッチ２２の反転信号を選択する。
【００４８】
次に制御回路１４は、スタートアドレスにポインタをセットする。スタートアドレスとは、例えば“０”を保持するアイソレーションラッチ２２のうち、選択部２１の直列接続の中で最も上流側に位置する（最もカラムアドレスの小さい）アイソレーションラッチ２２に対応するラッチ回路２３である。
【００４９】
そして制御回路１４は、クロックＣＬＫを発行することにより、“１”を保持するアイソレーションラッチ２２に対応するラッチ回路２３をスキップさせつつ、ポインタをシフトさせる（ステップＳ１２）。またカウンタ２９は、このクロックＣＬＫに同期して、シフト回数をカウントする（ステップＳ１３）。
【００５０】
このポインタのシフト動作及びカウント動作（ステップＳ１２、Ｓ１３）は、信号ＥＮＤが出力される（ＥＮＤ＝“１”）まで繰り返される（ステップＳ１４）。
【００５１】
信号ＥＮＤが出力されると（ステップＳ１４、ＹＥＳ）、比較器３０は信号ＥＮＤに応答して、その時点でのカウンタ２９のカウンタ値と、レジスタ２９内のクライテリアとを比較する（ステップＳ１５）。そして比較結果を制御回路１４に出力する。
【００５２】
比較の結果、両者が一致すれば（ステップＳ１６、ＹＥＳ）、制御回路１４は、アイソレーションラッチ２２に後天的不良は無いと判断する（ステップＳ１７）。他方、両者が不一致であれば、いずれかのアイソレーションラッチ２２に後天的不良が存在すると判断する（ステップＳ１８）。
【００５３】
上記動作の具体例を、図６乃至図１１を用いて説明する。図６乃至図１１は、後天的不良検知動作時におけるカラム制御部１２の動作を示すブロック図である。以下では簡単化のため、通常データ領域のカラムがカラムＣ０〜Ｃ７の８カラム、リダンダンシ領域のカラムがカラムＣ８〜Ｃ１１の４カラムである場合を例に挙げて説明する。すなわち、カラムリダンダンシの実装数は“４”であり、これがレジスタ２８に保持される。
【００５４】
図６に示すように、カラムＣ１及びＣ４に先天的カラム不良が存在する。従って、アイソレーションラッチ２２−１及び２２−４には“０”が保持される。これらのカラムＣ１及びＣ４は、リダンダンシ用カラムＣ８及びＣ９によって置き換えられる。またリダンダンシ用カラムＣ１０及びＣ１１は未使用であるので、これらに対応するアイソレーションラッチ２２−１０及び２２−１１にも“０”が保持される。そして、カラムＣ６に対応するアイソレーションラッチ２２−６に後天的不良が存在し、カラムＣ６が正常カラムであるにも関わらず、アイソレーションラッチ２２−６には“０”が保持されている。。
【００５５】
まず制御回路１４は、先天的不良カラムＣ１に対応するラッチ回路２３−１にポインタをセットする。すなわち、ラッチ回路２３−１に“１”が与えられる。そして、クロックＣＬＫを発行する。
【００５６】
すると図７に示すように、クロックＣＬＫ１周期でポインタは不良カラムＣ４に対応するラッチ回路２３−４に転送される。これは、選択回路２６がアイソレーションラッチ２２の反転信号を選択するため、正常カラムに対応するラッチ回路２３−２〜２３−５がスキップされるためである。また、カウンタ２９のカウンタ値は、“０”から“１”にカウントアップされる。
【００５７】
次にクロックＣＬＫが入力されると、図８に示すようにポインタは後天的不良のあるアイソレーションラッチ２２−６に対応するラッチ回路２３−６に転送される。カウンタ２９のカウンタ値は、“１”から“２”にカウントアップされる。
【００５８】
次にクロックＣＬＫが入力されると、図９に示すようにポインタは未使用のリダンダンシ用カラムＣ１０に対応するラッチ回路２３−１０に転送される。カウンタ２９のカウンタ値は、“２”から“３”にカウントアップされる。
【００５９】
次にクロックＣＬＫが入力されると、図１０に示すようにポインタは未使用のリダンダンシ用カラムＣ１１に対応するラッチ回路２３−１１に転送される。カウンタ２９のカウンタ値は、“３”から“４”にカウントアップされる。
【００６０】
次にクロックＣＬＫが入力されると、図１１に示すようにポインタが信号ＥＮＤとして出力され、ＥＮＤ＝“１”となる。カウンタ２９のカウンタ値は、“４”から“５”にカウントアップされる。そして比較器３０は、レジスタ２９に保持されるクライテリア“４”と、カウンタ２９のカウンタ値“５”とを比較する。両者は不一致であるので、比較器３０はその旨を制御回路１４に転送する。
【００６１】
１．３  本実施形態に係る効果  
Column Skip-RD(Column Skip Redundancy)方式は、不良カラムがあればそれをスキップしていき、ページの最後にてＣＲＤ(Column Redundancy)を使用することで、スキップにより不足したカラム数を補っている。スキップするカラムであることを示すラッチ(Isolation Latch)が後天的不良となった場合には、当該カラムのデータが読み出せなくなってしまうだけでなく、それ以降のカラムのデータが全てずれてしまい、誤り検出訂正機能ではデータを補正できなくなってしまう。また、ページあたりのカラム数が過不足となってしまう。
【００６２】
現状、後天的Isolation不良（アイソレーションラッチに生じた不良）が発生した場合でも、ユーザ動作の前にそれを検知する手段がない。後天的Isolation不良の有無と、その場所と、不良の内容が「常にIsolation状態」か「常に非Isolation状態」か、が特定できていれば、不良発生前に書き込まれたデータの救済が出来るが、不良発生に気付かずその後も書き込みをしてしまうと、データの救済が困難になってしまう。
【００６３】
この様子を図１２及び図１３の模式図に示す。図１２の例では、物理カラムアドレスCol_0及びCol3が先天的不良カラムであり、これがリダンダンシカラムCRD_0及びCRD_1で置き換えられる。よって、論理的なカラムアドレスの最終アドレスCOL_Nは、リダンダンシカラムCRD_1に相当する。リダンダンシカラムCRD_2〜CRD_Mは未使用である。
【００６４】
この状態で、物理カラムアドレスCol_5に相当するアイソレーションラッチに後天的な不良が発生した時の様子を図１３に示す。図示するように、物理カラムアドレスCol_5に相当するカラムは正常カラムであるにも関わらず、isolationセットされているため、Col_5はスキップされてしまう。その結果、リダンダンシカラムCRD_1の論理カラムアドレスはCol_(N-1)となり、カラム数が不足する（つまり、論理カラムアドレスCol_Nに相当するカラムが無い）。
【００６５】
図１４は図１３の場合とは反対に、先天的不良カラムであるカラムCol_3に対応するアイソレーションラッチに後天的な不良が発生し、isolationセットがリセットされた様子を示す。図示するように、物理カラムアドレスCol_3に相当するカラムは不良カラムであるにも関わらず、isolationセットされていないため、Col_3はスキップされず、誤ったデータが読み出され、あるいは正常にデータを書き込めなくなる。そして、リダンダンシカラムCRD_1の論理カラムアドレスはCol_(N+1)となり、カラム数が過多となる。
【００６６】
このように、問題点としては、大きく以下の２つに分けることが出来る。すなわち、  
（問題１）後天的Isolation不良が発生した場合、読み出し時に致命的なデータ不良が発生する。  
（問題２）ユーザ使用における後天的Isolation不良を事前に検知する手段がない。
【００６７】
上記２つの問題は（問題２）を解決する事で（問題１）が解決される。逆に（問題１）は、（問題２）が解決しなければ解決されない。また、後天的Isolation不良の問題はユーザ使用時が前提である為、（問題２）の解決手段としての優先度の最も高い必要条件は、以下の通りである。すなわち、  
（条件１）可能な限り書き込みや読み出しを実行する前に不良を把握できる事。  
（条件２）（条件１）を実現するには少なくとも電源投入直後には把握したい。  
（条件３）（条件２）を実現するにはＰＯＲ時に把握出来ている事。  
（条件４）ＰＯＲに入れ込むためには可能な限り高速検知が必要。
【００６８】
このような問題点のもと、本実施形態は、ＣＲＤ実装数と、セットされた（“０”を保持する）アイソレーションラッチ総数とが必ず一致するという特性を用いて、後天的Isolation不良の有無を確認する。
【００６９】
まず、上記特性について説明する。不良カラムがない場合には、全てのリダンダンシカラムＣＲＤが未使用となる為、全ＣＲＤのアイソレーションラッチがセットされる（これをisolationセットと呼ぶ）。不良カラムに対してIsolationセットをした場合には、その分を差し引いた数のＣＲＤに対してIsolationセットされる。そのため、Isolationセットされている数は、用意されているＣＲＤ数と常に一致する。
【００７０】
例えば、ＣＲＤ実装数２５個の場合、
a) 不良カラムが無い場合：未使用ＣＲＤ２５個に対しIsolationセット  
つまり、計２５個のアイソレーションラッチがセットされる。  
b) 不良カラムが１個の場合：不良カラム１個及び未使用ＣＲＤ２４個に対しIsolationセット  
つまり、計２５個のアイソレーションラッチがセットされる。  
c) 不良カラムが２個の場合：不良カラム２個及び未使用ＣＲＤ２３個に対してIsolationセット  
つまり、計２５個のアイソレーションラッチがセットされる。  
d) 不良カラムが２５個の場合：不良カラム２５個に対してIsolationセット（ＣＲＤにはIsolationセットされない）    
つまり、計２５個のアイソレーションラッチがセットされる。
【００７１】
この特性を用いて、ＣＲＤ実装数をクライテリアとして、これにIsolationセット総数が一致するかどうかを判定する事で簡易的なIsolation Checkerが実現可能となる。
【００７２】
より具体的には、本実施形態に係るＮＡＮＤ型フラッシュメモリ１は、第１スキップモードと第２スキップモードを有する。第１スキップモードは、通常動作モードであり、isolationセットされているカラムをスキップするモードである。これに対して第２スキップモードは反対に、isolationセットされていないカラムをスキップする。
【００７３】
より具体的には、図６乃至図１１で説明したように、アイソレーションラッチ２２がセットされていないカラムをスキップさせつつ、信号ＥＮＤが出力される（ポインタが出力される）までのクロック数をカウントする。これにより、isolationセット数をカウント出来る。そして、カウント数とＣＲＤ実装数との比較結果が不一致の場合には、いずれかのアイソレーションラッチに不良があることが分かる。
【００７４】
この様子を図１５の模式図に示す。図中の、「通常Isolation Column Skip」が上記説明した第１スキップモードに相当し、「No Isolation Column Skip」が第２スキップモードに相当する。
【００７５】
本手法によれば、例えばＣＲＤ実装数が２５個の場合、ポインタを２５回シフトさせれば、アイソレーションラッチ２２における不良の有無の検知結果が得られる。よって、この検知動作に要する時間は、クロックＣＬＫの１周期が２０ｎｓの場合で２０ｎｓ×２５＝０．５μｓ前後、８０ｎｓの場合で８０ｎｓ×２５＝２μｓ前後、２４０ｎｓの場合で２４０ｎｓ×２５＝６μｓ前後、である。
【００７６】
このように、アイソレーションラッチにおける不良を、高速で検知出来る。また、ＮＡＮＤ型フラッシュメモリ１への電源投入直後に行われるＰＯＲ（power on read）動作（コントローラからの読み出し命令を受信することなく、ＮＡＮＤ型フラッシュメモリ１が自発的に行うＲＯＭフューズデータの読み出し動作）の直後に、本実施形態で説明した後天的不良検知動作を行うことで、電源投入の度にこの後天的不良をチェック出来る。
【００７７】
２．第２実施形態  
次に、第２実施形態に係る半導体記憶装置、コントローラ、及びメモリシステムについて説明する。本実施形態は、上記第１実施形態で説明した後天的不良検知動作を、一括検知動作を用いて行うものである。以下では、第１実施形態と異なる点についてのみ説明する。
【００７８】
２．１  後天的不良検知動作について  
本実施形態に係る後天的不良検知動作について、図１６を用いて説明する。図１６は、本実施形態に係る後天的不良検知動作を示すフローチャートであり、特にカラム制御部１２の動作を示す。第１実施形態と同様、図１６の動作は制御回路１４の制御に基づいて行われる。
【００７９】
図示するように制御回路１４は、アイソレーションラッチ２２−ｉに保持されている情報（これをアイソレーション情報と呼ぶ）を、全て、対応するデータラッチ２０−ｉに転送する（ステップＳ２０）。
【００８０】
そして制御回路１４は、一括検知機能を用いて、データラッチ２０内において、不良カラム（及び未使用のリダンダンシカラム）を示すビット数を検知し（ステップＳ２１）、これをレジスタ２８に保持されるクライテリアと比較する（ステップＳ２２）。
【００８１】
比較の結果、両者が一致すれば（ステップＳ１６、ＹＥＳ）、制御回路１４は後天的不良が無いものと判断する（ステップＳ１７）。他方、両者が不一致であれば、いずれかのカラムに後天的不良カラムが存在すると判断する（ステップＳ１８）。
【００８２】
上記動作の具体例を、図１７及び図１８を用いて説明する。図１７及び図１８は、後天的不良検知動作時におけるカラム制御部１２の動作を示すブロック図である。第１実施形態と同様に、通常データ領域のカラムがカラムＣ０〜Ｃ７の８カラム、リダンダンシ領域のカラムがカラムＣ８〜Ｃ１１の４カラムである場合を例に挙げて説明する。すなわち、カラムリダンダンシの実装数は“４”であり、これがレジスタ２８に保持される。
【００８３】
図１７に示すように、カラムＣ１及びＣ４に先天的カラム不良が存在する。従って、アイソレーションラッチ２２−１及び２２−４には“０”が保持される。またリダンダンシ用カラムＣ１０及びＣ１１は未使用であるので、これらに対応するラッチ回路２２−１０及び２２−１１にも“０”が保持される。そして、カラムＣ６に対応するアイソレーションラッチ２２−６に後天的不良が存在し、カラムＣ６が正常カラムにも関わらず、アイソレーションラッチ２２−６には“０”が保持されている。
【００８４】
まず制御回路１４は、データラッチ２０をリセットすることで、全データラッチ２０に“１”データを格納する。本実施形態では、１本のカラムには８本のビット線が含まれるので、１つのデータラッチ２０は８ビットのデータを保持可能である。従って、リセットされたデータラッチ２０の各々は、１６進数表記で“ＦＦ”データが保持される。
【００８５】
次に制御回路１４は、図１８に示すように、アイソレーションラッチ２２のデータをデータラッチ２０に転送する。アイソレーションラッチ２２の各々は１ビットデータを保持する。従って制御回路１４は、この１ビットのアイソレーション情報を、データラッチ２０の各々における８ビットデータの最下位ビットにコピーする。
【００８６】
その結果、アイソレーションラッチ２２に“１”が保持されるカラムでは、データラッチ２０内のデータは“ＦＦ”のままで変わらない。これに対してアイソレーションラッチ２２に“０”が保持されるカラムでは、データラッチ２０内のデータは“ＦＦ”から“ＦＥ”に変化する。つまり、最下位ビットが“１”から“０”に反転する。
【００８７】
そして制御回路１４は、データラッチ２０内において“０”であるビット数を一括して検知し、これを比較器３０においてクライテリアと比較する。図１８では、一括検知結果は“５”であり、クライテリアは“４”であるから、いずれかのアイソレーションラッチ２２に後天的不良が存在することが分かる。
【００８８】
２．２  本実施形態に係る効果  
本実施形態によれば、後発的不良検知動作に要する時間は、数μｓから十μｓ以下とすることが出来、検知動作をより高速化出来る。また、図４で説明した比較器２６が不要となり、回路構成を簡略化出来る。
【００８９】
３．第３実施形態  
次に、第３実施形態に係る半導体記憶装置、コントローラ、及びメモリシステムについて説明する。本実施形態は、上記第１、第２実施形態において、拡張カラムモード（extended column mode）に対応する例に関する。以下では、第１、第２実施形態と異なる点についてのみ説明する。
【００９０】
３．１  カラムリダンダンシに関する動作モードについて  
本実施形態に係るＮＡＮＤ型フラッシュメモリ１は、カラムリダンダンシに関して、通常モードと、拡張カラムモードとを備えている。これらの動作モードにつき、図１９を用いて説明する。図１９はカラム制御部のブロック図を示し、（ａ）図は通常モード、（ｂ）図は拡張カラムモードの概念を示す。
【００９１】
図１９（ａ）に示すように通常モードでは、上記第１及び第２実施形態で説明したように、カラムリダンダンシ領域が、通常データ領域とは別に設けられる。この場合、救済可能なカラム数は、ＣＲＤ領域のカラム数に等しい。図１９（ａ）の例であると、通常データ領域における（Ｎ＋１）個のカラムのいずれかで生じた不良は、カラムリダンダンシ領域における（Ｍ＋１）個のカラムのいずれかで置き換えられる。従って、救済可能な最大カラム数は（Ｍ＋１）である。
【００９２】
これに対して拡張カラムモードは、図１９（ｂ）に示すように、カラムリダンダンシ領域という考えを持たずに、全てのカラムを通常データ領域として扱う。これにより、通常モードに比べて、より多く（例えば２５６個）の不良カラムを救済出来、ＮＡＮＤ型フラッシュメモリ１の歩留まりを向上出来る。但し、不良カラムの置き換えに使用したカラム数が多くなれば、１ページあたりのカラム数は、本来の数（図１９の例では（Ｎ＋１））よりも小さくなる。このような場合には、ＮＡＮＤ型フラッシュメモリ１のコントローラで対応出来る。
【００９３】
また、通常モードでは、カラムリダンダンシ領域における末尾（最終アドレスに近い方のカラム）を未使用のリダンダンシ用カラムとして取り扱い、これらをアイソレーションセットする（アイソレーションラッチ２２に“０”を格納する）。これにより、アイソレーション設定数の合計は、常に一定である（図１９（ａ）の場合は（Ｍ＋１））。
【００９４】
これに対して拡張カラムモードでは、このような設定を行わないため、使用可能なカラム数は、テスト工程の結果次第で、チップ毎に異なる。例えば、アイソレーション設定可能な最大数が２５６個の場合、最良のチップでは、アイソレーション設定されるカラムがゼロとなり、（Ｍ＋Ｎ＋２）個のカラムの全てが使用可能となる。最悪のチップでは、アイソレーション設定されるカラムが２５６個となり、（Ｍ＋Ｎ−２５６）個のカラムしか使用出来なくなる。
【００９５】
３．２  比較部２７の構成について  
図２０は、本実施形態に係る比較部２７のブロック図である。図示するように比較部２７は、第１実施形態で説明した図４の構成において、更にレジスタ３１及びセレクタ３２を備えている。
【００９６】
レジスタ３１は、拡張カラムモードにおけるアイソレーション設定数を保持する。アイソレーション設定数は、例えばＲＯＭフューズ情報としてメモリセルアレイ１０に格納されており、ＰＯＲ時に制御回路１４によってレジスタ３１にアイソレーション設定数がセットされる。あるいは、外部のコントローラによって設定される場合であっても良い。
【００９７】
セレクタ３２は、通常モードではレジスタ２８内のＣＲＤ実装数と、拡張カラムモードではレジスタ３１内のアイソレーション設定数とを選択し、選択した値をクライテリアとして比較器３０へ出力する。
【００９８】
３．３  本実施形態に係る効果  
本実施形態によれば、拡張カラムモードを用いる際にも、上記第１、第２実施形態を適用出来る。
【００９９】
４．第４実施形態  
次に、第４実施形態に係る半導体記憶装置、コントローラ、及びメモリシステムについて説明する。本実施形態は、上記第１乃至第３実施形態において、相殺不良（conflicting defects）が発生した場合に対応するものである。以下では、第１乃至第３実施形態と異なる点についてのみ説明する。
【０１００】
４．１  相殺不良について  
まず、相殺不良の概念について説明する。例えば第１実施形態の図６で説明した例では、カラムＣ６に対応するアイソレーションラッチ２２−６に不良が発生している。すなわち、カラムＣ６は正常カラムであるにも関わらず、アイソレーションラッチ２２−６には“０”が保持される。その結果、アイソレーションラッチ２２におけるビット“０”の総数は、ＣＲＤ実装数よりも多くなる。
【０１０１】
しかし図６において、例えばカラムＣ４に対応するアイソレーションラッチ２２−４に不良が発生し、アイソレーションラッチ２２−４の保持データが“０”から“１”に反転したと仮定する。すると、アイソレーションラッチ２２におけるビット“０”の総数は４個になり、ＣＲＤ実装数と等しくなる。つまり、カラムＣ６に対応するアイソレーションラッチ２２−６の不良が、カラムＣ４に対応するアイソレーションラッチ２２の不良によってあたかも相殺されているように見える。
【０１０２】
このように、アイソレーションラッチ２２におけるビット“０”の数だけでは正しく不良検知出来ないケースが、本実施形態で呼ぶ「相殺不良」である。本実施形態では、相殺不良がある場合でもアイソレーションラッチ２２の不良を正確に検知する手法に関する。
【０１０３】
４．２  データラッチ２０の構成について  
図２１は、本実施形態に係るデータラッチ２０の構成を示すブロック図である。データラッチ２０−０〜２０−（Ｓ−１）のいずれも、図２１の構成を有する。
【０１０４】
図示するようにデータラッチ２０の各々は、第１〜第３データラッチ部４０〜４２及び演算部４３を備えている。第１〜第３データラッチ部４０〜４２の各々はデータを保持可能とされ、演算部４３は種々の演算を実行可能である。そして第１〜第３データラッチ部４０〜４３は、互いにデータを送受信可能なようにバスに接続され、更にこのバスにより演算部４３に接続される。そして例えば、選択部２１との間の直接のデータ授受は、第１データラッチ部４０を用いて行われる。
【０１０５】
先に述べたとおり、１つのカラムは８本のビット線ＢＬを含むので、第１〜第３データラッチ部４０〜４３の各々は、これらの８本のビット線ＢＬに対応した８ビットデータを保持可能である。
【０１０６】
なお、図２１では個々のデータラッチ２０が３個のデータラッチ部を備える場合を例に説明したが、４個以上であっても良いし、また本実施形態の実現に限れば２個あれば十分である。
【０１０７】
４．３  後天的不良検知動作について  
本実施形態に係る後天的不良検知動作について、図２２を用いて説明する。図２２は、本実施形態に係る後天的不良検知動作を示すフローチャートであり、特にカラム制御部１２の動作を示す。第１実施形態と同様、図２２の動作は制御回路１４の制御に基づいて行われる。
【０１０８】
図示するように制御回路１４は、アイソレーションラッチ２３に保持されているアイソレーション情報を全て、対応するデータラッチ２０の第１データラッチ部４０に転送する（ステップＳ３０）。
【０１０９】
次に制御回路１４は、第１データラッチ部４０のアイソレーション情報を、第２データラッチ部４１に退避させる（ステップＳ３１）。
【０１１０】
引き続き制御回路１４は、第１データラッチ部４０の全ビットに“０”データを格納する（ステップＳ３２）。前述の通り、第１データラッチ部４０の各々は８ビットデータを保持可能であるので、１つの第１データラッチ部４０には、１６進数表記で“００”データが保持される
次に制御回路１４は、先天的不良カラム（及び未使用のリダンダンシ用カラム）に対応する第１データラッチ部４０を“０１”データで上書きする（ステップＳ３３）。すなわち、第１データラッチ部４０に保持される８ビットデータのうちの最下位ビットが、“０”から“１”に反転される。いずれの第１データラッチ部４０が先天的不良カラムまたは未使用のリダンダンシ用カラムに対応するかは、ＲＯＭフューズ情報を参照することで把握出来る。
【０１１１】
次に制御回路１４は、演算部４３に対して、第１、第２データラッチ部４０、４１内のデータの排他的論理和（ＥＸＯＲ）演算を実行させる（ステップＳ３４）。
【０１１２】
その後制御回路１４は、ステップＳ３４の結果につき一括検知を行い（ステップＳ３６）、各カラムにつき、演算結果の全ビットが“１”であるか否かを検知する。
【０１１３】
一括検知の結果、全ビットが“１”であれば（ステップＳ３６、ＹＥＳ）、制御回路１４は後天的不良が無いものと判断する（ステップＳ１７）。他方、いずれかのビットが“０”であれば、いずれかのカラムに対応するアイソレーションラッチ２２に後天的不良があると判断する（ステップＳ１８）。その場合、制御回路１４は、演算結果をシリアルに読み出すことにより、後天的不良のアドレスを特定する（ステップＳ３７）。
【０１１４】
上記動作の具体例を、図２３乃至図２６を用いて説明する。図２３乃至図２６は、後天的不良検知動作時におけるカラム制御部１２の動作を示すブロック図である。図２３に示すように本例では、カラムＣ１及びＣ４が先天的不良カラムであり、リダンダンシ用カラムＣ１０及びＣ１１が未使用の例を示している。そして、アイソレーションラッチ２２−４に後天的不良が生じ、本来“０”データを保持すべきであるにも関わらず“１”データを保持している。またアイソレーションラッチ２２−７にも後天的不良が生じ、本来“１”データを保持すべきであるにも関わらず“０”データを保持している。また第１データラッチ４０はリセットされ、８ビットデータの全ビットは“１”にセットされている（“８ｈＦＦ”）。
【０１１５】
次に制御回路１４は、図２４に示すように、アイソレーションラッチ２２のデータを第１データラッチ部４０に転送する。この動作は、先に述べた図１８と同様であり、アイソレーションラッチ２２内の１ビットデータを、第１データラッチ部４０における８ビットデータの最下位ビットにコピーする。この結果、第１データラッチ部４０−１、４０−７、４０−１０、４０−１１の保持データは、“ＦＦ”から“ＦＥ”に変化する。
【０１１６】
次に制御回路１４は、図２５に示すように、第１データラッチ部４０のデータを第２データラッチ部４１に転送する。また制御回路１４は、全ての第１データラッチ部４０に“００（２進数表記では“００００＿００００”）”を格納し、更にＲＯＭフューズ情報に応じて、先天的不良を有するカラムＣ１及びＣ４、及び未使用のリダンダンシ用カラムＣ１０及びＣ１１に対応する第１データラッチ部４０−１、４０−４、４０−１０、及び４０−１１内のデータを、“０１（２進数表記では“００００＿０００１”）”に書き換える。
【０１１７】
そして制御回路１４は、図２６に示すように、第１データラッチ部４０−ｉの保持データと、第２データラッチ部４０−ｉの保持データとの排他的論理和演算を行う。図示するように本例では、カラムＣ４及びＣ７についての演算結果のみが“ＦＥ（最下位ビットが“０”）”となり、その他のカラムについての演算結果は“ＦＦ（全ビット“１”）”となる。この結果、制御回路１４は、カラムＣ４及びＣ７に対応するアイソレーションラッチ２２−４及び２２−７に後天的不良が存在することを認識出来る。
【０１１８】
４．４  本実施形態に係る効果  
上記４．１で説明したように、相殺不良が発生する場合がある。すなわち、あるカラムが「常にIsolation状態」となる不良と、別のあるカラムが「常に非Isolation状態」となる不良とが、後天的に同じタイミングで発生することがある。
【０１１９】
本実施形態によれば、このような場合でも、アイソレーションラッチ２２に後天的に生じた不良の有無を特定出来る。
【０１２０】
本方法では、例えばＣＲＤ実装数が２５個で、クロックＣＬＫの１周期が２０ｎｓの場合、検知動作に要する時間は、アイソレーションラッチ２２から第１データラッチ部４０へのコピーに約２μｓ、第１データラッチ部４０から第２データラッチ部４１へのデータ転送に約２μｓ、第１データラッチ部４０の全カラムに“８’ｈ００”を格納するのに約２μｓ、不良カラム（及び未使用リダンダンシ用カラム）に対応する第１データラッチ部４０を“８’ｈ０１”で上書きするのに約２２μｓ、ＥＸＯＲ演算に約２μｓ、一括検知で数μｓとなり、トータルで約３０数μｓを要する。
【０１２１】
第１乃至第３実施形態に比べると、検知動作に要する時間は長くなるが、より高精度に不良を検知出来る。よって本実施形態は、ユーザーコマンドシーケンスとして使用し、データ救済処理の為にコントローラ等へ不良カラムアドレス情報を渡す際に有効である。
【０１２２】
５．第５実施形態  
次に、第５実施形態に係る半導体記憶装置、コントローラ、及びメモリシステムについて説明する。本実施形態は、上記第４実施形態において、あるカラムが「常にIsolation状態」となる不良の有無とそのアドレスを得るためのものである。以下では、第４実施形態と異なる点についてのみ説明する。
【０１２３】
５．１  後天的不良検知動作について  
本実施形態に係る後天的不良検知動作について、図２７を用いて説明する。図２７は、本実施形態に係る後天的不良検知動作を示すフローチャートであり、特にカラム制御部１２の動作を示す。第１実施形態と同様、図２７の動作は制御回路１４の制御に基づいて行われる。
【０１２４】
図示するように本例に係る検知動作は、第４実施形態で説明した図２２のステップＳ３４において、ＥＸＯＲ演算を論理和（ＯＲ）演算に置き換えたものである（ステップＳ４０）。その他の動作は第４実施形態と同様である。
【０１２５】
図２８は検知動作の具体例を示しており、第４実施形態で図２３乃至図２６を用いて説明した例と同一の場合を示している。第４実施形態と同様に図２３乃至図２５の処理の後、本実施形態では図２８に示すようにＯＲ演算が実行される。その結果、「常にIsolation不良状態」となる不良を有するカラムＣ７（すなわち、正常カラムにも関わらず、通常動作時には常にスキップされるカラムＣ７）についての演算結果が“ＦＥ”となり、その他のカラムについての演算結果は全て“ＦＦ”となる。
【０１２６】
これにより、カラムＣ７に「常にIsolation不良状態」となる不良があることが分かる。
【０１２７】
５．２  本実施形態に係る効果  
本実施形態によれば、アイソレーション不良の種類まで特定することが出来る。従って、不良検知精度をより向上出来る。
【０１２８】
６．第６実施形態  
次に、第６実施形態に係る半導体記憶装置、コントローラ、及びメモリシステムについて説明する。本実施形態は、上記第４実施形態において、あるカラムが「常に非Isolation状態」となる不良の有無とそのアドレスを得るためのものである。以下では、第４実施形態と異なる点についてのみ説明する。
【０１２９】
６．１  後天的不良検知動作について  
本実施形態に係る後天的不良検知動作について、図２９を用いて説明する。図２９は、本実施形態に係る後天的不良検知動作を示すフローチャートであり、特にカラム制御部１２の動作を示す。第１実施形態と同様、図２９の動作は制御回路１４の制御に基づいて行われる。
【０１３０】
図示するように本例に係る検知動作は、第４実施形態で説明した図２２のステップＳ３４において、ＥＸＯＲ演算を否定論理積（ＮＡＮＤ）演算に置き換えたものである（ステップＳ５０）。その他の動作は第４実施形態と同様である。
【０１３１】
図３０は検知動作の具体例を示しており、第４実施形態で図２３乃至図２６を用いて説明した例と同一の場合を示している。第４実施形態と同様に図２３乃至図２５の処理の後、本実施形態では図３０に示すようにＮＡＮＤ演算が実行される。その結果、「常に非Isolation不良状態」となる不良を有するカラムＣ７（すなわち、不良カラムにも関わらず、通常動作時にはスキップされないカラムＣ４）についての演算結果が“ＦＥ”となり、その他のカラムについての演算結果は全て“ＦＦ”となる。
【０１３２】
これにより、カラムＣ４に「常に非Isolation不良状態」となる不良があることが分かる。
【０１３３】
６．２  本実施形態に係る効果  
本実施形態によれば、第５実施形態と同様にアイソレーション不良の種類まで特定することが出来る。従って、不良検知精度をより向上出来る。
【０１３４】
７．第７実施形態  
次に、第７実施形態に係る半導体記憶装置、コントローラ、及びメモリシステムについて説明する。本実施形態は、上記第１乃至第６実施形態の組み合わせに関するものである。以下では、第１乃至第６実施形態と異なる点についてのみ説明する。
【０１３５】
７．１  メモリシステムの構成について  
図３１は、本実施形態に係るメモリシステムのブロック図である。図示するようにメモリシステム１００は、第１乃至第６実施形態で説明したＮＡＮＤ型フラッシュメモリ１、コントローラ２００、及びホスト機器３００を備えている。
【０１３６】
コントローラ２００は、ホスト機器３００からの命令に応答して、ＮＡＮＤ型フラッシュメモリ１に対して読み出し、書き込み、消去等を命令する。また、ＮＡＮＤ型フラッシュメモリ１のメモリ空間を管理する。コントローラ２００とＮＡＮＤ型フラッシュメモリ１は、例えば同一の半導体装置を構成しても良い。またメモリシステム１００が１つの装置であっても良く、その例としてはＳＤＴＭカードのようなメモリカードや、ＳＳＤ（solid state drive）等が挙げられる。またメモリシステム１００は、ＮＡＮＤ型フラッシュメモリ１及びコントローラ２００がパーソナルコンピュータに内蔵された構成であっても良いし、ＮＡＮＤ型フラッシュメモリ１が搭載されているアプリケーションであれば限定されるものではない。
【０１３７】
コントローラ２００は、ホストインターフェイス回路２１０、内蔵メモリ（ＲＡＭ）２２０、プロセッサ（ＣＰＵ）２３０、バッファメモリ２４０、及びＮＡＮＤインターフェイス回路２５０を備えている。
【０１３８】
ホストインターフェイス回路２１０は、コントローラバスを介してホスト機器３００と接続され、ホスト機器３００との通信を司る。そして、ホスト機器３００から受信した命令及びデータを、それぞれＣＰＵ２３０及びバッファメモリ２４０に転送する。またＣＰＵ２３０の命令に応答して、バッファメモリ２４０内のデータをホスト機器３００へ転送する。
【０１３９】
ＮＡＮＤインターフェイス回路２５０は、ＮＡＮＤバスを介してＮＡＮＤ型フラッシュメモリ１と接続され、ＮＡＮＤ型フラッシュメモリ１との通信を司る。そして、ＣＰＵ２３０から受信した命令をＮＡＮＤ型フラッシュメモリ１に転送し、また書き込み時にはバッファメモリ２４０内の書き込みデータをＮＡＮＤ型フラッシュメモリ１へ転送する。更に読み出し時には、ＮＡＮＤ型フラッシュメモリ１から読み出されたデータをバッファメモリ２４０へ転送する。
【０１４０】
ＣＰＵ２３０は、コントローラ２００全体の動作を制御する。例えば、ホスト機器３００から読み出し命令を受信した際には、それに応答して、ＮＡＮＤインターフェイスに基づく読み出しコマンドを発行する。書き込み及び消去の際も同様である。またＣＰＵ２３０は、ウェアレベリング等、ＮＡＮＤ型フラッシュメモリ１を管理するための様々な処理を実行する。更にＣＰＵ２３０は、各種の演算を実行する。例えば、データの暗号化処理、ランダマイズ処理、及びデータの誤り訂正（ＥＣＣ：Error Checking and Correcting）処理等を実行する。
【０１４１】
内蔵メモリ２２０は、例えばＤＲＡＭ等の半導体メモリであり、ＣＰＵ２３０の作業領域として使用される。そして内蔵メモリ２２０は、ＮＡＮＤ型フラッシュメモリ１を管理するためのファームウェアや、各種の管理テーブル等を保持する。
【０１４２】
７．２  メモリシステム１００の動作について  
次に、本実施形態に係るメモリシステム１００の動作につき、特に後天的不良検知動作に着目して、図３２を用いて説明する。図３２は、特にＮＡＮＤ型フラッシュメモリ１及びコントローラ２００の動作を示すフローチャートである。
【０１４３】
図示するように、まずＮＡＮＤ型フラッシュメモリ１は、コントローラ２００またはホスト機器３００による電源投入直後にＰＯＲを実行する。すなわち、メモリセルアレイ１０のＲＯＭフューズ領域からＲＯＭフューズ情報を読み出す（ステップＳ６０）。ＲＯＭフューズ情報は、使用を禁止されたブロックを示すバッドブロック情報や、カラムリダンダンシ情報、更には回路動作に必要な電圧を示すトリミング情報等を含む。そして読み出されたＲＯＭフューズ情報は、コントローラ２００に転送され、内蔵メモリ２２０に保持される。
【０１４４】
更にＮＡＮＤ型フラッシュメモリ１は、ＰＯＲ動作の一部として、第１実施形態で説明した後天的不良検知動作を実行する（ステップＳ６１）。すなわち、図５で説明した処理を実行し、アイソレーションラッチ２２における後天的不良の有無を確認する。そしてＮＡＮＤ型フラッシュメモリ１は、検知結果をコントローラ２００へ出力する。なお、この時点では、不良の有無は検出出来るが、不良の種類及びそのアドレスまでは検出されていない。
【０１４５】
ステップＳ６１の結果、アイソレーションラッチ２２における後天的不良の有無が分かる。後天的不良が無ければ（ステップＳ６２、ＮＯ）、ＰＯＲ動作は終了し、メモリシステム１００はユーザモード（通常動作モード）となる。
【０１４６】
ステップＳ６１の結果、後天的不良が有れば（ステップＳ６２、ＹＥＳ）、ＰＯＲ動作を終了し、コントローラ２００は、検知動作モードに入る。この検知動作モードは、ＰＯＲ動作の直後の動作モードであり、電源投入後、後天的不良の存在が明らかとなった場合に、ユーザモードの前に入るモードである。検知動作モードにおいて、コントローラ２００は第１コマンドを発行する（ステップＳ６３）。第１コマンドは、相殺不良を検知するコマンドである。この第１コマンドに応答してＮＡＮＤ型フラッシュメモリ１は、第４実施形態で説明した後天的不良検知動作を実行する（ステップＳ６４）。すなわち、図２２で説明した処理を実行する。この結果、データラッチ２０内に、ＥＸＯＲ演算結果が保持される。
【０１４７】
コントローラ２００は、データラッチ２０内のＥＸＯＲ演算結果をシリアルリードする。これによりコントローラ２００は、不良の発生した全てのアイソレーションラッチ２２のアドレスを特定する（ステップＳ６５）。
【０１４８】
引き続きコントローラ２００は、第２コマンドを発行する（ステップＳ６６）。第２コマンドは、カラムが常にIsolation状態とされる不良を検知するコマンドである。この第２コマンドに応答してＮＡＮＤ型フラッシュメモリ１は、第５実施形態で説明した後天的不良検知動作を実行する（ステップＳ６７）。すなわち、図２７で説明した処理を実行する。この結果、データラッチ２０内にはＯＲ演算結果が保持される。
【０１４９】
コントローラ２００は、データラッチ２０内のＯＲ演算結果をシリアルリードする。これによりコントローラ２００は、アイソレーションラッチ２２において、カラムが常にIsolation状態とされる不良のアドレスを特定出来る（ステップＳ６８）。また、ステップＳ６８で得られたアドレスと異なるアドレスがステップＳ６５で得られていれば、その不良は、カラムが常に非Isolation状態とされる不良であることが分かる。
【０１５０】
ステップＳ６８が完了すると、メモリシステムは検知モードからユーザモードに遷移する。  通常動作モードは、ホスト機器３００がＮＡＮＤ型フラッシュメモリ１にアクセス可能な状態である。例えばホスト機器からの読み出し命令に応答して、コントローラ２００はＮＡＮＤ型フラッシュメモリ１に対してノーマルリードコマンドを発行する（ステップＳ６９）。
【０１５１】
するとＮＡＮＤ型フラッシュメモリ１は、受信したコマンドに応答してノーマルリードを実行する（ステップＳ７０）。すなわちＮＡＮＤ型フラッシュメモリ１は、メモリセルアレイ１０からページ単位でデータを読み出し、読み出しデータをデータラッチ２０に格納する。
【０１５２】
そしてコントローラ２００は、データラッチ２０内のデータをシリアルリードする（ステップＳ７１）。シリアルリードしたデータが正常であれば（ステップＳ７２、ＹＥＳ））、コントローラ２００は読み出し動作を終了し、読み出しデータをホスト機器３００へ出力する。他方、データが正常でなければ（ステップＳ７２、ＮＯ）、ＰＯＲ時と同様に、コントローラ２００は第１、第２コマンドを順次発行し、第４、第５実施形態で説明した後天的不良検知動作を実行する（ステップＳ７３〜Ｓ７８）。そして、得られた結果に基づき、ステップＳ７１で読み出したデータを補正する（ステップＳ７９）。その後、補正したデータをホスト機器３００へ出力する。
【０１５３】
７．３  本実施形態に係る効果  
本実施形態によれば、コントローラ２００はアイソレーションラッチ２２における不良の有無、不良の位置、及び不良の種類を認識した状態で、ＮＡＮＤ型フラッシュメモリ１にアクセス出来る。従って、メモリシステム１００の動作信頼性を向上出来る。
【０１５４】
なお、図３２では、ＰＯＲ直後の検知動作モード時とユーザモード時との両方において、第４、第５実施形態で説明した後天的不良検知動作を実行する例を示しているが、検知動作モード時とユーザモード時のいずれか一方においてのみ実行されても良い。
【０１５５】
またステップＳ６１では、第１実施形態で説明した検知動作の代わりに、第２実施形態で説明した検知動作を行っても良い。更にステップＳ６７及びＳ７７では、第５実施形態で説明した検知動作の代わりに、第６実施形態で説明した検知動作を行っても良い。この場合、ステップＳ６７及びＳ７７においてコントローラ２００は、カラムが常に非Isolation状態とされる不良のアドレスを特定出来る。そして残りの後天的不良は、カラムが常にIsolation状態とされる不良であることが分かる。
【０１５６】
８．変形例等  
上記のように、実施形態に係る半導体記憶装置１は、メモリセルアレイ１０と、複数の第１ラッチ回路２２と、レジスタ２８と、比較器３０とを備える。メモリセルアレイ１０は、ロウ及びカラムに関連付けられた複数のメモリセルを備える。複数の第１ラッチ回路２２は、カラム毎に対応付けて設けられ、対応するカラムが不良カラムであるか否かの情報を保持可能である。レジスタ２８は、リダンダンシ用のカラム数を保持する。比較器３０は、不良カラムである旨の情報を保持する第１ラッチ回路２２の数と、レジスタ２８内の情報に基づくクライテリアとを比較する。そして、比較器３０における比較結果に応じて、第１ラッチ回路２２における不良の有無が判断される（図１５のＳ１５〜Ｓ１８）。
【０１５７】
本構成により、半導体記憶装置の動作信頼性を向上出来る。なお、実施形態は上記説明したものに限定されず、種々の変形が可能である。
【０１５８】
例えば、上記実施形態では図６乃至図１１等において、不良カラムまたは未使用のリダンダンシカラムに対応するアイソレーションラッチ２２に“０”がセットされる場合を説明した。しかし、“０”の代わりに“１”がセットされる場合であっても良いし、または２ビット以上のデータがセットされても良く、正常カラムまたは使用中の正常なリダンダンシカラムと区別出来る値であれば良い。
【０１５９】
また、“０”がセットされたアイソレーションラッチ２２の個数をカウントする方法は、第１及び第２実施形態で説明した方法には限られず、種々の方法を使用出来る。
【０１６０】
更に第２実施形態の一括検知では、図１７及び図１８に示したように、データラッチ２０に“ＦＦ”が保持され、このデータの最下位ビットにアイソレーション情報がコピーされる場合を例に説明した。しかし、データラッチ２０に保持されるデータは、例えば“００”等、“ＦＦ”以外のデータであっても良いし、アイソレーション情報がコピーされるビットは、最上位ビット等、最下位ビット以外の位置であっても良い。
【０１６１】
更に、第４乃至第６実施形態では、それぞれ第１データラッチ部４０に“００”が格納され、不良カラムに対応する場合には“０１”に上書きされる場合を例に挙げて説明した。しかし、第１データラッチ部４０にセットされるデータは、“００”及び“０１”以外の値であっても良く、適宜選択出来る。また、論理演算の種類も、ＥＸＯＲ演算、ＯＲ演算、及びＮＡＮＤ演算を用いる場合に限られない。また第４乃至第６実施形態では、演算結果が“ＦＥ”であった場合に不良があると判断される例を説明した。しかし、必ずしも“ＦＥ”である必要は無く、不良の無いカラムで得られる演算結果と区別出来る値であれば良い。例えば、演算結果の全ビットが“１（８ｈＦＦ）”または全ビットが“０（８ｈ００）”の場合には不良は無く、演算結果のビットに“１”と“０”の両方が含まれる場合には不良がある、と規定しても良い。
【０１６２】
なお、上記の通り、第１及び第２実施形態では、アイソレーションラッチ２２に不良があるか否かを検出することは出来るが、そのアドレス及び不良の種類まで検出するには、第４乃至第６実施形態で説明した処理が必要である。しかしながら、第１及び第２実施形態では、高速な検知動作が可能であり、またその処理内容の単純化を図ることが出来る。よって、スペックやコストの点でメリットがある。また、相反するアイソレーション不良が同時に発生する確率は非常に低いため、第１及び第２実施形態に係る方法であっても十分な効果がある。
【０１６３】
更に、図２に示したメモリセルアレイ１０は、図３３のような構成としても良い。図３３は、ブロックＢＬＫ０の回路図であり、その他のブロックＢＬＫ１〜ＢＬＫ３も同様の構成を有し得る。図示するように、ワード線ＷＬ０〜ＷＬ３、ワード線ＷＬ０に隣接するダミーワード線ＷＬＤＤ、バックゲート線ＢＧ、偶数番目のセレクトゲート線ＳＧＤ０、ＳＧＤ２、及び奇数番目のセレクトゲート線ＳＧＳ１、ＳＧＳ３は、メモリセルアレイ１０の一端側に引き出される。これに対してワード線ＷＬ４〜ＷＬ７、ワード線ＷＬ７に隣接するダミーワード線ＷＬＤＳ、偶数番目のセレクトゲート線ＳＧＳ０、ＳＧＳ２、及び奇数番目のセレクトゲート線ＳＧＤ１、ＳＧＤ３は、メモリセルアレイの、前記一端側とは逆側の他端側に引き出される。このような構成としても良い。本構成において、例えばワード線ＷＬを選択するロウデコーダ１１を２つのロウデコーダに分割し、メモリセルアレイ１０を挟んで対向するようにこれらを配置しても良い。そして、一方のロウデコーダによりセレクトゲート線ＳＧＤ０、ＳＧＤ２、ＳＧＳ１、ＳＧＳ３、ワード線ＷＬ０〜ＷＬ３、ダミーワード線ＷＬＤＤ、及びバックゲート線ＢＧを選択し、他方のロウデコーダによりセレクトゲート線ＳＧＳ０、ＳＧＳ２、ＳＧＤ１、ＳＧＤ３、ワード線ＷＬ４〜ＷＬ７、及びダミーワード線ＷＬＤＳを選択するようにしても良い。本構成によれば、ロウ系の周辺回路（ロウデコーダやロウドライバ）とメモリセルアレイ１０との間の領域のセレクトゲート線やワード線等の配線の混雑を緩和出来る。
【０１６４】
また上記実施形態はＮＡＮＤ型フラッシュメモリに限らず、可能な限り半導体記憶装置全般に適用出来る。更に上記実施形態において説明したフローチャートは、可能な限り、その順序を入れ替えることも可能である。
【０１６５】
なお、上記実施形態は、下記の形態を含む。すなわち、  
[1]ロウ及びカラムに関連付けられた複数のメモリセルを備えたメモリセルアレイと、  
前記カラム毎に対応付けて設けられ、対応する前記カラムが不良カラムであるか否かの情報を保持可能な、複数の第１ラッチ回路(Isolation latch 22 in FIG4)と、  
リダンダンシ用のカラム数を保持するレジスタ(28 in FIG4)と、  
前記不良カラムである旨の情報を保持する前記第１ラッチ回路(Isolation latch 22)の数と、前記レジスタ(28)内の情報に基づくクライテリアとを比較する比較器(30 in FIG4)と  
を具備し、前記比較器(30)における比較結果に応じて、前記第１ラッチ回路(Isolation latch 22)における不良の有無が判断される(S15-18 in FIG5)。  
[2]前記カラム毎に対応付けて設けられ、ポインタがセットされ得る複数の第２ラッチ回路(latch 23 in FIG4)と、  
前記カラム毎に対応付けて設けられ、対応する前記カラムに対する書き込みデータまたは読み出しデータを保持可能であると共に、対応する前記第１ラッチ回路(Isolataion latch 22)が前記不良カラムでない旨の情報を保持する場合に、前記第２ラッチ回路(23)に前記ポインタがセットされるタイミングで活性化される複数の第３ラッチ回路(Data latch 20 in FIG4)と  
を更に備え、前記ポインタは、クロックに同期して前記第２ラッチ回路(23)間を順次シフトされ、  
前記ポインタをシフトする際において、第１モード(1st skip mode in FIG5)では、前記不良カラムである旨の情報を保持する前記第１ラッチ回路(Isolataion latch 22)に対応する前記第２ラッチ回路(23)がスキップされ、  
第２モード(No isolation column skip mode, 2nd skip mode in FIG5)では、前記不良カラムでない旨の情報を保持する前記第１ラッチ回路(Isolataion latch 22)に対応する前記第２ラッチ回路(23)がスキップされる(S12 in FIG5)[1]の半導体記憶装置。  
[3]前記クロックに同期するカウンタ(29 in FIG4)を更に備え、  
前記第２ラッチ回路(23)は直列に接続され、  
前記不良の有無を判断する際には、前記第２モード(No isolation column skip mode, 2nd skip mode)が選択され、  
前記比較器(30)は、前記第２ラッチ回路(23)の直列接続の最終段から前記ポインタが出力されたタイミング(END=1 in FIG11)における前記カウンタ(29)のカウンタ値と、前記クライテリアとを比較する[2]の半導体記憶装置。  
[4]前記カラム毎に対応付けて設けられ、対応する前記カラムに対する書き込みデータまたは読み出しデータを保持可能な複数の第２ラッチ回路(Data latch 20 in FIG4)を更に備え、  
前記第１ラッチ回路(Isolation latch 22)内の情報を、対応する前記第２ラッチ回路(Data latch 20)に転送し、  
前記第２ラッチ回路(Data latch 20)内の特定のビット(“8hFE”に含まれる“0” in FIG18)を一括検知することで、前記不良カラムである旨の情報を保持する前記第１ラッチ回路(Isolation latch 22)の数を検出する[1]の半導体記憶装置。  
[5]前記不良カラムである旨の情報は、前記リダンダンシ用のカラムに対応する前記第１ラッチ回路にもセットされる[1]乃至[4]いずれかの半導体記憶装置。  
[6]ロウ及びカラムに関連付けられた複数のメモリセルを備えたメモリセルアレイと、  
前記カラム毎に対応付けて設けられ、対応する前記カラムが不良カラムであるか否かの情報を保持可能な、複数の第１ラッチ回路(Isolation latch 22 in FIG4)と、  
前記カラム毎に対応付けて設けられた第２、第３ラッチ回路(41,40 in FIG21)と  
を具備し、前記第１ラッチ回路(22)の不良検出時において、  
前記第１ラッチ回路(22)内の情報が、対応する前記第２ラッチ回路(41)に転送され、  
ＲＯＭフューズ情報から得られる不良カラムアドレスに対応する前記第３ラッチ回路(40)に第１の値(“8h01” in FIG22,25)がセットされ、残りの前記第３ラッチ回路(40)に第２の値(“8h00” in FIG21,25)がセットされ、  
前記第２、第３ラッチ回路(41,40)の保持データの論理演算結果の、前記カラム間における相違に基づいて、前記第１ラッチ回路(22)の不良が検出される(FIG26)。  
[7]前記第１の値(“8h01”)は、リダンダンシ用のカラムに対応する前記第３ラッチ回路(40)にもセットされる[6]の半導体記憶装置。  
[8]前記第２、第３ラッチ回路の各々は、複数ビットのデータを保持可能とされ、  
前記論理演算は、排他的論理和（ＥＸＯＲ）演算、論理和（ＯＲ）演算、及び否定論理積（ＮＡＮＤ）演算のいずれかであり、  
前記演算結果の全ビットが“１”または全ビットが“０”であったカラムでは、対応する前記第１ラッチ回路に不良が無いと判断され、  
前記演算結果に“１”及び“０”の両方が含まれるカラムでは、対応する前記第１ラッチ回路に不良があると判断される[6]または[7]の半導体記憶装置。  
[9]上記[1]乃至[5]いずれかの半導体記憶装置を制御するコントローラであって、  
前記半導体記憶装置へのコマンドを発行する制御部(230 in FIG31)と、  
前記第１ラッチ回路(Isolation latch 22)における不良に関する情報を保持するメモリ(220 in FIG31)とを具備するコントローラ。  
[10]前記半導体記憶装置は、電源投入直後にＲＯＭフューズ情報を読み出した後に、前記第１ラッチ回路における不良の有無を判断し(S61 in FIG32)、  
前記不良があると判断された場合、前記制御部(230)は、第１コマンドを発行することにより前記不良のアドレスを特定し(S63 in FIG32)、  
引き続き前記制御部(230)は第２コマンドを発行することにより前記不良の種類を特定する(S66 in FIG32)[9]のコントローラ。  
[11]前記制御部は、前記半導体記憶装置に対する読み出しアクセス時にデータを正常に読み出せなかった場合に(S72,NO in FIG32)、第１コマンドを発行することにより前記不良のアドレスを特定し(S73 in FIG32)、  
引き続き第２コマンドを発行することにより前記不良の種類を特定し(S76 in FIG32)、  
次に、前記特定された不良のアドレス及び種類に基づいて、データを補正する(S79 in FIG32)[9]のコントローラ。  
[12]上記[1]乃至[5]いずれかの半導体記憶装置と、上記[9]乃至[11]いずれかのコントローラとを具備するメモリシステム。
【０１６６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１６７】
１…半導体記憶装置、１０…メモリセルアレイ、１１…ロウデコーダ、１２…カラム制御部、１３…入出力回路、１４…制御回路、２０、２２、２３、４０〜４２…ラッチ回路、２４…デコーダ、２５、２６…選択回路、２７…比較部、２８、３１…レジスタ、２９…カウンタ、３０…比較器、３２…加算器、４３…演算部、１００…メモリシステム、２００…コントローラ、２１０…ホストインターフェイス回路、２２０…内蔵メモリ、２３０…プロセッサ、２４０…バッファメモリ、２５０…ＮＡＮＤインターフェイス回路、３００…ホスト機器
【図１】
2014186772.tif 000003
【図２】
2014186772.tif 000004
【図３】
2014186772.tif 000005
【図４】
2014186772.tif 000006
【図５】
2014186772.tif 000007
【図６】
2014186772.tif 000008
【図７】
2014186772.tif 000009
【図８】
2014186772.tif 000010
【図９】
2014186772.tif 000011
【図１０】
2014186772.tif 000012
【図１１】
2014186772.tif 000013
【図１２】
2014186772.tif 000014
【図１３】
2014186772.tif 000015
【図１４】
2014186772.tif 000016
【図１５】
2014186772.tif 000017
【図１６】
2014186772.tif 000018
【図１７】
2014186772.tif 000019
【図１８】
2014186772.tif 000020
【図１９】
2014186772.tif 000021
【図２０】
2014186772.tif 000022
【図２１】
2014186772.tif 000023
【図２２】
2014186772.tif 000024
【図２３】
2014186772.tif 000025
【図２４】
2014186772.tif 000026
【図２５】
2014186772.tif 000027
【図２６】
2014186772.tif 000028
【図２７】
2014186772.tif 000029
【図２８】
2014186772.tif 000030
【図２９】
2014186772.tif 000031
【図３０】
2014186772.tif 000032
【図３１】
2014186772.tif 000033
【図３２】
2014186772.tif 000034
【図３３】
2014186772.tif 000035