(57)【要約】【課題】複数ブロックの消去動作を容易に中断可能な半導体装置及びその制御方法を提供すること。【解決手段】複数のブロックＢＬＫと前記ブロックＢＬＫを選択するデコーダ１１とを備え、複数の前記ブロックＢＬＫにつき一括してデータを消去可能であり、前記デコーダ１１が、少なくともデータの読み出し時及び書き込み時には不良ブロック情報を保持し、複数の前記ブロックＢＬＫに対する一括消去時には消去対象となるブロックの情報を保持するＮＡＮＤ型フラッシュメモリ２と、前記消去対象となるブロックＢＬＫの情報を保持可能なＳＲＡＭ３０と、前記一括消去時において、前記消去対象となるブロックＢＬＫの情報を前記ＳＲＡＭ３０から読み出して、前記デコーダ１１にセットするコントローラ４とを具備する。【選択図】図３
2011100518.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを含む複数のブロックと、前記ブロックを選択するデコーダとを備え、複数の前記ブロックにつき一括してデータを消去可能であり、前記デコーダが、少なくともデータの読み出し時及び書き込み時には不良ブロック情報を保持し、複数の前記ブロックに対する一括消去時には消去対象となるブロックの情報を保持するＮＡＮＤ型フラッシュメモリと、
前記消去対象となるブロックの情報を保持可能なＳＲＡＭと、
前記一括消去時において、前記消去対象となるブロックの情報を前記ＳＲＡＭから読み出して、前記デコーダにセットするコントローラと
を具備することを特徴とする半導体装置。
【請求項２】
複数のメモリセルを含む複数のブロックと、前記ブロックを選択するデコーダとを備え、複数の前記ブロックにつき一括してデータを消去可能であり、複数の前記ブロックに対する一括消去時に、消去対象となるブロックの情報を前記デコーダが保持するＮＡＮＤ型フラッシュメモリと、
不良ブロック情報を保持可能なＳＲＡＭと、
前記データの書き込み及び読み出しを行う際に、前記ＳＲＡＭの前記不良ブロック情報を参照して、アクセス対象となる前記ブロックが不良ブロックであるか否かを判断するコントローラと
を具備することを特徴とする半導体装置。
【請求項３】
前記デコーダは、
前記ブロック毎に設けられ、前記消去対象となるブロックの情報を保持可能なラッチ回路と、
前記ラッチ回路によるいずれかの前記ブロックの選択を有効または無効とするスイッチ素子と
を備えることを特徴とする請求項２記載の半導体装置。
【請求項４】
前記コントローラは、前記ＮＡＮＤ型フラッシュメモリのテスト動作時において、前記スイッチ素子により全ての前記ラッチ回路による前記ブロックの選択を有効とし、不良ブロックを発見した場合、前記不良ブロックに対応する前記ラッチ回路による前記ブロックの選択を前記スイッチ素子により無効とする
ことを特徴とする請求項３記載の半導体装置。
【請求項５】
前記ＮＡＮＤ型フラッシュメモリ、前記ＳＲＡＭ、及び前記コントローラは、同一の半導体基板上に形成されている
ことを特徴とする請求項１または２記載の半導体装置。
【請求項６】
各々が複数のメモリセルを含む複数のブロックと、前記ブロックを選択するデコーダとを有するＮＡＮＤ型フラッシュメモリを備えた半導体装置の制御方法であって、
中断命令に応答して、複数の前記ブロックを一括消去する複数ブロック消去動作を中断するステップと、
前記中断の後、前記不良ブロック情報を前記デコーダにセットして、前記ブロックに対するデータの読み出しまたは書き込み動作を実行するステップと、
前記データの読み出しまたは書き込み動作の後、再開命令に応答して、前記一括消去されるブロックの情報をＳＲＡＭから読み出して前記デコーダにセットして、前記複数ブロック消去動作を再開するステップと
を具備することを特徴とする半導体装置の制御方法。
【請求項７】
前記複数ブロック消去動作を中断するステップの前に、前記一括消去されるブロックの情報を受信して、前記デコーダ及び前記ＳＲＡＭにセットするステップと、
前記一括消去されるブロックの情報を前記デコーダ及び前記ＳＲＡＭにセットするステップの後、前記複数ブロック消去動作を開始するステップと
を更に備えることを特徴とする請求項６記載の半導体装置の制御方法。
【請求項８】
前記複数ブロック消去動作を中断するステップの前に、前記一括消去されるブロックの情報を受信して、前記デコーダにセットするステップと、
前記一括消去されるブロックの情報を前記デコーダにセットするステップの後、前記複数ブロック消去動作を開始するステップと
前記複数ブロック消去動作を中断する際に、前記デコーダにセットされている前記一括消去されるブロックの情報を前記ＳＲＡＭに退避させるステップと
を更に備えることを特徴とする請求項７記載の半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体装置及びその制御方法に関する。
【背景技術】
【０００２】
従来、複数のブロックを一括して消去可能なＮＡＮＤ型フラッシュメモリが知られている（例えば特許文献１参照）。
【０００３】
本文献に開示の技術では、ブロックを選択するデコーダにおいて、一括消去対象となるブロックの情報と不良ブロック情報とを一つのラッチ回路を保持させ、これにより回路素子数を減少させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１７９６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は、複数ブロックの消去動作を容易に中断可能な半導体装置及びその制御方法を提供する。
【課題を解決するための手段】
【０００６】
この発明の一態様に係る半導体装置は、複数のメモリセルを含む複数のブロックと、前記ブロックを選択するデコーダとを備え、複数の前記ブロックにつき一括してデータを消去可能であり、前記デコーダが、少なくともデータの読み出し時及び書き込み時には不良ブロック情報を保持し、複数の前記ブロックに対する一括消去時には消去対象となるブロックの情報を保持するＮＡＮＤ型フラッシュメモリと、前記消去対象となるブロックの情報を保持可能なＳＲＡＭと、前記一括消去時において、前記消去対象となるブロックの情報を前記ＳＲＡＭから読み出して、前記デコーダにセットするコントローラとを具備する。
【０００７】
また、この発明の一態様に係る半導体装置の制御方法は、各々が複数のメモリセルを含む複数のブロックと、前記ブロックを選択するデコーダとを有するＮＡＮＤ型フラッシュメモリを備えた半導体装置の制御方法であって、中断命令に応答して、複数の前記ブロックを一括消去する複数ブロック消去動作を中断するステップと、前記中断の後、前記不良ブロック情報を前記デコーダにセットして、前記ブロックに対するデータの読み出しまたは書き込み動作を実行するステップと、前記データの読み出しまたは書き込み動作の後、再開命令に応答して、前記一括消去されるブロックの情報をＳＲＡＭから読み出して前記デコーダにセットして、前記複数ブロック消去動作を再開するステップとを具備する。
【発明の効果】
【０００８】
本発明によれば、複数ブロックの消去動作を容易に中断可能な半導体装置及びその制御方法を提供出来る。
【図面の簡単な説明】
【０００９】
【図１】この発明の第１の実施形態に係るメモリシステムのブロック図。
【図２】第１の実施形態に係るＮＡＮＤ型フラッシュメモリのブロック図。
【図３】第１の実施形態に係るロウデコーダの回路図。
【図４】第１の実施形態に係るメモリシステムの動作を示すフローチャート。
【図５】第１の実施形態に係るメモリシステムにおける各種信号のタイミングチャート。
【図６】この発明の第２の実施形態に係るＳＲＡＭの模式図。
【図７】第２の実施形態に係るロウデコーダの回路図。
【図８】第２の実施形態に係るメモリシステムの動作を示すフローチャート。
【図９】第２の実施形態に係るメモリシステムの動作を示すフローチャート。
【図１０】第２の実施形態に係るメモリシステムにおける各種信号のタイミングチャート。
【図１１】第１の実施形態の変形例に係るメモリシステムの動作を示すフローチャート。
【図１２】第１、第２の実施形態の変形例に係るメモリシステムの断面図。
【発明を実施するための形態】
【００１０】
特許文献１に開示の技術によれば、ブロックを選択するデコーダにおいて、一括消去対象となるブロックの情報と不良ブロック情報とを一つのラッチ回路を保持させ、これにより回路素子数を減少させる。しかしながら、本構成であると、複数のブロックを一括消去する動作を中断することが困難であった。
【００１１】
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１２】
［第１の実施形態］  
この発明の第１の実施形態に係る半導体装置及びその制御方法について説明する。図１は、本実施形態に係るメモリシステムのブロック図である。
【００１３】
＜メモリシステムの全体構成＞  
図示するように、本実施形態に係るメモリシステム１は、大まかにはＮＡＮＤ型フラッシュメモリ２、ＲＡＭ部３、及びコントローラ部４を備えている。そしてＮＡＮＤ型フラッシュメモリ２、ＲＡＭ部３、及びコントローラ部４は、同一の半導体基板上に形成され、１つのチップに集積されている。以下、各ブロックの詳細について説明する。
【００１４】
＜ＮＡＮＤ型フラッシュメモリ２＞  
ＮＡＮＤ型フラッシュメモリ２は、メモリシステム１の主記憶部として機能する。図１に示すようにＮＡＮＤ型フラッシュメモリ２は、メモリセルアレイ１０、ロウデコーダ１１、ページバッファ１２、電圧発生回路１３、シーケンサ１４、及びオシレータ１５、１６を備えている。
【００１５】
メモリセルアレイ１０は、選択トランジスタと、データを保持可能なメモリセルトランジスタとを複数備えている。メモリセルトランジスタの各々は、電荷蓄積層と制御ゲートとを含む積層ゲートを有するＭＯＳトランジスタである。選択トランジスタのゲートはセレクトゲート線に接続され、メモリセルトランジスタの制御ゲートはワード線に接続されている。メモリセルアレイ１０は、複数のメモリセルトランジスタの集合であるブロックを、複数備えている。そしてブロックが消去単位となる。すなわち、同一のブロックに含まれるメモリセルトランジスタのデータは、一括して消去される。また本実施形態に係るＮＡＮＤ型フラッシュメモリ２では、複数のブロックにつき一括してデータを消去することも可能である。これを以下ではＭＢＥ（multi-block erase）と呼ぶことにする。
【００１６】
ロウデコーダ１１は、データのプログラム、読み出し、及び消去動作の際に、ワード線及びセレクトゲート線を選択する。そして、ワード線及びセレクトゲート線に対して、必要な電圧を印加する。メモリセルアレイ１０及びロウデコーダ１１の詳細については後述する。
【００１７】
ページバッファ１２はページサイズのデータを保持可能とされ、データのプログラム動作時には、ＲＡＭ部３から与えられるデータを一時的に保持し、メモリセルアレイ１０にデータを書き込む。他方、読み出し動作時には、メモリセルアレイ１０から読み出されたデータを一時的に保持し、ＲＡＭ部３へ転送する。
【００１８】
電圧発生回路１３は、外部から与えられる電圧を昇圧または降圧することにより、データのプログラム、読み出し、及び消去に必要な電圧を発生する。そして発生した電圧を、例えばロウデコーダ１１に供給する。電圧発生回路１３で発生された電圧が、ワード線ＷＬに印加される。
【００１９】
シーケンサ１４は、ＮＡＮＤ型フラッシュメモリ２全体の動作を司る。すなわち、コントローラ部４からプログラム命令（Program）、ロード命令（Load）、または消去命令（図示せず）を受けると、これに応答して、データのプログラム、読み出し、及び消去を実行するためのシーケンスを実行する。そして、このシーケンスに従って、電圧発生回路１３やページバッファ１２の動作を制御する。
【００２０】
オシレータ１５は内部クロックＩＣＬＫを生成する。すなわち、クロック生成器として機能する。そしてオシレータ１５は、生成した内部クロックＩＣＬＫをシーケンサ１４に供給する。シーケンサ１４は、この内部クロックＩＣＬＫに同期して動作する。
【００２１】
オシレータ１６は内部クロックＡＣＬＫを生成する。すなわち、クロック生成器として機能する。そしてオシレータ１６は、生成した内部クロックＡＣＬＫをコントローラ部４やＲＡＭ部３へ供給する。内部クロックＡＣＬＫは、コントローラ部４やＲＡＭ部３の動作の基準となるクロックである。
【００２２】
＜ＲＡＭ部３＞  
次に、引き続き図１を参照しつつ、ＲＡＭ部３について説明する。ＲＡＭ部３は、大まかにはＥＣＣ部２０、ＳＲＡＭ（Static Ramdom Access Memory）３０、インターフェース部４０、及びアクセスコントローラ５０を備えている。
【００２３】
本実施形態に係るメモリシステム１では、ＮＡＮＤ型フラッシュメモリ２が主記憶部として機能し、ＲＡＭ部３のＳＲＡＭ３０がバッファとして機能する。従って、ＮＡＮＤ型フラッシュメモリ２からデータを外部に読み出す際には、まずＮＡＮＤ型フラッシュメモリ２のメモリセルアレイ１０から読み出されたデータが、ページバッファ１２を介してＲＡＭ部３のＳＲＡＭ３０に格納される。その後、ＳＲＡＭ３０内のデータがインターフェース部４０に転送されて、外部に出力される。他方、データをＮＡＮＤ型フラッシュメモリ２に記憶させる際には、まず外部から与えられたデータが、インターフェース部４０を介してＲＡＭ部３内のＳＲＡＭ３０に格納される。その後、ＳＲＡＭ３０内のデータがページバッファ１２へ転送されて、メモリセルアレイ１０に書き込まれる。
【００２４】
以下では、データがメモリセルアレイ１０から読み出されてから、ページバッファ１２を介してＳＲＡＭ３０に転送されるまでの動作を、データの“ロード（load）”と呼ぶ。また、ＳＲＡＭ３０内のデータが、インターフェース部４０内において後述するバーストバッファ４１、４２を介してインターフェース４３に転送されるまでの動作を、データの“リード（read）”と呼ぶ。
【００２５】
更に、ＮＡＮＤ型フラッシュメモリ２に記憶させるべきデータが、インターフェース４３からバーストバッファ４１、４２を介してＳＲＡＭ３０に転送されるまでの動作を、データの“ライト（write）”と呼ぶ。また、ＳＲＡＭ３０内のデータがページバッファ１２に転送されて、ＮＡＮＤ型フラッシュメモリ２のメモリセルアレイ１０に書き込まれるまでの動作を、データの“プログラム（program）”と呼ぶ。
【００２６】
以下、ＥＣＣ部２０、ＳＲＡＭ３０、インターフェース部４０、及びアクセスコントローラ５０の各々の構成について説明する。
【００２７】
＜＜ＥＣＣ部２０＞＞  
ＥＣＣ部２０は、データについてのエラー検出及びエラー訂正、並びにパリティの生成（以下、これらをまとめてＥＣＣ処理と呼ぶことがある）を行う。すなわち、データのロード時には、ＮＡＮＤ型フラッシュメモリ２から読み出されたデータについてエラーの検出及び訂正を行う。他方、データのプログラム時には、プログラムすべきデータについてパリティの生成を行う。ＥＣＣ部２０は、ＥＣＣバッファ２１及びＥＣＣエンジン２２を備えている。
【００２８】
ＥＣＣバッファ２１は、ＮＡＮＤバスによりＮＡＮＤ型フラッシュメモリ２のページバッファ１２と接続され、ＥＣＣバスによりＳＲＡＭ３０と接続される。これらのバス幅は共に等しく、例えば６４ビットである。そしてデータのロード時には、ページバッファ１２からＮＡＮＤバスを介して転送されるデータを保持すると共に、ＥＣＣ処理済みのデータをＳＲＡＭ３０へＥＣＣバスを介して転送する。他方、データのプログラム時には、ＳＲＡＭ３０からＥＣＣバスを介して転送されるデータを保持すると共に、転送されたデータとパリティとをページバッファ１２へＮＡＮＤバスを介して転送する。
【００２９】
ＥＣＣエンジン２２は、ＥＣＣバッファ２１に保持されるデータを用いてＥＣＣ処理を行う。ＥＣＣエンジン２２は、例えばハミングコードを用いた１ビット訂正方式を用いる。ＥＣＣエンジン２２は、データロード時にはパリティを用いてシンドロームを生成し、これによりエラー検出を行う。そしてエラーが発見された際には、これを訂正する。他方、データプログラム時にはパリティを生成する。
【００３０】
＜＜ＳＲＡＭ３０＞＞  
次にＳＲＡＭ３０について説明する。メモリシステム１においてＳＲＡＭ３０は、ＮＡＮＤ型フラッシュメモリ２に対するバッファメモリとして機能する。図示するように、ＳＲＡＭ３０はＤＱバッファ３１、複数（本実施形態では２つ）のデータＲＡＭ、１つのブート（boot）ＲＡＭ、１つのプロテクトＲＡＭ（図中のSRAM Protect）、及び１つのＭＢＥ用ＲＡＭ（図中のSRAM MBE）を備えている。
【００３１】
ＤＱバッファ３１は、データＲＡＭ、ブートＲＡＭ、プロテクトＲＡＭ、またはＭＢＥ用ＲＡＭにデータを書き込む、または読み出す際に、一時的にデータを保持する。ＤＱバッファ３１は前述の通り、ＥＣＣバスにより、ＥＣＣバッファ２１との間でデータ転送可能とされている。またＤＱバッファ３１は、例えば６４ビットのバス幅を有するRAM/Registerバスを用いて、インターフェース部４０との間でデータ転送可能とされている。ＤＱバッファ３１もページバッファ１２と同様に、メインデータを保持する領域と、パリティ等を保持する領域とを備えている。
【００３２】
ブートＲＡＭは、例えばメモリシステム１を起動するためのブートコード（boot code）を一時的に保持する。ブートＲＡＭの容量は、例えば１Ｋバイトである。プロテクトＲＡＭは、プロテクト情報、すなわち例えばプロテクトされたブロック（ＮＡＮＤ型フラッシュメモリ２において、例えばデータの書き込み、読み出し、または消去が制限されたブロック）についての情報（例えばブロックアドレス）を保持する。ＭＢＥ用ＲＡＭは、ＭＢＥ情報、すなわち例えばＭＢＥを行う際において消去対象となるブロックの情報（例えばブロックアドレス）を保持する。データＲＡＭは、ブートコード、プロテクト情報、及びＭＢＥ情報以外のデータ（メインデータ及びパリティ）を一時的に保持し、その容量は例えば２Ｋバイトであり、２つ設けられている。これらは各々、メモリセルアレイ３２、センスアンプ３３、及びロウデコーダ３４を備えている。
【００３３】
メモリセルアレイ３２は、データ保持可能な複数のＳＲＡＭセルを備える。ＳＲＡＭセルはそれぞれ、ワード線及びビット線に接続される。センスアンプ３３は、ＳＲＡＭセルからビット線に読み出したデータをセンス・増幅する。またセンスアンプ３３は、ＤＱバッファ３１内のデータをＳＲＡＭセルに書き込む際の負荷としても機能する。ロウデコーダ３４は、メモリセルアレイ３２におけるワード線を選択する。
【００３４】
＜＜インターフェース部４０＞＞  
次に、引き続き図１を参照しつつインターフェース部４０について説明する。図示するようにインターフェース部４０は、複数（本実施形態では２つ）のバーストバッファ（burst buffer）４１、４２及びインターフェース４３を備えている。
【００３５】
インターフェース４３は、メモリシステム１外部のホスト機器と接続可能とされ、ホスト機器との間でデータ、制御信号、及びアドレスＡｄｄ等、種々の信号の入出力を司る。制御信号の一例は、メモリシステム１全体をイネーブルにするチップイネーブル信号／ＣＥ、アドレスをラッチさせるためのアドレスバリッド信号／ＡＶＤ、バーストリード（burst read）用のクロックＣＬＫ、書き込み動作をイネーブルにするライトイネーブル信号／ＷＥ、データの外部への出力をイネーブルにするアウトプットイネーブル信号／ＯＥ、などである。ＭＢＥコマンドもインターフェース４３で受け付けられる。
【００３６】
インターフェース４３は、例えば１６ビットのバス幅を有するＤＩＮ／ＤＯＵＴバスによりバーストバッファ４１、４２と接続されている。そしてインターフェース３４は、ホスト機器からのデータのリード要求、ロード要求、ライト要求、プログラム要求、及びＭＢＥ要求等に係る制御信号をアクセスコントローラ５０へ転送する。そしてデータリード時には、バーストバッファ４１、４２内のデータをホスト機器へ出力する。またデータライト時には、ホスト機器から与えられるデータをバーストバッファ４１、４２へ転送する。更にＭＢＥ時には、ホスト機器から与えられるＭＢＥ要求と、消去対象となるブロックアドレスをバーストバッファ４１、４２へ転送する。
【００３７】
バーストバッファ４１、４２は、RAM/RegisterバスによりＤＱバッファ３１及びコントローラ部４とデータ転送可能とされ、また前述のＤＩＮ／ＤＯＵＴバスによりインターフェース４３とデータ転送可能とされている。そして、ホスト機器からインターフェース４３を介して与えられるデータ、またはＤＱバッファ３１から与えられるデータを、一時的に保持する。
【００３８】
＜＜アクセスコントローラ５０＞＞  
アクセスコントローラ５０は、インターフェース４３から制御信号及びアドレスを受け取る。そして、ホスト機器の要求を満たす動作を実行するよう、ＳＲＡＭ３０及びコントローラ部４を制御する。
【００３９】
より具体的には、ホスト機器の要求に応じてアクセスコントローラ５０は、ＳＲＡＭ３０とコントローラ４の後述するレジスタ６０とのいずれかをアクティブ状態とする。そして、ＳＲＡＭ３０に対するデータのライトコマンドまたはリードコマンド（Write/Read）、またはレジスタ６０に対するライトコマンドまたはリードコマンド（Write/Read、以下、これをレジスタライトコマンドまたはレジスタリードコマンドと呼ぶ）を発行する。これらの制御により、ＳＲＡＭ３０及びコントローラ部４は動作を開始する。同様にしてアクセスコントローラ５０は、ＭＢＥ時にはＭＢＥコマンドを発行する。
【００４０】
＜コントローラ部４＞  
次に、引き続き図１を参照しつつ、コントローラ部４について説明する。コントローラ部４は、ＮＡＮＤ型フラッシュメモリ２及びＲＡＭ部３の動作を制御する。すなわち、メモリシステム１全体としての動作を統括する機能を有する。図示するようにコントローラ部４は、レジスタ６０、コマンドユーザインターフェース（command user interface）６１、ステートマシン（state machine）６２、アドレス／コマンド発生回路６３、及びアドレス／タイミング発生回路６４を備えている。
【００４１】
レジスタ６０は、ファンクションの動作状態を設定するためのレジスタである。すなわちレジスタ６０は、アクセスコントローラ５０から与えられるレジスタライトコマンドまたはレジスタリードコマンドに応じて、ファンクションの動作状態を設定する。より具体的には、レジスタ６０には、例えばデータロード時にはロードコマンドが設定され、データプログラム時にはプログラムコマンドが設定され、ＭＢＥ時にはＭＢＥコマンドが設定される。
【００４２】
コマンドユーザインターフェース６１は、所定のコマンドがレジスタ６０に設定されることで、メモリシステム１に対してファンクション実行コマンドが与えられたことを認識する。そして、内部コマンド信号（Command）を発行し、ステートマシン６２へ出力する。
【００４３】
ステートマシン６２は、コマンドユーザインターフェース６１から与えられる内部コマンド信号に基づいて、メモリシステム１内部におけるシーケンス動作を制御する。ステートマシン６２がサポートするファンクションは、ロード、プログラム、及び消去等、多数あり、これらのファンクションを実行するよう、ＮＡＮＤ型フラッシュメモリ２及びＲＡＭ部３の動作を制御する。なお前述の通りロードは、ＮＡＮＤ型フラッシュメモリ２からデータを読み出してＳＲＡＭ３０へ出力する動作であり、プログラムは、ＲＡＭデータをＮＡＮＤ型フラッシュメモリ２に記憶する動作であり、消去は、ＮＡＮＤ型フラッシュメモリ２内のデータを削除する動作である。
【００４４】
アドレス／コマンド発生回路６３は、ステートマシン６２の制御に基づいてＮＡＮＤ型フラッシュメモリ２の動作を制御する。より具体的には、アドレスやコマンド（Program/Load/Erase）等を生成し、ＮＡＮＤ型フラッシュメモリ２へ出力する。アドレス／コマンド発生回路６３は、オシレータ１６の生成する内部クロックＡＣＬＫに同期しつつ、これらのアドレスやコマンドを出力する。
【００４５】
アドレス／タイミング発生回路６４は、ステートマシン６２の制御に基づいてＲＡＭ部３の動作を制御する。より具体的には、ＲＡＭ部３において必要なアドレスやコマンドを発行して、アクセスコントローラ５０及びＥＣＣエンジン２２へ出力する。
【００４６】
＜ＮＡＮＤ型フラッシュメモリ２の構成の詳細＞  
次に、上記ＮＡＮＤ型フラッシュメモリ２につき、特にメモリセルアレイ１０とロウデコーダ１１に着目して、その詳細な構成について説明する。図２は、メモリセルアレイ１０とロウデコーダ１１の回路図である。
【００４７】
＜＜メモリセルアレイ２の詳細＞＞  
まず、メモリセルアレイ２について説明する。図２に示すようにメモリセルアレイ１０は、（ｍ＋１）個（ｍは２以上の自然数）のブロックＢＬＫ０〜ＢＬＫｍを備えている。以降、ブロックＢＬＫ０〜ＢＬＫｍをそれぞれ区別しない場合には単にブロックＢＬＫと呼ぶことにする。ブロックＢＬＫの各々は、（ｎ＋１）個（ｎ＋１は２以上の自然数）の複数のメモリセルユニット１７を備えている。
【００４８】
メモリセルユニット１７の各々は、例えば３２個のメモリセルトランジスタＭＴ０〜ＭＴ３１と、選択トランジスタＳＴ１、ＳＴ２とを含んでいる。以下、メモリセルトランジスタＭＴ０〜ＭＴ３１を区別しない場合には、単にメモリセルトランジスタＭＴと呼ぶ。メモリセルトランジスタＭＴは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（例えば浮遊ゲート）と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲートとを有する積層ゲート構造を備えている。なお、メモリセルトランジスタＭＴの個数は３２個に限られず、８個や１６個、６４個、１２８個、２５６個等であってもよく、その数は限定されるものではない。またメモリセルトランジスタＭＴは、電荷蓄積層として窒化膜等の絶縁膜を使用し、この窒化膜に電子をトラップさせる方式を用いたＭＯＮＯＳ（Metal Oxide Nitride Oxide Silicon）構造であっても良い。
【００４９】
メモリセルトランジスタＭＴは、隣接するもの同士でソース、ドレインを共有している。そして、選択トランジスタＳＴ１、ＳＴ２間に、その電流経路が直列接続されるようにして配置されている。直列接続されたメモリセルトランジスタＭＴの一端側のドレインは選択トランジスタＳＴ１のソースに接続され、他端側のソースは選択トランジスタＳＴ２のドレインに接続されている。
【００５０】
同一行にあるメモリセルトランジスタＭＴの制御ゲートは、ワード線ＷＬ０〜ＷＬ３１のいずれかに共通接続される。また同一行にある選択トランジスタＳＴ１、ＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＤ、ＳＧＳに共通接続されている。なお説明の簡単化のため、以下ではワード線ＷＬ０〜ＷＬ３１を、単にワード線ＷＬと呼ぶことがある。
【００５１】
また選択トランジスタＳＴ１のドレインはビット線ＢＬ０〜ＢＬｎのいずれかに接続される。このビット線ＢＬ０〜ＢＬｎは、複数のブロックＢＬＫ間で、複数のメモリセルユニット１７を共通接続する。ビット線ＢＬ０〜ＢＬｎについても、区別しない場合には単にビット線ＢＬと呼ぶ。
【００５２】
選択トランジスタＳＴ２のソースはソース線ＳＬに接続される。ソース線ＳＬは、メモリセルアレイ１０内において共通に使用される。
【００５３】
上記構成において、同一のワード線ＷＬに接続された複数のメモリセルトランジスタＭＴには一括してデータが書き込まれ、または読み出され、この単位をページと呼ぶ。更に、同一行にある複数のメモリセルユニット１７は一括してデータが消去され、この単位が上記ブロックである。
【００５４】
各々のメモリセルトランジスタＭＴは、例えば、浮遊ゲートに注入された電子の多寡によるトランジスタの閾値電圧の変化に応じて、１ビットのデータを保持することが可能である。なお、閾値電圧の制御を細分化し、各々のメモリセルトランジスタＭＴに２ビット以上のデータを保持する構成としても良い。
【００５５】
また各ブロックＢＬＫにおいて、一部のメモリセルユニット１７は、エラー訂正用の情報（パリティ等）を保持するために用いられ、残りのメモリセルユニット１７が正味のユーザデータ保持用として用いられる。
【００５６】
更に、いずれかのブロックＢＬＫ（本実施形態ではブロックＢＬＫｍ）は、ＮＡＮＤ型フラッシュメモリ２のシステム情報を保持するために使用される。システム情報の一例は、不良ブロック情報である。不良ブロック情報とは、何らかの不良によって使用不可とされたブロックＢＬＫの情報であり、例えばそのブロックアドレスである。以下では、このブロックＢＬＫｍを、ＲＯＭヒューズブロックと呼ぶことがある。
【００５７】
＜＜ロウデコーダ１１の詳細＞＞  
次に、引き続き図２を参照してロウデコーダ１１について説明する。図示するようにロウデコーダ１１は、転送ゲート７０−０〜７０−ｍ、ブロックデコーダ７１−０〜７１−ｍ、及びドライバ回路７２を備えている。
【００５８】
ドライバ回路７２は、ブロックＢＬＫ０〜ＢＬＫｍに共通して設けられる。そしてドライバ回路７２はページアドレスをデコードして、ワード線ＷＬ０〜ＷＬ３１及びセレクトゲート線ＳＧＤ、ＳＧＳに印加すべき電圧を転送ゲート７０−０〜７０−ｍに供給する。
【００５９】
ブロックデコーダ７１−０〜７１−ｍもまた、ブロックＢＬＫ０〜ＢＬＫｍに対応して設けられる。言い換えれば、転送ゲート７０−０〜７０−ｍに対応して設けられる。そしてブロックデコーダ７１−０〜７１−ｍはブロックアドレスをデコードして、対応する転送ゲート７０−０〜７０−ｍをオンまたはオフさせる。
【００６０】
転送ゲート７０−０〜７０−ｍは、ブロックＢＬＫ０〜ＢＬＫｍに対応して設けられる。そして、ドライバ回路７２から与えられる電圧を、対応するブロックＢＬＫのワード線ＷＬ及びセレクトゲート線ＳＧＤ、ＳＧＳに転送する。つまり、ブロックデコーダ７１によっていずれかの転送ゲート７０−０〜７０−ｍが選択され、ドライバ回路７２で発生された電圧が、選択された転送ゲート７０−０〜７０−ｍによってブロックＢＬＫに転送される。そしていずれのワード線ＷＬにどのような電圧を与えるか（すなわちどのワード線ＷＬを選択するか）は、ドライバ回路７２によって選択される。以下、転送ゲート７０−０〜７０−ｍについても単に転送ゲート７０と呼ぶことがある。
【００６１】
＜＜転送ゲート７０とブロックデコーダ７１の詳細＞＞  
次に、上記転送ゲート７０とブロックデコーダ７１の詳細について、図３を用いて説明する。図３は転送ゲート７０とブロックデコーダ７１の回路図である。
【００６２】
まず転送ゲート７０について説明する。図示するように転送ゲート７０は、ＭＯＳトランジスタ７３〜７５を備えている。
【００６３】
ＭＯＳトランジスタ７３は、セレクトゲート線ＳＧＤ、ＳＧＳ及びワード線ＷＬ０〜ＷＬ３１にそれぞれ対応づけて設けられた、高耐圧型のエンハンスメント型ｎチャネルＭＯＳトランジスタである。ＭＯＳトランジスタ７３の電流経路の一端は、セレクトゲート線ＳＧＤ、ＳＧＳ及びワード線ＷＬ０〜ＷＬ３１のうちの対応するいずれかに接続され、他端にはドライバ回路７２によって電圧が供給される。同一の転送ゲート７０内のＭＯＳトランジスタ７３はゲートが共通接続され、対応するブロックデコーダ７１のノードＸＦＥＲＧに接続される。ノードＸＦＥＲＧからは信号ＲＤＥＣＡＤが与えられる。信号ＲＤＥＣＡＤは、対応するブロックＢＬＫが選択ブロックであった場合には“Ｈ”レベルとされ、非選択ブロックであった場合には“Ｌ”レベルとされる信号である。
【００６４】
ＭＯＳトランジスタ７４、７５は高耐圧型のディプレッション型ｎチャネルＭＯＳトランジスタであり、電流経路が直列接続されている。そして、ＭＯＳトランジスタ７４のソースがセレクトゲート線ＳＧＤ、ＳＧＳに接続され、ＭＯＳトランジスタ７５のドレインがノードＳＧＤＳに接続され、ゲートには信号ＲＤＥＣＡＤｎが入力される。
【００６５】
信号ＲＤＥＣＡＤｎは、信号ＲＤＥＣＡＤの反転信号である。従って、選択ブロックに対応する転送ゲート７０は、ＭＯＳトランジスタ７３によってドライバ回路７２の電圧を転送し、非選択ブロックに対応する転送ゲート７０は、ＭＯＳトランジスタ７４、７５によってノードＳＧＤＳにおける電圧を転送する。
【００６６】
次にブロックデコーダ７１について説明する。図示するようにブロックデコーダ７１は、大まかにはデコード手段８０、保持手段８１、セット手段８２、リセット手段８３、読み出し手段８４、及びレベルシフタ８５を備えている。
【００６７】
デコード手段８０は、前述の高耐圧型ＭＯＳトランジスタよりも耐圧の低い、低耐圧型のエンハンスメント型ｐチャネルＭＯＳトランジスタＰＭ１、ＰＭ２、低耐圧型のエンハンスメント型ｎチャネルＭＯＳトランジスタ８６−０〜８６−４、８７〜８９、及びインバータ９０〜９２を備えている。ＭＯＳトランジスタＰＭ１、ＰＭ２は、ソースに電源電位Ｖｄｄが与えられ、ドレインが共通に接続され、ＭＯＳトランジスタＰＭ１のゲートには信号ＲＤＥＣが与えられる。ＭＯＳトランジスタ８８、８９は、ソースが接地され、ドレインが共通接続され、ＭＯＳトランジスタ８８のゲートには信号ＲＯＭＢＡＥＮが与えられる。信号ＲＯＭＢＡＥＮは、通常、常時“Ｌ”レベルである。ＭＯＳトランジスタ８６−０〜８６−４、８７は、ＭＯＳトランジスタＰＭ１、ＰＭ２のドレインと、ＭＯＳトランジスタ８８、８９のドレインとの間に順次、その電流経路が直列接続されている。そしてそれぞれのゲートに信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥ、ＲＤＥＣが入力される。ブロックデコーダ７１が選択ブロックに相当する場合には、信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥの全てが“Ｈ”レベルとなり、相当しない場合には少なくともいずれかが“Ｌ”レベルとなる。信号ＲＤＥＣは信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥが入力される際に“Ｈ”レベルとなる信号であり、入力される前には“Ｌ”レベルとされる。インバータ９０〜９２は直列接続され、インバータ９０の入力ノードがＭＯＳトランジスタＰＭ１、ＰＭ２のソース及びＭＯＳトランジスタ８６−０のドレインに接続される。インバータ９０の出力ノード及びインバータ９１の入力ノードはＭＯＳトランジスタＰＭ２のゲートに接続される。またインバータ９１の出力が信号ＲＤＥＣＡＤｎとなる。
【００６８】
保持手段８１は、インバータＩＮ１、ＩＮ２を備えたラッチ回路である。インバータＩＮ１の入力ノードとインバータＩＮ２の出力ノードはノードＬ１に接続され、インバータＩＮ２の入力ノードとインバータＩＮ１の出力ノードはノードＬ２に接続される。ノードＬ１はＭＯＳトランジスタ８９のゲートに接続される。保持手段８１は、データのロード、プログラム、及び通常の消去動作（消去対象ブロックが１個である消去動作）時には、不良ブロック情報を保持する。保持手段８１に不良ブロック情報が格納されるタイミングの一つは、メモリシステム１への電源投入時である。すなわち電源投入時において、コントローラ部４の命令に基づいて、ＲＯＭヒューズブロック（ブロックＢＬＫｍ）から不良ブロック情報が読み出され、これが保持手段８１に保持される。より具体的には、全てのブロックデコーダ７１の保持手段８１において信号ＦＲＳＴが“Ｈ”レベルとされて、ノードＬ１は“Ｈ”レベルとなる。引き続き、不良ブロックに対応するブロックデコーダ７１のみを選択した状態で、信号ＦＳＥＴが“Ｈ”レベルとされる。その結果、当該ブロックデコーダ７１ではノードＬ１が“Ｌ”レベルとされる。また、ＭＢＥ動作時には、ＳＲＡＭ３０に格納されていた前述のＭＢＥ情報を保持する。ＭＢＥ動作時の詳細については後述する。つまり、保持手段８１が保持する情報に応じて、ノードＬ１の電位は“Ｈ”レベルまたは“Ｌ”レベルの状態を取る。
【００６９】
セット手段８２は、低耐圧型のエンハンスメント型ｎチャネルＭＯＳトランジスタＮＭ１、ＮＭ２を備えている。ＭＯＳトランジスタＮＭ１のソースは接地され、ゲートに信号ＦＳＥＴが入力される。ＭＯＳトランジスタＮＭ２は、ソースがＭＯＳトランジスタＮＭ１のドレインに接続され、ドレインがノードＬ１に接続され、ゲートがインバータ９０の出力ノードに接続されている。
【００７０】
リセット手段８３は、低耐圧型のエンハンスメント型ｎチャネルＭＯＳトランジスタＮＭ３、ＮＭ４を備えている。ＭＯＳトランジスタＮＭ３のソースは接地され、ゲートに信号ＦＲＳＴが入力される。ＭＯＳトランジスタＮＭ４は、ソースがＭＯＳトランジスタＮＭ３のドレインに接続され、ドレインがノードＬ２に接続され、ゲートがインバータ９０の出力ノードに接続されている。
【００７１】
読み出し手段８４は、低耐圧型のエンハンスメント型ｎチャネルＭＯＳトランジスタ９３〜９５を備えている。ＭＯＳトランジスタ９３〜９５は、ノードＰＢＵＳＢＳと接地電位ノードとの間に順次、その電流経路が直列接続されている。ＭＯＳトランジスタ９３のゲートはインバータ９０の出力ノードに接続され、ＭＯＳトランジスタ９４のゲートには信号ＢＢＳＥＮが入力され、ＭＯＳトランジスタ９５のゲートはノードＬ２に接続されている。ノードＰＢＵＳＢＳは、各ブロックデコーダ７１間で共通接続されている。
【００７２】
レベルシフタ８５は、ＭＯＳトランジスタ９６〜９９を備えている。ＭＯＳトランジスタ９６は、低耐圧型のディプレッション型ｎチャネルＭＯＳトランジスタであり、ドレインがインバータ９２の出力ノードに接続され、ゲートに信号ＢＳＴＯＮが与えられる。信号ＢＳＴＯＮは、ブロックアドレスデコード時に“Ｈ”レベルとされる信号である。ＭＯＳトランジスタ９７は、ＭＯＳトランジスタ９６よりも高耐圧型のディプレッション型ｎチャネルＭＯＳトランジスタである。ＭＯＳトランジスタ９７は、ドレインがＭＯＳトランジスタ９６のソースに接続され、ドレインがノードＸＦＥＲＧに接続され、ゲートに信号ＢＳＴＯＮが与えられる。ＭＯＳトランジスタ９８は、上記高耐圧型のエンハンスメント型ｐチャネルＭＯＳトランジスタである。ＭＯＳトランジスタ９８は、ドレインがノードＸＦＥＲＧに接続され、ソースがバックゲートに接続され、ゲートに信号ＲＤＥＣＡＤｎが入力される。ＭＯＳトランジスタ９９は、上記高耐圧型のディプレッション型ｎチャネルＭＯＳトランジスタである。ＭＯＳトランジスタ９９は、ドレインに電圧ＶＲＤＥＣが与えられ、ソースがＭＯＳトランジスタ９８のソースに接続され、ゲートがノードＸＦＥＲＧに接続される。電圧ＶＲＤＥＣは、データの書き込み時、読み出し時、及び消去時において、必要な値とされる。またノードＸＦＥＲＧは、対応する転送ゲート７０におけるＭＯＳトランジスタ７３のゲートに接続される。従って、信号ＲＤＥＣＡＤの“Ｈ”レベルの電位は電圧ＶＲＤＥＣに応じた値となる。
【００７３】
上記構成のブロックデコーダ７１において、対応するブロックＢＬＫがブロックアドレスに一致した際、ＭＯＳトランジスタ８６−０〜８６−４がオン状態となり、信号ＲＤＥＣＡＤｎは“Ｌ”レベル（ＲＤＥＣＡＤ＝“Ｈ”）となる。その結果、ノードＸＦＥＲＧに電圧ＶＲＤＥＣが与えられる。よって、対応する転送ゲート７０においてＭＯＳトランジスタ７３がオン状態とされる。
【００７４】
他方、ブロックアドレスが一致しない場合には、ＭＯＳトランジスタ８６−０〜８６−４の少なくともいずれかがオフ状態となり、信号ＲＤＥＣＡＤｎは“Ｈ”レベルとなる。その結果、対応する転送ゲート７０においてＭＯＳトランジスタ７３がオフ状態とされる。
【００７５】
また、ブロックアドレスにかかわらず、保持手段８１によってノードＬ１が“Ｌ”レベルとされている場合には、ＭＯＳトランジスタ８９がオフ状態とされる。その結果、信号ＲＤＥＣＡＤｎは“Ｈ”レベルとなり、対応する転送ゲート７０においてＭＯＳトランジスタ７３がオフ状態とされる。
【００７６】
＜メモリシステム１の動作＞  
次に、上記構成のメモリシステム１における大まかな動作について簡単に説明する。前述の通り本実施形態に係るメモリシステム１では、ＮＡＮＤ型フラッシュメモリ２とホスト機器との間のデータの授受は、ＳＲＡＭ３０を介して行われる。
【００７７】
すなわち、ホスト機器がメモリシステム１のＮＡＮＤ型フラッシュメモリ２にデータを記憶させる場合には、まずホスト機器から与えられるライトコマンドとＳＲＡＭ３０のアドレスに従って、データがデータＲＡＭまたはブートＲＡＭに一旦、格納される。その後、ホスト機器から与えられるプログラムコマンドとＮＡＮＤ型フラッシュメモリ２のアドレスに従って、ＳＲＡＭ３０に格納されたデータが、ページ単位で一括してＮＡＮＤ型フラッシュメモリ２にプログラムされる。
【００７８】
また、ホスト機器がＮＡＮＤ型フラッシュメモリ２内のデータを読み出す場合には、まずホスト機器から与えられるロードコマンド、ＮＡＮＤ型フラッシュメモリ２のアドレス、及びＳＲＡＭ３０のアドレスに従って、データがＮＡＮＤ型フラッシュメモリ２から読み出され、データＲＡＭまたはブートＲＡＭに一旦、格納される。その後、ホスト機器から与えられるリードコマンドとＳＲＡＭ３０のアドレスに従って、データＲＡＭまたはブートＲＡＭに保持されるデータが、インターフェース部４０を介してホスト機器に読み出される。
【００７９】
以下、ロードの場合の動作手順の一例について、簡単に説明する。  
まず、ホスト機器がインターフェース部４０に対して、ロードすべきＮＡＮＤ型フラッシュメモリ２のアドレス及びＳＲＡＭのアドレスを入力し、またロードコマンドを入力する。
【００８０】
するとメモリシステム１では、アクセスコントローラ５０が上記アドレス及びコマンドをレジスタ６０に設定する。レジスタ６０にコマンドが設定されたことを検知したコマンドユーザインターフェース６１は、内部コマンド信号を発行する。ロードの場合にはロードコマンドが発行される。
【００８１】
ユーザインターフェース６１からロードコマンドを受信することにより、ステートマシン６２が起動する。ステートマシン６２は、各回路ブロックについて必要な初期化を行った後、アドレス／コマンド発生回路６３に対して、ＮＡＮＤ型フラッシュメモリ２に対してセンスコマンドを発行するよう要求する。
【００８２】
するとアドレス／コマンド発生回路６３は、レジスタ６０に設定されたアドレスにつき、データのセンスを行うよう、シーケンサ１４に対してセンスコマンドを発行する。
【００８３】
アドレス／コマンド発生回路６３からセンスコマンドを受けることで、シーケンサ１４が起動する。シーケンサ１４は、ＮＡＮＤ型フラッシュメモリ２において必要な初期化を行った後、指定されたアドレスのセンス動作を行う。すなわち、電圧発生回路１３、ロウデコーダ１１、図示せぬセンスアンプ、及びページバッファ１２を制御し、センスデータをページバッファ１２に格納させる。その後シーケンサ１４は、センス動作が終了したことを、ステートマシン６２に通知する。
【００８４】
次にステートマシン６２は、アドレス／コマンド発生回路６３に対して、ＮＡＮＤ型フラッシュメモリ２に対して転送コマンドを発行するよう命令する。転送コマンドとは、ＮＡＮＤ型フラッシュメモリ２からＲＡＭ部３へデータを転送するための命令である。この命令に応じてアドレス／コマンド発生回路６３は、転送コマンドを発行してシーケンサ１４へ出力する。
【００８５】
転送コマンドを受けたシーケンサ１４は、ページバッファ１２をデータ転送可能なようにセットする。そしてシーケンサ１４の制御に従って、ページバッファ１２内のデータがＮＡＮＤバスを介してＥＣＣバッファ２１へ転送される。
【００８６】
更にステートマシン６２は、ＥＣＣ部２０に対してエラー訂正開始制御信号を発行する。この信号に応答して、ＥＣＣ部２０がＥＣＣ処理を行う。そして、ＥＣＣ処理されたデータが、ＥＣＣ部２０からＥＣＣバスを介してＤＱバッファ３１に転送される。
【００８７】
引き続き、アクセスコントローラ５０の命令に従って、ＤＱバッファ３１内のデータが、ＳＲＡＭ３０のメモリセルアレイ３２に書き込まれる。
【００８８】
以上により、データのロードが完了する。その後、ホスト機器はインターフェース部４０を介してリードコマンドを発行することで、メモリセルアレイ３２に書き込まれたデータを読み出す。
【００８９】
＜ＭＢＥ動作＞  
次にＭＢＥ動作について、ロウデコーダ１１のブロックデコーダ７１の動作と共に、以下説明する。図４は、本実施形態に係るメモリシステム１のＭＢＥ動作のフローチャートである。
【００９０】
図示するように、まずホスト機器から、ＭＢＥ対象となるブロックのブロックアドレス（以下、ＭＢＥアドレスと呼ぶ）と、ＭＢＥコマンドとを受信する（ステップＳ１０）。これらは、インターフェース４３で受け付けられ、アクセスコントローラ５０に供給される。そしてアクセスコントローラ５０はこれらのコマンドとブロックアドレスをコントローラ部６０のレジスタ６０に保持させる。またレジスタ６０にこれらが保持されたことを検知したコマンドユーザインターフェース６１は、内部コマンド信号（ＭＢＥコマンド）を発行する。そしてコマンドユーザインターフェース６１からＭＢＥコマンドを受信することで、ステートマシン６２が起動する。
【００９１】
次に、ステップＳ１０で受信したＭＢＥアドレスが、ＳＲＡＭ３０と、ＮＡＮＤ型フラッシュメモリ２のロウデコーダ１１内に保持される（ステップＳ１１）。すなわち、コントローラ部５のステートマシン６２は、アドレス／タイミング発生回路６４に対して、レジスタ６０内のＭＢＥアドレスをＳＲＡＭ３０に書き込むよう命令する。これに基づきアドレス／タイミング発生回路６４は、アクセスコントローラ５０に対して書き込みを命令し、アクセスコントローラ５０はＳＲＡＭ３０に対して書き込みコマンドを発行する。またレジスタ６０はＭＢＥアドレスをＳＲＡＭ３０のＤＱバッファに転送する。これにより、ＳＲＡＭ３０のＭＢＥ用ＲＡＭにＭＢＥアドレスが書き込まれる。
【００９２】
更にステートマシン６２は、アドレス／コマンド発生回路６３に対して、ＮＡＮＤ型フラッシュメモリ２に対してＭＢＥアドレスをロウデコーダ１１にセットしてデータの消去を実行させるよう要求する。するとアドレス／コマンド発生回路６３は、ＭＢＥアドレスをロウデコーダ１１にセットするよう、シーケンサ１４に対してコマンドを発行する。
【００９３】
シーケンサ１４がこのコマンドを受信することで、ＮＡＮＤ型フラッシュメモリ２のロウデコーダ１１のブロックデコーダ７１では次の動作が行われる。すなわち、全てのブロックデコーダ７１において、信号ＦＳＥＴが“Ｈ”レベルとされる。また、信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥ、ＲＤＥＣ、ＲＯＭＢＡＥＮが全て“Ｈ”レベルとされる。これにより、全ブロックデコーダ７１において、インバータ９０の出力ノードが“Ｈ”レベルとなる。その結果、ＭＯＳトランジスタＮＭ２がオン状態となる。更に信号ＦＳＥＴによりＭＯＳトランジスタＮＭ１もオン状態とされるから、これによりノードＬ１が“Ｌ”レベルとされる（これを、保持手段８１をセットする、と呼ぶ）。その結果、全ブロックＢＬＫが見かけ上、不良ブロック扱いとなる。
【００９４】
引き続き、ＭＢＥ対象となるブロックＢＬＫに対応するブロックデコーダ７１においてのみ、ノードＬ１を“Ｈ”レベルとする（これを、保持手段をリセットする、と呼ぶ）。すなわち、ブロックデコーダ７１に対して、ＭＢＥアドレスが入力される。その結果、ＭＢＥ対象となるブロックＢＬＫに対応するブロックデコーダ７１では、信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥが全て“Ｈ”レベルとなる。また、信号ＲＤＥＣ、ＲＯＭＢＡＥＮが“Ｈ”レベルとされる。そして、全ブロックにつき信号ＦＲＳＴ＝“Ｈ”とされる。その結果、ＭＢＥ対象となるブロックＢＬＫに対応するブロックデコーダ７１では、インバータ９０の出力ノードは“Ｈ”レベルとなり、ＭＯＳトランジスタＮＭ４、ＮＭ３がオン状態となる。よって、ノードＬ２が“Ｌ”レベルとなり、ノードＬ１は“Ｈ”レベルとなる。他方、ＭＢＥの対象ではないブロックＢＬＫに対応するブロックデコーダ７１では、信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥのいずれかが“Ｌ”レベルとなるので、インバータ９０の出力ノードは“Ｌ”レベルのままである。従ってＭＯＳトランジスタＮＭ４はオフ状態を維持し、ノードＬ２は“Ｈ”レベル、ノードＬ１は“Ｌ”レベルのままである。
【００９５】
ステップＳ１１の後、シーケンサ１４の制御に従って、複数のブロックＢＬＫにつき、一括してデータが消去される（ステップＳ１２）。すなわち、ＭＢＥ対象となるブロックＢＬＫに対応するブロックデコーダ７１では、信号ＲＤＥＣＡＤｎ＝“Ｌ”となり、対応する転送ゲート７０におけるＭＯＳトランジスタ７３の全てがオン状態とされる。またドライバ回路７２は、ワード線ＷＬ０〜ＷＬ３１に印加すべき電圧として、０Ｖを発生する。その結果、ＭＢＥ対象となるブロックＢＬＫのワード線ＷＬ０〜ＷＬ３１の電位は０Ｖとなる。またロウデコーダ１１は、正の高電圧ＶＥＲＡ（例えば２０Ｖ）を発生し、これをメモリセルアレイ１０が形成されたウェル領域に印加する。その結果、メモリセルトランジスタＭＴの電荷蓄積層から電子がウェル領域に引き抜かれ、データが消去される。
【００９６】
他方、ＭＢＥ非対象のブロックＢＬＫに対応するブロックデコーダ７１では、信号ＲＤＥＣＡＤｎ＝“Ｈ”となり、対応する転送ゲート７０におけるＭＯＳトランジスタ７３が全てオフ状態とされる。よって、転送ゲート７０は０Ｖを転送しない。そのため、ワード線ＷＬ０〜ＷＬ３１は電気的にフローティングとなり、その電位は略ＶＥＲＡまで上昇する。その結果、ＭＢＥ非対象のブロックＢＬＫではデータは消去されない。
【００９７】
データ消去中にホスト機器からの中断（suspend）命令を受信しなければ（ステップＳ１３、ＮＯ）、データの消去は継続し、ＭＢＥ動作は終了する。中断命令とは、データの消去を一旦停止し、メモリシステム１を、他のコマンドを受信可能な状態にするための命令である。中断命令の後に再開（resume）命令を受信すると、メモリシステム１は、中断命令によって一旦停止した状態からＭＢＥ動作を再開出来る。
【００９８】
中断命令を受信した場合には（ステップＳ１３、ＹＥＳ）、コントローラ部４のステートマシン６２及びアドレス／コマンド発生回路６３は、ＮＡＮＤ型フラッシュメモリ２に対してＭＢＥの中断を命令する。この命令に応答してシーケンサ１４は、ＭＢＥ動作を一旦、中断する（ステップＳ１４）。すなわち、ワード線ＷＬ及びウェル領域への電圧印加を停止する。
【００９９】
ステップＳ１４の後、ＮＡＮＤ型フラッシュメモリ２はユーザからのコマンドに備える必要がある。そこでＮＡＮＤ型フラッシュメモリ２においては、シーケンサ１４の制御に従って、ＲＯＭヒューズブロック（ブロックＢＬＫｍ）から不良ブロック情報が読み出され、読み出された不良ブロック情報がブロックデコーダ７１の保持手段８１に保持される（ステップＳ１５）。
【０１００】
すなわち、全てのブロックデコーダ７１において、信号ＦＲＳＴが“Ｈ”レベルとされる。これによりＭＯＳトランジスタＮＭ３がオン状態とされる。更に、全てのブロックデコーダ７１において、信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥ、ＲＤＥＣ、ＲＯＭＢＡＥＮが“Ｈ”レベルとされる。これによりインバータ９０の出力ノードは“Ｈ”レベルとなり、ＭＯＳトランジスタＮＭ４もオン状態とされる。従って、ノードＬ２が“Ｌ”レベルとされ、ノードＬ１が“Ｈ”レベルとされる。すなわち、保持手段８１がリセットされる。その結果、全ブロックＢＬＫが見かけ上、良品ブロック扱いとなる。
【０１０１】
次に、不良ブロックに対応する保持手段８１がセットされる。すなわち、ブロックデコーダ７１に対して不良ブロックアドレスが入力される。その結果、不良ブロックに対応するブロックデコーダ７１では、信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥが全て“Ｈ”レベルとなる。また信号ＲＤＥＣ、ＲＯＭＢＡＥＮが“Ｈ”レベルとされる。すると、不良ブロックに対応するブロックデコーダ７１ではインバータ９０の出力ノードは“Ｈ”レベルとなり、ＭＯＳトランジスタＮＭ２がオン状態とされる。他方、不良ブロックに対応しないブロックデコーダ７１では、信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥのいずれかが“Ｌ”レベルであるので、インバータ９０の出力ノードは“Ｌ”レベルとなり、ＭＯＳトランジスタＮＭ２がオフ状態のままとなる。つまり、ノードＬ１は“Ｈ”レベルを維持する。そして全ブロックにつき信号ＦＳＥＴが“Ｈ”レベルとされ、ＭＯＳトランジスタＮＭ１がオン状態とされる。以上の結果、不良ブロックに対応するブロックデコーダ７１では、ＭＯＳトランジスタＮＭ１、ＮＭ２がオン状態となり、ノードＬ１は“Ｌ”レベルとなる。すなわち保持手段８１がセットされる。これにより、不良ブロックに対応するブロックＢＬＫは、ブロックアドレス（すなわち信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥ）に関わらず非選択の状態となる。
【０１０２】
ステップＳ１５の後、メモリシステム１はホスト機器からのコマンド（書き込みコマンドや読み出しコマンドなど）を受け付けて、該コマンドに応じた動作を実行する（ステップＳ１６）。
【０１０３】
ステップＳ１６の後、ホスト機器からの復帰命令が受信されると（ステップＳ１７、ＹＥＳ）、コントローラ部４はＳＲＡＭ３０からＭＢＥアドレスを読み出し、これをＮＡＮＤ型フラッシュメモリ２のロウデコーダ１１にセットする（ステップＳ１８）。
【０１０４】
すなわち、ホスト機器からの復帰命令は、アクセスコントローラ５０を介してレジスタ６０に格納される。そしてコマンドユーザインターフェース６１は復帰コマンドをステートマシンに対して発行する。復帰コマンドを受信したステートマシン６２はまず、アドレス／タイミング発生回路６４に対して、アクセスコントローラ５０に対してＳＲＡＭ３０のＭＢＥ用ＲＡＭからＭＢＥアドレスを読み出させるよう命令する。これに応答してアクセスコントローラ５０は、ＳＲＡＭ３０に対してＭＢＥアドレスを読み出すよう命令する。ＭＢＥ用ＲＡＭから読み出されたＭＢＥアドレスは、ＤＱバッファ３１を介してレジスタ６０に格納される。なお、本ステップで読み出されるＭＢＥアドレスは、ステップＳ１１でＭＢＥ用ＲＡＭに格納されたアドレスである。
【０１０５】
引き続きステートマシン６２及びアドレス／コマンド発生回路６３は、レジスタ６０に格納されたＭＢＥアドレスをロウデコーダ１１にセットしてＭＢＥ動作を再開するよう、ＮＡＮＤ型フラッシュメモリ２のステートマシン１４に命令する。
【０１０６】
この命令に応答してＮＡＮＤ型フラッシュメモリ２では、ステートマシン１４の制御に従って、ブロックデコーダ７１の保持手段８１にＭＢＥアドレスがセットされる。ＭＢＥアドレスの保持手段８１へのセット方法は、ステップＳ１１と同様である。すなわち、全てのブロックデコーダ７１において、全ブロックＢＬＫが選択された状態で信号ＦＳＥＴが“Ｈ”レベルとされることで、全ブロックデコーダ８１のノードＬ１が“Ｌ”レベルとされる。その後、ＭＢＥ対象となるブロックＢＬＫのみが選択された状態で信号ＦＲＳＴが“Ｈ”レベルとされる。これにより、ＭＢＥ対象となるブロックに対応するブロックデコーダ７１においてのみ、ノードＬ１が“Ｈ”レベルとされる。
【０１０７】
ステップＳ１８の後、ロウデコーダ１１から電圧がワード線ＷＬ０〜ＷＬ３１に印加され、データの消去動作が再開される（ステップＳ１９）。
【０１０８】
＜ＭＢＥ動作の具体例＞  
次に、上記ＭＢＥ動作の具体例につき、図５を用いて説明する。図５は、ユーザから受け付けた受信信号、ＳＲＡＭ３０のＭＢＥ用ＲＡＭの記憶内容、ＮＡＮＤ型フラッシュメモリ２の動作内容、及びブロックデコーダ７１の保持手段８１の記憶内容を示すタイミングチャートである。なお、以下ではブロックＢＬＫ３が不良であったと仮定する。
【０１０９】
図示するように、時刻ｔ１でメモリシステム１に電源が投入された際、ＮＡＮＤ型フラッシュメモリ２はＲＯＭヒューズブロックから不良ブロックアドレスを読み出し、これを保持手段８１に保持させる。そして時刻ｔ１（及びｔ３）において、ＭＢＥアドレスとしてブロックＢＬＫ１、ＢＬＫ２のブロックアドレス（ＭＢＥ ＡＤＤ）を受信したとする。するとコントローラ部４は、ＭＢＥアドレスをＳＲＡＭ３０のＭＢＥ用ＲＡＭに保持させる（時刻ｔ２）。またＮＡＮＤ型フラッシュメモリ２は、ＭＢＥアドレスをブロックデコーダ７１の保持手段８１に保持させる。すなわち、全ての保持手段８１をセットすることにより、それまで保持手段８１に保持されていた不良ブロックアドレスを消去し、引き続きブロックデコーダ７１−１、７１−２の保持手段８１をリセットする。
【０１１０】
保持手段８１へのＭＢＥアドレスの格納が完了した後に、時刻ｔ４でＭＢＥコマンド（ＭＢＥ ＣＭＤ）を受信する。すると、このＭＢＥコマンドに応答して、ＮＡＮＤ型フラッシュメモリ２はＭＢＥを実行する。
【０１１１】
引き続き、ＭＢＥ実行中の時刻ｔ５において、中断命令（Suspend ＣＭＤ）を受信したとする。するとＮＡＮＤ型フラッシュメモリ２は、これに応答して、ＭＢＥを中断する。そして不良ブロックアドレスを保持手段８１に保持させる（時刻ｔ６）。すなわち、全ての保持手段８１をリセットすることにより、それまで保持手段８１に保持されていたＭＢＥアドレスを消去し、ＲＯＭヒューズブロックから読み出した不良ブロックアドレスに基づいて、ブロックデコーダ７１−３の保持手段８１をセットする。
【０１１２】
その後、時刻ｔ７においてプログラムアドレス（Prog ＡＤＤ）を受信し、引き続きプログラムコマンド（Prog ＣＭＤ）を受信する。ここでプログラムアドレスはブロックＢＬＫ０に対応すると仮定する。するとＮＡＮＤ型フラッシュメモリ２は、不良ブロックアドレスの保持手段８１への格納が完了次第、ブロックＢＬＫ０に対するデータのプログラムを行う。
【０１１３】
その後、時刻ｔ９において再開命令（Resume ＣＭＤ）を受信したとする。するとコントローラ部４は、ＳＲＡＭ３０のＭＢＥ用ＲＡＭからＭＢＥアドレスを読み出し、これをＮＡＮＤ型フラッシュメモリ２のブロックデコーダ７１の保持手段８１に格納する。すなわち、全ての保持手段８１をセットし、引き続きブロックデコーダ７１−１、７１−２の保持手段８１をリセットする。保持手段８１へのＭＢＥアドレスの格納が完了すると、ＮＡＮＤ型フラッシュメモリ２はＭＢＥを再開する。
【０１１４】
＜効果＞  
以上のように、この発明の第１の実施形態に係る半導体装置及びその制御方法であると、複数のブロックを一括して消去するＭＢＥ動作の中断・再開が容易となる。
【０１１５】
背景技術で述べたような特許文献１記載の方法であると、ＭＢＥ動作を中断してデータの読み出しや書き込みを行うためには、ロウデコーダに不良ブロック情報を持たせる必要がある。すると、ブロックあたり一つのラッチ回路しか有しないロウデコーダであると、それまで保持していたＭＢＥ情報を消去しなければならない。つまり、ＭＢＥ動作を中断することで、消去すべきブロックの情報が失われるため、その後にＭＢＥ動作を再開することが困難であった。
【０１１６】
この点、本実施形態に係る構成であると、ＭＢＥ動作を行う際に、ＭＢＥ情報をロウデコーダ１１だけでなくＳＲＡＭ３０にも格納する。従って、ＭＢＥ動作を中断する際に、ロウデコーダ１１からＭＢＥ情報を消去して不良ブロック情報を保持させても、ＳＲＡＭ３０内のＭＢＥ情報を用いてＭＢＥ動作を再開出来る。よって、ＭＢＥ動作の中断・再開が容易となり、メモリシステム１の使い勝手を向上出来る。
【０１１７】
また、メモリシステム１はもともとＳＲＡＭ３０を有しているので、回路面積の増加を招くことなく上記動作を実行可能である。仮にメモリセルアレイ３２の容量を増やしたとしても、センスアンプ３３やロウデコーダ３４は従来あるものを流用出来るので、回路面積の増加量はごく僅かで済む。
【０１１８】
また、ロウデコーダ１１のブロックデコーダ７１内に、２つのラッチ回路を設けて、それぞれを不良ブロック情報及びＭＢＥ情報専用として用いる場合に比べても、回路面積は大幅に削減される。ラッチ回路（保持手段８１）は、ロウデコーダ１１内に点在するため、ラッチ回路の数の増加は回路面積の増加に大きく影響する。しかしＳＲＡＭ３０のメモリセルアレイ３２はメモリセルの集合であり、集積度は極めて高い。よって、メモリセルアレイ３２の容量を増やす必要があったとしても、それによる回路面積の増加は特に問題とならない程度に抑えることが出来る。
【０１１９】
［第２の実施形態］  
次に、この発明の第２の実施形態に係る半導体装置及びその制御方法について説明する。本実施形態は、上記第１の実施形態において、保持手段８１をＭＢＥ情報の保持専用に使用するものである。以下では、上記第１の実施形態と異なる点についてのみ説明する。
【０１２０】
＜ＳＲＡＭ３０の構成＞  
まず、本実施形態に係るＳＲＡＭ３０について図６を用いて説明する。図６は、ＳＲＡＭ３０のメモリセルアレイの模式図である。
【０１２１】
図示するように本実施形態に係るＳＲＡＭ３０は、第１の実施形態で説明した図１の構成において、ＭＢＥ用ＲＡＭを排して、新たに不良ブロック用ＲＡＭ（SRAM Bad Block）を設けた構成を有している。不良ブロック用ＲＡＭは、ＮＡＮＤ型フラッシュメモリ２において不良と判断されたブロックＢＬＫ（不良ブロック）に関する情報（例えばブロックアドレス）を保持する。
【０１２２】
＜ロウデコーダ１１の構成＞  
次に、本実施形態に係るＮＡＮＤ型フラッシュメモリ２のブロックデコーダ７１について説明する。図７は転送ゲート７０及びブロックデコーダ７１の回路図である。なお、転送ゲート７０及びドライバ回路７２は第１の実施形態と同様である。以下、第１の実施形態で説明した図３の構成との違いに着目して説明する。
【０１２３】
図示するように、本実施形態に係るブロックデコーダ７１は、図３を用いて説明した構成において、読み出し手段８４を排した構成を備えている。そして、セット手段８２のＭＯＳトランジスタＮＭ２のドレインがノードＬ２に接続され、リセット手段８３のＭＯＳトランジスタＮＭ４のドレインがノードＬ１に接続される。
【０１２４】
更にデコード手段８０において２つのスイッチ素子が追加されている。このスイッチ素子は、例えば低耐圧型のエンハンスメント型ｎチャネルＭＯＳトランジスタ１００、１０１である。ＭＯＳトランジスタ１００は、その電流経路の一端がＭＯＳトランジスタ８７のソースに接続され、他端がＭＯＳトランジスタ８９のドレインに接続され、ゲートに信号ＦＳＥＬが入力される。またＭＯＳトランジスタ１０１は、その電流経路の一端がインバータ９０の入力ノードに接続され、他端がＭＯＳトランジスタ８９のドレインに接続され、ゲートに信号ＭＳＥＬが入力される。
【０１２５】
本実施形態に係る保持手段８１は、少なくとも通常動作時においては、ＭＢＥ情報の保持専用として使用される。従って以下では、ノードＬ１が“Ｌ”レベルとなるように保持手段８１にデータをセットすることを、保持手段８１の「リセット」と呼び、ノードＬ１が“Ｈ”レベルとなるように保持手段８１にデータをセットすることを、保持手段の「セット」と呼ぶ。すなわち、保持手段８１のセット／リセットの関係は、第１の実施形態とは逆になる。その他の構成は第１の実施形態と同様である。なお、信号ＦＳＥＴ、ＦＲＳＴは、全ブロックについて共通の信号である。
【０１２６】
＜電源投入時のメモリシステム１の動作＞  
次に、電源投入時のメモリシステム１の動作につき、図８を用いて説明する。図８は、電源投入時の動作の流れを示すフローチャートである。
【０１２７】
図示するように、メモリシステム１に電源が投入されると（ステップＳ２０）、コントローラ部４は、ＮＡＮＤ型フラッシュメモリ２に対して、ＲＯＭヒューズブロック（ブロックＢＬＫｍ）から不良ブロック情報（不良ブロックアドレス）を読み出すよう命令する。そして、読み出された不良ブロック情報を、ＳＲＡＭ３０の不良ブロック用ＲＡＭに保持させる（ステップＳ２１）。
【０１２８】
＜ＭＢＥ動作＞  
次に本実施形態に係るＭＢＥ動作について、ロウデコーダ１１のブロックデコーダ７１の動作と共に、以下説明する。図９は、本実施形態に係るＭＢＥ動作のフローチャートである。
【０１２９】
図示するように、第１の実施形態で説明したステップＳ１０の後、コントローラ部４は、受信したＭＢＥアドレスを、ＳＲＡＭ３０に保持させることなく、ＮＡＮＤ型フラッシュメモリ２のロウデコーダ１１に保持させる（ステップＳ３０）。
【０１３０】
すなわち、全てのブロックデコーダ７１において、信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥ、ＲＤＥＣ、及びＲＯＭＢＡＥＮの全てが“Ｈ”レベルとされた状態で、信号ＦＲＳＴが“Ｈ”レベルとされる。これによりＭＯＳトランジスタＮＭ３、ＮＭ４がオン状態となり、ノードＬ１が“Ｌ”レベルとされる。すなわち、保持手段８１がリセットされる。その結果、全ブロックＢＬＫが見かけ上、不良ブロック扱いとなる。引き続き、ＭＢＥ対象となるブロックに対応するブロックデコーダ７１において、信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥ、ＲＤＥＣ、及びＲＯＭＢＡＥＮが“Ｈ”レベルとされて当該ブロックが選択された後に、信号ＦＳＥＴが“Ｈ”レベルとされる。その結果、ノードＬ２が“Ｌ”レベル、ノードＬ１が“Ｈ”レベルとなる。すなわち、保持手段８１がセットされる。
【０１３１】
またＭＢＥ動作を行うにあたりステートマシン１４は、全てのブロックデコーダ７１において、信号ＭＳＥＬを“Ｈ”レベルとし、信号ＦＳＥＬを“Ｌ”レベルとする。これにより、ブロックＢＬＫの選択は信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥでは無く、保持手段８１内の情報によって行われることになる。
【０１３２】
ステップＳ３０の後、複数のブロックＢＬＫにつき、一括してデータが消去される（ステップＳ１２）。データ消去中にユーザからの中断命令を受信すると（ステップＳ１３、ＹＥＳ）、ＮＡＮＤ型フラッシュメモリ２はＭＢＥ動作を中断する（ステップＳ１４）。この際、ブロックデコーダ７１においては、信号ＭＳＥＬが“Ｌ”レベルとされる。これにより、信号ＲＤＥＣＡＤｎは、保持手段８１に保持された情報によらず、信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥ、ＲＯＭＢＡＥＮによって決定される。
【０１３３】
そして、ユーザからのコマンドを受け付けると（ステップＳ３１）、該コマンドに応じた動作が実行される（ステップＳ３２）。ユーザから受信したコマンドとアドレスは、アクセスコントローラ５０を介してコントローラ部４のレジスタ６０に格納される。そしてステートマシン６２は、このアドレスが不良ブロックに相当するか否かを、ＳＲＡＭの不良ブロック用ＲＡＭ内に保持された不良ブロック情報を元に判断する。この不良ブロック情報は、ステップＳ３０でＳＲＡＭ３０に格納された情報である。
【０１３４】
ステップＳ３２の後、ユーザからの復帰命令を受信すると（ステップＳ１７、ＹＥＳ）、コントローラ部４はＮＡＮＤ型フラッシュメモリ２に対してＭＢＥ動作の再開を命令する。
【０１３５】
再開命令に応答して、ＮＡＮＤ型フラッシュメモリ２はＭＢＥ動作を再開する（ステップＳ１９）。この際、ブロックデコーダ７１においては、信号ＭＳＥＬが“Ｈ”レベルとされる。これにより、保持手段８１に保持されたＭＢＥアドレスによって、ブロックＢＬＫが選択される。
【０１３６】
＜ＭＢＥ動作の具体例＞  
次に、本実施形態に係るＭＢＥ動作の具体例につき、図１０を用いて説明する。図１０は、ユーザから受け付けた受信信号、ＳＲＡＭ３０の不良ブロック用ＲＡＭの記憶内容、ＮＡＮＤ型フラッシュメモリ２の動作内容、及びブロックデコーダ７１の保持手段８１の記憶内容を示すタイミングチャートである。なお、以下ではブロックＢＬＫ３が不良であったと仮定する。
【０１３７】
図示するように、時刻ｔ１でメモリシステム１に電源が投入された際、コントローラ部４は、ＮＡＮＤ型フラッシュメモリ２のＲＯＭヒューズブロックから不良ブロックアドレスを読み出し、これをＳＲＡＭ３０の不良ブロック用ＲＡＭに保持させる。そして時刻ｔ１（及びｔ３）で、ＭＢＥアドレスとしてブロックＢＬＫ１、ＢＬＫ２のアドレスを受信したとする。するとコントローラ部４は、ＭＢＥアドレスをＮＡＮＤ型フラッシュメモリ２におけるブロックデコーダ７１の保持手段に保持させる（時刻ｔ２）。すなわち、全ての保持手段８１をリセットし、引き続きブロックデコーダ７１−１、７１−２の保持手段８１をセットする。保持手段８１へのＭＢＥアドレスの格納を完了後、時刻ｔ４においてＭＢＥコマンドを受けると、ＮＡＮＤ型フラッシュメモリ２はＭＢＥを実行する。
【０１３８】
引き続き、ＭＢＥ実行中の時刻ｔ５において、中断命令を受信したとする。するとＮＡＮＤ型フラッシュメモリ２は、これに応答して、ＭＢＥを中断する。そして不良ブロックアドレスを保持手段８１に保持させる（時刻ｔ６）。
【０１３９】
その後、時刻ｔ７においてプログラムアドレスを受信する。ここでプログラムアドレスはブロックＢＬＫ０に対応すると仮定する。するとコントローラ部４は、ＳＲＡＭ３０の不良ブロック用ＲＡＭ内の情報を参照して、アクセス対象であるブロックＢＬＫ０が不良ブロックであるか否かを判断する。そして不良ブロックであれば、プログラムエラーをユーザに返す。不良ブロックでなければ、コントローラ部４はＮＡＮＤ型フラッシュメモリ２に対して、ブロックＢＬＫ０に対するデータのプログラムを命令する。
【０１４０】
その後、時刻ｔ９において再開命令を受信したとする。するとＮＡＮＤ型フラッシュメモリ２、ブロックデコーダ７１の保持手段８１に格納されているＭＢＥアドレスに基づいて、ＭＢＥ動作を再開する。
【０１４１】
＜効果＞  
以上のように、この発明の第２の実施形態に係る半導体装置及びその制御方法であると、第１の実施形態と同様に、ＭＢＥ動作の中断・再開が容易となる。
【０１４２】
本実施形態に係る構成であると、ブロックデコーダ７１の保持手段８１はＭＢＥ情報専用に用いられる。そして不良ブロック情報は、電源投入時などにＲＯＭヒューズブロックから読み出されて、ＳＲＡＭ３０に格納される。そしてＮＡＮＤ型フラッシュメモリ２に対してアクセスする際には、コントローラ部４はＳＲＡＭ３０内の不良ブロック情報を参照する。従って、ＭＢＥ動作を中断する際に保持手段８１に不良ブロック情報を格納する必要が無く、ＭＢＥ情報が失われることは無い。よって、ＭＢＥ動作の中断・再開が容易となる。
【０１４３】
勿論、第１の実施形態と同様に、各ブロックデコーダ７１に保持手段８１は１つあれば良く、回路面積の増大も抑制出来る。また、第１の実施形態に比べて、ブロックデコーダ７１のサイズを削減出来る。本実施形態に係る構成であると、第１の実施形態で説明した読み出し手段８４が不要となる。読み出し手段８４は、保持手段８１に不良ブロック情報が保持されている際に、いずれかのブロックＢＬＫが不良であることをノードＰＢＵＳＢＳに出力するためのものである。しかしながら本実施形態に係る構成であると、保持手段８１は不良ブロック情報を保持しない。よって読み出し手段８４は不要となる。読み出し手段８４を排しても、コントローラ部４はＳＲＡＭ３０内の情報によって、いずれのブロックＢＬＫが不良であるかを把握出来る。
【０１４４】
また、コントローラ部４はＳＲＡＭ３０から不良ブロック情報を読み出す。この読み出し動作は、例えば１クロック（例えば８０ｎｓ）で実行可能であり、ＮＡＮＤ型フラッシュメモリ２のコントローラがロウデコーダから不良ブロック情報を読み出す場合に比べて、読み出し時間を大幅に縮小出来る。
【０１４５】
なお、本実施形態では保持手段８１にＭＢＥ情報を保持させるのに伴い、スイッチ素子１００、１０１を設けている。ＭＢＥ動作時においてスイッチ素子１０１をオンさせることで、保持手段８１内の情報が有効となり、保持手段８１内の情報によって信号ＲＤＥＣＡＤｎの“Ｈ”／“Ｌ”レベルが決定する。この期間、信号ＦＳＥＬ＝“Ｌ”である。ＭＢＥ動作の中断時には、スイッチ素子１０１がオフされることで、保持手段８１内の情報が無効となる。この間も信号ＦＳＥＬ＝“Ｌ”であるが、ＭＯＳトランジスタ８６〜８８の経路を有効とするために、信号ＲＯＭＢＡＥＮが“Ｈ”レベルとされる。
【０１４６】
通常のロード、プログラム、及び消去時は、信号ＭＳＥＬ＝“Ｌ”である。信号ＦＳＥＬは “Ｌ”レベルであり、信号ＲＯＭＢＡＥＮ＝“Ｈ”である。
【０１４７】
またスイッチ素子１００、１０１は、テスト動作時にも有効に使用できる。テスト動作時のダイソート（die sort）工程では、全ブロックＢＬＫを対象としたデータの書き込み（Flash Write）及び全ブロックＢＬＫを対象としたデータの消去（Flash Erase）が行われる。そしてこれらの動作によって不良ブロックの特定が行われる。しかし、Flash Write及びFlash Eraseにおいても、不良ブロックに対しては電圧ストレスを加えてはならない。
【０１４８】
このFlash Write及びFlash Eraseの際には、事前に、全ブロックデコーダ７１の保持手段８１をセット（ノードＬ１＝“Ｈ”）する。そして、不良ブロックをセットするため信号ＡＲＲＯＷＡ〜ＡＲＲＯＷＥ、ＲＯＭＢＡＥＮ＝“Ｈ”とした後に、信号ＦＲＳＴ＝“Ｈ”とする。すると、ノードＬ１＝“Ｌ”となる。そして、Flash Write 及びFlash Eraseを実際に実行する際には、信号ＭＳＥＬ＝“Ｌ”、ＦＳＥＬ＝“Ｈ”、ＲＯＭＢＡＥＮ＝“Ｌ”とする。これによって、不良ブロックのノードＬ１を“Ｌ”レベルとし、その他のブロックのノードＬ１を“Ｈ”レベルとすることができる。その結果、不良ブロック以外の全ブロックについて一括したデータの書き込みまたは消去が可能となる。このように動作モード（通常モード／テストモード）に応じて、保持手段８１の保持する情報を切り替えることも出来る。つまり、スイッチ素子１００、１０１は、保持手段８１によるブロックＢＬＫの選択を有効または無効とする。そしてテスト時には、スイッチ素子１００、１０１によって保持手段８１によるブロックＢＬＫの選択を有効とし、不良ブロックがある場合に、不良ブロックに対応する保持手段８１によるブロックＢＬＫの選択を無効とする。なお、これらの制御は、例えばコントローラ部４によって行われる。
【０１４９】
以上のように、この発明の第１、第２の実施形態に係るメモリシステムであると、主記憶としてのＮＡＮＤ型フラッシュメモリ２、バッファとしてのＳＲＡＭ３０、及びコントローラ４を同一半導体基板上に形成した半導体装置１において、ＳＲＡＭ３０が、消去対象となるブロックの情報を保持する。そして、複数ブロックを一括して消去する際には、ＳＲＡＭ３０から対象ブロック情報を読み出す。
【０１５０】
または、ＳＲＡＭ３０は、不良ブロック情報を保持する。そしてデータの書き込み及び読み出しを行う際には、コントローラ４は、ＳＲＡＭ３０の不良ブロック情報を参照して、アクセス対象となるブロックが不良ブロックであるか否かを判断する。
【０１５１】
以上の構成により、複数ブロックの一括消去動作が中断された場合であっても、その後のコマンドを実行した後、一括消去動作を再開出来、メモリシステム１の使い勝手を向上出来る。
【０１５２】
なお、上記実施形態は種々の変形が可能であり、フローチャートは可能な限り処理順序を入れ替えることが可能。例えば、第１の実施形態においてＳＲＡＭ３０にＭＢＥ情報を格納するタイミングは、ＭＢＥコマンドの受信時に限られない。このような例について図１１を用いて説明する。図１１はメモリシステム１の動作を示すフローチャートである。図示するように、ステップＳ１０の後、コントローラ部４は、ＭＢＥアドレスをロウデコーダ１１に保持させる。そして、ステップＳ１４でＭＢＥを中断した後に、ロウデコーダ１１内のＭＢＥアドレスをＳＲＡＭ３０に退避させる（ステップＳ４１）。そしてステップＳ４１の後に、不良ブロック情報をロウデコーダ１１に保持させる。例えば、このような順序で処理が行われても良い。
【０１５３】
また、上記第２の実施形態において、不良ブロック情報は必ずしもＳＲＡＭ３０に格納する必要はない。すなわち、不良ブロック情報が必要な際には、その度にＲＯＭヒューズブロックから読み出すようにしても良い。本方法によれば、ＳＲＡＭ３０は不要となる。しかしながら、動作速度の観点からは、不良ブロック情報をＳＲＡＭ３０に格納しておくことが望ましい。
【０１５４】
更に、上記第１、第２の実施形態では、ＮＡＮＤ型フラッシュメモリ２、ＲＡＭ部３、及びコントローラ部４がワンチップに集積された例を挙げて説明した。このようなメモリシステム２の具体例としては、「ＯｎｅＮＡＮＤ（登録商標）」型のフラッシュメモリが挙げられる。しかし、必ずしもワンチップ化されている場合に限らず、ＮＡＮＤ型フラッシュメモリ２、ＲＡＭ部３、及びコントローラ部４が別々の半導体チップで実現されている場合であっても良い。そしてこれらの半導体チップがまとめてパッケージングされていても良い。この場合の例を図１２に示す。図１２は、複数の半導体チップがパッケージングされた半導体装置（半導体パッケージ装置）の断面図である。
【０１５５】
図示するように半導体装置１１０は、リードフレーム１１１、半導体チップ１１２−０〜１１２−２、ボンディングワイヤ１１３、及び封止樹脂１１４を備えている。リードフレーム１１１の一方の面上には、半導体素子形成面（ボンディングパッド形成面）を上にして半導体チップ１１２−０がスペーサ１１５によって接着されている。また半導体チップ１１２−０上には、半導体素子形成面を上にして更に半導体チップ１１２−１がスペーサ１１５によって接着されている。またリードフレーム１１１の他方の面上には、半導体素子形成面（ボンディングパッド形成面）を上にして半導体チップ１１２−２がスペーサ１１５によって接着されている。ボンディングワイヤ１１３は、半導体チップ１１２−０〜１１２−２とリードフレーム１１１とを接続する。そして、上記半導体チップ１１２−０〜１１２−２、リードフレーム１１１の一部、及びボンディングワイヤ１１３が樹脂１１４によって封止されて、半導体装置１１０が形成されている。上記の構成において、例えば半導体チップ１１２−０〜１１２−２がそれぞれ、ＲＡＭ部３、コントローラ部４、及びＮＡＮＤ型フラッシュメモリ２が形成された半導体チップである。
【０１５６】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【符号の説明】
【０１５７】
１…メモリシステム、２…ＮＡＮＤ型フラッシュメモリ、３…ＲＡＭ部、４…コントローラ部、１０、３２…メモリセルアレイ、１１、３４…ロウデコーダ、１２…ページバッファ、１３…電圧発生回路、１４…シーケンサ、１５、１６…オシレータ、１７…メモリセルアレイ、２０…ＥＣＣ部、２１…ＥＣＣバッファ、２２…ＥＣＣエンジン、３０…ＳＲＡＭ、３１…ＤＱバッファ、３３…センスアンプ、４０…インターフェース部、４１、４２…バーストバッファ、４３…インターフェース、５０…アクセスコントローラ、６０…レジスタ、６１…コマンドユーザインターフェース、６２…ステートマシン、６３…アドレス／コマンド発生回路、６４…アドレス／タイミング発生回路、７０、７０−０〜７０−ｍ…転送ゲート、７１、７１−０〜７１−ｍ…ブロックデコーダ、７２…ドライバ回路、７３〜７５、８６−０〜８６−４、８６〜８９、９３〜１０１…ＭＯＳトランジスタ、８０…デコード手段、８１…保持手段、８２…セット手段、８３…リセット手段、８４…読み出し手段、８５…レベルシフタ、９０〜９２…インバータ
【図１】
2011100518.tif 000003
【図２】
2011100518.tif 000004
【図３】
2011100518.tif 000005
【図４】
2011100518.tif 000006
【図５】
2011100518.tif 000007
【図６】
2011100518.tif 000008
【図７】
2011100518.tif 000009
【図８】
2011100518.tif 000010
【図９】
2011100518.tif 000011
【図１０】
2011100518.tif 000012
【図１１】
2011100518.tif 000013
【図１２】
2011100518.tif 000014