(57)【特許請求の範囲】
【請求項１】
１または複数の結合されたメモリ素子を有するメモリスタックと、
前記メモリ素子についての論理アドレスから物理アドレスへのマッピングのための汎用プログラマブルアドレススクランブラを有するビルトインセルフテスト回路と、
前記汎用プログラマブルアドレススクランブラについてプログラミング値を保持する１または複数のレジスタと
を備え、
前記汎用プログラマブルアドレススクランブラは、複数のステージを含み、
前記複数のステージのうち第１のステージは、論理アドレスを受信する第１の複数のマルチプレクサを含み、前記第１のステージは、前記論理アドレスの複数の要素をリマッピングして第１の複数の値を生成し、
前記複数のステージのうち第２のステージは、前記第１の複数の値のうち複数の値を受信するべく第２の複数のマルチプレクサを含み、前記第２の複数のマルチプレクサは、ロジックゲートの機能を実行するようにプログラミングされ、
前記複数のステージのうち第３のステージは、第３の複数のマルチプレクサを含み、前記第３の複数のマルチプレクサはそれぞれ、前記第２の複数のマルチプレクサの動作をバイパスするように切り替え可能である、メモリデバイス。
【請求項２】
前記１または複数のレジスタは、特定のメモリ素子について前記汎用プログラマブルアドレススクランブラをプログラミングするための複数の値を保持する請求項１に記載のメモリデバイス。
【請求項３】
前記１または複数のレジスタは、前記第１の複数のマルチプレクサのための複数の選択値としてプログラム値の第１のセットを含む請求項１または２に記載のメモリデバイス。
【請求項４】
前記１または複数のレジスタは、前記第２の複数のマルチプレクサのそれぞれについての複数のルックアップ値を含む請求項１から３の何れか一項に記載のメモリデバイス。
【請求項５】
メモリデバイスのロジック素子であって、
前記メモリデバイスのメモリスタックのためのメモリコントローラと、
前記メモリスタックについて論理アドレスを物理アドレスにマッピングするための汎用プログラマブルアドレススクランブラを有するビルトインセルフテスト回路と、
前記汎用プログラマブルアドレススクランブラについて複数のプログラミング値を保持するコンフィグレーションレジスタと
を備え、
前記汎用プログラマブルアドレススクランブラは、複数のステージを含み、
前記複数のステージのうち第１のステージは、論理アドレスを受信する第１の複数のマルチプレクサを含み、前記第１のステージは、前記論理アドレスの複数の要素をリマッピングして第１の複数の値を生成し、
前記複数のステージのうち第２のステージは、前記第１の複数の値のうち複数の値を受信するべく第２の複数のマルチプレクサを含み、前記第２の複数のマルチプレクサは、ロジックゲートの機能を実行するようにプログラミングされ、
前記複数のステージのうち第３のステージは、第３の複数のマルチプレクサを含み、前記第３の複数のマルチプレクサはそれぞれ、前記第２の複数のマルチプレクサの動作をバイパスするように切り替え可能である、ロジック素子。
【請求項６】
システムであって、
前記システムの複数の構成要素を接続するバスと、
前記システムのためにデータを処理するべく前記バスに結合されているプロセッサと、
データを送信する送信機およびデータを受信する受信機のうち少なくとも１つと、
データ送信およびデータ受信のうち少なくとも１つのための全方向性アンテナと、
前記プロセッサによって処理するデータを保持するべく前記バスに結合されているメモリであって、スタックメモリデバイスを有するメモリと
を備え、
前記スタックメモリデバイスは、
１または複数の結合されたメモリ素子を含むメモリスタックと、
前記メモリ素子についての論理アドレスから物理アドレスへのマッピングのための汎用プログラマブルアドレススクランブラを含むビルトインセルフテスト回路と、
前記汎用プログラマブルアドレススクランブラについてプログラミング値を保持する１または複数のレジスタと
を含み、
前記汎用プログラマブルアドレススクランブラは、複数のステージを含み、
前記複数のステージのうち第１のステージは、論理アドレスを受信する第１の複数のマルチプレクサを含み、前記第１のステージは、前記論理アドレスの複数の要素をリマッピングして第１の複数の値を生成し、
前記複数のステージのうち第２のステージは、前記第１の複数の値のうち複数の値を受信するべく第２の複数のマルチプレクサを含み、前記第２の複数のマルチプレクサは、ロジックゲートの機能を実行するようにプログラミングされ、
前記複数のステージのうち第３のステージは、第３の複数のマルチプレクサを含み、前記第３の複数のマルチプレクサはそれぞれ、前記第２の複数のマルチプレクサの動作をバイパスするように切り替え可能である、システム。
【請求項７】
前記１または複数のレジスタは、特定のメモリ素子について前記汎用プログラマブルアドレススクランブラをプログラミングするための複数の値を保持する請求項６に記載のシステム。
【請求項８】
前記１または複数のレジスタは、前記第１の複数のマルチプレクサのための複数の選択値としてプログラム値の第１のセットを含む請求項６または７に記載のシステム。
【請求項９】
前記１または複数のレジスタは、前記第２の複数のマルチプレクサのそれぞれについての複数のルックアップ値を含む請求項６から８の何れか一項に記載のシステム。
【請求項１０】
前記システムは、コンピューティングシステムである請求項６から９の何れか１項に記載のシステム。
【請求項１１】
前記システムは、タブレットコンピュータである請求項６から９の何れか１項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、概して電子デバイスの分野に関し、具体的にはメモリ回路試験エンジン用の汎用アドレススクランブラに関する。
【背景技術】
【０００２】
演算処理用のより高密度のメモリを提供するべく、複数の密に結合したメモリ素子を持つメモリデバイス（３Ｄスタックメモリまたはスタックメモリとも呼ばれる）を利用する概念が広まっている。
【０００３】
３Ｄスタックメモリでは、複数のＤＲＡＭ（ダイナミックランダムアクセスメモリ）メモリ素子で形成される層またはパッケージが複数結合されているとしてよい。メモリスタックとも呼ばれるとしてよい。スタックメモリは、一のデバイスまたはパッケージで大容量のコンピュータメモリを提供するために用いるとしてよい。この場合、デバイスまたはパッケージはさらに、メモリコントローラおよびＣＰＵ（中央演算処理装置）等の特定のシステムコンポーネントを含むとしてよい。
【０００４】
メモリデバイスのサイズおよび複雑性は増加する一方であり、メモリデバイスを効果的且つ効率的に試験する方法についても要望が高まっている。尚、試験にはメモリの各物理アドレスにアクセスすることが含まれる。
【０００５】
しかし、スタックメモリデバイス内のメモリダイは、設計がさまざまであり、特に、このようなメモリは、メモリの論理−物理アドレッシングがさまざまであるので、メモリデバイスの完全な試験を行うタスクは複雑になってしまう。
【図面の簡単な説明】
【０００６】
本発明の実施形態を、限定するためではなく一例として図示する。添付図面では、同様の参照番号は同様の構成要素を示す。
【０００７】
【図１】スタックメモリデバイスのロジックの実施形態を示す図である。
【０００８】
【図２】メモリデバイスの実施形態におけるＤＲＡＭを示す図である。
【０００９】
【図３】スタックメモリデバイス用の汎用アドレススクランブラの実施形態を示す図である。
【００１０】
【図４】スタックメモリデバイスの実施形態を示す図である。
【００１１】
【図５】メモリ試験を可能とする３Ｄスタックメモリの実施形態を示す図である。
【００１２】
【図６】スタックメモリデバイスを含むモバイルコンピューティングデバイスの実施形態を示すブロック図である。
【００１３】
【図７】スタックメモリを含むコンピューティングシステムの実施形態を示す図である。
【発明を実施するための形態】
【００１４】
本発明の実施形態は概して、回路試験エンジン用の汎用アドレススクランブラに関する。
【００１５】
本明細書で用いる場合の定義を以下に説明する。
【００１６】
「３Ｄスタックメモリ」（３Ｄは３次元を意味する）または「スタックメモリ」は、互いに結合された複数のメモリ層、メモリパッケージ、または、他のメモリ素子を含むコンピュータメモリを意味する。メモリは、垂直方向にスタックされるとしてもよいし、または、水平方向に（例えば、互いに横方向に隣接するように）スタックするとしてもよい。または、互いに結合されているメモリ素子を含むとしてよい。特に、スタックメモリＤＲＡＭデバイスまたはスタックメモリＤＲＡＭシステムは、複数のＤＲＡＭ層を含むメモリデバイスを含むとしてよい。スタックメモリデバイスはさらに、当該デバイス内にシステム素子、例えば、ＣＰＵ（中央演算処理装置）、メモリコントローラ、および、他の関連するシステム素子を含むとしてよい。システム層は、ロジックチップまたはシステムオンチップ（ＳｏＣ）を含むとしてよい。スタックメモリデバイスは、ダイ層同士の間を相互接続するべく貫通シリコンビア（ＴＳＶ）を含むとしてよい。一部の実施形態によると、ロジックチップは、アプリケーションプロセッサまたはグラフィクスプロセッシングユニット（ＧＰＵ）であってよい。
【００１７】
スタックメモリデバイスは、メモリ素子およびシステム素子を一のパッケージ内に含む。例えば、メモリデバイスは、貫通シリコンビア（ＴＳＶ）製造を利用して、同一パッケージ内で、システムオンチップ（ＳｏＣ）ウェハ等のロジックチップまたはロジック要素と、ＤＲＡＭウェハのメモリスタックとが結合されているＷｉｄｅＩＯ  ＤＲＡＭ規格のデバイスを含むとしてよい。ＴＳＶとＷｉｄｅＩＯ  ＤＲＡＭ（および将来の規格）とを組み合わせることで、デバイス製造時の領域の節約、プラットフォーム電力の節約、および、システム性能の改善が実現されるとしてよい。
【００１８】
しかし、スタックメモリデバイス組立プロセスおよびＴＳＶ製造は、欠陥を発生させる可能性があるので、ＤＲＡＭ試験を綿密に行う必要がある。ＢＩＳＴ（Ｂｕｉｌｔ  ｉｎ  ｓｅｌｆ  ｔｅｓｔ）回路試験エンジンを用いてメモリ／アレイを試験する。メモリを効果的に試験するべく、ＢＩＳＴエンジンにプログラミングされているアルゴリズムは、物理メモリアドレスにアクセスする必要があるが、スタックメモリデバイスは、アドレッシング方式が異なるさまざまな製造者のさまざまな種類のメモリチップを利用している場合がある。
【００１９】
一部の実施形態によると、スタックメモリデバイスのＢＩＳＴ回路試験エンジンは、メモリデバイスの試験のためにＬ２Ｐ（論理−物理）アドレスマッピングを提供する汎用プログラマブルアドレススクランブラを含む。一部の実施形態によると、回路試験エンジンは、以下に挙げる機能を持つとしてよい。
【００２０】
（１）ＴＳＶ技術によって、異なるＬ２Ｐマッピング方式を利用するＤＲＡＭサプライヤ等、複数の異なるマッピング方式をサポートする。複数の異なるサプライヤを選択して、高容量製品に対する需要および供給を満たすとしてよい。
【００２１】
（２）汎用アドレススクランブルを利用することによって、ハンドヘルドデバイスおよびタブレットデバイス、ならびに、より大型のコンピューティングシステムおよびサーバを含む複数の異なる製品をサポートする。
【００２２】
（３）複数の異なるメモリについてハードウェアまたは設計を変更することなく動作する。一部の実施形態によると、アドレススクランブルはプログラマブルで、ＢＩＳＴエンジンは処理に依存する。
【００２３】
（４）欠陥検出を改善するべくアルゴリズムで物理アドレッシングを可能とするので、メモリデバイスの製造歩留りが改善される。
【００２４】
メモリを効果的に試験するべく、ＢＩＳＴエンジンにプログラミングされているアルゴリズムは、物理メモリアドレスにアクセスするべきである。しかし、論理−物理アドレス（Ｌ２Ｐ）の関係は通常、一対一のマッピングではなく、スクランブル関数によって決まる。アドレススクランブル関数は、アドレスビットの単純なワイヤ接続のリマッピングから、または、組み合わせゲートを含むものまで、インプリメンテーションが代わり得る。
【００２５】
一部の実施形態によると、汎用アドレススクランブラは、従来のデバイスとは対照的に、メモリ試験において動作を柔軟にするべくプログラマブルゲートを含む。一部の実施形態によると、汎用アドレススクランブラは、マルチプレクサ（ｍｕｘ）を利用する少なくとも３つのステージを含む。
【００２６】
一部の実施形態によると、汎用アドレススクランブラの第１のステージは、アドレスリマッピングに対応する。ここでは、各アドレスビットが個別に、対応する物理アドレスビットにリマッピングされる。一部の実施形態によると、汎用アドレススクランブラの第２のステージは、マルチプレクサ入力がロジックゲートのゲートルックアップテーブルに結合されているプログラマブルゲートであり、マルチプレクサ制御は第１のステージの出力に結合されている。一部の実施形態によると、汎用アドレススクランブラの第３のステージは、第２のステージを任意でバイパスするためのマルチプレクサを含む。一部の実施形態によると、第１および第３のステージのマルチプレクサ制御およびゲートルックアップテーブル（第２のステージ）はプログラマブルレジスタの一部である。
【００２７】
汎用アドレススクランブラを含むＢＩＳＴエンジンは、スタックメモリデバイスの製造時および動作時のさまざまなタイミングで試験を実行するために用いられるとしてよい。一部の実施形態によると、汎用アドレススクランブラを持つＢＩＳＴエンジンは、欠陥部品をスクリーニングするために製造者によって用いられるとしてよい。一部の実施形態によると、ＢＩＳＴエンジンは、ＯＳ（オペレーティングシステム）のブートのためにイネーブルされると、信頼性に関連する障害を検出するべくパワーオンセルフテスト（ＰＯＳＴ）をサポートするべく用いられるとしてよい。一部の実施形態によると、汎用アドレススクランブラは、正確な障害の位置を指摘するべくデバッグ時にＢＩＳＴラスタ（診断）機能をイネーブルするために用いられるとしてよい。
【００２８】
一部の実施形態によると、メモリデバイスは、結合されているメモリ素子のうち１または複数を含むメモリスタック、メモリ素子の論理アドレスを物理アドレスにマッピングするための汎用プログラマブルアドレススクランブラを含むビルトインセルフテスト回路、および、汎用プログラマブルアドレススクランブラのプログラミング値を保持するための１または複数のレジスタを有する。
【００２９】
図１は、スタックメモリデバイスのロジックの実施形態を示す図である。一部の実施形態によると、スタックメモリデバイス（例えば、ＷｉｄｅＩＯメモリデバイスとしてＳｏＣチップ）のメモリロジック１００は、メモリスタックを制御するためのメモリコントローラ１１０と、メモリの試験を行うためのＢＩＳＴ回路試験エンジン１２０とを備える。メモリの試験を実施する際、各メモリの物理アドレスをアドレッシングする必要がある。ここで、メモリアドレッシングは、スタックメモリデバイスに含まれる特定のメモリダイに応じて決まるとしてよい。一部の実施形態によると、メモリロジック１００のＢＩＳＴ回路試験エンジン１２０は、論理メモリアドレス１４０を物理メモリアドレス１４２にマッピングするための汎用プログラマブルアドレススクランブラ１３０を有する。
【００３０】
一部の実施形態によると、汎用アドレススクランブラ１３０は、少なくとも３つのステージを含む。これらのステージは、各アドレスビットが個別に対応する物理アドレスビットにリマッピングされるアドレスリマッピングを提供する第１のステージ１３２、例えば、ゲート特性を提供するべくゲートルックアップテーブルを用いるプログラマブルロジックゲートを含む第２のステージ１３４、および、第２のステージ１３４を任意でバイパスするための第３のステージ１３６である。一部の実施形態によると、第１のステージ１３２および第３のステージ１３６の制御、および、第２のステージ１３４のゲートルックアップテーブルは、ＢＩＳＴコンフィグレーションレジスタ１３８等のプログラマブルレジスタ（アドレススクランブラの一部であってもよいし、または、別のレジスタであってもよい）に設けられる。
【００３１】
図２は、メモリデバイスの実施形態におけるＤＲＡＭを示す図である。同図によると、ＤＲＡＭ１００は、論理行アドレスＸ０−Ｘ６（２１０）および論理列アドレスＹ０−Ｙ６（２３０）を持ち、これらのアドレスは、物理行アドレス（２２０）および物理列アドレス（２４０）にマッピングされる。しかし、これは一例に過ぎず、他のＤＲＡＭは非常に異なるメモリマッピングを利用するとしてよい。一部の実施形態によると、ＤＲＡＭ１００は、ＤＲＡＭ２００の設計における変更を可能とするべく、例えば、図１に図示しているように汎用アドレススクランブラ１３０を利用する、汎用アドレススクランブルを可能とするメモリデバイスの一部である。
【００３２】
図３は、スタックメモリデバイス用の汎用アドレススクランブラの実施形態を示す図である。同図によると、図３に示す汎用アドレススクランブラ３００の特定のアドレススクランブルの実施例は、図２に示したＤＲＡＭ２００の行アドレス座標（Ｘ）のアドレッシングである。一部の実施形態によると、第１のステージ３１０は、アドレスリマッピングのための一群のマルチプレクサ３１２を含む。同図では、第１のマルチプレクサからのＣ０は、ｍｕｘ選択Ｌ０、Ｌ１およびＬ２に基づき、Ｘ０からＸ６までの任意のビットにマッピングされるとしてよい。例えば、Ｃ０がＸ３にマッピングされるためには、ｍｕｘ選択Ｌ０、Ｌ１、Ｌ２＝０１１となる。アドレスリマッピングは、全ての特定のアドレスマッピング構造に必要ではなく、必要でない場合、出力アドレスは入力と同じに設定されるとしてよい（例えば、Ｃ０＝Ｘ０、Ｃ１＝Ｘ１等）。
【００３３】
一部の実施形態によると、第２のステージ３２０は、隣接するアドレスに対して演算を行う真理値表のルックアップを利用するロジック素子としてプログラマブルな一群のマルチプレクサ３２２を含む。Ｇ０、Ｇ１、Ｇ２およびＧ３は、特定のロジックゲートの真理値表の出力に対応する。例えば、論理ゲートがＡＮＤゲートである場合、Ｇ０＝０、Ｇ１＝０、Ｇ２＝０およびＧ３＝１となる。説明を簡略化するべく、本例について、全ての隣接するアドレスは、ＢＩＳＴコンフィグレーションレジスタにおいてＧ０、Ｇ１、Ｇ２およびＧ３によって定義されるルックアップゲートを利用すると仮定される。しかし、実施形態は本例に限定されず、他のルックアップ値（したがって、異なるロジックゲート）を、隣接するアドレスの各対について提供するとしてもよい。
【００３４】
一部の実施形態によると、第３のステージ３３０は、第２のステージが必要でない場合にプログラマブルなルックアップゲート（第２のステージ３２２）をバイパスするために用いられる第３の群のマルチプレクサ３３２を含む。
【００３５】
一部の実施形態によると、第１および第３のステージのマルチプレクサ制御、ならびに、第２のステージのゲートルックアップ（Ｇ０、Ｇ１、Ｇ２およびＧ３）は、メモリデバイスのＢＩＳＴコンフィグレーションレジスタ３５０の一部である。しかし、実施形態は本例に限定されることはなく、マルチプレクサおよびルックアップデータはメモリデバイスの1または複数の他のレジスタに格納されるとしてよい。
【００３６】
図４は、スタックメモリデバイスの実施形態を示す図である。一部の実施形態によると、スタックメモリデバイス４００（ＷｉｄｅＩＯメモリデバイス等）は、ＳｏＣまたは他のシステム素子であるロジックチップ４１０と密に結合されている１または複数のＤＲＡＭダイ層４２０を含むメモリスタックを有する。一部の実施形態によると、ロジックチップ４１０は、ＢＩＳＴ試験エンジンを含むとしてよい。試験エンジンは、論理アドレスを物理アドレスにマッピングするための汎用プログラマブルアドレススクランブラを含む。
【００３７】
図５は、メモリ試験を実施する３Ｄスタックメモリの実施形態を示す図である。同図では、３Ｄスタックメモリデバイス５００は、本明細書でメモリスタックとも呼ばれる１または複数のＤＲＡＭメモリダイ層５２０に結合されているロジックチップシステム素子５１０を備える。メモリダイ層は、１または複数のスライスまたは部分を含むとしてよく、１または複数の異なるチャネルを持つとしてよい。各ダイ層は、温度問題に対処するための温度補償セルフリフレッシュ（ＴＣＳＲ）回路を含むとしてよい。ＴＣＳＲおよびモードレジスタ（ＭＲ）は、デバイスの管理ロジックの一部であるとしてよく、ＭＣは、ＴＣＳＲによるリフレッシュレートの調整のための温度オフセットビットを含むとしてよい。ダイ層およびシステム素子は、熱的に結合されているとしてよい。一部の実施形態によると、ロジックチップ５１０は、システムオンチップ（ＳｏＣ）または他の同様の素子であってよい。図５以降の図面に示す構成要素は、説明のために図示しており、実寸に即したものではない。
【００３８】
図５はロジックチップ５１０が１または複数のメモリダイ層５２０のメモリスタックの下方で結合されている実施例を示しているが、実施形態はこの構成に限定されない。例えば、一部の実施形態によると、システム素子５１０は、メモリスタック５２０に隣接して配置されているので、メモリスタック５２０とは横方向に隣接するように結合されているとしてよい。
【００３９】
同図では、ＤＲＡＭメモリダイ層は、４つのメモリダイ層を含み、これらの層は第１のメモリダイ層５３０、第２のメモリダイ層５４０、第３のメモリダイ層５５０、および、第４のメモリダイ層５６０である。しかし、実施形態はメモリスタック５１０に含まれるメモリダイ層について任意の特定の数に限定されるものではなく、メモリダイ層の数は増減するとしてよい。他の構成要素について、システム素子５１０は、メモリスタック５２０のメモリコントローラ５１２を含むとしてよい。一部の実施形態によると、各メモリダイ層（本図において第４のメモリダイ層５６０等の最上部または最外部のメモリダイ層を除く）は、メモリダイ層のシリコン基板を貫通する経路を実現するべく複数の貫通シリコンビア（ＴＳＶ）５０５を含む。
【００４０】
図６は、スタックメモリデバイスを備えるモバイルコンピューティングデバイスの実施形態を示すブロック図である。コンピューティングデバイス６００は、ラップトップコンピュータまたはノートブックコンピュータ、ネットブック、タブレットコンピュータ（別箇にキーボードを設けるのではなくタッチスクリーンを持つデバイス、タッチスクリーンおよびキーボードの両方を持つデバイス、「インスタントオン」動作と呼ばれる立ち上がりが迅速なデバイス、および、「常時接続」と呼ばれる動作中のネットワークに概して接続されているデバイスを含む）等のモバイルコンピューティングデバイス、携帯電話またはスマートフォン、無線動作可能な電子ブックリーダー、またはその他の無線モバイルデバイスを含むコンピューティングデバイスを表す。特定のコンポーネントが概して図示されているが上記のデバイスの全てのコンポーネントがデバイス６００に図示されているものではないと理解されたい。コンポーネントは、１あるいは複数のバス、または、他の接続６０５によって接続されるとしてよい。
【００４１】
デバイス６００は、デバイス６００の主要な処理動作を実行するプロセッサ６１０を含む。プロセッサ６１０は、マイクロプロセッサ、アプリケーションプロセッサ、マイクロコントローラ、プログラマブルロジックデバイスまたはその他の処理手段等の１または複数の物理デバイスを含むとしてよい。プロセッサ６１０が実行する処理動作には、アプリケーション、デバイス機能または両方を実行するオペレーティングプラットフォームまたはオペレーティングシステムの実行がある。当該処理動作には、人間であるユーザまたは他のデバイスによるＩ／Ｏ（入出力）関連処理、電力管理に関する処理、または、デバイス６００の別のデバイスへの接続に関連する処理が含まれる。当該処理動作はさらに、オーディオ入出力、ディスプレイ入出力、または両方に関連する処理を含むとしてよい。
【００４２】
一実施形態によると、デバイス６００は、コンピューティングデバイスにオーディオ機能を与えることに関連するハードウェアコンポーネント（オーディオハードウェアおよびオーディオ回路等）およびソフトウェアコンポーネント（ドライバおよびコーデック等）を表すオーディオサブシステム６２０を備える。オーディオ機能は、スピーカ、ヘッドフォンまたはこのようなオーディオ出力の両方を含み、さらに、マイクロフォン入力も含むとしてよい。このような機能のためのデバイスは、デバイス６００に一体化されるとしてもよいし、または、デバイス６００に接続されるとしてもよい。一実施形態によると、ユーザは、プロセッサ６１０が受信して処理するオーディオコマンドを提供することによってデバイス６００とやり取りする。
【００４３】
ディスプレイサブシステム６３０は、コンピューティングデバイスとやり取りするべく、ユーザに対して視覚的要素、触覚的要素またはその両方の要素を持つディスプレイを提供するハードウェアコンポーネント（ディスプレイデバイス等）およびソフトウェアコンポーネント（ドライバ等）を表す。ディスプレイサブシステム６３０は、ディスプレイインターフェース６３２を含む。ディスプレイインターフェース６３２は、ユーザに表示を行うために用いられる特定のハードウェアデバイスまたはスクリーンを含む。一実施形態によると、ディスプレイインターフェース６３２は、ディスプレイに関する少なくとも一部の処理を実行するべく、プロセッサ６１０とは別のロジックを含む。一実施形態によると、ディスプレイサブシステム６３０は、ユーザに対して出力および入力の両方を可能とするタッチスクリーンデバイスを含む。
【００４４】
Ｉ／Ｏコントローラ６４０は、ユーザとのやり取りに関連するハードウェアデバイスおよびソフトウェアコンポーネントを表す。Ｉ／Ｏコントローラ６４０は、オーディオサブシステム６２０、ディスプレイサブシステム６３０、または、両サブシステムの一部であるハードウェアを管理するとしてよい。さらに、Ｉ／Ｏコントローラ６４０は、デバイス６００に接続される追加のデバイスであって、ユーザがデバイスとやり取りするために用いられる追加のデバイスの接続ポイントとなる。例えば、デバイス６００に取り付け可能なデバイスは、マイクロフォンデバイス、スピーカシステムまたはステレオシステム、ビデオシステムまたは他のディスプレイデバイス、キーボードデバイスまたはキーパッドデバイス、または、カードリーダまたは他のデバイス等の特定のアプリケーションと利用される他のＩ／Ｏデバイスを含むとしてよい。
【００４５】
上述したように、Ｉ／Ｏコントローラ６４０は、オーディオサブシステム６２０またはディスプレイサブシステム６３０、または、両サブシステムとやり取りするとしてもよい。例えば、マイクロフォンまたはその他のオーディオデバイスを介した入力は、デバイス６００の１または複数のアプリケーションまたは機能についての入力またはコマンドとなり得る。これに加えて、オーディオ出力は、ディスプレイ出力に代えて、または、ディスプレイ出力に加えて提供され得る。別の例を挙げると、ディスプレイサブシステムがタッチスクリーンを含む場合、ディスプレイデバイスは、少なくとも部分的にＩ／Ｏコントローラ６４０によって管理される入力デバイスとしても動作する。デバイス６００には、Ｉ／Ｏコントローラ６４０が管理するＩ／Ｏ機能を提供する更なるボタンまたはスイッチも設けられているとしてよい。
【００４６】
一実施形態によると、Ｉ／Ｏコントローラ６４０は、加速度計、カメラ、光センサあるいはその他の環境センサ、または、デバイス６００に含まれる他のハードウェア等のデバイスを管理する。入力は、直接的なユーザとの間のやり取りの一部であってよく、デバイスの動作（例えば、ノイズをフィルタリングする、輝度検出のためにディスプレイを調整する、カメラにフラッシュを適用またはその他の機能）に影響を与えるデバイスへの環境入力でもある。
【００４７】
一実施形態によると、デバイス６００は、電池電力利用、電池充電および省電力関連機能を管理する電力管理６５０を含む。
【００４８】
一部の実施形態によると、メモリサブシステム６６０は、デバイス６００において情報を格納するためのメモリデバイスを含む。プロセッサ６１０は、メモリサブシステム６６０の構成要素に対して、データの読み書きを行うとしてよい。メモリは、不揮発性メモリデバイス（メモリデバイスへの電力供給が中断しても状態が変化しない）、揮発性メモリデバイス（メモリデバイスへの電力供給が中断される場合の状態が予測できない）、または、両方の種類のメモリを含むとしてよい。メモリサブシステム６６０は、アプリケーションデータ、ユーザデータ、音楽、写真、書類またはその他のデータ、ならびに、デバイス６００のアプリケーションおよび機能の実行に関するデバイスデータ（長期間格納または一時的格納）を格納するとしてよい。
【００４９】
一部の実施形態によると、メモリサブシステム６６０は、１または複数のメモリダイ層で構成されるメモリスタックを含むスタックメモリデバイス６６２を含むとしてよい。スタックメモリデバイス６６２は、ＤＲＡＭメモリの論理−物理アドレスマッピングを扱う汎用アドレススクランブラ６６４を含むＢＩＳＴ試験エンジンを含む。
【００５０】
接続部６７０は、デバイス６００が外部デバイスと通信できるようにするべく、ハードウェアデバイス（例えば、無線通信、有線通信または両方を実行するためのコネクタおよび通信ハードウェア）およびソフトウェアコンポーネント（例えば、ドライバ、プロトコルスタック）を含む。デバイスは、他のコンピューティングデバイス、無線アクセスポイントまたは基地局等の別のデバイスであってもよく、ヘッドセット、プリンタ、または、その他のデバイス等の周辺機器であってもよい。
【００５１】
接続部６７０は、複数の異なる種類の接続部を含むとしてよい。一般化すると、デバイス６００は、セルラー式接続部６７２および無線接続部６７４を有するものとして図示されている。セルラー式接続部６７２は通常、無線キャリアが提供するセルラー式ネットワーク接続部、例えば、４Ｇ／ＬＴＥ（ロングタームエボリューション）、ＧＳＭ（登録商標）（グローバルシステムフォーモバイルコミュニケーションズ）または変形バージョンまたは派生バージョン、ＣＤＭＡ（符号分割多重アクセス）または変形バージョンまたは派生バージョン、ＴＤＭ（時分割多重）または変形バージョンまたは派生バージョン、または、その他のセルラー方式サービス規格によって提供され得る接続部を意味する。無線接続部６７４は、セルラー方式ではない無線接続部を意味し、パーソナルエリアネットワーク（Ｂｌｕｅｔｏｏｔｈ（登録商標）等）、ローカルエリアネットワーク（Ｗｉ−Ｆｉ等）、ワイドエリアネットワーク（ＷｉＭａｘ等）およびその他の無線通信を含み得る。接続部は、１または複数の全方向性アンテナまたは指向性アンテナ６７６を含むとしてよい。
【００５２】
周辺機器接続６８０は、ハードウェアインターフェースおよびコネクタ、ならびに、周辺機器接続を確立するためのソフトウェアコンポーネント（例えば、ドライバ、プロトコルスタック）を含む。デバイス６００は、他のコンピューティングデバイスに対する周辺機器であってもよいし（「Ｔｏ」６８２）、周辺機器が当該デバイス６００に対して接続されているとしてもよい（「Ｆｒｏｍ」６８４）と理解されたい。デバイス６００は一般的に、デバイス６００上のコンテンツを管理（例えば、ダウンロード、アップロード、変更または同期）する等の目的で、他のコンピューティングデバイスと接続するための「ドッキング」型コネクタを含むとしてよい。また、ドッキング型コネクタによって、デバイス６００は、デバイス６００が、例えば、オーディオビジュアルシステムまたは他のシステムへのコンテンツ出力を制御できるようにするための特定の周辺機器に接続され得る。
【００５３】
専用ドッキング型コネクタまたはその他の専用接続ハードウェアに加えて、デバイス６００は、一般的または標準規格のコネクタを用いて周辺機器接続６８０を確立するとしてよい。一般的なタイプには、ユニバーサルシリアルバス（ＵＳＢ）コネクタ（複数の異なるハードウェアインターフェースのいずれかを含む）、ＭｉｎｉＤｉｓｐｌａｙＰｏｒｔ（ＭＤＰ）を含むＤｉｓｐｌａｙＰｏｒｔ、高精細マルチメディアインターフェース（ＨＤＭＩ（登録商標））、ファイアワイヤまたはその他のタイプが含まれるとしてよい。
【００５４】
図７は、スタックメモリを含むコンピューティングシステムの実施形態を示す。コンピューティングシステムは、コンピュータ、サーバ、ゲームコンソール、または、その他の演算装置を含むとしてよい。同図によると、本願の説明に密接な関わりのない特定の標準的な公知のコンポーネントは図示を省略している。一部の実施形態では、コンピューティングシステム７００は、インターコネクトあるいはクロスバー７０５、または、データを送信するための他の通信手段を備える。コンピューティングシステム７００は、情報を処理するべくインターコネクト７０５に結合されている１または複数のプロセッサ７１０等の処理手段を備えるとしてよい。プロセッサ７１０は、１または複数の物理プロセッサおよび１または複数の論理プロセッサを含むとしてよい。インターコネクト７０５は、簡略化のために一のインターコネクトとして図示されているが、複数の異なるインターコネクトまたはバスを表すとしてもよく、これらのインターコネクトへのコンポーネント接続はさまざまであるとしてよい。図７に図示しているインターコネクト７０５は、任意の１または複数の個別の物理バス、ポイントツーポイント接続、または、適切なブリッジ、アダプタまたはコントローラで接続された両者を表す抽象化である。
【００５５】
一部の実施形態によると、コンピューティングシステム７００はさらに、プロセッサ７１０が実行する命令および情報を格納するメインメモリ７１２として、ランダムアクセスメモリ（ＲＡＭ）またはその他のダイナミックストレージデバイスまたはダイナミック格納素子を備える。ＲＡＭメモリは、メモリコンテンツのリフレッシュを必要とするダイナミックランダムアクセスメモリ（ＤＲＡＭ）、および、コンテンツのリフレッシュを必要としないがコストが高いスタティックランダムアクセスメモリ（ＳＲＡＭ）を含む。一部の実施形態によると、メインメモリは、コンピューティングシステムのユーザによるネットワーク閲覧アクティビティで利用されるブラウザアプリケーションを含むアプリケーションのアクティブストレージを含むとしてよい。ＤＲＡＭメモリは、信号を制御するクロック信号を含むシンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、および、拡張データアウトダイナミックランダムアクセスメモリ（ＥＤＯ  ＤＲＡＭ）を含むとしてよい。一部の実施形態によると、システムのメモリは、特定のレジスタまたはその他の特定用途向けメモリを含むとしてよい。
【００５６】
一部の実施形態によると、メインメモリ７１２は、スタックメモリ７１４を含む。スタックメモリは、汎用アドレススクランブラ７１５を含むＢＩＳＴ試験エンジンを含む。
【００５７】
コンピューティングシステム７００はさらに、プロセッサ７１０用の命令および静的情報を格納するためのリードオンリーメモリ（ＲＯＭ）７１６または他のスタティックストレージデバイスを備えるとしてよい。コンピューティングシステム７００は、特定の要素を格納するべく１または複数の不揮発性メモリ素子７１８を備えるとしてよい。
【００５８】
一部の実施形態によると、コンピューティングシステム７００は、１または複数の入力デバイス７３０を備える。入力デバイスは、キーボード、マウス、タッチパッド、ボイスコマンド認識、ジェスチャー認識またはコンピューティングシステムに入力を提供するその他のデバイスのうち１または複数を含む。
【００５９】
コンピューティングシステム７００はさらに、出力ディスプレイ７４０にインターコネクト７０５を介して結合されるとしてよい。一部の実施形態によると、ディスプレイ７４０は、情報またはコンテンツをユーザに表示するべく、液晶ディスプレイ（ＬＣＤ）または任意のその他のディスプレイ技術を含むとしてよい。一部の環境においては、ディスプレイ７４０は、入力デバイスの少なくとも一部としても利用されるタッチスクリーンを含むとしてよい。一部の環境においては、ディスプレイ７４０は、オーディオ情報を提供するスピーカ等のオーディオデバイスであってもよいし、または、そのようなオーディオデバイスを含むとしてもよい。
【００６０】
１または複数の送信機または受信機７４５もまたインターコネクト７０５に結合されているとしてよい。一部の実施形態によると、コンピューティングシステム７００は、データの送受信のための１または複数のポート７５０を備えるとしてよい。コンピューティングシステム７００はさらに、無線信号を介してデータを受信するべく１または複数の指向性アンテナまたは全方向性アンテナ７５５を備えるとしてよい。
【００６１】
コンピューティングシステム７００はさらに、電源、電池、太陽電池、燃料電池、または、電力を供給または生成するその他のシステムあるいはデバイスを含む電力デバイスまたは電力システム７６０を備えるとしてよい。電力デバイスまたは電力システム７６０によって供給される電力は、コンピューティングシステム７００の構成要素に必要に応じて分配されるとしてよい。
【００６２】
上記の説明では、説明のため、本発明を深く理解していただくべく具体的且つ詳細な内容を数多く記載している。しかし、当業者におかれては、記載した具体的且つ詳細な内容の一部を利用することなく本発明を実施し得ることが明らかであろう。また、公知の構造およびデバイスはブロック図で図示している。図示したコンポーネント間には中間構造が存在する場合があるとしてよい。本明細書で説明または図示したコンポーネントは、図示または説明していない入力または出力を追加で有するとしてもよい。
【００６３】
さまざまな実施形態はさまざまなプロセスを含むとしてよい。これらのプロセスは、ハードウェアコンポーネントによって実行されるとしてよいし、または、コンピュータプログラムまたは機械実行可能命令として具現化されるとしてもよい。このような機械実行可能命令は、当該命令がプログラミングされている汎用プロセッサまたは特定用途向けプロセッサまたはロジック回路に、プロセスを実行させるために用いられるとしてよい。これに代えて、プロセスはハードウェアおよびソフトウェアの組み合わせによって実行されるとしてもよい。
【００６４】
さまざまな実施形態を構成する複数の要素は、コンピュータプログラム製品として提供されるとしてよい。コンピュータプログラム製品は、特定の実施形態に応じたプロセスを実施させるべく１または複数のプロセッサによって実行することを目的としてコンピュータ（または他の電子デバイス）をプログラミングするべく利用され得るコンピュータプログラム命令を格納しているコンピュータ可読媒体を含むとしてよい。コンピュータ可読媒体は、これらに限定されないが、フロッピー（登録商標）ディスケット、光ディスク、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、および、光磁気ディスク、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能プログラマブルリードオンリーメモリ（ＥＰＲＯＭ）、電気的消去可能プログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）、磁気カードまたは光カード、フラッシュメモリ、または、電子命令を格納するのに適したその他の種類のコンピュータ可読媒体を含むとしてよい。さらに、実施形態は、コンピュータプログラム製品としてダウンロードされ得るとしてもよい。プログラムはリモートコンピュータから要求元コンピュータへと転送されるとしてよい。
【００６５】
方法の多くは、最も基本的な形態で説明しているが、本発明の基本的な範囲から逸脱することなく、いずれの方法についてもプロセスを追加または削除することが可能であり、説明したメッセージのいずれについても情報を追加または削除することが可能である。当業者には多くの更なる変形例および適応例を実施し得ることが明らかである。具体的な実施形態は、本発明を限定するためでなく例示するために提示される。本発明の実施形態の範囲は、上述した具体例によって決まるのではなく、特許請求の範囲によってのみ決まる。
【００６６】
構成要素「Ａ」が構成要素「Ｂ」と結合されていると言う場合、構成要素Ａは構成要素Ｂに直接結合されているとしてもよいし、または、例えば構成要素Ｃを介して間接的に結合されているとしてもよい。明細書または請求項においてコンポーネント、特徴、構造、プロセスまたは特性であるＡがコンポーネント、特徴、構造、プロセスまたは特性であるＢを「発生」させると言う場合、「Ａ」は「Ｂ」の少なくとも部分的な発生原因であるが、「Ｂ」の発生を後押しする少なくとも１つの他のコンポーネント、特徴、構造、プロセスまたは特性がさらに存在し得ることを意味する。明細書においてコンポーネント、特徴、構造、プロセスまたは特性が含まれる「としてよい」、「場合がある」、または、「可能性がある」と言う場合、この特定のコンポーネント、特徴、構造、プロセスまたは特性を含む必要はない。明細書または請求項において「一の」構成要素と言う場合、説明した構成要素が１つのみ存在することを意味するものではない。
【００６７】
実施形態は、本発明の一実施例または一例である。本明細書において「実施形態」、「一実施形態」、「一部の実施形態」または「他の実施形態」という記載は、当該実施形態に関連付けて説明する特定の特徴、構造または特性が少なくとも一部の実施形態に含まれ得るが必ずしも全ての実施形態には含まれないことを意味する。「実施形態」、「一実施形態」または「一部の実施形態」という記載は繰り返し用いられるが、必ずしも全てが同じ実施形態を意味するものではない。本発明の実施形態例の上記の説明において、さまざまな特徴は、開示を分かり易くすること、そして、さまざまな発明の側面の１または複数を理解し易くすることを目的として、一の実施形態、図面または説明にまとめられる場合があると考えられたい。しかし、この開示方法は、請求している発明は、各請求項に明示的に記載しているより多くの特徴を必要とするという意図を反映するものと解釈されるべきではない。逆に、以下に記載する請求項が反映するように、発明の側面は、上記に開示した一の実施形態の全ての特徴から一部を省略した中にある。このように、請求項はここにおいて明示的に本発明に組み込まれ、各請求項は本発明の個別の実施形態として独立したものである。
［項目１］
１または複数の結合されたメモリ素子を有するメモリスタックと、
前記メモリ素子についての論理アドレスから物理アドレスへのマッピングのための汎用プログラマブルアドレススクランブラを有するビルトインセルフテスト回路と、
前記汎用プログラマブルアドレススクランブラについてプログラミング値を保持する１または複数のレジスタと、
を備えるメモリデバイス。
［項目２］
前記１または複数のレジスタは、特定のメモリ素子について前記汎用プログラマブルアドレススクランブラをプログラミングするための複数の値を保持する項目１に記載のメモリデバイス。
［項目３］
前記汎用プログラマブルアドレススクランブラは、複数のステージを含む項目１または２に記載のメモリデバイス。
［項目４］
前記複数のステージのうち第１のステージは、論理アドレスを受信する第１の複数のマルチプレクサを含み、前記第１のステージは、前記論理アドレスの複数の要素をリマッピングして第１の複数の値を生成する項目３に記載のメモリデバイス。
［項目５］
前記１または複数のレジスタは、前記第１の複数のマルチプレクサのための複数の選択値としてプログラム値の第１のセットを含む項目４に記載のメモリデバイス。
［項目６］
前記複数のステージのうち第２のステージは、前記第１の複数の値のうち複数の値を受信するべく第２の複数のマルチプレクサを含み、前記第２の複数のマルチプレクサは、ロジックゲートの機能を実行するようにプログラミングされる項目４または５に記載のメモリデバイス。
［項目７］
前記１または複数のレジスタは、前記第２の複数のマルチプレクサのそれぞれについての複数のルックアップ値を含む項目６に記載のメモリデバイス。
［項目８］
前記複数のステージのうち第３のステージは、第３の複数のマルチプレクサを含み、前記第３の複数のマルチプレクサはそれぞれ、前記第２の複数のマルチプレクサの動作をバイパスするように切り替え可能である項目６または７に記載のメモリデバイス。
［項目９］
メモリデバイスのロジック素子であって、
前記メモリデバイスのメモリスタックのためのメモリコントローラと、
前記メモリスタックについて論理アドレスを物理アドレスにマッピングするための汎用プログラマブルアドレススクランブラを有するビルトインセルフテスト回路と、
前記汎用プログラマブルアドレススクランブラについて複数のプログラミング値を保持するコンフィグレーションレジスタと、
を備えるロジック素子。
［項目１０］
前記汎用プログラマブルアドレススクランブラは、複数のステージを含む項目９に記載のロジック素子。
［項目１１］
前記複数のステージのうち第１のステージは、論理アドレスを受信する第１の複数のマルチプレクサを含み、前記第１のステージは、前記論理アドレスの複数の要素をリマッピングして第１の複数の値を生成する項目１０に記載のロジック素子。
［項目１２］
前記複数のステージのうち第２のステージは、前記第１の複数の値のうち複数の値を受信するべく第２の複数のマルチプレクサを含み、前記第２の複数のマルチプレクサは、ロジックゲートの機能を実行するようにプログラミングされる項目１１に記載のロジック素子。
［項目１３］
前記複数のステージのうち第３のステージは、第３の複数のマルチプレクサを含み、前記第３の複数のマルチプレクサはそれぞれ、前記第２の複数のマルチプレクサの動作をバイパスするように切り替え可能である項目１２に記載のロジック素子。
［項目１４］
システムであって、
前記システムの複数の構成要素を接続するバスと、
前記システムのためにデータを処理するべく前記バスに結合されているプロセッサと、
データを送信する送信機およびデータを受信する受信機のうち少なくとも１つと、
データ送信およびデータ受信のうち少なくとも１つのための全方向性アンテナと、
前記プロセッサによって処理するデータを保持するべく前記バスに結合されているメモリであって、スタックメモリデバイスを有するメモリと、
を備え、
前記スタックメモリデバイスは、
１または複数の結合されたメモリ素子を含むメモリスタックと、
前記メモリ素子についての論理アドレスから物理アドレスへのマッピングのための汎用プログラマブルアドレススクランブラを含むビルトインセルフテスト回路と、
前記汎用プログラマブルアドレススクランブラについてプログラミング値を保持する１または複数のレジスタと、
を含むシステム。
［項目１５］
前記１または複数のレジスタは、特定のメモリ素子について前記汎用プログラマブルアドレススクランブラをプログラミングするための複数の値を保持する項目１４に記載のシステム。
［項目１６］
前記汎用プログラマブルアドレススクランブラは、複数のステージを含む項目１４または１５に記載のシステム。
［項目１７］
前記複数のステージのうち第１のステージは、論理アドレスを受信する第１の複数のマルチプレクサを含み、前記第１のステージは、前記論理アドレスの複数の要素をリマッピングして第１の複数の値を生成する項目１６に記載のシステム。
［項目１８］
前記１または複数のレジスタは、前記第１の複数のマルチプレクサのための複数の選択値としてプログラム値の第１のセットを含む項目１７に記載のシステム。
［項目１９］
前記複数のステージのうち第２のステージは、前記第１の複数の値のうち複数の値を受信するべく第２の複数のマルチプレクサを含み、前記第２の複数のマルチプレクサは、ロジックゲートの機能を実行するようにプログラミングされる項目１７または１８に記載のシステム。
［項目２０］
前記１または複数のレジスタは、前記第２の複数のマルチプレクサのそれぞれについての複数のルックアップ値を含む項目１９に記載のシステム。
［項目２１］
前記複数のステージのうち第３のステージは、第３の複数のマルチプレクサを含み、前記第３の複数のマルチプレクサはそれぞれ、前記第２の複数のマルチプレクサの動作をバイパスするように切り替え可能である項目１９または２０に記載のシステム。
［項目２２］
前記システムは、コンピューティングシステムである項目１４から２１の何れか１項に記載のシステム。
［項目２３］
前記システムは、タブレットコンピュータである項目１４から２１の何れか１項に記載のシステム。
【図１】
0005846664.tif 000002
【図２】
0005846664.tif 000003
【図５】
0005846664.tif 000004
【図６】
0005846664.tif 000005
【図７】
0005846664.tif 000006
【図３】
0005846664.tif 000007
【図４】
0005846664.tif 000008