(57)【要約】【課題】  欠陥部品の認識と修正を装置内部において行い、メモリ装置の寿命と製造歩留まりとを改善すること。【解決手段】  メモリ装置（２０）は複数のスタンダードセクタ（１５）と冗長部（２）とからなるメモリブロック（１）と、メモリセルデータのプログラミング及び消去を制御する制御回路（３）と、メモリセルに記憶されたデータ用の正確性確認回路（７）とを有し、正確性確認回路は制御回路により作動され機能不全セルを１つでも検出すると不正データ信号を発生する。制御回路は冗長を活性化し、冗長部を作動し、不正データ存在の場合に冗長メモリステージ（５ｂ）に冗長データを記憶する。消去・プログラミングの両動作におけるカラム冗長、ロウ冗長、セクタ冗長の種々の実行方法を提供する。【選択図】  図１
2010165456.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリチップ（２０）のための自己修復方法であって、前記不揮発性メモリチップ（２０）は、制御ユニット（３）と、正確性検証回路（７）と、冗長メモリステージ（５ｂ）と、前記冗長メモリステージとは異なるメモリブロック（１）とを含み、前記メモリブロック（１）は、メモリアレイ（１７０）を含み、前記メモリアレイは、複数のスタンダードセクタ（１５）と冗長部（２）とを含み、前記複数のスタンダードセクタは、複数のメモリ線（１８１、１８２）に配置された複数のメモリセルから構成されており、前記複数のメモリセルのそれぞれは、データを格納し、
前記方法は、
前記制御ユニット（３）によって、実行される動作の信号（Ｒ／Ｅ／Ｐ）を外部から受信する工程と、
前記複数のメモリセルのデータの変更動作（３１；１２３；２３１）を実行する工程であって、前記変更動作は、プログラミングと消去との間で選択される、工程と、
前記制御ユニットによって、活性信号を前記正確性検証回路に送信し、前記複数のメモリセルのデータを前記メモリアレイ（１７０）から前記正確性検証回路に送信する工程と、
前記正確性検証回路によって、前記複数のメモリセルの前記データの正確性を検証する工程（３２；１０１；２３２）と、
前記検証する工程（３２；１０１；２３２）が、少なくとも１つの機能不全セル（１４）を検出した場合には、不正データ信号を前記正確性検証回路から前記制御ユニットに送信し、前記機能不全セルを交換する工程（４６；１１２；２４６；２４７）と
を含み、
前記交換する工程は、
冗長データを格納すること（４６；１１２；２４６）であって、前記冗長データは、前記機能不全セル（ＡＤＤＳ）のアドレスの少なくとも一部と前記冗長メモリステージ（５ｂ）の不揮発性メモリ素子（１５０）における冗長活性化フラグ（ＧＢ）とを含む、ことと、
前記制御ユニットによって、前記冗長部（２）を活性化することと
を含み、
前記方法は、読み出し動作をさらに含み、
前記読み出し動作は、
前記冗長メモリステージ（５ｂ）によって、読み出されるメモリセルのビットアドレス（ＡＤＤ）を前記不揮発性メモリチップの外部から受信する工程と、
前記冗長メモリステージ（５ｂ）または前記メモリブロック（１）のデコーダ（２００）によって、前記受信されたビットアドレスと前記冗長メモリステージに格納されている前記機能不全セルのデータとを比較する工程と、
前記受信されたビットアドレスと前記機能不全セルの前記アドレスとが一致し、かつ、前記冗長活性化フラグが活性化されている場合には、前記少なくとも１つの機能不全セルを前記冗長部（２）と交換し、その後、前記冗長部を読み出す工程と
を含む、方法。
【請求項２】
前記複数のメモリセルのデータの正確性を検証する工程（３２；１０１；２３２）は、
不正確なデータを格納するメモリセル（１４）またはメモリ線の数を決定する工程（３２；１０１；２３２）と、
前記不正確なデータを格納するメモリセルまたはメモリ線の数が閾値以下である場合には、前記冗長化する工程（４６；１１２；２４６；２４７）を活性化する工程と
を含む、請求項１に記載の方法。
【請求項３】
前記冗長化する工程（４６；１１２；２４６；２４７）の後に、冗長データを検証する工程（４７；１１３；２４６）が実行される、請求項１または２に記載の方法。
【請求項４】
前記冗長データを検証する工程（４７；１１３；２４６）がエラーを示す結果を生じさせた場合には、エラー信号（Ｆ）が生成される（４９；１１５；２５０）、請求項３に記載の方法。
【請求項５】
前記複数のメモリセル（１４）は、複数のロウおよび複数のカラムに配置されており、前記変更動作は、消去動作（３１）であり、前記正確性を検証する工程（３２）は、前記消去動作の後に実行され、前記冗長データを格納する工程は、前記機能不全セルを含むメモリアレイ（１７０）の少なくとも１つのカラム部のアドレスを格納すること（４６）を含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記変更動作は、消去動作（１２３）であり、前記正確性を検証する工程（１０１）は、前記消去動作の前に実行され、前記冗長データを格納する工程は、前記機能不全セルを含む少なくとも１つのロウのアドレスを格納すること（１１２）を含む、請求項１〜４のいずれか１項に記載の方法。
【請求項７】
前記データの正確性を検証する工程（１０１）は、
前記複数のスタンダードセクタ（１５）の第１のロウで短絡検査（１０１）を実行する工程と、
前記短絡検査が肯定的な結果であった場合には、前記交換する工程を実行する工程と、
前記短絡検査が否定的な結果であった場合には、前記短絡検査が肯定的な結果となるか全ての冗長リソースが使い果たされるまで、前記第１のロウと前記第１のロウに近接した少なくとも１つのさらなるロウとに対して前記短絡検査（１０１）を繰り返す工程と
を含む、請求項６に記載の方法。
【請求項８】
前記繰り返す工程は、前記第１のロウと前記さらなるロウとを含むロウの、プリセットされたパケットに対し前記短絡検査（１０１）を実行することを含む、請求項７に記載の方法。
【請求項９】
前記変更動作は、メモリワードを格納している複数のメモリセル（１４）に対し実行されるプログラミング動作（２３１）であり、前記交換する工程は、前記冗長部（２）に正確なデータを書き込む（２４７）ことを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項１０】
前記冗長部（２）は、少なくとも１つの冗長線（３２０）を含み、前記正確なデータを書き込む工程（２４７）は、前記冗長線の単一セル（１４）をプログラミングする工程を含み、前記冗長データを格納する工程（２４６）は、前記不揮発性メモリ素子（１５０）に前記機能不全セルのアドレスを書き込む工程を含む、請求項９に記載の方法。
【請求項１１】
前記変更動作（３１；１２３；２３１）は、ＥＷＳ検査工程の間に活性化される、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記変更動作（３１；１２３；２３１）は、前記不揮発性メモリ（２０）の内部における通常の使用中に活性化される、請求項１〜１０のいずれか１項に記載の方法。
【請求項１３】
チップ内に形成される不揮発性メモリデバイス（２０）であって、
前記チップは、
複数のスタンダードセクタ（１５）と冗長部（２）とを含むメモリアレイ（１７０）を含むメモリブロック（１）であって、前記複数のスタンダードセクタは、複数のメモリ線に配置された複数のメモリセル（１４）から構成されており、前記複数のメモリセル（１４）のそれぞれは、ベースデータを格納し、前記冗長部（２）は、複数のメモリセルから構成されており、前記複数のメモリセルのそれぞれは、機能不全セルのデータを含む冗長データを格納する、メモリブロック（１）と、
制御ユニット（３）を含む変更手段（３；４；３１；１２３；２３１）であって、実行される動作の信号（Ｒ／Ｅ／Ｐ）を外部から受信し、前記複数のメモリセルのデータを変更し、プログラミングと消去との間で選択された動作を実行する変更手段と、
前記メモリアレイ（１７０）からの読み出しデータと外部からの入力データ（ＩＮＤＡＴＡ）と前記制御ユニットからの活性信号とを受信する正確性検証回路（７）であって、前記活性信号によってイネーブルされ、少なくとも１つの機能不全セルが検出された場合には、不正データ信号を生成する正確性検証回路（７）と、
前記メモリブロックとは異なる冗長メモリステージ（５ｂ）であって、複数の不揮発性メモリ素子（１５０）を含み、前記制御ユニット（３）および前記外部に接続されている冗長メモリステージと
を集積し、
前記制御ユニット（３）は、前記不正データ信号に接続され、かつ、前記不正データ信号によってイネーブルされる冗長活性化手段（４６；１１２；２００；２４６；２４７）を含み、前記冗長活性化手段は、前記冗長部（２）をイネーブルする手段と、前記機能不全セルのアドレス（ＡＤＤＳ）の少なくとも一部と前記複数の不揮発性メモリ素子（１５０）の前記冗長活性化フラグ（ＧＢ）とを含む冗長データを格納することを制御する手段とを含み、
前記メモリチップ（２０）は、読み出し回路をさらに含み、
前記読み出し回路は、
前記冗長メモリステージ（５ｂ）または前記メモリブロック（１）の第１のデコーダ（２００）に属する比較回路（１９０；１９５；２００）であって、前記比較回路は、読み出されるメモリセルのビットアドレス（ＡＤＤ）を、外部から受信し、前記受信されたビットアドレスを前記冗長データと比較し、前記受信されたビットアドレスと前記機能不全セルの前記アドレスとが一致し、かつ、前記冗長活性化フラグが活性化されている場合には、前記少なくとも１つの機能不全セルを前記冗長部（２）と交換することを制御する（ＬＸＲＲ；ＮＥＤＣ）、比較回路と、
前記冗長部（２）を読み出す読み出しデバイスと
を含む、デバイス。
【請求項１４】
前記冗長部（２）は、複数のカラムまたは複数のロウまたは複数の冗長セクタ（１８５ａ、１８５ｂ、３２０）を含む、請求項１３に記載のデバイス。
【請求項１５】
前記複数のスタンダードセクタ（１５）はセクタロウ（１８１）およびセクタカラム（１８２）に配置され、前記冗長部（２）は、複数の冗長セクタ（１８５ａ、１８５ｂ）を含み、各セクタに対して少なくとも１つの冗長セクタが対応し、各冗長セクタは、前記少なくとも１つの機能不全セルを含むスタンダードセクタ（１５）全体の内容を格納するように構成されている、請求項１３または１４に記載のデバイス。
【請求項１６】
それぞれのセクタカラム（１８２）に関連付けられている第１の冗長セクタ（１８５ａ）および第２の冗長セクタ（１８５ｂ）を含み、
前記メモリアレイ（１７０）は、第１のハーフと第２のハーフとに分割され、前記メモリブロック（１）は、前記読み出しデバイスを形成し、かつ、前記メモリアレイの第１のハーフと第２のハーフとの間に配置されたカラムデコーダ（１８３）をさらに含み、各セクタカラム（１８１）の第１および第２の冗長セクタは、それぞれ、前記第１のハーフおよび第２のハーフの前記セクタカラムに沿って配置されている、請求項１５に記載のデバイス。
【請求項１７】
前記冗長メモリステージ（５ｂ）は、ＵＰＲＯＭ（消去不能のＥＰＲＯＭ）によって形成された複数のメモリユニット（１６０）を含む、請求項１３または１４に記載のデバイス。
【請求項１８】
前記複数のメモリユニット（１６０）は、並列に配置されており、前記複数のメモリユニット（１６０）は、複数の不揮発性メモリ素子（１５０）を含み、
前記複数の不揮発性メモリ素子（１５０）のそれぞれは、
共通制御端子と、
前記複数の不揮発性メモリ素子（１５０）の出力端子に接続されたバイアスおよび読み出し／書き込みロジック回路（１５３）と
を有し、
前記メモリユニットは、複数の一時メモリ素子（１５４）をさらに含み、各不揮発性メモリ素子に対して１つの一時メモリ素子が対応し、前記複数の一時メモリ素子のそれぞれは、冗長情報を供給する冗長出力を有し、前記冗長情報は、前記機能不全セルのアドレス情報（ＡＤＤＳ）と前記冗長活性化フラグ（ＧＢ）を含む、請求項１７に記載のデバイス。
【請求項１９】
前記複数の不揮発性メモリ素子（１５０）のすべての制御端子に接続された単一の制御線（１５１）を含む、請求項１８に記載のデバイス。
【請求項２０】
前記アドレス情報（ＡＤＤＳ）は、前記機能不全セルを含むセクタロウ（１８１）を示す交換されたロウのアドレスであり、
前記デバイスは、
セクタカラムアドレス（ＡＤＤ）を受信し、冗長選択信号（ＹＭＣＡＭ）を生成する冗長デコーダ（２０２）と、
前記冗長出力に接続された複数のデータ入力と前記冗長選択信号を受信する選択入力とを有する選択ステージ（２０３）であって、前記冗長選択信号に従って前記アドレス情報の１つを供給する出力を有する選択ステージ（２０３）と、
前記比較回路を形成し、セクタロウアドレス（ＡＤＤ）を受信し、前記選択ステージ（２０３）の出力に接続された冗長活性化検証回路（２０５）を含むセクタロウデコーダ（２００）と
をさらに含み、
前記セクタロウデコーダ（２００）は、前記アドレス情報が前記セクタロウアドレスと異なっている場合、または、前記冗長活性化フラグが非活性値を有する場合に、セクタロウアドレス信号（ＬＸ）を生成し、前記アドレス情報が前記セクタロウアドレスと同一である場合、および、前記冗長活性化フラグが活性値を有する場合に、前記冗長セクタ（１８５ａ、１８５ｂ）の活性信号（ＬＸＲＲ）を生成する、請求項１５、１８、１９のいずれか１項に記載のデバイス。
【請求項２１】
前記複数のメモリユニット（１６０）は、マトリクス構造に配置されており、前記複数のメモリユニット（１６０）は、前記複数の不揮発性メモリ素子（１５０）を含み、
前記複数の不揮発性メモリ素子（１５０）は、アレイを形成し、前記複数の不揮発性メモリ素子（１５０）は、複数の制御線（１５１）に接続された制御端子と、複数のビット線（１５５）に接続された出力端子とを有し、
前記デバイス（２０）は、
制御線アドレス信号（ＹＭＣＡＭ）を受信し、前記複数の制御線（１５１）を駆動する駆動回路（１５６）と、
前記複数のビット線に接続され、前記アドレス情報を前記冗長活性化フラグに供給する出力を有する少なくとも１つのバイアスおよび読み出し／書き込みロジック回路（１５２ａ）と
をさらに含む、請求項１７に記載のデバイス。
【請求項２２】
前記アドレス情報は、前記機能不全セルを含むセクタロウを示す交換されたロウのアドレスであり、
前記デバイス（２０）は、
セクタカラムアドレスを受信し、制御線アドレス信号（ＹＭＣＡＭ）を生成する冗長デコーダ（２０２）と、
前記第１のデコーダを形成し、セクタロウアドレス（ＡＤＤ）を受信し、前記バイアスおよび読み出し／書き込みロジック回路（１５２ａ）の出力に接続された冗長活性化検証回路（２０５）を含むセクタロウデコーダ（２００）と
をさらに含み、
前記セクタロウデコーダ（２００）は、前記アドレス情報が前記セクタロウアドレスと異なっている場合、または、前記冗長活性化フラグが非活性値を有する場合に、セクタロウアドレス信号（ＬＸ）を生成し、前記アドレス情報が前記セクタロウアドレスと同一である場合、および、前記冗長活性化フラグが活性値を有する場合に、前記冗長セクタ（１８５ａ、１８５ｂ）の活性信号（ＬＸＲＲ）を生成する、請求項１５または請求項２１に記載のデバイス。
【請求項２３】
前記冗長データは、少なくとも１つの第１のアドレス（ＮＥＤＣ）と１つの第１の活性信号（ＲＤＣ）とを含み、
前記スタンダードセクタ（１５）は、ワードビットを読み出す複数の前記読み出しデバイス（ＳＡ＜６３：０＞）に接続され、
前記冗長部（２）は、第１の冗長読み出しデバイス（ＳＡ＜Ｒ１＞）に接続された少なくとも１つの第１の冗長カラム（３２０）を含み、
第１の選択回路（３００）は、第１の入力と第１の出力とを有し、
前記第１の入力は、前記ワードビット（ＳＡ＜６３：０＞）を読み出す読み出しデバイスと前記第１の冗長読み出しデバイス（ＳＡ＜Ｒ１＞）とに接続されており、
前記第１の選択回路（３００）は、前記第１のアドレスと前記第１の活性信号とを受信し、前記第１の活性信号が存在した場合に、前記第１のアドレスのコマンドに基づいて、１つを除く全てのワードビットを読み出す前記読み出しデバイスと前記第１の冗長読み出しデバイスとに前記第１の出力を接続する、請求項１３、１４、１７のいずれか１項に記載のデバイス。
【請求項２４】
前記冗長データは、少なくとも１つの第２のアドレス（ＮＥＤＣ２）と１つの第２の活性信号（ＲＤＣ）とを含み、
前記冗長部（２）は、第２の冗長読み出しデバイス（ＳＡ＜Ｒ２＞）に接続された第２の冗長カラム（３２０）をさらに含み、
第２の選択回路（３０１）は、第２の入力と第２の出力とを有し、
前記第２の入力は、前記第１の出力と前記第２の冗長読み出しデバイス（ＳＡ＜Ｒ２＞）とに接続され、
前記第２の選択回路は、前記第２のアドレスと前記第２の活性信号とを受信し、前記第２の活性信号が存在した場合に、前記第２のアドレスのコマンドに基づいて、１つを除く全ての前記第１の出力と前記第２の冗長読み出しデバイスとに前記第２の出力を接続する、請求項２３に記載のデバイス。
【請求項２５】
前記冗長部（２）は、複数のロウ（３５３）によって形成される補助セクタ（３５２）を含み、
前記補助セクタの各ロウは、前記複数のメモリユニット（１６０）のそれぞれのメモリユニットに関連付けられている、請求項１７〜１９のいずれか１項に記載のデバイス。
【請求項２６】
前記補助セクタ（３５２）の各ロウ（３５３）は、前記複数のスタンダードセクタ（１５）のうちプリセットされたそれぞれ１つのスタンダードセクタに関連付けられており、各メモリユニット（１６０）に格納されている前記アドレス情報は、前記補助セクタのそれぞれのロウに関連付けられたスタンダードセクタのロウを識別するロウアドレスを含む、請求項２５に記載のデバイス。
【請求項２７】
前記アドレス情報のそれぞれは、セクタアドレスとロウアドレスとを含み、
前記セクタアドレスは、前記複数のスタンダードセクタ（１５）のうちの１つのスタンダードセクタを識別し、前記ロウアドレスは、前記複数のスタンダードセクタのうちの前記１つのスタンダードセクタの１つのロウを識別する、請求項２５に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消去／プログラミングに不具合を生じた不揮発性メモリ装置の自己修復方法およびそれに関連した不揮発性メモリ装置に関する。
【背景技術】
【０００２】
周知のように、数メガバイトの半導体不揮発性メモリ装置（ＥＰＲＯＭもしくはフラッシュメモリ）においては、全体の面積における相当の割合、例えば４０％から７０％をセルアレイが占めている。不揮発性メモリが適用されるような場合においては、概装置の作動中（読み出し、プログラミング、および消去）にアレイ内のすべてのセルが完全に機能することが求められる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
理論上では、正しく動作しないセルが１つでもあれば、メモリ装置全体が使用不能になるには十分である。どんな製造ロットにおいても欠陥のメモリセルが生産される確率がゼロではない以上、この種の集積装置の工業生産において、この事実は非常に重要である。
【０００４】
欠陥ビットを検出・修正するための解決法がなければ、完全に動作するメモリセルを有する装置を特定の製造ロットにおいて得る確率は極めて低く、大規模な工業生産における観点から受け入れ難いものである。この確率はいわゆるロットの「主歩留まり」（ｐｒｉｍｅ  ｙｉｅｌｄ）を示しており、ある生産プロセスの優秀さを示す数値を表している。
【０００５】
最終製造工程におけるメモリ装置の歩留まりを向上するために、欠陥ビットを認識し修正するための回路上の解決手段が用いられてきている。一般に、この目的のために採用された技術では、メモリアレイを構成するメモリセルに加えて、当該する欠陥アレイセルと取り換えるためのメモリセルが用いられている。このように冗長セルとして用いられ、定義されるセルは、アレイセルと同様のものである。それらは、通常はすでに装置内に設けられている回路によって適切に制御されなければならない。
【０００６】
詳細には、欠陥セルが1つだけであってもそれに対応するアレイのロウもしくはカラムを取り換えることができるように、冗長セルからなるロウもしくはカラムを全体として用いてメモリを構成することが好ましい。このように、欠陥を修正する能力と冗長セルを制御するための回路に必要な面積との間で妥協点を見出すこととなる。
【０００７】
通常は、冗長は電気ウェハ分類（ＥＷＳ）ステップにおいて活性化し、その間に適切な検査フローを経て問題のあるセルが認識され、冗長セルと取り換えられる。従って、ロウの冗長でもカラムの冗長でも、冗長によって修正が可能なのは、時間ゼロにおける欠陥のみである。すなわち、工場内においてのみである。
【０００８】
例えば、サイクリングのため、あるセルにおいて相当なゲインの減少が起きたとすると、概セルは、消去およびプログラムステップを終えることができなくなってしまい、結果として装置全体が不良となってしまう。
【課題を解決するための手段】
【０００９】
従って、本発明の目的はメモリの動作中に起こる欠陥の問題を解決するための方法を提供することである。
【００１０】
本発明によれば、請求項１および１４でそれぞれ定義されるように、方法と不揮発性メモリ装置とが提供される。
【図面の簡単な説明】
【００１１】
【図１】プログラミングエラーもしくは消去エラーの場合に自己修正処理を実行するメモリを示すブロック図である。
【図２】カラム冗長を用いて実行される消去動作のフロー図である。
【図３】ロウ冗長を用いて実行される消去動作のフロー図である。
【図４】図１の一部を詳細に示すブロック図である。
【図５】他の実施の形態において、図４の一部を詳細に示した図である。
【図６】図１の他の部分を詳細に示すブロック図である。
【図７】図４に示した構造において使用可能な、図１の一部を詳細に示すブロック図である。
【図８】図５に示した構造において使用可能な、図１の一部を詳細に示すブロック図である。
【図９】単一の欠陥部分に関してカラム冗長を用いて実行されるプログラミング動作を示すフロー図である。
【図１０】図１の一部を詳細に示すブロック図である。
【図１１】図１０に示した部分の変形例を示す図である。
【図１２】図１のメモリの一部を示すブロック図である。
【発明を実施するための形態】
【００１２】
ここで、本発明をよりよく理解するために、添付の図面を参照にして好適な実施形態の説明をおこなう。なお、概実施形態は本発明を限定するものではない。
【００１３】
本発明は、書き込みおよび／または消去動作中（すなわちメモリの通常動作中）に１つ以上の欠陥セルが検出された時に、メモリ自身による内部自己修復および／または自己代替処理を起動することに基づいている。この方法により、捨てることなく継続してメモリを用いることが可能になる。
【００１４】
本発明の一形態によれば、消去が不良であった際に動作し、冗長リソースを用いる方法と構造が提供される。概方法では、欠陥が原因で消去が不完全となったのはいつなのかという検査と、欠陥セルを取り換えるための十分なリソースがあるかの検査とを行うことが考えられる。
【００１５】
本発明の他の一形態によれば、プログラミング（書き込み）が不良であった場合に動作する方法と構造が提供される。この場合においては、セクタ全体にカラム冗長を行うと、すでにプログラミングが終了している他のロウのビットをシフトさせることになってしまうという問題が生じる。解決法の１つとしては、欠陥セルの全アドレスを不揮発性冗長レジスタに記録することがある。あるいは、欠陥セルを含んだロウ全体が内部で交換されたアドレス、すなわち冗長されたアドレスで駆動される小さなセクタを設けることが考えられる。他の選択肢としては、プログラミングを実行するのに必要とされる時間の量が重要な要因ではない場合に、ＥＷＳの最中にプログラム時間を犠牲にして実行されるカラム冗長と同様の方法も考えられる。
１．消去不良
消去中における欠陥の処理に関する問題は、全て「１’」をメモリアレイに書き込むので推測的に全てのセルの内容を知ることができることに関連している。本解決法によれば、メモリは欠陥が検出された際に用いることができる冗長リソースを有している。詳細には、消去の最後もしくは消去の前に、消去されたもしくは消去されるセルの確認すなわち検査が行われる。もし残りの冗長リソースと互換性のある欠陥（例えば、欠陥ロウもしくは欠陥カラム）のために消去が不完全となった場合には、冗長が活性化する。すなわち、欠陥部分のアドレスが、適切に設けられ不揮発性セルを含んだメモリユニット（ＣＡＭもしくはＵＰＲＯＭ）に書き込まれる。冗長セルは、装置の寿命が続く限り常に準備の整った状態でいなければならないので、それらが必要となった時に完璧に機能するように各消去サイクルにおいてソフト・プログラムされなければならない。
【００１６】
ここで、以下に説明される解決法をよりよく理解するために、図１を参照して、本発明において用いられるメモリ装置の構造の簡単な説明をおこなう。
【００１７】
図１は、以下において説明するように、消去もしくはプログラム不良の場合に、ＥＷＳ中および内部において冗長を活性可能なメモリの（内部での冗長を処理する部分に関する）構造図を示している。メモリはロウ冗長、カラム冗長もしくはセクタ冗長を実行可能である。
【００１８】
図１において、メモリ装置２０はメモリブロック１を備え、メモリブロック１は、周知のように、メモリアレイ、ロウアドレス回路およびカラムアドレス回路、および読み出し回路（センスアンプ）を含んでいる。メモリアレイは、周知のように、複数のスタンダードセクタ１５からなり、各セクタ１５はそれぞれ複数の不揮発性セル１４を含んでいる（図１にはその１つだけを示す）。さらに、メモリアレイは概略に例示された冗長部２を備えている。当然、冗長部２の構造および物理的配置は、ロウ冗長、カラム冗長、またはセクタ冗長のどれが用いられるかによって決まる。冗長部２の配置および構造の例としては以下における様々な実施形態に従って説明される。
【００１９】
制御ユニット３は、実行される動作の信号Ｒ／Ｅ／Ｐ（ｒｅａｄｉｎｇ、ｅｒａｓｉｎｇ、もしくはｐｒｏｇｒａｍｍｉｎｇ）を外部から受信し、欠陥メモリ信号Ｆを発信し、メモリブロック２に適切なバイアスを供給するバイアス電圧発生回路４を制御する。
【００２０】
ＵＰＲＯＭバンク５はアドレス修正信号および、アドレスされるセルのアドレスＡＤＤを受信する。さらにＵＰＲＯＭバンク５は、それぞれ冗長の活性および冗長を必要としているセルのアドレスを示す信号ＮＥＤＣおよびＲＤＣを冗長マルチプレクサ６に送る。アドレスＡＤＤはさらにメモリブロック１にも供給される。
【００２１】
冗長マルチプレクサ６はメモリブロック１からの読み出しビットＳＡを受信し、プログラム制御信号ＰＬＢをメモリブロック１に供給する。さらに、冗長マルチプレクサ６は冗長データＤＡＴＡＣを確認ブロック７に供給し、後にプログラム制御信号ＰＬＣを受け取る。
【００２２】
冗長マルチプレクサ６によって出力された冗長データＤＡＴＡＣは、制御ユニット３によって制御される第１のスイッチ８を通じて確認ブロック７に供給される。冗長データＤＡＴＡＣはさらに、制御ユニット３によって制御される第２のスイッチ９を通じてメモリ装置２０の出力１０に供給される。出力１０はデータピンによって形成してもよいし、同一チップ内に組みこまれた他の装置に接続してもよい。出力１０の上段には、入出力ロジック（図示せず）が設けられており、一度に１ワード（８／１６／３２ビット）のビットの入出力が可能となっている。
【００２３】
さらに、確認ブロック７は制御ユニット３との間で制御信号Ｓの交換を行う。特に、図２、３および９を参照してより詳細に説明するように、確認ブロック７は活性信号を受け、結果確認信号を送る。また、確認ブロック７は外部から入力データＩＮＤＡＴＡを受け取り、入力データＩＮＤＡＴＡと冗長データＤＡＴＡＣとを比較する。
【００２４】
図１において、ＵＰＲＯＭバンク５は特定のＵＰＲＯＭセットを２つ備えている。すなわち、通常の冗長に関するデータを記憶できるようにＥＷＳステップで初期設定されたＵＰＲＯＭからなる第１のセット５ａと、内部の冗長に用いられるＵＰＲＯＭからなる第２のセット５ｂである。あるいは、ＵＰＲＯＭのセットをさらに２つ持つことも可能であるが、内部において活性可能な冗長においては、ＥＷＳステップの終了時点で用いられていなかったＵＰＲＯＭバンク５の第２のセット５ｂと第１のセット５ａのＵＰＲＯＭとの両方を用いることも可能である。他には、ＵＰＲＯＭのセットを１つ設け、ＥＷＳステップで用いられなかったＵＰＲＯＭを内部での冗長に用いることも可能である。
１．１  カラム冗長
本解決法においては、図１に示したメモリ構造を用い、そのフローチャート図２に示す。この場合、図１０に示す構造によれば、冗長部２は各セクタ内の１つ以上のカラムからなる。以下にその詳細な説明を行う。
【００２５】
まず、ステップ３０において、いくつかのカウンタ、すなわち付加パルスカウンタＴ、消去パルスカウンタＡ、カラムカウンタＣおよびロウカウンタＲがゼロにセットされる。
【００２６】
次に、ステップ３１において消去パルスがセクタ全体に送られ、ステップ３２において第１のワードの１つ（カウンタＲおよびＣによって指定される）の確認読み出しが行われ、確認の結果、好ましい結果が得られたビットの数Ｎがカウントされる。確認の結果、いくつかのセルに関して、同時に読み出されたセルの数Ｎｍａｘ（例えば６４セル）から設置された冗長セルの数Ｒｉｓを引いた数に相当する閾値をＮが下回った場合には（ブロック３３からＮＯに進む）、消去パルスカウンタＡが増加され（ステップ３４）、消去パルスの最大値ＡMAXにまで達したかどうかの確認が行われる（ステップ３５）。最大値まで達していた場合（ブロック３５からＹＥＳに進む）、欠陥メモリ信号Ｆを発生し（ステップ３６）、処理は終了する。一方、最大値まで達していない場合には（ブロック３５からＮＯに進む）、ステップ３１において新たな消去パルスが供給される。
【００２７】
確認によって少なくともＮｍａｘ−Ｒｉｓのセルに関して肯定的な結果が出された場合には（ブロック３３からＹＥＳに進む）、同時に読まれた全てのセルが消去されたかどうかを検査する（例えばＮ＝Ｎｍａｘ＝６４かどうか）（ステップ３７）。その結果がＹＥＳであれば、ステップ３８へと進み、すべてのカラムが確認されたかどうかの検査を行う。すべてのカラムが確認されていないという結果が出た場合には、ステップ３９に進み、カラムカウンタＣが増加し、付加パルスカウンタＴがゼロにリセットされ、ステップ３２に戻り新たな確認読み出しが実行される。
【００２８】
すべてのカラムが確認されている場合には（ステップ３８からＹＥＳに進む）、すべてのロウが確認されているかどうかを検査する（ステップ４０）。すべてのロウが確認されていないという結果が出た場合には、ステップ４１に進み、ロウカウンタＲが増加し、カラムカウンタＣと付加パルスカウンタＴとがゼロにリセットされる。そして、ステップ３２に戻り確認読み出しが実行される。すべてのロウが確認されている場合には処理を終了する。
【００２９】
確認読み出しの終了時に消去されていないセルの数がゼロではなくＲｉｓと等しいもしくはそれ以下である場合には（ステップ３７からＮＯに進む）、付加パルスカウンタＴが増加し（ステップ４２）、Ｔが最大値Ｔｍａｘと等しいかどうかの検査が行われる（ステップ４３）。Ｔｍａｘと等しくない場合には（ステップ４３からＮＯに進む）、ステップ３１に戻り新たな消去パルスが供給される。Ｔｍａｘと等しい場合には（ステップ４３からＹＥＳに進む）、利用可能な冗長リソースが十分にあるかどうかの検査が行われる（ステップ４４）。十分でなければ（ステップ４４からＮＯに進む）、欠陥メモリ信号Ｆを発生し（ステップ４５）、処理を終了する。もし利用可能な冗長リソースが十分にある場合には（ステップ４４からＹＥＳに進む）、ＵＰＲＯＭバンク５（図１参照）に欠陥セルを含んだカラムのアドレスが書き込まれる（ステップ４６）。そうして、冗長を活性化し、すなわち、欠陥セルを含んだカラムを冗長カラムと交換し、新たな確認読み出しが行われる（ブロック４７）。読み出されたすべてのセルに関してＮがＮｍａｘと等しければ（ステップ４８からＹＥＳ進む）、他のワードに対する確認読み出しを進めるためにステップ３８の処理へと進む。ＮがＮｍａｘと等しくなければ（ステップ４８からＮＯに進む）、欠陥メモリ信号を発生し（ステップ４９）、処理を終了する。
【００３０】
カラム冗長を実行する際に、一度に１つのカラムを交換する必要がないということが重要な点である。交換可能なカラムの最小数（以下カラムパケットと称する）は、技術的条件および利用可能なエリアに従って、設計フェイズにおいて構築される。実際、カラムパケットがｎ個のカラムを含んでいるとすると、冗長が活性化している時はいつでも、ｎ個のカラム（その中の１つが欠陥ビットを含んでいる）がｎ個の冗長カラムと交換される。
【００３１】
カラムパケットが大きくなるにつれて、交換されたすなわち冗長されたアドレスを記憶するために必要なメモリ素子は減少することは明らかである。実際、４個のカラムからなるカラムパケットの場合、交換されたカラムのアドレスは完全なアドレスより２アドレスビット少ない。
【００３２】
説明したフローチャートにおいて、Ｒｉｓは利用可能なカラムパケット数を表しており、必ずしも交換されたアレイカラムの数に一致しない。４個のカラムを持つカラムパケットが２個それぞれ利用可能な場合は、交換されたカラムの数は８つとなる。
１．２  ロウ冗長
本解決法においては、図１に示した構造と同様の構造を用い、そのフローチャート図３に示す。図１に示した構造との違いは、（少なくとも内部冗長に関する限り）冗長マルチプレクサ６が設けられていないこと、およびＵＰＲＯＭバンク５の一部５ａの出力がメモリブロック１へ直接供給されていて、機能不全セルを１つ以上含んだロウが読み出される時に欠陥ロウを処理せず、冗長ロウが自動的にアドレスされることである。簡略にアドレスするために、冗長ロウはスタンダードセクタ内に設けられることが好ましい。あるいは、図１２を参照して以下に説明されるように、別に設けられた補助セクタ内に設けることも可能である。
【００３３】
特に、図３は、メモリアレイのロウ間に短絡が存在する場合を示している。一般に、探索方法は、メモリの寿命の間に修復される欠陥の種類および技術的問題によって設計段階において発生した欠陥の種類に応じて決まる。
【００３４】
短絡を認識するには、適切な短絡検査を用いる。例えばＥＰ−Ａ−１，０８３，５７５号公報に記載の検査が使用可能である。
【００３５】
このような検査においては、デコーダがＣＭＯＳバイナリタイプであるとすると、充電の際の過渡現象が収まると、ロウデコーダの供給ラインには電流が流れないはずである。もし電流が検出された場合には、短絡が存在することになる。しかしながら、短絡したロウの数は分からない。
【００３６】
いくつのロウが関わっているのかを確認するために、本実施の形態においては、まずロウをスキャンする。短絡が確認されたら、冗長されたロウの最小パケットに属するすべてのロウを同時に選択し検査を繰り返す。検査の結果、短絡が確認されない場合には、短絡したラインのセットが確認されるまでもしくは利用可能な冗長リソースを使いきるまで、次のロウのパケットを選択する。
【００３７】
詳細には、消去を実行する前に、まずメモリが交換されるロウを探索する。このために（図３参照）、ステップ１００において、ロウカウンタＲとロウパケットカウンタＰ（上記の通りロウのパケットは冗長可能な最小数のロウを備えている）をゼロにセットする。
【００３８】
次に、ステップ１０１において、例えば、ＥＰ−Ａ−１，０８３，５７５号公報に記載の検査を実行することによって、ロウが短絡しているかどうかの検査を行う。検査によっても短絡が検出できなかった場合には（確認ブロック１０２からＹＥＳに進む）、ロウカウンタが増加する（ステップ１２１）。逆に、短絡が検出された場合には（ブロック１０２からＮＯに進む）、検査された直後のロウを含んだロウのパケット全体を選択し、ロウパケットカウンタＰが増加する（ステップ１０３）。そして、選択されたばかりのパケットに対して使用可能な冗長リソースがあるかどうかの検査を行う（ステップ１０４）。ない場合には（ブロック１０４からＮＯに進む）、欠陥メモリ信号を発生し（ステップ１０５）、処理を終了する。逆に、ある場合には（ブロック１０４からＹＥＳに進む）、パケットのすべてのロウを同時に選択しながらパケット全体に対して検査を繰り返す（ステップ１１０）。選択されたロウのパケットもしくはパケットのロウのいくつかがメモリアレイの他のロウと短絡している場合には（確認ブロック１１１からＮＯに進む）、ステップ１０３に戻り、前に選択されたパケットと同時に検査されるロウのパケットをさらに選択して、ロウパケットカウンタを増加する。
【００３９】
選択されたパケットに属するロウがアレイの他のロウと短絡していない場合には（ステップ１１１からＹＥＳに進む）、選択されたパケットの冗長を活性化する（ステップ１１２）。そのために、冗長の活性化を発信するガードビット、欠陥ロウのパケットのアドレス、および冗長ロウパケットのアドレスをＵＰＲＯＭバンク５の１つ以上のＵＰＲＯＭに書き込む（図１参照）。
【００４０】
次に、ステップ１１３において、冗長ロウが機能することを確かめるために、冗長パケットに対して短絡検査を行う。冗長ロウが機能しないという結果の場合は（ステップ１１４からＮＯに進む）、欠陥メモリ信号を発生し（ステップ１１５）、処理を終了する。反対に、冗長ロウが機能するという結果が出れば（ステップ１１４からＹＥＳに進む）、パケットカウントがリセットされ（ステップ１２０）、次のロウに対して検査を行う。
【００４１】
最後に、ステップ１２１においてロウカウンタＲが増加し（ステップ１０２においてＹＥＳに進んだ際にも行われる）、すべてのロウに対して審査が行われたかどうかを検査する（ステップ１１２）。行われていなければ、ステップ１０１に戻り選択されたばかりのロウに対して短絡検査を行う。行われているなら、活性化されたばかりの冗長セルを含んだセクタの消去が行われる（ステップ１２３）。
１．３  セクタ冗長
本解決法は、消去動作の前もしくは後に行われた検査によって欠陥セルの存在が明らかになった際に、メモリアレイのスタンダードセクタと完全に交換可能な「冗長セクタ」と呼ばれる特別なセクタが設けられていることに基づいている。この場合、欠陥が検出されたスタンダードセクタは特別な冗長セクタと完全に交換される。図４から８を参照して以下に詳細に説明するように、セクタの冗長の活性化に関する情報は、図１に示したものと同様のＵＰＲＯＭバンクに属するＵＰＲＯＭに記憶されている。一方、一般的には、以下に詳細に説明されるように、（少なくとも内部の冗長に関する限り）冗長マルチプレクサ６が設けられていないこと、および内部の冗長に関するＵＰＲＯＭバンク５の出力が冗長マルチプレクサ６には供給されていないが、メモリブロック１の特別なアドレスユニットに供給されていること以外は、図１の構造は本解決法においても有効である。従って、以下においてＵＰＲＯＭバンクは再び参照番号５によって識別される。
【００４２】
特に、ＵＰＲＯＭバンク５はパラレル構造もしくはマトリクス構造で構成することが可能である。
【００４３】
第１の解決法（パラレル構造）を図４に示す。ＵＰＲＯＭバンク５は、例えばフラッシュセルなどの、概略に示された複数の不揮発性メモリ素子１５０を備えている。詳細には、各メモリ素子１５０は、拡大して詳細に示しているように単一のフラッシュセルと、それらを流れる全体の電流を増加するために並列に接続された複数のフラッシュセルとを備えている。
【００４４】
不揮発性メモリ素子１５０は一列に並んでおり、メモリ装置が作動した時に活性信号が供給される単一の制御線１５１に接続されている。不揮発性メモリ素子１５０はそれぞれ組みになって、図４に拡大して詳細に示されているように同様の構造を有するロジックブロック１５２および１５２ａに接続されている。すなわち、各ロジックブロック１５２および１５２ａ（ＣＡＭ  ＬＯＧＩＣと表されている）は、読み出し回路１５３と、各メモリ素子に１つずつ設けられた例えばラッチ１５４などの複数の一時メモリ素子とを備えている。このように、不揮発性メモリ素子１５０の各組がそれぞれのロジックブロック１５２、１５２ａと合わさって、メモリユニットすなわちＵＰＲＯＭ１６０を形成している。
【００４５】
メモリ装置が作動すると、ロジックブロック１５２、１５２ａは、バイアスするか、不揮発性メモリ素子１５０を読み出すか、各素子の内容をそれぞれのラッチ１５４に記憶するかを決定する制御信号を受信する。そうして、メモリの通常の動作中に、不揮発性メモリ素子１５０に記憶された情報が、ロジックブロック１５２、１５２ａの出力において利用可能となり、必要な時に使用することができる。
【００４６】
図１と同じように、本解決法においても、ＵＰＲＯＭバンク５は、（それ自体は既知のやり方での）メモリ動作およびＥＷＳ中の冗長に必要なデータを記憶し、そのロジックブロックは参照番号１５２によって示されている第１の部分５ａと、冗長活性化可能な内部に相当し、そのロジックブロックは参照番号１５２ａによって示されている第２の部分５ｂとを備えている。
【００４７】
特に本実施の形態における第２の部分５ｂでは、各組における不揮発性メモリ素子１５０（ロジックブロック１５２ａに接続されている）が、セクタカラム内の冗長されるセクタのそれぞれに関するデータを記憶するようになっている。
【００４８】
これに関連して、図６を参照する。図６においては、Ｍ個のセクタ１５（例えば５１２個のセクタ）がＪ個のセクタロウ１８１（例えば６４個のロウ）およびＫ個のセクタカラム１８２（例えば８個のカラム）上に配置されているメモリアレイ１７０の構造が示されている。グローバルカラムデコーダ１８３（読み出し回路を備える）は、アレイの中心のロウに、すなわち上部セクタの３２個のロウと下部セクタの３２個のロウの間に配置されている。グローバルカラムデコーダ１８３はカラムアドレス信号ＹＭ＜１５：０＞を受信する。さらに、グローバルカラムデコーダ１８３は、必要なバイアスをバイアス電圧発生回路４（図１参照）から受信し、読み出しされたデータＳＡを出力する。図示はしていないが、グローバルカラムデコーダ１８３はさらにそれ自体は既知の方法でプログラム制御信号を受信し、さらにプログラムされるセル同士を接続するためのスイッチを備えている。
【００４９】
冗長セクタ１８５ａ、１８５ｂは各セクタカラムの上部および下部に配置されている。全体では８個の上部冗長セクタ１８５ａと８個の下部冗長セクタ１８５ｂが設けられており、実際にはそれらが図１の冗長部２を形成している。
【００５０】
最終ロウデコーダ１８８はセクタロウアドレス信号ＲＸ（それぞれのセクタロウ１８１を識別する）とロウアドレス信号ＬＹ、ＬＺ（セクタ１５内のそれぞれのロウを識別する）とを受信し、メモリアレイ１７０のワード線へのロウバイアスを発生する。上部ロウドライバ１８９ａは上部冗長セクタ１８５ａに連結しており、下部ロウドライバ１８９ｂは下部冗長セクタ１８５ｂに連結している。そして、ロウドライバ１８９ａおよび１８９ｂは、ロウアドレス信号ＬＹおよびＬＺだけではなく冗長セクタアドレス信号ＬＸＲＲも受信する。図示されていないが、ロウデコーダ１８８およびロウドライバ１８９ａ、１８９ｂは共に図１のバイアス電圧発生回路４から必要なバイアスを受ける。
【００５１】
交換されるセクタがグローバルカラムデコーダ１８３の上部および下部のどちらに配置されているかによって、冗長セクタ１８５ａおよび１８５ｂのうち一方だけが各セクタカラム１８２に対して用いられる。
【００５２】
上述のような構造を有するタイプのメモリアレイ１７０においては、ＵＰＲＯＭバンク５（図４参照）の第２の部分５ｂは５６個の不揮発性メモリ素子１５０を備えている。すなわち、７個の不揮発性メモリ素子１５０が８セットであり、不揮発性メモリ素子１５０の各セットはセクタカラム１８２に連結している。各セットの７個の不揮発性メモリ素子１５０のうち６個は、それぞれのセクタカラム１８２内の交換されるセクタの６個のアドレスビットＡＤＤＳを記憶するためのものであり、７個目のメモリ素子１５０は、それぞれのセクタカラム１８２内でセクタ冗長がすでに活性化しているかどうかを伝えるガードビットＧＢを記憶している。
【００５３】
上述したように、不揮発性メモリ素子１５０の各セットは、読み出し回路１５３に加えて７個のラッチ１５４を備えるロジックブロック１２５ａのそれぞれに接続されている。
【００５４】
各ラッチ１５４の出力は選択回路１９０へと供給されている。図７においてより詳細に示すように、選択回路１９０はさらに、選択されたセクタカラム１８２のアドレスも受信する。
【００５５】
図７はメモリブロックデコード回路１の一部を示しており、メモリブロックデコード回路１はロウプレデコーダ２００および第１のカラムプレデコーダ２０１を含んでいる。さらに、選択回路１９０は第２のカラムプレデコーダ２０２とマルチプレクサ２０３とを備えている。
【００５６】
ロウプレデコーダ２００は、入力部においてアドレスＡＤＤ＜２５、２１：１７＞に相当する６ビットを受信し、図６の最終ロウデコーダ１８８に供給される６４個のセクタロウアドレス信号ＬＸおよびロウドライバ１８９ａ、１８９ｂに供給される冗長セクタアドレス信号ＬＸＲＲを出力する。このために、ロウプレデコーダ２００は、通常のプレデコード回路に加えて比較回路２０５を備えている。比較回路２０５は、交換されるセクタが属しているセクタロウ１８１をアドレスするための６ビットＡＤＤＳ＜２５、２１：１７＞と、ガードビットＧＢとを受信する。ここでは６ビットは選択回路１９０から供給されている。実際には、比較回路２０５は連結回路であり、その時アドレスされたセクタロウ１８１がその時読み出されたＵＰＲＯＭ１６０に記憶されたものと一致するかどうかを判断するために、６ビットＡＤＤＳとアドレスＡＤＤ＜２５、２１：１７＞とを比較する。比較の結果が肯定的であり、ガードビットＧＢの値が内部冗長が活性化していることを示している場合、例えばロジックレベル“１”を有している場合には、比較回路２０５はセクタロウアドレス信号（すでに述べてあるようにセクタロウ１８１を識別する）を外部に送ることを禁止し、冗長セクタアドレス信号ＬＸＲＲを活性化し、元々アドレスされていたセクタ１５とそれに対応する冗長セクタ１８５ａもしくは１８５ｂ（図６参照）との交換を決定する。上部冗長セクタ１８５ａおよび下部冗長セクタ１８５ｂの選択は、カラムアドレス信号ＹＭに従って上部セクタ１５もしくは下部セクタ１５とそれに対応する冗長セクタ１８５ａもしくは１８５ｂとにバイアスをかけるグローバルカラムデコーダ１８３を介して行われる。
【００５７】
第１のカラムプレデコーダ２０１は、それ自体は既知のやり方で、４個のアドレスビットＡＤＤ＜２５：２２＞を受信し、１６個のカラムアドレス信号ＹＭ＜１５：０＞を出力する。
【００５８】
選択回路１９０は４個のアドレスビットＡＤＤ＜２５：２２＞のうち３個、すなわち、ビットＡＤＤ＜２４：２２＞を受信し、マルチプレクサ２０３に供給される８個のセクタカラムアドレス信号ＹＭＣＡＭ＜７：０＞を出力する。マルチプレクサ２０３は、ロジックブロック１５２ａの出力に接続され、受信したセクタカラムアドレス信号ＹＭＣＡＭに基づいて、どのビットをロウプレデコーダ２００に供給するかを選択する。実際には、マルチプレクサ２０３がその時選択されたセクタカラム１８２に連結したロジックブロックの出力とロウプレデコーダ２００すなわち比較回路２０５とを接続することによって、上述のように、冗長が活性化しているのかどうかを確認すること、あるいはセクタロウアドレス信号ＬＸを発生しないようにすること、および冗長セクタアドレス信号ＬＸＲＲの発生を開始することがロウプレデコーダ２００によって可能となる。
【００５９】
図５はＵＰＲＯＭバンク５の構造を示しているおり、図４に示されたパラレルタイプの構造の代わりとして用いられ得るものである。この場合も、ＵＰＲＯＭバンク５は、図４を参照してすでに説明したような、例えばフラッシュセルなどの、概略に表された複数の不揮発性メモリ素子１５０を備えている。不揮発性メモリ素子１５０はロウおよびカラムに配置されており、制御線１５１およびビット線１５５に接続されている。詳細には、同一のロウに並べられた不揮発性メモリ素子１５０は、その制御端子で同一の制御線１５１に接続され、同一のカラムに並べられた不揮発性メモリ素子１５０は、その出力端子の１つで同一のビット線１５５に接続されている。制御線１５１は、ＹＭＣＡＭ＜７：０＞と示される８個のロウアドレス信号ＣＡＭによって（読み出し／書き込み／消去の間）制御されるドライバ１５６によって駆動される。ＹＭＣＡＭ＜７：０＞と示されるのは、内部冗長情報を記憶する不揮発性メモリ素子１５０に関しては、ロウアドレス信号ＣＡＭが図７のセクタカラムアドレス信号ＹＭＣＡＭ＜７：０＞と同様であり、実際に図６のセクタカラム１８２を識別するからである。図８を参照してより詳細に説明するように、ロウアドレス信号ＣＡＭ  ＹＭＣＡＭ＜７：０＞は、アドレスビットＡＤＤ＜２４：２２＞に基づいて選択回路１９５において発生する。
【００６０】
ビット線１５１は、内部冗長情報を記憶する不揮発性メモリ素子１５０に関して、６個のアドレスビットＡＤＤＳおよびガードビットＧＢを出力する、図４のものと同様のロジックブロック１５２、１５２ａに接続される。例えば、内部冗長情報を記憶するための不揮発性メモリ素子１５０はすべて同一のロジックブロック１５２ａに接続され、ロウアドレス信号ＣＡＭ  ＹＭＣＡＭ＜７：０＞によって直接選択される。実際にこの場合においても、同一のロジックブロック１５２、１５２ａに連結され、１つのロウ上に配置されたメモリセル１５０の各セットがそれぞれのロジックブロック１５２、１５２ａと共にＵＰＲＯＭ１６０を形成する。
【００６１】
図８に示すように、選択回路１９５は図７の選択回路１９０を簡略化したものである。特に、マルチプレクサ２０３が設けられておらず、第２のカラムプレデコーダ２０２が、ロウアドレス信号ＣＡＭ  ＹＭＣＡＭ＜７：０＞を（ドライバ１５６を介して）ＵＰＲＯＭ１６０に供給している。さらに、アドレスＡＤＤＳとガードビットＧＢとを供給するロジックブロック１５２ａの出力が比較回路２０５に直接接続されている。図８にはロウプレデコーダ２００とメモリブロック１の第１のカラムプレデコーダ２０１も示されており、それらは図７に示された対応する部分とそれぞれ同様のものである。
【００６２】
アドレスＡＤＤ＜２５：１７＞が受信されると、ロウプレデコーダ２００とカラムプレデコーダ２０１、２０２とがそれぞれのビットをデコードする。詳細には、第２のカラムプレデコーダ２０２が、アドレスされた不揮発性メモリ素子１５０の内容の読み出しが可能となるようにＵＰＲＯＭ１６０を駆動し、アドレスＡＤＤＳとガードビットＧＢとを比較器２０５に供給する。そうして、図７を参照して上述したように、ロウプレデコーダ２００は、内部冗長がすでに活性化しているかどうかに従って、冗長セクタアドレス信号ＬＸＲＲもしくはセクタロウアドレス信号ＬＸを出力する。
【００６３】
そうすることで、消去処理が実行され、スタンダードセクタ１５のセル内の欠陥（欠陥セクタ）が検出された時に、冗長の活性化によって、欠陥セクタが属しているセクタカラム１８２に連結したＵＰＲＯＭ１６０が、欠陥セクタが属しているセクタロウ１８１のアドレスとガードビットＧＢと共に書き込まれる。そして、図７および８を参照して説明したように、それ以降のプログラミング動作および読み出し動作が、セクタロウアドレス信号ＬＸによって活性化した冗長セクタ１８５ａ、１８５ｂに直接実行される。
【００６４】
従来のメモリ構造における遅延が、マルチプレクサ２０３によるロジックブロック１５２ａの出力の選択、ガードビットＧＢの値の確認動作、およびセクタロウアドレス信号ＬＸの冗長セクタアドレス信号ＬＸＲＲとの交換によってのみ起こる場合に限り、図４に示したＵＰＲＯＭバンク５のパラレル構造を用いることで、アクセス時間を最小限度に抑えられる（例えば、電源電圧Ｖｃｃが３Ｖの時は４ｎｓとなり、Ｖｃｃが２．５Ｖのときは６ｎｓとなる）。
【００６５】
冗長セクタがメモリセクタとして正確に作動すれば、このシステムでは消去／書き込みの動作に制限が課されることはない。さらに、修正可能な個々の欠陥の数は極めて高く、１０２４個のセルにおいて１．５個に相当する。
【００６６】
ロジックブロックの数を減らすことが求められているとすると、図５に示したマトリクス構造を用いることで、占有面積の縮小が可能になる。しかしながら、不揮発性メモリ素子１５０の厳密な読み出しを実行する必要があるために、アクセス時間が延長することとなる。
２．プログラム不良
プログラム不良の処理における問題は、冗長を活性化すること（カラム冗長、ロウ冗長、もしくはセクタ全体の冗長であっても）は、すでにプログラム済みの他のロウおよび／またはカラムのビットをシフトすることになることが原因で起こる。実際に、消去とは異なり、プログラム中においては、プログラムされたセルの内容が失われてはならず、さらにメモリの性能を劣化させないこと（少なくとも大幅に劣化させないこと）が望ましい。
【００６７】
以下に、３つの解決法を提供する。それぞれ単一ビットカラム冗長、補助セクタを介しての冗長、およびカラム全体および／またはロウ全体の交換として説明する。加えて、消去不良の場合を参照して説明された方法と全く同様の方法（図４から８参照）でセクタ冗長を行ってもよいが、その方法に関しての繰り返しの説明は行わない。
２．１  単一ビット冗長
単一ビットカラム冗長の場合には、各セクタがいくらかの数の冗長カラムを有している。プログラミングの最後に欠陥セルが検出されると、欠陥セルのアドレスがＵＰＲＯＭバンク５に属したＵＰＲＯＭの１つに完全に記憶され、カラム全体ではなくその欠陥セルが交換される。
【００６８】
図９は、単一ビットカラム冗長の場合におけるプログラミング動作のフローチャートを示している。
【００６９】
まず最初に、ステップ２３０において、付加パルスカウンタＴとプログラムパルスカウンタＡとをゼロにセットする。
【００７０】
続いて、ステップ２３１においてワードのプログラムパルスが送られ、ステップ２３２においてプログラムされたワードの確認読み出しが行われる。確認において好ましい結果が得られたセルの数をＮとする。確認の結果、いくつかのセルに関して、同時に読み出されたセルの数Ｎｍａｘ（例えば６４セル）から設置された冗長セルの数Ｒｉｓを引いた数に相当する閾値よりもＮが少ない場合には（ブロック２３３からＮＯに進む）、プログラムパルスカウンタＡを増加し（ステップ２３４）、消去パルスの最大値Ａｍａｘに達したかどうかの検査を行う（ステップ２３５）。最大値に達している場合には（ブロック２３５からＹＥＳに進む）、欠陥メモリ信号Ｆを発生し（ステップ２３６）、処理を終了する。もし最大値まで達していない場合は（ブロック２３５からＮＯに進む）、新たなプログラムパルスが供給される（ステップ２３１）。
【００７１】
少なくともＮｍａｘ−Ｒｉｓに関するセルの確認においてＮのほうが大きいという結果が出た場合には（ブロック２３３からＹＥＳに進む）、同時に読み出されたセルの全てが正確にプログラムされているかどうか（例えばＮ＝６４かどうか）を検査する（ステップ２３７）。結果がＹＥＳであれば、プログラム処理を終了する。結果がＮＯである場合には（ブロック２３７からＮＯに進む）、付加パルスカウンタＴを増加し（ステップ２４２）、Ｔが最大値Ｔｍａｘと等しいかどうかの検査を行う（ステップ２４３）。等しくない場合には（ステップ２４３からＮＯに進む）、ステップ２３１に戻り、新たなプログラムパルスが供給される。等しい場合には（ステップ２４３からＹＥＳに進む）、利用可能な冗長リソースが十分にあるかどうかの検査が行われる（ステップ２４４）。十分でない場合には（ステップ２４４からＮＯに進む）、欠陥メモリ信号Ｆを発生し（ステップ２４５）、処理を終了する。反対にリソースを十分に利用可能な場合は（ステップ２４４からＹＥＳに進む）、欠陥セルを含んだカラムのアドレスがＵＰＲＯＭに書き込まれ（ステップ２４６）、冗長セルを書き込む（ステップ２４７）。そうして、冗長を活性化して、新たな確認読み出しが行われる。すなわち、新たに書き込まれた冗長セルが欠陥セルの代わりに読み出される（ステップ２４８）。すべてのセルに関してＮがＮｍａｘと等しいという結果が得られれば（ステップ２４９からＹＥＳに進む）、処理を終了する。ＮがＮｍａｘと等しくないという結果の場合には（ステップ２４９からＮＯに進む）、欠陥メモリ信号Ｆを発生し（ステップ２５０）、処理を終了する。
【００７２】
図９を参照して説明したフローを実行することができるメモリの構造は図１に示した構造である。通常、ワードの読み出しの最中に冗長セルもアドレスされて交換が行えるように、存在する冗長リソースは、冗長カラム上であって欠陥セルと同一のロウ上に配置されたセルによって表される。
【００７３】
この場合、１つのセンスアンプが冗長専用として用いられ、読み出されるワードの基本ビットを供給するセンスアンプと並列に作動する。結果として、各ワードに対して１つの欠陥ビットのみを交換することが可能となる。詳細には、図１０に示すように、メモリブロック１は、６５個のビットをマルチプレクサＭＬＸＲＥＤ６に供給し、マルチプレクサＭＬＸＲＥＤ６はそのうちの６４個のみを選択する。
【００７４】
メモリブロック１に関しては、図１０においては、読み出し回路すなわちセンスアンプおよびここではメモリアレイの１つ以上のカラム３２０によって構成される冗長部２のみが示されている。特に、図１０は、通常のセクタ１５内の２つのカラム３２０の配置を表している（従ってこの場合は、冗長部２は様々なセクタに分配されている）。読み出されたワードの各ビットに１つずつで合計６４個のセンスアンプＳＡ＜６３：０＞と読み出された冗長ビットを受信するセンスアンプＳＡ＜Ｒ１＞とが存在する。センスアンプＳＡの出力は、冗長活性信号ＮＥＤＣおよび交換されるセルのアドレスＲＤＣを図１のＵＰＲＯＭバンク５から受信する選択回路３００によって形成された、マルチプレクサＭＵＸＲＥＤ６に接続されている。このために、該技術の当業者には明らかであるように、ロジックブロック１５２ａすなわち選択回路７は、読み出されるワードの完全なアドレスＡＤＤを受信し、そのアドレスをラッチ１５４に存在するアドレスと比較する比較回路要素を備えている。比較されたアドレスが一致し、ガードビットＧＢがアクティブな状態であれば（すなわち、冗長が活性化していれば）、冗長活性信号ＮＥＤＣがアクティブ状態（例えば“０”）にセットされ、交換されるセルのアドレスＲＤＣがマルチプレクサＭＵＸＲＥＤ６に送られる。
【００７５】
図４および５を参照して上述したように、ＵＰＲＯＭバンク５はパラレル構造もしくはマトリクス構造ともにとることができる。
【００７６】
これにより、冗長活性信号ＮＥＤＣがハイのときには、選択回路３００が、受信した６４個のＳＡビットのうちの１つ（アドレスＲＤＣによって特定される）を冗長ビットと交換し、６４ビットの冗長されたデータＤＡＴＡＣを出力する。冗長セルの読み出しは並列して行われており、読み出されたビットＳＡが供給される前に信号ＮＥＤＣは存在しているので、アクセス遅延は存在しない。
【００７７】
同一のワード内で２つ目のビットを交換可能とすることが望ましい場合には、図１１に示すように、第２の冗長センスアンプと第２の選択回路とを付け加えることも可能である。
【００７８】
詳細には、第２の選択回路３０１は第１の選択回路３００にカスケード接続されており、第１の選択回路３００および第２の冗長センスアンプＳＡ＜Ｒ２＞によって出力されたビットを受信する。さらに、第２の選択回路３０１は自身の冗長活性信号ＮＥＤＣ２と交換される第２のセルのアドレスＲＤＣ２とを受信する。
【００７９】
この場合、第１の選択回路３００によって行われる交換に加えて、第２の選択回路３０１が、第２の冗長センスアンプＳＡ＜Ｒ２＞の出力を用いて、第１の選択回路３００から受けたビットの内の１つを交換する第２の交換を実行可能となる。この場合においても、アクセス遅延は起こらない。
【００８０】
もちろん、冗長センスアンプと選択回路をさらに設けることによって、回路の複雑さは増すこととなるが、２ビットより多い数のビットを修正することが可能である。
２．２  補助アレイセクタ
本解決法によれば、小さな補助セクタがメモリアレイ内に存在し、その補助セクタのロウは、メモリのスタンダードセクタ内の不適当なワードと交換される修正されたワード全体を記憶するように設計されている。
【００８１】
一例としては、補助セクタは、メモリアレイのセクタの数に比例した数のロウを有しており、補助マトリクスの各ロウ（もしくはロウの各グループ）は、厳密に自身のセクタに連結されている。この場合、メモリ構造は図１に示したものと同様であるが、（少なくとも内部冗長に関する限り）冗長マルチプレクサ６が設けられていないこと、および機能不全セルを１つ以上含んだロウが読み出される時に補助セクタに相当するロウが自動的にアドレスされるように、ＵＰＲＯＭバンク５の一部５ａの出力がメモリブロック１へ直接供給されていることが異なっている。
【００８２】
上述の解決法を図１２に模式的に示す。その中で、メモリブロック１は、複数のスタンダードセクタ１５を備えたスタンダード部３５０と、複数のロウ３５３を備えた（図１の冗長部２を構成する）補助セクタ３５２とからなるメモリアレイ１７０を備えている。
【００８３】
ここでは、各スタンダードセクタ１５は厳密に補助セクタ３５２のロウ３５３に連結されている。ロウ３５３は、プログラミングもしくは消去動作に伴ってエラーが検出された時に、自身に連結しているスタンダードセクタ１５のロウの内の１つの内容を記憶する。
【００８４】
この場合、図１のＵＰＲＯＭバンク５は、補助セクタ３５２のロウ３５３の数と同数のＵＰＲＯＭ１６０（従ってスタンダードセクタ１５と同数である）を備えており、各ＵＰＲＯＭ１６０は、スタンダードセクタ１５の交換されたロウのアドレスと冗長が活性化したのかどうかに関する情報を記憶しているガードビットとを記憶する。ここでは、ＵＰＲＯＭという語は、アドレス情報とガードビットとを記憶するための、メモリ素子とバイアスおよび読み出し回路のセットを示している。また、ＵＰＲＯＭ１６０は、図４に示したパラレル構造もしくは図５に示したマトリクス構造をとることが可能である。
【００８５】
この場合における補助セクタ３５２の消去はロウによって行われなければならない。すなわち、スタンダードセクタ１５が消去される時には、それに連結した補助セクタロウ３５２のロウ３５３も消去されなければならないのである。
【００８６】
あるいは、スダンダードセクタ１５と補助セクタ３５２のロウ３５３との厳密な連結を取らない場合もある。その代わりに、ＵＰＲＯＭ１６０が補助セクタのロウに厳密に連結される。この場合、ＵＰＲＯＭバンク５の各ＵＰＲＯＭ１６０には、取り換えられるロウのアドレスとガードビットとが記憶されるだけでなく、取り換えられるロウを含むスタンダードセクタ１５のアドレスも記憶される。
【００８７】
この場合においても、補助セクタの消去は単一ロウ処理に基づいて行われる。
２．３  カラム／ロウ冗長
他の例としては、現在、ＥＷＳの間に活性化される冗長に用いられているようなカラム冗長、すなわち、プログラムステップにおける確認の最中に不適切なビットが検出されたカラムが冗長用のカラム全体と取り換えられる、スタンダードタイプのカラム冗長を行うことが考えられる。あるいは、ロウ冗長を用いることも可能である。
【００８８】
上述した解決法では、書き込み時間の延長が起こるが、時間が重要な要素でない場合に用いることが可能である。
２．４  セクタ冗長
すでに指摘の通り、消去動作に関して図４から８を参照して説明したのと同様に、セクタ冗長をプログラミングの場合に用いることも可能である。
【００８９】
ここで説明される方法と構造とによれば、通常の最大数の消去／プログラムパルスが供給された後にデータを正確に記録できない時に、消去動作もしくはプログラミング動作後の通常の動作中にメモリの内部自己修復を行うことが可能となる。よって、欠陥のメモリ装置を調査して交換する必要がなくなる。結果として、メモリの寿命が相当に増加されることになり、相当のコスト削減が可能となる。
【００９０】
いずれにしても、ここで説明された自己修復方法とその構造を工場内のＥＷＳ検査ステップに適用し、そのフローを簡略化することができる。具体的には、メモリ装置はそれ自体がその機能性を確認するのに用いられるさまざまなパターンを生成可能であり、さらに自身による修正を行うことが可能となっている。ＥＷＳ中にこの手段を適用することは、例えば、通常の検査が非常に高価であるか複雑である場合、すなわち画像を記録するのに用いられる装置などにおいて有効である。実際は、このような場合にはＥＷＳ検査はそんなに頻繁には実行されないので、自己修復不能な欠陥装置と自己修復可能で適切に機能する装置とを識別することはできないのである。
【００９１】
最後に、添付の請求項によって定義された本発明の範囲において、ここで説明され図示された自己修復法およびメモリ装置を種々変更し得ることは言うまでもない。
【図１】
2010165456.tif 000003
【図２】
2010165456.tif 000004
【図３】
2010165456.tif 000005
【図４】
2010165456.tif 000006
【図５】
2010165456.tif 000007
【図６】
2010165456.tif 000008
【図７】
2010165456.tif 000009
【図８】
2010165456.tif 000010
【図９】
2010165456.tif 000011
【図１０】
2010165456.tif 000012
【図１１】
2010165456.tif 000013
【図１２】
2010165456.tif 000014