JP2016504702A - 格納されたロウハンマ閾値に基づくロウハンマの監視 - Google Patents

格納されたロウハンマ閾値に基づくロウハンマの監視 Download PDF

Info

Publication number
JP2016504702A
JP2016504702A JP2015544062A JP2015544062A JP2016504702A JP 2016504702 A JP2016504702 A JP 2016504702A JP 2015544062 A JP2015544062 A JP 2015544062A JP 2015544062 A JP2015544062 A JP 2015544062A JP 2016504702 A JP2016504702 A JP 2016504702A
Authority
JP
Japan
Prior art keywords
memory
threshold
memory device
row
accesses
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
JP2015544062A
Other languages
English (en)
Other versions
JP5987234B2 (ja
Inventor
バインズ、クルジット
ビー. ハルバート、ジョン
ビー. ハルバート、ジョン
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 JP2016504702A publication Critical patent/JP2016504702A/ja
Application granted granted Critical
Publication of JP5987234B2 publication Critical patent/JP5987234B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4078Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
    • 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
    • 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/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Dram (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

メモリサブシステムの検出ロジックは、物理的に隣接した行でのデータ破壊のリスクを生じさせる、タイムウィンドウ内でのアクセス数を示す、メモリデバイスに対する閾値を得る。検出ロジックは、メモリデバイスの設定情報を格納するレジスタから閾値を得る。検出ロジックは、メモリデバイス自体のレジスタであってよく、かつ/または、メモリデバイスが属するメモリモジュールの設定ストレージデバイスのエントリであってよい。検出ロジックは、メモリデバイスの行に対するアクセス数が閾値を超過したか否かを判断する。アクセス数が閾値を超過したことの検出に応じて、検出ロジックは、物理的に隣接したビクティム行に対するターゲットリフレッシュをメモリデバイスに行わせるトリガを生成しうる。

Description

本発明の実施形態は、概してメモリ管理に関し、より具体的には、格納され、プログラムされた値に基づいてロウハンマイベントを監視することに関する。
<著作権に関する注意書>
この特許文献の開示の複数の部分は、著作権保護の対象となる題材を含むかも知れない。著作権所有者は、特許商標庁の特許包袋もしくは記録の通りに特許文献もしくは特許開示が何人により再現されようと異議を申し立てないが、その他のあらゆる著作権およびその他の権利を留保する。著作権表示は、以下に記載されるあらゆる情報、本明細書に添付される図面に記載されるあらゆる情報、および、以下に記載されるいかなるソフトウェアにも適用される:著作権、2012年、インテル・コーポレーション、無断複写・複製・転載を禁ず。
コンピューティング技術の進展により、複数のコンピューティングデバイスはより小さくなり、より多くの処理力を持つようになっている。さらに、それらは、デバイス上で実行されるプログラミング及びコンピューティングのニーズを満たすべく、ますます多くのストレージ及びメモリを含むようになっている。記憶容量の増加と共にデバイスサイズの縮小は、デバイスを高密度にすることで達成されており、ここではますます多くの極小のストレージユニットがメモリデバイス内に存在するが、それぞれはますます小さな寸法を有している。
高密度デバイスの最新世代では、いくつかのデバイスで間欠故障が発生している。例えば、いくつかの既存のDDR3(デュアルデータレート、バージョン3)ベースシステムは、大きな作業負荷によって間欠故障を経験する。研究員は、メモリセルのリフレッシュウィンドウ内でメモリの単一の行に対して繰り返されたアクセスの障害を追跡した。例えば、32nmプロセスに関し、64msリフレッシュウィンドウにおいて550Kまたはそれより多い回数、行がアクセスされると、アクセスされた行に物理的に隣接するワードラインは、高確率でデータ破壊を体験する。この状態は、元も頻繁にその状態が観察されるDRAM(ダイナミックランダムアクセスメモリ)の産業では、「ロウハンマ」または「シングルロウディスターブ」と称されており、本明細書で当該状態を概して説明するために用いられる。ロウハンマはパスゲートを越えた移行を引き起こすことができる。1つの行に対して繰り返されたアクセスにより引き起こされる漏れ及び寄生電流は、アクセスされていない、物理的に隣接した行でのデータ破壊を引き起こす。
しかしながら、デバイスの種々の世代間でメモリデバイスが異なり、類似デバイスの種々のメーカ間でメモリデバイスが異なり、さらには、同一のメーカ内の種々のバッチ間でメモリデバイスが異なることを、当業者はまた理解している。従って、大きな作業負荷が間欠故障を引き起こすことが観察される一方、全てのデバイスに当てはまる「大きな作業負荷」の明確な定義は存在しない。よって、ロウハンマコンディション(row hammering condition)は、全てのデバイスに当てはまる一般的なパラメータとして明確には定義されていない。
以下の記載は、本発明の実施形態の実施例として提供する図を示す図面についての記載である。図面は、限定としてではなく、例示としてだけ理解されるべきである。本明細書における一つ以上の「実施形態」についての言及においては、本発明の少なくとも一つの実施例に含まれる特定の特性、構造、もしくは特徴が記載されるものと理解されるべきである。したがって、本明細書に記載される「一つの実施形態において」もしくは「別の実施形態において」等の文言は、本発明の多様な実施形態および実施例を記載しており、必ずしも全てが同じ実施形態について言及しているとは限らない。しかし、必ずしも互いに排他的であるとも限らない。
プログラム可能なロウハンマ閾値を用いてロウハンマコンディションを監視するシステムの実施形態のブロック図である。 プログラム可能なロウハンマ閾値に従って検出されたロウハンマイベントを示す、メモリデバイスの列/アドレス情報ロジック及び分散検出ロジックを含むシステムの実施形態のブロック図である。 ロウハンマ検出ロジックと、メモリデバイスのビクティムロジックを含むシステムの実施形態のブロック図である。 メモリデバイスの設定ストレージからの閾値に従ってロウハンマコンディションを監視するシステムの実施形態のブロック図である。 メモリモジュールの設定ストレージからの閾値に従ってロウハンマコンディションを監視するシステムの実施形態のブロック図である。 プログラム可能なロウハンマ閾値に従ってロウハンマコンディションを検出するプロセスの実施形態のフロー図である。 メモリデバイスのロウハンマコンディションを監視するプロセスの実施形態のフロー図である。 ターゲットリフレッシュコマンドをサポートするコマンド真理表の実施形態である。 ロウハンマの監視が実行可能なコンピューティングシステムの実施形態のブロック図である。 ロウハンマの監視が実行可能なモバイルデバイスの実施形態のブロック図である。 以下に記載する実施形態のいくつか、または全てを示し、また、本明細書に提示する発明のコンセプトのその他の在り得る実施形態もしくは実施例を示す図面についての記載を含む所定の詳細事項および実施例についての記載が以下に続く。
本明細書中に述べるように、メモリデバイスは、ロウハンマイベントを監視する検出ロジックを含む。検出ロジックはメモリデバイスに対する閾値を取得し、閾値は物理的に隣接した行でのデータ破壊のリスクを生じさせる、タイムウィンドウ内でのアクセス数を示す。検出ロジックは、メモリデバイスの設定情報を格納するレジスタから閾値を取得する。レジスタは、メモリデバイス自体のレジスタであってよく、及び/または、メモリデバイスが属するメモリモジュールの設定ストレージデバイスのエントリであってよい。検出ロジックは、メモリデバイスの行に対するアクセス数が閾値を超過するか判断する。閾値を超過したアクセス数の検出に応じて、検出ロジックは、物理的に隣接したビクティム行を標的とするリフレッシュをメモリデバイスが実行することを引き起こすトリガを生成することができる。
ロウハンマに起因する障害を扱うべく以前に特定された1つのアプローチは、行ごと、リフレッシュサイクルごとに許可されるアクセス数を限定することであり、システム内の性能に対する影響を有している。ロウハンマの障害に対処するべく特定された別のアプローチは、ドレイン誘導障壁低下(DIBL)を改善すべく、埋め込みチャネルアレイトランジスタ(BCAT)内の底部限界寸法(bottom critical dimension(BCD))を減少させること、及び/または、チャネル長さを増加させることを含む。しかしながら、デバイスの寸法サイズの変更は、物理的及び現実的な限界の両方を有する。いま特定の寸法が変更されうる限り、製造処理への変更がさらに必要とされるであろう。
また、次世代製品の問題にどう対処するかの問題が未解決で残る。
ロウハンマ問題に対処する別のアプローチは、リフレッシュの間の時間を減らすことである。しかしながら、デバイスの密度が高められたときでさえも、リフレッシュ時間は既に一定に保たれてきている。現在のデバイスは、同一期間内にますます大きな領域をリフレッシュするよう要求されている。よって、リフレッシュ時間をさらに減らすことは、メモリデバイスにおける追加のリフレッシュのオーバーヘッドを要求すること等により、システム内の性能への影響を引き起こすだろう。
現在提案されている、ロウハンマを扱うこれらのアプローチは性能へのネガティブな影響を有する一方、一般的にロウハンマを解決するのに何の処理変更が行われる必要があり、または、どの程度、リフレッシュ時間が変更される必要があるかでさえ明らかではない。
メモリコントローラメーカとメモリデバイスメーカは、概して同一の法人ではない。多くのメモリコントローラメーカは、種々のデバイスメーカからの複数のメモリデバイスとインターフェースすることができるコントローラを製造したい。しかしながら、現在提案されているアプローチは、単一メーカからの複数のメモリデバイスの特定のバッチに対してメモリコントローラを固定するか、そうでなければ、今まで通りロウハンマを承知で製造する。
メモリデバイスの設計変更、または、複数の動作パラメータの変更の代わりに、本明細書中に述べたようなシステムは、ロウハンマイベントを監視して対処するアクティブランタイムメカニズムを提供することができる。監視は、プログラムされた設定値、または、他の閾値に従って積極的に実行されることができ、他の閾値はメモリデバイスに格納され、及び/または、多数のメモリデバイスを含むメモリモジュールに格納される。一実施形態では、メモリコントローラは、任意の行に対するアクセス数がロウハンマコンディションを引き起こすかを判断すべく、メモリデバイスへの各アクセスを監視する。代わりに、監視ロジックは、メモリデバイス及び/またはメモリモジュールに分配されることができる。監視メカニズムは、どこに位置付けられても、ストレージ位置から取得された、格納された閾値の値に従って監視を行う。以下でより詳細に説明されるように、取得された閾値の値に基づいてロウハンマコンディションが検出されると、検出ロジックは、ロウハンマリフレッシュまたはターゲットリフレッシュを引き起こすことができる。
ロウハンマ閾値を格納することは、複数のメモリデバイスサプライヤにまたがってロウハンマ限界が異なり、同一サプライヤまたはメーカ内の種々のバッチにもまたがって異なるという事実を認める。さらに、複数のメモリデバイスは、歴史的に、メモリデバイスの密度を増加させる新たな処理技術に移行している。近い将来にこの傾向が止まることを信じる理由はない。ロウハンマコンディションがメモリ密度の問題である以上、新たな処理技術への移行はまた、ロウハンマ限界または複数のメモリデバイスの閾値を変更する。複数のメモリデバイスを、上述の何らかの理由に対し異なるロウハンマイベント閾値を有することができる、より新しい複数のデバイスに置き換えることは一般的である。閾値を格納し、それを監視に用いることは、メモリサブシステムが、メモリサブシステム内に存在するデバイスに固有のロウハンマを追跡することを可能にする。
従って、複数のメモリコントローラは、複数の行へのアクセス数を追跡し(ロウハンマの追跡)、標的とされる複数の隣接する行をリフレッシュするコマンドを複数のメモリデバイスに対して発行することができる。一実施形態では、閾値情報は、メモリデバイス(例えばDRAM)自体のレジスタに格納される。そのような情報は、メーカ、デバイス分析者などにより融合されることができる。一実施形態では、この値は設定レジスタ内のフィールドとして格納される。フィールドは、その特性が決定された後に、特定のメモリデバイスに書き込まれるか、或いは、メモリモジュール(例えばDIMM(デュアルインラインメモリモジュール))に書き込まれる。
この情報の格納が多数の異なる方法の何れにおいても実行され得ることは理解されるだろう。一実施形態では、情報はデバイス及び/またはメモリモジュール内でエンコードされる。例えば、3ビットコードが、閾値の限界を提供するために用いられ得る。エンコードは、複数のメモリコントローラサプライヤ、複数のメモリデバイスサプライヤ、種々のサードパーティ、またはいくつかの組み合わせによって取り決められる任意の方法で確立され得る。エンコードが設定され得る様々な態様の、複数の例は以下の通りである。エンコードの例1:000‐限定なし;001‐500K;010‐400K;011−300K;100−250K;101−200K;110−150K;111−100K。例2:000−100Kまたは定義されず;001−150K;010−200K;011−250K;100−300K;101−400K;110−450K+;111−未知のRH限定。これらの例で用いられる複数の特定の値に対し、現実的には無数の変形が存在することは当業者であれば理解するであろう。従って、これらの例はエンコードを説明することを意図しており、限定として理解されることを意図していない。
本明細書で提供される例は、基本的にDRAMに関するロウハンマ問題について論じる。しかしながら、ロウハンマ問題はより一般的には、メモリ密度の増加に伴って生じる、メモリデバイスの拡大縮小の問題であることが理解されるだろう。従って、DRAMに関する説明は、メモリコントローラ、または等価なロジックを含む他のメモリ技術に適用可能な、非限定的な例として理解されるだろう。本明細書で説明されるターゲットリフレッシュコマンドは、DDR4(デュアルデータレート バージョン4、本願出願時の開発における仕様)、LPDDR4(低電力デュアルデータレート バージョン4、本願出願時の開発における仕様)、またはWIDEIO(本願出願時の開発における仕様)のような多数のメモリ技術の全てと互換性を有する。同様に、ロウハンマコンディションの限界情報の格納は、メモリデバイスが自身に設定情報を格納でき、及び/または、メモリモジュールが設定情報を格納できる全てのメモリ技術と互換性を有する。
図1Aは、プログラム可能なロウハンマ閾値を用いてロウハンマコンディションを監視するシステムの実施形態のブロック図である。一実施形態では、格納された閾値の使用は、プログラム可能なロウハンマ閾値と称され得る。システム100は、メモリコントローラ120に結合されたメモリデバイス110を含む。メモリデバイス110は、ワードラインまたは同等のものを介してデータがアクセス可能な、複数のメモリセルからなる複数の隣接する行を有する任意のタイプのメモリ技術を含むことができる。一実施形態では、メモリデバイス110はダイナミックランダムアクセスメモリ(DRAM)技術を含む。
メモリデバイス110は、メモリの1または複数の論理及び/または物理グループ(これは複数のランク(rank)、複数のバンク(bank)及び/または他のグルーピングを含み得る)を表すメモリアレイ112を含む。システム100内では具体的に示されていないが、メモリアレイ112は、タイムウィンドウ内で繰り返されたアクセスのターゲットである1または複数の行を含んでよい。そのような行は、ロウハンマコンディションの対象となる。多くの近代的なメモリデバイスにおいて、半導体レイアウトのアーキテクチャは、1または複数の物理的に隣接した行を破損のリスクにさらす。ロウハンマコンディションに起因して破損されるリスクにさらされるこの1つの行、または、複数の行は、本明細書でビクティム行と称される。
メモリデバイス110は、メモリアレイ112内の適切なメモリ位置に対するアクセス命令をデコードするために用いられる列ロジック114及び行ロジック116を含む。行数及び列数が等しい必要はなく、実際に、それらは一般的に等しくない。メモリコントローラ120は、コマンドバス(例えば、コマンド/アドレス(C/A)バス)を通じて複数のコマンドまたは複数の命令をメモリデバイス110に送信し、これらは次にメモリデバイス110によって解釈される。メモリデバイス110は、コマンド情報をデコードして、メモリ内で様々なアクセス機能を実行するとともに、列ロジック114及び行ロジック116を介してアドレス情報をデコードする。ロジックは、列アドレスストローブまたは信号(CAS)及び行アドレスストローブまたは信号(RAS)の組み合わせを用いてメモリ内の特定位置にアクセスする。メモリの複数の行は、既知の複数のメモリアーキテクチャまたはそれらの派生に従って実施されうる。簡単にいえば、メモリの行は、列ロジック114により生成されるCASによって特定されるような、複数のメモリセルの1または複数のアドレス指定可能な列を含む。複数の行は、行ロジック116により生成されるRASを介してアドレス指定可能である。
一実施形態では、メモリデバイスは設定118を含む。一実施形態では、設定118はメモリデバイス110内に格納される。代わりに、設定118は、メモリデバイス110に関連する設定を表し、メモリデバイス110以外のどこかに格納される。設定118は、メモリデバイス内のレジスタデバイスまたは他のストレージデバイスに格納されうる。
システム100は検出器130を含み、検出器130は、ハードウェア及び/またはソフトウェア、またはシステム100がロウハンマイベントまたはロウハンマコンディションを検出することを可能にする他のロジックを表す。ロウハンマコンディションを検出するために用いられる多数の異なるメカニズムが存在し得る。システム100は、検出器130を介してロウハンマコンディションを検出する。検出器130は、一実施形態では、メモリの複数の選択行へのアクセスを監視するための表またはログを含む。従って、検出器130は、メモリアレイ112の行がいつ閾値の期間内で繰り返されたアクセスを体験するかを判断することができる。検出器130は、メモリデバイス110、メモリコントローラ120に、及び/または、メモリデバイスまたはメモリコントローラのいずれかと別個に、ハードウェア及び/またはロジックを含んでよい。
検出器130は、期間内に行がアクセスされた回数を特定する。
検出器は、設定118からのロウハンマ閾値情報にアクセスするか、さもなければ設定118から取得する。ロウハンマイベントは、単純に、行がアクセスされた回数に関するのではなく、所定期間内にアクセスされた回数に関する。一旦、行がリフレッシュされると、データ破壊を引き起こしうる状態は克服される。従って、監視期間はリフレッシュレートの少なくとも一部に基づいてよい。一実施形態では、検出器130が閾値のアクセス数を監視する期間は、メモリデバイス110のリフレッシュサイクル時間に等しい。
期間内のアクセス数は設定118から決定される。
一実施形態では、メモリコントローラ120はターゲットリフレッシュコマンド122を生成し、メモリコントローラがロウハンマイベントの検出に応じてターゲットリフレッシュ(targeted refresh)を実行することを引き起こす。ターゲットリフレッシュコマンド122は、「オフスケジュール」で発生するリフレッシュコマンドであり、リフレッシュ実行時間になったことをタイマが示すという理由でコマンドを送信することとは対照的に、当該コマンドがロウハンマイベントの検出に応じて送信されることを意味する。一実施形態では、メモリコントローラ120はターゲットリフレッシュコマンドを送信するための既存のコマンドを倍加(doubles up)する。例えば、ターゲットリフレッシュコマンド122は、DRAM(ダイナミックランダムアクセスメモリ)に対して定義されるように、アクティブ化またはリフレッシュのコマンドを用いて倍加されることができる。メモリコントローラは、例えば、別のピン及び/またはモードレジスタ状態の使用によって倍加を達成することができる。これらは、メモリデバイスがコマンドを、アクティブ化または(標準)リフレッシュコマンドではなく、ターゲットリフレッシュとして解釈することを引き起こし得る。メモリコントローラ120はハンマロウを示すアドレス情報を提供する。検出器130は、行を特定するアドレス情報を示すことができ、アドレス情報は、メモリコントローラ120がメモリデバイス110に示すことができ、どのビクティム行がリフレッシュされるべきかをメモリデバイスに判断させる。アドレスはメモリデバイスに具体的に示すことができ、或いは、より一般的に提供することができる。従って、メモリの特定の行がロウハンマコンディションの対象になったと検出器130が判断したとき(アクセスが閾値に達したか、或いは閾値を超過したとき)には、それはメモリコントローラ120に当該行を示し、メモリコントローラ120は逐次、ターゲットリフレッシュコマンドを送信することができる。
ターゲットリフレッシュコマンド122に言及するとき、複数のデバイスの複数のメモリリソースを利用するべく、種々のメモリデバイスメーカが種々のロジック及びアーキテクチャを使用することが理解されるだろう。例えば、種々のメモリデバイスメーカは、ホストプロセッサ(不図示)で使用される複数の論理メモリアドレスと、メモリデバイス110に対して内部で使用される複数の物理メモリアドレスとをマッピングするべく、種々のオフセットを使用することができる。一実施形態では、メモリコントローラ120はホストプロセッサによって用いられるのと同一の論理メモリアドレスを用いる。従って、一実施形態では、メモリコントローラ120は、ハンマロウを示す行アドレスをメモリデバイス110に提供する。メモリコントローラは、メモリコントローラがメモリデバイス110に対して発行するコマンドと合わせて、及び/または、コマンドの一部として、行アドレスを示すことができる。次に、メモリデバイスは、任意のビクティム行の特定のアドレス、または複数のアドレスを算出することができる。次に、メモリデバイス110は、物理的に隣接したビクティム行でターゲットリフレッシュを実行する。
一実施形態では、検出器130は、特定のメモリデバイスに対して取得された情報に基づいて、ターゲットリフレッシュをメモリコントローラに引き起こさせるロウハンマイベントを定義するアクセス数をセットするための設定だけでなく、ロウハンマコンディションを監視するためのタイムフレームをセットするための設定を含む。検出器130は、システム100における行の総数のサブセットのデータを維持する。一実施形態では、検出器130は、設定されたタイムフレームに対して予期される最大ビクティムカウントであるMVCに基づいて、多数の行のデータを維持する。例えば、検出器130は、MVC+1個のエントリ、または、これより多いエントリを有する表を維持する。次に、検出器130は、アクセスされた複数のメモリ位置に対するエントリを表にロールインし、表の最低カウントの複数のエントリをロールアウトして、それらを置き換える。
説明された閾値がまた、ロウハンマコンディションを引き起こすメモリの複数の行へのアクセスレートを指すアクセスレートの閾値、ロウハンマコンディションが存在すると検出され得る閾値を指すロウハンマ閾値、または、データ破壊のリスクが存在する点を表す、ウィンドウ内でのアクセス数の限界を指すロウハンマ限界として説明され得ることは理解されるだろう。タイムウィンドウ内で検出される多数のアクセスがデータ破壊を避けるべくシステムによって対処され得るという事実を指す他の表現もまた使用されてよい。
図1Bは、プログラム可能なロウハンマ閾値に従って検出されたロウハンマイベントを示す、メモリデバイスの列/アドレス情報ロジック及び分散検出ロジックを含むシステムの実施形態のブロック図である。システム150は、本明細書に記載された任意の実施形態に係る、メモリデバイスまたはメモリサブシステム、及び、メモリコントローラを含むシステムである。システム150は、メモリコントローラ120に結合されたメモリデバイス110を含む。メモリデバイス110は、複数のメモリセルの複数の隣接する行を有する任意のタイプのメモリ技術を含んでよく、データがワードラインまたは同等のものを介してアクセス可能である。
メモリデバイス110は、メモリの1または複数の論理及び/または物理グループを表すメモリアレイ112を含む。一実施形態では、メモリデバイス110は、メモリアレイ112内の特定のメモリ位置へのアクセス命令をデコードするために用いられるC/Aロジック166を含む。C/Aロジック166は、読み取り及び/または書き込みのためにメモリ位置をアクティブ化する列ロジック及び行ロジックのようなデコードロジック168を含む。C/Aロジック166は、C/Aレジスタ(例えばRDIMMまたはLRDIMMデバイスのレジスタ)として、C/Aバッファまたは他のロジックバッファ(例えば3DS(3次元スタック)設定またはバッファオンボード実装におけるレジスタ)、または他のロジックデバイスとして実装され得る。
一実施形態では、C/Aロジック166は、ハイブリッドメモリキューブ(HMC)のような、3次元スタックされたメモリデバイス内のロジックバッファとして実装され、複数のDRAMデバイスがロジックバッファの上部にスタックされる。
メモリコントローラ120は、コマンドバス(例えばコマンド/アドレス(C/A)バス)を通じてメモリデバイス110に複数のコマンドまたは複数の命令(C/A情報124)を送信し、これらは次に、メモリデバイス110により解釈される。
メモリデバイス110は、コマンド情報をデコードして、メモリ内で様々なアクセス機能を実行し、デコードロジック168を介してアドレス情報をデコードする。このロジックは、列アドレスストローブまたは信号(CAS)、及び、行アドレスストローブまたは信号(RAS)の組み合わせを用いてメモリ内の特定位置にアクセスする。メモリの複数の行は、既知の複数のメモリアーキテクチャまたはそれらの派生に従って実施されうる。簡単にいえば、メモリの行は、CASによって特定されるような、複数のメモリセルの1または複数のアドレス指定可能な列を含む。複数の行は、RASを介してアドレス指定可能である。
一実施形態では、メモリデバイス110は検出器164を含み、検出器164は、メモリデバイス110がロウハンマイベントまたはロウハンマコンディションを検出することを可能にするハードウェア及び/またはソフトウェア、または他のロジックを表す。一実施形態では、検出器164はC/Aロジック166内に含まれる。いずれの場合でも、検出器164は、ロウハンマコンディションを監視すべくメモリデバイス110においてロジックを含むという点で、分散していると言うことができる。ロウハンマイベントの検出は、メモリリソースのアレイ、デバイス、ランク、または、他の区切りごとに実行される。
ロウハンマコンディションを検出するために用いられる多数の異なるメカニズムが存在し得る。
検出器164は、メモリの選択行へのアクセスを監視するための表またはログを含んでよい。メモリデバイス110が検出器のロジックを含む場合には、検出器164は、設定118に格納された閾値情報に基づいてロウハンマコンディションを監視することができる。ロウハンマイベントまたはロウハンマコンディションが検出されたときには、一実施形態では、C/Aロジック166は、警告信号126を生成してメモリコントローラ120に当該状態を示す。本明細書に記載された任意の実施形態に従い、メモリコントローラ120は、警告に応じて、ロウハンマイベントの検出に応じて、ターゲットリフレッシュを引き起こす。
図2は、ロウハンマ検出ロジックと、メモリデバイスのビクティムロジックを含むシステムの実施形態のブロック図である。システム200は、本明細書に記載された任意の実施形態に係る、メモリサブシステムの一例であり得る。システム200は、メモリサブシステムの論理的な1つの理解を示す。DRAM210は、既知のメモリアーキテクチャまたはその派生に係るメモリの複数の行である、メモリ212内のメモリの複数の行を含む。簡単にいえば、メモリの行は、複数のメモリセルの1または複数のアドレス指定可能な列を含む。一実施形態では、DRAM210は、メモリコントローラ230からの論理アドレス情報をメモリ212における物理メモリ位置にマッピングする。
メモリコントローラ230により提供される、「隣接する」メモリアドレス(一般的に論理アドレス)が、DRAM210における物理的に隣接したメモリ位置に必ずしもマッピングされないような態様で一般的にメモリがアクセスされることは理解される。むしろ、隣接した各メモリアドレスは、メモリコントローラ230により提供されるときに、いくらかの一貫したオフセットに従って位置付けられる複数のアドレスにマッピングされる。いくつかのメモリデバイスはアドレスをスクランブルし、従って、アドレス情報を逆スクランブルすることによってメモリデバイス自体で特定される複数のビクティム行をもたらす。例えば、アドレス0xX0h、0xX1h及び0xX2hは、オフセットが「4」の場合に、それぞれ物理的位置0xY0h、0xY3h及び0xY7hに位置付けられる。この例において、「X」はメモリコントローラから提供されるときに複数のアドレスの上位ビット情報を表し、「Y」はDRAM210内にマッピングされるときに複数のアドレスの上位ビット情報を表す。
従って、メモリコントローラによりターゲットリフレッシュコマンドと共に提供されたアドレス情報と合わせて、デバイスの設定に基づいて、メモリデバイス自体がビクティム行を特定することができる。
ホストプロセッサ240は、プロセッシングユニット、プロセッサ、中央処理ユニット(CPU)、グラフィクスプロセッシングユニット(GPU)、マイクロコントローラ、またはプロセッシングデバイスの任意のタイプであってよい。概して、ホストプロセッサ240は、メモリコントローラ230を介してDRAM210及び他のメモリデバイスにアクセスする。一実施形態では、メモリコントローラ230は、ホストプロセッサ240、または、ホストプロセッサ240のプロセッサパッケージの一部である。代替的な実施形態では、メモリコントローラ230は、サポートされた「チップセット」またはハードウェアロジックの一部であり、これらはホストプロセッサ240を一部とするハードウェアプラットフォームに対し、電力及びインターフェースロジックのための基盤を提供する。一実施形態では、DRAM210は、揮発性メモリであるか、或いは、電力がデバイスに対して遮断されたか否かが非決定性の複数のコンテンツを有するメモリデバイスである。従って、揮発性メモリは、データの損失または破損を避けるべく、揮発性メモリにメモリセルのリフレッシュを可能にする常用電源を必要とする。上述のように、検出ロジック234は、ロウハンマコンディションを識別するシステム200がターゲットリフレッシュを用いてロウハンマコンディションに反応できるようにすることを可能にする。
DRAM210は、ロウハンマコンディションに起因してどの行または複数の行が破損のリスクにさらされているかを判断するロジックを表すビクティムロジック214を含む。一実施形態では、ビクティムロジック214は少なくとも部分的にメモリコントローラ230で実行されうる。しかしながら、メモリコントローラ230と、他のタイプのメモリデバイスとの間での、より広い相互運用性を目的として、概して、ビクティムロジック214はDRAM210に存在する。従って、メモリコントローラ230は、ターゲットリフレッシュを引き起こすためのターゲットリフレッシュトリガをDRAM210に提供しさえすればよい。DRAM210は、どの行または複数行が潜在的にビクティムであるかを判断するべく、マッピングまたは他のロジックを使用してよい。
DRAM210は、メモリ212のリフレッシュを行うロジックを含む制御ロジック216を有する。各メモリデバイスは、どのメモリセルがリフレッシュされており、どの行が次にリフレッシュされるべきかを記録するいくつかのロジックを含む。制御ロジック216は、ターゲットリフレッシュコマンドの受信に基づいて、実際のターゲットリフレッシュを実施することができる。
DRAM210は、DRAM210の設定、及び/または、DRAM210及びメモリコントローラ230の間の通信の設定を考慮に入れる1または複数レジスタ218を含んでよい。一実施形態では、レジスタ218は、ロウハンマコンディションを表すアクセス数を示す閾値情報を格納する。メモリコントローラ230は、コマンドロジック232を含む。
コマンドロジック232は、メモリコントローラ230がレジスタ218に対して読み出し及び/または書き込みを行うことを可能にする。一実施形態では、メモリコントローラ230は、ターゲットリフレッシュをメモリデバイスに行わせるべく、DRAM210のレジスタ218に値をセットすることで、ターゲットリフレッシュを引き起こす。一実施形態では、メモリコントローラ230は、レジスタ218から読み出された閾値を、行へのアクセス数が超過したことが検出されると、ターゲットリフレッシュを引き起こす。検出ロジック234は、本明細書に記載された任意の実施形態に係るロジックを表し、レジスタ218から読み出された閾値を、行へのアクセス数が超過したことをメモリコントローラ230が判断することを可能にする。
図3Aは、メモリデバイスの設定ストレージからの閾値に従ってロウハンマコンディションを監視するシステムの実施形態のブロック図である。システム302は、メモリコントローラ330、メモリデバイス320及び検出器310を有するメモリサブシステムを含むシステムの一例を表す。システム302は、上述のシステム100、150または200に係るシステムの一例を提供する。一実施形態では、検出器310はメモリコントローラ330の一部である。メモリコントローラ330は、検出器310によるロウハンマコンディションの検出に応じて、ターゲットリフレッシュコマンドを発行しうる。
メモリデバイス320は、メモリの多数の行を含む。複数の行のなかにターゲット行322があり、ターゲット行322は期間内で繰り返されたアクセスのターゲットの行である。ビクティム行324は、ターゲット行322のハンマリングに起因するデータ破壊のリスクにさらされている行である。ハンマロウに関連して2以上のビクティム行が存在してよい(例えばハンマロウに物理的に隣接する各行など)。一実施形態では、メモリデバイス320は、ロウハンマまたはアクセスレートの閾値を表すべくメモリデバイスに対して決定された特定の値を示す設定340を含む。ロウハンマ閾値は、メーカにより決定されてよい。
一実施形態では、検出器310はアクセスログ312を含む。アクセスログ312は、情報の多数のフィールドを有する複数のエントリを格納するリストまたはアレイまたは表または他の論理構造として実装されてよい。各エントリは、メモリの特定の行に対するアドレスまたは識別子と、エントリに対するアクセスカウントとを少なくとも含む。アクセスログ312におけるエントリの数は、メモリデバイス320における行の総数よりもずっと小さい。従って、検出器310は、全ての行のサブセットに対するカウントを維持することによって監視することができる。各行のカウントは、その行が再びアクセスされるときにインクリメントされ得る。カウントは、その行が閾値に等しい回数だけアクセスされたかを判断するべく、閾値に対して比較され得る。
検出ロジック314は、アクセスコマンドがメモリの行に向けられたことを検出器310が判断できるようにするロジックを含む。検出ロジック314は、ターゲット行322へのラインと共に具体的に示されているが、検出ロジック314は、設定または構成情報340に明記されたロウハンマ閾値に従ってすべての行へのアクセスを監視することができる。一実施形態では、検出ロジック314は、メモリコントローラ330により発行されたアクティベートコマンドのアドレスを特定するメカニズムを含む。従って、メモリの行をアクティブ化するコマンドをメモリコントローラ330がメモリデバイス320に送信する度に、検出器310は、コマンドに関連付けられるアドレスを識別し、そのアドレスに対するアクセスをアクセスログ312に記録する。
検出器310は、行に対するアクセスが閾値を超過するときを特定し、メモリコントローラにその行アドレス情報を示す。アクセスログ312におけるアドレス情報が、物理メモリリソースにアクセスすべくメモリデバイス320によって用いられるアドレスと必ずしも同一でないことは理解されよう。
メモリデバイス320は、メモリコントローラ330により複数の物理リソースに送信された複数のアドレスをデコードする。従って、アクセスが閾値に達したか、または超過した行を検出器310が特定したとき、その情報は、ターゲット行322の物理リソースを識別するべく、さらにデコードされる必要があるかも知れず、これにより、物理的に隣接したビクティム行324が特定できる。
検出器310はタイマ情報316を受信し、これを通じて検出器310は、タイムフレームの終了と同様に、タイムフレームまたは期間またはタイムウィンドウの開始を識別することができる。監視は、タイムフレームの開始と終了の間で行われる。一実施形態では、タイムフレームは、1つのスケジュールされたリフレッシュから、次のスケジュールされたリフレッシュまでである。
一実施形態では、エントリのカウントが閾値に達し、メモリコントローラに特定されたときに、検出器310は、アクセスログ312のエントリのカウントをクリアする。検出がランク及び/またはバンクの粒度に基づいて実行されることは理解されるだろう。メモリコントローラに対して必ずしも単一の検出器310は存在しない。各バンクは追跡されることができ、各メモリチャネルは監視を受けることができる。
図3Bは、メモリモジュールの設定ストレージからの閾値に従ってロウハンマコンディションを監視するシステムの実施形態のブロック図である。システム304は、本明細書で説明されるシステム302または任意の他のメモリサブシステムの実施形態の一例を示す。システム302は単一のメモリデバイス320を示すのに対し、システム304は、多数のメモリデバイス320を含むメモリモジュール350を示す。いくつかのシステムにおいて、メモリデバイスは、ホストデバイスのマザーボードまたは主要な回路基板上に直に配置される。システム302は、ホストシステム基板上にメモリデバイス320が直に置かれたメモリサブシステムを表す。システム304は、一般的にコネクタを介してホストシステム基板に接続されるモジュールボードの使用を表す。システム302におけるメモリコントローラ330、検出器310、アクセスログ312、検出ロジック314及びタイマ316に関する説明は、システム304に対しても同様に適切に適用される。
メモリモジュール350は、多数のメモリデバイス320を含み、分散した検出器354はメモリモジュール350に含まれうる。一実施形態では、メモリモジュール350は設定352で表される構成デバイスを含む。一実施形態では、設定または構成情報352は、一般に複数のDIMMまたは互換性のあるモジュールデバイス上で使用される直列プレゼンス検出(SPD)デバイスに含まれる。
一般的に、SPDは、サイズ、スピード、アーキテクチャの詳細に関するデータ、及び/または、他の製造データを含むメモリモジュール上に設けられた小型のシリアルEEPROM(electronically erasable programmable read only memory)またはフラッシュデバイスである。概して、メモリのメーカまたは分析者または他の下請け業者は、製造/確認プロセスの間にSPDをプログラムする。
メモリコントローラ330及び/または検出器310は、設定352からデータを読み出しうる。従って、メモリサプライヤは、メモリモジュール350上のメモリデバイス320のグループ全体に対する情報をプログラムすることができる。
一実施形態では、設定352を格納するメモリモジュール350に加えて、各メモリデバイス320が設定または構成情報340を含む。さまざまなデバイス内でバリエーションを有することは可能であり、この場合、1つのデバイスが1つの閾値に従って動作し、別のデバイスが別の閾値に従って動作する。SPDは、最悪の場合の値を、それに備えて有してよく、各デバイス(例えばMPRにおける)は、例えば、デバイスに特定の値を格納してよい。メモリコントローラは、モジュールごとに追跡してよく(例えば、DIMMごと)、或いは、最低の閾値によって追跡してよい。
メモリモジュール350上の1または複数のメモリデバイス320が異なる閾値を持ちうることは理解されるだろう。一実施形態では、検出器310は、個々のメモリデバイス320の設定レジスタからの個々の設定情報340に基づいてロウハンマコンディションを監視する。そのような実施形態は、設定352がメモリモジュールに対して存在する実装を含んでよい。代わりに、各メモリデバイス320が個々の設定340を備えるにも関わらず検出器310が設定352に基づいて監視してもよい。一実施形態では、検出器310は、コンフリクト(すなわち異なる閾値)が無い限り、個々の設定340に基づいて監視し、コンフリクトがある場合には設定352に基づいて監視する。
一実施形態では、メモリモジュール350上の閾値設定352は、任意のメモリデバイス320の、最も限定的な閾値、または、低い方の閾値を格納する。メモリモジュール350は、そのような判断を行って値を格納するロジックを含んでよい。代わりに、メモリコントローラ330は、各メモリデバイス320の複数の構成デバイスから閾値を読み出し、設定352に閾値情報を書き込んでよい。一実施形態では、ロウハンマ閾値情報は、単純に、設定352の、及び/または、設定情報340の1つのフィールドである。一実施形態では、設定340は、ベンダー特有の情報に用いることができる、多目的のレジスタ(MPR)または各ストレージデバイス320のページ3に格納される。従って、種々の複数のロット、複数の処理、複数のメモリデバイス320のサプライヤに起因する複数の異なる閾値は、システム302および304において効率的に追跡されうる。
図4は、プログラム可能なロウハンマ閾値に従ってロウハンマコンディションを検出するプロセスの実施形態のフロー図である。サプライヤは、メモリデバイスを製造する(402)。このコンテキストにおけるメモリデバイスは、そのパッケージング(例えばメモリ「チップ」)における別個のメモリダイを参照する。製造されたメモリチップを受け取るサプライヤまたは別の当事者は、メモリデバイスに対するロウハンマ閾値を決定する(404)。この決定は、使用される処理の情報、及び、メモリデバイスの製造の間に存在する状態に基づいて決定すること、及び/または、デバイスについての1または複数のテストの実行を通じて決定することを含んでよい。
サプライヤまたは他の当事者は、メモリデバイス設定レジスタへロウハンマ閾値をプログラムしてよい(406)。
閾値は必ずしもメモリデバイス自体に配置されなくてもよい。一実施形態では、メモリデバイスは他のメモリデバイスを有するモジュールに配置される(408)。メモリモジュール内で使用されるとき、異なるメモリデバイスがその時々においてモジュールに配置されてよい。同様に、種々のメモリモジュールがホストコンピュータシステムのメモリバス上に、別個の複数の時間に配置されてよい。いずれの場合にも、複数のメモリデバイスの間、及び/または、複数のメモリモジュールの間で閾値のミスマッチが生じ得る。一実施形態では、ロウハンマコンディションは、デバイスごとの基準で、それらの閾値情報に基づいて監視される。一実施形態では、異なる閾値に基づいて種々のメモリモジュールが監視される。一実施形態では、システムにおけるすべてのメモリデバイスは単一の閾値に従って監視され、この閾値はこのとき、一般的に、メモリサブシステムにおける全てのデバイスの最低閾値に設定される。
従って、メモリサプライヤまたはメモリモジュールサプライヤのいずれかは、メモリモジュールにおける複数のデバイスに基づいて、メモリモジュールのロウハンマ閾値をプログラムすることができる(410)。一実施形態では、ホストシステムは(例えばメモリコントローラまたは他のロジックを介して)、メモリモジュールのロウハンマ閾値を検出してプログラムする。一実施形態では、メモリモジュールは、自身のロウハンマ閾値を自己発見する。
メモリデバイス及び/またはメモリモジュールを有するアクティブなシステムにおいて、検出ロジックは、メモリデバイスに関連する、或いは適用し得るロウハンマ閾値により定義されるようなロウハンマコンディションに関してメモリデバイスを監視する(412)。閾値は、デバイス自身、または、デバイスを一部とするメモリモジュールに格納される場合、さもなければ、それを監視する検出ロジックによって取得されて用いられる場合には、メモリデバイスに関連するか、或いは適用し得る。従って、検出ロジックは、メモリデバイスに対する閾値を取得し(414)、メモリデバイスの行に対するアクセス数が閾値を超過したかを判断する(416)。
閾値を超過しない場合(418 NO分岐)には、検出ロジックはロウハンマコンディションに関して監視を続ける(412)。閾値を超過した場合(418 YES分岐)には、検出ロジックはメモリデバイスのターゲットリフレッシュを引き起こすトリガを生成する(420)。このトリガは、本明細書に記載された任意の実施形態に従う。
図5は、メモリデバイスのロウハンマコンディションを監視するプロセスの実施形態のフロー図である。メモリデバイス及び分散検出ロジックは、許容レベルとして設定されたものを超えて、メモリの行に対するアクセスがいつビクティム行における破損の可能性を高めたかを示すロウハンマコンディションを監視する任意のメカニズムを使用することができる。いくつかのメカニズムは、全ての行に対するカウントを維持することの代わりに、全ての行の1つのサブセットのみに対するカウントを維持することを含むができる。いくつかのメカニズムは、複数のアクセスの順序付きの表を含み得る表を維持する。いくつかのメカニズムは、演算された最大ビクティムカウント(MVC)に基づいてよい。1つの実装が以下のように説明される。
管理者は、ロウハンマ監視タイムウィンドウまたはタイムフレームと、ロウハンマコンディションを示すアクセス閾値とを用いてメモリサブシステムを設定することができる(502)。管理者は、タイムフレーム及び複数の閾値を示す複数の入力を受信するようシステムを事前に設定してよい。一実施形態では、設定することは、メモリサブシステムの複数のレジスタ値またはファームウェアの設定のセッティングの一部である。システムは、閾値のアクセス数を監視しながらタイムフレームでの監視を実行するよう構成された検出器または検出ロジックを含む。さらに、本明細書中に述べたように、特定の閾値は、メモリデバイス、または、メモリデバイスのグループ(例えばモジュール)に対して取得される。
従って、タイムフレーム及びアクセス数は、システム内で定義される。一実施形態では、タイムフレームは64ミリ秒である。閾値を構成するアクセス数は、メモリコントローラが接続されたメモリデバイスのアーキテクチャに依存し、メモリサイズ及びメモリ密度を含む(例えば、最小処理機能サイズ)。ロウハンマイベントを示すアクセス数は、タイムウィンドウの間での150Kから550Kのアクセスの範囲内のいずれかであり得る。そのような情報は、メモリデバイス及び/またはメモリモジュールのメモリ位置(例えばレジスタ)に格納される。
メモリコントローラまたは検出器は、システム内で生じうるビクティム行の最大数を算出しうる(504)。後述の複数のオペレーションは、実装に応じて検出器またはメモリコントローラにより実行されるとみなされうる。説明を簡単にするために、以下の説明は、検出器によるオペレーションに言及するが、検出器及びメモリコントローラのいずれか、或いは両方によって実行され得ること、または、検出器がメモリコントローラの一部であり得ることは理解されるだろう。管理者は、代わりにビクティム行の最大数を算出してよい。この算出は、タイムフレーム内で閾値に等しい回数、アクセスされうる行の最大数がいくつであるかの決定に基づく。1つの簡単な例として、閾値を定義するアクセス数が250Kであり、タイムフレームが64msであるシステムを考える。各アクセスが10nsのオーダーでどこかで生じる場合には、このときビクティム行の最大数は26に近似する(64ms/(250K*10ns)=25.6)。ビクティムの最大数は、MVC(maximum victim count)と称されうる。各行を個別に監視する単純な場合より、この数が小さい桁であることに気付くであろう。
一実施形態では、検出器は、MVCの値に基づいてエントリのアレイを形成する(506)。アレイは表またはログまたは他の構造であってよい。
一実施形態では、エントリの数は少なくともMVC+1である。エントリの数はMVCの倍数である。一実施形態では、表またはログのエントリのそれぞれは、CAM(content addressable memory)によりアクセス可能な行アドレスと、アクセスカウント値を含む。CAMがアドレスの比較に基づいてアクセスを許可することは理解されるだろう。他の情報もまた、複数のエントリに含まれてよい。
一実施形態では、検出器は、タイムフレームの開始においてアレイを初期化する(508)。初期化は、多数の異なるオペレーションを含んでよい。一実施形態では、タイムフレームが開始すると、検出器はアレイの各エントリを初期化して無効にする(例えば、エントリにおける値の入力またはフラグのセッティング、または、アレイとは別個の複数の有効なエントリのビットマップの維持による)。一実施形態では、検出器は各エントリのカウント値をゼロにリセットする。
一実施形態では、検出器は、アクティベートコマンドの複数のアドレスフィールドにおける行を特定するアクティブ化によって、各行を監視し得る(例えばCAMを用いる)(510)。一実施形態では、検出器は、カウンタ値の順序によってアレイをソートする(例えば、最高のものから最低のものへ、または最低のものから最高のものへ)。アレイのソートは、ソート(sort)、リンクリストまたは他のメカニズムによって達成されうる。
検出器により検出される行の新たなアクティブ化それぞれに対し(512)、検出器は、その行が既にアレイにあるかを判断し得る(514)。行がアレイにある場合(514 YES分岐)には、検出器は、そのエントリに対するカウントをインクリメントする(516)。エントリを有効であるようにもする追加的な条件があってもよい(従って、行がアレイにあり、かつエントリが有効である場合にインクリメントする)。行がまだアレイにない状況に対処する多くの方法があってよい(514 NO分岐)。一実施形態では、検出器は、アレイ内に利用可能な複数の空のエントリまたは複数の無効なエントリがあるかを判断する(518)。
アレイ内に利用可能なエントリがある場合(518 YES分岐)には、検出器は、アクティブ化が検出された行に関連する情報をエントリに入力する(520)。特定の実施態様に必要とされるように、検出器はまた、エントリを有効としてマークしてよい。検出器は、次にそのエントリのカウントをインクリメントする(516)。
利用可能なエントリがアレイにない場合(518 NO分岐)には、検出器は、最低アクセスカウント値を有するエントリを、アクティブ化が検出された行の行アドレスで置き換えてよい(522)。一実施形態では、エントリのアクセスカウントは、特には、リセットまたはゼロ化されない。むしろ、そのエントリに対するアドレス情報は、ちょうどアクティベートされた行に対して置き換えられる。メモリ内の特定の行が繰り返しアクセスされることはできるものの、繰り返されたアクセスが別のエントリへのアクセスと共にあちこちへ行ったり来たりし得ることは理解されるだろう。従って、アクセスカウントを維持しつつインクリメントすることにより、それは行に対するアクセス数よりもほぼ確実に多くなるものの、実際のアクセス数よりも小さくなることはないだろう。
従って、検出器は、前のアクセスカウント値または行カウントを維持し、それをインクリメントする(516)。インクリメントの最も単純な形態は行カウントを毎回1つずつ増やすことによって行われるが、インクリメントの他の形態が行われてよいことは理解されるだろう。インクリメント(516)の後に、検出器は、行カウントが最大カウントであるか、即ち、行が閾値に達したかを判断する(524)。一実施形態では、検出器は、行のアクティブ化を検出する度に閾値に達したかを調べるべく検査するが、他の複数の実装が可能である。特に、新たに追加された複数のエントリに対し、閾値に対するカウントを検査する必要はないかもしれない。
実装に関わらず、行が閾値であるかを検出器が判断するときに、検出器は、ロウハンマコンディションに対処するべく、その行に対するターゲットリフレッシュコマンドを発行してよい。行が閾値に達していない場合(524 NO分岐)には、検出器は監視を維持する(510)。行が閾値に達した場合(524 YES分岐)には、検出器はターゲットリフレッシュコマンドを引き起こすべく、メモリコントローラにその行のアドレス情報を示す(526)。一実施形態では、エントリが閾値に達したときに、検出器はまた、そのエントリの最小のカウント値を、そのアレイの全てのエントリの最小のカウント値にリセットする。改めて、そのような動作は、繰り返しアクセスされているが少なくとも最初には他の複数の行ほど頻繁にアクセスされていないエントリに対するカウント情報をアレイが損失することを防ぐ。検出器はまた、エントリの有効ビットをクリアしてよい。
本明細書で説明されるオペレーションが、最も頻繁なアクセス行を「浮き上がらせる(float up)」させる傾向があることは理解されるだろう。説明されるように実装された場合に、アレイまたはリストにおける全てのエントリの最小アクセスカウントよりも実際のアクセスカウントが大きくなる行が存在するような状況は決して生じないであろう。さらに、ターゲットリフレッシュを引き起こす行数がMVCの値を超過し得ないという事実に起因して、フォールスアラームのリスクが制限される。
複数の実施形態が複数の図を具体的に参照して上述された。概して、システムの様々な変更が行われ得ることは理解されるだろう。一実施形態では、ロウハンマ検出ロジックはメモリデバイス自体にある。例えば、メモリデバイスは、メモリデバイスに入ってくるコマンド及びアドレス情報を処理するデバイス内に検出ロジックを含んでよい。例えば、RDIMM(レジスタDIMM)またはLRDIMM(負荷軽減DIMM)上のC/A(コマンド/アドレス)レジスタまたはバッファまたは他の類似デバイスである。一実施形態では、システムは、そのようなC/Aデバイス、または他の分散したロジックを介して分散した監視または分散した追跡を行う。ロジックは、メモリの複数の部分への複数のアクセスを監視及び/または追跡する任意の方法、例えば、図5に関して後述される方法または任意の他の方法を使用することができる。
一実施形態では、検出ロジックはメモリデバイスの多数の論理部分にわたって分散してよい。従って、全ての検出ロジックがC/Aデバイス内で実行されるとしても、それぞれ独立に種々の論理部分にわたって監視することができる場合には、本明細書の目的上、分散したロジックと見なされてよい。メモリデバイス内の検出ロジックは、ロウハンマイベントが検出されたときにメモリコントローラに警告する。一実施形態では、警告は、アラートピン(例えばアラート#)上のパルス幅を介して引き起こされる。一実施形態では、メモリデバイスは、アラートピンのセッティングを行うことを介して警告を引き起こし、メモリコントローラがアラートピンをリセットすることを待つ。メモリコントローラはまた、何の警告が示されているかを判断すべく、警告に応じてメモリデバイスをポーリングしてよい。この方法において、多数の警告が同一のアラートピン上で生成されうる。従って、例えば、現在のDDR DRAM設計において、ロウハンマイベントの兆候がピンのセッティングとして示されるか、或いは、ロウハンマイベントの兆候がピンを律動させてポーリングを待つ場合には、ホストまたはメモリコントローラは、C/Aパリティエラーの兆候(パルス幅によってアサートされる)と、ロウハンマイベントの兆候とを区別し得る。
一実施形態では、メモリコントローラはロウハンマイベントを検出すべくメモリデバイスを設定する。例えば、メモリコントローラは、何回のアクセスがロウハンマイベントを引き起こすかに関して、レジスタ制御ワードで複数の閾値をプログラムしうる。一実施形態では、メモリコントローラは、ロウハンマコンディションを判断すべく、メモリデバイスに対してタイムウィンドウをプログラムする。例えば、いくつかのメモリサブシステムにおいて、リフレッシュウィンドウとは異なるタイムウィンドウが使用され得る。他の複数のサブシステムにおいて、リフレッシュウィンドウはプログラム可能である。所定のタイムウィンドウ内でのアクセス数の閾値に達した場合には、メモリデバイスは(例えばC/Aレジスタデバイスを介して)、ホストに対し(例えばメモリコントローラに対し)警告信号を送信する。
メモリコントローラがメモリデバイスからロウハンマコンディションの兆候を受信したときには、メモリコントローラは、ロウハンマコンディションを直すべく、ビクティム行に対してターゲットリフレッシュをメモリデバイス内で引き起こす。メモリコントローラがターゲットリフレッシュを引き起こしうる方法には多くの代替例が存在する。一実施形態では、メモリコントローラはメモリデバイスに対してロウハンマリフレッシュコマンドを発行し、ロウハンマコンディションを引き起こしたアドレスを示す。メモリコントローラは、メモリデバイス内のC/Aデバイスからアドレスを取得しうる(例えば制御ワードの読み取りを介して)。メモリコントローラは、ロウハンマコンディションを引き起こした行の正確なアドレスを特定し、どの行がビクティム(または物理的に隣接)であるかをメモリデバイスに解決させうる。代わりに、メモリコントローラは、具体的なビクティム行アドレスを特定しうる。メモリコントローラは、ロウハンマコンディションを引き起こした行の正確な位置の代わりに、メモリの領域を特定するアドレスを送信しうる。
一実施形態では、メモリコントローラはメモリデバイスがロウハンマコマンドを生成することを引き起こすトリガを発行する。例えば、メモリコントローラは、C/Aデバイス内の制御ビットに書き込んでよく、逐次ロウハンマリフレッシュコマンドを生成してよい。そのようなトリガは、メモリコントローラの一部において多くの処理を必要としないであろうが、メモリデバイスによる多くの処理を必要とする。しかしながら、メモリデバイスがロウハンマイベントを検出した場合には、ロウハンマイベントを引き起こす行アドレスを持つはずであり、それ故、メモリデバイス及びメモリコントローラの間で往復してアドレスの交換をする必要なく、コマンドを発行し得る。代替的な実施形態において、メモリコントローラは、アドレス情報を含めることなくロウハンマリフレッシュコマンド(ターゲットリフレッシュコマンドとも称される)を発行する。メモリデバイスは、(例えばC/Aデバイスを介して)アドレス情報を提供し、ターゲットリフレッシュを実行する複数のメモリリソースにコマンドを送ることができる。
C/Aデバイスへの言及が非限定的であることは理解されるだろう。分散したロウハンマイベントの管理は、RDIMMサブシステムのC/Aレジスタ、LRDIMMサブシステムのC/Aレジスタ、バッファオンボード(BoB)実装のバッファ、3DS(3次元スタック)構成におけるロジックバッファデバイス、または、コマンド及びアドレス情報を扱う他のいくつかのデバイスによって実現され得る。
上述したように、メモリコントローラは、アドレス情報を含む、または含まないターゲットリフレッシュトリガを送信し得る。アドレス情報は、どの行がハンマになっているかを示すことができ、そのため、ビクティム行(またはターゲットリフレッシュコマンドのターゲット)を直に示さなくてよい。一般的なリフレッシュシナリオにおいて、メモリデバイス自体は、何がいつリフレッシュされることを必要とするかを追跡する。従って、メモリデバイス自体は、メモリデバイスによって用いられたメモリレイアウトに基づき、どの1つのビクティム行または複数のビクティム行がロウハンマイベントにより影響されるかを計算し得る。メモリデバイスは、リフレッシュする行をオープンし、次にクローズすることで、ビクティム行をリフレッシュする。
メモリデバイスにハンマロウのビクティム行をリフレッシュさせるべく、メモリコントローラがハンマロウのアドレスを示すことが、特定アドレスを識別するための特定数のビットを必要とすることは理解されるだろう。一実施形態では、メモリコントローラは特定アドレスを識別する。他の実施形態では、メモリコントローラは特定の行より大きい領域を識別する。従って、メモリコントローラは、選択された設定に応じて、特定のブロック、特定の行、または領域を識別することができる。まさに特定アドレスを識別するコストは、必要とされるビット数である。より一般的にアドレスの識別コストは、メモリデバイスがより大きな領域をリフレッシュする必要があるということであり、メモリデバイスがより長いリフレッシュ時間で、利用不可能になる。
一実施形態では、メモリコントローラはメモリデバイスにアドレス情報を送信することでアドレス情報を示す。一実施形態では、1または複数の追加ピンまたはラインは、メモリコントローラと、アドレス情報を識別するべく既存のコマンドにアドレス情報を埋め込むメモリデバイスとの間に追加されうる。従って、ターゲットリフレッシュコマンドは、修正された既存のコマンド、及び/または、1または複数の追加ピンまたはラインの使用と合わせた、修正された既存のコマンドでありうる。一実施形態では、ターゲットリフレッシュコマンドはコマンド及びアドレスを複数回(例えば3回)、送信することを含む。一実施形態では、アドレスは連続コマンドにおいて修正されてよい(例えば、2つの連続コマンドにおいてアドレス+1を送信し、次に、アドレス−1を送信する)。複数の他の実施形態が可能である。一実施形態では、メモリコントローラは、メモリデバイスが1または複数のアクティブ化及びプレチャージコマンド(Activate and Precharge commands)のグループに分解するターゲットリフレッシュコマンドを送信する。他の複数のコマンドは、ターゲットリフレッシュの目的で倍加されうる。
64msウィンドウ(例えばリフレッシュウィンドウ)内で行がアクセスされることのできる理論的な最大数は、現在のDRAM(ダイナミックランダムアクセスメモリ)では、1.35ミリオン回(64msリフレッシュウィンドウが47nsのアクセス時間で割られる)である。ビクティム行におけるデータ破壊のリスクがない現実的な最大値はずっと低く、使用される処理技術に依存する。しかしながら、ロウハンマイベントの検出及びターゲットリフレッシュコマンドの送信により、データ破壊のリスクは、メモリの特定の行へのアクセスを制限することなく減少し得る。
メモリデバイスにおいて、物理的に隣接する複数の行は、しばしばメーカごとに論理的に異なってラベルされ得る。一般的に、メーカは、メモリの論理的に隣接する複数の行を物理アドレスのオフセットによってマッピングし、複数のオフセットは種々の別のメーカの間で異なり得る。メモリデバイス自体は、複数の物理メモリリソースへのアクセス要求をマッピングする方法を判断するよう構成される。概して、複数のメモリコントローラは、多くの異なるタイプのメモリデバイスと互換性があるよう設計されており、そのため、概して、具体的に何らかのメーカのデバイスに関して設計されてはいない。従って、複数のメモリコントローラは、慣例上、どの行が物理的に隣接するかを示すロジックまたは情報を有してはいない。分散検出ロジックを用いて、メモリデバイス自体は、ターゲットリフレッシュコマンドの生成に関する1または複数オペレーションだけではなく、ハンマロウ及びビクティム行の特定に関するいくつかのオペレーションを行うことができる。
図6は、ターゲットリフレッシュコマンドをサポートするコマンド真理表の実施形態である。コマンド真理表600は、メモリデバイスの真理表の一例を表す。表600に従って、ターゲットリフレッシュトリガの送信の1つの実施形態は、メモリコントローラがターゲットリフレッシュコマンドを発行することである(ロウハンマコマンドはコマンド630として特定される)。代替的な実施形態において、種々のメカニズムが、メモリデバイスによる、ターゲットリフレッシュの実行を引き起こすために用いられる。左側の列は、サポートされる機能を特定する。右側の複数の列は、特定の機能を指定する種々の信号の値を特定する。
特に、表600には、説明の目的でコマンド630があり、これはロウハンマコマンドである。一実施形態では、メモリデバイスに対しC/Aバス上にコマンド630をセッティングするより前に、メモリコントローラは、モードレジスタ(MR)の1ビットまたは複数ビットを介して、メモリデバイスをロウハンマモードに置く。一実施形態では、メモリコントローラは行アドレスを、バンクグループ及びバンクアドレスと共にメモリデバイスに提供する。メモリデバイスは、提供されたアドレスを用いて、このアドレスに隣接する物理的な行に対し、ターゲットリフレッシュを行う。リフレッシュコマンドが生じる期間を割り当てた後、メモリコントローラは次に、MRビットをリセットすることにより、メモリデバイスをロウハンマモードから移行させ得る。従って、MRビットがメモリコントローラによってセットされたときには、メモリデバイスはコマンド630をロウハンマコマンドであると理解するが、さもなければバンクアクティベートコマンドとして理解され得る。
一実施形態では、ロウハンマは、信号610の値ACT nを例外として、バンクアクティブ(ロウハンマの上のコマンド)と同一である。従って、一実施形態では、ロウハンマコマンドは、ACT nにより引き起こされる。ACT nは、以前のメモリ規格のものではないピンまたは信号である。ACT nの信号は、コマンドがロウハンマまたはバンクアクティブであるか否かを示し得る。負論理として示されているが、代わりに正論理であるよう構成されてもよい。両方のコマンドが、複数の行アドレスビットにより示されるように、アドレスを特定することができる
620としてラベルされた3つの列がRAS、CAS及びWE信号を含むことが観察されるだろう。しかしながら、これらのコマンドは、メモリデバイス自体により内部で制御され得る。従って、追加のアドレス情報(それぞれアドレスビットA16、A15及びA14)と共にこれらの信号を多重化することにより、ロウハンマコンディションのターゲットのアドレスをより具体的に特定するべく、より多くのアドレス情報が提供されることが可能となる。
ACTが設定されると(例えば列620)、メモリデバイスは、RAS/CAS/WEを行アドレス情報として読み出す。ACTが設定されないと、メモリデバイスは、RAS/CAS/WEを伝統的なメモリアクセスのエンコードとして読み出す。上述したように、アドレス情報は、ブロック、特定の行、または他のいくつかのサイズの領域について特定され得る。リフレッシュは、システムにより望まれる程度に具体的または広範囲であり得る。
信号ACT nの使用によりアクティベートコマンドは2倍であるとして示されているが、リフレッシュまたは他の任意のコマンドが使用され得る。代わりに、ターゲットリフレッシュのために完全に新しいコマンドが使用されてよい。説明したように、ターゲットリフレッシュコマンドは、アクティベートコマンドに埋め込まれていると言える。メモリデバイスは、ロウハンマコマンド630内のアドレスに基づいてビクティム行を特定する。
図7は、ロウハンマの監視が実行可能なコンピューティングシステムの実施形態のブロック図である。システム700は、本明細書に記載された任意の実施形態に係る、コンピューティングデバイスを表し、ラップトップコンピュータ、デスクトップ型コンピュータ、サーバ、ゲームまたはエンターテイメント制御システム、スキャナ、コピー機、プリンタ、または他の電子デバイスであり得る。システム700はプロセッサ720を含み、プロセッサ720は、システム700のために処理、動作管理、及び命令の実行を提供する。プロセッサ720は、システム700のために処理を提供するマイクロプロセッサ、中央処理ユニット(CPU)、処理コア、または他の処理ハードウェアの任意のタイプを含んでよい。プロセッサ720は、システム700のオペレーション全体を制御し、1または複数のプログラマブルな汎用または特定用途のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、プログラマブルコントローラ、特定用途向け集積回路(ASIC)、プログラム式論理デバイス(PLD)など、またはそのようなデバイスの組み合わせである、または、を含んでよい。
メモリサブシステム730は、システム700のメインメモリを表し、プロセッサ720により実行されるコード、またはルーチンの実行で使用されるデータ値のための一時ストレージを提供する。メモリサブシステム730は、リードオンリメモリ(ROM)、フラッシュメモリ、1または複数の様々なランダムアクセスメモリ(RAM)、他のメモリデバイス、またはそのようなデバイスの組み合わせ等の、1または複数のメモリデバイスを含んでよい。メモリサブシステム730は、とりわけ、システム700における命令の実行のためのソフトウェアプラットフォームを提供するオペレーティングシステム(OS)736を格納して提供する。さらに、複数の他の命令738が格納されメモリサブシステム730から実行され、システム700のロジック及び処理を提供する。OS736及び複数の命令738は、プロセッサ720により実行される。
メモリサブシステム730は、データ、命令、プログラムまたは他のアイテムを格納するメモリデバイス732を含む。一実施形態では、メモリサブシステムは、本明細書に記載された任意の実施形態に係るメモリコントローラであるメモリコントローラ734を含む。メモリコントローラ734は、ロウハンマコンディションに基づいてメモリデバイス732にターゲットリフレッシュコマンドを提供する。ロウハンマコンディションは、本明細書に記載された任意の実施形態に係るメモリデバイスに対して格納された閾値に基づいて検出され得る。ターゲットリフレッシュコマンドは、ターゲットリフレッシュをメモリデバイス732に行わせる。ターゲットリフレッシュは、オフサイクルのリフレッシュオペレーションであり、定期的にスケジューリングされたリフレッシュサイクルから外れており、リフレッシュする隣の領域とは異なり、必ずしも、メモリデバイスによって追跡される領域上ではないことを意味する。むしろ、リフレッシュされる領域は、ターゲットリフレッシュコマンドに関連付けられるアドレスに基づいて特定されるビクティム行または領域に基づく。メモリコントローラ734は、本明細書に記載された任意の実施形態に係る分散検出ロジックによる検出に応じて、メモリ732内でのターゲットリフレッシュを引き起こし得る。
プロセッサ720及びメモリサブシステム730は、バス/バスシステム710に結合される。バス710は、適切な複数のブリッジ、アダプタ及び/またはコントローラにより接続された、任意の1または複数の別個の物理的なバス、通信ライン/インターフェース、及び/または、ポイントツーポイント接続を表す抽象概念である。故に、バス710は、例えば、1又は複数のシステムバス、ペリフェラルコンポーネントインターコネクト(PCI)バス、ハイパートランスポートまたはインダストリスダンダードアーキテクチャ(ISA)バス、スモールコンピュータシステムインターフェース(SCSI)バス、ユニバーサルシリアルバス(USB)、または、Institute of Electrical and Electronics Engineers(IEEE)規格1394バス(通常、「ファイヤワイヤ」と称される)を含んでよい。バス710の複数のバスはまた、ネットワークインターフェース750における複数のインターフェースに対応してよい。
システム700はまた、バス710に結合された1または複数の入出力I/Oインターフェース740、ネットワークインターフェース750、1または複数の内部大容量ストレージデバイス760、及び周辺インターフェース770を含む。I/Oインターフェース740は、ユーザがシステム700と相互作用する1または複数のインターフェースコンポーネントを含んでよい(例えば、ビデオ、オーディオ及び/または英数字インターフェーシング)。ネットワークインターフェース750は、1または複数のネットワークを通じて複数のリモートデバイス(例えばサーバ、他のコンピューティングデバイス)と通信する機能をシステム700に提供する。ネットワークインターフェース750は、イーサネット(登録商標)アダプタ、無線インターコネクションコンポーネント、USB(ユニバーサルシリアルバス)、または他の有線または無線規格ベースの、または独占所有権のあるインターフェースを含んでよい。
ストレージ760は、1または複数の磁気、ソリッドステートまたは光ベースのディスク、またはそれらの組み合わせのように、大容量データを不揮発な態様で格納するための任意の従来の媒体である、または、を含んでよい。ストレージ760は、永続的な状態でコードまたは命令及びデータ762を保持する(すなわちシステム700への電力の中断に関わらず値は保持される)。メモリ730はプロセッサ720に複数の命令を提供する実行または動作メモリ(executing or operating memory)であるが、ストレージ760は概して「メモリ」と見なされ得る。ストレージ760は不揮発性であるが、メモリ730は揮発性メモリを含み得る(すなわちシステム700への電力が中断すると、データの値または状態は不確定である)。
周辺インターフェース770は、具体的に上述されていない任意のハードウェアインターフェースを含み得る。周辺機器は概して、システム700に従属的に接続する複数のデバイスを参照する。従属的な接続は、システム700は、オペレーションが動作し、ユーザが相互作用するソフトウェア及び/またはハードウェアプラットフォームを提供するものである。
図8は、ロウハンマの監視が実行可能なモバイルデバイスの実施形態のブロック図である。デバイス800は、コンピューティングタブレット、携帯電話またはスマートフォン、ワイヤレス可能な電子書籍リーダ、または他のモバイルデバイスなどのモバイルコンピューティングデバイスを表す。概して、デバイス800において複数のコンポーネントのいくつかが示されており、そのようなデバイスの全てのコンポーネントが示されていないことは理解されるだろう。
デバイス800は、デバイス800の主要な処理オペレーションを実行するプロセッサ810を含む。プロセッサ810は、マイクロプロセッサ、アプリケーションプロセッサ、マイクロコントローラ、プログラム式論理デバイス、または他の処理手段等の1または複数の物理的なデバイスを含み得る。一実施形態では、プロセッサ810は、プロセッサダイに加えて、光インターフェースコンポーネントを含む。従って、プロセッサダイ及びフォトニックコンポーネントが同一のパッケージ内に存在する。そのようなプロセッサパッケージは、本明細書に記載された任意の実施形態に係る光コネクタと光学的にインターフェースをとり得る。
プロセッサ810により実行される処理オペレーションは、複数のアプリケーション及び/またはデバイス機能が実行されるオペレーティングプラットフォームまたはオペレーティングシステムの実行を含む。処理オペレーションは、人間のユーザまたは他のデバイスとのI/O(入出力)に関する複数のオペレーション、電力管理に関する複数のオペレーション、及び/または、デバイス800と別のデバイスとの接続に関する複数のオペレーションを含む。処理オペレーションはまた、オーディオI/O、及び/または、ディスプレイI/Oに関する複数のオペレーションを含んでよい。
一実施形態では、デバイス800は、コンピューティングデバイスにオーディオ機能を提供することに関連する、ハードウェア(例えばオーディオハードウェア及び回路)及びソフトウェア(例えばドライバ、コーデック)の複数のコンポーネントを表すオーディオサブシステム820を含む。
オーディオ機能は、マイク入力と同様に、スピーカ及び/またはヘッドフォンの出力を含み得る。そのような機能のための複数のデバイスは、デバイス800に統合されるか、或いはデバイス800に接続され得る。一実施形態では、ユーザは、プロセッサ810により受信され処理されるオーディオコマンドを提供することによりデバイス800と相互作用する。
ディスプレイサブシステム830は、ユーザがコンピューティングデバイスと情報をやりとりするための視覚的な及び/または触覚を有するディスプレイを提供するハードウェア(例えば複数のディスプレイデバイス)及びソフトウェア(例えば複数のドライバ)の複数のコンポーネントを表す。ディスプレイサブシステム830は、ユーザに対してディスプレイを提供するために用いられる特定のスクリーンまたはハードウェアデバイスを含むディスプレイインターフェース832を含む。一実施形態では、ディスプレイインターフェース832は、ディスプレイに関する少なくともいくつかの処理を実行するべく、プロセッサ810とは別個のロジックを含む。一実施形態では、ディスプレイサブシステム830は、ユーザに対して入力及び出力の両方を提供するタッチスクリーンデバイスを含む。
I/Oコントローラ840は、ユーザとのインタラクションに関するハードウェアデバイス及びソフトウェアコンポーネントを表す。I/Oコントローラ840は、オーディオサブシステム820及び/またはディスプレイサブシステム830の一部であるハードウェアを管理すべく動作し得る。さらに、I/Oコントローラ840は、デバイス800に接続される追加のデバイスに対する接続点を示し、この追加のデバイスを通じてユーザはシステムと相互作用しうる。例えば、デバイス800に装着され得る複数のデバイスは、マイクデバイス、スピーカまたはステレオシステム、ビデオシステムまたは他のディスプレイデバイス、キーボードまたはキーパッドデバイス、または、カードリーダのように特定の用途を有した使用のための他のI/Oデバイス若しくは他のデバイスを含み得る。
上述したように、I/Oコントローラ840は、オーディオサブシステム820及び/またはディスプレイサブシステム830と相互作用しうる。例えば、マイクまたは他のオーディオデバイスを通じた入力は、デバイス800の1または複数のアプリケーションまたは機能に対して入力またはコマンドを提供し得る。
さらに、オーディオ出力は、ディスプレイ出力の代わりに、またはディスプレイ出力に加えて提供され得る。他の例において、ディスプレイサブシステムがタッチスクリーンを含む場合には、ディスプレイデバイスはまた、I/Oコントローラ840によって少なくとも部分的に管理され得る入力デバイスとして動作する。I/Oコントローラ840により管理されるI/O機能を提供するべく、デバイス800上には追加の複数のボタンまたは複数のスイッチが存在してもよい。
一実施形態では、I/Oコントローラ840は、加速度計、カメラ、光センサまたは他の環境センサ、ジャイロスコープ、全地球測位システム(GPS)、または、デバイス800に含まれ得る他のハードウェアなどのデバイスを管理する。入力は、(騒音のフィルタリング、輝度検出のためのディスプレイ調整、カメラに対するフラッシュの適用、または他の機能などの)オペレーションに影響を与えるためのシステムへの環境の入力と同様に、直接的なユーザインタラクションの一部であり得る。
一実施形態では、デバイス800は、バッテリ電源の使用、バッテリの充電、及び、省電力化オペレーションに関する複数の機能を管理する電力管理850を含む。メモリサブシステム860は、デバイス800内に情報を格納するためのメモリデバイス862を含む。メモリサブシステム860は、不揮発性(メモリデバイスへの電力が中断された場合に状態が変化しない)及び/または揮発性(メモリデバイスへの電力が中断された場合に状態が不確定である)のメモリデバイスを含み得る。
メモリ860は、システム800の複数のアプリケーションおよび複数の機能の実行に関するシステムデータ(長期または一時のいずれにせよ)と同様に、アプリケーションデータ、ユーザデータ、音楽、写真、文書、または他のデータを格納し得る。
一実施形態では、メモリサブシステム860は、メモリコントローラ864を含む(メモリコントローラ864はまた、システム800の制御の一部であるとみなすことができ、潜在的にプロセッサ810の一部であるとみなすことができる)。メモリコントローラ864は、メモリデバイス862のメモリの特定の行でのロウハンマコンディションに基づいてターゲットリフレッシュコマンドを発行する。メモリコントローラ864は、本明細書に記載された任意の実施形態に係るメモリデバイスに対して格納された閾値に基づいてロウハンマコンディションを検出し得る。メモリコントローラ864は、本明細書に記載された任意の実施形態に係る分散検出ロジックによる検出に応じて、メモリ832内でのターゲットリフレッシュを引き起こし得る。
コネクティビティ870は、デバイス800が外部の複数のデバイスと通信することを可能にすべく、ハードウェアデバイス(例えば、無線及び/または有線コネクタ及び通信ハードウェア)と、ソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含む。デバイスは、ヘッドセット、プリンタまたは他のデバイス等の周辺機器だけではなく、他のコンピューティングデバイス、無線アクセスポイント、または基地局等の別個の複数のデバイスであってよい。
コネクティビティ870は、多数の異なるタイプの接続性を含み得る。一般化するべく、デバイス800は、セルラー接続872及び無線接続874を有して図示されている。概して、セルラー接続872は、複数の無線企業により提供されるセルラーネットワーク接続、例えば、GSM(登録商標)(global system for mobile communications)またはバリエーションまたは派生物、CDMA(符号分割多元接続)またはバリエーションまたは派生物、TDM(時分割多重)またはバリエーションまたは派生物、LET(ロングタームエボリューション‐「4G」とも称される)、または他のセルラーサービス規格を介して提供されるセルラーネットワーク接続を参照する。無線接続874は、セルラー方式ではない無線接続を指し、パーソナルエリアネットワーク(ブルートゥースなど)、ローカルエリアネットワーク(WiFiなど)、及び/または広域ネットワーク(WiMaxなど)、または他の無線通信を含み得る。無線通信は、非固体媒体を介した、変調された電磁放射の使用によるデータの転送を指す。有線通信は、固体通信媒体によって生じる。
周辺接続880は、周辺接続を形成するソフトウェアコンポーネント(例えばドライバ、プロトコルスタック)だけでなく、ハードウェアインターフェース及びコネクタを含む。デバイス800が、それに接続される周辺機器(「from」884)を有することだけでなく、他のコンピューティングデバイスに対する周辺機器(「to」882)であることの両方が可能であることは理解されるだろう。デバイス800は、一般に、デバイス800上のコンテンツの管理(例えばダウンロード、及び/またはアップロード、変更、同期)などの目的で、他のコンピューティングデバイスに接続するための「ドッキング」コネクタを有する。さらに、ドッキングコネクタは、デバイス800が例えばオーディオビジュアルまたは他のシステムへのコンテンツの出力を制御することを可能にする特定の周辺機器にデバイス800が接続されることを可能にし得る。
独占所有権のあるドッキングコネクタまたは他の、独占所有権のある接続ハードウェアに加えて、デバイス800は、一般的なまたは規格に準拠した複数のコネクタを介して周辺接続880を形成し得る。一般的な複数のタイプは、ユニバーサルシリアルバス(USB)コネクタ(多数の異なるハードウェアインターフェースの何れかを含み得る)、MiniDisplayPort(MPD)を含むディスプレイポート、高解像度マルチメディアインターフェース(HDMI(登録商標))、ファイヤワイヤ、または他のタイプを含み得る。
1つの態様において、メモリサブシステムは、複数のメモリセルの多数の物理的な行を有するメモリデバイスと、メモリデバイスに結合されたロウハンマの検出ロジックとを備え、検出ロジックは、メモリデバイスの設定情報を格納するレジスタから、メモリデバイスに対するアクセスレートの閾値を得て、閾値に基づいて、メモリデバイスの多数の物理的な行の1つへのアクセス数が閾値を超過するかを判断し、閾値をアクセス数が超過したことの検出に応じて、アクセス数が閾値を超過した行に物理的に隣接するビクティム行を標的とするリフレッシュをメモリデバイスが行うことを引き起こし、閾値は、タイムウィンドウ内でのメモリの特定の行に対するアクセス数であって、アクセスされる行に物理的に隣接する行でのデータ破壊のリスクを生じさせるアクセス数を特定する。
一実施形態では、ロウハンマの検出ロジックは、メモリデバイスに結合されたメモリコントローラの検出ロジックを有する。一実施形態では、ロウハンマの検出ロジックは、メモリデバイスの分散検出ロジックを有する。一実施形態では、メモリデバイスに対する設定情報を格納するレジスタは、メモリモジュールの設定ストレージデバイスを有し、メモリデバイスはメモリモジュールの一部である。
一実施形態では、メモリデバイスの設定情報を格納するレジスタは、メモリデバイスに設定レジスタを有する。一実施形態では、検出ロジックは、閾値を示す3ビットコードを得る。
一実施形態では、メモリデバイスに対する閾値は、第1の閾値であり、メモリサブシステムにおける異なるメモリデバイスに対する第2の閾値とは異なる。一実施形態では、検出ロジックは、各メモリデバイスを、その異なる閾値に従って監視する。一実施形態では、検出ロジックは、さらに、どの閾値がより低いかを特定し、より低い閾値に従って複数のメモリデバイスを監視する。
1つの態様では、電子デバイスは、複数のメモリセルの多数の物理的な行を有するメモリデバイス、及び、メモリデバイスに結合されたロウハンマの検出ロジック、を有するメモリサブシステムと、メモリデバイスからアクセスされたデータに基づいてユーザディスプレイを提供するよう構成されたタッチスクリーンディスプレイデバイスとを備え、検出ロジックは、メモリデバイスの設定情報を格納するレジスタからメモリデバイスに対するアクセスレートの閾値を得て、閾値に基づいて、メモリデバイスの多数の物理的な行の1つへのアクセス数が閾値を超過するかを判断し、閾値をアクセス数が超過したことの検出に応じて、アクセス数が閾値を超過した行に物理的に隣接するビクティム行を標的とするリフレッシュをメモリデバイスが行うことを引き起こし、閾値は、タイムウィンドウ内でのメモリの特定の行に対するアクセス数であって、アクセスされる行に物理的に隣接する行でのデータ破壊のリスクを生じさせるアクセス数を特定する。
一実施形態では、メモリデバイスの設定情報を格納するレジスタは、メモリモジュールの設定ストレージデバイスを有し、メモリデバイスはメモリモジュールの一部である。一実施形態では、メモリデバイスの設定情報を格納するレジスタは、メモリデバイスに設定レジスタを有する。一実施形態では、メモリデバイスに対する閾値は、第1の閾値であり、メモリサブシステムにおける異なるメモリデバイスに対する第2の閾値とは異なる。一実施形態では、検出ロジックは、各メモリデバイスを、その異なる閾値に従って監視する。一実施形態では、検出ロジックは、さらに、どの閾値がより低いかを特定し、より低い閾値に従ってメモリデバイスを監視する。一実施形態では、検出ロジックは、閾値を示すコードを格納する設定レジスタのフィールドを得る。
1つの態様では、方法は、メモリデバイスの設定情報を格納するレジスタから、メモリデバイスに対するアクセスレートの閾値を得る段階と、閾値に基づいて、メモリデバイスの多数の物理的な行の1つへのアクセス数が閾値を超過するかを判断する段階と、閾値をアクセス数が超過したことの検出に応じて、アクセス数が閾値を超過した行に物理的に隣接するビクティム行を標的とするリフレッシュをメモリデバイスが行うことを引き起こすトリガを生成する段階と、を含み、閾値は、タイムウィンドウ内でのメモリの特定の行に対するアクセス数であって、アクセスされる行に物理的に隣接する行でのデータ破壊のリスクを生じさせるアクセス数を特定する。
一実施形態では、トリガを生成する段階は、メモリデバイスに対するターゲットリフレッシュコマンドをメモリコントローラが発行することを引き起こすべく、メモリデバイスの分散検出ロジックからメモリコントローラへ警告を送信する段階を含む。一実施形態では、アクセス数が閾値を超過するかを判断する段階は、さらに、タイムウィンドウにおけるメモリデバイスの複数の行への複数のアクセスを監視する段階と、複数の行の何れかに対するアクセス数が閾値を超過するかを判断する段階と、タイムウィンドウにおけるアクセス数が超過したと判断された行についてのアドレス情報を示す段階とを含む。一実施形態では、メモリデバイスに対する閾値は第1の閾値であり、メモリデバイスとメモリサブシステムを共有する異なるメモリデバイスに対する第2の閾値とは異なり、閾値に基づいて判断する段階は、さらに、第1及び第2の閾値の何れがより低いかを判断する段階と、より低いと判断された閾値に基づいて両方のメモリデバイスを監視する段階とを含む。
本明細書で示すフロー図は、多様な処理動作のシーケンスの例を提示する。特定のシーケンスもしくは順序で示されるが、特段明記しない限り、動作の順序は変更することができる。したがって、示される実施形態は、単に一例として理解されるべきであり、処理は異なる順序で実行することができ、並列に実行してよい動作もある。さらに、多様な実施形態において、1または複数の動作を省略することができ、したがって、全ての動作が全実施形態で必要とされるのではない。その他の処理フローも可能である。
本明細書において多様な動作もしくは機能を記載する程度において、それらは、ソフトウェアコード、命令、設定、及び/またはデータとして記載もしくは定義されることができる。コンテンツは、直接実行可能な(「オブジェクト」もしくは「実行可能」形式の)ソースコードまたは差分コード(「デルタ」もしくは「パッチ」コード)であることができる。本明細書に記載した実施形態のソフトウェアコンテンツは、コンテンツを格納した製品を介して、または通信インターフェースを操作し、通信インターフェース上でデータを送信する方法を介して、提供することができる。記載した機能もしくは動作を機械可読記憶媒体によって機械に実行させてよく、機械可読記憶媒体は、機械(たとえば、コンピューティング装置、電子システム等)によりアクセス可能な形態で情報を格納する、たとえば、記録可能/記録不可能媒体(たとえば、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置等)等の任意のメカニズムである。通信インターフェースは、ハードワイヤード、無線、光等の媒体へのインターフェースとなって別のデバイスと通信を行う、たとえば、メモリバスインターフェース、プロセッサバスインターフェース、インターネット接続、ディスクコントローラ等の任意のメカニズムである。通信インターフェースの設定は、設定パラメータを設けることにより、及び/または、ソフトウェアコンテンツを記述したデータ信号を発生するよう通信インターフェースに信号を送信することにより、行うことができる。通信インターフェースには、1または複数のコマンドにより、もしくは、通信インターフェースに送信される信号によりアクセスすることができる。
本明細書に記載した多用なコンポーネントは、記載した動作もしくは機能を実行する手段であってよい。本明細書に記載した各コンポーネントは、ソフトウェア、ハードウェア、もしくはこれらの組み合わせである。コンポーネントは、ソフトウェアモジュール、ハードウェアモジュール、専用ハードウェア(たとえば、特定用途向けハードウェア、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)等)、組み込みコントローラ、ハードワイヤード回路等として実装することができる。
本明細書に記載した内容に加え、本発明の範囲から逸脱することなく、本発明について開示した実施形態および実施例に多様な変更を行ってよい。
したがって、本明細書における説明および例示は、限定的意図としてではなく、説明的意図として解釈されるべきである。本発明の範囲は、以下の特許請求の範囲を参照することによってだけ、評価されるべきである。
本明細書に記載した内容に加え、本発明の範囲から逸脱することなく、本発明について開示した実施形態および実施例に多様な変更を行ってよい。本明細書によれば、以下の各項目に記載の事項もまた開示される。
[項目1]
複数のメモリセルの多数の物理的な行を有するメモリデバイスと、
前記メモリデバイスに結合された検出ロジックと
を備え、
前記検出ロジックは、
前記メモリデバイスの設定情報を格納するレジスタから、前記メモリデバイスに対するアクセスレートの閾値を得て、
前記閾値に基づいて、前記メモリデバイスの前記多数の物理的な行の1つへのアクセス数が前記閾値を超過するかを判断し、
前記閾値をアクセス数が超過したこと検出に応じて、アクセス数が前記閾値を超過した前記行に物理的に隣接するビクティム行を標的とするリフレッシュを前記メモリデバイスが行うことを引き起こし、
前記閾値は、タイムウィンドウ内でのメモリの特定の行に対するアクセス数であって、アクセスされる前記行に物理的に隣接する行でのデータ破壊のリスクを生じさせるアクセス数を特定するメモリサブシステム。
[項目2]
前記検出ロジックは、前記メモリデバイスに結合されたメモリコントローラの検出ロジックを有する、項目1に記載のメモリサブシステム。
[項目3]
前記検出ロジックは、前記メモリデバイスの分散検出ロジックを有する、項目1に記載のメモリサブシステム。
[項目4]
前記メモリデバイスの設定情報を格納する前記レジスタは、メモリモジュールの設定ストレージデバイスを有し、前記メモリデバイスは前記メモリモジュールの一部である、項目1から3の何れか1項に記載のメモリサブシステム。
[項目5]
前記メモリデバイスの設定情報を格納する前記レジスタは、前記メモリデバイスに設定レジスタを有する、項目1から3の何れか1項に記載のメモリサブシステム。
[項目6]
前記検出ロジックは、前記閾値を示す3ビットコードを得る、項目1から5の何れか1項に記載のメモリサブシステム。
[項目7]
前記メモリデバイスに対する前記閾値は、第1の閾値であり、前記メモリサブシステムにおける異なるメモリデバイスに対する第2の閾値とは異なる、項目1から6の何れか1項に記載のメモリサブシステム。
[項目8]
前記検出ロジックは、各メモリデバイスを、その異なる閾値に従って監視する、項目7に記載のメモリサブシステム。
[項目9]
前記検出ロジックは、さらに、どの閾値がより低いかを特定し、より低い前記閾値に従って複数の前記メモリデバイスを監視する、項目7または8に記載のメモリサブシステム。
[項目10]
複数のメモリセルの多数の物理的な行を有するメモリデバイス、及び、前記メモリデバイスに結合された検出ロジック、を有するメモリサブシステムと、
前記メモリデバイスからアクセスされたデータに基づいてユーザディスプレイを提供するタッチスクリーンディスプレイデバイスと
を備え、
前記検出ロジックは、
前記メモリデバイスの設定情報を格納するレジスタから前記メモリデバイスに対するアクセスレートの閾値を得て、
前記閾値に基づいて、前記メモリデバイスの前記多数の物理的な行の1つへのアクセス数が前記閾値を超過するかを判断し、
前記閾値をアクセス数が超過したこと検出に応じて、アクセス数が前記閾値を超過した前記行に物理的に隣接するビクティム行を標的とするリフレッシュを前記メモリデバイスが行うことを引き起こし、
前記閾値は、タイムウィンドウ内でのメモリの特定の行に対するアクセス数であって、アクセスされる前記行に物理的に隣接する行でのデータ破壊のリスクを生じさせるアクセス数を特定する電子デバイス。
[項目11]
前記メモリデバイスの設定情報を格納する前記レジスタは、メモリモジュールの設定ストレージデバイスを有し、前記メモリデバイスは前記メモリモジュールの一部である、項目10に記載の電子デバイス。
[項目12]
前記メモリデバイスの設定情報を格納する前記レジスタは、前記メモリデバイスに設定レジスタを有する、項目10に記載の電子デバイス。
[項目13]
前記メモリデバイスに対する前記閾値は、第1の閾値であり、前記メモリサブシステムにおける異なるメモリデバイスに対する第2の閾値とは異なる、項目10から12の何れか1項に記載の電子デバイス。
[項目14]
前記検出ロジックは、各メモリデバイスを、その異なる閾値に従って監視する、項目13に記載の電子デバイス。
[項目15]
前記検出ロジックは、さらに、どの閾値がより低いかを特定し、より低い前記閾値に従って前記メモリデバイスを監視する、項目13または14に記載の電子デバイス。
[項目16]
前記検出ロジックは、前記閾値を示すコードを格納する設定レジスタのフィールドを得る、項目10から15の何れか1項に記載の電子デバイス。
[項目17]
メモリデバイスの設定情報を格納するレジスタから、前記メモリデバイスに対するアクセスレートの閾値を得る段階と、
前記閾値に基づいて、前記メモリデバイスの多数の物理的な行の1つへのアクセス数が前記閾値を超過するかを判断する段階と、
前記閾値をアクセス数が超過したことの検出に応じて、アクセス数が前記閾値を超過した前記行に物理的に隣接するビクティム行を標的とするリフレッシュを前記メモリデバイスが行うことを引き起こすトリガを生成する段階と、
を含み、
前記閾値は、タイムウィンドウ内でのメモリの特定の行に対するアクセス数であって、アクセスされる前記行に物理的に隣接する行でのデータ破壊のリスクを生じさせるアクセス数を特定する方法。
[項目18]
前記トリガを生成する前記段階は、前記メモリデバイスに対するターゲットリフレッシュコマンドをメモリコントローラが発行することを引き起こすべく、前記メモリコントローラの検出ロジックから警告を送信する段階を含む、項目17に記載の方法。
[項目19]
前記トリガを生成する前記段階は、前記メモリデバイスに対するターゲットリフレッシュコマンドをメモリコントローラが発行することを引き起こすべく、前記メモリデバイスの分散検出ロジックから前記メモリコントローラへ警告を送信する段階を含む、項目17に記載の方法。
[項目20]
前記レジスタから得る前記段階は、メモリモジュールの設定ストレージデバイスにアクセスする段階を含み、
前記メモリデバイスは前記メモリモジュールの一部である、項目17から19の何れか1項に記載の方法。
[項目21]
前記レジスタから得る前記段階は、前記メモリデバイスの設定ストレージデバイスにアクセスする段階を含む、項目17から19の何れか1項に記載の方法。
[項目22]
前記レジスタから前記閾値を得る前記段階は、前記閾値を示す3ビットコードにアクセスする段階を含む、項目17から21の何れか1項に記載の方法。
[項目23]
アクセス数が前記閾値を超過するかを判断する前記段階は、さらに、
前記タイムウィンドウにおける前記メモリデバイスの複数の行への複数のアクセスを監視する段階と、
前記複数の行の何れかに対するアクセス数が前記閾値を超過するかを判断する段階と、
前記タイムウィンドウにおけるアクセス数が前記閾値を超過したと判断された行についてのアドレス情報を示す段階と
を含む、項目17から22の何れか1項に記載の方法。
[項目24]
前記メモリデバイスに対する前記閾値は第1の閾値であり、前記メモリデバイスとメモリサブシステムを共有する異なるメモリデバイスに対する第2の閾値とは異なる、項目17から23の何れか1項に記載の方法。
[項目25]
前記閾値に基づいて判断する前記段階は、さらに、前記第1及び第2の閾値の何れがより低いかを判断する段階と、より低いと判断された前記閾値に基づいて両方のメモリデバイスを監視する段階とを含む、項目24に記載の方法。
[項目26]
前記メモリデバイスは、それぞれ異なる閾値を有する多数のメモリデバイスの1つであり、
前記閾値に基づいてアクセス数が前記閾値を超過するかを判断する前記段階は、各メモリデバイスについて、その異なる閾値に従って別々に判断する段階を含む、項目24または25に記載の方法。
[項目27]
メモリデバイスの設定情報を格納するレジスタから前記メモリデバイスに対するアクセスレートの閾値を取得する手段と、
前記閾値に基づいて、前記メモリデバイスの多数の物理的な行の1つへのアクセス数が前記閾値を超過するかを判断する手段と、
前記閾値をアクセス数が超過したことの検出に応じて、アクセス数が前記閾値を超過した前記行に対して物理的に隣接するビクティム行を標的とするリフレッシュを前記メモリデバイスが行うことを引き起こすトリガを生成する手段と
を備え、
前記閾値は、タイムウィンドウ内でのメモリの特定の行に対するアクセス数であって、アクセスされる前記行に物理的に隣接する行でのデータ破壊のリスクを生じさせるアクセス数を特定する装置。
[項目28]
前記トリガを生成する前記手段は、前記メモリデバイスに対するターゲットリフレッシュコマンドをメモリコントローラが発行することを引き起こすべく、前記メモリコントローラの検出ロジックから警告を送信する手段を含む、項目27に記載の装置。
[項目29]
前記トリガを生成する前記手段は、前記メモリデバイスに対するターゲットリフレッシュコマンドをメモリコントローラが発行することを引き起こすべく、前記メモリデバイスの分散検出ロジックから前記メモリコントローラへ警告を送信する手段を含む、項目27に記載の装置。
[項目30]
前記レジスタから得る前記手段は、メモリモジュールの設定ストレージデバイスにアクセスする手段を含み、
前記メモリデバイスは前記メモリモジュールの一部である、項目27から29の何れか1項に記載の装置。
[項目31]
前記レジスタから得る前記手段は、前記メモリデバイスの設定ストレージデバイスにアクセスする手段を含む、項目27から29の何れか1項に記載の装置。
[項目32]
前記レジスタから前記閾値を得る前記手段は、前記閾値を示す3ビットコードにアクセスする手段を含む、項目27から31の何れか1項に記載の装置。
[項目33]
アクセス数が前記閾値を超過するかを判断する前記手段は、さらに、
前記タイムウィンドウにおける前記メモリデバイスの複数の行への複数のアクセスを監視する手段と、
前記複数の行の何れかに対するアクセス数が前記閾値を超過するかを判断する手段と、
前記タイムウィンドウにおけるアクセス数が前記閾値を超過したと判断された行についてのアドレス情報を示す手段と
を含む、項目27から32の何れか1項に記載の装置。
[項目34]
前記メモリデバイスに対する前記閾値は第1の閾値であり、前記メモリデバイスとメモリサブシステムを共有する異なるメモリデバイスに対する第2の閾値とは異なる、項目27から33の何れか1項に記載の装置。
[項目35]
前記閾値に基づいて判断する前記手段は、さらに、前記第1及び第2の閾値の何れがより低いかを判断する手段と、より低いと判断された前記閾値に基づいて両方のメモリデバイスを監視する手段とを含む、項目34に記載の装置。
[項目36]
前記メモリデバイスは、それぞれ異なる閾値を有する多数のメモリデバイスの1つであり、
前記閾値に基づいてアクセス数が前記閾値を超過するかを判断する前記手段は、各メモリデバイスについて、その異なる閾値に従って別々に判断する手段を含む、項目34または35に記載の装置。

Claims (36)

  1. 複数のメモリセルの多数の物理的な行を有するメモリデバイスと、
    前記メモリデバイスに結合された検出ロジックと
    を備え、
    前記検出ロジックは、
    前記メモリデバイスの設定情報を格納するレジスタから、前記メモリデバイスに対するアクセスレートの閾値を得て、
    前記閾値に基づいて、前記メモリデバイスの前記多数の物理的な行の1つへのアクセス数が前記閾値を超過するかを判断し、
    前記閾値をアクセス数が超過したこと検出に応じて、アクセス数が前記閾値を超過した前記行に物理的に隣接するビクティム行を標的とするリフレッシュを前記メモリデバイスが行うことを引き起こし、
    前記閾値は、タイムウィンドウ内でのメモリの特定の行に対するアクセス数であって、アクセスされる前記行に物理的に隣接する行でのデータ破壊のリスクを生じさせるアクセス数を特定するメモリサブシステム。
  2. 前記検出ロジックは、前記メモリデバイスに結合されたメモリコントローラの検出ロジックを有する、請求項1に記載のメモリサブシステム。
  3. 前記検出ロジックは、前記メモリデバイスの分散検出ロジックを有する、請求項1に記載のメモリサブシステム。
  4. 前記メモリデバイスの設定情報を格納する前記レジスタは、メモリモジュールの設定ストレージデバイスを有し、前記メモリデバイスは前記メモリモジュールの一部である、請求項1から3の何れか1項に記載のメモリサブシステム。
  5. 前記メモリデバイスの設定情報を格納する前記レジスタは、前記メモリデバイスに設定レジスタを有する、請求項1から3の何れか1項に記載のメモリサブシステム。
  6. 前記検出ロジックは、前記閾値を示す3ビットコードを得る、請求項1から5の何れか1項に記載のメモリサブシステム。
  7. 前記メモリデバイスに対する前記閾値は、第1の閾値であり、前記メモリサブシステムにおける異なるメモリデバイスに対する第2の閾値とは異なる、請求項1から6の何れか1項に記載のメモリサブシステム。
  8. 前記検出ロジックは、各メモリデバイスを、その異なる閾値に従って監視する、請求項7に記載のメモリサブシステム。
  9. 前記検出ロジックは、さらに、どの閾値がより低いかを特定し、より低い前記閾値に従って複数の前記メモリデバイスを監視する、請求項7または8に記載のメモリサブシステム。
  10. 複数のメモリセルの多数の物理的な行を有するメモリデバイス、及び、前記メモリデバイスに結合された検出ロジック、を有するメモリサブシステムと、
    前記メモリデバイスからアクセスされたデータに基づいてユーザディスプレイを提供するタッチスクリーンディスプレイデバイスと
    を備え、
    前記検出ロジックは、
    前記メモリデバイスの設定情報を格納するレジスタから前記メモリデバイスに対するアクセスレートの閾値を得て、
    前記閾値に基づいて、前記メモリデバイスの前記多数の物理的な行の1つへのアクセス数が前記閾値を超過するかを判断し、
    前記閾値をアクセス数が超過したこと検出に応じて、アクセス数が前記閾値を超過した前記行に物理的に隣接するビクティム行を標的とするリフレッシュを前記メモリデバイスが行うことを引き起こし、
    前記閾値は、タイムウィンドウ内でのメモリの特定の行に対するアクセス数であって、アクセスされる前記行に物理的に隣接する行でのデータ破壊のリスクを生じさせるアクセス数を特定する電子デバイス。
  11. 前記メモリデバイスの設定情報を格納する前記レジスタは、メモリモジュールの設定ストレージデバイスを有し、前記メモリデバイスは前記メモリモジュールの一部である、請求項10に記載の電子デバイス。
  12. 前記メモリデバイスの設定情報を格納する前記レジスタは、前記メモリデバイスに設定レジスタを有する、請求項10に記載の電子デバイス。
  13. 前記メモリデバイスに対する前記閾値は、第1の閾値であり、前記メモリサブシステムにおける異なるメモリデバイスに対する第2の閾値とは異なる、請求項10から12の何れか1項に記載の電子デバイス。
  14. 前記検出ロジックは、各メモリデバイスを、その異なる閾値に従って監視する、請求項13に記載の電子デバイス。
  15. 前記検出ロジックは、さらに、どの閾値がより低いかを特定し、より低い前記閾値に従って前記メモリデバイスを監視する、請求項13または14に記載の電子デバイス。
  16. 前記検出ロジックは、前記閾値を示すコードを格納する設定レジスタのフィールドを得る、請求項10から15の何れか1項に記載の電子デバイス。
  17. メモリデバイスの設定情報を格納するレジスタから、前記メモリデバイスに対するアクセスレートの閾値を得る段階と、
    前記閾値に基づいて、前記メモリデバイスの多数の物理的な行の1つへのアクセス数が前記閾値を超過するかを判断する段階と、
    前記閾値をアクセス数が超過したことの検出に応じて、アクセス数が前記閾値を超過した前記行に物理的に隣接するビクティム行を標的とするリフレッシュを前記メモリデバイスが行うことを引き起こすトリガを生成する段階と、
    を含み、
    前記閾値は、タイムウィンドウ内でのメモリの特定の行に対するアクセス数であって、アクセスされる前記行に物理的に隣接する行でのデータ破壊のリスクを生じさせるアクセス数を特定する方法。
  18. 前記トリガを生成する前記段階は、前記メモリデバイスに対するターゲットリフレッシュコマンドをメモリコントローラが発行することを引き起こすべく、前記メモリコントローラの検出ロジックから警告を送信する段階を含む、請求項17に記載の方法。
  19. 前記トリガを生成する前記段階は、前記メモリデバイスに対するターゲットリフレッシュコマンドをメモリコントローラが発行することを引き起こすべく、前記メモリデバイスの分散検出ロジックから前記メモリコントローラへ警告を送信する段階を含む、請求項17に記載の方法。
  20. 前記レジスタから得る前記段階は、メモリモジュールの設定ストレージデバイスにアクセスする段階を含み、
    前記メモリデバイスは前記メモリモジュールの一部である、請求項17から19の何れか1項に記載の方法。
  21. 前記レジスタから得る前記段階は、前記メモリデバイスの設定ストレージデバイスにアクセスする段階を含む、請求項17から19の何れか1項に記載の方法。
  22. 前記レジスタから前記閾値を得る前記段階は、前記閾値を示す3ビットコードにアクセスする段階を含む、請求項17から21の何れか1項に記載の方法。
  23. アクセス数が前記閾値を超過するかを判断する前記段階は、さらに、
    前記タイムウィンドウにおける前記メモリデバイスの複数の行への複数のアクセスを監視する段階と、
    前記複数の行の何れかに対するアクセス数が前記閾値を超過するかを判断する段階と、
    前記タイムウィンドウにおけるアクセス数が前記閾値を超過したと判断された行についてのアドレス情報を示す段階と
    を含む、請求項17から22の何れか1項に記載の方法。
  24. 前記メモリデバイスに対する前記閾値は第1の閾値であり、前記メモリデバイスとメモリサブシステムを共有する異なるメモリデバイスに対する第2の閾値とは異なる、請求項17から23の何れか1項に記載の方法。
  25. 前記閾値に基づいて判断する前記段階は、さらに、前記第1及び第2の閾値の何れがより低いかを判断する段階と、より低いと判断された前記閾値に基づいて両方のメモリデバイスを監視する段階とを含む、請求項24に記載の方法。
  26. 前記検出ロジックは、各メモリデバイスを、その異なる閾値に従って監視する、請求項24または25に記載の方法。
  27. メモリデバイスの設定情報を格納するレジスタから前記メモリデバイスに対するアクセスレートの閾値を取得する手段と、
    前記閾値に基づいて、前記メモリデバイスの多数の物理的な行の1つへのアクセス数が前記閾値を超過するかを判断する手段と、
    前記閾値をアクセス数が超過したことの検出に応じて、アクセス数が前記閾値を超過した前記行に対して物理的に隣接するビクティム行を標的とするリフレッシュを前記メモリデバイスが行うことを引き起こすトリガを生成する手段と
    を備え、
    前記閾値は、タイムウィンドウ内でのメモリの特定の行に対するアクセス数であって、アクセスされる前記行に物理的に隣接する行でのデータ破壊のリスクを生じさせるアクセス数を特定する装置。
  28. 前記トリガを生成する前記手段は、前記メモリデバイスに対するターゲットリフレッシュコマンドをメモリコントローラが発行することを引き起こすべく、前記メモリコントローラの検出ロジックから警告を送信する手段を含む、請求項27に記載の装置。
  29. 前記トリガを生成する前記手段は、前記メモリデバイスに対するターゲットリフレッシュコマンドをメモリコントローラが発行することを引き起こすべく、前記メモリデバイスの分散検出ロジックから前記メモリコントローラへ警告を送信する手段を含む、請求項27に記載の装置。
  30. 前記レジスタから得る前記手段は、メモリモジュールの設定ストレージデバイスにアクセスする手段を含み、
    前記メモリデバイスは前記メモリモジュールの一部である、請求項27から29の何れか1項に記載の装置。
  31. 前記レジスタから得る前記手段は、前記メモリデバイスの設定ストレージデバイスにアクセスする手段を含む、請求項27から29の何れか1項に記載の装置。
  32. 前記レジスタから前記閾値を得る前記手段は、前記閾値を示す3ビットコードにアクセスする手段を含む、請求項27から31の何れか1項に記載の装置。
  33. アクセス数が前記閾値を超過するかを判断する前記手段は、さらに、
    前記タイムウィンドウにおける前記メモリデバイスの複数の行への複数のアクセスを監視する手段と、
    前記複数の行の何れかに対するアクセス数が前記閾値を超過するかを判断する手段と、
    前記タイムウィンドウにおけるアクセス数が前記閾値を超過したと判断された行についてのアドレス情報を示す手段と
    を含む、請求項27から32の何れか1項に記載の装置。
  34. 前記メモリデバイスに対する前記閾値は第1の閾値であり、前記メモリデバイスとメモリサブシステムを共有する異なるメモリデバイスに対する第2の閾値とは異なる、請求項27から33の何れか1項に記載の装置。
  35. 前記閾値に基づいて判断する前記手段は、さらに、前記第1及び第2の閾値の何れがより低いかを判断する手段と、より低いと判断された前記閾値に基づいて両方のメモリデバイスを監視する手段とを含む、請求項34に記載の装置。
  36. 前記検出ロジックは、各メモリデバイスを、その異なる閾値に従って監視する、請求項34または35に記載の装置。
JP2015544062A 2012-11-30 2013-06-28 格納されたロウハンマ閾値に基づくロウハンマの監視 Active JP5987234B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/690,523 US9032141B2 (en) 2012-11-30 2012-11-30 Row hammer monitoring based on stored row hammer threshold value
US13/690,523 2012-11-30
PCT/US2013/048634 WO2014084917A1 (en) 2012-11-30 2013-06-28 Row hammer monitoring based on stored row hammer threshold value

Publications (2)

Publication Number Publication Date
JP2016504702A true JP2016504702A (ja) 2016-02-12
JP5987234B2 JP5987234B2 (ja) 2016-09-07

Family

ID=50826659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015544062A Active JP5987234B2 (ja) 2012-11-30 2013-06-28 格納されたロウハンマ閾値に基づくロウハンマの監視

Country Status (6)

Country Link
US (1) US9032141B2 (ja)
EP (1) EP2926344B1 (ja)
JP (1) JP5987234B2 (ja)
KR (2) KR20170046819A (ja)
CN (1) CN104737234B (ja)
WO (1) WO2014084917A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015162253A (ja) * 2014-02-26 2015-09-07 Necプラットフォームズ株式会社 半導体記憶装置、メモリアクセス制御方法、およびコンピュータ・プログラム
JP2016536666A (ja) * 2013-10-08 2016-11-24 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 信頼性の高い動作に適したメモリコントローラを有するデータプロセッサ及び方法
JP2018128991A (ja) * 2017-02-10 2018-08-16 キヤノン株式会社 メモリコントローラおよび方法
JP2020521267A (ja) * 2017-05-24 2020-07-16 アップメム 統合プロセッサを備えたdramのロウハンマー修正ロジック
JP2020198143A (ja) * 2019-06-05 2020-12-10 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. メモリデバイス及びそのローハンマーリフレッシュ方法
JP2021026784A (ja) * 2019-08-01 2021-02-22 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. メモリ装置とそのリフレッシュ方法
JP2023521249A (ja) * 2020-05-15 2023-05-23 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Dramのリフレッシュ管理
JP7456083B2 (ja) 2019-03-29 2024-03-27 インテル・コーポレーション ロウハンマ緩和のホスト支援のためのリフレッシュコマンド制御

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9236110B2 (en) 2012-06-30 2016-01-12 Intel Corporation Row hammer refresh command
US8938573B2 (en) 2012-06-30 2015-01-20 Intel Corporation Row hammer condition monitoring
US9055711B2 (en) * 2012-07-16 2015-06-09 HGST Netherlands B.V. System and method for maintaining data integrity on a storage medium
US9299400B2 (en) 2012-09-28 2016-03-29 Intel Corporation Distributed row hammer tracking
US9384821B2 (en) * 2012-11-30 2016-07-05 Intel Corporation Row hammer monitoring based on stored row hammer threshold value
US9032141B2 (en) 2012-11-30 2015-05-12 Intel Corporation Row hammer monitoring based on stored row hammer threshold value
US9190131B2 (en) * 2012-12-20 2015-11-17 SK Hynix Inc. Memory and memory system including the same
US9324398B2 (en) 2013-02-04 2016-04-26 Micron Technology, Inc. Apparatuses and methods for targeted refreshing of memory
WO2014178839A1 (en) * 2013-04-30 2014-11-06 Hewlett-Packard Development Company, L.P. Memory access rate
WO2014193412A1 (en) * 2013-05-31 2014-12-04 Hewlett-Packard Development Company, L.P. Memory error determination
US9355689B2 (en) * 2013-08-20 2016-05-31 Oracle International Corporation Detection of multiple accesses to a row address of a dynamic memory within a refresh period
US9047978B2 (en) 2013-08-26 2015-06-02 Micron Technology, Inc. Apparatuses and methods for selective row refreshes
KR20150040477A (ko) * 2013-10-07 2015-04-15 에스케이하이닉스 주식회사 반도체 메모리를 포함하는 전자 장치 및 이의 동작 방법
KR102193993B1 (ko) * 2014-02-21 2020-12-22 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US9431085B2 (en) 2014-03-28 2016-08-30 Synopsys, Inc. Most activated memory portion handling
JP2015219938A (ja) 2014-05-21 2015-12-07 マイクロン テクノロジー, インク. 半導体装置
CN105448341B (zh) * 2014-08-25 2019-08-09 华邦电子股份有限公司 存储电路及其更新方法
US9431086B2 (en) * 2014-10-06 2016-08-30 Winbond Electronics Corp. Memory circuit and refresh method thereof
US9978440B2 (en) * 2014-11-25 2018-05-22 Samsung Electronics Co., Ltd. Method of detecting most frequently accessed address of semiconductor memory based on probability information
KR20160063726A (ko) * 2014-11-27 2016-06-07 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US9666257B2 (en) * 2015-04-24 2017-05-30 Intel Corporation Bitcell state retention
KR20170024307A (ko) 2015-08-25 2017-03-07 삼성전자주식회사 내장형 리프레쉬 콘트롤러 및 이를 포함하는 메모리 장치
US9812185B2 (en) * 2015-10-21 2017-11-07 Invensas Corporation DRAM adjacent row disturb mitigation
KR102373544B1 (ko) * 2015-11-06 2022-03-11 삼성전자주식회사 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
US9721640B2 (en) * 2015-12-09 2017-08-01 Intel Corporation Performance of additional refresh operations during self-refresh mode
KR102399475B1 (ko) 2015-12-28 2022-05-18 삼성전자주식회사 리프레쉬 콘트롤러 및 이를 포함하는 메모리 장치
KR102329673B1 (ko) 2016-01-25 2021-11-22 삼성전자주식회사 해머 리프레쉬 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템
JP2017182854A (ja) 2016-03-31 2017-10-05 マイクロン テクノロジー, インク. 半導体装置
US9741421B1 (en) 2016-04-05 2017-08-22 Micron Technology, Inc. Refresh circuitry
KR102468728B1 (ko) * 2016-08-23 2022-11-21 에스케이하이닉스 주식회사 리프레쉬 제어 회로, 반도체 메모리 장치 및 그의 동작 방법
US10032500B2 (en) * 2016-10-07 2018-07-24 Tc Lab, Inc. Memory disturb recovery scheme for cross-point memory arrays
KR102672295B1 (ko) 2016-10-27 2024-06-04 에스케이하이닉스 주식회사 리프레시 제어 장치
KR20180064940A (ko) * 2016-12-06 2018-06-15 삼성전자주식회사 해머 리프레쉬 동작을 수행하는 메모리 시스템
US10490251B2 (en) 2017-01-30 2019-11-26 Micron Technology, Inc. Apparatuses and methods for distributing row hammer refresh events across a memory device
CN106875971B (zh) 2017-02-16 2021-01-22 上海兆芯集成电路有限公司 动态随机存取存储器控制器及其控制方法
US10768863B2 (en) * 2017-03-31 2020-09-08 Intel Corporation Security monitoring agent for field programmable gate array (FPGA) in-memory controller
KR102298776B1 (ko) * 2017-05-15 2021-09-08 에스케이하이닉스 주식회사 반도체장치
KR102308778B1 (ko) * 2017-05-24 2021-10-05 삼성전자주식회사 디스터브 로우를 케어하는 메모리 장치 및 그 동작방법
US10672449B2 (en) 2017-10-20 2020-06-02 Micron Technology, Inc. Apparatus and methods for refreshing memory
US10170174B1 (en) 2017-10-27 2019-01-01 Micron Technology, Inc. Apparatus and methods for refreshing memory
US11544168B2 (en) 2017-10-30 2023-01-03 SK Hynix Inc. Memory system
KR102499255B1 (ko) * 2018-02-19 2023-02-13 에스케이하이닉스 주식회사 통합 메모리 디바이스 및 그의 동작 방법
KR102414047B1 (ko) 2017-10-30 2022-06-29 에스케이하이닉스 주식회사 통합 메모리 디바이스 및 그의 동작 방법
KR102406868B1 (ko) 2017-11-23 2022-06-10 삼성전자주식회사 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
JP6576480B2 (ja) * 2018-01-16 2019-09-18 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. メモリデバイス及びそのデータリフレッシュ方法
US10580475B2 (en) 2018-01-22 2020-03-03 Micron Technology, Inc. Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device
US10388363B1 (en) 2018-01-26 2019-08-20 Micron Technology, Inc. Apparatuses and methods for detecting a row hammer attack with a bandpass filter
KR20190123875A (ko) 2018-04-25 2019-11-04 삼성전자주식회사 반도체 메모리 장치 및 이를 구비하는 메모리 시스템
KR102358563B1 (ko) 2018-05-09 2022-02-04 삼성전자주식회사 로우 해머 핸들링과 함께 리프레쉬 동작을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템
KR102410924B1 (ko) 2018-05-14 2022-06-20 삼성전자주식회사 해머 리프레쉬 동작을 수행하는 리프레쉬 제어 회로, 메모리 장치 및 메모리 장치의 동작 방법
WO2019222960A1 (en) * 2018-05-24 2019-11-28 Micron Technology, Inc. Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling
US11152050B2 (en) 2018-06-19 2021-10-19 Micron Technology, Inc. Apparatuses and methods for multiple row hammer refresh address sequences
US10573370B2 (en) 2018-07-02 2020-02-25 Micron Technology, Inc. Apparatus and methods for triggering row hammer address sampling
CN112534502B (zh) 2018-08-03 2024-04-09 美光科技公司 用于行锤击缓解的方法及采用所述方法的存储器装置及系统
US11054995B2 (en) * 2018-09-07 2021-07-06 Micron Technology, Inc. Row hammer protection for a memory device
US10572377B1 (en) * 2018-09-19 2020-02-25 Micron Technology, Inc. Row hammer refresh for content addressable memory devices
US10497426B1 (en) * 2018-09-21 2019-12-03 Nanya Technology Corporation Target row generator, DRAM, and method for determining a target row
KR102515404B1 (ko) 2018-10-09 2023-03-29 마이크론 테크놀로지, 인크 행 해머를 완화하기 위한 방법 및 이를 이용한 메모리 디바이스 및 시스템
US10685696B2 (en) 2018-10-31 2020-06-16 Micron Technology, Inc. Apparatuses and methods for access based refresh timing
WO2020117686A1 (en) 2018-12-03 2020-06-11 Micron Technology, Inc. Semiconductor device performing row hammer refresh operation
CN111354393B (zh) 2018-12-21 2023-10-20 美光科技公司 用于目标刷新操作的时序交错的设备和方法
WO2020131457A1 (en) 2018-12-21 2020-06-25 Micron Technology, Inc. Methods for activity-based memory maintenance operations and memory devices and systems employing the same
US10957377B2 (en) 2018-12-26 2021-03-23 Micron Technology, Inc. Apparatuses and methods for distributed targeted refresh operations
US11256427B2 (en) * 2018-12-28 2022-02-22 Micron Technology, Inc. Unauthorized memory access mitigation
US10817371B2 (en) 2018-12-31 2020-10-27 Micron Technology, Inc. Error correction in row hammer mitigation and target row refresh
KR20200084599A (ko) * 2019-01-03 2020-07-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10770127B2 (en) 2019-02-06 2020-09-08 Micron Technology, Inc. Apparatuses and methods for managing row access counts
US11043254B2 (en) 2019-03-19 2021-06-22 Micron Technology, Inc. Semiconductor device having cam that stores address signals
US11227649B2 (en) 2019-04-04 2022-01-18 Micron Technology, Inc. Apparatuses and methods for staggered timing of targeted refresh operations
US11049545B2 (en) 2019-04-23 2021-06-29 Micron Technology, Inc. Methods for adjusting row hammer refresh rates and related memory devices and systems
US11264096B2 (en) 2019-05-14 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits
US11158364B2 (en) 2019-05-31 2021-10-26 Micron Technology, Inc. Apparatuses and methods for tracking victim rows
US11069393B2 (en) 2019-06-04 2021-07-20 Micron Technology, Inc. Apparatuses and methods for controlling steal rates
US11158373B2 (en) 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
US11031066B2 (en) 2019-06-24 2021-06-08 Micron Technology, Inc. Methods for adjusting memory device refresh operations based on memory device temperature, and related memory devices and systems
US10832792B1 (en) 2019-07-01 2020-11-10 Micron Technology, Inc. Apparatuses and methods for adjusting victim data
US11139015B2 (en) 2019-07-01 2021-10-05 Micron Technology, Inc. Apparatuses and methods for monitoring word line accesses
US11386946B2 (en) 2019-07-16 2022-07-12 Micron Technology, Inc. Apparatuses and methods for tracking row accesses
CN110706733A (zh) * 2019-08-13 2020-01-17 浙江工商大学 一种dram内存行扰动错误解决方法
US11354408B2 (en) * 2019-08-15 2022-06-07 Nxp Usa, Inc. Technique for detecting and thwarting row-hammer attacks
US10943636B1 (en) 2019-08-20 2021-03-09 Micron Technology, Inc. Apparatuses and methods for analog row access tracking
US10964378B2 (en) 2019-08-22 2021-03-30 Micron Technology, Inc. Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation
US11302374B2 (en) 2019-08-23 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic refresh allocation
US11200942B2 (en) 2019-08-23 2021-12-14 Micron Technology, Inc. Apparatuses and methods for lossy row access counting
US11302377B2 (en) 2019-10-16 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic targeted refresh steals
CN113689902B (zh) * 2020-05-19 2023-09-01 长鑫存储技术有限公司 生成存储器地址数据的方法、计算机可读存储介质及设备
US11309010B2 (en) 2020-08-14 2022-04-19 Micron Technology, Inc. Apparatuses, systems, and methods for memory directed access pause
US11348631B2 (en) 2020-08-19 2022-05-31 Micron Technology, Inc. Apparatuses, systems, and methods for identifying victim rows in a memory device which cannot be simultaneously refreshed
US11380382B2 (en) 2020-08-19 2022-07-05 Micron Technology, Inc. Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit
US11222682B1 (en) 2020-08-31 2022-01-11 Micron Technology, Inc. Apparatuses and methods for providing refresh addresses
KR20220036752A (ko) 2020-09-16 2022-03-23 삼성전자주식회사 로우 해머 리프레쉬 동작을 수행하는 메모리 장치 및 이의 동작 방법
KR102467747B1 (ko) * 2020-09-18 2022-11-16 한양대학교 에리카산학협력단 행 해머링을 이용한 dram의 성능 분석 방법 및 오류 검출 방법
US11557331B2 (en) 2020-09-23 2023-01-17 Micron Technology, Inc. Apparatuses and methods for controlling refresh operations
US20220129200A1 (en) * 2020-10-26 2022-04-28 Qualcomm Incorporated Dram with quick random row refresh for rowhammer mitigation
US11222686B1 (en) 2020-11-12 2022-01-11 Micron Technology, Inc. Apparatuses and methods for controlling refresh timing
US11462291B2 (en) 2020-11-23 2022-10-04 Micron Technology, Inc. Apparatuses and methods for tracking word line accesses
US11264079B1 (en) 2020-12-18 2022-03-01 Micron Technology, Inc. Apparatuses and methods for row hammer based cache lockdown
KR102385443B1 (ko) * 2020-12-21 2022-04-12 서울대학교 산학협력단 카운터 기반의 로우 해머 방지를 위한 선택적 로우 해머 리프레쉬 장치 및 그 방법
US20210109577A1 (en) * 2020-12-22 2021-04-15 Intel Corporation Temperature-based runtime variability in victim address selection for probabilistic schemes for row hammer
US11482275B2 (en) 2021-01-20 2022-10-25 Micron Technology, Inc. Apparatuses and methods for dynamically allocated aggressor detection
KR20220111444A (ko) * 2021-02-02 2022-08-09 삼성전자주식회사 리프레쉬 동작을 수행하는 메모리 장치, 그 동작방법 및 메모리 시스템
KR20220120771A (ko) 2021-02-23 2022-08-31 삼성전자주식회사 메모리 장치 및 그것의 동작 방법
US11468942B2 (en) * 2021-03-02 2022-10-11 Hewlett Packard Enterprise Development Lp System and method for detecting memory cell disturbance by monitoring canary cells
US11600314B2 (en) 2021-03-15 2023-03-07 Micron Technology, Inc. Apparatuses and methods for sketch circuits for refresh binning
US11631448B1 (en) 2021-04-29 2023-04-18 Samsung Electronics Co., Ltd. Memory device performing refresh operation and method of operating the same
US11615829B1 (en) 2021-04-29 2023-03-28 Samsung Electronics Co., Ltd. Memory device performing refresh operation based on a random value and method of operating the same
KR20230021496A (ko) * 2021-08-05 2023-02-14 삼성전자주식회사 로우 해머 제어 방법 및 메모리 장치
US11664063B2 (en) 2021-08-12 2023-05-30 Micron Technology, Inc. Apparatuses and methods for countering memory attacks
EP4138078A1 (en) * 2021-08-18 2023-02-22 ETH Zurich A method for protecting a dram module against rowhammer attacks, and a dram module
KR20230043618A (ko) 2021-09-24 2023-03-31 삼성전자주식회사 로우 해머 제어 방법 및 메모리 장치
KR20230051873A (ko) 2021-10-12 2023-04-19 삼성전자주식회사 해머 리프레시 로우 어드레스 검출기, 이를 포함하는 반도체 메모리 장치 및 메모리 모듈
KR20230071473A (ko) 2021-11-16 2023-05-23 에스케이하이닉스 주식회사 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템
US11688451B2 (en) 2021-11-29 2023-06-27 Micron Technology, Inc. Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking
US11990173B2 (en) * 2022-06-02 2024-05-21 Micron Technology, Inc. Dynamic row hammering threshold for memory
CN115357952B (zh) * 2022-10-18 2023-02-03 合肥奎芯集成电路设计有限公司 针对动态存储器的行锤攻击防御方法和装置
CN115906087B (zh) * 2023-03-09 2023-07-07 长鑫存储技术有限公司 行锤攻击保护方法与存储器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100074042A1 (en) * 2008-09-24 2010-03-25 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2013004158A (ja) * 2011-06-21 2013-01-07 Elpida Memory Inc 半導体記憶装置及びそのリフレッシュ制御方法
US20130304982A1 (en) * 2012-05-14 2013-11-14 Bu Il JUNG Memory device, memory system, and operating methods thereof
US20140006704A1 (en) * 2012-06-30 2014-01-02 Zvika Greenfield Row hammer condition monitoring

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193072A (en) 1990-12-21 1993-03-09 Vlsi Technology, Inc. Hidden refresh of a dynamic random access memory
US5920501A (en) * 1997-12-12 1999-07-06 Micron Technology, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
US6697909B1 (en) 2000-09-12 2004-02-24 International Business Machines Corporation Method and apparatus for performing data access and refresh operations in different sub-arrays of a DRAM cache memory
KR100810060B1 (ko) 2006-04-14 2008-03-05 주식회사 하이닉스반도체 반도체 메모리 소자 및 그의 구동방법
US20080151670A1 (en) * 2006-12-22 2008-06-26 Tomohiro Kawakubo Memory device, memory controller and memory system
JP2008181380A (ja) * 2007-01-25 2008-08-07 Toshiba Corp メモリシステムおよびその制御方法
JP5661227B2 (ja) * 2007-02-07 2015-01-28 株式会社メガチップス メモリコントローラ
TWI367486B (en) * 2007-12-25 2012-07-01 Ind Tech Res Inst Memory device and refresh method thereof
US8417252B2 (en) 2008-10-24 2013-04-09 Qualcomm Incorporated Method and apparatus for interference reporting in a N-MIMO communication system
WO2010085405A1 (en) * 2009-01-22 2010-07-29 Rambus Inc. Maintenance operations in a dram
US7990795B2 (en) * 2009-02-19 2011-08-02 Freescale Semiconductor, Inc. Dynamic random access memory (DRAM) refresh
CN102081964B (zh) * 2009-11-30 2014-12-10 国际商业机器公司 动态随机访问存储器刷新的方法和系统
US8560796B2 (en) 2010-03-29 2013-10-15 Freescale Semiconductor, Inc. Scheduling memory access requests using predicted memory timing and state information
JP2012133642A (ja) * 2010-12-22 2012-07-12 Sony Corp メモリ装置、メモリ制御方法、およびプログラム
US8284614B2 (en) 2010-12-28 2012-10-09 Hynix Semiconductor Inc. Refresh control circuit and method for semiconductor memory device
JP2012164045A (ja) 2011-02-04 2012-08-30 Seiko Epson Corp メモリー制御装置
US9129699B2 (en) * 2011-04-28 2015-09-08 Hitachi, Ltd. Semiconductor storage apparatus and method including executing refresh in a flash memory based on a reliability period using degree of deterioration and read frequency
US9236110B2 (en) * 2012-06-30 2016-01-12 Intel Corporation Row hammer refresh command
US9032141B2 (en) 2012-11-30 2015-05-12 Intel Corporation Row hammer monitoring based on stored row hammer threshold value

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100074042A1 (en) * 2008-09-24 2010-03-25 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2010079956A (ja) * 2008-09-24 2010-04-08 Toshiba Corp 半導体記憶装置
JP2013004158A (ja) * 2011-06-21 2013-01-07 Elpida Memory Inc 半導体記憶装置及びそのリフレッシュ制御方法
US20130304982A1 (en) * 2012-05-14 2013-11-14 Bu Il JUNG Memory device, memory system, and operating methods thereof
JP2013239228A (ja) * 2012-05-14 2013-11-28 Samsung Electronics Co Ltd メモリ装置、メモリシステム及びその動作方法
US20140006704A1 (en) * 2012-06-30 2014-01-02 Zvika Greenfield Row hammer condition monitoring

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016536666A (ja) * 2013-10-08 2016-11-24 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 信頼性の高い動作に適したメモリコントローラを有するデータプロセッサ及び方法
JP2015162253A (ja) * 2014-02-26 2015-09-07 Necプラットフォームズ株式会社 半導体記憶装置、メモリアクセス制御方法、およびコンピュータ・プログラム
JP2018128991A (ja) * 2017-02-10 2018-08-16 キヤノン株式会社 メモリコントローラおよび方法
JP7008410B2 (ja) 2017-02-10 2022-01-25 キヤノン株式会社 メモリコントローラおよび方法
JP2020521267A (ja) * 2017-05-24 2020-07-16 アップメム 統合プロセッサを備えたdramのロウハンマー修正ロジック
JP7142946B2 (ja) 2017-05-24 2022-09-28 アップメム 統合プロセッサを備えたdramのロウハンマー修正ロジック
JP7456083B2 (ja) 2019-03-29 2024-03-27 インテル・コーポレーション ロウハンマ緩和のホスト支援のためのリフレッシュコマンド制御
US11990172B2 (en) 2019-03-29 2024-05-21 Intel Corporation Refresh command control for host assist of row hammer mitigation
JP2020198143A (ja) * 2019-06-05 2020-12-10 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. メモリデバイス及びそのローハンマーリフレッシュ方法
JP2021026784A (ja) * 2019-08-01 2021-02-22 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. メモリ装置とそのリフレッシュ方法
JP2023521249A (ja) * 2020-05-15 2023-05-23 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Dramのリフレッシュ管理
JP7357169B2 (ja) 2020-05-15 2023-10-05 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Dramのリフレッシュ管理

Also Published As

Publication number Publication date
KR20170046819A (ko) 2017-05-02
WO2014084917A1 (en) 2014-06-05
KR101731508B1 (ko) 2017-05-11
EP2926344B1 (en) 2019-10-30
KR20150058366A (ko) 2015-05-28
EP2926344A1 (en) 2015-10-07
EP2926344A4 (en) 2016-11-23
CN104737234A (zh) 2015-06-24
US9032141B2 (en) 2015-05-12
CN104737234B (zh) 2018-07-24
JP5987234B2 (ja) 2016-09-07
US20140156923A1 (en) 2014-06-05

Similar Documents

Publication Publication Date Title
JP5987234B2 (ja) 格納されたロウハンマ閾値に基づくロウハンマの監視
US10083737B2 (en) Row hammer monitoring based on stored row hammer threshold value
US10210925B2 (en) Row hammer refresh command
US9299400B2 (en) Distributed row hammer tracking
US8938573B2 (en) Row hammer condition monitoring
US9286964B2 (en) Method, apparatus and system for responding to a row hammer event
US9251885B2 (en) Throttling support for row-hammer counters
US9117544B2 (en) Row hammer refresh command
KR101735555B1 (ko) 커맨드/어드레스 레지스터 디바이스 내에 저장된 데이터에의 액세스
US20140085995A1 (en) Method, apparatus and system for determining a count of accesses to a row of memory

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160518

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: 20160614

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160720

R150 Certificate of patent or registration of utility model

Ref document number: 5987234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250