(57)【要約】  複数デバイスシステムの個々のデバイスがシリアル相互接続構成に構成された、複数デバイスシステム内の、メモリの高速テストのための方法およびシステム。高速テストは、最初に複数デバイスシステムの各デバイスのメモリバンクにテストパターンデータを書き込むことと、その後に続く、各デバイス内のデータのローカルテスト読み出しおよび比較によって実現される。各デバイスは、デバイス内の障害ビット位置の有無を表すローカル結果データを発生する。各デバイス内のシリアルテスト回路は、ローカル結果データを、前のデバイスからのグローバル結果データと比較する。テスト回路は、この比較の結果を圧縮し、それを更新されたグローバル結果データとして、次のデバイスに供給する。したがって、更新されたグローバル結果データは、すべての前のデバイスのローカル結果データを表すことになる。
2010511229.tif 000002
【特許請求の範囲】
【請求項１】
シリアル入力接続およびシリアル出力接続を有するメモリデバイスのためのテスト回路であって、
少なくとも2つのメモリセルのデータを互いに比較するためのローカル比較回路であって、前記少なくとも2つのメモリセルの1つが不良の場合は、フェイル状態に対応するローカル結果データを生成する、ローカル比較回路と、
更新されたグローバル結果データを前記シリアル出力接続に供給するために、前記ローカル結果データと、前記シリアル入力接続から受け取られたグローバル結果データとの論理和をとる圧縮回路であって、前記ローカル結果データおよび前記グローバル結果データの少なくとも1つがフェイル状態に対応する場合は、前記更新されたグローバル結果データはフェイル状態に対応する、圧縮回路と
を備えるテスト回路。
【請求項２】
前記ローカル結果データおよびローカルメモリデータの1つを選択的に通過させるための第1のステージテストパスセレクタであって、テストモード信号に応答して前記ローカル結果データを前記圧縮回路に渡す、第1のステージテストパスセレクタをさらに含む請求項1に記載のテスト回路。
【請求項３】
前記ローカル結果データおよびグローバルメモリデータの1つを選択的に通過させるための第2のステージテストパスセレクタであって、前記テストモード信号に応答して前記ローカル結果データを前記シリアル出力接続に渡す、第2のステージテストパスセレクタをさらに含む請求項2に記載のテスト回路。
【請求項４】
前記ローカル比較回路は、前記少なくとも2つのメモリセルからデータを受け取るための論理回路であって、前記データが所定のパターンと一致しないときは、フェイル状態に対応する前記ローカル結果データを生成するように構成される、論理回路を含む請求項3に記載のテスト回路。
【請求項５】
前記ローカル比較回路は、前記少なくとも2つのメモリセルからデータを受け取るための排他的論理和回路を含み、前記ローカル結果データは前記排他的論理和回路によって生成される、請求項4に記載のテスト回路。
【請求項６】
前記圧縮回路は、前記グローバル結果データおよび前記ローカル結果データを受け取るためのOR回路を含み、前記OR回路は、前記更新されたグローバル結果データを生成する、請求項3に記載のテスト回路。
【請求項７】
前記メモリデバイスは、前記ローカルメモリデータおよび前記グローバルメモリデータの1つをメモリデータとして選択的に通過させるためのデバイスセレクタを含み、前記ローカルデータは前記少なくとも2つのメモリセルの1つから受け取られ、前記グローバルデータは前記シリアル入力接続から受け取られる、請求項3に記載のテスト回路。
【請求項８】
前記少なくとも2つのメモリセルのそれぞれは、異なる分離されたメモリ領域内に位置する、請求項7に記載のテスト回路。
【請求項９】
前記少なくとも2つのメモリセルのそれぞれは、単一の分離されたメモリ領域内に位置する。請求項7に記載のテスト回路。
【請求項１０】
前記メモリデバイスは、前記ローカル結果データを受け取り、記憶するためのパラレル-シリアル変換レジスタを含み、前記パラレル-シリアル変換レジスタは、nビット幅のローカル結果データを並列に受け取り、クロックに同期して前記nビット幅のローカル結果データの1ビットをシリアルに出力するために、少なくともnビット幅である、請求項3に記載のテスト回路。
【請求項１１】
前記メモリデバイスは、前記シリアル入力接続から受け取られた前記グローバル結果データを受け取り、前記クロックに同期して前記グローバル結果データの1ビットを生成するための、フリップフロップ回路を含む、請求項10に記載のテスト回路。
【請求項１２】
テストモードにおいて単一ビットグローバル結果データを生成するように動作可能な第1のメモリデバイスであって、前記単一ビットグローバル結果データは、第1のメモリデバイスセル不良に対応する、第1のメモリデバイスと、
テストモードにおいて前記単一ビットグローバル結果データを受け取るように動作可能な第2のメモリデバイスであって、少なくとも前記1つの第1のメモリデバイスセル不良および第2のメモリデバイスセル不良に対応する、更新された単一ビットグローバル結果データを生成する、第2のメモリデバイスと
を備える、メモリシステム。
【請求項１３】
テスト動作モード時に、デフォルトのパスデータを生成し、前記更新された単一ビットグローバル結果データを受け取るためのテスト回路をさらに含む、請求項12に記載のメモリシステム。
【請求項１４】
前記第1のメモリデバイスは、
前記第1のメモリデバイスセル不良を検出し、第1のローカル結果データを生成するための第1のローカル比較回路と、
前記第1のローカル結果データの状態に対応する前記単一ビットグローバル結果データを生成するための第1の圧縮回路と
を含む、請求項13に記載のメモリシステム。
【請求項１５】
前記第2のメモリデバイスは、
前記第2のメモリデバイスセル不良を検出し、前記第2のローカル結果データを生成するための第2のローカル比較回路と、
前記第1のメモリデバイスからの前記単一ビットグローバル結果データおよび前記第2のローカル結果データに対して論理OR機能を実行するための第2の圧縮回路であって、前記論理OR機能の出力に対応する更新された単一ビットグローバル結果データを生成する、第2の圧縮回路と
を含む請求項14に記載のメモリシステム。
【請求項１６】
前記第1のローカル比較回路は、前記第1のメモリデバイスセル不良を検出するための、第1の排他的論理和回路を含み、前記第2のローカル比較回路は、前記第2のメモリデバイスセル不良を検出するための、第2の排他的論理和回路を含む、請求項15に記載のメモリシステム。
【請求項１７】
前記第1の圧縮回路は、前記デフォルトのパスデータおよび前記第1のローカル結果データを受け取るための、第1のOR回路を含み、前記第2の圧縮回路は、前記単一ビットグローバル結果データおよび前記第2のローカル結果データを受け取るための、第2のOR回路を含む、請求項16に記載のメモリシステム。
【請求項１８】
前記テスト回路は、メモリコントローラ内に含まれ、前記テスト回路は、テスト動作モード時に、デフォルトのパスデータを生成するための生成回路と、前記更新された単一ビットグローバル結果データを受け取るための受信回路とを含む、請求項13に記載のメモリシステム。
【請求項１９】
前記テスト回路は、
テスト動作モード時に、デフォルトのパスデータを生成するための生成回路と、
前記更新された単一ビットグローバル結果データを受け取るための受信回路と
を備える、請求項13に記載のメモリシステム。
【請求項２０】
メモリシステムをテストするための方法であって、
(a)1つのメモリセル不良を検出するために、メモリデバイス内の少なくとも2つのメモリセルを比較するステップと、
(b)前記1つのメモリセル不良が検出されたときに、フェイル状態に対応するローカル結果データを生成するステップであって、前記ローカル結果データは、前記1つのメモリセル不良がない場合はパス状態に対応する、ローカル結果データを生成するステップと、
(c)前記ローカル結果データをグローバル結果データと比較するステップであって、前記グローバル結果データは前記フェイル状態および前記パス状態の1つに対応する、前記ローカル結果データをグローバル結果データと比較するステップと、
(d)前記メモリデバイスからの更新されたグローバル結果データを生成するステップであって、前記更新されたグローバル結果データは、前記グローバル結果データおよび前記ローカル結果データの少なくとも1つがフェイル状態に対応する場合にフェイル状態に対応する状態を有する、更新されたグローバル結果データを生成するステップと
を含む方法。
【請求項２１】
前記ローカル結果データ、前記グローバル結果データ、および前記更新されたグローバル結果データが単一ビット信号である、請求項20に記載のメモリセルをテストする方法。
【請求項２２】
少なくとも2つのメモリセルを比較する前記ステップには、前記メモリデバイスのすべてのメモリセルに同一のテストデータを書き込むステップが先行する、請求項20に記載のメモリセルをテストする方法。
【請求項２３】
少なくとも2つのメモリセルを比較する前記ステップは、前記少なくとも2つのメモリセルに対応するデータを読み出すステップを含む、請求項20に記載のメモリセルをテストする方法。
【請求項２４】
前記生成するステップは、前記ローカル結果データを生成するために、前記少なくとも2つのメモリセルのデータに対して排他的論理和演算を実行するステップを含む、請求項23に記載のメモリセルをテストする方法。
【請求項２５】
前記比較するステップは、前記メモリデバイスから外部的に前記グローバル結果データを受け取るステップを含む、請求項20に記載のメモリセルをテストする方法。
【請求項２６】
前記更新されたグローバル結果データを生成する前記ステップは、前記更新されたグローバル結果データを生成するために、前記グローバル結果データと前記ローカル結果データとの論理和をとるステップを含む、請求項20に記載のメモリセルをテストする方法。
【請求項２７】
前記グローバル結果データは、前のメモリデバイスによって生成される、請求項20に記載のメモリセルをテストする方法。
【請求項２８】
前記グローバル結果データは、テスト回路によって生成され、前記グローバル結果データはパス状態を有するようにプリセットされる、請求項20に記載のメモリセルをテストする方法。
【請求項２９】
前記更新されたグローバル結果データは、後続のメモリデバイスに供給される、請求項20に記載のメモリセルをテストする方法。
【請求項３０】
前記更新されたグローバル結果データは、テスト回路に供給される、請求項20に記載のメモリセルをテストする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に複数デバイスシステムのテストに関するものである。より詳細には、本発明は、相互接続複数デバイスシステムのテストに関するものである。
【背景技術】
【０００２】
半導体メモリデバイスは、現在入手可能な工業用および民生用電子製品において重要な構成部品である。例えば、コンピュータ、携帯電話、および他の携帯電子機器はすべて、データを記憶するために何らかの形のメモリに依存している。通常、多くのメモリデバイスは汎用デバイスとして入手可能であるが、より高度の集積化の必要性により、マイクロコントローラおよび他の処理回路などのシステムと共に集積化することができる内蔵メモリの開発に至っている。
【０００３】
残念ながら汎用メモリの密度は、メモリに対する絶えず増大する要求には合致できない。したがって、システムのメモリ要求を満たすために、複数の汎用メモリが一緒に用いられる。図1は、知られている複数デバイスのメモリ構成を示す。複数デバイスメモリシステムは、単一パッケージ内に共にグループ化された1組のシリコンチップ(マルチチップシステム-MCPと呼ばれる)、またはプリント回路基板上に共にグループ化された複数のメモリデバイスパッケージとして実現することができる。
【０００４】
図1は、マルチドロップすなわち並列構成に構成された、従来技術の複数デバイスシステムのブロック図である。複数デバイスシステム100は、メモリコントローラ102、並びにメモリデバイス104、106、108、および110を含む。メモリコントローラ102は、メモリデバイスとシステム(図示せず)との間のインタフェースであり、メモリデバイス104、106、108、および110は、任意のタイプのメモリデバイスでよく、または内蔵メモリを含むシステムでよい。4つのメモリデバイスが示されているが、当業者には複数デバイスシステム100は、任意の数のメモリデバイスを含むことができるが、すべてが、読み出しおよび書き込みデータバスの共通のセットを共有することが理解される。したがって、メモリデバイスのうちの任意の1つは、メモリコントローラ102を通じて命令されたとき、読み出しデータバスの共通のセットを通じて読み出しデータを供給することができる。
【０００５】
当業者には、図1に示されるような複数デバイスシステムは、動作のロバスト性を確実にするために個々の構成部品レベルにて、およびシステムレベルにてテストされることが理解される。特にメモリデバイスは、そのメモリセルが不良でないことを確実にするためにチップレベルでテストされる。不良メモリセルは、製造不良、またはメモリデバイスの製造または組み立て時に生じ得る他の不良により、正しくデータを記憶しないセルである。
【０００６】
メモリデバイスをテストする1つの知られている技法は、2つのメモリバンクに同一のテストデータを書き込み、次いで読み出し動作による読み出しデータを比較する方式である。当業者には、メモリデバイスは任意の数のメモリバンクを含むことができることが理解されるが、ここでの説明では例示としてのみ2つが用いられる。メモリバンクが設計仕様に従って動作すれば、一方のメモリバンクからのデータは、他方のメモリバンクからのデータと一致することになる。そうでない場合は不良メモリセルが存在し、メモリデバイスは全体として不良と見なされる。この技法の概念的な手法は、図2に示される。最初に、テストパターンデータが、メモリデバイスの2つのメモリバンク202および204に書き込まれる。これは、同じデータを両方のメモリバンク202および204に同時に書き込むことができるので、迅速に行うことができる。次いで、バンク202および204の両方のデータが、一度に1ビットずつ読み出され、それによりバンク202からのデータは、バンク204からのデータと、排他的論理和(XOR)回路206によって比較されるようになる。比較の状態を示すために、XOR回路206によって単一ビット信号PASSが生成される。メモリバンクのデータ内容の差異は、メモリセルの障害を示すことになる。識別された後、不良セルは良く知られている冗長方式を用いて冗長セルと置き換えることができ、その結果、不良メモリデバイスが不良でないものとして救済される。
【０００７】
残念ながら、テストに関する主要な問題は、システムのあらゆるメモリデバイスの、すべてのメモリセルをテストするのに必要な時間である。前の例では、メモリバンク202の1つのメモリセルのデータは、メモリバンク204の1つのメモリセルのデータと比較される。したがって、すべてのメモリデバイスが順番にテストされると、結果として長いテスト時間となり、メモリデバイスの生産サイクルに対する追加のコストとなる。
【０００８】
「Semiconductor Memory Device with Data Compression test Function and its Testing Method」という名称のUchidaの米国特許第5,579,272号は、データ圧縮を用いることによってテスト時間の問題に対処している。データ圧縮は、複数のメモリセルを同時にテストし、テストされたメモリセルの数より小さいビット数で、テスト結果を表示するものである。データ圧縮の最も一般的な手法は、入力ビットの少なくとも1つが障害を示すとき、複数のビットを、障害を示す単一ビット出力に圧縮することである。この手法の欠点は、実際は単一のセルだけが不良の場合に、複数のメモリセルが故障と宣言されることであるが、「Data Compression Test Mode Independent of Redundancy.」という名称のMorzanoの米国特許第5,913,928号によって示されるように、この問題を軽減することは可能である。Morzano特許では、圧縮されたテスト結果での障害の表示の後には、不良セルを分離するための個々のテストが行われる。
【０００９】
テスト時間を短縮することによって達成できる経済性のために、メモリセルを比較し、テスト結果を圧縮するために用いられる回路に対する改良に、様々な努力がなされている。「Integrated Circuit Memory Device Having Current-Mode Data Compression Test Mode」という名称のHauknessの米国特許第5,926,422号、「Method and Apparatus for Data Compression in Memory Devices」という名称のKeethの米国特許第6,295,618号および第6,999,361号、並びに「Data Compression Read Mode for Memory Testing」という名称のSantinの米国特許第6,930,936号はすべて、メモリデバイス内の比較および圧縮回路の速度の向上を対象とする特許の例である。
【００１０】
これらの良く知られた技法を用いて、その増大するサイズと複雑さに関わらず、単一チップパッケージ内の個々のメモリデバイス対して、短いテスト時間を維持することが可能となった。さらには、図1に示されるものなどの、マルチドロップ構成に構成された複数デバイスパッケージにおいても、短いテスト時間を達成することが可能となった。チップ内のメモリデバイスは並列にテストすることができるので、マルチドロップ構成でも短いテスト時間は依然として可能である。
【００１１】
「Serial Testing of Removable Circuit Boards on a Backplane Bus」という名称のKennedyの米国特許第5,132,635号によって示されるように、シリアルに相互接続されデバイスのテストに固有の困難さは、長い間、知られており、この特許は、このようなテストの順次的な性質を示している。このような順次的テストの欠点は、各デバイスが順番にテストされることであり、したがってN個のチップを含む複数デバイスシステムをテストするには、N個の単一チップパッケージ、または同じ数のチップを有するマルチドロップパッケージよりN倍長くかかる。
【００１２】
ほとんどのメモリデバイスは、マルチドロップおよびシリアルに構成された複数デバイスメモリシステムの両方において用いられ、テストされるように十分に柔軟であるべきことが留意されるべきである。先に述べたように、マルチドロップメモリシステムのテストは、速やかに行うことができる。しかし、シリアル相互接続構成に対して複数デバイスシステムレベルのテストを行うには、追加の専用回路が必要となり得る。したがって、設計、製造、およびテストのコストを最小に保つために、テスト回路の複雑さ、およびサイズは最小にすべきである。
【００１３】
したがって、高いテスト速度を達成することができる、シリアル相互接続構成に構成された複数デバイスメモリシステム用のテスト方式を実現することが望ましい。さらに、テスト方式を実施するために必要な追加のテスト回路量を最小にすることが望ましい。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】米国特許第5,579,272号
【特許文献２】米国特許第5,913,928号
【特許文献３】米国特許第5,926,422号
【特許文献４】米国特許第6,295,618号
【特許文献５】米国特許第6,999,361号
【特許文献６】米国特許第6,930,936号
【特許文献７】米国特許第5,132,635号
【特許文献８】米国特許出願第11/324,023号
【発明の概要】
【発明が解決しようとする課題】
【００１５】
本発明の一目的は、システム内の前のチップのテスト結果を用いて、シリアル相互接続構成内の各デバイスのテスト結果を圧縮することによって、従来のシリアルに相互接続されたマルチチップまたは複数デバイスシステムの少なくとも1つの欠点を取り除くまたは軽減することである。
【課題を解決するための手段】
【００１６】
第1の態様では、本発明は、シリアル入力接続およびシリアル出力接続を有するメモリデバイスのためのテスト回路を提供する。テスト回路は、ローカル比較回路と、圧縮回路とを含む。ローカル比較回路は、少なくとも2つのメモリセルのデータを互いに比較し、少なくとも2つのメモリセルの1つが不良の場合は、フェイル状態に対応するローカル結果データを生成する。圧縮回路は、更新されたグローバル結果データをシリアル出力接続に供給するために、ローカル結果データと、シリアル入力接続から受け取られたグローバル結果データとの論理和をとる。ローカル結果データおよびグローバル結果データの少なくとも1つがフェイル状態に対応する場合は、更新されたグローバル結果データはフェイル状態に対応する。
【００１７】
本態様の一実施形態によれば、テスト回路は、ローカル結果データおよびローカルメモリデータの1つを選択的に通過させるための第1のステージテストパスセレクタをさらに含み、第1のステージテストパスセレクタは、テストモード信号に応答してローカル結果データを圧縮回路に渡す。テスト回路は、ローカル結果データおよびグローバルメモリデータの1つを選択的に通過させるための第2のステージテストパスセレクタをさらに含むことができ、第2のステージテストパスセレクタは、テストモード信号に応答してローカル結果データをシリアル出力接続に渡す。ローカル比較回路は、少なくとも2つのメモリセルからデータを受け取るための論理回路を含むことができ、論理回路は、データが所定のパターンと一致しないときは、フェイル状態に対応するローカル結果データを生成するように構成される。ローカル比較回路は、少なくとも2つのメモリセルからデータを受け取るための排他的論理和回路を含むことができ、ローカル結果データは、排他的論理和回路によって生成される。
【００１８】
この実施形態の他の態様では、圧縮回路は、グローバル結果データおよびローカル結果データを受け取るためのOR回路を含み、OR回路は、更新されたグローバル結果データを生成する。メモリデバイスは、ローカルメモリデータおよびグローバルメモリデータの1つをメモリデータとして選択的に通過させるためのデバイスセレクタを含み、ローカルデータは少なくとも2つのメモリバンクの1つから受け取られ、グローバルデータはシリアル入力接続から受け取られる。少なくとも2つのメモリセルのそれぞれは、異なる分離されたメモリ領域内に位置することができ、または同じ分離されたメモリ領域内に位置することができる。メモリデバイスは、ローカル結果データを受け取り、記憶するためのパラレル-シリアル変換レジスタを含み、パラレル-シリアル変換レジスタは、nビット幅のローカル結果データを並列に受け取り、クロックに同期してnビット幅のローカル結果データの1ビットをシリアルに出力するために、少なくともnビット幅である。メモリデバイスは、シリアル入力接続から受け取られたグローバル結果データを受け取り、クロックに同期してグローバル結果データの1ビットを生成するための、フリップフロップ回路を含むことができる。
【００１９】
第2の態様では、本発明はメモリシステムを提供する。システムは、テストモードにおいて単一ビットグローバル結果データを生成するように動作可能な第1のメモリデバイスであって、単一ビットグローバル結果データは、第1のメモリデバイスセル不良に対応する、第1のメモリデバイスと、テストモードにおいて単一ビットグローバル結果データを受け取るように動作可能な第2のメモリデバイスであって、少なくとも前記1つの第1のメモリデバイスセル不良および第2のメモリデバイスセル不良に対応する、更新された単一ビットグローバル結果データを生成する、第2のメモリデバイスとを含む。本態様の一実施形態によれば、システムは、テスト動作モード時に、デフォルトのパスデータを生成し、更新された単一ビットグローバル結果データを受け取るためのメモリコントローラを、さらに含む。メモリコントローラは、テスト回路を含むことができ、テスト回路は、テスト動作モード時に、デフォルトのパスデータを生成するための生成回路と、更新された単一ビットグローバル結果データを受け取るための受信回路とを含むことができる。生成回路および受信回路は、専用回路とすることができる。
【００２０】
本態様の他の実施形態によれば、第1のメモリデバイスは、第1のメモリデバイスセル不良を検出し、第1のローカル結果データを生成するための第1のローカル比較回路と、第1のローカル結果データの状態に対応する単一ビットグローバル結果データを生成するための第1の圧縮回路とを含む。他の実施形態では、第2のメモリデバイスは、第2のメモリデバイスセル不良を検出し、第2のローカル結果データを生成するための第2のローカル比較回路と、第1のメモリデバイスからの単一ビットグローバル結果データおよび第2のローカル結果データに対して論理OR機能を実行するための第2の圧縮回路とを含む。第2の圧縮回路は、論理OR機能の出力に対応する、更新された単一ビットグローバル結果データを生成する。第1のローカル比較回路は、第1のメモリデバイスセル不良を検出するための、第1の排他的論理和回路を含むことができ、第2のローカル比較回路は、第2のメモリデバイスセル不良を検出するための、第2の排他的論理和回路を含むことができる。第1の圧縮回路は、デフォルトのパスデータおよび第1のローカル結果データを受け取るための、第1のOR回路を含むことができ、第2の圧縮回路は、単一ビットグローバル結果データおよび第2のローカル結果データを受け取るための、第2のOR回路を含むことができる。
【００２１】
第3の態様では、本発明は、メモリシステムをテストする方法を提供する。方法は、(a)1つのメモリセル不良を検出するために、メモリデバイス内の少なくとも2つのメモリセルを比較するステップと、(b)1つのメモリセル不良が検出されたときに、フェイル状態に対応するローカル結果データを生成するステップであって、ローカル結果データは、1つのメモリセル不良がない場合はパス状態に対応する、ローカル結果データを生成するステップと、(c)ローカル結果データをグローバル結果データと比較するステップであって、グローバル結果データはフェイル状態およびパス状態の1つに対応する、ローカル結果データをグローバル結果データと比較するステップと、(d)メモリデバイスからの更新されたグローバル結果データを生成するステップであって、更新されたグローバル結果データは、グローバル結果データおよびローカル結果データの少なくとも1つがフェイル状態に対応する場合にフェイル状態に対応する状態を有する、更新されたグローバル結果データを生成するステップとを含む。
【００２２】
本態様の実施形態は、以下の通りである。ローカル結果データ、グローバル結果データ、および更新されたグローバル結果データは、単一ビット信号である。少なくとも2つのメモリセルを比較するステップには、メモリデバイスのすべてのメモリセルに同一のテストデータを書き込むステップが先行する。少なくとも2つのメモリセルを比較するステップは、少なくとも2つのメモリセルに対応するデータを読み出すステップを含み、生成するステップは、ローカル結果データを生成するために、少なくとも2つのメモリセルのデータに対して排他的論理和演算を実行するステップを含む。比較するステップは、メモリデバイスから外部的にグローバル結果データを受け取るステップを含む。更新されたグローバル結果データを生成するステップは、更新されたグローバル結果データを生成するために、グローバル結果データとローカル結果データとの論理和をとるステップを含む。グローバル結果データは、前のメモリデバイスまたはメモリコントローラによって生成され、メモリコントローラによる場合は、グローバル結果データはパス状態を有するようにプリセットされる。更新されたグローバル結果データは、後続のメモリデバイス、メモリコントローラ、またはテスタシステムに供給される。
【００２３】
本発明の他の態様および特徴は、当業者には、本発明の特定の実施形態についての以下の説明を、添付の図と併せ読むことにより明らかになるであろう。
【００２４】
次に、本発明の実施形態について、添付の図を参照して、一例としてのみ説明する。
【図面の簡単な説明】
【００２５】
【図１】マルチドロップ構成に構成された従来技術の複数デバイスパッケージのブロック図である。
【図２】従来技術のメモリデバイステスト方式のブロック図である。
【図３ａ】本発明の一実施形態が適用可能である、シリアル相互接続構成に構成された複数デバイスパッケージのブロック図である。
【図３ｂ】本発明の一実施形態に係る圧縮テスト回路を有する、メモリデバイスのブロック図である。
【図４ａ】本発明の一実施形態に係るものであって、シリアルに相互接続されたテスト可能なメモリデバイスのブロック図である。
【図４ｂ】本発明の他の実施形態に係るものであって、シリアルに相互接続されたテスト可能なメモリデバイスのブロック図である。
【図５】本発明の一実施形態に係るものであって、メモリシステムデバイステスト方法のフローチャートである。
【図６】本発明の一実施形態に係るものであってる、メモリデバイスのための出力パス回路および圧縮テスト回路の回路図である。
【図７ａ】メモリデバイス間の情報の流れを示すものであって、図6に示される圧縮テスト回路を有するシリアルに相互接続されたメモリデバイスのブロック図である。
【図７ｂ】図7aのシステムの動作を示すタイミング図である。
【図８ａ】メモリデバイス内に不良がないときの本発明の一実施形態に係る例示のテスト方法の動作を示すブロック図である。
【図８ｂ】メモリデバイス内に不良があるときの本発明の一実施形態に係る例示のテスト方法の動作を示すブロック図である。
【図９】本発明の一実施形態に係るものであって、単一メモリバンクデバイス用に構成されたローカル比較器回路を示すブロック図である。
【発明を実施するための形態】
【００２６】
一般に、本発明は、複数デバイスシステムの個々のデバイスがシリアル相互接続構成に構成された、複数デバイスシステム内の、メモリの高速テストのための方法およびシステムを提供する。本発明の好ましい実施形態は、組み立てられたまたはパッケージングされた複数デバイスシステムの最終テストを対象とする。この時点では、個々のデバイスはすでにテスト、確認を受け、必要な場合には冗長性の実装がなされている。しかし、複数デバイスシステムの取り扱いおよびパッケージング時に伴う機械的および電気的ストレスは、さらに障害を引き起こし得る。したがって、デバイスは組み立てられまたはパッケージングされているので、いずれかの個々のデバイス内で何らかのメモリビット障害が発見されれば、システム全体が不良となる。
【００２７】
以下で複数デバイスシステムと呼ぶものには、単一パッケージ内に集積化された複数デバイスシステム、プリント回路基板上に相互接続された複数の個別デバイスを有するシステム、または同じ半導体チップ内に集積化された複数のデバイスが含まれる。メモリバンク、メモリ領域、およびメモリブロックとは、分離されたメモリのタイプと見なされることを意図しており、分離された部分は、読み出しおよび書き込み動作のためにアドレス指定可能である。
【００２８】
図3aは、本発明の一実施形態が適用可能である、シリアル相互接続構成に構成された複数デバイスパッケージのブロック図である。当業者には、シリアル相互接続とは、2つ以上のデバイスが互いにシリアルに相互接続された、デバイスの物理的構成を指すことが理解される。複数デバイスシステム120は、メモリコントローラ122、並びにメモリデバイス124、126、128、および130を含む。図3aに示される構成要素は、図1の複数デバイスシステム100について前述したものと同一でよい。図3aではメモリデバイスは、1つのメモリデバイスの出力が次のメモリデバイスの入力端に供給されるように、シリアルに接続される。第1のメモリデバイスの入力端、および最後のメモリデバイスの出力端は、メモリコントローラ122に接続される。したがって、命令およびデータは共に、メモリデバイスからメモリデバイスへと転送される。メモリデバイスの数は、任意の数とすることができる。複数のデバイスのシリアル相互接続の構成は、参照によりその内容のすべてが本明細書に組み込まれる、本願の譲受人に譲渡された、2005年12月30日出願の米国特許出願第11/324,023号によって開示されている。
【００２９】
本発明の一実施形態によれば、個々のメモリデバイスがパッケージ内で物理的または論理的に構成される、構成のシリアル的な性質に関わらず、シリアル相互接続に構成された複数デバイスパッケージでの同時テストが可能である。シリアル相互接続内の不良の位置が識別できる場合は、テストシステムまたはテスト能力を有するメモリコントローラ内に、フェイル位置のアドレスを記憶することが好ましい。その後に、個々のテストを行うことができる。
【００３０】
本発明の一実施形態では、高速テストは、最初に複数デバイスシステムの各デバイスのメモリバンクにテストパターンデータを書き込むことと、その後に続く、各デバイス内のデータのローカルテスト読み出しおよび比較によって実現される。各デバイスは、デバイス内の障害ビット位置すなわち不良の有無を表す、ローカル結果データを発生する。各デバイス内のシリアルテスト回路は、ローカル結果データを、前のデバイスからのグローバル結果データと比較する。テスト回路は、この比較のこの結果を圧縮し、それを更新されたグローバル結果データとして、次のデバイスに供給する。したがって、更新されたグローバル結果データは、すべての前のデバイスのローカル結果データを表すことになる。
【００３１】
本発明の実施形態によれば、シリアル相互接続内の最後のデバイスから供給される、「パス」に対応する最終グローバル結果データは、いずれのメモリデバイス内にも不良がないことを示す。一方、「フェイル」に対応する最終グローバル結果データは、すべてのデバイスのメモリバンク中に少なくとも1つの不良なメモリセルがあることを示す。本発明の好ましい実施形態では、各ローカル結果データおよび各グローバル結果データは、単一ビットデータ信号である。単一のデータビットだけがデバイスからデバイスへと伝搬するので、テストロジックは簡単であり、実装するために大きなシリコン面積は必要としない。
【００３２】
図3bは、本発明の一実施形態に係るメモリデバイスのブロック図である。より具体的には、メモリデバイス300が、ローカルメモリテスト回路を含むメモリ回路302を含んでいることが示されており、このローカルメモリテスト回路は図2に示されるタイプでよいが、そのメモリバンクの1つが不良を含むかどうかを示すことができる他の任意の論理回路でもよい。この実施形態では、メモリ回路302は、共に、XOR回路308を含むテスト回路に結合された第1のメモリバンク304と、第2のメモリバンク306とを含む。メモリデバイス300はさらに、前のデバイス(図示せず)との接続のための入力端子310、圧縮回路312、および次のデバイス(図示せず)との接続のための出力端子314を含む。圧縮回路312は、簡単なOR論理回路として示されるが、入力端子310およびメモリ回路302から受け取った信号を組み合わせることができる任意の1つまたは複数の論理回路を用いて実現することができる。入力端子310は、システム内の前のデバイスの出力端子314から、単一ビットグローバル結果データを受け取る。テスト動作モード時には、圧縮回路312は、入力端子310から受け取ったグローバル結果データと、ここではメモリ回路302内のXOR回路308として実施されているローカル比較回路からのローカル結果データとを論理的に圧縮、すなわち組み合わせる。
【００３３】
入力端子310およびXOR回路308からのデータの比較が障害を示す場合は、圧縮回路312は、出力端子314を通じて「フェイル」信号を生成する。そうでない場合は、「パス」信号が生成される。好ましい実施形態によれば、「パス」および「フェイル」状態は、単一のデータビットによって表される。更新されたグローバル結果データと呼ばれる、出力端子314から送信される信号は、次いでシステム内の次のメモリデバイス300の入力端子310に供給される。したがって、各圧縮回路312は、入力端子310から受け取ったグローバル結果データを、ローカル結果データを用いて更新し、更新されたグローバル結果データを生成する。テスト回路の詳細な実施形態については、後に述べる。
【００３４】
図4aは、シリアルに相互接続されたメモリデバイスを含む、複数デバイスシステムのブロック図である。この実施形態では、複数デバイスシステム400は、メモリコントローラ402、およびメモリデバイス404、406、408、および410を含む。各メモリデバイス404、406、408、および410は、好ましくは図3bのメモリデバイス300を用いて実現される。メモリコントローラ402は、その中にテスト回路を含む。テスト回路は、テスト信号生成器418、およびテスト結果受信器420を含む。テスト信号生成器418は、テストパターンを含んだテスト信号を、第1のメモリデバイスに供給する。テスト結果受信器420は、最後のメモリデバイスからのテスト結果データを含んだテスト信号を受け取る。当業者には、メモリコントローラ402は、メモリデバイスの動作の制御を受け持つ任意の制御ロジックでよいことが理解される。
【００３５】
通常動作時は、メモリコントローラ402は、デバイスイネーブル信号を供給することにより、特定のメモリデバイスに書き込みデータを供給し、特定のメモリデバイスから読み出しデータを要求する。図面を簡単にするために、コマンド、アドレス、および読み出し/書き込みデータを通信するための接続は示していない。したがって、デバイス識別子を通じてアドレス指定されたデバイスのみが、コマンドおよびアドレス情報に対して動作するようにイネーブルされ、先行する各メモリデバイスは、コマンドおよびアドレスデータが通過することを可能にし、後の各メモリデバイスは、読み出しデータが通過し、メモリコントローラ402に戻ることを可能にする。
【００３６】
次に、本発明の一実施形態に係る複数デバイスシステム400のテストモード動作について、より詳しく説明する。テストモードでは、メモリコントローラ402は、テストパターンデータと共に書き込みコマンドを第1のメモリデバイス404に送る。一意のコード、値、または数に応答して、すべてのデバイスが、メモリコントローラ402からのコマンド、アドレス、および書き込みデータに対して動作するようにイネーブルされることになる。一意のコード、値、または数は、いずれの他の機能、またはテストコマンド用にシステムによって用いられることはない。メモリデバイスは互いに直列に接続されているので、コマンド、アドレス、および書き込みデータは、各メモリデバイスを通るデータのクロッキングに伴うプリセット待ち時間を有して、デバイスからデバイスへと転送される。すべてのメモリデバイス404、406、408、および410のメモリバンクに書き込みデータが書き込まれると、続いて本発明の実施形態に係るメモリテストを行うことができる。別法として、一意のコード、値、または数は、メモリデバイスに供給することができる。その後は、各メモリデバイスは、記憶されたプリセットテストデータを読み出して局部的に不良があるか否かを判定する。ローカル比較の結果を表すローカル結果データは、前のグローバル結果データと比較され、次のメモリデバイスへ前方向に送られ、そこで同じ比較が実行される。
【００３７】
図4aでは、メモリデバイス404は、シリアル相互接続内の第1のメモリデバイスであるので、その入力端子は、メモリコントローラ402からデフォルトの「パス」データを受け取ることになる。例えば、デフォルトのパスデータは、1つまたは複数の論理「0」ビットとなるようにプリセットすることができる。メモリデバイス404は、その出力端から、更新されたグローバル結果データ412を、メモリデバイス406に供給する。次いでメモリデバイス406は、メモリデバイス404から受け取った前のグローバル結果データを、そのローカル結果データと組み合わせて、更新されたグローバル結果データ414を発生する。メモリデバイス404からのローカル結果データ、またはメモリデバイス406からのローカル結果データが「フェイル」に対応する場合は、更新されたグローバル結果データ412および414も「フェイル」を示すことになる。メモリデバイス406は、その更新されたグローバル結果データ414をメモリデバイス408に送信し、メモリデバイス408は前述の内部比較を繰り返す。最終的に、更新されたグローバル結果データは、シリアル相互接続内の最終メモリデバイスであるメモリデバイス410に到達し、メモリデバイス410は、最終グローバル結果データ416を生成してメモリコントローラ402に戻す。メモリデバイス410によって発生された最終グローバル結果データ416は、シリアル相互接続内のいずれかのデバイスのメモリセルが1つでも不良である場合は、「フェイル」状態に対応することになる。
【００３８】
図4bは、本発明の他の実施形態に係る、シリアルに相互接続された複数メモリデバイスを示す。この例は、テスト信号生成器418およびテスト結果受信器420が、メモリコントローラまたは同様なタイプのコントローラの外部の論理回路として実現できる点を除いて、図4aのものと同様である。図4bを参照すると、テスト信号生成器422およびテスト結果受信器/判定器424は、互いに別々に構成される。この例では、4つのメモリデバイスがシリアルに相互接続される。シリアルに相互接続されたデバイス404、406、408、および410は、テスト信号生成器422、およびテスト結果受信器/判定器424に接続される。テスト信号生成器422は、テスト信号生成器418と同じ機能を行う。テスト結果受信器/判定器424は、テスト結果受信器420と同じ機能を行い、またメモリデバイス410によって発生される最終グローバル結果データ416から「障害」または「パス」を判定する機能を行う。
【００３９】
図5は、本発明の一実施形態に係るものであり、シリアルに相互接続された複数デバイスメモリシステムをテストする方法を示すフローチャートである。この例の目的のために各メモリデバイスは2つのメモリバンクを有すると仮定しているが、当業者には、任意の数のメモリバンクが存在し得ることが理解される。さらに当業者には、本発明の実施形態は、単一メモリアレイを有するように構成されたデバイスに適用可能であることが理解される。単一メモリアレイデバイスに適用されるメモリテスト方式の詳細な説明は、図9に関連して説明する。
【００４０】
テスト方法は、ステップ500にて、各メモリデバイス内のあらゆるバンクにプリセットテストデータを書き込むことによって開始する。各メモリデバイス内のすべてのメモリバンクに書き込むのに必要な時間を最小にするために、プリセットテストデータは、各メモリバンクにおいて同じであることが好ましい。用いることができるプリセットテストデータの一例は、チェッカボードパターン、またはすべて論理「0」のデータ、またはすべて論理「1」のデータである。本発明の一実施形態によれば、システム内のいずれのデバイスにも対応しない一意のコード、値、または数を用いて、書き込みコマンドをすべてのメモリデバイスに供給することができる。この一意のコードに応答して、仮想テストモードに入り、各メモリデバイスのすべてのメモリブロックは、同時にプリセットテストデータを受け取るように設定される。このような制御は、当業者には良く知られているように、デバイスのコマンドデコーダによって行うことができる。そうでない場合は、システムをテスト動作モードにするために、メモリデバイスのそれぞれに特定のテストコマンドを供給することができる。
【００４１】
すべてのメモリバンクにプリセットテストデータが書き込まれた後、ステップ502にて、第1のメモリデバイスjの2つのメモリバンクの、第1のビット位置iが読み出される。変数iおよびjは、ステップ502で0から開始する。次いで、例えば図3bのXOR回路308などのテスト回路が用いられて、2つのメモリバンクのビット位置i=0のパスまたはフェイル状態を表す単一ビットローカル結果データが発生される。ステップ504では、ビット位置i=0に対するローカル結果データは、先行するメモリデバイスj-1からの、前のグローバル結果データのビット位置i=0と比較される。第1のメモリデバイスj=0は、システム内に先行するメモリデバイスはないので、デフォルトの「パス」結果データをメモリコントローラから受け取ることになる。この比較は、例えば図3bのOR回路312によって実行することができる。この比較の出力は、ステップ506にて、現在のメモリデバイスjに対する更新されたグローバル結果データとして生成される。
【００４２】
ステップ508では、現在のメモリデバイスjが、システム内の最後のメモリデバイスであるか否かの判定がなされる。現在のメモリデバイスjがシステム内の最後のメモリデバイスではない場合は、次のメモリデバイスは、ビット位置i=0に対してステップ502から508を実行する。これは、本方法では、ステップ510にてjをインクリメント(j=j+1)し、ステップ502にループして戻ることで表される。ステップ502から510は、最後のメモリデバイスによって最終の更新されたグローバル結果データが生成されるまで繰り返され、その時点で方法はステップ512へ進み、これはすべてのメモリバンクのビット位置i=0に対するテストが完了したことを示す。最終の更新されたグローバル結果データのパス/フェイル状態の判定は、ステップ512にて行われる。ビット状態がフェイルに対応する場合は、方法はステップ514で終了し、システム全体がテストに不合格と見なされ、それによってメモリバンクの他のビットのテストを不要にする。一方、ビット状態がパスに対応する場合は、方法はステップ516へ続き、ここではメモリバンクの最後のビット位置の判定がなされる。最終の更新されたグローバル結果データが最後のビット位置に対応する場合は、方法はステップ518で終了し、システムは全体としてテストに合格したことになる。
【００４３】
そうでない場合は、テストすべき、さらなるビット位置が残っている。方法はステップ502へループして戻り、そこではシステムの第1のメモリデバイスから始めて、メモリバンクの次のビット位置がテストされる。これは本方法では、ステップ520でiをインクリメント(i=i+1)し、ステップ522でj=0にリセットし、ステップ502へループして戻ることによって表される。いずれのメモリバンク内にも不良がない場合は、方法は、ステップ502から510のループ、およびステップ502から522のループを繰り返してすべのメモリデバイスのメモリバンク内のあらゆるビット位置をテストする。
【００４４】
図6は、図3bに示されるメモリデバイス300の詳細な概略実施形態である。メモリデバイス600は、標準の出力パス回路、およびテスト回路602を含む。標準の出力パス回路はさらに、前のメモリデバイスから読み出し/書き込みデータを受け取るためのフロースルー出力パス、ローカル読み出しデータを生成するためのローカル出力パス、およびフロースルー出力パスおよびローカル出力パスのいずれかから受け取ったデータを駆動するための共有出力ドライバパスに分けることができる。フロースルー出力パスは、入力端子604、入力バッファ606、およびD型フリップフロップ608を含む。ローカル出力パスは、メモリバンクセレクタ610、およびnビットのパラレル-シリアル変換レジスタ612を含む。共有出力ドライバパスは、デバイスセレクタ614、出力バッファ616、およびシリアル出力端子618を含む。
【００４５】
出力パス回路の一般的な動作は、当業者には良く知られている。例として、メモリバンクセレクタ610は、メモリデバイスが通常動作モードで機能しているときに、データ読み出しのために個々のメモリバンクが選択されるのを可能にする。(デバイスID番号に関係する)デバイス選択信号D_SELに応じて、デバイスセレクタ614は、ローカル出力パスによって生成されるローカルデータ、またはフロースルー出力パスから供給されるグローバルデータを通過させることになる。一般に、デバイスセレクタ614から渡されたローカルデータおよびグローバルデータは、通常動作モード時にはメモリデータと見なされる。D型フリップフロップおよびパラレル-シリアル変換レジスタ612は、出力データがデータの供給源に関わらずシステムと正しく同期することを確実にするために、同じ信号CLKによってクロッキングされることに留意されたい。したがってフロースルー動作では、データは1つのメモリデバイスから他のメモリデバイスへ転送されるのに従って単一クロックサイクルの待ち時間が課される。
【００４６】
図6ではローカル出力パスおよび共有出力ドライバパスは、本発明のシリアルテスト方式の実施形態を可能にするように最小のロジックと回路によって適合される。追加のシリアルテスト回路602は、ローカル比較器回路620、nビットの第1のステージテストパスセレクタ622、グローバル比較回路とも呼ばれる圧縮回路624、および第2のステージテストパスセレクタ626を含む。ここでは例として、圧縮回路624はOR回路として実現されているが、当業者には、機能的に等価な任意の回路を使用できることが理解される。ローカル比較器回路620は、例としてはXOR回路として実現されているが、メモリセルの内容を比較することによって不良の有無を論理的に検出できるものであれば、機能的に等価な任意の回路を用いることができる。より具体的には、書き込まれたテストパターンに基づいて、メモリセルの内容が、所定のパターンまたは他の予想される出力と一致しないかどうかを判定するために、任意の論理回路を用いることができる。XOR回路620は、1つのバンク(バンク0)からデータビットを受け取るための第1の入力端と、もう1つのバンク(バンク1)からデータビットを受け取るための第2の入力端とを有する。この例では、バンク0とバンク1からの2つのビットが論理的に同じである限り、XOR回路620は、「パス」結果に対応する論理「0」の結果を出力することになる。
【００４７】
第1のステージテストパスセレクタ622は、選択信号TEST_MODEに応答して、メモリアレイからのローカルメモリデータを供給するメモリバンクセレクタ610の出力、またはXOR回路620の出力を選択的に通過させるのに用いられる。テスト動作モードでは、XOR回路620の単一ビット出力が、パラレル-シリアル変換レジスタ612に渡される。この出力はローカル結果データであり、これは後で、先行するメモリデバイスからの前のグローバル結果データと比較される。この例では、バンク0とバンク1からのn個のビットは、同時に互いに比較され、したがってパラレル-シリアル変換レジスタ612内には、記憶されたn個のローカル結果データビットがある。したがって、メモリバンクセレクタ610、ローカル比較器回路620、および第1のステージテストパスセレクタ622は、nビット幅のワードに適合するように構成される。
【００４８】
パラレル-シリアル変換レジスタ612は、ロードされた後に、クロックサイクルごとに、1つの単一ビットローカル比較結果を圧縮回路624に供給し、そこでそれは、D型フリップフロップ608から受け取った前のグローバル結果データの対応するビットと比較される。例として圧縮回路624は、パラレル-シリアル変換レジスタ612の出力端に接続された第1の入力端と、D型フリップフロップ608の出力端に接続された第2の入力端を有するOR論理回路として実現される。OR論理回路624の単一ビット出力は、先行するメモリデバイスからの前のグローバル結果データを、パラレル-シリアル変換レジスタ612内に含まれたローカル結果データと組み合わせる。第2のステージテストパスセレクタ626は、信号TEST_MODEに応答してOR論理回路624の出力を選択的に通過させる。テスト動作モードでは、OR論理回路624の出力は、次のメモリデバイスまたはメモリコントローラに送信するために出力バッファ616に渡される。通常動作モードでは、第2のステージテストパスセレクタ626は、デバイスセレクタ614にて受け取ったグローバルメモリデータを通過させる。
【００４９】
次に、メモリデバイス600の標準の出力パス回路、および追加のシリアルテスト回路602の動作について述べる。テスト動作モード時には、制御信号TEST_MODEがセットされ、それにより第1のステージテストパスセレクタ622は、その「1」入力端子からのデータを通過させ、第2のステージテストパスセレクタ626は、その「1」入力端子からのデータを通過させるようになる。第1のステージテストパスセレクタ622は、ローカル比較器回路620によって行われたバンク0とバンク1の比較の結果を、パラレル-シリアル変換レジスタ612に渡す。この例では、各バンクから8ビットのデータが同時に読み出され互いに比較される。したがって、パラレル-シリアル変換レジスタ612には、ロードされた8個の比較結果がある。アクティブクロックエッジごとに、D型フリップフロップ608およびパラレル-シリアル変換レジスタ612は、単一ビットのデータを圧縮回路624に送信し、圧縮回路624は、それらを組み合わせ、圧縮された結果を出力する。圧縮された結果は、第2のステージテストパスセレクタ626を通過し、出力バッファ616および出力端子618を通じて、シリアル相互接続内の次のメモリデバイスに送られる。デバイスセレクタ614の出力は、第2のステージテストパスセレクタ626によって阻止されるので、ここでは選択信号D_SELの状態は関係しないことに留意されたい。
【００５０】
図7aは、デバイス間の情報の流れを示すための、シリアル相互接続されたメモリデバイス700、702、704、および706のブロック図である。各メモリデバイスは、図6に示される前述したシリアルテスト回路の実施形態を含む。各メモリデバイスは以下の入力ポートすなわち、シリアル入力ポートSI、入力イネーブルポートIPE、出力イネーブルポートOPE、およびクロック入力ポートを含む。各メモリデバイスは以下の出力ポートすなわち、シリアル出力ポートSOP、入力イネーブルポートIPEQ、出力イネーブルポートOPEQを含む。出力ポートIPEQおよびOPEQはフロースルーポートであり、それぞれIPEおよびOPE入力ポートにて受け取った信号を、システム内の次のデバイスに送信する。
【００５１】
図7bは、本発明のメモリテスト方式の実施形態を用いた、図7aのシリアルに相互接続された複数デバイスシステムの動作を示すタイミング図である。タイミング図は、システムクロックCLK、それぞれSIP[0]、IPE[0]、およびOPE[0]とラベルが付けられた、「デバイス0」のメモリデバイス700のポートSIP、IPE、およびOPE、並びにSOP[0]、SOP[1]、SOP[2]、およびSOP[3]とラベルが付けられた4つすべてのデバイスのシリアル出力ポートの信号トレースをプロットしている。テスト書き込みデータは、メモリデバイス700、702、704、および706のすべてのメモリバンクに書き込まれており、メモリデバイスのシステムはテストの準備が整っているものとする。
【００５２】
図7bから分かるようにメモリデバイス700は、テスト動作では入力イネーブル信号IPEを受け取る。前述のように一意のコード、値、または数によって、各デバイスが制御信号に対して動作するようにイネーブルされる。入力イネーブル信号IPE[0]は、メモリデバイス700から706まで転送され、順にそれぞれをイネーブルする。次にメモリデバイス700は、シリアル入力ポートSIP[0]を通じてテスト読み出しコマンドを受け取り、このコマンドは選択信号TEST_MODEを必要なテスト状態にセットすることを含むことができる。例えば、信号TEST_MODEは、読み出しコマンドに付随する一意のコードに応答してテスト状態に設定することができ、またはデバイスがテスト動作モードに入るときに明示的にセットすることができる。前述のように、一意のコードに応答して1つまたは複数のメモリバンクのメモリセル内へのテストデータの同時書き込みを可能にするために、適当な書き込み回路を活動化することができる。図7aには示されていないが、メモリデバイス700、702、704、および706のそれぞれにおけるラッチ回路は、システム内の1つのメモリデバイスでの読み出し動作の始まりと、次のメモリデバイスでの読み出し動作の始まりとの間に、1クロックサイクルの遅れを生じることになる。これは、1クロックサイクル待ち時間と呼ばれる。読み出しテストコマンドに応答して各デバイスは、ローカル読み出し、およびそのメモリバンクのセルの間のデータの比較を開始し、そのパラレル-シリアル変換レジスタ612にローカル比較結果をロードする。
【００５３】
ローカル比較を完了するのに十分な数のクロックサイクルが経過した後、メモリデバイス700によって出力イネーブル信号OPEが受け取られ、この信号はメモリデバイス700、702、704、および706を通して転送される。システム内の第1のメモリデバイス700は、メモリコントローラから出力イネーブル信号OPE、およびデフォルトの「パス」データを受け取る。このデフォルトの「パス」データは、先行するメモリデバイスからの「パス」状態を有する、前のグローバル結果データを模擬し、OR回路624によってローカル結果データとの比較のために用いられる。OPE信号、およびシステムクロックCLKの最初の立ち上がりエッジに応答して、メモリデバイス700のパラレル-シリアル変換レジスタ612からのローカル結果データビットが、その対応するOR回路624に供給される。最初の立ち上がりエッジではまた、メモリデバイス700のD型フリップフロップ回路は、デフォルトの「パス」データの1ビットを、OR回路624に供給することになる。図7bでは、結果としての第1の更新されたグローバル結果データビットが、クロックエッジ708にてSOP[0]上に生成される。
【００５４】
1クロックサイクル後にメモリデバイス702は、SOP[0]からのこの第1の更新されたグローバル結果データビットをラッチし、次にそれ自体のパラレル-シリアル変換レジスタ612からの第1のビットと比較して、SOP[1]から第2の更新されたグローバル結果データビットを発生する。SOP[0]、またはメモリデバイス702からのローカル結果データのいずれかからのデータビットが不良を示す場合は、SOP[1]も不良を示すことになる。このプロセスは、メモリデバイス704が、メモリデバイス702のSOP[1]からの第2の更新されたグローバル結果データビットを受け取り、それをそれ自体のローカル結果データと組み合わせて、SOP[2]から第3の更新されたグローバル結果データビットを発生するのに従って継続する。同様に、メモリデバイス706は、第4の、かつ最終の更新されたグローバル結果データビットをSOP[3]から生成し、これはメモリコントローラに戻される。図7bから分かるように、メモリデバイス700、702、704、および706のそれぞれのラッチ回路は、各メモリデバイスでの出力の始まりと、システム内の次のメモリデバイスからの出力の始まりとの間に、1クロックサイクルの遅れを生ずる。システム内の最後のメモリデバイス706からの最終の更新されたグローバル結果データビットは、複数デバイスシステム内のすべてのデバイスからの比較結果を圧縮して表示したものである。
【００５５】
したがって、すべてのメモリデバイスの1つのメモリ位置のパス/フェイル状態を表す最終グローバル結果データの第1のビットは、4クロックサイクル後に生成される。その後はクロックサイクルごとに、引き続く最終グローバル結果データビットが生成される。いずれかのメモリデバイス内にただ1つでもビット障害があればシステム全体が不良となるので、最初の「フェイル」ビットを受け取ったら直ぐにテストプロセスを停止するように、メモリコントローラを構成することができる。
【００５６】
図8aおよび8bは、本発明の実施形態に係る、3つのシリアルに相互接続されたメモリデバイスの例示の動作を概念的に示す。各メモリデバイスは、バンク0とバンク1のラベルが付けられた2つのメモリバンク、OR回路、およびXOR回路を含んでいる。XOR回路は、2つのメモリバンクの内容が同じかどうかを判定する図6のローカル比較器回路620に相当する。OR回路は、XOR回路によって生成されたローカル結果データを、システム内の前のメモリデバイスの更新されたグローバル結果データと組み合わせる図6の圧縮回路624に相当する。OR回路の出力は、更新されたグローバル結果データである。図8aおよび8bにおいて、バンク0とバンク1の8ビットは同時にテストされる。
【００５７】
図8aは、メモリデバイス800、802、および804の、どの16個のメモリセルにも不良がない例示の状態を示す。説明のために、デバイス800、802、および804のメモリバンクのバンク0とバンク1には、同じテストデータ00101101が書き込まれている。デバイス800、802、および804のメモリバンクは不良でないので、どのメモリバンクも同じバイトの情報を保持する。したがって、各デバイスによって行われるローカル比較動作の間に、各メモリデバイスのXOR回路によって発生される結果は、00000000となる。メモリデバイス800はシステム内の第1のデバイスであるので、デバイス800は、XORゲートによって発生されるテスト結果を、メモリコントローラからのデフォルトの「パス」データと組み合わせる。検出された不良はないので、最終の圧縮されたデータ結果は一続きの「0」論理状態となり、すべてのメモリデバイスの各メモリセル位置に対する「パス」状態を示している。
【００５８】
図8bは、メモリデバイス806のバンク0内に1つの不良、およびメモリデバイス808のバンク1内に1つの不良がある例示の状態を示す。より具体的には、メモリデバイスのすべてのバンクにテストデータ00101101が書き込まれた後、メモリデバイス806のバンク0内の左から3番目のビット位置の状態が、書き込まれた「1」論理状態から「0」論理状態に切り換わっている。同様に、メモリデバイス808のバンク1内の左から8番目のビット位置が、書き込まれた「1」論理状態から「0」論理状態に切り換わっている。したがって、メモリデバイス806のXOR回路が、バンク0の8個のビットを対応するバンク1の8個のビットと比較するときに、そのXOR回路は次の出力バイトすなわち、00100000を発生することになる。同様に、メモリデバイス808のXOR回路が、バンク0の8個のビットを対応するバンク1の8個のビットと比較するときに、そのXOR回路は次の出力バイトすなわち、00000001を発生することになる。「1」論理ビットは、2つのメモリバンクのうちの1つの、対応するビット位置に対する「フェイル」を示す。メモリデバイス806は、システム内の第1のメモリデバイスであるので、そのOR回路は単にそのXOR回路の出力をメモリデバイス808に送信する。次いでメモリデバイス808は、メモリデバイス806から受け取った更新されたグローバル結果データを、そのXOR回路によって発生されたローカル結果データと組み合わせる。メモリデバイス808からの更新されたグローバル結果データは、ここでは2つのエラー表示を含み、00100001となる。次にデバイス808のOR回路の出力は、デバイス810に送信され、デバイス810は、それをそのローカル結果データと組み合わせる。デバイス808から受け取ったデータは、エラー表示を含んでいるので、デバイス810内のORゲートからの、更新された、かつ最終の圧縮されたデータ結果は、デバイス810に不良がなくても同じエラー表示を含むことになる。
【００５９】
前述の実施形態は、2つのメモリバンクを有するメモリデバイスを用いて説明した。代替実施形態では、メモリデバイスは、複数のメモリバンクを含むことができ、メモリバンクからのデータを比較するためのXOR回路は、複数のメモリバンクのそれぞれからデータの1ビットを受け取るように構成することができる。単一ビットXOR回路の出力は、回路がすべてのメモリバンクの少なくとも1つの不良を識別するので、やはり複数のメモリバンク内の少なくとも1つの不良の表示を生じることになる。例えば図6の変更形態では、メモリバンクセレクタ610は、4つのバンクからデータを受け取るように構成することができ、その場合、XOR回路620はそれに対応して4つのバンクから同じデータを受け取るように構成されることになる。
【００６０】
別法として、前のメモリデバイスの前のグローバル結果データを比較するためのOR回路は、1つより多いパラレル-シリアル変換レジスタから同時にローカル結果データビットを受け取るように構成することができる。例えば図6の変更形態では、要素610、620、622、および612は、メモリデバイス内のメモリバンクのそれぞれの対に対して同じものとすることができる。
【００６１】
前述の複数デバイスシステムは、メモリデバイスを用いて説明した。しかし、本発明の実施形態は、メモリバンクに構成された内蔵メモリを有する任意のタイプのデバイスに用いることができる。前述の実施形態は、少なくとも2つのメモリバンクを有するデバイスでの使用を示した。当業者には、示された回路は追加のメモリバンクに適合するようにスケーリングできることが理解される。本発明の他の実施形態によれば、同じようにして単一メモリアレイをテストすることができる。
【００６２】
図9は、単一メモリバンクデバイスに対する、ローカル比較器回路の回路構成を示すブロック図である。メモリデバイス900は、ワード線の行と、ビット線の列を有する単一メモリバンク902を有するように構成される。ビット線には列アクセス回路904が接続され、この回路はビット線の電圧レベルを検出するためのビット線センスアンプ、および検出された電圧を、読み出しデータバスライン906に結合するための列選択デバイスを含むことができる。読み出しデータバスライン906は、DB0からDB7のラベルが付けられている。ここで示される例では、メモリデバイス900は、読み出しサイクルごとに、同時に8ビットのデータを、読み出しデータバスライン906に供給するように構成される。この実施形態ではローカル比較器回路は、2つの異なる読み出しデータバスライン上のデータを比較するために1つの排他的論理和(XOR)回路を含む。したがって、8個の読み出しデータバスライン906のこの例では、合計4つのXOR回路908、910、912、および914がある。LRD0、LRD1、LRD2、およびLRD3のラベルが付けられた、XOR回路908から914のそれぞれからのローカル結果データは、次いで、前のメモリデバイスからのグローバル結果データとの比較のために、図6の実施形態に示されたものと同様な下流側の回路に供給することができる。
【００６３】
したがって、単一のメモリアレイ、または2つ以上の異なるメモリブロックまたはバンクに分離されたメモリアレイを有するデバイスが、テスト可能である。分離されたメモリアレイは、その各部分が読み出しまたは書き込み動作のためにアドレス指定可能である。
【００６４】
前に示した実施形態は、デバイス内のメモリセルのローカル比較を行うために単一段階XOR回路を用いて示された。図6の実施形態では、n個のローカル比較データビットを並列に生成するために、n個のXOR回路620がある。図9の実施形態では、並列に供給される4つのローカル比較データがある。代替実施形態では、ローカル比較回路は段階的に構成することができ、それにより最終のローカル比較回路から1つの単一出力を供給することができるようになる。その場合、この最終出力は、1つの読み出しサイクル中にテストされるすべてのメモリセルのローカル比較結果を表すことになる。例えば図9の実施形態の変更形態では、出力LRD0およびLRD1は、第5のXORゲートに供給することができ、出力LRD2およびLRD3は、第6のXORゲートに供給することができる。次いで第5および第6のXORゲートの出力は、第7の、かつ最終のXORゲートに供給することができる。
【００６５】
これまでの説明では、説明を目的として、本発明の実施形態の完全な理解を得るために、数多くの詳細が述べられた。しかし、当業者には、本発明を実施するためには、これらの特定の詳細は必要ないことが明らかであろう。他の場合では、良く知られている電気的構造および回路は、本発明が不明瞭にならないようにブロック図の形で示した。例えば、本明細書で述べられた本発明の実施形態が、ソフトウェアルーチン、ハードウェア回路、ファームウェア、またはそれらの組み合わせとして実現されるかどうかの具体的な詳細については示していない。回路構造において、デバイスおよび要素は、他と直接または間接に接続または結合することができる。
【００６６】
本発明の実施形態は、(その中に具体化されたコンピュータ読み取り可能プログラムコードを有する、コンピュータ読み取り可能媒体、プロセッサ読み取り可能媒体、またはコンピュータが使用可能な媒体とも呼ばれる)機械読み取り可能媒体に記憶されたソフトウェア製品として表すことができる。機械読み取り可能媒体は、ディスケット、コンパクトディスクリードオンリメモリ(CD-ROM)、(揮発性または不揮発性)メモリデバイス、または同様の記憶機構を含む磁気、光、または電気的記憶媒体を含む、任意の適当な有形媒体とすることができる。機械読み取り可能媒体は、実行されたときに本発明の一実施形態に係る方法におけるステップをプロセッサに実行させる、命令、コードシーケンス、構成情報、または他のデータの、様々なセットを含むことができる。当業者には、説明した本発明を実施するために必要な他の命令および動作も、機械読み取り可能媒体上に記憶できることが理解される。機械読み取り可能媒体から稼動するソフトウェアは、述べられたタスクを実行するように回路とインタフェースをとることができる。
【００６７】
上述の本発明の実施形態は、単なる例にすぎないものとする。当業者なら、添付の特許請求の範囲のみによって定義される本発明の範囲を逸脱せずに、特定の実施形態に対して代替形態、変更形態、および変形形態をもたらすことができる。
【符号の説明】
【００６８】
120  複数デバイスシステム
122  メモリコントローラ
124  メモリデバイス
126  メモリデバイス
128  メモリデバイス
130  メモリデバイス
300  メモリデバイス
302  メモリ回路
304  第1のメモリバンク
306  第2のメモリバンク
308  XOR回路
310  入力端子
312  圧縮回路
314  出力端子
400  複数デバイスシステム
402  メモリコントローラ
404  メモリデバイス
406  メモリデバイス
408  メモリデバイス
410  メモリデバイス
412  更新されたグローバル結果データ
414  更新されたグローバル結果データ
416  最終グローバル結果データ
418  テスト信号生成器
420  テスト結果受信器
422  テスト信号生成器
424  テスト結果受信器/判定器
600  メモリデバイス
602  テスト回路、シリアルテスト回路
604  入力端子
606  入力バッファ
608 D型フリップフロップ
610  メモリバンクセレクタ
612  パラレル-シリアル変換レジスタ
614  デバイスセレクタ
616  出力バッファ
618  シリアル出力端子
620  ローカル比較器回路
622  第1のステージテストパスセレクタ
624  圧縮回路
626  第2のステージテストパスセレクタ
700  メモリデバイス
702  メモリデバイス
704  メモリデバイス
706  メモリデバイス
708  クロックエッジ
800  メモリデバイス
802  メモリデバイス
804  メモリデバイス
806  メモリデバイス
808  メモリデバイス
810  メモリデバイス
900  メモリデバイス
902  単一メモリバンク
904  列アクセス回路
906  読み出しデータバスライン
908  XOR回路
910  XOR回路
912  XOR回路
914  XOR回路
【図１】
2010511229.tif 000003
【図２】
2010511229.tif 000004
【図３ａ】
2010511229.tif 000005
【図３ｂ】
2010511229.tif 000006
【図４ａ】
2010511229.tif 000007
【図４ｂ】
2010511229.tif 000008
【図５】
2010511229.tif 000009
【図６】
2010511229.tif 000010
【図７ａ】
2010511229.tif 000011
【図７ｂ】
2010511229.tif 000012
【図８ａ】
2010511229.tif 000013
【図８ｂ】
2010511229.tif 000014
【図９】
2010511229.tif 000015
【国際調査報告】
2010511229.tif 000016
2010511229.tif 000017