(57)【要約】      （修正有）【課題】ＭＢＩＳＴデバイスを実装するシステムを提供する。【解決手段】ＥＣＣで保護されたメモリと、メモリの自己テスト（ＭＢＩＳＴ）デバイスとを含む。ＭＢＩＳＴデバイスは、第１の経路を経由してメモリに通信可能に接続された埋め込み型メモリと関連付けられたＥＣＣ論理を除外する、第１のアクセスポート４２０−１と、第２の経路を経由してメモリに通信可能に接続された、メモリと関連付けられたＥＣＣ論理を含む、第２のアクセスポート４２０−２とを含む。第１の動作モードでは第１の経路を経由して、また第２の動作モードでは第２の経路を経由してメモリをテストするように構成される。ほとんどダイ領域を追加せずに、製品の製造テストに既に必要とされたＭＢＩＳＴ論理を、顧客によって実行され得るシステムまたはアプリケーションレベルのテストに再使用する。【選択図】図４
2016170787.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
１つ以上の誤り訂正符号（ＥＣＣ）アルゴリズムを適用することにより前記メモリに対するデータの読み取りおよび／もしくは書き込みにおける誤りを訂正するまたは検出するように構成されることによって前記メモリと関連付けられた誤り訂正符号（ＥＣＣ）論理と、
前記メモリのメモリ自己テスト（ＭＢＩＳＴ）のためのデバイスと、を備えるシステムであって、前記デバイスが、
第１の経路を経由して前記メモリに通信可能に接続された第１のアクセスポートであって、前記第１の経路が、前記メモリと関連付けられた前記ＥＣＣ論理を除外する、第１のアクセスポートと、
第２の経路を経由して前記メモリに通信可能に接続された第２のアクセスポートであって、前記第２の経路が、前記メモリと関連付けられた前記ＥＣＣ論理を含む、第２のアクセスポートと、を備え、
前記デバイスが、
前記デバイスの第１の動作モードにおいて、前記第１の経路を経由して前記メモリをテストし、かつ
前記デバイスの第２の動作モードにおいて、前記第２の経路を経由して前記メモリをテストするように構成される、システム。
【請求項２】
前記デバイスの前記第１のアクセスポートが、ｎ＋ｐｎビットのデータ構造を通信するように構成され、
前記デバイスの前記第２のアクセスポートが、ｎビットのデータ構造を通信するように構成され、
ｎビットが、前記メモリに記憶されるデータを符号化するように構成され、ｐｎビットが、前記メモリと関連付けられた前記ＥＣＣ論理によって、前記メモリに記憶される前記データに追加される１つ以上のパリティビットを符号化するように構成される、請求項１に記載のシステム。
【請求項３】
少なくとも前記第１のモードと前記第２のモードとの間で前記デバイスの動作モードを切り換えるように構成されたコントローラを更に備える、請求項１に記載のシステム。
【請求項４】
前記コントローラが、前記デバイスの所望の動作モードを示すユーザ入力に従って、前記デバイスの前記動作モードを切り換えるように構成される、請求項３に記載のシステム。
【請求項５】
前記デバイスが、
前記第１の経路を経由して前記第１のアクセスポートと前記メモリとの間で第１のアドレス、制御、および／またはデータ信号を通信し、かつ
前記第２の経路を経由して前記第２のアクセスポートと前記メモリとの間で第２のアドレス、制御、および／またはデータ信号を通信するように構成される、請求項１に記載のシステム。
【請求項６】
前記システムが、追加メモリと、１つ以上のＥＣＣアルゴリズムを適用することにより前記追加メモリに対するデータの読み取りおよび／もしくは書き込みにおける誤りを訂正するまたは検出するように構成されることによって前記追加メモリと関連付けられたＥＣＣ論理と、を更に備え、
前記デバイスが、
第３の経路を経由して前記追加メモリに通信可能に接続された第３のアクセスポートであって、前記第３の経路が、前記追加メモリと関連付けられた前記ＥＣＣ論理を除外する、第３のアクセスポートと、
第４の経路を経由して前記追加メモリに通信可能に接続された第４のアクセスポートであって、前記第４の経路が、前記追加メモリと関連付けられた前記ＥＣＣ論理を含む、第４のアクセスポートと、を更に備え、
前記デバイスが、
前記デバイスの第３の動作モードにおいて、前記第３の経路を経由して前記追加メモリをテストし、かつ
前記デバイスの第４の動作モードにおいて、前記第４の経路を経由して前記追加メモリをテストするように更に構成される、請求項１に記載のシステム。
【請求項７】
前記システムが、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能なゲートアレイ（ＰＧＡ）、マイクロプロセッサ、マイクロコントローラ、または任意の他の種類のデジタルプロセッサに実装される、請求項１に記載のシステム。
【請求項８】
前記システムの少なくとも一部分が、プログラム可能なハードウェアに実装される、請求項１に記載のシステム。
【請求項９】
メモリのメモリ自己テストのためのデバイスであって、
前記デバイスの第１の動作モードにおいて、第１のアクセスポートと前記メモリとの間の経路第１の経路を経由して前記メモリをテストするための前記第１のアクセスポートであって、前記第１の経路が、前記メモリと関連付けられた誤り訂正符号（ＥＣＣ）論理を除外する、第１のアクセスポートと、
前記デバイスの第２の動作モードにおいて、第２のアクセスポートと前記メモリとの間の経路第２の経路を経由して前記メモリをテストするための前記第２のアクセスポートであって、前記第２の経路が、前記メモリと関連付けられた前記ＥＣＣ論理を含む、第２のアクセスポートと、を備える、デバイス。
【請求項１０】
前記第１のアクセスポートが、ｎ＋ｐｎビットのデータ構造を通信するように構成され、
前記第２のアクセスポートが、ｎビットのデータ構造を通信するように構成され、
ｎビットが、前記メモリに記憶されるデータを符号化するように構成され、ｐｎビットが、前記メモリと関連付けられた前記ＥＣＣ論理によって前記メモリに記憶される前記データに追加される１つ以上のパリティビットを符号化するように構成される、請求項９に記載のデバイス。
【請求項１１】
少なくとも前記第１のモードと前記第２のモードとの間で前記デバイスの動作モードを切り換えるように構成されたコントローラを更に備える、請求項９に記載のデバイス。
【請求項１２】
前記コントローラが、前記デバイスの所望の動作モードを示すユーザ入力に従って、前記デバイスの前記動作モードを切り換えるように構成される、請求項１１に記載のデバイス。
【請求項１３】
前記デバイスが、
前記第１の経路を経由して前記第１のアクセスポートと前記メモリとの間で第１のアドレス、制御、および／またはデータ信号を通信し、かつ
前記第２の経路を経由して前記第２のアクセスポートと前記メモリとの間で第２のアドレス、制御、および／またはデータ信号を通信するように構成される、請求項９に記載のデバイス。
【請求項１４】
前記デバイスの第３の動作モードにおいて、第３のアクセスポートと追加メモリとの間の第３の経路を経由して前記追加メモリをテストするための前記第３のアクセスポートであって、前記第３の経路が、前記追加メモリと関連付けられたＥＣＣ論理を除外する、第３のアクセスポートと、
前記デバイスの第４の動作モードにおいて、第４のアクセスポートと前記追加メモリとの間の第４の経路を経由して前記追加メモリをテストするための前記第４のアクセスポートであって、前記第４の経路が、前記追加メモリと関連付けられた前記ＥＣＣ論理を含む、第４のアクセスポートと、を更に備える、請求項９に記載のデバイス。
【請求項１５】
第１のアクセスポートおよび第２のアクセスポートを備えるデバイスを使用するメモリのメモリ自己テストのための方法であって、
前記デバイスの第１の動作モードにおいて、前記第１のアクセスポートと前記メモリとの間の第１の経路であって、前記メモリと関連付けられた誤り訂正符号（ＥＣＣ）論理を除外する、第１の経路を経由して前記メモリをテストすることと、
前記デバイスの第２の動作モードにおいて、前記第２のアクセスポートと前記メモリとの間の第２の経路であって、前記メモリと関連付けられた前記ＥＣＣ論理を含む、第２の経路を経由して前記メモリをテストすることと、を含む、方法。
【請求項１６】
前記デバイスの前記第１の動作モードでの前記テストが、前記デバイスの前記第１のアクセスポートを経由してｎ＋ｐｎビットのデータ構造を通信することを含み、
前記デバイスの前記第２の動作モードでの前記テストが、前記デバイスの前記第２のアクセスポートを経由してｎビットのデータ構造を通信することを含み、
ｎビットが、前記メモリに記憶されるデータを符号化するように構成され、ｐｎビットが、前記メモリと関連付けられた前記ＥＣＣ論理によって前記メモリに記憶される前記データに追加される１つ以上のパリティビットを符号化するように構成される、請求項１５に記載の方法。
【請求項１７】
少なくとも前記第１のモードと前記第２のモードとの間で前記デバイスの動作モードを切り換えることを更に含む、請求項１５に記載の方法。
【請求項１８】
前記切り換えが、前記デバイスの所望の動作モードを示すユーザ入力に従って、前記デバイスの前記動作モードを切り換えることを含む、請求項１７に記載の方法。
【請求項１９】
前記デバイスの前記第１の動作モードでの前記テストが、前記第１の経路を経由して前記第１のアクセスポートと前記メモリとの間で第１のアドレス、制御、および／またはデータ信号を通信することを含み、
前記デバイスの前記第２の動作モードでの前記テストが、前記第２の経路を経由して前記第２のアクセスポートと前記メモリとの間で第２のアドレス、制御、および／またはデータ信号を通信することを含む、請求項１５に記載の方法。
【請求項２０】
前記システムが、追加メモリと、１つ以上のＥＣＣアルゴリズムを適用することにより前記追加メモリに対するデータの読み取りおよび／もしくは書き込みにおける誤りを訂正するまたは検出するように構成されることによって前記追加メモリと関連付けられたＥＣＣ論理と、を更に備え、
前記デバイスが、
第３の経路を経由して前記追加メモリに通信可能に接続された第３のアクセスポートであって、前記第３の経路が、前記追加メモリと関連付けられた前記ＥＣＣ論理を除外する、第３のアクセスポートと、
第４の経路を経由して前記追加メモリに通信可能に接続された第４のアクセスポートであって、前記第４の経路が、前記追加メモリと関連付けられた前記ＥＣＣ論理を含む、第４のアクセスポートと、を更に備え、
前記デバイスが、
前記デバイスの第３の動作モードにおいて、前記第３の経路を経由して前記追加メモリをテストし、かつ
前記デバイスの第４の動作モードにおいて、前記第４の経路を経由して前記追加メモリをテストするように更に構成される、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、メモリの分野、特に、誤り訂正符号で保護されたメモリにメモリ組み込み自己テストを行うためのシステムおよび方法に関する。
【背景技術】
【０００２】
半導体設計および製造方法における最近の進歩により、電子回路のより一層の小型化が可能になっている。マイクロプロセッサ、通信論理、および、特にメモリを備える完全なシステムを、今では、単一の半導体チップ上に見出すことができる。そのようなシステムオンチップ（ＳＯＣ）は、回路基板上の別個の構成要素として以前には高空間要件を有していた多様な技術を備える。
【０００３】
従来、半導体チップは、論理機能が大半を占め、別個のメモリが外部に提供されていたが、現代の集積回路は、半導体チップ自体の上にメモリを埋め込むことがますます要求されている。埋め込み型メモリは、様々なサイズおよび形態で様々なメモリブロックとして半導体チップ内に存在し得る。半導体チップ上へのメモリの集積の結果、空間を節約することが可能になる。更に、インターフェースおよび速度妨害因子、例えば回路基板などの排除または削減の結果、メモリアクセス速度を向上することができる。
【０００４】
システムオンチップ内の埋め込み型メモリは、信頼性が高い必要があり、それに応じてテストされる必要がある。したがって、「メモリ組み込み自己テスト」（ＭＢＩＳＴ）デバイスと称されることがあるメモリ自己テストデバイスが、通常、埋め込み型メモリを有するシステムオンチップ内に提供され、そのデバイスは、システムに提供される埋め込み型メモリに適合される。そのようなデバイスは、次いで、例えば対応する半導体チップの製造の間または後に、メモリ自己テストを実行する。
【発明の概要】
【０００５】
本開示の一態様は、メモリ、例えば半導体チップに埋め込まれたメモリのメモリ自己テストのためのデバイス（ＭＢＩＳＴデバイス）を提供する。ＭＢＩＳＴデバイスは、第１のアクセスポートおよび第２のアクセスポートを含む。第１のアクセスポートは、デバイスの第１の動作モードにおいて、第１のアクセスポートとメモリとの間の第１の経路を経由してメモリをテストするように構成される。第２のアクセスポートは、デバイスの第２の動作モードにおいて、第２のアクセスポートとメモリとの間の第２の経路を経由してメモリをテストするように構成される。第１の経路は、メモリと関連付けられた誤り訂正符号（ＥＣＣ）論理を除外し、一方、第２の経路は、メモリと関連付けられたＥＣＣ論理を含む。様々な実施形態において、本明細書に記載したＭＢＩＳＴデバイスは、例えば、ＳＯＣもしくはＩＣパッケージ内に、部分的または全体的に含まれることによって集積された解決策として提供されてもよいし、あるいは個別デバイスとして実装されることによって別個の部分からなる解決策として提供されてもよい。
【０００６】
本開示の別の態様は、そのようなＭＢＩＳＴデバイスを実装するシステム、例えばＳＯＣまたはＩＣを提供する。システムは、メモリ、例えば半導体チップに埋め込まれたメモリと、１つ以上のＥＣＣアルゴリズムを適用することによりメモリに対するデータの読み取りおよび／または書き込みにおける誤りを訂正するか検出するように構成されることによってメモリと関連付けられたＥＣＣ論理と、を含む。システムは、メモリの自己テストのためのＭＢＩＳＴデバイスを更に含む。デバイスは、第１の経路を経由してメモリに通信可能に接続された第１のアクセスポートであって、第１の経路が、メモリと関連付けられたＥＣＣ論理を除外する、第１のアクセスポートと、第２の経路を経由してメモリに通信可能に接続された第２のアクセスポートであって、第２の経路が、メモリと関連付けられたＥＣＣ論理を含む、第２のアクセスポートと、を含む。デバイスは、デバイスの第１の動作モードにおいて、第１の経路を経由してメモリをテストするように構成される。デバイスは、更に、デバイスの第２の動作モードにおいて、第２の経路を経由してメモリをテストするように構成される。
【０００７】
本明細書において使用される際、ＭＢＩＳＴデバイスの特定のアクセスポートとＭＢＩＳＴデバイスがテストするように構成されるメモリとの間の経路を記載する文脈において本開示に使用される用語「経路」は、アクセスポートとメモリとの間で、例えば、アドレス、制御、および／またはデータ信号を通信することによって、メモリをテストするための通信経路のことを言う。
【０００８】
本明細書において使用される際、ＭＢＩＳＴデバイスの特定のアクセスポートとメモリとの間の経路がＥＣＣ論理を含むという記載は、アクセスポートとメモリとの間で通信され得るアドレス、制御、および／またはデータ信号がＥＣＣ論理を横切り、ＥＣＣ論理がこれらの信号に作用し得る（すなわち、アクセスポートとメモリとの間にＥＣＣ論理が存在する）ような、経路のことを言う。
【０００９】
同様に、本明細書において使用される際、ＭＢＩＳＴデバイスの特定のアクセスポートとメモリとの間の経路がＥＣＣ論理を除外するという記載は、アクセスポートとメモリとの間で通信され得るアドレス、制御、および／またはデータ信号が、チップ上に存在する可能性があるかチップ上に存在しない可能性があるＥＣＣ論理を横切らないような経路のことを言う。そのような場合において、メモリがそのようなＥＣＣ論理を提供される場合でさえも、ＥＣＣ論理は、アクセスポートとメモリとの間で通信された信号に作用することができない（すなわち、アクセスポートとメモリとの間にＥＣＣ論理が存在しない）。
【００１０】
本開示の更に別の態様は、本明細書に記載したＭＢＩＳＴデバイスを使用するメモリのメモリ自己テストのための方法に関する。
【００１１】
本開示の更に他の態様は、プロセッサまたは任意の種類のコントローラ上で／によって実行されるときに、本明細書に記載したメモリ自己テストのための方法を実行するために構成されたソフトウェアコード部分（すなわち、コンピュータ可読命令）を含む、好適には非一時的な、コンピュータプログラムおよびコンピュータ可読記憶媒体に関する。
【図面の簡単な説明】
【００１２】
本開示ならびにその特徴および利点のより完全な理解を提供するために、参照が、添付の図面と併せて考慮される以下の記載になされ、同じ参照番号は同じ部分を表わす。
【００１３】
【図１】図１は、典型的なＩＣテストフローを例示する図である。
【００１４】
【図２】図２は、メモリをテストするためのＭＢＩＳＴデバイスを実装するシステムを例示する図である。
【００１５】
【図３】図３は、ＥＣＣで保護されたメモリをテストするためのＭＢＩＳＴデバイスを実装するシステムを例示する図である。
【００１６】
【図４】図４は、本開示の一実施形態に係るＥＣＣで保護されたメモリのためのＭＢＩＳＴデバイスを実装するシステムを例示する図である。
【００１７】
【図５】図５は、本開示のある実施形態に係る複数のＥＣＣで保護されたメモリのためのＭＢＩＳＴデバイスを実装するシステムを例示する図である。
【００１８】
【図６】図６は、本開示の別の実施形態に係るＥＣＣで保護されたメモリのためのＭＢＩＳＴデバイスを実装するシステムを例示する図である。
【００１９】
【図７】図７は、本開示の一実施形態に係るＭＢＩＳＴデバイスを制御するための方法ステップのフロー図である。
【００２０】
【図８】図８は、本開示の一実施形態に係る例となるデータ処理システムを例示するブロック図を描写する。
【発明を実施するための形態】
【００２１】
ＩＣテストフローの基礎
図１は、典型的なＩＣテストフロー１００を例示する図である。図１に示されるように、ＩＣは複数の段階でテストされ得る。典型的には第１の段階であるＩＣ製造段階１０２の間、ＩＣ製造業者は、ウェハ形態で（複数の）構成要素をテストすることによってウェハプローブテスト１０４を行い得、および／または最終パッケージＩＣ形態をテストすることによってパッケージＩＣテスト１０６を行い得る。
【００２２】
パッケージＩＣ構成要素が一旦システムに組み立てられると、それは、システムテスト１１２を受けることによってシステム製造段階１１０においてテストされ得る。段階１１０では、複数のシステムテスト１１２が、サブアセンブリがより高いレベルシステムに集積されるように行われ得る。
【００２３】
ＩＣを含むシステムが特定の最終アプリケーションに一旦配置されると、ＩＣは、アプリケーションレベル段階１１４においてテストされ得る。そのテスト段階で、ＩＣは、自己テストを行う機能を有することが多く、例えば、図１に電源投入時自己テスト（Ｐｏｗｅｒ  ｏｎ  Ｓｅｌｆ−Ｔｅｓｔ：ＰＯＳＴ）１１６として示されるシステムの電源投入時に、および／または図１に定期的自己テスト１１８として示される通常動作の間に定期的に、ＩＣを備える電子システムの合否状況を報告して、電子システムの連続訂正動作を確保する。
【００２４】
例えば、ＩＳＯ２６２６２「自動車機能安全」規格またはＩＥＣ６１５０８「電気／電子／プログラム可能な電子安全関連システムの機能安全」規格などの規格の機能安全要件に合う電子システムの必要性によって動機付けられた、アプリケーションレベル自己テスト機能の要求が増えている。
【００２５】
ＭＢＩＳＴの既存の使用
図２は、データを記憶するためのメモリ２０２、例えば埋め込み型メモリ２０２と、ＭＢＩＳＴデバイス２０４と、を備える、例えばＩＣとして実装されたシステム２００を例示する図である。図２は、デジタルＩＣ論理２０６であって、例えば、メモリ２０２、ＭＢＩＳＴ２０４、およびＩＣ論理２０６を備えるＳＯＣの一部分であることによって、典型的にはシステム２００内にも含まれるデジタルＩＣ論理２０６を更に例示するが、ＩＣ論理２０６はまた、代わりに、システム２００の外部にあることもできる。
【００２６】
ＭＢＩＳＴデバイス２０４は、以下に記載されるようにメモリ２０２をテストするように構成される。しかしながら、図２に例示されたメモリ２０２をテストすることに加えて、類似の手法でＭＢＩＳＴ２０４は、システム２００内に存在し得る他のメモリをテストするように構成され得、そのような他のメモリは、図２には示されない。
【００２７】
ＭＢＩＳＴデバイス２０４とＩＣ論理２０６の両方は、それらがメモリ２０２内のデータにアクセスする（例えば、データを読み取るか書き込む）ことができるように、メモリ２０２に通信可能に接続される。しかしながら、ＭＢＩＳＴデバイス２０４は、典型的には上記したＩＣ製造テスト段階１０２の一部分として、システム２００のメモリ２０２がテストされているときに、メモリ２０２内のデータにアクセスする一方で、ＩＣ論理２０６は、システム２００がいわゆる「ミッションモード」において動作しているときの通常（すなわち、非テスト）動作の間に、メモリ２０２内のデータにアクセスする。そのためには、ＩＣ論理２０６は、ミッションモードの間にメモリ２０２内に記憶されたデータにアクセスし得る（データを読み取り得る、書き込み得る等）システムおよびデバイスを備える。
【００２８】
ある実施形態において、スイッチマトリックス２０８は、ＭＢＩＳＴデバイス２０４およびＩＣ論理２０６をメモリ２０２に接続するように使用され得る。そのようなスイッチマトリックスは、任意の方法を含み得、ＭＢＩＳＴ２０４およびＩＣ論理２０６のそれぞれをメモリ２０２に接続することができる任意のデバイスを備え得、それ故、限定されるものではないが、例えば、１つ以上のラッパー、カラー（ｃｏｌｌａｒ）、またはマルチプレクサを含む、接続されたデバイスがデータを通信し得る。様々な実施形態において、スイッチマトリックスは、ＭＢＩＳＴ自体に含まれてもよいし、またはＭＢＩＳＴとは離れたおよび別個の要素として実装されてもよい。
【００２９】
システム２００のミッションモード動作の間、ＩＣ論理２０６は、ＩＣ論理２０６とスイッチマトリックス２０８との間の（図２に経路「Ａ」として示される）通信経路２１０と、スイッチマトリックス２０８とメモリ２０２との間の通信経路２１２と、を経由して、アドレス、制御、およびデータ信号を通信することによってメモリ２０２にアクセスし得る。システム２００のメモリテストモード動作の間、ＭＢＩＳＴデバイス２０４は、ＭＢＩＳＴデバイス２０４とスイッチマトリックス２０８との間の（図２に経路「Ｂ」として示される）通信経路２１４を経由してアドレス、制御、およびデータ信号を通信することによってメモリ２０２にアクセスし得、次いで、再び、スイッチマトリックス２０８とメモリ２０２との間の通信経路２１２が使用される。
【００３０】
メモリ２０４がＥＣＣで保護されたメモリではない場合、通信経路２１０、２１２、および２１４は、ｎビット幅であるデータワード（すなわち、任意のデータ構造）を運ぶように構成され得る。これは、通信経路２１０、２１２、および２１４上に存在する文字「ｎ」で図２に例示される。換言すれば、メモリ２０４がＥＣＣで保護されたメモリではない場合、通信経路２１０、２１２、および２１４は、典型的には同じ幅（ｎビット）のものであるように構成される。
【００３１】
ＩＣ製品は、典型的には、ＭＢＩＳＴデバイス、例えば、ＭＢＩＳＴデバイスがテストするように設計されるメモリを埋め込んでいるものと同じ半導体チップ上のデバイス２０４などを含むが、ＭＢＩＳＴがテストされているメモリと同じＩＣ上に含まれることは要求されない。そのようなアプローチは、ＩＣ製造業者が、製造されたメモリチップの正確な、効率的な、および経済的なテストを、それらが顧客に出荷される前に（すなわち、上記したＩＣ製造テスト段階の間に）実行することを可能にする。そのようなメモリチップがＩＣ製造業者から顧客に一旦出荷されると、顧客は、その中に含まれるＭＢＩＳＴデバイスを使用し得、例えば、上記したシステム製造および／またはアプリケーションレベルテスト段階の一部分として、埋め込み型メモリの更なるテストを実行する。
【００３２】
ＥＣＣで保護されたメモリを用いるＭＢＩＳＴの既存の使用の継続
信頼性の増大を要求するメモリシステムは、メモリに対するデータの読み取りおよび／または書き込みにおける誤りを検出して、場合によっては、訂正するために様々なＥＣＣアルゴリズムを適用できるＥＣＣ論理を利用することが多く、それによって、誤り耐性をシステムに有利に追加する。そのようなＥＣＣで保護されたメモリは、多数の設定において非常に有利であり得るが、ＥＣＣ論理の存在は、特に、システムおよびアプリケーションレベルテスト段階において、それらがメモリチップ上に現在含まれるような形態でＭＢＩＳＴデバイスの有用性を制限する。ＥＣＣ保護を用いないメモリとＥＣＣで保護されたメモリをテストするためのＭＢＩＳＴデバイスの使用と関連付けられた違いは、図２と図３の比較によって説明され得る。
【００３３】
図３は、ＥＣＣで保護されたメモリをテストするためのＭＢＩＳＴを実装するシステム３００を例示する図である。図３に示されるように、システム３００は、メモリ３０２、ＭＢＩＳＴデバイス３０４、デジタルＩＣ論理３０６、およびスイッチマトリックス３０８を含み得、それらは、それぞれ、図２に例示されたメモリ２０２、ＭＢＩＳＴデバイス２０４、ＩＣ論理２０６、およびスイッチマトリックス２０８に類似する。したがって、図２に関して要素２０２、２０４、２０６、および２０８のために提供された記載は、図３に示される要素３０２、３０４、３０６、および３０８に適用可能であり、したがって、簡潔さのために繰り返されない。
【００３４】
図２に示されるメモリ２０２とは異なり、システム３００は、メモリ３０２に対してデータを読み取るおよび／もしくは書き込むＩＣ論理３０６における誤りを検出するならびに／または訂正する（複数の）ＥＣＣアルゴリズムを適用するように構成されたＥＣＣ論理３１０を含むので、メモリ３０２は、ＥＣＣで保護されたメモリである。ＥＣＣ論理３１０の機能が、次に記載される。
【００３５】
ミッションモードでは、ＩＣ論理３０６が、メモリ３０２に対してｎビットデータワードを書き込むおよび読み取るためのコマンドを発行する。ＩＣ論理３０６が、ｎビットデータワードをメモリ３０２に書き込むとき、ＥＣＣ論理３１０は、ＩＣ論理３０６とＥＣＣ論理３１０との間の通信経路３１２上で、ＩＣ論理３０６からｎビットデータワードを受信し、ｎビットデータワードの上に連結される「ｐｎ」パリティビットを符号化して、幅「ｎ＋ｐｎ」のデータ値を結果としてもたらす（「ｐｎ」における下付き文字「ｎ」は、パリティビット幅「ｐ」が、データワード幅「ｎ」の関数であることを表わす）。記載された「ｐｎ」ビットはまた、非パリティをベースとする誤り訂正方法、例えば、投票（ｖｏｔｉｎｇ）論理、冗長論理等にも適用することができ、追加メモリビットが、誤り訂正のために使用される。次いで、幅「ｎ＋ｐｎ」のデータ値は、スイッチマトリックス３０８の経路「Ａ」を通してメモリ３０２に物理的に書き込まれるものとなる（すなわち、幅「ｎ＋ｐｎ」のデータ値は、まず、通信経路３１４を経由してＥＣＣ論理３１０からスイッチマトリックス３０８に、次いで、通信経路３１６を経由してスイッチマトリックス３０８からメモリ３０２に通信される）。ＩＣ論理３０６が読み取りトランザクションを実行するとき、（ｎ＋ｐｎ）ビットが（経路３１６および３１４を経由して）メモリ３０２からＥＣＣ論理３１０に読み取られ、次いで、ＥＣＣ論理３１０が、読み取り（ｎ＋ｐｎ）ビットを幅ｎの論理データに変換し、次いで、その論理データが、経路３１２上でＩＣ論理３０６に提供される。ＥＣＣ論理３１０によって使用される特定のＥＣＣアルゴリズムに応じて、また、それは当分野で周知であるように、パリティビット「ｐｎ」は、ＥＣＣ論理３１０が、メモリ３０２から読み取られたデータワードにおける１つ以上のビット誤りを訂正すること、ならびに２つ以上のビット誤りを検出することを可能にし得る。
【００３６】
ＩＣ製造業者は、ＩＣ製造テスト段階の間にメモリ３０２の全てのビットセルを制御して観察する機能を要求する。ＥＣＣの誤り訂正特性のために、ＥＣＣ論理３１０は、ＥＣＣ論理がＭＢＩＳＴテスト経路にあった場合に、メモリ内の全ての物理ビットを制御して観察する機能とインターフェースを取ることになる。結果として、ＥＣＣで保護されたメモリを利用する既存のシステムにおいて、ＭＢＩＳＴデバイス３０４が、ＥＣＣ論理３１０がＭＢＩＳＴテスト経路に無いように、スイッチマトリックス３０８によってメモリ３０２に接続される。そのような構成は図３に示され、ＭＢＩＳＴデバイス３０４が、通信経路３１８を経由してスイッチマトリックス３０８に接続されており、次いで、スイッチマトリックス３０８とメモリ３０２との間の経路３１６を経由してメモリ３０２に更に接続されており、ＥＣＣ論理３１０が、ＭＢＩＳＴデバイス３０４とメモリ３０２との間の経路から除外されている。そのような構成では、ＭＢＩＳＴデバイスが、ＥＣＣ符号化または復号化を用いずに物理データ幅「ｎ＋ｐｎ」上で動作することによって、物理メモリ３０２の全てのビットセルにテストを実行することができる。
【００３７】
システム３００におけるＭＢＩＳＴ３０４は、メモリ３０２の全てのビットセルをテストすることによって、ＩＣ製造テスト段階１０２の間に要望通りかつ予想通りに動作することになるが、ＩＣ製造のこの早期のテスト段階の間に発見され得る誤りは、システムおよびアプリケーションレベルでそのような誤りがＥＣＣ論理３１０によって訂正されることができたので、システム製造テスト段階１１０およびアプリケーションレベルテスト段階１１４に悪影響を及ぼさない。換言すれば、システム３００のシステムおよびアプリケーションレベルテストに使用される場合、ＭＢＩＳＴデバイス３０４は、ＥＣＣ論理３１０によって潜在的に訂正される誤りであって、したがって、システムおよびアプリケーションレベルテストおよび通常動作の目的のために「誤り」とみなされない、誤りのための故障メッセージを生成する。
【００３８】
この問題を克服するために、ＥＣＣで訂正されるメモリのシステムおよびアプリケーションレベルテストを実行するための１つのアプローチは、埋め込み型メモリのＥＣＣで保護されたポート上の完全に独立した追加のＭＢＩＳＴデバイスを実装することを含む。しかしながら、そのようなアプローチは、チップ上に追加のダイ領域を要求するという欠点があり、それによって、製品費用を増大させる。別のアプローチは、顧客に、それらのシステムおよびアプリケーションレベルテスト段階の間にメモリ自己テストルーチンを実行するソフトウェアを実装することを要求する。そのようなアプローチは、ＭＢＩＳＴデバイスを使用するハードウェア駆動型メモリ組み込み自己テストに比べて、開発時間のみならず長い実行時間を要求するという欠点がある。更に、ソフトウェア駆動型自己テストは、ソフトウェアによって直接的に制御され観察されることができない深く埋め込まれたメモリに可能ではないことがある。
【００３９】
したがって、ＩＣテストフローの様々な段階におけるＥＣＣで保護されたメモリのテストのための改善された方法およびシステムが、当分野において必要とされる。
【００４０】
ＥＣＣで保護されたメモリを用いるＭＢＩＳＴの使用の提案
本開示の実施形態は、上記した問題のうちの少なくともいくつかを軽減するか取り除くことを可能にする。特に、本開示の実施形態は、ＩＣ製造テスト段階の間のメモリの直接テストのために使用されるＭＢＩＳＴデバイスであって、したがって、テストされるメモリを含有する半導体チップ上に既に存在するＭＢＩＳＴデバイスが、それらのＥＣＣ保護論理と組み合わせて使用された同じメモリもまたテストすることができるように再構成され得るという洞察に基づく。そのような再構成されたＭＢＩＳＴデバイスは、次いで、ＩＣテストフローのシステム製造およびアプリケーションレベル段階においてもまた使用され得、システム製造およびアプリケーションレベル段階においてテストするための追加の独立したＭＢＩＳＴデバイスを実装する必要性を無くすとともに、顧客が、これらの段階でメモリをテストするためにソフトウェアをベースとするテストルーチンを使用する必要性を減らすか無くす。そのためには、動作中、少なくとも２つのモードにおいて埋め込み型メモリをテストすることができる、少なくとも第１および第２のアクセスポートを備えるＭＢＩＳＴデバイスが提案される。第１のモードでは、デバイスが、第１の通信経路を経由してテストされる埋め込み型メモリに接続された第１のアクセスポートであって、第１の経路が、メモリと関連付けられた（すなわち、メモリのためのＥＣＣ保護を提供するように構成された）ＥＣＣ論理を除外する、第１のアクセスポートを使用するように構成される。第２のモードでは、デバイスが、第２の通信経路を経由して埋め込み型メモリに接続された第２のアクセスポートであって、第２の経路が、メモリと関連付けられたＥＣＣ論理を含む、第２のアクセスポートを使用するように構成される。このように、同じＭＢＩＳＴデバイスが、ＩＣ製造段階テストとシステムまたはアプリケーション段階テストとの間で共有され得、製造テストは、（第１の動作モードにおいて）全ビットに直接的にアクセスし得るが、システム／アプリケーションレベルテストは、単一ビット誤りが（第２の動作モードにおいて）アプリケーションにおける故障メッセージをトリガしないように、ＥＣＣ論理を考慮に入れる。そのようなデバイスの例となる例示が、図４に提供される。
【００４１】
図４は、本開示の一実施形態に係るＥＣＣで保護されたメモリ４０２のためのＭＢＩＳＴデバイス４０４を実装するシステム４００を例示する図である。
【００４２】
メモリ４０２に対するＥＣＣ保護が、ＥＣＣ論理４１０によって提供される。そのためには、システム４００がミッションモードにおいて動作するときに、（図４には示されないが、図６の例に示される）ＩＣ論理が、メモリ４０２に対してｎビットデータワードを書き込むおよび読み取るためのコマンドを発行し得る。ＩＣ論理がｎビットデータワードをメモリ４０２に書き込むときに、ＥＣＣ論理４１０は、ｎビットデータワードをＩＣ論理から受信し、ｎビットデータワードの上に連結される「ｐｎ」パリティビットを符号化して、幅「ｎ＋ｐｎ」のデータ値を結果としてもたらし、幅「ｎ＋ｐｎ」のそのデータ値が、次いで、メモリ４０２に物理的に書き込まれるものとなる。ＩＣ論理が読み取りトランザクションを実行するとき、（ｎ＋ｐｎ）ビットが、メモリ４０２からＥＣＣ論理４１０に読み取られ、次いで、ＥＣＣ論理４１０が、読み取り（ｎ＋ｐｎ）ビットを幅ｎの論理データに変換して、その論理データが、次いで、ＩＣ論理に提供される。ＥＣＣ論理４１０によって使用される特定のＥＣＣアルゴリズムに応じて、そのようなパリティビット「ｐｎ」は、ＥＣＣ論理４１０が、メモリ４０２からＩＣ論理によって読み取られたデータワードにおける１つ以上のビット誤りを訂正すること、ならびに２つ以上のビット誤りを検出することを可能にし得る。
【００４３】
図４に示されるように、ＭＢＩＳＴデバイス４０４は、少なくとも第１のアクセスポート４２０−１および第２のアクセスポート４２０−２を含む。第１および第２のアクセスポートは、データ、特に、メモリ４０２のテストにおいて使用されるデータを送受信するための任意の種類のポートを備え得、ならびに、例えば、ＭＢＩＳＴをメモリに取り付ける任意の種類のラッパー、カラー等を含むことができる。
【００４４】
第１のアクセスポート４２０−１は、ＥＣＣ論理４１０を横切らない第１の通信経路４３０−１を経由してメモリ４０２に通信可能に接続される。しかしながら、第２のアクセスポート４２０−２は、ＥＣＣ論理４１０を横切る第２の通信経路４３０−２を経由してメモリ４０２に通信可能に接続される。図４に示されるように、第２の通信経路は、第２のアクセスポート４２０−２とＥＣＣ論理４１０との間でデータを通信するための通信経路４３２と、ＥＣＣ論理４１０とメモリ４０２との間の通信データのための通信経路４３４と、を備える。テストの間、デバイス４０４の第１の動作モードにおいて、デバイス４０４が、第１のアクセスポート４２０−１を使用することによって、および第１の経路４３０−１を経由して通信することによってメモリ４０２をテストするように構成され、一方で、第２の動作モードにおいて、デバイス４０４が、第２のアクセスポート４２０−２を使用することによって、および第２の経路４３０−２を経由して通信することによってメモリ４０２をテストするように構成される。
【００４５】
デバイス４０４のあらゆる動作モードにおけるテストは、デバイス４０４が、メモリ組み込み自己テスト、例えば、チェッカーボード（Ｃｈｅｃｋｅｒｂｏａｒｄ）およびマーチ（Ｍａｒｃｈ）アルゴリズム、データ保持テスト、隣接パターン依存故障（Ｎｅｉｇｈｂｏｒｈｏｏｄ  Ｐａｔｔｅｒｎ  Ｓｅｎｓｉｔｉｖｅ  Ｆａｕｌｔ）テスト等を実行することを含み得る。あらゆる種類の自己テストを実行するように構成された例えばデバイス４０４などのデバイスが、本開示の範囲内にある。
【００４６】
ある実施形態において、埋め込み型メモリ４０２のテストの間に、デバイス４０４は、第１の経路４３０−１を経由して第１のアクセスポート４２０−１と埋め込み型メモリ４０２との間でアドレス、制御、および／またはデータ信号を通信し、かつ第２の経路４３０−２を経由して第２のアクセスポート４２０−２と埋め込み型メモリ４０２との間でアドレス、制御、および／またはデータ信号を通信するように構成され得る。
【００４７】
システム４００がメモリテストモードにおいて動作し、かつＭＢＩＳＴデバイス４０４が第２のモードにおいて動作するとき、ＭＢＩＳＴデバイス４０４が、データワード上で動作するように構成され、そのデータワードに対してＥＣＣ論理４１０が、ミッションモードの間にＩＣ論理を用いて行われるやり方に類似してＥＣＣ訂正アルゴリズムを適用する。すなわち、テストの一部分として、ＭＢＩＳＴデバイス４０４がｎビットデータワードを第２のアクセスポート４２０−２からメモリ４０２に書き込むときに、ＥＣＣ論理４１０は、ｎビットデータワードを第２のアクセスポート４２０−２から受信し、ｎビットデータワードの上に連結される「ｐｎ」パリティビットを符号化して、幅「ｎ＋ｐｎ」のデータ値を結果としてもたらし、幅「ｎ＋ｐｎ」のそのデータ値が、次いで、メモリ４０２に物理的に書き込まれるものとなる。テストの一部分として、ＭＢＩＳＴデバイス４０４が読み取りトランザクションを実行するとき、（ｎ＋ｐｎ）ビットが、メモリ４０２からＥＣＣ論理４１０に読み取られ、次いで、ＥＣＣ論理４１０が、読み取り（ｎ＋ｐｎ）ビットを幅ｎの論理データに変換して、その論理データが、次いで、第２のアクセスポート４２０−２に提供される。それ故、ＭＢＩＳＴデバイス４０４が第２のモードにおいて動作するとき、第２のアクセスポート４２０−２が、ｎビットのデータ構造（例えば、ワード）を通信するように構成される。
【００４８】
対照的に、システム４００がメモリテストモードにおいて動作し、かつＭＢＩＳＴデバイス４０４が第１のモードにおいて動作するとき、ＭＢＩＳＴデバイス４０４、特に第１のアクセスポート４２０−１が、ｎ＋ｐｎビットのデータ構造（すなわち、ＥＣＣアルゴリズムをそれに適用しないで、物理メモリに書き込まれるデータ）を通信するように構成される。
【００４９】
ある実施形態において、ＭＢＩＳＴデバイス４０４は、デバイス４０４の動作モードを制御するための（すなわち、少なくとも第１のモードと第２のモードとの間で動作モードを切り換えるように構成される）コントローラ４４０を更に含み得る。コントローラ４４０は、様々な要因に基づいてデバイス４０４の動作モードを切り換えるように構成され得る。例えば、ある実施形態において、コントローラ４４０は、デバイス４０４が、第２の動作モードに入り、システムまたはアプリケーションレベルでメモリ４０２を自動的にテストするために、定期的にまたは所定時間に、あるいはいくつかの他の所定の手法で、メモリ４０２をテストすることを確保するように構成され得る。ある実施形態において、コントローラ４４０は、デバイス４０４が第２の動作モードに入り、テストするよう命令を受信することに応答してメモリ４０２をテストすることを確保するように構成され得る。そのような命令は、例えばコントローラ４４０を用いて含まれ得るユーザインターフェースを経由して提供される、例えばユーザ入力の形態でコントローラ４４０に提供され得るか、あるいはいくつかの更なるシステムまたはデバイスから、例えばセンサデバイスから提供され得、それ故、ＥＣＣで保護されたメモリ４０２のシステム／アプリケーションレベルテストをトリガする。
【００５０】
ＭＢＩＳＴコントローラ（すなわち、本明細書に記載したＭＢＩＳＴデバイスのいずれかのコントローラ）、例えば、本明細書に記載したコントローラ４４０などの機能を実装するように構成され得るデータ処理システムの例が、図８に例示される。しかしながら、当業者は、本明細書に記載したようなＭＢＩＳＴコントローラの特徴のいずれかを実行するまたは備えるように構成されたあらゆるシステムが、本開示の範囲内にあることを認識するであろう。なおその上に、図４は、コントローラ４４０がＭＢＩＳＴデバイス４０４内に含まれることを例示するが、他の実施形態では、そのようなＭＢＩＳＴコントローラは、ＭＢＩＳＴコントローラが本明細書に記載したようなテスト工程を制御し得る限り、例えば、ＭＢＩＳＴデバイスと無線通信することによって、ＭＢＩＳＴデバイスの外部に実装され得る。
【００５１】
ある実施形態において、ＭＢＩＳＴデバイス４０４は、複数のＥＣＣで保護されたメモリをテストするように構成され得、各メモリが、図４の単一メモリ例について記載したようにテストされる。この状況は、本開示のある実施形態に係る、複数のＥＣＣで保護されたメモリについてＭＢＩＳＴデバイス５０４を実装するシステム５００を例示する図を提供する図５に示される。図５は、３つのＥＣＣで保護されたメモリ５０２−Ｘ、５０２−Ｙ、および５０２−Ｚを備える例を例示するが、任意の数のそのようなメモリを備えるシステムが、本開示の範囲内にある。メモリ５０２のそれぞれが、メモリと同じ添え字（Ｘ、Ｙ、またはＺ）を有する各ＥＣＣ論理５１０と関連付けられる。通信経路が、各メモリ５０２−Ｘ、５０２−Ｙ、および５０２−Ｚのそれぞれについて各添え字（Ｘ、Ｙ、またはＺ）を有する経路５３０−１、５３２、および５３４として示される。５ｘｘ要素として、場合によっては図５の異なるメモリを区別するための添え字を用いて図５に示される要素は、対応する４ｘｘ要素のような図４に示される要素に類似し、かつ、簡潔さのために、それらの記述はここでは繰り返されない。図５の描写を混乱させないために、各メモリのための第２の通信経路は図５に明示されないが、図４に記載した第２の通信経路に類似して、そのような経路は、各メモリの第２のアクセスポート５２０−２を各メモリに通信可能に接続して、対応するＥＣＣ論理５１０を含むことになる。
【００５２】
デバイス５０４内で異なる添え字ｘ、ｙ、およびｚを用いて図５に示したように、異なるメモリ５０２−Ｘ、５０２−Ｙ、および５０２−Ｚに対応する第２のアクセスポート５２０−２が、異なる数のビット（すなわち、各メモリ５０２−Ｘ、５０２−Ｙ、および５０２−Ｚとそれぞれ通信するためのｘ、ｙ、ならびにｚビット）のデータ構造を通信するように構成され得る。更に、異なる添え字ｐｘ、ｐｙ、およびｐｚを用いて図５に示したように、異なるメモリ５０２−Ｘ、５０２−Ｙ、および５０２−Ｚに対応するＥＣＣ論理５１０が、異なる数のパリティビット（すなわち、メモリ５０２−Ｘ、５０２−Ｙ、および５０２−Ｚに関してそれぞれｐｘ、ｐｙ、およびｐｚビット）を実装するように構成され得る。したがって、異なるメモリ５０２−Ｘ、５０２−Ｙ、および５０２−Ｚに対応する第１のアクセスポート５２０−１が、異なる数のビット（すなわち、各メモリ５０２−Ｘ、５０２−Ｙ、および５０２−Ｚとそれぞれ通信するためのｘ＋ｐｘ、ｙ＋ｐｙ、およびｚ＋ｐｚビット）のデータ構造を通信するように構成され得る。
【００５３】
図６は、本開示の別の実施形態に係るＥＣＣで保護されたメモリ６０２のためのＭＢＩＳＴデバイス６０４を実装するシステム６００を例示する図である。図６に示されるように、システム６００は、メモリ６０２、ＥＣＣ論理６１０、ならびに第１のアクセスポート６２０−１および第２のアクセスポート６２０−２を備えるＭＢＩＳＴデバイス６０４を含み得、それらは、それぞれ、図４に例示されたメモリ４０２、ＥＣＣ論理４１０、ならびに第１のアクセスポート４２０−１および第２のアクセスポート４２０−２を備えるＭＢＩＳＴデバイス４０４に類似する。実際には、図４と比較すると、図６は、単に、ＥＣＣで保護されたメモリ４０２を用いるＭＢＩＳＴデバイス４０４の１つの例となる実施態様の更なる詳細を提供する。したがって、図４に関して要素４０２、４１０、４０４、４２０−１、および４２０−１に提供された記載は、図４に示された要素６０２、６１０、６０４、６２０−１、および６２０−２に適用可能であり、したがって、簡潔さのためにここでは繰り返されない。
【００５４】
特に、図６は、どのようにデジタルＩＣ論理６０６がメモリ６０２に接続され得るかを例示する。デジタルＩＣ論理６０６の機能は、図３に示されるＩＣ論理３０６について記載したものに類似し、したがって、その記載は、ここでは繰り返されない。
【００５５】
本明細書に記載した実施形態に係る通信を可能にするために、２つのスイッチマトリックス、すなわち、スイッチマトリックス６０８およびスイッチマトリックス６５０が、実装され得る。スイッチマトリックス６０８ならびに通信経路６１４、６１６、および６１８の機能は、図３に示されたスイッチマトリックス３０８ならびに通信経路３１４、３１６、および３１８について記載したものに類似し、したがって、その記載もまた、ここでは繰り返されない。
【００５６】
図３の例示とは異なり、図６は、通信経路６５２、６５４、６１４、および６１６を経由してＭＢＩＳＴデバイス６０４をメモリ６０２に接続するように、かつ、通信経路６５６、６５４、６１４、および６１６を経由してＩＣ論理６０６をメモリ２０２に接続するように構成されたスイッチマトリックス６５０を含む。そのようなスイッチマトリックスは、任意の方法を含み得、接続されたデバイスがデータを通信し得るようにＭＢＩＳＴ６０４およびＩＣ論理６０６のそれぞれをメモリ６０２に接続することができる任意のデバイスを備え得、限定されるものではないが、例えば、１つ以上のラッパー、カラー、またはマルチプレクサを含む。様々な実施形態において、スイッチマトリックスが、ＭＢＩＳＴ自体に含まれてもよいし、またはＭＢＩＳＴとは離れておよび別個の要素として実装されてもよい。
【００５７】
システム６００のミッションモード動作の間、ＩＣ論理６０６は、ＩＣ論理６０６とスイッチマトリックス６５０との間の（図６において経路「Ａ´」として示される）通信経路６５６、スイッチマトリックス６５０およびＥＣＣ論理６１０との間の通信経路６５４、ＥＣＣ論理６１０とスイッチマトリックス６０８との間の（図３の経路Ａに類似する、図６において経路「Ａ」として示される）通信経路６１４、ならびにスイッチマトリックス６０８とメモリ６０２との間の通信経路６１６を経由して、アドレス、制御、およびデータ信号を通信することによって、メモリ６０２にアクセスし得る。
【００５８】
システム６００のメモリテストモード動作の間、ＭＢＩＳＴデバイス６０４は、ＭＢＩＳＴデバイス６０２の動作モードに応じて、２つの手法のうちの１つにおいてメモリ６０２にアクセスし得る。第１のモードにおいて動作しているときに、ＭＢＩＳＴデバイス６０４は、第１のアクセスポート６２０−１を使用してメモリ６０２にアクセスし、一方、第２のモードにおいて動作しているときに、ＭＢＩＳＴデバイス６０４は、第２のアクセスポート６２０−２を使用してメモリ６０２にアクセスする。
【００５９】
第１のアクセスポート６２０−１は、ＥＣＣ論理６１０を横切らない第１の通信経路を経由してメモリ６０２に通信可能に接続される。第１の通信経路は、第１のアクセスポート６２０−１とスイッチマトリックス６０８との間でデータを通信するための（経路「Ｂ」として図６に示される）通信経路６１８と、スイッチマトリックス６０８（経路Ｂ）とメモリ６０２との間でデータを通信するための通信経路６１６と、を備える。
【００６０】
第２のアクセスポート６２０−２は、ＥＣＣ論理６１０を横切る第２の通信経路を経由してメモリ６０２に通信可能に接続される。図６に示されるように、第２の通信経路は、第２のアクセスポート６２０−２とスイッチマトリックス６５０（経路Ｂ´）との間でデータを通信するための通信経路６５２、スイッチマトリックス６５０（経路Ｂ´）とＥＣＣ論理６１０との間でデータを通信するための通信経路６５４、ＥＣＣ論理６１０とスイッチマトリックス６０８（経路Ａ）との間でデータを通信するための通信経路６１４、およびスイッチマトリックス６０８（経路Ａ）とメモリ６０２との間でデータを通信するための通信経路６１６を備える。
【００６１】
システム６００がメモリテストモードにおいて動作し、かつＭＢＩＳＴデバイス６０４が第２のモードにおいて動作するときに、ＭＢＩＳＴデバイス６０４が、データワード上で動作するように構成され、そのデータワードに対してＥＣＣ論理６１０が、ミッションモードの間にＩＣ論理を用いて行われるやり方に類似してＥＣＣ訂正アルゴリズムを適用する。すなわち、テストの一部分として、ＭＢＩＳＴデバイス６０４が、（経路Ｂ´を経由して）第２のアクセスポート６２０−２からメモリ６０２にｎビットデータワードを書き込むときに、ＥＣＣ論理６１０は、スイッチマトリックス６５０を経由して第２のアクセスポート６２０−２からｎビットデータワードを受信し、ｎビットデータワードの上に連結される「ｐｎ」パリティビットを符号化して、幅「ｎ＋ｐｎ」のデータ値を結果としてもたらし、幅「ｎ＋ｐｎ」のそのデータ値が、次いで、スイッチマトリックス６０８の経路Ａを経由してメモリ６０２に物理的に書き込まれるものとなる。テストの一部分として、ＭＢＩＳＴデバイス６０４が読み取りトランザクションを実行するときに、（ｎ＋ｐｎ）ビットが、スイッチマトリックス６０８を経由してメモリ６０２からＥＣＣ論理６１０に読み取られ、次いで、ＥＣＣ論理６１０が、読み取り（ｎ＋ｐｎ）ビットを幅ｎの論理データに変換し、次いで、その論理データが、（スイッチマトリックス６５０の経路Ｂ´を経由して）第２のアクセスポート６２０−２に提供される。それ故、ＭＢＩＳＴデバイス６０４が第２のモードにおいて動作するときに、第２のアクセスポート６２０−２が、ｎビットのデータ構造（例えば、ワード）を通信するように構成される。
【００６２】
対照的に、システム６００がメモリテストモードにおいて動作し、かつＭＢＩＳＴデバイス６０４が第１のモードにおいて動作するときに、ＭＢＩＳＴデバイス６０４、特に第１のアクセスポート６２０−１が、スイッチマトリックス６０８の経路Ｂを経由して、ｎ＋ｐｎビットのデータ構造（すなわち、ＥＣＣアルゴリズムをそれに適用しないで、物理メモリに書き込まれるデータ）をメモリ６０２に通信するように構成される。
【００６３】
図７は、本開示の一実施形態に係るＭＢＩＳＴデバイスを制御するための方法ステップのフロー図７００である。図７の方法ステップは、ＭＢＩＳＴコントローラ（すなわち、ＭＢＩＳＴデバイスのコントローラ）、例えば、ＭＢＩＳＴデバイス６０４のコントローラ４４０またはＭＢＩＳＴデバイス５０４もしくは６０４の類似コントローラ（図５および６に示されないコントローラ）などによって使用され得る。方法は、任意選択的なステップ７０２で始まり得、そのステップで、ＭＢＩＳＴコントローラは、ＭＢＩＳＴデバイスのための動作モードの指示を受信し得る。そのような指示は、例えば、所望の動作モードを指示するユーザ入力を含み得る。ステップ７０４では、ＭＢＩＳＴコントローラが、例えば、その動作モードにおいて使用されるＭＢＩＳＴデバイスのアクセスポートを作動させること（および、場合によっては、その動作モードにおいて使用されない（複数の）アクセスポートを非作動にさせること）によって、ＭＢＩＳＴデバイスを所望の動作モードに設定し得る。方法は、次いで、ステップ７０６またはステップ７０８に進み得、ステップ７０６は、ＭＢＩＳＴデバイスが、本明細書に記載したように第１のアクセスポート、したがって、第１の経路を経由して１つ以上の埋め込み型メモリをテストすることを確保するＭＢＩＳＴコントローラを例示し、ステップ７０８は、ＭＢＩＳＴデバイスが、本明細書に記載したように第２のアクセスポート、したがって、第２の経路を経由して１つ以上の埋め込み型メモリをテストすることを確保するＭＢＩＳＴコントローラを例示する。
【００６４】
本開示の実施形態は、ＩＣ製造テスト段階において使用されるＭＢＩＳＴデバイスが、特別なＥＣＣアクセスポートをＭＢＩＳＴデバイスに提供することによって、システムおよびアプリケーションレベル自己テストにアクセスできるようにさせることもまた可能にし、それ故、本明細書に記載したようなＥＣＣ論理の誤り耐性特徴を利用する自己テストを可能にする。本開示の実施形態に係るＭＢＩＳＴデバイスを備えるシステムの１つの利点は、ほとんどダイ領域を追加せずに、顧客によって実行され得るシステムまたはアプリケーションレベルテスト（本明細書に記載した第２の動作モード）のために製品の製造テスト（本明細書に記載した第１の動作モード）に既に必要とされたＭＢＩＳＴ論理の再使用を含む。他の利点は、顧客が、機能安全についての産業要求（例えばＩＥＣ６１５０８規格など）または立証済みのハードウェア駆動型自己テストを用いる他の自己テスト要求を満たすことを可能にすることを含み、それによって、それらのソフトウェア開発サイクルを削減するか短縮し、かつ、ＥＣＣ論理が顧客によるメモリ自己テストの間に含まれることを確保することによって、誤ったリターンを防ぐ。
【００６５】
図８は、本開示の一実施形態に係る例となるデータ処理システム８００を例示するブロック図を描写する。そのようなデータ処理システムは、本明細書に記載したＭＢＩＳＴコントローラとして機能するように構成され得る。
【００６６】
図８に示されるように、データ処理システム８００は、システムバス８０６を通してメモリ要素８０４に結合された少なくとも１つのプロセッサ８０２を含み得る。そのように、データ処理システムは、メモリ要素８０４内にプログラムコードを記憶し得る。更に、プロセッサ８０２は、システムバス８０６を経由してメモリ要素８０４からアクセスされるプログラムコードを実行し得る。一態様では、データ処理システムは、プログラムコードを記憶するおよび／または実行するのに適したコンピュータとして実装され得る。しかしながら、データ処理システム８００は、この明細書内に記載した機能を実行することができるプロセッサおよびメモリを含む任意のシステムの形態で実装され得ることを認識されたい。
【００６７】
メモリ要素８０４は、１つ以上の物理メモリデバイス、例えば、ローカルメモリ８０８および１つ以上の大容量記憶装置８１０などを含み得る。ローカルメモリは、一般に、プログラムコードの実際の実行の間に使用されるランダムアクセスメモリまたは他の（複数の）非永続的メモリデバイスのことを言い得る。大容量記憶装置は、ハードドライブまたは他の永続的データ記憶装置として実装され得る。処理システム８００はまた、プログラムコードが実行の間に大容量記憶装置８１０から取り出される必要がある回数を減らすために、少なくともいくつかのプログラムコードの一時記憶を提供する１つ以上のキャッシュメモリ（図示されない）を含んでもよい。
【００６８】
入力デバイス８１２および出力デバイス８１４として描写された入出力（Ｉ／Ｏ）デバイスは、任意選択的に、データ処理システムに結合され得る。入力デバイスの例は、限定されるものではないが、キーボード、ポインティングデバイス、例えばマウスなど、または同様のものを含み得る。出力デバイスの例は、限定されるものではないが、モニタもしくはディスプレイ、スピーカ、または同様のものを含み得る。入力および／または出力デバイスは、直接的にまたは間にあるＩ／Ｏコントローラを通して、データ処理システムに結合され得る。
【００６９】
ある実施形態において、入出力デバイスは、（入力デバイス８１２および出力デバイス８１４を取り囲む破線で図８に例示される）組み合わされた入出力デバイスとして実装され得る。そのような組み合わされたデバイスの例は、「タッチスクリーンディスプレイ」または単に「タッチスクリーン」と称されることもある、タッチセンサー式ディスプレイである。そのような実施形態では、デバイスへの入力は、タッチスクリーンディスプレイ上のまたはタッチスクリーンディスプレイの近くの物理的対象、例えばスタイラスまたはユーザの指などの動きによってもたらされ得る。
【００７０】
ネットワークアダプタ８１６はまた、任意選択的に、データ処理システムに結合され得、それが、間にある私的網または公衆網を通して、他のシステム、コンピュータシステム、遠隔ネットワークデバイス、および／または遠隔記憶装置に結合されることになることを可能にする。ネットワークアダプタは、そのシステム、デバイスおよび／またはネットワークによってデータ処理システム８００に送信されるデータを受信するためのデータ受信機と、データ処理システム８００からそのシステム、デバイスおよび／またはネットワークにデータを送信するためのデータ送信機と、を備え得る。モデム、ケーブルモデム、およびイーサネット（登録商標）カードが、データ処理システム８００で使用され得る異なる種類のネットワークアダプタの例である。
【００７１】
図８に描写されるように、メモリ要素８０４は、アプリケーション８１８を記憶し得る。様々な実施形態において、アプリケーション８１８は、ローカルメモリ８０８、１つ以上の大容量記憶装置８１０内に、またはローカルメモリおよび大容量記憶装置から離れて記憶され得る。データ処理システム８００は、アプリケーション８１８の実行を容易にし得るオペレーティングシステム（図８に示されない）を更に実行し得ることを認識されたい。実行可能なプログラムコードの形態で実装されるアプリケーション８１８が、データ処理システム８００によって、例えばプロセッサ８０２によって実行され得る。アプリケーションの実行に応答して、データ処理システム８００は、本明細書に記載した１つ以上の動作または方法ステップを行うように構成され得る。
【００７２】
変形および実施態様
本開示の実施形態は、図４〜８に示されるような例となる実施態様を参照して上記したが、当業者は、上記した様々な教示が多様な他の実施態様に適用可能であることを理解するであろう。特に、本開示に提供されたいくつかの記載は、「埋め込み型メモリ」のことを言うが、これらの記載は、埋め込み型ではないメモリに同様に適用可能である。
【００７３】
一定の文脈において、本明細書に記述した特徴が、自動車システム、安全性が不可欠な産業用途、医療システム、科学計測、無線および有線通信、レーダー、産業プロセス制御、音響および映像機器、電流検出、（高精密であり得る）計測、ならびに他のデジタル処理をベースとするシステムに適用可能であり得る。
【００７４】
その上、上述した一定の実施形態は、医療画像、患者監視、医療計測、および在宅医療のためのデジタル信号処理技術に提供され得る。これは、肺のモニタ、加速度計、心拍数モニタ、ペースメーカー等を含み得る。他の用途は、安全システムのための自動車用技術（例えば、あらゆる種類の安定性制御システム、運転者支援システム、ブレーキングシステム、娯楽報道番組、および内部用途）を含み得る。
【００７５】
更に他のシナリオ例では、本開示の教示が、生産性、エネルギー効率、および信頼性を推進するのに役立つプロセス制御システムを含む産業市場に適用可能であり得る。消費者向け用途では、上述した信号処理回路の教示が、（例えば、デジタルスチルカメラ、カムコーダ等のための）画像処理、自動焦点合わせ、および画像安定化のために使用され得る。他の消費者向け用途は、ホームシアターシステム、ＤＶＤレコーダ、ならびに高精細テレビのための音響および映像プロセッサを含み得る。
【００７６】
上記実施形態の記述において、システムの構成要素、例えば、クロック、マルチプレクサ、バッファ、および／または他の構成要素などが、特定の回路の必要性に適応するために容易に取り替えられ得、置換され得、またはその他には修正され得る。その上、補足的な電子デバイス、ハードウェア、ソフトウェア等の使用が、本開示の教示を実装するために同様に実行可能な選択肢をもたらすことを留意されたい。
【００７７】
本明細書に提案したようなＭＢＩＳＴデバイスを使用するＥＣＣで保護されたメモリのテストのための様々なシステムの部分は、本明細書に記載した機能を実行する電子回路を含むことができる。いくつかの場合において、システムの１つ以上の部分が、本明細書に記載した機能を実行するために特別に構成されたプロセッサによって提供され得る。例えば、プロセッサは、１つ以上の特定用途向け構成要素を含んでもよいし、または、本明細書に記載した機能を実行するように構成されたプログラム可能な論理ゲートを含んでもよい。回路は、アナログ領域、デジタル領域において、または混成信号領域において動作することができる。いくつかの事例において、プロセッサは、非一時的なコンピュータ可読記憶媒体上に記憶された１つ以上の命令を実行することによって、本明細書に記載した機能を実行するように構成されてもよい。
【００７８】
一実施形態例では、図４〜６および８の任意の数の電気回路が、関連付けられた電子デバイスの基板上に実装され得る。基板は、電子デバイスの内部電子システムの様々な構成要素を保持することができると共に、更に、他の周辺装置用のコネクタを提供することができる汎用回路基板であり得る。より具体的には、基板は、電気接続を提供することができ、その接続によって、システムの他の構成要素が、電気的に通信することができる。（デジタル信号プロセッサ、マイクロプロセッサ、支援チップセット等を含む）任意適切なプロセッサ、コンピュータ可読非一時的メモリ要素等が、特定の構成ニーズ、処理要求、コンピュータ設計等に基づいて基板に適切に結合され得る。他の構成要素、例えば、外部記憶装置、追加センサ、音響／映像表示のためのコントローラ、および周辺デバイスなどが、プラグイン式カードとして、ケーブルを経由して基板に取り付けられてもよいし、または基板自体に集積されてもよい。様々な実施形態において、本明細書に記載した機能が、これらの機能を支援する構造で配置された１つ以上の構成可能な（例えば、プログラム可能な）要素内で動くソフトウェアまたはファームウェアとしてエミュレーション形態で実装され得る。エミュレーションを提供するソフトウェアまたはファームウェアは、プロセッサがそれらの機能を実行することを可能にする命令を備える非一時的なコンピュータ可読記憶媒体上に提供され得る。
【００７９】
別の実施形態例において、図４〜６および８の電気回路は、独立型モジュール（例えば、特定の適用または機能を実行するように構成された関連付けられた構成要素および回路を有するデバイス）として実装され得、あるいは電子デバイスの特定用途向けハードウェアにプラグイン式モジュールとして実装され得る。本開示の特定の実施形態が、部分的または全体的にシステムオンチップ（ＳＯＣ）パッケージに容易に含まれ得ることに留意する。ＳＯＣは、コンピュータまたは他の電子システムの構成要素を単一チップに集積するＩＣを表わす。それは、デジタル、アナログ、混成信号、および多くの場合、無線周波数機能を含み得、それらの全てが、単一チップ基板上に提供され得る。他の実施形態は、マルチチップモジュール（ＭＣＭ）を含み得、複数の別個のＩＣが、単一電子パッケージ内に位置し、かつ電子パッケージを通して互いと密に相互作用するように構成される。様々な他の実施形態では、本明細書に提案されるようなＭＢＩＳＴデバイスを使用するＥＣＣで保護されたメモリをテストする機能が、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能なゲートアレイ（ＦＰＧＡ）、および他の半導体チップにおいて１つ以上のシリコンコア部（ｓｉｌｉｃｏｎ  ｃｏｒｅ）に実装され得る。
【００８０】
本明細書に概説された仕様、寸法、および関係（例えば、プロセッサの数、論理動作等）の全てが、単に例示および教示の目的のためのみに提供されていることに留意することもまた不可欠である。そのような情報は、本開示の趣旨、または添付の特許請求の範囲から逸脱すること無く、大幅に変えられ得る。明細書は、１つの非限定例のみに適用し、したがって、それらはそのように解釈されるべきである。上述の記載では、実施形態例が、特定のプロセッサおよび／または構成要素の配置を参照して記載された。様々な修正および変更が、添付の特許請求の範囲から逸脱すること無く、そのような実施形態になされてもよい。したがって、記載および図面は、限定的な意味ではなくて例示的な意味に見なされることになる。
【００８１】
本明細書に提供された多数の例で、相互作用が２つ、３つ、４つ、またはより多くの電気構成要素に関して記載され得ることに留意する。しかしながら、これは、明瞭さおよび例示の目的のみのために行った。システムが任意適切な手法で統合され得ることを認識されたい。類似の設計代替案に従って、図４〜８の例示された構成要素、モジュール、および要素のいずれもが、様々な可能な構成に組み合わされてもよく、それらの全てが、この明細書の広い範囲内に明らかにある。一定の場合では、限定された数の電気要素のみを参照することによって、所与の組の流れの機能のうちの１つ以上を記載することがより容易であろう。図４〜６および８の電気回路ならびにそれらの教示が、容易に拡張可能であり、多数の構成要素、ならびにより複雑で精緻な配置および構成に適合できることを認識されたい。したがって、提供された例が、範囲を限定するべきではないし、または無数の他のアーキテクチャに潜在的に適用されるような電気回路の広範な教示を妨げるべきではない。
【００８２】
この明細書において、「一実施形態」、「実施形態例」、「ある実施形態」、「別の実施形態」、「いくつかの実施形態」、「様々な実施形態」、「他の実施形態」、「代替の実施形態」、および同様のものに含まれる様々な特徴（例えば、要素、構造、モジュール、構成要素、ステップ、動作、特性等）に対する参照は、任意のそのような特徴が、本開示の１つ以上の実施形態に含まれるものの、同じ実施形態に組み合わされる可能性があるまたは同じ実施形態に必ずしも組み合わされない可能性があることを意味するように意図されることに留意する。
【００８３】
本明細書に提案されるようなＭＢＩＳＴデバイスを使用するＥＣＣで保護されたメモリをテストすることに関する機能が、図４〜６および８に例示されたシステムによってまたはそのシステム内で実行され得る可能な機能のうちのいくつかのみを例示することに留意するのもまた重要である。これらの動作のうちのいくつかが、適切な場合には取り除かれ得るか除去され得、またはこれらの動作は、本開示の範囲から逸脱すること無く大幅に修正され得るか変更され得る。加えて、これらの動作のタイミングは、大幅に変えられ得る。前述の動作上の流れは、例示および記述の目的のために提供された。十分な柔軟性が、任意適切な配置、順序、構成、およびタイミング機構が本開示の教示から逸脱すること無く提供され得るという点において、本明細書に記載した実施形態によってもたらされる。
【００８４】
多数の他の変更、置換、変形、変化、および修正が、当業者に把握され得、本開示が、添付の特許請求の範囲内にあるような全てのそのような変更、置換、変形、変化、および修正を包含することが意図される。本明細書に添付された特許請求の範囲を解釈する際に、米国特許商標庁（ＵＳＰＴＯ）および、更に、この出願に関して発行されたあらゆる特許のあらゆる読み手を支援するために、出願人は、出願人が（ａ）文言「〜ための手段」または「〜ためのステップ」が特定の特許請求の範囲において具体的に使用されない限り、それがその出願日に存在しているとして添付の特許請求の範囲のいずれも３５Ｕ．Ｓ．Ｃ．（米国特許法）第１１２条第６段落を行使することを意図せず、ならびに（ｂ）明細書におけるあらゆる記述によって、さもなければ添付の特許請求の範囲に反映されないこの開示を限定することを決して意図しないことに留意するよう望む。
【００８５】
上記した装置の全ての任意選択的な特徴がまた、本明細書に記載した方法またはプロセスに関して実装され得、例における詳細が、１つ以上の実施形態のどこにでも使用され得ることに留意する。
【図１】
2016170787.tif 000003
【図２】
2016170787.tif 000004
【図３】
2016170787.tif 000005
【図４】
2016170787.tif 000006
【図５】
2016170787.tif 000007
【図６】
2016170787.tif 000008
【図７】
2016170787.tif 000009
【図８】
2016170787.tif 000010
【外国語明細書】
2016170787000001.pdf