(57)【特許請求の範囲】
【請求項１】
不揮発性半導体メモリが集積され、複数のブロックを含むメモリセルアレイと、
前記複数のブロックのうち、ディフェクティブブロックのアドレス情報を含むブロック置換情報の登録が可能なブロック置換情報登録領域、及びバッドブロックのアドレス情報を含むバッドブロック情報の登録が可能なバッドブロック情報登録領域を含む記憶部と、
前記ブロック置換情報がセットされるブロック置換情報レジスタ群と、
前記バッドブロック情報がセットされるバッドブロックフラグレジスタ群と、
入力されたブロックアドレスと前記ブロック置換情報レジスタにセットされたブロック置換情報とを比較し、前記ディフェクティブブロックがアクセスされた時、アクセス先を、前記ディフェクティブブロックから置換先のリダンダントブロックに振り替え可能なブロックリダンダンシ判定回路と、
前記バッドブロックがアクセスされた時、前記バッドブロックフラグレジスタ群にセットされたバッドブロック情報に従って、前記バッドブロックのワード線に与えられる電圧を抑制可能な電圧抑制機能付ロウデコーダと、
電源投入を検知する電源投入検知回路と、
前記電源投入検知回路が電源投入を検知した後、ブートシーケンスを実行するシーケンサと、を備え、
ブートシーケンス時に、
前記ブロック置換情報レジスタ群は、前記記憶部から読み出した前記ブロック置換情報に従ってセットされ、
前記バッドブロックフラグレジスタ群は、前記記憶部から読み出した前記ブロック置換情報、及び前記バッドブロック情報の双方に従ってセットされることを特徴とする半導体集積回路装置。
【請求項２】
前記入力されたブロックアドレスを保持するブロックアドレスレジスタと、
前記記憶部を前記ブロック置換情報レジスタ群、及び前記ブロックアドレスレジスタに電気的に接続するとともに、前記ブロック置換情報レジスタ群を前記ブロックアドレスレジスタに電気的に接続する内部バスと、を備え、
前記ブートシーケンス時に、
前記ブロック置換情報レジスタ群にセットされた前記ブロック置換情報に含まれる前記ディフェクティブブロックのアドレス情報は、前記内部バスを介して前記ブロックアドレスレジスタに転送され、前記バッドブロックフラグレジスタ群は、前記ブロックアドレスレジスタに転送された前記ディフェクティブブロックのアドレス情報に従って選択されてセットされ、
前記記憶部のバッドブロック情報登録領域に登録された前記バッドブロック情報に含まれる前記バッドブロックのアドレス情報は、前記内部バスを介して前記ブロックアドレスレジスタに転送され、前記バッドブロックフラグレジスタ群は、前記ブロックアドレスレジスタに転送された前記バッドブロックのアドレス情報に従って選択されて、さらに、セットされることを特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
前記入力されたブロックアドレスを保持するブロックアドレスレジスタと、
前記記憶部を前記ブロック置換情報レジスタ群、及び前記ブロックアドレスレジスタに電気的に接続する内部バスと、を備え、
前記ブートシーケンス時に、
前記記憶部のブロック置換情報登録領域に登録されたブロック置換情報に含まれるディフェクティブブロックのアドレス情報は、前記内部バスを介して前記ブロック置換情報レジスタ群、及び前記ブロックアドレスレジスタにパラレルに転送され、前記バッドブロックフラグレジスタ群は、前記ブロックアドレスレジスタに転送された前記ディフェクティブブロックのアドレス情報に従って選択されてセットされ、
前記記憶部のバッドブロック情報登録領域に登録された前記バッドブロック情報に含まれる前記バッドブロックのアドレス情報は、前記内部バスを介して前記ブロックアドレスレジスタに転送され、前記バッドブロックフラグレジスタ群は、前記ブロックアドレスレジスタに転送された前記バッドブロックのアドレス情報に従って選択されて、さらに、セットされることを特徴とする請求項１に記載の半導体集積回路装置。
【請求項４】
前記メモリセルアレイは、前記リダンダントブロックとして使用しないノーマルブロックを含むノーマルアレイ部と、前記リダンダントブロックとして使用可能なリダンダントブロックを含むリダンダントアレイ部と含み、
前記バッドブロックフラグレジスタは、前記ノーマルアレイ部に含まれるノーマルブロック、及び前記リダンダントアレイ部に含まれるリダンダントブロックに対して設けられ、
前記ブートシーケンス時に、
ブロックリダンダンシ判定回路は、前記ディフェクティブブロックのアドレス情報に従って前記バッドブロックフラグレジスタ群をセットしている間、アクセス先の振り替えをせず、前記バッドブロックのアドレス情報に従って前記バッドブロックフラグレジスタ群をセットしている間、前記アクセス先の振り替えをすることを特徴とする請求項１に記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路装置に係わり、特に、不揮発性半導体メモリを有した半導体集積回路装置に関する。
【背景技術】
【０００２】
メモリカード等の記録メディアに利用される、不揮発性半導体メモリには、リダンダンシ技術が採用されている。リダンダンシ技術は、製造時に不具合をきたしたカラム（ディフェクティブカラム）、あるいはブロック（ディフェクティブブロック）を、予備のカラム（リダンダントカラム）、あるいは予備のブロック（リダンダントブロック）に置き換える技術である。これにより、製造時に不具合をきたしたカラム、あるいはブロックがあった場合でも、予備のカラム、あるいは予備のブロックに置き換えることで救済し、不揮発性半導体メモリの歩留りを維持し、ひいてはその向上を図ることができる。
【０００３】
近時のリダンダンシ技術は、リダンダンシ情報、例えば、ブロック置換の場合には、ディフェクティブブロックのアドレス情報、及び置換先ブロック情報などを含むブロック置換情報を内部ＲＯＭに記憶させておき、このブロック置換情報を、電源投入時のブートシーケンス時に内部ＲＯＭから読み出してレジスタにセットするようにしている（特許文献１）。リダンダンシ情報をレジスタにセットする理由は、アクセスの度に内部ＲＯＭからリダンダンシ情報を読み出していたのでは、アクセス速度に支障をきたすためである。ブートシーケンスとは、電源投入時における不揮発性半導体メモリチップ内のシステム立ち上げのための内部処理のことである。なお、リダンダンシ情報を内部ＲＯＭに記憶させるようにしたことは、例えば、レーザー溶断型ヒューズ等のプログラム、即ち、機械的破壊を伴うプログラムを行うことが、集積回路の微細化、及び記憶容量の大規模化の進展に伴って難しくなってきたことによる。
【０００４】
さらに、近時、内部ＲＯＭに記憶される情報には、リダンダンシ情報に限らず、トリミング情報などが含まれるようになってきた。トリミング情報とは、チップ間、あるいは製造ロット間における製造バラツキを予め見込み、チップ毎、あるいは製造ロット毎に、電圧の設定等を最適化する情報のことである。
【０００５】
また、ブートシーケンス時に読み出す情報は全て、内部ＲＯＭから一旦読み出してデータキャッシュに保持させる。この後、データキャッシュから、リダンダンシ情報はリダンダンシ情報をセットするレジスタへ、トリミング情報はトリミング情報をセットするレジスタへ転送するようにしている。
【０００６】
さらに、近時、リダンダンシ技術とは別に、バッドブロックという概念が新たに実用化されている。バッドブロックは、製造中に不具合をきたしたブロック（ディフェクティブブロック）をリダンダントブロックへ置換せず、その代わりに使用禁止にする、という技術である。バッドブロックは使用禁止となるから、その分、記憶容量は減る。しかし、近時の不揮発性半導体メモリは、その記憶容量が大きいことからブロック数が多く、ユーザが未使用のままのブロックも多い。この実情を踏まえると、バッドブロックは、実用上差し障りない。むしろ、バッドブロックを採用しない不揮発性半導体メモリに比較すれば、出荷数を増やすことができ、不揮発性半導体メモリをユーザに安価に提供できる。
【０００７】
さらに、リダンダンシ技術を廃止し、全てのブロックに対してバッドブロック技術を適用しよう、という試みもある（特許文献２）。
【０００８】
バッドブロック技術に利用されるバッドブロック情報もまた、ブートシーケンス時に利用される情報の一つである。バッドブロック情報に従って、使用禁止にされたブロックには、ここにアクセスがあったとき、データ消去、データ書き込み、及びデータ読み出しの各動作において必要な電圧がワード線に対してかからない処理が為される。
【０００９】
ディフェクティブブロック、及びバッドブロックは、それぞれ不具合をきたしたブロックである、という点で一致するが、リダンダンシ技術はディフェクティブブロックをリダンダントブロックに置換する技術であり、バッドブロック技術はブロックを使用禁止にする技術である。これらの技術は互いに異なる技術である。
【００１０】
例えば、リダンダンシ技術は、ディフェクティブブロックにアクセスがあったとき、置換先のリダンダントブロックに自動的に振り替えて、置換先のリダンダントブロックをアクセスする。つまり、ディフェクティブブロックはアクセスしない。従って、ディフェクティブブロックは他の非選択のブロックと同じように取り扱われる。ディフェクティブブロックのワード線に対しては、データ消去、データ書き込み、及びデータ読み出しの各動作において必要な電圧が、他の非選択ブロックと同様にかからない。リダンダンシ技術によれば、ディフェクティブブロックは、非選択のブロックと同じように取り扱うので、ワード線の電圧を制御する回路は要らない。
【００１１】
対して、バッドブロック技術によれば、バッドブロックは選択されたブロックと同じにように取り扱う。従って、バッドブロックはアクセスされたことになるので、ワード線に対しては、データ消去、データ書き込み、及びデータ読み出しの各動作において必要な電圧がかかる状況になる。この状況を、具体的にはバッドブロックフラグというフラグに基いて、強制的に抑制する。このため、ワード線に与えられる電圧を強制的に抑制する電圧制御回路が必要である。ただし、バッドブロック技術は、ワード線に与えられる電圧を強制的に抑制するので、バッドブロックとして登録されたブロックについては、消去時、特に、チップ一括消去時においても、ワード線には電圧が一切かからない。
【００１２】
このように、リダンダンシ技術はワード線の電圧を制御しないが、バッドブロック技術はワード線の電圧を制御する。このため、リダンダンシ情報に基いてセットされるレジスタ、及びバッドブロック情報に基いてセットされるレジスタは互いに異なる。具体的な一例は、リダンダンシ情報がセットされるレジスタはアドレス系回路に組み込まれ、バッドブロック情報がセットされるレジスタはワード線系回路に組み込まれる。
【００１３】
リダンダンシ情報、及びバッドブロック情報は、内部ＲＯＭに、リダンダンシ情報を登録するリダンダンシ情報登録領域と、バッドブロック情報を登録するバッドブロック登録領域とを割り当て、それぞれ独立して記憶させる。データキャッシュにおけるデータ格納アドレスも、リダンダンシ情報と、バッドブロック情報とで変える。そして、レジスタへ情報の転送、及びレジスタのセットは、それぞれ別々の動作によって行う。
【００１４】
さらに、近時、ディフェクティブブロックにおいても、バッドブロックと同様に取り扱うことが良い、と考えられるようになってきた。例えば、リダンダンシ技術によるディフェクティブブロックにおいては、チップ一括消去時に、ディフェクティブブロックのアクセスが許可されることがあり得る。この場合、短絡電流等の発生が予想され、電源供給能力の低下や、最悪の場合にはチップが壊れてしまう可能性もある。そこで、ディフェクティブブロックにおいても、バッドブロックと同様に取り扱い、チップ一括消去時においても、ワード線に電圧が一切かからないようにする。
【００１５】
そこで、製造時にディフェクティブブロックとされたブロックのアドレスを、出荷前にバッドブロックとしてバッドブロック登録領域にメーカ側で登録する。
【００１６】
しかしながら、ディフェクティブブロックのアドレスとバッドブロックのアドレスとが、内部ＲＯＭに重複して登録される。即ち、バッドブロック登録領域の使用量が大きくなる。このため、リダンダントブロックを多く利用した場合には、バッドブロックとして登録できる数の全てを利用できないことがあり、歩留りを落とす。
【特許文献１】特開２０００−０９１５０５
【特許文献２】特開２００５−２１６３４５
【発明の開示】
【発明が解決しようとする課題】
【００１７】
この発明は、ブートシーケンス時に利用される情報を記憶する内部ＲＯＭを効率良く使用することが可能な不揮発性半導体メモリを有した半導体集積回路装置を提供する。
【００１８】
また、この発明は、ブートシーケンス時に、内部ＲＯＭから読み出した情報を格納するレジスタの数を減らすことが可能な不揮発性半導体メモリを有した半導体集積回路装置を提供する。
【課題を解決するための手段】
【００１９】
この発明の第１態様に係る半導体集積回路装置は、不揮発性半導体メモリが集積され、複数のブロックを含むメモリセルアレイと、前記複数のブロックのうち、ディフェクティブブロックのアドレス情報を含むブロック置換情報の登録が可能なブロック置換情報登録領域、及びバッドブロックのアドレス情報を含むバッドブロック情報の登録が可能なバッドブロック情報登録領域を含む記憶部と、前記ブロック置換情報がセットされるブロック置換情報レジスタ群と、前記バッドブロック情報がセットされるバッドブロックフラグレジスタ群と、入力されたブロックアドレスと前記ブロック置換情報レジスタにセットされたブロック置換情報とを比較し、前記ディフェクティブブロックがアクセスされた時、アクセス先を、前記ディフェクティブブロックから置換先のリダンダントブロックに振り替え可能なブロックリダンダンシ判定回路と、前記バッドブロックがアクセスされた時、前記バッドブロックフラグレジスタ群にセットされたバッドブロック情報に従って、前記バッドブロックのワード線に与えられる電圧を抑制可能な電圧抑制機能付ロウデコーダと、電源投入を検知する電源投入検知回路と、前記電源投入検知回路が電源投入を検知した後、ブートシーケンスを実行するシーケンサと、を備え、ブートシーケンス時に、前記ブロック置換情報レジスタ群は、前記記憶部から読み出した前記ブロック置換情報に従ってセットされ、前記バッドブロックフラグレジスタ群は、前記記憶部から読み出した前記ブロック置換情報、及び前記バッドブロック情報の双方に従ってセットされる。
【００２０】
この発明の第２態様に係る半導体集積回路装置は、不揮発性半導体メモリが集積され、複数のブロックを含むメモリセルアレイと、ベース値を含む複数のトリミング情報の登録が可能なトリミング情報登録領域を含む記憶部と、前記複数のトリミング情報のベース値がセットされる複数のベースレジスタを含むベースレジスタ群と、前記複数のベースレジスタを選択する第１選択信号を発生する第１選択信号発生回路と、複数のかさ上げ値がセットされる複数のかさ上げレジスタを含むかさ上げレジスタ群と、前記複数のかさ上げレジスタを選択する第２選択信号を発生する第２選択信号発生回路と、前記ベースレジスタにセットされたベース値と、前記かさ上げレジスタにセットされたかさ上げ値とを論理演算する演算器と、を備え、前記複数のトリミング情報のベース値を、前記ベースレジスタ群にセットした後、前記第１選択信号により選択されたベースレジスタにセットされたベース値と、前記第２選択信号により選択されたかさ上げレジスタにセットされたかさ上げ値とを、前記演算器によって論理演算し、前記演算器の演算結果を、前記第１選択信号により選択されたベースレジスタに返送する。
【発明の効果】
【００２１】
この発明によれば、ブートシーケンス時に利用される情報を記憶する内部ＲＯＭを効率良く使用することが可能な不揮発性半導体メモリを有した半導体集積回路装置を提供できる。
【００２２】
また、この発明によれば、ブートシーケンス時に、内部ＲＯＭから読み出した情報を格納するレジスタの数を減らすことが可能な不揮発性半導体メモリを有した半導体集積回路装置を提供できる。
【発明を実施するための最良の形態】
【００２３】
以下、この発明の一実施形態を、図面を参照して説明する。なお、図面においては、同一の部分については同一の参照符号を付す。
【００２４】
実施形態の説明に先立ち、本実施形態において使用される主な用語の定義をする。
【００２５】
・ノーマルブロック（ｎｏｒｍａｌ ｂｌｏｃｋ）
標準として用意されているブロック。
【００２６】
・リダンダントブロック（ｒｅｄａｎｄａｎｔ ｂｌｏｃｋ）
予備として用意されているブロック。
【００２７】
・ディフェクティブブロック(ｄｅｆｅｃｔｉｖｅ ｂｌｏｃｋ)
製造時に不具合をきたしたブロック。ディフェクティブブロックは、リダンダントブロックに置き換える。
【００２８】
・バッドブロック（ｂａｄ ｂｌｏｃｋ）
製造時に不具合をきたしたブロック。バッドブロックは、リダンダントブロックに置き換えない。出荷時に使用できないブロック。
【００２９】
まず、本実施形態の参考例として、ブートシーケンス時に使用される情報と、内部ＲＯＭのデータ領域の割り当てを説明する。
【００３０】
図１は、参考例１に係る内部ＲＯＭのデータ領域の割り当てと、データの登録の様子とを示す図である。
【００３１】
参考例１は、オーソドックスなタイプである。内部ＲＯＭには、図１に示すように、例えば、カラム置換情報登録領域１０００、ブロック置換情報登録領域１１００、トリミング情報登録領域１２００、及びバッドブロック情報登録領域１３００のデータ領域が割り当てられる。これら以外の情報（他の情報）があれば登録領域１４００を割り当てれば良い。カラム置換情報、及びブロック置換情報はリダンダンシ情報である。カラム置換情報はカラム置換情報登録領域１０００に登録され、ブロック置換情報はブロック置換情報登録領域１１００に登録される。製造時には、内部ＲＯＭのデータ領域１０００〜１４００に何も情報が登録されていない。製品検査の段階において、ディフェクティブカラム、及びディフェクティブブロックが検出されると、これらをリダンダントカラム、及びリダンダントブロックに置き換える。この置き換えのためのカラム置換情報、及びブロック置換情報を、出荷前にメーカがカラム置換情報登録領域１０００、及びブロック置換情報登録領域１１００に登録する。トリミング情報はトリミング情報登録領域１２００に登録される。トリミング情報は、製品検査の段階における動作試験結果に基いて、製品毎（チップ毎）、あるいは製品ロット毎に決められる。トリミング情報もまた、出荷前にメーカがトリミング情報登録領域１２００に登録する。さらに、ディフェクティブブロックと同様に、不具合はあるのだが、リダンダントブロックに置き換えきれないブロックについては、バッドブロックとして使用禁止とする。使用禁止にするためのバッドブロック情報は、バッドブロック登録領域１３００に登録される。
【００３２】
図２は、参考例２に係る内部ＲＯＭのデータ領域の割り当てと、データの登録の様子とを示す図である。
【００３３】
参考例２は、ディフェクティブブロックを、さらに、バッドブロックとして登録するタイプである。内部ＲＯＭへのデータ領域の割り当ては、図２に示すように、図１に示す参考例１と同じであるが、ディフェクティブブロックをバッドブロックとして取り扱うことが異なる。このため、参考例２は、ディフェクティブブロックをバッドブロックとするバッドブロック情報（１）をバッドブロック領域１３００に登録する。図１、及び図２には、利用可能なバッドブロック登録数を便宜的に示す。本例では、例えば、“６個”である。図１に示す参考例１においては、利用可能なバッドブロック登録数の全てを使える。対して、図２に示す参考例２においては、利用可能なバッドブロック登録数のうち、既に４個を使っている。このため、残り２個しか利用することができない。
【００３４】
これにつき一例をあげる。リダンダントブロックの最大使用可能数＝３２ブロック、バッドブロック最大登録可能数＝４０ブロックとする。もしも、リダンダントブロックを全３２ブロック使用すると、バッドブロック登録領域１３００には、３２ブロック分の情報が登録されることになる。例えば、バッドブロック登録領域１３００には、４０ブロック分登録できる、とすると、残りは８ブロックである。本来ならば、４０ブロック登録できるはずであるのに、８ブロックしか登録できない。これは歩留りを落とす。
【００３５】
これを防ぐには、バッドブロック登録領域１３００に、３２＋４０ブロック分登録できるようすれば良いが、内部ＲＯＭを効率よく使用しているとは言えない。
【００３６】
そこで、第１実施形態に係る半導体集積回路装置は、ディフェクティブブロックをバッドブロックとして登録するタイプにおいて、内部ＲＯＭを効率良く利用できるようにする。
【００３７】
このための一例として、ブートシーケンスの流れを変える。この一例を、第１実施形態として、以下説明する。
【００３８】
（第１実施形態）
まず、ブートシーケンスを実行する内部システムの一例を説明する。
【００３９】
図３は、この発明の第１実施形態に係る半導体集積回路装置が有するブートシーケンスを実行する内部システムの一例を示すブロック図である。
【００４０】
図３に示すように、不揮発性半導体メモリチップ、例えば、フラッシュメモリチップ１には、ブートシーケンスを実行する内部システムが組み込まれる。フラッシュメモリの一例は、ＮＡＮＤ型フラッシュメモリである。内部システムは、電源検知回路１００、シーケンサ１０１、内部ＲＯＭ１０２、データキャッシュ１０３、及びレジスタ群１０４−１〜１０４ーｍを含む。
【００４１】
ブートシーケンスに利用される情報は、内部ＲＯＭ１０２に登録される。ブートシーケンスに利用される情報は、本例では、カラム置換情報、ブロック置換情報、トリミング情報、及びバッドブロック情報を含む。他の情報がある場合には、他の情報が、さらに、含まれる。従って、内部ＲＯＭ１０２のデータ領域の割り当ては、例えば、図１に示す参考例１と同じで良い。なお、本明細書においては、ブートシーケンスに利用される情報を、以下ヒューズデータと呼ぶ。
【００４２】
レジスタ群１０４−１〜１０４−ｍは、ヒューズデータに含まれたカラム置換情報、ブロック置換情報、トリミング情報、及びバッドブロック情報に対応して設けられる。例えば、本例では、レジスタ群１０４−１はカラム置換情報を格納し、レジスタ群１０４−２はブロック置換情報を格納し、レジスタ群１０４−３はトリミング情報を格納し、レジスタ群１０４−４はバッドブロック情報を格納する。なお、レジスタ群１０４−４は、バッドブロックフラグレジスタ群と呼ばれる。他の情報があれば、ｍ個のレジスタ群のうち、レジスタ群１０４−１〜１０４−４以外のレジスタ群に格納すれば良い。
【００４３】
電源検知回路１００は、電源の立ち上がり、即ち、電源投入を検知する回路である。電源検知回路１００が電源投入を検知すると、シーケンサ１０１は動作を開始する。シーケンサ１０１は制御回路であり、本例では、内部ＲＯＭ１０２、データキャッシュ１０３、及びレジスタ群１０４−１〜１０４−ｍを制御する。例えば、電源検知回路１００が電源投入を検知すると、シーケンサ１０１は、内部ＲＯＭ１０２に対してヒューズデータの読み出しを命令し、以下、順次、内部ＲＯＭ１０２、及びデータキャッシュ１０３に対してヒューズデータの転送、及びヒューズデータの保持を命令し、データキャッシュ１０３、及びレジスタ群１０４−１〜１０４−ｍに対してヒューズデータの転送、及びヒューズデータの格納を命令する。
【００４４】
図４は、この発明の第１実施形態に係る半導体集積回路装置のブートシーケンスの流れの一例を示す流れ図である。
【００４５】
図４に示すように、まず、電源検知回路１００が電源の立ち上がりを検知すると、内部ＲＯＭ１０２からヒューズデータを読み出す（ＳＴ．１）。
【００４６】
次に、読み出したヒューズデータをデータキャッシュ１０３に転送する（ＳＴ．２）。転送したヒューズデータはデータキャッシュ１０３に保持する。
【００４７】
次に、ヒューズデータをデータキャッシュ１０３に保持した後、レジスタ群１０４−１〜１０４−ｍへ転送する前に、読み出したヒューズデータをチェックする（ＳＴ．３）。ヒューズデータのチェックは、例えば、ヒューズデータの一部の領域に、数バイトのデータ判別用パターンを入れておき、このデータ判別パターンを読み出し、読み出したデータ判別パターンが期待通りのパターンであるか否かを判断すれば良い。
【００４８】
期待通りでなければ（ＮＧ）、別のＲＯＭに切り替えて、ＳＴ．１〜ＳＴ．３を再度実行する。本例における別のＲＯＭとは、予備のヒューズデータのことである。予備のヒューズデータは、内部ＲＯＭ１０２に、本来のヒューズデータと格納先を変えて記憶させたものである。別のＲＯＭからの再読み出しに際しては、最初の読み出しと、再読み出しとでアクセス先のアドレスを切り替える回路を設けておき、この回路を利用してアドレスを切り換えれば良い。なお、予備のヒューズデータは、内部ＲＯＭ１０２と、別に設けた内部ＲＯＭに記憶させておいても良い。
【００４９】
期待通りであれば（ＯＫ）、データキャッシュ１０３に保持されたヒューズデータを、例えば、１バイト、あるいは２バイトを単位として、レジスタ群１０４−１〜１０４−ｍに転送する。本例では、まず、ヒューズデータに含まれるカラム置換情報をレジスタ群１０４−１に転送する（ＳＴ．４）。転送したカラム置換情報は、レジスタ群１０４−１に含まれた複数のレジスタのうち、対応したレジスタに格納する。
【００５０】
次に、ヒューズデータに含まれるブロック置換情報をレジスタ群１０４−２に転送する（ＳＴ．５）。転送したブロック置換情報は、レジスタ群１０４−２に含まれた複数のレジスタのうち、対応したレジスタに格納する。
【００５１】
次に、ヒューズデータに含まれるバッドブロック情報１をレジスタ群１０４−４に転送する（ＳＴ．６）。ここで、本例では、次のような工夫がなされる。即ち、バッドブロック情報１のソースとして、ブロック置換情報を利用する。ブロック置換情報を情報要素に分けると、２つの情報要素を含む。ブロック置換情報の情報要素の一例を図５に示す。図５に示す一例は、例えば、フレキシブルマッピングリダンダンシ技術を適用した場合である。フレキシブルマッピングリダンダンシは、リダンダンシ判定回路とリダンダント回路とを一対一に対応させず、自由に対応させるようにしたものである。もちろん、本実施形態は、フレキシブルマッピングリダンダンシに限られるものではなく、リダンダンシ判定回路とリダンダント回路とを一対一に対応させたリダンダンシ技術も適用できる。フレキシブルマッピングリダンダンシを適用した場合には、ブロック置換情報は、第１の情報要素としてディフェクティブブロックのアドレス情報と、第２の情報要素として置換先のリダンダントブロックのアドレス情報を含む。これらの２つの情報要素のうち、本例では、第１の情報要素、即ち、ディフェクティブブロックのアドレス情報を利用し、これをバッドブロック情報１とする。第１実施形態は、ディフェクティブブロックをバッドブロックとして登録するタイプであるから、ディフェクティブブロックのアドレスは、そのままバッドブロックのアドレスとして使えるのである。ディフェクティブブロックのアドレス情報、即ち、バッドブロック情報１はレジスタ群１０４−４に含まれた複数のレジスタのうち、対応したレジスタに格納する。
【００５２】
次に、ヒューズデータに含まれるトリミング情報をレジスタ群１０４−３に転送する（ＳＴ．７）。転送したトリミング情報はレジスタ群１０４−３に含まれた複数のレジスタのうち、対応したレジスタに格納する。
【００５３】
次に、ヒューズデータに含まれるバッドブロック情報２をレジスタ群１０４−４に転送する（ＳＴ．８）。バッドブロック情報２は、例えば、リダンダントブロックに置き換えきれないディフェクティブブロックがあれば登録される。バッドブロック情報２は、出荷時に、登録されている場合と、登録されていない場合とがある。バッドブロック情報２があれば、バッドブロック情報２は、レジスタ群１０４−４に含まれた複数のレジスタのうち、対応したレジスタに格納する。
【００５４】
この後、他の処理があれば、他の処理を行なうことで、ブートシーケンスは終了する。
【００５５】
図６に、第１実施形態に係る半導体集積回路装置の内部ＲＯＭのデータ領域の割り当てと、データの登録の様子とを示しておく。
【００５６】
また、ブートシーケンスの流れの参考として、参考例１、２におけるブートシーケンスの流れを、図７に示す。
【００５７】
図７に示すように、参考例１、２におけるブートシーケンスには、図４に示すバッドブロック情報１の転送に対応する手順は無い。図７に示すバッドブロック情報の転送は、図４に示すバッドブロック情報２の転送に対応する。
【００５８】
第１実施形態によれば、ディフェクティブブロックをバッドブロックとして取り扱う際のバッドブロック情報１のソースとして、ブロック置換情報を利用する。本例では、ブロック置換情報に含まれる情報要素のうち、ディフェクティブブロックのアドレス情報を、バッドブロック情報１として利用する。このため、ディフェクティブブロックをバッドブロックとして登録するタイプの不揮発性半導体メモリにおいて、内部ＲＯＭに登録する情報の重複が無い。従って、バッドブロック登録領域には、ディフェクティブブロック以外の、不具合をきたしたブロックのみを登録することができる。従って、例えば、バッドブロック登録領域に、４０ブロックの登録が可能であった場合には、その全てを使用することができる。
【００５９】
このように、第１実施形態によれば、ブートシーケンス時に利用される情報が記憶される内部ＲＯＭを効率良く使用することが可能な不揮発性半導体メモリを有した半導体集積回路装置を提供できる。
【００６０】
さらに、ディフェクティブブロックをバッドブロックとして取り扱うので、ディフェクティブブロックにおいても、ワード線には電圧が一切かからないように、ワード線の電位が強制的に制御される。よって、チップ一括消去時においても、ディフェクティブブロックに短絡電流等が発生することを抑制でき、電源供給能力の低下の可能性や、チップが壊れてしまう可能性を低減できる。従って、信頼性の高い、不揮発性半導体メモリを得ることができる。
【００６１】
（第２実施形態）
次に、第１実施形態において説明したブートシーケンスの一例を実行可能な半導体集積回路装置の具体的な一例を、第２実施形態として説明する。
【００６２】
図８は、この発明の第２実施形態に係る半導体集積回路装置の一例を示すブロック図である。本例では、半導体集積回路装置としてＮＡＮＤ型フラッシュメモリを示す。
【００６３】
（メモリセルアレイ：２０１）
図８に示すように、半導体集積回路装置は、メモリセルアレイ（Ｃｅｌｌ Ａｒｒａｙ）２０１を有する。メモリセルアレイ２０１は、ＮＡＮＤ型フラッシュメモリの主記憶の部分である。メモリセルアレイ２０１には、不揮発性半導体メモリセルがマトリクス状に配置される。不揮発性半導体メモリセルの一例は、フラッシュメモリセルである。メモリセルアレイ２０１の具体的な一例を図９に示す。
【００６４】
図９に示すように、メモリセルアレイ２０１は複数のブロック、本例では２０８０個のブロック（Ｎｏ．０〜Ｎｏ．２０７９）を含む。ブロックは、データ消去の最小単位である。ブロックの一例を図１０に示す。
【００６５】
図１０に示すように、ブロックは複数のＮＡＮＤ型メモリユニット、本例では３３７９２個のＮＡＮＤ型メモリユニットを含む。本例のＮＡＮＤ型メモリユニットは、２つの選択トランジスタＳＴＤ、ＳＴＳと、これらの間に、直列に接続された複数のメモリセルＭ（本例では３２個）を含む。ＮＡＮＤ型メモリユニットの一端は選択ゲート線ＳＧＤに繋がる選択トランジスタＳＴＤを介してビット線ＢＬに接続され、その他端は選択ゲート線ＳＧＳに繋がる選択ゲートＳＴＳを介して共通ソース線ＣＥＬＳＲＣに接続される。複数のメモリセルＭはワード線ＷＬに繋がる。０から数えて偶数番目のビット線ＢＬｅと、奇数番目のビット線ＢＬｏとは、互いに独立してデータの書き込み、及び読み出しが行われる。例えば、データの書き込み、及び読み出しは、１本のワード線ＷＬに繋がる３３７９２個のメモリセルＭのうち、例えば、ビット線ＢＬｅに接続される１６８９６個のメモリセルＭに対して同時に行われる。
【００６６】
１つのメモリセルＭが１ビットのデータを記憶する場合、ビット線ＢＬｅに接続される１６８９６個のメモリセルＭのデータが集まって、ページという単位を構成する。ページは、読み出し、及び書き込みの最小単位であり、例えば、Ｉ／Ｏピン数が“８”のときには、２１１２バイト（Ｂｙｔｅ）と表現される。同様に、ビット線ＢＬｏに接続される１６８９６個のメモリセルＭは、別の１ページを構成する。データの書き込み、及び読み出しは、ページ毎に行われる。１ページは、いくつかのセグメントに分けることができる。本例では、２１１２バイトの１ページは、データエリア（５１２バイト×４＝２０４８バイト）、リダンダントカラムエリア（１０バイト×４＝４０バイト）、及び管理データエリア（２４バイト×１＝２４バイト）に分かれる。
【００６７】
また、１つのメモリセルＭが２ビットのデータを記憶する場合、ビット線ＢＬｅに接続される１６８９６個のメモリセルＭは２ページ分のデータを記憶する。同様に、ビット線ＢＬｏに接続される１６８９６個のメモリセルＭは別の２ページを構成する。この場合にも、データの書き込み、及び読み出しは、ページ毎に行われる。
【００６８】
さらに、図９に示すように、本例のメモリセルアレイ２０１は、ノーマルアレイ部２０１Ｎ、及びリダンダントアレイ部２０１Ｒを含む。ノーマルアレイ部２０１Ｎは、リダンダントブロックとして使用しないブロック（ノーマルブロック）を含む。本例におけるノーマルブロックはＮｏ．０〜Ｎｏ．２０４７である。リダンダントアレイ部２０１Ｒは、リダンダントブロックとして使用するブロックを、又は使用可能なブロックを含む。本例におけるリダンダントブロックとして使用する、又は使用可能なブロックはＮｏ．２０４８〜Ｎｏ．２０７９である。以下、Ｎｏ．２０４８〜Ｎｏ．２０７９のブロックを、リダンダントブロックと呼ぶ。
【００６９】
本例のロウデコーダ２０４は、ノーマルデコーダ部２０４Ｎ、及びリダンダントデコーダ部２０４Ｒを含む。ノーマルデコーダ部２０４ＮはノーマルブロックＮｏ．０〜Ｎｏ．２０４７、及びノーマルブロックＮｏ．０〜Ｎｏ．２０４７内のワード線ＷＬ、及びブック選択ゲート線を選択する。リダンダントデコーダ部２０４ＲはリダンダントブロックＮｏ．２０４８〜Ｎｏ．２０７９、及びリダンダントブロックＮｏ．２０４８〜Ｎｏ．２０７９内のワード線ＷＬ、及びブロック選択ゲート線を選択する。
【００７０】
（制御回路：２０２）
制御回路（ＣＴＲＬ）２０２は、電圧制御回路（Ｖｏｌ）、ロウ制御回路（Ｒｏｗ）、カラム制御回路（Ｃｏｌ）を含む。
【００７１】
電圧制御回路（Ｖｏｌ）は、電源回路（Ｐｕｍｐ）２０３を制御する。電源回路（Ｐｕｍｐ）２０３は、昇圧回路、例えば、チャージポンプ回路を含み、データの消去、書き込み、及び読み出しに必要な電圧を発生させる。
【００７２】
ロウ制御回路（Ｒｏｗ）は、ロウデコーダ（Ｒｏｗ Ｄｅｃｏｄｅｒ）２０４を制御する。ロウデコーダ２０４は、メモリセルアレイ２０１のワード線、及びブロック選択ゲート線を選択し、データの消去、書き込み、及び読み出しに必要な電圧を、選択したワード線、及びブロック選択ゲート線に与える。
【００７３】
カラム制御回路（Ｃｏｌ）は、データキャッシュ・センスアンプ（Ｃａｃｈｅ，Ｓ／Ａ）２０５、及びメモリセルアレイ２０１のビット線を制御し、メモリセルからのデータ消去、メモリセルへのデータ書き込み、及びメモリセルからのデータの読み出しを行う。
【００７４】
（データバッファ：２０６／出力バッファ：２０７）
データバッファ（Ｄａｔａ Ｂｕｆ．）２０６、及び出力バッファ（Ｏｕｔｐｕｔ Ｂｕｆ）２０７は、ＩＯ線を介してデータキャッシュ・センスアンプ２０５に電気的に接続される。
【００７５】
（ファーストバッファ：２０８、２０９）
ファーストバッファ（１ｓｔ Ｂｕｆ．）２０８は、外部ＩＯ線（ＩＯｘ＜７：０＞）からのコマンドデータ、アドレスデータ、及び書き込みデータの受け取りを行う。ファーストバッファ２０８は、データバッファ２０６、出力バッファ２０７、コマンドデコーダ２１０、及びアドレスバッファ２１１に電気的に接続される。外部ＩＯ線（ＩＯｘ＜７：０＞）は、図示せぬ外部のホストに電気的に接続される。
【００７６】
ファーストバッファ２０９は、制御信号（ＣＥｎｘ、ＷＥｎｘ、ＲＥｎｘ、ＣＬＥｘ、ＡＬＥｘ、ＷＰｎｘ）の受け取りを行う。ファーストバッファ２０９は、ファーストバッファ２０８、及びコマンドデコーダ２１０に電気的に接続される。
【００７７】
制御信号（ＣＥｎｘ、ＷＥｎｘ、ＲＥｎｘ、ＣＬＥｘ、ＡＬＥｘ、ＷＰｎｘ）は、ファーストバッファ２０９から、ファーストバッファ２０８、及びコマンドデコーダ２１０に送られる。ファーストバッファ２０８は、ファーストバッファ２０９からの制御信号（ＣＥｎｘ、ＷＥｎｘ、ＲＥｎｘ、ＣＬＥｘ、ＡＬＥｘ、ＷＰｎｘ）に基いて、外部ＩＯ線（ＩＯｘ＜７：０＞）を介して受け取ったデータが、コマンドデータであればコマンドデコーダ２１０へ送り、アドレスデータであればアドレスバッファ２１１へ送り、書き込みデータであればデータバッファ２０６へ送る。
【００７８】
（コマンドデコーダ：２１０）
コマンドデコーダ２１０は、ファーストバッファ２０８が受け取ったデータがコマンドデータであれば、コマンドデータとしてフラッシュステートマシン＋周辺回路（ＦＳＭ＋Ｐ／Ｆ）２１２へ送る。
【００７９】
（フラッシュステートマシン＋周辺回路：２１２）
フラッシュステートマシン＋周辺回路２１２は、フラッシュメモリ全体の管理を行う。フラッシュステートマシン＋周辺回路２１２は、コマンドデータを受け、データの消去、データの書き込み、データの読み出し、及びデータの入出力管理を行う。このため、フラッシュステートマシン＋周辺回路２１２は、例えば、制御回路（ＣＴＲＬ）２０２を制御する。
【００８０】
（電源検知回路：２１３）
電源検知回路２１３は電源が投入されたことを検知する回路であり、図３に示した電源検知回路１００に対応する。電源検知回路２１３には、例えば、パワーオンリセット回路が利用される。フラッシュステートマシン＋周辺回路２１２は、ブートシーケンス時に、ブートシーケンスを制御するシーケンサ（Ｓｅｑ．）２１５を含む。シーケンサ２１４は、図３に示したシーケンサ１０１に対応する。
【００８１】
（内部ＲＯＭ：Ｆｕｓｅ）
内部ＲＯＭ（Ｆｕｓｅ）は、ブートシーケンスに利用される情報を登録するメモリであり、図３に示した内部ＲＯＭ１０２に対応する。本例の内部ＲＯＭ（Ｆｕｓｅ）は、メモリセルアレイ２０１を利用する。また、図３に示したデータキャッシュ１０３は、データキャッシュ・センスアンプ（Ｃａｃｈｅ，Ｓ／Ａ）２０５に含まれたデータキャッシュを利用する。
【００８２】
もちろん、内部ＲＯＭ（Ｆｕｓｅ）はメモリセルアレイ２０１を利用せず、別の部分に設けても良い。また、データキャッシュについても、データキャッシュ・センスアンプ（Ｃａｃｈｅ，Ｓ／Ａ）２０５に含まれたデータキャッシュを利用せず、別の部分に設けても良い。
【００８３】
次に、第２実施形態に係るＮＡＮＤ型フラッシュメモリの動作を、具体的な回路の例とともに説明する。本例におけるデータ消去、データの書き込み、及びデータの読み出しは、周知のＮＡＮＤ型フラッシュメモリと同じ動作で良い。よって、以下、ブートシーケンスにおける動作のみを説明する。本例に係るＮＡＮＤ型フラッシュメモリのブートシーケンスは、図４に示したブートシーケンスの流れに従う。
【００８４】
電源検知回路２１３は、外部より供給される電源が所定レベルに達したことを検知した後、シーケンサ２１５はブートシーケンスを開始する。シーケンサ２１５の回路の一例を図１１に、シーケンサ２１５の動作の一例を図１２に示す。
【００８５】
図１１、及び図１２に示すように、電源が所定レベルに達する以前、シーケンサ２１５への全ての入力信号は“Ｌｏｗ”レベルである。電源検知回路２１３が、電源が所定レベルに達したことを検知した後、信号ＲＯＭＲＥＡＤが一時的に“Ｈｉｇｈ”レベルとなる（ｔ０）。信号ＲＯＭＲＥＡＤは、例えば、電源検知回路２１３から出力される。
【００８６】
信号ＲＯＭＲＥＡＤが“Ｈｉｇｈ”レベルから“Ｌｏｗ”レベルに戻ると、シーケンサ２１５は、ヒューズデータ読み出し信号ＲＥＡＤを“Ｈｉｇｈ”レベルとする。信号ＲＥＡＤが“Ｈｉｇｈ”レベルとなると、ヒューズデータの読み出しが開始される（時刻ｔ１）。
【００８７】
ヒューズデータの読み出しが終了すると、信号ＲＥＡＤ_ＥＮＤが“Ｈｉｇｈ”レベルとなる。この後、信号ＲＥＡＤ、及び信号ＲＥＡＤ_ＥＮＤの双方が“Ｌｏｗ”レベルに戻ると、シーケンサ２１５はデータキャッシュ転送信号ＤＴを“Ｈｉｇｈ”レベルとする。信号ＤＴが“Ｈｉｇｈ”レベルとなると、ヒューズデータのデータキャッシュへの転送が開始され、ヒューズデータはデータキャッシュに保持される（時刻ｔ２）。
【００８８】
ヒューズデータの転送、及び保持が終了すると、信号ＤＴ_ＥＮＤが“ＨＩｇｈ”レベルとなる。この後、信号ＤＴ、及び信号ＤＴ_ＥＮＤの双方が“Ｌｏｗ”レベルに戻ると、シーケンサ２１５はデータチェック信号ＣＨＫを“Ｈｉｇｈ”レベルとする。信号ＣＨＫが“Ｈｉｇｈ”レベルとなると、データキャッシュに保持されたヒューズデータのチェックが開始される（時刻ｔ３）。
【００８９】
図１２には示していないが、チェック結果が“ＮＧ”の場合には、信号ＣＨＥＣＫ_ＮＧが“Ｈｉｇｈ”レベルとなる。シーケンサ２１５は信号ＣＨＫ、及び信号ＣＨＥＣＫ_ＮＧの双方が“Ｈｉｇｈ”レベルとなると、シーケンサ２１５は、ヒューズデータ読み出し信号ＲＥＡＤを、再度“Ｈｉｇｈ”レベルとする。そして、ヒューズデータの再読み出しが実行される。以降、ヒューズデータの転送、及び保持、並びにヒューズデータのチェック動作が、順次実行される。
【００９０】
なお、再読み出しは、図４を参照して説明したように、例えば、別のＲＯＭに切り替えて実行される。別のＲＯＭからの再読み出しに際しては、最初の読み出しと、再読み出しとでアクセス先のアドレスを切り替える回路を設けておき、この回路を利用してアドレスを切り換えれば良い。この具体的な一例を、図１３に示す。図１３に示す一例は、ロウアドレスを切り換える例である。図１３には、２つのブロックが示されている。本例では、１つのブロックにヒューズデータを登録し、これと同じヒューズデータを、予備として別のブロックに登録する。最初の読み出しでは、例えば、ロウデコーダ２０４−ｉを用いて１つのブロックを選択し、ヒューズデータを、データキャッシュ２０５に保持させる。再読み出しでは、例えば、ロウデコーダ２０４−ｉ＋１を用いて別のブロックを選択し、予備のヒューズデータをデータキャッシュ２０５に保持させる。
【００９１】
このように、予備のヒューズデータを別のブロックに登録しておくことで、たとえ、１つのブロックに不具合が発生した場合でも、別のブロックをアクセスすることで引き続きそのチップを使用することができる。これは、製品の使用可能時間の拡大に寄与する。
【００９２】
なお、チェック結果が“ＮＧ”の場合に実行されるアクセス先のアドレスの切り替えは、図１３に示す一例に限られるものではない。
【００９３】
チェック結果が“ＯＫ”の場合には、信号ＣＨＥＣＫ_ＯＫが“Ｈｉｇｈ”レベルとなる。この後、信号ＣＨＫ、及び信号ＣＨＥＣＫ_ＯＫの双方が“Ｌｏｗ”レベルに戻ると、シーケンサ２１５はカラムリダンダンシ情報読み込み信号ＣＲＤ_ＬＯＡＤを“Ｈｉｇｈ”レベルとする。信号ＣＲＤ_ＬＯＡＤが“Ｈｉｇｈ”レベルとなると、データキャッシュに保持されたヒューズデータのうち、カラムリダンダンシ情報の、カラムリダンダンシ情報格納用レジスタ群への転送が開始され、カラムリダンダンシ情報がこのレジスタ群に格納される（時刻ｔ４）。カラムリダンダンシ情報格納用レジスタ群（Ｒｅｇ．）は、例えば、制御回路２０２のカラム制御回路（Ｃｏｌ）に配置される。
【００９４】
カラムリダンダンシ情報の転送、及び格納が終了すると、信号ＣＲＤ_ＥＮＤが“Ｈｉｇｈ”レベルとなる。この後、信号ＣＲＤ_ＬＯＡＤ、及び信号ＣＲＤ_ＥＮＤの双方が“Ｌｏｗ”レベルに戻ると、シーケンサ２１５はブロックリダンダンシ情報読み込み信号ＢＲＤ_ＬＯＡＤを“Ｈｉｇｈ”レベルとする。信号ＢＲＤ_ＬＯＡＤが“Ｈｉｇｈ”レベルとなると、データキャッシュに保持されたヒューズデータのうち、ブロックリダンダンシ情報の、ブロックリダンダンシ情報格納用レジスタ群への転送が開始され、ブロックリダンダンシ情報がこのレジスタ群に格納される（時刻ｔ５）。
【００９５】
なお、ブロックリダンダンシ情報格納用レジスタ群（Ｒｅｇ．）は、アドレス系回路、例えば、制御回路２０２のロウ制御回路（Ｒｏｗ）に配置される。ブロックリダンダンシ情報格納用レジスタ群の回路の一例を図１４に示す。
【００９６】
図１４に示すように、ブロックリダンダンシ情報格納用レジスタ群は、複数のブロックリダンダンシレジスタ（以下、ＢＲＤレジスタ）４０１を含む。本例では、３個のＢＲＤレジスタ４０１-１〜４０１-３を含む。なお、ＢＲＤレジスタ４０１の数は、３個に限られるものではない。具体的には、本例に係るＮＡＮＤ型フラッシュメモリは、図９に示したように、３２個のリダンダントブロックを備えるため、ＢＲＤレジスタ４０１は、最大３２個設けられる。ＢＲＤレジスタ４０１-１〜４０１-３は、図３に示したレジスタ群１０４-２に対応する。ＢＲＤレジスタ４０１-１〜４０１-３は各々、例えば、１〜２バイト程度の記憶容量を持つ。本例のＢＲＤレジスタ４０１-１〜４０１-３は、ブロックリダンダンシ情報のうち、ディフェクティブブロックのアドレス情報を格納する。
【００９７】
データキャッシュ２０５は、ゲートＡを介して内部バス（Ｉｎｔｅｒｎａｌ Ｂｕｓ）４０２に接続される。内部バス４０２は、ゲートＢｉｎを介してＢＲＤレジスタ４０１-１〜４０１-３の入力に接続される。ＢＲＤレジスタ４０１-１〜４０１-３の出力は、ゲートＢｏｕｔを介して内部バス４０２に接続される。データキャッシュ２０５は、図１３において示したように、ラッチ回路群Ｎｏ．００００〜Ｎｏ．２０４７を含む。ラッチ回路群Ｎｏ．００００〜Ｎｏ．２０４７は、例えば、１バイトの記憶容量を持ち、例えば、８個のラッチ回路を含む。
【００９８】
カラムアドレスカウンタ４０３は、カウンタの値を順次、インクリメント、又はデクリメントして内部カラムアドレスを出力する。内部カラムアドレスは、データキャッシュ２０５に入力される。データキャッシュ２０５に含まれる２０４８個のラッチ回路群Ｎｏ．００００〜Ｎｏ．２０４７は、内部カラムアドレスによって選択される。
【００９９】
データ転送単位が１バイトの場合には、内部カラムアドレスは、ラッチ回路群Ｎｏ．００００〜Ｎｏ．２０４７から、一度に、例えば、１個のラッチ回路群を選択する。選択されるラッチ回路群は、カラムアドレスカウンタ４０３の値がインクリメント、又はデクリメントされ、内部カラムアドレスの値が変化する毎に変わる。これにより、内部カラムアドレスが変化する毎に、異なったデータラッチ回路群からの１バイトのデータが、内部バス４０２に対して順次出力される。
【０１００】
データ転送単位が複数バイトの場合には、内部カラムアドレスは、ラッチ回路群Ｎｏ．００００〜Ｎｏ．２０４７から、一度に、例えば、複数個のラッチ回路群を選択する。例えば、データ転送単位が２バイトの場合には、一度に、例えば、２個のラッチ回路群が選択される。この場合においても、選択される複数個のラッチ回路群は、カラムアドレスカウンタ４０３の値がインクリメント、又はデクリメントされ、内部カラムアドレスの値が変化する毎に変わる。これにより、内部カラムアドレスが変化する毎に、異なったラッチ回路群から複数バイトのデータが、内部バス４０２に対して順次出力される。
【０１０１】
なお、データは、時分割にて転送されても良い。例えば、内部バス４０２のバス幅が１バイトで、ＢＲＤレジスタ４０１-１〜４０１-３の１個当たりの記憶容量が２バイトのとき、１個のＢＲＤレジスタ４０１に対して、データを１バイトずつ２回に分けて転送しても良い。また、データは、並列に転送されても良い。例えば、内部バス４０２のバス幅が２バイトで、ＢＲＤレジスタ４０１-１〜４０１-３の１個当たりの記憶容量が１バイトのとき、２個のＢＲＤレジスタ４０１に対して、データを１バイトずつ同時に転送しても良い。
【０１０２】
データキャッシュ２０５から内部バス４０２へデータを転送する際には、ゲートＡのゲートに与えられるゲート信号を活性化、例えば、“Ｈｉｇｈ”レベルとする。これにより、データキャッシュ２０５から内部バス４０２へのデータの転送が許可される。そして、ゲートＢｉｎのゲートに与えられるゲート信号を活性化、例えば、“Ｈｉｇｈ”レベルとする。これにより、内部バス４０２からＢＲＤレジスタ４０１（４０１-１〜４０１-３）へのデータの転送が許可される。
【０１０３】
カラムアドレスカウンタ４０３が出力する内部カラムアドレスは、ＢＲＤアクセスカウンタ４０４に入力される。ＢＲＤアクセスカウンタ４０４は、内部カラムアドレスの変化に従って、カウンタの値をインクリメント、又はデクリメントして内部ＢＲＤアクセスを出力する。内部ＢＲＤアクセスは、ＢＲＤレジスタ４０１に入力される。ＢＲＤレジスタ４０１は、複数個、本例では３個（４０１-１〜４０１-３）ある。３個のうちの、例えば、１個が内部ＢＲＤアクセスによって選択される。選択されるＢＲＤレジスタ４０１は、ＢＲＤアクセスカウンタ４０４の値がインクリメント、又はデクリメントされ、内部ＢＲＤアクセスの値が変化する毎に変わる。選択されたＢＲＤレジスタ４０１は、データの格納動作が許可される。
【０１０４】
このように、ＢＲＤアクセスカウンタ４０４は、内部カラムアドレスの変化、又はインクリメント信号の入力、又はデクリメント信号の入力に従って、カウンタの値をインクリメント、又はデクリメントして内部ＢＲＤアクセスを出力する。これにより、あるデータキャッシュ２０５（ラッチ回路群）に保持されたデータを、どのＢＲＤレジスタに格納にするかを、常に、一意に決めることができる。このような動作の一例を図１５に示す。
【０１０５】
図１５に示すように、信号ＢＲＤ_ＬＯＡＤが“Ｈｉｇｈ”レベルとなった後、信号ｉｎｉｔが“Ｈｉｇｈ”レベルとなる。信号ｉｎｉｔは、カラムアドレスカウンタ４０３の値を初期化する信号である。信号ｉｎｉｔが“Ｈｉｇｈ”レベルとなるとカラムアドレスカウンタ４０３の値が初期値となり、信号ｉｎｉｔが“Ｌｏｗ”レベルに戻るとカラムアドレスカウンタ４０３から内部カラムアドレスが出力される。これに従って、ＢＲＤアクセスカウンタ４０４の値も初期値となる。
【０１０６】
信号ｏｕｔは、カラムアドレスカウンタ４０３によって選択されたラッチ回路群のデータを、内部バス４０２へ転送する信号である。信号ｏｕｔは、図１４に示すゲートＡに与えられるゲート信号に対応する。信号ｏｕｔが“Ｈｉｇｈ”レベルとなると、内部バス４０２にデータが転送される。信号ｏｕｔが“Ｌｏｗ”レベルに戻ると、信号ＬＯＡＤが“Ｈｉｇｈ”レベルとなる。信号ＬＯＡＤは、内部バス４０２へ転送されたデータを、ＢＲＤレジスタ４０１に転送する信号である。信号ＬＯＡＤは、図１４に示すゲートＢｉｎに与えられるゲート信号に対応する。信号ＬＯＡＤが“Ｈｉｇｈ”レベルとなると、ＢＲＤアクセスカウンタ４０４によって選択されたＢＲＤレジスタに、内部バス４０２に転送されたデータが転送され、信号ＬＯＡＤが“Ｌｏｗ”レベルに戻ると、転送されたデータが格納される。この後、信号ＩＮＣが“Ｈｉｇｈ”レベルとなる。
【０１０７】
信号ＩＮＣは、カラムアドレスカウンタ４０３の値、及びＢＲＤアクセスカウンタ４０４の値をインクリメントする信号である。信号ＩＮＣが“Ｈｉｇｈ”レベルとなるとカラムアドレスカウンタ４０３の値がインクリメントされ、信号ＩＮＣが“Ｌｏｗ”レベルに戻るとカラムアドレスカウンタ４０３から、インクリメントされた内部カラムアドレスが出力される。同様に、ＢＲＤアクセスカウンタ４０４の値もインクリメントされ、インクリメントされた内部ＢＲＤアクセスが出力される。
【０１０８】
この後、信号ｏｕｔが再度“Ｈｉｇｈ”レベルとなると、上述の動作を繰り返す。
【０１０９】
図１６は、ＢＲＤレジスタ４０１の一例を示す回路図である。図１６には、例えば、１〜２バイト程度（例えば、ｎビット）の記憶容量を持つＢＲＤレジスタ４０１のうち、１ビット分を示す。
【０１１０】
図１６に示すように、１ビットのレジスタ５０１-ｉは、１ビットのラッチ回路５０２を含む。ブートシーケンス時に、内部バス４０２から転送された１ビットのデータは、ここに格納される。ラッチ回路５０２は２つのインバータ回路５０３、５０４を含むスタティックなラッチ回路である。インバータ回路５０３の出力はインバータ回路５０４の入力に接続され、インバータ回路５０４の出力はインバータ回路５０３の入力に接続される。本例においては、インバータ回路５０３は、電源が投入されている間、常に、動作する。対して、インバータ回路５０４は、内部バス４０２からデータが転送されるとき、出力動作が停止される。この場合には、ラッチ回路５０２はデータの転送が許可された状態となる。反対に、インバータ回路５０４が動作していると、ラッチ回路５０２はデータの保持、即ち、データを格納した状態となる。インバータ回路５０４は制御回路５０５によって制御される。
【０１１１】
本例の制御回路５０５はＡＮＤゲート回路を含む。本例の制御回路５０５は、例えば、ブロックリダンダンシ情報読み込み信号ＢＲＤ_ＬＯＡＤと、内部ＢＲＤアクセスとが入力される。
【０１１２】
制御回路５０５は、信号ＢＲＤ_ＬＯＡＤ、及び内部ＢＲＤアクセスの双方が“Ｈｉｇｈ”レベルになったとき、内部バス４０２からラッチ回路５０２へのデータの転送を許可する。本例では、データの転送を許可する際、制御回路５０５は、インバータ回路５０４の出力動作を停止させ、さらに、インバータ回路５０４の出力に接続されたインバータ回路５０６の出力動作を許可する。
【０１１３】
制御回路５０５は、信号ＢＲＤ_ＬＯＡＤ、及び内部ＢＲＤアクセスの少なくともいずれか一方が“Ｌｏｗ”レベルとなると、ラッチ回路５０２へのデータの転送を禁止する。本例では、データの転送を禁止する際、制御回路５０５は、インバータ回路５０６の出力動作を停止させ、さらに、インバータ回路５０４の出力動作を許可する。この状態は、データを格納した状態となる。
【０１１４】
ラッチ回路５０２に格納された１ビットのデータは、インバータ回路５０７を介して、アドレス比較回路５０８に入力される。インバータ回路５０７は、内部バス４０２から転送されたデータと、アドレス比較回路５０８に入力されたデータとが逆相状態にならないようにする回路である。アドレス比較回路５０８は、ブロックアドレスレジスタ４０５が出力した１ビットのデータＢＬＫＡＤＤｉを、ラッチ回路５０２に格納され、インバータ回路５０７を介して出力された１ビットのデータと比較する。本例のアドレス比較回路５０８は、排他的ＮＯＲゲート回路を含む。アドレス比較回路５０８は、１ビットのデータＢＬＫＡＤＤｉがインバータ回路５０７を介した１ビットのデータと一致したとき、その出力を“Ｈｉｇｈ”レベルとする。
【０１１５】
１個のＢＲＤレジスタ４０１は上記ラッチ回路５０２を複数ビット持つ。データＢＬＫＡＤＤの全てのビットが、上記ラッチ回路５０２に格納された全てのビットのデータと一致したとき、一致検出回路５０９は、その出力ＨＩＴを“Ｈｉｇｈ”レベルとする。出力ＨＩＴが“Ｈｉｇｈ”レベルとなると、ブロックアドレスレジスタ４０５に保持されたデータＢＬＫＡＤＤにより指定されたブロックのアクセス先は、出力ＨＩＴにより指定されるリダンダントブロックへ振り替えられる。本例に係るＮＡＮＤ型フラッシュメモリは、図９に示したように、例えば、３２個のリダンダントブロックを備える。３２個のリダンダントブロックを備える場合、出力ＨＩＴは最大３２本となる。
【０１１６】
また、本例の一致検出回路５０９は、後述するバッドブロック情報１読み込み信号ＢＲＤＢＢＦが“Ｈｉｇｈ”レベルの間、出力ＨＩＴを強制的に“Ｌｏｗ”レベルとする。本例に係るＮＡＮＤ型フラッシュメモリは、ディフェクティブブロックを、バッドブロックとして登録するタイプである。このため、後述するバッドブロックフラグレジスタをセットしている間、出力ＨＩＴが“Ｈｉｇｈ”レベルとなると、ディフェクティブブロックがリダンダントブロックに振り替えられ、ディフェクティブブロックをバッドブロックとして登録できなくなる。本例では、これを抑制するために、バッドブロック情報読み込み信号ＢＲＤＢＢＦが“Ｈｉｇｈ”レベルの間、出力ＨＩＴを強制的に“Ｌｏｗ”レベルとする。
【０１１７】
ブロックリダンダンシ情報の転送、及び格納が終了すると、図１２に示すように、信号ＢＲＤ_ＥＮＤが“Ｈｉｇｈ”レベルとなる。この後、信号ＢＲＤ_ＬＯＡＤ、及び信号ＢＲＤ_ＥＮＤの双方が“Ｌｏｗ”レベルに戻ると、シーケンサ２１５はバッドブロック情報１読み込み信号ＢＲＤＢＢＦを“Ｈｉｇｈ”レベルとする。信号ＢＲＤＢＢＦが“Ｈｉｇｈ”レベルとなると、本例では、ＢＲＤレジスタ４０１に格納されたディフェクティブブロックのアドレスの情報が内部バス４０２に転送され、内部バス４０２を介してブロックアドレスレジスタ４０５に保持される。この後、ブロックを選択するロウデコーダのそれぞれに設けられたバッドブロックレジスタＢＢＦに、バッドブロックフラグが格納される（時刻ｔ６）。
【０１１８】
ＢＲＤレジスタ４０１から内部バス４０２へデータを転送する際には、ゲートＢｏｕｔに与えられるゲート信号を活性化、例えば、“Ｈｉｇｈ”レベルとする。これにより、ＢＲＤレジスタ４０１から内部バス４０２へのデータの転送が開始される。そして、ゲートＣのゲートに与えられるゲート信号を活性化、例えば、“Ｈｉｇｈ”レベルとする。これにより、内部バス４０２からブロックアドレスレジスタ４０５へのデータの転送が開始される。
【０１１９】
ディフェクティブブロックのアドレス情報を、ＢＲＤレジスタ４０１からブロックアドレスレジスタ４０５へ転送するときの信号波形の一例を図１７に示す。
【０１２０】
図１７に示すように、ディフェクティブブロックのアドレス情報を、ＢＲＤレジスタからブロックアドレスレジスタへ転送するとき、ゲートＡ、及びゲートＢｉｎを活性化する信号は“Ｌｏｗ”レベルとし、ゲートＢｏｕｔ、及びゲートＣを活性化する信号は“Ｈｉｇｈ”レベルとする。本例では、ＢＲＤレジスタ４０１は複数個ある。複数個のＢＲＤレジスタ４０１のうち、例えば、１つを選ぶ場合には、カラムアドレスカウンタ４０３、又はＢＲＤアクセスカウンタ４０４のいずれかを用いて選べば良い。そして、ディフェクティブブロックのアドレス情報を、ブロックアドレスレジスタ４０５にシリアルに転送すれば良い。ブロックアドレスレジスタ４０５は、通常は１個である。しかし、ブロックアドレスレジスタ４０５は、複数個ある場合も有り得る。ブロックアドレスレジスタ４０５が複数個ある場合には、複数個のブロックアドレスレジスタ４０５に対して、ディフェクティブブロックのアドレス情報を、パラレルに転送しても良い。複数個のＢＲＤレジスタ４０１のうち、複数、例えば、２つ、３つ、…を選ぶ場合にも、カラムアドレスカウンタ４０３、又はＢＲＤアクセスカウンタ４０４のいずれかを用いて選べば良い。
【０１２１】
ブロックアドレスレジスタとロウデコーダとの関係の一例を図１８に示す。
【０１２２】
ブロックアドレスレジスタ４０５から出力されたブロックアドレスＢＬＫＡＤＤは、ブロックリダンダンシ判定回路（ブロックＲ／Ｄ判定回路）６０１に入力される。ブロックリダンダンシ判定回路６０１は、図１４、及び図１６に示したＢＲＤレジスタ４０１を含む回路である。ブロックアドレスＢＬＫＡＤＤは、ブロックリダンダンシ判定回路６０１で、ＢＲＤレジスタ４０１に格納されたアドレス情報と比較され、一致するか否かが判定される。一致した場合には出力ＨＩＴが“Ｈｉｇｈ”レベルとなる。リダンダントロウデコーダが選択されるが、本例では、上述したとおり、ブートシーケンス時には、一致した場合においてもＨＩＴ信号が“Ｈｉｇｈ”レベルとならない。バッドブロック情報１読み込み信号ＢＲＤＢＢＦが“Ｈｉｇｈ”レベルの間、出力ＨＩＴを強制的に“Ｌｏｗ”レベルとするためである。よって、ブロックリダンダンシ判定回路６０１は、ＢＲＤレジスタ４０１から読み出されてブロックアドレスレジスタ４０５から出力されたブロックアドレスＢＬＫＡＤＤは、そのまま、ディフェクティブブロックのアドレスで指定されるロウデコーダ６０２を選択する。選択されたロウデコーダ６０２には、バッドブロックフラグがセットされる。なお、信号ＡＲＯＷＡ〜ＡＲＯＷＥは、ロウアドレス信号をプリデコードしたプリデコード信号である。
【０１２３】
図１９は、バッドブロックフラグレジスタ付ロウデコーダの一例を示す回路図である。
【０１２４】
バッドブロックフラグ付ロウデコーダは、バッドブロックがアクセスされた時、バッドブロックフラグレジスタ群にセットされたバッドブロック情報に従って、バッドブロックのワード線に与えられる電圧を抑制可能な電圧抑制機能を持つロウデコーダである。
【０１２５】
図１９に示すように、ロウデコーダ６０２は、バッドブロックフラグレジスタ６０３を有する。バッドブロックフラグレジスタ６０３の一例は、ラッチ回路である。ラッチ回路に、ノードＢＢＦを“Ｈｉｇｈ”レベルとするデータが格納されると、ロウデコーダ６０２のＮＡＮＤ列のＶｓｓ側に接続されたＮチャネル型ＭＯＳトランジスタ６０４のゲートの電位が“Ｌｏｗ”レベルとなり、ロウデコーダ６０４は常時非活性となる。常時非活性となったロウデコーダ６０４は、たとえ、プリデコード信号ＡＲＯＷＡ〜ＡＲＯＷＥの全てが“Ｈｉｇｈ”レベルとなっても、出力ラッチ回路６０５の出力ＲＤＥＣＡは“Ｌｏｗ”レベルを維持する。なお、信号ＲＤＥＣ、/ＲＤＥＣは、ロウデコーダ６０２の動作タイミングを制御する信号であり、信号ＲＤＥＣが“Ｈｉｇｈ”レベル、信号/ＲＤＥＣが“Ｌｏｗ”レベルとなったときに、プリデコード信号ＡＲＯＷＡ〜ＡＲＯＷＥをデコードする。
【０１２６】
ブートシーケンス時には、バッドブロックフラグレジスタ６０３へのバッドブロックフラグのセットが行われる。バッドブロックフラグのセットは、信号ＢＲＤＢＢＦ、又はＢＢＬＫＬＯＡＤが“Ｈｉｇｈ”レベルのときに行われる。信号ＢＲＤＢＢＦ、又はＢＢＬＫＬＯＡＤが“Ｈｉｇｈ”レベル、かつ、フラグセット回路６０６のセット信号ＳＥＴが“Ｈｉｇｈ”レベルの状態で、かつ、プリデコード信号ＡＲＯＷＡ〜ＡＲＯＷＥが全て“Ｈｉｇｈ”レベルとなると、出力ラッチ回路６０５の出力ＲＤＥＣＡが“Ｈｉｇｈ”レベルとなる。この後、信号ＲＤＥＣを“Ｈｉｇｈ”レベル、信号/ＲＤＥＣを“Ｌｏｗ”レベルとすると、バッドブロックフラグレジスタ６０３のノード/ＢＢＦが“Ｌｏｗ”レベルとなる。このようにして、バッドブロックフラグは、バッドブロックフラグレジスタ６０３にセットされる。
【０１２７】
バッドブロック情報１に従ったバッドブロックフラグのセットが終了すると、図１２に示すように、信号ＢＲＤＢＢＦ_ＥＮＤが“Ｈｉｇｈ”レベルとなる。この後、信号ＢＲＤ_ＢＢＦ、及び信号ＢＲＤＢＢＦ_ＥＮＤの双方が“Ｌｏｗ”レベルに戻ると、シーケンサ２１５はトリミング情報読み込み信号ＴＲＩＭ_ＬＯＡＤを“Ｈｉｇｈ”レベルとする。信号ＴＲＩＭ_ＬＯＡＤが“Ｈｉｇｈ”レベルとなると、データキャッシュに保持されたヒューズデータのうち、トリミング情報の、トリミング情報格納用レジスタ群への転送が開始され、トリミング情報がこのレジスタ群に格納される（時刻ｔ７）。トリミング情報格納用レジスタ群（Ｒｅｇ．）は、例えば、制御回路２０２の電圧制御回路（Ｖｏｌ）に配置される。
【０１２８】
トリミング情報の転送、及び格納が終了すると、信号ＴＲＩＭ_ＥＮＤが“Ｈｉｇｈ”レベルとなる。この後、信号ＴＲＩＭ_ＬＯＡＤ、及び信号ＴＲＩＭ_ＥＮＤの双方が“Ｌｏｗ”レベルに戻ると、シーケンサ２１５は、バッドブロック情報２読み込み信号ＢＢＬＫ_ＬＯＡＤを“Ｈｉｇｈ”レベルとする。信号ＢＢＬＫ_ＬＯＡＤが“Ｈｉｇｈ”レベルとなると、データキャッシュに保持されたヒューズデータのうち、バッドブロック情報２の転送が開始される（時刻ｔ８）。バッドブロック情報２に従ったバッドブロックフラグのセットは、例えば、バッドブロック情報１に従ったバッドブロックフラグのセットと同様で良い。例えば、バッドブロック情報２、即ち、バッドブロックのアドレス情報をブロックアドレスレジスタ４０５に転送し、バッドブロックのアドレス情報で指定されるロウデコーダ６０２に、バッドブロックフラグをセットすれば良い。
【０１２９】
バッドブロック情報２に従ったバッドブロックフラグのセットが終了すると、図１２に示すように、信号ＢＢＬＫ_ＬＯＡＤが“Ｈｉｇｈ”レベルとなる。この後、信号ＢＢＬＫ_ＬＯＡＤ、及び信号ＢＢＬＫ_ＥＮＤの双方が“Ｌｏｗ”レベルに戻ると、シーケンサ２１５は、ブートシーケンス終了信号ＥＮＤを“Ｈｉｇｈ”レベルとする。信号ＥＮＤが“Ｌｏｗ”レベルに戻ると、ブートシーケンスは終了する。
【０１３０】
第２実施形態によれば、第１実施形態で説明したブートシーケンスを実行することができる。この結果、第２実施形態においても、第１実施形態と同様に、登録する情報の重複が無く、内部ＲＯＭ、又はメモリセルアレイに設定されたブロック置換情報登録領域とは別に設けられたバッドブロック情報登録領域を、効率よく使用することができる。
【０１３１】
また、いままでの装置では、内部バスの利用効率が低く、登録されているディフェクティブブロックのアドレス情報から、バッドブロックフラグをセットする手段と構成が無い。このため、バッドブロック情報登録領域の一部または全部を利用して、リダンダントブロックへ置換するディフェクティブブロックのアドレス情報を登録していた。これは、本来バッドブロック情報の登録にのみ使用されるべき領域の一部または全部を侵食していることに相当する。このため、バッドブロック情報登録可能な本来の数を確保できず、製造歩留りを低下させていた。
【０１３２】
第２実施形態によれば、第１実施形態と同様に、このような製造歩留りの低下も抑制することができる。
【０１３３】
（第３実施形態）
図２０は、この発明の第３実施形態に係る半導体集積回路装置のディフェクティブブロックのアドレス情報をブロックアドレスレジスタへ転送するときの信号波形の一例を示す信号波形図である。
【０１３４】
第３実施形態は、第２実施形態と、ディフェクティブブロックのアドレス情報を、ＢＲＤレジスタ４０１と、ブロックアドレスレジスタ４０５とにパラレルに転送するようにしたことが異なる。
【０１３５】
図２０に示すように、本実施形態においては、ディフェクティブブロックのアドレス情報を転送するシーケンスＢＲＤ_ＬＯＡＤ時において、内部バス４０２へのデータ出力を許可するゲート信号Ａを活性化するとともに、ＢＲＤレジスタ４０１への入力を許可するゲート信号Ｂｉｎ、及びブロックアドレスレジスタ４０５への入力を許可するゲート信号Ｃを活性化する。これにより、ＢＲＤレジスタ４０１とブロックアドレスレジスタ４０５との双方に対して同時に同じデータを転送することが可能となる。
【０１３６】
ＢＲＤレジスタ４０１は、転送されたデータをそのまま格納する。一方で、ブロックアドレスレジスタ４０７は、転送されたデータで指示されるブロックに対して、第２実施形態で説明したようなバッドブロックフラグのセット動作を実行する。
【０１３７】
この動作を完了した後は、カラムアドレスカウンタ４０３、又はカラムアドレスカウンタ４０３に同期したＢＲＤアクセスカウンタの値を変更し、データキャッシュ２０５から、次のディフェクティブブロックのアドレス情報を取り出し、ＢＲＤレジスタ４０１への転送、及びバッドブロックフラグのセット動作を順次実行する。全ての登録データの転送、及びバッドブロックフラグのセットが実行された後、残りの所定ブートシーケンスを実行する。
【０１３８】
第３実施形態によれば、第２実施形態ではデータ転送元と転送先とが一対一であったものを一対複数とし、ＢＲＤレジスタ４０１、及びブロックアドレスレジスタ４０５にパラレルにデータを転送する。これにより、第２実施形態に比較して、データ転送にかかる時間を短縮できる。これとともに、リダンダントブロックに置き換えるべきディフェクティブブロックに対して、ブロックアドレスレジスタ４０５のデータによってバッドブロックフラグをセットすることができる。
【０１３９】
第３実施形態においても、第１、第２実施形態と同様に、登録する情報の重複が無く、内部ＲＯＭ、又はメモリセルアレイに設定されたブロック置換情報登録領域とは別に設けられたバッドブロック情報登録領域を効率よく使用することができる。
【０１４０】
（第４実施形態）
第２、第３実施形態で説明した半導体集積回路装置は、本実施形態で説明するような変形ができる。
【０１４１】
リダンダントブロックへ置き換えたディフェクティブブロックには、バッドブロックフラグのセットが可能である。半導体集積回路装置の試験は、ディフェクティブブロックをリダンダントブロックに置き換えた後にも行なわれる（再試験）。この再試験の際に、置換先のリダンダントブロックが、万が一不具合である、と判断されることもあり得る。しかし、このリダンダントブロックには、バッドブロックフラグのセットができない。
【０１４２】
この理由は、例えば、図７に示したシーケンス（参考例２）においては、バッドブロック情報を転送する手順が、ブートシーケンス時に１度しかないからである。即ち、バッドブロック情報を転送する手順は、信号ＢＢＬＫ_ＬＯＡＤが“Ｈｉｇｈ”レベルとなる期間だけである。バッドブロック情報をバッドブロックフラグレジスタに転送する際には、ブロックアドレスレジスタが利用される。この時、信号ＨＩＴが“Ｈｉｇｈ”レベルになると、ディフェクティブブロックをアクセスすることができず、バッドブロックフラグをディフェクティブブロックにセットすることができなくなってしまう。これを防ぐために、図７に示したシーケンス（参考例２）においては、例えば、信号ＢＢＬＫ_ＬＯＡＤが“Ｈｉｇｈ”レベルの間、ブロックリダンダンシ判定回路のアクセス先の振り替えをしない。例えば、図１６に示した一致検出回路５０９に対応させると、信号ＢＲＤＢＢＦが入力されるところを、信号ＢＢＬＫ_ＬＯＡＤを入力する。
【０１４３】
これでは、バッドブロック情報を転送する際、ディフェクティブブロックを選ぶことが可能であっても、その代償として、リダンダントブロックを選ぶことはできなくなる。結果として、上述のとおり、リダンダントブロックにはバッドブロックフラグをセットできない。このため、リダンダントブロックに置換後の再試験において、置換先のリダンダントブロックが、万が一不具合である、と判断された場合には、出荷はしない。これもまた、製造歩留りを低下させる。
【０１４４】
対して、第２、第３実施形態に係る半導体集積回路装置によれば、リダンダントブロックにもバッドブロックフラグをセットできる。第２、第３実施形態に係る半導体集積回路装置は、例えば、図４に示すシーケンスを実行する。つまり、ブートシーケンス時に、バッドブロック情報を転送する手順が、バッドブロック情報転送１（ＳＴ．６）、及びバッドブロック情報転送２（ＳＴ．８）の２度ある。そして、例えば、図１６に示したように、一致検出回路５０９は信号ＢＲＤＢＢＦのみが入力される。これを図２１に、具体的に示す。
【０１４５】
図２１に示すように、ブロックＲＤ判定回路６０１は、一致検出回路５０９を含む。一致検出回路５０９は、ディフェクティブブロックのアドレス情報に従ってバッドブロックフラグレジスタ群をセットしている間、アクセス先の振り替えをしない。即ち、信号ＢＲＤＢＢＦが“Ｈｉｇｈ”レベルの間は、バッドブロックフラグを、ノーマルデコーダ部２０４Ｎに含まれたノーマルロウデコーダ６０２Ｎのバッドブロックフラグレジスタ（ＢＢＦ）６０３にセットできる。
【０１４６】
さらに、一致検出回路５０９は、バッドブロックのアドレス情報に従ってバッドブロックフラグレジスタ群をセットしている間、アクセス先の振り替えをすることができる。例えば、図１６、及び図２１に示した一致検出回路５０９によれば、信号ＢＢＬＫ_ＬＯＡＤが入力されないので、信号ＢＢＬＫ_ＬＯＡＤが“Ｈｉｇｈ”レベルの間は、信号ＨＩＴを“Ｈｉｇｈ”レベルにすることができるのである。
【０１４７】
これを利用して、第４実施形態に係る半導体集積回路装置では、リダンダントデコーダ部２０４Ｒに含まれたリダンダントロウデコーダ６０２Ｒに、ノーマルロウデコーダ６０２Ｎと同様のバッドブロックフラグレジスタ（ＢＢＦ）６０３を持たせる。そして、信号ＢＢＬＫ_ＬＯＡＤが“Ｈｉｇｈ”レベルの間に、バッドブロックフラグを、リダンダントデコーダ６０２Ｒのバッドブロックフラグレジスタ６０３にセットすれば良い。
【０１４８】
その一例は、リダンダントデコーダ６０２Ｒにアドレスを割り当てる。リダンダントデコーダ６０２に割り当てたアドレスを、便宜上、リダンダントアドレスと呼ぶ。リダンダントブロックのうち、不具合をきたしたリダンダントブロックのリダンダントアドレス情報は、例えば、図６に示したブロック置換情報登録領域１１００に登録しておく。そして、ＢＲＤレジスタ４０１に、ディフェクティブブロック（ノーマルブロック）のアドレス情報と一緒に、不具合をきたしたリダンダントブロックのリダンダントアドレス情報をセットする。
【０１４９】
また、不具合をきたしたリダンダントブロックのリダンダントアドレス情報は、例えば、図６に示したバッドブロック情報登録領域１３００に登録しておく。そして、バッドブロックフラグを、ノーマルロウデコーダ６０２Ｎのバッドブロックフラグレジスタ６０３、及びリダンダントロウデコーダ６０２Ｒのバッドブロックフラグレジスタ６０３にセットすれば良い。
【０１５０】
第４実施形態によれば、リダンダントブロックにもバッドブロックフラグをセットできる。そして、リダンダントブロックに置き換えた後の再試験において、置換先のリダンダントブロックが、万が一不具合である、と判断された場合に、ブートシーケンス時に、リダンダントブロックにもバッドブロックフラグをセットする。これにより、今までは出荷できなかったような装置も、出荷できるようになる。従って、第１〜第３実施形態に比較して、製造歩留りを、さらに、向上させることができる。
【０１５１】
（第５実施形態）
第４実施形態は、リダンダントブロックにもバッドブロックフラグをセットできる。これを利用すると、１組のマスクセットから、２型式の製品を得ることも可能となる。以下、これを第５実施形態として説明する。
【０１５２】
（第１の型式）
図２２Ａ〜図２２Ｃは、第５実施形態に係る半導体集積回路装置が取り得る第１の型式を示す図である。
【０１５３】
第１の型式は、メモリセルアレイをノーマルアレイ、及びリダンダントアレイに分ける。ブロックの総数は、本例では２０８０個である。２０８０個のブロックのうち、例えば、２０４８個をノーマルブロックとして使用し、３２個をリダンダントブロックとして使用する。３２個のリダンダントブロックはメーカでのみ使用し、ユーザには開放しない。第１の型式は、ノーマルブロックの数を、出荷時における有効ブロック（グッドブロック）数の最大値として出荷する型式である。本例では、出荷時における有効ブロック数の最大値は２０４８個である。
【０１５４】
図２２Ａはディフェクティブブロックが０個の状態を示す。この状態ではノーマルブロックを２０４８個使用する。３２個のリダンダントブロックは使用しない。使用するブロック（Ｕｓａｂｌｅ Ｂｌｏｃｋ）、及び使用しないブロック（Ｎｏｎｕｓａｂｌｅ Ｂｌｏｃｋ）については、図２２Ｃに示す。
【０１５５】
図２２Ｂはディフェクティブブロックが１個の状態を示す。この状態ではノーマルブロックを２０４７個使用し、１個のディフェクティブブロックは１個のリダンダントブロックに置き換える。つまり、１個のリダンダントブロックを使用し、３１個のリダンダントブロックは使用しない。ディフェクティブブロックはバッドブロックとして登録する。
【０１５６】
また、特に、図示しないが、ディフェクティブブロックの数が３２個を超える場合もある。この場合には、３２個のディフェクティブブロックを３２個のリダンダントブロックに置き換える。リダンダントブロックに置き換えきれない超過ディフェクティブブロックは、バッドブロックとしてのみ登録し、使用禁止とする。この場合、有効ブロック数は２０４８個よりも減るが、出荷時における有効ブロック数の最大値、及び最小値を決めておけば問題は無い。例えば、出荷時における有効ブロック数は、最大２０４８個、最小２００８個と決めておけば良い。これを利用すると、第１の型式は、有効ブロック数が２００８〜２０４８個の範囲になるように、リダンダントブロックの置き換え、並びにバッドブロック登録をすれば良い製品となる。
【０１５７】
なお、第５実施形態に係る半導体集積回路装置が取り得る第１の型式は、リダンダントブロックをバッドブロック登録できることは、第４実施形態においても説明したとおりである。
【０１５８】
（第２の型式）
図２３Ａ〜図２３Ｃは、第５実施形態に係る半導体集積回路装置が取り得る第２の型式を示す図である。
【０１５９】
第２の型式は、第１の型式とは反対に、メモリセルアレイをノーマルアレイ、及びリダンダントアレイに分けない。即ち、第２の型式は、チップ上にある全てのブロックをユーザに開放する。第２の型式は、第１の形式に対して、チップ上にある全てのブロックの数を、出荷時における有効ブロック数の最大値として出荷する型式である。そして、出荷時における有効ブロック数の最小値も予め決めて出荷する。本例では、出荷時における有効ブロック数の最大値は２０８０個であり、最小値は、例えば、２００８個である。
【０１６０】
図２３Ａはディフェクティブブロックが０個の状態を示す。この状態ではチップ上にある全てのブロック、２０８０個使用する。出荷時における有効ブロック数は、２０８０個である。
【０１６１】
図２２Ｂはディフェクティブブロックが１個の状態を示す。この状態では１個のディフェクティブブロックをバッドブロックとして登録する。出荷時における有効ブロック数は、２０７９個である。本例では、第１の型式ではノーマルブロックであったブロック１がバッドブロックとして登録され、使用禁止になっているが、第１の型式ではリダンダントブロックであったブロック２０４８〜２０７９についても、第４実施形態を利用することで、バッドブロックとして登録できる。
【０１６２】
第５実施形態によれば、第４実施形態を利用することで、メモリセルアレイをノーマルアレイ、及びリダンダントアレイに分ける第１の型式、及びメモリセルアレイをノーマルアレイ、及びリダンダントアレイに分けない第２の型式のいずれか一つを選ぶことができる。どちらの型式を選ぶかは、例えば、ユーザの好みに応じれば良い。
【０１６３】
また、これら第１、第２の型式は、１組のマスクセットから得ることが可能である。このため、メーカは、例えば、型式ごとにマスクセットを分けて管理する必要がなく、また、製造ラインを変更したり、製造工程を変更したりする必要も無い。従って、製造コストの上昇の抑制や、その低減に有利である。また、ユーザの好みに応じた型式の製品を、ユーザに迅速に供給する点についても有利である。
【０１６４】
さらに、これら第１、第２の型式は、例えば、コマンドを入力することで、相互に切り換えることも可能である。
【０１６５】
（変形例）
第５実施形態は、メモリセルアレイをノーマルアレイ、及びリダンダントアレイに分ける第１の型式、及びメモリセルアレイをノーマルアレイ、及びリダンダントアレイに分けない第２の型式のいずれか一つを選ぶことができる。これら第１の型式、又は第２の型式を持つ不揮発性半導体メモリ、例えば、ＮＡＮＤ型フラッシュメモリは、例えば、メモリカード等の記録メディアに利用される。記録メディアはホスト機器により制御される。ホスト機器は記録メディアに対してアドレスを発行する。記録メディアは受領したアドレスに対応したアドレスに対して、データの消去、書き込み、及び読み出しを行う。
【０１６６】
第１の型式の利点は、ホスト機器が発行するアドレス信号に制限を与え難い、ということである。ノーマルアレイに配置されたノーマルブロックの数は“２”のべき乗である。即ち、“４、８、１６、…、５１２、１０２４、２０４８、４０９６、…”という数である。ホスト機器が発行するアドレス信号は複数ビットの０、１の信号の組み合わせである。アドレス信号が２ビットならば、“４個”のブロックから１つを選択できる。３ビットならば、“８個”のブロックから１つを選択できる。同様に、ビット数が増えるにつれ、“１６、…、５１２、１０２４、２０４８、４０９６、…、”個のブロックから１つを選択できる。このように、ノーマルブロックの数は、アドレス信号が選択できるブロックの数と一致する。このため、第１の型式は、例えば、ホストが発行するアドレスとチップ内のアドレスとを対応させ易い。また、アドレス信号の論理に対応するブロックが無い、という状態も無くすことができる。これは、ホスト機器のシステムに制限を与え難い。第１の型式に対応するホスト機器は、現在のホスト機器の主流でもある。
【０１６７】
対して、第２の型式の利点は、ユーザが使用できるブロックの数が第１の型式よりも増えることにある。しかし、ブロックの数が“２”のべき乗からずれる。このため、アドレス信号の論理に対応するブロックが無い、という状態を招いてしまう。これは、ホスト機器のシステムに制限を与え易い。このように、第２の型式は、ホスト機器のシステムに制限を与え易い。
【０１６８】
そこで、第５実施形態の変形例では、ホスト機器のシステムに制限を与えずに、第２の型式を採用することができる記録メディアを提供する。
【０１６９】
図２４は、第５実施形態の変形例に係る記録メディアの一例を示すブロック図である。
【０１７０】
図２４に示すように、記録メディアの一例は、メモリカード７００である。メモリカード７００は、内部に、不揮発性半導体メモリ、例えば、ＮＡＮＤ型フラッシュメモリ７０１と、これをコントロールするカードコントローラ７０２とを持つ。カードコントローラ７０２は、メモリカード７００の外部端子群７０３に接続される。外部端子群７０３は、ホスト機器に、電気的に接触が可能な端子群である。
【０１７１】
図２５に示すように、メモリカード７００は、ホスト機器７０４のカードスロット７０５に装着されると、本例のカードコントローラ７０２は、ホスト機器７０４に対して検出信号ＴＹＰＥを出力する。
【０１７２】
ホスト機器７０４から、検出信号ＴＹＰＥに対する応答が無かった場合には、カードコントローラ７０２は、例えば、“ホスト機器７０４は第２の型式に対応できない”、と認識する。カードコントローラ７０２は、ＮＡＮＤ型フラッシュメモリ７０１に対して、型式認識コマンドＴＹＰＥ１を出力する。型式認識コマンドＴＹＰＥ１は、ＮＡＮＤ型フラッシュメモリ７０１に入力され、メモリ７０１内の、例えば、コマンドデコーダ７０６に入力される。コマンドデコーダ７０６は、型式認識コマンドＴＹＰＥ１をデコードし、第１、第２の型式から第１の型式を選び、以後、第１の型式の製品として動作するように、ＮＡＮＤ型フラッシュメモリ７０１の内部の回路をセットする。
【０１７３】
反対に、ホスト機器７０４から、検出信号ＴＹＰＥに対する応答が有った場合には、カードコントローラ７０１は、例えば、“ホスト機器７０４は第２の型式に対応する”、と認識する。カードコントローラ７０１は、ＮＡＮＤ型フラッシュメモリ７０１に対して、型式認識コマンドＴＹＰＥ２を出力する。型式認識コマンドＴＹＰＥ２は、ＮＡＮＤ型フラッシュメモリ７０１に入力される。型式認識コマンドＴＹＰＥ２もまた、ＮＡＮＤ型フラッシュメモリ７０１の、例えば、コマンドデコーダ７０６に入力される。コマンドデコーダ７０６は、型式認識コマンドＴＹＰＥ２を解読し、第１、第２の型式から第２の型式を選び、以後、第２の型式の製品として動作するように、ＮＡＮＤ型フラッシュメモリ７０１の内部の回路をセットする。
【０１７４】
なお、内部の回路のセットの一例は、コマンドＴＹＰＥ１を受信したとき、ブートシーケンス時におけるブロック置換情報レジスタ群のセット、及び動作中におけるブロックリダンダンシ判定回路のアクセス先の振り替え動作を許可し、コマンドＴＹＰＥ２を受信したとき、動作中におけるブロックリダンダンシ判定回路のアクセス先の振り替え動作を禁止する、である。
【０１７５】
本変形例によれば、第２の型式のサポートする製品でありながらも、型式認識コマンドＴＹＰＥ１／ＴＹＰＥ２を受信することで、第１の型式にも、第２の型式にも成り得る。従って、本変形例によれば、ホスト機器のシステムに制限を与えずに、第２の型式を採用することができる記録メディアを得ることができる。
【０１７６】
（第６実施形態）
第６実施形態は、内部バス構成に関するものである。
【０１７７】
図２６は、第６実施形態に係る半導体集積回路装置の一例を示すブロック図である。
【０１７８】
図２６に示すように、例えば、装置に対する書き込み電圧設定値等を設定するベースレジスタ０〜３の４セットを保持しているものとする。このデータを内部バスに出力する手段は既知である。
【０１７９】
どのベースレジスタのデータを出力するかを決定する信号としては、一般的にはセレクト信号発生器によって決まるものであった。これを、アドレスレジスタ、例えば、カラムアドレスレジスタ（又はカラムアドレスカウンタ）によって決めるものとする。図２７は、ベースレジスタ0に相当する回路の一例を示す回路図である。ベースレジスタのデータは、ベースレジスタのデータ出力許可信号ＢＡＳＥＯＵＴと、カラムアドレスレジスタのデータとをデコードすることで、内部バス４０２にデータの出力が許可される。許可を与えるレジスタデータは、アドレスレジスタ、例えば、カラムアドレスレジスタに限定するものではなく、他の既存のレジスタを本目的に利用してもよい。
【０１８０】
これに対して、どのかさ上げレジスタデータのデータを用いるかを選択する信号は、既存のセレクト信号発生器８０１によって選択する。
【０１８１】
第６実施形態においては、ベースレジスタと、かさ上げレジスタとを独立の選択信号により任意の組み合わせで選択することができる。本実施形態において、カラムアドレスレジスタにより一意に決定されたベースレジスタのデータは、内部バス４０２を介して、演算器８０２へそのデータが導かれる。一方、セレクト信号発生器８０１により一意に選択されたかさ上げレジスタのデータも演算器８０２へ導かれ、演算器により演算されたデータはレジスタ８０４に導かれる。レジスタ８０４のデータは、所定タイミングにおいて内部バスに出力される。このとき、それまで出力していたベースレジスタのデータは、その出力を停止し、一方で内部バス４０２に出力されたデータを取り込むことにより、ベースデータに対して、例えば、装置内部に蓄積されたかさ上げデータを演算した結果をベースレジスタに返送することができる。これら一連の動作の一例を、図２８に示す。返送されたデータは、既知の不揮発性半導体メモリセルに書き込む手段を使用することによって、電源起動時の自動読み出しシーケンスにて読み出せる箇所に書き込むことが一般的である。
【０１８２】
一般的な構成にあっては、例えば、図２９に示すように、ベースレジスタに一対一に対応したかさ上げレジスタを保有しなければならず、ベースレジスタの数が増えた場合には、これに比例してかさ上げレジスタの数を増やさなければならない。
【０１８３】
これに対して、第６実施形態によれば、ベースレジスタと、かさ上げレジスタとを一対一に対応させなくて済む。即ち、かさ上げレジスタの数は、ベースレジスタの数よりも少なくてもよい。さらには、複数のベースレジスタに対して同一のかさ上げレジスタデータによる演算結果を反映させることも可能となる。
【０１８４】
図３０は、第６実施形態に係る半導体集積回路装置の一例を示す回路図である。
【０１８５】
本一例では、セレクト信号発生器８０１が、図３０に示すように、セレクト信号レジスタとなる。本一例ではセレクト信号発生器８０１がセレクト信号レジスタとなることで、アドレスレジスタのデータにより選択されるベースレジスタとは独立に、かさ上げレジスタを選択することができる。例えば、セレクト信号レジスタに、“０”をセットした場合にはかさ上げレジスタ０を選択でき、“１”をセットした場合にはかさ上げレジスタ１を選択できる。セレクト信号レジスタにデータをセットするときには、例えば、アドレスレジスタにデータをセットする際、即ち、ベースレジスタを選択する際に、選択したベースレジスタに転送するベース値ととともに、かさ上げ値“０”、又は“１”をセレクト信号レジスタに転送すれば良い。
【０１８６】
また、第６実施形態は、例えば、装置に対する書き込み電圧設定値等を設定するトリミング情報のセットに応用でき、例えば、図４に示したブートシーケンスのトリミング情報転送に使用することができる。
【０１８７】
また、第６実施形態は、図４に示したブートシーケンスのトリミング情報転送に使用できるばかりでなく、動作中におけるトリミング情報転送にも使用することができる。例えば、不揮発性半導体メモリ、例えば、ＮＡＮＤ型フラッシュメモリの使用中において、書き込みが失敗したとき、書き込みをリトライする場合がある。このリトライは、リトライ前の書き込み電圧を用いることが一般的であるが、リトライにおける書き込み電圧は、リトライ前の書き込み電圧と変えることも可能である。書き込み電圧を変えるためには、トリミング情報を変えれば良い。トリミング情報を変えるには、選択するかさ上げレジスタを変えれば良い。そして、ベースレジスタのデータとかさ上げレジスタのデータとを、演算器８０２で再度演算し、演算した結果をベース値レジスタに返送し、再セットすれば良い。
【０１８８】
さらに、第６実施形態では、次のような利点も得ることができる。
【０１８９】
この利点は、ベースレジスタのテストを、より正確に行える、ということである。
【０１９０】
例えば、図２９に示した参考例において、ベースレジスタをテストする際には、テスタからのテストパターンデータを、内部バスを介してベースレジスタにセットする。この後、ベースレジスタにセットされたテストパターンデータを読み出し、内部バスを介してテスタに返送する。テスタは、返送された読み出し結果が期待値通りであるかを判断して、ベースレジスタに異常が有るか無いかを判断する。
【０１９１】
しかしながら、図２９に示した参考例では、ベースレジスタにセットされたテストパターンデータを、内部バスに返送するまでに、セレクタ、演算器、レジスタを介する。このため、もしも、異常有りと判断されたときには、ベースレジスタ、セレクタ、演算器、及びレジスタの何処に異常が有ったのかを知ることができない。このため、異常有りと判断されたときには、図２９に示す回路の全体を異常有りと判断せざるを得ない。図２９に示す回路に予備が無ければ、そのチップは異常有りと判断された時点で不良と判断され、出荷しない。また、予備が有ったとしても、図２９に示す回路の全体を予備とし、しかも、歩留まりを向上させるためには、数セットの予備を用意しなければならないので、チップ面積の縮小に不利である。
【０１９２】
対して、第６実施形態に係る半導体集積回路装置は、例えば、図２６に示すように、ベースレジスタにセットされたデータを、直接に内部バス４０２に返送するパスを持つ。このため、ベースレジスタにセットされたテストパターンデータを、演算器やレジスタを介さずに内部バスに直接に返送することができる。即ち、第６実施形態に係る半導体集積回路装置は、ベースレジスタをテスタにて直接にテストできるのである。もしも、異常有りと判断されたときには、そのベースレジスタのみを使用禁止とすれば良い。ベースレジスタはチップ内に数セット有り、全てが使用されるとは限らない。つまり、いくつかのベースレジスタの使用禁止は、充分に許容できる。
【０１９３】
このように第６実施形態は、図２９に示した参考例に比較してベースレジスタのテストを、より正確に行うことができる。しかも、異常有りと判断されたときには、そのベースレジスタのみを使用禁止にすれば良いので、歩留りの向上にも有利である。
【０１９４】
もちろん、予備のベースレジスタを用意しても良い。この場合には、予備はベースレジスタのみで、図２９に示す参考例のように、回路の全体を予備として用意しなくても良いから、チップ面積の縮小にも有利である。
【０１９５】
さらに、チップ面積の縮小に有利な部分として、第６実施形態は、図２９に示す参考例に比較して配線数が減る、という部分もある。
【０１９６】
例えば、図２９に示した参考例では、ベースレジスタからセレクタ、及び演算器まで、内部バスと並行に、ベースレジスタの出力を転送する配線が必要となる。
【０１９７】
対して、第６実施形態に係る半導体集積回路装置は、例えば、図２６に示すように、ベースレジスタの出力を内部バスに転送するので、演算器８０２まで内部バスと並行に、ベースレジスタを転送する配線が必要無い。
【０１９８】
このように第６実施形態は、図２９に示した参考例に比較して配線数が減るので、チップ面積の縮小にも有利である。
【０１９９】
（第７実施形態）
次に、この発明の実施形態に従った不揮発性半導体メモリを利用した記録メディア、例えば、メモリカードの例を、第７実施形態として説明する。
【０２００】
図３１は、この発明の第７実施形態に係る記録メディアの一例を示す図である。本例では、記録メディアとしてメモリカードを示す。そして、不揮発性半導体メモリと、これをコントロールするカードコントローラとを備えたメモリカードを例示する。不揮発性半導体メモリの一例はフラッシュメモリである。フラッシュメモリの一例はＮＡＮＤ型フラッシュメモリである。
【０２０１】
図３１に示すように、メモリカード９０１は、バスインタフェース９１４を介してホスト機器９０２と情報の授受を行う。メモリカード１は、ホスト機器９０２に設けられたスロットに対して挿抜可能に形成される。
【０２０２】
メモリカード９０１は、フラッシュメモリ９１１、このフラッシュメモリ９１１を制御するカードコントローラ（メモリコントローラ）９１２、及び複数の信号ピン（第１ピン乃至第９ピン）９１３を備える。信号ピン９１３は、カードコントローラ９１２に電気的に接続されるピンで、メモリカード９０１の外部ピンとして働く。信号ピン９１３における第１ピン乃至第９ピンに対する信号の割り当ての一例を、図３２に示す。
【０２０３】
図３２に示すように、データ０〜データ３は、第７ピン、第８ピン、第９ピン、及び第１ピンにそれぞれ割り当てられる。なお、第１ピンは、データ３だけでなく、カード検出信号に対しても割り当てられる。さらに、第２ピンはコマンドに割り当てられ、第３ピン、及び第６ピンは接地電位Ｖｓｓに、第４ピンは電源電位Ｖｄｄに、第５ピンはクロック信号に割り当てられる。
【０２０４】
信号ピン９１３、及びバスインタフェース９１４は、ホスト機器９０２内のホストコントローラ（図示せず）とメモリカード９０１との通信に使用される。例えば、ホストコントローラは、第１ピン乃至第９ピンを介してメモリカード９０１内のカードコントローラ９１２と各種信号、及びデータを通信する。例えば、メモリカード９０１にデータを書き込むときには、ホストコントローラは、書き込みコマンドを、第２ピンを介してカードコントローラ９１２に送信する。このとき、カードコントローラ９１２は、第５ピンに供給されているクロック信号に応答して、第２ピンに与えられる書き込みコマンドを取り込む。コマンドの入力に割り当てられる第２ピンは、データ３用の第１ピンと接地電位Ｖｓｓ用の第３ピンとの間に配置される。
【０２０５】
これに対し、フラッシュメモリ９１１とカードコントローラ９１２との間の通信は、ＮＡＮＤ型フラッシュメモリ用のインタフェースを介して行われる。例えば、８ビットのＩＯ線（データライン）９１５である。
【０２０６】
カードコントローラ９１２がフラッシュメモリ９１１にデータを書き込むときには、カードコントローラ９１２は、ＩＯ線９１５を介してデータ入力コマンド８０ｈ、カラムアドレス、ページアドレス、データ、及びプログラムコマンド１０ｈをフラッシュメモリ９１１に順次入力する。ここで、コマンド８０ｈの“ｈ”は１６進数を示すものであり、実際には“１０００００００”という８ビットの信号が、８ビットのＩＯ線９１５にパラレルに与えられる。つまり、ＮＡＮＤ型フラッシュメモリ用のインタフェースでは、複数ビットのコマンドがパラレルに与えられる。また、ＮＡＮＤ型フラッシュメモリ用のインタフェースでは、フラッシュメモリ９１１に対するコマンドと、データとが同じＩＯ線９１５を共用して通信される。
【０２０７】
このように、ホストコントローラとカードコントローラ９１２とが通信するインタフェースと、フラッシュメモリ９１１とカードコントローラ９１２とが通信するインタフェースとは異なる。
【０２０８】
図３３は、一実施形態に係るメモリカードのハード構成の一例を示すブロック図である。
【０２０９】
ホスト機器９０２は、メモリカード９０１に対してアクセスを行うためのハードウェア、及びソフトウェアを備える。メモリカード９０１は、ホスト機器９０２に接続された時に電源供給を受けて動作し、ホスト機器２からのアクセスに応じた処理を行う。
【０２１０】
フラッシュメモリ９１１は、消去時の消去ブロックサイズ（消去単位のブロックサイズ）が所定サイズ（例えば、２５６ｋＢ）に定められている。また、このフラッシュメモリ９１１に対して、ページと称する単位（例えば、２ｋＢ）でデータの書き込み、及び読み出しが行われる。
【０２１１】
カードコントローラ１２は、フラッシュメモリ９１１内部の物理状態（例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、あるいは、何処のブロックが消去状態であるか）を管理する。カードコントローラ９１２は、ホストインタフェース９２１、ＭＰＵ（Micro processing unit）９２２、フラッシュインタフェース９２３、ＲＯＭ（Read-only memory）９２４、ＲＡＭ（Random access memory）９２５、バッファ９２６、及びレジスタ群９２７を有する。
【０２１２】
ホストインタフェース９２１は、カードコントローラ９１２とホスト機器９０２との間のインタフェース処理を行う。
【０２１３】
レジスタ群９２７は、各種のレジスタを有する。レジスタ群９２７の構成の一例を図３４に示す。
【０２１４】
図３４に示すように、レジスタ群９２７は、例えば、カードステータスレジスタ、及びＣＩＤ、ＲＣＡ、ＤＳＲ、ＣＳＤ、ＳＣＲ、ＯＣＲを含む。これらレジスタは、以下のように定義される。
【０２１５】
カードステータスレジスタは、通常動作において使用され、例えば、エラー情報が記憶される。
【０２１６】
ＣＩＤ、ＲＣＡ、ＤＳＲ、ＣＳＤ、ＳＣＲ、及びＯＣＲは、主にメモリカードの初期化時に使用される。
【０２１７】
ＣＩＤ（Card identification number）には、メモリカード９０１の個体番号が記憶される。ＲＣＡ（Relative card address）には、相対カードアドレスが記憶される。相対カードアドレスは、初期化時にホスト機器２が決める。ＤＳＲ（Driver stage register）には、メモリカード９０１のバス駆動力等が記憶される。ＣＳＤ（Card specific data）には、メモリカード９０１の特性パラメータ値が記憶される。例えば、バージョン情報、性能識別コード、及び性能パラメータなどである。ＳＣＲ（SD configuration data register）には、メモリカード９０１のデータ配置が記憶される。ＯＣＲ（Operation condition resister）には、動作範囲電圧に制限のあるメモリカードの場合の動作電圧が記憶される。
【０２１８】
ＭＰＵ９２２は、メモリカード９０１全体の動作を制御する。ＭＰＵ９２２は、例えば、メモリカード９０１が電源供給を受けたときに、ＲＯＭ９２４に格納されているファームウェア（制御プログラム）をＲＡＭ９２５上に読み出して所定の処理を実行することにより、各種のテーブルをＲＡＭ９２５上に作成する。
【０２１９】
また、ＭＰＵ９２２は、書き込みコマンド、読み出しコマンド、消去コマンドをホスト機器９０２から受け取り、フラッシュメモリ９１１に対して所定の処理を実行したり、バッファ９２６を通じたデータ転送処理を制御したりする。
【０２２０】
ＲＯＭ９２４は、ＭＰＵ９２２により制御される制御プログラムなどを格納する。ＲＡＭ９２５は、ＭＰＵ９２２の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する。フラッシュインタフェース９２３は、カードコントローラ９１２とフラッシュメモリ９１１との間のインタフェース処理を行う。
【０２２１】
バッファ９２６は、ホスト機器９０２から送られてくるデータをフラッシュメモリ９１１へ書き込む際に、一定量のデータ（例えば、１ページ分）を一時的に記憶したり、フラッシュメモリ９１１から読み出されるデータをホスト機器９０２へ送り出す際に、一定量のデータを一時的に記憶したりする。
【０２２２】
図３５に、フラッシュメモリ９１１のデータ配置の一例を示す。
【０２２３】
図３５に示すように、フラッシュメモリ９１１の各ページは、例えば、２１１２バイト（５１２バイト分のデータ記憶部×４＋１０バイト分の冗長部×４＋２４バイト分の管理データ記憶部）を有する。また、例えば、１２８ページ分が１つの消去単位（２５６ｋバイト＋８ｋバイト（ここで、ｋは１０２４））となる。１つの消去単位はブロックと呼ばれる。
【０２２４】
フラッシュメモリ９１１は、フラッシュメモリ９１１へのデータ入出力を行うためのページバッファ９１１Ａを備えている。ページバッファ９１１Ａの記憶容量の一例は、２１１２Ｂ（２０４８Ｂ＋６４Ｂ）である。データ書き込みなどの際、ページバッファ９１１Ａは、フラッシュメモリ９１１に対するデータ入出力処理を、自身の記憶容量に相当する１ページ分の単位で実行する。図３６に、フラッシュメモリ９１１のデータ記憶領域の一例を示す。
【０２２５】
図３６に示すように、フラッシュメモリ９１１のデータが書き込まれる領域（データ記憶領域）は、保存されるデータに応じて複数の領域に区分けされる。フラッシュメモリ９１１は、データ記憶領域として、例えば、管理データ領域９３１、機密データ領域９３２、保護データ領域９３３、及びユーザデータ領域９３４を備える。
【０２２６】
管理データ領域９３１は、主にメモリカードに関する管理情報を格納する。管理データ量域９３１は、例えば、メモリカード９０１のセキュリティ情報やメディアＩＤなどのカード情報を格納する。
【０２２７】
機密データ領域９３２は、暗号化に用いる鍵情報や認証時に使用する機密データを格納する。機密データ領域９３２は、例えば、ホスト機器９０２からはアクセス不可能な領域である。ヒューズデータは、ホスト機器９０２からはアクセス不可能な領域に格納されることが良い。ヒューズデータは、例えば、機密データ領域９３２に格納場所を割り当てて格納されると良い。
【０２２８】
保護データ領域９３３は、重要なデータを格納する。保護データ領域９３３は、例えば、メモリカード９０１に接続されたホスト機器９０２との相互認証によりホスト機器９０２の正当性が証明された場合にのみアクセスが可能となる領域である。
【０２２９】
ユーザデータ領域９３４は、ユーザデータを格納する。ユーザデータ領域３４は、メモリカード９０１を使用するユーザが自由にアクセス及び使用することが可能な領域である。
【０２３０】
また、本例に係るメモリカード９０１は、動作モードとして、例えば、ＳＤモードと、ＳＰＩモードとを含む。さらに、ＳＤモードは、例えば、ＳＤ４ｂｉｔモードと、ＳＤ１ｂｉｔモードとに分かれる。動作モードに応じた信号ピンに対する信号の割り当ての一例を図３７に示す。
【０２３１】
図３７に示すように、ＳＤモードにおいては、メモリカード９０１はホスト機器９０２からのバス幅変更コマンドによって、ＳＤ４ｂｉｔモード、又はＳＤ１ｂｉｔモードに設定される。
【０２３２】
ここで、４つのデータ０ピン（ＤＡＴ０）乃至データ３ピン（ＤＡＴ３）に着目すると、４ビット幅単位でデータ転送を行うＳＤ４ｂｉｔモードでは、４つのデータ０ピン乃至データ３ピンの全てをデータ転送に用いる。
【０２３３】
１ビット幅単位でデータ転送を行うＳＤ１ｂｉｔモードでは、データ０ピン（ＤＡＴ０）のみがデータ転送に使用され、データ１ピン（ＤＡＴ１）、データ２ピン（ＤＡＴ２）は使用しない。また、データ３ピン（ＤＡＴ３）は、例えば、メモリカード９０１からホスト機器２への非同期割り込み等のために使用される。
【０２３４】
ＳＰＩモードでは、データ０ピン（ＤＡＴ０）を、メモリカード１からホスト機器９０２へのデータ信号線（ＤＡＴＡ  ＯＵＴ）に用いる。コマンドピン（ＣＭＤ）はホスト機器９０２からメモリカード９０１へのデータ信号線（ＤＡＴＡ  ＩＮ）に用いる。データ１ピン（ＤＡＴ１）、データ２ピン（ＤＡＴ２）は使用しない。また、ＳＰＩモードでは、データ３ピン（ＤＡＴ３）は、ホスト機器９０２からメモリカード９０１へのチップセレクト信号ＣＳの送信に用いる。
【０２３５】
ホスト機器９０２は、ファイルシステムを搭載する。ファイルシステムは、メモリに記録されたファイル（データ）を管理する方式であり、メモリに設けられた管理領域や管理情報を示す。また、ファイルシステムには、メモリにおけるファイルやフォルダなどのディレクトリ情報の作成方法、ファイルやフォルダなどの移動方法や削除方法、データの記録方式、管理領域の場所や利用方法などが定められる。
【０２３６】
この発明の実施形態に従った不揮発性半導体メモリは、このようなメモリカードに使用することができる。
【０２３７】
また、第７実施形態では、フラッシュメモリ９１１とカードコントローラ９１２とが一緒にメモリカードに搭載される場合を示したが、フラッシュメモリ９１１のみをメモリカードに搭載し、このメモリカードが装着されるホスト機器側にカードコントローラ９１２を搭載するようにしても良い。また、フラッシュメモリと、これを制御するコントローラとを別々のチップ９１１、及び９１２とする場合を示したが、フラッシュメモリと、これを制御するコントローラとを一つのチップに搭載するようにしても良い。
【０２３８】
また、上記実施形態は、以下の態様を含む。
【０２３９】
（１）  不揮発性半導体メモリが集積され、複数のブロックを含むメモリセルアレイと、
前記複数のブロックのうち、ディフェクティブブロックのアドレス情報を含むブロック置換情報の登録が可能なブロック置換情報登録領域、及びバッドブロックのアドレス情報を含むバッドブロック情報の登録が可能なバッドブロック情報登録領域を含む記憶部と、
前記ブロック置換情報がセットされるブロック置換情報レジスタ群と、
前記バッドブロック情報がセットされるバッドブロックフラグレジスタ群と、を備え、
ブートシーケンス時に、
前記ブロック置換情報レジスタ群は、前記記憶部から読み出した前記ブロック置換情報に従ってセットされ、
前記バッドブロックフラグレジスタ群は、前記記憶部から読み出した前記ブロック置換情報、及び前記バッドブロック情報の双方に従ってセットされる半導体集積回路装置。
【０２４０】
（２）  不揮発性半導体メモリが集積され、複数のブロックを含むメモリセルアレイと、
前記複数のブロックのうち、ディフェクティブブロックのアドレス情報を含むブロック置換情報の登録が可能なブロック置換情報登録領域、及びバッドブロックのアドレス情報を含むバッドブロック情報の登録が可能なバッドブロック情報登録領域を含む記憶部と、
前記ブロック置換情報がセットされるブロック置換情報レジスタ群と、
前記バッドブロック情報がセットされるバッドブロックフラグレジスタ群と、
入力されたブロックアドレスと前記ブロック置換情報レジスタにセットされたブロック置換情報とを比較し、前記ディフェクティブブロックがアクセスされた時、アクセス先を、前記ディフェクティブブロックから置換先のリダンダントブロックに振り替え可能なブロックリダンダンシ判定回路と、
前記バッドブロックがアクセスされた時、前記バッドブロックフラグレジスタ群にセットされたバッドブロック情報に従って、前記バッドブロックのワード線に与えられる電圧を抑制可能な電圧抑制機能付ロウデコーダと、
電源投入を検知する電源投入検知回路と、
前記電源投入検知回路が電源投入を検知した後、ブートシーケンスを実行するシーケンサと、を備え、
ブートシーケンス時に、
前記ブロック置換情報レジスタ群は、前記記憶部から読み出した前記ブロック置換情報に従ってセットされ、
前記バッドブロックフラグレジスタ群は、前記記憶部から読み出した前記ブロック置換情報、及び前記バッドブロック情報の双方に従ってセットされる半導体集積回路装置。
【０２４１】
（３）  （１）、及び（２）に記載の態様に係る半導体集積回路装置において、
前記入力されたブロックアドレスを保持するブロックアドレスレジスタと、
前記記憶部を前記ブロック置換情報レジスタ群、及び前記ブロックアドレスレジスタに電気的に接続するとともに、前記ブロック置換情報レジスタ群を前記ブロックアドレスレジスタに電気的に接続する内部バスと、を備え、
前記ブートシーケンス時に、
前記ブロック置換情報レジスタ群にセットされた前記ブロック置換情報に含まれる前記ディフェクティブブロックのアドレス情報は、前記内部バスを介して前記ブロックアドレスレジスタに転送され、前記バッドブロックフラグレジスタ群は、前記ブロックアドレスレジスタに転送された前記ディフェクティブブロックのアドレス情報に従って選択されてセットされ、
前記記憶部のバッドブロック情報登録領域に登録された前記バッドブロック情報に含まれる前記バッドブロックのアドレス情報は、前記内部バスを介して前記ブロックアドレスレジスタに転送され、前記バッドブロックフラグレジスタ群は、前記ブロックアドレスレジスタに転送された前記バッドブロックのアドレス情報に従って選択されて、さらに、セットされる半導体集積回路装置。
【０２４２】
（４）  （１）、及び（２）に記載の態様に係る半導体集積回路装置において、
前記入力されたブロックアドレスを保持するブロックアドレスレジスタと、
前記記憶部を前記ブロック置換情報レジスタ群、及び前記ブロックアドレスレジスタに電気的に接続する内部バスと、を備え、
前記ブートシーケンス時に、
前記記憶部のブロック置換情報登録領域に登録されたブロック置換情報に含まれるディフェクティブブロックのアドレス情報は、前記内部バスを介して前記ブロック置換情報レジスタ群、及び前記ブロックアドレスレジスタにパラレルに転送され、前記バッドブロックフラグレジスタ群は、前記ブロックアドレスレジスタに転送された前記ディフェクティブブロックのアドレス情報に従って選択されてセットされ、
前記記憶部のバッドブロック情報登録領域に登録された前記バッドブロック情報に含まれる前記バッドブロックのアドレス情報は、前記内部バスを介して前記ブロックアドレスレジスタに転送され、前記バッドブロックフラグレジスタ群は、前記ブロックアドレスレジスタに転送された前記バッドブロックのアドレス情報に従って選択されて、さらに、セットされる半導体集積回路装置。
【０２４３】
（５）  （１）乃至（４）に記載の態様に係る半導体集積回路装置において、
前記メモリセルアレイは、前記リダンダントブロックとして使用しないノーマルブロックを含むノーマルアレイ部と、前記リダンダントブロックとして使用可能なリダンダントブロックを含むリダンダントアレイ部と含み、
前記バッドブロックフラグレジスタは、前記ノーマルアレイ部に含まれるノーマルブロック、及び前記リダンダントアレイ部に含まれるリダンダントブロックに対して設けられ、
前記ブートシーケンス時に、
ブロックリダンダンシ判定回路は、前記ディフェクティブブロックのアドレス情報に従って前記バッドブロックフラグレジスタ群をセットしている間、アクセス先の振り替えをせず、前記バッドブロックのアドレス情報に従って前記バッドブロックフラグレジスタ群をセットしている間、前記アクセス先の振り替えをする半導体集積回路装置。
【０２４４】
（６）  不揮発性半導体メモリが集積され、複数のブロックを含むメモリセルアレイと、
ベース値を含む複数の情報の登録が可能な情報登録領域を含む記憶部と、
前記複数の情報のベース値がセットされる複数のベースレジスタを含むベースレジスタ群と、
前記複数のベースレジスタを選択する第１選択信号を発生する第１選択信号発生回路と、
複数のかさ上げ値がセットされる複数のかさ上げレジスタを含むかさ上げレジスタ群と、
前記複数のかさ上げレジスタを選択する第２選択信号を発生する第２選択信号発生回路と、を備え、
ブートシーケンス時に、
前記複数の情報のベース値を、前記ベースレジスタ群にセットした後、
第１選択信号により選択されたベースレジスタにセットされたベース値と、前記第２選択信号により選択されたかさ上げレジスタにセットされたかさ上げ値とを論理演算し、
前記論理演算の結果を、前記第１選択信号により選択されたベースレジスタに返送する半導体集積回路装置。
【０２４５】
（７）  不揮発性半導体メモリが集積され、複数のブロックを含むメモリセルアレイと、
ベース値を含む複数のトリミング情報の登録が可能なトリミング情報登録領域を含む記憶部と、
前記複数のトリミング情報のベース値がセットされる複数のベースレジスタを含むベースレジスタ群と、
前記複数のベースレジスタを選択する第１選択信号を発生する第１選択信号発生回路と、
複数のかさ上げ値がセットされる複数のかさ上げレジスタを含むかさ上げレジスタ群と、
前記複数のかさ上げレジスタを選択する第２選択信号を発生する第２選択信号発生回路と、
前記ベースレジスタにセットされたベース値と、前記かさ上げレジスタにセットされたかさ上げ値とを論理演算する演算器と、を備え、
前記複数のトリミング情報のベース値を、前記ベースレジスタ群にセットした後、
前記演算器によって、前記第１選択信号により選択されたベースレジスタにセットされたベース値と、前記第２選択信号により選択されたかさ上げレジスタにセットされたかさ上げ値とを論理演算し、
前記演算器の演算結果を、前記第１選択信号により選択されたベースレジスタに返送する半導体集積回路装置。
【０２４６】
（８）  （７）に記載の態様に係る半導体集積回路装置において、
電源投入を検知する電源投入検知回路と、
前記電源投入検知回路が電源投入を検知した後、ブートシーケンスを実行するシーケンサとを、さらに、備え、
ブートシーケンス時に、  前記複数のトリミング情報のベース値を、前記ベースレジスタ群にセットした後、
前記演算器によって、前記第１選択信号により選択されたベースレジスタにセットされたベース値と、前記第２選択信号により選択されたかさ上げレジスタにセットされたかさ上げ値とを論理演算し、
前記演算器の演算結果を、前記第１選択信号により選択されたベースレジスタに返送する半導体集積回路装置。
【０２４７】
（９）  （６）、乃至（８）に記載の態様に係る半導体集積回路装置において、
前記演算器の演算結果を保持する演算結果レジスタと、
前記記憶部を前記ベースレジスタ群に電気的に接続するとともに、前記ベースレジスタ群を前記演算器に電気的に接続し、前記演算結果レジスタを前記ベースレジスタ群に電気的に接続する内部バスと、を備え、
前記ブートシーケンス時に、
前記ベースレジスタ群にセットされ、前記第１選択信号によって選択されたベースレジスタのベース値は、前記内部バスを介して前記演算器に転送され、前記第２選択信号によって選択されたかさ上げレジスタのかさ上げ値と演算後、前記演算結果レジスタに保持され、前記演算結果レジスタに保持された演算結果は、前記内部バスを介して前記第１選択信号によって選択されたベースレジスタにセットされる半導体集積回路装置。
【０２４８】
（１０）  （６）、乃至（９）に記載の態様に係る半導体集積回路装置において、
前記かさ上げレジスタ群に含まれるかさ上げレジスタの数は、前記ベースレジスタ群に含まれるベースレジスタの数よりも少ない半導体集積回路装置。
【０２４９】
（１１）  不揮発性メモリセルが配置されたメモリセルアレイを備え、
前記メモリセルアレイは（Ｍ＋Ｎ）個のブロックを含み、このメモリセルアレイは、Ｍ個のブロックを通常アレイ、Ｎ個のブロックを冗長アレイとする第１の型式、及び前記（Ｍ＋Ｎ）個のブロックの全てを通常アレイとする第２の型式のいずれかに切り換えることが可能である半導体集積回路装置（ただし、Ｍ、及びＮは自然数）。
【０２５０】
（１２）  （１１）に記載の態様に係る半導体集積回路装置において、
前記切り換えは、コマンドの入力によって行う半導体集積回路装置。
【０２５１】
（１３）  不揮発性半導体メモリが集積され、複数のブロックを含むとともに、リダンダントブロックとして使用しないブロックを含むノーマルアレイ、及び前記リダンダントブロックとして使用可能なブロックを含むリダンダントアレイを含むメモリセルアレイと、
前記複数のブロックのうち、ディフェクティブブロックのアドレス情報を含むブロック置換情報の登録が可能なブロック置換情報登録領域、及びバッドブロックのアドレス情報を含むバッドブロック情報の登録が可能なバッドブロック情報登録領域を含む記憶部と、
ブートシーケンス時に、前記ブロック置換情報がセットされるブロック置換情報レジスタ群と、
前記ブートシーケンス時に、前記バッドブロック情報がセットされるバッドブロックフラグレジスタ群と、
入力されたブロックアドレスと前記ブロック置換情報レジスタにセットされたブロック置換情報とを比較し、前記ディフェクティブブロックがアクセスされた時、アクセス先を、前記ディフェクティブブロックから置換先のリダンダントブロックに振り替え可能なブロックリダンダンシ判定回路と、
前記バッドブロックがアクセスされた時、前記バッドブロックフラグレジスタ群にセットされたバッドブロック情報に従って、前記バッドブロックのワード線に与えられる電圧を抑制可能な電圧抑制機能付ロウデコーダと、
電源投入を検知する電源投入検知回路と、
前記電源投入検知回路が電源投入を検知した後、前記ブートシーケンスを実行するシーケンサと、
コマンドをデコードするコマンドデコーダと、を備え、
前記コマンドは、前記メモリセルアレイをノーマルアレイ、及びリダンダントアレイに分けて動作させる第１の型式を指定する第１のコマンド、及び前記メモリセルアレイの全てをノーマルアレイとして動作させる第２の型式を指定する第２のコマンドを含み、
前記コマンドデコーダは、
前記第１のコマンドを受信したとき、前記ブートシーケンス時における前記ブロック置換情報レジスタ群のセット、及び動作中における前記ブロックリダンダンシ判定回路のアクセス先の振り替え動作を許可し、
前記第２のコマンドを受信したとき、前記動作中における前記ブロックリダンダンシ判定回路のアクセス先の振り替え動作を禁止する半導体集積回路装置。
【０２５２】
（１４）  （１）、乃至（１３）に記載の態様に係る半導体集積回路装置において、
前記メモリセルアレイは、前記不揮発性半導体メモリとしてＮＡＮＤ型メモリセルユニットを含む半導体集積回路装置。
【０２５３】
以上、この発明を実施形態により説明したが、この発明の実施形態は、上記実施形態に限られるものではなく、その実施にあたっては発明の要旨を逸脱しない範囲で種々に変形することが可能である。
【０２５４】
また、上記実施形態は種々の段階の発明を含んでおり、上記実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することが可能である。
【０２５５】
また、上記実施形態は、この発明をＮＡＮＤ型フラッシュメモリに適用した例に基づき説明したが、この発明はＮＡＮＤ型フラッシュメモリに限られるものではない。例えば、上記実施形態は、半導体集積回路装置のメモリシステムとして、例えば、プロセッサのメモリシステムや、システムＬＳＩのメモリシステムにも応用することができる。
【図面の簡単な説明】
【０２５６】
【図１】図１は参考例１に係る内部ＲＯＭのデータ領域の割り当てと、データの登録の様子とを示す図
【図２】図２は参考例２に係る内部ＲＯＭのデータ領域の割り当てと、データの登録の様子とを示す図
【図３】図３はこの発明の第１実施形態に係る半導体集積回路装置が有するブートシーケンスを実行する内部システムの一例を示すブロック図
【図４】図４はこの発明の第１実施形態に係る半導体集積回路装置のブートシーケンスの流れの一例を示す流れ図
【図５】図５はブロック置換情報の情報要素の一例を示す図である。
【図６】図６はこの発明の第１実施形態に係る半導体集積回路装置の内部ＲＯＭのデータ領域の割り当てと、データの登録の様子とを示す図
【図７】図７は参考例１、２におけるブートシーケンスの流れを示す図
【図８】図８はこの発明の第２実施形態に係る半導体集積回路装置の一例を示すブロック図
【図９】図９はメモリセルアレイの一例を示すブロック図
【図１０】図１０はブロックの一例を示す回路図
【図１１】図１１はシーケンサの回路の一例を示す回路図
【図１２】図１２は図１１に示すシーケンサの動作の一例を示す動作波形図
【図１３】図１３はアクセス先の切り替えの一例を示すブロック図
【図１４】図１４はブロックリダンダンシ情報格納用レジスタ群の回路の一例を示す回路図
【図１５】図１５はデータキャッシュに保持されたデータをＢＲＤレジスタに格納する動作の一例を示す信号波形図
【図１６】図１６はＢＲＤレジスタの一例を示す回路図
【図１７】図１７はディフェクティブブロックのアドレス情報をブロックアドレスレジスタへ転送するときの信号波形の一例を示す信号波形図
【図１８】図１８はブロックアドレスレジスタとロウデコーダとの関係の一例を示すブロック図
【図１９】図１９はバッドブロックフラグレジスタ付ロウデコーダの一例を示す回路図
【図２０】図２０はこの発明の第３実施形態に係る半導体集積回路装置のディフェクティブブロックのアドレス情報をブロックアドレスレジスタへ転送するときの信号波形の一例を示す信号波形図
【図２１】図２１はこの発明の第４実施形態に係る半導体集積回路装置の一例を示すブロック図
【図２２】図２２Ａ〜図２２Ｃはこの発明の第５実施形態に係る半導体集積回路装置が取り得る第１の型式を示す図
【図２３】図２３Ａ〜図２３Ｃはこの発明の第５実施形態に係る半導体集積回路装置が取り得る第２の型式を示す図
【図２４】図２４はこの発明の第５実施形態の変形例に係る記録メディアの一例を示すブロック図
【図２５】図２５はこの発明の第５実施形態の変形例に係る記録メディアをホスト機器に装着した状態を示す図
【図２６】図２６はこの発明の第６実施形態に係る半導体集積回路装置の一例を示すブロック図
【図２７】図２７は図２６に示すベースレジスタの回路の一例を示す回路図
【図２８】図２８はこの発明の第６実施形態に係る半導体集積回路装置の動作の一例を示す信号波形図
【図２９】図２９は参考例に係るベースレジスタの回路図
【図３０】図３０は第６実施形態に係る半導体集積回路装置の一例を示す回路図
【図３１】図３１はこの発明の第７実施形態に係る記録メディア一例を示す図。
【図３２】図３２は信号ピンに阿智する信号の割り当ての一例を示す図
【図３３】図３３はこの発明の第７実施形態に係る記録メディアのハード構成の一例を示すブロック図
【図３４】図３４は図３３に示すレジスタ群の一例を示す図
【図３５】図３５はフラッしメモリのデータ配置の一例を示す図
【図３６】図３６はフラッシュメモリのデータ記憶領域の一例を示す図
【図３７】図３７は動作モードに応じた信号ピンに対する信号の割り当ての一例を示す図
【符号の説明】
【０２５７】
２０１…メモリセルアレイ、１０２、Ｆｕｓｅ…記憶部、１１００…ブロック置換情報登録領域、１３００…バッドブロック情報登録領域、１０４、４０１…ブロック置換情報レジスタ群、１０４、６０３…バッドブロックフラグレジスタ群、６０１…ブロックリダンダンシ判定回路、６０２…電圧抑制機能付ロウデコーダ、１００、２１３…電源投入検知回路、１０１、２１５…シーケンサ。
【図１】
0004761959.tif 000002
【図２】
0004761959.tif 000003
【図３】
0004761959.tif 000004
【図４】
0004761959.tif 000005
【図５】
0004761959.tif 000006
【図６】
0004761959.tif 000007
【図７】
0004761959.tif 000008
【図８】
0004761959.tif 000009
【図９】
0004761959.tif 000010
【図１０】
0004761959.tif 000011
【図１１】
0004761959.tif 000012
【図１２】
0004761959.tif 000013
【図１３】
0004761959.tif 000014
【図１４】
0004761959.tif 000015
【図１５】
0004761959.tif 000016
【図１６】
0004761959.tif 000017
【図１７】
0004761959.tif 000018
【図１８】
0004761959.tif 000019
【図１９】
0004761959.tif 000020
【図２０】
0004761959.tif 000021
【図２１】
0004761959.tif 000022
【図２２】
0004761959.tif 000023
【図２３】
0004761959.tif 000024
【図２４】
0004761959.tif 000025
【図２５】
0004761959.tif 000026
【図２６】
0004761959.tif 000027
【図２７】
0004761959.tif 000028
【図２８】
0004761959.tif 000029
【図２９】
0004761959.tif 000030
【図３０】
0004761959.tif 000031
【図３１】
0004761959.tif 000032
【図３２】
0004761959.tif 000033
【図３３】
0004761959.tif 000034
【図３４】
0004761959.tif 000035
【図３５】
0004761959.tif 000036
【図３６】
0004761959.tif 000037
【図３７】
0004761959.tif 000038