(57)【要約】【課題】使用効率を向上出来る半導体記憶装置を提供すること。【解決手段】実施形態の半導体記憶装置１は、電荷蓄積層と制御ゲートを備えた第１、第２選択トランジスタＳＴ１、ＳＴ２と、各々が電荷蓄積層と制御ゲートを備え、第１、第２選択トランジスタ間に直列接続された複数のメモリセルトランジスタＭＴとを備える。メモリセルトランジスタＭＴのいずれかが不良の場合、該不良情報が第１、第２選択トランジスタＳＴ１、ＳＴ２の少なくともいずれかに書き込まれる。【選択図】図６
2014063551.tif 000002
【特許請求の範囲】
【請求項１】
電荷蓄積層と制御ゲートを備えた第１、第２選択トランジスタと、
各々が電荷蓄積層と制御ゲートを備え、前記第１、第２選択トランジスタ間に直列接続された複数のメモリセルトランジスタと
を具備し、前記メモリセルトランジスタのいずれかが不良の場合、該不良情報が前記第１、第２選択トランジスタの少なくともいずれかに書き込まれる
ことを特徴とする半導体記憶装置。
【請求項２】
各々が、前記第１、第２選択トランジスタと、前記直列接続されたメモリセルトランジスタとを含む複数のＮＡＮＤストリングを含むストリンググループと、
複数の前記ストリンググループを備え、データの消去単位となり得るブロックと
を更に備え、データの読み出しは、いずれかの前記ストリンググループ内の各ＮＡＮＤストリングから選ばれたいずれかのメモリセルトランジスタの集合につき一括して行われ、
前記不良情報は、前記ストリンググループ単位で管理され、
データを読み出した際、前記不良情報が書き込まれたいずれかのストリンググループは、全ての前記ＮＡＮＤストリングから、前記メモリセルトランジスタがオフ状態である旨の情報を出力する
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記ブロックを複数備えたメモリセルアレイを更に備え、
前記メモリセルアレイは、不良ブロック情報を保持する第１領域と、不良ストリング情報を保持する第２領域とを備え、
電源投入時に、コントローラから読み出し命令を受けることなく前記第１領域から前記不良ブロック情報を読み出して該不良ブロック情報を前記コントローラへ転送し、
前記コントローラからの読み出し命令に応答して、前記第２領域から前記不良ストリング情報を読み出して該不良ストリング情報を前記コントローラへ転送する
ことを特徴とする請求項２記載の半導体記憶装置。
【請求項４】
データの消去は前記ブロック単位で行われ、消去ベリファイ動作は前記ストリンググループ単位で行われ、
前記不良情報が書き込まれたストリンググループは、消去ベリファイ動作を行うことなく、該消去ベリファイ動作にパスしたと扱われる
ことを特徴とする請求項３記載の半導体記憶装置。
【請求項５】
前記ブロックを複数備えたメモリセルアレイと、
前記ブロックに対応して設けられ、対応付けられたブロックを選択するロウデコーダと
を更に備え、前記ロウデコーダは、前記対応付けられたブロックが不良であるか否かの情報を保持する第１保持回路と、
前記対応付けられたブロックが、前記不良情報が書き込まれたストリンググループを含むか否かの情報を保持する第２保持回路と
を備えることを特徴とする請求項２記載の半導体記憶装置。
【請求項６】
電荷蓄積層と制御ゲートを備えた第１、第２選択トランジスタと、
電荷蓄積層と制御ゲートを備えたバックゲートトランジスタと、
各々が電荷蓄積層と制御ゲートを備え、前記第１選択トランジスタと前記バックゲートトランジスタとの間に直列接続された複数の第１メモリセルトランジスタと、
各々が電荷蓄積層と制御ゲートを備え、前記半導体基板上に積層されると共に、前記バックゲートトランジスタと前記第２選択トランジスタとの間に直列接続された複数の第２メモリセルトランジスタと
を具備し、前記第１、第２メモリセルトランジスタのいずれかが不良の場合、該不良情報が前記バックゲートトランジスタに書き込まれる
ことを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
メモリセルが三次元に配列されたＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第７，９３６，００４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
使用効率を向上出来る半導体記憶装置を提供する。
【課題を解決するための手段】
【０００５】
実施形態の半導体記憶装置は、電荷蓄積層と制御ゲートを備えた第１、第２選択トランジスタと、各々が電荷蓄積層と制御ゲートを備え、第１、第２選択トランジスタ間に直列接続された複数のメモリセルトランジスタとを具備する。メモリセルトランジスタのいずれかが不良の場合、該不良情報が、第１、第２選択トランジスタの少なくともいずれかに書き込まれる。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係る半導体記憶装置のブロック図。
【図２】第１実施形態に係るメモリセルアレイの回路図。
【図３】第１実施形態に係るメモリセルアレイの斜視図。
【図４】第１実施形態に係るメモリセルアレイの断面図。
【図５】第１実施形態に係るロウデコーダ及びドライバ回路のブロック図。
【図６】第１実施形態に係るテスト方法のフローチャート。
【図７】第１実施形態に係るメモリセルの閾値分布を示すダイアグラム。
【図８】第１実施形態に係るメモリセルアレイの回路図。
【図９】第１実施形態に係るメモリセルアレイの断面図。
【図１０】第１実施形態に係るメモリセルアレイの回路図。
【図１１】第１実施形態に係るメモリセルアレイの断面図。
【図１２】第１実施形態に係るメモリセルアレイの回路図。
【図１３】第１実施形態に係る消去方法のフローチャート。
【図１４】第１実施形態に係るメモリセルアレイの断面図。
【図１５】メモリセルアレイの製造工程の断面図。
【図１６】第２実施形態に係るテスト方法のフローチャート。
【図１７】第２実施形態に係るテスト方法のフローチャート。
【図１８】第２実施形態に係るテスト方法のフローチャート。
【図１９】第２実施形態に係るテスト方法のフローチャート。
【図２０】第２実施形態に係るテスト方法のフローチャート。
【図２１】第２実施形態に係るテスト方法のフローチャート。
【図２２】第３実施形態に係るメモリセルアレイの模式図。
【図２３】第３実施形態に係るＲＯＭフューズデータの概念図。
【図２４】第３実施形態に係るバッドストリング情報の概念図。
【図２５】第３実施形態に係るバッドストリング情報の概念図。
【図２６】第３実施形態に係る不良情報読み出し方法のフローチャート。
【図２７】第４実施形態に係るメモリセルアレイの回路図。
【図２８】第４実施形態に係るメモリセルアレイの断面図。
【図２９】第４実施形態に係る消去方法のフローチャート。
【図３０】第４実施形態に係る消去方法のフローチャート。
【図３１】第４実施形態に係るメモリセルアレイの断面図。
【図３２】第５実施形態に係るブロックデコーダの回路図。
【図３３】第５実施形態に係る書き込み方法のフローチャート。
【図３４】第６実施形態に係る判定方法のフローチャート。
【図３５】第６実施形態に係る判定方法の概念図。
【図３６】第６実施形態に係る判定方法のフローチャート。
【図３７】第６実施形態に係るドライバ、ロウデコーダ、及びメモリセルアレイの模式図。
【図３８】ドライバ、ロウデコーダ、及びメモリセルアレイの模式図。
【図３９】第６実施形態に係る判定方法のフローチャート。
【図４０】第６実施形態に係る判定方法のフローチャート。
【図４１】第７実施形態に係るメモリシステムのブロック図。
【図４２】ワード線の平面図。
【図４３】第１乃至第７実施形態の変形例に係るメモリセルアレイの回路図。
【発明を実施するための形態】
【０００７】
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００８】
１．第１実施形態  
第１実施形態に係る半導体記憶装置について説明する。以下では半導体記憶装置として、メモリセルが半導体基板上に積層された三次元積層型ＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【０００９】
１．１  半導体記憶装置の構成について  
まず、本実施形態に係る半導体記憶装置の構成について説明する。
【００１０】
１．１．１  半導体記憶装置の全体構成について  
図１は、本実施形態に係る半導体記憶装置のブロック図である。図示するようにＮＡＮＤ型フラッシュメモリ１は、メモリセルアレイ１０、ロウデコーダ１１、センスアンプ１２、カラムデコーダ１３、及び周辺回路１４を備えている。
【００１１】
メモリセルアレイ１０は、不揮発性のメモリセルの集合である複数（本例では４個）のブロックＢＬＫ（ＢＬＫ０〜ＢＬＫ３）を備えている。同一ブロックＢＬＫ内のデータは一括して消去される。ブロックＢＬＫの各々は、メモリセルが直列接続されたＮＡＮＤストリング１５の集合である複数（本例では４個）のストリンググループＧＰ（ＧＰ０〜ＧＰ３）を備えている。もちろん、メモリセルアレイ１０内のブロック数や、１ブロックＢＬＫ内のストリンググループ数は任意である。
【００１２】
ロウデコーダ１１は、ブロックアドレスＢＡをデコードして、対応するブロックＢＬＫを選択する。
【００１３】
センスアンプ１２は、データの読み出し時には、メモリセルから読み出したデータをセンス・増幅する。またデータの書き込み時には、書き込みデータをメモリセルに転送する。
【００１４】
カラムデコーダ１３は、カラムアドレスをデコードして、メモリセルアレイ１０のカラム方向を選択する。
【００１５】
周辺回路１４は、第１ドライバ１６、第２ドライバ１７、チャージポンプ１８、及びアドレスデコーダ１９を備える。
【００１６】
第１ドライバ１６は、データの書き込み、読み出し、及び消去に必要な電圧を、ロウデコーダ１１に供給する。この電圧が、ロウデコーダ１１によってメモリセル（後述するワード線、セレクトゲート線、及びバックゲート線）に印加される。
【００１７】
第２ドライバ１７は、データの書き込み、読み出し、及び消去に必要な電圧を、センスアンプ１２及び図示せぬソース線ドライバに供給する。この電圧が、センスアンプ１２及びソース線ドライバによってメモリセル（後述するビット線及びソース線）に印加される。
【００１８】
チャージポンプ１８は、外部から与えられる電源電圧を昇圧して、必要な電圧を第１ドライバ１６及び第２ドライバ１７に供給する。
【００１９】
アドレスデコーダ１９は、ＮＡＮＤ型フラッシュメモリ１を制御するコントローラからアドレスを受信する。そして、このアドレスをデコードして、ブロックアドレスをロウデコーダ１１に送信し、カラムアドレスをカラムデコーダ１３に送信し、ページアドレスを第１ドライバ１６に送信する。
【００２０】
そして、図示せぬシーケンサが、ＮＡＮＤ型フラッシュメモリ１全体の動作を制御する。
【００２１】
１．１．２  メモリセルアレイ１０について  
次に、上記メモリセルアレイ１０の構成の詳細について説明する。図２は、ブロックＢＬＫ０の回路図である。ブロックＢＬＫ１〜ＢＬＫ３も同様の構成を有している。
【００２２】
図示するように、ブロックＢＬＫ０は例えば４つのストリンググループＧＰを含む。また各々のストリンググループＧＰは、ｎ個（ｎは自然数）のＮＡＮＤストリング１５を含む。
【００２３】
ＮＡＮＤストリング１５の各々は、例えば８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）と、選択トランジスタＳＴ１、ＳＴ２と、バックゲートトランジスタＢＴとを含んでいる。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを含む積層ゲートを備え、データを不揮発に保持する。なお、メモリセルトランジスタＭＴの個数は８個に限られず、１６個や３２個、６４個、１２８個等であってもよく、その数は限定されるものではない。バックゲートトランジスタＢＴもメモリセルトランジスタＭＴと同様に、制御ゲートと電荷蓄積層とを含む積層ゲートを備える。但しバックゲートトランジスタＢＴはデータを保持するためのものでは無く、データの書き込み、読み出し、及び消去時には単なる電流経路として機能する。メモリセルトランジスタＭＴ及びバックゲートトランジスタＢＴは、選択トランジスタＳＴ１、ＳＴ２間に、その電流経路が直列接続されるようにして配置されている。なおバックゲートトランジスタＢＴは、メモリセルトランジスタＭＴ３とＭＴ４との間に設けられる。この直列接続の一端側のメモリセルトランジスタＭＴ７の電流経路は選択トランジスタＳＴ１の電流経路の一端に接続され、他端側のメモリセルトランジスタＭＴ０の電流経路は選択トランジスタＳＴ２の電流経路の一端に接続されている。
【００２４】
ストリンググループＧＰ０〜ＧＰ３の各々の選択トランジスタＳＴ１のゲートは、それぞれセレクトゲート線ＳＧＤ０〜ＳＧＤ３に共通接続され、選択トランジスタＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＳ０〜ＳＧＳ３に共通接続される。これに対して同一のブロックＢＬＫ０内にあるメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートはそれぞれワード線ＷＬ０〜ＷＬ７に共通接続され、バックゲートトランジスタＢＴの制御ゲートはバックゲート線ＢＧ（ブロックＢＬＫ０〜ＢＬＫ３では、それぞれＢＧ０〜ＢＧ３）に共通接続される。
【００２５】
すなわち、ワード線ＷＬ０〜ＷＬ７及びバックゲート線ＢＧは同一ブロックＢＬＫ０内の複数のストリンググループＧＰ０〜ＧＰ３間で共通に接続されているのに対し、セレクトゲート線ＳＧＤ、ＳＧＳは、同一ブロックＢＬＫ０内であってもストリンググループＧＰ０〜ＧＰ３毎に独立している。
【００２６】
また、メモリセルアレイ１０内でマトリクス状に配置されたＮＡＮＤストリング１５のうち、同一行にあるＮＡＮＤストリング１５の選択トランジスタＳＴ１の電流経路の他端は、いずれかのビット線ＢＬ（ＢＬ０〜ＢＬｎ、ｎは自然数）に共通接続される。すなわち、ビット線ＢＬは、複数のブロックＢＬＫ間で、ＮＡＮＤストリング１５を共通に接続する。また、選択トランジスタＳＴ２の電流経路の他端は、ソース線ＳＬに共通に接続されている。ソース線ＳＬは、例えば複数のブロック間で、ＮＡＮＤストリング１５を共通に接続する。
【００２７】
前述の通り、同一のブロックＢＬＫ内にあるメモリセルトランジスタＭＴのデータは、一括して消去される。これに対してデータの読み出し及び書き込みは、いずれかのブロックＢＬＫのいずれかのストリンググループＧＰにおける、いずれかのワード線ＷＬに共通に接続された複数のメモリセルトランジスタＭＴにつき、一括して行われる。この単位を「ページ」と呼ぶ。
【００２８】
次に、メモリセルアレイ１０の三次元積層構造につき、図３及び図４を用いて説明する。図３及び図４は、メモリセルアレイ１０の斜視図及び断面図である。
【００２９】
図示するようにメモリセルアレイ１０は、半導体基板２０上に設けられている。そしてメモリセルアレイ１０は、半導体基板２０上に順次形成されたバックゲートトランジスタ層Ｌ１、メモリセルトランジスタ層Ｌ２、選択トランジスタ層Ｌ３、及び配線層Ｌ４を有する。
【００３０】
バックゲートトランジスタ層Ｌ１は、バックゲートトランジスタＢＴとして機能する。メモリセルトランジスタ層Ｌ２は、メモリセルトランジスタＭＴ０〜ＭＴ７（ＮＡＮＤストリング１５）として機能する。選択トランジスタ層Ｌ３は、選択トランジスタＳＴ１、ＳＴ２として機能する。配線層Ｌ４は、ソース線ＳＬ及びビット線ＢＬとして機能する。
【００３１】
バックゲートトランジスタ層Ｌ１は、バックゲート導電層２１を有する。バックゲート導電層２１は、半導体基板２０と平行な第１方向及び第２方向に２次元的に広がるように形成されている（すなわち、第１方向及び第２方向は、メモリセルが積層される第３方向に直交する）。バックゲート導電層２１は、ブロックＢＬＫ毎に分断されている。バックゲート導電層２１は、例えば多結晶シリコンによって形成される。バックゲート導電層２１は、バックゲート線ＢＧとして機能する。
【００３２】
またバックゲート導電層２１は、図４に示すようにバックゲートホール２２を有する。バックゲートホール２２は、バックゲート導電層２１を掘り込むように形成されている。バックゲートホール２２は、上面からみて第１方向を長手方向とする略矩形状に形成されている。
【００３３】
メモリセルトランジスタ層Ｌ２は、バックゲート導電層Ｌ１の上層に形成されている。メモリセルトランジスタ層Ｌ２は、ワード線導電層２３ａ〜２３ｄを有する。ワード線導電層２３ａ〜２３ｄは、層間絶縁層（図示せず）を挟んで積層されている。ワード線導電層２３ａ〜２３ｄは、第１方向に所定ピッチをもって第２方向に延びるストライプ状に形成されている。ワード線導電層２３ａ〜２３ｄは、例えば多結晶シリコンで形成される。ワード線導電層２３ａはメモリセルトランジスタＭＴ３、ＭＴ４の制御ゲート（ワード線ＷＬ３、ＷＬ４）として機能し、ワード線導電層２３ｂはメモリセルトランジスタＭＴ２、ＭＴ５の制御ゲート（ワード線ＷＬ２、ＷＬ５）として機能し、ワード線導電層２３ｃはメモリセルトランジスタＭＴ１、ＭＴ６の制御ゲート（ワード線ＷＬ１、ＷＬ６）として機能し、ワード線導電層２３ｄはメモリセルトランジスタＭＴ０、ＭＴ７の制御ゲート（ワード線ＷＬ０、ＷＬ７）として機能する。
【００３４】
またメモリセルトランジスタ層Ｌ２は、図４に示すように、メモリホール２４を有する。メモリホール２４は、ワード線導電層２３ａ〜２３ｄを貫通するように形成されている。メモリホール２４は、バックゲートホール２２の第１方向の端部近傍に整合するように形成されている。
【００３５】
更にバックゲートトランジスタ層Ｌ１及びメモリセルトランジスタ層Ｌ２は、図４に示すように、ブロック絶縁層２５ａ、電荷蓄積層２５ｂ、トンネル絶縁層２５ｃ、及び半導体層２６を有する。半導体層２６は、ＮＡＮＤストリング１５のボディ（各トランジスタのバックゲート）として機能する。
【００３６】
ブロック絶縁層２５ａは、図４に示すように、バックゲートホール２２及びメモリホール２５に面する側壁に、所定の厚みをもって形成されている。電荷蓄積層２５ｂは、ブロック絶縁層２５ａの側面に、所定の厚みをもって形成されている。トンネル絶縁層２５ｃは、電荷蓄積層２５ｂの側面に、所定の厚みをもって形成されている。半導体層２６は、トンネル絶縁層２５ｃの側面に接するように形成されている。半導体層２６は、バックゲートホール２２及びメモリホール２４を埋めるように形成されている。
【００３７】
半導体層２６は、第２方向からみてＵ字状に形成されている。すなわち半導体層２６は、半導体基板２０の表面に対して垂直方向に延びる一対の柱状部２６ａと、一対の柱状部２６ａの下端を連結する連結部２６ｂとを有する。
【００３８】
ブロック絶縁層２５ａ及びトンネル絶縁層２５ｃは、例えば酸化シリコン（ＳｉＯ２）で形成される。電荷蓄積層２５ｂは、例えば窒化シリコン（ＳｉＮ）で形成される。半導体層２６は、多結晶シリコンで形成される。これらのブロック絶縁層２５ａ、電荷蓄積層２５ｂ、トンネル絶縁層２５ｃ、及び半導体層２６は、メモリトランジスタＭＴとして機能するＭＯＮＯＳ型トランジスタを形成する。
【００３９】
上記バックゲートトランジスタ層Ｌ１の構成を換言すると、トンネル絶縁層２５ｃは、連結部２６ｂを取り囲むように形成されている。バックゲート導電層２１は、連結部２６ｂを取り囲むように形成されている。
【００４０】
また上記メモリトランジスタ層Ｌ２の構成を換言すると、トンネル絶縁層２５ｃは、柱状部２６ａを取り囲むように形成されている。電荷蓄積層２５ｂは、トンネル絶縁層２５ｃを取り囲むように形成されている。ブロック絶縁層２５ａは、電荷蓄積層２５ｂを取り囲むように形成されている。ワード線導電層２３ａ〜２３ｄは、ブロック絶縁層２５ａ〜２５ｃ及び柱状部２６ａを取り囲むように形成されている。
【００４１】
選択トランジスタ層Ｌ３は、図３及び図４に示すように、導電層２７ａ及び２７ｂを有する。導電層２７ａ及び２７ｂは、第１方向に所定のピッチを有するように、第２方向に延びるストライプ状に形成されている。一対の導電層２７ａと、一対の導電層２７ｂは、第１方向に交互に配置されている。導電層２７ａは一方の柱状部２６ａの上層に形成され、導電層２７ｂは他方の柱状部２６ａの上層に形成されている。
【００４２】
導電層２７ａ及び２７ｂは、多結晶シリコンで形成される。導電層２７ａは、選択トランジスタＳＴ２のゲート（セレクトゲート線ＳＧＳ）として機能し、導電層２７ｂは、選択トランジスタＳＴ１のゲート（セレクトゲート線ＳＧＤ）として機能する。
【００４３】
選択トランジスタ層Ｌ３は、図４に示すように、ホール２８ａ及び２８ｂを有する。ホール２８ａ及び２８ｂは、それぞれ導電層２７ａ及び２７ｂを貫通する。またホール２８ａ及び２８ｂは、それぞれメモリホール２４と整合する。
【００４４】
選択トランジスタ層Ｌ３は、図４に示すように、ゲート絶縁層２９ａ及び２９ｂ、並びに半導体層３０ａ及び３０ｂを備えている。ゲート絶縁層２９ａ及び２９ｂは、それぞれホール２８ａ及び２８ｂに面する側壁に形成されている。半導体層３０ａ及び３０ｂは、それぞれゲート絶縁層２９ａ及び２９ｂに接するように、半導体基板２０の表面に対して垂直方向に延びる柱状に形成されている。
【００４５】
ゲート絶縁層２９ａ及び２９ｂは、例えば酸化シリコン（ＳｉＯ２）で形成される。半導体層３０ａ及び３０ｂは、例えば多結晶シリコンで形成される。
【００４６】
上記選択トランジスタ層Ｌ３の構成を換言すると、ゲート絶縁層２９ａは、柱状の半導体層３０ａを取り囲むように形成されている。導電層２７ａは、ゲート絶縁層２９ａ及び半導体層３０ａを取り囲むように形成されている。また、ゲート絶縁層２９ｂは、柱状の半導体層３０ｂを取り囲むように形成されている。導電層２７ｂは、ゲート絶縁層２９ｂ及び半導体層３０ｂを取り囲むように形成されている。
【００４７】
配線層Ｌ４は、図３及び図４に示すように、選択トランジスタ層Ｌ３の上層に形成されている。配線層Ｌ４は、ソース線層３１、プラグ層３２、及びビット線層３３を有する。
【００４８】
ソース線層３１は、第２方向に延びる板状に形成されている。ソース線層３１は、第１方向に隣接する一対の半導体層２７ａの上面に接するように形成されている。プラグ層３２は、半導体層２７ｂの上面に接し、半導体基板２０の表面に対して垂直方向に延びるように形成されている。ビット線層３３は、第２方向に所定ピッチをもって、第１方向に延びるストライプ状に形成されている。ビット線層３３は、プラグ層３２の上面に接するように形成されている。ソース線層３１、プラグ層３２、及びビット線層３３は、例えばタングステン（Ｗ）等の金属で形成される。ソース線層３１は、図１及び図２で説明したソース線ＳＬとして機能し、ビット線層３３は、ビット線ＢＬとして機能する。
【００４９】
１．１．３  ロウデコーダ１１について
次に、ロウデコーダ１１の構成について、図５を用いて説明する。図５は、ロウデコーダ１１及び第１ドライバ１６のブロック図であり、ロウデコーダ１１に関してはいずれかのブロックＢＬＫに関連付けられた構成のみを示している。すなわち、図５に示すロウデコーダ１１が、ブロックＢＬＫ毎に設けられている。そしてロウデコーダ１１は、関連付けられたブロックＢＬＫを選択または非選択とする。
【００５０】
図示するようにロウデコーダ１１は、ブロックデコーダ４０及び高耐圧ｎチャネルエンハンスメント型（Ｅ型）ＭＯＳトランジスタ５０〜５４（５０−０〜５０−７、５１−０〜５１−３、５２−０〜５２−３、５３−０〜５３−３、５４−０〜５４−３）、５５を備えている。
【００５１】
＜ブロックデコーダ４０について＞  
まずブロックデコーダ４０について説明する。ブロックデコーダ４０は、データの書き込み、読み出し、及び消去時において、ブロックアドレスＢＡをデコードして、信号ＴＧ及び／ＲＤＥＣＡを出力する。そして、ブロックアドレスＢＡが、対応するブロックＢＬＫに一致した際には、信号ＴＧを“Ｈ”レベルとする。“Ｈ”レベルとされた信号ＴＧの電圧は、書き込み時にはＶＰＧＭＨとされ、読み出し時にはＶＲＥＡＤＨとされ、消去時にはＶddaとされる。また、信号／ＲＤＥＣＡを“Ｌ”レベル（例えば０Ｖ）とする。
【００５２】
他方で、ブロックアドレスＢＡが当該ブロックＢＬＫに一致しなかった際には、信号ＴＧは“Ｌ”レベル（例えば０Ｖ）とされ、信号／ＲＤＥＣＡは“Ｈ”レベルとされる。
【００５３】
なお、ＶＰＧＭＨは、データの書き込み時に選択ワード線に印加される高電圧ＶＰＧＭを転送するための電圧であり、ＶＰＧＭＨ＞ＶＰＧＭである。ＶＲＥＡＤＨは、データの読み出し時に非選択ワード線に印加される電圧ＶＲＥＡＤを転送するための電圧であり、ＶＲＥＡＤＨ＞ＶＲＥＡＤである。Ｖddaは、データの消去時にワード線に印加される電圧Ｖdd（〜０．５Ｖ）を転送するための電圧であり、Ｖdda＞Ｖddである。
【００５４】
＜トランジスタ５０について＞  
次に、トランジスタ５０について説明する。トランジスタ５０は、選択ブロックＢＬＫのワード線ＷＬに電圧を転送するためのものである。トランジスタ５０−０〜５０−７はそれぞれ、電流経路の一端が、対応するブロックＢＬＫのワード線ＷＬ０〜ＷＬ７にそれぞれ接続され、他端が信号線ＣＧ０〜ＣＧ７にそれぞれ接続され、ゲートが信号線ＴＧに共通に接続される。
【００５５】
従って、例えば選択ブロックＢＬＫ０に対応するロウデコーダ１１−０では、トランジスタ５０−０〜５０−７はオン状態とされ、ワード線ＷＬ０〜ＷＬ７は信号線ＣＧ０〜ＣＧ７に接続される。他方、非選択ブロックＢＬＫ１〜ＢＬＫ３に対応するロウデコーダ１１−１〜１１−３では、トランジスタ５０−０〜５０−７はオフ状態とされ、ワード線ＷＬ０〜ＷＬ７は信号線ＣＧ０〜ＣＧ７から分離される。
【００５６】
なお、トランジスタ５０は、同一のブロックＢＬＫ内の全ストリンググループＧＰに共通に用いられる。
【００５７】
＜トランジスタ５１、５２について＞  
次に、トランジスタ５１、５２について説明する。トランジスタ５１、５２は、セレクトゲート線ＳＧＤに電圧を転送するためのものである。トランジスタ５１−０〜５１−３はそれぞれ、電流経路の一端が、対応するブロックＢＬＫのセレクトゲート線ＳＧＤ０〜ＳＧＤ３に接続され、他端が信号線ＳＧＤＤ０〜ＳＧＤＤ３に接続され、ゲートが信号線ＴＧに共通に接続される。またトランジスタ５２−０〜５２−３はそれぞれ、電流経路の一端が、対応するブロックＢＬＫ０のセレクトゲート線ＳＧＤ０〜ＳＧＤ３に接続され、他端がノードＳＧＤ＿ＣＯＭに接続され、ゲートに信号／ＲＤＥＣＡが与えられる。ノードＳＧＤ＿ＣＯＭは、０Ｖや負電圧ＶＢＢ等、選択トランジスタＳＴ１をオフ状態にする電圧である。
【００５８】
従って、例えば選択ブロックＢＬＫ０に対応するロウデコーダ１１−０では、トランジスタ５１−０〜５１−３はオン状態とされ、トランジスタ５２−０〜５２−３はオフ状態とされる。よって、選択ブロックＢＬＫ０のセレクトゲート線ＳＧＤ０〜ＳＧＤ３は信号線ＳＧＤＤ０〜ＳＧＤＤ３に接続される。
【００５９】
他方で、非選択ブロックＢＬＫ１〜ＢＬＫ３に対応するロウデコーダ１１−１〜１１−３では、トランジスタ５１−０〜５１−３はオフ状態とされ、トランジスタ５２−０〜５２−３はオン状態とされる。よって、非選択ブロックＢＬＫ１〜ＢＬＫ３のセレクトゲート線ＳＧＤ０〜ＳＧＤ３はノードＳＧＤ＿ＣＯＭに接続される。
【００６０】
＜トランジスタ５３、５４について＞  
トランジスタ５３、５４は、セレクトゲート線ＳＧＳに電圧を転送するためのものであり、その接続及び動作は、トランジスタ５１、５２においてセレクトゲート線ＳＧＤをセレクトゲート線ＳＧＳに入れ替えたものと等価である。
【００６１】
すなわち、選択ブロックＢＬＫ０に対応するロウデコーダ１１−０では、トランジスタ５３−０〜５３−３はオン状態とされ、トランジスタ５４−０〜５２−４はオフ状態とされる。他方で、非選択ブロックＢＬＫ１〜ＢＬＫ３に対応するロウデコーダ１１−１〜１１−３では、トランジスタ５１−０〜５１−３はオフ状態とされ、トランジスタ５２−０〜５２−３はオン状態とされる。
【００６２】
＜トランジスタ５５について＞  
次に、トランジスタ５５について説明する。トランジスタ５５は、バックゲート線ＢＧに電圧を転送するためのものである。トランジスタ５５は、電流経路の一端が、対応するブロックＢＬＫのバックゲート線ＢＧに接続され、他端は信号線ＢＧＤに接続され、ゲートが信号線ＴＧに共通に接続される。
【００６３】
従って、選択ブロックＢＬＫ０に対応するロウデコーダ１１では、トランジスタ５５はオン状態とされ、非選択ブロックＢＬＫ１〜ＢＬＫ３に対応するロウデコーダ１１−１〜１１−３では、トランジスタ５５はオフ状態とされる。
【００６４】
１．１．４  ドライバ回路１２について  
次に、ドライバ回路１２の構成について説明する。ドライバ回路１２は、信号線ＣＧ０〜ＣＧ７、ＳＧＤＤ０〜ＳＧＤＤ３、ＳＧＳＤ０〜ＳＧＳＤ３、及びＢＧＤの各々に、データの書き込み、読み出し、及び消去に必要な電圧を転送する。
【００６５】
図６に示すようにドライバ回路１２は、ＣＧドライバ６０（６０−０〜６０−７）、ＳＧＤドライバ６１（６１−０〜６１−３）、ＳＧＳドライバ６２（６２−０〜６２−３）、ＢＧドライバ６４、及び電圧ドライバ６３を備えている。
【００６６】
電圧ドライバ６３は、ブロックデコーダ４０及びＣＧドライバ６０で使用する電圧を生成する。ＣＧドライバ６０−０〜６０−７はそれぞれ、ページアドレスに応じて、信号線ＣＧ０〜ＣＧ７（ワード線ＷＬ０〜ＷＬ７）に、必要な電圧を転送する。ＳＧＤドライバ６１−０〜６１−３はそれぞれ、信号線ＳＧＤＤ０〜ＳＧＤＤ３（セレクトゲート線ＳＧＤ０〜ＳＧＤ３）に、必要な電圧を転送する。ＳＧＳドライバ６２−０〜６２−３はそれぞれ、信号線ＳＧＳＤ０〜ＳＧＳＤ３（セレクトゲート線ＳＧＳ０〜ＳＧＳ３）に、必要な電圧を転送する。ＢＧドライバ６４は、バックゲート線ＢＧに必要な電圧を転送する。
【００６７】
１．２  メモリセルアレイのテスト方法について  
次に、上記構成のメモリセルアレイ１０のテスト方法について説明する。本方法は、メモリセルアレイ１０内に不良があった場合、それをストリンググループＧＰ単位で管理するものである。
【００６８】
１．２．１  不良ストリング情報の記録方法について  
まず、不良ストリング情報の記録方法について説明する。図６は、出荷前にＮＡＮＤ型フラッシュメモリ１に対して行われるテスト方法の概略を示すフローチャートである。テストは、ＮＡＮＤ型フラッシュメモリ１のテスタの命令に従って実施される。なお、以下ではストリンググループＧＰを単にストリングと呼ぶことがある。
【００６９】
図示するようにテスタは、メモリセルアレイ１０内のメモリセルトランジスタＭＴが正常に動作するか否かをテストする（ステップＳ１０）。
【００７０】
そして、いずれかのストリングにおいて不良メモリセルが発見された場合（ステップＳ１１、ＹＥＳ）、コントローラは、当該ストリングにおける全選択トランジスタＳＴ１、ＳＴ２、またはバックゲートトランジスタＢＴに不良ストリング情報を書き込む（ステップＳ１２）。より具体的には、選択トランジスタＳＴ１、ＳＴ２、またはバックゲートトランジスタＢＴの電荷蓄積層に電荷を注入して、閾値電圧を上昇させる。不良ストリング情報とは、当該ストリングには不良セルが含まれ、使用出来ないことを知らせる情報である。
【００７１】
図７は、本実施形態に係るメモリセルトランジスタＭＴの取りうるデータ、並びにメモリセルトランジスタＭＴ、バックゲートトランジスタＢＴ、及び選択トランジスタＳＴ１、ＳＴ２の閾値分布を示す。
【００７２】
図示するように、各々のメモリセルトランジスタＭＴは、その閾値に応じて例えば２ビットのデータを保持可能である。この２ビットデータは、閾値の低いものから順番に、例えば“１１”、“０１”、“００”、“１０”である。
【００７３】
“１１”データを保持するメモリセルの閾値は、“Ｅｒ”レベルまたは“ＥＰ”レベルである。Ｅｒレベルは、電荷蓄積層内の電荷が引き抜かれて、データが消去された状態における閾値であり、正の値だけでなく負の値をも取り得る。ＥＰレベルは、電荷蓄積層内に電荷が注入された状態の閾値であり、Ｅｒレベルまたはそれ以上のレベルであり、正の値を有する。
【００７４】
“０１”、“００”、及び“１０”も、電荷蓄積層内に電荷が注入された状態の閾値である。“０１”データを保持するメモリセルの閾値は“Ａ”レベルであり、Ｅｒレベル及びＥＰレベルよりも高い。“００”データを保持するメモリセルの閾値は“Ｂ”レベルであり、Ａレベルよりも高い。“１０”データを保持するメモリセルの閾値は“Ｃ”レベルであり、Ｂレベルよりも高い。もちろん、２ビットデータと閾値との関係はこの関係に限定されるものでは無く、例えば“１１”データが“Ｃ”レベルに対応するような場合であっても良く、両者の関係については適宜選択出来る。
【００７５】
バックゲートトランジスタＢＴの閾値は、通常はＥｒレベルまたはＥＰレベルとされる。この閾値は、通常の読み出し及び書き込み動作において、バックゲートトランジスタＢＴがオンされるレベルである。すなわち、データの読み出し及び書き込み時には、バックゲート線ＢＧには電圧ＶＣＧ＿ＢＧＶが印加される。この電圧は、例えばＥＰレベルとＡレベルとの間の電圧である。
【００７６】
これに対して、不良ストリング情報が書き込まれると、バックゲートトランジスタＢＴの閾値は、ＶＣＧ＿ＢＧＶよりも高いレベルに設定され、例えばＡ〜Ｃレベルのいずれかである。従って、不良ストリング情報が書き込まれることで、バックゲートトランジスタＢＴは常にオフ状態とされる。
【００７７】
選択トランジスタＳＴ１、ＳＴ２の閾値は、通常は“ＳＧ／ＥＰ”レベルとされる。この閾値は、通常の読み出し及び書き込み動作において、セレクトゲート線ＳＧＤ、ＳＧＳが選択されて電圧ＶＳＧが印加された際に、選択トランジスタＳＴ１、ＳＴ２がオンされるレベルである。この電圧は、例えばＥＰレベルからＡレベルの範囲の値である。
【００７８】
これに対して、不良ストリング情報が書き込まれると、選択トランジスタＳＴ１、ＳＴ２の閾値は、“ＳＧ／ＡＣ”レベルとされる。これは、ＶＳＧよりも高く、例えばＢレベルからＣレベルの範囲の値である。従って、不良ストリング情報が書き込まれることで、選択トランジスタＳＴ１、ＳＴ２は常にオフ状態とされる。
【００７９】
１．２．２  不良ストリングの検出方法について  
次に、上記方法によって書き込まれた不良ストリング情報を用いて不良ストリングを検出する方法について説明する。不良ストリングの検出は、各ストリングにつき全ワード線ＷＬを選択した状態でデータの読み出しを実行することにより行われる。
【００８０】
図８はいずれかのブロックＢＬＫの回路図であり、ストリンググループＧＰ０を選択した際におけるデータの読み出し時の様子を示している。なお、図８ではストリング数は２個であるが、これは一例に過ぎない。
【００８１】
図示するように、全ワード線ＷＬ０〜ＷＬ７には、ＣＧドライバ６０によって電圧ＶＲＥＡＤが印加される。ＶＲＥＡＤは、保持データに関わらずメモリセルトランジスタＭＴをオンさせる電圧であり、図７の“Ｃ”レベルよりも高い電圧である。
【００８２】
また、ＢＧドライバ６４はバックゲート線ＢＧにＶＣＧ＿ＢＧＶを印加し、ＳＧＤドライバ６１−０及びＳＧＳドライバ６２−０は、セレクトゲート線ＳＧＤ０及びＳＧＳ０にＶＳＧを印加する。
【００８３】
なお、セレクトゲート線ＳＧＤ１〜ＳＧＤ３及びＳＧＳ１〜ＳＧＳ３には０Ｖが印加される。従って、ストリンググループＧＰ１〜ＧＰ３は非選択とされる。
【００８４】
この状態で、ビット線ＢＬに読み出されたデータをセンスアンプ１２がセンスし、この読み出しデータに応じて当該ストリングが不良であるか否かを検出出来る。以下、不良で無い場合と不良である場合について説明する。また以下の説明では、特に断りの無い限り、不良ストリング情報が選択トランジスタＳＴ１、ＳＴ２に書き込まれる場合を例に説明する。
【００８５】
また、不良ストリングや不良ブロックのテスト（第２実施形態で説明するストリングテスト及びブロックテスト）や、通常動作時においては、例えばビット線ＢＬ自体の不良により、セルの読み出し結果によらずビット線ＢＬの状態が“０”もしくは“１”になってしまうような不良は、カラムリダンダンシ等で既に救済されているものとする。ここで説明する不良ストリングを検出する段階も同様である。従って、この段階においては、メモリセルアレイからの読み出し結果を正しく判定可能な状態にある。
【００８６】
＜選択ストリングが不良で無い場合＞  
まず、選択ストリングが不良で無い場合について図９及び図１０を用いて説明する。図９はビット線方向に沿ったブロックＢＬＫの一部領域の断面図であり、図１０は選択ストリングの回路図である。
【００８７】
図９に示すように、選択ストリングが不良でなければ、このストリング内の選択トランジスタＳＴ１、ＳＴ２の閾値はＳＧ／ＥＰレベルである。従って、選択トランジスタＳＴ１、ＳＴ２は、電圧ＶＳＧを印加されることでオン状態とされる。また、電圧ＶＲＥＡＤが印加されることで、全メモリセルトランジスタＭＴは、保持データに関わらずオン状態とされる。
【００８８】
その結果、図１０に示すように、選択したストリンググループ内の全ＮＡＮＤストリング１５において、ビット線ＢＬからソース線ＳＬに向かってセル電流Ｉcellが流れる（Ｉcellが流れた際のビット線ＢＬの状態を“１”状態（ＢＬは論理“Ｌ”レベルとなる）と定義する）。
【００８９】
すなわち、全ワード線ＷＬにＶＲＥＡＤを印加してデータを読み出した際に、全ビット線ＢＬ＝“１”であれば、選択ストリングは不良では無い、と判断出来る。
【００９０】
＜選択ストリングが不良の場合＞  
次に、選択ストリングが不良であった場合について図１１及び図１２を用いて説明する。図１１はビット線方向に沿ったブロックＢＬＫの一部領域の断面図であり、図１２は選択ストリングの回路図である。
【００９１】
図１１に示すように、選択ストリングが不良であれば、このストリング内の選択トランジスタＳＴ１、ＳＴ２の閾値はＳＧ／ＡＣレベルである。従って、選択トランジスタＳＴ１、ＳＴ２は、電圧ＶＳＧを印加されてもオフ状態を維持する。全メモリセルトランジスタＭＴは、保持データに関わらずオン状態とされる。
【００９２】
その結果、図１２に示すように、選択したストリンググループ内の全ＮＡＮＤストリング１５において、選択トランジスタＳＴ１、ＳＴ２がオフ状態とされるため、セル電流Ｉcellは流れない（この際のビット線ＢＬの状態を“０”状態（ＢＬは論理“Ｈ”レベルとなる）と定義する）。
【００９３】
すなわち、全ワード線ＷＬにＶＲＥＡＤを印加してデータを読み出した際に、全ビット線ＢＬ＝“０”であれば、選択ストリンググループは不良である、と判断出来る。
【００９４】
なお、上記動作は、不良ストリング情報がバックゲートトランジスタＢＴに書き込まれる場合でも同様である。この場合には、選択トランジスタＳＴ１、ＳＴ２はオン状態とされるが、バックゲートトランジスタＢＴがオフ状態となるので、全ビット線ＢＬ＝“０”となる。
【００９５】
１．３  データの消去方法について  
次に、本実施形態に係るＮＡＮＤ型フラッシュメモリ１のデータ消去方法について説明する。本実施形態では、不良ストリング情報が、選択トランジスタＳＴ１、ＳＴ２とバックゲートトランジスタＢＴのいずれに書き込まれるかによって、消去方法が異なる。
【００９６】
図１３は、消去方法のフローチャートである。図示するように、不良ストリング情報が選択トランジスタＳＴ１、ＳＴ２に書き込まれる場合（ステップＳ２０、ＹＥＳ）、通常の消去方法が行われ、バックゲート線ＢＧには例えば電圧ＶＢＧ１が印加される（ステップＳ２１）。これに対して、不良ストリング情報がバックゲートトランジスタＢＴに書き込まれる場合（ステップＳ２０、ＮＯ）、バックゲート線ＢＧの電位を通常より高く設定して消去が行われる（ステップＳ２２）。バックゲート線ＢＧには例えば電圧ＶＢＧ２（＞ＶＢＧ１）が印加される。これにより、バックゲートトランジスタＢＴに書き込まれた不良ストリング情報が消去されることを防止出来る。
【００９７】
図１４は、選択ブロックのビット線方向に沿った断面図であり、データの消去時の様子を示している。
【００９８】
図示するように、ビット線ＢＬ及びソース線ＳＬには、第２ドライバ１７によって消去電圧ＶＥＲＡ（例えば２０Ｖ）が印加される。また、セレクトゲート線ＳＧＤ、ＳＧＳには、ＳＧＤドライバ６１及びＳＧＳドライバ６２により、ＶＥＲＡ−ΔＶ（例えば１２Ｖ）が印加される。これにより、セレクトゲート端でＧＩＤＬ（gate induced drain leakage）が生じる。ＧＩＤＬにより発生されたホール−電子対のうち、ホールは、電圧の低いピラー２６内に入っていく。そのため、ピラー２６の電位は消去電圧ＶＥＲＡまで上昇する。
【００９９】
全ワード線ＷＬには０Ｖが印加される。その結果、メモリセルトランジスタＭＴの電荷蓄積層内にホールが取り込まれて、データが消去される。
【０１００】
この際、バックゲート線ＢＧには、通常であると、ＶＢＧ１（例えば０〜０．５Ｖ）が印加される。しかし、バックゲートトランジスタＢＴに不良ストリング情報が書き込まれている場合には、ＶＢＧ２（例えば７．４Ｖ）を印加する。
【０１０１】
なお、バックゲートトランジスタのデータを消去するか否かは、パラメータで予め設定しておくことも可能である。このパラメータに基づいて、バックゲートトランジスタに対して消去動作を実行する場合にはＶＢＧ１を印加し（ステップＳ２１）、バッドストリング情報をバックゲートトランジスタに書き込むモードの場合（バックゲートトランジスタに対して消去動作を実行しない場合）にはＶＢＧ２を印加する（ステップＳ２２）ようにすることが出来る。あるいは、バックゲートトランジスタに関しては、消去も書き込みも行われないようにしても良い。
【０１０２】
１．４  本実施形態に係る効果  
ＮＡＮＤ型フラッシュメモリのビット密度向上にむけたアプローチとしては、限界が近づいている微細化に変わるものとして、積層化が考えられる。その一例として、縦型トランジスタを用いてメモリセルを積層した積層型ＮＡＮＤ型フラッシュメモリが提案されている。
【０１０３】
積層化の一手法として、積層したワード線に一括でメモリホールを開け、そこにメモリセルを形成する手法がある。積層化した際には、制御ゲート（ワード線）を、隣接する複数ストリングで束ねる必要がある。なぜなら、制御ゲートはメモリセルの積層に伴い増えていくのに対して、メタル配線層数はコストの関係から簡単に増やすことができないからである。そこで、メモリセル積層数に応じて隣接する制御ゲート同士を束ねることで、引き出す本数を減らしてしまえば、メタル配線層数を増やさなくて済む。共通の制御ゲートを持つこのストリングの集合が、図１及び図２で説明したブロックＢＬＫである。
【０１０４】
半導体基板上にメモリセルが二次元的に配列された平面型ＮＡＮＤ型フラッシュメモリでは、ショート性の不良が発生した場合、そのブロックは不良ブロックとされ、アクセスしないようにされる。積層型ＮＡＮＤ型フラッシュメモリの場合も同様に、不良が発生した場合には、そのブロックを不良ブロックとして取り扱うことが考えられる。
【０１０５】
しかし、図１及び図２で説明したように、積層型ＮＡＮＤフラッシュメモリにおける１ブロック内のメモリセル数は非常に多く、図１に示すように、１ストリング（１ストリンググループＧＰ）のメモリセル数は、平面型ＮＡＮＤフラッシュメモリの１ブロックＢＬＫ分に相当する。つまり、１ブロックＢＬＫが不良になるということは、平面型ＮＡＮＤフラッシュメモリにおいて数ブロックＢＬＫが同時に不良になることと同程度のインパクトがある。
【０１０６】
この点、本実施形態に係る構成であると、メモリセルの良／不良を、ストリング単位（ストリンググループＧＰ単位）で管理している。従って、例え不良が発生した場合であっても、不良扱いとするストリング数を削減し、メモリ空間をより効率的に使用することが出来る。
【０１０７】
また本実施形態に係る構成では、不良ストリング情報は、選択トランジスタＳＴ１、ＳＴ２またはバックゲートトランジスタＢＴに書き込まれる。従って、不良ストリング情報を、より信頼性高く保持することが出来る。この点について、以下詳細に説明する。
【０１０８】
図１５は、メモリセルアレイ１０の製造途中の断面図である。図示するように、メモリセルアレイ１０においては、まずバックゲートトランジスタＢＴが形成される。その後、バックゲートトランジスタＢＴ上に、層間絶縁膜とワード線層とが複数層にわたって積層される。そして図１５に示すように、複数のワード線層が一括してエッチングされて、メモリホールが形成される。その後、メモリホール内にブロック絶縁層２５ａ、電荷蓄積層２５ｂ、トンネル絶縁層２５ｃ、及び半導体層２６が形成された後、選択トランジスタＳＴ１、ＳＴ２が形成される。
【０１０９】
このように、複数のメモリセルトランジスタＭＴは同一工程で形成される。そして、非常に深いメモリホールを形成し、このメモリホール内にメモリセルトランジスタＭＴを形成するため、メモリホールが目詰まりする等、比較的不良が発生し易い。
【０１１０】
これに対して選択トランジスタＳＴ１、ＳＴ２及びバックゲートトランジスタＢＴは、メモリセルトランジスタＭＴとは別工程で形成される。また、深いメモリホールも必要としないため、メモリセルトランジスタＭＴに比べて、不良の発生する確率は極めて低いと考えられる。
【０１１１】
従って、選択トランジスタＳＴ１、ＳＴ２及びバックゲートトランジスタＢＴに不良ストリング情報を書き込むことで、これらのトランジスタを確実にオフさせて、図１１及び図１２で説明したように、セル電流が流れることを防止出来る。
【０１１２】
２．第２実施形態  
次に、第２実施形態に係る半導体記憶装置について説明する。本実施形態は、不良ストリング及び不良ブロックを検出するためのテスト方法と、検出された不良情報をＲＯＭフューズ内に書き込むまでの動作の詳細に関するものである。以下では、第１実施形態と異なる点についてのみ説明する。
【０１１３】
２．１  ＮＡＮＤ型フラッシュメモリ１のテスト方法について  
２．１．１  シーケンスの全体的な流れについて  
まず、テストシーケンスの流れの概要について、図１６を用いて説明する。図１６は、メモリセルトランジスタＭＴのテストから、このテスト結果に基づく不良情報をメモリセルアレイ１０内に書き込むまでの処理の流れを示すフローチャートであり、各ステップはテスタの制御によって実行される。
【０１１４】
まずテスタは、ブロックテストを行う（ステップＳ３０）。これは、ストリング単位では救済出来ず、ブロック単位で使用禁止にしなければならないような不良（ブロック不良）の有無の検査であり、例えばショート系不良のスクリーニングテストである。
【０１１５】
ブロックテストにフェイル（fail）した場合（ステップＳ３０、ＦＡＩＬ）、テスタはバッドブロック（bad block）登録を行う（ステップＳ３１）。すなわちテスタは、このブロックＢＬＫに対応するブロックデコーダ４０のラッチにフラグをセットし、これによりブロックデコーダ４０は、対応するブロックＢＬＫを常に非選択とする。
【０１１６】
次にテスタは、ストリングテストを行う（ステップＳ３２）。これは、ストリング不良の有無の検査であり、例えばオープン系不良のスクリーニングテストである。
【０１１７】
ストリングテストにフェイルした場合（ステップＳ３２、ＦＡＩＬ）、テスタは、このストリング内の全選択トランジスタＳＴ１、ＳＴ２、またはバックゲートトランジスタＢＴに、不良ストリング情報（以後、バッドストリング情報と呼ぶ）を書き込む（ステップＳ３３）。すなわち、選択トランジスタＳＴ１、ＳＴ２、またはバックゲートトランジスタＢＴの閾値は、これらのトランジスタが常にオフ状態とされるような値にセットされる。なお、バッドストリング情報を選択トランジスタＳＴ１、ＳＴ２またはバックゲートトランジスタＢＴに書き込む動作モードを、以後、バッドストリングモード（ＢＳＭ：bad string mode）と呼ぶことにする
次にテスタは、ページテストを行う（ステップＳ３４）。これは、ページ不良の有無の検査であり、例えばデータのプログラムが正常に実行可能か否かのテストである。
【０１１８】
ページテストにフェイルした場合（ステップＳ３４、ＦＡＩＬ）、テスタは、このストリング内の全選択トランジスタＳＴ１、ＳＴ２、またはバックゲートトランジスタＢＴに、バッドストリング情報を書き込む（ステップＳ３３）。すなわち、選択トランジスタＳＴ１、ＳＴ２、またはバックゲートトランジスタＢＴの閾値は、これらのトランジスタが常にオフ状態とされるような値にセットされる。
【０１１９】
以上のステップＳ３０〜Ｓ３５の処理により、メモリセルトランジスタＭＴのテストと、そのテスト結果（不良情報）のマーキングが完了する。引き続きテスタは、マーキングされた不良情報を、メモリセルアレイ１０の所定の領域内へ書き込む。
【０１２０】
まずテスタは、バッドブロック情報を収集する（ステップＳ３６）。これは、前述のブロックデコーダ４０内のフラグをチェックすることで行われる。そしてテスタは、バッドブロック情報をメモリセルアレイ１０のＲＯＭフューズ内に書き込む（ステップＳ３７）。
【０１２１】
次にテスタは、バッドストリング情報を収集する（ステップＳ３８）。バッドストリング情報の収集は、第１実施形態の図８〜図１２で説明したように、全ワード線ＷＬにＶＲＥＡＤを印加して読み出し動作を実行することで行われる。そしてテスタは、バッドストリング情報を、メモリセルアレイ１０のいずれかの領域に書き込む（ステップＳ３９）。
【０１２２】
上記の各ステップの詳細について、以下、説明する。
【０１２３】
２．１．２  ブロックテストについて  
まず、ブロックテストについて、図１７を用いて説明する。図１７は、ステップＳ３０〜Ｓ３１の詳細を示すフローチャートである。
【０１２４】
まずテスタは、いずれかのブロックＢＬＫを選択する（ステップＳ４０）。そしてテスタは、選択ブロックＢＬＫにつき、ブロックテストを実施する（ステップＳ４１）。ブロックテストの一例としては、例えばワード線ショートテストが挙げられる。ワード線ＷＬ間でショートが発生した場合、この不良を含むブロックＢＬＫは、ブロックＢＬＫ全体を使用不可とすることが望ましい。
【０１２５】
ブロックテストにパスした場合（ステップＳ４２、ＹＥＳ）、当該ブロックＢＬＫが最終ブロックであれば（ステップＳ４３、ＹＥＳ）、処理は終了する。最終ブロックでなければ（ステップＳ４３、ＮＯ）、次のブロックＢＬＫにつき同様の処理が繰り返される（ステップＳ４４）。
【０１２６】
ブロックテストにフェイルした場合（ステップＳ４２、ＮＯ）、テスタは、バッドブロックフラグ（ＢＢＦ：bad block flag）をブロックデコーダ４０にセットする（ステップＳ４３）。そして、ステップＳ４３に進む。
【０１２７】
２．１．３  ストリングテストについて  
次に、ストリングテストについて、図１８を用いて説明する。図１８は、ステップＳ３２〜Ｓ３３の詳細を示すフローチャートである。
【０１２８】
まずテスタは、いずれかのブロックＢＬＫのいずれかのストリング（ストリンググループＧＰ）を選択する（ステップＳ５０）。そしてテスタは、ストリングテストを実施する（ステップＳ５１）。ストリングテストの一例としては、例えばメモリホールのオープンテストが挙げられる。メモリホールが例えば目詰まりを起こし、オープンとなっている場合、このメモリホールを含むストリンググループＧＰを使用不可とすることが望ましい。しかし、他のストリンググループＧＰに対して悪影響を与えるものではないから、ブロック単位で不良にする必要は無い。
【０１２９】
ストリングテストにパスした場合（ステップＳ５２、ＹＥＳ）、当該ストリングが最終ストリングでなければ（ステップＳ５３、ＮＯ）、次のストリングが選択されて（ステップＳ５４）、ステップＳ５１に戻る。最終ストリングであり（ステップＳ５３、ＹＥＳ）、且つ該ストリングが最終ブロックＢＬＫ内のストリングであれば（ステップＳ５５、ＹＥＳ）、処理は完了する。最終ブロックＢＬＫ内のストリングでなければ（ステップＳ５５、ＮＯ）、次のブロックが選択されて（ステップＳ５６）、ステップＳ５１に戻る。
【０１３０】
ステップＳ５２において、ストリングテストにフェイルした場合（ステップＳ５２、ＮＯ）、テスタは、バッドストリングモードＢＳＭが利用可能か否かを判断する（ステップＳ５７）。この判断は、例えばＢＳＭが利用可能か否かを示す情報を、ＮＡＮＤ型フラッシュメモリ１のいずれかのレジスタに格納しておき、これをテスタが参照すること等によって可能である。
【０１３１】
バッドストリングモードＢＳＭが利用可能であれば（ステップＳ５７、ＹＥＳ）、テスタは、バッドストリング情報を、当該ストリング内の選択トランジスタＳＴ１、ＳＴ２またはバックゲートトランジスタＢＴにマーキングする（ステップＳ５８）。そして、このマーキングに成功すれば（ステップＳ５９、ＹＥＳ）、ステップＳ５３に進む。
【０１３２】
ＢＳＭが利用出来なければ（ステップＳ５７、ＮＯ）、またはステップＳ５８のマーキングに失敗すれば（ステップＳ５９、ＮＯ）、テスタは、対応するブロックデコーダ４０にバッドブロックフラグＢＢＦをセットする（ステップＳ６０）。すなわち、この場合はストリング単位での救済が不可能であるため、ブロック全体を不良として扱う。
【０１３３】
２．１．４  ページテストについて  
次に、ページテストについて、図１９を用いて説明する。図１９は、ステップＳ３４〜Ｓ３５の詳細を示すフローチャートである。
【０１３４】
まずテスタは、いずれかのブロックＢＬＫにおけるいずれかのストリング（ストリンググループＧＰ）のいずれかのページが選択する（ステップＳ７０）。そしてテスタは、ページテストを実施する（ステップＳ７１）。ページテストの一例としては、例えば全ビットが“０”であるページデータの書き込みテストが挙げられる。
【０１３５】
ページテストにパスした場合（ステップＳ７２、ＹＥＳ）、当該ページがストリング内における最終ページでなければ（ステップＳ７２、ＮＯ）、次のページが選択されて（ステップＳ７３）、ステップＳ７１に戻る。最終ページであり（ステップＳ７２、ＹＥＳ）、全ページにつきページテストが成功し（ステップＳ７４、ＹＥＳ）、且つ該ストリングが対応するブロックＢＬＫ内の最終ストリングであり（ステップＳ７５、ＹＥＳ）、対応するブロックＢＬＫが最終ブロックであれば（ステップＳ７６、ＹＥＳ）、処理は完了する。
【０１３６】
ステップＳ７５において、最終ストリングでなければ（ステップＳ７５、ＮＯ）、テスタは次のストリングを選択し（ステップＳ７７）、且つレジスタ内のステータスをリセットして（ステップＳ７８）、ステップＳ７１に戻る。
【０１３７】
ステップＳ７６において、最終ブロックでなければ（ステップＳ７６、ＮＯ）、次のブロックＢＬＫが選択されて（ステップＳ７９）、ステップＳ７７に進む。
【０１３８】
ステップＳ７４において、いずれかのページにおいてページテストにフェイルした場合（ステップＳ７４、ＮＯ）、テスタは、バッドストリングモードが利用可能とされているか否かを判断する（ステップＳ８０）。
【０１３９】
ＢＳＭが利用可能であれば（ステップＳ８０、ＹＥＳ）、テスタは、バッドストリング情報を、当該ストリング内の選択トランジスタＳＴ１、ＳＴ２またはバックゲートトランジスタＢＴにマーキングする（ステップＳ８１）。そして、このマーキングに成功すれば（ステップＳ８２、ＹＥＳ）、ステップＳ７５に進む。成功したか否かは、累積的なステータスでは無く、現在のステータスのみを参照することによって判断出来る。
【０１４０】
ＢＳＭが利用出来なければ（ステップＳ８０、ＮＯ）、またはステップＳ８１のマーキングに失敗すれば（ステップＳ８２、ＮＯ）、テスタは、対応するブロックデコーダ４０にバッドブロックフラグＢＢＦをセットする（ステップＳ８３）。すなわち、この場合もストリング単位での救済が不可能であるため、ブロック全体を不良として扱う。
【０１４１】
２．１．５  バッドブロック情報の書き込みについて  
次に、バッドブロック情報をメモリセルアレイ１０に書き込む処理について、図２０を用いて説明する。図２０は、ステップＳ３６〜Ｓ３７の詳細を示すフローチャートである。
【０１４２】
まずテスタは、いずれかのブロックＢＬＫを選択する（ステップＳ９０）。そしてテスタは、バッドブロックセンスを実施する（ステップＳ９１）。これは、選択したブロックＢＬＫがバッドブロックであるか否かを判断するための処理であり、例えばブロックデコーダ４０内のバッドブロックフラグＢＢＦの有無によって判断出来る。
【０１４３】
バッドブロックフラグＢＢＦがセットされていれば（ステップＳ７２、ＮＯ）、このブロックＢＬＫのブロックアドレスが、センスアンプ１２のラッチ回路に転送される（ステップＳ９６）。センスアンプ１２のラッチ回路がオーバーフローすれば（ステップＳ９７、ＹＥＳ）、すなわち、ＢＢＦのセットされたブロックアドレス数が所定数を超えれば、テスタは、このＮＡＮＤ型フラッシュメモリ１を不良品とみなす。
【０１４４】
以上の処理が、最終ブロックまで繰り返される（ステップＳ９３、ＮＯ、ステップＳ９４）。そして、全てのブロックＢＬＫにつきバッドブロックセンスが行われると、テスタは、センスアンプ１２のラッチ回路に転送されたブロックアドレスを、メモリセルアレイ１０のＲＯＭフューズ内に書き込む（ステップＳ９５）。
【０１４５】
なお、ＲＯＭフューズとは、メモリセルアレイ１０内において読み出し専用として設定され、且つ、電源投入時に自動で情報が読み出される領域である。
【０１４６】
２．１．６  バッドストリング情報の書き込みについて  
次に、バッドストリング情報をメモリセルアレイ１０に書き込む処理について、図２１を用いて説明する。図２１は、ステップＳ３８〜Ｓ３９の詳細を示すフローチャートである。
【０１４７】
まずテスタは、いずれかのブロックＢＬＫのいずれかのストリング（ストリンググループＧＰ）を選択する（ステップＳ１００）。そしてテスタは、バッドブロックセンスを実施する（ステップＳ１０１）。これは、先に説明したステップＳ９１と同様の処理である。選択ブロックＢＬＫがバッドブロックであれば（ステップＳ１０２、ＮＯ）、次のブロックが選択されて（ステップＳ１０３）、ステップＳ１０１に戻る。
【０１４８】
選択ブロックＢＬＫがバッドブロックでなければ（ステップＳ１０２、ＹＥＳ）、テスタはバッドストリングセンスを実施する（ステップＳ１０５）。これは、先に説明したように、第１実施形態の図８〜図１２のような読み出し動作を実行することで行われる。
【０１４９】
読み出し動作の結果、全ビット線ＢＬ＝“０”であれば（ステップＳ１０６、ＮＯ）、すなわち、図１１及び図１２の場合には、選択トランジスタＳＴ１、ＳＴ２またはバックゲートトランジスタＢＴにバッドストリング情報が書き込まれていると判断出来る。従って、選択ブロックＢＬＫのブロックアドレスと、選択ストリングのストリングアドレスとが、センスアンプ１２のラッチ回路に転送される（ステップＳ１１１）。センスアンプ１２のラッチ回路がオーバーフローすれば（ステップＳ１１２、ＹＥＳ）、テスタは、このＮＡＮＤ型フラッシュメモリ１は不良であると判断する。
【０１５０】
以上の処理が、選択ブロックの最終ストリングまで繰り返される（ステップＳ１０７、ＮＯ、ステップＳ１０８）。更に、同様の処理が、全ブロックＢＬＫに対して繰り返される（ステップＳ１０９、ＮＯ、ステップＳ１０３）。
【０１５１】
そして、全てのブロックＢＬＫにつきバッドストリングセンスが行われると、テスタは、センスアンプ１２のラッチ回路に転送されたブロックアドレス及びストリングアドレスを、メモリセルアレイ１０の所定の領域（以下、これを第２ＲＯＭフューズと呼ぶ）内に書き込む（ステップＳ１１０）。
【０１５２】
この第２ＲＯＭフューズは、バッドブロックアドレスが書き込まれるＲＯＭフューズとは異なる領域であり、電源投入時に自動で情報が読み出される領域では無い。しかし、第２ＲＯＭフューズもＲＯＭフューズと同様に、正味のユーザデータの保持用としてでは無く、各種設定データを保持するために用いられる領域であり、ユーザ（ホスト機器）からの直接のアクセスを禁止され、あるいは限定的なアクセスのみが可能な領域でもある。
【０１５３】
２．２  本実施形態に係る効果  
第１実施形態で説明した方法は、例えば上記した本実施形態によって実施することが出来る。
【０１５４】
３．第３実施形態  
次に、第３実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第２実施形態で説明したＲＯＭフューズ及び第２ＲＯＭフューズの構成例と、これらの領域に書き込まれた情報をコントローラによって読み出すための方法に関するものである。以下では、第１、第２実施形態と異なる点についてのみ説明する。
【０１５５】
３．１  ＲＯＭフューズ及び第２ＲＯＭフューズについて  
図２２は、メモリセルアレイ１０の模式図である。図示するように、メモリセルアレイ１０には、ＦＲＯＭ（Fuse ROM）、ＣＲＯＭ（Controller ROM）、及びＮＲＯＭと呼ばれる領域が含まれる。ＦＲＯＭは、第２実施形態で説明したＲＯＭフューズに相当し、ＣＲＯＭは第２ＲＯＭフューズに相当する。ＮＲＯＭは通常のＲＯＭ領域であり、ユーザ（ホスト機器）がアクセス可能なＲＯＭ領域である。これらの領域はいずれかのブロックに設けられ、更に別のブロックにはスペアが設けられている。
【０１５６】
図２３は、ＦＲＯＭ及びＣＲＯＭにおけるデータ構造の模式図である。図示するようにＦＲＯＭは、トリミングデータ、バッドカラム情報、及びバッドブロック情報を保持する。ＣＲＯＭはバッドストリング情報の他、コントローラがＮＡＮＤ型フラッシュメモリ１を制御・管理するために必要な種々の情報を格納する。
【０１５７】
図２４は、ＣＲＯＭ内のバッドストリング情報のデータ構造を示す模式図である。図示するようにＣＲＯＭは、validフィールド、ブロックアドレスフィールド、及びストリングアドレスフィールドを含む。validフィールドは、当該ＣＲＯＭが有効か無効かを示し、例えば“１”がセットされることで有効とされる。ブロックアドレスフィールド及びストリングアドレスフィールドは、それぞれバッドストリングのブロックアドレスとストリングアドレスを保持する。図２４の例では、ブロックＢＬＫ０のストリング１及びストリング５、並びにブロックＢＬＫ５のストリング１０がバッドストリングとして登録されている。
【０１５８】
図２５は、ＣＲＯＭ内のバッドストリング情報の別のデータ構造を示す模式図である。図示するようにＣＲＯＭは、validフィールド、ブロックアドレスフィールド、及びストリングフィールドを含む。validフィールドは図２４と同様である。ブロックアドレスフィールドは、バッドストリングを含むブロックアドレスを保持する。ストリングフィールドは、１個のブロックＢＬＫに含まれる全ストリング数だけ設けられる。そして、バッドストリングに対応するフィールドに“１”がセットされ、正常なストリングに対応するフィールドには“０”がセットされる。
【０１５９】
図２５の例では、ブロックＢＬＫ０のストリング３及びストリング７、ブロックＢＬＫ２のストリング１、ストリング３、及びストリング５、並びにブロックＢＬＫ１０のストリング１がバッドストリングとして登録されている。
【０１６０】
３．２  不良情報のコントローラへの転送動作  
次に、バッドブロック情報及びバッドストリング情報をコントローラへ転送するための動作につき、図２６を用いて説明する。なお、第２実施形態で説明した図１６〜図２１の処理は、例えば製造時においてテスタによって実行される処理であるが、以下で説明する動作は、ＮＡＮＤ型フラッシュメモリ１の出荷後において、電源投入の度にＮＡＮＤ型フラッシュメモリ１において実行される処理である。
【０１６１】
まず、コントローラによってＮＡＮＤ型フラッシュメモリ１に電源が投入される（ステップＳ１２０）。するとＮＡＮＤ型フラッシュメモリ１は、シーケンサの制御に従ってＦＲＯＭからデータを読み出し（ステップＳ１２１）、これをキャッシュメモリに転送する（ステップＳ１２２）。この読み出し（ＰＯＲ：Power on Read）は、コントローラからの読み出し命令を受けることなく実行される。また、コントローラからリセット命令を受信することにより、ステップＳ１２１を実行しても良い。データが正しく読み出せなかった場合には（ステップＳ１２３、ＮＯ）、スペアのＦＲＯＭに切り替えて、再度、データの読み出しを試みる（ステップＳ１２４）。正しく読み出せれば（ステップＳ１２３、ＹＥＳ）、読み出した情報（バッドブロック情報を含む）をコントローラに転送する（ステップＳ１２５）。情報を受信したコントローラは、この情報に従って、ロウデコーダ１１へのバッドブロックフラグＢＢＦのセット等の処理を行う。
【０１６２】
次にＮＡＮＤ型フラッシュメモリ１は、いずれかのタイミングにおいて、コントローラからＣＲＯＭ読み出しコマンドを受信する（ステップＳ１２６）。すると、ＮＡＮＤ型フラッシュメモリ１はこのコマンドに応答して、シーケンサの制御に従ってＣＲＯＭからデータを読み出し（ステップＳ１２７）、これをキャッシュメモリに転送する（ステップＳ１２８）。データが正しく読み出せなかった場合には（ステップＳ１２９、ＮＯ）、スペアのＣＲＯＭに切り替えて、再度、データの読み出しを試みる（ステップＳ１３０）。正しく読み出せれば（ステップＳ１２９、ＹＥＳ）、まずバッドストリング情報をコントローラに転送し（ステップＳ１３１）、次にＣＲＯＭ内のその他の情報をコントローラに転送する（ステップＳ１３２）。もちろん、ステップＳ１３１とＳ１３２の順番は逆であっても良い。
【０１６３】
３．３  本実施形態に係る効果  
上記第１、第２実施形態で説明したＢＳＭ手法によるバッドストリング情報は、本実施形態に係る方法を用いてコントローラに転送することが出来る。
【０１６４】
４．第４実施形態  
次に、第４実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第１乃至第３実施形態で説明したＮＡＮＤ型フラッシュメモリ１における、データ消去時における消去ベリファイに関するものである。以下では、第１乃至第３実施形態と異なる点についてのみ説明する。
【０１６５】
４．１  第１の消去方法について  
まず、第１の消去方法について説明する。図２７はメモリセルアレイの回路図であり、消去ベリファイ時の様子を示している。
【０１６６】
第１の方法によれば、消去ベリファイの際、ロウデコーダ１１は、消去対象ブロックＢＬＫ内の全てのストリングを選択する。すなわち、図２７に示すように、全ワード線ＷＬにＶＥＶＦＹが印加され、全セレクトゲート線ＳＧＤ、ＳＧＳにＶＳＧが印加される。すなわち、全ストリングにつき一括してデータが読み出される。なお、ＶＥＶＦＹは、ＥｒレベルまたはＥＰレベルの上限となるベリファイレベルである。
【０１６７】
図２８は、ビット線方向に沿ったブロックＢＬＫの断面図であり、消去対象ブロックが１つのバッドストリングを含んでいる場合を示している。
【０１６８】
図示するように、バッドストリングでは選択トランジスタＳＴ１、ＳＴ２またはバックゲートトランジスタＢＴがオフ状態となる（図中のバツ印）。よって、ビット線ＢＬからバッドストリングにはセル電流は流れない。しかし、その他の正常なストリングでは、選択トランジスタＳＴ１、ＳＴ２、及びバックゲートトランジスタＢＴはオン状態である。従って、正常なストリングにおけるメモリセルトランジスタＭＴの閾値が所望の値まで低下していれば、当該ストリングを介してビット線ＢＬからソース線ＳＬにセル電流が流れる。
【０１６９】
これによりビット線ＢＬの電位が低下し、消去ベリファイがパスされる。
【０１７０】
４．２  第２の消去方法について  
次に、第２の消去方法について説明する。第２の方法は、消去ベリファイを１ストリングずつ行う方法である。すなわち、図２７において、まずセレクトゲート線ＳＧＤ０、ＳＧＳ０にＶＳＧを印加し、その他のセレクトゲート線ＳＧＤ１〜３、ＳＧＳ１〜３には０Ｖを印加することで、ストリンググループＧＰ０のみを選択して消去ベリファイを行う。次に、セレクトゲート線ＳＧＤ１、ＳＧＳ１にＶＳＧを印加し、その他のセレクトゲート線ＳＧＤ０、ＳＧＤ２〜ＳＧＤ３、ＳＧＳ０、ＳＧＳ２〜ＳＧＳ３には０Ｖを印加することで、ストリンググループＧＰ１のみを選択して消去ベリファイを行う。以後、同様にしてストリンググループＧＰ２のみ、ＧＰ３のみを順次選択して消去ベリファイを行う。
【０１７１】
以下、第２の消去方法の詳細について、図２９及び図３０を用いて説明する。図２９は、第２の消去方法の処理全体の流れを示すフローチャートであり、図３０は特に消去ベリファイの詳細を示すフローチャートである。以下の処理は、コントローラから消去コマンドを受信することに応答して、シーケンサの主導の下、実行される。
【０１７２】
図２９に示すように、まず、いずれかのブロックＢＬＫのいずれかのストリング（ストリンググループＧＰ）が選択される（ステップＳ１４０）。そして、バッドストリングセンスが実施される（ステップＳ１４１）。すなわち、第１実施形態において図８〜図１２を用いて説明した読み出し動作が実行される。ステップＳ１４１の結果、全ビット線ＢＬ＝“０”であれば（ステップＳ１４２）、すなわち、選択ストリングがバッドストリングであれば、ストリング毎に設けられたレジスタ（ＰＡＳＳ＿ＲＥＧ）に“１”がセットされる（ステップＳ１４５）。レジスタＰＡＳＳ＿ＲＥＧは、消去ベリファイにパスしたか否かの情報を保持するレジスタであるが、この場合には消去ベリファイ実行前に“１”がセットされる。この処理が、消去対象ブロックＢＬＫにおける全ストリングに対して行われる（ステップＳ１４３、Ｓ１４４）。
【０１７３】
ステップＳ１４１〜Ｓ１４５の処理が全ストリングに対して実行された後、全てのレジスタＰＡＳＳ＿ＲＥＧがチェックされる。レジスタＰＡＳＳ＿ＲＥＧの全てに“１”がセットされていた場合（ステップＳ１４６、ＹＥＳ）、消去対象ブロックＢＬＫの全ストリングがバッドストリングである、ということになる。従ってＮＡＮＤ型フラッシュメモリ１は、コントローラに対して消去失敗を通知する。この場合には、ステータスフェイルをコントローラに返すことにより、当該ブロックに対する今後のアクセス禁止を通知する。コントローラは以後、このブロックをバッドブロックとして管理する。
【０１７４】
いずれかのレジスタＰＡＳＳ＿ＲＥＧに“０”がセットされていた場合（ステップＳ１４６、ＮＯ）、消去対象ブロックＢＬＫ内のデータが一括して消去される（ステップＳ１４７）。
【０１７５】
データ消去の後、消去ベリファイが行われる（ステップＳ１４８）。消去ベリファイの結果（ステップＳ１４９、ＹＥＳ）、全てのレジスタＰＡＳＳ＿ＲＥＧに“１”がセットされていれば（ステップＳ１４９、ＹＥＳ）、消去動作は完了する。他方で、いずれかのレジスタＰＡＳＳ＿ＲＥＧに“０”がセットされており（ステップＳ１４９、ＮＯ）、且つ消去ループ回数の上限に達していなければ（ステップＳ１５０、ＮＯ）、ステップＳ１４７に戻り、データ消去及び消去ベリファイを繰り返す。
【０１７６】
ステップＳ１５０において消去ループ回数の上限に達していれば（ステップＳ１５０、ＹＥＳ）、消去は失敗となる。この際、ＮＡＮＤ型フラッシュメモリ１は、ストリング毎に設けられたステータスレジスタに“１”をセットすることで、当該ストリングがバッドストリングであることをコントローラに通知する。ここで通知されるバッドストリングは、第２実施形態で説明したテストシーケンスで正常と判断されたストリングであり、テスト後に発生した不良を含むものである。従ってコントローラは、通知されたバッドストリング情報を、第２ＲＯＭフューズ内に追記しても良いし、コントローラ自身が管理しても良い。
【０１７７】
このような後天的な不良が発見された場合、コントローラは第１実施形態で説明したように、当該不良情報を、対応する選択トランジスタＳＴ１、ＳＴ２またはバックゲートトランジスタＢＴに書き込む。そして、このバッドストリング情報を、ＮＡＮＤ型フラッシュメモリ１のいずれかの領域に書き込む。この領域は、前述の通り第２ＲＯＭフューズ内であっても良いし、あるいは第２ＲＯＭフューズとは異なる領域であっても良い。もちろん、ＮＡＮＤ型フラッシュメモリ１に書き込むことなく、コントローラが、内部に備えるＲＡＭ等に保持しても良い。
【０１７８】
次に、上記ステップＳ１４８の消去ベリファイの詳細について、図３０を用いて説明する。図示するように、データが消去されたブロックＢＬＫにおけるいずれかのストリング（ストリンググループＧＰ）が選択される（ステップＳ１６０）。そして、例えばシーケンサは、選択ストリングに対応するレジスタＰＡＳＳ＿ＲＥＧを確認する（ステップＳ１６１）。
【０１７９】
レジスタＰＡＳＳ＿ＲＥＧが“１”であれば（ステップＳ１６１、ＮＯ）、当該ストリングはすでに消去ベリファイにパスしている、ということである。従ってシーケンサは、当該ストリングが、データが消去されたブロックＢＬＫにおける最終ストリングか否かを判断する（ステップＳ１６５）。最終ストリングであれば（ステップＳ１６５、ＹＥＳ）、消去ベリファイは完了する。最終ストリングでなければ（ステップＳ１６５、ＮＯ）、シーケンサは次のストリングを選択して（ステップＳ１６６）、ステップＳ１６１に戻る。
【０１８０】
ステップＳ１６１において、選択ストリングに対応するレジスタＰＡＳＳ＿ＲＥＧが“０”であれば、シーケンサはストリング単位での消去ベリファイを行う（ステップＳ１６２）。すなわち、選択ストリングについてのみ、データの読み出し動作が実行される。消去ベリファイにパスすれば（ステップＳ１６３、ＹＥＳ）、すなわち、全ビット線ＢＬ＝“１”であれば、当該ストリング内のメモリセルトランジスタＭＴの閾値は、ベリファイレベルＶＥＶＦＹ未満である。従ってシーケンサは、レジスタＰＡＳＳ＿ＲＥＧに“１”をセットして（ステップＳ１６４）、ステップＳ１６５に進む。消去ベリファイにミスすれば（ステップＳ１６３、ＮＯ）、ステップＳ１６４を省略してステップＳ１６５に進む。
【０１８１】
４．３  本実施形態に係る効果  
本実施形態に係る方法であると、消去動作の信頼性を向上出来る。本効果につき、以下、図３１を参照しつつ説明する。図３１は、ビット線方向に沿ったブロックＢＬＫの断面図であり、ストリング単位で消去ベリファイを行っている様子を示す。
【０１８２】
図示するように、ストリング単位で消去ベリファイを行う場合に、バッドストリングモードＢＳＭを適用すると、バッドストリングに対する消去ベリファイは常にフェイルとなる。なぜなら、例えメモリセルトランジスタＭＴ１、ＭＴ２の閾値が十分に低下していたとしても、選択トランジスタＳＴ１、ＳＴ２またはバックゲートトランジスタＢＴがオフ状態にあるからである。従って、他の正常なストリングの消去に成功していても、当該ブロックＢＬＫの消去動作はフェイルと判断される可能性がある。
【０１８３】
この点、本実施形態であると、予め、消去ブロックＢＬＫ内にバッドストリングが含まれるか否かを検出する。そして、バッドストリングに関しては消去ベリファイを行うことなく、レジスタＰＡＳＳ＿ＲＥＧに“１”を設定する。つまり、消去ベリファイにパスしている旨の情報を予め書き込んでおく。
【０１８４】
その結果、バッドストリングは常に消去ベリファイにパスするので、ＢＳＭが消去動作に悪影響を与えることを防止出来る。
【０１８５】
５．第５実施形態  
次に、第５実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第２、第３実施形態と異なり、バッドストリング情報を第２ＲＯＭフューズに書き込むのではなく、ロウデコーダ１１に書き込み、コントローラではなくＮＡＮＤフラッシュメモリ１によってバッドストリングを管理する方法に関する。以下では、第１乃至第４実施形態と異なる点についてのみ説明する。
【０１８６】
５．１  ブロックデコーダ４０について  
まず、ブロックデコーダ４０について説明する。
【０１８７】
５．１．１  ブロックデコーダ４０の構成について  
図３２は、本実施形態に係るブロックデコーダ４０の回路図である。図示するようにブロックデコーダ４０は、大まかにはデコード回路８０、レベルシフタ８１、第１保持回路８２、第２保持回路８３、第１セット回路８４、及び第２セット回路８５を備えている。
【０１８８】
デコード回路８０は、低耐圧型のエンハンスメント型ｐチャネルＭＯＳトランジスタ８６、８７、低耐圧型のエンハンスメント型ｎチャネルＭＯＳトランジスタ８８−０〜８８−４、８９〜９１、及びインバータ９２〜９４を備えている。
【０１８９】
ＭＯＳトランジスタ８６、８７は、ソースに電源電位ＶＤＤが与えられ、ドレインが共通に接続され、ＭＯＳトランジスタ８６のゲートには信号ＲＤＥＣが与えられる。ＭＯＳトランジスタ９０、９１は、ソースが接地され、ドレインが共通接続され、ＭＯＳトランジスタ９０のゲートには信号ＲＯＭＢＡＥＮが与えられる。信号ＲＯＭＢＡＥＮは、通常、常時“Ｌ”レベルである。ＭＯＳトランジスタ８８−０〜８８−４、８９は、ＭＯＳトランジスタ８６、８７のドレインと、ＭＯＳトランジスタ９０、９１のドレインとの間に順次、その電流経路が直列接続されている。そしてそれぞれのゲートに信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥ、ＲＤＥＣが入力される。ブロックデコーダ４０が選択ブロックに相当する場合には、信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥの全てが“Ｈ”レベルとなり、相当しない場合には少なくともいずれかが“Ｌ”レベルとなる。信号ＲＤＥＣは信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥが入力される際に“Ｈ”レベルとなる信号である。インバータ９２〜９４は直列接続され、インバータ９２の入力ノードがＭＯＳトランジスタ８６、８７のソース及びＭＯＳトランジスタ８８−０のドレインに接続される。インバータ９２の出力ノード及びインバータ９３の入力ノードはＭＯＳトランジスタ８７のゲートに接続される。またインバータ９１の出力が信号／ＲＤＥＣＡとなる。
【０１９０】
次に、レベルシフタ８１について説明する。レベルシフタ８１は、ＭＯＳトランジスタ９５〜９８を備えている。
【０１９１】
ＭＯＳトランジスタ９７は、低耐圧型のディプレッション型ｎチャネルＭＯＳトランジスタであり、ドレインがインバータ９４の出力ノードに接続され、ゲートに信号ＢＳＴＯＮが与えられる。信号ＢＳＴＯＮは、ブロックアドレスデコード時に“Ｈ”レベルとされる信号である。ＭＯＳトランジスタ９８は、ＭＯＳトランジスタ９７よりも高耐圧型のディプレッション型ｎチャネルＭＯＳトランジスタである。ＭＯＳトランジスタ９８は、ドレインがＭＯＳトランジスタ９７のソースに接続され、ゲートに信号ＢＳＴＯＮが与えられる。ＭＯＳトランジスタ９６は、高耐圧型のエンハンスメント型ｐチャネルＭＯＳトランジスタである。ＭＯＳトランジスタ９６は、ドレインがトランジスタ９８のソースに接続され、ソースがバックゲートに接続され、ゲートに信号／ＲＤＥＣＡが入力される。ＭＯＳトランジスタ９５は、高耐圧型のディプレッション型ｎチャネルＭＯＳトランジスタである。ＭＯＳトランジスタ９５は、ドレインに電圧ＶＲＤＥＣが与えられ、ソースがトランジスタ９６のソースに接続され、ゲートがトランジスタ９８のソース及びトランジスタ９６のドレインに接続される。電圧ＶＲＤＥＣは、データの書き込み時、読み出し時、及び消去時において、必要な値とされる。より具体的には、第１実施形態における図５で説明したように、書き込み時にはＶＰＧＭＨとされ、読み出し時にはＶＲＥＡＤＨとされ、消去時にはＶddaとされる。
【０１９２】
そして、トランジスタ９７のソース、トランジスタ９８のドレイン、及びトランジスタ９９のゲートの共通接続ノードにおける電位が、信号ＴＧとして、対応するトランジスタ５０、５１、５３、５５のゲートに与えられ、また信号／ＲＤＥＣＡが、対応するトランジスタ５２、５４のゲートに与えられる。
【０１９３】
次に、第１保持回路８２について説明する。第１保持回路８２は、インバータ１０２、１０３を備えるラッチ回路である。インバータ１０２の入力ノードとインバータ１０３の出力ノードはノードＬ１に接続され、インバータ１０３の入力ノードとインバータ１０２の出力ノードはノードＬ２に接続される。
【０１９４】
ノードＬ１は、ＭＯＳトランジスタ９１のゲートに接続される。
【０１９５】
そして第１保持回路８２は、バッドブロックフラグＢＢＦを保持する。すなわち、対応するブロックＢＬＫがバッドブロックである場合、コントローラによって、ノードＬ２が“Ｈ”レベルとされ、ノードＬ１は“Ｌ”レベルとなる。このようにＢＢＦがセットされることで、トランジスタ９１は常にオフ状態とされる。
【０１９６】
次に、第２保持回路８３について説明する。第２保持回路８３は、インバータ１００、１０１を備えるラッチ回路である。インバータ１００の入力ノードとインバータ１０１の出力ノードはノードＬ３に接続され、インバータ１０１の入力ノードとインバータ１００の出力ノードはノードＬ４に接続される。
【０１９７】
そして第２保持回路８３は、バッドストリングフラグＢＳＦを保持する。すなわち、対応するブロックＢＬＫの少なくともいずれかのストリングがバッドストリングである場合、コントローラによって、ノードＬ４が“Ｈ”レベルとされ、ノードＬ３が“Ｌ”レベルとされる。
【０１９８】
次に、第１セット回路８４について説明する。第１セット回路８４は、第１、第２保持回路８２、８３にバッドブロックフラグＢＢＦ及びバッドストリングフラグＢＳＦを書き込むための回路である。第１セット回路８４は、ｎチャネルＭＯＳトランジスタ１０４、１０５を備えている。トランジスタ１０５は、ソースが接地され、ドレインがトランジスタ１０４のソースに接続され、ゲートに信号ＳＥＴ＿ＢＳが入力される。信号ＳＥＴ＿ＢＳは、バッドブロックフラグＢＢＦまたはバッドストリングストリングＢＳＦを書き込む際に“Ｈ”レベルとされる。トランジスタ１０４は、ドレインがノードＬ３に接続され、ゲートに信号ＲＤＥＣＡが入力される。
【０１９９】
次に、第２セット回路８５について説明する。第２セット回路８５は、第１保持回路８２にバッドブロックフラグＢＢＦを書き込むための回路であり、例えばｎチャネルＭＯＳトランジスタ８５である。トランジスタ８５は、ソースがノードＬ１に接続され、ドレインがノードＬ３に接続され、ゲートに信号ＳＥＴ＿ＢＢが入力される。信号ＳＥＴ＿ＢＢは、バッドブロックフラグを書き込む際に“Ｈ”レベルとされる。
【０２００】
５．１．２  ＢＢＦ及びＢＳＦの書き込み方法について  
次に、上記構成のブロックデコーダ４０にバッドブロックフラグＢＢＦ及びバッドストリングフラグＢＳＦを書き込む方法について説明する。
【０２０１】
まず、バッドブロックフラグＢＢＦの書き込み方法について説明する。バッドブロックフラグＢＢＦを保持回路８２に書き込むタイミングは、例えば図１７で説明したテスト時、及び図２６で説明した電源投入時である。
【０２０２】
まずコントローラは、不良ブロックＢＬＫのブロックアドレスをＮＡＮＤ型フラッシュメモリ１に入力する。その結果、当該不良ブロックＢＬＫに対応するブロックデコーダ４０では、信号ＡＲＯＷＡ〜ＡＲＯＷＥの全てが“Ｈ”レベルとなる。また、信号ＲＤＥＣも“Ｈ”レベルとされる。信号ＲＯＭＢＡＥＮは先述の通り“Ｌ”レベルである。また、保持回路８２はまだＢＢＦを書き込まれていない状態にあるので、ノードＬ１は“Ｈ”レベルである。従って、信号ＲＤＥＣＡは“Ｈ”レベルとされる。
【０２０３】
またコントローラは、信号ＳＥＴ＿ＢＳ及び信号ＳＥＴ＿ＢＢを“Ｈ”レベルとする。すると、トランジスタ１０４、１０５、８５がオン状態となり、ノードＬ１が“Ｌ”レベルとされ、ノードＬ２が“Ｈ”レベルとされる。これにより、ＢＢＦがセットされる。
【０２０４】
次にバッドストリングフラグＢＳＦの書き込み方法について説明する。バッドストリングフラグＢＳＦを保持回路８３に書き込むタイミングは、バッドブロックフラグＢＢＦと同様に、例えば図１７で説明したテスト時及び図２６で説明した電源投入時である。
【０２０５】
まずコントローラは、バッドストリングを含むブロックＢＬＫのブロックアドレスをＮＡＮＤ型フラッシュメモリ１に入力する。その結果、バッドブロックフラグＢＢＦの書き込み時と同様に、対応するブロックデコーダ４０では信号ＲＤＥＣＡが“Ｈ”レベルとされる。
【０２０６】
そしてコントローラは、信号ＳＥＴ＿ＢＳを“Ｈ”レベルとする。バッドブロックフラグＢＢＦを書き込まない場合には、信号ＳＥＴ＿ＢＢは“Ｌ”レベルとされる。すると、トランジスタ１０４、１０５がオン状態となり、ノードＬ３が“Ｌ”レベルとされ、ノードＬ４が“Ｈ”レベルとされる。これにより、ＢＳＦがセットされる。
【０２０７】
５．１．３  ブロックデコーダ４０の動作について  
次に、データアクセスの際のブロックデコーダ４０の動作について説明する。
【０２０８】
まず、バッドブロックフラグＢＢＦがセットされていない場合について説明する。対応するブロックＢＬＫがブロックアドレスに一致する場合、信号ＡＲＯＷＡ〜ＡＲＯＷＥの全てが“Ｈ”レベルとなる。また、信号ＲＤＥＣも“Ｈ”レベルとされる。ノードＬ１は“Ｈ”レベルである。従って、トランジスタ８８、８９、９１がオン状態となり、信号ＲＤＥＣＡ＝“Ｈ”レベルとなり、信号／ＲＤＥＣＡ＝“Ｌ”レベルとなる。なお、信号ＳＥＴ＿ＢＳ及びＳＥＴ＿ＢＢは“Ｌ”レベルとされている。
【０２０９】
レベルシフタ８１では、信号ＢＳＴＯＮが“Ｈ”レベルとされる。従って、トランジスタ９７、９８がオン状態とされ、信号ＴＧは“Ｈ”レベルとされる。また、信号／ＲＤＥＣＡが“Ｌ”レベルなので、トランジスタ９６もオン状態とされ、トランジスタ９５もオン状態とされる。
【０２１０】
その結果、トランジスタ９５、９６の電流経路を介して、電圧ＶＲＤＥＣが信号ＴＧとして出力される。この結果、図５で説明したトランジスタ５０、５１、５３、５５がオン状態とされる。
【０２１１】
バッドブロックフラグＢＢＦがセットされている場合、トランジスタ８８、８９はオン状態であるが、トランジスタ９１はオフ状態とされる。従って、信号ＲＤＥＣＡ＝“Ｌ”レベルとされるため、トランジスタ９５、９６もオフ状態とされ、信号ＴＧは“Ｌ”レベルされる。その結果、図５で説明したトランジスタ５０、５１、５３、５５はオフ状態とされる。逆に、信号／ＲＤＥＣＡは“Ｈ”レベルとされるため、トランジスタ５２、５４がオン状態とされる。
【０２１２】
対応するブロックＢＬＫがブロックアドレスに一致しない場合には、信号ＡＲＯＷＡ〜ＡＲＯＷＥのいずれかが“Ｌ”レベルとなり、信号ＲＤＥＣＡ＝“Ｌ”レベルとされる。従って、バッドブロックフラグＢＢＦがセットされている場合と同様に、信号ＴＧ＝“Ｌ”レベルとされる。
【０２１３】
なお、バッドストリングフラグＢＳＦそのものは、ブロックデコーダ４０の動作には影響を与えない。
【０２１４】
５．２  ＮＡＮＤ型フラッシュメモリ１の動作について  
次に、コントローラからデータアクセス要求があった際のＮＡＮＤ型フラッシュメモリ１の動作について、図３３を用いて説明する。図３３は、データの書き込み要求を受信した際のＮＡＮＤ型フラッシュメモリの処理の流れを示している。以下では書き込み要求時の動作を例に挙げて説明するが、読み出し時も同様である。
【０２１５】
図示するように、コントローラから書き込み要求を受信すると、例えばシーケンサは、バッドブロックセンスを実施する（ステップＳ１７０）。すなわち、受信したブロックアドレスに対応するブロックデコーダ４０において、保持回路８２にバッドブロックフラグＢＢＦがセットされているか否かを確認する。
【０２１６】
バッドブロックフラグＢＢＦがセットされていれば（ステップＳ１７１、ＹＥＳ）、シーケンサは、要求された書き込みを実行することなく、ステータスフェイルをコントローラに返す（ステップＳ１８０）。
【０２１７】
バッドブロックフラグＢＢＦがセットされていなければ（ステップＳ１７１、ＮＯ）、引き続きシーケンサはバッドストリングフラグセンスを実施する（ステップＳ１７３）。すなわち、受信したブロックアドレスに対応するブロックデコーダ４０において、保持回路８３にバッドストリングフラグＢＳＦがセットされているか否かを確認する。
【０２１８】
バッドストリングフラグＢＳＦがセットされていなければ（ステップＳ１７４、ＮＯ）、シーケンサは、コントローラから受信したデータのプログラムを実行する（ステップＳ１７５）。読み出し要求があった場合には、当然ながらデータを読み出す。そして、プログラムに成功すれば（ステップＳ１７６、ＹＥＳ）、その旨をコントローラに返し（ステップＳ１７７）、そうでなければ（ステップＳ１７６、ＮＯ）ステータスフェイルを返す（ステップＳ１８０）。
【０２１９】
ステップＳ１７３において、バッドストリングフラグＢＳＦがセットされていた場合（ステップＳ１７４、ＹＥＳ）、シーケンサは、バッドストリングセンスを実施する（ステップＳ１７８）。すなわち、コントローラから受信したアドレスに対応するストリングにつき、図８〜図１２で説明したデータ読み出しを行う。当該ストリングがバッドストリングで無ければ、全ビット線ＢＬ＝“１”のはずである（図９〜図１０の場合に相当）。この場合には（ステップＳ１７９、ＮＯ）、シーケンサはステップＳ１７５に進み、データのプログラムを行う。他方で、当該ストリングがバッドストリングであれば、全ビット線ＢＬ＝“０”のはずである（図１１〜図１２の場合に相当）。この場合には（ステップＳ１７９、ＹＥＳ）、シーケンサはステップＳ１８０に進み、ステータスフェイルをコントローラに返す。
【０２２０】
５．３  本実施形態に係る効果  
本実施形態に係る構成であると、第３実施形態で説明した第２ＲＯＭフューズ領域を削減または不要とし、またＮＡＮＤ型フラッシュメモリ１の起動を高速化出来る。本効果につき、以下説明する。
【０２２１】
本実施形態では、ブロックデコーダ４０の各々がバッドストリングフラグＢＳＦを保持する。このバッドストリングフラグＢＳＦは、対応するブロックＢＬＫがバッドストリングを含むことを意味している（どのストリングがバッドストリングであるか、までの情報は有しない）。
【０２２２】
そして、コントローラからアクセス要求があった際に、ＮＡＮＤ型フラッシュメモリ１自身がバッドストリングフラグＢＳＦをチェックする。そして、ＢＳＦがセットされていた際には、アクセス対象となったストリングがバッドストリングであるか否かをバッドストリングセンスによって確認する。つまり、まずバッドストリングフラグセンスによってバッドストリングの有無を判断し（ステップＳ１７３）、バッドストリングが有る場合にはバッドストリングセンスによってバッドストリングを特定する（ステップＳ１７８）。
【０２２３】
このように本実施形態であると、バッドストリングの管理をＮＡＮＤ型フラッシュメモリ１自身が行うことが出来、コントローラによる管理が不要となる。従って、バッドストリング情報を第２ＲＯＭフューズに書き込む必要が無い。その結果、電源投入時における、第２ＲＯＭフューズからのバッドストリング情報の読み出しが不要となり、ＮＡＮＤ型フラッシュメモリ１の高速な起動が可能となる。
【０２２４】
なお、第３実施形態のようにバッドストリング情報をコントローラが管理する場合、電源投入時に第２ＲＯＭフューズからのバッドストリング情報の読み出しは必要になるが、ブロックデコーダ４０内の第２保持回路８３は不要であり、ロウデコーダ１１のサイズを小さく出来る。また、データアクセスの度にバッドストリングセンス（ステップＳ１７８）も不要である。
【０２２５】
従って、製品に対する要求に応じて、第３実施形態の構成と第５実施形態の構成を適宜選択出来る。
【０２２６】
６．第６実施形態  
次に、第６実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第１乃至第５実施形態で説明したバッドストリングモード（ＢＳＭ）手法を、ＮＡＮＤ型フラッシュメモリ１が採用しているか否かを確認する方法に関するものである。以下では、第１乃至第５実施形態と異なる点についてのみ説明する。
【０２２７】
６．１  第１の方法について  
まず、ＢＳＭを採用しているか否かを確認する第１の方法について説明する。図３４は、第１の方法のフローチャートである。この処理は、例えばコントローラの命令に応答して、シーケンサによって実行される。
【０２２８】
まず、いずれかのブロックＢＬＫが選択され（ステップＳ１９０）、選択ブロックＢＬＫ内の全データが消去される（ステップＳ１９１）。引き続き、選択ブロックＢＬＫにおいて、ストリング毎に全ページデータの読み出しが行われる（ステップＳ１９２）。この読み出しは、第１実施形態で図８〜図１２を用いて説明した通りである。この読み出しを、全ストリングにつき繰り返し（ステップＳ１９３、ＮＯ、Ｓ１９４）、その度に、全ビット線ＢＬ＝“０”であったストリング数（言い換えれば、読み出しデータが全カラムにつき“Ｃ”レベルであったストリング数）をカウントする。
【０２２９】
そして、全てのストリングにつき読み出しが終了した後（ステップＳ１９３、ＹＥＳ）、シーケンサは、読み出しデータが全カラムにつき“Ｃ”レベルであったストリング数が、０より多く、且つ当該ブロック内の全ストリング数より少なければ（ステップＳ１９５、ＹＥＳ）、ＢＳＭが用いられていると判断する（ステップＳ１９８）。
【０２３０】
他方で、読み出しデータが全カラムにつき“Ｃ”レベルであったストリング数がゼロであった場合、または全ストリングが“Ｃ”レベルであった場合には（ステップＳ１９５、ＮＯ）、少なくとも当該ブロックＢＬＫについてＢＳＭは用いられていないと判断し（ステップＳ１９６）、次のブロックＢＬＫを選択して（ステップＳ１９７、Ｓ１９０）、ステップ１９１以降の処理を繰り返す。
【０２３１】
上記処理の具体例を図３５に示す。図３５は、あるブロックＢＬＫとセンスアンプ１２の模式図であり、選択ブロックＢＬＫの消去（ステップＳ１９１）後に、各ストリングからデータ順次を読み出していく様子（ステップＳ１９２）を示している。
【０２３２】
図示するように、ストリンググループＧＰ０からデータを読み出した際、読み出しデータは全カラムにつきＥｒレベルまたはＥＰレベルであったとする。次にストリンググループＧＰ１からデータを読み出した際も同様である。次にストリンググループＧＰ２からデータを読み出した際、読み出しデータは全カラムにつきＣレベルであったとする。そして、最後のストリンググループＧＰ３はＥｒレベルまたはＥＰレベルである。
【０２３３】
この場合、読み出しデータが全カラムにつきＣレベルであったストリング数は１であり、全ストリング数４よりも小さい。よって、このＮＡＮＤ型フラッシュメモリ１はＢＳＭを用いていると判断される。
【０２３４】
全ストリングがバッドストリングである場合を除外する理由は、当該ブロックＢＬＫがバッドブロックとして扱われている場合と区別することが困難なためである。従って、１ブロック内に、全メモリセルトランジスタＭＴが消去レベル（ＥｒレベルまたはＥＰレベル）であるストリングと、全メモリセルトランジスタＭＴがＣレベルであるストリングとが混在している場合に、ＢＳＭが採用されている、と判断出来る。
【０２３５】
６．２  第２の方法について  
次に、第２の方法について図３６を用いて説明する。図３６は、第２の方法のフローチャートである。
【０２３６】
図示するように第２の方法は、第１の方法において以下の変形を行ったものである。すなわち、  
(1) 消去の後、ステータスチェックを行う（ステップＳ２００）。なお、消去ベリファイは、第４実施形態で説明した第２の方法（ストリング毎ベリファイ）を用いる。  
(2) ステータスチェックの結果、ステータスパスであれば（すなわち消去に成功した場合：ステップＳ２０１、ＹＥＳ）、ステップＳ１９２に進み、ステータスフェイルであれば（すなわち消去に失敗した場合：ステップＳ２０１、ＮＯ）、次のブロックを選択する（ステップＳ１９７）。
【０２３７】
ステップＳ２００において、選択ブロックＢＬＫの状態とステータスとの関係は、以下のケースが考えられる。すなわち、
(a) 選択ブロック内の全てのストリングがバッドストリングの場合：フェイル  
(b) 選択ブロックがバッドブロックの場合：フェイル  
(c) 選択ブロック内のいずれかのストリングのみがバッドストリングの場合：パス  
(d) 選択ブロックが、真性の消去不良を含む場合：フェイル  
(e) 選択ブロックがバッドストリングを含まない場合：パス  
よって、ステータスパスの場合にのみ、ステップＳ１９２以降の処理を行うことで、処理効率を向上出来る。
【０２３８】
６．３  第３の方法について  
次に、第３の方法について説明する。図３７は、上記第１乃至第５実施形態のＢＳＭの模式図である。
【０２３９】
図示するように、上記実施形態に係るＢＳＭであると、選択ブロックＢＬＫに対応するロウデコーダ１１は、セレクトゲート線ＳＧＤ、ＳＧＳに電圧ＶＳＧを転送する（またはバックゲート線ＢＧに電圧ＶＣＧ＿ＢＧＶを転送する）。その上で、選択トランジスタＳＴ１、ＳＴ２（またはバックゲートトランジスタＢＴ）の閾値が通常よりも高く設定することにより、バッドストリングが選択されることを禁止する。
【０２４０】
これに対して、ストリング単位で不良を管理する方法として、図３８に示す方法も考えられる。この方法は、ロウデコーダ内にバッドストリング情報を保持させ、この情報に応じてロウデコーダによる電圧転送動作を禁止する。従って、この方法によれば、バッドストリングに対応するセレクトゲート線ＳＧＤ、ＳＧＳ（またはバックゲート線ＢＧ）には、電圧ＶＳＧ（またはＶＣＧ＿ＢＧＶ）は転送されず、選択トランジスタＳＴ１、ＳＴ２をオフする電圧（例えば０Ｖ）が印加されるか、あるいは電気的にフローティングとされる。
【０２４１】
このような点に着目して、図３９に示す方法を用いることが出来る。図３９は、第３の方法のフローチャートである。
【０２４２】
図示するように、いずれかのストリングを選択して、当該ストリングにつき全ページデータの読み出しが行われる（ステップＳ２１０）。この読み出しは、第１実施形態で図８〜図１２を用いて説明した通りである。そして、読み出しデータが全カラムにつき“Ｃ”レベルであった場合、セレクトゲート線ＳＧＤ及び／またはＳＧＳの電位がＶＳＧであるか否かを確認する（ステップＳ２１２）。セレクトゲート線ＳＧＤ、ＳＧＳにＶＳＧが印加されていれば（ステップＳ２１２、ＹＥＳ）、上記実施形態で説明したバッドストリングモードＢＳＭが用いられていると判断出来る（ステップＳ２１３）。他方、ＶＳＧが印加されていなければ（ステップＳ２１２、ＮＯ）、上記実施形態で説明したＢＳＭは用いられていないと判断出来る（ステップＳ２１４）。
【０２４３】
６．４  第４の方法について  
次に、第４の方法について説明する。図３８で説明した手法によれば、バッドストリング情報がロウデコーダに書き込まれるタイミングは電源投入直後であるのが一般的である（これをＰＯＲ：power-on readと呼ぶ）。つまり、ストリング単位での不良管理は、ＰＯＲ後から可能となる。この特性を利用したのが第４の方法である。図４０は、第４の方法のフローチャートである。
【０２４４】
図示するように、ＮＡＮＤ型フラッシュメモリ１に電源が投入される（ステップＳ２２０）。するとコントローラは、ＰＯＲによってＲＯＭフューズから情報が読み出される前に（当然ながら第２ＲＯＭフューズからの読み出しの前でもある）、いずれかのストリングを選択して、当該ストリングにつき全ページデータの読み出しを行う（ステップＳ２２１）。この読み出しは、第１実施形態で図８〜図１２を用いて説明した通りである。そして、いずれかのストリングにおいて、読み出しデータが全カラムにつき“Ｃ”レベルであった場合、上記実施形態で説明したＢＳＭが用いられていると判断する（ステップＳ２２３）。他方、読み出しデータが全カラムにつき“Ｃ”レベルであるストリングが無ければ、上記実施形態で説明したＢＳＭは用いられていないと判断出来る（ステップＳ２２４）。
【０２４５】
７．第７実施形態  
次に、この発明の第７実施形態に係る半導体記憶装置について説明する。本実施形態は、上記第１乃至第６実施形態で説明したＮＡＮＤ型フラッシュメモリ１のコントローラに関するものである。
【０２４６】
図４１は、本実施形態に係るメモリシステムのブロック図である。図示するようにメモリシステムは、ホスト機器３００、コントローラ２００、及びＮＡＮＤ型フラッシュメモリ１を備えている。
【０２４７】
コントローラ２００は、ホスト機器３００からの命令に応答して、ＮＡＮＤ型フラッシュメモリ１に対して読み出し、書き込み、消去を命令する。また、ＮＡＮＤ型フラッシュメモリ１のメモリ空間を管理する。コントローラ２００とＮＡＮＤ型フラッシュメモリ１は、例えば同一の半導体装置を構成しても良く、その例としてはＳＤＴＭカードのようなメモリカードや、ＳＳＤ（solid state drive）等が挙げられる。
【０２４８】
コントローラ２００は、ホストインターフェイス回路２１０、内蔵メモリ２２０、プロセッサ（ＣＰＵ）２３０、バッファメモリ２４０、及びＮＡＮＤインターフェイス回路２５０を備えている。
【０２４９】
ホストインターフェイス回路２１０は、ホストインターフェイスを介してホスト機器３００と接続され、ホスト機器３００との通信を司る。そして、ホスト機器３００から受信した命令及びデータを、それぞれＣＰＵ２３０及びバッファメモリ２４０に転送する。またＣＰＵ２３０の命令に応答して、バッファメモリ２４０内のデータをホスト機器３００へ転送する。
【０２５０】
ＮＡＮＤインターフェイス回路２５０は、ＮＡＮＤインターフェイスを介してＮＡＮＤ型フラッシュメモリ１と接続され、ＮＡＮＤ型フラッシュメモリ１との通信を司る。そして、ＣＰＵ２３０から受信した命令をＮＡＮＤ型フラッシュメモリ１に転送し、また書き込み時にはバッファメモリ２４０内の書き込みデータをＮＡＮＤ型フラッシュメモリ１へ転送する。更に読み出し時には、ＮＡＮＤ型フラッシュメモリ１から読み出されたデータをバッファメモリ２４０へ転送する。
【０２５１】
ＣＰＵ２３０は、コントローラ２００全体の動作を制御する。例えばホスト機器３００から読み出し命令を受信した際には、それに従ってＮＡＮＤインターフェイスに基づく読み出し命令を発行する。書き込み及び消去の際も同様である。またＣＰＵ２３０は、ウェアレベリング等、ＮＡＮＤ型フラッシュメモリ１を管理するための様々な処理を実行する。更にＣＰＵ２３０は、各種の演算を実行する。例えば、データの暗号化処理、ランダマイズ処理、誤り訂正処理等を実行する。
【０２５２】
内蔵メモリ２２０は、例えばＤＲＡＭ等の半導体メモリであり、ＣＰＵ２３０の作業領域として使用される。そして内蔵メモリ２２０は、ＮＡＮＤ型フラッシュメモリを管理するためのファームウェアや、各種の管理テーブル等を保持する。
【０２５３】
上記構成において、ＮＡＮＤ型フラッシュメモリ１が起動されると、ＲＯＭフューズから読み出されたデータ（例えばバッドブロック情報）が、ＮＡＮＤインターフェイス回路２５０を介して例えばＲＡＭ２２０に格納される。その後、ＣＰＵ２３０は、ＮＡＮＤインターフェイス回路２５０を介してＮＡＮＤ型フラッシュメモリ１に対して、第２ＲＯＭフューズの読み出しを命令する。この命令は、ＮＡＮＤ型フラッシュメモリ１のシーケンサＳＥＱに与えられる。この命令に応答して、第２ＲＯＭフューズ内のデータ（例えばバッドストリング情報）が読み出され、ＮＡＮＤインターフェイス回路２５０を介して例えばＲＡＭ２２０に格納される。これにより、コントローラ２００はＮＡＮＤ型フラッシュメモリ１におけるバッドブロック及びバッドストリングを認識し、これらの領域へアクセスしないようにすることが出来る。仮にアクセスしたとしても、ＮＡＮＤ型フラッシュメモリから読み出されるデータは、全ビット線につき“０”状態に相当するデータ（本例の場合は“Ｃ”レベルデータ）であるので、アクセスした領域が不良であることを認識出来る。
【０２５４】
またＮＡＮＤ型フラッシュメモリ１は、各種のレジスタＲＧを有する。このレジスタの状態によって、コントローラ２００はＮＡＮＤ型フラッシュメモリ１のステータスを把握することが出来る。
【０２５５】
なお、第２実施形態で説明したテスタも、コントローラ２００と同様な構成を有していても良い。そして、図１６乃至図２１で説明した処理を、ＣＰＵ２３０が主導して実行することが出来る。
【０２５６】
８．変形例等  
上記のように、実施形態に係る半導体記憶装置１は、電荷蓄積層と制御ゲートを備えた第１、第２選択トランジスタＳＴ１、ＳＴ２と、各々が電荷蓄積層と制御ゲートを備え、第１、第２選択トランジスタ間に直列接続された複数のメモリセルトランジスタＭＴとを備える。そしてメモリセルトランジスタのいずれかが不良の場合、該不良情報が、第１、第２選択トランジスタＳＴ１、ＳＴ２の少なくともいずれかに書き込まれる（図６のステップＳ１２）。あるいは、バックゲートトランジスタＢＴに書き込まれる。
【０２５７】
本構成により、ストリング単位での不良管理情報を選択トランジスタＳＴ１、ＳＴ２またはバックゲートトランジスタＢＴに格納出来、これをコントローラに伝えることが出来る。また、コントローラが仮にバッドストリングにアクセスした場合であっても、選択トランジスタＳＴ１、ＳＴ２またはバックゲートトランジスタＢＴがオフ状態であるので、全ビット線ＢＬは“０”状態となる。従って、コントローラは、アクセスしたストリングがバッドストリングであることを認識出来る。
【０２５８】
このように、ストリング単位で不良を管理することで、より多くのメモリセルを救済出来、半導体記憶装置１の使用効率を向上出来る。但し、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
【０２５９】
例えば、バッドストリング情報を選択トランジスタに書き込む場合、選択トランジスタＳＴ１、ＳＴ２の両方では無く、いずれか一方にのみ書き込む場合であっても良い。少なくともいずれか一方がオフ状態とされれば、セル電流Ｉcellは流れないからである。しかし、より信頼性の高い動作を考慮すれば、選択トランジスタＳＴ１、ＳＴ２の両方に書き込むことが望ましい。またバッドストリング情報は、選択トランジスタＳＴ１、ＳＴ２とバックゲートトランジスタＢＴのいずれかではなく、この両方に書き込まれる場合であっても良い。
【０２６０】
上記では、コントローラ２００がバッドストリングにアクセスした場合、ＮＡＮＤ型フラッシュメモリ１は、全セルがオフ状態である旨の情報（全ビット線ＢＬ“０”状態に相当するデータ）をコントローラ２００に返す場合を例に説明した。しかしこの場合には、ＮＡＮＤ型フラッシュメモリ１は、ステータスフェイルをコントローラ２００に返しても良い。
【０２６１】
また上記第２実施形態では、ブロックテスト、ストリングテスト、及びページテストにつき、種々の具体例を挙げて説明した。しかし、ブロック不良及びストリング不良となる欠陥は、実施形態で説明したものに限らない。図４２は、ワード線ＷＬの平面パターンを示す平面図である。図示するように、ワード線ＷＬは櫛形の形状を有しており、同じレイヤに形成された２組のワード線（図４の例では、例えばＷＬ０とＷＬ７、ＷＬ１とＷＬ６、ＷＬ２とＷＬ５、及びＷＬ３とＷＬ４）は交互に配置されている。
【０２６２】
このような構成において、２組のワード線ＷＬがショートした場合には、この影響は当該ブロックＢＬＫの全ストリングに影響を与え、またショートの場合には不良個所を特定することも困難である。従って、ショート系の不良が発生した場合には、ブロック全体をバッドブロックに登録することが望ましい。セレクトゲート線同士のショートや、セレクトゲート線とワード線との間のショートも同様である。
【０２６３】
これに対してオープン系の不良の場合には、ストリング単位で救済出来る可能性がある。例えば、櫛形形状の先端部分で断線が発生した場合（図４２のオープン不良その１）、この断線部分を含むストリングのみをバッドストリングに登録すれば十分である。しかし、櫛形形状の根元部分で断線が発生した場合（図４２のオープン不良その２）には、ストリング単位での救済は困難であるかもしれない。この場合には、ブロック全体がバッドブロックに登録される。また、第２実施形態で説明したメモリホールの目詰まりによる不良は（図４２のオープン不良その３）、当然ながらストリング単位で救済可能である。
【０２６４】
また、図４２に示すように、隣接するメモリホール間のショート不良も、ストリング単位で救済出来る。図４２ではワード線ＷＬに沿った方向で隣接するメモリホールのショート不良を図示しているが、ビット線ＢＬに沿った方向で隣接するメモリホールのショート不良も同様である。
【０２６５】
また、ストリング単位での救済が可能な場合であっても、１ブロック内に含まれるバッドストリング数が多い場合には、バッドブロックとして扱っても良い。例えば、テスタは予めバッドストリング数の基準値（例えば、１ブロック内のストリング数の半分など）を保持しており、バッドストリング数が基準値を超えた場合にバッドブロックに登録することが出来る。このことはコントローラ２００も同様であり、ＮＡＮＤ型フラッシュメモリ１の出荷後において、バッドストリングの数が増加し、その数がある基準値を超えた場合には、対応するブロックをバッドブロックに登録しても良い。
【０２６６】
また、第２実施形態において図２２及び図２３を用いて説明したように、バッドブロック情報はＲＯＭフューズに格納し、バッドストリング情報はＲＯＭフューズとは異なる第２ＲＯＭフューズに格納しておくことが望ましい。なぜなら、バッドストリング情報は、ＰＯＲにおいて必ずしも読み出さなければならない情報では無いからである。また、バッドストリング情報を第２ＲＯＭフューズに格納することで、ＲＯＭフューズのサイズが大きくなることを抑制し、且つＰＯＲを高速に実行出来る。しかしながら、第２ＲＯＭフューズもまた、ＲＯＭフューズと同様に、ＮＡＮＤ型フラッシュメモリ１の制御情報や管理情報を保持するための専用として設けられ、ユーザ（ホスト機器）からは直接アクセス出来ない領域である。但し、ＲＯＭフューズのサイズやＰＯＲの速度に問題が無い場合には、バッドストリング情報をＲＯＭフューズ内に格納しても良い。この場合には、当然ながら図２６のステップＳ１２５において、バッドストリング情報もコントローラに転送される。
【０２６７】
また上記実施形態では、図８乃至図１２で説明したような方法でバッドストリングセンスを行う。メモリセルアレイ１０にデータが書き込まれる際に、例えばコントローラ２００のＣＰＵ２３０によってランダマイズされる。これは、特定のカラムに特定のデータが集中しないようにするためである。このため、データの消去直後以外において、全メモリセルトランジスタＭＴの閾値レベルが“Ｃ”レベルであることは、ほぼあり得ない。従って、バッドストリング情報が選択トランジスタＳＴ１、ＳＴ２またはバックゲートトランジスタＢＴに書き込まれているか否かは、図８乃至図１２に説明した方法により判定出来る。
【０２６８】
また、先に説明した通り、メモリホール内のピラー２６、３０は、instrinsicなシリコンで形成される。従って、選択トランジスタＳＴ１、ＳＴ２やバックゲートトランジスタＢＴは、その閾値が負の値になりやすい。そのため、三次元積層型ＮＡＮＤ型フラッシュメモリにおいては、メモリセルトランジスタＭＴだけでなく、選択トランジスタＳＴ１、ＳＴ２やバックゲートトランジスタＢＴに対しても、データを書き込む（閾値を上昇させる）機構を有している。よって、バッドストリング情報を選択トランジスタＳＴ１、ＳＴ２やバックゲートトランジスタＢＴに書き込むために、特段の追加回路は必要としない。
【０２６９】
また、図７で説明したように、メモリセルトランジスタＭＴ及びバックゲートトランジスタＢＴの閾値は、電荷蓄積層から電子を引き抜いてデータを消去した直後はＥｒレベルである。三次元積層型ＮＡＮＤ型フラッシュメモリでは、隣接するメモリセルトランジスタＭＴ間で、電荷蓄積層が接続されている。従って、負の閾値を有するトランジスタと正の閾値を有するトランジスタが隣接すると、電荷の再結合が生じてデータが破壊されるおそれがある。従って、消去直後に、ＥｒレベルからＥＰレベルに閾値を上昇させるための書き込み動作を行うか、あるいはコントローラからデータの書き込み命令を受信したタイミングで、同様の書き込み動作を行うことが望ましい。よって、図２９のステップＳ１４７は、閾値をＥｒレベルにするだけの消去動作であっても良いし、あるいはこの消去動作だけでなくＥｒレベルからＥＰレベルへの書き込み動作を含んでいても良い。いずれであるかによって、ステップＳ１４８で使用されるベリファイレベルが異なる。このことは、例えば図３４や図３６のステップＳ１９１でも同様である。
【０２７０】
更に、第６実施形態では、不良制御がストリング単位で行われているか否かの判定方法について、いくつかの具体例を挙げて説明した。しかし、第６実施形態で説明した方法に限られるものでは無く、その他の方法を用いても良い。例えば、消去ベリファイにおいて、図２９で説明したようなストリング単位での読み出し動作が行われているか否かを確認することも、一判断手法となり得る。
【０２７１】
また、上記実施形態では、ブロック単位でデータが消去される場合を例に説明した。しかし、ストリング単位による消去も可能である。この場合には、非選択ストリングにおいて、セレクトゲート線ＳＧＤ、ＳＧＳとソース線ＳＬ及びビット線ＢＬとの電位を、ＧＩＤＬが生じない程度に小さくすれば良い。また、データの書き込み、読み出し、消去において上記説明で用いた値は一例に過ぎず、適宜変更可能なことは言うまでもない。また、上記実施形態では各々のメモリセルトランジスタＭＴが２ビットデータを保持する場合を例に挙げたが、１ビットデータを保持する場合や、あるいは３ビット以上のデータを保持する場合であっても良い。
【０２７２】
また、図２に示したメモリセルアレイは、図４３のような構成としても良い。図４３は、ブロックＢＬＫ０の回路図であり、図２において、図４２に示すようなワード線パターンを用いたものに相当する。その他のブロックＢＬＫ１〜ＢＬＫ３も同様の構成を有し得る。図示するように、ワード線ＷＬ０〜ＷＬ３、バックゲート線ＢＧ、偶数番目のセレクトゲート線ＳＧＤ０、ＳＧＤ２、及び奇数番目のセレクトゲート線ＳＧＳ１、ＳＧＳ３は、メモリセルアレイ１０の一端側に引き出される。これに対してワード線ＷＬ４〜ＷＬ７、偶数番目のセレクトゲート線ＳＧＳ０、ＳＧＳ２、及び奇数番目のセレクトゲート線ＳＧＤ１、ＳＧＤ３は、メモリセルアレイの、前記一端側とは逆側の他端側に引き出される。このような構成としても良い。本構成において、例えばロウデコーダ１１を２つのロウデコーダに分割し、メモリセルアレイ１０を挟んで対向するようにこれらを配置しても良い。そして、一方のロウデコーダによりセレクトゲート線ＳＧＤ０、ＳＧＤ２、ＳＧＳ１、ＳＧＳ３、ワード線ＷＬ０〜ＷＬ３、及びバックゲート線ＢＧを選択し、他方のロウデコーダによりセレクトゲート線ＳＧＳ０、ＳＧＳ２、ＳＧＤ１、ＳＧＤ３、及びワード線ＷＬ４〜ＷＬ７を選択するようにしても良い。本構成によれば、第１ドライバ１６とメモリセルアレイ１０との間の領域（ロウデコーダ１１を含む）のセレクトゲート線やワード線等の配線の混雑を緩和出来る。
【０２７３】
更に、上記実施形態では半導体記憶装置として、三次元積層型のＮＡＮＤ型フラッシュメモリを例に挙げて説明した。しかし、三次元積層型のＮＡＮＤ型フラッシュメモリとしは、図３乃至図５の構成に限られるものでは無い。例えば、半導体層２６はＵ字型の形状ではなく、１本の柱状であっても良い。この場合トランジスタＢＴは不要である。また上記実施形態はＮＡＮＤ型フラッシュメモリに限らず、メモリセルが三次元に積層され、且つメモリセルが選択ゲートを有するような構成全般に適用出来る。
【０２７４】
更に上記実施形態は、メモリセルが三次元に積層された構成に限定されるものでも無い。例えば、メモリセルトランジスタ及び選択トランジスタが半導体基板上に二次元的に配列された通常の平面型ＮＡＮＤフラッシュメモリにも適用可能である。この場合であっても、選択トランジスタの構造をメモリセルトランジスタと同じようにすることで、選択トランジスタに不良情報を書き込むことが出来る。但し、平面型のＮＡＮＤ型フラッシュメモリの場合、積層型ＮＡＮＤ型フラッシュメモリにおける１つのストリンググループが１つのブロックに相当する。従って、平面型のＮＡＮＤ型フラッシュメモリにおいて選択トランジスタに書き込まれる情報は、バッドブロック情報となる。
【０２７５】
なお、三次元積層型と異なり平面型のＮＡＮＤ型のフラッシュメモリでは、ウェル領域に電圧を印加することでデータが消去され、選択トランジスタも消去対象となる。しかし、平面型のＮＡＮＤ型フラッシュメモリでは、選択トランジスタの閾値が変化しないような対策が施されていることが通常であるため、特殊な回路追加を必要とすることなく、選択トランジスタ内の情報が消去されることを防止出来る。
【０２７６】
また平面型のＮＡＮＤ型フラッシュメモリの場合も、ショート系の不良のために、バッドブロックフラグＢＢＦを保持するラッチ回路８２をロウデコーダに設ける必要がある。他方で、オープン系の不良に関しては、その情報をフューズＲＯＭに書き込む必要が無くなるため、ＰＯＲの高速化及びＲＯＭの節約に寄与する。
【０２７７】
より具体的に説明すれば、ワード線等のショート不良の場合には、具体的にどことどことがショートしているのか判別することは難しい。従って、意図せぬ箇所に高電圧が印加されることを防止するために、ロウデコーダ側でバッドブロック登録を行い、電圧がバッドブロックに印加されること自体を禁止する。具体的には、ロウデコーダにラッチを設けて、このラッチにバッドブロックフラグＢＢＦを書き込んでおく。そしてコントローラは、ＰＯＲでこのＢＢＦを読み出す。従って、ショート不良の場合には、バッドブロック情報を書き込むためのフューズＲＯＭが必要となる。
【０２７８】
オープン不良の場合には、ロウデコーダが電圧を出力しても、オープン不良が生じている箇所に電圧は印加されない（あるいは印加されても、十分な電圧が印加されない）。つまり、データの書き込み時であれば、データを書き込めないか、あるいは書き込めても信頼性が低いため、バッドブロックとされる。しかしショート不良と異なり、意図せぬ箇所にまで電圧が印加される、ということは無いため、上記実施形態で説明した手法（ストリンググループ単位で不良を管理し、その情報を選択トランジスタに書き込む手法）を用いれば、ロウデコーダにＢＢＦをセットする必要は特にない。当然ながら、そのためのフューズＲＯＭの領域も不要となる。
【０２７９】
また、上記実施形態において説明したフローチャートは、可能な限り、その順序を入れ替えることも可能である。
【０２８０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０２８１】
１…半導体記憶装置、１０…メモリセルアレイ、１１…ロウデコーダ、１２…センスアンプ、１３…カラムデコーダ、１４…周辺回路、１５…ＮＡＮＤストリング、１６、１７…ドライバ、１８…チャージポンプ、１９…アドレスデコーダ、２０…半導体基板、２１、２３ａ〜２３ｄ、２６、２７ａ、２７ｂ、３０ａ、３０ｂ…半導体層、２５ａ…ブロック層、２５ｂ…電荷蓄積層、２５ｃ、２９ａ、２９ｂ…ゲート絶縁膜、３１〜３３…金属層、４０…ブロックデコーダ、６０…ＣＧドライバ、６１…ＳＧＤドライバ、６２…ＳＧＳドライバ、６３…電圧ドライバ、６４…ＢＧドライバ、２００…コントローラ、２１０…ホストインターフェイス回路、２２０…ＲＡＭ、２３０…ＲＡＭ、２４０…バッファメモリ、２５０…ＮＡＮＤインターフェイス回路
【図１】
2014063551.tif 000003
【図２】
2014063551.tif 000004
【図３】
2014063551.tif 000005
【図４】
2014063551.tif 000006
【図５】
2014063551.tif 000007
【図６】
2014063551.tif 000008
【図７】
2014063551.tif 000009
【図８】
2014063551.tif 000010
【図９】
2014063551.tif 000011
【図１０】
2014063551.tif 000012
【図１１】
2014063551.tif 000013
【図１２】
2014063551.tif 000014
【図１３】
2014063551.tif 000015
【図１４】
2014063551.tif 000016
【図１５】
2014063551.tif 000017
【図１６】
2014063551.tif 000018
【図１７】
2014063551.tif 000019
【図１８】
2014063551.tif 000020
【図１９】
2014063551.tif 000021
【図２０】
2014063551.tif 000022
【図２１】
2014063551.tif 000023
【図２２】
2014063551.tif 000024
【図２３】
2014063551.tif 000025
【図２４】
2014063551.tif 000026
【図２５】
2014063551.tif 000027
【図２６】
2014063551.tif 000028
【図２７】
2014063551.tif 000029
【図２８】
2014063551.tif 000030
【図２９】
2014063551.tif 000031
【図３０】
2014063551.tif 000032
【図３１】
2014063551.tif 000033
【図３２】
2014063551.tif 000034
【図３３】
2014063551.tif 000035
【図３４】
2014063551.tif 000036
【図３５】
2014063551.tif 000037
【図３６】
2014063551.tif 000038
【図３７】
2014063551.tif 000039
【図３８】
2014063551.tif 000040
【図３９】
2014063551.tif 000041
【図４０】
2014063551.tif 000042
【図４１】
2014063551.tif 000043
【図４２】
2014063551.tif 000044
【図４３】
2014063551.tif 000045