(58)【調査した分野】(Int.Cl.,DB名)
前記ロジックダイは、前記メモリダイのスタックから動作データを受け取るよう、および前記動作データに基づいて、前記異なるリフレッシュ速度のうちの少なくとも1つを動的に調節するよう、構成された、請求項1に記載のメモリ装置。
【発明を実施するための形態】
【0007】
以下の本発明の詳細な説明において、添付の図面が参照される。これらの添付の図面は本発明の一部をなし、これらの図面おいて、本発明が実施され得る特定の実施形態が例示される。これらの実施形態は、当業者が本発明を実施することができるよう、十分詳細に説明される。他の実施形態も利用することができ、構造的、論理的、電気的な変化が施されてもよい。
【0008】
図1は、本発明の様々な例示的な実施形態に係るメモリ装置100のブロック図を示す。メモリ装置100は、複数のコマンド、アドレス、および/またはデータのアウトバウンドおよび/またはインバウンドのストリームを、1つまたは複数の送信元装置および/または宛先装置(例えば、1つまたは複数のプロセッサ)と、1組のスタックアレイメモリ「ボールト」110との間で転送するために実質的に並列的に動作する。その結果、メモリシステムの密度、帯域幅、並列性、スケーラビリティが増加し得る。
【0009】
マルチダイメモリアレイの実施形態においては、以前の設計において通常個別のメモリアレイダイにそれぞれ配置されていた制御ロジックが統合される。本開示においてメモリボールトと呼ばれるスタックされたダイのグループの小区分が、
図1におけるボールト例110、
図2におけるボールト例230として示される。例示したこれらのメモリボールトは、共通の制御ロジックを共有する。このメモリボールト・アーキテクチャは、パワーオンされたメモリバンクのより細かな細分化を提供しつつエネルギー効率を増加させるためにメモリ制御ロジックを戦略的に分割する。示された実施形態は、標準化された、ホストプロセッサからメモリへのシステムインターフェースを可能にする。この標準化されたインターフェースは、メモリ技術が発達するにつれて再設計サイクル回数を低減し得る。
【0010】
図2は、様々な例示的な実施形態に係るメモリ装置100を形成するために、ロジックダイ202とともにスタックされたスタックダイ3次元メモリアレイ200のカッタウェイ概念図である。メモリ装置100はタイル状メモリアレイ203の1つまたは複数のスタックを取り込み、その結果、スタックダイ3次元メモリアレイ200が形成される。複数のメモリアレイ(例えば、メモリアレイ203)が複数のダイ(例えば、ダイ204)のそれぞれの上に作られる。次いで、これらのメモリアレイダイがスタックされ、スタックダイ3次元メモリアレイ200が形成される。
【0011】
これらのスタックダイのそれぞれが、複数の「タイル」(例えば、スタックダイ204の部分である205A、205B、および205C)に分割される。各タイル(例えば、タイル205C)は、1つまたは複数のメモリアレイ203を含み得る。メモリアレイ203は特定のメモリ技術に限定されず、ダイナミックランダムアクセスメモリ(DRAM:dynamic random−access memory)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、フラッシュメモリ、その他を含み得る。
【0012】
スタックされた1組のメモリアレイタイル208は、スタックされたダイ(例えば、
図1においてベースタイルが隠された状態の、タイル212B、タイル212C、およびタイル212D)のそれぞれからの単一のタイルを含み得る。電力、アドレス、および/またはデータおよび他の同様の共通信号が、例えば「スルーウェーハ相互接続」(TWI:through−wafer interconnect)等の導電経路(例えば、導電経路224)上で「Z」次元220において、スタックされたタイルの組208を横断し得る。なお、TWIは必ずしも特定のウェーハまたはダイを貫通する必要がないことに注意すべきである。
【0013】
このように、スタックダイ3次元メモリアレイ200は1組のメモリ「ボールト」(例えば、メモリボールト230)へと分割される。各メモリボールトは、1組のタイル208を電気的に相互接続するための1組のTWIとともに、スタックされたタイル(すなわち複数のスタックされたダイの各ダイからの1つのタイル)の組(例えば、1組のタイル208)を含む。ボールトの各タイルは、1つまたは複数のメモリアレイ(例えば、メモリアレイ240)を含む。
【0014】
図2に示すメモリボールト230と同様の、そのように形成された1組のメモリボールト102が、メモリ装置100内の状況において
図1に示されている。メモリ装置100は、複数104のメモリボールトコントローラ(MVC:memory vault controller)(例えば、MVC106)も含む。各MVCは、1対1の関係で、対応するメモリボールト(例えば、メモリボールト102の組のうちのメモリボールト110)に対して通信可能に接続される。したがって、各MVCは、他のMVCとその対応するメモリボールトとの間の通信から独立して、対応するメモリボールトと通信する能力を有する。
【0015】
メモリ装置100は、複数の設定可能なシリアル化された通信インターフェース(SCLI:serialized communication link interface)112も含む。SCLI112は、アウトバウンドグループのSCLI113と、インバウンドグループのSCLI115とに分割される。なお、「アウトバウンド」および「インバウンド」の各方向はプロセッサ(単数または複数)114の観点から定められる。複数のSCLI112は、それぞれが、他のSCLI112と並列動作する能力を有する。全体として、SCLI112は複数のMVC104を1つまたは複数のホストプロセッサ114に対して通信可能に接続する。メモリ装置100は、ホストプロセッサ(単数または複数)114への、高度に抽象化された、マルチリンク、高スループットのインターフェースを表す。
【0016】
メモリ装置100はスイッチ116も含む。いくつかの実施形態において、スイッチ116は、交差接続スイッチとも呼ばれ得るマトリックススイッチを含み得る。スイッチ116は、複数のSCLI112に、および複数のMVC104に、通信可能に接続される。スイッチ116は、選択されたMVCに各SCLIを交差接続する能力を有する。したがって、ホストプロセッサ(単数または複数)114は、複数のSCLI112を通って、実質的に同時に、複数のメモリボールト102にアクセスし得る。このアーキテクチャは、マルチコア技術を含む現代のプロセッサ技術用に、プロセッサからメモリへの高い帯域幅を提供することができる。
【0017】
メモリ装置100は、スイッチ116に接続されたメモリ構造制御レジスタ117も含み得る。メモリ構造制御レジスタ117は、メモリ構造設定パラメータを設定源から受け取り、メモリ装置100の1つまたは複数の構成部品を、選択可能なモードにしたがって動作するよう、設定する。例えば、スイッチ116と、複数のメモリボールト102および複数のMVC104のそれぞれとは、通常は、別個のメモリ要求に応答して、互いに対して独立的に動作するよう設定されている。係る構成は、SCLI112とメモリボールト102との間の並列性の結果として、メモリシステムの帯域幅を向上させることができる。
【0018】
あるいは、メモリ装置100は、複数のメモリボールト102のうちの2つ以上のメモリボールトからなるメモリボールトの1部分およびMVCの対応する1部分が、単一の要求に応答して同期して動作することができるよう、メモリ構造制御レジスタ117を介して再構成することができる。後者の構成は、単一のボールトに関連したデータワードの幅よりも広いデータワードにアクセスするために用いられ得る。この技術は、待ち時間を低減し得る。他の構成も、選択されたビットパターンをメモリ構造制御レジスタ117にロードすることにより、有効化され得る。
【0019】
1つの例において、アウトバウンドSCLI113は、複数のアウトバウンド差動ペア・シリアル経路(DPSP:differential pair serial path)128を含み得る。DPSP128は、ホストプロセッサ(単数または複数)114に通信可能に接続され、送信パケットを集合的に伝送してもよい。アウトバウンドSCLI113は、複数のアウトバウンドDPSP128に接続されたデシリアライザ130も含み得る。アウトバウンドSCLIは、デシリアライザ130に通信可能に接続された多重分離装置138も含み得る。1つの実施形態において、DSPS、デシリアライザ、および多重分離装置の構成は、データパケットまたはサブパケットの効率的な伝送を促進する。アウトバウンドSLCIと同様に、1つの実施形態において、インバウンドSCLIおよび同様の構成のDSPS、シリアライザ、および多重化装置の構成は、データパケットまたはサブパケットの効果的な伝送を促進する。
【0020】
図3は、様々な例示的実施形態に係るMVC(例えば、MVC106)および関連するモジュールのブロック図である。MVC106は、プログラム可能なボールト制御ロジック(PVCL:programmable vault control logic)部品310を含み得る。PVCL310は、対応するメモリボールト(例えば、メモリボールト110)にMVC106をインターフェース接続する。PVCL310は、対応するメモリボールト110と関連する1つまたは複数の制御信号および/またはタイミング信号を生成する。
【0021】
PVCL310は、選択された構成または選択された技術のメモリボールト110にMVC106を適応させるよう構成されてもよい。したがって、例えば、メモリ装置100は、最初は、現在利用可能なDDR2のDRAMを用いて構成されてもよい。次いで、メモリ装置100は、PVCL310を、DDR3のバンク制御およびタイミングロジックを含むよう再構成することにより、DDR3に基づくメモリボールト技術に対応するよう適応し得る。
【0022】
MVC106は、PVCL310に通信可能に接続されたメモリシーケンサ314も含み得る。メモリシーケンサ314は、関連するメモリボールト110を実装するために用いられた技術に基づいて、メモリ技術に依存する1組の動作を実行する。メモリシーケンサ314は、例えば、対応するメモリボールト110に関連する、コマンド復号化動作、メモリアドレス多重化動作、メモリアドレス多重分離化動作、メモリリフレッシュ動作、メモリトレーニング動作、および/またはメモリボールトプリフェッチ動作を実行し得る。いくつかの実施形態において、メモリシーケンサ314はDRAMシーケンサを備え得る。いくつかの実施形態において、メモリリフレッシュ動作は、別のリフレッシュコントローラ(図示せず)において生成されてもよい。他のメモリリフレッシュ動作は、以下でより詳細に説明される。
【0023】
メモリシーケンサ314は、選択された構成または技術のメモリボールト110にメモリ装置100を適応させるよう構成され得る。例えば、メモリシーケンサ314は、メモリ装置100と関連する他のメモリシーケンサと同期して動作するよう構成され得る。係る構成は、単一のキャッシュライン要求に応答して、複数のメモリボールトからの広いデータワードを、ホストプロセッサ(単数または複数)114と関連するキャッシュライン(図示せず)に出力するために用いられ得る。
【0024】
MVC106は、書き込みバッファ316も含み得る。書き込みバッファ316は、ホストプロセッサ(単数または複数)114からMVC106に達したデータをバッファリングするために、PVCL310に接続され得る。MVC106は、さらに読み出しバッファ317を含み得る。読み出しバッファ317は、対応するメモリボールト110からMVC106に達したデータをバッファリングするために、PVCL310に接続され得る。
【0025】
MVC106は、順番外要求キュー318も含み得る。順番外要求キュー318は、メモリボールト110に含まれる複数のメモリバンクに対する、読み出し動作および/または書き込み動作の順序づけられたシーケンスを確立する。その順序づけられたシーケンスが、バンクコンフリクトを低減し、読み出しから書き出しの応答時間を減少させるために、任意の単一のメモリバンクに対する順次の動作を回避するために選択される。
【0026】
MVC106は、メモリボールトエラーロジック(MVEL:memory vault error logic)部品324等のエラートラッカーも含み得る。MVEL324は、3次元メモリアレイ200のメモリセルの複数の部分に対する複数のエラー率を探知し得る。エラー率データの使用について、以下でより詳細に説明する。いくつかの異なる部分に対するエラー率は、MVEL324を用いて探知し得る。1つの例においては、各ダイ204に対するエラー率が探知される。他の例は、各タイル205、各アレイ203、その他に対するエラー率の探知を含む。
【0027】
1つの例においては、探知対象となる部分は動的である。例えば、ダイ204が一定の閾値を超えるエラー率を有する場合、そのダイ204内の一部分が探知対象に選択される。他の例においては、タイル等の部分においてエラー率がエラー率閾値よりも低い場合、MVELはそのタイルを含むボールトに対するエラー率のみを探知してもよい。1つの例においては、3次元メモリアレイ200の1部分に対する探知されたエラー率の情報は、選択された複数の部分におけるリフレッシュ速度を調節(例えば、変更)するために用いられる。
【0028】
図3は、メモリマップ315を含む実施形態を示す。メモリマップ315は、3次元メモリアレイ200内の様々な部分を探知し、特定の探知対象部分に特有の、1つまたは複数の特性を探知する。例は、個々のダイ204、ボールト230、タイル205、または3次元メモリアレイ200のいくつかのメモリセルの他の分類の1つまたは複数に対する特性を探知することを含む。1つの例において、メモリマップ315は、1つまたは複数の部分に対する係る情報を並列的に探知する。
【0029】
各探知対象部分に対する特性の例は、エラー率、温度、パワーダウン状態、およびリフレッシュ速度を含むが、これらに限定されない。1つの実施形態において、リフレッシュ速度は、メモリマップ315において探知される1つまたは複数の他の特性を用いて決定される。
【0030】
1つの例示的な実施形態において、メモリマップ315は、メモリ装置に接続されたローカル記憶装置内に配置される。3次元メモリアレイの1つの例を用いて、メモリマップ315は、3次元メモリアレイ200に直接接続されたロジックチップ202上に配置される。1つの例において、メモリマップ315は、ロジックチップ202上のフラッシュメモリ等の不揮発性メモリに記憶される。メモリマップ315を、ローカルに取り付けられたロジックチップ202内においてメモリ装置上でローカルに記憶することは、メモリ装置100がプロセッサ114から独立的にメモリ動作を最適化することを可能にする。メモリ最適化において用いられるフィードバック特性の例は、上記に列記されている(エラー率、温度、パワーダウン状態、およびリフレッシュ速度)。
【0031】
1つの例において、各MVC106は、本発明はそのように限定されないが、別個のメモリマップ315を含む。他の実施形態は、3次元メモリアレイ200に役立つ、単一のメモリマップ315または他の数量のメモリマップ315をロジックチップ202上に含む。
【0032】
1つの実施形態において、メモリマップ315は動的であり、上述の例等の、1つまたは複数のフィードバック特性に基づいて変化する。1つの特性例として温度を用いると、3次元メモリアレイ200のうちの1つまたは複数の部分は、異なる温度で動作し得る。それに対して、メモリマップ315は、異なる部分がそれらの温度にしたがって異なる方法で取り扱われることを可能にする。例えば、より高温のダイ205は、より低温のダイ204よりも、必要に応じて、より高いリフレッシュ速度に設定され得る。動的なメモリマップ315において、それぞれのローカル温度が動作中に変化すると、メモリマップもまた変化し得る。上述のように、ボールト、タイル、その他等の、他の部分もまた監視および調節され得る。
【0033】
パワーダウン状態の例を用いる場合、3次元メモリアレイ200の1つまたは複数の部分は、異なるパワーダウン状態で動作し得る。それに応答して、メモリマップ315は、異なる部分がそれらのパワーダウン状態にしたがって異なる方法で取り扱われることを可能にする。例えば、最近アクセスされなかったボールト230は、リフレッシュを必要とするパワーダウン状態にあり得るが、現在アクセスされているボールト230ほどの高いリフレッシュ速度にはない状態にあり得る。他のボールト230に対する他の速い応答時間のパワー状態は、より高いリフレッシュ速度に設定され得る。動的なメモリマップ315においては、様々な部分のパワーダウン状態が動作中に変化するにつれて、メモリマップもまた変化し得る。上述のように、ダイ、タイル、その他等の、他の部分も監視および調節され得る。
【0034】
エラー率の例を用いる場合、3次元メモリアレイ200の1つまたは複数の部分は、異なるエラー率を経験し得る。それに応答して、メモリマップ315は、異なる部分がそれらのエラー率にしたがって異なる方法で取り扱われることを可能にする。例えば、より低いエラー率を経験するタイル205がより低いリフレッシュ速度に設定される一方で、高いエラー率を経験するタイル205はより高いリフレッシュ速度に設定され得る。動的なメモリマップ315において、様々な部分のエラー率が動作中に変化すると、メモリマップ315もまた変化し得る。上述のように、ダイ、ボールト、その他等の、他の部分も監視および調節され得る。
【0035】
1つの例においては、リフレッシュ速度等の特性を調節することに加えて、1つの部分に対するエラー率が閾値を超すと、3次元メモリアレイ200のその部分が無効化され、メモリマップ315はその無効化された部分を探知し、3次元メモリアレイ200の他の部分が正常動作するようにする。1つの例においては、選択部分のエラー率は、切迫した障害を予想する能力をヘルス監視評定に提供するために使用することができる。例えば、1つの実施形態において、特定の部分(単数または複数)に対するエラー率が閾値を超えると、メモリ装置を置き換える必要性を示すヘルス監視評定が提供され得る。
【0036】
各特性例が上の部分ではリフレッシュ速度に影響を及ぼすものとして個別に検討されたが、本発明は、そのように限定されない。1つの例において、温度、パワーダウン状態、およびエラー率等の複数の特性が並列的に探知され、それらの効果が組み合わされて、3次元メモリアレイ200の1つの部分に対する最適化されたリフレッシュ速度が提供される。
【0037】
上述の動的なメモリマップ例に加えて、1つの実施形態において、メモリマップ315は静的である。静的なメモリマップの1つの例は、パーソナルコンピュータ等のシステムの各パワーアップ時において1度だけ生成されるメモリマップを含む。各パワーアップ時の評価の後、静的なメモリマップはフィードバック特性を監視し得ない。他の静的例は、製造後のテストを含む。メモリマップ315は、選択された部分内における、製造後に本質的に存在する、シリコンにおける変異、リソグラフィの欠陥、その他等の要因に起因する性能または他の特性の固定されたマップを含み得る。製造の例においては、いくつかの異なるリフレッシュ速度を含む静的なメモリマップ315は、係る変異に照らし合わせて3次元メモリアレイ200を最適化するために、製造後に1度だけ形成される。
【0038】
図4は、上述した実施形態において検討したメモリ装置の動作方法例を示す。動作410において、動作データが、メモリ装置のいくつかの異なる部分に生成される。係る部分の例は、上述の実施形態において検討した様々な部分を含む。動作データの例は、上述の実施形態において検討した、温度、パワーダウン状態、エラー率等の特性を含む。
【0039】
動作420において、メモリマップが動作データを用いて生成される。動作430において、生成されたメモリマップは、ゼロより大きい第1リフレッシュ速度でメモリ装置の第1部分をリフレッシュするために用いられる。動作440において、そのメモリマップは、ゼロより大きく且つ第1データ速度とは異なる第2リフレッシュ速度でメモリ装置の第2部分をリフレッシュするために用いられる。検討された、2つ以上の、ゼロより大きいリフレッシュ速度に加えて、選択された例においては、他の部分はまったくリフレッシュされない場合もある。
【0040】
上述のようなメモリマップ315に関連する動作に加えて、MVEL324は、アレイ修復ロジック326を用いて、欠陥メモリアドレス再割り当て動作も実行し得る。アレイ修復ロジック326は、メモリボールトまたはダイ、その他(例えば、
図2に示すスタックされたダイ204上)上に、および/またはロジックダイ202(例えば、スペアアレイ327)上に配置された重複したセルまたはセルのアレイに要求を再送してもよい。MVEL324は、TWI修復ロジック328を用いて、対応するメモリボールト110に関連するTWI修復動作も実行し得る。
【0041】
様々な実施形態に係る装置およびシステムは、高密度、マルチリンク、高スループットの半導体メモリサブシステム以外の用途においても有用となり得る。したがって、本発明の様々な実施形態は、それらの用途に限定されるものではない。メモリ装置100の例示は、様々な実施形態の構造についての全般的な理解を提供することを意図するものである。これらの実施形態は、本明細書において説明した構造を使用し得る装置およびシステムの全構成要素を説明し尽くすことを意図するものではない。
【0042】
様々な実施形態に係る新規の装置およびシステムは、コンピュータ、通信および信号処理用回路、単一プロセッサモジュールまたはマルチプロセッサモジュール、単一のまたは複数の埋め込みプロセッサ、マルチコア・プロセッサ、データスイッチ、および他の情報ハンドリングシステムにおいて用いられる電子回路を含み得るか、またはこれらの電子回路に組み込まれ得る。
【0043】
係るシステムは、テレビ、セルラ電話、携帯情報端末(PDA:personal data assistant)、パーソナルコンピュータ(例えば、ラップトップコンピュータ、デスクトップコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、その他)、ワークステーション、ラジオ、ビデオ再生機、オーディオ再生機(例えば、MP3(Motion Picture Experts Group, Audio Layer 3)再生機)、輸送手段、医療装置(例えば、ハートモニタ、血圧モニタ、その他)、セットトップボックス、その他を含むが、これらに限定されない。
【0044】
パーソナルコンピュータの高レベルな例が、本発明の高レベルな装置への応用を示すために、
図5に含まれる。
図5は、本発明の実施形態に係る少なくとも1つのメモリ装置506を組み込む情報ハンドリングシステム500のブロック図である。
【0045】
この例において、情報ハンドリングシステム500は、このシステムの様々な構成部品を接続するシステムバス502を含むデータ処理システムを含む。システムバス502は、情報ハンドリングシステム500の様々な構成部品間における通信リンクを提供し、単一のバスとして、バスの組合せとして、または他の任意の適正な方法で、実装され得る。
【0046】
チップ組立体504は、システムバス502に接続される。チップ組立体504は、任意の回路または動作の互換性を有する回路の組合せを含み得る。1つの実施形態において、チップ組立体504は、プロセッサ508または任意の種類の複数のプロセッサを含む。本明細書において用いられる「プロセッサ」とは、マイクロプロセッサ、マイクロコントローラ、グラフィックスプロセッサ、デジタル信号プロセッサ(DSP:digital signal processor)、または任意の種類のプロセッサすなわち処理回路を含むが、これらに限定されない任意の種類の計算回路を意味する。本明細書において用いられる「プロセッサ」は、複数のプロセッサまたは複数のプロセッサコアを含む。
【0047】
1つの実施形態において、メモリ装置506はチップ組立体504に含まれる。当業者は、広範囲の種類にわたるメモリ装置の構成がチップ組立体504において用いられ得ることを理解するであろう。動作中継続的にリフレッシュされるDRAM等のメモリ装置については、上述の実施形態において説明されている。DRAM装置の1つの例は、上述の実施形態において説明した集積されたロジックチップを有するスタックメモリチップの3次元メモリ装置を含む。メモリ506はフラッシュメモリ等の不揮発性メモリも含み得る。
【0048】
情報ハンドリングシステム500は、外部メモリ511を含み得、この外部メモリ511は、1つまたは複数のハードドライブ512および/またはフラッシュメモリ・ドライブ、コンパクトディスク(CD:compact disk)、デジタルビデオディスク(DVD:digital video disk)等の着脱可能な媒体513を取り扱う1つまたは複数のドライブ等の、特定の用途に好適な1つまたは複数のメモリ素子を含み得る。
【0049】
情報ハンドリングシステム500は、モニタ等のディスプレイ装置509と、スピーカその他等の追加の周辺部品510と、キーボード、および/またはマウス、トラックボール、ゲームコントローラ、音声認識装置、またはシステム利用者が情報ハンドリングシステム500に情報を入力し、情報ハンドリングシステム500から情報を受け取ることを可能にする他の任意の装置を含むコントローラ514と、を含み得る。
【0050】
本発明のいくつかの実施形態について説明してきたが、上に挙げたものは、すべてを網羅することを意図するものではない。特定の実施形態について本明細書において図示し説明してきたが、同一の目的を達成すると予想される任意の組合せが、これまでに示した特定の実施形態に代わって用いられ得ることを当業者は理解するであろう。本出願は、本発明の任意の適応または変更例を含むことを意図する。上記の説明は例示的であって、限定的ではないことを意図するものであることを理解すべきである。上述の実施形態の組合せおよび他の実施形態は、上記の説明を綿密に調べることにより、当業者に明らかになるであろう。