(57)【特許請求の範囲】
【請求項１】
複数のメモリーセルからなり、各メモリーセルに対してデータの読み出し、書き込みおよび消去の動作が可能になったメモリーセル領域と、
外部から書き込み可能な不揮発性記憶領域と、
前記メモリーセル領域におけるメモリーセルが、前記読み出し、書き込みおよび消去のいずれか１つの動作に対して不良である場合に該不良メモリーセルに関するデータを前記不揮発性記憶領域に書き込み、該不揮発性記憶領域に書き込まれたデータに基づいて、前記不良メモリーセルを含む一部領域を、該不良である動作に対してのみ非選択状態にして、該不良の動作以外の動作に対しては選択可能にする非選択化手段とを備え、
前記非選択化手段によって非選択状態にされていない選択可能メモリーセル領域により前記不良でない動作を行うことを特徴とする半導体記憶装置。
【請求項２】
前記非選択化手段は、前記選択可能メモリーセル領域に対して、外部アドレスを連続的に割り当てるアドレス変換手段を備える、請求項１に記載の半導体記憶装置。
【請求項３】
前記アドレス変換手段は、前記選択可能メモリーセル領域に対して外部アドレスを連続的に割り当てる際に、前記非選択メモリー領域に該当する外部アドレスに所定値を加算することによって、前記非選択メモリー領域を非選択状態とする請求項２に記載の半導体記憶装置。
【請求項４】
前記メモリーセル領域は、それぞれが一括消去可能な複数のメモリーブロックを有し、前記非選択化手段は、前記不揮発性記憶領域に書き込まれたデータに基づいて、前記不良メモリセルが含まれている任意のメモリーブロックを非選択状態にする請求項３に記載の半導体記憶装置。
【請求項５】
前記複数のメモリーブロックには、容量の異なるメモリーブロックを含む請求項４に記載の半導体記憶装置。
【請求項６】
前記メモリーセル領域は、同時に動作可能な複数のバンクを有し、前記非選択化手段は、前記不揮発性記憶領域に書き込まれたデータに基づいて、前記不良メモリセルが含まれている任意のバンクを非選択状態にする請求項３に記載の半導体記憶装置。
【請求項７】
前記複数のバンクには、容量の異なるバンクを含む請求項６に記載の半導体記憶装置。
【請求項８】
前記アドレス変換手段は、容量の異なるメモリーブロックのアドレス位置を変更することができる請求項５または請求項７に記載の半導体記憶装置。
【請求項９】
前記不揮発性記憶領域は、一度だけ書換可能な不揮発性メモリーセル領域の一部に設けられている請求項１乃至請求項８のいずれかに記載の半導体記憶装置。
【請求項１０】
請求項１乃至請求項９のいずれかに記載の半導体記憶装置に不良メモリーセルがある場合に、該半導体記憶装置を救済する方法であって、
前記非選択化手段により、前記メモリーセル領域におけるメモリーセルが、前記読み出し、書き込みおよび消去のいずれか１つの動作に対して不良である場合に該不良メモリーセルに関するデータを前記不揮発性記憶領域に書き込み、該不揮発性記憶領域に書き込まれたデータに基づいて、前記不良メモリーセルを含む一部領域を、該不良である動作に対してのみ非選択状態にして、該不良の動作以外の動作に対しては選択可能にする工程と、
前記非選択化手段によって非選択状態にされていない選択可能メモリーセル領域により前記不良でない動作を行う工程と、
を包含する半導体記憶装置の救済方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フラッシュメモリー、ＦＲＡＭ（強誘電体メモリー）およびＭＲＡＭ（磁気メモリー）等の不揮発性半導体記憶装置、および一部に不揮発性記憶領域を有する揮発性半導体記憶装置等の半導体記憶装置およびその救済方法に関する。
【０００２】
【従来の技術】
不揮発性半導体記憶装置（不揮発性メモリー）は、ＤＲＡＭ（ＤｙｎａｍｉｃＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のように電源を切ると記憶されているデータがリセットされる揮発性メモリーと異なり、電源を切ってもメモリーセルに記憶されているデータが消えないという特徴を有する。この不揮発性メモリーとしては、現在、携帯電話等で多く使用されているフラッシュメモリー、ＩＣカード等で使用されているＦＲＡＭ、開発が活発化してきているＭＲＡＭ等が挙げられる。本願明細書では、フラッシュメモリーを例に挙げて説明を行うこととする。
【０００３】
一般に、半導体記憶装置は、極めて微細な半導体プロセスにより製造されるので、ある程度の割合でメモリーセルに不良が発生するのは避けられない状況になる。このため、本来使用されるメモリーセル以外にも予備のメモリーセルを予め用意しておいて、不良が発生した場合に、その予備のメモリーセルと不良メモリーセルとを置き換えることにより不良を救済する方法が、従来から採用されている。
【０００４】
しかし、予備のメモリーセルを用意することはチップサイズの増加につながるため、むやみに予備のメモリーセル数を増やすことはできない。よって、現状では、予備のメモリーセルは小容量しか用意されておらず、不良を救済できなかったチップは不良チップとして処理される。
【０００５】
そこで、従来から、予備のメモリーセルでは不良を救済できなかったチップに対して、不良メモリーセル領域を選択しないようにすることによって本来の容量を減らし、小容量の半導体記憶装置として活用する方法が提案されている。
【０００６】
例えば、揮発性メモリーの場合には、特開平１１−１６２１９３号公等報に、ヒューズをレーザー等で切断して正常なメモリーセルブロックのみを選択する方法が提案されている。また、不揮発性メモリーの場合には、特開平９−７３９０号公報等に、置き換えるセル情報をメモリーセルとは別の部分に用意した不揮発性記憶セルに記憶し、正常メモリーセルブロックのみを選択する方法が提案されている。
【０００７】
【発明が解決しようとする課題】
しかしながら、上述した従来の方法では、単純にあるＡｄｄｒｅｓｓ（アドレス）を非選択化して、ａ  Ｍｂｉｔ（メガビット）の容量をａ／２  Ｍｂｉｔ、または（ａ／２n；ｎ＝１、２、３、４、・・・）の容量にすることにより、不良メモリーセルを有する半導体記憶装置を救済することぐらいしかできなかった。よって、単に１つのメモリーに不良があるだけでも、１／２単位で容量が減り、良品のメモリーセルを多く無駄にしていた。
【０００８】
また、容量の異なる複数のＢｌｏｃｋ（ブロック）を有する構成のものや、昨今フラッシュメモリーで主流となりつつあるＰｒｇｒａｍ（プログラム）またはＥｒａｓｅ（消去）中にＲｅａｄ（読み出し）を行うことができるＢａｎｋ（バンク）を有する構成のものには、対応することができなかった。
【０００９】
さらに、不良内容によって不良メモリーセル領域の動作制限を行って、特定の動作のみを行うことが可能な正常領域として使用することもできなかった。
【００１０】
本発明はこのような従来技術の課題を解決するためになされたものであり、不良メモリーセルが発生した場合に、本来の容量から不良メモリーセル領域に応じた任意の容量のメモリーとしてフレキシブルに救済可能であり、さらに、不良メモリーセル領域の不良内容によって動作制限を行って一部の動作を正常メモリーセル領域と同様に行うことができる半導体記憶装置およびその救済方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明の半導体記憶装置は、複数のメモリーセルからなり、各メモリーセルに対してデータの読み出し、書き込みおよび消去の動作が可能になったメモリーセル領域と、外部から書き込み可能な不揮発性記憶領域と、前記メモリーセル領域におけるメモリーセルが、前記読み出し、書き込みおよび消去のいずれか１つの動作に対して不良である場合に該不良メモリーセルに関するデータを前記不揮発性記憶領域に書き込み、該不揮発性記憶領域に書き込まれたデータに基づいて、前記不良メモリーセルを含む一部領域を、該不良である動作に対してのみ非選択状態にして、該不良の動作以外の動作に対しては選択可能にする非選択化手段とを備え、前記非選択化手段によって非選択状態にされていない選択可能メモリーセル領域により前記不良でない動作を行うことを特徴とし、そのことにより上記目的が達成される。
【００１２】
前記非選択化手段は、前記選択可能メモリーセル領域に対して、外部アドレスを連続的に割り当てるアドレス変換手段を備えていてもよい。
【００１３】
前記アドレス変換手段は、前記選択可能メモリーセル領域に対して外部アドレスを連続的に割り当てる際に、前記非選択メモリー領域に該当する外部アドレスに所定値を加算することによって、前記非選択メモリー領域を非選択状態としてもよい。
【００１５】
前記メモリーセル領域は、それぞれが一括消去可能な複数のメモリーブロックを有し、前記非選択化手段は、前記不揮発性記憶領域に書き込まれたデータに基づいて、前記不良メモリセルが含まれている任意のメモリーブロックを非選択状態にしてもよい。
【００１６】
前記複数のメモリーブロックには、容量の異なるメモリーブロックを含んでいてもよい。
【００１７】
前記メモリーセル領域は、同時に動作可能な複数のバンクを有し、前記非選択化手段は、前記不揮発性記憶領域に書き込まれたデータに基づいて、前記不良メモリセルが含まれている任意のバンクを非選択状態にしてもよい。
【００１８】
前記複数のバンクには、容量の異なるバンクを含んでいてもよい。
【００１９】
前記アドレス変換手段は、容量の異なるメモリーブロックのアドレス位置を変更することができる構成であってもよい。
【００２０】
本発明の半導体記憶装置において、前記不揮発性記憶領域は、一度だけ書換可能な不揮発性メモリーセル領域の一部に設けられていてもよい。
【００２１】
本発明の半導体記憶装置の救済方法は、前記半導体記憶装置に不良メモリーセルがある場合に、該半導体記憶装置を救済する方法であって、前記非選択化手段により、前記メモリーセル領域におけるメモリーセルが、前記読み出し、書き込みおよび消去のいずれか１つの動作に対して不良である場合に該不良メモリーセルに関するデータを前記不揮発性記憶領域に書き込み、該不揮発性記憶領域に書き込まれたデータに基づいて、前記不良メモリーセルを含む一部領域を、該不良である動作に対してのみ非選択状態にして、該不良の動作以外の動作に対しては選択可能にする工程と、前記非選択化手段によって非選択状態にされていない選択可能メモリーセル領域により前記不良でない動作を行う工程と、を包含し、そのことにより上記目的が達成される。
【００２３】
以下、本発明の作用について説明する。
【００２４】
本発明にあっては、外部から書き込み可能な不揮発性記憶領域に、不良メモリーセル（不良ビット）のアドレスを記憶させ、そのデータに基づいて、不良メモリーセルを含むメモリーセル領域（ブロック、バンクまたはそれ以上に狭いメモリーセル領域も可）を非選択状態にし、それ以外の領域は選択可能とする。これにより、あるメモリーセル領域に不良ビットが存在し、それを予備メモリーセルを用いて良品ビットに置換してもなお不良が残る場合に、そのメモリーセル領域を非選択化して非活性状態にすることで、不良メモリーセル領域、不良ブロックまたは不良バンク分だけ容量の少ない半導体記憶装置として、良品ビットを最大限活用することが可能である。
【００２５】
さらに、アドレス変換手段によって、選択可能メモリーセル領域に対して外部アドレスを連続的に割り当てることが可能である。これにより、不良ビットのために非活性状態にするメモリーセル領域が断片的に存在しても、外部から連続したアドレスでアクセスすることが可能である。
【００２６】
このとき、外部アドレスに所定値を加算して発生する内部アドレスが、他の内部アドレスと重複している場合には、そのアドレス領域を非選択とすることで、外部アドレスが内部アドレスからオーバーフローするのを検出することが可能である。
【００２７】
さらに、読み出し、書き込みおよび消去等の動作のうち、不良モードに応じて動作の一部だけを非選択化し、それ以外の動作を選択可能にすることができる。例えば、消去ができないような不良モードを有するブロックでは消去を行わないように動作を制限することにより、そのメモリーセル領域をＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍ）領域として活用することが可能である。
【００２８】
【発明の実施の形態】
以下に、本発明の実施の形態について説明する。
【００２９】
本発明の半導体記憶装置（メモリー）は、不良メモリーセル（不良ビット）のアドレスを記憶するために、外部から書き込み可能な不揮発性記憶領域を備えている。
【００３０】
例えば、１Ｂｌｏｃｋに１種類のＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）回路を有し、入力されたＡｄｄｒｅｓｓがどのＢｌｏｃｋであるかを判定して、適合したＢｌｏｃｋにのみ”１”が出力されるようなデコード回路を容易しておく。最初に半導体記憶装置（チップ）の動作確認テストを行った段階で、不良ＡｄｄｒｅｓｓがどのＢｌｏｃｋに存在するかは確認できるので、Ｂｌｏｃｋに不良ビットがなければＣＡＭデータが”０”を出力するようにしておき、不良があった場合にはＣＡＭデータが”１”を出力するようにしておく。そして、ＣＡＭデータの出力と、デコード回路の出力が一致した場合には、そのＢｌｏｃｋは非選択にするべきＢｌｏｃｋであるので、Ｂｌｏｃｋ選択信号をｅｎａｂｌｅにしないか、または別に用意しておいた非選択信号をｅｎａｂｌｅにすればよい。これは、簡単なＮＡＮＤゲート等で実現可能である。
【００３１】
さらに、本発明の特徴である、外部Ａｄｄｒｅｓｓを内部ＡｄｄｒｅｓｓにＢｌｏｃｋ毎に連続的に割り当てる場合には、外部から非選択ＢｌｏｃｋのＡｄｄｒｅｓｓが入力された場合に入力されたＡｄｄｒｅｓｓを選択せずに、加算回路を使用することにより、外部Ａｄｄｒｅｓｓに対して内部Ａｄｄｒｅｓｓを”１”加算して１つ上位のＢｌｏｃｋの選択する方法を用いることができる。この場合、１つ上位のＢｌｏｃｋが不良Ａｄｄｒｅｓｓであれば、そのＢｌｏｃｋも選択不可能であるので、”２”を加算する必要がある。このようなことを考慮して、１つのＢｌｏｃｋ当たりに加算する数の情報を持っていれば、外部Ａｄｄｒｅｓｓは連続的に推移させ、内部的には任意のＢｌｏｃｋを非選択にすることが可能である。このような情報は、上述したように、チップの動作テストを行ったときに予め知ることができる。加算値の情報を格納するためには、例えば加算する値が最大”８”までである場合には、”８”は２進数では”１０００”であるので、４ビット分のＣＡＭが必要になる。
【００３２】
例えば不揮発性記憶領域にフラッシュメモリーと同様の構成のセルを使用する場合、ＣＡＭ回路は、図１１に示すように、ＰチャンネルのＭＯＳＦＥＴ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ  ＥｆｆｅｃｔＴｒａｎｓｉｓｔｏｒ）９５と、ＮチャンネルのＭＯＳＦＥＴ９６とフラッシュメモリーのセルトランジスタ９７からなる一対の直列回路を、電源ＶＣＣと接地との間に接続し、双方のＭＯＳＦＥＴ９５、９５のゲートを他方のＭＯＳＦＥＴ９５、９５のドレインに接続すると共に、ＭＯＳＦＥＴ９６、９６のゲートに約２Ｖのバイアス電圧を印加するようにした不揮発性記憶回路を必要なｂｉｔ数分だけ備えたものである。このＣＡＭ回路は、セルトランジスタ９７、９７の制御ゲートに例えば１２Ｖの高電圧Ｖｐｐを印加して、ＣＡＭプログラム回路９８により双方のセルトランジスタ９７、９７のドレインにいずれか一方が例えば７Ｖで他方が０Ｖとなる相補的なプログラム電圧を印加することにより、これらのセルトランジスタ９７、９７に１ｂｉｔ分のＣＡＭデータを不揮発性記憶させることができる。また、セルトランジスタ９７、９７の制御ゲートに電圧Ｖｃｃを印加することにより、記憶内容に応じて一方のＭＯＳＦＥＴ９５のソース電位が電源電圧Ｖｃｃまたは接地電圧となるので、これをインバータ９９を介して１ｂｉｔ分のＣＡＭデータとして読み出すことができる。このようにして読み出したＣＡＭデータに基づいて、スイッチ回路を制御することができる。
【００３３】
本発明の半導体記憶装置は、上記不揮発性記憶領域に格納したデータを利用して、不良メモリーセルを含むメモリーセル領域を非選択状態にし、それ以外の領域は選択可能とする非選択化手段を有する。さらに、読み出し、書き込みおよび消去等の動作のうち、不良モードに応じて動作の一部だけを非選択化し、それ以外の動作を選択可能にすることもできる。
【００３４】
例えば、各Ｂｌｏｃｋ毎にＥｒａｓｅ、Ｐｒｏｇｒａｍ、Ｒｅａｄ動作について、そのＢｌｏｃｋが不良かどうかを判断するＣＡＭ領域を用意しておく。そして、Ｅｒａｓｅ動作のみ非選択で、ＰｒｏｇｒａｍおよびＲｅａｄ動作については選択可能なＢｌｏｃｋが存在した場合、Ｅｒａｓｅの可否を判断するＣＡＭデータの出力を例えば”１”にし、ＰｒｏｇｒａｍおよびＲｅａｄに関しては選択可能であるので”０”を出力するように設定しておく。フラッシュメモリーでは、ＥｒａｓｅおよびＰｒｏｇｒａｍ動作は通常コマンドにより制御されるため、Ｅｒａｓｅ動作を行う場合、Ｅｒａｓｅコマンドを入力してＥｒａｓｅさせたいＢｌｏｃｋを含むＡｄｄｒｅｓｓを入力することによりＥｒａｓｅ動作が始まる。このとき、入力されたＡｄｄｒｅｓｓが選択可能なＢｌｏｃｋであれば、Ｅｒａｓｅ動作をｅｎａｂｌｅにし、非選択Ｂｌｏｃｋであればｄｉｓａｂｌｅにすることで実現可能である。
【００３５】
さらに、アドレス変換手段によって、選択領域に対応する外部アドレスを良品のメモリーセル領域の内部アドレスに連続的に割り当てることが可能である。このアドレス変換手段は、例えば後述するような加算回路等により実現することができる。
【００３６】
図１２は、本発明の半導体記憶装置におけるＡｄｄｒｅｓｓの流れを説明するための図である。
【００３７】
ここでは、入力ＰＡＤ１から外部Ａｄｄｒｅｓｓが入力され、読み出し動作の場合には、入力ＰＡＤ１からのＡｄｄｒｅｓｓがマルチプレクサ２を通して内部に信号として転送される。書き込み動作や消去動作の場合には、命令とＡｄｄｒｅｓｓを入力することで、内部ＣＰＵ（Ｃｅｎｔｒａｌ  ＰｒｏｃｅｓｓｉｎｇＵｎｉｔ）が命令に対してどのような動作を行うかを判断し、命令入力時に予めＬａｔｃｈされたＡｄｄｒｅｓｓまたはＣＰＵが判断したＡｄｄｒｅｓｓを発生する。フラッシュメモリーでは、通常、このような動作をライトステートマシーンと称するコントロール回路で実施している。書き込み動作や消去動作の場合には、このようにしてＡｄｄｒｅｓｓ発生回路８で発生したＡｄｄｒｅｓｓがマルチプレクサ２を通して内部に転送される。
【００３８】
マルチプレクサ２を通った信号は、どのＢｌｏｃｋのＡｄｄｒｅｓｓを示しているかを判定するＢｌｏｃｋ  Ａｄｄｒｅｓｓ選択回路（デコーダー）３と、加算回路５に入力される信号とに分けられる。予め書き込まれていたＣＡＭ情報により、不良Ｂｌｏｃｋが無い場合には、加算回路５に入力された信号は変換されることなく、そのままメモリーセルを選択するデコーダー（Ｄｅｃｏｄｅｒ）６に入力され、該当するメモリーセルが選択される。不良Ｂｌｏｃｋが存在する場合には、加算回路ｅｎａｂｌｅ信号加算数発生回路４から、加算回路５をｅｎａｂｌｅにする信号および加算数を加算回路５に伝達し、外部Ａｄｄｒｅｓｓ９に対して加算回路５にて加算された内部Ａｄｄｒｅｓｓ１０が転送されてメモリーセルアレイ７に伝達される。
【００３９】
外部Ａｄｄｒｅｓｓから内部Ａｄｄｒｅｓｓに変換する手段としては、上述したように、加算回路のｅｎａｂｌｅ信号がｅｎａｂｌｅになったときのみ加算回路５を動作させることができる。または、ｅｎａｂｌｅ信号を使用せずに、Ａｄｄｒｅｓｓを変換しないときには加算数を全て”０”にして外部Ａｄｄｒｅｓｓに対して”０”を加算することにより、外部Ａｄｄｒｅｓｓと内部Ａｄｄｒｅｓｓとを同一Ａｄｄｒｅｓｓにし、外部Ａｄｄｒｅｓｓに”０”以外の値を加算するときには外部Ａｄｄｒｅｓｓに対して該当する加算数を加算することにより、外部Ａｄｄｒｅｓｓに対して内部Ａｄｄｒｅｓｓを変換することもできる。この場合には、加算回路のｅｎａｂｌｅ信号は必要ではない。
【００４０】
さらに、加算回路５によりＡｄｄｒｅｓｓがオーバーフローして内部Ａｄｄｒｅｓｓと重複するＡｄｄｒｅｓｓを示した場合には、オーバオフロー検出回路によってエラー（オーバーフロー検出信号）を発生し、メモリーセルアレイ７からメモリーセルセルが選択されないようにする。以上により、本発明を実現することが可能である。
【００４１】
このように構成された本発明の半導体記憶装置によれば、不良ビット（メモリーセル）が存在しても、容量の低減量を少なくし、良品ビットを最大限に利用した半導体記憶装置として活用することができる。さらに、不良ビットを有するメモリーセル領域が断片的に存在しても、外部からはアドレスが連続しているように見えるので、通常のアクセス方法で使用することができる。
【００４２】
（実施形態１）
本実施形態では、図１に示すようなＢｌｏｃｋ（ブロック）構成の３２Ｍフラッシュメモリーを例に挙げて説明する。ここでは、最近主流になりつつある複数のＢａｎｋ（バンク）を有し、各々のＢａｎｋで同時動作が可能なフラッシュメモリー（以下、Ｄｕａｌ  Ｗｏｒｋ動作と称する）を例として挙げている。
【００４３】
このように複数のＢａｎｋを有するフラッシュメモリーの場合には、各Ｂａｎｋで同時動作が可能であるというメリットがある。例えば、フラッシュメモリーでは、Ｒｅａｄ（読み出し）に比べて、Ｅｒａｓｅ（消去）およびＰｒｏｇｒａｍ（プログラム）に非常に時間がかかる。このため、ＥｒａｓｅまたはＰｒｏｇｒａｍ中に別のＢａｎｋを用いてＲｅａｄを行うことができるような構造のフラッシュメモリーが主流になりつつある。
【００４４】
本実施形態のフラッシュメモリーは、１２ＭｂｉｔのＬａｒｇｅ  Ｂａｎｋと、４ＭｂｉｔのＳｍａｌｌ  Ｂａｎｋと、１６ＭｂｉｔのＬａｒｇｅ  Ｂａｎｋとを有する３２Ｍｂｉｔのフラッシュメモリーである。このようなフラッシュメモリーでは、Ｌａｒｇｅ  ＢａｎｋとＳｍａｌｌ  Ｂａｎｋとで別々の動作を同時に行うことが可能であり、例えばＬａｒｇｅ  Ｂａｎｋに書き込み中にＳｍａｌｌ  Ｂａｎｋを読み出すといったことが可能である。
【００４５】
従来の方法では、このような複数のＢａｎｋを有するメモリーの救済はごく限られた方法でしか実現することができなかった。
【００４６】
以下の説明では、本実施形態によれば、複数のＢａｎｋを有するＤｕａｌ  Ｗｏｒｋ可能なメモリーにおいて、様々な救済方法が可能であることを示す。なお、ここでは３２Ｍｂｉｔのメモリーを１６Ｍｂｉｔのメモリーとして救済する方法について説明を行うが、後述するように、さらに小さいＢｌｏｃｋ単位での救済も可能である。
【００４７】
上記フラッシュメモリーのＡｄｄｒｅｓｓ（アドレス）構成は、例えばＢｌｏｃｋ  Ａｄｄｒｅｓｓが６ｂｉｔ、Ｒｏｗ  Ａｄｄｒｅｓｓが１１ｂｉｔ、Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓが４ｂｉｔの計２１ｂｉｔであり、一度に１６ｂｉｔのデータを入出力することができるものとする。そして、Ｂｌｏｃｋ  Ａｄｄｒｅｓｓの最上位Ａｄｄｒｅｓｓによって左右の１６Ｍアレイを切り換えるものとし、それ以外のＡｄｄｒｅｓｓによってどのＢｌｏｃｋを選択するかを決定する。
【００４８】
このフラッシュメモリーのＬａｒｇｅ  Ｂａｎｋ中に不良ビットが存在する場合に、Ｄｕａｌ  Ｗｏｒｋ動作が可能なままで１６Ｍｂｉｔの良品メモリーとして救済するためには、Ｌａｒｇｅ  Ｂａｎｋを正常領域として残す必要がある。
【００４９】
本発明では、例えば、図１（ａ−１）に示すように、右側のＬａｒｇｅ  Ｂａｎｋに不良が存在する場合に、左側のＬａｒｇｅ  Ｂａｎｋを正常領域として使用することが可能である。
【００５０】
まず、動作テストを行った段階で、不良Ａｄｄｒｅｓｓがどこにあるかを確認することができるため、必要に応じてＣＡＭ回路へのプログラムを行う。そして、右側のＬａｒｇｅ  Ｂａｎｋを示すＢｌｏｃｋ  Ａｄｄｒｅｓｓが入力された場合には、ＣＡＭデータに基づいて最上位Ａｄｄｒｅｓｓの入力バッファを固定する等により、全て左側のＬａｒｇｅ  Ｂａｎｋを示すＡｄｄｒｅｓｓが内部Ａｄｄｒｅｓｓとして渡されるようにすればよい。
【００５１】
例えば、図１（ａ−２）に示すように、Ｂｌｏｃｋ  Ａｄｄｒｅｓｓの最上位ＡｄｄｒｅｓｓであるＡ２０を”Ｈ”に固定して右側のＬａｒｇｅ  Ｂａｎｋを無効領域にすることにより、左側の１２ＭｂｉｔのＬａｒｇｅ  Ｂａｎｋと４ＭｂｉｔのＳｍａｌｌ  Ｂａｎｋの計１６Ｍｂｉｔとすることができる。
【００５２】
または、図１（ｂ−１）に示すように、左側のＬａｒｇｅ  Ｂａｎｋに不良が存在する場合には、左側のＬａｒｇｅ  Ｂａｎｋを示すＢｌｏｃｋ  Ａｄｄｒｅｓｓが入力されたときのみ、右側のＬａｒｇｅ  Ｂａｎｋを示すＡｄｄｒｅｓｓに切り換えればよい。
【００５３】
この場合には、Ｓｍａｌｌ  ＢａｎｋのＡｄｄｒｅｓｓは変更しないので、単純に入力を固定する方法ではなく、入力されたＡｄｄｒｅｓｓ（外部Ａｄｄｒｅｓｓ）がＬａｒｇｅ  Ｂａｎｋを示す場合のみ、最上位Ａｄｄｒｅｓｓを変更すればよい。例えば、２入力のＸＯＲ回路に入力ＡｄｄｒｅｓｓとＣＡＭデータとを入力し、ＣＡＭデータが”Ｌ”の場合には入力Ａｄｄｒｅｓｓをそのまま内部Ａｄｄｒｅｓｓとして出力し、ＣＡＭデータが”Ｈ”の場合にはＡｄｄｒｅｓｓデータを反転して出力するようにすればよい。さらに、入力ＡｄｄｒｅｓｓがＬａｒｇｅ  Ｂａｎｋを示すかＳｍａｌｌ  Ｂａｎｋを示すかは、Ｂｌｏｃｋ  Ａｄｄｒｅｓｓにより簡単に判別可能であるため、Ｂａｎｋを判別するための回路を設けておけばよい。
【００５４】
例えば、図１（ｂ−２）に示すように、ＣＡＭにＺアドレスの入れ替えを設定することにより、左側のＬａｒｇｅ  Ｂａｎｋと右側のＬａｒｇｅ  Ｂａｎｋの１２Ｍｂｉｔ分を入れ替え、Ａ２０を”Ｈ”に固定してＣＡＭ設定で右側のＬａｒｇｅ  Ｂａｎｋの４Ｍｂｉｔ分を無効領域にすることにより、右側の１２ＭｂｉｔのＬａｒｇｅ  Ｂａｎｋと４ＭｂｉｔのＳｍａｌｌ  Ｂａｎｋの計１６Ｍｂｉｔとすることができる。
【００５５】
この場合、右側のＬａｒｇｅ  Ｂａｎｋの下４Ｍｂｉｔ分が不良領域となり、救済できないが、これについては、後述する実施形態２のように加算回路を使用することにより救済することが可能である。
【００５６】
または、図１（ｃ−１）に示すように、左側のＬａｒｇｅ  ＢａｎｋとＳｍａｌｌ  Ｂａｎｋに不良がまたがる場合には、Ｄｕａｌ  Ｗｏｒｋ動作機能を省いた１６Ｍｂｉｔの良品メモリーとしてであれば、救済することが可能である。
【００５７】
この場合には、左側の領域を示すＡｄｄｒｅｓｓが入力されても、ＣＡＭデータに基づいてＢｌｏｃｋ  Ａｄｄｒｅｓｓの最上位Ａｄｄｒｅｓｓの入力バッファを固定する等により、全て右側の領域を示すＡｄｄｒｅｓｓにすればよい。
【００５８】
例えば、図１（ｃ−２）に示すように、Ｂｌｏｃｋ  Ａｄｄｒｅｓｓの最上位ＡｄｄｒｅｓｓであるＡ２０を”Ｌ”に固定して左側の領域を無効領域にすることにより、右側の１６ＭｂｉｔのＬａｒｇｅ  Ｂａｎｋのみとすることができる。
【００５９】
このように、本実施形態によれば、同時動作機能を備えた複数のＢａｎｋを有するフラッシュメモリーに不良メモリーセルが存在しても、良品メモリーとして救済することができる。
【００６０】
これに対して、従来の方法では、同時動作機能を備えた複数のＢａｎｋを有するフラッシュメモリーについては考慮していなかった。例えば、上述したように、１２Ｍｂｉｔという２の階乗ではないＢｌｏｃｋを救済することは、従来の方法ではできなかった。
【００６１】
さらに、従来の方法では、同時動作機能を持たない半導体記憶装置であっても、２の階乗分の１の容量しか救済することができず、不良ビットの位置によって救済可能な容量が大きく変化し、実際には正常領域であるにも関わらず、救済できないＢｌｏｃｋがあった。
【００６２】
例えば、図２（ｂ−１）に示すように、３２Ｍｂｉｔのフラッシュメモリーにおいて、３Ｂｌｏｃｋに不良ビットが存在する場合に、従来の方法では、図２（ｂ−２）に示すように、正常領域として８Ｍｂｉｔまでしか救済することができなかった。
【００６３】
これに対して、本発明では、正常領域であれば全て救済して良品とすることができ、非常にフレキシブルな救済を行うことが可能となる。例えば、Ｂｌｏｃｋ単位で構成されているフラッシュメモリーであれば、Ｂｌｏｃｋ単位でよりフレキシブルな救済を行うことが可能である。この場合には、不良ＢｌｏｃｋのデータをＣＡＭデータに書き込んでおき、入力されたＡｄｄｒｅｓｓがその領域であれば、選択しないようにＡｄｄｒｅｓｓをマスクすればよい。
【００６４】
例えば、Ｂｌｏｃｋ単位で構成され、１Ｂｌｏｃｋが５１２ｋ（キロ）ｂｉｔの容量を有するフラッシュメモリーにおいて、図２（ａ−１）に示すように３Ｂｌｏｃｋに不良ビットが存在する場合、本発明によれば、図２（ａ−２）に示すように、正常領域として
0003741258.tif 000002
まで救済することが可能である。このことについて、以下の実施形態２において説明する。
【００６５】
（実施形態２）
本実施形態では、図３に示すようなＡｄｄｒｅｓｓマップを有する８Ｍｂｉｔ（１６ｂｉｔＩ／０（入出力））フラッシュメモリーを例に挙げて説明する。
【００６６】
一般に、Ａｄｄｒｅｓｓの種類は大きく分けて、通常ワード線をデコードするＲｏｗ  Ａｄｄｒｅｓｓ（Ｘ  Ａｄｄｒｅｓｓ）、ビット線をデコードするＣｏｌｕｍｎ  Ａｄｄｒｅｓｓ（Ｙ  Ａｄｄｒｅｓｓ）、ブロックをデコードするＢｌｏｃｋ  Ａｄｄｒｅｓｓ（Ｚ  Ａｄｄｒｅｓｓ）に分けられる。
【００６７】
本実施形態では、Ｒｏｗ  Ａｄｄｒｅｓｓが１１ｂｉｔ、Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓが４ｂｉｔ、Ｂｌｏｃｋ  Ａｄｄｒｅｓｓが４ｂｉｔの計１９ｂｉｔの例を挙げている。
【００６８】
メモリーセルの構成は、Ｒｏｗ方向にメモリーセルを縦断するようにワード線が配線され、Ｃｏｌｕｍｎ方向にメモリーセルを横切るようにビット線が配線されているマトリクス構成とする。メモリーセル上に配線されているワード線は、各Ｂｌｏｃｋ固有のＸ  Ｄｅｃｏｄｅｒ（Ｌｏｃａｌ  Ｘ  Ｄｅｃｏｄｅｒ）に接続されている。各Ｂｌｏｃｋのワード線は、Ｒｏｗ  Ａｄｄｒｅｓｓの組み合わせとＢｌｏｃｋ  Ａｄｄｒｅｓｓの組み合わせによって、Ｂｌｏｃｋ毎に選択される。同様に、Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ用にＹ、Ｚ  Ｄｅｃｏｄｅｒを有し、１回の入出力用に使用されるビット本数は１６本である。
【００６９】
図１３は、本発明の一実施形態である不揮発性半導体記憶装置（Ｂｌｏｃｋ一括消去型１チップフラッシュメモリー）の回路構成を示す図である。
【００７０】
ここでは、不揮発性メモリートランジスタとしてフローティングゲートを有し、書き込みはチャネルホットエレクトロン注入により行い、消去はファウラーノードハイム電流によるトンネル消去により行う構成としたフローティングゲート型ＭＯＳ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）トランジスタを用いている。
【００７１】
この図１３において、ＭＡ１、ＭＡ２、・・・、ＭＡｋは、上記フローティングゲート型ＭＯＳトランジスタがマトリクス状に配列され、同一行のトランジスタのコントロールゲートが共通接続されてワード線を構成し、同一列のトランジスタのドレインが共通接続されてビット線を構成し、さらに、マトリクスを構成する全てのトランジスタのソースが共通接続されて共通ソースを構成しているメモリーセルアレイＢｌｏｃｋである。
【００７２】
各メモリーセルアレイＢｌｏｃｋ  ＭＡ１、ＭＡ２、・・・、ＭＡｋは、データ書き込み時および読み出し時に、入力アドレス信号の行選択信号部分の信号値に応じて、所定のワード線選択信号を出力する行デコーダＸＤ１、ＸＤ２、・・・、ＸＤｋを有する。この行デコーダＸＤ１、ＸＤ２、・・・、ＸＤｋの出力は、各メモリーセルアレイＢｌｏｃｋの各ワード線に接続されている。また、各メモリーセルアレイＢｌｏｃｋ  ＭＡ１、ＭＡ２、・・・、ＭＡｋは、入力アドレス信号の列選択信号部分の信号値に応じて、選択されたビット線を各データバスＤＢ１、ＤＢ２、・・・、ＤＢｋに接続する列デコーダＹＤ１、ＹＤ２、・・・、ＹＤｋを有する。さらに、各メモリーセルアレイＢｌｏｃｋ  ＭＡ１、ＭＡ２、・・・、ＭＡｋは、上記共通ソースに、書き込み時、消去時および読み出し時に所定電圧（書き込み時および読み出し時はＧＮＤ（接地電圧）、消去時はＶＨＨ（高電圧））が選択的に印加される。なお、本発明はこれに限定されるものではなく、消去時に上記コントロールゲートに負電圧のワード線選択信号を印加して、上記共通ソースに接地電圧を印加する方式等にも適用することが可能である。なお、１１は各メモリセルアレイＢｌｏｃｋに対する書き込みおよび消去を制御するための制御部であり、Ｌ１、Ｌ２、・・・、Ｌｋは、各Ｂｌｏｃｋ毎の書き込み時および一括消去時に各Ｂｌｏｃｋと制御部１１との接続を選択的に行うスイッチング部である。さらに、この行デコーダＸＤ１、ＸＤ２、・・・、ＸＤｋの出力は、各メモリーセルアレイＢｌｏｃｋの各ワード線に接続されている。
【００７３】
一般に、フラッシュメモリーにおいては、メモリーセル形状を縮小化するために、Ｅｒａｓｅ動作をＢｌｏｃｋ単位で行う方式を取っているので、本実施形態でもＢｌｏｃｋ単位の救済について説明する。
【００７４】
例えば、図４（ａ）に示すように、８Ｍｂｉｔのフラッシュメモリーにおいて全てのＢｌｏｃｋが正常な場合には、全てのメモリーセル領域を使用することができるので、外部Ａｄｄｒｅｓｓに対応して各内部Ａｄｄｒｅｓｓを順次選択し、全てのＢｌｏｃｋを使用することができる。
【００７５】
これに対して、図４（ｂ）に示すように、ある１つのＢｌｏｃｋに不良ビットが存在し、予め用意されている予備セルでも救済できなかった場合には、そのＢｌｏｃｋ以外のＢｌｏｃｋが正常であれば、不良Ｂｌｏｃｋを除いたメモリーセル領域のみを使用可能な良品として救済することができる。
【００７６】
例えば、Ｂｌｏｃｋ６のみが不良であった場合、そのＢｌｏｃｋ以外を良品として、
８Ｍｂｉｔ−５１２ｋｂｉｔ＝７．５Ｍｂｉｔ
の良品として使用することができる。
【００７７】
この場合には、外部から見たＡｄｄｒｅｓｓが不連続になるが、これは、以下のようにして回避することができる。
【００７８】
図４（ｂ）の例ではＢｌｏｃｋ６が不良であり、そのＡｄｄｒｅｓｓ範囲はＺＡｄｄｒｅｓｓが”０１１０”の領域である。通常は、このＡｄｄｒｅｓｓを入力すると、不良Ｂｌｏｃｋが選択されることになる。
【００７９】
これを防ぐため、ここでは１Ｂｌｏｃｋ分が不良メモリーセル領域であるので、外部Ａｄｄｒｅｓｓに対して、内部Ａｄｄｒｅｓｓとして、このＢｌｏｃｋよりも大きいＡｄｄｒｅｓｓを有するＢｌｏｃｋのＢｌｏｃｋ  Ａｄｄｒｅｓｓを”＋１”を加える。このことにより、外部的には見掛け上、連続Ａｄｄｒｅｓｓを入力しているにも関わらず、内部的には不良Ｂｌｏｃｋを飛ばして正常Ｂｌｏｃｋにのみアクセスすることが可能になる。
【００８０】
具体的には、Ｂｌｏｃｋ６が不良である場合に、その不良Ｂｌｏｃｋ情報に基づいて、Ｂｌｏｃｋ６〜Ｂｌｏｃｋ１５のＡｄｄｒｅｓｓを”＋１”を加えるような加算回路を設ければよい。このような不良Ｂｌｏｃｋ情報と”＋１”を加えるという加算情報は、不揮発性半導体記憶領域に記憶させておけばよい。なお、実際の内部Ａｄｄｒｅｓｓは連続していないので、Ａｄｄｒｅｓｓをシフトさせる必要がある。このことは以下の例についても同様である。
【００８１】
このように、外部的には７．５Ｍｂｉｔ分連続したＡｄｄｒｅｓｓを入力し、内部的にはＡｄｄｒｅｓｓを自動的に変更して対応させることにより、不良Ｂｌｏｃｋを選択せずに７．５Ｍｂｉｔ分の正常品として、ユーザーはＡｄｄｒｅｓｓの不連続性を気にすることなく使用することができる。
【００８２】
この場合、外部ＡｄｄｒｅｓｓでＢｌｏｃｋ１５に対応する内部Ａｄｄｒｅｓｓが無くなってしまう。そして、外部からＢｌｏｃｋ１５を選択した場合、Ｚ  Ａｄｄｒｅｓｓ”１１１１”に対して”＋１”を加えると、”１００００”とオーバーフローして下位４ｂｉｔが”００００”となり、Ｂｌｏｃｋ０の内部Ａｄｄｒｅｓｓと同じになってしまう。これを防ぐために、オーバーフロー検出機能を持たせておいて、加算した結果が他の内部Ａｄｄｒｅｓｓと重複する場合には、オーバーフローと見なしてどのＡｄｄｒｅｓｓも選択しないようにすることができる。例えば、Ｚ  Ａｄｄｒｅｓｓに４を作っておき、Ｚ４が”１”になった場合にはオーバーフローと見なして、そのＡｄｄｒｅｓｓに対応するメモリーセル領域を非選択になるようにする。
【００８３】
図５に示すように、複数のＢｌｏｃｋ（ここでは２つのＢｌｏｃｋ）に不良ビットが存在する場合にも、同様に、不良ＢｌｏｃｋのＡｄｄｒｅｓｓ情報を不揮発性記憶領域に記憶し、その場所によって”＋１”から”＋１５”を加算するような加算回路を設ければよい。
【００８４】
例えば、Ｂｌｏｃｋ６とＢｌｏｃｋ９が不良である場合には、Ｂｌｏｃｋ５までは従来通りに外部Ａｄｄｒｅｓｓと内部Ａｄｄｒｅｓｓは同様でよい。Ｂｌｏｃｋ６は不良Ｂｌｏｃｋのため、外部から入力されたＢｌｏｃｋ  Ａｄｄｒｅｓｓに対して内部Ａｄｄｒｅｓｓは”＋１”を加えてＢｌｏｃｋ７を選択する。また、Ｂｌｏｃｋ７に対しても、入力された外部Ａｄｄｒｅｓｓに”＋１”を加えてＢｌｏｃｋ８を選択する。さらに、Ｂｌｏｃｋ８も不良Ｂｌｏｃｋのため、外部から入力されたＢｌｏｃｋ  Ａｄｄｒｅｓｓに対して内部Ａｄｄｒｅｓｓは”＋２”を加えてＢｌｏｃｋ９を選択する。Ｂｌｏｃｋ１０以上に対しても同様に、Ｂｌｏｃｋ６とＢｌｏｃｋ９が不良Ｂｌｏｃｋであるので、入力された外部Ａｄｄｒｅｓｓに”＋２”を加えて内部Ａｄｄｒｅｓｓを作成する。
【００８５】
この場合、Ｂｌｏｃｋ６とＢｌｏｃｋ９が不良Ｂｌｏｃｋであるため、使用可能なフラッシュメモリーの容量は
８Ｍｂｉｔ−０．５Ｍｂｉｔ×２＝７Ｍｂｉｔ
となるが、外部からは７Ｍｂｉｔ分連続したＡｄｄｒｅｓｓを入力して使用することができる。
【００８６】
さらに、上記不揮発性記憶領域には、不良ＢｌｏｃｋのＡｄｄｒｅｓｓ情報と共に、入力されたＢｌｏｃｋ  Ａｄｄｒｅｓｓに対してＡｄｄｒｅｓｓをいくら加算するのかという情報（加算しないという情報も含む）を記憶しておいて、必要に応じて使用することができる。
【００８７】
この場合にも、外部ＡｄｄｒｅｓｓでＢｌｏｃｋ１４、Ｂｌｏｃｋ１５に対応する内部Ａｄｄｒｅｓｓが無くなってしまい、外部からＢｌｏｃｋ１４またはＢｌｏｃｋ１５を選択した場合、他のＢｌｏｃｋの内部Ａｄｄｒｅｓｓと同じになってしまう。これを防ぐために、例えば、Ｚ  Ａｄｄｒｅｓｓに４を作っておき、Ｚ４が”１”になった場合にはオーバーフローと見なして、そのＡｄｄｒｅｓｓに対応するメモリーセル領域を非選択になるようにする。
【００８８】
以上の実施形態では、８Ｍｂｉｔのフラッシュメモリーについて説明したが、例えば全ビット容量がｐＭｂｉｔでＢｌｏｃｋ容量がｑＭｂｉｔである場合、ｒ個のＢｌｏｃｋに不良が発生した場合、（ｐ−ｒ×ｑ）Ｍｂｉｔの良品として救済することができる。この場合、外部Ａｄｄｒｅｓｓを内部Ａｄｄｒｅｓｓに割り当てるために必要な加算数は１０進数で”（ｐ／ｑ）”である。さらに、使用目的によっては、加算回路の加算範囲を絞ることも可能である。例えば、上述の例で、８Ｍｂｉｔの半導体記憶装置を０．５Ｍｂｉｔの良品として使用するメリットが少なく、１Ｍｂｉｔ以上の容量で良品にする場合には、１Ｂｌｏｃｋ分加算する数が減少するので、加算回路の加算数を”１”減らす等、使用目的に応じて使い分けることができる。
【００８９】
さらに、上記実施形態では、全Ｂｌｏｃｋが均等な大きさである５１２ｋｂｉｔのＢｌｏｃｋを持つ例について説明したが、ユーザーの使用方法によっては、５１２ｋｂｉｔ構成のＢｌｏｃｋでは大きすぎるため、図６（ａ）に示すように、一部のＢｌｏｃｋだけさらに細かいＢｌｏｃｋに分割されて、容量の異なる複数のＢｌｏｃｋが含まれている構成もよく見られる。この場合には、ＢｌｏｃｋＡｄｄｒｅｓｓのみでは不足するため、さらに下位のＡｄｄｒｅｓｓ（ここではＣｏｌｕｍｎ  Ａｄｄｒｅｓｓ）も使用される。
【００９０】
このような構成において、図６（ｂ）に示すように、外部ＡｄｄｒｅｓｓにＣｏｌｕｍｎ  Ａｄｄｒｅｓｓを用いている領域のＢｌｏｃｋが不良の場合には、Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓをシフトさせることにより、外部Ａｄｄｒｅｓｓを正常なＢｌｏｃｋの内部Ａｄｄｒｅｓｓに連続的に割り当てることができる。
【００９１】
さらに、容量の異なるＢｌｏｃｋを複数有するフラッシュメモリーの場合、例えば図７に示すように、容量が小さいＢｌｏｃｋが外部Ａｄｄｒｅｓｓの小さい方（下位側）に存在するか、または大きい方（上位側）に存在するかによって、外部Ａｄｄｒｅｓｓに対するＢｌｏｃｋの容量が変わってくる。これは、ユーザーの使用の仕方によって、容量の小さいＢｌｏｃｋのＡｄｄｒｅｓｓがＡｄｄｒｅｓｓの下位にあった方が良いか、上位にあった方が良いかが異なるからである。図７では、小容量のＢｌｏｃｋがＡｄｄｒｅｓｓの小さい方に存在している。
【００９２】
このような場合、一般的には、不揮発性記憶領域を使用して、内部ＡｄｄｒｅｓｓのＢｌｏｃｋ  Ａｄｄｒｅｓｓを変換させるという方法が取られる。この不揮発性記憶領域は、不良メモリーセルの情報を記憶させるものと別に設けてもよく、兼用してもよい。
【００９３】
例えば、２入力のＸＯＲ回路に入力ＡｄｄｒｅｓｓとＣＡＭデータとを入力し、ＣＡＭデータが”Ｌ”の場合には入力Ａｄｄｒｅｓｓをそのまま内部Ａｄｄｒｅｓｓとして出力し、ＣＡＭデータが”Ｈ”の場合にはＡｄｄｒｅｓｓデータを反転して出力するようにすればよい。後者の場合、図７に示すように、反転されたＡｄｄｒｅｓｓが内部に伝わっていくため、内部のＢｌｏｃｋ構成を変更することなく、ユーザーの使用の仕方に対応することができる。本発明はこのような場合にも対応可能であり、どの部分に不良があっても、本来の容量から不良領域に応じた任意の容量の良品として救済することが可能である。
【００９４】
例えば、図８のように、容量が異なる複数のＢｌｏｃｋが含まれ、小容量のＢｌｏｃｋがＡｄｄｒｅｓｓの小さい方に存在している構成の半導体記憶装置において、小容量のＢｌｏｃｋで不良が発生した場合に、小容量Ｂｌｏｃｋのみ救済して、ユーザーの使用目的に応じて小容量Ｂｌｏｃｋと大容量Ｂｌｏｃｋの各々で連続Ａｄｄｒｅｓｓにし、両者の境界でも連続Ａｄｄｒｅｓｓにすることができる。または、図９に示すように、小容量Ｂｌｏｃｋと大容量Ｂｌｏｃｋの各々で連続Ａｄｄｒｅｓｓにし、両者の境界では不連続Ａｄｄｒｅｓｓにすることができる。これらは、Ａｄｄｒｅｓｓ変換のために加算回路を加えるか、減算回路を加えるかだけの違いであり、容易に実現することができる。
【００９５】
なお、図６（ｂ）、図８、図９では、ある１つのＢｌｏｃｋが不良メモリーセルを有する場合を示しているが、複数有する場合についても上記と同様である。
【００９６】
さらに、以上のようなＢｌｏｃｋ単位での救済の他に、上記実施形態１に示したような、現在主流となりつつある複数のＢａｎｋを有するフラッシュメモリーに対しても、救済することが可能である。このように複数のＢａｎｋを有するフラッシュメモリーの場合には、各Ｂａｎｋで同時動作が可能であるということが特徴である。よって、Ｂａｎｋを越えてＡｄｄｒｅｓｓを置き換えることは、Ｂａｎｋの境界を変更してしまうことになるため、好ましくない。よって、この場合には、各Ｂａｎｋ内で不良ＢｌｏｃｋのＡｄｄｒｅｓｓを置き換えることにより、同時動作機能を保ちながら、低容量の良品フラッシュメモリーとして使用することができる。
【００９７】
例えば、図１０（ａ）に示すように、バンクＡおよびバンクＢの２つのＢａｎｋで構成された８Ｍｂｉｔのフラッシュメモリーの場合、バンクＡとバンクＢの各々において、図１０（ｂ）に示すように、内部Ａｄｄｒｅｓｓと外部Ａｄｄｒｅｓｓの関係を変えることにより、各Ｂａｎｋに対する救済が可能になり、７Ｍｂｉｔ分のメモリーセル領域を使用可能となる。
【００９８】
さらに、不良Ｂｌｏｃｋにおける不良内容が特定の動作に対してだけであり、それ以外の動作には問題が生じないばあいには、動作機能を絞って良品とすることも可能である。例えば、何らかの原因で、あるＢｌｏｃｋのＥｒａｓｅ動作のみができず、そのＢｌｏｃｋのＰｒｏｇｒａｍ動作およびＲｅａｄ動作を行うことは全く問題無いものとする。このような場合、本発明では、そのＢｌｏｃｋを不良Ｂｌｏｃｋとしてもよいが、ＥｒａｓｅのみできないＢｌｏｃｋ（例えばＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｔｅｃｔ）のような使用法）として使用することが可能である。具体的には、各ＢｌｏｃｋにはＢｌｏｃｋ毎にＥｒａｓｅを実行できるような回路が組まれているので、Ｅｒａｓｅ用の電源を供給する選択回路をＯＮ状態にしないようにする等の方法で簡単に実現することができる。さらに、Ｐｒｏｇｒａｍ動作が不可でＥｒａｓｅ動作とＲｅａｄ動作が可能という場合についても、動作機能を絞って良品とすることが可能である。
【００９９】
さらに、昨今のフラッシュメモリーでは、通常の容量とは別に上述したＯＴＰ領域を有するメモリーも存在する。このＯＴＰ領域は、一般に、全ての容量を使い切ってしまうほど使用されることはないので、このＯＴＰ領域の一部を上記不揮発性記憶領域として使用することもできる。例えば、装置の電源が投入されてから、ＯＴＰ領域のデータを用いて、冗長救済用のデータのみ内部レジスタ等に読み込んでおくこと等により、実現可能である。
【０１００】
上記実施形態において、フラッシュメモリーの容量が変わっても救済することが可能であり、Ｂｌｏｃｋの容量およびＢａｎｋの構成等が任意であることは言うまでもない。また、不揮発性メモリーであれば、どのようなメモリー構成であっても救済することが可能である。フラッシュメモリーでは、メモリーセルの面積を小さくする必要があるため、Ｅｒａｓｅ動作がＢｌｏｃｋ単位でしかできないが、ＦＲＡＭ等のＥｒａｓｅ、ＰｒｏｇｒａｍおよびＲｅａｄをランダムに行うことが可能なメモリーであれば、上述したようなＢｌｏｃｋ毎の救済よりもさらに小さい単位での救済が可能である。さらに、揮発性メモリーであっても、一部に不揮発性記憶領域を有するメモリーであれば、本発明を適用することが可能である。
【０１０１】
【発明の効果】
以上詳述したように、本発明によれば、半導体記憶装置の製造工程の最終段階等において、通常のメモリーセル領域とは別に設けた不揮発性記憶領域にＣＡＭデータ等として不良メモリーセルのデータを保存しておくことによって、不良メモリーセル領域に対して一部の動作を制限したり、または全ての動作に対して非選択状態にする。これによって、不良メモリーセルが存在しても、良品ビットを最大限利用して、容量の低減が少ない半導体記憶装置として活用することができる。
【０１０２】
さらに、アドレス変換手段により、選択可能メモリーセル領域に対して外部アドレスを連続的に割り当てることができるので、不良メモリーセル領域が断片的に存在しても、外部からは連続したアドレスでアクセルすることができるため、良品として救済した半導体記憶装置を通常の方法で使用することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態について説明するための２つのＢａｎｋを有する同時動作可能な３２ＭｂｉｔフラッシュメモリーのＢｌｏｃｋ構成を示す図であり、（ａ−１）および（ａ−２）は右側のＬａｒｇｅ  Ｂａｎｋに不良がある場合の救済方法を示し、（ｂ−１）および（ｂ−２）は左側のＬａｒｇｅ  Ｂａｎｋに不良がある場合の救済方法を示し、（ｃ−１）および（ｃ−２）は左側のＬａｒｇｅＢａｎｋおよびＳｍａｌｌ  Ｂａｎｋにわたって不良がある場合の救済方法を示す。
【図２】（ａ−１）および（ａ−２）は、本発明の実施の形態を説明するための２つのＢａｎｋを有する同時動作可能な３２ＭｂｉｔフラッシュメモリーのＢｌｏｃｋ構成を示す図であり、（ｂ−１）および（ｂ−２）は、従来の救済方法を説明するための３２ＭｂｉｔフラッシュメモリーのＢｌｏｃｋ構成を示す図である。
【図３】本発明の実施の形態を説明するための８ＭｂｉｔフラッシュメモリーのＢｌｏｃｋ構成を示す図である。
【図４】本発明の実施の形態を説明するための８ＭｂｉｔフラッシュメモリーのＢｌｏｃｋ構成を示す図であり、（ａ）は正常品を示し、（ｂ）は１つのＢｌｏｃｋに不良があった場合の救済方法の例を示す。
【図５】本発明の実施の形態を説明するための８ＭｂｉｔフラッシュメモリーのＢｌｏｃｋ構成を示す図であり、２つのＢｌｏｃｋに不良があった場合の救済方法の例を示す。
【図６】本発明の実施の形態を説明するための８ＭｂｉｔフラッシュメモリーのＢｌｏｃｋ構成を示す図であり、（ａ）は容量の異なる複数のＢｌｏｃｋを含む正常品を示し、（ｂ）は１つのＢｌｏｃｋに不良があった場合の救済方法の例を示す。
【図７】本発明の実施の形態を説明するための８ＭｂｉｔフラッシュメモリーのＢｌｏｃｋ構成を示す図であり、容量の異なる複数のＢｌｏｃｋを含む正常品において、小容量のＢｌｏｃｋがＡｄｄｒｅｓｓの小さい方にある場合を示す。
【図８】本発明の実施の形態を説明するための８ＭｂｉｔフラッシュメモリーのＢｌｏｃｋ構成を示す図であり、容量の異なる複数のＢｌｏｃｋを含み、Ａｄｄｒｅｓｓの小さい方にある小容量のＢｌｏｃｋが不良を有する場合に、小容量のＢｌｏｃｋと大容量のＢｌｏｃｋとの境界でＡｄｄｒｅｓｓを連続させる救済方法の例を示す。
【図９】本発明の実施の形態を説明するための８ＭｂｉｔフラッシュメモリーのＢｌｏｃｋ構成を示す図であり、容量の異なる複数のＢｌｏｃｋを含み、Ａｄｄｒｅｓｓの小さい方にある小容量のＢｌｏｃｋが不良を有する場合に、小容量のＢｌｏｃｋと大容量のＢｌｏｃｋの各々でＡｄｄｒｅｓｓを連続させて、両者の境界ではＡｄｄｒｅｓｓを不連続にする救済方法の例を示す。
【図１０】本発明の実施の形態を説明するための２つのＢａｎｋを有する同時動作可能な８ＭｂｉｔフラッシュメモリーのＢｌｏｃｋ構成を示す図であり、（ａ）は正常品を示し、（ｂ）は各Ｂａｎｋの救済方法の例を示す。
【図１１】本発明に使用されるＣＡＭ回路の構成を示す図である。
【図１２】本発明の不揮発性半導体記憶装置におけるＡｄｄｒｅｓｓの流れを説明するための図である。
【図１３】本発明の一実施形態である不揮発性半導体記憶装置の回路構成を示す図である。
【符号の説明】
１  入力ＰＡＤ
２  マルチプレクサ
３  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ選択回路
４  加算回路ｅｎａｂｌｅ信号  加算数発生回路
５  加算回路
６  Ｄｅｃｏｄｅｒ
７  メモリーセルアレイ
８  Ａｄｄｒｅｓｓ発生回路
９  外部Ａｄｄｒｅｓｓ
１０  内部Ａｄｄｒｅｓｓ
１１  書き込み・消去制御部
９５  ＰチャンネルのＭＯＳＦＥＴ
９６  ＮチャンネルのＭＯＳＦＥＴ
９７  セルトランジスタ
９８  ＣＡＭプログラム回路
９９  インバータ
【図１】
0003741258.tif 000003
【図２】
0003741258.tif 000004
【図３】
0003741258.tif 000005
【図４】
0003741258.tif 000006
【図５】
0003741258.tif 000007
【図６】
0003741258.tif 000008
【図７】
0003741258.tif 000009
【図８】
0003741258.tif 000010
【図９】
0003741258.tif 000011
【図１０】
0003741258.tif 000012
【図１１】
0003741258.tif 000013
【図１２】
0003741258.tif 000014
【図１３】
0003741258.tif 000015