(57)【要約】半導体基板（３０２）に作製されたフラッシュメモリセル（３０４）を試験するためのＢＩＳＴ（組込み自己試験）システム（３００）において、ＢＩＳＴ（組込み自己試験）インタフェース（３１２）、フロントエンド状態機械（３１４）、バックエンド状態機械（３１６）が半導体基板（３０２）に作製されている。ＢＩＳＴインタフェース（３１２）は、外部試験システム（３１８）から試験モードデータを入力し、フロントエンド状態機械（３１４）は、試験モードデータをデコードして、少なくとも１つの所望の試験モードを実行する順序を決定する。バックエンド状態機械（３１６）は、フラッシュメモリセル（３０４）のオンチップ試験のため、この順序に従って、フラッシュメモリセル（３０４）に少なくとも１つの所望の試験モードを実行する。
2005534131.tif 000002
【特許請求の範囲】
【請求項１】
半導体基板（３０２）に作製されたフラッシュメモリセル（３０４）の試験方法であって、
前記半導体基板（３０２）にＢＩＳＴ（Built-In-Self-Test:組込み自己試験）インタフェース（３１２）とバックエンド状態機械（３１６）とを作製するステップと、
前記ＢＩＳＴインタフェース（３１２）によって外部試験システム（３１８）から試験モードデータを入力するステップと、
前記フラッシュメモリセル（３０４）のオンチップ試験のため、前記試験モードデータに指定されるように、前記バックエンド状態機械（３１６）によって少なくとも１つの所望のＢＩＳＴモードを前記フラッシュメモリセル（３０４）に実行するステップと、を有する方法。
【請求項２】
前記半導体基板（３０２）にフロントエンド状態機械（３１４）を作製するステップと、
前記少なくとも１つの所望のＢＩＳＴモードを実行する順序を決定するために前記フロントエンド状態機械（３１４）によって前記試験モードデータをデコードするステップと、
前記順序に従って前記少なくとも１つの所望のＢＩＳＴモードを前記バックエンド状態機械（３１６）によって前記フラッシュメモリセル（３０４）に実行するステップと、をさらに有する請求項１に記載の方法。
【請求項３】
前記半導体基板（３０２）に前記ＢＩＳＴインタフェース（３１２）のシフトレジスタ（３２０）を作製するステップと、
１本のＩＯピンを介して前記シフトレジスタ（３２０）に前記試験モードデータを逐次的に入力するステップと、
各所望の試験モードのそれぞれの合否結果を前記シフトレジスタ（３２０）に記憶するステップと、
前記１本のＩＯピンを介して、前記シフトレジスタ（３２０）から前記外部試験システム（３１８）に各所望のＢＩＳＴモードの前記それぞれの合否結果を逐次的にシフトアウトするステップと、をさらに有する請求項１または２に記載の方法。
【請求項４】
前記半導体基板（３０２）に、複数のパターン生成ロジックユニット（１３０２）と、パターンセレクタ（１３０４）と、を作製するステップと、
各パターン生成ロジックユニット（１３０２）によって前記フラッシュメモリセルの位置に対応するそれぞれの論理状態を生成するステップと、
所望のビットパターンを生成するために、前記パターン生成ロジックユニット（１３０２）からの前記それぞれの論理状態の１つを前記パターンセレクタ（１３０４）によって選択するステップと、
ＢＩＳＴモードのために、検証状態中に前記所望のビットパターンを使用するステップと、をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記半導体基板（３０２）にパルスカウンタ（１４０４）とパルスカウンタコントローラ（１４０６）とを作製するステップと、
前記パルスカウンタコントローラ（１４０６）によって最大数を入力するステップと、
消去検証ＢＩＳＴ（組込み自己試験）モード中に、前記セクタに印加された消去パルスの数が前記最大数未満でフラッシュメモリセルのセクタが消去検証に合格しない場合に、前記パルスカウンタコントローラ（１４０６）によって前記セクタの失敗の指標を出力するステップと、をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項６】
前記セクタの対角位置の各フラッシュメモリセルが消去検証に合格するまで、前記セクタに印加された消去パルス数の対角の合計を決定するステップであり、
前記最大数は前記消去パルス数の対角の合計の百分率であるステップと、
最大パルスカウント値（Ｍａｘ＿ＰＣ）から前記それぞれの消去パルス数の対角の合計の百分率を減算した値である少なくとも１つの再ロードカウント値を生成するステップと、
前記少なくとも１つの再ロードカウント値から、前記最大数に対応し、かつ前記パルスカウンタ（１４０４）にロードすべき再ロードカウント値を１つ選択するステップと、
前記セクタの各フラッシュメモリセルの消去検証中に前記セクタに印加された消去パルスの数を前記選択された再ロードカウント値を始点に前記パルスカウンタ（１４０４）によってカウントするステップと、
前記パルスカウンタ（１４０４）が前記Ｍａｘ＿ＰＣに達する前に前記セクタの各フラッシュメモリセルが消去検証に合格しない場合に、前記パルスカウンタコントローラ（１４０６）によって前記セクタの失敗の指標を出力するステップと、をさらに有する請求項５に記載の方法。
【請求項７】
前記半導体基板（３０２）に修復コントローラ（８３２）と複数の電圧源（８３６）とを作製するステップと、
ＢＩＳＴモード中の前記フラッシュメモリセル（３０４）の試験中に不良フラッシュメモリセル（７５０）を検出するステップと、
前記修復コントローラ（８３２）によって前記電圧源（８３６）を制御して、前記不良フラッシュメモリセル（７５０）を対応する前記フラッシュメモリセルの冗長要素（７８２）に置き換えるためにＪＵＩＣＥ状態中にそれぞれのＣＡＭ（内容参照可能メモリ）フラッシュメモリセルにプログラム電圧を印加させるステップと、をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項８】
前記半導体基板（３０２）にＦＡＩＬＲＥＰロジック（８４８）を作製するステップと、
前記ＦＡＩＬＲＥＰロジック（８４８）が、使用可能なフラッシュメモリセルの冗長要素がないか前記不良フラッシュメモリセル（７５０）が以前に修復されていると判定した場合にＨＡＮＧ状態に入るステップと、をさらに有する請求項７に記載の方法。
【請求項９】
前記半導体基板（３０２）に前記バックエンド状態機械（３１６）のための複数の電圧源（５０４）とバックエンドＢＩＳＴコントローラ（５０２）とを作製するステップと、
ＢＩＳＴモードが第１の状態のシーケンスに従って前記フラッシュメモリセル（３０４）に電圧を印加するためのものであるか、あるいは前記ＢＩＳＴモードが第２の状態のシーケンスに従って前記フラッシュメモリセル（３０４）のそれぞれの論理状態を読出すためのものであるかを前記バックエンドＢＩＳＴコントローラ（５０２）によって判定するステップと、をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項１０】
前記半導体基板（３０２）に信号セレクタ（９６６）と診断照合ロジック（９６４）とを作製するステップと、
前記バックエンド状態機械（３１６）からの制御変数によって、生成マッチ出力を前記診断照合ロジック（９６４）によって合格状態または不合格状態に設定するステップと、
診断モードが呼び出されている場合に、ＢＩＳＴモードの検証ステップで前記バックエンド状態機械（３１６）が使用する前記生成マッチ出力を前記信号セレクタ（９６６）によって選択するステップと、をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項１１】
前記診断モードが呼び出されている前記ＢＩＳＴモードが、前記フラッシュメモリセル（３０４）のプログラム、スタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）を伴う前記フラッシュメモリセル（３０４）の消去、またはインターリーブＡＰＤＥを伴う前記フラッシュメモリセル（３０４）の消去の１つである請求項１０に記載の方法。
【請求項１２】
前記半導体基板（３０２）にアドレスシーケンサ制御ロジック（１２０４）とアドレスシーケンサバッファ（１２０２）とを作製するステップと、
前記フラッシュメモリセル（３０４）のアドレスを示すために複数のビットを前記バッファ（１２０２）によって生成するステップと、
前記制御ロジック（１２０４）によって前記バッファ（１２０２）を制御して、複数のＢＩＳＴモードのそれぞれに対するビットパターンのそれぞれのシーケンスを順行させるステップと、をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項１３】
前記半導体基板（３０２）に高電圧源（１５０１）、少なくとも１つの抵抗器（１５１０，１５１４）、少なくとも１つのスイッチ素子（１５０６，１５０８）、および論理回路（１５１６）を作製するステップと、
低電圧ノード（１５０４）の低電圧を基準として前記高電圧源（１５０１）によって高電圧を発生させるステップであって、
前記少なくとも１つの抵抗器（１５１０，１５１４）と前記少なくとも１つのスイッチ素子（１５０６，１５０８）とは、前記高電圧源（１５０１）と前記低電圧ノード（１５０４）との間に直列に結合されているステップと、
前記直列結合に沿って出力ノード（１５１２）にマージニング電圧をオンチップに生成するために、ＢＩＳＴモードの種類によって前記論理回路（１５１６）によって各スイッチ素子（１５０６，１５０８）をオンまたはオフにするステップと、をさらに有する請求項１に記載の方法。
【請求項１４】
前記フラッシュメモリセル（３０４）のプログラムマージニングのために前記少なくとも１つの抵抗器によって前記出力ノード（１５１２）に抵抗分圧器（１５１０，１５１４）を形成するステップと、
前記フラッシュメモリセル（３０４）の消去マージニングのために前記出力ノード（１５１２）を前記低電圧に放電するステップと、をさらに有する請求項１３に記載の方法。
【請求項１５】
半導体基板（３０２）に作製されたフラッシュメモリセル（３０４）を試験するためのＢＩＳＴ（組込み自己試験）システム（３００）であって、
前記半導体基板（３０２）に作製され、外部試験システム（３１８）から試験モードデータを入力するＢＩＳＴ（組込み自己試験）インタフェース（３１２）と、
前記半導体基板（３０２）に作製され、前記フラッシュメモリセル（３０４）のオンチップ試験のため、前記試験モードデータに指定されるように、前記フラッシュメモリセル（３０４）に少なくとも１つの所望のＢＩＳＴ（組込み自己試験）モードを実行するバックエンド状態機械（３１６）と、を有するＢＩＳＴシステム。
【請求項１６】
前記半導体基板（３０２）に作製され、前記少なくとも１つの所望のＢＩＳＴモードを実行する順序を決定するために前記試験モードデータをデコードするフロントエンド状態機械（３１４）をさらに有し、
前記バックエンド状態機械（３１６）は前記順序に従って前記少なくとも１つの所望のＢＩＳＴモードを前記フラッシュメモリセル（３０４）に実行する請求項１５に記載のＢＩＳＴシステム。
【請求項１７】
前記ＢＩＳＴインタフェース（３１２）内に、１本のＩＯピンを介して前記試験モードデータを逐次的に入力するシフトレジスタ（３２０）をさらに有し、前記シフトレジスタ（３２０）は、前記ＩＯピンを介して各所望のＢＩＳＴモードのそれぞれの合否結果を記憶して逐次的に出力する請求項１５または１６に記載のＢＩＳＴシステム。
【請求項１８】
前記半導体基板（３０２）に作製され、それぞれがフラッシュメモリセルの位置に対応するそれぞれの論理状態を生成する複数のパターン生成ロジックユニット（１３０２）と、
前記半導体基板（３０２）に作製され、前記所望のビットパターンを生成するために前記パターン生成ロジックユニット（１３０２）からの前記それぞれの論理状態のうちの１つを選択するパターンセレクタ（１３０４）と、をさらに有する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項１９】
前記半導体基板（３０２）に作製されたパルスカウンタ（１４０４）と、
前記半導体基板（３０２）に作製され、最大数を入力し、消去検証ＢＩＳＴ（組込み自己試験）モード中に、前記セクタに印加された消去パルスの数が前記最大数未満でフラッシュメモリセルのセクタが消去検証に合格しない場合に、前記セクタの失敗の指標を出力するパルスカウンタコントローラ（１４０６）と、をさらに有する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項２０】
前記パルスコントローラ（１４０６）は、前記パルスカウンタ（１４０４）を制御して、前記セクタの対角位置の各フラッシュメモリセルが消去検証に合格するまで、前記セクタに印加された消去パルス数の対角の合計を決定させ、前記最大数は前記消去パルス数の対角の合計の百分率であり、前記ＢＩＳＴシステムは、
前記半導体基板（３０２）に作製され、それぞれの再ロードカウント値を生成する少なくとも１つの再ロードカウント値発生器（１４２２，１４２４，１４２６）と、前記再ロードカウント値は最大パルスカウント値（Ｍａｘ＿ＰＣ）から前記それぞれの消去パルス数の対角の合計の百分率を減算した値であり、
前記パルスカウンタコントローラ内の、前記少なくとも１つの再ロードカウント値から、前記最大数に対応する再ロードカウント値を選択するマルチプレクサ（１４１８）と、
前記パルスカウンタコントローラ内の、前記パルスカウンタを制御して、前記マルチプレクサ（１４１８）から選択再ロードカウント値をロードさせる再ロードロジック（１４１６）と、をさらに有し、
前記パルスカウンタ（１４０４）は、前記セクタの各フラッシュメモリセルの消去検証中に前記セクタに印加された消去パルスの数を前記選択された再ロードカウント値を始点にカウントし、
前記パルスカウンタコントローラ（１４０６）は、前記パルスカウンタがＭａｘ＿ＰＣに達する前に前記セクタの各フラッシュメモリセルが消去検証に合格しない場合に、前記セクタの失敗の指示を出力する請求項１９に記載のＢＩＳＴシステム。
【請求項２１】
前記半導体基板（３０２）に作製されたＣＡＭ（内容参照可能メモリ）フラッシュメモリセル（７９０）およびフラッシュメモリセルの冗長要素（７８２）と、
前記半導体基板（３０２）に作製された複数の電圧源（８３６）と、
ＢＩＳＴモード中の前記フラッシュメモリセルの試験中に不良フラッシュメモリセル（７５０）が検出され、
前記半導体基板（３０２）に作製され、前記電圧源（８３６）を制御して、前記不良フラッシュメモリセル（７５０）を対応する前記フラッシュメモリセルの冗長要素（７８２）に置き換えるためにＪＵＩＣＥ状態中にそれぞれのＣＡＭ（内容参照可能メモリ）フラッシュメモリセル（７９０）にプログラム電圧を印加させる修復コントローラ（８３２）と、をさらに有する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項２２】
前記半導体基板（３０２）に作製されたＦＡＩＬＲＥＰロジック（８４８）をさらに有し、前記ＦＡＩＬＲＥＰロジックが、使用可能なフラッシュメモリセルの冗長要素がないか前記不良フラッシュメモリセル（７５０）が以前に修復されていると判定した場合に前記ＦＡＩＬＲＥＰロジックはＨＡＮＧ状態に入る請求項２１に記載のＢＩＳＴシステム。
【請求項２３】
前記半導体基板（３０２）に作製され、ＢＩＳＴモードに対応するそれぞれの電圧を発生させる複数の電圧源（５０４）と、
前記半導体基板（３０２）に作製され、ＢＩＳＴモードが第１の状態のシーケンスに従って前記フラッシュメモリセル（３０４）に電圧を印加するためのものであるか、あるいは前記ＢＩＳＴモードが第２の状態のシーケンスに従って前記フラッシュメモリセル（３０４）のそれぞれの論理状態を読出すためのものであるかを判定するバックエンドＢＩＳＴコントローラ（５０２）と、をさらに有する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項２４】
前記半導体基板（３０２）に作製された信号セレクタ（９６６）と、
前記半導体基板（３０２）に作製された診断照合ロジック（９６４）と、をさらに有し、
前記診断照合ロジック（９６４）は、前記バックエンド状態機械（３１６）からの制御変数によって、生成マッチ出力を合格状態または不合格状態に設定し、
前記信号セレクタ（９６６）は、診断モードが呼び出されている場合に、ＢＩＳＴモードの検証ステップで前記バックエンド状態機械（３１６）が使用する前記生成マッチ出力を選択する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項２５】
前記診断モードが呼び出されている前記ＢＩＳＴモードが、前記フラッシュメモリセル（３０４）のプログラム、スタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）を伴う前記フラッシュメモリセル（３０４）の消去、またはインターリーブＡＰＤＥを伴う前記フラッシュメモリセル（３０４）の消去の１つである請求項２４に記載のＢＩＳＴシステム。
【請求項２６】
前記半導体基板（３０２）に作製され、前記フラッシュメモリセル（３０４）のアドレスを表す複数のビットを生成するアドレスシーケンサバッファ（１２０２）と、
前記半導体基板（３０２）に作製され、前記バッファ（１２０２）を制御して、複数のＢＩＳＴモードのそれぞれに対するビットパターンのそれぞれのシーケンスを順行させるアドレスシーケンサ制御ロジック（１２０４）と、をさらに有する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項２７】
前記半導体基板（３０２）に作製され、低電圧ノード（１５０４）の低電圧を基準として高電圧を発生させる高電圧源（１５０１）と、
前記半導体基板（３０２）に作製され、前記高電圧源（１５０１）と前記低電圧ノード（１５０４）との間に直列に結合された少なくとも１つの抵抗器（１５１０，１５１４）および少なくとも１つのスイッチ素子（１５０６，１５０８）と、
前記半導体基板（３０２）に作製され、前記直列結合に沿って出力ノード（１５１２）にマージニング電圧をオンチップに生成するために、ＢＩＳＴモードの種類によって各スイッチ素子（１５０６，１５０８）をオンまたはオフにする論理回路（１５１６）と、をさらに有する請求項１５に記載のＢＩＳＴシステム。
【請求項２８】
前記フラッシュメモリセル（３０４）のプログラムマージニングのために前記少なくとも１つの抵抗器によって前記出力ノード（１５１２）に抵抗分圧器（１５１０，１５１４）が形成され、
前記フラッシュメモリセル（３０４）の消去マージニングのために前記出力ノード（１５１２）が低電圧に放電される、請求項２７に記載のＢＩＳＴシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にフラッシュメモリデバイスの製造に関し、より詳細には、半導体ウェハにあるできるだけ多くのダイを同時に試験できるように、できるだけ少ないピン数でコアフラッシュメモリセルのアレイの組込み自己試験を実行するためのシステムならびに方法に関する。
【０００２】
「発明を実施するための最良の形態」のセクションは、以下のサブセクションで構成されている。
Ａ．ＢＩＳＴ（組込み自己試験）システム
Ｂ．ＢＩＳＴ（組込み自己試験）インタフェース
Ｃ．バックエンドＢＩＳＴ（組込み自己試験）状態機械
Ｄ．コアフラッシュメモリセルの不良アドレスのオンチップ修復
Ｅ．ＢＩＳＴ（組込み自己試験）バックエンド状態機械の機能を試験するための診断モード
Ｆ．ＢＩＳＴ（組込み自己試験）システム内のアドレスシーケンサ
Ｇ．ＢＩＳＴ（組込み自己試験）システムのパターン生成器
Ｈ．効率的な消去検証ＢＩＳＴ（組込み自己試験）モードのためのオンチップ消去パルスカウンタ
Ｉ．フラッシュメモリデバイスのＣＡＭ部分の試験中のマージニング電圧のオンチップ生成
【背景技術】
【０００３】
図１を参照すると、集積回路製製造の当業者に公知のように、フラッシュメモリデバイスのフラッシュメモリセル１００は、通常は二酸化シリコン（ＳｉＯ２）または酸窒化シリコンを含むトンネル絶縁体構造１０２を有する。トンネル絶縁体構造１０２は、半導体基板またはｐ型ウェル１０３上に設けられている。さらに、例えばポリシリコンなどの導電性材料を含むフローティングゲート構造１０４がトンネル絶縁体構造１０２上に設けられている。フローティングゲート構造１０４上には、通常は二酸化シリコン（ＳｉＯ２）を含む絶縁体構造１０６が設けられている。絶縁体構造１０６の上には、導電性材料を含む制御ゲート構造１０８が設けられている。
【０００４】
図１のフローティングゲート構造１０４の左側の側壁に向かって、半導体基板またはｐ型ウェル１０３の能動素子領域１１２内に、例えばヒ素（Ａｓ）やリン（Ｐ）などの接合ドーパント（junction dopant）をドープしたドレインビット線接合部１１０が形成されている。図１のフローティングゲート構造１０４の右側の側壁に向かって、半導体基板またはｐ型ウェル１０６の能動素子領域１１２内に、接合ドーパントをドープしたソースビット線接合部１１４が形成されている。
【０００５】
図１のフラッシュメモリセル１００のプログラム動作または消去動作中に、電荷担体がフローティングゲート構造１０４に注入されるか、あるいはフローティングゲート構造１０４から引き抜かれる。フラッシュメモリ技術の当業者に公知のように、フローティングゲート構造１０４内の電荷担体の量がこのように変化すると、フラッシュメモリセル１００のしきい値電圧が変わる。例えば、電子がフローティングゲート構造１０４に注入される電荷担体である場合、しきい値電圧は上昇する。あるいは、電子がフローティングゲート構造１０４から引き抜かれる電荷担体である場合、しきい値電圧は下がる。電子工学の当業者に公知のように、この２つの状態は、フラッシュメモリセル１００内にデジタル情報を記憶するための２つの状態として用いられる。
【０００６】
フラッシュメモリセル１００のプログラミング時には、例えば制御ゲート構造１０８に＋９ボルトの電圧を印加し、ドレインビット線接合部１１０に＋５ボルトの電圧を印加し、ソースビット線接合部１１４と半導体基板またはｐ型ウェル１０３とに０ボルトの電圧を印加する。フラッシュメモリセル１００のプログラミング時に、このようにバイアスを印加すると、フラッシュメモリセル１００がＮチャネルフラッシュメモリセルの場合、電子がフローティングゲート構造１０４に注入されて、フラッシュメモリセル１００のしきい値電圧が上昇する。
【０００７】
あるいは、フラッシュメモリセル１００の消去時に、制御ゲート構造１０８に例えば−９．５ボルトの電圧を印加し、ドレインビット線を接合部１１０で浮遊状態にし、ソースビット線接合部１１４と半導体基板またはｐ型ウェル１０３とに＋４．５ボルトの電圧を印加する。フラッシュメモリセル１００の消去時に、このようにバイアスを印加すると、フラッシュメモリセル１００がＮチャネルフラッシュメモリセルの場合、電子がフローティングゲート構造１０４から引き抜かれて、フラッシュメモリセル１００のしきい値電圧が低下する。このような消去動作は、フラッシュメモリ技術の当業者によってエッジ消去法（edge erase process）と呼ばれている。
【０００８】
別法であるチャネル消去法（channel erase process）では、制御ゲート構造１０８に−９．５ボルトの電圧を印加し、半導体基板またはｐ型ウェル１０３に＋９ボルトの電圧を印加し、ソースビット線接合部１１０11とドレインビット線接合部１１４とを浮遊状態にする。フラッシュメモリセル１００の消去時に、このようにバイアスを印加すると、フラッシュメモリセル１００がＮチャネルフラッシュメモリセルの場合、電子がフローティングゲート構造１０４から基板またはｐ型ウェル１０３へ引き抜かれて、フラッシュメモリセル１００のしきい値電圧が低下する。
【０００９】
図２は、図１のフラッシュメモリセル１００の回路図であり、フラッシュメモリセル１００は、制御ゲート構造１０８に結合された制御ゲート端子１５０、ドレインビット線接合部１１０に結合されたドレイン端子１５２、ソースビット線接合部１１４に結合されたソース端子１５４、および基板またはｐ型ウェル１０３に結合された基板またはｐ型ウェル端子１５６を有する。図３に、フラッシュメモリ技術の当業者に公知のようにフラッシュメモリセルのアレイを有する電気的消去可能プログラマブルメモリデバイス２００を示す。図３を参照すると、フラッシュメモリセル２００のアレイは、フラッシュメモリセルの行と列とを有し、それぞれのフラッシュメモリセルは図１，２のフラッシュメモリセル１００と類似する構造を有する。説明を簡単にし、かつわかりやすくするために、図３のフラッシュメモリセル２００のアレイは、２行２列のフラッシュメモリセルを有するように示されている。しかし、電気的消去可能プログラマブルメモリデバイスに含まれるフラッシュメモリセルのアレイは、通常、遙かに多くのフラッシュメモリセルの行と列とを有する。
【００１０】
図３をさらに参照すると、電気的消去可能プログラマブルメモリデバイスに含まれるフラッシュメモリセル２００のアレイにおいて、アレイの１つの行の全フラッシュメモリセルの制御ゲート端子が１つに結合されて、その行のワード線を形成している。図３で、第１行の全フラッシュメモリセルの制御ゲート端子が１つに結合されて、第１のワード線２０２を形成しており、第２行の全フラッシュメモリセルの制御ゲート端子が１つに結合されて、第２のワード線２０４を形成している。
【００１１】
さらに、１つの列の全フラッシュメモリセルのドレイン端子が１つに結合されて、その列のビット線を形成している。図３で、第１列の全フラッシュメモリセルのドレイン端子が１つに結合されて、第１のビット線２０６を形成しており、第２列の全フラッシュメモリセルのドレイン端子が１つに結合されて、第２のビット線２０８を形成している。図３をさらに参照すると、アレイ２００の全フラッシュメモリセルのソース端子がソース電圧ＶＳＳに結合されており、アレイ２００の全フラッシュメモリセルの基板またはｐ型ウェル端子が基板電圧ＶＳＵＢに結合されている。
【００１２】
図４を参照すると、例えば図３のようなフラッシュメモリセルのアレイを有するフラッシュメモリデバイスが、半導体ウェハ２２０の半導体ダイに作製されている。複数の半導体ダイが半導体ウェハ２２０に製造されている。図４の半導体ウェハ２２０にある正方形領域のそれぞれが１つの半導体ダイである。図４は見やすくするため半導体ダイの数を少なく図示しているが、通常はこれより遙かに多くの半導体ダイが半導体ウェハに作製される。図４の各半導体ダイは、コアフラッシュメモリセルのアレイを有するフラッシュメモリデバイスをそれぞれ有する。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
フラッシュメモリデバイス製造の当業者に公知のように、半導体ウェハ２２０にフラッシュメモリデバイスを製造する際には、半導体ダイにある各フラッシュメモリデバイスの試験を行って、正常に機能することを確認する。図５を参照すると、半導体ダイの例２２２は、コアフラッシュメモリセル２２４のアレイを有するフラッシュメモリデバイスを有する。図３，５を参照すると、半導体ダイ２２２上のフラッシュメモリデバイスの試験では、コアフラッシュメモリセル２２４のアレイを試験するために、外部試験システムが、半導体ダイ２２２のコンタクトパッド２２６を介してコアフラッシュメモリセル２２４のアレイにバイアス電圧を印加する。
【００１４】
図３，５を参照すると、複数のフラッシュメモリ試験モードに従って、外部試験システムによって、コンタクトパッド２２６を介してコアフラッシュメモリセル２２４のアレイにプログラム電圧および消去電圧のパターンが印加される。例えば、ある試験モードでは、コアフラッシュメモリセル２２４のアレイが、交互のチェッカーボードパターンでプログラムおよび消去される。あるいは、別の試験モードでは、コアフラッシュメモリセル２２４のアレイの対角線に位置するフラッシュメモリセルがプログラムされる。次に、各試験モードについて、外部試験システムによって、コンタクトパッド２２６を介してコアフラッシュメモリセルのアレイに読出し動作が実行され、コアフラッシュメモリセル２２４のアレイが正常にプログラムおよび消去されたかどうかを判定する。コアフラッシュメモリセルのアレイが正常に機能するかを試験するためのこのような複数のフラッシュメモリ試験モードとこのような外部試験システムは、フラッシュメモリデバイス製造の当業者に公知である。このような外部試験システムの例に、アジレント・テクノロジーズ・インク（Agilent Technologies, Inc.）（カリフォルニア州パロアルト所在）から入手可能なモデルＶ３３００がある。
【００１５】
従来技術では、コアフラッシュメモリセルのアレイが正常に機能することを確認するための試験の際に、外部試験システムは、半導体ダイ２２２のコンタクトパッド２２６を介してコアフラッシュメモリセルのアレイにプログラム動作、消去動作、および読出し動作を実行する。従来技術では、比較的大きなコアフラッシュメモリセルのアレイ（例えば１６メガビットフラッシュメモリデバイス用など）では、半導体ウェハ２２０の各半導体ダイの試験に使用する外部試験システムのピン数がかなり多い。例えば、従来技術では、１６メガビットのフラッシュメモリデバイスの場合、外部試験システムがコアフラッシュメモリセルのアレイにプログラム動作、消去動作、および読出し動作を直接実行する際には、外部試験システムの４６本のピンが使用される。外部試験システムの総ピン数が５００本である場合、１つの半導体ダイの試験に４６本のピンの組が占有されるため、１０個の半導体ダイを同時に試験することができる。
【００１６】
しかし、フラッシュメモリデバイスの製造時のスループットを最大限に高めるには、できるだけ多くの半導体ダイを同時に試験することが求められている。例えば、総ピン数を増やした外部試験システムを使用すれば、より多くの半導体ダイを同時に試験することができる。しかし、ピン数が非常に多い外部試験システムはコスト高になると考えられる。さらに、技術の進歩に伴ってフラッシュメモリデバイスのビット数が増えたため、従来技術では、外部試験システムがコアフラッシュメモリセルのアレイにプログラム動作、消去動作、および読出し動作を直接実行する場合、１つの半導体ダイに必要な外部試験システムのピン数が増え、スループットが一層低下する可能性がある。このため、総ピン数の限られた外部試験システムによってできるだけ多くの半導体ダイを同時に試験し、フラッシュメモリデバイスの製造時のスループットを向上させることができるように、各半導体ダイにあるフラッシュメモリデバイスの試験に使用するピン数を最小限に減らすためのメカニズムが求められている。
【課題を解決するための手段】
【００１７】
したがって、本発明の一般的な態様においては、半導体ダイ上のフラッシュメモリデバイスの試験中に、フラッシュメモリセルと同じ半導体ダイにオンチップに作製されたＢＩＳＴ（組込み自己試験）システムによって、プログラミング動作、消去動作、および読出し動作がその半導体ダイ内でオンチップに実行される。このため、プログラム動作、消去動作、および読出し動作を行うための外部試験システムのピンが不要となり、半導体ダイの各フラッシュメモリデバイスの試験に使用するピン数を削減できる。
【００１８】
本発明の一実施形態においては、半導体ダイに作製されているコアフラッシュメモリセルのアレイを試験するためのシステムならびに方法において、第１の状態の間に、外部試験システムから、半導体ダイに作製されている第１のデータ記憶装置に試験種別データが入力される。半導体ダイに作製されている試験種別デコーダが試験種別データをデコードして、外部試験システムによって組込み自己試験モードが呼び出されているかどうかを判定する。外部試験システムによって組込み自己試験モードが呼び出されている場合、第２の状態の間に、外部試験システムから、半導体ダイに作製されている第２のデータ記憶装置に試験モードデータが逐次的に入力される。
【００１９】
この試験モードデータは、コアフラッシュメモリセルのアレイに実行する所望のフラッシュメモリの試験モードの組を定義している。各試験モードは、コアフラッシュメモリセルのアレイにバイアスを印加する個々のパターン、およびコアフラッシュメモリセルのアレイのプログラム状態および消去状態の個々の所望のパターンに対応している。半導体ダイに作製されているフロントエンド状態機械は、試験モードデータをデコードして、所望の試験モードを実行する順序を決定する。
【００２０】
半導体ダイに作製されているバックエンド状態機械は、第３の状態の間に、フロントエンド状態機械によって決定された順序に従って所望の試験モードを実行する。バックエンド状態機械は、各所望の試験モードのために、コアフラッシュメモリセルのアレイにバイアスを印加する個々のパターンに従って、コアフラッシュメモリセルのアレイに電圧を印加する。バックエンド状態機械が、各所望の試験モードのために、コアフラッシュメモリセルのアレイにバイアスを印加する個々のパターンに従って、コアフラッシュメモリセルのアレイの電圧を印加すると、バックエンド状態機械は、そのコアフラッシュメモリセルのアレイのプログラム状態および消去状態のパターンを測定する。さらに、バックエンド状態機械は、コアフラッシュメモリセルのアレイの、測定したプログラム状態および消去状態のパターンと、所望のプログラム状態および消去状態のパターンとを比較することによって、各所望の試験モードの合否結果を判定する。
【００２１】
第３の状態の間、各所望の試験モードに対応するそれぞれの合否結果は、半導体ダイに作製されている第３のデータ記憶装置に記憶される。第３のデータ記憶装置に記憶された、各所望の試験モードに対応するそれぞれの合否結果は、第４の状態の間に外部試験システムに逐次的に出力される。
【００２２】
本発明は、第１のデータ記憶装置、第２のデータ記憶装置、および第３のデータ記憶装置がそれぞれシリアルシフトレジスタの一部である場合、特に有利に使用することができる。この場合、第２の状態の間に、試験モードデータは、１本のＩ／Ｏ（入出力）ピンを介して外部試験システムからシリアルシフトレジスタの第１部分に逐次的にシフトされる。さらに、各所望の試験モードに対応するそれぞれの合否結果は、第３の状態の間に、シリアルシフトレジスタの第２部分に記憶され、第４の状態の間に、１本のＩ／Ｏピンを介して逐次的にシフトアウトされる。
【００２３】
フラッシュメモリセルのアレイのプログラム動作、消去動作、および読出し動作が半導体ダイ上でオンチップに実行されるため、各半導体ダイの試験に使用する外部試験システムのピン数を削減できる。各半導体ダイの試験に使用されるピンの数には、制御信号用のピン数本、電源用のピン数本、およびＩＯ（入出力）ピン数本が含まれる。例えば、本発明の一実施形態によれば、３本のピンを制御信号用に、２本のピンを電源用に、２本のピンをＩＯピンに使用する。
【００２４】
このように、１つの半導体ダイの試験に占有されるピン数が、従来技術の４６本から、本発明の一実施形態では約７本に削減される。このようにピン数を削減することにより、総ピン数の限られた外部試験システムによってより多くの半導体ダイを同時に試験することができ、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。
【００２５】
本発明の上記の特徴および効果ならびにそれ以外の特徴および効果は、添付の図面と共に記載する下記の発明の詳細な説明を検討すればよりよく理解できる。
【発明を実施するための最良の形態】
【００２６】
本明細書で参照する図面は、説明上わかりやすく記載するものであり、必ずしも正しい縮尺で記載されているわけではない。図１〜８３において、同一の参照符号を付した要素は、構造および機能面で類似している要素を参照している。
【００２７】
Ａ．ＢＩＳＴ（組込み自己試験）システム
図６を参照すると、本発明の一般的な態様では、フラッシュメモリデバイス３０４が作製されている半導体ダイ３０２に、ＢＩＳＴ（組込み自己試験）システム３００が作製されている。フラッシュメモリデバイス３０４は、例えば図３に示すように、コアフラッシュメモリセルのアレイを有する。半導体ダイ３０２には、コアフラッシュメモリセル３０４のアレイとＢＩＳＴシステム３００とに接続するための導電パッド３０６も作製されている。図６は見やすくするため導電パッドの数を少なく表示しているが、通常はこれより遙かに多くの導電パッドが作製される。
【００２８】
図７は、コアフラッシュメモリセル３０４のアレイと共にオンチップに作製されている図６のＢＩＳＴシステム３００のブロック図である。ＢＩＳＴシステム３００は、ＢＩＳＴ（組込み自己試験）インタフェース３１２、フロントエンドインタフェース３１４、およびバックエンドＢＩＳＴ（組込み自己試験）状態機械３１６を備える。ＢＩＳＴインタフェース３１２は、外部試験システム３１８、フロントエンドインタフェース３１４、およびバックエンドＢＩＳＴ状態機械３１６に結合されている。バックエンドＢＩＳＴ状態機械３１６は、フロントエンドインタフェース３１４、ＢＩＳＴインタフェース３１２、およびコアフラッシュメモリセル３０４のアレイに結合されている。
【００２９】
図６，７を参照すると、ＢＩＳＴシステム３００とコアフラッシュメモリセル３０４のアレイとがオンチップに存在するように、ＢＩＳＴインタフェース３１２、フロントエンドインタフェース３１４、およびバックエンドＢＩＳＴ状態機械３１６は、コアフラッシュメモリセル３０４のアレイと共に半導体ダイ３０２に作製されているＢＩＳＴシステム３００を構成している。外部試験システム３１８は、ＢＩＳＴシステム３００には含まれない。外部試験システム３１８は、半導体ダイ３０２の外部に存在し、コアフラッシュメモリセル３０４のアレイの試験中にＢＩＳＴシステム３００とのインタフェースとなる。
【００３０】
ＢＩＳＴインタフェース３１２は、コアフラッシュメモリセル３０４のアレイの試験中に外部試験システム３１８から制御信号および試験データを入力して、命令を解釈する。さらに、ＢＩＳＴインタフェース３１２は、コアフラッシュメモリセル３０４のアレイの試験によって得た試験結果を外部試験システム３１８に出力する。バックエンドＢＩＳＴ状態機械３１６は、コアフラッシュメモリセル３０４のアレイの試験のため、コアフラッシュメモリセル３０４のアレイにプログラム電圧および消去電圧を印加する。さらに、バックエンドＢＩＳＴ状態機械３１６は、コアフラッシュメモリセル３０４のアレイの試験の合否を判定するため、コアフラッシュメモリセル３０４のアレイに読出し動作を実行する。
【００３１】
フロントエンドインタフェースは、バックエンドＢＩＳＴ状態機械３１６に試験モード識別情報データを供給し、これにより、バックエンドＢＩＳＴ状態機械３１６は、この試験モード識別情報に従ってコアフラッシュメモリセル３０４のアレイの試験のために、コアフラッシュメモリセル３０４のアレイに適切なプログラム電圧および消去電圧のパターンを印加する。コアフラッシュメモリセル３０４のアレイの試験中には、複数の試験モードがコアフラッシュメモリセル３０４のアレイに実行される。一例を挙げると、コアフラッシュメモリセル３０４のアレイの試験中に、約１９の異なる試験モードがコアフラッシュメモリセル３０４のアレイに実行される。
【００３２】
各試験モードは、コアフラッシュメモリセル３０４のアレイのプログラム状態および消去状態を所望のパターンにするために、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルにバイアスを印加するパターンに対応している。例えば、ある試験モードでは、コアフラッシュメモリセルを所望のチェッカーボードパターンにプログラムおよび消去するためにコアフラッシュメモリセル３０４のアレイ内のコアフラッシュメモリセルが交互のチェッカーボードパターンでプログラムおよび消去される。あるいは、別の試験モードでは、フラッシュメモリセルを所望の対角パターンにプログラムするために、コアフラッシュメモリセル３０４のアレイの対角線に位置するフラッシュメモリセルがプログラムされる。コアフラッシュメモリセルのアレイの機能を試験するためのこの種の試験モードは、フラッシュメモリデバイス製造の当業者に公知である。
【００３３】
バックエンド状態機械３１６は、試験モードに対し、コアフラッシュメモリセル３０４のアレイにバイアスを印加するそれぞれのパターンに従って、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルに適切なプログラム電圧または消去電圧を印加する。フロントエンドインタフェース３１４からの試験モード識別情報は、バックエンド状態機械３１６が実行すべき現在の試験モード（current test mode）を示す。
【００３４】
バックエンド状態機械３１６が、試験モードのために、適切な電圧をコアフラッシュメモリセルのアレイに印加したら、バックエンド状態機械３１６は、コアフラッシュメモリセルのアレイのプログラム状態および消去状態のパターンを測定する。さらに、バックエンド状態機械３１６は、その試験モードについて、コアフラッシュメモリセルのアレイの、測定したプログラム状態および消去状態のパターンと、所望のプログラム状態および消去状態のパターンとを比較して、試験モードの合否結果を決定する。バックエンド状態機械３１６が判定した試験モードの合否結果は、ＢＩＳＴインタフェース３１２に記憶される。
【００３５】
Ｂ．ＢＩＳＴ（組込み自己試験）インタフェース
図８は、ＢＩＳＴインタフェース３１２の実装の一例のブロック図である。図８を参照すると、ＢＩＳＴインタフェース３１２は、シリアルシフトレジスタ３２０を備える。シリアルシフトレジスタは、電子工学の当業者に公知である。さらに、ＢＩＳＴインタフェース３１２は、シリアルシフトレジスタ３２０を駆動し、データビットを逐次的にシフトさせるシフトレジスタクロック３２１を備える。ＢＩＳＴインタフェース３１２は、シリアルシフトレジスタ３２０との間でデータビットの入出力を行うための第１のバッファ３２２、第２のバッファ３２３、および第３のバッファ３３８も備える。さらに、ＢＩＳＴインタフェース３１２は、ロジックコントローラ３２５、試験種別デコーダ３２６、ロック信号発生器３２７、およびメモリ位置デコーダ３２８を備える。
【００３６】
図９は、コアフラッシュメモリセル３０４のアレイの試験中の、ＢＩＳＴシステム３００内のＢＩＳＴインタフェース３１２の動作ステップのフローチャートである。さらに、図１０は、コアフラッシュメモリセル３０４のアレイの試験中の制御信号およびデータのタイミング図である。図７，８，９，１０を参照すると、外部試験システム３１８は、ＣＥ／（チップイネーブルバー）制御ピンを介して、ハイに設定したＣＥ／（チップイネーブルバー）信号を含む第１の制御信号の組をＢＩＳＴインタフェース３１２のロジックコントローラ３２５に送信して、第１の状態の開始を通知する（図９のステップ３５２および図１０の時点４０２）。このハイに設定されたＣＥ／信号によって、シリアルシフトレジスタ３２０は、第１レジスタ３３０がハイ「１」ビットに設定される以外はロー「０」ビットにリセットされる。
【００３７】
さらに、ロジックコントローラ３２５は、このハイに設定されたＣＥ／信号を受けると、ＳＴ１信号をハイに設定する。ＳＴ１信号は、シフトレジスタクロック３２１に結合されており、シフトレジスタクロック３２１は外部試験システム３１８からのＷＥ／（ライトイネーブルバー）クロック信号によって駆動される。シフトレジスタクロック３２１は、外部試験システム３１８から供給されるＷＥ／クロック信号からクロック信号を生成して、シリアルシフトレジスタ３２０を駆動させて、ＷＥ／クロックによって外部試験システム３１８からの試験種別データをシフトインさせる。
【００３８】
図８，９を参照すると、第１の状態の間、試験種別データは第１の３個のデータビットを含んでおり、これらは、シリアルシフトレジスタ３２０の３個のレジスタからなる第１部分３３２にシフトインされる。第１のバッファ３２２がオンになると、これらの第１の３個のデータビットが、第１のＩＯ１（入出力）ピンを介して外部試験システム３１８からシリアルシフトレジスタ３２０の第１部分３３２に入力される。試験種別データは、さらに第２の３ビットを含んでおり、これらは、シリアルシフトレジスタ３２０の３個のレジスタからなる第２部分３３３にシフトインされる。第２のバッファ３２３がオンになると、これらの第２の３個のデータビットが、第２のＩＯ２（入出力）ピンを介して外部試験システム３１８からシリアルシフトレジスタ３２０の第２部分３３３に入力される。ＷＥ／クロック信号が３サイクル経過すると、試験種別データの第１の３ビットと第２の３ビットが、シリアルシフトレジスタ３２０の第１部分３３２および第２部分３３３にシフトインされている（図９のステップ３５４）。
【００３９】
シリアルシフトレジスタ３２０の第１部分３３２と第２部分３３３は、試験種別デコーダ３２６に結合されている。ＷＥ／クロック信号の３サイクルで、試験種別データの第１の３ビットと第２の３ビットがシリアルシフトレジスタ３２０の第１部分３３２と第２部分３３３にシフトインされると、試験種別デコーダ３２６は、試験種別データの第１の３ビットと第２の３ビットをデコードして、外部試験システム３１８が、ＢＩＳＴ（組込み自己試験）モードと手動モードのいずれを呼び出しているかを判定する（図９のステップ３５６）。ＢＩＳＴモードと手動モードを呼び出すには、外部試験システム３１８によって、データビットのそれぞれ適切な組合せが、試験種別データの第１の３ビットと第２の３ビットとして入力されている必要がある。このような試験種別デコーダ３２６を実装するためのデコーダ技術は、電子工学の当業者に公知である。
【００４０】
例えば従来技術のように、外部試験システム３１８は、ＢＩＳＴシステム３００を無効にするために手動モードを呼び出し、これにより、外部試験システム３１８は、コアフラッシュメモリセル３０４のアレイの試験のため、プログラム動作、消去動作、および読出し動作をコアフラッシュメモリセル３０４のアレイに直接実行する。あるいは、外部試験システム３１８は、ＢＩＳＴシステム３００を使用するためにＢＩＳＴモードを呼び出して、コアフラッシュメモリセル３０４のアレイの試験のため、プログラム動作、消去動作、および読出し動作をオンチップに実行する。
【００４１】
ＢＩＳＴモードに対応したデータビットの適切な組合せが、外部試験システム３１８によって試験種別データの第１の３ビットと第２の３ビットとして入力されている場合、試験種別デコーダ３２６は、ＳＴＥＳＴフラグをハイに設定するがＭＴＥＳＴフラグはローのまま保持する。あるいは、手動モードに対応したデータビットの別の適切な組合せが、外部試験システム３１８によって試験種別データの第１の３ビットと第２の３ビットとして入力されている場合、試験種別デコーダは、ＭＴＥＳＴフラグをハイに設定するがＳＴＥＳＴフラグはローのまま保持する。ＳＴＥＳＴフラグとＭＴＥＳＴフラグは、ロジックコントローラ３２５に送信される。一方、ＢＩＳＴモードまたは手動モードのそれぞれに対応したデータビットの適切な組合せが、外部試験システム３１８によって試験種別データの第１の３ビットと第２の３ビットとして入力されていない場合、ＳＴＥＳＴフラグとＭＴＥＳＴフラグはローのまま保持される。
【００４２】
さらに、ＷＥ／クロック信号の３サイクルで、試験種別データの第１の３ビットと第２の３ビットがシリアルシフトレジスタ３２０の第１部分３３２と第２部分３３３に転送されると、第１レジスタ３３０に設定されていたハイのビットが第４レジスタ３３４にシフトされている。第４レジスタ３３４の内容は、ロック信号発生器３２７に結合されている。ＷＥ／クロック信号の３サイクルで、試験種別データの第１の３ビットと第２の３ビットがシリアルシフトレジスタ３２０の第１部分３３２と第２部分３３３にシフトされて、第４レジスタ３３４の内容がハイになると、ロック信号発生器３２７はＬＯＣＫフラグを自動的にハイに設定する。この時点で、第１レジスタ３３０にあったハイのビットは第４レジスタ３３４にシフトされている。また、ハイに設定されたＬＯＣＫフラグは、ロジックコントローラ３２５にも送信されて、試験種別デコーダ３２６が試験種別データをデコードしたことを通知する。さらに、ＬＯＣＫフラグがハイに設定されると、第１の状態が終了し、シリアルシフトレジスタ３２０の内容がローにリセットされる。
【００４３】
ロジックコントローラ３２５が、試験種別デコーダによってＭＴＥＳＴフラグがハイに設定されたため外部試験システム３１８が手動モードを呼び出していると判断した場合、フラッシュメモリセルのアレイがＢＩＳＴシステム３００を使用して複数の試験モードで試験されることはない（図９のステップ３５８）。その代わり、外部試験システム３１８は、例えば従来技術の手動モードに従って複数の試験モードで試験を行う（図９のステップ３６０）。
【００４４】
ＬＯＣＫフラグがハイに設定されており、ロジックコントローラ３２５が、ＳＴＥＳＴフラグとＭＴＥＳＴフラグがいずれもローに設定されているため外部試験システム３１８が手動モードもＢＩＳＴモードも呼び出していないと判断した場合（図９のステップ３５８）、ロジックコントローラによってフェイルモードが開始される（図９のステップ３６２）。フェイルモードでは、シリアルシフトレジスタ３２０に無意味なデータビットが記憶されており、このため、外部試験システム３１８がこのような無意味なデータビットを読み込むと、外部試験システム３１８はフェイルモードが発生したと判定する。
【００４５】
ロジックコントローラ３２５が、ＳＴＥＳＴフラグがハイに設定されているため、外部試験システム３１８がＢＩＳＴモードを呼び出していると判定した場合（図９のステップ３５６）、図９のフローチャートの残りの動作ステップが実行される。ＢＩＳＴモードを呼び出すための試験種別データのデータビットをこのようにデコーディングするのは、コアフラッシュメモリセル３０４のアレイの製造後、コアフラッシュメモリセル３０４のアレイの使用中に、ユーザがＢＩＳＴモードを偶発的に呼び出し、この結果、コアフラッシュメモリセル３０４のアレイのオンチップ試験が制御不能に行われないようにするためである。
【００４６】
図８，９，１０を参照すると、ロジックコントローラ３２５が、外部試験システム３１８がＢＩＳＴモードを呼び出していると判断した場合、ＢＩＳＴシステム３００によって第２の状態が開始される（図９のステップ３６４および図１０の時点４０４）。この場合、ロジックコントローラからのＳＴ２フラグがハイに設定され、シフトレジスタクロック３２１に結合される。第２の状態が開始してＳＴ２フラグがハイに設定されると、外部試験システム３１８は、ＷＥ／制御ピンを介してＷＥ／クロック信号を、第２のＩＯ２ピンを介して第２のＩＯ２（入出力）クロック信号をそれぞれ供給する。ＳＴ２フラグがハイに設定されると、シフトレジスタクロック３２１は、ＷＥ／クロック信号と第２のＩＯ２クロック信号を組み合わせて、シリアルシフトレジスタ３２０を駆動するためのクロック信号を生成する。例えば、ＷＥ／クロック信号がハイに設定され、続いて第２のＩＯ２クロック信号がローに設定される度に、シリアルシフトレジスタ３２０は１ビットをシフトする。このように信号を組合せて使用することで、ＷＥ／クロック信号または第２のＩＯ２クロック信号の一方のみがノイズによって勝手に遷移したときに、シリアルシフトレジスタ３２０が誤って１ビットをシフトすることがなくなる。
【００４７】
シフトレジスタクロック３２１がシリアルシフトレジスタ３２０を駆動すると、一連のデータビットを含む試験モードデータが、シリアルシフトレジスタ３２０の第３の部分３３５に逐次的にシフトされる。第１のバッファ３２２がオンになると、試験モードデータが、第１のＩＯ１ピンを介して外部試験システム３１８によって第１レジスタ３３０に供給される。図１１に、第２の状態後のシリアルシフトレジスタ３２０の内容の例を示す。図１１の例示的な実施形態では、シリアルシフトレジスタ３２０の第１の８個のレジスタがシリアルシフトレジスタ３２０の第３部分３３５を構成しており、シリアルシフトレジスタ３２０の第２の８個のレジスタがシリアルシフトレジスタ３２０の第４の部分３３６を構成している。試験モードデータは、シリアルシフトレジスタ３２０の第３部分３３５に逐次的にシフトされる（図９のステップ３６６）。試験モードデータは、外部試験システム３１８が選択した、ＢＩＳＴシステム３００がコアフラッシュメモリセル３０４のアレイに実行する所望の試験モードの組を示す。
【００４８】
各試験モードは、コアフラッシュメモリセル３０４のアレイのプログラム状態および消去状態を所望のパターンにするために、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルにバイアスを印加するパターンに対応している。例えば、ある試験モードでは、コアフラッシュメモリセルを所望のチェッカーボードパターンにプログラムおよび消去するためにコアフラッシュメモリセル３０４のアレイ内のコアフラッシュメモリセルが交互のチェッカーボードパターンでプログラムおよび消去される。あるいは、別の試験モードでは、フラッシュメモリセルを所望の対角パターンにプログラムするために、コアフラッシュメモリセル３０４のアレイの対角線に位置するフラッシュメモリセルがプログラムされる。コアメモリセルのアレイの機能を試験するためのこの種の試験モードは、フラッシュメモリデバイス製造の当業者に公知である。
【００４９】
コアフラッシュメモリセル３０４のアレイの試験中には、複数の試験モードがコアフラッシュメモリセル３０４のアレイに実行される。一例を挙げると、コアフラッシュメモリセル３０４のアレイの試験中に、約１９の異なる試験モードがコアフラッシュメモリセル３０４のアレイに実行され得る。本発明の一実施形態では、試験モードデータはデータビットのコードであり、このデータビットは、ＢＩＳＴシステム３００がコアフラッシュメモリセル３０４のアレイに実行する所望の試験モードとして、外部試験システム３１８が選択した試験モードを示している。
【００５０】
図１１を参照すると、第１の３個のレジスタにある第１の３ビットは、外部試験システム３１８が選択した試験モードの組を示している。それぞれの組は、取り得る５つの試験モードの組に対応している。各取り得る試験モードは、コアフラッシュメモリセル３０４のアレイに実行する所望の試験モードを選択するために、シリアルシフトレジスタ３２０の、ハイに設定されているそれぞれのシフトレジスタに対応付けられている。例えば、第１の３個のシフトレジスタに格納されているデジタルコードが「１，０，０」であれば、外部試験システム３１８は、第１の試験モード（＃１）、第２の試験モード（＃２）、第３の試験モード（＃３）、第４の試験モード（＃４）、および第５の試験モード（＃５）を含む試験モードの第１の組を選択している。このとき、第１の試験モード（＃１）がコアフラッシュメモリセル３０４のアレイに実行する所望の試験モードであれば第４のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。同様に、第２の試験モード（＃２）が所望の試験モードの場合には第５のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第３の試験モード（＃３）が所望の試験モードの場合には第６のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第４の試験モード（＃４）が所望の試験モードの場合には第７のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第５の試験モード（＃５）が所望の試験モードの場合には第８のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。
【００５１】
一方、第１の３個のシフトレジスタに格納されているデジタルコードが「１，０，１」であれば、外部試験システム３１８は、第６の試験モード（＃６）、第７の試験モード（＃７）、第８の試験モード（＃８）、第９の試験モード（＃９）、および第１０の試験モード（＃１０）を含む試験モードの第２の組を選択している。このとき、第６の試験モード（＃６）がコアフラッシュメモリセル３０４のアレイに実行する所望の試験モードであれば第４のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。同様に、第７の試験モード（＃７）が所望の試験モードの場合には第５のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第８の試験モード（＃８）が所望の試験モードの場合には第６のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第９の試験モード（＃９）が所望の試験モードの場合には第７のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第１０の試験モード（＃１０）が所望の試験モードの場合には第８のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。
【００５２】
あるいは、第１の３個のシフトレジスタに格納されているデジタルコードが「１，１，０」であれば、外部試験システム３１８は、第１１の試験モード（＃１１）、第１２の試験モード（＃１２）、第１３の試験モード（＃１３）、第１４の試験モード（＃１４）、および第１５の試験モード（＃１５）を含む試験モードの第３の組を選択している。このとき、第１１の試験モード（＃１１）がコアフラッシュメモリセル３０４のアレイに実行する所望の試験モードであれば第４のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。同様に、第１２の試験モード（＃１２）が所望の試験モードの場合には第５のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第１３の試験モード（＃１３）が所望の試験モードの場合には第６のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第１４の試験モード（＃１４）が所望の試験モードの場合には第７のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。第１５の試験モード（＃１５）が所望の試験モードの場合には第８のシフトレジスタがハイに設定され、そうでない場合にはローに設定される。
【００５３】
このように、シリアルシフトレジスタ３２０の第３部分３３５に記憶されている試験モードデータは、コアフラッシュメモリセル３０４のアレイに実行する所望の試験モードの組を示している。図７，８を参照すると、シリアルシフトレジスタ３２０の第３部分３３５はフロントエンドインタフェース３１４に結合されており、フロントエンドインタフェース３１４は、シリアルシフトレジスタ３２０の第３部分３３５に格納されているデータビットをデコードして、バックエンドＢＩＳＴ状態機械３１６が実行すべき試験モードを決定する。このほか、フロントエンドインタフェースは、所望の試験モードを実行する順序を指示する（図９のステップ３６８）。フロントエンドインタフェース３１４は、試験モードデータをデコードして、バックエンドＢＩＳＴ状態機械３１６が実行すべき現在の試験モードの識別情報を送信する。フロントエンドインタフェース３１４は、バックエンドＢＩＳＴ状態機械３１６が所望の試験モードの全てを実行するまで、各所望の試験モードを現在の試験モードとして一巡する（cycle through）。
【００５４】
外部試験システム３１８が試験モードデータの８ビットを送信し、これがシリアルシフトレジスタ３２０の第３部分３３５に記憶されると、外部試験システム３１８は、第３の状態の開始を示す制御信号の第３の組をロジックコントローラ３２５に送信する（図９のステップ３７０および図１０の時点４０６）。この制御信号の組には、ＯＥ／制御ピンを介して送信されるローに設定されたＯＥ／（出力イネーブルバー）信号、ＷＥ／制御ピンを介して送信されるローに設定されたＷＥ／制御信号、および制御信号としてのローに設定された第２のＩＯ２ピンが含まれる。ロジックコントローラ３２５は、ＳＴ３フラグをハイに設定して、第３の状態の開始を通知する。ＳＴ３フラグはシフトレジスタクロック３２１に結合されており、シフトレジスタクロック３２１は、シリアルシフトレジスタ３２０にクロック信号を提供しない。このため、第３の状態の間にシリアルシフトレジスタ３２０内のデータがシフトされることはない。
【００５５】
第３の状態の間に、バックエンドＢＩＳＴ状態機械３１６は、試験モードデータに指定されている各所望の試験モードを、フロントエンド状態機械３１４が決定した順序で実行する（図９のステップ３７２）。ロジックコントローラ３２５は、ＢＳＴＡＲＴフラグをハイに設定して、バックエンドＢＩＳＴ状態機械３１６を制御して、フロントエンドインタフェース３１４が決定した所望の試験モードの実行を開始させる。フロントエンドインタフェース３１４は、バックエンドＢＩＳＴ状態機械３１６が実行すべき現在の試験モードの識別情報を送信する。第３の状態の間に、フロントエンドインタフェース３１４とバックエンドＢＩＳＴ状態機械３１６は、バックエンドＢＩＳＴ状態機械３１６が所望の試験モードの全てを実行するまで、各所望の試験モードを現在の試験モードとして一巡する。
【００５６】
例示的な一実施形態では、フロントエンドインタフェース３１４は、シリアルシフトレジスタ３２０の第３部分３３５を構成している第１の８個のレジスタに固定配線されているデコーダである。さらに、フロントエンドインタフェース３１４は、１５個の試験モードフラグによってバックエンドＢＩＳＴ状態機械３１６に結合されている。各試験モードフラグは、１５の試験モードの１つにそれぞれ対応している。この場合、フロントエンドインタフェースは、シリアルシフトレジスタ３２０の第３部分３３５の８個のデータビットをデコードして、バックエンドＢＩＳＴ状態機械３１６が実行すべき現在の試験モードに対応する１５個の試験モードフラグのうちの１つをハイに設定する。このようなフロントエンドインタフェース３１４を実装するためのデコーダ技術は、電子工学の当業者に公知である。
【００５７】
図７，８，１１を参照すると、シリアルシフトレジスタ３２０の第４レジスタ、第５レジスタ、第６レジスタ、第７レジスタまたは第８レジスタのいずれかのデータビットがハイに設定されていると、フロントエンドインタフェースは、選択されている試験モードを全て一巡する。さらに、フロントエンドインタフェースは、これら５つの試験モードのうちのいずれが現在の試験モードであるかを示すＢＳＴＡＴ値を供給する。例えば、任意の試験モードの組について、第４レジスタに対応する試験モードが現在の試験モードであれば、ＢＳＴＡＴ値は「１」となる。第５レジスタに対応する試験モードが現在の試験モードであれば、ＢＳＴＡＴ値は「２」となる。第６レジスタに対応する試験モードが現在の試験モードであれば、ＢＳＴＡＴ値は「３」となる。第７レジスタに対応する試験モードが現在の試験モードであれば、ＢＳＴＡＴ値は「４」となる。第８レジスタに対応する試験モードが現在の試験モードであれば、ＢＳＴＡＴ値は「５」となる。このＢＳＴＡＴ値は、フロントエンドインタフェース３１４が供給する３個のデータビットで構成される二進数形式で表され得る。
【００５８】
フロントエンドインタフェース３１４が、バックエンドＢＩＳＴ状態機械３１６が実行すべき現在の試験モードの識別情報を送信すると、バックエンドＢＩＳＴ状態機械３１６は、現在の試験モードのために、コアフラッシュメモリセル３０４のアレイにバイアスを印加するそれぞれのパターンに従って、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルに適切なプログラム電圧または消去電圧を印加する。さらに、バックエンドＢＩＳＴ状態機械３１６が現在の試験モードのためにコアフラッシュメモリセルのアレイに適切な電圧を印加すると、バックエンド状態機械は、コアフラッシュメモリセルのアレイのプログラム状態および消去状態のパターンを測定する。また、バックエンドＢＩＳＴ状態機械３１６は、現在の試験モードについて、コアフラッシュメモリセルのアレイの、測定したプログラム状態および消去状態のパターンと、所望のプログラム状態および消去状態のパターンとを比較して、現在の試験モードの合否結果を判定する（図９のステップ３７４）。
【００５９】
バックエンドＢＩＳＴ状態機械３１６が判定した合否結果は、第３の状態の間に、シリアルシフトレジスタ３２０の第４の部分３３６に記憶される（図９のステップ３７４）。図７，８，１１を参照すると、各試験モードのそれぞれの合否結果は、シリアルシフトレジスタ３２０の第４の部分３３６の対応するレジスタに記憶される。図１１を参照すると、例えば第１の３個のシフトレジスタ内のデジタルコードが「１，０，０」であり、試験モードの第１の組が選択されている場合、第１の試験モード（＃１）の合否結果が第１６シフトレジスタに記憶される。同様に、第２の試験モード（＃２）の合否結果が第１５シフトレジスタに記憶され、第３の試験モード（＃３）の合否結果が第１４シフトレジスタに記憶され、第４の試験モード（＃４）の合否結果が第１３シフトレジスタに記憶され、第５の試験モード（＃５）の合否結果が第１２シフトレジスタに記憶される。
【００６０】
一方、第１の３個のシフトレジスタ内のデジタルコードが「１，０，１」であり、試験モードの第２の組が選択されている場合、第６の試験モード（＃６）の合否結果が第１６シフトレジスタに記憶される。同様に、第７の試験モード（＃７）の合否結果が第１５シフトレジスタに記憶され、第８の試験モード（＃８）の合否結果が第１４シフトレジスタに記憶され、第９の試験モード（＃９）の合否結果が第１３シフトレジスタに記憶され、第１０の試験モード（＃１０）の合否結果が第１２シフトレジスタに記憶される。
【００６１】
あるいは、第１の３個のシフトレジスタ内のデジタルコードが「１，１，０」であり、試験モードの第３の組が選択されている場合、第１１の試験モード（＃１１）の合否結果が第１６シフトレジスタに記憶される。同様に、第１２の試験モード（＃１２）の合否結果が第１５シフトレジスタに記憶され、第１３の試験モード（＃１３）の合否結果が第１４シフトレジスタに記憶され、第１４の試験モード（＃１４）の合否結果が第１３シフトレジスタに記憶され、第１５の試験モード（＃１５）の合否結果が第１２シフトレジスタに記憶される。
【００６２】
バックエンドＢＩＳＴ状態機械３１６は、現在の試験モードについて、コアフラッシュメモリセルのアレイの、測定したプログラム状態および消去状態のパターンと、所望のプログラム状態および消去状態のパターンとを比較して、現在の試験モードの合否結果を判定する（図９のステップ３７４）。コアフラッシュメモリセルのアレイの、測定したプログラム状態および消去状態のパターンと、所望のプログラム状態および消去状態のパターンとが実質的に同じ場合、現在の試験モードの結果は合格とされる。そうでない場合、現在の試験モードの結果は不合格とされる。
【００６３】
この合否結果は、バックエンドＢＩＳＴ状態機械３１６から図８のメモリ位置デコーダ３２８に送信される。また、現在の試験モードを示すＢＳＴＡＴ値も、フロントエンドインタフェース３１４からメモリ位置デコーダ３２８に送信される。メモリ位置デコーダは、ＢＳＴＡＴ値をデコードして、シリアルシフトレジスタ３２０の、第４の部分３３６に含まれる第１２レジスタ、第１３レジスタ、第１４レジスタ、第１５レジスタまたは第１６レジスタのうち、現在の試験モードに対応する適切なレジスタに、現在の試験モードの合否結果を記憶する。
【００６４】
本発明の一実施形態では、第２の状態の前に、シリアルシフトレジスタ３２０の第４の部分３３６に含まれる第１２レジスタ、第１３レジスタ、第１４レジスタ、第１５レジスタ、第１６レジスタがそれぞれロー「０」にリセットされる。そして、現在の試験モードの結果が合格であれば、メモリ位置デコーダ３２８は、シリアルシフトレジスタ３２０の第４の部分３３６に含まれる第１２レジスタ、第１３レジスタ、第１４レジスタ、第１５レジスタまたは第１６レジスタのうち、現在の試験モードに対応するレジスタをハイ「１」に設定する。一方、現在の試験モードの結果が不合格であれば、現在の試験モードに対応するレジスタはロー「０」に設定されたままとなる。このようなメモリ位置デコーダ３２８を実装するためのデコーダ技術は、電子工学の当業者に公知である。
【００６５】
フロントエンドインタフェース３１４とバックエンドＢＩＳＴ状態機械３１６が、シリアルシフトレジスタ３２０の第３部分３３５にある試験モードデータに指定されている所望の試験モードの全てを一巡したら、バックエンドＢＩＳＴ状態機械３１６は、ハイのＢＢＵＳＹフラグをローに設定して、第３の状態の終了を通知する（図１０の時点４０７）。第３の状態の間、外部試験システム３１８は第２のＩＯ２ピンを介してＢＩＳＴインタフェースをポーリングしており、このポーリングの結果、ＢＢＵＳＹフラグが、第１のＩＯ１ピンを介してバックエンドＢＩＳＴ状態機械３１６から外部テキストシステム３１８に渡される。この場合、第３の状態の間、第２のＩＯ２ピンは制御イネーブルピンとして使用され、第１のＩＯ１ピンはＢＢＵＳＹフラグの出力ピンとして使用される。
【００６６】
このように、第３の状態の終了を通知するために、ＢＢＵＳＹフラグがバックエンドＢＩＳＴ状態機械３１６によってハイからローに設定されると、外部試験システム３１８は、バックエンドＢＩＳＴ状態機械３１６が全所望の試験モードの実行を完了したことを通知される。次に、外部試験システム３１８は、ローに設定したＷＥ／制御信号と、制御信号としてのローに設定した第２のＩＯ２ピンとを含む制御信号の第４の組を送信して、第４の状態の開始をロジックコントローラ３２５に通知する（図９のステップ３７６および図１０の時点４０８）。このとき、ロジックコントローラ３２５は、ＳＴ４フラグをハイに設定する。この第４の状態の間、シフトレジスタ３２０の第４の部分３３６に記憶されている各所望の試験モードのそれぞれの合否結果が、外部試験システム３１８に出力される（図９のステップ３７８）。
【００６７】
第４の状態の間、外部試験システム３１８は、第２のＩＯ２ピンを介して第２のＩＯ２クロック信号を、ＯＥ／制御ピンを介してＯＥ／クロック信号をそれぞれ供給する。シフトレジスタクロック３２１がロジックコントローラ３２５からハイに設定されたＳＴ４フラグを受信すると、シフトレジスタクロック３２１は、第２のＩＯ２クロック信号とＯＥ／クロック信号を組み合わせて、シリアルシフトレジスタ３２０を駆動するためのクロック信号を生成する。例えば、ＯＥ／クロック信号がローに設定され、続いて第２のＩＯ２クロック信号がハイに設定される度に、シリアルシフトレジスタ３２０は１ビットをシフトする。このように信号を組合せて使用することで、ＯＥ／クロック信号または第２のＩＯ２クロック信号の一方のみがノイズによって勝手に遷移したときに、シリアルシフトレジスタ３２０が誤って１ビットをシフトすることがなくなる。シリアルシフトレジスタ３２０がこのクロック信号によって駆動されると、シリアルシフトレジスタ３２０の内容が外部試験システム３１８にシフトアウトされる。シリアルシフトレジスタ３２０の内容が外部試験システム３１８にシフトされる際には、第３バッファ３３８がオンになり、この結果、末尾のシフトレジスタ３３７の内容が第１のＩＯ１ピンを介して出力される。
【００６８】
各所望の試験モードのそれぞれの合否結果はシリアルシフトレジスタ３２０の第４の部分３３６内の対応する位置に記憶されている。このため、外部試験システム３１８は、シリアルシフトレジスタ３２０の第４の部分３３６に記憶されている各合否結果の位置から、所望の試験モードのうちどれが合格となり、所望の試験モードのうちどれが不合格となったかを判定する。その後、この合否結果によってフラッシュメモリデバイス３０４がソートされ得る。例えば、所望の試験モードのいずれかが不合格となった場合、フラッシュメモリデバイス３０４を有する半導体ダイ３０２が廃棄対象としてマーキングされ得る。
【００６９】
本発明の別の実施形態では、第４の状態の間に、シリアルシフトレジスタ３２０の第３部分３３５に記憶されている試験モードデータの８ビットも、バッファ３３８および第１のＩＯ１ピンを介して、外部試験システム３１８にシフトアウトされる（図９のステップ３７８）。この実施形態では、外部試験システム３１８は、シリアルシフトレジスタ３２０の第３部分３３５からシフトアウトされた試験モードデータの８ビットが、正しいビットパターンを有するかどうかを判定して、第２の状態の間に、試験モードデータの８ビットが外部試験システム３１８からシリアルシフトレジスタ３２０の第３部分３３５に正しく転送されているかどうかを判定する。
【００７０】
いずれの実施形態の場合も、全合否結果がシリアルシフトレジスタ３２０の第４の部分３３６から外部試験システム３１８に出力されると、第４の状態が終了する。この時点で、外部試験システム３１８は、リセット制御信号をロジックコントローラ３２５に送信してもよい（図９のステップ３８０）。このリセット制御信号には、ローに設定されたＷＥ／制御信号のほか、ハイに設定されたＯＥ／制御信号と、制御信号としてのハイに設定された第２のＩＯ２ピンとが含まれる。
【００７１】
外部試験システム３１８がロジックコントローラ３２５にリセット制御信号を送信した場合、ＢＩＳＴインタフェース３１２は、第２の状態に再び入り（図９のステップ３６４）、所望の試験モードの第２の組を実行するために、第２の状態、第３の状態、および第４の状態を一巡する。例えば図１１を参照すると、シリアルシフトレジスタ３２０の第１の３個のシフトレジスタにデジタルコード「１，０，０」が格納されている場合、外部試験システム３１８は、所望の試験モードの第１の組の実行後に、シリアルシフトレジスタ３２０の第１の３個のシフトレジスタに、所望の試験モードの第２の組を示すデジタルコード「１，０，１」を入れ、第２の状態が再実行され得る。この場合、この所望の試験モードの第２の組のそれぞれの合否結果が外部試験システム３１８に出力されるまで、所望の試験モードの第２の組について第２の状態、第３の状態、第４の状態が繰り返される。
【００７２】
このように、所望の試験モードの各組の第４の状態の後に、外部試験システム３１８がロジックコントローラ３２５にリセット制御信号を送信すると、所望の試験モードの別の組について、第２の状態、第３の状態、および第４の状態が繰り返されて、この結果、ＢＩＳＴシステム３００によって複数の試験モードの組が実行され得る。一方、第４の状態の終了時に、外部試験システム３１８がリセット制御信号をアサートしない場合には、ＢＩＳＴモードが終了する。
【００７３】
各半導体ダイ内でコアフラッシュメモリセルにプログラム動作、消去動作および読出し動作をオンチップに実行することで、各半導体ダイの試験に使用する外部試験システム３１８のピン数を最小限に減らすことができる。例えば、本明細書に記載した本発明の実施形態においては、外部試験システム３１８からシリアルシフトレジスタ３２０に試験種別データと試験モードデータを入力し、シリアルシフトレジスタ３２０から外部試験システム３１８に合否結果を出力するために２本のＩＯピンを使用している。さらに、外部試験システム３１８のピンのうち、３本のピンをＣＥ／制御信号、ＷＥ／制御信号、およびＯＥ／制御信号に使用し、２本のピンを電源供給に使用する。
【００７４】
このように、１つの半導体ダイの試験に占有されるピン数が、従来技術の４６本から、本発明の一実施形態では約７本に削減されており、この結果、外部試験システム３１８が同時に試験可能な半導体ダイの数が約７倍に増える。図４，６を参照すると、半導体ウェハ２２０の各半導体ダイは、コアフラッシュメモリセル３０４のアレイと共に半導体ダイに作製されているＢＩＳＴシステム３００をそれぞれ有する。図４，６，７，８を参照すると、外部試験システム３１８の７本のピンの組のそれぞれが、半導体ウェハ２２０の複数の半導体ダイのそれぞれのＢＩＳＴシステム３００に結合される。
【００７５】
図９，１０を参照すると、第１の状態、第２の状態、第３の状態、および第４の状態を含む図９のフローチャートのステップは、半導体ウェハ２２０の複数の半導体ダイの各々に同時に実行される。本発明では、１つの半導体ダイの試験に占有されるピン数を削減できるため、総ピン数の限られた外部試験システム３１８によって同時に試験することができる半導体ダイの数が増え、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。
【００７６】
図１２を参照すると、本発明の別の実施形態では、外部試験システム３１８のピンが複数の半導体ダイによって共有される。図１２は、第１のＢＩＳＴシステム４５４および第１のコアフラッシュメモリセルのアレイ４５６を有する第１の半導体ダイ４５２と、第２のＢＩＳＴシステム４６０および第２のコアフラッシュメモリセルのアレイ４６２を有する第２の半導体ダイ４５８と、第３のＢＩＳＴシステム４６６および第３のコアフラッシュメモリセルのアレイ４６８を有する第３の半導体ダイ４６４とを示している。
【００７７】
ＢＩＳＴシステム４５４，４５８，４６４は、コアフラッシュメモリセルのアレイ４５６，４６２，４６８のそれぞれのオンチップ試験については、本明細書に記載したＢＩＳＴシステム３００と構造および機能面で類似している。本発明の一実施形態では、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４は、同じ半導体ウェハに設けられている。外部試験システム３１８の第１のピン４７２、第２のピン４７４、および第３のピン４７６が、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４のＢＩＳＴシステム４５４，４５８，４６４のそれぞれに結合されていると共に、これらによって共有されている。この共有ピンのそれぞれは、外部試験システム３１８とＢＩＳＴシステム４５４，４５８，４６４とが双方向的に信号を供給するように双方向的であっても、あるいは外部試験システム３１８とＢＩＳＴシステム４５４，４５８，４６４とが一方向的に信号を供給するように一方向的であってもよい。
【００７８】
一例を挙げると、外部試験システム３１８の第１のピン４７２、第２のピン４７４、および第３のピン４７６は、ＣＥ／制御信号を供給するＣＥ／制御ピン、ＷＥ／制御信号を供給するＷＥ／制御ピン、およびＯＥ／制御信号を供給するＯＥ／制御ピンであり得る。この場合、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４は、外部試験システム３１８の制御ピンを共有している。しかし、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４は、外部試験システム３１８の別々のピンの組である第１のＩＯ１ピンおよび第２のＩＯ２ピンにそれぞれ対するピンを有し得る。
【００７９】
この例では、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４が、共有の制御ピン４７２，４７４，４７６で供給されるＣＥ／制御信号、ＷＥ／制御信号、およびＯＥ／制御信号によって同時に試験される。その際、外部試験システム３１８は、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４用のそれぞれの第１のＩＯ１ピンおよび第２のＩＯ２ピンを使用して、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４との間でデータを入出力する。
【００８０】
別例では、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４などの複数の半導体ダイが、外部試験システム３１８の共通の第１のＩＯ１ピンおよび第２のＩＯ２ピンに結合されており、これらを共有している。この場合、各半導体ダイ４５２，４５８，４６４は、外部試験システム３１８の別々のピンの組であるＣＥ／制御ピン、ＷＥ／制御ピン、およびＯＥ／制御ピンにそれぞれ対するピンを有し得る。
【００８１】
この例では、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４が順に試験される。その際、外部試験システム３１８は、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４用の共有の第１のＩＯ１ピンおよび第２のＩＯ２ピンを介して、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４との間で順にデータを入出力する。第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４の各々を順に試験するタイミングは、第１の半導体ダイ４５２、第２の半導体ダイ４５８、および第３の半導体ダイ４６４用のそれぞれのＣＥ／制御ピン、ＷＥ／制御ピン、およびＯＥ／制御ピンに別個にＣＥ／制御信号、ＷＥ／制御信号、およびＯＥ／制御信号を出力して制御され得る。
【００８２】
外部試験システム３１８のピンをこのように共有することで、各半導体ダイのそれぞれのコアフラッシュメモリセルのアレイの試験に必要な、外部試験システム３１８からの制御信号および入出力信号の数を大幅に削減することができる。このため、費用対効果のより高いＢＩＳＴ（組込み自己試験）用の外部試験システムにより、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。
【００８３】
上記の記載は例に過ぎず、限定を意図するものではない。例えば、本発明を、試験モードと図８のシリアルシフトレジスタ３２０のデータビットの数がより多い場合に実施してもよい。本明細書に記載もしくは図示した数値は例に過ぎない。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
【００８４】
Ｃ．バックエンドＢＩＳＴ（組込み自己試験）状態機械
図１３は、図７のＢＩＳＴシステム３００のバックエンドＢＩＳＴ状態機械３１６のブロック図である。図１３において、コアフラッシュメモリセル３０４のアレイ、フロントエンドインタフェース３１４、およびＢＩＳＴインタフェース３１２はバックエンドＢＩＳＴ状態機械３１６の一部ではないため、コアフラッシュメモリセル３０４のアレイ、フロントエンドインタフェース３１４、およびＢＩＳＴインタフェース３１２は破線で記載されている。バックエンドＢＩＳＴ状態機械３１６は、ＢＩＳＴシステム３００のフロントエンドインタフェース３１４とＢＩＳＴインタフェース３１２とに結合されたバックエンドＢＩＳＴコントローラ５０２を備える。図６，１３を参照すると、ＢＩＳＴコントローラ５０２は、コアフラッシュメモリセル３０４のアレイが作製されている半導体ダイ３０２にオンチップに作製されている。
【００８５】
フロントエンドインタフェース３１４は、バックエンドＢＩＳＴ状態機械３１６が実行すべき現在のＢＩＳＴモードに対応する識別情報をＢＩＳＴコントローラ５０２に送信する。ＢＩＳＴインタフェース３１２は、ＢＩＳＴコントローラ５０２にＢＳＴＡＲＴ信号を送信して、バックエンドＢＩＳＴ状態機械３１６によるＢＩＳＴモードの組の実行の開始を通知する。
【００８６】
上記に加え、ＢＩＳＴコントローラ５０２は、各ＢＩＳＴモードの実行後に、各ＢＩＳＴモードに対するＤＯＮＥ信号またはＨＡＮＧ信号を送信する。ＢＩＳＴコントローラ５０２は、現在のＢＩＳＴモードの実行に成功した場合、すなわちコアフラッシュメモリセルのアレイが現在のＢＩＳＴモードに合格した場合には、ＤＯＮＥ信号を送信する。あるいは、ＢＩＳＴコントローラ５０２は、現在のＢＩＳＴモードが失敗に終わった場合、すなわちコアフラッシュメモリセルのアレイが現在のＢＩＳＴモードに不合格となった場合には、ＨＡＮＧ信号を送信する。ＢＩＳＴコントローラ５０２はＰＬＤ（プログラマブルロジックデバイス）などのデータプロセッサであり、ＢＩＳＴコントローラを実装するためのこのようなデータプロセッサデバイスは電子工学の当業者に公知である。
【００８７】
バックエンドＢＩＳＴ状態機械３１６は、（図１３の破線内に示す）複数の電圧源５０４をさらに備える。この複数の電圧源は、コアフラッシュメモリセル３０４のアレイに印加する電圧を供給するＡＰＤストレス電圧源５０６、ＨＴＲＢストレス電圧源５０８、プログラム／消去電圧源５１０、および読出し／検証電圧源５１２を備える。複数の電圧源５０６，５０８，５１０，５１２は、コアフラッシュメモリセル３０４のアレイとＢＩＳＴコントローラ５０２の間に結合されている。ＢＩＳＴコントローラ５０２は、複数の電圧源５０６，５０８，５１０，５１２を制御して、各ＢＩＳＴモードのためにコアフラッシュメモリセル３０４のアレイに適切な電圧を印加させる。図６，１３を参照すると、複数の電圧源５０６，５０８，５１０，５１２は、コアフラッシュメモリセル３０４のアレイが作製されている半導体ダイ３０２にオンチップに作製されている。電圧を発生させるための電圧源は、電子工学の当業者に公知である。さらに、コアフラッシュメモリセル３０４のアレイのあるアドレスに存在する特定のフラッシュメモリセルに選択された電圧を印加するための制御メカニズムは、フラッシュメモリデバイスの当業者に公知である。
【００８８】
バックエンドＢＩＳＴ状態機械３１６は、基準回路５１４と比較器回路５１６も備える。フラッシュメモリセルの検証動作または読出し動作中に、基準回路５１４は基準電流または基準電圧を発生させ、比較器回路５１６は、コアフラッシュメモリセル３０４のアレイのフラッシュメモリセルの電流または電圧を比較して、そのフラッシュメモリセルに対応した論理ハイ状態または論理ロー状態を生成する。図６，１３を参照すると、基準回路５１４と比較器回路５１６とは、コアフラッシュメモリセル３０４のアレイが作製されている半導体ダイ３０２にオンチップに作製されている。フラッシュメモリセルの読出し動作または検証動作に使用するこのような基準回路および比較器回路は、電子工学の当業者に公知である。
【００８９】
フラッシュメモリセル３０４の読出し動作または検証動作中に、あるアドレスを有する所定の数のフラッシュメモリセルのそれぞれに対応した論理ハイ状態または論理ロー状態が比較器５１６によって生成されて、測定ビットパターンが生成される。ビットパターン生成器５１８は、フラッシュメモリセルのそのアドレスに対応する所望のビットパターンを生成する。ビットパターン生成器５１８に結合されたアドレスシーケンサ５２４は、フラッシュメモリセルの現在のアドレスをビットパターン生成器５１８に知らせる。ビットパターン生成器５１８の実装例は、本明細書のセクションＧ「ＢＩＳＴ（組込み自己試験）システムのパターン生成器」に記載している。図６，１３を参照すると、ビットパターン生成器５１８は、コアフラッシュメモリセル３０４のアレイが作製されている半導体ダイ３０２にオンチップに作製されている。
【００９０】
照合回路５２０は、比較器回路５１６からの測定ビットパターンとビットパターン生成器５１８からの所望のビットパターンとを比較して、測定ビットパターンと所望のビットパターンとが一致するかどうかを判定する。この比較の結果は、照合回路５２０からＢＩＳＴコントローラ５０２に送信される。このような照合回路の実装は、電子工学の当業者に公知である。図６，１３を参照すると、照合回路５２０は、コアフラッシュメモリセル３０４のアレイが作製されている半導体ダイ３０２にオンチップに作製されている。
【００９１】
さらに、バックエンドＢＩＳＴ状態機械３１６は、現在のＢＩＳＴモードがフラッシュメモリセル３０４のアレイの各アドレスに実行されるように、アドレスシーケンサ５２４をさらに備える。バックエンドＢＩＳＴ状態機械３１６のアドレスシーケンサ５２４の実装例は、セクションＦ「ＢＩＳＴ（組込み自己試験）システム内のアドレスシーケンサ」に記載している。図６，１３を参照すると、アドレスシーケンサ５２４は、コアフラッシュメモリセル３０４のアレイが作製されている半導体ダイ３０２にオンチップに作製されている。
【００９２】
ＢＩＳＴモードの実行中に、ＢＩＳＴコントローラ５０２がステップの経過時間を計時できるように、タイマーまたはクロック５２６がＢＩＳＴコントローラ５０２に結合されている。タイマーおよびクロックの実装は、電子工学の当業者に公知である。図６，１３を参照すると、タイマーまたはクロック５２６は、コアフラッシュメモリセル３０４のアレイが作製されている半導体ダイ３０２にオンチップに作製されている。
【００９３】
図１４は状態機械図５３０であり、コアフラッシュメモリセル３０４のアレイの試験のため各ＢＩＳＴモードを実行するために、図１３のバックエンドＢＩＳＴ状態機械３１６の動作時の比較的少数の状態を示している。この状態機械図には、ＳＴＡＲＴ状態５３２、ＡＰＤ（自動プログラムディスターブ）状態５３４、ＨＴＲＢ（高温保持ベーク）状態５３６、ＶＥＲＩＦＹ１状態５３８、ＶＥＲＩＦＹ２状態５４０、ＪＵＩＣＥ状態５４２、ＤＯＮＥ状態５４４、およびＨＡＮＧ状態５４６が含まれる。バックエンドＢＩＳＴ状態機械３１６は、コアフラッシュメモリセル３０４のアレイの試験のため各ＢＩＳＴモードを実行するために、これらの有限数の状態５３２，５３４，５３６，５３８，５４０，５４２，５４４，５４６の組に入る。
【００９４】
図１４の状態機械図５３０を参照して、コアフラッシュメモリセル３０４のアレイの試験のため、バックエンドＢＩＳＴ状態機械３１６がＢＩＳＴモードを実行する例を以下に記載する。図７を参照すると、ＢＩＳＴインタフェース３１２は、バックエンドＢＩＳＴ状態機械３１６にＢＳＴＡＲＴ信号を送信して、バックエンドＢＩＳＴ状態機械３１６によるＢＩＳＴモードの組の実行の開始を通知する。
【００９５】
さらに、フロントエンドインタフェース３１４は、ＢＩＳＴモードの組のうち、バックエンドＢＩＳＴ状態機械３１６が現在実行すべきＢＩＳＴモードに対応する識別情報を送信する。フロントエンドインタフェース３１４は、バックエンドＢＩＳＴ状態機械３１６がＢＩＳＴモードの組にある全てのＢＩＳＴモードを実行するまで、ＢＩＳＴモードの組に含まれる各ＢＩＳＴモードを現在のＢＩＳＴモードとして一巡する。バックエンドＢＩＳＴ状態機械３１６が、ＢＩＳＴモードの組にある全てのＢＩＳＴモードを実行すると、バックエンドＢＩＳＴ状態機械３１６からのＢＢＵＳＹ信号がアサートされなくなり、バックエンドＢＩＳＴ状態機械３１６がＢＩＳＴモードの組の実行を完了したことをＢＩＳＴインタフェース３１２に通知する。これより前は、ＢＩＳＴ状態機械３１６がＢＩＳＴインタフェース３１２に対してＢＢＵＳＹ信号をアサートしており、ＢＩＳＴモードの組の実行がまだ完了していないことを通知していた。
【００９６】
ＢＩＳＴモードでは、一般に、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルに電圧を印加するか、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルのそれぞれの論理状態を読出すか、この少なくとも一方を実行する。ＢＩＳＴモードがコアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルにプログラム電圧または消去電圧を印加する場合、そのＢＩＳＴモードで、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルのプログラム状態または消去状態が検証され得る。
【００９７】
コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルに電圧を印加するＢＩＳＴモードの例には、各フラッシュメモリセルにプログラム電圧を印加してコアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルに論理ロー状態をプログラムするＢＩＳＴモードや、各フラッシュメモリセルに消去電圧を印加して、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルに論理ハイ状態をプログラムするＢＩＳＴモードがある。あるいは、コアフラッシュメモリセル３０４のアレイが、チェッカーボードパターンで論理ロー状態と論理ハイ状態が並んだ状態にするために、各フラッシュメモリセルにプログラム電圧と消去電圧とを交互に印加する。
【００９８】
図１５は、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルにプログラム電圧または消去電圧を印加すると共に、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルのプログラム状態または消去状態を検証するためのＢＩＳＴモードの例のフローチャートである。図１３，１４，１５を参照すると、ＢＩＳＴコントローラ５０２は、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルに電圧を印加するために、現在実行すべき現在のＢＩＳＴモードのそれぞれの識別情報を受信する。このＢＩＳＴモードが開始されると、ＢＩＳＴコントローラ５０２は、図１４のＳＴＡＲＴ状態５３２に入る（図１５のステップ５５２）。ＳＴＡＲＴ状態の間、タイマー５２６は、ＳＴＡＲＴ状態の間に、フラッシュメモリセルのワード線に印加する電圧を供給する電圧源５０４内の調整コンデンサをリセットするため、現在のＢＩＳＴモードを開始する前に所定の待機時間を計時する（図１５のステップ５５４）。フラッシュメモリセルのワード線に印加する電圧を供給する電圧源５０４内の調整コンデンサのリセットは、フラッシュメモリデバイスの当業者に公知である。待機時間が経過しない間（Ｗａｉｔ＝Ｔｒｕｅ）は、バックエンドＢＩＳＴ状態機械３１６はＳＴＡＲＴ状態に留まる。
【００９９】
ＳＴＡＲＴ状態中に待機時間が経過する（Ｗａｉｔ＝Ｆａｌｓｅ）と、バックエンドＢＩＳＴ状態機械３１６は図１４のＶＥＲＩＦＹ１状態５３８に入る（図１５のステップ５５６）。ＶＥＲＩＦＹ１状態の間、ＶＥＲＩＦＹ２状態で複数の電圧源５０４からの電圧をフラッシュメモリセルのアドレスに印加する前に、タイマー５２６は所定の待ち時間期間を計時して、ＶＥＲＩＦＹ２状態に入る前に複数の電圧源５０４からの電圧レベルを安定させる（図１５のステップ５５８）。ＶＥＲＩＦＹ１状態中、待機時間が経過しない間（Ｗａｉｔ＝Ｔｒｕｅ）は、バックエンドＢＩＳＴ状態機械３１６はＶＥＲＩＦＹ１状態に留まる。
【０１００】
図１６にコアフラッシュメモリセル３０４のアレイのレイアウトの例を示し、コアフラッシュメモリセル３０４のアレイは、第１のセクタ６０２、第２のセクタ６０４、第３のセクタ６０６、第４のセクタ６０８、第５のセクタ６１０、第６のセクタ６１２、第７のセクタ６１４、および第８のセクタ６１６の８つの水平セクタを有する。さらに、このコアフラッシュメモリセルのアレイは、各水平セクタに、第１のブロック６２２、第２のブロック６２４、第３のブロック６２６、第４のブロック６２８、第５のブロック６３０、第６のブロック６３２、第７のブロック６３４、第８のブロック６３６、第９のブロック６３８、第１０のブロック６４０、第１１のブロック６４２、第１２のブロック６４４、第１３のブロック６４６、第１４のブロック６４８、第１５のブロック６５０、および第１６のブロック６５２の１６の垂直ブロックを有する。
【０１０１】
図１７を参照すると、フラッシュメモリセルの１セクタ内の各ブロックは、６４本のビット線と６４本のワード線とを有する。例えば、図１７には、第１のセクタ６０２の第１のブロック６２２の第１のビット線６６２、第２のビット線６６４、第３のビット線６６６、、、第６４のビット線６６８と、第１のワード線６７２、第２のワード線６７４、第３のワード線６７６、、、第６４のワード線６７８が示される。フラッシュメモリセルのブロック内でビット線とワード線とが交差している点がフラッシュメモリセルとなる。ワード線は、１６のブロック６２２，６２４，６２６，６２８，６３０，６３２，６３４，６３６，６３８，６４０，６４２，６４４，６４６，６４８，６５０，６５２の全てを水平方向に連続的に通っている。
【０１０２】
図１６，１７を参照すると、本発明の一実施形態では、あるアドレスを有する所定の数のフラッシュメモリセルは、１６のブロック６２２，６２４，６２６，６２８，６３０，６３２，６３４，６３６，６３８，６４０，６４２，６４４，６４６，６４８，６５０，６５２のそれぞれにある、同じワード線とＮ番目のビット線とに結合された１６個のフラッシュメモリセルによって形成される。例えば、第１のアドレスは、１６のブロック６２２，６２４，６２６，６２８，６３０，６３２，６３４，６３６，６３８，６４０，６４２，６４４，６４６，６４８，６５０，６５２のそれぞれにある、一番上のワード線６７２と一番左のビット線６６２とに結合された１６個のフラッシュメモリセルの各々を含む。さらに、第２のアドレスは、１６のブロック６２２，６２４，６２６，６２８，６３０，６３２，６３４，６３６，６３８，６４０，６４２，６４４，６４６，６４８，６５０，６５２のそれぞれにある、一番上のワード線６７２と左端から２番目のビット線６６４とに結合された１６個のフラッシュメモリセルの各々を含む。このように、それぞれの６４本のビット線が、１６のブロック６２２，６２４，６２６，６２８，６３０，６３２，６３４，６３６，６３８，６４０，６４２，６４４，６４６，６４８，６５０，６５２のそれぞれを通っているため、取り得る６４個の列アドレスは水平に延びるワード線の各々に対応している。図１５を参照すると、ＳＴＡＲＴ状態５５２の前に、アドレスシーケンサは、１６個のフラッシュメモリセルの現在のアドレスとして、第１のアドレスにリセットされる。
【０１０３】
図１５を参照すると、ＶＥＲＩＦＹ１状態中に待機時間が経過する（Ｗａｉｔ＝Ｆａｌｓｅ）と、バックエンドＢＩＳＴ状態機械３１６は、図１４のＶＥＲＩＦＹ２状態５４０に入る（図１５のステップ５６０）。ＶＥＲＩＦＹ２状態の間、ＢＩＳＴコントローラ５０２は、読出し／検証電圧源５０４を制御して、フラッシュメモリセル３０４のアレイの現在のアドレスを有する所定の数（本明細書に記載する図１６，１７の例では１６個）のフラッシュメモリセルのそれぞれに検証電圧を印加させる。
【０１０４】
比較器回路５１６が、基準回路５１４を使用して、フラッシュメモリセルのこの現在のアドレスに対応する測定ビットパターンを生成する。測定ビットパターンは、現在のアドレスを有するフラッシュメモリセルに検証電圧を印加したのち、所定の数のフラッシュメモリセルのそれぞれから読出した一連のビット（論理ハイ状態「１」か論理ロー状態「０」かのいずれかをとる）を含む。フラッシュメモリセルのプログラム状態または消去状態を検証するためにフラッシュメモリセルに印加する検証電圧は、フラッシュメモリデバイスの当業者に公知である。さらに、フラッシュメモリセルの現在のアドレスに対応する所望のビットパターンが、ビットパターン生成器５１８によって生成される。所望のビットパターンは、現在のアドレスの所定の数のフラッシュメモリセルの各々がとるべき一連のビット（論理ハイ状態「１」か論理ロー状態「０」かのいずれかをとる）を含む。
【０１０５】
次に、照合回路５２０は、フラッシュメモリセルの現在のアドレスについて、測定ビットパターンと所望のビットパターンとを比較する（図１５のステップ５６２）。測定ビットパターンのいずれかのビットが所望のビットパターンと一致しない場合、ＢＩＳＴコントローラ５０２は、ＰＵＬＳＥ＿ＣＯＵＮＴ変数とＭａｘ＿ＰＣ（最大パルスカウント）とを比較する。このＰＵＬＳＥ＿ＣＯＵＮＴは、現在のＢＩＳＴモードのために、ＳＴＡＲＴ状態５５２に入る前にゼロにリセットされている。ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣ未満であれば（図１５のステップ５６４）、ＢＩＳＴコントローラ５０２は、複数の電圧源５０４を制御して、図１４のＪＵＩＣＥ状態５４２の間、コアフラッシュメモリセル３０４の現在のアドレスを有するフラッシュメモリセルに、現在のＢＩＳＴモードに対応するプログラム電圧または消去電圧を印加させる（図１５のステップ５６６）。さらに、この場合、ＰＵＬＳＥ＿ＣＯＵＮＴが１つインクリメントされる。
【０１０６】
例えば、現在のＢＩＳＴモードが各フラッシュメモリセルにプログラム電圧を印加するモードである場合、現在のアドレスを有するフラッシュメモリセルの所望のビットパターンは０が１６個の連続したパターンとなる。測定ビットパターンのうちのいずれかのビットが論理ハイ状態（「１」）の場合、プログラム電圧源５１０からのプログラム電圧が論理ハイ状態のフラッシュメモリセルの全てに印加されて、ＰＵＬＳＥ＿ＣＯＵＮＴが１つインクリメントされる。タイマー５２６は、ＪＵＩＣＥ状態中にこの電圧を印加するため、ｊｕｉｃｅ期間（ＪＴＩＭＥＯＵＴ）を計時する（図１５のステップ５６８）。ｊｕｉｃｅ期間の値は、現在のＢＩＳＴモードによって決まる。例えば、ｊｕｉｃｅ期間の値は、現在のＢＩＳＴモードがプログラム電圧を印加するモードか、あるいは消去電圧を印加するモードかに応じて変わり得る。ｊｕｉｃｅ期間が経過しない間（ＪＴＩＭＥＯＵＴ＝Ｆａｌｓｅ）は、バックエンドＢＩＳＴ状態機械３１６はＪＵＩＣＥ状態に留まり、ｊｕｉｃｅ期間（ＪＴＩＭＥＯＵＴ）の間、現在のＢＩＳＴモードに対応する電圧を印加する。
【０１０７】
ｊｕｉｃｅ期間が経過する（ＪＴＩＭＥＯＵＴ＝ＴＲＵＥ）と、バックエンドＢＩＳＴ状態機械３１６は、図１４のＶＥＲＩＦＹ１状態５３８およびＶＥＲＩＦＹ２状態５４０に再度入る（図１５のステップ５５６，５５８，５６０，５６２）。ＶＥＲＩＦＹ１状態およびＶＥＲＩＦＹ２に再度入ると、最後の追加のＪＵＩＣＥ状態５６６の後に、比較器回路５１６が、基準回路５１４を使用してフラッシュメモリセルの現在のアドレスに対応する測定ビットパターンを生成し、照合回路５２０が、測定ビットパターンと所望のビットパターンとを比較する。ＪＵＩＣＥ状態５６６に再度入ることによって、フラッシュメモリセルの現在のアドレスに対応する測定ビットパターンと所望のビットパターンとが一致する確率が上がる。測定ビットパターンと所望のパターンとが一致しない場合、ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣを越えるか、あるいは測定ビットパターンと所望のビットパターンとが一致するまで、ステップ５６４，５６６，５６８，５５６，５５８，５６０，５６２が繰り返されると共に、ＰＵＬＳＥ＿ＣＯＵＮＴがインクリメントされる。
【０１０８】
ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣより大きい場合、ＪＵＩＣＥ状態（図１５のステップ５６６，５６８）にＭａｘ＿ＰＣ回入ったことになる。現在のＢＩＳＴモードに対応するそれぞれのプログラム電圧または消去電圧を、現在のアドレスのフラッシュメモリセルにＭａｘ＿ＰＣ回印加しても、測定ビットパターンと所望のビットパターンとが一致しない場合、ＰＵＬＳＥ＿ＣＯＵＮＴがゼロにリセットされて（図１５のステップ５７０）、ＢＩＳＴコントローラ５０２は図１４のＨＡＮＧ状態５４６に入る（図１５のステップ５７２）。
【０１０９】
一方、ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣをより大きくなる前に、図１５のステップ５６２で測定ビットパターンと所望のビットパターンとが一致した場合、アドレスシーケンサ５２４内のコアフラッシュメモリセル３０４の現在のアドレスが次の列アドレスにインクリメントされて、ＰＵＬＳＥ＿ＣＯＵＮＴがゼロにリセットされる（図１５のステップ５７４）。さらに、現在のアドレスが次の列アドレスにインクリメントされると、ＢＩＳＴコントローラ５０２はＶＥＲＩＦＹ１状態に戻り（図１５のステップ５７４）、これによって、図１５のステップ５５６，５５８，５６０，５６２，５６４，５６６，５６８，５７０，５７２，５７４が次の列アドレスに対して繰り返される。
【０１１０】
図１６，１７において、列アドレスは、１６のブロック６２２，６２４，６２６，６２８，６３０，６３２，６３４，６３６，６３８，６４０，６４２，６４４，６４６，６４８，６５０，６５２のそれぞれにある、同じワード線とＮ番目のビット線とに結合された１６個のフラッシュメモリセルを指している。例えば、図１６，１７で、第１の列アドレスは、１６のブロック６２２，６２４，６２６，６２８，６３０，６３２，６３４，６３６，６３８，６４０，６４２，６４４，６４６，６４８，６５０，６５２のそれぞれにある、一番上のワード線６７２と一番左のビット線６６２とに結合された１６個のフラッシュメモリセルの各々を含む。さらに、第２の列アドレスは、１６のブロック６２２，６２４，６２６，６２８，６３０，６３２，６３４，６３６，６３８，６４０，６４２，６４４，６４６，６４８，６５０，６５２のそれぞれにある、一番上のワード線６７２と左端から２番目のビット６６４とに結合された１６個のフラッシュメモリセルの各々を含む。このように、６４本の垂直に延びるビット線のそれぞれの組が、１６のブロック６２２，６２４，６２６，６２８，６３０，６３２，６３４，６３６，６３８，６４０，６４２，６４４，６４６，６４８，６５０，６５２のそれぞれを通っているため、取り得る６４個の列アドレスは水平に延びるワード線の各々に対応している。
【０１１１】
現在の列アドレスがＭａｘ＿ＣＡ（最大列アドレスであり、図１６，１７の例では６４個）を越えるまで、この列アドレスの各々に対して、図１５のステップ５５６，５５８，５６０，５６２，５６４，５６６，５６８，５７０，５７２，５７４のループが繰り返される。現在の列アドレスがＭａｘ＿ＣＡを越えると（図１５のステップ５７６）、図１５のステップ５５６，５５８，５６０，５６２，５６４，５６６，５６８，５７０，５７２，５７４を含む現在のＢＩＳＴモードが、現在のワード線の全６４個の列アドレスに実行されたことになる。図１６，１７を参照すると、各水平セクタ６０２，６０４，６０６，６０８，６１０，６１２，６１４，６１６は、それぞれの６４本のワード線の組を有する。各６４本のワード線について、現在のブロックアドレスがＭａｘ＿ＢＡ（最大ブロックアドレス）を越えるまで（図１５のステップ５７８）、このループが繰り返され、６４個の全列アドレスに現在のＢＩＳＴモードが実行される。
【０１１２】
図１６，１７を参照すると、現在のブロックアドレスがＭａｘ＿ＢＡを越えると（図１５のステップ５７８）、水平セクタ６０２，６０４，６０６，６０８，６１０，６１２，６１４，６１６のうちの現在のセクタ内の全アドレスについて、現在のＢＩＳＴモードが実行されたことになる。現在のブロックアドレスがＭａｘ＿ＢＡを超えていなければ（図１５のステップ５７８）、水平セクタのうちの現在の水平セクタ内の全アドレスについて現在のＢＩＳＴモードが実行されて、現在のブロックアドレスがＭａｘ＿ＢＡを越えるまで、図１５のステップ５５６，５５８，５６０，５６２，５６４，５６６，５６８，５７０，５７２，５７４，５７６，５７８のループが繰り返される。現在のブロックアドレスがＭａｘ＿ＢＡを越えており、水平セクタのうちの現在の水平セクタ内の全アドレスに現在のＢＩＳＴモードが実行されている場合（図１５のステップ５７８）、アドレスシーケンサ５２４内で、現在のセクタアドレスが次の水平セクタにインクリメントされる。
【０１１３】
水平セクタ６０２，６０４，６０６，６０８，６１０，６１２，６１４，６１６の全セクタ内の全アドレスに現在のＢＩＳＴモードが実行され、現在のセクタアドレスがＭａｘ＿ＳＡ（最大セクタアドレス）を越えるまで（図１５のステップ５８２）、図１５のステップ５５２，５５４，５５６，５５８，５６０，５６２，５６４，５６６，５６８，５７０，５７２，５７４，５７６，５７８，５８０，５８２のループが繰り返される。Ｍａｘ＿ＳＡを越えると、変数ｅｍｂ＿Ｒｅａｄ（embedded read:エンベデッド読出し）が論理ハイ状態「１」に設定され（図１５のステップ５８４）、次に、現在のＢＩＳＴモードは、各フラッシュメモリセルに対するプログラム状態または消去状態の読出しを含み得る。判断ステップ５７６，５７８，５８２を含む上記のネストされたループを実行することと、アドレスシーケンサ５２４によって、図１５の現在のＢＩＳＴモードが、コアフラッシュメモリセル３０４のアレイ全体の各アドレスに実行される。
【０１１４】
図１８は、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルのそれぞれの論理状態の読出しを含むＢＩＳＴモードのフローチャートである。例えば、このＢＩＳＴモードは、図１５のＢＩＳＴモードのステップ５８４で変数ｅｍｂ＿Ｒｅａｄ（エンベデッド読出し）が論理ハイ状態「１」に設定された後に実行され得る。このようなＢＩＳＴモードの読出し動作を開始すると、ＢＩＳＴコントローラ５０２は、図１４のＳＴＡＲＴ状態５３２に入る（図１８のステップ６８２）。ＳＴＡＲＴ状態の間、タイマー５２６は、フラッシュメモリセルのワード線に印加する電圧を供給する電圧源５０４内の調整コンデンサをリセットするため、現在のＢＩＳＴモードを開始する前に所定の待機時間を計時する（図１８のステップ６８４）。待機時間が経過しない間（Ｗａｉｔ＝Ｔｒｕｅ）は、バックエンドＢＩＳＴ状態機械３１６はＳＴＡＲＴ状態に留まる。
【０１１５】
ＳＴＡＲＴ状態中に待機時間が経過する（Ｗａｉｔ＝Ｆａｌｓｅ）と、バックエンドＢＩＳＴ状態機械３１６は図１４のＶＥＲＩＦＹ１状態５３８に入る（図１８のステップ６８６）。ＶＥＲＩＦＹ１状態の間、ＶＥＲＩＦＹ２状態で複数の電圧源５０４からの電圧をフラッシュメモリセルのアドレスに印加する前に、タイマー５２６は所定の待ち時間期間を計時して、ＶＥＲＩＦＹ２状態に入る前に複数の電圧源５０４からの電圧レベルを安定させる（図１８のステップ６８８）。ＶＥＲＩＦＹ１状態中、待機時間が経過しない間（Ｗａｉｔ＝Ｔｒｕｅ）は、バックエンドＢＩＳＴ状態機械３１６はＶＥＲＩＦＹ１状態に留まる。
【０１１６】
ＶＥＲＩＦＹ１状態中に待機時間が経過する（Ｗａｉｔ＝Ｆａｌｓｅ）と、バックエンドＢＩＳＴ状態機械３１６は、図１４のＶＥＲＩＦＹ２状態５４０に入る（図１８のステップ６９０）。ＶＥＲＩＦＹ２状態の間、ＢＩＳＴコントローラ５０２は、読出し／検証電圧源５１２を制御して、フラッシュメモリセル３０４のアレイの現在のアドレスを有する所定の数（本明細書に記載する図１６，１７の例では１６個）のフラッシュメモリセルのそれぞれに読出し電圧を印加する。フラッシュメモリセルのプログラム状態または消去状態を判定するためにフラッシュメモリセルに印加する読出し電圧は、フラッシュメモリデバイスの当業者に公知である。
【０１１７】
比較器回路５１６が、基準回路５１４を使用して、フラッシュメモリセルのこの現在のアドレスに対応する測定ビットパターンを生成する。測定ビットパターンは、現在のアドレスを有するフラッシュメモリセルに読出し電圧を印加したのち、所定の数のフラッシュメモリセルのそれぞれから読出した一連のビット（論理ハイ状態「１」か論理ロー状態「０」かのいずれかをとる）を含む。
【０１１８】
さらに、フラッシュメモリセルの現在のアドレスに対応する所望のビットパターンが、ビットパターン生成器５１８によって生成される。所望のビットパターンは、現在のアドレスの所定の数のフラッシュメモリセルの各々がとるべき一連のビット（論理ハイ状態「１」か論理ロー状態「０」かのいずれかをとる）を含む。例えば、最後のＢＩＳＴモードでコアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルに論理ロー状態「０」へのプログラムを実行した場合、１６個のフラッシュメモリセルのアドレスの所望のビットパターンは、「０」が１６個連続するパターンとなる。あるいは、最後のＢＩＳＴモードでコアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルに論理ロー状態「１」への消去を実行した場合、１６個のフラッシュメモリセルのアドレスの所望のビットパターンは、「１」が１６個連続するパターンとなる。または、最後のＢＩＳＴモードでコアフラッシュメモリセル３０４のアレイに論理ロー状態または論理ハイ状態へのプログラムと消去とを交互にチェッカーボードパターンで実行した場合、１６個のフラッシュメモリセルのアドレスの所望のビットパターンは、１と０とが交互に並ぶパターンとなる。
【０１１９】
次に、照合回路５２０は、フラッシュメモリセルの現在のアドレスについて、測定ビットパターンと所望のビットパターンとを比較する（図１８のステップ６９２）。測定ビットパターンと所望のビットパターンとが一致しない場合（ＭＡＴＣＨ＝ＦＡＬＳＥ）、ＢＩＳＴコントローラ５０２は、図１４のＨＡＮＧ状態５４６に入り、ＢＩＳＴインタフェース３１２にＨＡＮＧ信号を送信する（図１８のステップ６９４）。あるいは、測定ビットパターンがフラッシュメモリセルの現在のアドレスの所望のビットパターンと一致する場合（ＭＡＴＣＨ＝ＴＲＵＥ）、アドレスシーケンサ５２４内の列アドレスがインクリメントされ（図１８のステップ６９６）、最大列アドレス（Ｍａｘ＿ＣＡ）に達する（図１８のステップ６９８）まで、後続の列アドレスの各々についてＶＥＲＩＦＹ２状態と比較ステップ６９２とが繰り返される。ＢＩＳＴコントローラ５０２は、アドレスシーケンサ５２４内のフラッシュメモリセルの列アドレスをインクリメントする。
【０１２０】
次に、水平セクタ６０２，６０４，６０６，６０８，６１０，６１２，６１４，６１６の１つについて、最大ブロックアドレス（Ｍａｘ＿ＢＡ）（すなわち最大ワード線）に達する（図１８のステップ７００）まで、各ワード線の取り得る列アドレスの全てに対し、ＶＥＲＩＦＹ２状態と比較ステップ６９２とが繰り返される。Ｍａｘ＿ＢＡに達すると、アドレスシーケンサ５２４内でセクタアドレスがインクリメントされ（図１８のステップ７０２）、最大セクタアドレス（Ｍａｘ＿ＳＡ）に達する（図１８のステップ７０４）まで、水平セクタ６０２，６０４，６０６，６０８，６１０，６１２，６１４，６１６の各々にＢＩＳＴモードが実行される。判断ステップ６９８，７００，７０４を含む上記のネストされたループを実行することと、アドレスシーケンサ５２４によって、ＨＡＮＧ信号が発生しない（図１４のＭＡＴＣＨ＝ＴＲＵＥかつＬＡＳＴ＿ＡＤＤ＝ＦＡＬＳＥ）限り、図１８の現在のＢＩＳＴモードが、コアフラッシュメモリセル３０４のアレイ全体の各アドレスに実行される。
【０１２１】
フラッシュメモリセルのいずれかのアドレスについてＨＡＮＧ信号が生成され、ＨＡＮＧ状態に入ると（図１８のステップ６９４）、直ちに図１８の現在のＢＩＳＴモードが終了し、フラッシュメモリセルの後続のアドレスに図１８の現在のＢＩＳＴモードが実行されることはない。この場合、図１８のＢＩＳＴモードで現在試験中のコアフラッシュメモリセル３０４のアレイは、現在のＢＩＳＴモードに不合格となる。一方、ＨＡＮＧ信号が発生せずに、判断ステップ６９８，７００，７０４のネストされたループによって、図１８の現在のＢＩＳＴモードがコアフラッシュメモリセル３０４のアレイ全体の各アドレスに実行された場合（図１４のＭＡＴＣＨ＝ＴＲＵＥかつＬＡＳＴ＿ＡＤＤ＝ＴＲＵＥ）、ＢＩＳＴコントローラ５０２は図１４のＤＯＮＥ状態５４４に入り、ＢＩＳＴインタフェース３１２にＤＯＮＥ信号を送信して（図１８のステップ７０６）、図１８の現在のＢＩＳＴモードが終了する。この場合、図１８のＢＩＳＴモードで現在試験中のコアフラッシュメモリセル３０４のアレイは、現在のＢＩＳＴモードに合格する。
【０１２２】
図１９は、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルにストレス電圧を印加するＢＩＳＴモードのフローチャートである。あるＢＩＳＴモードは、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルにＡＰＤストレス電圧およびＨＴＲＢストレス電圧を印加したのち、コアフラッシュメモリセル３０４のアレイの機能を試験する。図１６，１７を参照すると、ＨＴＲＢストレス電圧の場合、コアフラッシュメモリセルのアレイ内のビット線を接地した状態で、コアフラッシュメモリセル３０４のアレイ全体の全ワード線に、ＨＴＲＢストレス電圧源５０８から例えば約９ボルトの比較的高い電圧レベルを印加して、ストレスを印加する。
【０１２３】
図１６，１７を参照すると、ＡＰＤストレス電圧の場合、このフラッシュメモリセルのワード線を接地した状態で、水平セクタ６０２，６０４，６０６，６０８，６１０，６１２，６１４，６１６のうちの１つの全ビット線に、例えば約５ボルトの比較的高い電圧レベルを印加して、ストレスを印加する。ビット線に電流が流れるため、ＡＰＤストレス電圧が１つの水平セクタに一度に印加される。ＨＴＲＢストレス電圧およびＡＰＤストレス電圧を印加するためのこのようなＢＩＳＴモードは、フラッシュメモリデバイスの当業者に公知である。
【０１２４】
図１３，１４，１９を参照すると、ＢＩＳＴコントローラ５０２は、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルにＨＴＲＢストレス電圧およびＡＰＤストレス電圧を印加するために現在実行すべき現在のＢＩＳＴモードの識別情報を受け取る。この時点で、Ｅｘｉｔ＿ＨＴＲＢ変数が論理ロー状態「０」に設定され、変数ＰＵＬＳＥ＿ＣＯＵＮＴと変数ＳＥＣＴＯＲ＿ＡＤＤＲＥＳＳがゼロにリセットされる。このＢＩＳＴモードが開始されると、ＢＩＳＴコントローラ５０２は、図１４のＳＴＡＲＴ状態５３２に入る（図１９のステップ７１２）。ＳＴＡＲＴ状態の間、タイマー５２６は、複数の電圧源５０６，５０８，５１０，５１２（特にＡＰＤストレス電圧源５０６とＨＴＲＢストレス電圧源５０８）からの電圧レベルが待機時間中に安定するように、現在のＢＩＳＴモードを開始する前に、所定の待機時間を計時する（図１９のステップ７１４）。待機時間が経過しない間（Ｗａｉｔ＝Ｔｒｕｅ）は、バックエンドＢＩＳＴ状態機械３１６はＳＴＡＲＴ状態に留まる。
【０１２５】
ＳＴＡＲＴ状態中に待機時間が経過したのち（Ｗａｉｔ＝Ｆａｌｓｅ）、Ｅｘｉｔ＿ＨＴＲＢ変数が論理ハイ状態「１」に設定されていなければ（図１９のステップ７１６）、図１４のＨＴＲＢ状態５３６が開始する（図１９のステップ７１８）。ＨＴＲＢ状態の間、コアフラッシュメモリセルのアレイ内のビット線を接地した状態で、コアフラッシュメモリセル３０４のアレイ全体の全ワード線に、ＨＴＲＢストレス電圧源５０８から例えば約９ボルトの比較的高い電圧レベルを印加して、ストレスを印加する。タイマー５２６は、ＨＴＲＢ状態の間、コアフラッシュメモリセル３０４にこのＨＴＲＢストレス電圧を印加するｊｕｉｃｅ期間（ＪＴＩＭＥＯＵＴ）を計時する（図１９のステップ７２０）。ｊｕｉｃｅ期間が経過しない間（ＪＴＩＭＥＯＵＴ＝Ｆａｌｓｅ）は、バックエンドＢＩＳＴ状態機械３１６は、ＨＴＲＢ状態に留まり、ｊｕｉｃｅ期間（ＪＴＩＭＥＯＵＴ）の間コアフラッシュメモリセル３０４にＨＴＲＢストレス電圧を印加する。
【０１２６】
ＨＴＲＢ状態でｊｕｉｃｅ期間が経過する（ＪＴＩＭＥＯＵＴ＝ＴＲＵＥ）と、バックエンドＢＩＳＴ状態機械３１６は、ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣ（最大パルスカウント）を超えているかどうかチェックする（図１９のステップ７２２）。ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣ超えていなければ、ＨＴＲＢ状態にＪＴＩＭＥＯＵＴ期間の間再び入り、ＰＵＬＳＥ＿ＣＯＵＮＴがインクリメントされる。ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣを越えるまで、ステップ７１２，７１４，７１６，７１８，７２０，７２２のループが繰り返される。ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣを越えると、ＰＵＬＳＥ＿ＣＯＵＮＴがゼロにリセットされて（図１９のステップ７２４）、変数Ｅｘｉｔ＿ＨＴＲＢが論理ハイ状態「１」に設定される（図１９のステップ７２６）。
【０１２７】
この時点で、ＢＩＳＴコントローラ５０２は、ＳＴＡＲＴ状態に戻る（図１９のステップ７１２）。Ｅｘｉｔ＿ＨＴＲＢ変数が論理ハイ状態「１」に設定されているため、図１４のＡＰＤ状態５３４に入る（図１９のステップ７２８）。図１６を参照すると、ＡＰＤ状態では、このフラッシュメモリセルのワード線を接地した状態で、水平セクタ６０２，６０４，６０６，６０８，６１０，６１２，６１４，６１６のうちの１つの全ビット線に、例えば約５ボルトの比較的高い電圧レベルを印加して、ストレスを印加する。ビット線に電流が流れるため、ＡＰＤストレス電圧が１つの水平セクタに一度に印加される。
【０１２８】
現在のＳＥＣＴＯＲ＿ＡＤＤＲＥＳＳについて、ＡＰＤストレス電圧源５０６は、ｊｕｉｃｅ期間（ＪＴＩＭＥＯＵＴ）の間、水平セクタ６０２，６０４，６０６，６０８，６１０，６１２，６１４，６１６のうち現在のＳＥＣＴＯＲ＿ＡＤＤＲＥＳＳを有するセクタの各フラッシュメモリセルにＡＰＤストレス電圧を印加する。タイマー５２６は、ＡＰＤ状態の間、このＡＰＤストレス電圧を印加するｊｕｉｃｅ期間（ＪＴＩＭＥＯＵＴ）を計時する（図１９のステップ７３０）。ｊｕｉｃｅ期間が経過しない間（ＪＴＩＭＥＯＵＴ＝Ｆａｌｓｅ）は、バックエンドＢＩＳＴ状態機械３１６は、ＡＤＰ状態に留まり、ｊｕｉｃｅ期間（ＪＴＩＭＥＯＵＴ）の間コアフラッシュメモリセル３０４の現在のＳＥＣＴＯＲ＿ＡＤＤＲＥＳＳにＡＤＰストレス電圧を印加する。
【０１２９】
ＡＰＤ状態中にｊｕｉｃｅ期間（ＪＴＩＭＥＯＵＴ）が経過すると、アドレスシーケンサ５２４内でＳＥＣＴＯＲ＿ＡＤＤＲＥＳＳがインクリメントされ（図１９のステップ７３２）、ＢＩＳＴコントローラ５０２はＳＥＣＴＯＲ＿ＡＤＤＲＥＳＳがＭａｘ＿ＳＡを超えているかどうかチェックする（図１９のステップ７３４）。ＳＥＣＴＯＲ＿ＡＤＤＲＥＳＳがＭａｘ＿ＳＡ超えていなければ、ＳＥＣＴＯＲ＿ＡＤＤＲＥＳＳがＭａｘ＿ＳＡを越えるまで、ステップ７１２，７１４，７２８，７３０，７３２が繰り返される。ＳＥＣＴＯＲ＿ＡＤＤＲＥＳＳがＭａｘ＿ＳＡを越えると、ＡＰＤストレス電圧が全水平セクタ６０２，６０４，６０６，６０８，６１０，６１２，６１４，６１６の各フラッシュメモリセルに印加されており、図１４のＤＯＮＥ状態５４４に入り（図１９のステップ７３６）、図１９のＢＩＳＴモードが終了する。
【０１３０】
このように、ＢＩＳＴモードの組の任意のＢＩＳＴモードが、状態数が、状態ＳＴＡＲＴ、ＪＵＩＣＥ、ＶＥＲＩＦＹ１、ＶＥＲＩＦＹ２、ＡＰＤ、ＨＴＲＢ、ＤＯＮＥ、およびＨＡＮＧと比較的少ないバックエンドＢＩＳＴ状態機械によって実行される。バックエンドＢＩＳＴ状態機械はコアフラッシュメモリセルのアレイと共にオンチップに作製されており、このため、フラッシュメモリセルのアレイの半導体ダイにプログラム動作、消去動作、および読出し動作がオンチップに実行される。このため、各半導体ダイの試験に使用する外部試験システムのピン数を削減できる。このようにピン数を削減することにより、総ピン数の限られた外部試験システムによってより多くの半導体ダイを同時に試験することができ、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。
【０１３１】
上記の記載は例に過ぎず、限定を意図するものではない。例えば、本発明は、これより多くのＢＩＳＴモードに実施しても、図１６，１７の例とはレイアウトの異なるコアフラッシュメモリセル３０４のアレイに実施してもよい。本明細書に記載もしくは図示した数値は例に過ぎない。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
【０１３２】
Ｄ．コアフラッシュメモリセルの不良アドレスのオンチップ修復
図２０を参照すると、さらに従来技術では、コアフラッシュメモリセル２２４のアレイの試験中に、コアフラッシュメモリセル２２４のアレイに不良アドレス７５０が検出された場合は、不良アドレス７５０を有するフラッシュメモリの組を、対応するフラッシュメモリセルの冗長要素７５２に置き換えて、このような不良アドレス７５０を修復する。この修復は、フラッシュメモリセルの不良アドレス７５０へのアクセスを、フラッシュメモリセルの冗長要素７５２にリダイレクトするＣＡＭ（内容参照可能メモリ）７５６内のそれぞれのＣＡＭフラッシュメモリセル７５４の組をプログラムして行う。ＣＡＭ（内容参照可能メモリ）７５６は、コアフラッシュメモリセル２２４のアレイが作製されている同じ半導体ダイに作製される。
【０１３３】
通常は、コアフラッシュメモリセル２２４のアレイの、フラッシュメモリセルの不良アドレス７５０だけではなく、これより広範囲のフラッシュメモリセルを含む領域７５８が、対応するフラッシュメモリセルの冗長要素７５２と置き換えられる。コアフラッシュメモリセル２２４のアレイの複数の不良アドレスを修復するために、複数の冗長要素７６０を使用することができる。フラッシュメモリセル７６０の冗長要素を使用して、コアフラッシュメモリセル２２４のアレイの試験中にフラッシュメモリセルの不良アドレスをこのように修復することは、フラッシュメモリ製造の当業者に公知である。
【０１３４】
従来技術では、外部試験システム７６２が、コアフラッシュメモリセル２２４のアレイの試験中に、フラッシュメモリセル７６０の冗長要素を使用してフラッシュメモリセルの不良アドレスをこのように修復する。このため、従来技術では、外部試験システム７６２が、フラッシュメモリセルの不良アドレス７５０に対するアクセスを、フラッシュメモリセルの冗長要素７５２にリダイレクトするために、ＣＡＭ（内容参照可能メモリ）７５６をプログラムする。このような外部試験システムの例に、アジレント・テクノロジーズ・インク（Agilent Technologies, Inc.）（カリフォルニア州パロアルト所在）から入手可能なモデルＶ３３００がある。しかし、外部試験システム７６２がフラッシュメモリセルの不良アドレスのこの修復を実行する場合は、コアフラッシュメモリセル２２４のアレイが作製されている同じ半導体ダイに作製されたＣＡＭ（内容参照可能メモリ）７５６のプログラムに使用する外部試験システム７６２のピンが増える。
【０１３５】
フラッシュメモリセルの不良アドレスの修復の実行に、外部試験システム７６２が使用するピンが増えると、コアフラッシュメモリセルの半導体ダイの試験のスループットが低下するため不利である。総ピン数の限られた外部試験システムによってできるだけ多くの半導体ダイを同時に試験し、フラッシュメモリデバイスの製造時のスループットを向上させることができるように、フラッシュメモリセルの不良アドレスの修復も含め、各半導体ダイにあるフラッシュメモリデバイスの試験に使用するピン数を最小限に減らすためのメカニズムが求められている。
【０１３６】
さらに、外部試験システム７６２によるコアフラッシュメモリセルの試験および修復は、外部試験システム７６２の処理能力によっては遅いことがある。このため、コアフラッシュメモリセルの試験および修復を高速化する効率的なメカニズムが求められている。
【０１３７】
バックエンドＢＩＳＴ（組み込み自己試験）状態機械３１６が、フラッシュメモリセルの現在のアドレスが現在のＢＩＳＴ（組み込み自己試験）モードに合格せず、フラッシュメモリセルの不良アドレスであると判定すると、バックエンドＢＩＳＴ（組み込み自己試験）状態機械３１６は修復ルーチンを呼び出す。図２１のフローチャートのステップのうち、図１５のフローチャートと同じ参照符号が付されているステップは、本明細書で図１５のフローチャートについて説明したものと同じである。
【０１３８】
図１５，２１のステップは、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルにプログラム電圧または消去電圧を印加すると共に、コアフラッシュメモリセル３０４のアレイの各フラッシュメモリセルのプログラム状態または消去状態を検証するＢＩＳＴ（組込み自己試験）モードを実行する。しかし、図１５とは異なり、図２１では、ＪＵＩＣＥ状態（図２１におけるステップ５６６，５６８）にＭＡＸ＿ＰＣ回入り、ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣを越えた（図２１のステップ５６４）からといって、ＨＡＮＧ状態に直ちに入るわけではない。ＪＵＩＣＥ状態（図２１におけるステップ５６６，５６８）にＭＡＸ＿ＰＣ回入り、ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣを越えると（図２１のステップ５６４）、フラッシュメモリセルの現在のアドレスがフラッシュメモリセルの不良アドレスであると判断される。
【０１３９】
正確にいえば、ＢＩＳＴコントローラ５０２が、外部試験システム３１８によってセットされているＢＲＥＰ値をチェックする（図２１のステップ７６６）。ユーザが、ＢＩＳＴコントローラ５０２によってオンチップ修復ルーチンを呼び出したい場合には、外部試験システム３１８を介してＢＲＥＰ値を論理ハイ状態（Ｔｒｕｅ状態）に設定し、そうでない場合には論理ロー状態（Ｆａｌｓｅ状態）に設定する。このため、ＢＲＥＰ値が論理ロー状態（Ｆａｌｓｅ状態）に設定されている場合、図１５と同様に図２１でもステップ５７０，５７２が直ちに実行されて、ＨＡＮＧ状態に入り、修復ルーチンが呼び出されることはない。
【０１４０】
一方、図２１でＢＲＥＰ値が論理ハイ状態（Ｔｒｕｅ状態）に設定されている場合、ＢＩＳＴコントローラ５０２はＲＥＤＡＤＤ値の論理状態を判定する（図２１のステップ７６８）。図２２を参照すると、ＲＥＤＡＤＤ値は、フラッシュメモリセルの現在の不良アドレスがフラッシュメモリセルの冗長要素に存在するかどうかを示している。図２２を参照すると、試験対象のフラッシュメモリセル３０４のアレイは、コアフラッシュメモリセル７８０とフラッシュメモリセルの冗長要素７８２とを有する。フラッシュメモリ製造の当業者に公知のように、通常、フラッシュメモリセルのアレイには、コアフラッシュメモリセル７８０内の不良フラッシュメモリセルを修復するためのフラッシュメモリセルの冗長要素を設けて作製されている。
【０１４１】
フラッシュメモリセル３０４のアレイの試験中に、アドレスシーケンサ５２４は、コアフラッシュメモリセル７８０のアドレスに加えて、フラッシュメモリセルの冗長要素７８２が正常に機能していることを試験するためフラッシュメモリセルの冗長要素７８２のアドレスも順行する（sequence through）、あるいは順番にアクセスする。フラッシュメモリセルの現在のアドレスがフラッシュメモリセルの冗長要素７８２のアドレスの場合、ＢＩＳＴコントローラ５０２はＲＥＤＡＤＤ変数が論理ハイ状態（すなわちＴｒｕｅ状態）であると判定し、フラッシュメモリセルの現在のアドレスがコアフラッシュメモリセル７８０のアドレスの場合、論理ロー状態（すなわちＦａｌｓｅ状態）であると判定する。
【０１４２】
図２１を参照すると、ＲＥＤＡＤＤ変数が論理ハイ状態（すなわちＴｒｕｅ状態）であると判定されると、フラッシュメモリセルの現在の不良アドレス７５０がフラッシュメモリセルの冗長要素７８２にあるため、ステップ５７０，５７２が実行されて直ちにＨＡＮＧ状態に入る。コアフラッシュメモリセルの不良アドレス７８０をフラッシュメモリセルの冗長要素と置き換えて修復する必要があるが、本発明の一実施形態によれば、フラッシュメモリセルの冗長要素の不良アドレスがこの方法によって修復されることはない。
【０１４３】
図２１を参照すると、ＢＲＥＰ値が論理ハイ状態に設定されており（図２１のステップ７６６）、かつＲＥＤＡＤＤ値が論理ロー状態であると判定されると（図２１の状態７６８）、修復ルーチンが呼び出される（図２１のステップ７７０）。修復ルーチンでは、フラッシュメモリセルの現在の不良アドレスが、フラッシュメモリセルの冗長要素に置き換えられて修復され得る。
【０１４４】
図１８，２３を参照すると、同様に、図２３のフローチャートのステップのうち、図１８のフローチャートと同じ参照符号が付されているステップは、本明細書で図１８のフローチャートについて説明したものと同じである。図１８，２３のステップは、フラッシュメモリセル３０４のアレイの各フラッシュメモリセルのそれぞれの論理状態の読出しを含むＢＩＳＴ（組込み自己試験）モードを実行する。しかし図１８とは異なり、図２３では、フラッシュメモリセルの現在のアドレスの測定ビットパターンと所望のビットパターンとが一致しない（図２３におけるステップ６９２）からといって、ＨＡＮＧ状態に直ちに入るわけではない。フラッシュメモリセルの現在のアドレスの測定ビットパターンと所望のビットパターンとが一致しない場合、フラッシュメモリセルの現在のアドレスがフラッシュメモリセルの不良アドレスであると判断される。
【０１４５】
正確にいえば、ＢＩＳＴコントローラ５０２が、外部試験システム３１８によってセットされているＢＲＥＰ値をチェックする（図２３のステップ７７２）。ユーザが、ＢＩＳＴコントローラ５０２によってオンチップ修復ルーチンを呼び出したい場合には、外部試験システム３１８を介してＢＲＥＰ値を論理ハイ状態（Ｔｒｕｅ状態）に設定し、そうでない場合には論理ロー状態（Ｆａｌｓｅ状態）に設定する。このため、ＢＲＥＰ値が論理ロー状態（Ｆａｌｓｅ状態）に設定されている場合、修復ルーチンが呼び出されないように、図１８と同様に図２３でもステップ６９４が直ちに実行されて、ＨＡＮＧ状態に入り、修復ルーチンが呼び出されることはない。
【０１４６】
一方、図２３でＢＲＥＰ値が論理ハイ状態（Ｔｒｕｅ状態）に設定されている場合、ＢＩＳＴコントローラ５０２はＲＥＤＡＤＤ値の論理状態を判定する（図２３のステップ７７４）。図２２を参照すると、ＲＥＤＡＤＤ値は、フラッシュメモリセルの現在の不良アドレスがフラッシュメモリセルの冗長要素に存在するかどうかを示している。図２３を参照すると、ＲＥＤＡＤＤが論理ハイ状態（すなわちＴｒｕｅ状態）であると判定されると、フラッシュメモリセルの現在の不良アドレス７５０がフラッシュメモリセルの冗長要素７８２にあるため、ステップ６９４が実行されて直ちにＨＡＮＧ状態に入る。ＢＲＥＰ値が論理ハイ状態に設定されており（図２３のステップ７７２）、かつＲＥＤＡＤＤ値が論理ロー状態であると判定されると（図２３の状態７７４）、修復ルーチンが呼び出される（図２３のステップ７７６）。修復ルーチンでは、フラッシュメモリセルの現在の不良アドレスが、フラッシュメモリセルの冗長要素に置き換えられて修復され得る。
【０１４７】
図２４を参照すると、図２１，２３の修復ルーチンのいずれの場合についても、コアフラッシュメモリセルは、例えば、第１のブロック７８３、第２のブロック７８４、第３のブロック７８６、および第４ブロック７８８などのブロック（例えば４メガビットのブロックなど）に分割されている。ブロック７８３，７８４，７８６，７８８は、それぞれ複数のフラッシュメモリセルの水平セクタにさらに分割されている（わかりやすいように図２４には不図示）。例えば、本発明の一実施形態では、ブロック７８３，７８４，７８６，７８８は、それぞれ８つのフラッシュメモリセルの水平セクタを有する。通常のフラッシュメモリデバイスのブロックはこれより多いが、わかりやすいように、図２４には４つのブロック７８３，７８４，７８６，７８８のみを示す。
【０１４８】
フラッシュメモリセルの現在の不良アドレスが、図２４の第３のブロック７８６など、ブロック７８３，７８４，７８６，７８８のうちの１つに含まれる。フラッシュメモリ製造の当業者に公知のように、通常は、第３のブロック７８６内の、フラッシュメモリセルの不良アドレス７５０だけではなく、これより広範囲のフラッシュメモリセルを含む領域７５８が、対応するフラッシュメモリセルの冗長要素に置き換えられて、フラッシュメモリセルの不良アドレス７５０が修復される。例えば、ブロック７８３，７８４，７８６，７８８のいずれかにある、不良アドレスのフラッシュメモリセルを有するフラッシュメモリセルの列全体が、フラッシュメモリセルの冗長要素と置き換えられる。
【０１４９】
図２５を参照すると、ＣＡＭ（内容参照可能メモリ）７９０がプログラムされて、コアフラッシュメモリセル７８０内の、フラッシュメモリセルの不良アドレスを有するフラッシュメモリセルの領域が、フラッシュメモリセルの冗長要素７８２のうちの１つのフラッシュメモリセルの冗長要素に置き換えられる。ＣＡＭ（内容参照可能メモリ）７９０は、フラッシュメモリセルを有し、これらは、フラッシュメモリセルの不良アドレスを置き換えるために、フラッシュメモリセルの不良アドレスと、これと対応するフラッシュメモリセルの冗長要素との情報をプログラムされる。後にフラッシュメモリセルの不良アドレスがアクセスされると、ＣＡＭ（内容参照可能メモリ）７９０は、フラッシュメモリセルの不良アドレスへのアクセスをフラッシュメモリセルの冗長要素にリダイレクトする。ＣＡＭ（内容参照可能メモリ）とコアフラッシュメモリセルの冗長要素をコアフラッシュメモリセルの不良アドレスの修復に使用することは、フラッシュメモリ製造の当業者に公知である。
【０１５０】
図２５を参照すると、本発明の一実施形態では、コアフラッシュメモリセル７８０内のフラッシュメモリセルの各不良アドレスを、フラッシュメモリセルの複数の冗長要素７８２のうちの対応するフラッシュメモリセルの冗長要素に置き換えるために、ＣＡＭフラッシュメモリセルのそれぞれの組がプログラムされる。決まった数のフラッシュメモリセルの不良アドレスとその修復に使用できるフラッシュメモリセルの冗長要素の数は決まっている。本発明の一実施形態では、ブロック７８３，７８４，７８６，７８８のそれぞれについて、フラッシュメモリセル内の不良アドレスの修復に２つのフラッシュメモリセルの冗長要素を使用できる。
【０１５１】
図２５の例では、ブロック７８３，７８４，７８６，７８８のそれぞれにあるフラッシュメモリセル内の不良アドレスの修復に２つのフラッシュメモリセルの冗長要素を使用できる。第１のＣＡＭフラッシュメモリセルの個々の組７９２は、コアフラッシュメモリセル７８０の第１のブロック７８３にある不良フラッシュメモリセルの一組を、フラッシュメモリセルの第１の冗長要素７９４に置き換えるようにプログラムされる。第２のＣＡＭフラッシュメモリセルの個々の組７９６は、コアフラッシュメモリセル７８０の第１のブロック７８３にある不良フラッシュメモリセルの別の組をフラッシュメモリセルの第２の冗長要素７９８に置き換えるようにプログラムされる。
【０１５２】
同様に、第３のＣＡＭフラッシュメモリセルの個々の組８００は、コアフラッシュメモリセル７８０の第２のブロック７８４にある不良フラッシュメモリセルの一組を、フラッシュメモリセルの第３の冗長要素８０２に置き換えるようにプログラムされる。第４のＣＡＭフラッシュメモリセルの個々の組８０４は、コアフラッシュメモリセル７８０の第２のブロック７８４にある不良フラッシュメモリセルの別の組をフラッシュメモリセルの第４の冗長要素８０６に置き換えるようにプログラムされる。
【０１５３】
また、第５のＣＡＭフラッシュメモリセルの個々の組８０８は、コアフラッシュメモリセル７８０の第３第２のブロック７８６にある不良フラッシュメモリセルの一組を、フラッシュメモリセルの第５の冗長要素８１０に置き換えるようにプログラムされる。第６のＣＡＭフラッシュメモリセルの個々の組８１２は、コアフラッシュメモリセル７８０の第３のブロック７８６にある不良フラッシュメモリセルの別の組をフラッシュメモリセルの第６の冗長要素８１４に置き換えるようにプログラムされる。
【０１５４】
最後に、第７のＣＡＭフラッシュメモリセルの個々の組８１６は、コアフラッシュメモリセル７８０の第４のブロック７８８にある不良フラッシュメモリセルの一組を、フラッシュメモリセルの第７の冗長要素８１８に置き換えるようにプログラムされる。第８のＣＡＭフラッシュメモリセルの個々の組８２０は、コアフラッシュメモリセル７８０の第４のブロック７８８にある不良フラッシュメモリセルの別の組をフラッシュメモリセルの第８の冗長要素８２２に置き換えるようにプログラムされる。
【０１５５】
図２６に、本発明の一実施形態による、ＣＡＭ（内容参照可能メモリ）７９０をプログラムすることで、コアフラッシュメモリセル７８０内のフラッシュメモリセルの不良アドレスを冗長要素７８２によってオンチップ修復するために、図２１の修復ルーチン７７０または図２３の修復ルーチン７７６中に使用されるオンチップ修復コンポーネント８３０を示す。このオンチップ修復コンポーネント８３０は、修復コントローラ８３２、タイマー／クロック８３４、および電圧源８３６を備える。電圧源８３６は、ＣＡＭ（内容参照可能メモリ）プログラム電圧源８３８と、ＣＡＭ（内容参照可能メモリ）マージン電圧源８４０とを備える。さらに、このオンチップ修復コンポーネントは、冗長要素順序ラッチ８４２、修復照合ユニット８４６、およびＦＡＩＬＲＥＰロジック８４８を備える。本発明の一般的な態様では、オンチップ修復コンポーネント８３２，８３４，８３８，８４０，８４２，８４６，８４８は、コアフラッシュメモリセル７８０、冗長要素７８２、およびＣＡＭ（内容参照可能メモリ）７９０が作製されている半導体ダイに作製される。
【０１５６】
図２７は、図２１の修復ルーチン７７０または図２３の修復ルーチン７７６を実行するための、図２６のオンチップ修復コンポーネント８３０の動作中のステップのフローチャートである。本発明の一実施形態では、図２６の修復コントローラ８３２は、図１３のバックエンドＢＩＳＴコントローラ５０２として実装される。修復コントローラ８３２が、修復ルーチン（例えば図２１のステップ７７０または図２３のステップ７７６等）が呼び出されていると判定すると、修復コントローラ８３２は、ＢＲＥＰＡＩＲ変数を論理ロー状態から論理ハイ状態に設定して（図２７のステップ８５０）、修復ルーチンが呼び出されていることを通知する。
【０１５７】
修復ルーチンが呼び出されている場合、修復コントローラ８３２はＳＴＡＲＴ状態に入る（図２７のステップ８５２）。ＳＴＡＲＴ状態の間、タイマー８３４は、ＣＡＭフラッシュメモリセルのワード線に印加する電圧を供給する電圧源８３６内の調整コンデンサをリセットするため、所定の待機時間を計時する。フラッシュメモリセルのワード線に印加する電圧を供給する電圧源８３６内の調整コンデンサのリセットは、フラッシュメモリデバイスの当業者に公知である。待機時間が経過しない間（Ｗａｉｔ＝Ｔｒｕｅ）は、修復コントローラ８３２はＳＴＡＲＴ状態（図２７のステップ８５４）に留まる。所定の期間を計時するためのタイマーは、当業者に公知である。
【０１５８】
図２９を参照すると、ＳＴＡＲＴ状態中にはこのほか、ＣＡＭ（内容参照可能メモリ）７９０と共に作製されているＣＡＭ（内容参照可能メモリ）ロジック８８４によって変数ＹＣＥ（０）と変数ＹＣＥ（１）が生成される。図２９のＣＡＭフラッシュメモリセル８８６は、例えば、コアフラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素に置き換えるようにプログラムされる図２５のＣＡＭフラッシュメモリセル７９２，７９６、８００，８０４，８０８，８１２，８１６または８２０の組のうちの１つである。これらのＣＡＭフラッシュメモリセル８８６がプログラムされると、ＣＡＭロジック８８４はアドレスシーケンサ５２４からの不良アドレスとＣＡＭフラッシュメモリセル８８６の出力とを入力し、変数ＹＣＥ（０）、ＹＣＥ（１）、ＬＢＭＡＴＣＨ＿Ｑ、ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）を生成する。
【０１５９】
図１６，１７を参照して記載したように、本発明の一実施形態では、コアフラッシュメモリセルの各アドレスは、１６個のコアフラッシュメモリセルのアドレスである。本発明の別の実施形態では、１６個のコアフラッシュメモリセルのうちの８つからの各バイトが、バイト単位で修復される。１６個のコアフラッシュメモリセルの各不良アドレスは、８個のコアフラッシュメモリセルの下位バイトと、８個のコアフラッシュメモリセルの上位バイトで構成される。１６個のフラッシュメモリセルの不良アドレスをバイト単位で修復する実施形態では、フラッシュメモリセル内の２つの冗長要素のそれぞれが、図２５の例の各コアフラッシュメモリセルのブロック７８３，７８４，７８６，７８８の１６個のフラッシュメモリセルの不良アドレスの１バイトを置き換える。
【０１６０】
図２９を参照すると、コアフラッシュメモリセルの不良アドレスの２バイトと、その置換に使用した２つの冗長要素との対応関係を追跡するため、ＣＡＭロジック８８４は、変数ＬＢＭＡＴＣＨ＿Ｑ、ＹＣＥ（０）、ＹＣＥ（１）、ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）を生成する。ＣＡＭロジックは、アドレスシーケンサ５２４が生成する不良アドレスと、このフラッシュメモリセルの不良アドレスを修復するためにＣＡＭ（内容参照可能メモリ）８８６内でプログラムされたＣＡＭフラッシュメモリセルの対応する組の出力とを比較して、変数ＬＢＭＡＴＣＨ＿Ｑ、ＹＣＥ（０）、ＹＣＥ（１）、ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）について、これら変数の以前のそれぞれの論理状態に応じて個々の論理状態を生成する。
【０１６１】
ＬＢＭＡＴＣＨ＿Ｑ変数は、不良フラッシュメモリセルが、コアフラッシュメモリセルの不良アドレスの下位バイトと上位バイトのいずれに存在するかを示す。不良フラッシュメモリセルがコアフラッシュメモリセルの不良アドレスの下位バイトに存在する場合、ＬＢＭＡＴＣＨ＿Ｑ変数が論理ロー状態（「０」状態）に設定される。一方、不良フラッシュメモリセルがコアフラッシュメモリセルの不良アドレスの上位バイトに存在する場合、ＬＢＭＡＴＣＨ＿Ｑ変数が論理ハイ状態（「１」状態）に設定される。
【０１６２】
初期状態では、ＹＣＥ（０）、ＹＣＥ（１）、ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）の各変数は論理ロー状態（「０」状態）に設定される。さらに、コアフラッシュメモリセルのブロック７８３，７８４，７８６，７８８の１つに存在するいずれかの不良アドレスの修復にいずれかの冗長要素が使用される前の初期状態では、フラッシュメモリセルの２つの冗長要素は、フラッシュメモリセルの不良アドレスのどの不良バイトの修復にも使用することができる。２つの冗長要素のうちの第１の冗長要素が、コアフラッシュメモリセルの不良アドレスの１バイトの修復に使用されると、２つの冗長要素のうちのこの第１の冗長要素に対応するＹＣＥ（０）変数が論理ハイ状態（「１」状態）に設定され、２つの冗長要素のうちのこの第１の冗長要素は使用できなくなる。その後、２つの冗長要素のうちの第２の冗長要素が、コアフラッシュメモリセルの不良アドレスの１バイトの修復に使用されると、２つの冗長要素のうちのこの第２の冗長要素に対応するＹＣＥ（１）変数が論理ハイ状態（「１」状態）に設定され、２つの冗長要素のうちのこの第２の冗長要素は使用できなくなり、その結果、コアフラッシュメモリセルのブロック７８３，７８４，７８６，７８８のうちの現在のブロックにあるコアフラッシュメモリセルの不良アドレスの修復に使用できる冗長要素はなくなる。
【０１６３】
不良アドレスの下位バイトがコアフラッシュメモリセルの２つの冗長要素のうちの第１の冗長要素を使用して修復されると、ＲＥＤＬ（０）変数が論理ハイ状態（「１」状態）に設定される。一方、不良アドレスの上位バイトがコアフラッシュメモリセルの２つの冗長要素のうちの第１の冗長要素を使用して修復されると、ＲＥＤＨ（０）変数が論理ハイ状態（「１」状態）に設定される。冗長要素のうちの任意の冗長要素を使用して修復されるのは、コアフラッシュメモリセルの不良アドレスの下位バイトまたは上位バイトの一方のみである。このため、ＲＥＤＬ（０）変数とＲＥＤＨ（０）変数の一方だけが論理ハイ状態に設定される。
【０１６４】
同様に、不良アドレスの下位バイトがコアフラッシュメモリセルの２つの冗長要素のうちの第２の冗長要素を使用して修復されると、ＲＥＤＬ（１）変数が論理ハイ状態（「１」状態）に設定される。一方、不良アドレスの上位バイトがコアフラッシュメモリセルの２つの冗長要素のうちの第２の冗長要素を使用して修復されると、ＲＥＤＨ（１）変数が論理ハイ状態（「１」状態）に設定される。冗長要素のうちの任意の冗長要素を使用して修復されるのは、コアフラッシュメモリセルの不良アドレスの下位バイトまたは上位バイトの一方のみである。このため、ＲＥＤＬ（１）変数とＲＥＤＨ（１）変数の一方だけが論理ハイ状態に設定される。
【０１６５】
さらに、図２６，２９を参照すると、ＣＡＭロジック８８４はＤＩＳＹＨＢ信号およびＤＩＳＹＬＢ信号を生成し、これらは、コアフラッシュメモリセル７８０に結合されたＹアドレスデコーダ７８１に送信される。コアフラッシュメモリセル７８０のあるアドレスの内容がアクセスされると、Ｙアドレスデコーダは、このアドレスをデコードして、このアドレスのフラッシュメモリセルの出力を選択する。Ｙアドレスデコーダ７８１によって、コアフラッシュメモリセル７８０の不良アドレスの内容が出力されないようにするため、ＣＡＭロジック８８４はＤＩＳＹＨＢ信号とＤＩＳＹＬＢ信号を生成する。
【０１６６】
本明細書に記載したような、信号ＬＢＭＡＴＣＨ＿Ｑ、ＹＣＥ（０）、ＹＣＥ(１）、ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ(１）、ＲＥＤＨ(１）、ＤＩＳＹＨＢ、およびＤＩＳＹＬＢを生成するためのこのようなＣＡＭロジック８８４は、フラッシュメモリデバイスの当業者に公知である。さらに、本明細書に記載のようなＹアドレスデコーダ７８１は、フラッシュメモリデバイスの当業者に公知である。
【０１６７】
ＳＴＡＲＴ状態の間（図２７のステップ８５２および８５４）、ＣＡＭロジック８８４は、ＹＣＥ（０）信号およびＹＣＥ（１）信号のそれぞれの論理状態を生成する。ＳＴＡＲＴ状態中に待機時間が経過する（Ｗａｉｔ＝Ｆａｌｓｅ）と、修復コントローラ８３２は、ＦＡＩＬＲＥＰロジック８４８から送られるＦＡＩＬＲＥＰ値をチェックする（図２７のステップ８５６）。ＦＡＩＬＲＥＰロジック８４８は、フラッシュメモリセルの現在の不良アドレスの修復に冗長要素のいずれかを使用できるかどうかを判定する。例えば、図２５を参照すると、フラッシュメモリセルのブロック７８３，７８４，７８６，７８８のそれぞれの不良アドレスの修復に、２つの冗長要素を使用することができる。フラッシュメモリセルの１つのブロックの不良アドレスの修復に２つの冗長要素が既に使用されている場合、そのフラッシュメモリセルのブロックには、不良アドレスの修復に使用できる冗長要素が残っていないことになる。
【０１６８】
さらに、ＦＡＩＬＲＥＰロジック９４８は、フラッシュメモリセルの現在の不良アドレスが既に修復されているかどうかを判定する。フラッシュメモリセルの現在の不良アドレスが既に修復されている場合、フラッシュメモリセルのその不良アドレスが恒久的に不良であり、修復不能であると判断される。使用できる冗長要素が残っていないか、フラッシュメモリセルの現在の不良アドレスが既に修復されているかのいずれかの場合、ＦＡＩＬＲＥＰロジック８４８はＦＡＩＬＲＥＰ変数を論理ハイ状態（Ｔｒｕｅ状態）に設定する。一方、使用可能な冗長要素が存在し、かつフラッシュメモリセルの現在の不良アドレスがまだ修復されていない場合、ＦＡＩＬＲＥＰロジック８４８はＦＡＩＬＲＥＰ変数を論理ロー状態（Ｆａｌｓｅ状態）に設定する。
【０１６９】
図２７を参照すると、ＦＡＩＬＲＥＰ変数が論理ハイ状態に設定されている場合、ＰＵＬＳＥ＿ＣＯＵＮＴ変数がゼロにリセットされ（図２７のステップ８５８）、ＨＡＮＧ状態に入り（図２７のステップ８６０）、修復ルーチンと現在のＢＩＳＴモードが終了する。一方、ＦＡＩＬＲＥＰ変数が論理ロー状態に設定されている場合、ＰＵＬＳＥ＿ＣＯＵＮＴ変数がゼロにリセットされ（図２７のステップ８６２）、修復ルーチンが続行される。
【０１７０】
図２８に、第１ＮＡＮＤゲート８６４、第２ＮＡＮＤゲート８６６、第３ＮＡＮＤゲート８６８、第１インバータ８７０、および第２インバータ８７２を有するＦＡＩＬＲＥＰロジック８４８の実装例を示す。第１ＮＡＮＤゲート８６４は、第２インバータ８７２の出力を入力し、第２インバータ８７２は、第１入力端子８７４に印加されるＬＢＭＡＴＣＨ＿Ｑ変数を入力する。第１ＮＡＮＤゲート８６４は、第２入力端子８７６に印加されるＲＥＤＬ（０）変数も入力する。第２ＮＡＮＤゲート８６６は、第１入力端子８７４に印加されるＬＢＭＡＴＣＨ＿Ｑ変数と、第３入力端子８７８に印加されるＲＥＤＨ（０）変数とを入力する。第３ＮＡＮＤゲート８６８は、第１インバータ８７０の出力を入力すると共に、第１ＮＡＮＤゲート８６４および第２ＮＡＮＤゲート８６６の出力も入力し、第１インバータ８７０は、第４入力端子８８０に印加されるＹＣＥ（１）変数を入力する。第３ＮＡＮＤゲート８６８の出力は、出力端子８８２にＦＡＩＬＲＥＰ変数を供給する。
【０１７１】
図３０は、図２８のＦＡＩＬＲＥＰロジック８４８に入力される変数ＬＢＭＡＴＣＨ＿Ｑ、ＹＣＥ（１）、ＲＥＤＬ（０）、およびＲＥＤＨ（０）の取り得る論理状態を示す表である。図２８，３０を参照すると、ＹＣＥ（１）変数が論理ハイ状態（「１」状態）に設定されている場合、ＦＡＩＬＲＥＰロジック８４８は、各変数ＬＢＭＡＴＣＨ＿Ｑ、ＲＥＤＬ（０）、およびＲＥＤＨ（０）のそれぞれの論理状態がどのような値であっても、ＦＡＩＬＲＥＰ値を論理ロー状態に設定して生成する。ＹＣＥ（１）変数が論理ハイ状態に設定されている場合は、コアフラッシュメモリセルのブロック７８３，７８４，７８６，７８８のうちの現在のブロックにあるコアフラッシュメモリセルの不良アドレスの修復に使用できる冗長要素が残っていない。この場合、ＦＡＩＬＲＥＰロジック８４８はＦＡＩＬＲＥＰ値を論理ハイ状態に設定して生成して、図２７のフローチャートのステップ８５８および８６０でＨＡＮＧ状態に入る。
【０１７２】
図２８，３０を参照すると、一方、ＹＣＥ（１）変数が論理ロー状態（「０」状態）に設定されている場合、各変数ＬＢＭＡＴＣＨ＿Ｑ、ＲＥＤＬ（０）、およびＲＥＤＨ（０）のそれぞれの論理状態に応じて、ＦＡＩＬＲＥＰロジック８４８によって出力されるＦＡＩＬＲＥＰ変数の値が決まる。ＹＣＥ（１）変数が論理ロー状態に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの修復に使用できる冗長要素が存在する。図３０を参照すると、ＬＢＭＡＴＣＨ＿Ｑ変数が論理ロー状態に設定されており、不良フラッシュメモリセルがコアフラッシュメモリセルの現在の不良アドレスの下位バイトに存在する場合、ＲＥＤＬ（０）変数の論理状態によってＦＡＩＬＲＥＰロジック８４８によって出力されるＦＡＩＬＲＥＰ変数の値が決まる。一方、ＬＢＭＡＴＣＨ＿Ｑ変数が論理ハイ状態に設定されており、不良フラッシュメモリセルがコアフラッシュメモリセルの現在の不良アドレスの上位バイトに存在する場合、ＲＥＤＨ（０）変数の論理状態によってＦＡＩＬＲＥＰロジック８４８によって出力されるＦＡＩＬＲＥＰ変数の値が決まる。
【０１７３】
ＬＢＭＡＴＣＨ＿Ｑ変数が論理ロー状態に設定されている場合、ＦＡＩＬＲＥＰロジック８４８によって出力されるＦＡＩＬＲＥＰ変数は、ＲＥＤＨ（０）の論理状態がどのような値であっても、ＲＥＤＬ（０）変数が論理ハイ状態であれば論理ハイ状態となり、ＲＥＤＬ（０）が論理ロー状態であれば論理ロー状態となる。ＬＢＭＡＴＣＨ＿Ｑ変数が論理ロー状態に設定されており、かつＲＥＤＬ（０）変数が論理ハイ状態の場合、ＦＡＩＬＲＥＰロジック８４８は、コアフラッシュメモリセルの現在の不良アドレスの下位バイトが冗長要素のうちの第１の冗長要素を使用して既に修復されていると判断する。この場合、ＦＡＩＬＲＥＰ変数が論理ハイ状態に設定されて、図２７のフローチャートのステップ８５８，８６０でＨＡＮＧ状態に入る。一方、ＬＢＭＡＴＣＨ＿Ｑ変数が論理ロー状態に設定されており、かつＲＥＤＬ（０）変数が論理ロー状態の場合、ＦＡＩＬＲＥＰロジック８４８は、コアフラッシュメモリセルの現在の不良アドレスの下位バイトは未修復であると判断する。この場合、ＹＣＥ（１）変数も論理ロー状態に設定されていればＦＡＩＬＲＥＰ変数が論理ロー状態に設定され、図２７の修復ルーチンが続行される。
【０１７４】
同様に、ＬＢＭＡＴＣＨ＿Ｑ変数が論理ハイ状態に設定されている場合、ＦＡＩＬＲＥＰロジック８４８によって出力されるＦＡＩＬＲＥＰ変数は、ＲＥＤＬ(０）の論理状態がどのような値であっても、ＲＥＤＨ（０）変数が論理ハイ状態であれば論理ハイ状態となり、ＲＥＤＨ（０）変数が論理ロー状態であれば論理ロー状態となる。ＬＢＭＡＴＣＨ＿Ｑ変数が論理ハイ状態に設定されており、かつＲＥＤＨ（０）変数が論理ハイ状態の場合、ＦＡＩＬＲＥＰロジック８４８は、コアフラッシュメモリセルの現在の不良アドレスの上位バイトが冗長要素のうちの第１の冗長要素を使用して既に修復されていると判断する。この場合、ＦＡＩＬＲＥＰ変数が論理ハイ状態に設定されて、図２７のフローチャートのステップ８５８，８６０でＨＡＮＧ状態に入る。一方、ＬＢＭＡＴＣＨ＿Ｑ変数が論理ハイ状態に設定され、かつＲＥＤＨ（０）変数が論理ロー状態である場合、コアフラッシュメモリセルの現在の不良アドレスの上位バイトは未修復である。この場合、ＹＣＥ（１）変数も論理ロー状態に設定されていればＦＡＩＬＲＥＰ変数が論理ロー状態に設定され、図２７の修復ルーチンが続行される。
【０１７５】
ＦＡＩＬＲＥＰロジック８４８がＦＡＩＬＲＥＰ変数を論理ロー状態に設定して、修復ルーチンが継続されると、ＰＵＬＳＥ＿ＣＯＵＮＴがゼロにリセットされて（図２７のステップ８６２）、修復コントローラ８３２はＪＵＩＣＥ状態に入る（図２７のステップ８８８）。図２６，２７を参照すると、ＪＵＩＣＥ状態の間、修復コントローラ８３２は、ＣＡＭプログラム電圧源８３８を制御して、ＣＡＭフラッシュメモリセルのそれぞれの組にプログラム電圧を印加させる。このプログラム電圧によって、コアフラッシュメモリセルの現在の不良アドレスへのアクセスがフラッシュメモリセルの対応する冗長要素にリダイレクトされるように、ＣＡＭフラッシュメモリセルのそれぞれの組が、コアフラッシュメモリセルの現在の不良アドレスによってプログラムされる。本発明の一実施形態では、コアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方が修復されて、コアフラッシュメモリセルの現在の不良アドレスの当該下位バイトまたは上位バイトへのアクセスがフラッシュメモリセルの対応する冗長要素にリダイレクトされるようになる。
【０１７６】
さらに、Ｙアドレスデコーダ７８１によって、コアフラッシュメモリセル７８０の不良アドレスの内容が出力されないようにするため、ＣＡＭロジック８８４はＤＩＳＹＨＢ信号とＤＩＳＹＬＢ信号を生成する。Ｙアドレスデコーダ７８１によって、コアフラッシュメモリセル７８０の不良アドレスの上位バイトの内容が出力されないようにするため、ＣＡＭロジック８８４はＤＩＳＹＨＢ信号をアサートする。Ｙアドレスデコーダ７８１によって、コアフラッシュメモリセル７８０の不良アドレスの下位バイトの内容が出力されないようにするために、ＣＡＭロジック８８４はＤＩＳＹＬＢ信号をアサートする。
【０１７７】
ＣＡＭフラッシュメモリセルをプログラムするためのプログラム電圧は、フラッシュメモリ製造の当業者に公知である。さらに、特定のＣＡＭフラッシュメモリセルに印加するこの種のプログラム電圧を発生させるＣＡＭプログラム電圧源８３８を、コアフラッシュメモリセル７８０が作製された半導体ダイに作製するためのプロセスは、フラッシュメモリ製造の当業者に公知である。
【０１７８】
ＪＵＩＣＥ状態の間、タイマー８３４は、ＣＡＭフラッシュメモリセルのそれぞれの組にこのプログラム電圧を印加するｊｕｉｃｅ期間（ＪＴＩＭＥＯＵＴ）を計時する（図２７のステップ８９０）。ｊｕｉｃｅ期間が経過しない間（ＪＴＩＭＥＯＵＴ＝Ｆａｌｓｅ）は、修復コントローラ８３２はＪＵＩＣＥ状態に留まり、ｊｕｉｃｅ期間（ＪＴＩＭＥＯＵＴ）の間、ＣＡＭフラッシュメモリセルのそれぞれの組にプログラム電圧を印加する。
【０１７９】
ｊｕｉｃｅ期間が経過する（ＪＴＩＭＥＯＵＴ＝ＴＲＵＥ）と、修復コントローラ８３２はＶＥＲＩＦＹ１状態に移る（図２７のステップ８９２）。ＶＥＲＩＦＹ１状態の間、ＶＥＲＩＦＹ２状態でＣＡＭマージン電圧源８４０からのマージニング電圧をＣＡＭフラッシュメモリセルのそれぞれの組に印加する前に、タイマー８３４は所定の待機時間を計時して、ＶＥＲＩＦＹ２状態に入る前にＣＡＭマージン電圧源８４０からの電圧レベルを安定させる（図２７のステップ８９４）。ＶＥＲＩＦＹ１状態中、待機時間が経過しない間（Ｗａｉｔ＝Ｔｒｕｅ）は、修復コントローラ８３２はＶＥＲＩＦＹ１状態に留まる。
【０１８０】
ＶＥＲＩＦＹ１状態中に待機時間が経過する（Ｗａｉｔ＝Ｆａｌｓｅ）と、修復コントローラ８３２はＶＥＲＩＦＹ２状態に入る（図２７のステップ８９６）。ＶＥＲＩＦＹ２状態の間、修復コントローラ８３２は、ＣＡＭマージン電圧源８４０を制御して、図２７のステップ８８８のＪＵＩＣＥ状態中にプログラムしたＣＡＭフラッシュメモリセルのそれぞれの組にマージニング電圧を印加させる。マージニング電圧とは、ＪＵＩＣＥ状態中にプログラムしたＣＡＭフラッシュメモリセルのそれぞれの組の各フラッシュメモリセルが正しくプログラムされていることをＪＵＩＣＥ状態後に検証するために、これらのフラッシュメモリセルに印加する検証用の電圧である。
【０１８１】
ＪＵＩＣＥ状態後にフラッシュメモリセルが正しくプログラムされていることを検証するためのこのようなマージニング電圧は、フラッシュメモリ製造の当業者に公知である。さらに、この種のマージニング電圧を発生させるＣＡＭマージン電圧源８４０を、コアフラッシュメモリセル７８０が作製されている半導体ダイに作製するためのプロセスは、フラッシュメモリ製造の当業者に公知である。
【０１８２】
ＶＥＲＩＦＹ２状態の間、修復コントローラ８３２は、ＭＡＴＣＨステップ中に修復照合ユニット８４６が生成するＲＥＤＯＫ変数を受信する（図２７のステップ８９８）。図２９を参照すると、コアフラッシュメモリセルの現在の不良アドレスをフラッシュメモリセルの冗長要素に置き換えるために、ＪＵＩＣＥ状態中にプログラム電圧を印加し（図２７のステップ８８８）、次にＣＡＭフラッシュメモリの所定の組にマージニング電圧を印加したら、図２９のＣＡＭロジック８８４は、それぞれのＣＡＭフラッシュメモリセルの出力とアドレスシーケンサ５２４からの現在の不良アドレスとを比較して、変数ＹＣＥ（０）、ＹＣＥ（１）、ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）を生成する。
【０１８３】
本明細書に記載したように、コアフラッシュメモリセルの不良アドレスの２バイトと、その置換に使用した２つの冗長要素との対応関係を追跡するため、図２９のＣＡＭロジック８８４は、変数ＹＣＥ（０）、ＹＣＥ（１）、ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）を生成する。ＣＡＭロジックは、アドレスシーケンサ５２４が生成する不良アドレスと、このフラッシュメモリセルの不良アドレスを修復するためにＣＡＭ（内容参照可能メモリ）８８６内でプログラムされたＣＡＭフラッシュメモリセルのそれぞれの組の出力とを比較して、ＹＣＥ（０）、ＹＣＥ（１）、ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）の各変数について、これら変数の以前のそれぞれの論理状態に応じて個々の論理状態を生成する。
【０１８４】
初期状態では、ＹＣＥ（０）、ＹＣＥ（１）、ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）の各変数は論理ロー状態（「０」状態）に設定される。さらに、コアフラッシュメモリセルのブロック７８３，７８４，７８６，７８８の１つに存在する不良アドレスのいずれかの修復にいずれかの冗長要素が使用される前の初期状態では、フラッシュメモリセルの２つの冗長要素は、フラッシュメモリセルの不良アドレスのどの不良バイトの修復にも使用することができる。２つの冗長要素のうちの第１の冗長要素が、コアフラッシュメモリセルの不良アドレスの１バイトの修復に使用されると、２つの冗長要素のうちのこの第１の冗長要素に対応するＹＣＥ（０）変数が論理ハイ状態（「１」状態）に設定され、２つの冗長要素のうちのこの第１の冗長要素は使用できなくなる。その後、２つの冗長要素のうちの第２の冗長要素が、コアフラッシュメモリセルの不良アドレスの１バイトの修復に使用されると、２つの冗長要素のうちのこの第２の冗長要素に対応するＹＣＥ（１）変数が論理ハイ状態（「１」状態）に設定され、２つの冗長要素のうちのこの第２の冗長要素は使用できなくなり、その結果、コアフラッシュメモリセルのブロック７８３，７８４，７８６，７８８のうちの現在のブロックにあるコアフラッシュメモリセルの不良アドレスの修復に使用できる冗長要素は残っていない。
【０１８５】
不良アドレスの下位バイトがコアフラッシュメモリセルの２つの冗長要素のうちの第１の冗長要素を使用して修復されると、ＲＥＤＬ（０）変数が論理ハイ状態（「１」状態）に設定される。一方、不良アドレスの上位バイトがコアフラッシュメモリセルの２つの冗長要素のうちの第１の冗長要素を使用して修復されると、ＲＥＤＨ（０）変数が論理ハイ状態（「１」状態）に設定される。冗長要素のうちの任意の冗長要素を使用して修復されるのは、コアフラッシュメモリセルの不良アドレスの下位バイトまたは上位バイトの一方のみである。このため、ＲＥＤＬ（０）変数とＲＥＤＨ（０）変数の一方だけが論理ハイ状態に設定される。
【０１８６】
同様に、不良アドレスの下位バイトがコアフラッシュメモリセルの２つの冗長要素のうちの第２の冗長要素を使用して修復されると、ＲＥＤＬ（１）変数が論理ハイ状態（「１」状態）に設定される。一方、不良アドレスの上位バイトがコアフラッシュメモリセルの２つの冗長要素のうちの第２の冗長要素を使用して修復されると、ＲＥＤＨ（１）変数が論理ハイ状態（「１」状態）に設定される。冗長要素のうちの任意の冗長要素を使用して修復されるのは、コアフラッシュメモリセルの不良アドレスの下位バイトまたは上位バイトの一方のみである。このため、ＲＥＤＬ（１）変数とＲＥＤＨ（１）変数の一方だけが論理ハイ状態に設定される。
【０１８７】
図２６を参照すると、冗長要素順序ラッチ８４２は、ＹＣＥ（０）変数を入力して、コアフラッシュメモリセルのブロック７８３，７８４，７８６，７８８のうちの現在のブロックに使用できる２つの冗長要素のうち、いずれが現在使用中であるかを追跡する。ＹＣＥ（０）変数が論理ロー状態（「０」状態）に設定されている場合、２つの冗長要素のうちの第１の冗長要素が使用できる。この場合、冗長要素順序ラッチ８４２は、ＢＲＥＰ０１変数を論理ロー状態（「０」状態）に設定して、コアフラッシュメモリセルの現在の不良アドレスの修復に２つの冗長要素のうちの第１の冗長要素を使用できることを示す。一方、ＹＣＥ（０）変数が論理ハイ状態（「１」状態）に設定されている場合、２つの冗長要素のうちの第１の冗長要素が既に使用されているため使用できず、２つの冗長要素のうちの第２の冗長要素が使用できる。この場合、冗長要素順序ラッチ８４２は、ＢＲＥＰ０１変数を論理ハイ状態（「１」状態）に設定して、２つの冗長要素のうちの第２の冗長要素をコアフラッシュメモリセルの現在の不良アドレスの修復に使用できることを示す。冗長要素順序ラッチ８４２のための一般的なラッチの実装は、電子工学の当業者に公知である。
【０１８８】
図３１は修復照合ユニット８４６の実装例であり、第１ＮＯＲゲート９０２、第２ＮＯＲゲート９０４、第３ＮＯＲゲート９０６、第４ＮＯＲゲート９０８、第５ＮＯＲゲート９１０、第６ＮＯＲゲート９１２、ＮＡＮＤゲート９１４、およびインバータ９１６を備える。第１ＮＯＲゲート９０２は、第１入力端子９１８に印加されるＲＥＤＬ（０）変数と、第２入力端子９２０に印加されるＲＥＤＨ（０）変数とを入力する。第２ＮＯＲゲート９０４は、第１ＮＯＲゲート９０２の出力と、第３入力端子９２２に印加されるＢＲＥＰ０１変数とを入力する。第３ＮＯＲゲート９０６は、第４入力端子９２４に印加されるＲＥＤＬ（１）変数と、第５入力端子９２６に印加されるＲＥＤＨ（１）変数とを入力する。第４ＮＯＲゲート９０８は、第３ＮＯＲゲート９０６の出力とインバータ９１６の出力とを入力し、インバータ９１６は、第６入力端子９２８に印加されるＢＲＥＰ０１変数を入力する。
【０１８９】
第５ＮＯＲゲート９１０は、第２ＮＯＲゲート９０４の出力と、第４ＮＯＲゲート９０８の出力とを入力する。ＮＡＮＤゲート９１４は、第７入力端子９３０に印加されるＢＲＥＰＡＩＲ変数と、第８入力端子９３２に印加されるＶＥＲＩＦＹ変数とを入力する。第６ＮＯＲゲート９１２は、第５ＮＯＲゲート９１０の出力と、ＮＡＮＤゲート９１４の出力とを入力する。第６ＮＯＲゲート９１２の出力は、出力端子９３４にＲＥＤＯＫ変数を供給する。
【０１９０】
図２７のＭＡＴＣＨステップ８９８中に、修復コントローラ８３２によってＢＲＥＰＡＩＲ変数が論理ハイ状態（「１」状態）に設定され、ＶＥＲＩＦＹ変数が論理ハイ状態（「１」状態）に設定される。この場合、変数ＢＲＥＰ０１、ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）によって、図３１の修復照合ユニット８４６の出力ＲＥＤＯＫの論理状態が決まる。図３２は、図３１の修復照合ユニット８４６への入力時に、変数ＢＲＥＰ０１、ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）の取り得る論理状態を示す表である。本明細書に記載したようにＢＲＥＰ０１変数は冗長要素順序ラッチ８４２が生成し、本明細書に記載したように、変数ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）は図２９のＣＡＭロジック８８４が生成する。
【０１９１】
図３１，３２を参照すると、２つの冗長要素のうちの第１の冗長要素がコアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に使用中であることを示すために、冗長要素順序ラッチ８４２はＢＲＥＰ０１変数を論理ロー状態（「０」状態）に設定する。あるいは、２つの冗長要素のうちの第２の冗長要素がコアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に使用中であることを示すため、冗長要素順序ラッチ８４２はＢＲＥＰ０１変数を論理ハイ状態（「１」状態）に設定する。
【０１９２】
図３１，３２を参照すると、ＢＲＥＰ０１変数が論理ロー状態（「０」状態）に設定されている場合は、ＲＥＤＬ（１）変数およびＲＥＤＨ（１）変数のそれぞれの論理状態がどのような値であっても、ＲＥＤＬ（０）変数とＲＥＤＨ（０）変数によってＲＥＤＯＫ出力の論理状態が決まる。この場合、２つの冗長要素のうちの第１の冗長要素がコアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトのいずれかの修復に使用されていることを示すために、ＲＥＤＬ（０）変数かＲＥＤＨ（０）変数の一方が論理ロー状態か論理ハイ状態に設定されている。
【０１９３】
ＲＥＤＨ（０）変数ではなくＲＥＤＬ（０）変数が論理ハイ状態に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの下位バイトの修復に２つの冗長要素のうちの第１の冗長要素が使用されている。ＲＥＤＬ（０）変数ではなくＲＥＤＨ（０）変数が論理ハイ状態に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの上位バイトの修復に２つの冗長要素のうちの第１の冗長要素が使用されている。いずれの場合も、それぞれのＣＡＭフラッシュメモリセルが正しくプログラムされており、２つの冗長要素のうちの第１の冗長要素がコアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に適切に使用されている。このため、ＢＲＥＰ０１変数が論理ロー状態に設定されており、かつＲＥＤＬ（０）変数かＲＥＤＨ（０）変数の一方が論理ハイ状態に設定されている場合、修復照合ユニット８４８が出力するＲＥＤＯＫ変数は論理ハイ状態に設定される。
【０１９４】
一方、ＢＲＥＰ０１変数が論理ロー状態に設定されており、かつＣＡＭロジック８８４によってＲＥＤＬ（０）変数とＲＥＤＨ（０）変数の両方が論理ロー状態に設定されている場合、それぞれのＣＡＭフラッシュメモリセルが正しくプログラムされておらず、２つの冗長要素のうちの第１の冗長要素が、コアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に適切に使用されていない。この場合、修復照合ユニット８４８が出力するＲＥＤＯＫ変数は、論理ロー状態に設定される。
【０１９５】
同様に、図３１，３２を参照すると、ＢＲＥＰ０１変数が論理ハイ状態（「１」状態）に設定されている場合は、ＲＥＤＬ（０）変数およびＲＥＤＨ（０）変数のそれぞれの論理状態がどのような値であっても、ＲＥＤＬ（１）変数とＲＥＤＨ（１）変数によってＲＥＤＯＫ出力の論理状態が決まる。この場合、２つの冗長要素のうちの第２の冗長要素がコアフラッシュメモリセルの不良アドレスの下位バイトまたは上位バイトのいずれかの修復に使用されていることを示すために、ＲＥＤＬ（１）変数かＲＥＤＨ（１）変数の一方が論理ハイ状態に設定されている。
【０１９６】
ＲＥＤＨ（１）変数ではなくＲＥＤＬ（１）変数が論理ハイ状態に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの下位バイトの修復に２つの冗長要素のうちの第２の冗長要素が使用されている。ＲＥＤＬ（１）変数ではなくＲＥＤＨ（１）変数が論理ハイ状態に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの上位バイトの修復に２つの冗長要素のうちの第２の冗長要素が使用されている。いずれの場合も、それぞれのＣＡＭフラッシュメモリセルが正しくプログラムされており、コアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に２つの冗長要素のうちの第２の冗長要素が適切に使用されている。このため、ＢＲＥＰ０１変数が論理ハイ状態に設定されており、かつＲＥＤＬ（１）変数かＲＥＤＨ（１）変数の一方が論理ハイ状態に設定されている場合、修復照合ユニット８４８が出力するＲＥＤＯＫ変数は論理ハイ状態に設定される。
【０１９７】
一方、ＢＲＥＰ０１変数が論理ハイ状態に設定されており、かつＣＡＭロジック８８４によってＲＥＤＬ（１）変数とＲＥＤＨ（１）変数の両方が論理ロー状態に設定されている場合、それぞれのＣＡＭフラッシュメモリセルが正しくプログラムされておらず、２つの冗長要素のうちの第２の冗長要素が、コアフラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトの一方の修復に適切に使用されていない。この場合、修復照合ユニット８４８が出力するＲＥＤＯＫ変数は、論理ロー状態に設定される。
【０１９８】
図２７を参照すると、ＲＥＤＯＫ変数が論理ロー状態（Ｆａｌｓｅ状態）に設定されている場合、コアフラッシュメモリセルの現在の不良アドレスの修復にそれぞれのＣＡＭフラッシュメモリセルが正しくプログラムされていない。この場合、修復コントローラ８３２は、ＰＵＬＳＥ＿ＣＯＵＮＴ変数とＭａｘ＿ＰＣ（最大パルスカウント）とを比較する（図２７のステップ９３６）。ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣ未満であれば、修復コントローラ８３２はＪＵＩＣＥ状態とＶＥＲＩＦＹ２状態を繰り返し（図２７のステップ８８８，８９０，８９２，８９４，８９６，８９８）、ＰＵＬＳＥ＿ＣＯＵＮＴが１つインクリメントされる。この場合、ｊｕｉｃｅ期間（ＪＴＩＭＥＯＵＴ）の間、修復コントローラ８３２は、ＣＡＭプログラム電圧源８３８を制御して、それぞれのＣＡＭフラッシュメモリセルにプログラム電圧を再印加させる。さらに、ＶＥＲＩＦＹ２状態の間、このプログラム電圧を印加したのち、修復照合ユニット８４６はＲＥＤＯＫ変数を再び生成すると共に、ＣＡＭロジック８８４は、変数ＲＥＤＬ（０）、ＲＥＤＨ（０）、ＲＥＤＬ（１）、およびＲＥＤＨ（１）に新たに値を設定する。
【０１９９】
ＲＥＤＯＫ変数が論理ロー状態に設定されるたびに、修復コントローラはＪＵＩＣＥ状態とＶＥＲＩＦＹ２状態を繰り返し（図２７のステップ８８８，８９０，８９２，８９４，８９６，８９８）、ＰＵＬＳＥ＿ＣＯＵＮＴがインクリメントされる。これは、ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣ（最大パルスカウント）を越える前にＲＥＤＯＫ変数が論理ハイ状態に設定されるか、あるいはＲＥＤＯＫ変数が論理ローのままＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣ（最大パルスカウント）を越えるまで行われる。ＲＥＤＯＫ変数が論理ローのままＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣ（最大パルスカウント）を越えた場合、ＰＵＬＳＥ＿ＣＯＵＮＴ変数がゼロにリセットされて（図２７のステップ９３８）、ＨＡＮＧ状態に入り（図２７のステップ９４０）、図２７の修復ルーチンが終了する。この場合、修復ルーチンは、コアフラッシュメモリセルの現在の不良アドレスをフラッシュメモリセルの冗長要素に置き換えることに失敗している。
【０２００】
一方、ＰＵＬＳＥ＿ＣＯＵＮＴがＭａｘ＿ＰＣ（最大パルスカウント）を越える前にＲＥＤＯＫ変数が論理ハイ状態に設定された場合、修復ルーチンが続行される。この場合、修復ルーチンは、フラッシュメモリセルの現在の不良アドレスの下位バイトまたは上位バイトを、フラッシュメモリセルの冗長要素に置き換えることに成功している。さらに、修復コントローラ８３２によってｒｅｇ＿ＲＥＡＤ変数がチェックされる（図２７のステップ９４２）。例えば、現在のＢＩＳＴモードが、図２３のフローチャートに示したＢＩＳＴモードのような、コアフラッシュメモリセルにプログラム電圧または消去電圧を消去せずに、コアフラッシュメモリセルのアレイの各フラッシュメモリセルのそれぞれの論理状態を読出すモードの場合、ＢＩＳＴシステム３００のフロントエンドデコーダ３１４によってｒｅｇ＿ＲＥＡＤ変数が論理ハイ状態に設定されている。そうでない場合（例えば図２１のフローチャートに示したＢＩＳＴモードなど）、ｒｅｇ＿ＲＥＡＤ変数は論理ロー状態に設定されている。
【０２０１】
ｒｅｇ＿ＲＥＡＤ変数が論理ハイ状態に設定されている場合、修復コントローラ８３２は、コアフラッシュメモリセルの不良アドレスを含むコアフラッシュメモリセルの現在のブロックの先頭アドレスにアドレスシーケンサ５２４をリセットし（図２７のステップ９４４）、ＰＵＬＳＥ＿ＣＯＵＮＴがゼロにリセットされる（図２７のステップ９４６）。例えば、図２４を参照すると、コアフラッシュメモリセルの不良アドレス７５０は、コアフラッシュメモリセルの第３のブロック７８６に存在する。このような例では、ｒｅｇ＿ＲＥＡＤ変数が論理ハイ状態に設定されている場合、修復コントローラ８３２は、アドレスシーケンサ５２４をコアフラッシュメモリセルの第３のブロック７８６の先頭アドレスにリセットする。アドレスシーケンサ５２４が、コアフラッシュメモリセルの現在のブロックの先頭アドレスにリセットされることで、コアフラッシュメモリセルの不良アドレスを含むコアフラッシュメモリセルのブロック全体について、コアフラッシュメモリセルのアレイの各フラッシュメモリセルのそれぞれの論理状態を読出し、フラッシュメモリセルの冗長要素に置き換えるＢＩＳＴモードが実行されるため、フラッシュメモリセルの冗長要素を使用して適切に修復されることがより確実となる。
【０２０２】
図２７を参照すると、ｒｅｇ＿ＲＥＡＤ変数が論理ハイ状態に設定されている場合に、修復コントローラ８３２が、コアフラッシュメモリセルの不良アドレスを含むコアフラッシュメモリセルの現在のブロックの先頭アドレスにアドレスシーケンサ５２４をリセットして（図２７のステップ９４４）、ＰＵＬＳＥ＿ＣＯＵＮＴがゼロにリセットされると（図２７のステップ９４６）、ＢＲＥＰＡＩＲ変数が論理ロー状態（「０」状態）に設定され（図２７のステップ９４８）、修復ルーチンはこの修復ルーチンを呼び出した現在のＢＩＳＴモードに戻る（図２７のステップ９５０）。一方、ｒｅｇ＿ＲＥＡＤ変数が論理ロー状態に設定されている場合、図２７のステップ９４４，９４６が実行されずに、ＢＲＥＰＡＩＲ変数が論理ロー状態（「０」状態）に設定され（図２７のステップ９４８）、修復ルーチンはこの修復ルーチンを呼び出した現在のＢＩＳＴモードに戻る（図２７のステップ９５０）。
【０２０３】
例えば、修復ルーチン７７０が図２１の現在のＢＩＳＴモードに戻る場合には、ＳＴＡＲＴ状態５５２とこれ以降のステップが、フラッシュメモリセルの冗長要素に置き換えて修復されたコアフラッシュメモリセルの現在の不良アドレスに対して再度実行される。あるいは、修復ルーチン７７６が図２３の現在のＢＩＳＴモードに戻る場合には、ＳＴＡＲＴ状態６８２とこれ以降のステップが、コアフラッシュメモリセルの不良アドレスを含むコアフラッシュメモリセルの現在のブロックの先頭アドレスから再度実行されるが、コアフラッシュメモリセルの現在ブロック内でフラッシュメモリセルの冗長要素に置き換えられている。
【０２０４】
このように、コアフラッシュメモリセル７８０のアレイの試験中に、ＣＡＭ（内容参照可能メモリ）７９０をプログラムして、フラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素７８２に置き換えることで、フラッシュメモリセルの不良アドレスの修復がオンチップに実行される。このため、ＣＡＭ（内容参照可能メモリ）をプログラムして、フラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素に置き換えるために、外部試験システムのピンが使用されることはない。使用する外部試験システムのピン数をこのように最小限に減らすことで、総ピン数の限られた外部試験システムによってより多くの半導体ダイを同時に試験および修復することができ、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。
【０２０５】
さらに、ＣＡＭフラッシュメモリセルのプログラムによるこのような修復がオンチップに実行されるため、この修復メカニズムの実行速度が外部試験システムの処理能力によって制約されない。このため、このオンチップ修復メカニズムはより効率的であり得る。
【０２０６】
上記の記載は例に過ぎず、限定を意図するものではない。例えば、本発明は、フラッシュメモリセルの使用可能な冗長要素の数が上記の例よりも多い場合に実施してもよい。本明細書に記載もしくは図示した数値は例に過ぎない。さらに、フラッシュメモリ製造の当業者にとって本明細書の記載から自明のように、コアフラッシュメモリセルの不良アドレスの１バイトを置き換える代わりに、コアフラッシュメモリセルの不良アドレス全体をフラッシュメモリセルの冗長要素に置き換えて本発明を実施してもよい。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
【０２０７】
Ｅ．ＢＩＳＴ（組込み自己試験）バックエンド状態機械の機能を試験するための診断モード
ＢＩＳＴシステム３００によるコアフラッシュメモリセル３０４のアレイの試験の精度は、図７のＢＩＳＴシステム３００、特にバックエンドＢＩＳＴ状態機械３１６の各種コンポーネントの機能の試験によっても保証される。ＢＩＳＴシステム３００のコンポーネントの機能をこのように試験することで、ＢＩＳＴシステム３００による試験後にコアフラッシュメモリセル３０４のアレイが不良であると考えられる場合、この不良は、コアフラッシュメモリセル３０４のアレイの不良が原因であり、図７のＢＩＳＴシステム３００のコンポーネントの不良が原因ではないことを確認できる。
【０２０８】
本発明の別の実施形態では、コアフラッシュメモリセル３０４のアレイの機能とは切り離してＢＩＳＴ（組込み自己試験）バックエンド状態機械３１６の機能を判定する。図３３を参照すると、コアフラッシュメモリセル３０４のアレイの機能とは切り離してＢＩＳＴ（組込み自己試験）エンド状態機械３１６の機能を判定するシステム９６０は、モードデコーダ９６２、診断照合ロジック９６４、および信号セレクタ９６６を備える。ＢＩＳＴインタフェース３１２、フロントエンドインタフェース３１４、ＢＩＳＴバックエンド状態機械３１６、アドレスシーケンサ５２４、および外部試験システム３１８は、本明細書に記載したものと同じである。
【０２０９】
モードデコーダ９６２は外部試験システム３１８に結合されており、外部試験システム３１８はＢＩＳＴバックエンド状態機械３１６の機能を試験するための診断モードを呼び出すために、所定のビットパターンを送信し、モードデコーダ９６２がこのビットパターンを受信する。ＢＩＳＴバックエンド状態機械３１６の機能を試験するための診断モードを呼び出すために、外部試験システム３１８が所定のビットパターンを送信した場合、モードデコーダ９６２は、外部試験システム３１８から送信されたビットパターンをデコードして、ＡＵＴＯＬ信号を論理ハイ状態（「１」状態）に設定する。そうでない場合、モードデコーダ９６２は、ＡＵＴＯＬ信号を論理ロー状態（「０」状態）に設定する。モードデコーダ９６２のためのビットパターンデコーダの実装は、デジタル電子工学の当業者に公知である。
【０２１０】
ＡＵＴＯＬ信号は、モードデコーダ９６２から、診断照合ロジック９６４、信号セレクタ９６６、およびＢＩＳＴバックエンド状態機械３１６に結合されている。診断照合ロジック９６４は、バックエンド状態機械３１６からＡＵＴＯＬ信号と制御信号とを入力し、生成マッチ出力を生成する。信号セレクタ９６６は、診断照合ロジック９６４からの生成マッチ出力と、図１３の照合回路５２０からのコアマッチ出力とを入力する。信号セレクタ９６６は、ＡＵＴＯＬ信号とＢＩＳＴバックエンド状態機械３１６からの制御信号とに応じて、診断照合ロジック９６４からの生成マッチ出力か整合回路５２０からのコアマッチ出力のいずれかをＭＡＴＣＨ信号として出力する。
【０２１１】
ＡＵＴＯＬ信号が論理ハイ状態に設定されており、ＢＩＳＴバックエンド状態機械３１６の機能を試験するための診断モードが呼び出された場合、信号セレクタ９６６は、診断照合ロジック９６４からの生成マッチ出力をＭＡＴＣＨ信号として選択し、ＢＩＳＴバックエンド状態機械３１６に送信する。一方、ＡＵＴＯＬ信号が論理ロー状態に設定されており、診断モードが呼び出されていない場合、信号セレクタ９６６は、照合回路５２０から出力されるコアマッチ出力をＭＡＴＣＨ信号として選択し、ＢＩＳＴバックエンド状態機械３１６に送信する。
【０２１２】
いずれの場合であっても、本明細書に記載したように、ＢＩＳＴ（組込み自己試験）モード中のＶＥＲＩＦＹ状態の間に、ＢＩＳＴバックエンド状態機械３１６は、このＭＡＴＣＨ信号を使用してＢＩＳＴモードの結果が合格・不合格のいずれの状態であるかを判定する。図１３の照合回路５２０は、コアフラッシュメモリセル３０４のアレイのアドレスの測定ビットパターンと所望のビットパターンとを比較して、コアマッチ出力を生成する。しかし、診断照合ロジック９６４は、モードデコーダ９６２からのＡＵＴＯＬ信号とＢＩＳＴバックエンド状態機械３１６からの制御信号とに応じて生成マッチ出力を生成する。このため、診断照合ロジック９６４からの生成マッチ出力は、コアフラッシュメモリセル３０４のアレイの機能とは独立している。
【０２１３】
図３４に、第１インバータ９６８、第１ＡＮＤゲート９７０、第１ＮＯＲゲート９７２、第２インバータ９７４、第２ＡＮＤゲート９７６、第３インバータ９７８、第３ＡＮＤゲート９８０、第２ＮＯＲゲート９８２、および第４インバータ９８４を備えた図３３の信号セレクタ９６６の実装例を示す。第１ＡＮＤゲート９７０は、第１入力端子９８６に供給されるＢＲＥＡＤ信号と、第２入力端子９８８に供給されるＢＲＥＰ信号を入力する第１インバータ９６８からの出力とを入力する。第１ＮＯＲゲート９７２は、第１ＡＮＤゲート９７０の出力と、第３入力端子９９０に供給されるＭＡＴＣＨＤ信号とを入力する。第２ＡＮＤゲート９７６は、第４入力端子９９２に供給されるＡＵＴＯＬ信号と、第２インバータ９７４の出力とを入力する。第２インバータ９７４は、第１ＮＯＲゲート９７２の出力を入力する。
【０２１４】
さらに、第３ＡＮＤゲート９８０は、第５入力端子９９４に供給されるｉｎｔ＿ＭＡＴＣＨ信号と、第６入力端子９９６に供給されるＡＵＴＯＬ信号を入力する第３インバータ９７８の出力とを入力する。第２ＮＯＲゲート９８２は、第２ＡＮＤゲート９７６の出力と、第３ＡＮＤゲート９８０の出力とを入力する。第４インバータ９８４は、第２ＮＯＲゲート９８２の出力を入力する。第４インバータ９８４の出力は、出力端子９９７にＭＡＴＣＨ信号を供給する信号セレクタの出力となる。
【０２１５】
第５入力端子９９４に供給されるｉｎｔ＿ＭＡＴＣＨ信号は、照合回路５２０からのコアマッチ出力であり、第３入力端子９９０のＭＡＴＣＨＤ信号は、診断照合ロジック９６４からの生成マッチ出力である。第４入力端子９９２と第６入力端子９９６に供給されるＡＵＴＯＬ信号は、モードデコーダ９６２によって生成されるＡＵＴＯＬ信号である。第１入力端子９８６に供給されるＢＲＥＡＤ信号と、第２入力端子９８８に供給されるＢＲＥＰ信号とは、ＢＩＳＴバックエンド状態機械３１６からの制御信号である。
【０２１６】
図３５に、第１ＮＯＲゲート９９８、第２ＮＯＲゲート１０００、および第３ＮＯＲゲート１００２を備えた図３３の診断照合ロジック９６４の実装例を示す。さらに、診断照合ロジック９６４は、第１ＡＮＤゲート１００４、第１ＮＡＮＤゲート１００６、第２ＮＡＮＤゲート１００８、第３ＮＡＮＤゲート１０１０、第４ＮＡＮＤゲート１０１２、および第５ＮＡＮＤゲート１０１４を備える。診断照合ロジック９６４は、第１ＯＲゲート１０１６、第２ＯＲゲート１０１８、第３ＯＲゲート１０２０、第１インバータ１０２２、第２インバータ１０２４、および第３インバータ１０２６も備える。さらに、診断照合ロジック９６４は、ラッチ１０２８も備える。
【０２１７】
第１ＮＯＲゲート９９８は、第１入力端子１０３０に供給されるＥＲＩＰ信号と、第２入力端子１０３２に供給されるＡＰＤＥ信号とを入力する。第１ＡＮＤゲート１００４は、第１ＮＯＲゲート９９８の出力と、第３入力端子１０３４に供給されるＢＡＣＬＫ信号とを入力する。第２ＮＯＲゲート１０００は、第１ＡＮＤゲート１００４の出力と、第４入力端子１０３６に供給されるＳＡＣＬＫ信号とを入力する。第２ＮＡＮＤゲート１００８は、第５入力端子１０３８に供給されるＥＲ信号と、第４ＮＡＮＤゲート１０１２の出力とを入力する。
【０２１８】
さらに、第１ＯＲゲート１０１６は、第６入力端子１０４０に供給されるＢＥＲＥＸＥ信号を入力する第１インバータ１０２２の出力と、第７入力端子１０４２に供給されるＢＡＰＤＥ＿ＯＰＴ信号とを入力する。第４ＮＡＮＤゲート１０１２は、第１ＯＲゲート１０１６の出力と第８入力端子１０４４に供給されるＳＴＥＳＴ信号とを入力する。第２ＯＲゲート１０１８は、第４ＮＡＮＤゲート１０１２の出力を入力する第２インバータ１０２４の出力と、第９入力端子１０４６に供給されるＰＧＭ信号を入力する。第３ＯＲゲート１０２０は、第４ＮＡＮＤゲート１０１２の出力と、第１０入力端子１０４８に供給されるＪＵＩＣＥ信号とを入力する。
【０２１９】
また、第１ＮＡＮＤゲート１００６は、第２ＮＯＲゲート１０００の出力と、第２ＮＡＮＤゲート１００８の出力とを入力する。第５ＮＡＮＤゲート１０１４は、第２ＯＲゲート１０１８の出力と、第３ＯＲゲート１０２０の出力とを入力する。第３ＮＡＮＤゲート１０１０は、第１１入力端子１０５０に供給されるＡＵＴＯＬ信号と、第１ＮＡＮＤゲート１００６の出力とを入力する。第３ＮＯＲゲート１００２は、第１１入力端子１０５０に供給されるＡＵＴＯＬ信号を入力する第３インバータ１０２６の出力と、第５ＮＡＮＤゲート１０１４の出力とを入力する。
【０２２０】
ラッチ１０２８は、第３ＮＡＮＤゲート１０１０の出力をリセット入力（「Ｒ」入力）として有し、第３ＮＯＲゲート１００２の出力をセット入力（「Ｓ」入力）として有する。さらに、ラッチ１０２８は、出力端子１０５２にＱ出力としてＭＡＴＣＨＤ信号を供給する。ＭＡＴＣＨＤ信号は、図３３，３４の信号セレクタ９６６に提供される生成マッチ出力である。
【０２２１】
第１１入力端子１０５０に供給されるＡＵＴＯＬ信号は、図３３のモードデコーダ９６２が生成する。第１入力端子１０３０に供給されるＥＲＩＰ信号、第２入力端子１０３２に供給されるＡＰＤＥ信号、第３入力端子１０３４に供給されるＢＡＣＬＫ信号、第４入力端子１０３６に供給されるＳＡＣＬＫ信号、第５入力端子１０３８に供給されるＥＲ信号、第６入力端子１０４０に供給されるＢＥＲＥＸＥ信号、第７入力端子１０４２に供給されるＢＡＰＤＥ＿ＯＰＴ信号、第８入力端子１０４４に供給されるＳＴＥＳＴ信号、第９入力端子１０４６に供給されるＰＧＭ信号、および第１０入力端子１０４８に供給されるＪＵＩＣＥ信号は、ＢＩＳＴバックエンド状態機械３１６、特に図１３のバックエンドＢＩＳＴコントローラ５０２によって生成される。
【０２２２】
図３６に、図３５のラッチ１０２８の実装例を示し、ラッチ１０２８は、第１ＰＭＯＳＦＥＴ（Ｐ形金属酸化膜半導体電界効果トランジスタ）１０５１、第２ＰＭＯＳＦＥＴ（Ｐ形金属酸化膜半導体電界効果トランジスタ）１０５７、ＮＭＯＳＦＥＴ（Ｎ型金属酸化膜半導体電界効果トランジスタ）１０５４、第１インバータ１０５６、および第２インバータ１０５８を備える。第１ＰＭＯＳＦＥＴ１０５１のソースと第２ＰＭＯＳＦＥＴ１０５７のソースとは正電圧源１０５９に結合され、ＮＭＯＳＦＥＴ１０５４のソースは負電圧源１０６１に結合されている。正電圧源１０５９は例えば＋５ボルトなどの論理ハイ状態の電圧を供給しており、負電圧源１０６１はラッチ１０２８の実装例においては接地ノードであり得る。
【０２２３】
第１ＰＭＯＳＦＥＴ１０５１のゲートは、図３５の第３ＮＡＮＤゲート１０１０の出力に結合されているラッチ１０２８のリセット入力（「Ｒ」入力）に結合されている。ＮＭＯＳＦＥＴ１０５４のゲートは、図３５の第３ＮＯＲゲート１００２の出力に結合されているラッチ１０２８のセット入力（「Ｓ」入力）に結合されている。第１ＰＭＯＳＦＥＴ１０５１のドレインはＮＭＯＳＦＥＴ１０５４のドレインに結合されており、ＮＭＯＳＦＥＴ１０５４のドレインは、第１インバータ１０５６の入力と、第２インバータ１０５８の出力とに結合されている。第１インバータ１０５６の出力は、第２インバータ１０５８の入力に結合され、ラッチ１０２８のＱ出力となっており、診断照合ロジック９６４の生成マッチ出力ＭＡＴＣＨＤを供給する。
【０２２４】
さらに、第２ＰＭＯＳＦＥＴ１０５７のゲートはリセット入力（すなわち「ＩＲＳＴＢ」入力）に結合され、第２ＰＭＯＳＦＥＴ１０５７のドレインは、第１ＰＭＯＳＦＥＴ１０５１のドレインとＮＭＯＳＦＥＴ１０５４のドレインとに結合されている。ＡＵＴＯＬが論理ハイ状態に設定されている場合、ＢＩＳＴバックエンド状態機械３１６はＩＲＳＴＢ信号を論理ハイ状態に設定して、第２ＰＭＯＳＦＥＴ１０５７をオフにし、この結果、生成マッチ出力ＭＡＴＣＨＤは、第１ＰＭＯＳＦＥＴ１０５１に印加されるリセット入力とＮＭＯＳＦＥＴ１０５４に印加されるセット入力とによって決まる。一方、ＡＵＴＯＬが論理ロー状態に設定されている場合、ＢＩＳＴバックエンド状態機械３１６はＩＲＳＴＢ信号を論理ロー状態に設定して、第２ＰＭＯＳＦＥＴ１０５７をオンにし、この結果、生成マッチ出力ＭＡＴＣＨＤが論理ロー状態にラッチされる。
【０２２５】
図３７は、ＡＵＴＯＬが論理ハイ状態に設定されており、かつＩＲＳＴＢ信号が論理ハイ状態に設定されている場合の、図３６のラッチ１０２８の動作中の諸変数を示す表である。この場合、生成マッチ出力ＭＡＴＣＨＤは、第１ＰＭＯＳＦＥＴ１０５１に印加されるリセット入力と、ＮＭＯＳＦＥＴ１０５４に印加されるセット入力とによって決まる。リセット入力（「Ｒ」入力）とセット入力（「Ｓ」入力）が論理ロー状態（「０」状態）の場合、ラッチ１０２８のＱ出力（ＭＡＴＣＨＤ出力）は論理ロー状態（「０」状態）となる。一方、リセット入力（「Ｒ」入力）とセット入力（「Ｓ」入力）が論理ハイ状態（「１」状態）の場合、ラッチ１０２８のＱ出力（ＭＡＴＣＨＤ出力）は論理ハイ状態（「１」状態）となる。
【０２２６】
リセット入力（「Ｒ」入力）が論理ハイ状態（「１」状態）でセット入力（「Ｓ」入力）が論理ロー状態（「０」状態）の場合、ラッチ１０２８のＱ出力（ＭＡＴＣＨＤ出力）は、Ｑ出力の元の論理状態にラッチされる。リセット入力（「Ｒ」入力）が論理ロー状態（「０」状態）でセット入力（「Ｓ」入力）が論理ハイ状態（「１」状態）であるという条件は、図３５の診断照合ロジック９６４内のラッチ１０２８では使用されない。
【０２２７】
以下、バックエンド状態機械３１６の機能を試験するための図３３のシステム９６０の各種コンポーネントの動作を説明する。図３８は、診断モードの呼び出し後に、バックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、コアフラッシュメモリセル３０４のアレイのフラッシュメモリセルのプログラムである場合に、図３３のバックエンド状態機械３１６がとる状態を示すフローチャートである。図３３，３８を参照すると、外部試験システム３１８が、診断モードを呼び出すために所定のビットパターンを入力すると、診断モードが開始される（図３８のステップ１０６０）。さらに、図３３を参照すると、診断モードの開始時に、現在のＢＩＳＴモードを呼び出すためにユーザがＢＩＳＴインタフェース３１２にデータを入力する。
【０２２８】
この場合、モードデコーダ９６２からのＡＵＴＯＬ信号が、論理ハイ状態（「１」状態）に設定される。さらに、診断モードが呼び出されている場合、バックエンド状態機械３１６は、図１５のフローチャートのステップをたどるが、ＶＥＲＩＦＹ状態中（図１５のステップ５６０，５６２）に、照合回路５２０の出力だけではなく信号セレクタ９６６からのＭＡＴＣＨ信号を使用する。
【０２２９】
図３４を参照すると、診断モードの呼び出し後に、バックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、コアフラッシュメモリセル３０４のアレイのフラッシュメモリセルのプログラムの場合、ＢＲＥＡＤ信号が論理ロー状態（「０」状態）に設定される。このため、ＡＵＴＯＬ信号が論理ハイ状態に設定されているため、図３４の信号セレクタ９６６からのＭＡＴＣＨ信号は、診断ロジック９６４からの生成マッチ出力ＭＡＴＣＨＤとなる。
【０２３０】
図３６を参照すると、診断モードの開始前に、ＡＵＴＯＬ信号とラッチ１０２８のＩＲＳＴＢ信号とが論理ロー状態に設定され、この結果、生成マッチ出力ＭＡＴＣＨＤが論理ロー状態にラッチされる。このため、コアフラッシュメモリセル３０４のアレイのフラッシュメモリセルのプログラムを行うＢＩＳＴモードの開始時には、生成マッチ出力ＭＡＴＣＨＤは、コアフラッシュメモリセル３０４のアレイの先頭アドレスにおいて論理ロー状態（「０」状態）にラッチされている。バックエンド状態機械３１６が第１のプログラムＶＥＲＩＦＹ状態（図１５のステップ５６０，５６２）に入ると、生成マッチ出力ＭＡＴＣＨＤは論理ロー状態（「０」状態）にラッチされ、このため、コアフラッシュメモリセルのアレイの先頭アドレスの結果は不合格となる（図３８のステップ１０６２）。このように不合格となったため、バックエンド状態機械３１６はプログラムＪＵＩＣＥ状態に入る（図１５のステップ５６６）。
【０２３１】
図３５を参照すると、第１１入力端子１０５０に供給されるＡＵＴＯＬ信号がモードデコーダ９６２によって論理ハイ状態に設定されるほか、プログラムＪＵＩＣＥ状態中は、第９入力端子１０４６に供給されるＰＧＭ信号、第１０入力端子１０４８に供給されるＪＵＩＣＥ信号、および第８入力端子１０４４に供給されるＳＴＥＳＴ信号が、ＢＩＳＴコントローラ５０２によって論理ハイ状態に設定される。プログラムＪＵＩＣＥ状態中は、ほかの信号（信号ＥＲＩＰ、ＡＰＤＥ、ＢＡＣＬＫ、ＳＡＣＬＫ、ＥＲ、ＢＥＲＥＸＥ、およびＢＡＰＤＥ＿ＯＰＴ）は、ＢＩＳＴコントローラ５０２によって論理ロー状態に設定される。このため、プログラムＪＵＩＣＥ状態中は、生成マッチ出力ＭＡＴＣＨＤが論理ハイ状態（「１」状態）に設定される（図３８のステップ１０６４）。
【０２３２】
プログラムＪＵＩＣＥ状態後に、ＢＩＳＴコントローラ５０２は、次のプログラムＶＥＲＩＦＹ状態（図１５のステップ５６０，５６２）に入り、前のプログラムＪＵＩＣＥ状態で生成マッチ出力ＭＡＴＣＨＤが論理ハイ状態（「１」状態）に設定されているため、コアフラッシュメモリセルのアレイの先頭アドレスの結果は合格となる（図３８のステップ１０６６）。このように合格となったため、図３３を参照すると、バックエンド状態機械３１６は、ＢＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの次のアドレスにインクリメントさせる（図３８のステップ１０６８）。
【０２３３】
図３５を参照すると、ＢＡＣＬＫ信号が論理ハイ状態に設定されている（ＡＵＴＯＬ信号およびＳＴＥＳＴ信号は論理ハイ状態に設定されているが、ＥＲＩＰ、ＡＰＤＥ、ＳＡＣＬＫ、ＥＲ、ＰＧＭ、ＪＵＩＣＥ、ＢＥＲＥＸＥ、およびＢＡＰＤＥ＿ＯＰＴの各信号は論理ロー状態に設定されている）と、生成マッチ出力ＭＡＴＣＨＤは論理ロー状態（「０」状態）に戻される。アドレスシーケンサ５２４がコアフラッシュメモリセル３０４のアレイの次のアドレスにインクリメントしたら、ＢＩＳＴコントローラ５０２は、このアドレスがコアフラッシュメモリセル３０４のアレイの最終アドレスを超えているかどうかチェックする（図３８のステップ１０７０）。アドレスがコアフラッシュメモリセル３０４のアレイの最終アドレスを越えている場合、ＢＩＳＴモードが終了する。そうでない場合、アドレスシーケンサ５２４が、コアフラッシュメモリセル３０４のアレイの最終アドレスを越えるアドレスに達するまで、コアフラッシュメモリセル３０４のアレイの後続アドレスのそれぞれについて、図３８のステップ１０６２，１０６４，１０６６，１０６８，１０７０が繰り返される。
【０２３４】
図１３を参照すると、診断モードの呼び出し後に、バックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、コアフラッシュメモリセル３０４のアレイのフラッシュメモリセルのプログラムである場合、プログラム／消去電圧源５１０からのノードなどの、バックエンド状態機械３１６の各種ノードが検査され得、図３８の諸ステップで、バックエンド状態機械３１６が機能しているかどうかが判定される。例えば、バックエンド状態機械３１６が機能している場合には、図３８のステップ１０６４でプログラムＪＵＩＣＥ状態に入るたびに、図１３のプログラム／消去電圧源５１０からのノードが、＋９ボルトのワード線電圧を供給する。ＢＩＳＴモードが、コアフラッシュメモリセル３０４のアレイのフラッシュメモリセルのプログラムである場合、図３８の諸ステップの間、図１３のバックエンド状態機械３１６のノードがこのように検査されて、バックエンド状態機械３１６の機能が調べられる。
【０２３５】
図３９は、診断モードの呼び出し後に、バックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、スタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）付きのコアフラッシュメモリセル３０４のアレイのフラッシュメモリセルの消去である場合に、図３３のバックエンド状態機械３１６がとる状態を示すフローチャートである。図４０は、診断モードの呼び出し後に、バックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、インターリーブＡＰＤＥ（消去後の自動プログラムディスターブ）付きのコアフラッシュメモリセル３０４のアレイのフラッシュメモリセルの消去である場合に、図３３のバックエンド状態機械３１６がとる状態を示すフローチャートである。図３５を参照すると、スタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）の場合、ＢＩＳＴコントローラ５０２は、ＢＡＰＤＥ＿ＯＰＴ信号を論理ハイ状態（「１」状態）に設定する。一方、インターリーブＡＰＤＥ（消去後の自動プログラムディスターブ）の場合、ＢＩＳＴコントローラ５０２は、ＢＡＰＤＥ＿ＯＰＴ信号を論理ロー状態（「０」状態）に設定する。
【０２３６】
図３３，３９を参照すると、外部試験システム３１８が、診断モードを呼び出すために所定のビットパターンを入力すると、診断モードが開始される（図３９のステップ１０７２）。この場合、モードデコーダ９６２からのＡＵＴＯＬ信号が、論理ハイ状態（「１」状態）に設定される。さらに、図３３を参照すると、診断モードの開始時に、現在のＢＩＳＴモードを呼び出すためにユーザがＢＩＳＴインタフェース３１２にデータを入力する。さらに、診断モードが呼び出されている場合、バックエンド状態機械３１６は、ＶＥＲＩＦＹ状態中（例えば図１５のステップ５６０，５６２）に、照合回路５２０の出力だけではなく信号セレクタ９６６からのＭＡＴＣＨ信号を使用する。図３４を参照すると、診断モードの呼び出し後に、バックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、コアフラッシュメモリセル３０４のアレイのフラッシュメモリセルの消去の場合、ＢＲＥＡＤ信号が論理ロー状態（「０」状態）に設定される。このため、ＡＵＴＯＬ信号が論理ハイ状態に設定されているため、図３４の信号セレクタ９６６からのＭＡＴＣＨ信号は、診断ロジック９６４からの生成マッチ出力ＭＡＴＣＨＤとなる。
【０２３７】
図３６を参照すると、診断モードの開始前に、ＡＵＴＯＬ信号とラッチ１０２８のＩＲＳＴＢ信号とが論理ロー状態に設定され、この結果、生成マッチ出力ＭＡＴＣＨＤが論理ロー状態にラッチされる。このため、コアフラッシュメモリセル３０４のアレイのフラッシュメモリセルの消去を行うＢＩＳＴモードの開始時には、生成マッチ出力ＭＡＴＣＨＤは、コアフラッシュメモリセル３０４のアレイの先頭セクタの先頭アドレスにおいて論理ロー状態（「０」状態）にラッチされている。図１６を参照すると、図１６を参照して本明細書に記載したように、コアフラッシュメモリセル３０４のアレイは、複数の水平セクタ６０２，６０４，６０６，６０８，６１０，６１２，６１４，６１６に分割されている。バックエンド状態機械３１６が第１の消去ＶＥＲＩＦＹ状態に入ると、生成マッチ出力ＭＡＴＣＨＤは論理ロー状態（「０」状態）にラッチされ、このため、コアフラッシュメモリセルのアレイの先頭セクタの先頭アドレスの結果は不合格となる（図３９のステップ１０７４）。
【０２３８】
このように不合格となったため、バックエンド状態機械３１６は、消去ＪＵＩＣＥ状態に入る。図３５を参照すると、消去ＪＵＩＣＥ状態中は、第１１入力端子１０５０に供給されるＡＵＴＯＬ信号がモードデコーダ９６２によって論理ハイ状態に設定されるほか、第５入力端子１０３８に供給されるＥＲ信号、第１０入力端子１０４８に供給されるＪＵＩＣＥ信号、第８入力端子１０４４に供給されるＳＴＥＳＴ信号、第６入力端子１０４０に供給されるＢＥＲＥＸＥ信号、第１入力端子１０３０に供給されるＥＲＩＰ信号、および第７入力端子１０４２に供給されるＢＡＰＤＥ＿ＯＰＴ信号が、ＢＩＳＴコントローラ５０２によって論理ハイ状態に設定される。消去ＪＵＩＣＥ状態中は、ほかの信号（信号ＡＰＤＥ、ＢＡＣＬＫ、ＳＡＣＬＫ、およびＰＧＭ）は、ＢＩＳＴコントローラ５０２によって論理ロー状態に設定される。このため、消去ＪＵＩＣＥ状態中は、生成マッチ出力ＭＡＴＣＨＤが論理ハイ状態（「１」状態）に設定される（図３９のステップ１０７６）。
【０２３９】
消去ＪＵＩＣＥ状態後に、ＢＩＳＴコントローラ５０２は、次の消去ＶＥＲＩＦＹ状態に入り、前の消去ＪＵＩＣＥ状態で生成マッチ出力ＭＡＴＣＨＤが論理ハイ状態（「１」状態）に設定されているため、コアフラッシュメモリセルのアレイの先頭セクタの先頭アドレスの結果は合格となる（図３９のステップ１０７８）。このように合格となったため、図３３を参照すると、バックエンド状態機械３１６は、ＢＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの先頭セクタの次のアドレスにインクリメントさせる（図３９のステップ１０８０）。
【０２４０】
図３５を参照すると、ＢＡＣＬＫ信号が論理ハイ状態に設定されていても、ＳＴＥＳＴ、ＢＥＲＥＸＥ、ＥＲＩＰ、およびＢＡＰＤＥ＿ＯＰＴの各信号が論理ハイ状態に設定されているため、生成マッチ出力ＭＡＴＣＨＤは論理ハイ状態（「１」状態）にラッチされたままとなる。アドレスシーケンサ５２４がコアフラッシュメモリセル３０４のアレイの先頭セクタの次のアドレスにインクリメントしたら、ＢＩＳＴコントローラ５０２は、このアドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終アドレスを超えているかどうかチェックする（図３９のステップ１０８２）。
【０２４１】
アドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終アドレスを越えている場合、バックエンド状態機械３１６は、ＳＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの次のセクタの先頭アドレスにインクリメントさせる（図３９のステップ１０８４）。そうでない場合、アドレスシーケンサ５２４が、コアフラッシュメモリセル３０４のアレイの先頭セクタの最終アドレスを越えるアドレスに達するまで、コアフラッシュメモリセル３０４のアレイの先頭セクタの後続するアドレスのそれぞれについて、図３９のステップ１０７８，１０８０，１０８２が繰り返される。
【０２４２】
アドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終アドレスを越えており、このため、バックエンド状態機械３１６が、ＳＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの次のセクタの先頭アドレスにインクリメントさせると（図３９のステップ１０８４）、ＢＩＳＴコントローラ５０２は、このアドレスがコアフラッシュメモリセル３０４のアレイの最終セクタを超えているかどうかチェックする（図３９のステップ１０８６）。アドレスがコアフラッシュメモリセル３０４のアレイの最終セクタを越えている場合、図３９のステップ１０８８でスタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）が実行される。
【０２４３】
そうでない場合、アドレスシーケンサ５２４が、コアフラッシュメモリセル３０４のアレイの最終セクタを越えるアドレスに達するまで、コアフラッシュメモリセル３０４のアレイの後続セクタのそれぞれについて、図３９のステップ１０７４，１０７６，１０７８，１０８０，１０８２，１０８４，１０８６が繰り返される。図３９のステップ１０８４で、図３５の第４入力端子のＳＡＣＬＫ信号（ＡＵＴＯＬ、ＳＴＥＳＴ、ＢＥＲＥＸＥ、ＥＲＩＰ、およびＢＡＰＤＥ＿ＯＰＴの各信号も同様）が論理ハイ状態に設定されていると、生成マッチ出力ＭＡＴＣＨＤが論理ロー状態に戻された状態にラッチされるため、本発明のこの実施形態では、ステップ１０７４，１０７６はコアフラッシュメモリセルの各セクタの先頭アドレスにしか実行されない点に留意されたい。
【０２４４】
しかし、コアフラッシュメモリセルのセクタの後続の各アドレスについては、図３９のステップ１０７６の消去ＪＵＩＣＥ状態中に、生成マッチ出力ＭＡＴＣＨＤが論理ハイ状態に戻される。例えば、消去ＪＵＩＣＥ状態の間の時間は、例えば１０ミリ秒など比較的長く、このため、セクタの各アドレスに消去ＪＵＩＣＥ状態を実行すると時間がかかってしまい望ましくないため、ステップ１０７４，１０７６はコアフラッシュメモリセルの各セクタの先頭アドレスにしか実行されない。
【０２４５】
ステップ１０８６で、アドレスがコアフラッシュメモリセル３０４のアレイの最終セクタを越えている場合、コアフラッシュメモリセルのアレイの全てのアドレスが消去検証されており、図３９のステップ１０８８でスタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）が実行される。図３９のステップ１０８８に達するまでの間に、図３５のＡＵＴＯＬ、ＳＴＥＳＴ、ＢＥＲＥＸＥ、ＥＲＩＰ、およびＢＡＰＤＥ＿ＯＰＴの各信号のほか、図３９のステップ１０８４で、ＳＡＣＬＫ信号が論理ハイ状態に設定されているため、生成マッチ出力ＭＡＴＣＨＤは論理ロー状態（「０」状態）にラッチされる。さらに、図３９のステップ１０８４でＳＡＣＬＫ信号が論理ハイ状態に設定されているため、アドレスシーケンサ５２４は、ＢＩＳＴコントローラ５０２によってコアフラッシュメモリセル３０４の先頭セクタの先頭の列アドレスにリセットされる。
【０２４６】
バックエンド状態機械３１６は、コアフラッシュメモリセル３０４の先頭セクタの先頭の列アドレスにおいて第１のＡＰＤＥ（消去後の自動プログラムディスターブ）ＶＥＲＩＦＹ状態に入り、このとき、生成マッチ出力ＭＡＴＣＨＤは論理ロー状態（「０」状態）にラッチされている。このように、コアフラッシュメモリセル３０４の先頭セクタの先頭の列アドレスについて、第１のＡＰＤＥ  ＶＥＲＩＦＹ状態の結果は不合格となる（図３９のステップ１０８８）。このように不合格となったため、バックエンド状態機械３１６は、ＡＰＤＥ（消去後の自動プログラムディスターブ）ＪＵＩＣＥ状態に入る（図３９のステップ１０９０）。
【０２４７】
図３５を参照すると、ＡＰＤＥ  ＪＵＩＣＥ状態中は、第１１入力端子１０５０に供給されるＡＵＴＯＬ信号がモードデコーダ９６２によって論理ハイ状態に設定されるほか、第２入力端子１０３２に供給されるＡＰＤＥ信号、第１０入力端子１０４８に供給されるＪＵＩＣＥ信号、第８入力端子１０４４に供給されるＳＴＥＳＴ信号、第６入力端子１０４０に供給されるＢＥＲＥＸＥ信号、第９入力端子１０４６に供給されるＰＧＭ信号、および第７入力端子１０４２に供給されるＢＡＰＤＥ＿ＯＰＴ信号が、ＢＩＳＴコントローラ５０２によって論理ハイ状態に設定される。ＡＰＤＥ  ＪＵＩＣＥ状態中は、ほかの信号（信号ＥＲＩＰ、ＥＲ、ＢＡＣＬＫ、およびＳＡＣＬＫ）は、ＢＩＳＴコントローラ５０２によって論理ロー状態に設定される。このため、ＡＰＤＥ  ＪＵＩＣＥ状態中は、生成マッチ出力ＭＡＴＣＨＤが論理ハイ状態（「１」状態）に設定される（図３９のステップ１０９０）。
【０２４８】
ＡＰＤＥ  ＪＵＩＣＥ状態後に、ＢＩＳＴコントローラ５０２は、次のＡＰＤＥ（消去後の自動プログラムディスターブ）ＶＥＲＩＦＹ状態に入り、前のＡＰＤＥ  ＪＵＩＣＥ状態でマッチ出力ＭＡＴＣＨＤが論理ハイ状態（「１」状態）に設定されているため、コアフラッシュメモリセルのアレイの先頭セクタの先頭の列アドレスの結果は合格となる（図３９のステップ１０９２）。このように合格となったため、図３３を参照すると、バックエンド状態機械３１６は、ＢＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの先頭セクタの次の列アドレスにインクリメントさせる（図３９のステップ１０９４）。
【０２４９】
図３５を参照すると、ＢＡＣＬＫ信号が論理ハイ状態に設定されていても、ＡＵＴＯＬ、ＳＴＥＳＴ、ＢＥＲＥＸＥ、ＡＰＤＥ、およびＢＡＰＤＥ＿ＯＰＴの各信号が論理ハイ状態に設定されているため、生成マッチ出力ＭＡＴＣＨＤは論理ハイ状態（「１」状態）にラッチされたままとなる。アドレスシーケンサ５２４がコアフラッシュメモリセル３０４のアレイの先頭セクタの次の列アドレスにインクリメントしたら、ＢＩＳＴコントローラ５０２は、この列アドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終列アドレスを超えているかどうかチェックする（図３９のステップ１０９６）。フラッシュメモリデバイスの当業者に公知のように、通常、ＡＰＤＥ  ＶＥＲＩＦＹプロセスでは、コアフラッシュメモリセルのアレイの列を流れる合計リーク電流を測定するため、一度に１つの列アドレスについて、ＡＰＤＥ  ＶＥＲＩＦＹ状態がバックエンド状態機械によって実行される。
【０２５０】
列アドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終の列アドレスを越えている場合、バックエンド状態機械３１６は、ＳＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの次のセクタの先頭の列アドレスにインクリメントさせる（図３９のステップ１０９８）。そうでない場合、アドレスシーケンサ５２４が、コアフラッシュメモリセル３０４のアレイの先頭セクタの最終の列アドレスを越える列アドレスに達するまで、コアフラッシュメモリセル３０４のアレイの先頭セクタの後続する列アドレスのそれぞれについて、図３９のステップ１０９２，１０９４，１０９６が繰り返される。
【０２５１】
列アドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終の列アドレスを越えており、この結果、バックエンド状態機械３１６が、ＳＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの次のセクタの先頭の列アドレスにインクリメントさせると（図３９のステップ１０９８）、ＢＩＳＴコントローラ５０２は、このアドレスがコアフラッシュメモリセル３０４のアレイの最終セクタを超えているかどうかチェックする（図３９のステップ１１００）。列アドレスがコアフラッシュメモリセル３０４のアレイの最終セクタを越えている場合、ＢＩＳＴモードが終了する。
【０２５２】
そうでない場合、アドレスシーケンサ５２４が、コアフラッシュメモリセル３０４のアレイの最終セクタを越える列アドレスに達するまで、コアフラッシュメモリセル３０４のアレイの後続セクタのそれぞれについて、図３９のステップ１０８８，１０９０，１０９２，１０９４，１０９６，１０９８，１１００が繰り返される。図３９のステップ１０９８で、図３５の第４入力端子のＳＡＣＬＫ信号（ＡＵＴＯＬ、ＳＴＥＳＴ、ＢＥＲＥＸＥ、ＡＤＰＥ、およびＢＡＰＤＥ＿ＯＰＴの各信号も同様）が論理ハイ状態に設定されていると、生成マッチ出力ＭＡＴＣＨＤが論理ロー状態に戻された状態にラッチされるため、本発明のこの実施形態では、ステップ１０８８，１０９０は、コアフラッシュメモリセルの各セクタの先頭の列アドレスにしか実行されない点に留意されたい。
【０２５３】
しかし、コアフラッシュメモリセルのセクタ内の後続する列アドレスについては、図３９のステップ１０９２のＡＰＤＥ  ＪＵＩＣＥ状態中に、生成マッチ出力ＭＡＴＣＨＤが論理ハイ状態に戻される。フラッシュメモリデバイスの当業者に公知のように、例えば、ＡＰＤＥ  ＪＵＩＣＥ状態の間、ＡＰＤＥ電圧がフラッシュメモリセルのセクタ全体の各フラッシュメモリセルに印加されるため、ステップ１０８８，１０９０はコアフラッシュメモリセルの各セクタの先頭の列アドレスにしか実行されない。
【０２５４】
図３９のステップ１１００で、列アドレスがコアフラッシュメモリセル３０４のアレイの最後のセクタを超えている場合、コアフラッシュメモリセルのアレイの全てのアドレスがＡＰＤＥ検証されており、ＢＩＳＴモードが終了する。ＢＡＰＤＥ＿ＯＰＴ信号が論理ハイ状態に設定されている図３９のスタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）では、最初に図３９のステップ１０７４，１０７６，１０７８，１０８０，１０８２，１０８４，１０８６でコアフラッシュメモリセル３０４のアレイのほぼ全体が消去検証され、次に、図３９のステップ１０８８，１０９０，１０９２，１０９４，１０９６，１０９８，１１００でコアフラッシュメモリセル３０４のアレイのほぼ全体がＡＰＤＥ検証される。
【０２５５】
これに対し、図４０は、診断モードの呼び出し後に、バックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、インターリーブＡＰＤＥ（消去後の自動プログラムディスターブ）付きのコアフラッシュメモリセル３０４のアレイのフラッシュメモリセルの消去である場合に、図３３のバックエンド状態機械３１６がとる状態を示すフローチャートである。このＢＩＳＴモードの場合、ＢＡＰＤＥ＿ＯＰＴ信号が論理ロー状態（「０」状態）に設定される。
【０２５６】
図３３，４０を参照すると、外部試験システム３１８が、診断モードを呼び出すために所定のビットパターンを入力すると、診断モードが開始される（図４０のステップ１１０２）。この場合、モードデコーダ９６２からのＡＵＴＯＬ信号が、論理ハイ状態（「１」状態）に設定される。さらに、図３３を参照すると、診断モードの開始時に、現在のＢＩＳＴモードを呼び出すためにユーザがＢＩＳＴインタフェース３１２にデータを入力する。さらに、診断モードが呼び出されている場合、バックエンド状態機械３１６は、ＶＥＲＩＦＹ状態中に、照合回路５２０の出力だけではなく信号セレクタ９６６からのＭＡＴＣＨ信号を使用する。図３４を参照すると、診断モードの呼び出し後に、バックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、コアフラッシュメモリセル３０４のアレイのフラッシュメモリセルの消去の場合、ＢＲＥＡＤ信号が論理ロー状態（「０」状態）に設定される。このため、ＡＵＴＯＬ信号が論理ハイ状態に設定されているため、図３４の信号セレクタ９６６からのＭＡＴＣＨ信号は、診断ロジック９６４からの生成マッチ出力ＭＡＴＣＨＤとなる。
【０２５７】
図３６を参照すると、診断モードの開始前に、ＡＵＴＯＬ信号とラッチ１０２８のＩＲＳＴＢ信号とが論理ロー状態に設定され、この結果、生成マッチ出力ＭＡＴＣＨＤが論理ロー状態にラッチされる。このため、コアフラッシュメモリセル３０４のアレイのフラッシュメモリセルの消去を行うＢＩＳＴモードの開始時には、生成マッチ出力ＭＡＴＣＨＤは、コアフラッシュメモリセル３０４のアレイの先頭セクタの先頭アドレスにおいて論理ロー状態（「０」状態）にラッチされている。図１６を参照すると、図１６を参照して本明細書に記載したように、コアフラッシュメモリセル３０４のアレイは、複数の水平セクタ６０２，６０４，６０６，６０８，６１０，６１２，６１４，６１６に分割されている。バックエンド状態機械３１６が第１の消去ＶＥＲＩＦＹ状態に入ると、生成マッチ出力ＭＡＴＣＨＤは論理ロー状態（「０」状態）にラッチされ、このため、コアフラッシュメモリセルのアレイの先頭セクタの先頭アドレスの結果は不合格となる（図４０のステップ１１０４）。
【０２５８】
このように不合格となったため、バックエンド状態機械３１６は、消去ＪＵＩＣＥ状態に入る。図３５を参照すると、消去ＪＵＩＣＥ状態中は、第１１入力端子１０５０に供給されるＡＵＴＯＬ信号がモードデコーダ９６２によって論理ハイ状態に設定されるほか、第５入力端子１０３８に供給されるＥＲ信号、第１０入力端子１０４８に供給されるＪＵＩＣＥ信号、第８入力端子１０４４に供給されるＳＴＥＳＴ信号、第６入力端子１０４０に供給されるＢＥＲＥＸＥ信号、および第１入力端子１０３０に供給されるＥＲＩＰ信号が、ＢＩＳＴコントローラ５０２によって論理ハイ状態に設定される。消去ＪＵＩＣＥ状態中は、ほかの信号（信号ＢＡＰＤＥ＿ＯＰＴ、ＡＰＤＥ、ＢＡＣＬＫ、ＳＡＣＬＫ、およびＰＧＭ）は、ＢＩＳＴコントローラ５０２によって論理ロー状態に設定される。このように、インターリーブＡＰＤＥのための消去ＪＵＩＣＥ状態中は、生成マッチ出力ＭＡＴＣＨＤは論理ロー状態（「０」状態）のまま保持される（図４０のステップ１１０６）。
【０２５９】
インターリーブＡＰＤＥの場合、消去ＪＵＩＣＥ状態後に第１のＡＰＤＥ  ＶＥＲＩＦＹ状態に入る（図４０のステップ１１０８）。ＭＡＴＣＨＤが論理ロー状態にラッチされたままであるため、第１のＡＰＤＥ  ＶＥＲＩＦＹ状態は不合格となる。このように不合格となったため、ＡＰＤＥ（消去後の自動プログラムディスターブ）ＪＵＩＣＥ状態に入る（図４０のステップ１１１０）。図３５を参照すると、ＡＰＤＥ  ＪＵＩＣＥ状態の間、ＡＵＴＯＬ信号がモードデコーダ９６２によって論理ハイ状態に設定されるほか、ＡＰＤＥ、ＪＵＩＣＥ、ＰＧＭ、ＢＥＲＥＸＥ、およびＳＴＥＳＴの各信号がＢＩＳＴコントローラ５０２によって論理ハイ状態に設定される。ＡＰＤＥ  ＪＵＩＣＥ状態中は、ほかの信号（信号ＢＡＰＤＥ＿ＯＰＴ、ＥＲＩＰ、ＥＲ、ＢＡＣＬＫ、およびＳＡＣＬＫ）は、ＢＩＳＴコントローラ５０２によって論理ロー状態に設定される。このため、ＡＰＤＥ  ＪＵＩＣＥ状態中は、生成マッチ出力ＭＡＴＣＨＤが論理ハイ状態（「１」状態）に設定される（図４０のステップ１１１０）。
【０２６０】
ＡＰＤＥ  ＪＵＩＣＥ状態後に、ＢＩＳＴコントローラ５０２は、次のＡＰＤＥ（消去後の自動プログラムディスターブ）ＶＥＲＩＦＹ状態に入り、前のＡＰＤＥ  ＪＵＩＣＥ状態でマッチ出力ＭＡＴＣＨＤが論理ハイ状態（「１」状態）に設定されているため、コアフラッシュメモリセルのアレイの先頭セクタの先頭アドレスの結果は合格となる（図４０のステップ１１１２）。このように合格となったため、図３３を参照すると、バックエンド状態機械３１６は、ＢＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの先頭セクタの次の列アドレスにインクリメントさせる（図４０のステップ１１１４）。
【０２６１】
図３５を参照すると、ＢＡＣＬＫ信号が論理ハイ状態に設定されていても、ＡＵＴＯＬ、ＳＴＥＳＴ、ＢＥＲＥＸＥ、およびＡＰＤＥの各信号が論理ハイ状態に設定されているため、生成マッチ出力ＭＡＴＣＨＤは論理ハイ状態（「１」状態）にラッチされたままとなる。アドレスシーケンサ５２４がコアフラッシュメモリセル３０４のアレイの先頭セクタの次の列アドレスにインクリメントしたら、ＢＩＳＴコントローラ５０２は、この列アドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終の列アドレスを超えているかどうかチェックする（図４０のステップ１１１６）。フラッシュメモリデバイスの当業者に公知のように、通常、ＡＰＤＥ  ＶＥＲＩＦＹプロセスでは、コアフラッシュメモリセルのアレイの列を流れる合計リーク電流を測定するため、一度に１つの列アドレスについて、ＡＰＤＥ  ＶＥＲＩＦＹ状態がバックエンド状態機械によって実行される。
【０２６２】
列アドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終の列アドレスを越えている場合、バックエンド状態機械３１６はアドレスシーケンサ５２４を制御して、最初に図４０のステップ１１０４で第１のＥＲＡＳＥ検証状態が不合格となったコアフラッシュメモリセルの先頭セクタの先頭アドレスに戻させる（図４０のステップ１１１８）。そうでない場合、アドレスシーケンサ５２４が、コアフラッシュメモリセル３０４のアレイの先頭セクタの最終の列アドレスを越える列アドレスに達するまで、コアフラッシュメモリセル３０４のアレイの先頭セクタの後続する列アドレスのそれぞれについて、図４０のステップ１１１２，１１１４，１１１６が繰り返される。
【０２６３】
列アドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終の列アドレスを越えている場合、バックエンド状態機械３１６は、アドレスシーケンサ５２４を制御して、最初に図４０のステップ１１０４で第１のＥＲＡＳＥ検証状態が不合格となったコアフラッシュメモリセルの先頭セクタの先頭アドレスに戻させる（図４０のステップ１１１８）。図３５を参照すると、ＡＵＴＯＬ、ＳＴＥＳＴ、ＢＥＲＥＸＥ、ＢＡＣＬＫ、およびＥＲＩＰの各信号が論理ハイ状態に設定されているため、ＭＡＴＣＨＤ信号は論理ハイ状態にラッチされる（図４０のステップ１１１８）。
【０２６４】
次に、ＭＡＴＣＨＤ信号が論理ハイ状態にラッチされている状態で、コアフラッシュメモリセルの先頭セクタの先頭アドレスについて第２の消去ＶＥＲＩＦＹ状態に入り（図４０のステップ１１２０）、第２の消去ＶＥＲＩＦＹ状態の結果は合格となる。このように合格となったため、図３３を参照すると、バックエンド状態機械３１６は、ＢＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの先頭セクタの次のアドレスにインクリメントさせる（図４０のステップ１１２２）。
【０２６５】
図３５を参照すると、ＢＡＣＬＫ信号が論理ハイ状態に設定されていても、ＡＵＴＯＬ、ＳＴＥＳＴ、ＢＥＲＥＸＥ、およびＥＲＩＰの各信号が論理ハイ状態に設定されているため、生成マッチ出力ＭＡＴＣＨＤは論理ハイ状態（「１」状態）にラッチされたままとなる。アドレスシーケンサ５２４がコアフラッシュメモリセル３０４のアレイの先頭セクタの次のアドレスにインクリメントしたら、ＢＩＳＴコントローラ５０２は、このアドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終アドレスを超えているかどうかチェックする（図４０のステップ１１２４）。
【０２６６】
アドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終アドレスを越えている場合、バックエンド状態機械３１６は、ＳＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの次のセクタの先頭アドレスにインクリメントさせる（図４０のステップ１１２６）。そうでない場合、アドレスシーケンサ５２４が、コアフラッシュメモリセル３０４のアレイの先頭セクタの最終アドレスを越えるアドレスに達するまで、コアフラッシュメモリセル３０４のアレイの先頭セクタの後続するアドレスのそれぞれについて、図４０のステップ１１２０，１１２２，１１２４が繰り返される。
【０２６７】
アドレスがコアフラッシュメモリセル３０４のアレイの先頭セクタの最終アドレスを越えており、このため、バックエンド状態機械３１６が、ＳＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの次のセクタの先頭アドレスにインクリメントさせると（図４０のステップ１１２６）、ＢＩＳＴコントローラ５０２は、このアドレスがコアフラッシュメモリセル３０４のアレイの最終セクタを超えているかどうかチェックする（図４０のステップ１１２８）。アドレスがコアフラッシュメモリセル３０４のアレイの最終セクタを越えている場合、ＢＩＳＴモードが終了する。
【０２６８】
そうでない場合、アドレスシーケンサ５２４が、コアフラッシュメモリセル３０４のアレイの最終セクタを越えるアドレスに達するまで、コアフラッシュメモリセル３０４のアレイの後続セクタのそれぞれについて、図４０のステップ１１０４，１１０６，１１０８，１１１０，１１１２，１１１４，１１１６，１１１８，１１２０，１１２２，１１２４，１１２６，１１２８が繰り返される。図４０のステップ１１２６で、図３５の第４入力端子のＳＡＣＬＫ信号が、ＡＵＴＯＬ、ＳＴＥＳＴ、ＢＥＲＥＸＥ、およびＥＲＩＰの各信号と同様に、論理ハイ状態に設定されている場合、生成マッチ出力ＭＡＴＣＨＤが論理ロー状態に戻された状態にラッチされるため、本発明のこの実施形態では、ステップ１１０４，１１０６，１１０８，１１１０は、コアフラッシュメモリセルの各セクタの先頭のアドレスにしか実行されない点に留意されたい。
【０２６９】
しかし、コアフラッシュメモリセルのセクタの後続の各アドレスについては、図４０のステップ１１１０のＡＰＤＥ  ＪＵＩＣＥ状態中に、生成マッチ出力ＭＡＴＣＨＤが論理ハイ状態に戻される。例えば、ＥＲＡＳＥ  ＪＵＩＣＥ状態の間の時間は、例えば１０ミリ秒など比較的長く、このため、セクタの各列アドレスにＥＲＡＳＥ  ＪＵＩＣＥ状態を実行すると時間がかかってしまい望ましくないため、ステップ１１０４，１１０６，１１０８，１１１０はコアフラッシュメモリセルの各セクタの先頭アドレスにしか実行されない。
【０２７０】
図４０のステップ１１２８で、列アドレスがコアフラッシュメモリセル３０４のアレイの最終セクタを越えている場合、コアフラッシュメモリセルのアレイの全てのアドレスが消去検証およびＡＰＤＥ検証されており、ＢＩＳＴモードが終了する。ＢＡＰＤＥ＿ＯＰＴ信号が論理ロー状態に設定されている図４０のインターリーブＡＰＤＥ（消去後の自動プログラムディスターブ）では、コアフラッシュメモリセル３０４のアレイは、一度に１セクタずつ消去検証およびＡＰＤＥ検証されている。これは、最初にコアフラッシュメモリセルのアレイのほぼ全体が消去検証されてから、次にコアフラッシュメモリセル３０４のアレイのほぼ全体がＡＰＤＥ検証される図３９のスタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）と対照的である。
【０２７１】
図１３を参照すると、診断モードの呼び出し後に、バックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、スタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）またはインターリーブＡＰＤＥを伴うコアフラッシュメモリセル３０４のアレイのフラッシュメモリセルの消去である場合、プログラム／消去電圧源５１０からのノードなどの、バックエンド状態機械３１６の各種ノードが検査され得、図３０または図４０の諸ステップで、バックエンド状態機械３１６が機能しているかどうかが判定される。例えば、バックエンド状態機械３１６が機能している場合には、図３９または図４０で消去ＪＵＩＣＥ状態に入るたびに、図１３のプログラム／消去電圧源５１０からのノードが、−９．５ボルトのワード線電圧を供給する。ＢＩＳＴモードが、コアフラッシュメモリセル３０４のアレイのフラッシュメモリセルの消去である場合に、図３９または図４０の諸ステップの間、図１３のバックエンド状態機械３１６のノードがこのように検査されて、バックエンド状態機械３１６の機能が調べられる。
【０２７２】
図３４を参照すると、診断モードの呼び出し後に、バックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、修復モードを呼び出さない、コアフラッシュメモリセルの各フラッシュメモリセルのプログラムもしくは消去済みのそれぞれの論理状態の読出しである場合、ＢＩＳＴインタフェース３１２によってＢＲＥＡＤ信号が論理ハイ状態に設定されるが、ＢＲＥＰ信号は論理ロー状態に設定される。この場合、信号セレクタ９６６からのＭＡＴＣＨ信号は、論理ハイ状態に設定される。診断モードの呼び出し後に、バックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、コアフラッシュメモリセルの各フラッシュメモリセルのプログラムもしくは消去済みのそれぞれの論理状態の読出しである場合、読出しＶＥＲＩＦＹ状態中（図１８のステップ６９０，６９２）に信号セレクタ９６６からのＭＡＴＣＨ信号を使用して、バックエンド状態機械３１６は、図１８のフローチャートのステップをたどる。信号セレクタ９６６からのＭＡＴＣＨ信号が論理ハイ状態に設定されているため、コアフラッシュメモリセルのアレイのほぼ全体の全てのアドレスについて、バックエンド状態機械３１６によって読出しＶＥＲＩＦＹ状態が実行され、結果は合格となる。
【０２７３】
一方、ＢＩＳＴモードがどのようなモードであっても、修復ルーチンが呼び出される場合には、バックエンド状態機械３１６によってＢＲＥＰ信号が論理ハイ状態に設定される。この場合、図３４を参照すると、信号セレクタ９６６からのＭＡＴＣＨ信号は、診断照合ロジック９６４からの生成マッチ出力ＭＡＴＣＨＤによって決まる。図４１は、診断モードの呼び出し後にバックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、例えば、図２３のフローチャートのように、修復ルーチンの呼び出しを伴う、コアフラッシュメモリセルの各フラッシュメモリセルのプログラムもしくは消去済みのそれぞれの論理状態の読出しである場合に、バックエンド状態機械３１６がとる状態を示すフローチャートである。
【０２７４】
図３３，４１を参照すると、外部試験システム３１８が、診断モードを呼び出すために所定のビットパターンを入力すると、診断モードが開始される（図４１のステップ１１３０）。この場合、モードデコーダ９６２からのＡＵＴＯＬ信号が、論理ハイ状態（「１」状態）に設定される。さらに、図３３を参照すると、診断モードの開始時に、現在のＢＩＳＴモードを呼び出すためにユーザがＢＩＳＴインタフェース３１２にデータを入力する。さらに、診断モードが呼び出されている場合、バックエンド状態機械３１６は、どのＶＥＲＩＦＹ状態中も、照合回路５２０の出力だけではなく信号セレクタ９６６からのＭＡＴＣＨ信号を使用する。図３４を参照すると、修復ルーチンが呼び出されている場合、ＢＲＥＰ信号が論理ハイ状態に設定されている。このため、ＡＵＴＯＬ信号が論理ハイ状態に設定されているため、図３４の信号セレクタ９６６からのＭＡＴＣＨ信号は、診断ロジック９６４からの生成マッチ出力ＭＡＴＣＨＤとなる。
【０２７５】
図３６を参照すると、診断モードの開始前に、ＡＵＴＯＬ信号とラッチ１０２８のＩＲＳＴＢ信号とが論理ロー状態に設定され、この結果、生成マッチ出力ＭＡＴＣＨＤが論理ロー状態にラッチされる。このように、このＢＩＳＴモードの開始時に、生成マッチ出力ＭＡＴＣＨＤは、コアフラッシュメモリセル３０４のアレイの先頭アドレスにおいて論理ロー状態（「０」状態）にラッチされている。バックエンド状態機械３１６が第１の読出しＶＥＲＩＦＹ状態に入ると、生成マッチ出力ＭＡＴＣＨＤは論理ロー状態（「０」状態）にラッチされ、このため、コアフラッシュメモリセルのアレイの先頭セクタの先頭アドレスの結果は不合格となる（図４１のステップ１１３２）。修復ルーチンが呼び出されているため、バックエンド状態機械３１６は第１のＣＡＭ（内容参照可能メモリ）ＶＥＲＩＦＹ状態に入る。ＭＡＴＣＨＤが論理ロー状態（「０」状態）にラッチされているため、コアフラッシュメモリセルのアレイの先頭セクタの結果は不合格のままである（図４１のステップ１１３４）。
【０２７６】
第１のＣＡＭ  ＶＥＲＩＦＹ状態がこのように不合格となったため、図２７を参照して本明細書に記載したような修復ルーチンにより、バックエンド状態機械３１６はＣＡＭ（内容参照可能メモリ）ＪＵＩＣＥ状態に入る。図３５を参照すると、ＣＡＭ  ＪＵＩＣＥ状態中にＰＧＭ信号とＪＵＩＣＥ信号が論理ハイ状態に設定され、このため、生成マッチ出力ＭＡＴＣＨＤが論理ハイ状態に設定される（図４１のステップ１１３６）。次に、バックエンド状態機械３１６は第２のＣＡＭ（内容参照可能メモリ）ＶＥＲＩＦＹ状態に入り、図４１のステップ１１３６に示した前のＣＡＭ  ＪＵＩＣＥ状態で生成マッチ出力ＭＡＴＣＨＤが論理ハイ状態にラッチされているため、結果は合格となる（図４１のステップ１１３８）。
【０２７７】
次に、バックエンド状態機械３１６は、ｒｅｇ＿ＲＥＡＤ変数をチェックして、ＢＩＳＴモードがスタンドアロン読出しモードであるかどうかを判定する（図４１のステップ１１４１）。スタンドアロン読出しモードは、フラッシュメモリデバイスの当業者に公知である。例えば、現在のＢＩＳＴモードが、図２３のフローチャートに示したＢＩＳＴモードのような、コアフラッシュメモリセルにプログラム電圧または消去電圧を消去せずに、コアフラッシュメモリセルのアレイの各フラッシュメモリセルのそれぞれの論理状態を読出すスタンドアロン読出しモードである場合は、ＢＩＳＴシステム３００のフロントエンドデコーダ３１４によってｒｅｇ＿ＲＥＡＤ変数が論理ハイ状態に設定されている。例えば図２１のフローチャートに示したＢＩＳＴモードなど、そうでない場合、ｒｅｇ＿ＲＥＡＤ変数は論理ロー状態に設定されている。
【０２７８】
ｒｅｇ＿ＲＥＡＤ変数が論理ハイ状態に設定されており、ＢＩＳＴモードがスタンドアロン読出しモードである場合、バックエンド状態機械３１６は、ＢＡＣＬＫ信号を論理ハイ状態に設定して、現在のフラッシュメモリセルを含むコアフラッシュメモリセルの現在のブロックの先頭アドレスにアドレスシーケンサ５２４をリセットする（図４１のステップ１１４４）。ＢＡＣＬＫ信号が論理ハイ状態に設定されていると、ＭＡＴＣＨＤ信号が論理ロー状態に設定され、コアフラッシュメモリセルの現在のブロックの先頭アドレスにステップ１１３２，１１３４，１１３６，１１３８，１１４１，１１４４が再度繰り返される。このモードにおいては、ＢＩＳＴ状態機械からの電源供給が遮断されるまで、ステップ１１３２，１１３４，１１３６，１１３８，１１４１，１１４４がこのループ内で無限に繰り返される。図１３，２６を参照すると、このループの間、バックエンド状態機械３１６の各種ノード、特にＣＡＭプログラム電圧源８３８またはＣＡＭマージン電圧源８４０からのノードのように、修復ルーチン中に使用される図２６のコンポーネントのノードが検査され得、図４１の諸ステップで、バックエンド状態機械３１６が機能しているかどうかが判定される。
【０２７９】
あるいは、ｒｅｇ＿ＲＥＡＤ変数が論理ロー状態に設定されており、ＢＩＳＴモードがスタンドアロン読出しモードではない場合、バックエンド状態機械３１６は、ｅｍｂ＿ＲＥＡＤ変数によって、ＢＩＳＴモードがエンベデッド読出しであるかどうかをチェックする（図４１のステップ１１４２）。例えば、ｅｍｂ＿ＲＥＡＤ変数は、図１５または図２１のステップ５８４で論理ハイ状態に設定される。ｅｍｂ＿ＲＥＡＤ変数が論理ハイ状態に設定されており、ＢＩＳＴモードがエンベデッド読出しモードである場合、バックエンド状態機械３１６は第２の読出しＶＥＲＩＦＹ状態に入り、生成マッチ出力ＭＡＴＣＨＤが論理ハイに状態にラッチされているため、結果は合格となる（図４１のステップ１１４５）。一方、ｅｍｂ＿ＲＥＡＤ変数が論理ロー状態に設定されており、ＢＩＳＴモードがエンベデッド読出しモードではない場合、修復ルーチンはこの修復ルーチンを呼び出した現在のＢＩＳＴモードに戻るため、バックエンド状態機械３１６はプログラム状態、消去状態またはＡＰＤＥ  ＶＥＲＩＦＹ状態に入る。この場合、生成マッチ出力ＭＡＴＣＨＤは論理ハイに状態にラッチされているため、結果は合格となる（図４１のステップ１１４３）。
【０２８０】
ｅｍｂ＿ＲＥＡＤが論理ハイ状態、論理ロー状態のいずれに設定されている場合でも、バックエンド状態機械３１６は、次に、ＢＡＣＬＫ信号を論理ハイ状態に設定することで、アドレスシーケンサ５２４を制御して、コアフラッシュメモリセル３０４のアレイの次のアドレスにインクリメントさせる（図４１のステップ１１４６）。ＢＡＣＬＫ信号が論理ハイ状態に設定されると、生成マッチ出力ＭＡＴＣＨＤが論理ロー状態（「０」状態）に戻される。アドレスシーケンサ５２４がコアフラッシュメモリセル３０４のアレイの次のアドレスにインクリメントしたら、ＢＩＳＴコントローラ５０２は、このアドレスがコアフラッシュメモリセル３０４のアレイの最終アドレスを超えているかどうかチェックする（図４１のステップ１１４８）。アドレスがコアフラッシュメモリセル３０４のアレイの最終アドレスを越えている場合、ＢＩＳＴモードが終了する。そうでない場合、アドレスシーケンサ５２４が、コアフラッシュメモリセル３０４のアレイの最終アドレスを越えるアドレスに達するまで、コアフラッシュメモリセル３０４のアレイの後続するアドレスのそれぞれについて、図４１のステップ１１３２，１１３４，１１３６，１１３８，１１４１、１１４２，１１４５，１１４６，１１４８が繰り返される。
【０２８１】
図１３，２６を参照すると、バックエンド状態機械３１６の各種ノード、特にＣＡＭプログラム電圧源８３８またはＣＡＭマージン電圧源８４０からのノードのように、修復ルーチン中に使用される図２６のコンポーネントのノードが検査され得、図４１の諸ステップで、バックエンド状態機械３１６が機能しているかどうかが判定される。ＢＩＳＴモード中に修復ルーチンが呼び出されると、図１３のバックエンド状態機械３１６の各種ノード、特に図４１のステップの修復ルーチン中に使用される図２６のコンポーネントがこのように検査されて、バックエンド状態機械３１６の機能が判定される。
【０２８２】
このように、図３８，３９，４０，４１のＢＩＳＴモードのいずれにおいても、コアフラッシュメモリセル３０４のアレイの機能とは独立している生成マッチ出力ＭＡＴＣＨＤをバックエンド状態機械３１６で使用することで、コアフラッシュメモリセル３０４のアレイの機能とは切り離して、バックエンド状態機械３１６の機能が判定される。このため、バックエンドＢＩＳＴ状態機械３１６をこのように切り離して試験することによって、ＢＩＳＴシステム３００を使用したコアフラッシュメモリセル３０４のアレイの試験の精度が保証される。バックエンドＢＩＳＴ状態機械３１６の機能を保証するためのこのような試験によって、ＢＩＳＴシステム３００による試験後にコアフラッシュメモリセル３０４のアレイが不良であると考えられる場合、この不良は、コアフラッシュメモリセル３０４のアレイの不良が原因であり、バックエンドＢＩＳＴ状態機械３１６の不良が原因ではないことを確認できる。
【０２８３】
上記の記載は例に過ぎず、限定を意図するものではない。本明細書に記載もしくは図示した数値は例に過ぎない。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
【０２８４】
Ｆ．ＢＩＳＴ（組込み自己試験）システム内のアドレスシーケンサ
ＢＩＳＴ（組込み自己試験）システム３００は、複数のＢＩＳＴ（組込み自己試験）モードを実行し、各ＢＩＳＴモードはフラッシュメモリセル３０４のアレイをそれぞれのシーケンスで順行する。このため、ＢＩＳＴシステム３００内のアドレスシーケンサが、複数のＢＩＳＴモードのそれぞれのシーケンスで、フラッシュメモリセル３０４のアレイを能率よく順行することが求められている。
【０２８５】
図４２に、本発明の別の態様における、フラッシュメモリセル３０４のアレイが作製されている半導体ダイに作製されたアドレスシーケンサ１２００のブロック図を示す。このアドレスシーケンサ１２００は、例えば図１３または図２６のアドレスシーケンサ５２４に使用され得る。図７，３３を参照すると、本発明の一態様によれば、アドレスシーケンサ１２００は、ＢＩＳＴ（組込み自己試験）システム３００の一部として、フラッシュメモリセル３０４のアレイが作製されている半導体ダイに作製される。
【０２８６】
図４２を参照すると、アドレスシーケンサ１２００は、アドレスシーケンサバッファ１２０２とアドレスシーケンサ制御ロジック１２０４とを有する。アドレスシーケンサバッファの各バッファ１２０２は、１ビットのデータを記憶し、データビットを記憶するためのバッファは電子工学の当業者に公知である。図４２，４３を参照すると、本発明の一実施形態では、アドレスシーケンサバッファ１２０２は、フラッシュメモリセル３０４のアレイの各フラッシュメモリセルのアドレスを指す２０ビットを提供するために、２０個のバッファを有する。
【０２８７】
図４３の例示的な実施形態を参照すると、アドレスシーケンサバッファ１２０２は、フラッシュメモリセル３０４のアレイの一フラッシュメモリセルのＹアドレスを指している６個からなる第１のビット群Ａ［５：０］を提供する６個からなる第１の複数個のバッファ１２０６を有する。フラッシュメモリデバイスの当業者に公知のように、Ｙアドレスはビット線アドレスであり、このフラッシュメモリセルが結合されているビット線を指しているまた、アドレスシーケンサバッファ１２０２は、フラッシュメモリセル３０４のアレイの一フラッシュメモリセルのＸアドレスを指している９個からなる第２のビット群Ａ［１４：６］を提供する９個からなる第２の複数個のバッファ１２０８を有する。フラッシュメモリデバイスの当業者に公知のように、Ｘアドレスはワード線アドレスであり、このフラッシュメモリセルが結合されているワード線を指している。
【０２８８】
さらに、アドレスシーケンサバッファ１２０２は、フラッシュメモリセル３０４のアレイの一フラッシュメモリセルのセクタアドレスを指している３個からなる第３のビット群Ａ［１７：１５］を提供する３個からなる第３の複数個のバッファ１２１０を有する。フラッシュメモリデバイスの当業者に公知のように、フラッシュメモリセル３０４のアレイは複数のセクタに分割されており、セクタアドレスは、このフラッシュメモリセルが含まれるセクタを指している最後に、アドレスシーケンサバッファ１２０２は、フラッシュメモリセル３０４のアレイの一フラッシュメモリセルの冗長ブロックアドレスを指している２個からなる第４のビット群Ａ［１９：１８］を提供する２個からなる第４の複数個のバッファ１２１２を有する。複数のセクタが冗長ブロックにまとめられており、各冗長ブロックは複数のセクタで構成される。冗長ブロックアドレスは、このフラッシュメモリセルが含まれる冗長ブロックを指している。
【０２８９】
図４２を参照すると、アドレスシーケンサ制御ロジック１２０４は、Ｙ／Ｘアドレスセット／リセットロジック１２１４、Ｙ／Ｘアドレス順行制御ロジック１２１６、ＣＡＭ（内容参照可能メモリ）順行制御ロジック１２１８、ＯＴＰ（ワンタイムプログラム可能）順行制御ロジック１２２０、および冗長順行制御ロジック１２２２を備える。アドレスシーケンサ制御ロジック１２０４は、ＢＩＳＴ（組込み自己試験）インタフェース３１２、ＢＩＳＴフロントエンドインタフェースデコーダ３１４、ＢＩＳＴバックエンド状態機械３１６、冗長ＣＡＭロジック８８４、およびアドレスシーケンサバッファ１２０２に結合されており、これらから制御信号を入力する。ＢＩＳＴインタフェース３１２、ＢＩＳＴフロントエンドインタフェースデコーダ３１４、およびＢＩＳＴバックエンド状態機械３１６は、図７を参照して本明細書に上記したものと構造および／または機能面で類似しており、冗長ＣＡＭロジック８８４は、図２９を参照して本明細書に上記したものと構造および／または機能面で類似している。
【０２９０】
図４２を参照すると、アドレスシーケンサ制御ロジック１２０４は、現在のＢＩＳＴ（組込み自己試験）モードのために、ＢＩＳＴインタフェース３１２、ＢＩＳＴフロントエンドインタフェースデコーダ３１４、ＢＩＳＴバックエンド状態機械３１６、冗長ＣＡＭロジック８８４、およびアドレスシーケンサバッファ１２０２の少なくとも１つから制御信号を入力する。すると、アドレスシーケンサロジック１２０４は、複数のＢＩＳＴ（組込み自己試験）モードのそれぞれに対応しているこの制御信号に応じて、アドレスシーケンサバッファ１２０２を制御して、それぞれのアドレスのシーケンスを順行（sequence through）させる。
【０２９１】
ＢＩＳＴ（組込み自己試験）モードに対応するこの制御信号と、対応するアドレスシーケンスの例を以下に記載する。図４４を参照すると、Ｙ／Ｘアドレスセット／リセットロジック１２１４は、ＢＩＳＴフロントエンドインタフェースデコーダ３１４から、現在のＢＩＳＴ（組込み自己試験）モードの開始を知らせる制御信号を入力する。このとき、Ｙ／Ｘアドレスセット／リセットロジック１２１４は、ＹＡＣＲＳＴ制御信号をアサートして、６個からなる第１のビット群Ａ［５：０］が、フラッシュメモリセル３０４のアレイの先頭のＹアドレスを指すように、第１の複数のアドレスシーケンサバッファ１２０６をリセットする。例えば、次のＹアドレスに進むたびに、６個からなる第１のビット群Ａ［５：０］が１ビットずつデクリメントされる場合には、先頭のＹアドレスは、例えば「１１１１１１」のような全てハイに設定されたビット６個で構成され得る。
【０２９２】
さらに、現在のＢＩＳＴ（組込み自己試験）モードの開始時に、Ｙ／Ｘアドレスセット／リセットロジック１２１４は、ＸＡＣＲＳＴ制御信号をアサートして、９個からなる第２のビット群Ａ［１４：６］が、フラッシュメモリセル３０４のアレイの先頭のＸアドレスを指すように、第２の複数のアドレスシーケンサバッファ１２０８をリセットする。例えば、次のＸアドレスに進むたびに、９個からなる第２のビット群Ａ［１４：６］が１ビットずつデクリメントされる場合には、先頭のＸアドレスは、例えば「１１１１１１１１１」のような全てハイに設定されたビット９個で構成され得る。
【０２９３】
同様に、現在のＢＩＳＴ（組込み自己試験）モードの開始時に、Ｙ／Ｘアドレスセット／リセットロジック１２１４は、ＳＡＣＲＳＴ制御信号をアサートして、３個からなる第３のビット群Ａ［１７：１５］が、フラッシュメモリセル３０４のアレイの先頭のセクタアドレスを指すように、第３の複数のアドレスシーケンサバッファ１２１０をリセットする。例えば、次のセクタアドレスに進むたびに、３個からなる第３のビット群Ａ［１７：１５］が１ビットずつデクリメントされる場合には、先頭のセクタアドレスは、例えば「１１１」のような全てハイに設定されたビット３個で構成され得る。
【０２９４】
さらに、現在のＢＩＳＴ（組込み自己試験）モードの開始時に、Ｙ／Ｘアドレスセット／リセットロジック１２１４は、ＲＢＡＣＲＳＴ制御信号をアサートして、２個からなる第４のビット群Ａ［１９：１８］が、フラッシュメモリセル３０４のアレイの先頭の冗長ブロックアドレスを指すように、第４の複数のアドレスシーケンサバッファ１２１２をリセットする。例えば、次の冗長ブロックアドレスに進むたびに、２個からなる第４のビット群Ａ［１９：１８］が１ビットずつデクリメントされる場合には、先頭の冗長ブロックアドレスは、例えば「１１」のような全てハイに設定されたビット２個で構成され得る。
【０２９５】
図４５を参照すると、本発明の別の実施形態では、Ｘアドレス用の第２の複数のアドレスシーケンサバッファ１２０８は、第１のＸアドレスデコーダ１２３０と、第２のＸアドレスデコーダ１２３２とに結合されている。第２の複数のアドレスシーケンサバッファ１２０８にある９個の第２のビット群は、このアドレスビットをデコードしてフラッシュメモリセルのアレイのワード線を選択するＸアドレスデコーダ１２３０，１２３２に結合されている。このようなアドレスデコーダは、フラッシュメモリデバイスの当業者に公知である。本発明の一実施形態では、Ｘアドレスデコーダ１２３０，１２３２のレイアウトの効率を向上させるために、第２のＸアドレスデコーダ１２３２は、フラッシュメモリデバイスのアレイが作製されている半導体ダイに、第１のＸアドレスデコーダ１２３０の鏡像としてレイアウトされる。この場合、Ｙ／Ｘアドレス順行制御ロジックは、第２のビット群のサブセットであるビットＡ［９：６］の順序を反転させて、フラッシュメモリセル３０４のアレイのワード線の順行が物理的に隣接して行なわれるようにする。
【０２９６】
例えば、第１のＸアドレスデコーダ１２３０が、ビットの順序が反転されていないサブセットビットＡ［９：６］を入力して、最初に１番目のワード線から１６番目のワード線までフラッシュメモリセル３０４のアレイの一番上から順行する。第２のＸアドレスデコーダ１２３２は、第１のＸアドレスデコーダ１２３０の鏡像としてレイアウトされているため、第２のＸアドレスデコーダ１２３２が、ビットの順序が反転されていないサブセットビットＡ［９：６］を入力すると、第２のＸアドレスデコーダ１２３２は、フラッシュメモリセル３０４のアレイの一番下から、３２番目のワード線から１７番目のワード線まで順行してしまう。この場合、第１のＸアドレスデコーダ１２３０が１６番目のワード線まで順行した後に、第２のＸアドレスデコーダ１２３２は３２番目のワード線に移動してしまうため、最初に行われる第１のＸアドレスデコーダによるワード線の順行と、続く第２のＸアドレスデコーダ１２３２による順行とは物理的に隣接しなくなる。
【０２９７】
しかし、サブセットビットＡ［９：６］の順序を反転させれば、最初に第１のＸアドレスデコーダ１２３０が１番目のワード線から１６番目のワード線までフラッシュメモリセル３０４のアレイの一番上から順行したのちに、第２のＸアドレスデコーダ１２３２が、１７番目のワード線から３２番目のワード線まで順行し、この結果、第１のＸアドレスデコーダ１２３０によるワード線の順行と、第２のＸアドレスデコーダ１２３２によるワード線の順行とは物理的に隣接するようになる。隣接端ビット（adjacent significant bit）Ａ［１０］は、Ｙ／Ｘアドレス順行制御ロジック１２１６に結合されている。第１のＸアドレスデコーダ１２３０が、フラッシュメモリセル３０４のアレイの一番上から、１番目のワード線から１６番目のワード線まで順行すると、隣接端ビットＡ［１０］がトグルする。このため、隣接端ビットＡ［１０］がトグルすると、Ｙ／Ｘアドレス順行制御ロジック１２１６は、第２の複数のアドレスシーケンサバッファ１２０８を制御して、第２のＸアドレスデコーダ１２３２が１７番目のワード線から３２番目のワード線まで順行するように、サブセットビットＡ［９：６］の順序を反転させる。
【０２９８】
図４６を参照すると、本発明の別の実施形態では、ＯＴＰ順行制御ロジック１２２０は、ＢＩＳＴフロントエンドインタフェースデコーダ３１４から、現在のＢＩＳＴ（組込み自己試験）モードがＯＴＰ（ワンタイムプログラム可能）フラッシュメモリセルにアクセスするモードであることを知らせる制御信号を入力する。ＯＴＰフラッシュメモリセルは、フラッシュメモリセル３０４のアレイの一部であり、フラッシュメモリセル３０４のアレイに関する情報、例えば識別情報を記憶させるために通常は一度だけプログラムされる。ユーザは、ＢＩＳＴインタフェース３１２を介して、外部試験システム３１８からＯＴＰフラッシュメモリセルにアクセスする。ユーザは、ＢＩＳＴインタフェース３１２のレジスタ１２３４にこのようなＯＴＰフラッシュメモリセルのアドレスの１つを入力する。
【０２９９】
図４６の例では、ユーザが、ＢＩＳＴインタフェース３１２のレジスタ１２３４に、４つのデータビットＢＳＲＱ［６：３］を入力する。ＯＴＰ順行制御ロジック１２２０が、ＢＩＳＴフロントエンドインタフェースデコーダ３１４から、現在のＢＩＳＴ（組込み自己試験）モードが、ＯＴＰ（ワンタイムプログラム可能）フラッシュメモリセルにアクセスするモードであることを知らせる制御信号を入力すると、ＯＴＰ順行制御ロジック１２２０は、パスゲート１２３６を制御して、サブセットビットＡ［４：１］を形成している第１の複数のアドレスシーケンサバッファ１２０６のサブセットを、ＢＩＳＴインタフェース３１２のレジスタ１２３４に結合させる。このため、ＢＩＳＴインタフェースのレジスタ１２３４の４つのデータビットＢＳＲＱ［６：３］が、第１のビット群Ａ［５：０］のサブセットビットＡ［４：１］を形成している複数の第１の複数のアドレスシーケンサバッファ１２０６のサブセットに転送される。この場合、最上位ビットＡ［５］と最下位ビットＡ［０］は使用されず、ＯＴＰ順行制御ロジック１２２０は、パスゲートを制御して、アドレスシーケンサバッファのビットＡ［５］とＡ［０］を負電源ＶＳＳに結合させる。このようにして、ユーザは、アクセスしようとしているＯＴＰフラッシュメモリセルのアドレスを、外部試験システム３１８を介して指定する。
【０３００】
図４２，４７を参照すると、冗長順行制御ロジック１２２２は、冗長順行イネーブルロジック１２４０と最大列アドレスセレクタ１２４２とを備える。冗長順行イネーブルロジック１２４０は、ＢＩＳＴインタフェース３１２、ＢＩＳＴフロントエンドインタフェースデコーダ３１４および冗長ＣＡＭロジック８８４から制御信号を入力する。冗長順行イネーブルロジック１２４０は、この制御信号から、アドレスシーケンサバッファ１２０２が冗長フラッシュメモリセルを順行すべきかどうかを判定する。
【０３０１】
図４８を参照すると、図２２を参照して本明細書に上記したように、フラッシュメモリセル３０４のアレイは、コアフラッシュメモリセル７８０と冗長フラッシュメモリセル７８２とを有する。コアフラッシュメモリセル７８０の列の順行中に、コアフラッシュメモリセルの最後の列１２４４の最後の列アドレス（すなわちＹアドレス）に達すると、ＭＡＸＣＡ＿ＲＥＧ信号がアサートされる。冗長フラッシュメモリセル７８２の列の順行中に、冗長フラッシュメモリセルの最後の列１２４６の最後の列アドレス（すなわちＹアドレス）に達すると、ＴＧＬＯ１信号がアサートされる。
【０３０２】
冗長順行イネーブルロジック１２４０は、ＤＩＡＧ信号を生成する。この信号は、コアフラッシュメモリセル７８０のみを順行し、冗長フラッシュメモリセル７８２を順行しない場合には論理ハイ状態にアサートされ、コアフラッシュメモリセル７８０と共に冗長フラッシュメモリセル７８２も順行すべき場合は論理ロー状態に設定される。冗長順行イネーブルロジック１２４０は、下記の条件に該当する場合にＤＩＡＧ信号を論理ハイ状態にアサートする。
（Ａ）ＢＩＳＴフロントエンドインタフェースデコーダ３１４からの制御信号が、現在のＢＩＳＴモードがコアフラッシュメモリセル７８０のアレイの対角プログラムモードであることを示す場合。
（Ｂ）ＢＩＳＴフロントエンドインタフェースデコーダ３１４からの制御信号が、現在のＢＩＳＴモードがコアフラッシュメモリセル７８０のアレイの対角消去検証であることを示す場合。
（Ｃ）冗長ＣＡＭロジック８８４からのＹＣＥ［１］信号が論理ハイにアサートされており、使用可能な冗長フラッシュメモリセルの全てが、不良コアフラッシュメモリセルの修復に既に使用されていることを示す場合。
（Ｄ）ＢＩＳＴインタフェース３１２からの制御信号が、現在の試験モードがＢＩＳＴ（組み込み自己試験）モードではなく手動試験モードであることを示す場合。
上記に該当しない場合、順行イネーブルロジック１２４０はＤＩＡＧ信号を論理ロー状態に設定する。
【０３０３】
最大列アドレスセレクタ１２４２は、ＤＩＡＧ信号が論理ハイ状態、論理ロー状態のいずれに設定されているかに応じて、ＭＡＸＣＡ＿ＲＥＧ信号か、ＴＧＬＯ１信号とＲＥＤＡＤＤ信号との論理積かの一方を、ＭＡＸＣＡ信号として選択する。最大列アドレスセレクタ１２４２は、ＤＩＡＧ信号が論理ハイ状態にアサートされている場合には、ＭＡＸＣＡ＿ＲＥＧ信号をＭＡＸＣＡ信号として選択する。一方、最大列アドレスセレクタ１２４２は、ＤＩＡＧ信号が論理ロー状態に設定されている場合には、ＴＧＬＯ１信号とＲＥＤＡＤＤ信号との論理積をＭＡＸＣＡ信号として選択する。
【０３０４】
図４９は、最大列アドレスセレクタ１２４２によって使用されるＣＬＫ信号１２５０などの信号のタイミング図である。図４８，４９を参照すると、ＣＬＫ信号１２５０の第１の期間１２５１に、Ｙアドレス用の第１の複数のアドレスシーケンサバッファ１２０６内で、コアフラッシュメモリセル７８０の最後の列１２４４のアドレスに達すると、Ｙ／Ｘアドレス順行制御ロジック１２１６によってＭＡＸＣＡ＿ＲＥＧ信号１２５２がアサートされる。ＣＬＫ信号の第１の期間の後の第２の期間１２５３の開始時に、冗長順行制御ロジック１２２２は、Ｙアドレス用の第１の複数のアドレスシーケンサバッファ１２０６を制御して、冗長フラッシュメモリセル７８２の列を順行させる。
【０３０５】
本発明の一実施形態では、最下位の２ビットＡ［１：０］は、冗長フラッシュメモリセル７８２の列の順行に使用される。フラッシュメモリデバイスの一例では、フラッシュメモリセルの各冗長ブロックは、冗長要素にアクセスするための冗長Ｉ／Ｏ（入力／出力）を１６個有する。この例では、各冗長要素はこの１６個の冗長Ｉ／Ｏのうちの８個に対応付けられており、このため、各冗長ブロックは２つの冗長要素を有するさらに、冗長フラッシュメモリセルの４つの冗長列が、このＩ／Ｏのそれぞれに関連付けられている。このため、２ビットＡ［１：０］は、各Ｉ／Ｏに対する冗長フラッシュメモリセルのこの４つの冗長列の順行に使用される。
【０３０６】
このように冗長フラッシュメモリセル７８２の列を順行している間は、ＲＥＤＡＤＤ信号１２５４は論理ハイ状態にアサートされている。ＲＥＤＡＤＤが論理ハイ状態にアサートされている間は、次の４つのビット（four more siginifacnt bits）Ａ［５：２］のトグルが禁止される。ＣＬＫ信号１２５０の各期間に、最下位の２ビットＡ［１：０］が「１１」、「１０」、「０１」、および「００」とデクリメントされ、冗長フラッシュメモリセル７８２の列を順行している間は、ＲＥＤＡＤＤが論理ハイ状態にアサートされている。
【０３０７】
図４８，４９を参照すると、ＣＬＫ信号１２５０の第５の期間１２５７中に、冗長フラッシュメモリセル７８２の最後の列１２４６のアドレス「００」に第１の複数のアドレスシーケンサバッファ１２０６の最下位の２ビットＡ［１：０］が達すると、ＴＧＬＯ１信号１２５６が論理ハイ状態にアサートされる。ＲＥＤＡＤＤ信号１２５４は論理ハイ状態に保持されており、ＣＬＫ信号１２５０の第５の期間１２５７の終了時に、最下位の２ビットＡ［１：０］が「１１」に戻されると、ＲＥＤＡＤＤ信号１２５４が論理ロー状態に戻される。
【０３０８】
図４７，４８，４９を参照すると、ＤＩＡＧ信号が論理ハイ状態にアサートされている場合、最大列アドレスセレクタ１２４２は、前のＣＬＫ信号１２５０の第１の期間１２５１中にアサートされたＭＡＸＣＡ＿ＲＥＧ信号をＭＡＸＣＡ信号として選択する。この場合、フラッシュメモリセル３０４の列の処理はコアフラッシュメモリセル７８０の最後の列１２４４で終了し、冗長フラッシュメモリセル７８２の列は処理されない。一方、ＤＩＡＧ信号が論理ロー状態に設定されている場合、最大列アドレスセレクタ１２４２は、ＴＧＬＯ１信号とＲＥＤＡＤＤ信号との論理積をＭＡＸＣＡ信号として選択する。
【０３０９】
このＭＡＸＣＡ信号１２５８は図４９に示されており、第１の複数のアドレスシーケンサバッファ１２０６の最下位の２ビットＡ［１：０］が冗長フラッシュメモリセル７８２の列を一巡したら、ＣＬＫ信号の第５の期間１２５７中に、ＭＡＸＣＡ信号１２５８は論理ハイ状態にアサートされる。この場合、フラッシュメモリセル３０４の列の処理はコアフラッシュメモリセル７８０の最後の列１２４４で終了せず、冗長フラッシュメモリセル７８２の列も処理される。
【０３１０】
図５０を参照すると、本発明の別の実施形態では、Ｙ／Ｘアドレス順行制御ロジック１２１６は、現在のＢＩＳＴ（組込み自己試験）モードが、フラッシュメモリセル３０４のアレイの各セクタについて、それぞれのＷＰＣＡＭ（書込み保護内容参照可能メモリ）を試験するモードであることを知らせる制御信号を、フロントエンドインタフェースデコーダ３１４から入力する。図５１の表を参照すると、フラッシュメモリセル３０４のアレイの一例では、フラッシュメモリセル３０４のアレイは、３２個のフラッシュメモリセルの６４ＫＢ（キロバイト）セクタに分割されている。また、最後の６４ＫＢ（キロバイト）セクタは、３２ＫＢ（キロバイト）セクタであるサブセクタ＃３１、８ＫＢ（キロバイト）セクタであるサブセクタ＃３２、８ＫＢ（キロバイト）セクタであるサブセクタ＃３３、および１６ＫＢ（キロバイト）セクタであるサブセクタ＃３４の４つのサブセクタにさらに分割されている。このセクタの前の、セクタ＃０、セクタ＃１、セクタ＃２、、、セクタ＃３０の３１個のセクタは、全て６４ＫＢ（キロバイト）セクタである。
【０３１１】
図５０，５１を参照すると、順行制御ロジック９１６が、現在のＢＩＳＴ（組込み自己試験）モードが、フラッシュメモリセル３０４のアレイの各セクタについて、それぞれのＷＰＣＡＭ（書込み保護内容参照可能メモリ）を試験するモードであることを知らせる制御信号を、フロントエンドインタフェースデコーダ３１４から入力すると、順行制御ロジック１２１６は、第３および第４の複数のアドレスシーケンサバッファ１２１０，１２１２のビットＡ［１９:１５］の順行を制御する。この場合、順行制御ロジック１２１６は、第２の複数のアドレスシーケンサバッファ１２０８のサブセットビットＡ［１４:１２］の順行も制御する。
【０３１２】
図５１の表の最後の列を参照すると、順行制御ロジック１２１６は、セクタ＃３４、セクタ＃３３、セクタ＃３２、およびセクタ＃３１にアクセスするために、第２の複数のアドレスシーケンサバッファ１２０８のサブセットを制御して、３ビットＡ［１４：１２］を順行させる。この３ビットＡ［１４：１２］は、セクタ＃３４に対応する「１１０」から、セクタ＃３３に対応する「１０１」、セクタ＃３２に対応する「１００」、セクタ＃３１に対応する「０１１」まで順行される。３ビットＡ［１４：１２］のこの順行中は、５ビットＡ［１９：１５］はビットパターン「１１１１１」に保持される。３ビットＡ［１４：１２］が「０１１」になり、セクタ＃３１に達したとき、ビットＡ［１４］は論理ハイ状態「１」から論理ロー状態「０」にトグルしている。
【０３１３】
この後、Ｙ／Ｘアドレス順行制御ロジック１２１６は、第３および第４のアドレスシーケンサバッファ１２１０、１２１２を制御して、１ビットずつデクリメントさせ、セクタ＃３０、セクタ＃２９からセクタ＃０まで順行させる。また、３ビットＡ［１４：１２］が「０１０」となり、セクタ＃３０がアクセスされると、ビットＡ[１４]用のバッファがビットＡ[１５]用のバッファから切り離され、残りの６４キロバイトセクタ＃３０〜セクタ＃０がアクセスされている間は、３ビットＡ［１４：１２］が「０１０」に固定されるように、Ｙ／Ｘアドレス順行制御ロジック１２１６はビットＡ[１２]用のバッファのトグルを禁止する。
【０３１４】
このように、アドレスシーケンサバッファ１２０８の第２の複数のアドレスシーケンサのサブセットの３ビットＡ［１４：１２］を使用して、サブセクタ＃３４、＃３３、＃３２、および＃３１のアドレスが順行される。次に、サブセクタ＃３４、＃３３、＃３２、および＃３１を順行したら、３ビットＡ［１４:１２］が「０１０」に固定され、第３および第４のアドレスシーケンサバッファ１２１０，１２１２の５ビットＡ[１９:１５]が１ビットずつデクリメントされ、残りの６４キロバイトセクタ＃３０〜セクタ＃０が順行される。このため、３１個の６４キロバイトセクタ（＃０〜＃３０）の順行中は、第２の複数のアドレスシーケンサバッファ９０８のサブセットの３ビットＡ[１４:１２］によって、サブセクタ＃３４、＃３３、＃３２、および＃３１が順行されることはない。
【０３１５】
図５２を参照すると、本発明の別の実施形態では、Ｙ／Ｘアドレス順行制御ロジック１２１６が、現在のＢＩＳＴ（組込み自己試験）モードが、基準セルの組を消去トリミングするモードであることを知らせる制御信号を、フロントエンドインタフェースデコーダ３１４から入力する。図１３を参照すると、図１３を参照して本明細書に上記したように、基準フラッシュメモリセルは基準回路５１４内に存在し、比較器回路５１６が使用する基準電流レベルを供給する。本発明の一実施形態では、基準フラッシュメモリセルはＥＲＶ（消去検証）基準セルを有し、このセルは、消去検証プロセス中の、フラッシュメモリセルが十分に消去されているかどうかの判定に使用される電流レベルを供給する。
【０３１６】
このほか、ＲＤＶ（読出し検証）基準セルは、読出し検証プロセスで使用される電流レベルを供給する。ＰＧＭＶ（プログラム検証）基準セルは、プログラム検証プロセス中の、フラッシュメモリセルが十分にプログラムされているかどうかの判定に使用される電流レベルを供給する。図５１，５３を参照すると、ＡＰＤＥＶ１基準セルは、小さいサブセクタ（すなわち図５１のサブセクタ＃３１、＃３２、＃３３および＃３４）のＡＰＤＥＶ（消去検証後の自動プログラムディスターブ）プロセスで使用される電流レベルを供給する。一方、ＡＰＤＥＶ２基準セルは、ＡＰＤＥＶ１基準セルと共に、通常の６４キロバイトセクタ（すなわち図５１のセクタ＃０〜＃３０）のＡＰＤＥＶ（消去検証後の自動プログラムディスターブ）プロセスで使用される電流レベルを供給する。このような基準セルとこのような検証プロセスは、フラッシュメモリデバイスの当業者に公知である。
【０３１７】
図５２を参照すると、Ｙ／Ｘアドレス順行制御ロジック１２１６が、現在のＢＩＳＴ（組込み自己試験）モードが、基準セルの組をトリミングするモードであることを知らせる制御信号を、フロントエンドインタフェースデコーダ３１４から入力すると、Ｙ／Ｘアドレス順行制御ロジック１２１６は、パスゲート１２６０を制御して、最下位の２ビットＡ［１：０］を記憶するために、ＢＩＳＴインタフェース３１２のレジスタ１２３４の２ビットＢＳＲＱ［１０：９］と、第１の複数のアドレスシーケンサバッファ１２０６のサブセットとを結合させる。このとき、ＢＩＳＴインタフェース３１２のレジスタ１２３４の２ビットＢＳＲＱ［１０：９］は、第１の複数のアドレスシーケンサバッファ１２０６の最下位の２ビットＡ［１：０］として転送される。ユーザは、外部試験システム３１８を介して、ＢＩＳＴインタフェース３１２のレジスタ１２３４の２ビットＢＳＲＱ［１０：９］を入力する。
【０３１８】
図５３を参照すると、第１の複数のアドレスシーケンサバッファ１２０６の最下位の３ビットＡ［２：０］は、基準セルＥＲＶ、ＲＤＶ、ＰＧＭＶ、ＡＰＤＥＶ１、およびＡＰＤＥＶ２の順行に使用される。図５３の表は、ＥＲＶ、ＲＤＶ、ＰＧＭＶ、ＡＰＤＥＶ１、およびＡＰＤＥＶ２の各基準セルのアドレスを表す最下位の３ビットＡ［２：０］のビットパターンの例を示す。図５３の例では、最下位の３ビットＡ［２：０］について、ＥＲＶ基準セルはビットパターン「１１１」によって表され、ＲＤＶ基準セルはビットパターン「１１０」によって表され、ＰＧＭＶ基準セルはビットパターン「１０１」によって表され、ＡＰＤＥＶ１基準セルはビットパターン「１００」によって表され、ＡＰＤＥＶ２基準セルはビットパターン「０１１」によって表される。
【０３１９】
図５４は、ＢＩＳＴ（組込み自己試験）モードが基準セルの消去トリミングの場合のステップのフローチャートである。図５４のフローチャートで、図１５のフローチャートのステップと同じ参照符号が付されているステップは、図１５を参照して本明細書に上記したものと同じである。図５４を参照すると、ＳＴＡＲＴ状態（図５４のステップ５５２，５５４）の後、最下位の２ビットＡ［１：０］のビットパターンがチェックされる（図５４のステップ１２６１）。ユーザが最下位の２ビットＡ［１：０］にビットパターン「１１」を入力していない場合、プログラム電圧を使用して、基準セルＲＤＶ、ＰＧＭＶ、ＡＰＤＥＶ１、およびＡＰＤＥＶ２のうちの１つをトリミングするため、プログラムトリミングルーチンに入る（図５４のステップ１２６２）。このようなプログラム基準トリミングルーチンは、フラッシュメモリデバイスの当業者に公知である。
【０３２０】
一方、ユーザが、図５４の消去トリミングルーチンを呼び出すために、最下位の２ビットＡ［１：０］にビットパターン「１１」を入力したとする。この場合、最下位の３ビットＡ［２：０］のビットパターンは「１１１」であり、ＶＥＲＩＦＹ１状態およびＶＥＲＩＦＹ２状態に入り、比較ステップ５６２でＥＲＶ基準セルを流れる電流レベルが許容範囲に入っているかどうかが判定される。ＭＡＴＣＨステップ５６２で、ＥＲＶ基準セルを流れる電流レベルが許容範囲に入っておらず、かつ消去パルスがＭＡＸ＿ＰＣ回印加されていない場合（図５４のステップ５６４）、ＪＵＩＣＥ状態に入り（図５４のステップ５６６，５６８）、基準セルＥＲＶ、ＲＤＶ、ＰＧＭＶ、ＡＰＤＥＶ１、およびＡＰＤＥＶ２の全てに消去パルスが印加される。このＪＵＩＣＥ状態の間、第１の電圧レベルＡＲＶＳＳ０の第１の消去パルスが、基準セルＥＲＶ、ＲＤＶ、およびＰＧＭＶに印加される一方で、第２の電圧レベルＡＲＶＳＳ１の第２の消去パルスが、基準セルＡＰＤＥＶ１およびＡＰＤＥＶ２に印加される。
【０３２１】
Ｐｕｌｓｅ＿ＣｏｕｎｔがＭＡＸ＿ＰＣに達する前にＥＲＶ基準セルを流れる電流レベルが許容範囲内に入るか、あるいはＥＲＶ基準セルを流れる電流レベルが許容範囲に入らないままＰｕｌｓｅ＿ＣｏｕｎｔがＭＡＸ＿ＰＣに達するかのいずれかの状態になるまで、ステップ５５６，５５８，５６０，５６２，５６４，５６６，５６８が繰り返されて、Ｐｕｌｓｅ＿Ｃｏｕｎｔがインクリメントされる。ＥＲＶ基準セルを流れる電流レベルが許容範囲に入らないままＰｕｌｓｅ＿ＣｏｕｎｔがＭＡＸ＿ＰＣに達した場合、ＨＡＮＧ状態に入る（図５４のステップ５７０，５７２）。この場合、現在の基準セルの消去トリミングは成功していない。
【０３２２】
Ｐｕｌｓｅ＿ＣｏｕｎｔがＭＡＸ＿ＰＣに達する前にＥＲＶ基準セルを流れる電流レベルが許容範囲内に入った場合、現在の基準セルの消去トリミングは成功している。この場合、最下位の２ビットＡ［１：０］のビットパターンが再びチェックされる（図５４のステップ１２６４）。最下位の２ビットＡ［１：０］のビットパターンが「０１」の場合、ＰＧＭＶ基準セルが消去トリミングされている。そうでない場合、ＰＧＭＶ基準セルにまだ達していない。
【０３２３】
この場合、最下位から３番目のビットＡ［２］がチェックされる（図５４のステップ１２６６）。図５３を参照すると、最下位から３番目のビットＡ［２］が論理ロー状態に達している場合、最後の基準セルＡＰＤＥＶ２に達している。この場合、ＥＲＶ、ＲＤＶ、ＰＧＭＶ、ＡＰＤＥＶ１、およびＡＰＤＥＶ２の各基準セルの消去トリミングが完了している。このため、第１のアドレスシーケンサバッファ１２０２および第２のアドレスシーケンサバッファ１２０４が先頭のＹアドレスおよびＸアドレスにリセットされ（図５４のステップ１２６８）、プログラム電圧を使用してＥＲＶ基準セルをトリミングするためにプログラムトリミングルーチンに入る（図５４のステップ１２７０）。このような基準プログラムトリミングルーチンは、フラッシュメモリデバイスの当業者に公知である。
【０３２４】
ステップ１２６６を再度参照すると、最下位から３番目のビットＡ［２］が論理ロー状態に達していない場合、最下位の３ビットＡ［２：０］が１ビットずつデクリメントされ（図５４のステップ１２７２）、次の基準セルに移動していく。ＥＲＶ基準セルが消去トリミングされると、最下位の３ビットＡ［２：０］が１ビットデクリメントされて「１１０」となり、ステップ５５６，５５８，５６０，５６２，５６４，５６６，５６８でＲＤＶ基準セルの消去トリミングが行われる。次に、ＲＤＶ基準セルが消去トリミングされると、最下位の３ビットＡ［２：０］が１ビットデクリメントされて「１０１」となり、ステップ５５６，５５８，５６０，５６２，５６４，５６６，５６８でＰＧＭＶ基準セルの消去トリミングが行われる。
【０３２５】
図５４のステップ１２６４を参照すると、ＰＧＭＶ基準セルが消去トリミングされると、最下位の２ビットＡ［１：０］のビットパターンは「０１」となっている。この場合、今後行われるＪＵＩＣＥ状態（図５４のステップ５６６，５６８）中に基準セルＥＲＶ、ＲＤＶ、およびＰＧＭＶに消去パルスが印加されないように、第１の電圧レベルＡＲＶＳＳ０の消去パルスが、基準セルＥＲＶ、ＲＤＶ、およびＰＧＭＶから分離される（図５４のステップ１２７４）。電圧レベルＡＲＶＳＳ１の消去パルスは基準セルＡＰＤＥＶ１およびＡＰＤＥＶ２にのみ結合および印加され、この時点で基準セルＥＲＶ、ＲＤＶ、およびＰＧＭＶは既に消去トリミングされているため、消去パルスが基準セルＥＲＶ、ＲＤＶ、およびＰＧＭＶに印加されることはない。
【０３２６】
最下位の３ビットＡ［２：０］が「１００」にデクリメントされると、ステップ５５６，５５８，５６０，５６２，５６４，５６６，５６８でＡＰＤＥＶ１基準セルが消去トリミングされ、このとき、ＪＵＩＣＥ状態で第２の電圧レベルＡＲＶＳＳ１の消去パルスが基準セルＡＰＤＥＶ１およびＡＰＤＥＶ２のみに印加される（図５４のステップ５６６，５６８）。ＡＰＤＥＶ１基準セルが消去トリミングされると、最下位の３ビットＡ［２：０］が１ビットデクリメントされて「０１１」となり、ステップ５５６，５５８，５６０，５６２，５６４，５６６，５６８でＡＰＤＥＶ２基準セルが消去トリミングされ、このとき、ＪＵＩＣＥ状態で第２の電圧レベルの消去パルス（ＡＲＶＳＳ１）が基準セルＡＰＤＥＶ１およびＡＰＤＥＶ２のみに印加される（図５４のステップ５６６，５６８）。ＡＰＤＥＶ２基準セルが消去トリミングされると、ステップ１２６６で最下位から３番目のビットＡ［２］がチェックされて、基準セルＥＲＶ、ＲＤＶ、ＰＧＭＶ、ＡＰＤＥＶ１およびＡＰＤＥＶ２を消去トリミングするルーチンが、図５４のステップ１２６８，１２７０で終了する。
【０３２７】
図５５を参照すると、本発明の別の実施形態では、Ｙ／Ｘアドレス順行制御ロジック１２１６が、制御信号ＸｍｉｎｍａｘおよびＹｍｉｎｍａｘを、フロントエンドインタフェースデコーダ３１４から入力する。Ｘｍｉｎｍａｘ制御信号が論理ハイ状態に設定され、Ｙｍｉｎｍａｘ制御信号が論理ロー状態に設定されている場合、Ｙ／Ｘアドレス順行制御ロジック１２１６は、Ｙアドレス用の第１の複数のアドレスシーケンサバッファ１２０６を制御して、Ｘアドレス用の第２の複数のアドレスシーケンサバッファ１２０８のあるワード線アドレスに対応する各ビット線アドレスを順行させてから、このワード線アドレスをインクリメントする。この場合、フラッシュメモリセルのある行（すなわちワード線）に対応する各ビット線アドレスのフラッシュメモリセルを処理してから、フラッシュメモリセルの次の行に移動する。
【０３２８】
一方、Ｘｍｉｎｍａｘ制御信号が論理ロー状態に設定され、Ｙｍｉｎｍａｘ制御信号が論理ハイ状態に設定されている場合、Ｙ／Ｘアドレス順行制御ロジック１２１６は、Ｘアドレス用の第２の複数のアドレスシーケンサバッファ１２０８を制御して、Ｙアドレス用の第１の複数のアドレスシーケンサバッファ１２０６のあるビット線アドレスに対応する各ワード線アドレスを順行させてから、このビット線アドレスをインクリメントする。この場合、フラッシュメモリセルのある列（すなわちビット線）に対応する各ワード線アドレスのフラッシュメモリセルを処理してから、フラッシュメモリセルの次の列に移動する。この制御信号ＸｍｉｎｍａｘおよびＹｍｉｎｍａｘにより、異なるＢＩＳＴ（組込み自己試験）モードのために、フラッシュメモリセルの行および列の処理の順序を柔軟に設定することができるようになる。
【０３２９】
図５６を参照すると、本発明の別の実施形態では、Ｙ／Ｘアドレス順行制御ロジック１２１６が、現在のＢＩＳＴ（組込み自己試験）モードがフラッシュメモリセルのチェッカーボードプログラムであることを知らせる制御信号を、フロントエンドインタフェースデコーダ３１４から入力する。フラッシュメモリデバイスの当業者に公知のように、このチェッカーボードＢＩＳＴモードでは、フラッシュメモリセルが交互にアクセスされる。このため、Ｙ／Ｘアドレス順行制御ロジック１２１６が、現在のＢＩＳＴ（組込み自己試験）モードがチェッカーボードＢＩＳＴモードであることを知らせる制御信号を、フロントエンドインタフェースデコーダ３１４から入力すると、Ｙ／Ｘアドレス順行制御ロジック１２１６は、第１の複数のアドレスシーケンサバッファ１２０６を制御して、Ｙアドレスを２ずつインクリメントするために、５ビットのサブセットＡ［５：１］のみをトグルさせる。このため、チェッカーボードＢＩＳＴモードでは、フラッシュメモリセルのある行について最下位ビットＡ［０］がトグルされず、フラッシュメモリセルの１つの行の内のフラッシュメモリセルが１つおきにアクセスされてプログラムされる。
【０３３０】
ただし、最下位ビットＡ［０］は、第２の複数のアドレスシーケンサバッファ１２０８のビットＡ［１４:６］がインクリメントされるときに１回トグルされる。最初に一度トグルされたら、Ｙアドレスを２つずつインクリメントして、フラッシュメモリセルの１つの行内のフラッシュメモリセルに１つおきにアクセスするように、残りのビットＡ［５:１］のみがトグルされるため、最下位ビットＡ［０］はトグルされない。Ｘアドレス用のビットＡ［１４：６］がインクリメントされるときに、最下位ビットＡ［０］が最初に１回トグルされることで、フラッシュメモリセルの１つの列内でフラッシュメモリセルが１つおきにアクセスされるようになる。
【０３３１】
図５７を参照すると、本発明の別の実施形態では、Ｙ／Ｘアドレス順行制御ロジック１２１６は、現在のＢＩＳＴ（組込み自己試験）モードがフラッシュメモリセルの対角のプログラム検証または消去検証であることを示す制御信号を、フロントエンドインタフェースデコーダ３１４から入力する。この対角ＢＩＳＴモードでは、フラッシュメモリセルのセクタの対角位置のフラッシュメモリセルのみアクセスされる。対角位置とは、行番号と列番号とが等しい位置のことである。図５８を参照すると、セクタの例１２８０は、第１のサブセクタ１２８２、第２のサブセクタ１２８４、第３のサブセクタ１２８６、第４のサブセクタ１２８８、第５のサブセクタ１２９０、第６のサブセクタ１２９２、第７のサブセクタ１２９４、および第８つのサブセクタ１２９６の８つのサブセクタを有する。８つのサブセクタ１２８２，１２８４，１２８６，１２８８，１２９０，１２９２，１２９４，１２９６のそれぞれは、フラッシュメモリセルの行数および列数が等しく、この８つのサブセクタがそれぞれ対角線（図５８に破線で示す）を有する。
【０３３２】
図５８の８つのサブセクタのうちの１つのサブセクタの対角線上のフラッシュメモリセルのアドレスは、ＹアドレスビットＡ［５:０］とＸアドレスビットＡ［１４：６］の両方を１ビットデクリメントすることで順行される。対角位置の各フラッシュメモリセルにアクセスするため、ＹアドレスビットＡ［５:０］の６ビットとＸアドレスビットＡ［１１：６］の最下位の６ビットの両方が１ビットデクリメントされることに留意されたい。この場合、８つのサブセクタ１２８２，１２８４，１２８６，１２８８，１２９０，１２９２，１２９４，１２９６のそれぞれを順行するため、Ｘアドレスの最上位の３ビットＡ［１４：１２］がデクリメントされる。このため、８つのサブセクタ１２８２，１２８４，１２８６，１２８８，１２９０，１２９２，１２９４，１２９６を１つずつ通っているフラッシュメモリセルの８本の対角線（図５８に破線で示す）がこのようにアクセスされる。
【０３３３】
この場合、ＹアドレスＡ［５：０］の６ビットが、先頭のＹアドレス（６個の論理ハイビット「１１１１１１」）に初期化され、ＸアドレスＡ［１４，６］の９ビットも先頭のＸアドレス（９個の論理ハイビット「１１１１１１１１１」）に初期化される。次に、対角プログラム検証または対角消去検証が成功するたびにアドレスシーケンサのクロックサイクルが発生し、そのたびに、ＹアドレスＡ［５：０］が１ビットずつデクリメントされると共にＸアドレスＡ［１４：６］も１ビットずつデクリメントされる。ＹアドレスＡ［５：０］の６ビットが６個の論理ロービット「００００００」に達し、かつＸアドレスＡの最下位の６ビット［１１：６］が６個の論理ロービット「００００００」に達すると、図５８の８つのサブセクタのうちの１つの対角位置の全てのフラッシュメモリセルがアクセスされている。
【０３３４】
この時点で、ＹアドレスＡ［５：０］の６ビットは論理ハイビット「１１１１１１」に戻され、Ｘアドレスの最下位の６ビットＡ［１１：６］も論理ハイビット「１１１１１１」に戻されると共に、Ｘアドレスの最上位の３ビットＡ［１４：１２］が１ビットデクリメントされ、サブセクタ１２８２，１２８４，１２８６，１２８８，１２９０，１２９２，１２９４，１２９６のうちの次のサブセクタの対角位置のフラッシュメモリセルが順行される。このように、６個のＹアドレスＡ［５：０］と９個のＸアドレスＡ［１４：６］をそれぞれ「１１１１１１」、「１１１１１１１１１」に初期化して、対角プログラム検証または対角消去検証が成功するたびに発生するアドレスシーケンサのクロックサイクルのたびに、６個のＹアドレスＡ［５：０］と９個のＸアドレスＡ［１４：６］の両方を１ビットずつデクリメントしていき、それぞれが６個の論理ロービット「００００００」、９個の論理ロービット「０００００００００」に達すると、８つのサブセクタ１２８２，１２８４，１２８６，１２８８，１２９０，１２９２，１２９４，１２９６のそれぞれを通る全８本の対角線上のフラッシュメモリセルがアクセスされる。
【０３３５】
このように、各ＢＩＳＴモードについて、アドレスフラッシュメモリセル３０４のアレイのアドレスの順行が、アドレスシーケンサ制御ロジック１２０４とアドレスシーケンサバッファ１２０２によってオンチップに実行される。このため、外部試験システム３１８のピンは、フラッシュメモリセル３０４のアレイのアドレスのこのような順行に使用されない。使用する外部試験システムのピン数をこのように最小限に減らすことで、総ピン数の限られた外部試験システムによってより多くの半導体ダイを同時に試験および修復することができ、フラッシュメモリデバイスの製造時のスループットを最大限に高めることができる。また、アドレスフラッシュメモリセルのアレイのこのようなアドレスの順行がオンチップに実行されるため、このアドレス順行の実行速度が外部試験システムの処理能力によって制約されない。このように、このようなフラッシュメモリセルのアレイのアドレスの順行は、複数のＢＩＳＴモードに対してより効率的であり得る。
【０３３６】
上記の記載は例に過ぎず、限定を意図するものではない。本明細書に記載もしくは図示した数値は例に過ぎない。さらに、図４２〜５８の個々のコンポーネントのそれぞれの実装は、電子工学の当業者に公知である。例えば、電子工学の当業者に公知のように、Ｙ／Ｘアドレスセット／リセットロジック１２１４、Ｙ／Ｘアドレス順行制御ロジック１２１６、ＣＡＭ順行制御ロジック１２１８、ＯＴＰ順行制御ロジック１２２０、および冗長順行制御ロジック１２２２を備えたアドレスシーケンサ制御ロジック１２０４は、例えば本明細書に記載した機能を実行するプログラマブルロジックデバイスなどのデータ処理装置によって実装することができる。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
【０３３７】
Ｇ．ＢＩＳＴ（組込み自己試験）システムのパターン生成器
複数のＢＩＳＴモードのそれぞれに対し、コアフラッシュメモリセルのアレイのプログラム状態および消去状態の所望のビットパターンを能率的に生成するためのメカニズムが求められている。従来技術では、このような所望のビットパターンは、メモリデバイスに記憶されている。しかし、ＢＩＳＴモードの数が多い場合、複数のＢＩＳＴモードのそれぞれについて対応する所望のビットパターンを記憶すると、そのメモリデバイスのために半導体ダイの面積を大きくしなければならない場合があり、望ましくない。
【０３３８】
図５９を参照すると、本発明の別の態様では、各ＢＩＳＴモードの所望のビットパターンを生成するシステム１３００は、複数のパターン生成ロジックユニット１３０２とパターンセレクタ１３０４とを備える。図１３，５９を参照すると、図５９のアドレスシーケンサ５２４、状態機械３１６のバックエンドＢＩＳＴコントローラ５０２、照合回路５２０、およびフラッシュメモリセル３０４のアレイは、本明細書に上記した、図１３の同じ参照符号を付されたブロックと機能および構造面で類似している。さらに、本発明の一実施形態によれば、パターン生成ロジックユニット１３０２およびパターンセレクタ１３０４は、図１３のビットパターン生成器５１８に含まれる。
【０３３９】
複数のパターン生成ロジックユニット１３０２は、フラッシュメモリセル３０４のアレイの各フラッシュメモリセルの個々の位置の、それぞれのＸアドレスとそれぞれのＹアドレスとをアドレスシーケンサ５２４から入力する。複数のパターン生成ロジックユニット１３０２は、このＸアドレスとＹアドレスとを使用して、複数のビットパターンを生成する。パターンセレクタ１３０４は、バックエンド状態機械３１６のバックエンドＢＩＳＴコントローラ５０２から制御信号を入力すると共に、複数のパターン生成ロジックユニット１３０２から複数のビットパターンを入力する。パターンセレクタ１３０４は、バックエンドＢＩＳＴコントローラ５０２からの制御信号に応じて、複数のパターン生成ロジックユニット１３０２からの複数のビットパターンのうちの１つを、所望のビットパターンとして選択する。
【０３４０】
照合回路５２０は、パターンセレクタ１３０４に結合されており、パターンセレクタ１３０４から所望のビットパターンを入力する。本明細書に上記したように、照合回路５２０は、現在のＢＩＳＴモードのＶＥＲＩＦＹ状態中に、パターンセレクタ１３０４からの所望のビットパターンと、フラッシュメモリセル３０４のアレイの測定ビットパターンとを比較して、合否結果を示すために、この比較の結果をバックエンドＢＩＳＴコントローラ５０２に送信する。本発明の一態様によれば、複数のパターン生成ロジックユニット１３０２とパターンセレクタ１３０４とは、フラッシュメモリセル３０４のアレイが作製されている半導体ダイに作製される。
【０３４１】
図６０を参照すると、１つの例では、パターン生成ロジックユニット１３０２は、プログラムパターン生成ロジックユニット１３０６、消去パターン生成ロジックユニット１３０８、対角パターン生成ロジックユニット１３１０、およびチェッカーボードパターン生成ロジックユニット１３１２を備える。各パターン生成ロジックユニット１３０６，１３０８，１３１０，１３１２は、フラッシュメモリセル３０４のアレイの各フラッシュメモリセルの個々の位置に対応する個々の論理状態を、それぞれ出力として生成する。プログラムパターン生成ロジックユニット１３０６は、フラッシュメモリセル３０４のアレイ内のフラッシュメモリセルの各位置に対して論理ロー状態（「０」状態）を生成し、消去パターン生成ロジックユニット１３０８は、フラッシュメモリセル３０４のアレイ内のフラッシュメモリセルの各位置に対して論理ハイ状態（「１」状態）を生成する。
【０３４２】
対角パターン生成ロジックユニット１３１０は、フラッシュメモリセル３０４のアレイの各対角位置のみに論理ロー状態（「０」状態）を生成して、対角ビットパターンを生成する。対角パターン生成ロジックユニット１３１０は、アドレスシーケンサ５２４によって生成された、フラッシュメモリセルの個々の位置を示すＸアドレスのＡ１１，Ａ１０，Ａ９，Ａ８，Ａ７，Ａ６の６ビットと、ＹアドレスのＡ５，Ａ４，Ａ３，Ａ２，Ａ１，Ａ０の６ビットとを入力し、所望の対角ビットパターンに従って、フラッシュメモリセルのこの個々の位置のそれぞれの論理状態を生成する。
【０３４３】
チェッカーボードパターン生成ロジックユニット１３１２は、フラッシュメモリセル３０４のアレイのフラッシュメモリセルの２つの隣接する任意の位置に対して、論理ローと論理ハイ状態とを交互に生成して、チェッカーボードビットパターンを生成する。チェッカーボードパターン生成ロジックユニット１３１２は、所望のチェッカーボードビットパターンに従ってフラッシュメモリセルの個々の位置のそれぞれの論理状態を生成するために、Ｘアドレスの最下位ビットＡ６とＹアドレスの最下位ビットＡ０とを、アドレスシーケンサ５２４から入力する。
【０３４４】
図６１に、対角パターン生成ロジックユニット１３１０の実装例を示し、この例は、第１排他的ＯＲゲート１３１４、第２排他的ＯＲゲート１３１６、第３排他的ＯＲゲート１３１８、第４排他的ＯＲゲート１３２０、第５排他的ＯＲゲート１３２２、第６排他的ＯＲゲート１３２４、およびＯＲゲート１３２６を備える。第１排他的ＯＲゲート１３１４は、Ｘアドレスの最下位ビットＡ６とＹアドレスの最下位ビットＡ０とを入力する。第２排他的ＯＲゲート１３１６は、Ｘアドレスの最下位から２番目のビットＡ７と、Ｙアドレスの最下位から２番目のビットＡ１とを入力する。第３排他的ＯＲゲート１３１８は、Ｘアドレスの最下位から３番目のビットＡ８と、Ｙアドレスの最下位から３番目のビットＡ２とを入力する。
【０３４５】
同様に、第４排他的ＯＲゲート１３２０は、Ｘアドレスの最下位から４番目のビットＡ９と、Ｙアドレスの最下位から４番目のビットＡ３とを入力する。第５排他的ＯＲゲート１３２２は、Ｘアドレスの最下位から５番目のビットＡ１０と、Ｙアドレスの最下位から５番目のビットＡ４とを入力する。第６排他的ＯＲゲート１３２４は、Ｘアドレスの最上位ビットＡ１１と、Ｙアドレスの最上位ビットＡ５とを入力する。ＯＲゲート１３２６は、排他的ＯＲゲート１３１４，１３１６，１３１８，１３２０，１３２２，１３２４の各出力を入力する。このため、対角パターン生成ロジックユニット１３１０のそれぞれの出力は、以下の式によって表される。
出力＝（Ａ０□Ａ６）＋（Ａ１□Ａ７）＋（Ａ２□Ａ８）＋（Ａ３□Ａ９）＋（Ａ４□Ａ１０）＋（Ａ５□Ａ１１）
ここで、記号「□」は排他的論理和関数を、記号「＋」は論理和関数を表す。図６２に、排他的ＯＲゲート１３３０を備えたチェッカーボードパターン生成ロジックユニット１３１２の実装例を示す。図６２の排他的ＯＲゲート１３３０は、Ｘアドレスの最下位ビットＡ６とＹアドレスの最下位ビットＡ０とを入力する。このため、対角パターン生成ロジックユニット１３１０のそれぞれの出力は、以下の式によって表される。
出力＝Ａ０□Ａ６
ここで、記号「□」は排他的論理和関数を表す。
【０３４６】
図６３に、４行４列のフラッシュメモリセルを有するフラッシュメモリセル３０４のアレイの例を示す。フラッシュメモリセルのアレイは、通常はこれより遙かに多くのフラッシュメモリセルの行および列を有する。しかし、説明をわかりやすくするために、図６３には、４行４列のフラッシュメモリセルのアレイを示す。第１行第１列のフラッシュメモリセルの位置を「ａ１」とし、第１行第２列を「ａ２」とし、第１行第３列を「ａ３」とし、第１行第４列を「ａ４」とする。第２行第１列のフラッシュメモリセルの位置を「ｂ１」とし、第２行第２列を「ｂ２」とし、第２行第３列を「ｂ３」とし、第２行第４列を「ｂ４」とする。第３行第１列のフラッシュメモリセルの位置を「ｃ１」とし、第３行第２列を「ｃ２」とし、第３行第３列を「ｃ３」とし、第３行第４列を「ｃ４」とする。第４行第１列のフラッシュメモリセルの位置を「ｄ１」とし、第４行第２列を「ｄ２」とし、第４行第３列を「ｄ３」とし、第４行第４列を「ｄ４」とする。
【０３４７】
図６４を参照すると、現在のＢＩＳＴモードがフラッシュメモリセル３０４のアレイの各フラッシュメモリセルのプログラムである場合、所望のビットパターンは、フラッシュメモリセル３０４のアレイの各位置を論理ロー状態「０」に設定したパターンとなる。図６５を参照すると、現在のＢＩＳＴモードがフラッシュメモリセル３０４のアレイの各フラッシュメモリセルの消去である場合、所望のビットパターンは、フラッシュメモリセル３０４のアレイの各位置を論理ハイ状態「１」に設定したパターンとなる。
【０３４８】
図６６を参照すると、現在のＢＩＳＴモードがフラッシュメモリセル３０４のアレイのチェッカーボードプログラムである場合、所望のビットパターンは、フラッシュメモリセル３０４のアレイの２つの任意の隣接するフラッシュメモリセルを、論理ロー「０」状態と論理ハイ状態「１」に交互に設定したパターンとなる。図６７を参照すると、現在のＢＩＳＴモードがフラッシュメモリセル３０４のアレイの対角プログラムである場合、所望のビットパターンは、フラッシュメモリセル３０４のアレイの対角線に位置するフラッシュメモリセルのみを論理ロー状態「０」に設定したパターンとなる。
【０３４９】
図６０，６４を参照すると、図６４の所望のビットパターンを生成するために、フラッシュメモリセル３０４のアレイのどの位置も論理ロー状態「０」に設定したプログラムパターン生成ロジックユニット１３０６の出力が選択される。論理ロー状態「０」に常にラッチされている論理回路は、電子工学の当業者に公知である。あるいは、図６０，６５を参照すると、図６５の所望のビットパターンを生成するために、フラッシュメモリセル３０４のアレイのどの位置も論理ハイ状態「１」に設定した消去パターン生成ロジックユニット１３０８の出力が選択される。論理ハイ状態「１」に常にラッチされている論理回路は、電子工学の当業者に公知である。
【０３５０】
図６０，６１，６７を参照すると、図６７の所望の対角ビットパターンを作成するために、対角パターン生成ロジックユニット１３１０の出力が使用される。図６８は、図６３のフラッシュメモリセルのアレイの各位置の、それぞれのＸアドレスおよびＹアドレスを示す表の例である。「ａ１」で示す第１行第１列のフラッシュメモリセルの位置では、Ｘアドレスの６ビット（Ａ１１，Ａ１０，Ａ９，Ａ８，Ａ７，Ａ６）が「１１１１１１」であり、Ｙアドレスの６ビット（Ａ５，Ａ４，Ａ３，Ａ２，Ａ１，Ａ０）が「１１１１１１」である点に留意されたい。Ｘアドレスはフラッシュメモリセルの列位置を示し、Ｙアドレスはフラッシュメモリセルの行位置を示す。図６８では、同じ行内の２つの任意の隣接するフラッシュメモリセルをみると、Ｘアドレスが、同じ行内で左から右に１ビットずつデクリメントされている。同様に、同じ列内の２つの任意の隣接するフラッシュメモリセルをみると、Ｙアドレスが、同じ列内で上から下に１ビットずつデクリメントされている。図６１の対角パターン生成ロジックユニット１３１０の実装では、このようにアドレスを指定して、図６７の所望の対角ビットパターンを生成する。
【０３５１】
図６０，６２，６６を参照すると、図６６の所望のチェッカーボードビットパターンを生成するために、チェッカーボードパターン生成ロジックユニット１３１２の出力が使用される。図６２のチェッカーボードパターン生成ロジックユニット１３１２の実装では、図６８の表のようにアドレスを指定して、図６６の所望のチェッカーボードビットパターンを生成する。
【０３５２】
図６９に、図６０のパターン生成ロジックユニット１３０６，１３０８，１３１０，１３１２にそれぞれ結合されたマルチプレクサ１３３６を有するパターンセレクタ１３０４の実装例を示す。マルチプレクサ１３３６は、各パターン生成ロジックユニット１３０６，１３０８，１３１０，１３１２のそれぞれの出力を入力する。さらに、マルチプレクサ１３３６は、バックエンドＢＩＳＴコントローラ５０２から、「プログラム検証」、「消去検証」、「対角検証」、および「チェッカーボード検証」の制御信号を入力する。
【０３５３】
バックエンドＢＩＳＴコントローラ５０２は、現在のＢＩＳＴモードの種類に応じて、「プログラム検証」、「消去検証」、「対角検証」、および「チェッカーボード検証」の制御信号のうちの１つをアサートする。現在のＢＩＳＴモードがフラッシュメモリセル３０４のアレイの各フラッシュメモリセルのプログラムである場合、ＢＩＳＴコントローラ５０２は「プログラム検証」制御信号をアサートする。現在のＢＩＳＴモードがフラッシュメモリセル３０４のアレイの各フラッシュメモリセルの消去である場合、ＢＩＳＴコントローラ５０２は「消去検証」制御信号をアサートする。現在のＢＩＳＴモードがフラッシュメモリセル３０４のアレイのチェッカーボードプログラムである場合、ＢＩＳＴコントローラ５０２は「チェッカーボード検証」制御信号をアサートする。現在のＢＩＳＴモードがフラッシュメモリセル３０４のアレイの対角プログラムである場合、ＢＩＳＴコントローラ５０２は「対角検証」制御信号をアサートする。
【０３５４】
マルチプレクサ１３３６は、パターン生成ロジックユニット１３０６，１３０８，１３１０，１３１２のそれぞれの出力のうちの１つを、フラッシュメモリセル３０４のアレイのフラッシュメモリセルの各位置の所望のビットパターンを生成するための選択出力として選択する。「プログラム検証」制御信号がアサートされている場合、マルチプレクサ１３３６は、プログラムパターン生成ロジックユニット１３０６から出力される論理ロー状態「０」を、フラッシュメモリセルの位置に対する選択出力として選択する。「消去検証」制御信号がアサートされている場合、マルチプレクサ１３３６は、消去パターン生成ロジックユニット１３０８から出力される論理ハイ状態「１」を、フラッシュメモリセルの位置に対する選択出力として選択する。
【０３５５】
一方、「対角検証」制御信号がアサートされている場合、マルチプレクサ１３３６は、対角パターン生成ロジックユニット１３１０から出力される対角ビットパターンを、フラッシュメモリセルの位置に対する選択出力として選択する。同様に、「チェッカーボード検証」制御信号がアサートされている場合、マルチプレクサ１３３６は、チェッカーボードパターン生成ロジックユニット１３１２から出力されるチェッカーボードビットパターンを、フラッシュメモリセルの位置に対する選択出力として選択する。
【０３５６】
通常、ＢＩＳＴモード中のＶＥＲＩＦＹ状態は、「プログラム検証」、「消去検証」、「対角検証」または「チェッカーボード検証」のいずれか１つに分類することができる。このように、フラッシュメモリセル３０４のアレイをオンチップで試験するために、ＶＥＲＩＦＹ状態中にＢＩＳＴ（組込み自己試験）システムが使用する所望のビットパターンが、同じくオンチップに作製されているパターン生成ロジックユニット１３０６，１３０８，１３１０，１３１２によって生成される。パターンセレクタ１３０４は、現在のＢＩＳＴモードに従って、パターン生成ロジックユニット１３０６，１３０８，１３１０，１３１２の出力の中から適切な出力を１つ選択する。所望のビットパターンを生成するためのこのようなメカニズムでは、フラッシュメモリセル３０４のアレイのオンチップ試験時に複数のＢＩＳＴモードを実行するための所望のビットパターンを記憶する大容量の記憶装置が必要ない。
【０３５７】
上記の記載は例に過ぎず、限定を意図するものではない。例えば、本発明を、より多くの所望のビットを生成するために、パターン生成ロジックユニット１３０６，１３０８，１３１０，１３１２の数が多い場合に実施してもよい。さらに、本発明は、より大きなフラッシュメモリセルのアレイに実施してもよい。本明細書に記載もしくは図示した数値は例に過ぎない。
【０３５８】
Ｈ．効率的な消去検証ＢＩＳＴ（組込み自己試験）モードのためのオンチップ消去パルスカウンタ
さらに、ＢＩＳＴ（組み込み自己試験）のモードの１つに、フラッシュメモリセルのコアアレイの各フラッシュメモリセルが適切に消去されているかどうかを試験する消去検証ＢＩＳＴモードがある。このような消去検証ＢＩＳＴモードでは、フラッシュメモリセルに消去パルスを印加した回数が最大値に達する前に、アレイの各フラッシュメモリセルを適切なレベル（フラッシュメモリセルを流れる電流量によって示される）に消去する必要がある。
【０３５９】
消去検証プロセスでは、フラッシュメモリセルに消去電圧の消去パルスを印加して、次に、そのフラッシュメモリセルに読出し電圧を印加しながら、そのフラッシュメモリセルを流れる電流レベルを測定する。フラッシュメモリセルを流れる電流レベルは、そのフラッシュメモリセルが消去検証に合格（し、適切に消去されたとみなされる）するためには基準電流レベル以上である必要がある。フラッシュメモリセルへの消去電圧の消去パルスの印加は、フラッシュメモリセルを流れる電流レベルが基準電流レベル以上となるまで、数回にわたって繰り返し行われる。しかし、フラッシュメモリセルが消去検証ＢＩＳＴモードに合格するためには、フラッシュメモリセルに消去パルスを印加した回数が最大値に達する前に、フラッシュメモリセルを流れる電流レベルが基準電流レベル以上にならなければならない。そうでない場合、そのフラッシュメモリセルは不良であるとみなされる。
【０３６０】
フラッシュメモリデバイスの当業者に公知のように、フラッシュメモリセルのアレイは複数のフラッシュメモリセルのセクタに分割されている。図７０に、４行４列のフラッシュメモリセルのセクタの例１４００を示す。フラッシュメモリセルのセクタの行数、列数は通常はこれより遙かに多いが、説明を簡単にするために、図７０には４行４列のセクタの例１４００に示す。
【０３６１】
フラッシュメモリセルを消去するための消去電圧の消去パルスは、フラッシュメモリセルのセクタの全フラッシュメモリセルに一度に印加される。図７０を参照すると、対角位置（すなわち、図７０にＡ１、Ｂ２、Ｃ３、Ｄ４で示す位置）のフラッシュメモリセルが最初に消去検証される。対角位置の各フラッシュメモリセルの消去検証中は、フラッシュメモリセルのセクタ１４００の全フラッシュメモリセルに消去パルスが印加される。
【０３６２】
まず、対角位置にあるフラッシュメモリセルの各フラッシュメモリセルが消去検証に合格するために、フラッシュメモリセルのセクタ１４００に印加する必要のある消去パルス数の対角の合計を求める。次に、フラッシュメモリセルのセクタ１４００全体の消去検証中に、フラッシュメモリセルのセクタ１４００に印加することができる最大パルス数として、消去パルス数対角合計の選択百分率（selected percentage）を求める。フラッシュメモリセルのセクタ１４００に消去パルス数対角合計を印加して、対角位置のフラッシュメモリセルが消去検証に合格したら、セクタ全体（図７０のＡ１、Ａ２、Ａ３、Ａ４、Ｂ１、Ｂ２、Ｂ３、Ｂ４、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｄ１、Ｄ２、Ｄ３、およびＤ４で示す位置）の各フラッシュメモリセルが消去検証に合格する必要があり、その後、セクタ１４００が消去検証ＢＩＳＴモードに合格するために、セクタ１４００に消去パルス数対角合計の選択百分率をさらに印加する。そうでない場合は、フラッシュメモリセルのセクタ４００は、消去検証ＢＩＳＴモードに不合格であるとみなされる。
【０３６３】
従来技術では、外部試験システムが、消去検証試験モード中にフラッシュメモリセルのセクタ１４００に印加した消去パルス数を追跡している。しかし、外部試験システムが行う、消去検証試験モード中にフラッシュメモリセルのセクタ１４００に印加した消去パルス数の追跡は、外部試験システムの能力によっては遅いことがある。このため、消去検証ＢＩＳＴモード中にフラッシュメモリセルのセクタ１４００に印加した消去パルス数を追跡するための効率的なメカニズムが求められている。
【０３６４】
図７，７０を参照すると、本発明の別の実施形態では、消去検証ＢＩＳＴ（組込み自己試験）中に印加した消去パルス数を追跡するシステム１４０２は、フラッシュメモリセル３０４のアレイが作製されている半導体ダイに作製される。システム１４０２は、消去パルスカウンタ１４０４、クロック発生器１４０６、およびパルスカウンタコントローラ１４０８を備える（図７１の破線内に示す）。パルスカウンタコントローラ１４０８は、ＢＩＳＴインタフェース３１２とＢＩＳＴ状態機械３１６に結合されている。ＢＩＳＴインタフェース３１２とＢＩＳＴ状態機械３１６とは、図７を参照して本明細書で既に説明している。
【０３６５】
本発明の一実施形態では、消去パルスカウンタ１４０４は、クロック発生器１４０６が生成する少なくとも１つのパルスによって、２進数のカウントをインクリメントする２進カウンタである。２進カウンタは、電子工学の当業者に公知である。ＢＩＳＴ状態機械３１６は、制御信号を生成して、フラッシュメモリセルのセクタ１４００に消去パルスが印加されたことを通知する。ＢＩＳＴ状態機械３１６が、ＪＵＩＣＥ状態中にフラッシュメモリセルのセクタ１４００に消去パルスが印加されたことを示す制御信号を生成すると、パルスカウンタコントローラ１４０８は、クロック発生器１４０６を制御して、２つの重複しないクロック信号パルスＥＲＣＬＫ１およびＥＲＣＬＫ２を生成させる。クロック信号パルスを生成するためのクロック信号発生器は、電子工学の当業者に公知である。クロック発生器１４０６が２つの重複しないクロック信号パルスＥＲＣＬＫ１およびＥＲＣＬＫ２を生成すると、消去パルスカウンタ１４０４は２進数のカウントをインクリメントする。このため、消去パルスカウンタ１４０４は、フラッシュメモリセルのセクタ１４００に消去電圧の消去パルスが印加されるたびに、２進数のカウントをインクリメントする。
【０３６６】
図７２を参照すると、パルスカウンタコントローラ１４０８内の各種コンポーネントは破線内に示しており、クロック制御ロジック１４１２、リセットロジック１４１３、最大パルスカウントデコーダ１４１４、再ロードロジック１４１６、マルチプレクサ１４１８、補数発生器１４２０のほか、２による除算再ロードカウント値発生器１４２２、４による除算再ロードカウント値発生器１４２４、および８による除算再ロードカウント値発生器１４２６の複数の再ロードカウント値発生器が含まれる。図７３は、消去検証ＢＩＳＴモード中に印加される消去パルス数を追跡するための、図７２のシステムの動作時のステップのフローチャートである。
【０３６７】
図７２，７３を参照すると、リセットロジック１４１３は、消去検証ＢＩＳＴ（組込み自己試験）モードの開始を通知する制御信号を、ＢＩＳＴ状態機械３１６から入力する。リセットロジック１４１３が、消去検証ＢＩＳＴ（組込み自己試験）モードの開始を示す制御信号をＢＩＳＴ状態機械３１６から受け取ると、リセットロジック１４１３は、消去パルスカウンタ１４０４を初期ゼロパルスカウントにリセットする（図７３のステップ１４２９）。例えば消去パルスカウンタが６ビットのカウンタの場合、初期ゼロパルスカウントは、例えば「００００００」であり得る。
【０３６８】
図７０，７２を参照すると、ＢＩＳＴ状態機械３１６は、最初にフラッシュメモリセルのセクタ１４００の対角位置（図７０にＡ１、Ｂ２、Ｃ３、およびＤ４で示す位置）の各フラッシュメモリセルを消去検証して、消去検証ＢＩＳＴモードを実行する。フラッシュメモリデバイスの当業者に公知のように、消去検証プロセスでは、フラッシュメモリセルに消去電圧の消去パルスを印加して、次にそのフラッシュメモリセルに読出し電圧を印加しながら、そのフラッシュメモリセルを流れる電流レベルを測定する。フラッシュメモリデバイスの当業者に公知のように、フラッシュメモリセルを流れる電流レベルは、そのフラッシュメモリセルが消去検証に合格（し、適切に消去されたとみなされる）するためには、基準電流レベル以上である必要がある。フラッシュメモリセルへの消去電圧の消去パルスの印加は、フラッシュメモリセルを流れる電流レベルが基準電流レベル以上となるまで、数回にわたって繰り返し行われる。
【０３６９】
フラッシュメモリセルを消去するための消去電圧の消去パルスは、フラッシュメモリセルのセクタ１４００の全フラッシュメモリセルに一度に印加される。対角位置の各フラッシュメモリセルの消去検証中は、フラッシュメモリセルのセクタ１４００の全フラッシュメモリセルに消去パルスが印加される。
【０３７０】
対角のフラッシュメモリセルの消去検証中に、フラッシュメモリセルのセクタ１４００の各フラッシュメモリセルに消去パルスが印加されるたびに、ＢＩＳＴ状態機械３１６は制御信号を送信する。対角のフラッシュメモリセルの消去検証中に、ＢＩＳＴ状態機械３１６がフラッシュメモリセルのセクタ１４００の各フラッシュメモリセルに消去パルスが印加されたことを示す制御信号を送信するたびに、クロック制御ロジック１４１２は、クロック発生器１４０６を制御して、２つの重複しないクロック信号パルスＥＲＣＬＫ１およびＥＲＣＬＫ２を生成させる。クロック発生器１４０６が２つの重複しないクロック信号パルスＥＲＣＬＫ１およびＥＲＣＬＫ２を生成するたびに、消去パルスカウンタ１４０４は２進数のカウントをインクリメントする。このため、対角のフラッシュメモリセルの消去検証中に、消去パルスカウンタ１４０４は、フラッシュメモリセルのセクタ１４００に消去電圧の消去パルスが印加されるたびに、２進数のカウントをインクリメントする（図７３のステップ１４３０）。
【０３７１】
このようして、対角検証の終了に達すると、消去パルスカウンタ１４０４は、各対角フラッシュメモリセルが消去検証に合格するために、フラッシュメモリセルのセクタ１４００に印加する必要がある消去パルス数対角合計をカウントする（図７３のステップ１４３０〜１４３４）。さらに、最大パルスカウントデコーダ１４１４は、対角検証中に、消去パルスカウンタ１４０４から消去パルス数対角合計を表す２進数のカウントを入力して、消去パルス数対角合計が最大パルスカウント値（Ｍａｘ＿ＰＣ）に達した（すなわち等しくなった）かどうかを判定する（図７３のステップ１４３２）。
【０３７２】
図７３のステップ１４３４の対角検証の終了前に消去パルス数対角合計が最大パルスカウント値（Ｍａｘ＿ＰＣ）に達した場合（図７３のステップ１４３２）、消去パルス数対角合計は最大パルスカウント値（Ｍａｘ＿ＰＣ）に設定され、図７３のステップ１４３８で処理が続行される。一方、図７３のステップ１４３４の対角検証の終了までに合計消去パルスが最大パルスカウント値（Ｍａｘ＿ＰＣ）に達しない場合（図７３のステップ１４３２）、図７３のフローチャートのステップはステップ１４３８で続行され、このとき、消去パルス数対角合計は消去パルスカウンタ１４０４によってカウントされた値となる。
【０３７３】
いずれの場合も、消去パルス数対角合計を求めてから、フラッシュメモリセルのセクタ１４００全体を消去検証する。再ロードロジック１４１６と最大パルスカウントデコーダ１４１４は、フラッシュメモリセルのセクタ全体（図７０のＡ１、Ａ２、Ａ３、Ａ４、Ｂ１、Ｂ２、Ｂ３、Ｂ４、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｄ１、Ｄ２、Ｄ３、およびＤ４で示す位置）の消去検証のために、フラッシュメモリセルのセクタ１４００に印加すべき消去パルス数対角合計の選択百分率を入力する。この消去パルス数対角合計の選択百分率は、ＢＩＳＴインタフェース３１２を介してユーザによって指定される。
【０３７４】
補数発生器１４２０は、消去パルス数対角合計のバイナリのビットパターンを入力して、このビットパターンの２進補数を生成する。図７３のステップ１４３４の対角検証の終了前に、図７３のステップ１４３２で消去パルス数対角合計が最大パルスカウント数の値（Ｍａｘ＿ＰＣ）に達した場合、消去パルス数対角合計は最大パルスカウント値（Ｍａｘ＿ＰＣ）に設定されている。一方、図７３のステップ１４３４の対角検証の終了までに、図７３のステップ１４３２で消去パルス数対角合計が最大パルスカウント数の値（Ｍａｘ＿ＰＣ）に達しない場合、消去パルス数対角合計は、消去パルスカウンタ１４０４によってカウントされた値となる。２進補数は、消去パルス数対角合計のビットパターンの論理ハイ状態（「１」）を論理ロー状態（「０」）に変え、論理ロー状態（「０」）を論理ハイ状態（「１」）に変えて生成される。このような補数発生器は、電子工学の当業者に公知である。
【０３７５】
本発明の一実施形態では、最大パルスカウント値Ｍａｘ＿ＰＣは２ｍ−１で表され、消去パルスカウンタはｍビットのカウンタである。例えば、説明を簡単にするために、Ｍａｘ＿ＰＣが６３（２６−１で表される）であり、ｍが６であると仮定する。この場合、消去パルスカウンタ１４０４は、６ビットの２進カウンタである。
【０３７６】
図７２，７３をさらに参照すると、複数の再ロードカウント値発生器１４２２，１４２４，１４２６は、最大パルスカウント値Ｍａｘ＿ＰＣから消去パルス数対角合計のそれぞれの百分率を引いた値である再ロードカウント値をそれぞれ生成する。２による除算再ロードカウント値発生器１４２２は、消去パルス数対角合計の補数を最下位ビットのほうに１ビットシフトしてから、最上位ビットに論理ハイのビットを加算して、Ｍａｘ＿ＰＣから消去パルス数対角合計の５０％を引いた値である第１の再ロードカウント値を生成する。
【０３７７】
さらに、４による除算再ロードカウント値発生器１４２４は、消去パルス数対角合計の補数を最下位ビットのほうに２ビットシフトしてから、最上位の２ビットに論理ハイのビットをそれぞれ加算して、Ｍａｘ＿ＰＣから消去パルス数対角合計の２５％を引いた値である第２の再ロードカウント値を生成する。８による除算再ロードカウント値発生器１４２６は、消去パルス数対角合計の補数を最下位ビットのほうに３ビットシフトしてから、最上位の３ビットに論理ハイのビットをそれぞれ加算して、Ｍａｘ＿ＰＣから消去パルス数対角合計の１２．５％を引いた値である第３の再ロードカウント値を生成する。
【０３７８】
例を挙げるため、Ｍａｘ＿ＰＣが６３であり、消去パルスカウンタ１４０４が６ビットの２進カウンタである例で、消去パルス数対角合計が４０であり、この消去パルス数対角合計のバイナリのビットパターンが「１０１０００」であるとさらに想定する。この場合、消去パルス数対角合計の補数は「０１０１１１」となる。２による除算再ロードカウント値発生器１４２２の出力は「１０１０１１」となり、この値は、消去パルス数対角合計の補数（本例では「０１０１１１」）を最下位ビットのほうに１ビットシフトしてから、最上位ビットに論理ハイのビットを加算して生成される。２による除算再ロードカウント値発生器１４２２からの第１の再ロードカウント値は、Ｍａｘ＿ＰＣ値（６３）から消去パルス数対角合計の５０％（４０の５０％は２０）を引いた４３となる。
【０３７９】
同様に、４による除算再ロードカウント値発生器１４２４の出力は「１１０１０１」となり、この値は、消去パルス数対角合計の補数（本例では「０１０１１１」）を最下位ビットのほうに２ビットシフトしてから、最上位の２ビットに論理ハイのビットをそれぞれ加算して生成される。４による除算再ロードカウント値発生器１４２４からの第２の再ロードカウント値は、Ｍａｘ＿ＰＣ値（６３）から消去パルス数対角合計の２５％（４０の２５％は１０）を引いた５３となる。
【０３８０】
さらに、８による除算再ロードカウント値発生器１４２６の出力は「１１１０１０」となり、この値は、消去パルス数対角合計の補数（本例では「０１０１１１」）を最下位ビットのほうに３ビットシフトしてから、最上位の３ビットに論理ハイのビットをそれぞれ加算して生成される。８による除算再ロードカウント値発生器１４２６からの第３の再ロードカウント値は、Ｍａｘ＿ＰＣ値（６３）から消去パルス数対角合計の１２．５％（４０の１２．５％は５）を引いた５８となる。
【０３８１】
再ロードロジック１４１６は、マルチプレクサ１４１８を制御して、再ロードカウント値発生器１４２２，１４２４，１４２６からの第１、第２および第３の再ロードカウント値のうちの１つを、パルスカウンタ１４０４にロードする選択再ロードカウント値として選択させる。選択再ロードカウント値は、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率に応じて、第１、第２および第３の再ロードカウント値から１つ選択される。
【０３８２】
ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が、再ロードカウント値発生器１４２２，１４２４，１４２６に対応する百分率のうちの１つと等しい場合、その再ロードカウント値発生器からの再ロードカウント値が、選択再ロードカウント値となる。例えば、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が５０％である場合、マルチプレクサ１４１８からの選択再ロードカウント値は、２による除算再ロードカウント値発生器１４２２からの第１の再ロードカウント値となる。または、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が２５％である場合、マルチプレクサ１４１８からの選択再ロードカウント値は、４による除算再ロードカウント値発生器１４２４からの第２の再ロードカウント値となる。あるいは、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が１２．５％である場合、マルチプレクサ１４１８からの選択再ロードカウント値は、８による除算再ロードカウント値発生器１４２６からの第３の再ロードカウント値となる。
【０３８３】
一方、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が、再ロードカウント値発生器１４２２，１４２４，１４２６のどの百分率とも異なる場合、選択再ロードカウント値は、再ロードカウント値発生器１４２２，１４２４，１４２６のうち、その百分率が、ユーザが入力した消去パルス数対角合計の選択百分率未満の再ロードカウント値発生器のものとなる。例えば、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が７５％である場合、再ロードロジック１４１６は、マルチプレクサ１４１８を制御して、２による除算再ロードカウント値発生器１４２２からの第１の再ロードカウント値か、４による除算再ロードカウント値発生器１４２４からの第２の再ロードカウント値のうちの１つから、選択再ロードカウント値を選択させる。
【０３８４】
いずれの場合も、フラッシュメモリセルのセクタ１４００の対角の各フラッシュメモリセルを消去検証して、消去パルス数対角合計を求めたら、フラッシュメモリセルのセクタ１４００全体を消去検証する。フラッシュメモリセルのセクタ１４００全体の消去検証の開始前に、マルチプレクサからの選択再ロードカウント値が、消去パルスカウンタ１４０４にロードされる。次に、フラッシュメモリセルのセクタ全体の消去検証中に、フラッシュメモリセルのセクタ１４００全体を消去検証するため、セクタ１４００の各フラッシュメモリセルに消去パルスが印加されるたびに、ＢＩＳＴ状態機械３１６は制御信号を送信する。フラッシュメモリセルのセクタ全体の消去検証中に、ＢＩＳＴ状態機械３１６がフラッシュメモリセルのセクタ１４００の各フラッシュメモリセルに消去パルスが印加されたことを示す制御信号を送信するたびに、クロック制御ロジック１４１２は、クロック発生器１４０６を制御して、２つの重複しないクロック信号パルスＥＲＣＬＫ１およびＥＲＣＬＫ２を生成させる。
【０３８５】
クロック発生器１４０６が２つの重複しないクロック信号パルスＥＲＣＬＫ１およびＥＲＣＬＫ２を生成するたびに、消去パルスカウンタ１４０４は２進数のカウントをインクリメントする。このため、フラッシュメモリセルのセクタ全体の消去検証中に、消去パルスカウンタ１４０４は、フラッシュメモリセルのセクタ１４００に消去電圧の消去パルスが印加されるたびに、２進数のカウントをインクリメントする（図７３のステップ１４４０）。しかし、消去パルスカウンタ１４０４は、フラッシュメモリセルのセクタ１４００全体の消去検証では、フラッシュメモリセルのセクタ全体の消去検証の開始前に消去パルスカウンタにロードした選択再ロードカウント値を始点にインクリメントする。
【０３８６】
フラッシュメモリセルのセクタ全体の消去検証中に、最大パルスカウントデコーダ１４１４は、消去パルスカウンタ１４０４から２進数のカウントを入力して、消去パルスカウンタ１４０４のカウントが最大パルスカウント（Ｍａｘ＿ＰＣ）に達しているかどうかを判定する（図７３のステップ１４４２）。消去パルスカウンタ１４０４からの２進数のカウントが最大パルスカウント（Ｍａｘ＿ＰＣ）に達した場合、最大パルスカウントデコーダ１４１４は、消去パルスカウンタ１４０４のカウントが最大パルスカウント（Ｍａｘ＿ＰＣ）に達したことを通知する制御信号をＢＩＳＴ状態機械３１６に生成する。
【０３８７】
フラッシュメモリセルのセクタ１４００全体が消去検証に合格し、セクタ１４００に印加した消去パルスのカウントが最大パルスカウント（Ｍａｘ＿ＰＣ）に達する前にセクタ１４００の終端に達した場合（図７３のステップ１４４４）、このセクタ１４００は消去検証ＢＩＳＴモードに合格し（図７３のステップ１４４６）、消去検証ＢＩＳＴモードが終了する。一方、消去パルスカウンタ１４０４からのカウントが示すセクタ１４００に印加した消去パルスのカウントが、最大パルスカウント（Ｍａｘ＿ＰＣ）に達した場合（図７３のステップ１４４２）、最大パルスカウントデコーダ１４１４は、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が、フラッシュメモリセルのセクタ全体の消去検証中にセクタ１４００に印加されているかどうかを判定する（図７３のステップ１４５２）。ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が、再ロードカウント値発生器１４２２，１４２４，１４２６に対応する百分率のうちの１つと等しい場合には、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が、フラッシュメモリセルのセクタ全体の消去検証中にセクタ１４００に印加されている。
【０３８８】
例えば、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が５０％である場合、マルチプレクサ１４１８からの選択再ロードカウント値は、２による除算再ロードカウント値発生器１４２２からの第１の再ロードカウント値となる。このため、消去パルスカウンタ１４０４からのカウントが示す、セクタ１４００に印加した消去パルスのカウントが最大パルスカウント（Ｍａｘ＿ＰＣ）に達する（図７３のステップ１４４２）までには、フラッシュメモリセルのセクタ全体の消去検証中に、消去パルス数対角合計の５０％がフラッシュメモリセルのセクタ１４００に印加されており、このため、消去パルス数対角合計の選択百分率（すなわち５０％）がセクタ１４００に印加されている。
【０３８９】
または、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が２５％である場合、マルチプレクサ１４１８からの選択再ロードカウント値は、４による除算再ロードカウント値発生器１４２４からの第２の再ロードカウント値となる。このため、消去パルスカウンタ１４０４からのカウントが示す、セクタ１４００に印加した消去パルスのカウントが最大パルスカウント（Ｍａｘ＿ＰＣ）に達する（図７３のステップ１４４２）までには、フラッシュメモリセルのセクタ全体の消去検証中に、消去パルス数対角合計の２５％がフラッシュメモリセルのセクタ１４００に印加されており、このため、消去パルス数対角合計の選択百分率（すなわち２５％）がセクタ１４００に印加されている。
【０３９０】
あるいは、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が１２．５％である場合、マルチプレクサ１４１８からの選択再ロードカウント値は、８による除算再ロードカウント値発生器１４２６からの第３の再ロードカウント値となる。このため、消去パルスカウンタ１４０４からのカウントが示す、セクタ１４００に印加した消去パルスのカウントが最大パルスカウント（Ｍａｘ＿ＰＣ）に達する（図７３のステップ１４４２）までには、フラッシュメモリセルのセクタ全体の消去検証中に、消去パルス数対角合計の１２.５％がフラッシュメモリセルのセクタ１４００に印加されており、このため、消去パルス数対角合計の選択百分率（すなわち１２.５％）がセクタ１４００に印加されている。
【０３９１】
図７３のステップ１４４２で最大パルスカウント（Ｍａｘ＿ＰＣ）に達しており、かつフラッシュメモリセルのセクタ全体の消去検証中にＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率がセクタ１４００に既に印加されている場合（図７３のステップ１４５２）、フラッシュメモリセルのセクタ１４００が、消去検証ＢＩＳＴモードに不合格であるとみなされる（図７３のステップ１４５４）。この場合、消去検証ＢＩＳＴモードを終了しても、あるいは修復ルーチンを開始してもよい（本明細書に上記）。
【０３９２】
一方、図７３のステップ１４４２で最大パルスカウント（Ｍａｘ＿ＰＣ）に達しており、かつフラッシュメモリセルのセクタ全体の消去検証中にＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率がセクタ１４００にまだ印加されていない場合（図７３のステップ１４５２）、最大パルスカウントデコーダ１４１４は再ロードロジック１４１６に再ロード制御信号を送信し、この結果、再ロードロジック１４１６がマルチプレクサを制御して、再ロードカウント値発生器１４２２，１４２４，１４２６からの再ロードカウント値から別の再ロードカウント値を１つ選択させる（図７３のステップ１４５６）。この別の選択再ロードカウント値が消去パルスカウンタ１４０４にロードされると、フラッシュメモリセルのセクタ１４００全体の消去検証が続行される。
【０３９３】
再ロードカウント値発生器１４２２，１４２４，１４２６からの再ロードカウント値の１つから、マルチプレクサ１４１８が選択する別の選択再ロードカウント値は、以前の選択再ロードカウント値の百分率と、この別の選択再ロードカウント値の百分率とを加算すると、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率となるような値とである。例えば、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が７５％である場合、２による除算再ロードカウント値発生器１４２２の百分率（５０％）と、４による除算再ロードカウント値発生器１４２４の百分率（２５％）とを加算すると、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率（７５％）となる。
【０３９４】
この場合、図７３の前のステップ１４３８で、２による除算再ロードカウント値発生器１４２２からの第１の再ロードカウント値が選択再ロードカウント値としてマルチプレクサ１４１８によって選択され、図７３のステップ１４５６に達したときの、図７３のステップ１４５６の別の選択再ロードカウント値は、４による除算再ロードカウント値発生器１４２４からの第２の再ロードカウント値となる。再ロードロジック１４１６がマルチプレクサ１４１８を制御して、４による除算再ロードカウント値発生器１４２４からの第２の再ロードカウント値を選択させると、消去パルスカウンタは、この新しく選択した再ロードカウント値をロードする。
【０３９５】
次に、図７３のフローチャートはステップ１４４０に戻り、フラッシュメモリセルのセクタ１４００全体の消去検証を続行するために、ステップ１４４０，１４４２，１４４４，１４４６，１４５２，１４５４および／または１４５６が繰り返される。しかし、今回のステップの繰り返しでは、消去パルスカウンタは、新たに選択した再ロードカウント値（この例では、４による除算再ロードカウント値発生器１４２４からの第２の再ロードカウント値）を始点にインクリメントする。今回のステップの繰り返しでも、フラッシュメモリセルのセクタ１４００全体のそれぞれが消去検証に合格し、セクタ１４００に印加した消去パルスのカウントが最大パルスカウント（Ｍａｘ＿ＰＣ）に達する前にセクタ１４００の終端に達した場合（図７３のステップ１４４４）、このセクタ１４００は消去検証ＢＩＳＴモードに合格し（図７３のステップ１４４６）、消去検証ＢＩＳＴモードが終了する。
【０３９６】
しかし、図７３のステップ１４４２で最大パルスカウント（Ｍａｘ＿ＰＣ）に達した場合、最大パルスカウントデコーダ１４１４は、ＢＩＳＴインタフェース３１２を介してユーザが入力した消去パルス数対角合計の選択百分率が、フラッシュメモリセルのセクタ全体の消去検証中にセクタ１４００に印加されているかどうかを判定する（図７３のステップ１４５２）。消去パルス数対角合計の選択百分率が７５％である先の例では、今回パルスカウンタ１４０４によるカウントがＭａｘ＿ＰＣ値に達している場合、対角の合計の選択百分率がセクタ１４００に印加されている。ステップ１４４０，１４４２，１４４４，１４４６，１４５２，１４５４および／または１４５６の前回のサイクルでは、２による除算再ロードカウント値発生器１４２２からの第１の再ロードカウント値が消去パルスカウンタ１４０４にロードされて、Ｍａｘ＿ＰＣ値に達し、この結果、消去パルス数対角合計の５０％がセクタ１４００に印加されている。次に、ステップ１４４０，１４４２，１４４４，１４４６，１４５２，１４５４および／または１４５６の今回のサイクルでは、４による除算再ロードカウント値発生器１４２４からの第２の再ロードカウント値が消去パルスカウンタ１４０４にロードされて、Ｍａｘ＿ＰＣ値に達し、この結果、消去パルス数対角合計の２５％がセクタ１４００に印加されている。このため、合計７５％の消去パルス数対角合計がセクタ１４００に印加されている。
【０３９７】
このように、再ロードロジック１４１６と最大パルスカウントデコーダ１４１４は、ＢＩＳＴインタフェース３１２を介してユーザが入力した、どのような対角合計パルス数の選択百分率が、複数の再ロードカウント値発生器１４２２，１４２４，１４２６のそれぞれの百分率の組み合わせであれば、どのような選択百分率でも追跡できる。例えば、複数の再ロードカウント値発生器１４２２，１４２４，１４２６の百分率はそれぞれ５０％、２５％、および１２．５％であるため、ＢＩＳＴインタフェース３１２を介してユーザが入力する選択百分率は、７５％、６２．５％、５０％、３７．５％、２５％または１２．５％のいずれか１つであり得る。このため、消去検証（組込み自己試験）ＢＩＳＴモード中に、フラッシュメモリセルのセクタ１４００に印加された消去パルス数を追跡するためのシステム１４０２により、フラッシュメモリセルのセクタ全体の消去検証中に印加する消去パルス数対角合計を、複数個柔軟に使用できるようになる。
【０３９８】
さらに、複数の再ロードカウント値発生器１４２２の再ロードカウント値発生器を増やして、生成する百分率を増やすことができる。特に、１／１６、１／３２、１／６４など、１／２ｎで表される分数（「ｎ」はゼロを超える正の整数）の百分率を任意に生成することができ、有利である。さらに、ＢＩＳＴインタフェース３１２を介してユーザが入力する消去パルス数対角合計の選択百分率は、再ロードカウント値発生器のそれぞれの百分率を任意に組合せたものであってよく、組み合わせる複数の再ロードカウント値発生器の再ロードカウント値の数はいくつであってもよい。例えば、消去パルス数対角合計の選択百分率が７５％であり、再ロードが５０％と２５％の２つのみの例を記載した。しかし、選択百分率に入れる再ロードの数は３、４などであってもよい。
【０３９９】
さらに、消去検証ＢＩＳＴモード中にフラッシュメモリセルのセクタ１４００に印加した消去パルス数の追跡がオンチップで実行される。消去検証ＢＩＳＴモード中にフラッシュメモリセルのセクタ１４００に印加した消去パルス数の追跡がオンチップで実行されるため、消去検証ＢＩＳＴモードの実行速度が外部試験システムの処理能力によって制約されない。このため、消去検証ＢＩＳＴモード中にフラッシュメモリセルのセクタ１４００に印加した消去パルス数をより効率的に追跡することができる。
【０４００】
上記の記載は例に過ぎず、限定を意図するものではない。本明細書に記載もしくは図示した数値は例に過ぎない。さらに、パルスカウンタコントローラ１４０８の各コンポーネント１４１２，１４１３、１４１４，１４１６，１４１８，１４２０，１４２２，１４２４，１４２６は、例えばハードウェアロジックによって実装したり、データプロセッサ内のソフトウェアプログラムによって実装するなど、電子工学の当業者に公知の各種手段で実装され得る。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
【０４０１】
Ｉ．フラッシュメモリデバイスのＣＡＭ部分の試験中のマージニング電圧のオンチップ生成
図４を参照すると、半導体ウェハ２２０は、このウェハに作製されている複数の半導体ダイを有する。図４の半導体ウェハ２２０の正方形領域のそれぞれが１つの半導体ダイである。図４は見やすくするため半導体ダイの数を少なく図示しているが、通常はこれより遙かに多くの半導体ダイが半導体ウェハに作製される。各半導体ダイは、例えばその半導体ダイに作製されたフラッシュメモリデバイスを有する。図７４を参照すると、半導体ダイの例１４６５は、コアフラッシュメモリセルのアレイを有するフラッシュメモリデバイス１４６６を備えて示される。図４の各半導体ダイは、コアフラッシュメモリセルのアレイを有するフラッシュメモリデバイスをそれぞれ有する。このようなフラッシュメモリセルのアレイを有するフラッシュメモリデバイスは、電子工学術の当業者に公知である。
【０４０２】
さらに、電子工学の当業者に公知のように、半導体ダイ１４６４は、コアフラッシュメモリセル１４６６のアレイの動作を制御するための論理回路を有する周辺領域１４６８を有する。ＣＡＭ（内容参照可能メモリ）１４７０は、通常は周辺領域１４６８の一部である。ＣＡＭ１４７０は、コアフラッシュメモリセル１４６６のアレイが正常に動作するように、コアフラッシュメモリセル１４６６のアレイに関する様々な種類の情報を記憶している。例えば、ＣＡＭ１４７０は、コアフラッシュメモリセル１４６６のアレイ内の不良セルを置き換えている冗長セルのアドレス情報を記憶している。周辺領域１４６８内のＣＡＭ１４７０をこのように使用することは、電子工学の当業者に公知である。
【０４０３】
ＣＡＭ１４７０は、コアフラッシュメモリセル１４６６のアレイの動作中に使用される情報を記憶しているため、ＣＡＭ１４７０の使用前に、ＣＡＭ１４７０の信頼性と正常に動作することが検証される。電子工学の当業者に公知のように、ＣＡＭ１４７０は通常はフラッシュメモリセルのアレイを有する。例えば、本明細書に図示し上記したように、ＣＡＭ１４７０の各フラッシュメモリセルは図１のデバイス構造を有する。
【０４０４】
ＣＡＭ１４７０は、コアフラッシュメモリセル１４６６のアレイの動作中に使用される情報を記憶しているため、ＣＡＭ１４７０の使用前に、ＣＡＭ１４７０の信頼性と正常に動作することが検証される。ＣＡＭ１４７０の信頼性と正常に動作することを検証するために、ＣＡＭ１４７０のフラッシュメモリセルのプログラムおよび消去が行われる。次に、プログラムまたは消去ののち、ＣＡＭのフラッシュメモリセルが正常に機能することをチェックするために、このフラッシュメモリセルに読出し動作を実行して、フラッシュメモリセルが正しくプログラムまたは消去されていることを確認する。ＣＡＭのフラッシュメモリセルのプログラム後のこの読出し動作は、フラッシュメモリ技術の当業者によって「プログラムマージニング」と呼ばれている。同様に、ＣＡＭのフラッシュメモリセルの消去後のこの読出し動作は、フラッシュメモリ技術の当業者によって「消去マージニング」と呼ばれている。
【０４０５】
ＣＡＭのフラッシュメモリセルのプログラムマージニングでは、フラッシュメモリセルに約３．３ボルトのソース−ゲート間電圧を印加して、そのフラッシュメモリセルがオフを保持するかどうかを試験する。このソース−ゲート間電圧によってフラッシュメモリセルがオンになれば、そのフラッシュメモリセルは不良であると判定される。この３.３ボルトのソース−ゲート間電圧はマージニング電圧と呼ばれる。ＣＡＭのフラッシュメモリセルの消去マージニングでは、フラッシュメモリセルに約０ボルトのソース−ゲート間電圧が印加して、そのフラッシュメモリセルがオンになるかどうかを試験する。このソース−ゲート間電圧によってフラッシュメモリセルがオフのままであれば、そのフラッシュメモリセルは不良であると判定される。この０ボルトのソース−ゲート間電圧はマージニング電圧と呼ばれる。
【０４０６】
従来技術では、３．３ボルトのマージニング電圧が、外部試験システム１４７１の電源ＶＣＣから供給される。外部試験システム１４７１は、半導体ダイ１４６４に作製されたコアフラッシュメモリセル１４６６のアレイを有するフラッシュメモリデバイスが正常に機能することを試験する。このような外部試験システム１４７１の例に、アジレント・テクノロジーズ・インク（Agilent Technologies, Inc.）（カリフォルニア州パロアルト所在）から入手可能なモデルＶ３３００がある。しかし、外部試験システム１４７１からのこの電圧ＶＣＣは、温度などの外的条件によって日ごとに変動することがある。さらに、コアフラッシュメモリセル１４６６の各種の試験モードに対応するために、外部試験システム１４７１からのＶＣＣ電圧の電圧レベルの変更が求められることがある。しかし、外部試験システム１４７１からの電圧ＶＣＣを変化させると、ＣＡＭ１４７０のフラッシュメモリセルが正常に機能することを確認するための試験中に期せずしてばらつきが生じてしまうことがある。このため、ＣＡＭ１４７０のフラッシュメモリセルが正常に機能することを確認するための試験の結果の一貫性を上げるために、より安定なマージニング電圧の供給源が求められている。
【０４０７】
図７５を参照すると、フラッシュメモリ技術の当業者に公知のように、半導体ダイ１４８０は、コアフラッシュメモリセルのアレイを有するフラッシュメモリデバイス１４８２と、論理回路およびＣＡＭ（内容参照可能メモリ）１４８６を有する周辺領域１４８４とを備える。さらに、本発明の一態様によれば、半導体ダイ１４８０は、マージニング電圧発生器１４９０を備えたＢＩＳＴ（組込み自己試験）システム３００も備える。ＢＩＳＴシステム３００は、本明細書に上記したＢＩＳＴシステム３００と機能および構造面で類似している。
【０４０８】
ＢＩＳＴシステム３００は、外部試験システム１４９２によってＢＩＳＴ（組込み自己試験）モードが呼び出されると、コアフラッシュメモリセル１４８２のアレイが正常に機能することを確認するための試験中に、半導体ダイ１４８０内のコアフラッシュメモリセル１４８２のアレイにプログラム動作、消去動作、および読出し動作をオンチップで実行する。一方、外部試験システム１４９２によって手動モードが呼び出された場合、外部試験システム１４９２は、コアフラッシュメモリセル１４８２のアレイにプログラム動作、消去動作、および読出し動作を直接実行する。ＢＩＳＴモード、手動モードのいずれでも使用することができるこの外部試験システム１４９２の例に、アジレント・テクノロジーズ・インク（Agilent Technologies, Inc.）（カリフォルニア州パロアルト所在）から入手可能なモデルＶ３３００がある。
【０４０９】
ＣＡＭ１４８６は、コアフラッシュメモリセル１４８２のアレイの動作中に使用される情報を記憶しているため、ＣＡＭ１４８６の使用前に、ＣＡＭ１４８６の信頼性と正常に動作することが検証される。電子工学の当業者に公知のように、ＣＡＭ１４８６は通常はフラッシュメモリセルのアレイを有する。ＣＡＭ１４８６のフラッシュメモリセルの信頼性と正常に動作することを検証するために、ＣＡＭ１４８６のフラッシュメモリセルのプログラムおよび消去が行われる。次に、プログラムまたは消去ののち、ＣＡＭ１４８６のフラッシュメモリセルが正常に機能することをチェックするために、このフラッシュメモリセルに読出し動作を実行して、フラッシュメモリセルが正しくプログラムまたは消去されていることを確認する。ＣＡＭ１４８６のフラッシュメモリセルのプログラム後のこの読出し動作は、フラッシュメモリ技術の当業者によって「プログラムマージニング」と呼ばれている。同様に、ＣＡＭ１４８６のフラッシュメモリセルの消去後のこの読出し動作は、フラッシュメモリ技術の当業者によって「消去マージニング」と呼ばれている。
【０４１０】
ＣＡＭ１４８６のフラッシュメモリセルのプログラムマージニングでは、フラッシュメモリセルに約３．３ボルトのソース−ゲート間電圧を印加して、そのフラッシュメモリセルがオフを保持するかどうかを試験する。このソース−ゲート間電圧によってフラッシュメモリセルがオンになれば、そのフラッシュメモリセルは不良であると判定される。この３．３ボルトのソース−ゲート間電圧はプログラムマージニング電圧と呼ばれる。ＣＡＭのフラッシュメモリセルの消去マージニングでは、フラッシュメモリセルに約０ボルトのソース−ゲート間電圧が印加して、そのフラッシュメモリセルがオンになるかどうかを試験する。このソース−ゲート間電圧によってフラッシュメモリセルがオフのままであれば、そのフラッシュメモリセルは不良であると判定される。この０ボルトのソース−ゲート間電圧は消去マージニング電圧と呼ばれる。
【０４１１】
図７６は、ＣＡＭ１４８６のフラッシュメモリセルの試験中に使用されるプログラムマージニング電圧と消去マージニング電圧とを生成するためのマージニング電圧発生器装置１４９０の回路図である。図７５，７６を参照すると、本発明の一実施形態によるマージニング電圧発生器装置１４９０は、半導体ダイ１４８０にＢＩＳＴシステム３００の一部として作製される。図７６を参照すると、マージニング電圧発生器装置１４９０は、電圧調整器１５０２と高電圧チャージポンプ１５０３とを備え、これらは、ＶＰＲＯＧの電圧レベルの高電圧源を供給するための高電圧発生器１５０１（図７６の破線内に示す）の一部である。電圧調整器１５０２とチャージポンプ１５０３とは、半導体ダイ１４８０に作製されている。比較的安定した電圧を発生させるためのこのようなチャージポンプと電圧調整器は、電子工学の当業者に公知である。
【０４１２】
また、電圧調整器１５０２に接地ノード１５０４などの低電圧源１５０４が結合されている。ＶＰＲＯＧの高電圧レベルは、この接地ノード１５０４を基準としている。図７６を参照すると、マージニング電圧発生器装置１４９０は、第１トランジスタとしてＰＭＯＳＦＥＴ（Ｐ形金属酸化膜半導体電界効果トランジスタ）１５０６と、第２トランジスタとしてＮＭＯＳＦＥＴ（Ｎ型金属酸化膜半導体電界効果トランジスタ）１５０８とも備える。ＰＭＯＳＦＥＴ１５０６のソースはＶＰＲＯＧ電圧を供給している高電圧源１５０１に結合されており、ＮＭＯＳＦＥＴ１５０８のソースは低電圧源１５０４の接地ノードに結合されている。
【０４１３】
さらに、抵抗値Ｒ１の第１抵抗器１５１０が、ＰＭＯＳＦＥＴ１５０６のドレインと出力ノード１５１２の間とに結合され、抵抗値Ｒ２の第２抵抗器１５１４が、ＮＭＯＳＦＥＴ１５０８のドレインと出力ノード１５１２との間に結合されている。ＣＡＭ１４８６のフラッシュメモリセルの試験に使用されるプログラムマージニング電圧または消去マージニング電圧は、出力ノード１５１２で生成される。
【０４１４】
また、マージニング電圧発生器装置１４９０は、ＢＩＳＴ（組込み自己試験）モードまたは手動モード中に、プログラムマージニング電圧または消去マージニング電圧の生成を制御するための論理回路１５１６（図７６の破線内に示す）も備える。論理回路１５１６は、電圧レベルシフタ１５１８を備える。電圧レベルシフタ１５１８の出力ＯＵＴＢは、ＰＭＯＳＦＥＴ１５０６のゲートに結合されている。電圧レベルシフタ１５１８の入力には、第１ＮＯＲゲート１５２０の出力が結合されている。第１ＮＯＲゲート１５２０は、制御信号ＥＲＭＡＲＧＩＮを第１入力として有すると共に、第２ＮＯＲゲート１５２２の出力を第２入力として有する。第２ＮＯＲゲート１５２２は、制御信号ＢＶＥＲＩＦＹを第１入力として有すると共に、第１インバータ１５２４の出力を第２入力として有する。第１インバータ１５２４は制御信号ＳＴＥＳＴを入力する。
【０４１５】
さらに、論理回路１５１６は、第３ＮＯＲゲート１５２６と第２インバータ１５２８とを備える。第２インバータ１５２８の出力は、ＮＭＯＳＦＥＴ１５０８のゲートに結合され、第２インバータ１５２８の入力は第３ＮＯＲゲート１５２６の出力に結合されている。第３ＮＯＲゲート１５２６は３つの入力を有し、この３つは、第３ＮＯＲゲート１５２６の第１入力に結合された制御信号ＥＲＭＡＲＧＩＮ、第３ＮＯＲゲート１５２６の第２入力に結合された制御信号ＢＲＥＰＡＩＲ、および第３ＮＯＲゲート１５２６の第３入力に結合された制御信号ＢＷＰＰＧＭである。
【０４１６】
さらに、マージニング電圧発生器装置１４９０は、第１パスＰＭＯＳＦＥＴ（Ｐ形金属酸化膜半導体電界効果トランジスタ）１５３２と第１パスＮＭＯＳＦＥＴ（Ｎ型金属酸化膜半導体電界効果トランジスタ）１５３４とを含むパストランジスタの第１の組も有する。パストランジスタの第１の組１５３２，１５３４のドレインは出力ノード１５１２に結合されており、パストランジスタの第１の組１５３２，１５３４のソースは、図７７に示すＣＡＭ１４８６のフラッシュメモリセルの第１の組１５３６のゲートに結合されている。
【０４１７】
同様に、マージニング電圧発生器装置１４９０は、第２パスＰＭＯＳＦＥＴ（Ｐ形金属酸化膜半導体電界効果トランジスタ）１５３８と第２パスＮＭＯＳＦＥＴ（Ｎ型金属酸化膜半導体電界効果トランジスタ）１５４０とを含むパストランジスタの第２の組も有する。パストランジスタの第２の組１５３８，１５４０のドレインは出力ノード１５１２に結合されており、パストランジスタの第２の組１５３８，１５４０のソースは、図７７に示すＣＡＭ１４８６のフラッシュメモリセルの第２の組１５４２のゲートに結合されている。
【０４１８】
図７８に、電圧レベルシフタ１５１８の実装例を示す。電圧レベルシフタ１５１８は、第１シフトＰＭＯＳＦＥＴ（Ｐ形金属酸化膜半導体電界効果トランジスタ）１５５２、第２シフトＰＭＯＳＦＥＴ（Ｐ形金属酸化膜半導体電界効果トランジスタ）１５５４、第１シフトＮＭＯＳＦＥＴ（Ｎチャネル金属酸化膜半導体電界効果トランジスタ）１５５６、および第２シフトＮＭＯＳＦＥＴ（Ｎ型金属酸化膜半導体電界効果トランジスタ）１５５８を備える。
【０４１９】
第１シフトＰＭＯＳＦＥＴ１５５２のソースと第２シフトＰＭＯＳＦＥＴ１５５４のソースは、共にＶＰＲＯＧの電圧レベルを供給する高電圧源１５０１に結合されている。第１シフトＰＭＯＳＦＥＴ１５５２のドレインと第１シフトＮＭＯＳＦＥＴ１５５６のドレインは、共に第１の出力ノードＯＵＴＢに結合されている。第２シフトＰＭＯＳＦＥＴ１５５４のドレインと第２シフトＮＭＯＳＦＥＴ１５５８のドレインは、共に第２の出力ノードＯＵＴに結合されている。第１シフトＰＭＯＳＦＥＴ１５５２のゲートは、第２の出力ノードＯＵＴで第２シフトＰＭＯＳＦＥＴ１５５４のドレインと第２シフトＮＭＯＳＦＥＴ１５５８のドレインとに結合されている。第２シフトＰＭＯＳＦＥＴ１５５４のゲートは、第１の出力ノードＯＵＴＢで第１シフトＰＭＯＳＦＥＴ１５５２のドレインと第１シフトＮＭＯＳＦＥＴ１５５６のドレインに結合されている。第１シフトＮＭＯＳＦＥＴ１５５６のゲートは入力ノードＩＮに結合されており、第２シフトＮＭＯＳＦＥＴ１５５８のゲートは第３インバータ１５６０を介して入力ノードＩＮに結合されている。
【０４２０】
図７９は、図７６のマージニング電圧発生器装置１４９０の動作中の電圧を示す表である。図７５，７６，７９を参照すると、信号ＥＲＭＡＲＧＩＮ、ＳＴＥＳＴ、ＢＶＥＲＩＦＹ、ＢＲＥＰＡＩＲ、およびＢＷＰＰＧＭは、ＢＩＳＴシステム３００から送信される制御信号である。制御信号ＥＲＭＡＲＧＩＮは、ＣＡＭ１４８６に消去マージニング動作を実行する際にはハイ状態（「１」）に設定され、ＣＡＭ１４８６にプログラムマージニング動作を実行する場合にはロー状態（「０」）に設定される。制御信号ＳＴＥＳＴは、外部試験システムによってＢＩＳＴ（組込み自己試験）モードが呼び出されている場合にはハイ状態（「１」）に設定され、外部試験システムによって手動モードが呼び出されている場合にはロー状態（「０」）に設定される。
【０４２１】
通常、ある制御信号がハイ（「１」）に設定されると、その制御信号に約５ボルトが印加される。一方、ある制御信号がロー（「０」）に設定されると、その制御信号に約０ボルトが印加される。
【０４２２】
図７６，７７を参照すると、制御信号ＢＲＥＰＡＩＲは、ＣＡＭ１４８６のフラッシュメモリセルの第１の組１５３６の機能を試験する場合にはロー（「０」）に設定され、制御信号ＢＷＰＰＧＭは、ＣＡＭ１４８６のフラッシュメモリセルの第２の組１５４２の機能を試験する場合にはロー（「０」）に設定される。ＢＶＥＲＩＦＹ制御信号によって、ＰＭＯＳＦＥＴ１５０６のオン／オフの切り替えが、高電圧源１５０１からの電圧レベルＶＰＲＯＧが安定したのちに行われるようになる。
【０４２３】
図８０に、外部試験システム１４９２によってＢＩＳＴモードが呼び出されているときに、出力ノード１５１２に３．３ボルトのプログラムマージニング電圧を供給するための、図７６のマージニング電圧発生器装置１４９０の動作時の電圧レベルを示す。図７９（図７９の「ＢＩＳＴプログラムマージン」の見出しのある１列目），８０を参照すると、ＢＩＳＴモードが呼び出されたために、制御信号ＳＴＥＳＴがハイ（「１」）に設定される。さらに、プログラムマージニング電圧であるため制御信号ＥＲＭＡＲＧＩＮがロー（「０」）に設定される。本発明の一実施形態では、図７７のＣＡＭ１４８６のフラッシュメモリセルの第２の組１５４２に３．３ボルトのプログラムマージニング電圧を印加するために、ＢＲＥＰＡＩＲ制御信号がハイ（「１」）に設定されると共に、ＢＷＰＰＧＭ制御信号がロー（「０」）に設定される。
【０４２４】
図７８，８０を参照すると、これらの制御信号によって、電圧レベルシフタ１５１８への入力がハイ（「１」）に設定され、この結果、第１の出力ノードＯＵＴＢの電圧レベルが０ボルトとなる。ＰＭＯＳＦＥＴ１５０６のゲートが０ボルトになると、ＰＭＯＳＦＥＴ１５０６がオンになる。さらに、これらの制御信号によって、ＮＭＯＳＦＥＴ１５０８のゲートに５ボルトの電圧レベルが印加され、この結果、ＮＭＯＳＦＥＴ１５０８がオンになる。ＰＭＯＳＦＥＴ１５０６とＮＭＯＳＦＥＴ１５０８が共にオンになると、第１抵抗器１５１０と第２抵抗器１５１４は、高電圧源１５０１と接地ノード１５０４の間に抵抗分割器（resistive divider）を形成する。この場合、出力ノード１５１２の出力電圧ＶＯＵＴは、次のようになる。
ＶＯＵＴ＝ＶＰＲＯＧ［Ｒ２／（Ｒ１＋Ｒ２）］
本発明の一実施形態では、ＶＰＲＯＧ＝５ボルトであり、Ｒ１とＲ２の値はＶＯＵＴ＝３．３ボルトとなるように選択される。
【０４２５】
図８１に、外部試験システム１４９２によってＢＩＳＴモードが呼び出されているときに、出力ノード１５１２に０ボルトの消去マージニング電圧を供給するための、図７６のマージニング電圧発生器装置１４９０の動作時の電圧レベルを示す。図７９（図７９の「ＢＩＳＴ消去マージン」の見出しのある２列目），８１を参照すると、ＢＩＳＴモードが呼び出されたために、制御信号ＳＴＥＳＴがハイ（「１」）に設定される。さらに、消去マージニング電圧であるため制御信号ＥＲＭＡＲＧＩＮがハイ（「１」）に設定される。さらに、図７７のＣＡＭ１４８６のフラッシュメモリセルの第１組１５３６および第２の組の１５４２の全てに０ボルトの消去マージニング電圧を印加するために、ＢＲＥＰＡＩＲ制御信号がロー（「０」）に設定されると共に、ＢＷＰＰＧＭ制御信号がロー（「０」）に設定される。
【０４２６】
図７８，８１を参照すると、これらの制御信号によって、電圧レベルシフタ１５１８への入力がロー（「０」）に設定され、この結果、第１の出力ノードＯＵＴＢの電圧レベルが高電圧のＶＰＲＯＧとなる。ＰＭＯＳＦＥＴ１５０６のゲートの電圧レベルがＶＰＲＯＧになると、ＰＭＯＳＦＥＴ１５０６がオフになる。さらに、これらの制御信号によって、ＮＭＯＳＦＥＴ１５０８のゲートに５ボルトの電圧レベルが印加され、この結果、ＮＭＯＳＦＥＴ１５０８がオンになる。ＰＭＯＳＦＥＴ１５０６がオフになり、ＮＭＯＳＦＥＴ１５０８がオンになると、出力ノード１５１２が、低電圧源１５０４の接地ノードの出力電圧ＶＯＵＴ＝０ボルトに放電される。
【０４２７】
図８２に、外部試験システム１４９２によって手動モードが呼び出されているときに、出力ノード１５１２にＶＰＲＯＧのプログラムマージニング電圧を供給するための、図７６のマージニング電圧発生器装置１４９０の動作時の電圧レベルを示す。図７９（図７９の「手動プログラムマージン」の見出しのある３列目），８２を参照すると、手動モードが呼び出されたために、制御信号ＳＴＥＳＴがロー（「０」）に設定される。さらに、プログラムマージニング電圧であるため制御信号ＥＲＭＡＲＧＩＮがロー（「０」）に設定される。さらに、図７７のＣＡＭ１４８６のフラッシュメモリセルの第１組１５３６および第２の組の１５４２の全てにＶＰＲＯＧのプログラムマージニング電圧を印加するために、ＢＲＥＰＡＩＲ制御信号がロー（「０」）に設定されると共に、ＢＷＰＰＧＭ制御信号がロー（「０」）に設定される。
【０４２８】
図７８，８２を参照すると、これらの制御信号によって、電圧レベルシフタ１５１８への入力がハイ（「１」）に設定され、この結果、第１の出力ノードＯＵＴＢの電圧レベルが０ボルトとなる。ＰＭＯＳＦＥＴ１５０６のゲートの電圧レベルが０ボルトになると、ＰＭＯＳＦＥＴ１５０６がオンになる。さらに、これらの制御信号によって、ＮＭＯＳＦＥＴ１５０８のゲートに０ボルトの電圧レベルが印加され、この結果、ＮＭＯＳＦＥＴ１５０８がオフになる。ＰＭＯＳＦＥＴ１５０６がオンになり、ＮＭＯＳＦＥＴ１５０８がオフになると、出力ノード１５１２が、高電圧源１５０１の出力電圧ＶＯＵＴ＝ＶＰＲＯＧボルトに充電される。
【０４２９】
図８３に、外部試験システムによって手動モードが呼び出されているときの、出力ノード１５１２に０ボルトの消去マージニング電圧を供給するための、図７６のマージニング電圧発生器装置１４９０の動作時の電圧レベルを示す。図７９（図７９の「手動消去マージン」の見出しのある４列目），８３を参照すると、手動モードが呼び出されたために、制御信号ＳＴＥＳＴがロー（「０」）に設定される。さらに、消去マージニング電圧であるため制御信号ＥＲＭＡＲＧＩＮがロー（「０」）に設定される。さらに、図７７のＣＡＭ１４８６のフラッシュメモリセルの第１組１５３６および第２の組の１５４２の全てに０ボルトの消去マージニング電圧を印加するために、ＢＲＥＰＡＩＲ制御信号がロー（「０」）に設定されると共に、ＢＷＰＰＧＭ制御信号がロー（「０」）に設定される。
【０４３０】
図７８，８３を参照すると、これらの制御信号によって、電圧レベルシフタ１５１８への入力がロー（「０」）に設定され、この結果、第１の出力ノードＯＵＴＢの電圧レベルがＶＰＲＯＧとなる。ＰＭＯＳＦＥＴ１５０６のゲートの電圧レベルがＶＰＲＯＧになると、ＰＭＯＳＦＥＴ１５０６がオフになる。さらに、これらの制御信号によって、ＮＭＯＳＦＥＴ１５０８のゲートに５ボルトの電圧レベルが印加され、この結果、ＮＭＯＳＦＥＴ１５０８がオンになる。ＰＭＯＳＦＥＴ１５０６がオフになり、ＮＭＯＳＦＥＴ１５０８がオンになると、出力ノード１５１２が、低電圧源１５０４の接地ノードの出力電圧ＶＯＵＴ＝０ボルトに放電される。
【０４３１】
さらに、ＳＴＥＳＴ信号が所望のハイ状態またはロー状態に設定されてから、遅れてＢＶＥＲＩＦＹ信号を所望のハイ状態またはロー状態に設定して、この結果、遅れてＰＭＯＳＦＥＴをオンまたはオフにすることができる。本発明の一実施形態によれば、この遅延によって、高電圧源１５０１からのＶＰＲＯＧ電圧レベルが安定してから、ＰＭＯＳＦＥＴがオンまたはオフになる。
【０４３２】
さらに、図７６，７７を参照すると、図７７に示すＣＡＭ１４８６のフラッシュメモリセルの第１の組１５３６に出力ノード１５１２の出力電圧ＶＯＵＴを結合するため、パストランジスタの第１の組および第２の組１５３２，１５３４，１５３８，１５４０のゲートに適切な電圧を印加して、パストランジスタの第１の組１５３２，１５３４をオンにする一方で、パストランジスタの第２の組１５３８，１５４０をオフに保持する。一方、図７７に示すＣＡＭ１４８６のフラッシュメモリセルの第２の組１５４２に出力ノード１５１２の出力電圧ＶＯＵＴを結合するため、パストランジスタの第１の組および第２の組１５３２，１５３４，１５３８，１５４０のゲートに適切な電圧を印加して、パストランジスタの第２の組１５３８，１５４０をオンにする一方で、パストランジスタの第１の組１５３２，１５３４をオフに保持する。あるいは、図７７に示すＣＡＭ１４８６のフラッシュメモリセルの第１の組および第２の組１５３６，１５４２に出力ノード１５１２の出力電圧ＶＯＵＴを結合するため、パストランジスタの第１の組および第２の組１５３２，１５３４，１５３８，１５４０をオンにする。パストランジスタの第１の組および第２の組１５３２，１５３４，１５３８，１５４０のゲートにこのような適切な電圧を印加するための制御回路は、電子工学の当業者に公知である。
【０４３３】
このように、ＣＡＭ１４８６のフラッシュメモリセルを試験するためのプログラムマージニング電圧または消去マージニング電圧が、抵抗分割器によってオンチップで生成され、このマージニング電圧は外部試験システムによって提供される電圧ＶＣＣとは独立している。図７６のマージニング電圧発生器装置１４９０の各種コンポーネントは半導体ダイ１４８０の半導体ウェハに作製されるため、プログラムマージニング電圧または消去マージニング電圧は半導体ダイ１４８０内でオンチップに生成される。より安定したマージニング電圧によって、多くの半導体ウェハのロット間で、フラッシュメモリデバイスのＣＡＭの試験結果の一貫性がさらに向上する。さらに、このように外部試験システムからのＶＣＣ電圧とは独立してマージニング電圧がオンチップで生成されることにより、コアフラッシュメモリセルの試験に使用される外部試験システムからのＶＣＣ電圧が変化する場合であっても、フラッシュメモリデバイスのＣＡＭの試験結果の一貫性がさらに向上する。
【０４３４】
上記の記載は例に過ぎず、限定を意図するものではない。例えば、本発明は、ＰＭＯＳＦＥＴ１５０６およびＮＭＯＳＦＥＴ１５０８以外の別の種類のトランジスタを使用して実施してもよい。さらに、本明細書に記載した電圧レベルはすべて例に過ぎず、本発明を、電子工学の当業者にとって本明細書の記載から自明の別の電圧レベルを使用して実施してもよい。本発明は、上記の請求項ならびにその均等物の定義によってのみ限定される。
【図面の簡単な説明】
【０４３５】
【図１】フラッシュメモリセルの断面図である。
【図２】図１のフラッシュメモリセルの回路図である。
【図３】フラッシュメモリデバイスに含まれるフラッシュメモリセルのアレイを示す。
【図４】複数の半導体ダイを有する半導体ウェハを示し、各半導体ダイにはフラッシュメモリセルのアレイがそれぞれ作製されている。
【図５】従来技術によるコアフラッシュメモリセルのアレイが作製され、コンタクトパッドを有する半導体ダイを示し、コンタクトパッドは、このコアフラッシュメモリセルのアレイの試験のために、外部試験システムがコアフラッシュメモリセルのアレイにプログラム動作、消去動作、および読出し動作を直接実行する際に使用される。
【図６】本発明の一態様による、フラッシュメモリデバイスの試験中に半導体ダイ内でプログラム動作、消去動作、および読出し動作がオンチップに実行されるように、コアフラッシュメモリセルのアレイと同じ半導体ダイにオンチップに作製されたＢＩＳＴ（組込み自己試験）システムを示す。
【図７】本発明の一実施形態による、図６のＢＩＳＴシステムの各種コンポーネントの概略ブロック図である。
【図８】本発明の一実施形態による、図７のＢＩＳＴインタフェースの各種コンポーネントのブロック図である。
【図９】本発明の一実施形態による、複数のフラッシュメモリ試験モードを実行するための、図６，７のＢＩＳＴシステム内の図８のＢＩＳＴインタフェースの動作ステップのフローチャートである。
【図１０】本発明の一実施形態による、図８のＢＩＳＴインタフェースの第１の状態、第２の状態、第３の状態、および第４の状態のタイミング生成のための、外部試験システムからの各種制御信号のタイミング図である。
【図１１】本発明の一実施形態による、ＢＩＳＴインタフェースのシリアルシフトレジスタ内のデータの例を示す。
【図１２】本発明の別の実施形態による、複数の半導体ダイのそれぞれのコアフラッシュメモリセルのオンチップ試験時のスループットを最大化するために、複数の半導体ダイによって共有される外部試験システムのピンを示す。
【図１３】本発明の一実施形態による、図７のバックエンドＢＩＳＴ状態機械の各種コンポーネントのブロック図である。
【図１４】本発明の一実施形態による、各ＢＩＳＴモードを実行するための図１３のバックエンドＢＩＳＴ状態機械がとる、状態ＳＴＡＲＴ、ＪＵＩＣＥ、ＶＥＲＩＦＹ１、ＶＥＲＩＦＹ２、ＡＰＤ、ＨＴＲＢ、ＤＯＮＥ、およびＨＡＮＧを含む比較的少数の状態を示す。
【図１５】本発明の一実施形態による、現在のＢＩＳＴモードがコアフラッシュメモリセルへのプログラム電圧および／または消去電圧の印加の場合の、図１３のバックエンドＢＩＳＴ状態機械の動作ステップのフローチャートである。
【図１６】ブロックとセクタに分割されたコアフラッシュメモリセルを示す。
【図１７】図１６のコアフラッシュメモリセルの各ブロック内に形成された６４本のビット線と６４本のワード線の例を示す。
【図１８】本発明の一実施形態による、現在のＢＩＳＴモードが、コアフラッシュメモリセルの各フラッシュメモリセルにプログラムまたは消去されているそれぞれの論理状態の読出しを含む場合の、図１３のバックエンドＢＩＳＴ状態機械の動作ステップのフローチャートである。
【図１９】本発明の一実施形態による、現在のＢＩＳＴモードが、コアフラッシュメモリセルの各フラッシュメモリセルのビット線およびワード線へのストレス電圧の印加の場合の、図１３のバックエンドＢＩＳＴ状態機械の動作ステップのフローチャートである。
【図２０】従来技術による、コアフラッシュメモリセルの不良アドレスの修復のため、コアフラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素に置き換える外部試験システムのＣＡＭ（内容参照可能メモリ）のプログラムのブロック図である。
【図２１】図１５のフローチャートに、本発明の一実施形態による、コアフラッシュメモリセルの不良アドレスのオンチップ修復のため、ＣＡＭ（内容参照可能メモリ）をオンチップにプログラムして、コアフラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素に置き換えるステップを追加したものである。
【図２２】フラッシュメモリセルの不良アドレスが、フラッシュメモリセルの冗長要素内にある状態を示す。
【図２３】図１８のフローチャートに、本発明の一実施形態による、コアフラッシュメモリセルの不良アドレスのオンチップ修復のため、ＣＡＭ（内容参照可能メモリ）をオンチップにプログラムして、コアフラッシュメモリセルの不良アドレスをフラッシュメモリセルの冗長要素に置き換えるステップを追加したものである。
【図２４】従来技術による、複数のブロックに分割されたコアフラッシュメモリセルを示す。
【図２５】本発明の一実施形態による、コアフラッシュメモリセルの各ブロックにあるコアフラッシュメモリセルの不良アドレスの修復に使用できる２つの冗長要素の組を示す。
【図２６】本発明の一実施形態による、コアフラッシュメモリセルの不良アドレスのオンチップ修復のための修復ルーチン中に使用される各種コンポーネントのブロック図である。
【図２７】本発明の一実施形態による、コアフラッシュメモリセルの不良アドレスのオンチップ修復のための、図２６のコンポーネントの動作中の修復ルーチンのステップを示すフローチャートである。
【図２８】本発明の一実施形態による、図２６のＦＡＩＬＲＥＰロジックの実装例を示す。
【図２９】ＣＡＭ（内容参照可能メモリ）が正しくプログラムされていることを検証する際に使用される変数を生成するための従来技術のＣＡＭ（内容参照可能メモリ）ロジックを示す。
【図３０】本発明の一実施形態による、図２８のＦＡＩＬＲＥＰロジックが生成するＦＡＩＬＲＥＰ値の値を示す表である。
【図３１】本発明の一実施形態による、図２６の修復照合ユニットの実装例を示す。
【図３２】本発明の一実施形態による、図２６の修復照合ユニットが生成するＲＥＤＯＫ値の値を示す表である。
【図３３】本発明の別の態様による、コアフラッシュメモリセルのアレイの機能とは切り離して、コアフラッシュメモリセルのアレイが作製されている半導体ダイに作製されたＢＩＳＴ（組込み自己試験）システムのバックエンド状態機械の機能を試験するシステムの各種コンポーネントを示す。
【図３４】本発明の一実施形態による、図３３のシステムの信号セレクタの実装例を示す。
【図３５】本発明の一実施形態による、図３３のシステムの診断照合ロジックの実装例を示す。
【図３６】本発明の一実施形態による、図３５の診断照合ロジックの信号ラッチの実装例を示す。
【図３７】本発明の一実施形態による、図３５の診断照合ロジック内で生成されるリセット値およびセット値と、これらによって決まる図３６の信号ラッチのＱ出力とを示す表である。
【図３８】本発明の一実施形態による、診断モードの呼び出し後にバックエンド状態機械が実行しようとしているＢＩＳＴモードが、コアフラッシュメモリセルのアレイのフラッシュメモリセルのプログラムの場合に、図３３のバックエンド状態機械がとる状態を示すフローチャートである。
【図３９】本発明の一実施形態による、診断モードの呼び出し後にバックエンド状態機械が実行しようとしているＢＩＳＴモードが、スタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）を行うコアフラッシュメモリセルのアレイのフラッシュメモリセルの消去の場合に、図３３のバックエンド状態機械がとる状態を示すフローチャートである。
【図４０】本発明の一実施形態による、診断モードの呼び出し後にバックエンド状態機械が実行しようとしているＢＩＳＴモードが、インターリーブＡＰＤＥ（消去後の自動プログラムディスターブ）を行うコアフラッシュメモリセルのアレイのフラッシュメモリセルの消去の場合に、図３３のバックエンド状態機械がとる状態を示すフローチャートである。
【図４１】本発明の一実施形態による、診断モードの呼び出し後にバックエンド状態機械３１６が実行しようとしているＢＩＳＴモードが、修復ルーチンの呼び出しを伴うコアフラッシュメモリセルの各フラッシュメモリセルのプログラムもしくは消去済みのそれぞれの論理状態の読出しの場合に、図３３のバックエンド状態機械がとる状態を示すフローチャートである。
【図４２】本発明の一実施形態による、ＢＩＳＴ（組込み自己試験）システム内の、アドレスシーケンサバッファおよびアドレスシーケンサ制御ロジックを備えたアドレスシーケンサのブロック図である。
【図４３】本発明の一実施形態による、図４２のアドレスシーケンサの複数のアドレスシーケンサバッファを示す。
【図４４】本発明の一実施形態による、ＢＩＳＴ（組込み自己試験）モードの開始時に、アドレスシーケンサバッファを先頭アドレスにリセットするため、アドレスシーケンサ制御ロジックが生成するリセット信号を示す。
【図４５】本発明の一実施形態による、２つの隣接するＸアドレスデコーダが互いに鏡像として作製されている場合に、Ｘアドレスの順行が物理的に隣接して行なわれるようにするため、Ｘアドレスビットのサブセットのアドレスシーケンサ制御ロジックによる順行の制御を示す。
【図４６】本発明の一実施形態による、アクセスしようとしている各ＯＴＰ（ワンタイムプログラム可能）フラッシュメモリセルのアドレスを外部試験システムによって指定するために、ＢＩＳＴ（組込み自己試験）インタフェースのレジスタからＹアドレスバッファのサブセットへのビットパターンの結合を示す。
【図４７】本発明の一実施形態による、冗長フラッシュメモリセルを順行すべきかどうかを判定するための冗長順行イネーブルロジックおよび最大列アドレスセレクタを示す。
【図４８】コアフラッシュメモリセルの最終列と冗長フラッシュメモリセルの最終列とを示す。
【図４９】本発明の一実施形態による、冗長フラッシュメモリセルを順行すべきかどうかを判定するために、順行イネーブルロジックおよび最大列アドレスセレクタによって使用される信号のタイミング図である。
【図５０】本発明の一実施形態による、複数のセクタの各ＷＰＣＡＭ（書込み保護内容参照可能メモリ）を順行するための、アドレスシーケンサ制御ロジックによるアドレスシーケンサバッファの制御を示す。
【図５１】本発明の一実施形態による、複数のセクタのＷＰＣＡＭ（書込み保護内容参照可能メモリ）を順行するためのビットパターンの表である。
【図５２】本発明の一実施形態による、消去トリミングされる基準セルのアドレスを示すための、ＢＩＳＴ（組込み自己試験）インタフェースのレジスタからＹアドレスバッファのサブセットへのビットパターンの結合を示す図である。
【図５３】本発明の一実施形態による、Ｙアドレスバッファのサブセットを使用した、消去トリミングＢＩＳＴモード中の基準セルのアドレスの順行を示す表である。
【図５４】本発明の一実施形態による基準セルの消去トリミングのフローチャートであり、アドレスシーケンサバッファのＹアドレスバッファのサブセットを使用して基準セルを順行する。
【図５５】本発明の一実施形態による、制御信号ＸｍｉｎｍａｘおよびＹｍｉｎｍａｘに応じて、各ビット線を順行してからワード線アドレスをインクリメントするか、あるいは各ワード線を順行してからビット線アドレスをインクリメントするための、アドレスシーケンサ制御ロジックによるアドレスシーケンサバッファの制御を示す。
【図５６】本発明の一実施形態による、チェッカーボードＢＩＳＴモードのために、フラッシュメモリセルの行および列について、フラッシュメモリセルを１つおきに順行するための、アドレスシーケンサ制御ロジックによるアドレスシーケンサバッファの制御を示す。
【図５７】本発明の一実施形態による、フラッシュメモリセルのセクタの対角位置の各フラッシュメモリセルを順行するための、アドレスシーケンサ制御ロジックによるアドレスシーケンサバッファの制御を示す。
【図５８】本発明の一実施形態による、フラッシュメモリセルのセクタの８個のサブセクタと８本の対角線を有するフラッシュメモリセルのセクタの例を示す。
【図５９】本発明の一実施形態による、フラッシュメモリセルのアレイが作製されている半導体ダイに作製された、各ＢＩＳＴモード用の所望のビットパターンを生成する複数のパターン生成ロジックユニットを有するシステムのブロック図である。
【図６０】本発明の一実施形態による、プログラムパターン生成ロジックユニット、消去パターン生成ロジックユニット、対角パターン生成ロジックユニット、およびチェッカーボードパターン生成ロジックユニットの一例を示す。
【図６１】本発明の一実施形態による、図６０の対角パターン生成ロジックユニットの実装例を示す。
【図６２】本発明の一実施形態による、図６０のチェッカーボードパターン生成ロジックユニットの実装例を示す。
【図６３】４行４列のフラッシュメモリセルのアレイの例と、アレイ内での各フラッシュメモリセルの位置を示す。
【図６４】現在のＢＩＳＴモードが図６３のフラッシュメモリセルのアレイの各フラッシュメモリセルのプログラムの場合の、全て論理ロー状態の所望のビットパターンを示す。
【図６５】現在のＢＩＳＴモードが図６３のフラッシュメモリセルのアレイの各フラッシュメモリセルの消去の場合の、全て論理ハイ状態の所望のビットパターンを示す。
【図６６】現在のＢＩＳＴモードが、論理ロー状態と論理ハイ状態のチェッカーボードパターンの場合の、図６３のフラッシュメモリセルのアレイの所望のビットパターンを示す。
【図６７】現在のＢＩＳＴモードが、フラッシュメモリセルのアレイの対角位置のみを論理ロー状態に設定した対角パターンの場合の、図６３のフラッシュメモリセルのアレイの所望のビットパターンを示す。
【図６８】図６３のフラッシュメモリセルのアレイの各位置のフラッシュメモリセルの、それぞれのＸアドレスおよびＹアドレスを示す表である。
【図６９】本発明の一実施形態による、図５９のパターンセレクタの実装例を示す。
【図７０】消去検証ＢＩＳＴ（組込み自己試験）モード中に消去検証される４行４列のフラッシュメモリのセクタの例を示す。
【図７１】本発明の一実施形態による、消去検証ＢＩＳＴモード中にフラッシュメモリセルのセクタに印加した消去パルス数をオンチップで追跡するシステムのブロック図である。
【図７２】本発明の一実施形態による、消去検証ＢＩＳＴモード中にフラッシュメモリセルのセクタに印加した消去パルス数をオンチップで追跡するための図７１のシステムのパルスカウンタコントローラ内の各種コンポーネントを示す。
【図７３】本発明の一実施形態による、消去検証ＢＩＳＴモード中にフラッシュメモリセルのセクタに印加した消去パルス数をオンチップで追跡するための、図７１，７２のシステムの動作を示すフローチャートである。
【図７４】従来技術による、周辺領域内にＣＡＭ（内容参照可能メモリ）を備えた図４の半導体ダイの各種コンポーネントと、外部試験システムからのプログラムマージニング電圧のオフチップでの生成を示す。
【図７５】本発明の一実施形態による、ＣＡＭ（内容参照可能メモリ）の試験中に、半導体ダイ内でマージニング電圧をオンチップで生成するＢＩＳＴ（組込み自己試験）システム内の、マージニング電圧発生器装置を備えた図４の半導体ダイの各種のコンポーネントを示す。
【図７６】本発明の一実施形態による、図７５のマージニング電圧発生器装置の回路図である。
【図７７】ＣＡＭフラッシュメモリセルを２つ有するＣＡＭ（内容参照可能メモリ）のブロック図である。
【図７８】本発明の一実施形態による、高電圧源に結合されたトランジスタのオン／オフを制御するため、図７６のマージニング電圧発生器装置に使用される電圧レベルシフタである。
【図７９】本発明の一実施形態による、図７６のマージニング電圧発生器装置の動作時の電圧レベルを示す表である。
【図８０】本発明の一実施形態による、ＢＩＳＴ（組込み自己試験）モード中にプログラムマージニングが呼び出された場合の図７６のマージニング電圧発生器装置の電圧レベルを示す。
【図８１】本発明の一実施形態による、ＢＩＳＴ（組込み自己試験）モード中に消去マージニングが呼び出された場合の図７６のマージニング電圧発生器装置の電圧レベルを示す。
【図８２】本発明の一実施形態による、手動モード中にプログラムマージニングが呼び出された場合の図７６のマージニング電圧発生器装置の電圧レベルを示す。
【図８３】本発明の一実施形態による、手動モード中に消去マージニングが呼び出された場合の図７６のマージニング電圧発生器装置の電圧レベルを示す。
【図１】
2005534131.tif 000003
【図２】
2005534131.tif 000004
【図３】
2005534131.tif 000005
【図４】
2005534131.tif 000006
【図５】
2005534131.tif 000007
【図６】
2005534131.tif 000008
【図７】
2005534131.tif 000009
【図８】
2005534131.tif 000010
【図９】
2005534131.tif 000011
【図１０】
2005534131.tif 000012
【図１１】
2005534131.tif 000013
【図１２】
2005534131.tif 000014
【図１３】
2005534131.tif 000015
【図１４】
2005534131.tif 000016
【図１５】
2005534131.tif 000017
【図１６】
2005534131.tif 000018
【図１７】
2005534131.tif 000019
【図１８】
2005534131.tif 000020
【図１９】
2005534131.tif 000021
【図２０】
2005534131.tif 000022
【図２１】
2005534131.tif 000023
【図２２】
2005534131.tif 000024
【図２３】
2005534131.tif 000025
【図２４】
2005534131.tif 000026
【図２５】
2005534131.tif 000027
【図２６】
2005534131.tif 000028
【図２７】
2005534131.tif 000029
【図２８】
2005534131.tif 000030
【図２９】
2005534131.tif 000031
【図３０】
2005534131.tif 000032
【図３１】
2005534131.tif 000033
【図３２】
2005534131.tif 000034
【図３３】
2005534131.tif 000035
【図３４】
2005534131.tif 000036
【図３５】
2005534131.tif 000037
【図３６】
2005534131.tif 000038
【図３７】
2005534131.tif 000039
【図３８】
2005534131.tif 000040
【図３９】
2005534131.tif 000041
【図４０】
2005534131.tif 000042
【図４１】
2005534131.tif 000043
【図４２】
2005534131.tif 000044
【図４３】
2005534131.tif 000045
【図４４】
2005534131.tif 000046
【図４５】
2005534131.tif 000047
【図４６】
2005534131.tif 000048
【図４７】
2005534131.tif 000049
【図４８】
2005534131.tif 000050
【図４９】
2005534131.tif 000051
【図５０】
2005534131.tif 000052
【図５１】
2005534131.tif 000053
【図５２】
2005534131.tif 000054
【図５３】
2005534131.tif 000055
【図５４】
2005534131.tif 000056
【図５５】
2005534131.tif 000057
【図５６】
2005534131.tif 000058
【図５７】
2005534131.tif 000059
【図５８】
2005534131.tif 000060
【図５９】
2005534131.tif 000061
【図６０】
2005534131.tif 000062
【図６１】
2005534131.tif 000063
【図６２】
2005534131.tif 000064
【図６３】
2005534131.tif 000065
【図６４】
2005534131.tif 000066
【図６５】
2005534131.tif 000067
【図６６】
2005534131.tif 000068
【図６７】
2005534131.tif 000069
【図６８】
2005534131.tif 000070
【図６９】
2005534131.tif 000071
【図７０】
2005534131.tif 000072
【図７１】
2005534131.tif 000073
【図７２】
2005534131.tif 000074
【図７３】
2005534131.tif 000075
【図７４】
2005534131.tif 000076
【図７５】
2005534131.tif 000077
【図７６】
2005534131.tif 000078
【図７７】
2005534131.tif 000079
【図７８】
2005534131.tif 000080
【図７９】
2005534131.tif 000081
【図８０】
2005534131.tif 000082
【図８１】
2005534131.tif 000083
【図８２】
2005534131.tif 000084
【図８３】
2005534131.tif 000085
【手続補正書】
【提出日】平成16年6月30日(2004.6.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
半導体基板（３０２）に作製されたフラッシュメモリセル（３０４）のアレイの試験方法であって、
前記半導体基板（３）にＢＩＳＴ（組込み自己試験）インタフェース（３１２）とバックエンド状態機械（３１６）とを作製するステップと、
前記ＢＩＳＴインタフェース（３１２）によって外部試験システム（３１８）から試験モードデータのビットを逐次的に入力するステップであって、
前記テストモードデータは複数のＢＩＳＴモードを実行する順序を示しており、各ＢＩＳＴモードは前記フラッシュメモリセルのアレイ全体の特性を試験するためのものであるステップと、
前記フラッシュメモリセル（３０４）のアレイのオンチップ試験のため、前記試験モードデータに指定された順序で、前記バックエンド状態機械（３１６）によってＢＩＳＴ（組込み自己試験）モードを実行するステップと、を有する方法。
【請求項２】
前記半導体基板（３０２）にフロントエンド状態機械（３１４）を作製するステップと、
前記ＢＩＳＴモードを実行する前記順序を決定するために前記フロントエンド状態機械（３１４）によって前記試験モードデータをデコードするステップと、をさらに有する請求項１に記載の方法。
【請求項３】
前記半導体基板（３０２）に前記ＢＩＳＴインタフェース（３１２）のシフトレジスタ（３２０）を作製するステップと、
１本のＩＯピンを介して前記シフトレジスタ（３２０）に前記試験モードデータを逐次的に入力するステップと、
各実行されたＢＩＳＴモードのそれぞれの合否結果を前記シフトレジスタ（３２０）に記憶するステップと、
前記１本のＩＯピンを介して、前記シフトレジスタ（３２０）から前記外部試験システム（３１８）に各ＢＩＳＴモードの前記それぞれの合否結果を逐次的にシフトアウトするステップと、をさらに有する請求項１または２に記載の方法。
【請求項４】
前記半導体基板（３０２）に複数のパターン生成ロジックユニット（１３０２）とパターンセレクタ（１３０４）とを作製するステップと、
各パターン生成ロジックユニット（１３０２）によって前記フラッシュメモリセルの位置に対応するそれぞれの論理状態を生成するステップと、
所望のビットパターンを生成するために、前記パターン生成ロジックユニット（１３０２）からの前記それぞれの論理状態の１つを前記パターンセレクタ（１３０４）によって選択するステップと、
ＢＩＳＴモードのために、検証状態中に前記所望のビットパターンを使用するステップと、
をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記半導体基板（３０２）にパルスカウンタ（１４０４）とパルスカウンタコントローラ（１４０６）とを作製するステップと、
前記パルスカウンタコントローラ（１４０６）によって最大数を入力するステップと、
消去検証ＢＩＳＴ（組込み自己試験）モード中に、前記セクタに印加された消去パルスの数が前記最大数未満でフラッシュメモリセルのセクタが消去検証に合格しない場合に、前記パルスカウンタコントローラ（１４０６）によって前記セクタの失敗の指標を出力するステップと、をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項６】
前記セクタの対角位置の各フラッシュメモリセルが消去検証に合格するまで、前記セクタに印加された消去パルス数の対角の合計を決定するステップであり、
前記最大数は前記消去パルス数の対角の合計の百分率であるステップと、
最大パルスカウント値（Ｍａｘ＿ＰＣ）から前記それぞれの消去パルス数の対角の合計の百分率を減算した値である少なくとも１つの再ロードカウント値を生成するステップと、
前記少なくとも１つの再ロードカウント値から、前記最大数に対応し、かつ前記パルスカウンタ（１４０４）にロードすべき再ロードカウント値を１つ選択するステップと、
前記セクタの各フラッシュメモリセルの消去検証中に前記セクタに印加された消去パルスの数を前記選択された再ロードカウント値を始点に前記パルスカウンタ（１４０４）によってカウントするステップと、
前記パルスカウンタ（１４０４）が前記Ｍａｘ＿ＰＣに達する前に前記セクタの各フラッシュメモリセルが消去検証に合格しない場合に、前記パルスカウンタコントローラ（１４０６）によって前記セクタの失敗の指標を出力するステップと、をさらに有する請求項５に記載の方法。
【請求項７】
前記半導体基板（３０２）に修復コントローラ（８３２）と複数の電圧源（８３６）とを作製するステップと、
ＢＩＳＴモード中の前記フラッシュメモリセル（３０４）の試験中に不良フラッシュメモリセル（７５０）を検出するステップと、
前記修復コントローラ（８３２）によって前記電圧源（８３６）を制御して、前記不良フラッシュメモリセル（７５０）を対応する前記フラッシュメモリセルの冗長要素（７８２）に置き換えるためにＪＵＩＣＥ状態中にそれぞれのＣＡＭ（内容参照可能メモリ）フラッシュメモリセルにプログラム電圧を印加させるステップと、をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項８】
前記半導体基板（３０２）にＦＡＩＬＲＥＰロジック（８４８）を作製するステップと、
前記ＦＡＩＬＲＥＰロジック（８４８）が、使用可能なフラッシュメモリセルの冗長要素がないか前記不良フラッシュメモリセル（７５０）が以前に修復されていると判定した場合にＨＡＮＧ状態に入るステップと、をさらに有する請求項７に記載の方法。
【請求項９】
前記半導体基板（３０２）に前記バックエンド状態機械（３１６）のための複数の電圧源（５０４）とバックエンドＢＩＳＴコントローラ（５０２）とを作製するステップと、
ＢＩＳＴモードが第１の状態のシーケンスに従って前記フラッシュメモリセル（３０４）に電圧を印加するためのものであるか、あるいは前記ＢＩＳＴモードが第２の状態のシーケンスに従って前記フラッシュメモリセル（３０４）のそれぞれの論理状態を読出すためのものであるかを前記バックエンドＢＩＳＴコントローラ（５０２）によって判定するステップと、をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項１０】
前記半導体基板（３０２）に信号セレクタ（９６６）と診断照合ロジック（９６４）とを作製するステップと、
前記バックエンド状態機械（３１６）からの制御変数によって、生成マッチ出力を前記診断照合ロジック（９６４）によって合格状態または不合格状態に設定するステップと、
診断モードが呼び出されている場合に、ＢＩＳＴモードの検証ステップで前記バックエンド状態機械（３１６）が使用する前記生成マッチ出力を前記信号セレクタ（９６６）によって選択するステップと、をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項１１】
前記診断モードが呼び出されている前記ＢＩＳＴモードが、前記フラッシュメモリセル（３０４）のプログラム、スタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）を伴う前記フラッシュメモリセル（３０４）の消去、またはインターリーブＡＰＤＥを伴う前記フラッシュメモリセル（３０４）の消去の１つである請求項１０に記載の方法。
【請求項１２】
前記半導体基板（３０２）にアドレスシーケンサ制御ロジック（１２０４）とアドレスシーケンサバッファ（１２０２）とを作製するステップと、
前記フラッシュメモリセル（３０４）のアドレスを示すために複数のビットを前記バッファ（１２０２）によって生成するステップと、
前記制御ロジック（１２０４）によって前記バッファ（１２０２）を制御して、複数のＢＩＳＴモードのそれぞれに対するビットパターンのそれぞれのシーケンスを順行させるステップと、をさらに有する請求項１〜３のいずれか一項に記載の方法。
【請求項１３】
前記半導体基板（３０２）に高電圧源（１５０１）、少なくとも１つの抵抗器（１５１０，１５１４）、少なくとも１つのスイッチ素子（１５０６，１５０８）、および論理回路（１５１６）を作製するステップと、
低電圧ノード（１５０４）の低電圧を基準として前記高電圧源（１５０１）によって高電圧を発生させるステップであって、
前記少なくとも１つの抵抗器（１５１０，１５１４）と前記少なくとも１つのスイッチ素子（１５０６，１５０８）とは、前記高電圧源（１５０１）と前記低電圧ノード（１５０４）との間に直列に結合されているステップと、
前記直列結合に沿って出力ノード（１５１２）にマージニング電圧をオンチップに生成するために、ＢＩＳＴモードの種類によって前記論理回路（１５１６）によって各スイッチ素子（１５０６，１５０８）をオンまたはオフにするステップと、をさらに有する請求項１に記載の方法。
【請求項１４】
前記フラッシュメモリセル（３０４）のプログラムマージニングのために前記少なくとも１つの抵抗器によって前記出力ノード（１５１２）に抵抗分圧器（１５１０，１５１４）を形成するステップと、
前記フラッシュメモリセル（３０４）の消去マージニングのために前記出力ノード（１５１２）を前記低電圧に放電するステップと、をさらに有する請求項１３に記載の方法。
【請求項１５】
半導体基板（３０２）に作製されたフラッシュメモリセル（３０４）のアレイを試験するためのＢＩＳＴ（組込み自己試験）システム（３００）であって、
前記半導体基板（３０２）に作製され、外部試験システム（３１８）から試験モードデータのビットを逐次的に入力するＢＩＳＴ（組込み自己試験）インタフェース（３１２）と、
前記テストモードデータは複数のＢＩＳＴモードを実行する順序を示しており、各ＢＩＳＴモードは前記フラッシュメモリセルのアレイ全体の特性を試験するためのものであり、
前記半導体基板（３０２）に作製され、前記フラッシュメモリセル（３０４）のアレイのオンチップ試験のため、前記試験モードデータに指定された順序で、前記複数のＢＩＳＴ（組込み自己試験）モードを実行するバックエンド状態機械（３１６）と、を有するＢＩＳＴシステム。
【請求項１６】
前記半導体基板（３０２）に作製され、前記ＢＩＳＴモードを実行する順序を決定するために前記試験モードデータをデコードするフロントエンド状態機械（３１４）をさらに有する請求項１５に記載のＢＩＳＴシステム。
【請求項１７】
前記ＢＩＳＴインタフェース（３１２）内に、１本のＩＯピンを介して前記試験モードデータを逐次的に入力するシフトレジスタ（３２０）をさらに有し、前記シフトレジスタ（３２０）は、前記ＩＯピンを介して各ＢＩＳＴモードのそれぞれの合否結果を記憶して逐次的に出力する請求項１５または１６に記載のＢＩＳＴシステム。
【請求項１８】
前記半導体基板（３０２）に作製され、それぞれがフラッシュメモリセルの位置に対応するそれぞれの論理状態を生成する複数のパターン生成ロジックユニット（１３０２）と、
前記半導体基板（３０２）に作製され、前記所望のビットパターンを生成するために前記パターン生成ロジックユニット（１３０２）からの前記それぞれの論理状態のうちの１つを選択するパターンセレクタ（１３０４）と、をさらに有する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項１９】
前記半導体基板（３０２）に作製されたパルスカウンタ（１４０４）と、
前記半導体基板（３０２）に作製され、最大数を入力し、消去検証ＢＩＳＴ（組込み自己試験）モード中に、前記セクタに印加された消去パルスの数が前記最大数未満でフラッシュメモリセルのセクタが消去検証に合格しない場合に、前記セクタの失敗の指標を出力するパルスカウンタコントローラ（１４０６）と、をさらに有する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項２０】
前記パルスコントローラ（１４０６）は、前記パルスカウンタ（１４０４）を制御して、前記セクタの対角位置の各フラッシュメモリセルが消去検証に合格するまで、前記セクタに印加された消去パルス数の対角の合計を決定させ、
前記最大数は前記消去パルス数の対角の合計の百分率であり、前記ＢＩＳＴシステムは、
前記半導体基板（３０２）に作製され、それぞれの再ロードカウント値を生成する少なくとも１つの再ロードカウント値発生器（１４２２，１４２４，１４２６）と、前記再ロードカウント値は最大パルスカウント値（Ｍａｘ＿ＰＣ）から前記それぞれの消去パルス数の対角の合計の百分率を減算した値であり、
前記パルスカウンタコントローラ内の、前記少なくとも１つの再ロードカウント値から、前記最大数に対応する再ロードカウント値を選択するマルチプレクサ（１４１８）と、
前記パルスカウンタコントローラ内の、前記パルスカウンタを制御して、前記マルチプレクサ（１４１８）から選択再ロードカウント値をロードさせる再ロードロジック（１４１６）と、をさらに有し、
前記パルスカウンタ（１４０４）は、前記セクタの各フラッシュメモリセルの消去検証中に前記セクタに印加された消去パルスの数を前記選択された再ロードカウント値を始点にカウントし、
前記パルスカウンタコントローラ（１４０６）は、前記パルスカウンタがＭａｘ＿ＰＣに達する前に前記セクタの各フラッシュメモリセルが消去検証に合格しない場合に、前記セクタの失敗の指示を出力する請求項１９に記載のＢＩＳＴシステム。
【請求項２１】
前記半導体基板（３０２）に作製されたＣＡＭ（内容参照可能メモリ）フラッシュメモリセル（７９０）およびフラッシュメモリセルの冗長要素（７８２）と、
前記半導体基板（３０２）に作製された複数の電圧源（８３６）と、
ＢＩＳＴモード中の前記フラッシュメモリセルの試験中に不良フラッシュメモリセル（７５０）が検出され、
前記半導体基板（３０２）に作製され、前記電圧源（８３６）を制御して、前記不良フラッシュメモリセル（７５０）を対応する前記フラッシュメモリセルの冗長要素（７８２）に置き換えるためにＪＵＩＣＥ状態中にそれぞれのＣＡＭ（内容参照可能メモリ）フラッシュメモリセル（７９０）にプログラム電圧を印加させる修復コントローラ（８３２）と、をさらに有する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項２２】
前記半導体基板（３０２）に作製されたＦＡＩＬＲＥＰロジック（８４８）をさらに有し、前記ＦＡＩＬＲＥＰロジックが、使用可能なフラッシュメモリセルの冗長要素がないか前記不良フラッシュメモリセル（７５０）が以前に修復されていると判定した場合に前記ＦＡＩＬＲＥＰロジックはＨＡＮＧ状態に入る請求項２１に記載のＢＩＳＴシステム。
【請求項２３】
前記半導体基板（３０２）に作製され、ＢＩＳＴモードに対応するそれぞれの電圧を発生させる複数の電圧源（５０４）と、
前記半導体基板（３０２）に作製され、ＢＩＳＴモードが第１の状態のシーケンスに従って前記フラッシュメモリセル（３０４）に電圧を印加するためのものであるか、あるいは前記ＢＩＳＴモードが第２の状態のシーケンスに従って前記フラッシュメモリセル（３０４）のそれぞれの論理状態を読出すためのものであるかを判定するバックエンドＢＩＳＴコントローラ（５０２）と、をさらに有する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項２４】
前記半導体基板（３０２）に作製された信号セレクタ（９６６）と、
前記半導体基板（３０２）に作製された診断照合ロジック（９６４）と、をさらに有し、
前記診断照合ロジック（９６４）は、前記バックエンド状態機械（３１６）からの制御変数によって、生成マッチ出力を合格状態または不合格状態に設定し、
前記信号セレクタ（９６６）は、診断モードが呼び出されている場合に、ＢＩＳＴモードの検証ステップで前記バックエンド状態機械（３１６）が使用する前記生成マッチ出力を選択する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項２５】
前記診断モードが呼び出されている前記ＢＩＳＴモードが、前記フラッシュメモリセル（３０４）のプログラム、スタンドアロンＡＰＤＥ（消去後の自動プログラムディスターブ）を伴う前記フラッシュメモリセル（３０４）の消去、またはインターリーブＡＰＤＥを伴う前記フラッシュメモリセル（３０４）の消去の１つである請求項２４に記載のＢＩＳＴシステム。
【請求項２６】
前記半導体基板（３０２）に作製され、前記フラッシュメモリセル（３０４）のアドレスを表す複数のビットを生成するアドレスシーケンサバッファ（１２０２）と、
前記半導体基板（３０２）に作製され、前記バッファ（１２０２）を制御して、複数のＢＩＳＴモードのそれぞれに対するビットパターンのそれぞれのシーケンスを順行させるアドレスシーケンサ制御ロジック（１２０４）と、をさらに有する請求項１５〜１７のいずれか一項に記載のＢＩＳＴシステム。
【請求項２７】
前記半導体基板（３０２）に作製され、低電圧ノード（１５０４）の低電圧を基準として高電圧を発生させる高電圧源（１５０１）と、
前記半導体基板（３０２）に作製され、前記高電圧源（１５０１）と前記低電圧ノード（１５０４）との間に直列に結合された少なくとも１つの抵抗器（１５１０，１５１４）および少なくとも１つのスイッチ素子（１５０６，１５０８）と、
前記半導体基板（３０２）に作製され、前記直列結合に沿って出力ノード（１５１２）にマージニング電圧をオンチップに生成するために、ＢＩＳＴモードの種類によって各スイッチ素子（１５０６，１５０８）をオンまたはオフにする論理回路（１５１６）と、をさらに有する請求項１５に記載のＢＩＳＴシステム。
【請求項２８】
前記フラッシュメモリセル（３０４）のプログラムマージニングのために前記少なくとも１つの抵抗器によって前記出力ノード（１５１２）に抵抗分圧器（１５１０，１５１４）が形成され、
前記フラッシュメモリセル（３０４）の消去マージニングのために前記出力ノード（１５１２）が低電圧に放電される、請求項２７に記載のＢＩＳＴシステム。
【国際調査報告】
2005534131.tif 000086
2005534131.tif 000087
2005534131.tif 000088