JP2020170532A - センサデータ検出に基づくインピーダンス補償 - Google Patents

センサデータ検出に基づくインピーダンス補償 Download PDF

Info

Publication number
JP2020170532A
JP2020170532A JP2020112055A JP2020112055A JP2020170532A JP 2020170532 A JP2020170532 A JP 2020170532A JP 2020112055 A JP2020112055 A JP 2020112055A JP 2020112055 A JP2020112055 A JP 2020112055A JP 2020170532 A JP2020170532 A JP 2020170532A
Authority
JP
Japan
Prior art keywords
memory
memory device
memory controller
impedance
calibration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020112055A
Other languages
English (en)
Other versions
JP6965494B2 (ja
Inventor
エー マッコール、ジェームズ
A Mccall James
エー マッコール、ジェームズ
エス ベインズ、クルジット
S Bains Kuljit
エス ベインズ、クルジット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2020170532A publication Critical patent/JP2020170532A/ja
Application granted granted Critical
Publication of JP6965494B2 publication Critical patent/JP6965494B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/46Test trigger logic
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50008Marginal testing, e.g. race, voltage or current testing of impedance
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Multimedia (AREA)

Abstract

【課題】インピーダンス補償の必要性を監視するメモリデバイスによってメモリI/Oインピーダンス補償を管理するメモリサブシステムを提供する。【解決手段】メモリコントローラが、変更が必要とされない場合にメモリデバイスにインピーダンス補償を更新させる信号を規則的に送信する代わりに、メモリデバイスは、インピーダンス補償変更を実行する準備がいつできるかを示すことができる。メモリコントローラは、メモリによって設定される補償フラグに応答するか又はセンサ値が閾値を超えて変わったとの決定に応答して、メモリデバイスにインピーダンス補償信号を送信することができる。【選択図】図4

Description

本発明の実施形態は、概して、デバイス間のI/Oインピーダンス補償に関し、より詳細には、センサデータの検出に基づくインピーダンス補償の管理に関する。
[著作権表示/許可]
本特許書類の開示の部分は、著作権保護の対象となる材料を含み得る。著作権の所有者は、特許商標庁の特許ファイルまたは記録に見られる特許書類または特許開示の何人かによる複写に不服を申し立てないが、それ以外の全ての著作権に係る一切の権利を保留する。「著作権、2015年、インテル(登録商標)コーポレーション、無断複写・転載禁止」という著作権の通知は、以下に説明される全てのデータ、本明細書の添付の図面、ならびに以下に説明されるいずれのソフトウェアにも適用される。
メモリを使用するシステムはストレージ要求が増大するにつれて、メモリデバイスはより高い密度にスケーリングし続けている。たとえメモリ量が増大するとしても、サーバ、デスクトップまたはラップトップコンピュータ、モバイルデバイスならびに消費者およびビジネス電子機器などのコンピューティングプラットフォームは、性能が向上するだろうという期待がある。メモリサイズを増大させながらも性能の向上により、バンド幅のスケーリングの向上という結果になっている。向上されたメモリバンド幅スケーリングは、十分な信号品位を維持することが可能であるI/O(入出力)インピーダンス補償(ZQ comp)を要求してきた。前のメモリ世代において、抵抗補償またはZQ compの様々な形式は主に、要求される許容範囲を維持すべくメモリデバイス(例えば、DRAM(ダイナミックランダムアクセスメモリ))のモードを使用するメモリコントローラにより管理される。モードは、異なる構成設定下の動作を指す。
周波数が増大するにつれて、許容マージンは精度が向上し続け、メモリコントローラに要求されるオーバヘッドもそのI/Oインターフェースアイドル期間の点から増大し続ける。メモリコントローラに要求されるオーバヘッドがより大きくなればなるほど、より大きなバンド幅がI/O許容範囲の管理に特化され、それが性能に悪影響を与える場合がある。インピーダンス補償に対する従来のアプローチは、最悪のケースのシステム仮定に基づくI/O終端を周期的に管理するようにメモリコントローラに要求する。多くの場合において、メモリデバイスの電圧および温度が安定している場合、インピーダンス補償動作を実行するように要求されないかもしれない。より具体的には、アクティブ期間の間、メモリデバイスの温度および電圧にかかる動作状態は、合理的に安定し得、インピーダンス補償調整を必要とし得ない。従って、メモリコントローラは不必要に、ZQ comp信号をメモリデバイスに発行することになる。ZQ comp信号の不必要な発行は、DRAMが調整の間で長い期間にわたり動作する場合がある最悪のケースにより、メモリコントローラは複数のDRAMの負荷を管理するために、性能の低下と複雑さの増大とをもたらす。
以下の説明は、図示が本発明の実施形態の実装の例として与えられた実例を有する図面の検討を含む。図面は、限定としてではなく例として理解されるべきである。本明細書において用いられるように、1または複数の「実施形態」への言及は、本発明の少なくとも1つの実装に含まれる特定の特徴、構造、および/または特性を説明するものと理解されたい。従って、本明細書に見られる「1つの実施形態において」または「代替的な実施形態において」等の文言は、本発明における様々な実施形態および実装を説明するものであり、全てが必ずしも同一の実施形態を指すわけではない。しかしながら、これらはまた必ずしも相互に排他的ではない。
インピーダンス補償がメモリデバイスのセンサデータに基づくシステムの実施形態のブロック図である。
メモリデバイスセンサデータが、リフレッシュ制御設定に加えてインピーダンス補償のために使用され得るメモリサブシステムの実施形態のブロック図である。
調整可能なインピーダンス補償のためのコマンド/アドレスタイミングのタイミング図の実施形態である。
メモリデバイスのセンサデータに基づくインピーダンス補償を実行するためのプロセスの実施形態のフロー図である。
セルフリフレッシュ制御およびインピーダンス補償のためにメモリデバイスセンサデータを適用するためのプロセスの実施形態のフロー図である。
メモリデバイスのセンサデータに基づくインピーダンス補償が実装され得るコンピューティングシステムの実施形態のブロック図である。
メモリデバイスのセンサデータに基づくインピーダンス補償が実装され得るモバイルデバイスの実施形態のブロック図である。
以下に説明される実施形態のうちのいくつかまたは全てを図示し得る図面の説明を含み、ならびに本明細書において提示される発明概念の他の可能な実施形態または実装を検討する、特定の詳細および実装の説明を後述する。
本明細書に説明されるように、メモリサブシステムが、メモリI/O(入出力)インピーダンス補償を管理すべく、メモリデバイスのセンサデータを利用する。従って、メモリコントローラおよびメモリデバイスは、最悪のケースのシナリオによるインピーダンス補償の管理の代わりにインピーダンス補償の必要性を監視することができる。従って、メモリコントローラは、変更が必要とされない場合にメモリコントローラにZQ comp(インピーダンス補償)信号を規則的に送信させる代わりに、メモリデバイスが更新の準備ができている場合、ZQ comp信号を送信することができる。ZQ comp信号は、メモリデバイスによるインピーダンス補償に対する更新を引き起こす、メモリコントローラによって発行される全ての信号を指し得る。1つの実施形態において、ZQ comp信号は、ZQCal起動信号(例えば、インピーダンスキャリブレーションを開始する信号)および/またはZQCalラッチ信号(例えば、インピーダンス補償のための構成を設定する信号)を含むことができる。1つの実施形態において、メモリデバイスは、インピーダンス補償変更を実行する準備がいつできるかを示す。1つの実施形態において、メモリコントローラは、メモリデバイスによって設定される補償フラグまたは他の指標に応答して、ZQ comp信号をメモリデバイスに送信することができる。1つの実施形態において、メモリコントローラは、メモリデバイスによって記録されるセンサ値が閾値を超えて変わったという決定に応答して、ZQ comp信号を送信することができる。
センサデータのインピーダンス補償への適用により、調整可能なインピーダンス補償管理を可能にする。例えば、メモリデバイスは、閾値より大きい変化がいつ動作状態に生じたかを示すセンサデータを記録することができる。変化を示すフラグが、フラグに応答して、ZQ comp信号を選択的に送信させるようにメモリコントローラを始動させることができる。メモリコントローラは、コマンド/アドレス(C/A)バス上のダウン時間を管理すべく、ZQ comp信号を複数のメモリデバイスに選択的に発行することができ、このようにしてC/Aバスのバンド幅の利用を改善することができる。1つの実施形態において、メモリコントローラは、センサデータに応答してZQCalラッチコマンドのみを発行する。1つの実施形態において、メモリコントローラは、センサデータに応答してZQCal起動コマンドおよびZQCalラッチコマンドの両方を発行する。
1つの実施形態において、メモリデバイスは、温度センサなどを用いて、温度もしくは熱性能状態、または動作状態の変化の検出に応答してフラグを生成する。1つの実施形態において、メモリデバイスは、電圧センサなどを用いて、動作電圧の変化の検出に応答してフラグを生成する。現代のメモリデバイスは、性能状態の変化を検出するために複数のオンダイセンサを含むことが理解されよう。従来、そのような情報は、セルフリフレッシュの動作または他の動作を調整するために使用される。従って、メモリデバイスは、既に存在するが、他の目的のために従来使用されるセンサを用いてI/Oインピーダンスに影響を与える状態を監視することができる。
1つの実施形態において、メモリデバイスは、メモリデバイス上のモードレジスタまたは他のレジスタにセンサデータを記録する。1つの実施形態において、メモリデバイス上のコントローラそれ自体が、いつセンサデータが閾値よりも大きく変わったかを決定し、モードレジスタにフラグを設定する。1つの実施形態において、メモリデバイスは、センサデータを周期的にメモリコントローラに提供し、その結果、メモリコントローラは次に変化が閾値を超えるかどうかを決定し、インピーダンス補償を実行する必要性を示す。1つの実施形態において、メモリコントローラは、インピーダンス補償調整の必要性を示すフラグが設定されているかどうかを決定するために、モードレジスタを周期的に監視またはチェックする。1つの実施形態において、メモリコントローラとメモリデバイスとの間のコネクタが、インピーダンス補償用のフラグとして使用され得る。コネクタは、複数の状態フラグのために使用され得、フラグが設定された場合、レジスタを読み取ることにより、フラグが何を示すかを決定する。
1つの実施形態において、メモリコントローラは、メモリデバイスI/O設定の変更を始動させるインピーダンス補償信号を発行する。例えば、インピーダンス補償信号は、ドライバインピーダンスに対する調整を行わせるようにメモリデバイスを始動させることができる。別の例において、インピーダンス補償信号は、オンダイターミネーション設定に対する調整を行わせるようにメモリデバイスを始動させることができる。
メモリデバイスへの言及は、異なるメモリタイプに適用し得る。メモリデバイスは、概して、揮発性メモリ技術を指す。揮発性メモリは、電力がデバイスに遮断されたならば、その状態(ひいては、それに格納されたデータ)が不定であるメモリである。不揮発性メモリは、たとえ電力がデバイスに遮断されたとしても、その状態が確定するメモリを指す。ダイナミック揮発性メモリは、状態を維持するためにデバイス内に格納されたデータをリフレッシュすることを必要とする。ダイナミック揮発性メモリの1つの例は、DRAM(ダイナミックランダムアクセスメモリ)、またはシンクロナスDRAM(SDRAM)などのなんらかの変形を含む。本明細書に説明されるようなメモリサブシステムは、DDR3(2007年6月27日にJEDEC(Joint Electronic Device Engineering Council:電子機器技術評議会)によって元々リリースされ、目下リリース21である、二重データ速度(dual data rate)バージョン3)、DDR4(DDRバージョン4、JEDECによって2012年9月に公表された初期の仕様)、LPDDR3(JEDECによる2013年8月の低電力DDRバージョン3、JESD209−3B)、LPDDR4(2014年8月にJEDECによって元々公表されたLPDDR(LOW POWER DOUBLE DATA RATE(低電力二重データ速度)バージョン4、JESD209−4)、WIO2(2014年8月にJEDECによって元々公表されたワイドI/O2(ワイドIO2)、JESD229−2)、HBM(2013年10月にJEDECによって元々公表されたHIGH BANDWIDTH MEMORY DRAM(高帯域メモリDRAM)、JESD235)、DDR5(DDRバージョン5、JEDECによって目下検討中)、LPDDR5(JEDECによって目下検討中)、WIO3(ワイドI/O3、JEDECによって目下検討中)、HBM2(HBMバージョン2、JEDECによって目下検討中)、および/またはその他、ならびにそのような仕様の派生物もしくは拡張に基づく技術等の複数のメモリ技術と互換性を有し得る。
揮発性メモリに加えて、または、それの代わりに、1つの実施形態において、メモリデバイスへの言及は、たとえ不揮発性メモリデバイスへの電力が遮断されたとしても、その状態が確定する不揮発性メモリデバイスを指し得る。1つの実施形態において、不揮発性メモリデバイスは、NANDまたはNOR技術等のブロックアドレス指定可能メモリデバイスである。このように、メモリデバイスはまた、3次元クロスポイントメモリデバイスまたは他のバイトアドレス指定可能な不揮発性メモリデバイス等の将来世代の不揮発性デバイスを含むことができる。1つの実施形態において、メモリデバイスは、マルチ閾値レベルのNANDフラッシュメモリ、NORフラッシュメモリ、シングルまたはマルチレベルの相変化メモリ(PCM)、抵抗メモリ、ナノワイヤメモリ、強誘電体トランジスタランダムアクセスメモリ(FeTRAM)、メモリスタ技術を組み入れる磁気抵抗ランダムアクセスメモリ(MRAM)、またはスピントランスファトルク(STT)MRAM、または上記のいずれか、もしくは他のメモリの組み合わせであるか、あるいは、それを含むことができる。
図1は、インピーダンス補償がメモリデバイスのセンサデータに基づくシステムの実施形態のブロック図である。システム100は、本明細書に説明されている任意の実施形態によるメモリデバイス120のインピーダンス補償を管理するメモリコントローラ110を有するメモリサブシステムのコンポーネントを表す。システム100は、I/Oインピーダンス補償を実行する任意のタイプのコンピューティングデバイスまたは電子回路に含まれ得、メモリサブシステムは至る所に使用される例であるが、必ずしもメモリサブシステムに限定されない。システム100は、メモリ120に格納されるデータに基づき動作を実行するか、またはメモリ120に格納すべきデータを生成する処理ロジックであるホストまたはプロセッサからメモリアクセス要求を受信する。そのようなプロセッサは、ホストプロセッサ、中央処理ユニット(CPU)、マイクロコントローラもしくはマイクロプロセッサ、グラフィックプロセッサ、周辺機器プロセッサ、特定用途向けプロセッサ、または他のプロセッサ(シングルコアまたはマルチコアプロセッサにかかわらず)であり得、またはそれを含み得る。
メモリコントローラ110は、メモリ120とインターフェースで接続し、メモリに格納されるデータへのアクセスを管理するロジックを表す。1つの実施形態において、メモリコントローラ110は、ホストプロセッサのハードウェアへと統合される。1つの実施形態において、メモリコントローラ110は、ホストプロセッサから分離したスタンドアロンハードウェアである。メモリコントローラ110は、プロセッサを含む基板上の個別の回路であり得る。メモリコントローラ110は、(例えば、システムオンチップ(SoC)として)プロセッサダイと共に共通基板上に統合される個別ダイまたはチップであり得る。1つの実施形態において、メモリ120の少なくともいくつかはSoC上にメモリコントローラ110および/またはホストプロセッサと共に含まれ得る。
1つの実施形態において、メモリ120は、揮発性メモリリソースを含む。1つの実施形態において、メモリ120は、DRAMを含む。メモリ120のメモリリソースは、例えば、DIMM(デュアルインラインメモリモジュール)、ランク、DRAM,バンク、ページ、行、キャッシュライン、および/または他のアーキテクチャなどの、個別のチャネルを有する異なるメモリレベルとして、管理され得る。各々のメモリレベルおよびリソースは、独立してアドレス指定可能であり得る。1つの実施形態において、システム100は、複数のメモリ120[0]...120[N−1]を含み、Nは、整数(通常、バイナリ整数または2+1グループ)である。
メモリ120はI/O122を含み、メモリコントローラ110の対応するI/O112と相互接続するハードウェアリソースを含む。I/O112、122は、ドライバ、ODT(オンダイターミネーション)、ピン、コネクタ、トレース、パッド、配線、および/または他のハードウェアを含むことができる。I/O122および112は通常、アクセスコマンドおよびアドレス情報を送信するためのメモリコントローラ110用のコマンド/アドレス(C/A)バスと、メモリコントローラ110およびメモリ120がデータを交換することを可能にするデータバス用のコマンド/アドレスとなどの1または複数の信号線のバスに編成される。データは、読み出しコマンドで異なるメモリリソースから読み出され、または書き込みコマンドでメモリリソースへと書き込まれる。I/O112およびI/O122は、x4、x8またはx16インターフェース等の異なるサイズのデータインターフェースを含むことができ、そこで、「x」は、インターフェースを表し、「x」の後ろの数字は、インターフェースのデータビット幅(例えば、x4は、4ビット幅のインターフェースを有するなど)を表す。
1つの実施形態において、各メモリ120は、少なくとも1つのセンサ124を含む。センサ124は、熱センサ、電流センサ、電圧センサ、またはメモリの動作状態を監視する他のデバイスを含むことができる。異なるI/Oインピーダンスは、異なる動作状態に対して有用であることが理解されよう。従って、1つの実施形態において、メモリ120は、センサ124によって検出される動作状態の変化をメモリコントローラ110に報告する。動作状態の変化に応答して、メモリコントローラ110は、メモリ120の(入力かまたは出力かの)I/Oインピーダンスを構成するハードウェア機構を表すZQ comp128に関連した1または複数の設定を調整することができる。1つの実施形態において、メモリ120が、動作状態が閾値よりも大きく変わったことをセンサ124の測定値から決定した場合、メモリ120はフラグ126を設定することができる。
メモリ120[N−1:0]ごとに共通のコンポーネント番号付けが示されているが、各コンポーネントは、各メモリデバイス内で独立して動作することが理解されよう。従って、メモリ120[0]のセンサ124は、同じ動作状態が、メモリ120[N−1]内にてまだ始動されていない間に、動作状態の変化を示すフラグ126を始動させ得る。そのため、各メモリ120は、その動作状態をメモリコントローラ110に個別に示すことができる。1つの実施形態において、メモリコントローラ110は、個々のメモリ120のZQ comp128を個別に管理する。1つの実施形態において、例えば、LPDDR4の実装などにおいて、各メモリ120は、同じメモリダイ上に2つの独立したチャネルを含み得る。そのような実装において、同じダイ上の各チャネルの近接度により同じ動作状態を受けるものと仮定すると、ZQ comp128は、単一のダイの両方のチャネルに適用され得る。
メモリコントローラ110は、スケジューラ130を含み、そのことはメモリ120に関してアクセス動作およびコマンドのタイミングを管理するメモリコントローラ110内のロジックを表す。スケジューラ130は、ホストプロセッサによって生成されるデータ要求をサービス提供すべく、どのようにコマンドをオーダするかを生成および決定することができる。1つの実施形態において、スケジューラ130は、インピーダンス補償スケジューラ132を含む。1つの実施形態において、スケジューラ132は、スケジューラ130のロジックの一部である。スケジューラ132は、様々なメモリ120のZQ comp128の設定の調整に関連した動作を管理するメモリコントローラ110の能力を参照して具体的に説明される。
各メモリ120が、熱センサを含むセンサ124を有するDRAMであり、フラグ126が、DRAMのモードレジスタのビットである例を考える。1つの実施形態において、DRAMはその既存のオンダイ熱センサを利用し、メモリコントローラ110にZQ comp設定に対する調整がいつ要求されるかを通知する。1つの実施形態において、メモリコントローラ110は、126によって表わされるモードレジスタビットを監視する(例えば、その状態を決定すべくそのビットを周期的に読み取る)。各DRAM120は、最後の通知からの温度の差に基づきフラグ126を設定することができる。従って、DRAMは、一度フラグ126を設定すると、ZQ comp128を調整する必要性を示す後続のフラグのためのベースラインとして、その値を格納することができる。センサ測定値の変化は、正か、負のどちらかの変化であり得ることが理解されよう。1つの実施形態において、センサ124は、比較を内部制御し、ZQキャリブレーションラッチコマンド(例えば、ZQCalラッチ)を発行するようにメモリコントローラ110を始動させるフラグ126を設定する。
1つの実施形態において、比較それ自体を実行するのではなく、メモリ120は、センサ124の前のおよび現在の測定値(値)を格納し得、値を読み取り比較するようにメモリコントローラ110を始動させ得る。フラグ126、またはメモリ120からの他の指標に対して、ホストまたはメモリコントローラ110は、ZQCalラッチコマンドを周期的に発行することと関連したタイミングを管理する必要はないであろう。従って、メモリ120は、コマンドが発行される必要がある場合、コマンドを発行するようにメモリコントローラ110を始動させることができ、メモリコントローラ110は、タイミングを管理する必要はないか、またはメモリ120によって無視される(ZQ compの変更または更新が必要ないので無視される)こととなるコマンドを送信するC/Aバスバンド幅を使い尽くす必要はないだろう。
単一のメモリデバイス120に関する利点に加えて、コンピューティングデバイスにおけるシステム100の多くの用途が複数のメモリデバイス120を含むこととなることが理解されよう。複数のメモリデバイス120に対して、メモリコントローラ110は、ZQ comp信号を全てのメモリ120に発行するタイミングを管理するように従来要求される。そのようなプロセスは従来、たとえ個々のデバイスに対するタイミングが従来、1マイクロ秒(μs)のオーダであるとしても、ミリ秒(ms)以上にわたって時間がかかる。メモリコントローラ110が、各メモリデバイスについてのセンサデータに応答して、ZQ comp信号を発行するのを可能にすることによって、メモリコントローラ110は、相当なバンド幅を節約することができる。
また、1つの実施形態において、ZQ compスケジューラ132は、ZQ comp信号を発行するために好適なタイミングを決定するロジックを含むことができる。例えば、1つの実施形態において、スケジューラ132は、閾値数のメモリ120(例えば、1よりも大きいなんらかの数字)が、任意のZQ comp信号を生成する前にフラグ126を設定するまで、待機する。従って、スケジューラ132が、ZQ comp信号をスケジューリングすべくC/Aバス上のアクセストラフィックコマンドを無効にする場合、スケジューラ132は、複数のデバイスに対して信号を発行し得、複数のデバイスにわたってオーバヘッドを広げ得る。1つの実施形態において、スケジューラ132は、第1のフラグが検出されてから閾値期間が過ぎていない限り、閾値数のメモリ120がフラグ126を始動させるまで待機し、それから、とにかくZQ comp信号を発行するロジックを含む。1つの実施形態において、メモリコントローラは、設定されている1または複数のフラグ126に応答して、複数の並列メモリ120に一連のZQ comp信号を送信する。1つの実施形態において、メモリコントローラ110は、メモリの1つによる第1のフラグ126の検出に応答して、メモリ120のサブセットまたは全てに対して、インピーダンス補償用の一連のコマンドを送信する。
各々の異なるメモリ120からのフラグ126を個別に監視することにより、メモリコントローラ110は、必要とされないZQ comp信号の送信を回避することができる。要求されない場合にメモリコントローラ110およびメモリ120の両方にZQ comp動作を先制して実行させる際、メモリコントローラ110にオーバヘッドを受けさせる代わりに、システム100がそのような動作の必要性に応答することができる。そのような動作により、インピーダンス補償がどのように管理され得るかについての調整を可能にすることによって、システム性能を改善するための複数の経路を提供することができる。例えば、1つの実施形態において、各メモリ120は、閾値がシステムの速度を改善する許容範囲に適合するように最適化すべく、閾値はいつ設定され得るかを(例えば、そのことを表示する値で構成されるなどで)知ることができる。そのような構成は、使用中の一般的なシステム幅の最悪のケースの許容範囲に依存するのではなく、各メモリベンダがそれらの具体的なプロセスおよび/またはメモリ実装に対するインピーダンス補償のタイミングを制御することに起因して、I/Oに対するより良好な許容範囲をもたらし得る。
1つの実施形態において、メモリコントローラ110は、各メモリ120からセンサデータを読み取る。1つの実施形態において、センサデータを読み取ることは、フラグ126を読み取ること、および/またはセンサ124の値を読み取ることとして理解され得る。スケジューラ132は、フラグ126を読み取るか、センサデータを読み取り、それを前に格納された測定値に対して比較するかのどちらかによって性能状態が閾値を超えて変わったことを決定することができる。メモリコントローラ110は、前の測定値を格納することができ、および/またはメモリ120は、前の測定値を格納することができる。メモリコントローラ110は、ZQ comp128に関連する少なくとも1つの設定を調整するようにメモリ120を始動させるべく、インピーダンス補償信号を生成する。
図2は、メモリデバイスセンサデータが、リフレッシュ制御設定に加えてインピーダンス補償のために使用され得るメモリサブシステムの実施形態のブロック図である。システム200は、図1のシステム100によるメモリサブシステムの1つの例であり得る。より具体的には、システム200は、システム100の1つの実施形態により実装され得る特定の特徴を示す。メモリコントローラ210は、メモリ220へのアクセスを管理する。メモリ220は、システム200における複数のメモリデバイスの1つであり得る。メモリコントローラ210は、メモリ220のI/O230を経由してメモリ220とインターフェースで接続するI/O212を含む。
1つの実施形態において、メモリコントローラ210は、リフレッシュコントロール214を含む。リフレッシュコントロール214は、揮発性メモリ220のリフレッシュを管理するメモリコントローラ210内のロジックを表す。リフレッシュコントロール214は、メモリ220用のセルフリフレッシュ設定を管理するための、および/またはメモリコントローラがリフレッシュコマンドを発行する通常リフレッシュのためのロジックを含み得る。1つの実施形態において、リフレッシュコントロール214は、その動作をメモリ220におけるセンサからの情報に基づき調整する。
1つの実施形態において、メモリコントローラ210は、ZQ補償コントロール216を含む。ZQ compコントロール216は、メモリ220(I/O230)のI/Oインターフェースのためのインピーダンス補償を管理するロジックを表す。ZQ compコントロール216は、本明細書に説明されている任意の実施形態による補償制御を実行することができる。ZQ compコントロール216は、システム200の補償制御のタイミングを管理するスケジューラであり得、またはそれを含み得る。ZQ compコントロール216は、センサが動作状態の変化を検出したことを示すセンサデータに基づき、インピーダンス補償信号をメモリ220および他のメモリデバイスにいつ送信するかを決定する。1つの実施形態において、メモリ220は変化をフラグするだろうが、メモリコントローラ210はまだ、そのI/O補償を調整すべくメモリデバイスを始動させる信号をいつ発行するかを決定するだろう。たとえメモリコントローラ210が、補償信号をいつ送信するかの決定を行うとしても、メモリコントローラは、メモリによるフラグまたは指標の検出または決定に応答して、信号を生成することが理解されよう。
メモリ220は、アレイ242を含み、それはメモリ220のメモリリソースを表わす。メモリリソースは、複数行のデータを含み得、行および列によってアドレス指定可能である。ロジック244は、読み取りまたは書き込み等のメモリアクセスコマンドによって特定されるアレイ242内の位置をアドレスするメモリ220内のデコードロジックを表す。コントローラ222は、メモリ220のコントローラを表す。メモリコントローラ210は、システム200用のコントローラであり、ホストのためにメモリ220へのアクセスを制御することが理解されよう。コントローラ222は、メモリ220内の処理リソースを表し、メモリが、メモリコントローラ210から受信されるメモリアクセスコマンドを処理するそれ自身の動作を管理およびスケジューリングするのを可能にする。
1つの実施形態において、メモリ220は、1または複数のセンサ226を含む。センサ226は、I/O230のインピーダンスに影響を与える性能状態の変化を検出することができる電圧センサ、温度センサ、電流センサまたは他のセンサを含むことができる。多くの現代のメモリがオンダイセンサを含むことは、理解されよう。センサは、オーバエイジ(overage)状態に関連した状態を検出するために従来使用されていた。センサ226によって検出される状態の特定の変化はまた、I/O230の入力および出力インピーダンスに影響を与える状態を示し得る。1つの実施形態において、コントローラ222は、状態が閾値を超えて変わったことをセンサ226からの測定値に基づいて決定する。閾値が、システムアーキテクチャ、メモリタイプ、I/Oタイプ、メモリサイズおよび他の要因に基づき設定されることとなることは、理解されよう。閾値は、性能状態がI/O230のI/Oインピーダンスに望ましくない影響を及ぼすのにいつ十分に変わるかを決定する。I/Oインピーダンスの変化は、送信および受信のマージン化(margining)および/またはタイミングに影響を与え得る。
I/O230は、メモリ220がデータをメモリコントローラ210に送信するためのI/O信号線を駆動するドライバ232を含む。1つの実施形態において、I/O230は、メモリコントローラ210からデータを受信するためのメモリ220用の入力インピーダンスを制御するODT(オンダイターミネーション)234を含む。ドライバ232およびODT234は、メモリ220との設定によって構成可能であり、まとめてI/O設定と呼ばれ得る。ドライバ232およびODT234の設定は、メモリコントローラ210およびメモリ220間の交換(送信か、受信のどちらか)にかかる信号品位のタイミング、反射および他の態様に影響を与え得る。1つの実施形態において、レジスタ224はI/O230に対するI/O設定を含むレジスタを表す。動作電圧および動作温度などの特定の性能状態の変化は、たとえI/O設定を変更しなくても、インピーダンスをドリフトさせ得る。I/O設定(ZQ comp)に対する調整により、変更状態を補償することができる。1つの実施形態において、メモリ220は、単一のメモリダイ上の2つのチャネルを含み、I/O設定は、チャネルの全域で共用される。
1つの実施形態において、I/O設定は、メモリ220用の異なるI/Oに適用される。例えば、ドライバ232は、双方向信号線(データバスなど)に適用され得るが、一方向バス(コマンド/アドレスバスなど)には適用されないだろう。ODT234は、一方向信号線および双方向信号線の両方に適用され得る。1つの実施形態において、当技術分野に理解されるように、ODTはプルアップレッグおよびプルダウンレッグの両方を含み、プルアップおよびプルダウンの組み合わせが構成され得る。I/O設定により、ドライバ232が信号線をどれくらい激しく(例えば、使用する電流がどれくらい大きいか)駆動するかと、ODTが信号線を終端するようにどのように構成されるかと、を決定することができる。メモリコントローラ210からのZQcal信号または他の補償信号は、メモリ220内のI/O設定に対する調整を開始することができる。
1つの実施形態において、レジスタ224は、メモリ220用のモードレジスタを表すか、または含む。モードレジスタは、メモリ220用の様々な動作設定を制御するメモリ220内のレジスタである。異なる設定は、異なる動作モードと対応することができる。1つの実施形態において、メモリコントローラ210は、メモリ220を特定のモードに置くように、特定のビットパターンをモードレジスタのレジスタ要素に設定するに過ぎない。どんなモードのメモリ220が内部にあるかに応じて、コントローラ222は、特定の設定をI/O230および/またはメモリ220の他のコンポーネントに適用し得、および/または特定のタイミングパラメータをその動作に適用し得る。
1つの実施形態において、メモリ220は、センサ226の変化の検出に応答して、(メモリコントローラ210によりアクセス可能なモードレジスタまたは他のレジスタであり得る)レジスタ224のフラグを設定する。例えば、コントローラ222は、センサ226からの測定値の1または複数の値を(その動作のためにコントローラ222によって使用されるレジスタまたはメモリ位置に)格納することができる。メモリ220は、前のまたは格納された測定値と比較して新たなセンサ測定値の変化を検出することができる。1つの実施形態において、レジスタ224は、1または複数のセンサ値が格納され得るストレージを表す。1つの実施形態において、メモリコントローラ210は、レジスタ224のメモリ220によって設定される値またはフラグを周期的に読み取り、メモリがそのI/Oインピーダンス設定に対する調整の準備ができたかどうかを決定する。システム200は、割り込みベースの機構で代わりに構成され得る。しかしながら、割り込み機構は、メモリ220からの割り込みをメモリコントローラ210に伝達するために専用信号線または多重化/再利用化信号線を必要とする場合がある。
図3は、調整可能なインピーダンス補償のためのコマンド/アドレスタイミングのタイミング図の実施形態である。C/A信号310は、インピーダンス補償への従来のアプローチを表し、それは最悪のケースのシステム状態に基づく。最悪のケースのアプローチに対して、C/A310は、メモリコントローラが、ZQCal起動信号で(図3のためにZQ compと呼ばれる)インピーダンス補償を開始する繰り返しスケジュールを説明する。ZQcalの開始とZQ compラッチ信号(ZQCalラッチ)の発行との間のタイミングは、tZQCalであり、それは最小で1マイクロ秒(μs)となるようにスケジューリングされる。従って、メモリコントローラは従来、ZQ compのために準備をするようにメモリを始動させるZQキャリブレーションを開始し、次にメモリにZQ compをラッチさせるラッチ信号を発行しなくてはならない。メモリデバイスがZQ compをラッチする時間は、tZQLatであり、それはおよそ30ナノ秒(ns)である。
いくつかの場合において、メモリコントローラは、調整中にC/Aバスをアイドルに保持(バスを停止)しておくこととなり、従ってC/A310は、メモリデバイスごとに、実行されるキャリブレーションごとにtZQCal+tZQLatのオーバヘッドを受けることとなる。メモリコントローラは従来、メモリがそのZQ comp設定を調整する必要があるかどうかにかかわらず、メモリデバイスごとにC/A310についてのスケジュールを繰り返さなければならない。システム構成に応じて、C/Aバスのアイドル時間、その結果としてアクティブバンド幅の損失は、秒当たり数ミリ秒のアイドル時間へと拡張する場合がある。他の場合には、メモリコントローラは、他のコマンドを発行し続けることによって背景のtZQCal レイテンシを隠すことができる。しかしながら、タイミングは、メモリデバイスが更新される必要があるか否かにかかわらず、定期的なスケジュールにわたってデバイスごとにまだ監視およびスケジューリングされなければならず、それによりメモリコントローラリソースを不必要に拘束する場合がある。
C/A320は、本明細書に説明されている任意の実施形態によるZQ compの発行に対するフラグチェック機構を説明する。C/A320によるZQ compの発行により、ZQ compと関連付けられるオーバヘッドは著しく低減され得る。ZQ compコマンドを周期的に発行し、1μs期間後にZQCalラッチをスケジューリングする必要がある代わりに、メモリコントローラは、必要に応じてZQ compコマンドを発行するに過ぎない。性能状態に対する検出変化はないので、または、性能状態に対する変化は、補償を調整する必要性を示す閾値を超えないので、C/A320は、インピーダンス設定に対する変更が必要とされない期間を示し始める。変更後のある期間は必要とされないと仮定して、1つの実施形態において、メモリコントローラは、センサが閾値を超える性能状態の変化を示すかどうかをメモリが設定することとなるフラグをチェックする。そのような決定は、本明細書に説明される任意の実施形態に従って行われ得る。
C/A320のフラグチェックが、ZQ compを実行する必要性を示さないことを仮定すると、メモリコントローラは、ZQ compコマンドを発行することなく動作を継続するだろう。C/A320のフラグチェックがZQ compを実行する必要性を示すことを仮定すると(図3に示される状態)、メモリコントローラは、ZQCalラッチ信号を発行する。時間tZQChk(フラグのチェックとラッチ信号の発行との間の時間)は、少なくとも2つの方法にて調整可能であることが理解されよう。メモリコントローラは、その時間の少なくとも一部でフラグが設定されないので、チェックを実行した直後にZQCalラッチ信号を必ずしも発行しないこととなることが予想されるので、tZQChkは、調整可能である。1つの実施形態において、たとえフラグが設定されたとしても、メモリコントローラは、少なくともある期間にZQCalラッチ信号をいつ発行するかを制御することができる点でも、tZQChkは、調整可能である。例えば、メモリコントローラは、ZQCalラッチを発行する前に特定の数のメモリデバイスがフラグを設定するまで待機することができる。C/A320についてのZQCalラッチの発行後に、同じ期間、およそ30nsのtZQLatが存在することが理解されよう。メモリコントローラは、C/A320にて必要とされるに過ぎないZQCalラッチのチェックおよび発行を繰り返すだろう。
1つの実施形態において、フラグをチェックし、ZQCalラッチを発行するように決定する時間は、時間tZQLatに相当する。従って、フラグチェックからZQCalラッチまでのタイミングは、数十ナノ秒のオーダであり得、これはメモリコントローラが従来管理しなければならない1μsより著しく低い。また、複数のラッチが、複数の異なるメモリデバイスから検出される実施形態において、複数のデバイスは、ZQ comp調整の準備が可能となり得、全てが順にラッチされ得、そのことは、それらのインピーダンス補償を更新する必要がない複数のメモリデバイスのZQ compを開始する必要はないことから、かなりのオーバヘッドを低減する。そのようなアプローチは、C/A320上のZQ comp信号のスケジューリングを最大化し得る。
1つの実施形態において、メモリデバイスが、リフレッシュ状態のタイミング構成(例えば、セルフリフレッシュ用のメモリデバイスそれ自体によるスケジューリングのタイミングおよび/または自動リフレッシュ用のメモリコントローラによるスケジューリングのタイミング)を設定するためにそれが監視するセンサを含む。1つの実施形態において、メモリコントローラは、リフレッシュタイミングを構成するために、センサデータを周期的にチェックする。従って、1つの実施形態において、メモリコントローラは、リフレッシュ用にチェックされる同じセンサデータに基づいて、インピーダンス補償チェックを追加で実行することができる。そのような実装において、ZQ compフラグの読み出しまたはチェックは、リフレッシュ読み出しまたはリフレッシュ監視動作中に生じ得る。従って、ZQ compフラグをチェックすることは、最小限のオーバヘッドで実装され得る。
図4は、メモリデバイスのセンサデータに基づくインピーダンス補償を実行するためのプロセスの実施形態のフロー図である。インピーダンス補償を実行するためのシステム400は、図1のシステム100および/または図2のシステム200など、本明細書に説明されている任意の実施形態によるシステムによって実行され得る。1つの実施形態において、インピーダンス補償動作は、メモリコントローラおよびメモリデバイスにおける並列動作を含む。1つの実施形態において、メモリコントローラは、メモリにより設定されるべきフラグを監視し、フラグがメモリはインピーダンス補償調整のために読み取られることを示すかどうかを決定する(402)。フラグが補償を変更する必要性を示さない場合(404NO分岐)、メモリコントローラは、インピーダンス補償コマンドを発行しないで、フラグを監視し続ける。
メモリコントローラがフラグを監視している間、メモリは、フラグを設定するかどうかを決定すべく1または複数のセンサを監視する(412)。センサは、メモリのI/Oインピーダンスに影響を与える1または複数の性能状態を監視する。1つの実施形態において、センサから読み取られた値に基づき、メモリは、性能状態の変化が閾値を超えるかどうかを決定する(414)。1つの実施形態において、メモリコントローラは、値を読み取り、決定を行う。状態の変化が、ある閾値Xほど大きくない場合、416NO分岐、メモリは、センサを監視し続ける(412)。性能状態の変化は、正または負であり得ることが理解されよう。従って、Xは、正の数か、負の数のどちらかを表し得、あるいは、416の状態は、変化の絶対値が、Xを超えるかどうかであり得る。
1つの実施形態において、状態の変化が閾値を超えない場合(416YES分岐)、メモリは、補償フラグまたは他の指標を更新する(418)。フラグは、メモリがインピーダンス補償を実行する準備ができていることを示す。1つの実施形態において、メモリは、センサからの後続の測定値と比較するために使用する状態値を格納する(420)。メモリがフラグを設定する場合に(418)、メモリコントローラは、それが次にフラグを評価する場合にフラグを検出することとなる。1つの実施形態において、フラグが設定された場合、404YES分岐、メモリコントローラは、インピーダンス補償コマンドを発行するかどうかを決定する(422)。1つの実施形態において、メモリコントローラは、コマンドを発行する前に複数のメモリデバイスが補償の準備ができるまで、待機することとなる。1つの実施形態において、メモリコントローラは、時間依存メモリアクセスコマンドを発行した後までコマンドの発行を遅延することとなる。
従って、メモリコントローラは、メモリのインピーダンス補償を更新しないことを決定した場合(424NO分岐)、メモリコントローラが、コマンドを発行する前に実行し得る複数の動作のいずれかがあり得る。最終的に、メモリコントローラは、インピーダンス補償を更新するだろう。メモリコントローラは、インピーダンス補償を更新する場合(424YES分岐)、メモリコントローラは、フラグをリセットすることができる(426)。1つの実施形態において、メモリコントローラは、フラグの値を直接書き込むことができる。1つの実施形態において、メモリコントローラは、メモリにフラグをリセットさせる信号を発行する。
メモリコントローラは、1または複数のメモリに発行すべき1または複数のインピーダンス補償信号またはコマンドを生成する(428)。メモリコントローラは、メモリに信号を送信するか、またはメモリにコマンドを発行する(430)。メモリは、ZQ comp信号を受信し、信号をデコードする(432)。1つの実施形態において、メモリはどんな更新を行うかを決定する(434)。1つの実施形態において、ZQ comp信号は、どんな変更を行うかを示す。1つの実施形態において、メモリは、センサによって示される状態の検出とフラグの設定とに関連して、どんな変更を行うかを決定する。1つの実施形態において、メモリは、I/Oインピーダンスの異なる態様を更新することができる。
1つの実施形態において、メモリは、ODTに関連した設定を更新する(436ODT分岐)。メモリは、読み取りインピーダンスおよび/または書き込みインピーダンスなどの、1または複数のODT態様に対する新たな設定を設定することができる(438)。1つの実施形態において、メモリは、出力ドライバに関連した設定を更新する(436ドライバ分岐)。メモリは、出力ドライバ用の新たな設定を設定することができる(440)。
図5は、セルフリフレッシュ制御およびインピーダンス補償のためにメモリデバイスセンサデータを適用するためのプロセスの実施形態のフロー図である。プロセス500は、メモリがセンサデータをどのように適用し得るかについての実施形態を説明する。図4のプロセス400は、メモリデバイスそれ自体が、そのセンサの測定値に基づきフラグを設定する決定を行うプロセスを示すが、プロセス500は、メモリコントローラが、決定を計算することができるプロセスを示す。メモリは、変化に対するモニタである1または複数のセンサを含む(502)。1つの実施形態において、メモリは、センサ測定値を周期的に取得および記録する。1つの実施形態において、メモリは、メモリコントローラにアクセス可能なレジスタにセンサデータを記録する(504)。
1つの実施形態において、メモリコントローラは、センサデータのためにレジスタを読み取る時であるかどうかを決定する(506)。メモリコントローラがレジスタを読み取る時である場合(508YES分岐)、メモリは、レジスタデータを提供する(510)。1つの実施形態において、メモリコントローラは、リフレッシュおよび/またはセルフリフレッシュのために、メモリにどんな設定を適用するかを決定すべく、センサ測定値と共にレジスタデータを使用する。従って、メモリコントローラは、センサデータに基づき1または複数のリフレッシュ設定を設定することができる(512)。1つの実施形態において、メモリコントローラは、メモリにZQ補償コマンドを発行するかどうかをまた決定すべく、センサデータを適用する。1つの実施形態において、そのような動作は、メモリコントローラに従来の1μsのtZQCalタイミングを管理することを要求する場合があるが、補償の変更がいつ必要とされるかのようなタイミングを管理する必要があるに過ぎないだろう。従って、メモリコントローラは、ZQ compへのそのようなアプローチによってC/Aバス上のバンド幅をまだ保持することができる。従って、メモリコントローラは、センサデータがメモリのインピーダンス補償の必要性を示すかどうかを決定することができる(514)。1つの実施形態において、インピーダンス補償の決定および発行は、424にて開始したプロセス400に従って実行され得る。その相違は、メモリコントローラが、ZQcal開始(または起動)コマンド、ならびにZQ comp信号またはコマンドとしてのラッチの両方を発行する必要があり得ることとなるであろう。
図6は、メモリデバイスのセンサデータに基づくインピーダンス補償が実装され得るコンピューティングシステムの実施形態のブロック図である。システム600は、本明細書に説明されている任意の実施形態によるコンピューティングデバイスを表し、それは、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、ゲームもしくはエンタテインメント制御システム、スキャナ、コピー機、プリンタ、ルーティングもしくはスイッチングデバイス、または他の電子デバイスであり得る。システム600は、プロセッサ620を含み、それは、システム600に対する命令の処理、動作管理、および実行を提供する。プロセッサ620は、システム600用の処理を提供するために、任意のタイプのマイクロプロセッサ、中央処理装置(CPU)、処理コア、または他の処理ハードウェアを含み得る。プロセッサ620は、システム600の動作全体を制御し、1または複数のプログラム可能な汎用もしくは専用マイクロプロセッサ、デジタル信号プロセッサ(DSP)、プログラム可能なコントローラ、特定用途向け集積回路(ASIC)、プログラム可能ロジックデバイス(PLD)等、またはそのようなデバイスの組み合わせであり得、またはそれらを含み得る。
メモリサブシステム630は、システム600のメインメモリを表し、プロセッサ620により実行されるべきコード、またはルーチンを実行するのに用いられるべきデータ値のための一時的なストレージを提供する。メモリサブシステム630は、リードオンリメモリ(ROM)、フラッシュメモリ、1または複数の様々なランダムアクセスメモリ(RAM)または他のメモリデバイス、あるいはそのようなデバイスの組み合わせ等の1または複数のメモリデバイスを含み得る。メモリサブシステム630は、特に、システム600において命令を実行するためのソフトウェアプラットフォームを提供するためのオペレーティングシステム(OS)636を格納してホスティングする。さらに、他の命令638が、システム600のロジックおよび処理を提供するべく、メモリサブシステム630から格納され、実行される。OS636および命令638は、プロセッサ620により実行される。メモリサブシステム630は、データ、命令、プログラム、または他のアイテムを格納するメモリデバイス632を含む。1つの実施形態において、メモリサブシステムは、メモリコントローラ634を含み、これは、メモリデバイス632にコマンドを生成して発行するメモリコントローラである。メモリコントローラ634が、プロセッサ620の物理的な部分であり得ることが、理解されよう。
プロセッサ620およびメモリサブシステム630は、バス/バスシステム610に結合される。バス610は、適切なブリッジ、アダプタ、および/またはコントローラにより接続された任意の1または複数の別個の物理的バス、通信ライン/インターフェース、および/またはポイントツーポイント接続を表す抽象物である。従って、バス610は、システムバス、周辺構成要素相互接続(PCI)バス、ハイパートランスポートもしくは業界標準アーキテクチャ(ISA)バス、小型コンピュータシステムインターフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、または米国電気電子学会(IEEE)規格1394バス(一般に「ファイヤワイヤ」と呼ばれる)のうちの1または複数を、例えば、含み得る。バス610のバスはまた、ネットワークインターフェース650におけるインターフェースに対応し得る。
システム600はまた、バス610に結合された1または複数の入出力(I/O)インターフェース640、ネットワークインターフェース650、1または複数の内部大容量ストレージデバイス660、および周辺機器インターフェース670を含む。I/Oインターフェース640は、1または複数のインターフェースコンポーネントを含み得、ユーザはこれらを介してシステム600とインタラクトする(例えば、ビデオ、オーディオ、および/または英数字のインターフェース)。ネットワークインターフェース650は、1または複数のネットワークを通じてリモートデバイス(例えば、サーバ、他のコンピューティングデバイス)と通信する能力をシステム600に提供する。ネットワークインターフェース650は、イーサネット(登録商標)アダプタ、無線相互接続コンポーネント、USB(ユニバーサルシリアルバス)、または他の有線もしくは無線規格ベースのインターフェースまたは独自のインターフェースを含み得る。
ストレージ660は、1または複数の磁気、ソリッドステートもしくは光学ベースのディスク、または組み合わせ等の不揮発性の態様で大量のデータを格納する任意の従来媒体であり得、またはこれらを含み得る。ストレージ660は、コードまたは命令およびデータ662を永続的状態に保つ(すなわち、値はシステム600への電力の遮断にもかかわらず保持される)。ストレージ660は、一般的には「メモリ」と見なされ得るが、メモリ630は、命令をプロセッサ620に提供する実行メモリまたは動作メモリである。ストレージ660は、不揮発性であるが、メモリ630は、揮発性メモリを含み得る(すなわち、システム600への電力が遮断されると、データの値または状態が不定になる)。
周辺機器インターフェース670は、具体的に上述されていない任意のハードウェアインターフェースを含み得る。一般に、周辺機器は、従属的にシステム600に接続するデバイスを指す。従属的接続は、その上で動作が実行され、それを用いてユーザがインタラクトするソフトウェアおよび/またはハードウェアプラットフォームを、システム600が提供する接続である。1つの実施形態において、システム600は、サーバ装置である。サーバ装置の1つの実施形態において、システム600は、サーバ構成にて共に組み合わされる複数のシステムのうちの1つであり得る。例えば、サーバは、シャーシシステムの他のブレードサーバと組み合わされるブレードサーバとして実装され得る。
1つの実施形態において、メモリサブシステム630は、ZQ compコントロール680を含み、そのことは、センサデータに基づきメモリ632用のI/Oインピーダンス制御を実装するシステム600内のロジックを表す。ZQ compコントロール680は、システム600の別個の要素として示されるが、本明細書に説明されている任意の実施形態によるZQ compを実装するメモリコントローラ634およびメモリ632のロジックを表す。1つの実施形態において、メモリ632は、それがいつZQ compを必要とし、それがいつZQ compコマンドを発行させるようにメモリコントローラ634を始動するフラグを設定するかを決定する。
図7は、メモリデバイスのセンサデータに基づくインピーダンス補償が実装され得るモバイルデバイスの実施形態のブロック図である。デバイス700は、コンピューティングタブレット、携帯電話もしくはスマートフォン、無線機能付き電子書籍リーダ、ウェアラブルコンピューティングデバイス、または他のモバイルデバイス等のモバイルコンピューティングデバイスを表す。コンポーネントのうちの特定のものが全体として示されており、そのようなデバイスの全てのコンポーネントがデバイス700に示されているわけではないことが理解されよう。
デバイス700は、デバイス700の主要な処理動作を実行するプロセッサ710を含む。プロセッサ710は、マイクロプロセッサ、用途プロセッサ、マイクロコントローラ、プログラム可能ロジックデバイス、または他の処理手段等の1または複数の物理的デバイスを含み得る。プロセッサ710により実行される処理動作は、その上で用途および/またはデバイスの機能が実行されるオペレーティングプラットフォームまたはオペレーティングシステムの実行を含む。処理動作は、人間ユーザまたは他のデバイスとのI/O(入出力)に関連する動作、電力管理に関連する動作、および/またはデバイス700を別のデバイスに接続することに関連した動作を含む。処理動作はまた、オーディオI/Oおよび/またはディスプレイI/Oに関連した動作を含み得る。
1つの実施形態において、デバイス700は、オーディオ機能をコンピューティングデバイスに提供することに関連したハードウェア(例えば、オーディオハードウェアおよびオーディオ回路)およびソフトウェア(例えば、ドライバ、コーデック)のコンポーネントを表すオーディオサブシステム720を含む。オーディオ機能は、スピーカおよび/またはヘッドフォン出力、ならびにマイク入力を含み得る。そのような機能のためのデバイスは、デバイス700へ統合され、またはデバイス700に接続され得る。1つの実施形態において、ユーザは、プロセッサ710によって受信および処理されるオーディオコマンドを提供することにより、デバイス700とインタラクトする。
ディスプレイサブシステム730は、ユーザがコンピューティングデバイスとインタラクトするための視覚および/または触覚ディスプレイを提供する、ハードウェア(例えば、ディスプレイデバイス)およびソフトウェア(例えば、ドライバ)のコンポーネントを表す。ディスプレイサブシステム730は、ユーザにディスプレイを提供するために使用される特定のスクリーンまたはハードウェアデバイスを含むディスプレイインターフェース732を含む。1つの実施形態において、ディスプレイインターフェース732は、ディスプレイに関連した少なくともいくつかの処理を実行する、プロセッサ710と別個のロジックを含む。1つの実施形態において、ディスプレイサブシステム730は、ユーザに出力および入力の両方を提供するタッチスクリーンデバイスを含む。1つの実施形態において、ディスプレイサブシステム730は、ユーザに出力を提供する高解像度(HD)ディスプレイを含む。高解像度とは、およそ100PPI(ピクセル・パー・インチ)またはそれより大きな画素密度を有する表示を指し得、フルHD(例えば、1080p)、網膜ディスプレイ、4K(超高解像度もしくはUHD)、または他のもののようなフォーマットを含み得る。
I/Oコントローラ740は、ユーザとのインタラクションに関連したハードウェアデバイスおよびソフトウェアコンポーネントを表す。I/Oコントローラ740は、オーディオサブシステム720および/またはディスプレイサブシステム730の一部であるハードウェアを管理するように動作し得る。さらに、I/Oコントローラ740は、デバイス700に接続する追加のデバイスに関する接続ポイントを図示し、ユーザはデバイス700を介してシステムとインタラクトし得る。例えば、デバイス700に取り付けられ得るデバイスとしては、マイクデバイス、スピーカもしくはステレオシステム、ビデオシステムもしくは他のディスプレイデバイス、キーボードもしくはキーパッドデバイス、またはカードリーダもしくは他のデバイス等の特定のアプリケーションと共に使用するための他のI/Oデバイスを含み得る。
上記のように、I/Oコントローラ740は、オーディオサブシステム720および/またはディスプレイサブシステム730とインタラクトし得る。例えば、マイクまたは他のオーディオデバイスを介した入力は、デバイス700の1または複数の用途または機能のための入力またはコマンドを提供し得る。さらに、ディスプレイ出力の代わりに、またはこれに加えてオーディオ出力が提供され得る。別の例において、ディスプレイサブシステムがタッチスクリーンを含む場合、ディスプレイデバイスはまた、I/Oコントローラ740によって少なくとも部分的に管理され得る入力デバイスとして機能する。I/Oコントローラ740によって管理されるI/O機能を提供すべく、デバイス700上に追加のボタンまたはスイッチも存在し得る。
1つの実施形態において、I/Oコントローラ740は、加速度計、カメラ、光センサもしくは他の環境センサ、ジャイロスコープ、全地球測位システム(GPS)、またはデバイス700に含まれ得る他のハードウェア等のデバイスを管理する。入力は、直接のユーザインタラクションの一部であり得ると共に、システムの動作(ノイズに対するフィルタリング、輝度検出のためのディスプレイの調整、カメラのフラッシュの適用、または他の機能等)に影響するように、システムへの環境入力に提供し得る。1つの実施形態において、デバイス700は、バッテリ電力使用量、バッテリの充電、および省電力動作に関連した機能を管理する電力管理750を含む。
メモリサブシステム760は、デバイス700に情報を格納するためのメモリデバイス762を含む。メモリサブシステム760は、不揮発性(メモリデバイスへの電力が遮断されても状態が変化しない)および/または揮発性(メモリデバイスへの電力が遮断されると、状態が不定になる)メモリデバイスを含み得る。メモリ760は、システム700の用途および機能の実行に関連する用途データ、ユーザデータ、音楽、写真、文書、または他のデータ、ならびにシステムデータ(長期的または一時的であるかに関係なく)を格納し得る。1つの実施形態において、メモリサブシステム760は、メモリコントローラ764(また、システム700のコントロールの一部とみなされ得ると共に、潜在的にプロセッサ710の一部とみなされ得る)を含む。メモリコントローラ764は、メモリデバイス762にコマンドを生成して発行するスケジューラを含む。
接続770は、デバイス700が外部デバイスと通信することを可能にするハードウェアデバイス(例えば、無線および/または有線コネクタ、ならびに通信ハードウェア)およびソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含む。外部デバイスは、他のコンピューティングデバイス、無線アクセスポイントまたは基地局等の別個のデバイス、ならびにヘッドセット、プリンタ、または他のデバイス等の周辺機器であり得る。
接続770は、複数の異なるタイプの接続を含み得る。一般化すると、デバイス700は、セルラ接続772および無線接続774と共に図示されている。セルラ接続772は一般に、無線キャリアが提供するセルラーネットワーク接続を指し、例えば、GSM(登録商標)(グローバルシステム・フォー・モバイルコミュニケーション)またはその変形規格または派生規格、CDMA(符号分割多重アクセス)またはその変形規格または派生規格、TDM(時分割多重)またはその変形規格または派生規格、LTE(ロングタームエボリューション、「4G」とも呼ばれる)またはその他のセルラ方式サービス規格を介して提供される。無線接続774は、セルラでない無線接続を指し、パーソナルエリアネットワーク(Bluetooth(登録商標)など)、ローカルエリアネットワーク(WiFi(登録商標)など)、および/またはワイドエリアネットワーク(WiMax(登録商標)など)、または他の無線通信を含み得る。無線通信は、非固体媒体を介して変調電磁放射の使用によるデータ転送を指す。有線通信は、固体通信媒体を介して存在する。
複数の周辺接続780は、周辺接続を行うべく、ハードウェアインターフェースおよびコネクタ、ならびにソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含む。デバイス700は、他のコンピューティングデバイスに対する周辺デバイス(「to」782)であり得ると共に、それに接続された周辺デバイスを有するもの(「from」784)でもあり得ることが理解されよう。一般に、デバイス700は、デバイス700上のコンテンツの管理(例えば、ダウンロードおよび/またはアップロード、変更、同期)などを目的として他のコンピューティングデバイスに接続する「ドッキング」コネクタを有する。さらに、ドッキングコネクタは、デバイス700がコンテンツの出力を制御することを可能にする特定の周辺機器、例えば、オーディオビジュアルシステムまたは他のシステムに、デバイス700が接続することを可能にし得る。
独自のドッキングコネクタまたは他の独自の接続ハードウェアに加えて、デバイス700は一般的または規格ベースのコネクタにより周辺接続780を行い得る。一般的なタイプは、(複数の異なるハードウェアインターフェースのうちのいずれかを含み得る)ユニバーサルシリアルバス(USB)コネクタ、MiniDisplayPort(MDP)を含むDisplayPort、高解像度マルチメディアインターフェース(HDMI(登録商標))、ファイヤワイヤ、または他のタイプを含み得る。
1つの実施形態において、メモリサブシステム760は、ECC766を含む。ECC766は、別個の要素として示されるが、メモリデバイス762の内部ECCと、メモリコントローラ764のシステムレベルECCとを表す。内部ECCは、読み取り要求に応答してエラー検出および訂正を実行した後に内部チェックビットを生成する。メモリコントローラ764の外部ECCは、システムレベルにてエラー訂正を増大すべく、チェックビットをメタデータとして使用することができる。
1つの実施形態において、メモリサブシステム760は、ZQ compコントロール766を含み、そのことはセンサデータに基づくメモリ762用のI/Oインピーダンス制御を実装するシステム700内のロジックを表す。ZQ compコントロール766は、システム700の別個の要素として示されるが、本明細書に説明される任意の実施形態によるZQ compを実装するメモリコントローラ764およびメモリ762のロジックを表す。1つの実施形態において、メモリ762は、それがいつZQ compを必要とし、メモリコントローラ764にZQ compコマンドを発行させるように始動するフラグをいつ設定するかを決定する。
1つの態様において、I/O(入出力)インターフェースのインピーダンス補償のための方法は、
メモリデバイスに対するI/Oインピーダンスに影響を与える性能状態の変化を、メモリデバイス上のロジックによって検出する工程と、
変化を検出する工程に応答して、関連したメモリコントローラに対する補償フラグ信号を始動する工程と、
補償フラグ信号に応答して、メモリデバイスのI/Oインピーダンス補償の変更を始動するインピーダンス補償信号を、メモリコントローラからメモリデバイスにて受信する工程と
を含む。
1つの実施形態において、性能状態の変化を検出する工程は、閾値を超える動作温度の変化を検出する工程を有する。1つの実施形態において、性能状態の変化を検出する工程は、閾値を超える動作電圧の変化を検出する工程を有する。1つの実施形態において、性能状態の変化を検出する工程は、オンダイセンサを用いて変化を検出する工程を有する。1つの実施形態において、補償フラグ信号を始動する工程は、メモリコントローラによって周期的にチェックされるべきメモリデバイスのモードレジスタの値を設定する工程を有する。1つの実施形態において、インピーダンス補償信号が、I/Oインピーダンス補償の変更を始動させることは、ドライバインピーダンスに対する調整を始動させることを有する。1つの実施形態において、インピーダンス補償信号は、I/Oインピーダンス補償の変更を始動させるオンダイターミネーション値に対する調整を始動させることを有する。1つの実施形態において、メモリデバイスはメモリコントローラに並列に結合される複数のメモリデバイスのうちの1つであり、補償フラグ信号に応答して、インピーダンス補償信号を受信する段階は、メモリコントローラが複数のメモリデバイスの閾値数から補償フラグを受信した後にのみメモリコントローラからインピーダンス補償信号を受信する工程を有する。1つの実施形態において、メモリデバイスはメモリコントローラに並列に結合される複数のメモリデバイスうちの1つであり、I/Oインピーダンス補償の変更を始動するインピーダンス補償信号を受信する工程は、メモリコントローラによって順に送信される連続する一連のインピーダンス補償信号の1つを受信する工程をさらに有する。1つの実施形態において、インピーダンス補償信号は、インピーダンス補償構成を設定するようにメモリデバイスを始動させるZQCalラッチ信号を有する。1つの実施形態において、インピーダンス補償信号は、インピーダンス補償キャリブレーションルーチンを開始するようにメモリデバイスを始動させるZQCal起動信号と、インピーダンス補償構成を設定するようにメモリデバイスを始動させるZQCalラッチ信号とを有する。
1つの態様において、メモリのインピーダンス補償を管理するメモリコントローラは、
センサ測定値の変化を示すメモリデバイスからのデータを読み取る、メモリデバイスに結合されるI/O(入出力)ハードウェアと、
メモリデバイスに対するI/Oインピーダンスに影響を与える性能状態が、メモリデバイスからのデータの読み取りに基づく閾値を超えて変わったことを決定し、性能状態が閾値を超えて変わったとの決定に応答して、メモリデバイスのI/Oインピーダンス補償の変更を始動させるメモリデバイスに対するインピーダンス補償信号を生成するスケジューラと
を含む。
1つの実施形態において、I/Oハードウェアは、性能状態が閾値を超えて変わったことを示すメモリデバイスによって設定されるフラグに対するものである。1つの実施形態において、I/Oハードウェアは、メモリデバイスによって設定されるフラグに応答してセンサからデータを読み取る。1つの実施形態において、I/Oハードウェアは、性能状態が閾値を超えて変わったことを示すメモリデバイスによって設定されるフラグに応答してセンサからのデータを読み取る。1つの実施形態において、スケジューラは、動作温度の変化がメモリ内の閾値を超えることを決定する。1つの実施形態において、スケジューラは、動作電圧の変化がメモリ内の閾値を超えることを決定する。1つの実施形態において、センサは、メモリデバイスに対するリフレッシュ用のパラメータを設定すべく、性能状態を監視するメモリデバイスのオンダイセンサを含む。1つの実施形態において、I/Oハードウェアは、メモリデバイスのモードレジスタからの1または複数の値を読み取る。1つの実施形態において、I/Oハードウェアは、モードレジスタの1または複数の値を周期的にチェックする。1つの実施形態において、スケジューラは、メモリデバイスI/Oのドライバインピーダンスに対する調整を始動するインピーダンス補償信号を生成する。1つの実施形態において、スケジューラは、メモリデバイスI/Oのオンダイターミネーション値に対する調整を始動するインピーダンス補償信号を生成する。1つの実施形態において、I/Oは、複数の並列メモリデバイスに結合し、スケジューラは、メモリデバイスの少なくとも閾値数が、閾値を超えて変わったI/Oインピーダンスに影響を与える性能状態を有するように決定されるまで、メモリデバイスに対するインピーダンス補償信号の生成を遅延する。1つの実施形態において、I/Oは、複数の並列メモリデバイスに結合し、スケジューラは、複数の並列メモリデバイスのうちの少なくとも複数に順に送信される連続する一連のインピーダンス補償信号をスケジューリングする。1つの実施形態において、I/Oは、複数の並列メモリデバイスに結合し、スケジューラは、全てのメモリデバイスに対するコマンド/アドレス(C/A)バス上のアクセスコマンドの送信を中止し、アクセスコマンドトラフィックがC/Aバスにわたって送信されない間にメモリデバイスのうち少なくとも2つに一連のインピーダンス補償信号を送信するように期間をスケジューリングする。1つの実施形態において、スケジューラは、インピーダンス補償構成を設定するようにメモリデバイスを始動させるZQCalラッチ信号を生成する。1つの実施形態において、スケジューラは、インピーダンス補償キャリブレーションルーチンを開始させるようにメモリデバイスを始動するZQCal起動信号と、インピーダンス補償構成を設定するようにメモリデバイスを始動させるZQCalラッチ信号とを生成する。
1つの態様において、メモリサブシステムを有する電子デバイスは、LPDDR(低電力デュアルデータレート)DRAM(ダイナミックランダムアクセスメモリ)に対するI/Oインピーダンスに影響を与える性能状態に対する変化を検出するオンダイセンサと、性能状態についてのデータを記録するレジスタとを含むLPDDR DRAMと、LPDDR DRAMへのアクセスを制御するメモリコントローラと、DRAMからアクセスされるデータに基づく表示を生成すべく結合されるタッチスクリーンディスプレイとを備え、
メモリコントローラは、センサ測定値の変化を示すDRAMからのデータを読み取るDRAMに結合されるI/O(入出力)ハードウェアと、DRAMに対するI/Oインピーダンスに影響を与える性能状態が、メモリデバイスからのデータの読み取りに基づく閾値を超えて変わったことを決定し、性能状態が閾値を超えて変わったとの決定に応答して、DRAMのI/Oインピーダンス補償の変更を始動させるDRAMに対するインピーダンス補償信号を生成するスケジューラとを有する。電子デバイスは、メモリデバイスに結合されるメモリコントローラに関して上記に説明される任意の実施形態によるDRAMに結合されるメモリコントローラを含み得る。
1つの態様において、I/O(入出力)インターフェースのインピーダンス補償のための装置は、メモリデバイスに対するI/Oインピーダンスに影響を与える性能状態の変化を、メモリデバイス上のロジックによって検出する手段と、変化を検出することに応答して、関連したメモリコントローラに対する補償フラグ信号を始動する手段と、補償フラグ信号に応答して、メモリデバイスのI/Oインピーダンス補償の変更を始動するインピーダンス補償信号をメモリコントローラからメモリデバイスにて受信する手段とを含む。装置は、上記に説明される方法の任意の実施形態を実行するための手段を含み得る。
1つの態様において、コンテンツをそれに格納したコンピュータ可読記憶媒体を含む製造物品は、アクセスされた場合に、メモリデバイスに対するI/Oインピーダンスに影響を与える性能状態の変化を、メモリデバイス上のロジックによって検出する工程と、変化を検出する工程に応答して、関連したメモリコントローラに対する補償フラグ信号を始動する工程と、補償フラグ信号に応答して、メモリデバイスのI/Oインピーダンス補償の変更を始動するインピーダンス補償信号をメモリコントローラからメモリデバイスにて受信する工程と
を含む動作を機械に実行させる。製造物品は、上記に説明される方法の任意の実施形態による動作を実行するためのコンテンツを含み得る。
本明細書において図示される複数のフロー図は、一連の様々なプロセス動作の例を提供する。フロー図は、ソフトウェアまたはファームウェアルーチンにより実行されるべき動作、ならびに物理的動作を示し得る。1つの実施形態において、フロー図は、ハードウェアおよび/またはソフトウェアの形で実装され得る有限ステートマシン(FSM)の状態を示し得る。特定のシーケンスまたは順序で示されているが、別途指定されない限り、動作の順序は変更され得る。このように、図示される実施形態は、例としてのみ理解されるべきであり、プロセスは異なる順序で実行され得、いくつかの動作は並行して実行され得る。さらに、1または複数の動作は、様々な実施形態において省略され得る。従って各実施形態において、全ての動作が必要とされるわけではない。他のプロセスフローも可能である。
様々な動作または機能が本明細書に説明される限りにおいて、動作または機能は、ソフトウェア、コード、命令、構成、および/またはデータとして説明され、または定義され得る。コンテンツは、直接に実行可能なもの(「オブジェクト」または「実行可能な」形式)、ソースコード、または差分コード(「デルタ」または「パッチ」コード)であり得る。本明細書に説明される実施形態におけるソフトウェアコンテンツは、コンテンツがそれに格納された製造物品、または通信インターフェースを介してデータを送信するように通信インターフェースを動作させる方法により提供され得る。機械可読記憶媒体は、説明される機械に機能または動作を実行させ得、記録可能/記録不可能な媒体(例えば、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光記憶媒体、フラッシュメモリデバイスなど)のような機械(例えば、コンピューティングデバイス、電子システムなど)によりアクセス可能な形態で情報を格納する任意の機構を含む。通信インターフェースは、メモリバスインターフェース、プロセッサバスインターフェース、インターネット接続、ディスクコントローラなどのような別のデバイスに通信するハードワイヤード、無線、光などの媒体のいずれかにインターフェースで接続する任意の機構を含む。通信インターフェースは、構成パラメータを提供し、および/または信号を送信して、通信インターフェースがソフトウェアコンテンツを記述するデータ信号を提供するように準備することにより構成され得る。通信インターフェースは、通信インターフェースに送信される1または複数のコマンドまたは信号によりアクセスされ得る。
本明細書に説明される様々なコンポーネントは、説明される動作または機能を実行するための手段であり得る。本明細書に説明される各コンポーネントは、ソフトウェア、ハードウェア、またはこれらの組み合わせを含む。これらのコンポーネントは、ソフトウェアモジュール、ハードウェアモジュール、専用ハードウェア(例えば、特定用途向けハードウェア、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)など)、エンベデッドコントローラ、ハードワイヤード回路などとして実装され得る。
本明細書において説明されるもの以外にも、本発明において開示される実施形態および実装に対して、それらの範囲を逸脱することなく様々な変更が行われ得る。従って、本明細書における図示および例は、限定的な意味ではなく例示の意味に解釈されるべきである。本発明の範囲は、以下の特許請求の範囲を参照することのみにより評価されるべきである。

Claims (19)

  1. メモリデバイスであって、
    当該メモリデバイスにおいてインピーダンスキャリブレーションの更新の準備ができていることをメモリコントローラに示すインピーダンスキャリブレーション更新フラグとして、当該メモリデバイスにより選択的に書き込み可能なフィールドを格納するレジスタと、
    前記メモリコントローラに結合された場合に、前記インピーダンスキャリブレーション更新フラグが設定されていることを前記メモリコントローラが検出したことに応じて、当該メモリデバイスに新たなキャリブレーション設定を設定するためのインピーダンスキャリブレーションラッチ信号(ZQCAL LATCH)を含むコマンドを前記メモリコントローラから受信するI/O(入力/出力)ハードウェアと、
    を備えるメモリデバイス。
  2. 前記I/Oハードウェアは、前記インピーダンスキャリブレーション更新フラグをチェックするためのポーリング要求を前記メモリコントローラから周期的に受信する、請求項1に記載のメモリデバイス。
  3. 前記レジスタはモードレジスタを有し、
    前記I/Oハードウェアは、前記モードレジスタを読み取り前記インピーダンスキャリブレーション更新フラグをチェックするためのコマンドを周期的に受信する、請求項1または2に記載のメモリデバイス。
  4. 前記I/Oハードウェアは、第1のインピーダンスキャリブレーション起動信号(ZQCAL START)の受信とともに、前記インピーダンスキャリブレーションラッチ信号を受信する、請求項1から3の何れか一項に記載のメモリデバイス。
  5. 当該メモリデバイスは、以前のインピーダンスキャリブレーション設定と更新されたキャリブレーション設定とを比較演算し、前記更新されたキャリブレーション設定が前記以前のインピーダンスキャリブレーション設定から閾値よりも大きく異なる場合に、前記インピーダンスキャリブレーション更新フラグのみを設定する、請求項1から4のいずれか一項に記載のメモリデバイス。
  6. 前記新たなキャリブレーション設定は、ドライバインピーダンスの設定を含む、請求項1から5のいずれか一項に記載のメモリデバイス。
  7. 前記新たなキャリブレーション設定は、オンダイターミネーション(ODT)設定を含む、請求項1から6のいずれか一項に記載のメモリデバイス。
  8. 当該メモリデバイスの性能状態の変化を検出するオンダイセンサをさらに備え、
    当該メモリデバイスは、前記オンダイセンサを用いた前記変化の検出に基づいて前記インピーダンスキャリブレーションを設定する、請求項1から7のいずれか一項に記載のメモリデバイス。
  9. ローパワーダブルデータレート(LPDDR)規格と互換性を有するダイナミックランダムアクセスメモリ(DRAM)デバイスをさらに備える、請求項1から8のいずれか一項に記載のメモリデバイス。
  10. メモリコントローラであって、
    メモリデバイスに結合して前記メモリデバイスからインピーダンスキャリブレーション更新フラグを読み取るI/O(入力/出力)ハードウェアであって、前記インピーダンスキャリブレーション更新フラグは前記メモリデバイスにおいてインピーダンスキャリブレーションの更新の準備ができていることを示す、I/Oハードウェアと、
    設定された前記インピーダンスキャリブレーション更新フラグの検出に応じて、固定スケジュールでのインピーダンスキャリブレーション信号に代えてインピーダンスキャリブレーションラッチ信号(ZQCAL LATCH)をスケジューリングするスケジューラと、
    を備え、
    前記I/Oハードウェアは、前記メモリデバイスに新たなキャリブレーション設定を設定するための前記インピーダンスキャリブレーションラッチ信号を前記メモリデバイスに送信する、メモリコントローラ。
  11. 前記I/Oハードウェアは、前記インピーダンスキャリブレーション更新フラグをチェックするためのポーリング要求を前記メモリデバイスに周期的に送信する、請求項10に記載のメモリコントローラ。
  12. 前記メモリデバイスはモードレジスタを有し、
    前記I/Oハードウェアは、前記モードレジスタを読み取り前記インピーダンスキャリブレーション更新フラグをチェックするためのコマンドを周期的に送信する、請求項10または11に記載のメモリコントローラ。
  13. 前記I/Oハードウェアは、始めにインピーダンスキャリブレーション起動信号(ZQCAL START)を送信することなく、前記インピーダンスキャリブレーションラッチ信号を送信する、請求項10から12の何れか一項に記載のメモリコントローラ。
  14. 前記メモリデバイスは、以前のインピーダンスキャリブレーション設定と更新されたキャリブレーション設定とを比較演算し、前記更新されたキャリブレーション設定が前記以前のインピーダンスキャリブレーション設定から閾値よりも大きく異なる場合に、前記インピーダンスキャリブレーション更新フラグのみを設定する、請求項10から13のいずれか一項に記載のメモリコントローラ。
  15. 前記新たなキャリブレーション設定は、ドライバインピーダンスの設定を含む、請求項10から14のいずれか一項に記載のメモリコントローラ。
  16. 前記新たなキャリブレーション設定は、オンダイターミネーション(ODT)設定を含む、請求項10から15のいずれか一項に記載のメモリコントローラ。
  17. 前記メモリデバイスの性能状態の変化を検出するオンダイセンサをさらに備え、
    前記メモリデバイスは、前記オンダイセンサを用いた前記変化の検出に基づいて前記インピーダンスキャリブレーションを設定する、請求項10から16のいずれか一項に記載のメモリコントローラ。
  18. 前記メモリデバイスは、当該メモリコントローラに並列に結合された複数のメモリデバイスのうちの1つであり、
    当該メモリコントローラは、複数の異なるメモリデバイスからの複数の異なるインピーダンスキャリブレーション更新フラグに基づいて、複数の異なるインピーダンスキャリブレーション更新を管理する、請求項10から17のいずれか一項に記載のメモリコントローラ。
  19. 前記メモリデバイスは、ローパワーダブルデータレート(LPDDR)規格と互換性を有するダイナミックランダムアクセスメモリ(DRAM)デバイスを備える、請求項10から18のいずれか一項に記載のメモリコントローラ。
JP2020112055A 2015-03-27 2020-06-29 センサデータ検出に基づくインピーダンス補償 Active JP6965494B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/670,411 2015-03-27
US14/670,411 US10025685B2 (en) 2015-03-27 2015-03-27 Impedance compensation based on detecting sensor data
JP2017541939A JP6729940B2 (ja) 2015-03-27 2016-03-07 センサデータ検出に基づくインピーダンス補償

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017541939A Division JP6729940B2 (ja) 2015-03-27 2016-03-07 センサデータ検出に基づくインピーダンス補償

Publications (2)

Publication Number Publication Date
JP2020170532A true JP2020170532A (ja) 2020-10-15
JP6965494B2 JP6965494B2 (ja) 2021-11-10

Family

ID=56974261

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017541939A Active JP6729940B2 (ja) 2015-03-27 2016-03-07 センサデータ検出に基づくインピーダンス補償
JP2020112055A Active JP6965494B2 (ja) 2015-03-27 2020-06-29 センサデータ検出に基づくインピーダンス補償

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017541939A Active JP6729940B2 (ja) 2015-03-27 2016-03-07 センサデータ検出に基づくインピーダンス補償

Country Status (7)

Country Link
US (2) US10025685B2 (ja)
EP (2) EP3657506B1 (ja)
JP (2) JP6729940B2 (ja)
KR (2) KR102581206B1 (ja)
CN (2) CN110059048B (ja)
TW (1) TWI643206B (ja)
WO (1) WO2016160276A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10325655B2 (en) * 2015-04-10 2019-06-18 Hewlett Packard Enterprise Development Lp Temperature compensation circuits
US10141935B2 (en) * 2015-09-25 2018-11-27 Intel Corporation Programmable on-die termination timing in a multi-rank system
US10284198B2 (en) * 2015-10-02 2019-05-07 Samsung Electronics Co., Ltd. Memory systems with ZQ global management and methods of operating same
US9653144B1 (en) 2016-06-28 2017-05-16 Intel Corporation Apparatuses, methods, and systems for package on package memory refresh and self-refresh rate management
JP6640677B2 (ja) * 2016-08-19 2020-02-05 キオクシア株式会社 半導体記憶装置
JP2018045743A (ja) 2016-09-13 2018-03-22 東芝メモリ株式会社 半導体装置及びメモリシステム
US9965222B1 (en) * 2016-10-21 2018-05-08 Advanced Micro Devices, Inc. Software mode register access for platform margining and debug
US10348270B2 (en) * 2016-12-09 2019-07-09 Micron Technology, Inc. Apparatuses and methods for calibrating adjustable impedances of a semiconductor device
US10366765B2 (en) * 2016-12-15 2019-07-30 Taiwan Semiconductor Manufacturing Co., Ltd. Adjustment circuit for partitioned memory block
US10062453B1 (en) * 2017-03-09 2018-08-28 Toshiba Memory Corporation Calibrating I/O impedances using estimation of memory die temperature
US10193711B2 (en) 2017-06-22 2019-01-29 Micron Technology, Inc. Timing based arbitration methods and apparatuses for calibrating impedances of a semiconductor device
KR102396741B1 (ko) * 2017-09-11 2022-05-12 에스케이하이닉스 주식회사 임피던스 캘리브레이션 회로를 포함하는 메모리 시스템
KR102391503B1 (ko) * 2017-09-11 2022-04-28 에스케이하이닉스 주식회사 임피던스 캘리브레이션 회로를 포함하는 메모리 시스템
US10615798B2 (en) 2017-10-30 2020-04-07 Micron Technology, Inc. Apparatuses and methods for identifying memory devices of a semiconductor device sharing an external resistance
KR102649322B1 (ko) 2018-05-25 2024-03-20 삼성전자주식회사 메모리 장치, 메모리 시스템, 및 메모리 장치의 동작 방법
US11977770B2 (en) * 2018-06-04 2024-05-07 Lodestar Licensing Group Llc Methods for generating notifications for updated information from mode registers of a memory device to a host and memory devices and systems employing the same
US10692560B2 (en) * 2018-06-06 2020-06-23 Intel Corporation Periodic calibrations during memory device self refresh
US11570685B2 (en) 2018-10-24 2023-01-31 Carrier Corporation Power savings for wireless sensors
US11074976B2 (en) * 2019-08-26 2021-07-27 Sandisk Technologies Llc Temperature dependent impedance mitigation in non-volatile memory
KR20210047475A (ko) 2019-10-22 2021-04-30 삼성전자주식회사 센서를 구비한 멀티 디스플레이 장치
CN112817884A (zh) * 2019-11-15 2021-05-18 安徽寒武纪信息科技有限公司 一种存储器以及包括该存储器的设备
US10747245B1 (en) 2019-11-19 2020-08-18 Micron Technology, Inc. Apparatuses and methods for ZQ calibration
US11579784B2 (en) * 2019-11-27 2023-02-14 Micron Technology, Inc. Refresh counters in a memory system
US20200125446A1 (en) * 2019-12-20 2020-04-23 Intel Corporation Error Correcting Code Circuitry Compatible with Multi-Width Interfaces
JP6890701B1 (ja) * 2020-05-19 2021-06-18 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. コードシフト算出回路およびコードシフト値の算出方法
US11621038B2 (en) * 2021-07-21 2023-04-04 Micron Technology, Inc. Driver for non-binary signaling
US20230133234A1 (en) * 2021-11-04 2023-05-04 Samsung Electronics Co., Ltd. Electronic device controlling an operation of a volatile memory and method for operating the same
KR20230112334A (ko) 2022-01-20 2023-07-27 에스케이하이닉스 주식회사 반도체 장치, 반도체 시스템, 및 반도체 장치의 동작 방법

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517613A (en) * 1991-12-12 1996-05-14 Emc Corporation Environment sensing/control circuit
US6262625B1 (en) * 1999-10-29 2001-07-17 Hewlett-Packard Co Operational amplifier with digital offset calibration
FI106411B (fi) * 1999-02-03 2001-01-31 Nokia Mobile Phones Ltd Menetelmä ja järjestely ilmaisimen ja ohjaussignaalin lämpöryöminnän kompensoimiseksi jaksoittaisessa säädössä
US6292059B1 (en) * 1999-10-29 2001-09-18 Scientific-Atlanta, Inc. Systems, methods, and circuits for providing thermal compensation in amplifiers
US6476392B1 (en) * 2001-05-11 2002-11-05 Irvine Sensors Corporation Method and apparatus for temperature compensation of an uncooled focal plane array
US6785793B2 (en) * 2001-09-27 2004-08-31 Intel Corporation Method and apparatus for memory access scheduling to reduce memory access latency
US7114087B2 (en) * 2003-05-27 2006-09-26 Intel Corporation Method to detect a temperature change by a thermal monitor and compensating for process, voltage, temperature effects caused by the temperature change
JP2005010966A (ja) 2003-06-18 2005-01-13 Olympus Corp Lsi装置
US7111143B2 (en) * 2003-12-30 2006-09-19 Infineon Technologies Ag Burst mode implementation in a memory device
KR100532972B1 (ko) 2004-04-28 2005-12-01 주식회사 하이닉스반도체 온 다이 터미네이션 임피던스 조절 장치
US7227376B2 (en) 2004-11-05 2007-06-05 Ati Technologies Inc. Dynamic impedance compensation circuit and method
US7138823B2 (en) * 2005-01-20 2006-11-21 Micron Technology, Inc. Apparatus and method for independent control of on-die termination for output buffers of a memory device
US8169233B2 (en) 2009-06-09 2012-05-01 Google Inc. Programming of DIMM termination resistance values
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US7432731B2 (en) * 2005-06-30 2008-10-07 Intel Corporation Method and apparatus to calibrate DRAM on resistance (Ron) and on-die termination (ODT) values over process, voltage and temperature (PVT) variations
JP4916699B2 (ja) * 2005-10-25 2012-04-18 エルピーダメモリ株式会社 Zqキャリブレーション回路及びこれを備えた半導体装置
US8118483B2 (en) * 2006-06-21 2012-02-21 Intel Corporation Thermal sensor having toggle control
US7644250B2 (en) * 2006-06-30 2010-01-05 Intel Corporation Defining pin functionality at device power on
US7459930B2 (en) * 2006-11-14 2008-12-02 Micron Technology, Inc. Digital calibration circuits, devices and systems including same, and methods of operation
US20080198666A1 (en) 2007-02-20 2008-08-21 Aaron Nygren Semiconductor device including adjustable driver output impedances
JP2008271517A (ja) * 2007-03-23 2008-11-06 Matsushita Electric Ind Co Ltd 高周波電力増幅器、半導体装置、および高周波電力増幅方法
KR100937951B1 (ko) 2008-09-05 2010-01-21 주식회사 하이닉스반도체 캘리브래이션 회로, 온 다이 터미네이션 장치 및 반도체 메모리 장치
JP2010117987A (ja) * 2008-11-14 2010-05-27 Denso Corp メモリ制御装置、およびメモリ制御プログラム
US8482339B1 (en) * 2009-06-12 2013-07-09 National Acquisition Sub, Inc. Method and apparatus for temperature compensation of filter circuits
JP2011040983A (ja) 2009-08-11 2011-02-24 Renesas Electronics Corp 半導体集積回路、半導体記憶装置、及びインピーダンス調整方法
JP5287599B2 (ja) * 2009-08-24 2013-09-11 株式会社リコー 電子機器
US8307270B2 (en) * 2009-09-03 2012-11-06 International Business Machines Corporation Advanced memory device having improved performance, reduced power and increased reliability
JP2011081893A (ja) * 2009-09-11 2011-04-21 Elpida Memory Inc 半導体装置及びこれを備えるデータ処理システム
US20110068765A1 (en) * 2009-09-22 2011-03-24 Qualcomm Incorporated System and method for power calibrating a pulse generator
JP2011101143A (ja) * 2009-11-05 2011-05-19 Elpida Memory Inc 半導体装置及びそのシステムとキャリブレーション方法
JP2011170943A (ja) * 2010-02-22 2011-09-01 Sony Corp 記憶制御装置、記憶装置、記憶装置システム
KR101206498B1 (ko) * 2010-07-08 2012-11-29 에스케이하이닉스 주식회사 임피던스 캘리브레이션 회로 및 그 동작 방법
US8738852B2 (en) * 2011-08-31 2014-05-27 Nvidia Corporation Memory controller and a dynamic random access memory interface
JP2013085078A (ja) * 2011-10-07 2013-05-09 Elpida Memory Inc 半導体装置及びこれを備える半導体モジュール
FR2987210B1 (fr) * 2012-02-22 2014-02-21 Ulis Procede de correction de la derive d'un detecteur de rayonnement infrarouge comportant une matrice de bolometres resistifs d'imagerie et dispositif mettant en oeuvre un tel procede
KR20140008745A (ko) 2012-07-11 2014-01-22 삼성전자주식회사 자기 메모리 장치
KR20140100330A (ko) * 2013-02-06 2014-08-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
KR20140107890A (ko) * 2013-02-28 2014-09-05 에스케이하이닉스 주식회사 메모리, 이를 포함하는 메모리 시스템 및 메모리 콘트롤러의 동작 방법
TWI508087B (zh) * 2013-07-01 2015-11-11 Mstar Semiconductor Inc 記憶體信號的動態相位追蹤方法及其相關控制電路
US9779039B2 (en) 2013-08-29 2017-10-03 Micron Technology, Inc. Impedance adjustment in a memory device
US9292076B2 (en) * 2013-09-16 2016-03-22 Intel Corporation Fast recalibration circuitry for input/output (IO) compensation finite state machine power-down-exit
US9704557B2 (en) * 2013-09-25 2017-07-11 Qualcomm Incorporated Method and apparatus for storing retention time profile information based on retention time and temperature
US9269404B1 (en) 2014-08-07 2016-02-23 Qualcomm Incorporated Semiconductor package on package memory channels with arbitration for shared calibration resources
US20160179113A1 (en) 2014-12-17 2016-06-23 Sandisk Technologies Inc. Temperature Independent Reference Current Generation For Calibration
US9621160B2 (en) 2015-03-05 2017-04-11 Micron Technology, Inc. Circuits for impedance adjustment having multiple termination devices with switchable resistances and methods of adjusting impedance
US20160378366A1 (en) * 2015-06-24 2016-12-29 Intel Corporation Internal consecutive row access for long burst length

Also Published As

Publication number Publication date
JP6965494B2 (ja) 2021-11-10
KR20170131371A (ko) 2017-11-29
CN107408099B (zh) 2021-04-20
US20190004919A1 (en) 2019-01-03
KR20190000387A (ko) 2019-01-02
US10025685B2 (en) 2018-07-17
EP3274994A4 (en) 2018-11-21
CN110059048A (zh) 2019-07-26
TWI643206B (zh) 2018-12-01
KR102581206B1 (ko) 2023-09-21
EP3274994A1 (en) 2018-01-31
EP3274994B1 (en) 2019-12-04
JP6729940B2 (ja) 2020-07-29
KR102617628B1 (ko) 2023-12-27
JP2018511108A (ja) 2018-04-19
CN110059048B (zh) 2024-02-02
US20160284386A1 (en) 2016-09-29
EP3657506A1 (en) 2020-05-27
CN107408099A (zh) 2017-11-28
TW201642257A (zh) 2016-12-01
US10552285B2 (en) 2020-02-04
EP3657506B1 (en) 2022-01-12
WO2016160276A1 (en) 2016-10-06

Similar Documents

Publication Publication Date Title
JP6965494B2 (ja) センサデータ検出に基づくインピーダンス補償
US11789880B2 (en) Load reduced nonvolatile memory interface
US10109340B2 (en) Precharging and refreshing banks in memory device with bank group architecture
US20190036531A1 (en) Programmable on-die termination timing in a multi-rank system
TWI718213B (zh) 彈性dll(延遲鎖定迴路)校準技術
US20160378366A1 (en) Internal consecutive row access for long burst length
US9953694B2 (en) Memory controller-controlled refresh abort
US9390785B2 (en) Method, apparatus and system for determining a write recovery time of a memory based on temperature

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210921

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211001

R150 Certificate of patent or registration of utility model

Ref document number: 6965494

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150