(57)【要約】      （修正有）【課題】アドレススクランブリング及びデータスクランブリングを含んでメモリテスタの構成を最適化できるメモリ素子テストのためのアルゴリズムパターン生成器を提供する。【解決手段】  テストプログラムを記憶するインストラクションメモリ、このメモリから順次テストプログラムのインストラクションをフェッチするシーケンス制御部、外部装置とのインターフェースユニット、同一位相のクロック信号を生成して提供するＰＬＬ、各クロックサイクルに対してテストに必要なコマンドを生成するコマンド生成部、それぞれが各クロックサイクルに対してアドレススクランブリングによりテストに必要なアドレスを生成するアドレス生成部及びデータスクランブリングによりテストに必要なデータを生成するデータ生成部、並びに各クロックサイクルに対してデータ生成部で生成されたデータとテストデータを比較して不良メモリに対する情報を記憶するデータ比較部を含む。【選択図】図１
2006047311.tif 000002
【特許請求の範囲】
【請求項１】
外部のコンソールＰＣから、テストを行うインストラクションを含むテストプログラムを受けて記憶するインストラクションメモリと、
テスト実行時、前記インストラクションメモリから順次前記テストプログラムのインストラクションをフェッチ（ｆｅｔｃｈ）するシーケンス制御部と、
外部装置とのインターフェースを行うインターフェースユニットと、
同一位相を有するクロック信号を生成して提供するＰＬＬ（Ｐｈａｓｅ ｌｏｃｋｅｄ ｌｏｏｐ）と、
前記ＰＬＬにより提供される各クロックサイクルに対して、テストに必要なコマンドロジッグを生成するコマンド生成部と、
前記各クロックサイクルに対して、アドレススクランブリングにより、テストに必要なアドレスロジッグを生成するアドレス生成部と、
前記各クロックサイクルに対して、データスクランブリングにより、テストに必要なデータロジッグを生成するデータ生成部と、
前記各クロックサイクルに対して、前記データ生成部で生成されたデータとテストデータを比較して不良メモリに対する情報を記憶するデータ比較部と、
を含むことを特徴とする、メモリ素子テストのためのアルゴリズムパターン生成器。
【請求項２】
前記インターフェースユニットは、
テストに必要な各電圧を供給する可変電源供給部と、テストに必要なテストプログラムを生成し、テスト結果を受けて分析する機能を含むコンソールＰＣと、基準クロックを生成するクロック生成部と、制御のための制御部とを含むメモリテスタとのインターフェースを行うことを特徴とする、請求項１に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項３】
前記インストラクションメモリは、
各クロックサイクルごとにインストラクションポインタを計算してテストプログラムのシーケンス制御をするのに使用されるデータであるシーケンスフィールドと、
メモリアドレスラインの生成のための算術的演算のためのデータであるアドレスフィールドと、
メモリデータラインの生成のための算術的演算のためのデータであるデータフィールドと、
メモリ制御信号状態または実時間インバージョン（ｉｎｖｅｒｓｉｏｎ）フラッグなどのためのデータである制御フィールドと、
を含む一つ以上のインストラクションを記憶することを特徴とする、請求項１に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項４】
前記シーケンス制御部は、
開始アドレスを記憶するレジスターである開始アドレスレジスターと、
前記インストラクションメモリからインストラクションのポインタをローディングして記憶するインストラクションポインタと、
インストラクションポインタのスタックのためのレジスターであるスタックレジスターと、
インストラクションカウンターのためのインストラクションカウンターレジスターと、
フラッグデータを記憶するフラッグレジスターと、
前記インストラクションメモリから該当オペレーションをローディングして制御し、前記インストラクションポインタまたはスタックレジスターまたは前記インストラクションカウンターレジスターまたは前記フラッグレジスターに対する制御を行う制御ユニットと、
を含むことを特徴とする、請求項１に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項５】
前記コマンド生成部は、ＣＳ（ｃｈｉｐ ｓｅｌｅｃｔ）、ＲＡＳ（Ｒｏｗ Ａｄｄｒｅｓｓ Ｓｔｒｏｂｅ）、およびＣＡＳ（Ｃｏｌｕｍｎ Ａｄｄｒｅｓｓ Ｓｔｒｏｂｅ）信号を含むコマンドを生成することを特徴とする、請求項１に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項６】
前記アドレス生成部は、
メモリのローアドレスとコラムアドレスとバンクアドレスを生成するための論理的アドレス生成部と、
前記メモリのローアドレスとコラムアドレスのスクランブリングされたアドレスを生成するためのスクランブルアドレス生成部と、
前記スクランブリングされたアドレスを多重化して物理的アドレスを生成するアドレス多重化部と、
を含むことを特徴とする、請求項１に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項７】
前記論理的アドレス生成部は、
メモリのローアドレス（Ｘ）の初期値を記憶する第１初期値レジスターと、
メモリのコラムアドレス（Ｙ）の初期値を記憶する第２初期値レジスターと、
メモリのバンクアドレス（Ｚ）の初期値を記憶する第３初期値レジスターと、
前記第１初期値レジスターの値を受け、算術的演算を行って追加的なローアドレス（ＤＸ）を生成するＡＬＵ−ＤＸと、
前記第２初期値レジスターの値を受け、算術的演算を行って追加的なコラムアドレス（ＤＹ）を生成するＡＬＵ−ＤＹと、
前記ＡＬＵ−ＤＸの出力値とローアドレスの即時住所値（ｉｍｍＸ）を受けてローアドレス生成のための算術的演算を行うＡＬＵ−Ｘと、
前記ＡＬＵ−ＤＹの出力値とコラムアドレスの即時住所値（ｉｍｍＹ）を受けてコラムアドレス生成のための算術的演算を行うＡＬＵ−Ｙと、
前記第３初期値レジスターの値を受けてバンクアドレス生成のための算術的演算を行うＡＬＵ−Ｚと、
ローアドレス反転（ｉｎｖｅｒｓｉｏｎ）フラッグを受ける場合、前記ＡＬＵ−Ｘの出力値を反転してメモリのローアドレスを出力する第１反転器と、
コラムアドレス反転フラッグを受ける場合、前記ＡＬＵ−Ｙの出力値を反転してメモリのコラムアドレスを出力する第２反転器と、
バンクアドレス反転フラッグを受ける場合、前記ＡＬＵ−Ｚの出力値を反転してメモリのバンクアドレスを出力する第３反転器と、
を含むことを特徴とする、請求項６に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項８】
前記スクランブルアドレス生成部は、
ローアドレススクランブリングの基準となるデータを記憶するＸ−スクランブルテーブルと、
コラムアドレススクランブリングの基準となるデータを記憶するＹ−スクランブルテーブルと、
前記論理的アドレス生成部の出力値であるメモリのローアドレス（Ｘ）を受け、前記Ｘ−スクランブルテーブルに記憶された値に基づいてアドレススクランブリングを行うＸ−スクランブリングロジッグと、
前記論理的アドレス生成部の出力値であるメモリのコラムアドレス（Ｙ）を受け、前記Ｙ−スクランブルテーブルに記憶された値に基づいてアドレススクランブリングを行うＹ−スクランブリングロジッグと、
前記Ｘ−スクランブリングロジッグの出力値と前記論理的アドレス生成部の出力値であるメモリのローアドレス（Ｘ）を受けて多重化を行う第１マルチプレクサと、
前記Ｙ−スクランブリングロジッグの出力値と前記論理的アドレス生成部の出力値であるメモリのコラムアドレス（Ｙ）を受けて多重化を行う第２マルチプレクサと、
前記第１マルチプレクサの出力値とスクランブリングに関連したフラッグであるＡＳＣＲＡＭ＿ＥＮ（ａｄｄｒｅｓｓ ｓｃｒａｍｂｌｅ ｄｉｓａｂｌｅ ｆｌａｇ）またはＡＳＣＲＯＦＦ（ｒｅａｌ−ｔｉｍｅ ａｄｄｒｅｓｓ ｓｃｒａｍｂｌｉｎｇ ｄｉｓａｂｌｅ ｆｌａｇ）値を受けて物理的アドレスに変換するためのスクランブルローアドレスを生成するＸ−演算ロジッグと、
前記第２マルチプレクサの出力値とスクランブリングに関連したフラッグであるＡＳＣＲＡＭ＿ＥＮまたはＡＳＣＲＯＦＦ値を受けて物理的アドレスに変換するためのスクランブルコラムアドレスを生成するＹ−演算ロジッグを含むものであり、
前記Ｘ−演算ロジッグはＸｎ＝ＮＯＴ（Ｘｉ ｌｏｇｉｃ Ｘｊ）［ｎ、ｉ、ｊは０から１５までの整数、前記ｌｏｇｉｃはＮＯＰ（ｎｏｎ ｏｐｅｒａｔｉｏｎ）、ＡＮＤ、ＯＲ、ＸＯＲ演算］と定義される出力値を生成し、
前記Ｙ−演算ロジッグはＹｎ＝ＮＯＴ（Ｙｉ ｌｏｇｉｃ Ｙｊ）［ｎ、ｉ、ｊは０から１５までの整数、前記ｌｏｇｉｃはＮＯＰ（ｎｏｎ ｏｐｅｒａｔｉｏｎ）、ＡＮＤ、ＯＲ、ＸＯＲ演算］と定義される出力値を生成することを特徴とする、請求項６に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項９】
前記アドレス多重化部は、前記スクランブルアドレス生成部の出力値をＡＹ（Ｙ−ａｄｄｒｅｓｓ Ｓｅｌｅｃｔ Ｆｌａｇ）で多重化して物理的アドレスを生成する第３マルチプレクサを含むことを特徴とする、請求項６に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項１０】
前記データ生成部は、
テストされるデータを生成する論理的データ生成部と、
前記論理的データ生成部の出力信号をスクランブリングしたスクランブルデータを生成するスクランブルデータ生成部と、
メモリのＤＱ信号として入力するため、スクランブルデータをシリアライゼーション（ｓｅｒｉａｌｉｚａｔｉｏｎ）するシリアライゼーション部と、
メモリのＤＱ信号として出力されたデータをデ−シリアライゼーション（ｄｅ−ｓｅｒｉａｌｉｚａｔｉｏｎ）するデ−シリアライゼーション部と、
を含むことを特徴とする、請求項１に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項１１】
前記論理的データ生成部は、
データの初期値を記憶する初期レジスターと、
前記初期レジスターに記憶された値とデータの即時値を受けて算術演算を行うＡＬＵ−Ｄと、
ＤＰ選択（Ｄａｔａ ｐａｔｔｅｒｎ ｓｅｌｅｃｔ）信号と前記アドレス生成部の内部信号値であるメモリのローアドレス（Ｘ）及びコラムアドレス（Ｙ）を受けてデータパターンを生成するデータパターン生成部と、
データ補償のためのマスクデータを記憶しているデータ補償マスクレジスター（Ｄａｔａ ｃｏｍｐｌｅｍｅｎｔ ｍａｓｋ ｒｅｇｉｓｔｅｒ）と、
データの反転のための値であるＤＦＬＧ（ｃｏｎｓｉｓｔｅｎｔ ｄａｔａ ｉｎｖｅｒｓｉｏｎ ｆｌａｇ）を記憶しているＤＦＬＧレジスターと、
前記データ補償マスクレジスターのマスクデータを反転させる第４反転器と、
前記第４反転器の出力信号及び実時間データ反転フラッグを受けてＡＮＤ演算するＡＮＤ論理と、
前記ＡＬＵ−Ｄの出力値と前記ＡＮＤ論理の出力値と前記ＤＦＬＧレジスターに記憶された値と前記データパターン生成器の出力値をエクスクルーシブＯＲ演算して論理的データを出力するエクスクルーシブＯＲ論理と、
を含むことを特徴とする、請求項１０に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項１２】
前記スクランブルデータ生成部は、
スクランブリングの基準となるデータを記憶するデータ−スクランブルテーブルと、
前記論理的データ生成部の出力信号である論理的データと前記アドレス生成部の論理的アドレス値の一部を受け、前記データ−スクランブルテーブルに記憶された値に基づいてデータスクランブリングを行うデータスクランブルロジッグと、
前記データスクランブルロジッグの出力値とスクランブリングに関連したフラッグであるＤＳＣＲＡＭ＿ＥＮ（ｄａｔａ ｓｃｒａｍｂｌｅ ｄｉｓａｂｌｅ ｆｌａｇ）またはＤＳＣＲＯＦＦ（ｒｅａｌ−ｔｉｍｅ ｄａｔａ ｓｃｒａｍｂｌｉｎｇ ｄｉｓａｂｌｅｆｌａｇ）値を受けて多重化を行う第４マルチプレクサと、
前記第４マルチプレクサの出力値を受けてスクランブルデータを生成するデータ演算ロジッグを含むものであり、
前記データ演算ロジッグは、Ｄｎ＝ＮＯＴ（Ａｉ ｌｏｇｉｃ Ａｊ）［ｎは０から７までの整数、Ａ＝ＸまたはＡ＝Ｙであり、ｉ、ｊは０から３までの整数、前記ｌｏｇｉｃはＮＯＰ（ｎｏｎ ｏｐｅｒａｔｉｏｎ）、ＡＮＤ、ＯＲ、ＸＯＲロジッグ］と定義される出力値を生成することを特徴とする、請求項１０に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項１３】
前記シリアライゼーション部は、
前記スクランブルデータ生成部の出力信号のなかでＭＳＢ（Ｍｏｓｔ ｓｉｇｎｉｆｉｃａｎｔ ｂｉｔｓ）部分を受け、アウトクロックに基づいて値の変化を反映して出力する第１フリップフロップと、
前記スクランブルデータ生成部の出力信号のなかでＬＳＢ（Ｌｅａｓｔ ｓｉｇｎｉｆｉｃａｎｔ ｂｉｔｓ）部分を受け、アウトクロックに基づいて値の変化を反映して出力する第２フリップフロップと、
前記第１フリップフロップ及び第２フリップフロップの出力値を受け、前記アウトクロックに基づいて多重化する第５マルチプレクサと、
前記第５マルチプレクサによって多重化された信号を反転してシリアライゼーションされた出力信号を生成する第５反転器と、
を含むことを特徴とする、請求項１０に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項１４】
前記デ−シリアライゼーション部は、
前記メモリのＤＱ信号を受け、インクルロック信号に基づいて値の変化を反映して出力する第３フリップフロップと、
前記シリアライゼーション部の出力信号を受け、前記インクルロック信号の反転された値に基づいて値の変化を反映して出力する第４フリップフロップと、
前記第３フリップフロップの出力値を受け、前記インクルロック信号の反転された値に基づいて値の変化を反映して出力するラッチと、
前記ラッチ及び前記第４フリップフロップの出力信号を結合して信号を出力する出力部と、
を含むことを特徴とする、請求項１０に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項１５】
前記データ比較部は、
前記データ生成部の出力信号を受けてデータ比較を行うデジタル比較部と、
不良が発生したメモリを選定する不良メモリ選定部と、
不良メモリの開始レジスター情報と不良モードについての情報を記憶する記憶手段と、
を含むことを特徴とする、請求項１に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項１６】
前記アルゴリズムパターン生成器は、ＦＰＧＡからワンチップに構成されることを特徴とする、請求項１〜１５のいずれか一項に記載のメモリ素子テストのためのアルゴリズムパターン生成器。
【請求項１７】
メモリ素子をテストするメモリテスタにおいて、
メモリ素子のテストに必要な各電圧を供給する可変電源供給部と、
テストに必要なテストプログラムを生成し、テスト結果を受けて分析する機能を有するコンソールＰＣと、
基準クロックを生成するクロック生成器と、
制御のための制御部と、
前記コンソールＰＣから前記テストプログラムを受け、テストパターン信号を生成してテスト対象のメモリ素子に送信し、前記メモリ素子から出力されるテスト結果を受けて比較するパターン生成ボードと、を含み、
請求項１〜１５のいずれか一項のアルゴリズムパターン生成器を用いてテストパターンを生成し、テストを行うことを特徴とする、メモリ素子をテストするメモリテスタ。
【請求項１８】
アルゴリズムパターン生成器を用いてメモリ素子をテストする方法において、
テストについての情報を含むソースプログラムをローディングし、コンパイラーによってコンパイルしてテストプログラムを生成する段階と、
前記テストプログラムを請求項１〜１５のいずれか一項のアルゴリズムパターン生成器に伝送して内部のインストラクションメモリに記憶する段階と、
前記テストプログラム内に記憶されたインストラクションをフェッチし、テストに必要なコマンドロジッグとアドレスロジッグとデータロジッグを含むテストパターンを生成して、テスト対象のメモリ素子に印加してテストを行う段階と、
テストを実行した後、前記メモリ素子から出力されるデータと請求項１〜１５のいずれか一項のアルゴリズムパターン生成器で生成される期待値データを比較して不良であるかを判断する段階と、
不良であるかを判断して、不良が発生した場合、不良と判定されたメモリについての情報を記憶する段階と、
を含むことを特徴とする、アルゴリズムパターン生成器を用いてメモリ素子をテストする方法。
【請求項１９】
外部のコンソールＰＣから、テストを行うインストラクションを含むテストプログラムを受けて記憶する機能と、
テストの実行時、インストラクションメモリから順次前記テストプログラムのインストラクションをフェッチする機能と、
外部装置とのインターフェースを行う機能と、
同一位相を有するクロック信号を生成して提供する機能と、
前記クロック信号の各クロックサイクルに対して、アドレススクランブリングによりテストに必要なアドレスロジッグを生成する機能と、
前記各クロックサイクルに対して、データスクランブリングによりテストに必要なデータロジッグを生成する機能と、
前記各クロックサイクルに対して、前記データ生成部で生成されたデータとテストデータを比較し、不良メモリについての情報を記憶する機能と、
を含むプログラムを記録したことを特徴とする、コンピューターで判読可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリ素子テストのためのアルゴリズムパターン生成器に係り、より詳しくは、メモリ素子のモジュールまたはコンポネントレベルのテストを行うメモリテスタにおいて、アドレススクランブリング及びデータスクランブリングを含んでメモリテスタの構成を最適化することができる構成を有するメモリ素子テストのためのアルゴリズムパターン生成器に関するものである。
【背景技術】
【０００２】
アルゴリズムパターン生成器（Ａｌｇｏｒｉｔｈｍ ｐａｔｔｅｒｎ ｇｅｎｅｒａｔｏｒ、以下“ＡＬＰＧ”）は、半導体、特にメモリモジュールまたはメモリコンポーネントのテストに使用されるメモリテスタの内部で、パターンの生成のために使用される装置であって、データの読み取り及び書き込みをテストするためのインストラクションのコーディングに使用される装置である。
【０００３】
半導体テスタ、特にメモリテスタは、メモリ素子の開発状況、特にメモリ素子の相当部分を占めるＤＲＡＭの開発状況にしたがって設計されて開発される。現在のＤＲＡＭ発展状況はＥＤＯ（Ｅｘｔｅｎｄｅｄ Ｄａｔａ Ｏｕｔｐｕｔ）機能を搭載したＤＲＡＭ、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ ＤＲＡＭ）、ラムバス（Ｒａｍｂｕｓ）ＤＲＡＭに引き継いでＤＤＲ（Ｄｏｕｂｌｅ Ｄａｔａ Ｒａｔｅ）ＤＲＡＭに発展している。
【０００４】
このようなＤＲＡＭをテストするためには、メモリの高速化に対応してメモリテスタも高速及び固定密度が要求される。また、メモリの大容量化にしたがってテスト時間が増加することになるので、テストの速度も速くならなければならない。また、小型化されて経済的なメモリテスタを具現してテスト費用を節減しなければならない。
【０００５】
図９は従来のメモリテスタの例示的なブロック図である。図９に示すように、メモリテスタ１００は、テスト対象のメモリ素子（メモリモジュールまたはメモリコンポネント含む）１８０に電源電圧を供給する電源装置１１０と、メモリ素子１８０の入力部に信号を入力するドライバ１２０と、メモリ素子１８０の出力部から出力される信号と期待値信号を比較する比較器１３０と、メモリ素子１８０に入力される信号列（テストパターン）及び期待値信号を生成するパターン発生器１４０と、メモリ素子１８０に入力する信号の印加タイミングを発生するタイミング発生器１５０と、これら回路を制御する制御器としてのＣＰＵ１６０などから構成されている。前記ＣＰＵ１６０は、外部の記憶装置でテストプログラムを判読して、それをオペレーティングシステム（ＯＳ）によって解釈しながら、テスト用信号（テストパターン）の発生と判定を行い、所定のテストを実施するように構成されている。テスタ１００には、出力部の電圧レベル検出などの直流テストを行うためのＤＣテスト回路１７０が設けられる場合もある。
【０００６】
このような従来のメモリテスタは、ＤＣパラメーターが回路のデジタル的動作に適するかをテストするＤＣテスト、信号の伝達遅延時間、セットアップ（ｓｅｔ−ｕｐ）時間とホールド（ｈｏｌｄ）時間などに関連したＡＣマージン（ｍａｒｇｉｎ）のテストを含み、このためタイミング生成器（ｔｉｍｉｎｇ ｇｅｎｅｒａｔｏｒ）などの多様な機能を持っており、メインフレームなどのように、体積が大きくて高価の専用装備を使って製作されるものであるので、製作費用が高いという欠点がある。メモリメーカで素子の生産費用を最小化して競争力を高めるためには、このような高費用のメモリテスタを效率的に設計することが望ましい。したがって、メモリテスタを效率的に設計して小型で製作費用を減少させることが望ましい。
【０００７】
このような小型化のため、特にテストパターンの生成に関連したＡＬＰＧを最適化するための技術が開発されている。
【０００８】
例えば、株式会社日立製作所が２００１年７月２６日付けで出願した「テスタ構築データの生成方法及びテスタの構築方法及びテスト回路」という名称の特許文献１は、このようなＡＬＰＧに対して詳しく開示している。
【０００９】
図１０は前記特許文献１に開示された従来のアルゴリズムパターン生成器のブロック図である。図１０に示すように、従来のＡＬＰＧは、テストパターン生成アルゴリズムによって記述された複数のマイクロ命令群からなるマイクロプログラムが記憶された命令メモリ２１０と、前記命令メモリ２１０で判読すべきマイクロ命令を指定するプログラムカウンター２２０と、命令メモリ２１０で判読されたマイクロ命令内の命令コードを解読してメモリ回路に対する制御信号またはプログラムカウンター２２０など、ＡＬＰＧを構成する機能ブロックに対する制御信号を形成するシーケンス制御回路２３０と、命令メモリ２１０で判読されたマイクロ命令に応じてテストアドレスを生成するアドレス演算回路２４０と、判読されたマイクロ命令に応じてテストデータ及び期待値データを生成するテストデータ生成回路２５０などから構成されている。
【００１０】
また、検査対象のメモリ回路が正常であるか否かを判定する場合、メモリ回路で判読されたデータと記録されたデータを比較し、一致しているかを判定する手段をさらに含むことができる。また、前記命令メモリ２１０に記憶されるマイクロ命令は、図１０に示すように、ジャンプ命令として使用する命令のジャンプ番地を示すＰＣ（ｐｒｏｇｒａｍ ｃｏｕｎｔｅｒ）アドレスが記憶されるアドレスフィールド（ＭＦａ）と、シーケンス制御コードが記憶されるＯＰコードフィールド（ＭＦｂ）と、命令の反復回数などが記憶されるオペランドフィールド（ＭＦｃ）と、アドレスまたはデータの出力及びリード／ライトを指示する制御コードが記憶される制御フィールド（ＭＦｄ）と、アドレス演算命令コードが記憶されるアドレス演算コードフィールド（ＭＦｅ）と、データ生成命令コードが記憶されるデータ生成コードフィールド（ＭＦｆ）などからなる。
【００１１】
しかし、前記特許文献１は、メモリのアドレススクランブリングまたはデータスクランブリングに対して全く開示していない。アドレススクランブリングは、メモリの物理的アドレスと論理的アドレス（ローとコラムで表現される）をマッチングさせるために相互変換することを意味し、データのスクランブリングはアドレスの関数で表示されるもので、メモリレイアウトで面積を最小化するためにメモリメーカが使用する方式が違うので、これを整合するための過程である。したがって、效率的にＡＬＰＧを設計してメモリテスタの構成を最適化するためには、前記スクランブリングを考慮したＡＬＰＧ設計がなされなければならない。
【特許文献１】大韓民国特許出願公開第２００１−００４５０１４号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１２】
したがって、本発明の目的は、アドレススクランブリング及びデータスクランブリングを含んでメモリテスタの構成を最適化することができる構成を有するメモリ素子テストのためのアルゴリズムパターン生成器を提供することにある。
【００１３】
本発明のほかの目的は、前記メモリ素子テストのためのアルゴリズムパターン生成器を用いたメモリテスタを提供することにある。
【００１４】
本発明のさらにほかの目的は、前記メモリ素子テストのためのアルゴリズムパターン生成器を用いたメモリ素子のテスト方法を提供することにある。
【００１５】
本発明のさらにほかの目的は、前記メモリ素子テストのためのアルゴリズムパターン生成器のためのプログラムを記録した、コンピューターで判読可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、本発明は、外部のコンソールＰＣから、テストを行うインストラクションを含むテストプログラムを受けて記憶するインストラクションメモリと、テスト実行時、前記インストラクションメモリから順次前記テストプログラムのインストラクションをフェッチ（ｆｅｔｃｈ）するシーケンス制御部と、外部装置とのインターフェースを行うインターフェースユニットと、同一位相を有するクロック信号を生成して提供するＰＬＬ（Ｐｈａｓｅ ｌｏｃｋｅｄ ｌｏｏｐ）と、前記ＰＬＬにより提供される各クロックサイクルに対して、テストに必要なコマンドロジックを生成するコマンド生成部と、前記各クロックサイクルに対して、アドレススクランブリングにより、テストに必要なアドレスロジックを生成するアドレス生成部と、前記各クロックサイクルに対して、データスクランブリングにより、テストに必要なデータロジックを生成するデータ生成部と、前記各クロックサイクルに対して、前記データ生成部で生成されたデータとテストデータを比較して不良メモリに対する情報を記憶するデータ比較部と、を含むことを特徴とする、メモリ素子テストのためのアルゴリズムパターン生成器を提供する。
【００１７】
また、上記課題を解決するために、本発明は、メモリ素子をテストするメモリテスタにおいて、メモリ素子のテストに必要な各電圧を供給する可変電源供給部と、テストに必要なテストプログラムを生成し、テスト結果を受けて分析する機能を有するコンソールＰＣと、基準クロックを生成するクロック生成器と、制御のための制御部と、前記コンソールＰＣから前記テストプログラムを受け、テストパターン信号を生成してテスト対象のメモリ素子に送信し、前記メモリ素子から出力されるテスト結果を受けて比較するパターン生成ボードとを含み、前記アルゴリズムパターン生成器を用いてテストパターンを生成し、テストを行うことを特徴とする、メモリ素子をテストするメモリテスタを提供する。
【００１８】
また、上記課題を解決するために、本発明は、アルゴリズムパターン生成器を用いてメモリ素子をテストする方法において、テストについての情報を含むソースプログラムをローディングし、コンパイラーによってコンパイルしてテストプログラムを生成する段階と、前記テストプログラムを請求項１〜１５のいずれか一項のアルゴリズムパターン生成器に伝送して内部のインストラクションメモリに記憶する段階と、前記テストプログラム内に記憶されたインストラクションをフェッチし、テストに必要なコマンドロジックとアドレスロジックとデータロジックを含むテストパターンを生成して、テスト対象のメモリ素子に印加してテストを行う段階と、テストを実行した後、前記メモリ素子から出力されるデータと請求項１〜１５のいずれか一項のアルゴリズムパターン生成器で生成される期待値データを比較して不良であるかを判断する段階と、不良であるかを判断して、不良が発生した場合、不良と判定されたメモリについての情報を記憶する段階と、を含むことを特徴とする、アルゴリズムパターン生成器を用いてメモリ素子をテストする方法を提供する。
【００１９】
また、上記課題を解決するために、本発明は、外部のコンソールＰＣから、テストを行うインストラクションを含むテストプログラムを受けて記憶する機能と、テストの実行時、インストラクションメモリから順次前記テストプログラムのインストラクションをフェッチする機能と、外部装置とのインターフェースを行う機能と、同一位相を有するクロック信号を生成して提供する機能と、前記クロック信号の各クロックサイクルに対して、アドレススクランブリングによりテストに必要なアドレスロジックを生成する機能と、前記各クロックサイクルに対して、データスクランブリングによりテストに必要なデータロジックを生成する機能と、前記各クロックサイクルに対して、前記データ生成部で生成されたデータとテストデータを比較し、不良メモリについての情報を記憶する機能と、を含むプログラムを記録したことを特徴とする、コンピューターで判読可能な記録媒体を提供する。
【発明の効果】
【００２０】
以上説明したように、本発明によれば、メモリ素子のモジュールまたはコンポネントレベルのテストを行うメモリテスタにおいて、アドレススクランブリング及びデータスクランブリングを含んでメモリテスタの構成を最適化することができる構成を有するメモリ素子テストのためのアルゴリズムパターン生成器を提供することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明のメモリテスタのためのアルゴリズムパターン生成器を図面に基づいてより詳細に説明する。
【００２２】
図１は本発明によるアルゴリズムパターン生成器を含むメモリテスタの概略的なブロック図である。図１に示すように、本発明によるメモリテスタ３００は、可変電源供給部３１０と、コンソールＰＣ３１５と、制御部３２０と、パターン生成ボード３２５とを含み、バックプレーンバスを介してデータの送受信がなされる。また、パターン生成ボード３２５は、クロック生成部３３０と、ＡＬＰＧ３３５とを含み、ＡＬＰＧ３３５は、シーケンス制御部３４０と、インターフェースユニット３４５と、ＰＬＬ（Ｐｈａｓｅ ｌｏｃｋｅｄ ｌｏｏｐ）３５０と、インストラクションメモリ３５５と、コマンド生成部３６０と、アドレス生成部３６５と、データ生成部３７０と、データ比較部３７５とを含む。前記ＡＬＰＧ３３５は、例えばＦＰＧＡでワンチップ形態に構成できる。
【００２３】
可変電源供給部３１０は、メモリ素子のテストに必要な多様な電源を供給する。また、可変電源供給部３１０は、テスト対象のメモリ素子（Ｄｅｖｉｃｅ Ｕｎｄｅｒ Ｔｅｓｔ、以下“ＤＵＴ”という）に電源を供給する。
【００２４】
コンソールＰＣ３１５はバックプレーンバスを介してパターン生成ボード３２５に連結され、テストプログラムをパターン生成ボード３２５に送信し、テスト結果をパターン生成ボード３２５から受けて分析する機能を提供する。
【００２５】
制御部３２０はメモリテスタ３００に対する制御を実行する。
【００２６】
また、図示してはいないが、テストされる素子を装着するスロット（例えばＤＩＭＭスロット）またはコンポーネントソケットを有するＤＵＴボードを含む。
【００２７】
パターン生成ボード３２５は、コンソールＰＣ３１５からテストプログラムを受け、ＡＬＰＧ３３５によりテストパターン信号を生成し、テスト対象のメモリ素子に送信し、前記メモリ素子から出力されるテスト結果を受けて比較する。この比較結果（またはテスト結果含み）はコンソールＰＣ３１５に送信されて分析できる。
【００２８】
クロック生成部３３０は、基準となるクロックを生成してＡＬＰＧ３３５内部のインターフェースユニット３４５とＰＬＬ３５０に供給する。
【００２９】
シーケンス制御部３４０は、テスト実行時、インストラクションメモリ３５５から順次テストプログラムインストラクションをフェッチ（ｆｅｔｃｈ）する。
【００３０】
インターフェースユニット３４５は、ＡＬＰＧ３３５を可変電源供給部３１０、コンソールＰＣ３１５、及び制御部３２０と、バックプレーンバスを介してインターフェースする。また、クロック生成部３３０からクロックを受けてＰＬＬ３５０に供給する。また、インターフェースユニット３４５はテスト結果をコンソールＰＣ３１５に送信する。
【００３１】
ＰＬＬ３５０は、インターフェースユニット３４５から受けたクロック信号とクロック生成部３３０から受けたクロック信号との間の位相差を０にして、同一位相を有するクロック信号を生成する。前記ＰＬＬ３５０の出力ＣＫと／ＣＫはクロックと反転されたクロックを意味する。
【００３２】
インストラクションメモリ３５５は、コンソールＰＣ３１５からテストプログラムをインターフェースユニット３４５を介して受けて記憶する。
【００３３】
コマンド生成部３６０は、各クロックサイクルに対して、テストに必要なコマンドロジックを生成する。前記コマンド生成部３６０の出力信号ＣＭＤ［８：０］は、例えばＤＤＲ ＳＤＲＡＭの内部コマンド信号であるＣＳ（ｃｈｉｐ ｓｅｌｅｃｔ）、ＲＡＳ（Ｒｏｗ Ａｄｄｒｅｓｓ Ｓｔｒｏｂｅ）、ＣＡＳ（Ｃｏｌｕｍｎ Ａｄｄｒｅｓｓ Ｓｔｒｏｂｅ）信号を含むコマンドを意味する。
【００３４】
アドレス生成部３６５は、各クロックサイクルに対して、アドレススクランブリングにより、テストに必要なアドレスロジックを生成する。前記アドレス生成部３６５の出力信号ＢＡ［２：０］はバンクアドレス（Ｂａｎｋ ａｄｄｒｅｓｓ）を意味し、ＡＤＤ［１５：０］は物理的アドレスである。
【００３５】
データ生成部３７０は、各クロックサイクルに対して、データスクランブリングによりテストに必要なデータロジックを生成する。前記データ生成部３７０の出力信号であるＤＱ［７：０］はデータ入力／出力で、データバスを意味し、ＤＱＳはデータストロボ（Ｄａｔａ ｓｔｒｏｂｅ）であり、ＤＭは前記ＤＱとＤＱＳを整合するために内部的にローディングされる信号である。
【００３６】
データ比較部３７５は、各クロックサイクルに対して、データ生成部３７０で生成されたデータとテストデータを比較する。
【００３７】
図２は本発明によるメモリテスタのためのアルゴリズムパターン生成器のインストラクションの構成を示す図である。
【００３８】
図２に示すように、インストラクションメモリ３５５内に記憶されるインストラクションは、シーケンスフィールド４１０ａ及び４１０ｂと、アドレスフィールド４２０と、データフィールド４３０と、制御フィールド４４０とを含む。
【００３９】
シーケンスフィールド４１０ａ及び４１０ｂはＯｐｃｏｄｅ４１０ａとＯｐｅｒａｎｄ４１０ｂの二つのフィールドに分類することができ、各クロックサイクルごとにインストラクションポインタを計算してテストプログラムのシーケンス制御をすることに使用される。
【００４０】
Ｏｐｃｏｄｅ４１０ａは、ＮＯＰ（演算がない状態）、ＳＥＴ（レジスター設定のためのＯｐｃｏｄｅ）、ＥＮＤ（パターンの終了）、ＰＡＵＳＥ（中止シーケンス）、ＪＭＰ（無条件的なジャンプ）、ＪＮＺ１〜ＪＮＺ８（対応するレジスターＣＸ１〜ＣＸ８が０ではない場合の条件的なジャンプ）、ＣＡＬＬ（サブルーチン呼出し）、ＲＥＴ（サブルーチンからのリターン）を含む演算コードを示す。
【００４１】
Ｏｐｅｒａｎｄ４１０ｂはジャンプに対するインデックスを示すか、またはＯｐｃｏｄｅ＝ＳＥＴの場合には、レジスターを示す。
【００４２】
アドレスフィールド４２０はメモリアドレスラインの生成のための算術的演算のためのフィールドである。
【００４３】
メモリのローアドレス（Ｘ）に対する演算を行うＡＬＵ−Ｘ、メモリのコラムアドレス（Ｙ）に対する演算を行うＡＬＵ−Ｙ、メモリのバンクアドレス（Ｚ）に対する演算を行うＡＬＵ−Ｚ、ＸとＹアドレスに対する追加的なアドレス（ＤＸ、ＤＹ）に対するＡＬＵであるＡＬＵ−ＤＸ、ＡＬＵ−ＤＹに対してアドレス演算を示す。
【００４４】
例えば、ＡＬＵ−Ｘに対しては、Ｘ＝Ｘ、Ｘ＝／Ｘ、Ｘ＝Ｘ＊２、Ｘ＝Ｘ／２、Ｘ＝ＤＸ、Ｘ＝Ｘ＋ＤＸ、Ｘ＝Ｘ−ＤＸ、Ｘ＝Ｘ＆ＤＸ、Ｘ＝Ｘ｜ＤＸ、Ｘ＝Ｘ＾ＤＸ、Ｘ＝ｉｍｍＸ（Ｘアドレスの即時値）、Ｘ＝Ｘ＋ｉｍｍＸ、Ｘ＝Ｘ−ｉｍｍＸ、Ｘ＝Ｘ＆ｉｍｍＸ、Ｘ＝Ｘ｜ｉｍｍＸ、Ｘ＝Ｘ＾ｉｍｍＸなどのアドレス演算を行うコードを含み、ＡＬＵ−Ｙに対してはＡＬＵ−Ｘと同様である。
【００４５】
ｉｍｍＸ、ｉｍｍＹのような即時値は、マイクロコードでＸまたはＹレジスターに任意の値を割り当てるように命令語セットを構成するための値である。
【００４６】
ＡＬＵ−Ｚに対しては、Ｚ＝Ｚ、Ｚ＝０、Ｚ＝／Ｚ、Ｚ＝Ｚ＋１、Ｚ＝Ｚ−１、Ｚ＝Ｚ＊２、Ｚ＝Ｚ／２、Ｚ＝ＺＲ、Ｚ＝１、Ｚ＝２、Ｚ＝３などのアドレス演算を行うコードを含む。
【００４７】
ＡＬＵ−ＤＸに対しては、ＤＸ＝ＤＸ、ＤＸ＝０、ＤＸ＝／ＤＸ、ＤＸ＝ＤＸ＋１、ＤＸ＝ＤＸ−１、ＤＸ＝ＤＸ＊２、ＤＸ＝ＤＸ／２、ＤＸ＝ＸＲなどのアドレス演算を行うコードを含み、ＡＬＵ−ＤＹに対してはＡＬＵ−ＤＸと同様である。
【００４８】
ＡＬＵ−Ｘ、ＡＬＵ−Ｙ、ＡＬＵ−Ｚ、ＡＬＵ−ＤＸ、ＡＬＵ−ＤＹに対する説明は以後にアドレス生成部３６５で詳細に説明する。
【００４９】
データフィールド４３０は、メモリデータラインの生成のための算術的演算のためのフィールドである。
【００５０】
ＡＬＵ−Ｄレジスターは初期レジスターとの演算または即時値との演算により更新できる。ＤＰフィールドはデータフィールド４３０の一部であって、現在のＸ−Ｙアドレス状態によるデータ生成の単純化表示を示す。最後に、ＡＬＵ−ＤレジスターとＤＰフィールドはエクスクルーシブＯＲ演算される。
【００５１】
ＡＬＵ−Ｄに対しては、Ｄ＝Ｄ、Ｄ＝／Ｄ、Ｄ＝Ｄ＊２、Ｄ＝Ｄ／２、Ｄ＝ＤＲ、Ｄ＝ｉｍｍＤ、Ｄ＝Ｄ＋ｉｍｍＤ、Ｄ＝Ｄ−ｉｍｍＤ、Ｄ＝Ｄ＆ｉｍｍＤ、Ｄ＝Ｄ｜ｉｍｍＤ、Ｄ＝Ｄ＾ｉｍｍＤなどのアドレス演算を行うコードを含む。
【００５２】
ＤＰフィールドは、ＤＰ０（ｓｏｌｉｄ ｐａｔｔｅｒｎ）、ＤＰ１（ｃｈｅｃｋｅｒ ｂｏａｒｄ ｐａｔｔｅｒｎ）、ＤＰ２（ｒｏｗ ｂａｒ ｐａｔｔｅｒｎ）、ＤＰ３（ｃｏｌｕｍｎ ｂａｒ ｐａｔｔｅｒｎ）、ＤＰ４（ｄｉａｇｏｎａｌ ｐａｔｔｅｒｎ）、ＤＰ５（ｍａｓｋ ｐａｒｉｔｙ）を示すことができる。
【００５３】
制御フィールド４４０は、メモリ制御信号状態、実時間インバージョン（ｉｎｖｅｒｓｉｏｎ）フラグなどを含むフィールドである。
【００５４】
制御フィールド４４０は、例えば、ＣＫＥ（ｃｌｏｃｋ ｅｎａｂｌｅ）、ＣＳ（ｃｈｉｐ ｓｅｌｅｃｔ）、ＲＡＳ（ｒｏｗ ａｄｄｒｅｓｓ ｅｎａｂｌｅ）、ＣＡＳ（ｃｏｌｕｍｎ ａｄｄｒｅｓｓ ｅｎａｂｌｅ）、ＷＥ（ｗｒｉｔｅ ｅｎａｂｌｅ）、ＯＤＴ（ｏｎ−ｄｉｅ ｔｅｒｍｉｎａｔｉｏｎ ｅｎａｂｌｅ）、ＤＭＨ（ｄａｔａ ｍａｓｋａｔ ｈｉｇｈ ｇｏｉｎｇ ｅｄｇｅ）、ＤＭＬ（ｄａｔａ ｍａｓｋ ａｔ ｌｏｗ ｇｏｉｎｇ ｅｄｇｅ）、ＣＰＥＨ（ｃｏｍｐａｒｅ ｅｎａｂｌｅ ａｔ ｈｉｇｈ ｇｏｉｎｇｅ ｄｇｅ）、ＣＰＥＬ（ｃｏｍｐａｒｅ ｅｎａｂｌｅ ａｔ ｌｏｗ ｇｏｉｎｇ ｅｄｇｅ）、ＡＳＣＲＯＦＦ（ａｄｄｒｅｓｓ ｓｃｒａｍｂｌｅ ｄｉｓａｂｌｅ）、ＤＳＣＲＯＦＦ（ｄａｔａ ｓｃｒａｍｂｌｅ ｄｉｓａｂｌｅ）、ＡＰ（ａｕｔｏ ｐｒｅｃｈａｒｇｅ ｅｎａｂｌｅ）、／Ｘ（ｒｏｗ ａｄｄｒｅｓｓ ｉｎｖｅｒｓｉｏｎ ｆｌａｇ）、／Ｙ（ｃｏｌｕｍｎ ａｄｄｒｅｓｓ ｉｎｖｅｒｓｉｏｎ ｆｌａｇ）、／Ｚ（ｂａｎｋ ａｄｄｒｅｓｓ ｉｎｖｅｒｓｉｏｎ ｆｌａｇ）、／Ｄ（ｄａｔａ ｉｎｖｅｒｓｉｏｎ ｆｌａｇ）、ＡＹ（ｃｏｌｕｍｎ ａｄｄｒｅｓｓ ｅｎａｂｌｅ）、Ｉ（ｉｎｔｅｒｒｕｐｔ ｆｌａｇ）などを示す。
【００５５】
図３は本発明によるメモリテスタのためのアルゴリズムパターン生成器のシーケンス制御部の構成例である。
【００５６】
図３に示すように、シーケンス制御部３４０は、開始アドレスレジスター５１０と、インストラクションポインタ５２０と、制御ユニット５３０と、ＣＸ１〜ＣＸ８ ５５０と、スタックレジスター５４０と、フラグレジスター５６０とを含む。
【００５７】
開始アドレスレジスター（ｓｔａｒｔ ａｄｄｒｅｓｓ ｒｅｇｉｓｔｅｒ、ＳＴＲ）５１０は、開始アドレスを記憶するレジスターであって、例えば１０ビットで構成される。
【００５８】
インストラクションポインタ（ｉｎｓｔｒｕｃｔｉｏｎ ｐｏｉｎｔｅｒ、ＩＰ）５２０はインストラクションのポインタを記憶するレジスターであって、例えば１０ビットで構成され、インストラクションメモリ３５５のＯｐｅｒａｎｄから該当ポインタをローディングして記憶する。
【００５９】
制御ユニット５３０は、インストラクションメモリ３５５のＯｐｃｏｄｅから当該オペレーションをローディングして制御し、ＩＰ５２０またはスタック５４０、ＣＸ１〜ＣＸ８ ５５０レジスターに対する制御を実行する。
【００６０】
スタックレジスター５４０はインストラクションポインタのスタックのためのレジスターであって、例えば１６ビット／４ｄｅｐｔｈで構成される。
【００６１】
ＣＸ１〜ＣＸ８ ５５０はインストラクションカウンターのためのレジスターであって、例えば１６ビットで構成される。
【００６２】
フラグレジスター５６０はフラグデータを記憶する。
【００６３】
図４は本発明によるメモリテスタのためのアルゴリズムパターン生成器のアドレス生成部の構成例を示す。
【００６４】
図４に示すように、アドレス生成部３６５は、メモリのローアドレスとコラムアドレスとバンクアドレスを生成するための論理的アドレス生成部６００ａと、前記メモリのローアドレスとコラムアドレスのスクランブリングされたアドレスを生成するためのスクランブルアドレス生成部６００ｂと、前記スクランブリングされたアドレスを多重化して物理的アドレスを生成するアドレス多重化部６００ｃとを含む。
【００６５】
以下、論理的アドレス生成部６００ａ、スクランブルアドレス生成部６００ｂ、及びアドレス多重化部６００ｃについて詳細に説明する。
【００６６】
論理的アドレス生成部６００ａについて説明すれば次のようである。
【００６７】
初期レジスター、すなわちＸＲ６１０ａ、ＹＲ６１０ｂ、ＺＲ６１０ｃは、メモリのローアドレス（Ｘ）とコラムアドレス（Ｙ）とバンクアドレスの初期値を記憶する。
【００６８】
ＡＬＵ−ＤＸ６１５ａとＡＬＵ−ＤＹ６１５ｂは、初期レジスターＸＲ６１０ａとＹＲ６１０ｂの値を受け、算術的演算を行って追加的なアドレス（ＤＸ、ＤＹ）を生成する。
【００６９】
ＡＬＵ−Ｘ６２０ａ及びＡＬＵ−Ｙ６２０ｂは、ＡＬＵ−ＤＸ６１５ａとＡＬＵ−ＤＹ６１５ｂの出力値と即時住所値（ｉｍｍＸ、ｉｍｍＹ）を受けてロー及びコラムアドレス生成のための算術的演算を実行する。
【００７０】
ＡＬＵ−Ｚ６２０ｃは初期レジスターＺＲ６１０ｃの値を受けてバンクアドレス生成のための算術的演算を実行する。
【００７１】
ＩＮＶ６２５ａ、６２５ｂ、６２５ｃは、インバージョンフラグ（／Ｘ、／Ｙ、／Ｚ）を受ける場合、それぞれのデータに対する反転を実行する。
【００７２】
この結果、Ｘ［１５：０］、Ｙ［１５：０］及びＺ［２：０］というメモリのローアドレス（Ｘ）とコラムアドレス（Ｙ）とバンクアドレスの値が生成される。バンクアドレスＺ［２：０］は図１に示すＢＡ［２：０］と同一である。
【００７３】
スクランブルアドレス生成部６００ｂ及びアドレス多重化部６００ｃについて説明すれば次のようである。
【００７４】
アドレススクランブリングは物理的アドレスと論理的アドレス（ローとコラムで表現される）をマッチングさせるために相互変換することを意味する。
【００７５】
前記Ｘ［１５：０］、Ｙ［１５：０］を受けてＸ−スクランブルロジック６３０ａ及びＹ−スクランブルロジック６３０ｂでアドレススクランブリングを実行する。この場合、それぞれのスクランブルテーブル６５０ａ、６５０ｂに記憶されたスクランブリングの基準となるデータを基にしてスクランブリングを実行することができる。スクランブルテーブル６５０ａ、６５０ｂに記憶されたデータは各メモリ素子メーカ別にメモリアドレスを生成するための固有データである。
【００７６】
マルチプレクサ６３５ａ、６３５ｂは、スクランブルロジック６３０ａ、６３０ｂの出力値と前記Ｘ［１５：０］、Ｙ［１５：０］を受けて多重化を実行する。この場合、ＡＳＣＲＡＭ＿ＥＮ（ａｄｄｒｅｓｓ ｓｃｒａｍｂｌｅ ｄｉｓａｂｌｅ ｆｌａｇ）及びＡＳＣＲＯＦＦ（ｒｅａｌ−ｔｉｍｅ ａｄｄｒｅｓｓ ｓｃｒａｍｂｌｉｎｇ ｄｉｓａｂｌｅ ｆｌａｇ）を受けて多重化を実行する。
【００７７】
演算ロジック６４０ａ、６４０ｂは、前記マルチプレクサ６３５ａ、６３５ｂの出力値を受けて多様な演算を行ってＸｎ［１５：０］、Ｙｎ［１５：０］を生成する。前記Ｘｎ、Ｙｎはスクランブルロジックで変換したスクランブルアドレスを意味する。
【００７８】
Ｘｎ＝ＮＯＴ（Ｘｉ ｌｏｇｉｃ Ｘｊ）、Ｙｎ＝ＮＯＴ（Ｙｉ ｌｏｇｉｃ Ｙｊ）と定義され、ｎ、ｉ、jは０から１５までの整数であり、前記ｌｏｇｉｃはＮＯＰ（ｎｏｎ ｏｐｅｒａｔｉｏｎ）、ＡＮＤ、ＯＲ、ＸＯＲ演算である。
【００７９】
前記Ｘｎ、Ｙｎは物理的アドレスであり、メモリに同時に入力できないため、多重化によりアドレスデータであるＡ［１５：０］を生成する。Ａ［１５：０］は図１に示すＡＤＤ［１５：０］と同一である。
【００８０】
アドレス多重化部６００ｃはマルチプレクサ６４５を含み、前記Ｘｎ［１５：０］、Ｙｎ［１５：０］、ＡＹ（Ｙ−ａｄｄｒｅｓｓ ｓｅｌｅｃｔ ｆｌａｇ）を受け多重化を行って物理的アドレスであるＡ［１５：０］データを生成する。
【００８１】
図５ａ〜図５ｃは本発明によるメモリテスタのためのアルゴリズムパターン生成器のデータ生成部の構成例を示す。
【００８２】
データ生成部３７０は、論理的データ生成部７００ａと、スクランブルデータ生成部７００ｂと、シリアライゼーション（ｓｅｒｉａｌｉｚａｔｉｏｎ）部７００ｃと、デ−シリアライゼーション（ｄｅ−ｓｅｒｉａｌｉｚａｔｉｏｎ）部７００ｃとを含む。
【００８３】
図５ａは論理的データ生成部７００ａとスクランブルデータ生成部７００ｂの構成例を示し、図５ｂはシリアライゼーション（ｓｅｒｉａｌｉｚａｔｉｏｎ）部７００ｃの構成例を示し、図５ｃはデ−シリアライゼーション（ｄｅ−ｓｅｒｉａｌｉｚａｔｉｏｎ）部７００ｄの構成例を示す。
【００８４】
論理的データ生成部７００ａについて説明すれば次のようである。
【００８５】
初期レジスターＤＲ７１０はデータの初期値を記憶するレジスターである。
【００８６】
ＡＬＵ−Ｄ７２０は前記ＤＲの値とｉｍｍＤ（データの即時値）を受けて算術演算を実行する。
【００８７】
データパターン生成部７２５は、アドレス生成部３６５の信号Ｘ［１５：０］、Ｙ［１５：０］、ＤＰ Ｓｅｌｅｃｔ（Ｄａｔａ ｐａｔｔｅｒｎ ｓｅｌｅｃｔ）信号を受けてデータパターンを生成する。
【００８８】
ＤＣＭＲ（Ｄａｔａ ｃｏｍｐｌｅｍｅｎｔ ｍａｓｋ ｒｅｇｉｓｔｅｒ）７３０はデータ補償のためのマスクデータを記憶しているレジスターであって、例えば１６ビットで構成される。
【００８９】
ＤＦＬＧ（ｃｏｎｓｉｓｔｅｎｔ ｄａｔａ ｉｎｖｅｒｓｉｏｎ ｆｌａｇ）７３５はデータの反転のための値を記憶しているレジスターである。
【００９０】
インバーター７４０ａによりＤＣＭＲ７３０のマスクデータが反転され、この反転された値は／Ｄ（実時間データ反転フラグ）とともにＡＮＤ論理７４０でＡＮＤ演算される。
【００９１】
前記ＡＬＵ−Ｄ７２０の出力値と、前記ＡＮＤ論理７４０の出力値と、前記ＤＦＬＧ７３５と前記データパターン生成部７２５の出力値とは、エクスクルーシブＯＲ論理７５０でエクスクルーシブＯＲとなってＤ［１５：０］を生成する。
【００９２】
スクランブルデータ生成部７００ｂについて説明すれば次のようである。
【００９３】
データのスクランブリングはアドレスの関数で表示され、メモリレイアウトで面積を最小化するためにメモリメーカが使用する方式が相違するので、これを整合するための過程である。
【００９４】
前記Ｄ［１５：０］を受けてデータスクランブルロジック７５５でデータスクランブリングを実行する。この場合、データスクランブルテーブル７６０のスクランブルデータを基準にスクランブリングを実行することができる。データスクランブルテーブル７６０に記憶されたデータは各メモリ素子メーカ別にデータを生成するための固有データである。
【００９５】
マルチプレクサ７６５は、データスクランブルロジック７５５の出力値とＸ［３：０］、Ｙ［３：０］を受けて多重化を実行する。この場合、ＤＳＣＲＡＭ＿ＥＮ（ｄａｔａ ｓｃｒａｍｂｌｅ ｄｉｓａｂｌｅ ｆｌａｇ）及びＤＳＣＲＯＦＦ（ｒｅａｌ−ｔｉｍｅ ｄａｔａ ｓｃｒａｍｂｌｉｎｇ ｄｉｓａｂｌｅ ｆｌａｇ）を受けて多重化を実行する。出力された値Ｄｎ［１５：０］は前記データ［１５：０］をスクランブルロジック７５５によって変換した値である。Ｄｏｕｔ［１５：０］はＤｎ［１５：０］と同一の意味を有し、ただ回路的にレジスターとネット（ｎｅｔ）を区分した記号である。
【００９６】
演算ロジック７７０は、前記マルチプレクサ７６５の出力値を受けて多様な演算を行ってＤｏｕｔ［１５：０］を生成する。Ｄｏｕｔ［１５：０］において、Ｄｎ＝ＮＯＴ（ＡｉｌｏｇｉｃＡｊ）と定義され、ｎは０から７までの整数であり、Ａ＝ＸまたはＡ＝Ｙであり、ｉ、ｊは０から３までの整数である。前記ｌｏｇｉｃはＮＯＰ（ｎｏｎ ｏｐｅｒａｔｉｏｎ）、ＡＮＤ、ＯＲ、ＸＯＲロジックである。
【００９７】
Ｄｏｕｔ［１５：０］はシリアライゼーションによりメモリのＤＱ信号に入力される。この際、メモリのＤＱ信号は両方向（ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ）であり、入力／出力に対して共に使用されるので、メモリに記録（ｗｒｉｔｅ）するときは、Ｄｏｕｔ値がＤＱラインに出力され、判読（ｒｅａｄ）の時は、ＤＱラインでデ−シリアライゼーションによりＤｉｎとして使用される。このような機能のため、データ生成部３７５はデータのシリアライゼーション７００ｃ及びデ−シリアライゼーション７００ｄのためのユニットを含む。
【００９８】
Ｄｏｕｔ［１５：０］はＤＨ［７：０］とＤＬ［７：０］の２部分に分けられてそれぞれＤ−フリップフロップ７７５ａ及び７７５ｂに入力され、アウトクロック（ｏｕｔ ｃｌｏｃｋ）の立ち上がりまたは立ち下がりにより値の変化が反映されて出力される。各フリップフロップ７７５ａ及び７７５ｂの出力はアウトクロックの立ち上がりまたは立ち下がりに基づいてマルチプレクサ７８０ａにより多重化され、インバーター７９０により反転されてシリアライゼーションされた出力信号ＤＱ［７：０］を出力する。
【００９９】
また、デ−シリアライゼーションに対しては、メモリ素子からのＤＱ［７：０］信号がそれぞれＤ−フリップフロップ７７５ｃ及び７７５ｄに入力され、インクロック（ｉｎｃｌｏｃｋ）信号によってＤ−フリップフロップ７７５ｃではＤＨ［７：０］が生成され、Ｄ−フリップフロップ７７５ｄではＤＬ［７：０］が生成され、ラッチ７７５ｅによってＤＨ［７：０］がラッチングされる。インクロックはＤ−フリップフロップ７７５ｄ及びラッチ７７５ｅに対しては反転されて入力される。ラッチ７７５ｅの出力とＤ−フリップフロップ７７５ｄの出力が合わせられてＤｉｎ［１５：０］が出力される。
【０１００】
図６は本発明によるメモリテスタのためのアルゴリズムパターン生成器のデータ比較部の構成例を示す。
【０１０１】
データ比較部３７５は、デジタル比較器８１０と、不良メモリ選定部８２０と、ＦＭＳＲ８３０と、不良モードレジスター８４０とを含む。
【０１０２】
デジタル比較器８１０は、前記データ生成部３７５の信号であるＤｉｎ［１５：０］と、Ｄｏｕｔ［１５：０］を受けてデータ比較を行ってＣｏｕｔ［１５：０］を出力する。この場合、ＣＰＥ（ｃｏｍｐａｒｅ ｅｎａｂｌｅ）信号を受けてデータ比較を実行する。すなわち、メモリで判読したデータであるＤｉｎと、期待値であるＤｏｕｔが比較器で比較され、不良が発生すると、当該情報が記憶される。
【０１０３】
不良メモリ選定部８２０は、前記Ｄｉｎ［１５：０］、Ｄｏｕｔ［１５：０］、Ｘ［１５：０］、Ｙ［１５：０］、Ｘｎ［１５：０］、Ｙｎ［１５：０］を受けて、不良が発生したメモリを選定する。この場合、不良メモリ選定部８２０は、ＦＭＳＲ（Ｆａｉｌ Ｍｅｍｏｒｙ Ｓｔａｒｔ Ｒｅｇｉｓｔｅｒ）８３０と不良モードレジスター（Ｆａｉｌ ｍｏｄｅ ｒｅｇｉｓｔｅｒ）８４０からデータ値を取ることができる。
【０１０４】
以下、本発明によるアルゴリズムパターン生成器を用いたメモリ素子テスト方法を図面に基づいて詳細に説明する。
【０１０５】
図７は本発明によるメモリテスタのためのアルゴリズムパターン生成器を用いたテスト方法のフローチャートである。
【０１０６】
図７に示すように、まずソースプログラムをローディングする。図８ａ及び図８ｂは前記ソースプログラムの一例を示す図であり、図８ａはソースプログラムの構造を示し、図８ｂはソースプログラムの実際例を示す。
【０１０７】
これら図に示すように、ソースプログラムはメモリパターンアルゴリズムとレジスターについて記述しているプログラムであって、マクロを定義する部分１０１０と、レジスター初期値に対して定義するレジスターイニシャルブロック１０２０と、テスト機能について記述する開始関数ブロック１０３０と、サブ関数について記述するサブ関数ブロック１０４０とに区分可能である。
【０１０８】
図８ｂはこのようなソースプログラムの実際例の一部を示す。
【０１０９】
こうして作成されたソースプログラムはコンソールＰＣでローディングされ、コンパイラーによってテストプログラムにコンパイルされる（Ｓ１１０）。前記ソースプログラムとコンパイラーは本出願人によって開発されたＴＴＬ（Ｔｕｒｂｏ Ｔｅｓｔ Ｌａｎｇｕａｇｅ）及びＴＴＬコンパイラーとして例示的に説明されたが、同一機能をするほかのプログラムも使用できるものである。
【０１１０】
前記コンパイラーによってコンパイルされたテストプログラムは、前記コンソールＰＣから前記メモリテスタ内の本発明によるＡＬＰＧに送信され、内部のインストラクションメモリに記憶される（Ｓ１３０）。
【０１１１】
前記ＡＬＰＧの内部では、前記テストプログラムを分析してテストパターンを生成し、これをテスト対象のメモリ素子に印加してテストを実行する（Ｓ１５０）。すなわち、テストプログラム内に記憶されたインストラクションをフェッチし、テストに必要なコマンドロジックとアドレスロジックとデータロジックを含むテストパターンを生成し、テスト対象のメモリ素子に印加してテストを実行することになる。
【０１１２】
テストを実行した後、前記メモリ素子から出力されるデータと本発明によるＡＬＰＧで生成される期待値データを比較して不良であるかを判断する（Ｓ１７０）。
【０１１３】
不良であるかを判断して、不良が発生した場合、不良と判定されたメモリに対する情報を記憶する（Ｓ１９０）。
【０１１４】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかである。
【産業上の利用可能性】
【０１１５】
本発明は、メモリ素子のモジュールまたはコンポネントレベルのテストを行うメモリテスタにおいて、アドレススクランブリング及びデータスクランブリングを含んでメモリテスタの構成を最適化することができる構成を有するメモリ素子テストのためのアルゴリズムパターン生成器に適用可能である。
【図面の簡単な説明】
【０１１６】
【図１】本発明によるアルゴリズムパターン生成器を含むメモリテスタのブロック図である。
【図２】本発明によるメモリ素子テストのためのアルゴリズムパターン生成器のインストラクションの構成例を示す図である。
【図３】本発明によるメモリ素子テストのためのアルゴリズムパターン生成器のシーケンス制御部の構成例を示す図である。
【図４】本発明によるメモリ素子テストのためのアルゴリズムパターン生成器のアドレス生成部の構成例を示す図である。
【図５ａ．５ｂ．５ｃ】本発明によるメモリ素子テストのためのアルゴリズムパターン生成器のデータ生成部の構成例を示す図である。
【図６】本発明によるメモリ素子テストのためのアルゴリズムパターン生成器のデータ比較部の構成例を示す図である。
【図７】本発明によるメモリ素子テストのためのアルゴリズムパターン生成器を使ったテスト方法のフローチャートである。
【図８ａ】本発明によるメモリ素子テストのためのアルゴリズムパターン生成器を用いたテスト方法において、テストプログラムの構造を示す図である。
【図８ｂ】本発明によるメモリ素子テストのためのアルゴリズムパターン生成器を用いたテスト方法において、ソースプログラムの実際例を示す図である。
【図９】従来のテスタの例示的なブロック図である。
【図１０】従来のアルゴリズムパターン生成器のブロック図である。
【符号の説明】
【０１１７】
１００    メモリテスタ
１１０    電源装置
１２０    ドライバ
１３０    比較器
１４０    パターン発生器
１５０    タイミング発生器
１６０    ＣＰＵ
１７０    ＤＣテスト回路
１８０    メモリ素子
２１０    命令メモリ
２２０    プログラムカウンター
２３０    シーケンス制御回路
２４０    アドレス演算回路
２５０    テストデータ生成回路
３００    メモリテスタ
３１０    可変電源供給部
３２０    制御部
３２５    パターン生成ボード
３３０    クロック生成部
３３５    ＡＬＰＧ
３４０    シーケンス制御部
３４５    インターフェースユニット
３５０    ＰＬＬ
３５５    インストラクションメモリ
３６０    コマンド生成部
３６５    アドレス生成部
３７０    データ生成部
３７５    データ比較部
【図１】
2006047311.tif 000003
【図２】
2006047311.tif 000004
【図３】
2006047311.tif 000005
【図４】
2006047311.tif 000006
【図５ａ】
2006047311.tif 000007
【図５ｂ】
2006047311.tif 000008
【図５ｃ】
2006047311.tif 000009
【図６】
2006047311.tif 000010
【図７】
2006047311.tif 000011
【図８ａ】
2006047311.tif 000012
【図８ｂ】
2006047311.tif 000013
【図９】
2006047311.tif 000014
【図１０】
2006047311.tif 000015