(57)【要約】      （修正有）【課題】電力を最適化しつつプリフェッチ動作の制御が可能なメモリシステムを提供する。【解決手段】メモリシステム５０００は、積層された複数のメモリアレイを備えるメモリヴォールト１１０と、メモリヴォールトに通信可能に連結されるメモリヴォールトコントローラ１０６と、メモリヴォールトと関連付けられるプリフェッチ動作を行うためのプリフェッチコントローラ５００６とを含む。各メモリアレイは、複数の積層されたメモリダイのうちの１つの上に設置される。また、プリフェッチキャッシュ５０１４に含まれる、１つ以上のプリフェッチバッファ５０１０を含み、プリフェッチコントローラは、ヒット率や電力消費に応じてプリフェッチ動作を選択的に有効化または無効化することができる。【選択図】図５Ａ
2015079524.tif 000002
【特許請求の範囲】
【請求項１】
積層された複数のメモリアレイを備えるメモリヴォールトであって、各メモリアレイは、複数の積層されたメモリダイのうちの１つの上に設置される、メモリヴォールトと、
前記メモリヴォールトと関連付けられる、制御、切り替え、または通信論理のうちの少なくとも１つを提供するように、前記積層されたメモリダイとともに積層される論理ダイの上に設置され、前記メモリヴォールトに通信可能に連結される、メモリヴォールトコントローラ（ＭＶＣ）と、
前記メモリヴォールトと関連付けられるプリフェッチ動作を行うためのプリフェッチコントローラと、を備える、メモリシステム。
【請求項２】
読み取りデータの少なくとも１つのキャッシュラインを記憶するように、前記プリフェッチコントローラに通信可能に連結されるプリフェッチキャッシュに、少なくとも１つのプリフェッチバッファをさらに備える、請求項１に記載のメモリシステム。
【請求項３】
前記プリフェッチキャッシュは、プリフェッチバッファを複数セット備え、プリフェッチバッファの各セットは、キャッシュラインを備える、請求項２に記載のメモリシステム。
【請求項４】
前記プリフェッチコントローラは、少なくとも１つのキャッシュラインを選択的に有効にするように構成される、請求項３に記載のメモリシステム。
【請求項５】
前記プリフェッチコントローラは、前記メモリヴォールトが使われていない時に、前記メモリヴォールトにプリフェッチ読み取り要求を発行するように構成される、請求項１に記載のメモリシステム。
【請求項６】
前記プリフェッチコントローラは、以前の読み取り要求に応じて、前記メモリヴォールトから読み取られたデータワードに対応するメモリヴォールトのアドレスから、少なくとも１つのプリフェッチデータワードを読み取るように構成される、請求項５に記載のメモリシステム。
【請求項７】
前記プリフェッチコントローラは、前記ＭＶＣへコマンドを発行する発信デバイスによって提供される、アドレスの範囲より選択されるメモリヴォールトのアドレスから、前記少なくとも１つのプリフェッチデータワードを読み取るように構成される、請求項５に記載のメモリシステム。
【請求項８】
前記プリフェッチコントローラは、選択的にプリフェッチ動作を有効にするように構成される、請求項１記載のメモリシステム。
【請求項９】
選択された期間中、キャッシュラインのヒット数を追跡するように、前記プリフェッチコントローラに通信可能に連結されるプリフェッチ利用論理をさらに備える、請求項１に記載のメモリシステム。
【請求項１０】
前記プリフェッチコントローラは、プリフェッチキャッシュと関連付けられるヒット率が、第１の選択された期間中に選択された閾値を下回る場合、前記プリフェッチ動作を無効にするように構成される、請求項１に記載のメモリシステム。
【請求項１１】
前記プリフェッチコントローラは、第２の選択された期間の少なくとも１つの間、または前記プリフェッチ動作を再開するコマンドが、発信デバイスから受信されるまで、前記プリフェッチ動作を無効にするように構成される、請求項１０に記載のメモリシステム。
【請求項１２】
前記メモリヴォールトおよび前記プリフェッチバッファを書き込みデータで更新するように、前記プリフェッチコントローラに通信可能に連結される、プリフェッチ書き込み論理をさらに備える、請求項１に記載のメモリシステム。
【請求項１３】
前記ＭＶＣで受信された読み取り要求が、少なくとも１つのプリフェッチワードを参照する場合、少なくとも１つのプリフェッチバッファから前記少なくとも１つのプリフェッチワードを読み取るように、前記プリフェッチコントローラに通信可能に連結される、プリフェッチ読み取り論理をさらに備える、請求項１に記載のメモリシステム。
【請求項１４】
前記メモリヴォールトの電圧センサまたは温度センサのうちの少なくとも１つと、
前記メモリボルの電力消費レベルの表示を、前記プリフェッチコントローラに提供するように、前記電圧センサまたは温度センサに連結される電力モニタと、をさらに備える、請求項１に記載のメモリシステム。
【請求項１５】
前記プリフェッチコントローラは、前記メモリヴォールトの前記電力消費レベルが、第１の選択された閾値を上回る場合に、プリフェッチ動作を無効にするように構成される、請求項１４に記載のメモリシステム。
【請求項１６】
前記プリフェッチコントローラは、選択された期間、第２の選択された閾値よりも下がる前記電力消費レベル、または発信デバイスからの前記プリフェッチ動作を再開するコマンドの受信のうちの少なくとも１つに続いて、前記プリフェッチ動作を再度有効にするように構成される、請求項１５に記載のメモリシステム。
【請求項１７】
前記プリフェッチコントローラは、前記メモリシステムの中のデータストリームの局所性に従い、前記プリフェッチ動作の有効化および無効化のうちの少なくとも１つを行うように構成される、請求項１に記載のメモリシステム。
【請求項１８】
積層された複数のメモリアレイを備えるメモリヴォールトであって、各メモリアレイは、複数の積層されたメモリダイのうちの１つの上に設置される、メモリヴォールトと、
前記メモリヴォールトと関連付けられる、制御、切り替え、または通信論理のうちの少なくとも１つを提供するように、前記積層されたメモリダイとともに積層される論理ダイの上に設置され、前記メモリヴォールトに通信可能に連結される、メモリヴォールトコントローラ（ＭＶＣ）と、
前記メモリヴォールトにプリフェッチ読み取り要求を発行するための、プリフェッチコントローラと、
前記プリフェッチ読み取り要求と関連付けられる、少なくとも１つのプリフェッチデータワードを記憶するための、少なくとも１つのプリフェッチバッファと、を備える、メモリシステム。
【請求項１９】
選択された期間中、キャッシュラインのヒット数を追跡するように、前記プリフェッチコントローラに通信可能に連結されるプリフェッチ利用論理をさらに備える、請求項１８に記載のメモリシステム。
【請求項２０】
前記プリフェッチコントローラは、キャッシュラインのヒット率が、選択された率よりも大きい時に、プリフェッチ動作を行うように構成される、請求項１８に記載のメモリシステム。
【請求項２１】
前記プリフェッチコントローラは、前記メモリヴォールトが、使われていない時に、プリフェッチ動作を行うように構成される、請求項１８に記載のメモリシステム。
【請求項２２】
前記プリフェッチコントローラは、前記メモリヴォールトの選択された電力量を標的にするように、前記メモリヴォールトと関連付けられるプリフェッチ動作の有効化および無効化のうちの少なくとも１つを行うように構成される、請求項１７に記載のメモリシステム。
【請求項２３】
積層ダイのメモリシステムで、選択されたメモリヴォールトと関連付けられたプリフェッチ動作を行うことを含む、方法。
【請求項２４】
前記選択されたメモリヴォールトにプリフェッチ読み取り要求を発行することと、
前記選択されたメモリヴォールトに対応するメモリヴォールトコントローラ（ＭＶＣ）で、前記選択されたメモリヴォールトからプリフェッチデータワードを受信することと、
プリフェッチキャッシュのプリフェッチバッファに、前記プリフェッチデータワードを記憶することと、をさらに含む、請求項２３に記載の方法。
【請求項２５】
前記プリフェッチ読み取り要求は、前記選択されたメモリヴォールトへの他の読み取り要求が、前記選択されたメモリヴォールトによって処理されていない時に発行される、請求項２４に記載の方法。
【請求項２６】
前記ＭＶＣで読み取り要求を受信することと、
利用可能な場合には、前記プリフェッチキャッシュから前記読み取り要求を提供し、キャッシュヒットをもたらすことと、
キャッシュヒットがなければ、前記選択されたメモリヴォールトから、前記読み取り要求を提供することと、をさらに含む、請求項２４に記載の方法。
【請求項２７】
第１の期間にわたって、前記プリフェッチキャッシュと関連付けられるヒット率を測定することと、前記ヒット率が、閾値のヒット率を下回るかどうかを判定することと、前記ヒット率が、前記閾値のヒット率を下回る場合に、前記プリフェッチ動作を無効化することと、をさらに含む、請求項２４に記載の方法。
【請求項２８】
前記プリフェッチ動作は、選択された期間の少なくとも１つの間、または前記プリフェッチ操作を再開するコマンドが、発信デバイスから受信されるまで、無効化される、請求項２７に記載の方法。
【請求項２９】
前記積層ダイのメモリシステムを、複数バルトのメモリシステムとして構成することと、
各メモリヴォールトで、独立して前記プリフェッチ動作を行うことと、をさらに含む、請求項２３に記載の方法。
【請求項３０】
前記選択されたメモリヴォールトが、使用されていないことを確認することをさらに含む、請求項２３に記載の方法。
【請求項３１】
前記選択されたメモリヴォールトの電力消費と関連付けられる、少なくとも１つの操作パラメータを監視することと、
前記少なくとも１つの操作パラメータの測定に基づき、前記選択されたメモリヴォールトの前記電力消費を計算することと、
前記電力消費が、第１の選択された閾値を上回るかどうかを判定することと、
前記選択されたメモリヴォールトの前記電力消費が、前記第１の選択された閾値を上回る場合に、前記プリフェッチ動作を無効化することと、をさらに含む、請求項２３に記載の方法。
【請求項３２】
前記プリフェッチ動作は、選択された期間の少なくとも１つの間、前記電力消費が、第２の選択された閾値を下回るまで、または前記プリフェッチ動作を再開するコマンドが、発信デバイスから受信されるまで、無効化にされる、請求項３１に記載の方法。
【請求項３３】
前記少なくとも１つの操作パラメータを監視することは、前記メモリヴォールト内のセンサからの電圧レベル測定値または温度測定値のうちの少なくとも１つを受信することを含む、請求項３１に記載の方法。
【請求項３４】
積層ダイのメモリシステムで、選択されたメモリヴォールトから、前記選択されたメモリヴォールトと関連付けられるパイプラインが空の時に、プログラム可能な数のデータワードをプリフェッチすることを含む、方法。
【請求項３５】
前記選択されたメモリヴォールトに、少なくとも１つのプリフェッチ読み取り要求を発行することと、
各プリフェッチ読み取り要求に対して、前記選択されたメモリヴォールトに対応するメモリヴォールトコントローラ（ＭＶＣ）で、前記選択されたメモリヴォールトからプリフェッチデータワードを受信することと、
プリフェッチキャッシュの少なくとも１つのプリフェッチバッファに、前記少なくとも１つのプリフェッチデータワードを記憶することと、
前記ＭＶＣで少なくとも１つの読み取り要求を受信することと、
利用可能な場合には、前記プリフェッチキャッシュから前記少なくとも１つの読み取り要求を提供し、少なくとも１つのキャッシュヒットをもたらすことと、
前記少なくとも１つのキャッシュヒットがなければ、前記選択されたメモリヴォールトから、前記少なくとも１つの読み取り要求を提供することと、をさらに含む、請求項３４に記載の方法。
【請求項３６】
発信デバイスから前記ＭＶＣでプリフェッチ構成パラメータを受信することと、
前記プリフェッチ構成パラメータに従い、前記積層ダイのメモリシステムを構成することと、をさらに含む、請求項３５に記載の方法。
【請求項３７】
前記プリフェッチ構成パラメータは、読み取りデータ要求に応じて検索するように、プリフェッチアドレス様式またはキャッシュラインの数のうちの少なくとも１つを含む、請求項３６に記載の方法。
【請求項３８】
第１の期間にわたって、前記プリフェッチキャッシュと関連付けられるヒット率を測定することと、前記ヒット率が、閾値のヒット率を下回るかどうかを判定することと、前記ヒット数が、前記閾値のヒット率を下回る場合に、第２の期間中、前記プリフェッチ動作を無効化することと、をさらに含む、請求項３５に記載の方法。
【請求項３９】
前記選択されたメモリヴォールトの電圧レベルまたは温度のうちの少なくとも１つを監視することと、
前記電圧および／または温度の測定値に基づき、前記選択されたメモリヴォールトの電力消費を判定することと、
前記選択されたメモリヴォールトの前記電力消費が、第１の選択された閾値を上回る場合に、前記プリフェッチ動作を無効化することと
前記電力消費が、第２の選択された閾値を下回る場合に、前記プリフェッチ動作を再度有効化することと、をさらに含む、請求項３４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本特許出願は、２００９年２月１３日に出願された、米国特許第１２／３７１，３８９号の優先権の利益を主張し、本出願は、参照することによって本明細書に組み込まれる。
【０００２】
本明細書に記載する種々の実施形態は、半導体メモリと関連付けられるシステムおよび方法、ならびにメモリプリフェッチと関連付けられるシステムおよび方法に関する。
【背景技術】
【０００３】
マイクロプロセッサ技術は、半導体メモリ技術よりも早い速度で進化している。結果として、現代のホストプロセッサと、そのプロセッサが命令およびデータを受信するように結合された半導体メモリのサブシステムとの間に、性能のミスマッチがしばしば存在する。例えば、一部の高性能サーバは、メモリ要求に対する応答待ちで４分の３クロックがアイドル状態であることが推定される。
【０００４】
加えて、プロセッサコアおよびスレッドの数が増加し続けるにつれて、ソフトウェアアプリケーションおよびオペレーティングシステム技術の進化によって、より高密度メモリのサブシステムに対する需要が増大している。しかしながら、現在技術のメモリサブシステムには、しばしば性能と密度との間に妥協が示される。帯域幅が高いと、ＪＥＤＥＣの電気仕様を超えていなくても、システムの中で接続することができるメモリカードまたはモジュールの数が制限される場合がある。
【０００５】
ＪＥＤＥＣインターフェースへの拡張が提案されているが、概して、将来予測されるメモリ帯域幅および密度に関しては不足していると見られる場合がある。弱点には、メモリ電力の最適化の欠如、およびホストプロセッサとメモリサブシステムとの間のインターフェースの独自性が挙げられる。プロセッサおよび／またはメモリ技術が変化するにつれ、後者の弱点によって、インターフェースを再設計する必要性がもたらされる場合がある。
【図面の簡単な説明】
【０００６】
【図１】本発明の種々の例示的実施形態に従う、メモリシステムのブロック図である。
【図２】種々の例示的実施形態に従い、論理ダイとともに積層される、積層ダイの３Ｄメモリアレイの断面概念図である。
【図３】種々の例示的実施形態に従い、例示的パケットと関連付けられるフィールドを示す、パケット図である。
【図４】種々の例示的実施形態に従い、例示的パケットと関連付けられるフィールドを示す、パケット図である。
【図５】種々の例示的実施形態に従う、メモリヴォールトコントローラおよび関連モジュールのブロック図である。
【図５Ａ】種々の例示的実施形態に従う、メモリシステムのブロック図である。
【図６Ａ】種々の例示的実施形態に従う方法を図示する、フロー図である。
【図６Ｂ】種々の例示的実施形態に従う方法を図示する、フロー図である。
【発明を実施するための形態】
【０００７】
図１は、本発明の種々の例示的実施形態に従う、メモリシステム１００のブロック図である。１つ以上の実施形態は、１つ以上の発信デバイス（例えば、１つ以上のプロセッサ）と１セットの積層されたアレイメモリ「ヴォールト（ｖａｕｌｔ）」との間のコマンド、アドレス、および／またはデータの複数のアウトバウンドのストリームを、実質的に同時に転送するように動作する。メモリシステムの密度、帯域幅、平行性、および拡張性を増加させることができる。
【０００８】
本明細書の複数ダイのメモリアレイの実施形態では、以前の設計では通常各個別のメモリアレイ上に設置される、制御論理が統合される。本明細書で「メモリヴォールト」と呼ぶ、ダイの積層されたグループのサブセクションは、共通の制御論理を共有する。メモリヴォールトのアーキテクチャは、電源が入ったメモリバンクのより精緻な粒度を提供する一方で、エネルギー効率を増加するように、メモリ制御論理を戦略的に分割する。また、本明細書の実施形態によれば、メモリシステムインターフェースにホストプロセッサを標準化させることができる。メモリ技術が進化すると、標準化されたインターフェースによって、再設計サイクルの期間を減少することができる。
【０００９】
図２は、種々の例示的な実施形態に従い、論理ダイ２０２ともに積層された、積層ダイの３Ｄメモリアレイ２００の断面概念図である。メモリシステム１００は、積層ダイの３Ｄメモリアレイ２００など、１つ以上のタイル状のメモリアレイの積層を包含する。複数のメモリアレイ（例えば、メモリアレイ２０３）は、複数の積層ダイ（例えば、積層ダイ２０４）のそれぞれの上に設置される。
【００１０】
積層ダイのそれぞれは、複数の「タイル」（例えば、積層ダイ２０４と関連付けられる、タイル２０５Ａ、２０５Ｂ、および２０５Ｃ）に論理的に分割される。各タイル（例えば、タイル２０５Ｃ）は、１つ以上のメモリアレイ２０３を含むことができる。いくつかの実施形態では、各メモリアレイ２０３は、メモリシステム１００に１つ以上の独立したメモリバンクとして構成することができる。メモリアレイ２０３は、いかなる特定の技術にも限定されず、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、フラッシュメモリなどを含むことができる。
【００１１】
積層されたメモリアレイタイルのセット２０８は、積層ダイのそれぞれ（例えば、図１でベースのタイルが図から隠れている２１２Ｂ、２１２Ｃ、および２１２Ｄ）からの単一タイルを含むことができる。電力、アドレス、および／またはデータ、ならびに類似の共通信号は、スルーウェハ相互接続（ＴＷＩ）などの導電性パス（例えば、導電性パス２２４）上の「Ｚ」次元２２０の積層されたタイルのセット２０８を横断することができる。したがって、積層ダイの３Ｄメモリアレイ２００は、メモリ「ヴォールト」のセット（例えば、メモリヴォールト２３０）に分割される。各メモリヴォールトは積層されたタイルのセットを含み、１つのタイルは複数の積層ダイのそれぞれから来ている。ヴォールトの各タイルは、１つ以上のメモリアレイ（例えば、メモリアレイ２４０）を含む。
【００１２】
得られたメモリヴォールトのセット１０２が、図１に示されている。本明細書で以下に記載する制御、切り替え、および通信論理は、論理ダイ２０２上に組み上げられる。メモリシステム１００は、複数のメモリヴォールトコントローラ（ＭＶＣ）１０４（例えば、ＭＶＣ１０６）を含む。各ＭＶＣは、１対１の関係にある、対応するメモリヴォールト（例えば、メモリヴォールト１１０）に通信可能に連結される。したがって、各ＭＶＣは、他のＭＶＣとそれらそれぞれのメモリヴォールトとの間の通信から独立して、対応するメモリヴォールトと通信することができる。
【００１３】
メモリシステム１００はまた、構成可能な直列化された複数の通信リンクインターフェース（ＳＣＬＩ）１１２を含む。ＳＣＬＩ１１２は、ＳＣＬＩのアウトバウンドグループ１１３（例えば、アウトバウンドＳＣＬＩ１１４）およびＳＣＬＩのインバウンドグループ１１５に分割される。複数のＳＣＬＩ１１２のそれぞれは、他のＳＣＬＩ１１２とともに同時に動作することができる。同時に、ＳＣＬＩ１１２は、複数のＭＶＣ１０４を１つ以上のホストプロセッサ１１４に通信可能に連結させる。メモリシステム１００は、ホストプロセッサ１１４に、高度に概念化された複数リンクの高スループットを提示する。
【００１４】
また、メモリシステム１００は、マトリクススイッチ１１６も含むことができる。マトリクススイッチ１１６は、複数のＳＣＬＩ１１２および複数のＭＶＣ１０４に通信可能に連結される。マトリクススイッチ１１６は、各ＳＣＬＩを選択されたＭＶＣに交差接続することができる。したがって、ホストプロセッサ１１４は、実質的に同時に、複数のＳＣＬＩ１１２にわたって複数のメモリヴォールト１０２にアクセスすることができる。このアーキテクチャは、マルチコア技術を含む現代のプロセッサ技術が必要とする、プロセッサからメモリへの帯域幅を提供することができる。
【００１５】
メモリシステム１００はまた、マトリクススイッチ１１６に通信可能に連結される、メモリ構造制御レジスタ１１７も含むことができる。メモリ構造制御レジスタ１１７は、構成資源からメモリ構造構成パラメータを受容し、選択可能なモードに従って動作するように、メモリシステム１００の１つ以上の構成要素を構成する。例えば、マトリクススイッチ１１６、ならびに複数のメモリヴォールト１０２および複数のＭＶＣ１０４のそれぞれは、通常、互いに独立して、別々のメモリ要求に応じて動作するように構成することができる。このような構成によって、ＳＣＬＩ１１２とメモリヴォールト１０２との間の平行性という結果として、メモリシステムの帯域幅を強化することができる。
【００１６】
代替として、メモリシステム１００は、複数のメモリヴォールト１０２のうちの２つ以上のサブセット、および対応するＭＶＣのサブセットを、単一の要求に応じて同調して動作させるように、メモリ構造制御レジスタ１１７を介して再構成することもできる。後者の構成は、以下にさらに記載する通り、待ち時間を減少するように、通常より幅の広いデータワードにアクセスするのに使用することができる。他の構成は、選択されたビットパターンをメモリ構造制御レジスタ１１７にロードすることによって、有効化することができる。
【００１７】
図３および４は、種々の例示的実施形態に従い、それぞれ、例示的パケット３００および４００と関連付けられるフィールドを示す、パケット図である。図３および４を考慮して、図１を参照すると、メモリシステム１００はまた、マトリクススイッチ１１６に通信可能に連結される、複数のパケットデコーダ１１８（例えば、パケットデコーダ１２０）を含むことができる。ホストプロセッサ１１４は、いくつかの実施形態では、例示的パケット３００または４００に構造上類似させることができる、アウトバウンドパケット１２２を組み立てる。すなわち、アウトバウンドパケット１２２は、コマンドフィールド３１０、アドレスフィールド３２０、および／またはデータフィールド４１０を含有することができる。また、アウトバウンドパケット１２２は、メモリヴォールトでプリフェッチ動作と関連付けられるプリフェッチ情報を保持するように、プリフェッチ情報フィールド４１２を含有することもできる。プリフェッチ動作については、図５、図５Ａ、図６Ａ、および図６Ｂを参照の上、以下に記載する。図１を参照すると、ホストプロセッサ１１４は、アウトバウンドパケット１２２を組み立てた後、さらに以下に説明する方式で、アウトバウンドＳＣＬＩ（例えば、アウトバウンドＳＣＬＩ１１４）にわたって、アウトバウンドパケット１２２をパケットデコーダ１２０に送信する。
【００１８】
また、アウトバウンドＳＣＬＩ１１４は、複数のアウトバウンドの差動ペアシリアルパス（ＤＰＳＰ）１２８を含むことができる。ＤＰＳＰ１２８は、ホストプロセッサ１１４に通信可能に連結され、アウトバウンドパケット１２２をまとめて輸送することができる。すなわち、複数のアウトバウンドＤＰＳＰ１２８の各ＤＰＳＰは、第１のデータ速度で、アウトバウンドパケット１２２の第１のデータ速度のアウトバウンドサブパケット部分を輸送することができる。
【００１９】
また、アウトバウンドＳＣＬＩ１１４は、複数のアウトバウンドＤＰＳＰ１２８に通信可能に連結される、デシリアライザ１３０も含むことができる。デシリアライザ１３０は、アウトバウンドパケット１２２の各第１のデータ速度のアウトバウンドサブパケット部分を、複数の第２のデータ速度のアウトバウンドサブパケットに変換する。複数の第２のデータ速度のアウトバウンドサブパケットは、第２のデータ速度で、第１の複数のアウトバウンドのシングルエンドデータパス（ＳＥＤＰ）１３４にわたって送信される。第２のデータ速度は、第１のデータ速度よりも遅い。
【００２０】
また、アウトバウンドＳＣＬＩ１１４は、デシリアライザ１３０に通信可能に連結される、デマルチプレクサ１３８も含むことができる。デマルチプレクサ１３８は、複数の第２のデータ速度のアウトバウンドサブパケットの各々を、複数の第３のデータ速度のアウトバウンドサブパケットへ変換する。複数の第３のデータ速度のアウトバウンドサブパケットは、第３のデータ速度で、第２の複数のアウトバウンドＳＥＤＰ１４２にわたって、パケットデコーダ１２０へ送信される。第３のデータ速度は、第２のデータ速度よりも遅い。
【００２１】
パケットデコーダ１２０はアウトバウンドパケット１２２を受信し、コマンドフィールド３１０（例えば、例示的パケット３００のコマンドフィールド）、アドレスフィールド３２０（例えば、例示的パケット３００のアドレスフィールド）、および／またはデータフィールド（例えば、例示的パケット４００のデータフィールド）を抽出する。いくつかの実施形態では、パケットデコーダ１２０は、メモリヴォールト選択信号の対応するセットを判定するように、アドレスフィールド３２０を復号する。パケットデコーダ１２０は、メモリヴォールト選択信号のセットを、インターフェース１４６のマトリクススイッチ１１６に提示する。ヴォールト選択信号によって、入力データパス１４８が、アウトバウンドパケット１２２に対応するＭＶＣ１０６に切り替えられる。
【００２２】
ここでインバウンドデータパスに関する説明に変わって、メモリシステム１００は、マトリクススイッチ１１６に通信可能に連結される、複数のパケットエンコーダ１５４（例えば、パケットエンコーダ１５８）を含むことができる。パケットエンコーダ１５８は、複数のＭＶＣ１０４のうちの１つから、マトリクススイッチ１１６を介して、インバウンドメモリコマンド、インバウンドメモリアドレス、および／またはインバウンドメモリデータを受信することができる。パケットエンコーダ１５８は、インバウンドＳＣＬＩ１６４にわたってホストプロセッサ１１４へ伝送するために、インバウンドメモリコマンド、アドレス、および／またはデータを、インバウンドパケット１６０に符号化する。
【００２３】
いくつかの実施形態では、パケットエンコーダ１５８は、インバウンドパケット１６０を複数の第３のデータ速度のインバウンドサブパケットに分割することができる。パケットエンコーダ１５８は、第３のデータ速度で、第１の複数のインバウンドのシングルエンドデータパス（ＳＥＤＰ）１６６にわたって、複数の第３のデータ速度のインバウンドサブパケットを送信することができる。また、メモリシステム１００は、パケットエンコーダ１５８に通信可能に連結される、マルチプレクサ１６８を含むこともできる。マルチプレクサ１６８は、第３のデータ速度のインバウンドサブパケットの複数のサブセットのそれぞれを、第２のデータ速度のインバウンドサブパケットに多重化することができる。マルチプレクサ１６８は、第３のデータ速度よりも速い第２のデータ速度で、第２の複数のインバウンドＳＥＤＰ１７０にわたって、第２のデータ速度のインバウンドサブパケットを送信する。
【００２４】
メモリシステム１００は、マルチプレクサ１６８に通信可能に連結される、シリアライザ１７２をさらに含むことができる。シリアライザ１７２は、第２のデータ速度のインバウンドサブパケットの複数のサブセットのそれぞれを、第１のデータ速度のインバウンドサブパケットに統合する。第１のデータ速度のインバウンドサブパケットは、第２のデータ速度より速い第１のデータ速度で、複数のインバウンドの差動ペアシリアルパス（ＤＰＳＰ）１７４にわたって、ホストプロセッサ１１４に送信される。したがって、コマンド、アドレス、およびデータ情報は、ＳＣＬＩ１１２にわたって、マトリクススイッチ１１６を介して、ホストプロセッサ１１４とＭＶＣ１０４との間を行き来して転送される。
【００２５】
図５は、種々の例示的実施形態に従う、ＭＶＣ（例えば、ＭＶＣ１０６）および関連モジュールのブロック図である。ＭＶＣ１０６は、プログラム可能なヴォールト制御論理（ＰＶＣＬ）構成要素（例えば、ＰＶＣＬ５１０）を含むことができる。ＰＶＣＬ５１０は、ＭＶＣ１０６を対応するメモリヴォールト（例えば、メモリヴォールト１１０）に結び付ける。ＰＶＣＬ５１０は、対応するメモリヴォールト１１０と関連付けられる、１つ以上のバンク制御信号および／またはタイミング信号を生成する。
【００２６】
ＰＶＣＬ５１０は、選択された構成または選択された技術のメモリヴォールト１１０に、ＭＶＣ１０６を適合させるように構成することができる。したがって、例えば、メモリシステム１００は、最初に、現在利用可能なＤＤＲ２ＤＲＡＭを使用して構成することができる。続いて、メモリシステム１００は、ＤＤＲ３のバンク制御およびタイミング論理を含むように、ＰＶＣＬ５１０を再構成することによって、ＤＤＲ３をベースとするメモリヴォールト技術を収容するように適合することができる。
【００２７】
また、ＭＶＣ１０６は、ＰＶＣＬ５１０に通信可能に連結される、メモリシーケンサ５１４を含むこともできる。メモリシーケンサ５１４は、関連するメモリヴォールト１１０を実装するために使用される技術に基づき、メモリ技術に依存する動作のセットを行う。メモリシーケンサ５１４は、例えば、対応するメモリヴォールト１１０と関連付けられる、コマンド復号操作、メモリアドレス多重化操作、メモリアドレス多重分離操作、メモリリフレッシュ操作、メモリヴォールト訓練操作、および／またはメモリヴォールトプリフェッチ動作を行うことができる。いくつかの実施形態では、メモリシーケンサ５１４はＤＲＡＭシーケンサを備えることができる。いくつかの実施形態では、メモリリフレッシュ操作は、リフレッシュコントローラ５１５で始めることができる。
【００２８】
メモリシーケンサ５１４は、選択された構成または技術のメモリヴォールト１１０に、メモリシステム１００を適合させるように構成することができる。例えば、メモリシーケンサ５１４は、メモリシステム１００と関連付けられる、他のメモリシーケンサと同調して動作するように構成することができる。このような構成は、単一のキャッシュライン要求に応じて、複数のメモリヴォールトから、ホストプロセッサ１１４と関連付けられるキャッシュライン（図示せず）へ、幅の広いデータワードを伝達するのに使用することができる。
【００２９】
また、ＭＶＣ１０６は書き込みバッファ５１６を含むこともできる。書き込みバッファ５１６は、ホストプロセッサ１１４からＭＶＣ１０６に到着するデータをバッファに格納するように、ＰＶＣＬ５１０に通信可能に連結することができる。ＭＶＣ１０６はさらに、読み取りバッファ５１７を含むことができる。読み取りバッファ５１７は、対応するメモリヴォールト１１０からＭＶＣ１０６に到着するデータをバッファに格納するように、ＰＶＣＬ５１０に通信可能に連結することができる。
【００３０】
また、ＭＶＣ１０６は、順序がバラバラの要求キュー５１８も含むことができる。順序がバラバラの要求キュー５１８は、読み取りおよび／または書き込み操作の順序付けられたシーケンスを、メモリヴォールト１１０に含まれる複数のメモリバンクに確立する。順序付けられたシーケンスは、バンクの競合を減少させ、読み取りから書き込みの所要時間を低減するために、いかなる単一のメモリバンクへの連続操作も避けるように選択される。
【００３１】
また、ＭＶＣ１０６は、メモリヴォールト修復論理（ＭＶＲＬ）構成要素５２４を含むこともできる。ＭＶＲＬ５２４は、アレイ修復論理５２６を使用して、欠陥のあるメモリアレイアドレスの再マッピング操作を行うように、メモリヴォールト１１０に通信可能に連結することができる。また、ＭＶＲＬ５２４は、ＴＷＩ修復論理５２８を使用して、メモリヴォールト１１０と関連付けられるＴＷＩ修復操作を行うこともできる。
【００３２】
図５Ａは、種々の例示的実施形態に従う、メモリシステム５０００のブロック図である。メモリシステム５０００は、メモリヴォールト（例えば、メモリヴォールト１１０）のセット１０２、およびＭＶＣ（例えば、ＭＶＣ１０６）の対応するセット１０４を含むことができる。ＭＶＣは、前で説明した通り、メモリアレイのダイ（例えば、図２のメモリアレイのダイ２０４）とともに積層される、論理ダイ（例えば、図２の論理ダイ２０２）上に組み上げられる。
【００３３】
図５Ａに関する以下の説明では、例示的メモリヴォールト１１０と、例示的ＭＶＣ１０６と、メモリヴォールトのプリフェッチ動作と関連付けられる種々の構造要素との間の接続に言及している。なお、しかしながら、以下に記載し、図５Ａに図示する接続および機能性は、メモリヴォールトのセット１０２の各１つ、および対応するＭＶＣのセット１０４の各１つに適用される。
【００３４】
メモリシステム５０００のいくつかの実施形態では、メモリヴォールト１０２の帯域幅は、メモリヴォールト１０２を、メモリ要求を発信するデバイス（例えば、ホストコンピュータ）にリンクさせる、通信チャネルの帯域を超えることができる。加えて、発信デバイスからの要求ストリームは、継続的ではない場合がある。これらの要素によって、メモリヴォールト１０２に余剰帯域幅をもたらすことができる。余剰帯域幅は、プリフェッチ動作を行うために使用することができる。プリフェッチ動作は、メモリヴォールトが使用されていない時、例えば、メモリヴォールトへの読み取り要求がメモリヴォールトで処理されていない時に行うことができる。代替として、プリフェッチ動作は、メモリヴォールトが使用されている時に行うこともできる。
【００３５】
メモリシステム５０００は、プリフェッチコントローラ５００６を含むことができる。プリフェッチコントローラ５００６は、メモリヴォールト１１０と関連付けられるプリフェッチ動作を行う。また、メモリシステム５０００は、プリフェッチキャッシュ５０１４に含まれる、１つ以上のプリフェッチバッファ５０１０を含むこともできる。プリフェッチバッファ５０１０は、プリフェッチコントローラ５００６に通信可能に連結することができる。プリフェッチバッファのセット５０１０（例えば、プリフェッチバッファのセット５０１８）は、読み取りデータの１つ以上のキャッシュライン（例えば、キャッシュライン５０２０）を記憶するようにグループ化することができる。プリフェッチコントローラ５００６は、１つ以上のキャッシュライン５０２０を選択的に有効化するように構成することができる。
【００３６】
プリフェッチコントローラ５００６は、メモリヴォールト１１０が使用されていない時、またはメモリヴォールト１１０が使用されている時に、プリフェッチ読み取り要求を発行することができるように、プリフェッチ読み取り要求をメモリヴォールト１１０に発行するように構成することができる。いくつかの実施形態では、プリフェッチデータワードは、以前の読み取り要求に応じて読み取られたデータワードに対応する、メモリヴォールトのアドレスから読み取ることができる。代替として（または加えて）、プリフェッチデータワードは、ＭＶＣ１０６にコマンドを発行する発信デバイスによって提供されるアドレスの範囲より選択される、メモリヴォールトのアドレスから読み取ることができる。例えば、ホストコンピュータは、プリフェッチバッファ５０１０でプリフェッチまたはキャッシュされるように、アドレスの範囲を規定することができる。
【００３７】
また、メモリシステム５０００は、プリフェッチコントローラ５００６に通信可能に連結される、プリフェッチ書き込み論理５０２１を含むこともできる。プリフェッチ書き込み論理５０２１によって、書き込みデータでメモリヴォールト１１０およびプリフェッチバッファ５０１０を追跡し更新する。
【００３８】
メモリシステム５０００によるプリフェッチの使用は、いくつかの動作条件下では他よりも望ましい場合がある。「局所性」は、電子メモリ技術に関するため、次のメモリ要求が以前の要求と同一のメモリの空間領域からデータを参照する可能性を示す。より大きな局所性を伴うメモリヴォールトのデータ要求ストリームは、より少ない局所性を伴うデータ要求ストリームより、プリフェッチ動作からより多くの恩恵を受けることができる。そして、プリフェッチ動作は、メモリヴォールト１１０で電力を消費することに留意すべきである。その結果、プリフェッチコントローラ５００６は、プリフェッチ動作を選択的に有効化および／または無効化するように構成することができる。いくつかの実施形態は、データストリームの予測される局所性にしたがって、および／またはメモリヴォールト１１０と関連付けられる選択された電力量を標的にするように、プリフェッチ動作を有効化／無効化することができる。
【００３９】
メモリシステム５０００は、プリフェッチコントローラ５００６に通信可能に連結される、プリフェッチ利用論理５０２２を含むことができる。プリフェッチ利用論理５０２２は、ヒット測定期間中、キャッシュラインのヒット数を追跡する。本明細書との関連における「キャッシュラインのヒット」は、データワードが記憶され、データワードがキャッシュの中で見つけられるメモリヴォールトのアドレスを、読み取り要求が参照する時に発生する。プリフェッチコントローラ５００６は、プリフェッチキャッシュ５０１４と関連付けられるヒット率が、ヒット率の測定期間中、選択された閾値を下回る場合に、プリフェッチ動作を無効化するように構成することができる。プリフェッチ動作は、選択された期間中、またはプリフェッチ動作を再開するコマンドが、ホストコンピュータなどの発信デバイスから受信されるまで、無効化することができる。いくつかの実施形態では、プリフェッチは個々のキャッシュラインごとにオンおよびオフにすることができる。
【００４０】
また、メモリシステム５０００は、それぞれメモリヴォールト１１０に設置される、１つ以上の電圧および／または温度センサ５０２６ならびに５０２８を含むこともできる。電力モニタ５０３２は、電圧センサ５０２６および／または温度センサ５０２８に連結することができる。電力モニタ５０３２は、プリフェッチコントローラ５００６に、メモリヴォールト１１０の電力消費レベルの表示を提供することができる。プリフェッチコントローラ５００６は、メモリヴォールト１１０の電力消費レベルが第１の選択された閾値を上回る場合に、プリフェッチ動作を無効にするように構成することができる。プリフェッチ動作は、選択された期間の終了に続いて、再度有効化することができる。代替として、プリフェッチは、電力消費レベルが第２の選択された閾値よりも下がる時、またはプリフェッチを再開するように発信デバイスからコマンドを受信する時に、再度有効化することができる。
【００４１】
メモリシステム５０００は、プリフェッチコントローラ５００６に通信可能に連結される、プリフェッチ読み取り論理５０３６をさらに含むことができる。プリフェッチ読み取り論理５０３６は、ＭＶＣ１０６で受信された読み取り要求が、プリフェッチワードのうちの１つ以上を参照する場合に、プリフェッチバッファ５０１０のうちの１つ以上から、１つ以上のプリフェッチワードを読み取ることができる。
【００４２】
したがって、メモリシステム１００、メモリアレイ２００、２０３、２４０、５２７、ダイ２０２、２０４、タイル２０５Ａ、２０５Ｂ、２０５Ｃ、２０８、２１２Ｂ、２１２Ｃ、２１２Ｄ、「Ｚ」次元２２０、パス２２４、１４８、メモリヴォールト２３０、１０２、１１０、ＭＶＣ１０４、１０６、ＳＣＬＩ１１２、１１３、１１４、１１５、１６４、プロセッサ１１４、マトリクススイッチ１１６、レジスタ１１７、パケット３００、４００、１２２、１６０、パケットデコーダ１１８、１２０、フィールド３１０、３２０、４１０、ＤＰＳＰ１２８、１７４、デシリアライザ１３０、ＳＥＤＰ１３４、１４２、１６６、１７０、デマルチプレクサ１３８、インターフェース１４６、パケットエンコーダ１５４、１５８、マルチプレクサ１６８、シリアライザ１７２、ＰＶＣＬ５１０、メモリシーケンサ５１４、リフレッシュコントローラ５１５、バッファ５１６、５１７、順序がバラバラの要求キュー５１８、ＭＶＲＬ５２４、アレイ修復論理５２６、ＴＷＩ修復論理５２８、メモリシステム５０００、プリフェッチコントローラ５００６、プリフェッチバッファ５０１０、５０１８、プリフェッチキャッシュ５０１４、キャッシュライン５０２０、プリフェッチ書き込み論理５０２１、プリフェッチ利用論理５０２２、センサ５０２６、５０２８、電力モニタ５０３２、およびプリフェッチ読み取り論理５０３６はすべて、本明細書では「モジュール」として特徴付けることができる。
【００４３】
モジュールは、メモリシステム１００の設計者が望むような、かつ種々の実施形態の特定の実装に適するような、ハードウェア回路、光学的構成要素、単一または複数のプロセッサ回路、メモリ回路、コンピュータで読み取り可能な媒体で符号化される、ソフトウェアプログラムモジュールおよびオブジェクト（だが、ソフトウェアリストではない）、ファームウェア、ならびにそれらの組み合わせを含むことができる。
【００４４】
種々の実施形態の装置およびシステムは、高密度で、マルチリンク、高スループットの半導体メモリサブシステム５０００以外の適用においても有用であることができる。したがって、本発明の種々の実施形態は、それほど制限されない。メモリシステム５０００の図解は、種々の実施形態の構造の一般的な理解を提供することを意図している。本明細書に記載する構造を利用する場合がある、装置およびシステムの要素ならびに特徴すべての完全な記述として機能することを意図してはいない。
【００４５】
種々の実施形態の新規装置およびシステムは、コンピュータに使用される電子回路、通信および信号処理回路、単一プロセッサまたは複数プロセッサモジュール、単一または複数の埋め込み式プロセッサ、マルチコアプロセッサ、データスイッチ、ならびに多層マルチチップモジュールを含むアプリケーション特有のモジュールを備えるか、あるいはそれらに組み込むことができる。このような装置およびシステムは、さらに、テレビ、携帯電話、個人用コンピュータ（例えば、ノートパソコン、デスクトップパソコン、携帯用パソコン、タブレットコンピュータなど）、ワークステーション、ラジオ、ビデオプレーヤー、オーディオプレーヤー（例えば、ＭＰ３（ＭｏｔｉｏｎＰｉｃｔｕｒｅ Ｅｘｐｅｒｔｓ Ｇｒｏｕｐ，Ａｕｄｉｏ Ｌａｙｅｒ ３）プレーヤー）、車両、医療デバイス（例えば、心臓モニタ、血圧モニタなど）、セットトップボックスなど、種々の電子システム内に、サブコンポーネントとして含むことができる。いくつかの実施形態は、いくつかの方法を含むことができる。
【００４６】
図６Ａおよび６Ｂは、種々の例示的実施形態に従う方法６０００を図示する、フロー図である。方法６０００は、積層ダイのメモリシステムの中の１つ以上のメモリヴォールト（例えば、図５Ａの積層ダイのメモリシステム５０００の中のメモリヴォールト１１０）と関連付けられるプリフェッチ動作を行うことを含む。プリフェッチ動作は選択的に有効化または無効化することができ、プリフェッチパラメータは各個々のメモリヴォールトに対して別々に構成される。いくつかの実施形態では、メモリヴォールトのパイプラインが空の時に、プログラム可能ないくつかのデータワードを時々プリフェッチすることができる。
【００４７】
方法６０００は、ブロック６００２から開始することができ、発信デバイスから（例えば、ホストコンピュータから）ＭＶＣ（例えば、図５ＡのＭＶＣ１０６）でプリフェッチ構成パラメータを受信する。プロフェッチ構成パラメータは、プリフェッチアドレス様式を含むことができる。このような文脈における「プロフェッチアドレス様式」は、メモリヴォールトからプリフェッチされるアドレスが、以前にアクセスしたアドレス、または発信デバイスによって規定される範囲からのアドレスに対応するかどうかを意味する。他の構成パラメータは、キャッシュヒットが発生する時に戻るキャッシュラインの数などの、キャッシュラインのアクセスパラメータを含むことができる。また、方法６０００は、ブロック６００４にて、プリフェッチ構成パラメータを使用して、メモリシステムを構成することを含むこともできる。
【００４８】
方法６０００は、ブロック６０１０にて、メモリヴォールトへの１つ以上のプリフェッチ読み取り要求を発行して続けることができる。方法６０００は、プリフェッチ読み取り要求を発行する前に、メモリヴォールトが使用されていないかどうかを確認することができる。メモリヴォールトが使用されていない場合、例えば、メモリヴォールトへの他の読み取り要求が、メモリヴォールトで処理されていない時に、方法６０００によって、プリフェッチ読み取り要求を発行し、プリフェッチ動作を開始することができる。代替として、方法６０００は、メモリヴォールトへの１つ以上の他の読み取り要求が、メモリヴォールトで処理されている場合でさえ、読み取り要求を受信すると、プリフェッチ動作を自動的に開始することができるように、メモリヴォールトが使用されている時に、プリフェッチ読み取り要求を発行することができる。
【００４９】
また、方法６００は、メモリヴォールトが発信デバイスから（例えば、ホストコンピュータから）プリフェッチ動作を行わないように示すプリフェッチ情報を受信する場合、メモリヴォールトへのプリフェッチ読み取り要求の発行（ボックス６０１０）を省略することができる。例えば、方法６００が図１のメモリシステム１００で使用されるとき、図１のホストプロセッサ１１４は、プリフェッチ動作を行わないように示すプリフェッチ情報とともに、アウトバウンドパケット１１２を送信することができる。プリフェッチ情報は、図４のプリフェッチ情報フィールド４１２など、アウトバウンドパケット１２２のフィールドに含有することができる。メモリヴォールトは、プリフェッチ動作が行われる（または再開される）べきであると示すプリフェッチ情報を発信デバイスから受信する場合に、プリフェッチ動作を行うことを再開することができる。プリフェッチ情報は、プリフェッチ動作が行われる（または再開される）べきか、または行われない（例えば、省略されるか、または延期される）べきかを示す値を有する、複数のビットまたは単一のビットのみを含むことができる。例えば、プリフェッチ情報が単一のビットのみを有する場合、または単一のビットが「０」の値を有する場合、プリフェッチ動作は省略または延期することができる。単一のビットが「１」の値を有する場合には、プリフェッチ動作を行う（または再開する）ことができる。
【００５０】
図６を参照すると、方法６０００はまた、ブロック６０１４にて、メモリヴォールトに対応するＭＶＣで、メモリヴォールトから１つ以上のプリフェッチデータワードを受信することを含むことができる。方法６０００は、さらにブロック６０１６にて、プリフェッチキャッシュの１つ以上のプリフェッチバッファに、プリフェッチデータワードを記憶することを含むことができる。
【００５１】
方法６０００は、ブロック６０２０にて、ＭＶＣで読み取り要求を受信して続けることができる。方法６０００は、ブロック６０２４にて、読み取り要求によって参照されるデータが、プリフェッチキャッシュで続行中であるかどうかを判定することを含むことができる。続行中である場合、方法６０００は、ブロック６０２８にて、プリフェッチキャッシュからの読み取り要求を提供し、キャッシュヒットをもたらして、続けることができる。読み取り要求によって参照されるデータが、プリフェッチキャッシュ（キャッシュヒットなし）で継続中でない場合、方法６０００は、ブロック６０３２にて、選択されたメモリヴォールトからの読み取り要求を提供して、続けることができる。
【００５２】
また、方法６０００は、ブロック６０３６にて、第１の期間にわたって、プリフェッチキャッシュと関連付けられるヒット率を計測することを含むこともできる。方法６０００は、さらにブロック６０４０にて、キャッシュヒット率が選択された閾値を下回るかどうかを判定することを含むことができる。下回る場合、方法６０００は、ブロック６０４４にて、プリフェッチ動作の無効化を含むことができる。プリフェッチ動作は、選択された期間中、またはプリフェッチが発信デバイスから受信されたコマンドを介して再度有効化されるまで、無効化することができる。
【００５３】
いくつかの実施形態では、方法６０００は、ブロック６０５０にて、選択されたメモリヴォールトの電力消費と関連付けられる、１つ以上の操作パラメータを監視することを含むことができる。例えば、１つ以上の電圧測定値および／または気温測定値は、メモリヴォールト内のセンサから受信することができる。また、方法６０００は、ブロック６０５４にて、操作パラメータの測定値に基づき、メモリヴォールトの電力消費を計算することを含むこともできる。方法６０００は、さらにブロック６０５８にて、電力消費が第１の選択された閾値を上回るかどうかを判定することを含むことができる。上回る場合には、方法６０００はまた、ブロック６０６２にて、プリフェッチ動作の無効化を含むこともできる。プリフェッチ動作は、選択された期間中、電力消費レベルが第２の選択された閾値を下回るまで、またはプリフェッチが発信デバイスから受信されたコマンドを介して再度有効化されるまで、無効にすることができる。
【００５４】
なお、本明細書に記載するアクティビティは、記載する順序以外の順序で実行することができる。また、本明細書で識別する方法に関して記載する種々のアクティビティは、繰り返して、連続して、および／または並列して実行することもできる。
【００５５】
ソフトウェアプログラムは、ソフトウェアプログラムに定義される機能を実行するように、コンピュータをベースとするシステムで、コンピュータで読み取り可能な媒体から起動することができる。本明細書に開示する方法を実装し行うために設計される、ソフトウェアプログラムを作成するために、種々のプログラム言語を採用することができる。プログラムは、ＪａｖａまたはＣ＋＋などのオブジェクト指向言語を使用して、オブジェクト指向フォーマットに構築することができる。代替として、プログラムは、アセンブリまたはＣなどの手続き型言語を使用して、手続き指向フォーマットに構築することができる。ソフトウェア構成要素は、数ある中でも、応用プログラムインターフェース、プロセス間通信技術、および遠隔手続き呼び出しを含む、よく知られたメカニズムを使用して通信することができる。種々の実施形態の教授は、いかなる特定のプログラム言語または環境にも限定されない。
【００５６】
本明細書に記載する装置、システム、および方法は、選択されたメモリヴォールトと関連付けられるパイプラインが空の場合に、積層ダイのメモリシステムで、選択されたメモリヴォールトから、プログラム可能ないくつかのデータワードをプリフェッチするように動作することができる。メモリシステムの性能レベルの増加をもたらすことができる。
【００５７】
例証として、かつ限定ではなく、添付の図面は、主題を実施することができる、特定の実施形態を示す。図示する実施形態は、当業者が本明細書に開示する教示を実施することができるほどに、十分詳細に記載されている。他の実施形態が、本開示の範囲から逸脱することなく、構造上および論理上の代用ならびに変更を行うことができるように、使用されそこから派生することができる。それゆえ、この発明を実施するための形態は、限定の意味で取られるべきではない。種々の実施形態の範囲は、添付の特許請求の範囲、およびかかる特許請求の範囲が権利を有する均等物の全範囲によって定義される。
【００５８】
本発明主題のこのような実施形態は、単に便宜上、かつ実際には２つ以上が開示される場合でも、本出願をいかなる単一の発明または発明概念に任意に限定することを意図することなく、本明細書で個々にまたはまとめて、用語「発明」で称すことができる。したがって、特定の実施形態が本明細書に説明され記載されているが、同一の目的を達成するために計算されるいずれの配置も、示す特定の実施形態に代替することができる。本開示は、種々の実施形態のすべての適応または変形物を含めることを意図している。上記の実施形態と、本明細書に具体的に記載していない他の実施形態との組み合わせは、上記説明を検討する時、当業者には明らかである。
【００５９】
本開示の要約書は、読者が技術の開示の本質を迅速に解明することを可能にする要約を必要とする、３７Ｃ．Ｆ．Ｒ． §１．７２（ｂ）に準拠して提供されている。要約書は、特許請求の範囲または意味を解釈あるいは制限するために用いられないという理解とともに、提出される。前述の発明を実施するための形態では、種々の特徴は、本開示を能率的にするために、単一の実施形態にともにまとめられている。本開示の方法は、各請求項に明示的に列挙される特徴より、多くの特徴を必要とするように解釈されるべきではない。むしろ、発明の主題は、単一の開示される実施形態の全特徴より少ない特徴の中に見つけることができる。したがって、以下の特許請求の範囲は、本明細書によって、発明を実施するための形態に組み込まれ、各請求項は別々の実施形態として自立している。
【図２】
2015079524.tif 000003
【図１】
2015079524.tif 000004
【図３】
2015079524.tif 000005
【図４】
2015079524.tif 000006
【図５】
2015079524.tif 000007
【図５Ａ】
2015079524.tif 000008
【図６Ａ】
2015079524.tif 000009
【図６Ｂ】
2015079524.tif 000010
【手続補正書】
【提出日】平成26年12月26日(2014.12.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリシステムに複数のメモリヴォールトが含まれ、前記複数のメモリヴォールトは積層ダイを含み、前記積層ダイのそれぞれは、複数のメモリタイルに論理的に分割され、前記メモリタイルの積層は、共通制御回路を共有すると共に前記複数のメモリヴォールトの内の１つを構成するメモリヴォールトと、
前記メモリヴォールトと関連付けられる、制御、切り替え、または通信論理のうちの少なくとも１つを提供するように、前記積層されたメモリダイとともに積層される積層ダイ上に設置され、前記メモリヴォールトに通信可能に連結される、コントローラメモリヴォールト（ＭＶＣ）と、
前記メモリヴォールトと関連付けられるプリフェッチ動作を行うためのプリフェッチコントローラと、を備える、メモリシステム。
【請求項２】
読み取りデータの少なくとも１つのキャッシュラインを記憶するように、前記プリフェッチコントローラに通信可能に連結されるプリフェッチキャッシュに、少なくとも１つのプリフェッチバッファをさらに備える、請求項１に記載のメモリシステム。
【請求項３】
前記プリフェッチキャッシュは、プリフェッチバッファを複数セット備え、プリフェッチバッファの各セットは、キャッシュラインを備える、請求項２に記載のメモリシステム。
【請求項４】
前記プリフェッチコントローラは、少なくとも１つのキャッシュラインを選択的に有効にするように構成される、請求項３に記載のメモリシステム。
【請求項５】
前記プリフェッチコントローラは、前記メモリヴォールトが使われていない時に、前記第１メモリヴォールトにプリフェッチ読み取り要求を発行するように構成される、請求項１に記載のメモリシステム。
【請求項６】
前記プリフェッチコントローラは、以前の読み取り要求に応じて、前記メモリヴォールトから読み取られたデータワードに対応するメモリヴォールトのアドレスから、少なくとも１つのプリフェッチデータワードを読み取るように構成される、請求項５に記載のメモリシステム。
【請求項７】
前記プリフェッチコントローラは、前記ＭＶＣへコマンドを発行する発信デバイスによって提供される、アドレスの範囲より選択されるメモリヴォールトのアドレスから、前記少なくとも１つのプリフェッチデータワードを読み取るように構成される、請求項５に記載のメモリシステム。
【請求項８】
前記プリフェッチコントローラは、選択的にプリフェッチ動作を有効にするように構成される、請求項１記載のメモリシステム。
【請求項９】
選択された期間中、キャッシュラインのヒット数を追跡するように、前記プリフェッチコントローラに通信可能に連結されるプリフェッチ利用論理をさらに備える、請求項１に記載のメモリシステム。
【請求項１０】
前記プリフェッチコントローラは、プリフェッチキャッシュと関連付けられるヒット率が、第１の選択された期間中に選択された閾値を下回る場合、前記プリフェッチ動作を無効にするように構成される、請求項１に記載のメモリシステム。
【請求項１１】
前記プリフェッチコントローラは、第２の選択された期間の少なくとも１つの間、または前記プリフェッチ動作を再開するコマンドが、発信デバイスから受信されるまで、前記プリフェッチ動作を無効にするように構成される、請求項１０に記載のメモリシステム。
【請求項１２】
前記メモリヴォールトおよび前記プリフェッチバッファを書き込みデータで更新するように、前記プリフェッチコントローラに通信可能に連結される、プリフェッチ書き込み論理をさらに備える、請求項１に記載のメモリシステム。
【請求項１３】
前記ＭＶＣで受信された読み取り要求が、少なくとも１つのプリフェッチワードを参照する場合、少なくとも１つのプリフェッチバッファから前記少なくとも１つのプリフェッチワードを読み取るように、前記プリフェッチコントローラに通信可能に連結される、プリフェッチ読み取り論理をさらに備える、請求項１に記載のメモリシステム。
【請求項１４】
前記メモリヴォールトの電圧センサまたは温度センサのうちの少なくとも１つと、
前記メモリヴォールトの電力消費レベルの表示を、前記プリフェッチコントローラに提供するように、前記電圧センサまたは温度センサに連結される電力モニタと、をさらに備える、請求項１に記載のメモリシステム。
【請求項１５】
前記プリフェッチコントローラは、前記メモリヴォールトの前記電力消費レベルが、第１の選択された閾値を上回る場合に、プリフェッチ動作を無効にするように構成される、請求項１４に記載のメモリシステム。
【請求項１６】
前記プリフェッチコントローラは、選択された期間、第２の選択された閾値よりも下がる前記電力消費レベル、または発信デバイスからの前記プリフェッチ動作を再開するコマンドの受信のうちの少なくとも１つに続いて、前記プリフェッチ動作を再度有効にするように構成される、請求項１５に記載のメモリシステム。
【請求項１７】
前記プリフェッチコントローラは、前記メモリシステムの中のデータストリームの局所性に従い、前記プリフェッチ動作の有効化および無効化のうちの少なくとも１つを行うように構成される、請求項１に記載のメモリシステム。
【請求項１８】
メモリシステムに複数のメモリヴォールトが含まれ、前記複数のメモリヴォールトは積層ダイを含み、前記積層ダイのそれぞれは、複数のメモリタイルに論理的に分割され、前記メモリタイルの積層は、共通制御回路を共有すると共に前記複数のメモリヴォールトの内の１つを構成するメモリヴォールトと、
前記メモリヴォールトと関連付けられる、制御、切り替え、または通信論理のうちの少なくとも１つを提供するように、前記積層されたメモリダイとともに積層される論理ダイの上に設置され、前記メモリヴォールトに通信可能に連結される、メモリヴォールトコントローラ（ＭＶＣ）と、
前記メモリヴォールトにプリフェッチ読み取り要求を発行するための、プリフェッチコントローラと、
前記プリフェッチ読み取り要求と関連付けられる、少なくとも１つのプリフェッチデータワードを記憶するための、少なくとも１つのプリフェッチバッファと、を備える、メモリシステム。
【請求項１９】
選択された期間中、キャッシュラインのヒット数を追跡するように、前記プリフェッチコントローラに通信可能に連結されるプリフェッチ利用論理をさらに備える、請求項１８に記載のメモリシステム。
【請求項２０】
前記プリフェッチコントローラは、キャッシュラインのヒット率が、選択された率よりも大きい時に、プリフェッチ動作を行うように構成される、請求項１８に記載のメモリシステム。
【請求項２１】
前記プリフェッチコントローラは、前記メモリヴォールトが、使われていない時に、プリフェッチ動作を行うように構成される、請求項１８に記載のメモリシステム。
【請求項２２】
前記プリフェッチコントローラは、前記メモリヴォールトの選択された電力量を標的にするように、前記メモリヴォールトと関連付けられるプリフェッチ動作の有効化および無効化のうちの少なくとも１つを行うように構成される、請求項１８に記載のメモリシステム。
【請求項２３】
積層ダイのメモリシステムで、選択されたメモリヴォールトと関連付けられたプリフェッチ動作を行うことを含む方法であって、
前記メモリヴォールトは、メモリシステムに複数のメモリヴォールトが含まれ、前記複数のメモリヴォールトは積層ダイを含み、前記積層ダイのそれぞれは、複数のメモリタイルに論理的に分割され、前記メモリタイルの積層は、共通制御回路を共有すると共に前記複数のメモリヴォールトの内の１つを構成する、方法。
【請求項２４】
前記選択されたメモリヴォールトにプリフェッチ読み取り要求を発行することと、
前記選択されたメモリヴォールトに対応するメモリヴォールトコントローラ（ＭＶＣ）で、前記選択されたメモリヴォールトからプリフェッチデータワードを受信することと、
プリフェッチキャッシュのプリフェッチバッファに、前記プリフェッチデータワードを記憶することと、をさらに含む、請求項２３に記載の方法。
【請求項２５】
前記プリフェッチ読み取り要求は、前記選択されたメモリヴォールトへの他の読み取り要求が、前記選択されたメモリヴォールトによって処理されていない時に発行される、請求項２４に記載の方法。
【請求項２６】
前記ＭＶＣで読み取り要求を受信することと、
利用可能な場合には、前記プリフェッチキャッシュから前記読み取り要求を提供し、キャッシュヒットをもたらすことと、
キャッシュヒットがなければ、前記選択されたメモリヴォールトから、前記読み取り要求を提供することと、をさらに含む、請求項２４に記載の方法。
【請求項２７】
第１の期間にわたって、前記プリフェッチキャッシュと関連付けられるヒット率を測定することと、前記ヒット率が、閾値のヒット率を下回るかどうかを判定することと、前記ヒット率が、前記閾値のヒット率を下回る場合に、前記プリフェッチ動作を無効化することと、をさらに含む、請求項２４に記載の方法。
【請求項２８】
前記プリフェッチ動作は、選択された期間の少なくとも１つの間、または前記プリフェッチ操作を再開するコマンドが、発信デバイスから受信されるまで、無効化される、請求項２７に記載の方法。
【請求項２９】
前記積層ダイのメモリシステムを、複数ヴォールトのメモリシステムとして構成することと、
各メモリヴォールトで、独立して前記プリフェッチ動作を行うことと、をさらに含む、請求項２３に記載の方法。
【請求項３０】
前記選択されたメモリヴォールトが、使用されていないことを確認することをさらに含む、請求項２３に記載の方法。
【請求項３１】
前記選択されたメモリヴォールトの電力消費と関連付けられる、少なくとも１つの操作パラメータを監視することと、
前記少なくとも１つの操作パラメータの測定に基づき、前記選択されたメモリヴォールトの前記電力消費を計算することと、
前記電力消費が、第１の選択された閾値を上回るかどうかを判定することと、
前記選択されたメモリヴォールトの前記電力消費が、前記第１の選択された閾値を上回る場合に、前記プリフェッチ動作を無効化することと、をさらに含む、請求項２３に記載の方法。
【請求項３２】
前記プリフェッチ動作は、選択された期間の少なくとも１つの間、前記電力消費が、第２の選択された閾値を下回るまで、または前記プリフェッチ動作を再開するコマンドが、発信デバイスから受信されるまで、無効化にされる、請求項３１に記載の方法。
【請求項３３】
前記少なくとも１つの操作パラメータを監視することは、前記メモリヴォールト内のセンサからの電圧レベル測定値または温度測定値のうちの少なくとも１つを受信することを含む、請求項３１に記載の方法。
【請求項３４】
積層ダイのメモリシステムで、選択されたメモリヴォールトから、前記選択されたメモリヴォールトと関連付けられるパイプラインが空の時に、プログラム可能な数のデータワードをプリフェッチすることを含む方法であって、
前記メモリヴォールトは、メモリシステムに複数のメモリヴォールトが含まれ、前記複数のメモリヴォールトは積層ダイを含み、前記積層ダイのそれぞれは、複数のメモリタイルに論理的に分割され、前記メモリタイルの積層は、共通制御回路を共有すると共に前記複数のメモリヴォールトの内の１つを構成する、方法。
【請求項３５】
前記選択されたメモリヴォールトに、少なくとも１つのプリフェッチ読み取り要求を発行することと、
各プリフェッチ読み取り要求に対して、前記選択されたメモリヴォールトに対応するメモリヴォールトコントローラ（ＭＶＣ）で、前記選択されたメモリヴォールトからプリフェッチデータワードを受信することと、
プリフェッチキャッシュの少なくとも１つのプリフェッチバッファに、前記少なくとも１つのプリフェッチデータワードを記憶することと、
前記ＭＶＣで少なくとも１つの読み取り要求を受信することと、
利用可能な場合には、前記プリフェッチキャッシュから前記少なくとも１つの読み取り要求を提供し、少なくとも１つのキャッシュヒットをもたらすことと、
前記少なくとも１つのキャッシュヒットがなければ、前記選択されたメモリヴォールトから、前記少なくとも１つの読み取り要求を提供することと、をさらに含む、請求項３４に記載の方法。
【請求項３６】
発信デバイスから前記ＭＶＣでプリフェッチ構成パラメータを受信することと、
前記プリフェッチ構成パラメータに従い、前記積層ダイのメモリシステムを構成することと、をさらに含む、請求項３５に記載の方法。
【請求項３７】
前記プリフェッチ構成パラメータは、読み取りデータ要求に応じて検索するように、プリフェッチアドレス様式またはキャッシュラインの数のうちの少なくとも１つを含む、請求項３６に記載の方法。
【請求項３８】
第１の期間にわたって、前記プリフェッチキャッシュと関連付けられるヒット率を測定することと、前記ヒット率が、閾値のヒット率を下回るかどうかを判定することと、前記ヒット数が、前記閾値のヒット率を下回る場合に、第２の期間中、前記プリフェッチ動作を無効化することと、をさらに含む、請求項３５に記載の方法。
【請求項３９】
前記選択されたメモリヴォールトの電圧レベルまたは温度のうちの少なくとも１つを監視することと、
前記電圧および／または温度の測定値に基づき、前記選択されたメモリヴォールトの電力消費を判定することと、
前記選択されたメモリヴォールトの前記電力消費が、第１の選択された閾値を上回る場合に、前記プリフェッチ動作を無効化することと、
前記電力消費が、第２の選択された閾値を下回る場合に、前記プリフェッチ動作を再度有効化することと、をさらに含む、請求項３４に記載の方法。