JP2022172443A - メモリチップロウハンマー脅威バックプレッシャー信号およびホスト側応答に関する方法および装置 - Google Patents
メモリチップロウハンマー脅威バックプレッシャー信号およびホスト側応答に関する方法および装置 Download PDFInfo
- Publication number
- JP2022172443A JP2022172443A JP2022036676A JP2022036676A JP2022172443A JP 2022172443 A JP2022172443 A JP 2022172443A JP 2022036676 A JP2022036676 A JP 2022036676A JP 2022036676 A JP2022036676 A JP 2022036676A JP 2022172443 A JP2022172443 A JP 2022172443A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- memory chip
- memory controller
- rowhammer
- command
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40611—External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/025—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in signal lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/783—Masking faults in memories by using spares or by reconfiguring using programmable devices with refresh of replacement cells, e.g. in DRAMs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1202—Word line control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
【課題】メモリチップロウハンマー脅威バックプレッシャー信号及びホスト側応答に関するメモリチップ、メモリコントローラ及びコンピューティングシステムを提供する。【解決手段】メモリチップ301は、ロウハンマー(RH)脅威検出回路302と、出力部と、ロウハンマー脅威検出回路と出力部との間に結合されたバックプレッシャー信号生成回路303を含む。バックプレッシャー信号生成回路は、ロウハンマー脅威検出回路によるロウハンマー脅威の検出に応答して出力部から送信されるべきバックプレッシャー信号を生成する。【選択図】図3
Description
関連出願の相互参照
本願は、2021年5月3日提出の「Method and Apparatus For Row Hammer Recovery」と題する米国仮出願第63/183,509号の利益を主張するものであり、その全文が参照により組み込まれる。
本願は、2021年5月3日提出の「Method and Apparatus For Row Hammer Recovery」と題する米国仮出願第63/183,509号の利益を主張するものであり、その全文が参照により組み込まれる。
本発明の分野は、一般にコンピューティングサイエンスに関し、より具体的には、メモリチップロウハンマー脅威バックプレッシャー信号およびホスト側応答に関する方法および装置に関する。
ダイナミック・ランダム・アクセス・メモリ(DRAM)セルは、容量性セルに電荷を蓄積する。待機モードの間(セルへのアクセスがないとき)、電荷は、セルから、その記憶された値が変化する点(例えば、1から0)へと継続的に漏れる可能性がある。
このようなデータ損失を防止するために、DRAMメモリチップは、そのストレージセルをリフレッシュするように設計される。リフレッシュ活動は、通常、セルから読み出して、その記憶された値を検出し、次いで同じ値をセルに書き戻すことを伴う。書込み動作は、特定の記憶された値に対する新規の量の電荷をセルに補充する。
拡張された実行時間にわたってそのデータの完全性を保証するために、メモリチップは、そのストレージセルを周期的にリフレッシュすることになる。具体的には、メモリチップのセルアレイ内の各セルは、セルが頻繁にアクセスされない場合でも、その記憶されたデータの損失を防止するために十分な頻度でリフレッシュされる。
最近公開されたJoint Electron Device Engineering Council(JEDEC)規格、デュアル・データ・レート5(「DDR5」)は、メモリチップとホスト(メモリコントローラ)との間の協調リフレッシュ動作を定義する。具体的には、メモリチップ製造業者は、メモリチップのセルアレイにおけるセルのリフレッシュに関連する特定のタイミング要件を(メモリチップのモードレジスタ(MR)空間において)定義する。
メモリコントローラは、タイミング要件を読み出し、タイミング要件と一致するスケジュールに従ってREFRESHコマンドをスケジュールする。その後、メモリコントローラは、スケジュールと一致するREFRESHコマンドをメモリチップに発行する。各REFRESHコマンドに応答して、メモリチップは、受信したREFRESHコマンドのタイプによって指定される粒度(特定のバンクグループ内のすべてのバンク、またはすべてのバンクグループ内の同じバンク)でセルをリフレッシュする。
DRAMメモリセルはまた、「ロウハンマー」と呼ばれるデータ破損メカニズムを被る可能性がある。ロウハンマーの場合、頻繁にアクティブ化される行の近くにある(例えば、次の)行に結合されたセルにおいて、データが破損する可能性がある。したがって、メモリシステムは、理想的には、行のアクティブ化を監視するカウンタを含む。任意の行が閾値を超える時間ウィンドウにわたって多数のアクティブ化を受信したとみなされる場合、近傍の行に結合されたセルは、それらをロウハンマー効果から保護するため、積極的にリフレッシュされる。
JEDEC DDR5規格は、「リフレッシュ管理」と呼ぶロウハンマー緩和手法を含む。リフレッシュ管理の場合、メモリコントローラは、バンクごとに行のアクティブ化をカウントする。バンクのカウントがメモリチップ製造業者によって指定された閾値を超える場合、メモリコントローラは、メモリチップにリフレッシュ管理(RFM)コマンドを発行する。
各RFMコマンドに応答して、メモリチップは、受信したRFMコマンドのタイプによって指定された粒度(特定のバンクグループにおけるすべてのバンク、またはすべてのバンクグループにおける同じバンク)でセルをリフレッシュする。特に、RFMコマンドに応答して実行されるリフレッシュは、上述したように、REFRESHコマンドで実行される通常のスケジュールされたリフレッシュを超える追加のリフレッシュである。
DDR5規格はまた、メモリチップが問題の存在をメモリコントローラに送り返すための機構を提供する。典型的なDDR5の実装形態は、図1に示すように、メモリコントローラ102とメモリモジュール103との間に結合された一対のサブチャネル101_1、101_2を含む。簡略化のために、サブチャネルのうちの1つのみの構成メモリ・モジュール・コンポーネントを示している。図1に見られるように、サブチャネルの構成コンポーネントは、メモリコントローラ102との間でデータを送信/受信する第1のランクのメモリチップ104_1および第2のランクのメモリチップ104_2と、メモリコントローラからコマンドおよびアドレス(C/A)信号を受信するレジスタ・クロック・ドライバ(RCD)チップ105と、を含む。
各メモリチップ106は、発生した書込み巡回冗長検査(CRC)エラー(「DQ CRC」書込みエラー)をシグナリングするために使用されるAlert_n出力107を含む。ここで、DDR5データ転送は、複数のサイクルを消費するバーストで実行される。実際のデータは、初期のサイクルの間に転送され、CRC情報は、後期のサイクルの間に転送される。書込みバーストごとに、目標ランク内の各メモリチップは、受信したデータからそれ自体のCRC情報を内部的に計算し、それと、受信したCRC情報とを比較する。不一致がある場合、メモリチップは、そのAlert_n出力107においてフラグをアサートする(図面をわかり易くするために、図1は、1つのメモリチップ106および1つのAlert_n出力107のみをラベル付けしている)。
同じランク内の各メモリチップからのAlert_n出力は、共に結び付けられ、RCDチップ105に転送される。DDR5規格に従って、イベントの3から13ns以内に、DQ CRC書込みエラーが発生したことを、いずれかのメモリチップが検出した場合、メモリチップは、12から20クロックサイクル(nCK)以内の幅を有するパルスを生成する。RCDチップ105は、パルスを受信し、サブチャネルのALERT_Nワイヤ108上でパルスを再駆動して、メモリコントローラにイベントを通知する。
さらに、RCDチップ105は、サブチャネルの受信C/A信号に関するパリティエラーを検出するように設計される。RCDチップ105がC/A信号内のパリティエラーを検出した場合、RCDチップ105は、60~120nsの幅を有するサブチャネルのALERT_Nワイヤ108上にパルスを生成して、メモリコントローラにイベントを通知する。
図2は、DQ CRC書込みエラーパルスおよびCAパリティ・エラー・パルスの両方の時間ウィンドウを示す。図2に見られるように、両方のパルスは、両方とも立ち下がりエッジで始まり、立ち上がりエッジで終わるという点で論理低アサーションである。なお、CAパリティエラーの最小パルス幅は、DQ CRC書込みエラーの最大パルス幅よりも長いので、メモリコントローラは、どのタイプのエラーが発生したかを区別することができる。
本発明の良好な理解は、以下の図面と併せて以下の詳細な説明から得ることができる。
将来世代のメモリチップは、独自のロウハンマー脅威検出回路を含むように設計されることが予想される。例えば、少なくともいくつかの将来世代のメモリチップは、その行のアクティブ化カウントを保持するために使用される行ごとの追加のDRAMセルを含むことが予想される。任意の特定の行に関する行のアクティブ化カウントが閾値に達した場合、メモリチップは、「名目上の」ロウハンマー脅威の存在を認識する。
同じメモリチップ内の多数の異なる行のそれぞれのアクティブ化カウントが、ほぼ同時に、それらのそれぞれの閾値に達した場合(「ロウハンマーオーバロード」)、拡張されたロウハンマー脅威が発生する可能性がある。この場合、メモリチップは、脅威を受けている行の集まり(閾値に達した行あたり1セットの近傍の行)をリフレッシュする相当な時間を消費すると予想される。
どのタイプのロウハンマー脅威(以下で「ロウハンマー(RH)脅威」または「ロウハンマー(RH)イベント」などと総称される、「名目上の」ロウハンマー脅威または「ロウハンマーオーバロード」脅威)が、メモリチップによって検出されたかにかかわらず、メモリチップは、ロウハンマー脅威を検出したことを、メモリコントローラに通知すべきである。
さらに、特に、大量のリフレッシュが実行されるまでロウハンマー脅威が緩和されると予想されない場合(例えば、ロウハンマーオーバロード)、メモリチップは、何らかの種類のロウハンマー関連のバックプレッシャー信号をメモリコントローラに送信すべきであり、バックプレッシャー信号は、メモリチップにさらなる読出しコマンド、書込みコマンド、またはアクティブ化コマンドを送信することが一時的に推奨されないことをメモリコントローラに通知する。
したがって、RH脅威を内部的に検出するための第1の回路301と、RH脅威の内部検出に応答してそのAlert_n出力304からRHバックプレッシャー信号を構築して送信するための第2の回路302と、を含む改良されたメモリチップ301を図3に示している。上記の図1の説明と一致する様々なメモリモジュール実装形態に従って、RHバックプレッシャー信号は、RCDチップによって受信され、サブチャネルのALERT_Nワイヤ上に再駆動される。
様々な実施形態において、RHバックプレッシャー信号の構造は、メモリコントローラによって、これらの信号から区別され得るように、DQ CRC書込みエラーおよびC/Aパリティエラーの両方とは異なる。
具体的には、図4に見られるように、RHバックプレッシャー信号の最小パルス幅は、CAパリティエラー信号の最大パルス幅よりも大きい。ここで、高から低への遷移を有するALERT_Nワイヤ上でパルスがアサートされて、パルスの終了を示す後続の低から高への遷移が後続の60ns以内で発生する場合、メモリコントローラは、DQ CRC書込みエラー信号が送信されていることを理解する。対照的に、後続の低から高への遷移が60ns後で、120ns以内に発生する場合、メモリコントローラは、CAパリティエラー信号が送信されていることを理解する。最後に、代わりに、120ns後に後続の低から高への遷移401が発生した場合、メモリコントローラは、RHバックプレッシャー信号が送信されていることを理解する。
様々な実施形態では、図4に示すように、バックプレッシャー信号の最小パルス幅は、CAパリティエラー信号とバックプレッシャー信号との間に30nsのパルス幅差が存在するように、150nsであると定義される。そうすることにより、CAパリティエラー信号が送信されているか否か、またはRHバックプレッシャー信号が送信されているか否かに関するメモリコントローラによる容易な区別が可能になる(低から高への遷移が60ns後で、120ns以内に発生する場合、メモリコントローラはCAパリティエラー信号が送信されていることを理解し、または低から高への遷移401が150ns以降に発生する場合、メモリコントローラはバックプレッシャー信号が送信されていることを理解する)。
様々な実施形態では、バックプレッシャー信号の最小および/または最大パルス幅定義は、メモリチップのMR空間305(例えば、DQ CRC書込みおよび/またはCAパリティ・ビット・エラーのパルス幅定義と共に)に定義される。
さらなる実施形態では、メモリコントローラが少なくともロウハンマー脅威を悪化させ得るコマンド(読出し、書込み、アクティブ化)の送信を停止する時間ウィンドウ402を定義する「部分コマンドブロック」パラメータ(Partial_CMD_Block)を、MR空間305はさらに含む。ここで、部分コマンドブロック時間ウィンドウ402は、ALERT_Nパルスの立ち上がり/立ち下がりエッジで開始し、メモリチップのMR空間内で指定された時間範囲内で終了する。時間ウィンドウ402内で、メモリコントローラは、読出しコマンド、書込みコマンド、およびアクティブ化コマンドなど、少なくとも特定の種類のコマンドの送信を停止する。
様々な実施形態において、最小時間および最大時間の両方が、部分コマンド・ブロック・ウィンドウ402のMR空間305において指定される。メモリコントローラは、メモリコントローラが最初にALERT_Nパルスの立ち上がり/立ち下がりエッジをサンプリングした瞬間から、部分ブロックウィンドウの最小および最大設定内に入る期間402が経過するまで、少なくとも特定のコマンドの送信を停止することが予想される。
ALERT_Nパルスの立ち上がり/立ち下がりエッジを観察するとすぐにコマンドの送信を停止するようにメモリコントローラを設計することは、他のALERT_N信号間(DQ CRC書込みエラーおよびCAパリティエラー)を区別しないことに留意されたい。したがって、ALERT_N信号がDQ CRC書込みエラーまたはCAパリティエラーである場合、部分ブロック時間ウィンドウもコマンドの停止を引き起こすことになる。したがって、時間ウィンドウ402は、例えば、DQ CRC書込みエラーまたはCAパリティエラーを修正するために有利に使用することができる。メモリコントローラがALERT_N立ち下がりエッジのサンプリングに応答してコマンドの送信を停止する前に、メモリチップは、メモリコントローラから受信するすべてのコマンドを実行することが予想される。
様々な構成において、部分コマンド・ブロック・ウィンドウ402の設定は、ウィンドウ402内で、またはウィンドウ402が満了した直後に、ALERT_N信号がDQ CRC書込みエラーであるかCAパリティエラーであるかを、メモリコントローラが判定し得るような設定である。例えば、部分ブロックウィンドウ402は、CAパリティエラーの最小パルス幅(60nsの高から低への遷移)を超えて延びるように構成される。
そうすることによって、メモリコントローラがウィンドウ402内の特定のコマンドの発行をブロックしている間、メモリコントローラは、DQ CRC書込みエラーまたはCAパリティエラーに対応する低から高への遷移を実際に観察し得る。そうである場合、ウィンドウ402が満了した(ブロックが解除された)後に、メモリコントローラは、所望する任意のコマンドを自由に送信することができる。
対照的に、ALERT_N信号のパルス幅がウィンドウ402を超えて延び、RHバックプレッシャー信号の最小パルス幅401に達した場合、メモリコントローラは、RHバックプレッシャー信号が再生されていることを認識し、メモリチップへのRFMコマンド403の送信を開始する。RFMコマンド403の送信により、ロウハンマー脅威を緩和するためにリフレッシュを適用する権限がメモリチップに与えられる。
様々な実施形態では、メモリチップがパルスを終了する(低から高への遷移が観察される)と、またはパルス幅がメモリチップのMR空間で指定されたRHバックプレッシャー信号の最大パルス404に達した場合(いずれか早い方)、メモリコントローラは、RFMコマンド403の送信を停止する。ここで、様々な実施形態において、メモリチップのバックプレッシャー信号回路303は、バックプレッシャー信号を引き起こしたロウハンマー脅威が十分なリフレッシュによって緩和されたという、メモリチップのロウハンマー脅威検出回路302からの信号に応答して、立ち上がりエッジ(RCDチップが再駆動する)によってAlert_Nパルスを終了するように、設計される。
代わりに、最大指定パルス幅404に達したためにメモリコントローラがRFMコマンドの送信を停止する場合、理想的には、メモリチップは、ロウハンマー脅威を緩和するために、これ以上時間を要しない。したがって、様々な実施形態において、最小パルス幅設定401と最大パルス幅設定404との間の差は、良好に緩和されると予想される最悪の場合のロウハンマー脅威(例えば、ロウハンマーオーバロード)を考慮して定義される。
バックプレッシャー信号に応答してメモリコントローラによって送信されたRFMコマンド403に応答して実行されるリフレッシュは、REFRESHコマンドを用いて達成される名目上のリフレッシュ動作と、メモリコントローラのバンクアクティブ化の追跡からトリガされるRFMコマンドによって達成される任意のリフレッシュ動作とを超えて、送信される追加のリフレッシュであるとみなされる(両方のタイプのリフレッシュ動作は、ロウハンマーオーバロード信号に応答して実行されるリフレッシュに加えて継続する)。
様々な実施形態では、メモリチップがロウハンマー脅威イベントを検出すると、メモリチップは、そのMR空間305を更新して、エラーのタイプ(例えば、ロウハンマーオーバロード)、および/またはエラーに関する追加情報(例えば、どの特定の行がそれぞれの閾値に達したか)を確認する。その後、メモリコントローラは、メモリチップ301における状況を確認および/またはより良く理解するために、MR空間305を自由に読み出すことができる。
例えば、MR空間305が、どの行がその閾値に達しているかを示す場合、バックプレッシャー信号に応答して送信されるメモリコントローラRFMコマンド403は、その行の対応する犠牲行が存在するバンクアドレスを指定するRFMコマンドをターゲットとすることができる。代替的なまたは組み合わされた手法では、MR空間305は、ロウハンマーオーバロード状態を緩和するために必要なRFMコマンドの数を示す。この場合、(パルスが終了するか、または最大パルス幅404に達するのを待つのではなく)指定された数のRFMコマンドが送信された後に、メモリコントローラは、バックプレッシャー信号に応答してRFMコマンド403の送信を停止することができる。さらに別のまたは組み合わされた実施形態では、MR空間305は、RH脅威が緩和される前にメモリチップがリフレッシュに費やすために必要な時間を示す。この場合、メモリコントローラは、指定された時間にわたり、バックプレッシャー信号に応答してRFMコマンド403を送信し、次いでRFMコマンド403の送信を停止することになる。
さらに、マルチランク・メモリ・モジュールの場合、MRレジスタ空間を読み出すことなく、メモリコントローラは、(1つよりも多くのランクからのメモリチップのAlert_nピンが同じRCD入力に結び付けられているため)どのランクがロウハンマー脅威を受けているかを知り得ない。この場合、すべてのランクにロウハンマー緩和を適用する(ウィンドウ402内の読出し/書込み/アクティブ化コマンドの送信を停止し、RFMコマンド403の送信を開始する)ように、メモリコントローラを設計することができる。メモリコントローラがMRレジスタ空間を読み出す場合、メモリコントローラは、どのランクのメモリチップがロウハンマー脅威にさらされているかを理解し、影響を受けたランクのメモリチップにのみロウハンマー緩和を適用することができる。
様々な実施形態において、ロウハンマー脅威が緩和されたことを、メモリチップが観察すると、メモリチップは、脅威の存在を示すように設定されたMR空間305のいずれかをクリアする。あるいは、メモリチップがパルスを終了するか、またはメモリコントローラがバックプレッシャー信号のアサートに応答してすべての許可されたRFMコマンド403を送信すると、メモリコントローラは、(メモリチップのMR空間305への書込みを介して)MR空間をクリアすることができる。
上述の実施形態に従って、メモリチップは、メモリコントローラによって送信されたREFRESHおよびRFMコマンドに応答してのみ、(セルフ・リフレッシュ・モードにない場合)リフレッシュを発行することが想定されていた。代替的または組み合わせた実装形態では、メモリチップ301は、それ自体で開始するリフレッシュをスケジュールする/発行するための回路を含む。そのような実施形態では、メモリコントローラが新規の読出しコマンド、書込みコマンド、またはアクティブ化コマンドの送信を停止する限り(例えば、メモリは、ウィンドウ402内の脅威を内部的に緩和することができる)、メモリチップが、問題を緩和するために十分なリフレッシュを内部的に開始し得るので、メモリチップが必要とするRFMコマンド403の数を(例えば、0まで)減らすことができる。
さらに別の手法に従って、メモリチップのバックプレッシャー信号のアサートに応答して、メモリコントローラは、(RFMコマンド403を送信する代わりに)メモリチップを自動的にセルフ・リフレッシュ・モードにする。
さらに別の手法に従って、読出しバーストは、ロウハンマー脅威が存在するか否かを示すために使用されるメタ・データ・ビットを含む。例えば、読出しトランザクションごとのメモリチップごとに、1ビット(例えば、0=ロウハンマー脅威が存在しない、1=ロウハンマー脅威が存在する)が予約される。ロウハンマー脅威が存在することを、任意のメタ・データ・ビットが示す場合、メモリコントローラは、同じアドレスで読出しコマンドによって間隔を空けた一連のRFMコマンドを発行する。メモリコントローラは、ロウハンマー脅威が存在しないことを、メタデータが示すまで、この状態で動作を継続する。
上述の実施形態は、サブチャネルごとに単一のALERT_Nワイヤを強調しており、同じランクまたは同じサブチャネルのすべてのメモリチップがメモリモジュール上の同じalertワイヤに結び付けられているが、これらの特定の設計から逸脱する他の実施形態は、それにもかかわらず、本明細書で提供する教示を組み込み得ることを認識することが適切である。例えば、サブチャネルごとに、複数のALERT_Nワイヤ(例えば、ランクごとに1つのそのようなワイヤなど)が存在し得る。
図5は、上記で提供した教示と一致するロウハンマーバックプレッシャー信号(または他の種類のバックプレッシャー信号)を処理するように設計されたメモリコントローラ501を示している。特に、メモリコントローラ501は、ALERT_Nワイヤからの信号を受信するための入力を含み、ALERT_Nワイヤは、ALERT_Nワイヤ上に生成される様々なパルス幅に従って、メモリモジュールおよび/またはメモリチップからのエラー/問題を通信する。信号のうちの1つは、ロウハンマーバックプレッシャー信号など、バックプレッシャー信号である。したがって、メモリコントローラ501は、様々な信号を区別し、バックプレッシャー信号を検出し得る回路502を含む。
メモリコントローラ501は、メモリコントローラ501が結合されているメモリモジュール/チップに、どのコマンドが送信されるかを判定するコマンドスケジューラ回路503を含む。コマンドスケジューラ論理回路503は、ALERT_N入力で受信されるバックプレッシャー信号に対するメモリコントローラによる検出に応答して、少なくとも特定の種類のコマンド(例えば、読出し、書込み、アクティブ化)の送信を停止し、および/または追加のリフレッシュコマンド(例えば、RFMコマンド)を送信するように設計される。
さらに他の実施形態では、ALERT_Nワイヤを使用するのではなく、メモリモジュールとメモリコントローラとの間のある種のパケット化通信リンクを通して、デジタル通信を介して、バックプレッシャー信号を送信する。例えば、コマンド/アドレスバス、またはデータバス(DQバス)の特定のワイヤを使用して、メモリチップからメモリコントローラにパケットを送り返してもよい。そのようなパケットは、上述のようにバックプレッシャー信号に対応するヘッダおよび/またはペイロードを含んでもよい。パケット化された通信リンクは、実装形態に応じて、単一のワイヤまたは複数のワイヤで形成されてもよい。複数ワイヤの実装形態の場合、バックプレッシャー信号の送信および受信に関連する「出力」および「入力」という用語は、そのような複数のワイヤも含むと解釈することができる。
上記で提供した教示は、JEDEC DDR5実装形態、JEDEC DDR6実装形態、JEDECグラフィックスDDR(GDDR)実装形態、JEDEC高帯域幅メモリ(HBM)実装形態などを含む様々なメモリ実装形態に適用することができる。
上述した様々なタイプの回路は、少なくとも部分的に論理回路に実装することができる。論理回路は、論理ゲートを含む、および/またはそのような論理ゲートで形成された大きな論理マクロを含むことができ、論理ゲートは、フィールド・プログラマブル・ゲート・アレイ(FPGA)回路および/または何らかの形式のプログラムコードを実行するための回路設計(例えば、マイクロコントローラ)など、プログラマブルまたは構成可能な論理回路を、専用化およびハードワイヤード化したものである。
図6は、例示的なシステムを示す図である。システムは、本明細書で提供した教示を使用することができる。システム600は、システム600のための命令の処理、動作管理、および実行を提供するプロセッサ610を含む。プロセッサ610は、任意のタイプのマイクロ処理装置、中央処理装置(CPU)、グラフィックス処理装置(GPU)、処理コア、またはシステム600に処理を提供するための他の処理ハードウェア、または処理装置の組合せを含むことができる。プロセッサ610は、システム600の全体的な動作を制御し、1つまたは複数のプログラマブル汎用もしくは専用マイクロ処理装置、デジタル信号処理装置(DSP)、プログラマブルコントローラ、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)など、またはそのようなデバイスの組合せとすることができる、あるいはそれらを含むことができる。
一例では、システム600は、プロセッサ610に結合されたインターフェース612を含み、インターフェース612は、メモリサブシステム620もしくはグラフィックス・インターフェース・コンポーネント640、またはアクセラレータ642など、高帯域幅接続を必要とするシステムコンポーネントのための高速インターフェースまたは高スループットのインターフェースを表すことができる。インターフェース612は、インターフェース回路を表し、インターフェース回路は、スタンドアロンコンポーネントであってもよく、または処理装置ダイ上に集積されてもよい。存在する場合、グラフィックスインターフェース640は、システム600のユーザに視覚的表示を提供するためのグラフィックスコンポーネントにインターフェースする。一例では、グラフィックスインターフェース640は、ユーザに出力を提供する高精細(HD)ディスプレイを駆動することができる。高精細は、約100PPI(ピクセル/インチ)以上のピクセル密度を有するディスプレイを指すことができ、フルHD(例えば、1080p)、網膜ディスプレイ、4K(超高精細度またはUHD)など、フォーマットを含むことができる。一例では、ディスプレイはタッチスクリーンディスプレイを含むことができる。一例では、グラフィックスインターフェース640は、メモリ630に記憶されたデータに基づいて、またはプロセッサ610によって実行された動作に基づいて、またはその両方に基づいてディスプレイを生成する。プロセッサ
アクセラレータ642は、プロセッサ610によってアクセスまたは使用され得る固定機能オフロードエンジンとすることができる。例えば、アクセラレータ642のうちの1つのアクセラレータは、圧縮(DC)機能、公開鍵暗号化(PKE)、暗号、ハッシュ/認証機能、復号など、暗号化サービス、または他の機能もしくはサービスを提供することができる。いくつかの実施形態では、追加的または代替的に、アクセラレータ642のうちの1つのアクセラレータは、本明細書で説明するようなフィールド選択コントローラ機能を提供する。場合によっては、アクセラレータ642は、CPUソケット(例えば、CPUを含み、CPUとの電気的インターフェースを提供する、マザーボードまたは回路基板に対するコネクタ)に統合することができる。例えば、アクセラレータ642は、単一またはマルチコア処理装置、グラフィックス処理ユニット、論理実行ユニットの単一またはマルチレベルキャッシュ、プログラムまたはスレッドを独立して実行するために使用可能な機能ユニット、特定用途向け集積回路(ASIC)、ニューラルネットワーク処理装置(NNP)、「X」処理ユニット(XPU)、プログラマブル制御論理、およびフィールド・プログラマブル・ゲート・アレイ(FPGA)など、プログラマブル処理要素を含むことができる。アクセラレータ642は、複数のニューラルネットワーク、処理装置コア、またはグラフィックス処理装置を提供することができ、人工知能(AI)または機械学習(ML)モデルによる使用のために利用可能にすることができる。例えば、AIモデルは、強化学習方式、Q学習方式、深層Q学習、もしくは非同期アドバンテージ・アクター・クリティック(A3C、Asynchronous Advantage Actor-Critic)、組合せニューラルネットワーク(combinatorial neural network)、回帰型(recurrent)組合せニューラルネットワーク、または他のAIもしくはMLモデルのいずれか、またはそれらの組合せを、使用または含むことができる。複数のニューラルネットワーク、処理装置コア、またはグラフィックス処理ユニットを、AIまたはMLモデルによる使用のために利用可能にすることができる。
メモリサブシステム620は、システム600のメインメモリを表し、プロセッサ610によって実行されるコード、またはルーチンを実行する際に使用されるデータ値のためのストレージを提供する。メモリサブシステム620は、読出し専用メモリ(ROM)、フラッシュメモリ、揮発性メモリ、またはそのようなデバイスの組合せなど、1つまたは複数のメモリデバイス630を含むことができる。メモリ630は、とりわけ、オペレーティングシステム(OS)632を記憶およびホストして、システム600内の命令を実行するためのソフトウェアプラットフォームを提供する。さらに、アプリケーション634は、メモリ630からOS632のソフトウェアプラットフォーム上で実行することができる。アプリケーション634は、1つまたは複数の機能の実行を行うための独自の動作論理を有するプログラムを表す。プロセス636は、補助機能をOS632または1つもしくは複数のアプリケーション634または組合せに提供するエージェントまたはルーチンを表す。OS632、アプリケーション634、およびプロセス636は、システム600に機能を提供するソフトウェア論理を提供する。一例では、メモリサブシステム620は、コマンドをメモリ630に生成および発行するためのメモリコントローラであるメモリコントローラ622を含む。メモリコントローラ622は、プロセッサ610の物理的部分、またはインターフェース612の物理的部分であり得ることが理解されよう。例えば、メモリコントローラ622は、プロセッサ610を有する回路上に集積された集積メモリコントローラとすることができる。いくつかの例では、システム・オン・チップ(SOCまたはSoC)は、処理装置、グラフィックス、メモリ、メモリコントローラ、および入力/出力(I/O)制御論理のうち1つまたは複数を、1つのSoCパッケージに組み合わせる。
揮発性メモリは、デバイスへの電力が遮断された場合に、状態(したがって、それに記憶されているデータ)が不定であるメモリである。動的揮発性メモリは、状態を維持するためにデバイスに記憶されたデータをリフレッシュする必要がある。動的揮発性メモリの一例は、DRAM(Dynamic Random Access Memory)、または同期DRAM(SDRAM)などの何らかの変形を含む。本明細書に記載のメモリサブシステムは、DDR3(Double Data Rate version 3,2007年6月27日、JEDEC(Joint Electronic Device Engineering Council)によるオリジナルリリース)、DDR4(JEDECによって2012年9月に公開された初期仕様のDDRバージョン4)、DDR4E(DDRバージョン4)、LPDDR3(JEDECによるLow Power DDR version 3、2013年8月のJESD209-3B)、LPDDR4(LPDDRバージョン4、当初、2014年8月にJEDECによって公開されたJESD 209-4)、WIO2(Wide Input/Outputバージョン2、当初、2014年8月にJEDECによって公開されたJESD229-2)、HBM(High Bandwidth Memory、当初、2013年10月にJEDECによって公開されたJESD325)、LPDDR5(現在、JEDECによって議論中)、HBM2(HBMバージョン2、現在JEDECによって議論中)、またはその他、あるいはメモリ技術の組合せ、およびそのような仕様の派生物または拡張物に基づく技術など、多数のメモリ技術と互換性があり得る。JEDEC規格は、www.jedec.orgで入手可能である。
メモリ630は、バックプレッシャー信号を送信するように設計された1つまたは複数のメモリチップを含むことができ、メモリコントローラ622は、図3~図5に関して詳細に上述した教示に従って、バックプレッシャー信号に応答することができる。
具体的に示していないが、システム600は、メモリバス、グラフィックスバス、インターフェースバスまたは他のものなど、デバイス間に1つまたは複数のバスまたはバスシステムを含むことができることが理解されよう。バスまたは他の信号線は、コンポーネントを互いに通信可能または電気的に結合することができ、あるいはその両方は、コンポーネントを通信可能および電気的に結合することができる。バスは、物理通信線、ポイントツーポイント接続、ブリッジ、アダプタ、コントローラ、または他の回路、あるいは組合せを含むことができる。バスは、例えば、システムバス、周辺コンポーネント相互接続エクスプレス(PCIe)バス、ハイパートランスポートまたは業界標準アーキテクチャ(ISA)バス、スモール・コンピュータ・システム・インターフェース(SCSI)バス、リモート・ダイレクト・メモリ・アクセス(RDMA)、インターネット・スモール・コンピュータ・システム・インターフェース(iSCSI)、NVMエクスプレス(NVMe)、コヒーレント・アクセラレータ・インターフェース(CXL)、コヒーレントアクセラレータ処理装置インターフェース(CAPI)、ユニバーサル・シリアル・バス(USB)、または電気電子技術者協会(IEEE)標準1394バスのうち1つまたは複数を含むことができる。
一例では、システム600は、インターフェース612に結合し得るインターフェース614を含む。一例では、インターフェース614は、スタンドアロンコンポーネントおよび集積回路を含み得るインターフェース回路を表す。一例では、複数のユーザ・インターフェース・コンポーネントもしくは周辺コンポーネント、またはその両方がインターフェース614に結合する。ネットワークインターフェース650は、1つまたは複数のネットワークを介してリモートデバイス(例えば、サーバまたは他のコンピューティングデバイス)と通信する能力を、システム600に提供する。ネットワークインターフェース650は、イーサネット(登録商標)アダプタ、無線相互接続コンポーネント、セルラネットワーク相互接続コンポーネント、USB(ユニバーサル・シリアル・バス)、または他の有線もしくは無線標準ベースもしくは専用インターフェースを含むことができる。ネットワークインターフェース650は、メモリに記憶されたデータを送信することを含み得るリモートデバイスにデータを送信することができる。ネットワークインターフェース650は、受信したデータをメモリに記憶することを含み得るリモートデバイスからデータを受信することができる。ネットワークインターフェース650、プロセッサ610、およびメモリサブシステム620に関連して、様々な実施形態を使用することができる。
一例では、システム600は、1つまたは複数の入力/出力(I/O)インターフェース660を含む。I/Oインターフェース660は、1つまたは複数のインターフェースコンポーネントを含むことができ、インターフェースコンポーネントは、ユーザがシステム600と対話(例えば、音声、英数字、触覚/タッチ、または他のインターフェース)する。周辺インターフェース670は、特に上述していない任意のハードウェアインターフェースを含むことができる。周辺機器は、全般的に、システム600に従属的に接続するデバイスを指す。従属接続は、システム600が、ソフトウェアプラットフォームもしくはハードウェアプラットフォーム、またはその両方を提供する接続であり、それらプラットフォームは、動作が実行され、ユーザが対話する。
一例では、システム600は、データを不揮発性に記憶するためのストレージサブシステム680を含む。一例では、特定のシステム実装形態では、ストレージ680の少なくとも特定のコンポーネントは、メモリサブシステム620のコンポーネントと重複することができる。ストレージサブシステム680は、ストレージデバイス684を含み、ストレージデバイス684は、大量のデータを不揮発性に記憶するための任意の従来の媒体、例えば、1つまたは複数の磁気、固体、もしくは光ベースのディスク、またはこれらの組合せであってもよく、あるいはこれらを含んでもよい。ストレージ684は、コードまたは命令およびデータ686を持続状態に保持する(例えば、システム600への電力の中断にもかかわらず、値が保持される)。ストレージ684は、一般に「メモリ」であると考えられ得るが、メモリ630は、通常、プロセッサ610に命令を提供するための実行または動作メモリである。ストレージ684は不揮発性であるが、メモリ630は揮発性メモリ(例えば、システム600への電力が遮断された場合、データの値または状態は不確定である)を含むことができる。一例では、ストレージサブシステム680は、ストレージ684とインターフェースするためのコントローラ682を含む。一例では、コントローラ682は、インターフェース614またはプロセッサ610の物理的部分であるか、あるいはプロセッサ610とインターフェース614の両方における回路または論理を含むことができる。
不揮発性メモリ(NVM)デバイスは、デバイスへの電力が遮断されても状態が確定するメモリである。一実施形態では、NVMデバイスは、NAND技術など、ブロックアドレス可能(block addressable)メモリデバイス、またはより具体的には、複数閾値(multi-threshold)レベルNANDフラッシュメモリ(例えば、シングルレベルセル(「SLC」)、マルチレベルセル(「MLC」)、クワッドレベルセル(「QLC」)、トリレベルセル(「TLC」)、または何らかの他のNAND)を備えることができる。NVMデバイスはまた、バイトアドレス可能ライトインプレース(byte-addressable write-in-place)3次元クロス・ポイント・メモリ・デバイス、または他のバイトアドレス可能ライトインプレースNVMデバイス(永続メモリとも呼ばれる)、例えば、単一もしくはマルチレベル相変化メモリ(PCM)もしくはスイッチ付き相変化メモリ(PCMS)、カルコゲナイド相変化材料(例えば、カルコゲナイドガラス)を使用するNVMデバイス、金属酸化物ベースを含む抵抗メモリ、酸素空孔ベースおよび導電性ブリッジ・ランダム・アクセス・メモリ(CB-RAM)、ナノワイヤメモリ、強誘電体ランダム・アクセス・メモリ(FeRAM、FRAM(登録商標))、メモリスタ技術を組み込んだ磁気抵抗ランダム・アクセス・メモリ(MRAM)、スピン・トランスファー・トルク(STT)-MRAM、スピントロニック磁気接合メモリベースのデバイス、磁気トンネル接合(MTJ)ベースのデバイス、DW(Domain Wall)およびSOT(Spin Orbit Transfer、スピン軌道転送)ベースのデバイス、サイリスタベースのメモリデバイス、または上記のいずれかの組合せ、あるいは他のメモリを備えることができる。
電源(図示せず)は、システム600のコンポーネントに電力を供給する。より具体的には、電源は、通常、システム600のコンポーネントに電力を供給するためにシステム700内の1つまたは複数の電力装置とインターフェースする。一例では、電力装置は、壁コンセントに差し込まれるAC-DC(交流-直流)アダプタを含む。このようなAC電力は、再生可能エネルギー(例えば、太陽光発電)電源とすることができる。一例では、電源は、外部AC/DCコンバータなど、DC電源を含む。一例では、電源または電力装置は、充電フィールドに近接して充電するための無線充電ハードウェアを含む。一例では、電源は、内部電池、交流装置、モーションベースの電力装置、太陽光電力装置、または燃料電池源を含むことができる。
一例では、システム600は、分離(disaggregated)コンピューティングシステムとして実装することができる。例えば、システム700は、処理装置、メモリ、ストレージ、ネットワークインターフェース、および他のコンポーネントの相互接続された計算スレッドで実装することができる。PCIe、イーサネット(登録商標)、または光相互接続(またはそれらの組み合わせ)など、高速相互接続を使用することができる。例えば、スレッドは、オープン・コンピュート・プロジェクト(OCP)または他の分離コンピューティングの取組みによって公表された任意の仕様に従って設計することができ、それは主なアーキテクチャのコンピュータコンポーネントをラックプラガブル(rack-pluggable)コンポーネント(例えば、ラックプラガブル処理コンポーネント、ラックプラガブル・メモリ・コンポーネント、ラックプラガブル・ストレージ・コンポーネント、ラックプラガブル・アクセラレータ・コンポーネントなど)にモジュール化しようと企図している。
図7は、データセンタの一例を示す図である。様々な実施形態を、図7のデータセンタにおいて、または図7のデータセンタと共に使用することができる。図7に示すように、データセンタ700は、光ファブリック712を含んでもよい。光ファブリック712は、全般的に、データセンタ700内の任意の特定のスレッドがデータセンタ700内の他のスレッドに信号を送信(およびそこから信号を受信)し得る光シグナリング媒体(光ケーブルなど)と、光スイッチングインフラストラクチャとの組合せを含んでもよい。しかしながら、光、無線、および/または電気信号は、ファブリック712を使用して送信することができる。光ファブリック712が任意の所与のスレッドに提供するシグナリング接続は、同じラック内の他のスレッドと、他のラック内のスレッドとの両方への接続を含んでもよい。データセンタ700は、4つのラック702A~702Dを含み、ラック702A~702Dは、スレッド704A-1および704A-2、704B-1および704B-2、704C-1および704C-2、ならびに704D-1および704D-2のそれぞれの対を収容する。したがって、この例では、データセンタ700は合計8つのスレッドを含む。光ファブリック712は、他の7つのスレッドのうち1つまたは複数に対するスレッドシグナリング接続を提供することができる。例えば、光ファブリック712を介して、ラック702A内のスレッド704A-1は、ラック702A内のスレッド704A-2、ならびにデータセンタ700の他のラック702B、702C、および702Dの間に分散された6つの他のスレッド704B-1、704B-2、704C-1、704C-2、704D-1、および704D-2とのシグナリング接続を有してもよい。実施形態はこの例に限定されない。例えば、ファブリック712は、光および/または電気シグナリングを提供することができる。
図8は、環境800が、各々がトップ・オブ・ラック(ToR)スイッチ804、ポッド管理部806、および複数のプールされたシステムドロワを含む複数のコンピューティングラック802を含むことを示している。一般に、プールされたシステムドロワは、例えば、分離コンピューティングシステムを実行するために、プールされた計算ドロワおよびプールされたストレージドロワを含む場合がある。任意選択で、プールされたシステムドロワはまた、プールされたメモリドロワおよびプールされた入力/出力(I/O)ドロワを含んでもよい。図示の実施形態では、プールされたシステムドロワは、INTEL(登録商標)XEON(登録商標)プールされたコンピュータドロワ808、およびINTEL(登録商標)ATOM(商標)プールされた計算ドロワ810、プールされたストレージドロワ812、プールされたメモリドロワ814、およびプールされたI/Oドロワ816を含む。プールされたシステムドロワの各々は、40ギガビット/秒(Gb/s)もしくは100Gb/sイーサネット(登録商標)リンク、または100+Gb/sシリコンフォトニクス(SiPh)光リンクなど、高速リンク818を介してToRスイッチ804に接続される。一実施形態では、高速リンク818は、800Gb/sのSiPh光リンクを備える。
ここでも、ドロワは、オープン・コンピュート・プロジェクト(OCP)または他の分離コンピューティングの取組みによって公表された任意の仕様に従って設計することができ、それは主なアーキテクチャのコンピュータコンポーネントをラックプラガブル(rack-pluggable)コンポーネント(例えば、ラックプラガブル処理コンポーネント、ラックプラガブル・メモリ・コンポーネント、ラックプラガブル・ストレージ・コンポーネント、ラックプラガブル・アクセラレータ・コンポーネントなど)にモジュール化しようと企図している。
複数のコンピューティングラック800は、ネットワーク820への接続によって示すように、それらのToRスイッチ804(例えば、ポッドレベルスイッチまたはデータ・センタ・スイッチ)を介して相互接続されてもよい。いくつかの実施形態では、コンピューティングラック802のグループは、ポッド管理部806を介して別個のポッドとして管理される。一実施形態では、ポッド内のすべてのラックを管理するために、単一のポッド管理部が使用される。代替的に、分散ポッド管理部をポッド管理動作に使用してもよい。
RSD環境800は、RSD環境の様々な態様を管理するために使用される管理インターフェース822をさらに含む。これは、ラック構成データ824として記憶された対応するパラメータを用いてラック構成を管理することを含む。
本明細書の実施形態は、スイッチ、ルータ、ラック、ならびにデータセンタおよび/またはサーバファーム環境で使用されるものなど、ブレードサーバなど、様々なタイプのコンピューティング、スマートフォン、タブレット、パーソナルコンピュータ、およびネットワーク機器に実装されてもよい。データセンタおよびサーバファームで使用されるサーバは、ラックベースのサーバまたはブレードサーバなど、アレイ化されたサーバ構成を備える。これらのサーバは、プライベートイントラネットを形成するために、ローカル・エリア・ネットワーク(LAN)間で適切なスイッチングおよびルーティング機能を用いて、サーバのセットをLANに分割するなど、様々なネットワーク設備を介した通信で相互接続される。例えば、クラウドホスティング施設は、通常、多数のサーバを有する大規模なデータセンタを使用する場合がある。ブレードは、サーバタイプの機能、すなわち 「サーバ・オン・ア・カード(server on a card)」を実行するように構成された別個のコンピューティングプラットフォームを備える。したがって、各ブレードは、適切な集積回路(IC)を結合するための内部配線(例えば、バス)を提供する主プリント回路基板(主基板)、およびその基板に取り付けられた他のコンポーネントを含む、従来のサーバに共通しているコンポーネントを含む。
様々な例は、ハードウェア要素、ソフトウェア要素、またはそれら両方の組合せを使用して実装されてもよい。いくつかの例では、ハードウェア要素は、デバイス、コンポーネント、処理装置、マイクロ処理装置、回路、回路要素(例えば、トランジスタ、抵抗器、コンデンサ、インダクタなど)、集積回路、ASIC、PLD、DSP、FPGA、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含んでもよい。いくつかの例では、ソフトウェア要素は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインターフェース、API、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータ・コード・セグメント、ワード、値、シンボル、またはそれらの任意の組合せを含んでもよい。一例が、ハードウェア要素および/またはソフトウェア要素を使用して実施されるか否かの判定は、所与の実装形態について所望されるように、所望の計算速度、電力レベル、耐熱性、処理サイクルバジェット、入力データ速度、出力データ速度、メモリリソース、データバス速度、および他の設計または性能制約など、任意の数の要因に従って変化してもよい。ハードウェア要素、ファームウェア要素、および/またはソフトウェア要素は、本明細書では集合的または個別的に「モジュール」、「論理」、「回路」、または「回路配線」と呼ぶ場合があることに留意されたい。
いくつかの例は、製品または少なくとも1つのコンピュータ可読媒体を使用して、または製品または少なくとも1つのコンピュータ可読媒体として実装してもよい。コンピュータ可読媒体は、論理を記憶するための非一時的ストレージ媒体を含んでもよい。いくつかの例では、非一時的ストレージ媒体は、揮発性メモリまたは不揮発性メモリ、取外し可能または取外し不能メモリ、消去可能または消去不能メモリ、書込み可能または上書き可能メモリなどを含む、電子データを記憶し得る1つまたは複数のタイプのコンピュータ可読ストレージ媒体を含んでもよい。いくつかの例では、論理は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインターフェース、API、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータ・コード・セグメント、ワード、値、シンボル、またはそれらの任意の組合せなど、様々なソフトウェア要素を含んでもよい。
いくつかの例によれば、コンピュータ可読媒体は、機械、コンピューティングデバイスまたはシステムによって実行されると、記載された例に従って方法および/または動作を、機械、コンピューティングデバイスまたはシステムに実行させる命令を記憶または維持するための非一時的ストレージ媒体を含んでもよい。命令は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能コード、静的コード、動的コードなど、任意の適切なタイプのコードを含んでもよい。命令は、特定の機能を実施するように機械、コンピューティングデバイスまたはシステムに命令するために、予め定義されたコンピュータ言語、方法または構文に従って実行することができる。命令は、任意の適切な高レベル、低レベル、オブジェクト指向、視覚、コンパイル済みおよび/または解釈済みプログラミング言語を使用して実行してもよい。
少なくとも1つの例の1つまたは複数の態様は、処理装置内の様々な論理を表す、少なくとも1つの機械可読媒体に記憶された代表的な命令によって実行することができ、機械、コンピューティングデバイスまたはシステムによって読み出されると、機械、コンピューティングデバイスまたはシステムは、本明細書に記載の技術を実行するための論理を組み立てる。「IPコア」として知られるそのような表現は、有形の機械可読媒体に記憶され、論理または処理装置を実際に作る組立機械にロードするために様々な顧客または製造施設に供給されてもよい。
「一例」または「例」という句の出現は、必ずしもすべてが同じ例または実施形態を指すとは限らない。本明細書に記載の任意の態様は、態様が同じ図面または要素に関して記載されているか否かにかかわらず、本明細書に記載の任意の他の態様または同様の態様と組み合わせることができる。添付の図面に示されたブロック機能の分割、省略、または包含は、これらの機能を実装するためのハードウェアコンポーネント、回路、ソフトウェア、および/または要素が、実施形態において必ず分割、省略、または包含されることを意味しない。
いくつかの例は、「結合される」および「接続される」という表現をそれらの派生語と共に使用して説明することができる。これらの用語は、必ずしも互いに同義語として意図していない。例えば、「接続された」および/または「結合された」という用語を使用する説明は、2つまたはそれよりも多くの要素が互いに直接物理的または電気的に接触していることを示す場合がある。しかしながら、「結合された」という用語はまた、2つまたはそれよりも多くの要素が互いに直接接触していないが、それでもなお互いに協働または相互作用することを意味する場合がある。
本明細書における「第1」、「第2」などの用語は、順序、量、または重要性を示すものではなく、任意の要素を別の要素と区別するために使用される。本明細書における「1つの(a)」および「1つの(an)」という用語は、量の限定を示すものではなく、むしろ参照される項目の少なくとも1つの存在を示す。信号に関して本明細書で使用する「アサート」という用語は、信号がアクティブであり、信号に論理0または論理1のいずれかの任意の論理レベルを適用することによって達成され得る信号の状態を示す。「続く」または「後に」という用語は、何らかの他の1つまたは複数のイベントの直後または後を指すことができる。代替の実施形態に従って、他の一連のステップを実行することもできる。さらに、特定の用途に応じて、追加のステップを追加または削除することができる。変更の任意の組合せを使用することができ、本開示の恩恵を受ける当業者は、その多くの変形、修正、および代替の実施形態を理解するであろう。
句「X、Y、またはZの少なくとも1つ」など、選言的な言語は、特に明記しない限り、一般に使用される文脈内で、項目、用語などがX、Y、またはZのいずれか、あるいはそれらの任意の組合せ(例えば、X、Y、および/またはZ)であり得ることを示すと理解される。したがって、そのような選言的な語は、一般に、特定の実施形態がそれぞれ存在するために、Xの少なくとも1つ、Yの少なくとも1つ、またはZの少なくとも1つを必要とすることを意図するものではなく、暗示するべきではない。さらに、句「X、YおよびZのうちの少なくとも1つ」などの接続語は、特に明記しない限り、「X、Y、および/またはZ」を含む、X、Y、Z、またはそれらの任意の組合せを意味するとも理解されるべきである。
[他の考えられる項目]
(項目1)
ロウハンマー脅威検出回路と、
出力部と、
前記ロウハンマー検出回路と前記出力部との間に結合され、前記ロウハンマー脅威検出回路によるロウハンマー脅威の検出に応答して前記出力部から送信されるべきバックプレッシャー信号を生成する、バックプレッシャー信号生成回路と
を備える、メモリチップ。
(項目2)
前記出力部が、alert_n出力である、項目1に記載のメモリチップ。
(項目3)
前記ロウハンマー脅威が、行アクティブ化閾値に同時に達する前記メモリチップ内のメモリセルアレイの複数の行を含む、項目1に記載のメモリチップ。
(項目4)
前記バックプレッシャー信号が、特定のパルス幅最小値およびパルス幅最大値内の幅を有するパルスを含む、項目1に記載のメモリチップ。
(項目5)
前記メモリチップが、前記パルス幅最小値を記録するためのモードレジスタ(MR)モード空間を備える、項目1に記載のメモリチップ。
(項目6)
前記メモリチップが、前記ロウハンマー脅威に関する情報を提供するためのMR空間を備える、項目1に記載のメモリチップ。
(項目7)
前記情報が、メモリコントローラが前記バックプレッシャー信号を受信した結果として、前記メモリコントローラが、前記メモリチップに対する読出しコマンド、書込みコマンド、およびアクティブ化コマンドの送信を停止する時間ウィンドウを、記述するものである、項目1に記載のメモリチップ。
(項目8)
前記情報が、メモリコントローラが前記バックプレッシャー信号に応答して前記メモリチップに送信するリフレッシュコマンドの数に、影響を及ぼすものである、項目1に記載のメモリチップ。
(項目9)
前記リフレッシュコマンドが、リフレッシュ管理(RFM)コマンドである、項目8に記載のメモリチップ。
(項目10)
前記バックプレッシャー信号が、前記出力部を介してパケットで送信される、項目1に記載のメモリチップ。
(項目11)
入力部と、
前記入力部に結合され、前記入力部において受信されたバックプレッシャー信号を検出するバックプレッシャー信号検出回路と、
前記バックプレッシャー信号検出回路に結合されたコマンド回路であって、前記メモリコントローラが前記バックプレッシャー信号を受信した結果として、前記コマンド回路が、メモリチップに対する、読出しコマンド、書込みコマンド、およびアクティブ化コマンドを送信することを停止し、前記メモリチップが、ロウハンマー脅威に応答して前記バックプレッシャー信号を生成する、コマンド回路と
を備える、メモリコントローラ。
(項目12)
前記入力部が、alert_n出力である、項目11に記載のメモリコントローラ。
(項目13)
前記バックプレッシャー信号が、特定のパルス幅最小値およびパルス幅最大値内の幅を有するパルスを含む、項目11に記載のメモリコントローラ。
(項目14)
前記メモリコントローラが、ロウハンマー脅威に関する情報を取得するために前記メモリチップ内のMR空間を読み出す、項目11に記載のメモリコントローラ。
(項目15)
前記メモリコントローラが、予め定義された期間にわたって前記読出しコマンド、前記書込みコマンド、および前記アクティブ化コマンドの送信を停止する、項目11に記載のメモリコントローラ。
(項目16)
前記メモリコントローラが、前記バックプレッシャー信号に応答して、リフレッシュコマンドを前記メモリチップに送信する、項目11に記載のメモリコントローラ。
(項目17)
前記メモリコントローラが、前記入力部において巡回冗長検査書込みエラー信号およびコマンド/アドレス・パリティ・エラー信号も受信する、項目11に記載のメモリコントローラ。
(項目18)
a)複数の処理コアと、
b)ネットワークインターフェースと、
c)メモリチップであって、
i)ロウハンマー脅威検出回路と、
ii)出力部と、
iii)前記ロウハンマー検出回路と前記出力部との間に結合され、前記ロウハンマー脅威検出回路によるロウハンマー脅威の検出に応答して前記出力部から送信されるべきバックプレッシャー信号を生成する、バックプレッシャー信号生成回路と
を備える、メモリチップと、
d)前記メモリチップに結合されたメモリコントローラであって、
i)入力部と、
ii)前記入力部に結合され、前記入力部において受信された前記バックプレッシャー信号を検出する、バックプレッシャー信号検出回路と、
iii)前記バックプレッシャー信号検出回路に結合されたコマンド回路であって、前記メモリコントローラが前記バックプレッシャー信号を受信した結果として、前記コマンド回路が、前記メモリチップに対する読出しコマンド、書込みコマンド、およびアクティブ化コマンドの送信を停止する、コマンド回路と
を有する、メモリコントローラと
を備えるコンピューティングシステム。
(項目19)
前記出力部がalert_n出力である、項目18に記載のコンピューティングシステム。
(項目20)
前記ロウハンマー脅威が、行アクティブ化閾値に同時に達する前記メモリチップ内のメモリセルアレイの複数の行を含む、項目18に記載のコンピューティングシステム。
(項目21)
前記メモリコントローラが、前記バックプレッシャー信号に応答して、リフレッシュコマンドを前記メモリチップに送信する、項目18に記載のコンピューティングシステム。
[他の考えられる項目]
(項目1)
ロウハンマー脅威検出回路と、
出力部と、
前記ロウハンマー検出回路と前記出力部との間に結合され、前記ロウハンマー脅威検出回路によるロウハンマー脅威の検出に応答して前記出力部から送信されるべきバックプレッシャー信号を生成する、バックプレッシャー信号生成回路と
を備える、メモリチップ。
(項目2)
前記出力部が、alert_n出力である、項目1に記載のメモリチップ。
(項目3)
前記ロウハンマー脅威が、行アクティブ化閾値に同時に達する前記メモリチップ内のメモリセルアレイの複数の行を含む、項目1に記載のメモリチップ。
(項目4)
前記バックプレッシャー信号が、特定のパルス幅最小値およびパルス幅最大値内の幅を有するパルスを含む、項目1に記載のメモリチップ。
(項目5)
前記メモリチップが、前記パルス幅最小値を記録するためのモードレジスタ(MR)モード空間を備える、項目1に記載のメモリチップ。
(項目6)
前記メモリチップが、前記ロウハンマー脅威に関する情報を提供するためのMR空間を備える、項目1に記載のメモリチップ。
(項目7)
前記情報が、メモリコントローラが前記バックプレッシャー信号を受信した結果として、前記メモリコントローラが、前記メモリチップに対する読出しコマンド、書込みコマンド、およびアクティブ化コマンドの送信を停止する時間ウィンドウを、記述するものである、項目1に記載のメモリチップ。
(項目8)
前記情報が、メモリコントローラが前記バックプレッシャー信号に応答して前記メモリチップに送信するリフレッシュコマンドの数に、影響を及ぼすものである、項目1に記載のメモリチップ。
(項目9)
前記リフレッシュコマンドが、リフレッシュ管理(RFM)コマンドである、項目8に記載のメモリチップ。
(項目10)
前記バックプレッシャー信号が、前記出力部を介してパケットで送信される、項目1に記載のメモリチップ。
(項目11)
入力部と、
前記入力部に結合され、前記入力部において受信されたバックプレッシャー信号を検出するバックプレッシャー信号検出回路と、
前記バックプレッシャー信号検出回路に結合されたコマンド回路であって、前記メモリコントローラが前記バックプレッシャー信号を受信した結果として、前記コマンド回路が、メモリチップに対する、読出しコマンド、書込みコマンド、およびアクティブ化コマンドを送信することを停止し、前記メモリチップが、ロウハンマー脅威に応答して前記バックプレッシャー信号を生成する、コマンド回路と
を備える、メモリコントローラ。
(項目12)
前記入力部が、alert_n出力である、項目11に記載のメモリコントローラ。
(項目13)
前記バックプレッシャー信号が、特定のパルス幅最小値およびパルス幅最大値内の幅を有するパルスを含む、項目11に記載のメモリコントローラ。
(項目14)
前記メモリコントローラが、ロウハンマー脅威に関する情報を取得するために前記メモリチップ内のMR空間を読み出す、項目11に記載のメモリコントローラ。
(項目15)
前記メモリコントローラが、予め定義された期間にわたって前記読出しコマンド、前記書込みコマンド、および前記アクティブ化コマンドの送信を停止する、項目11に記載のメモリコントローラ。
(項目16)
前記メモリコントローラが、前記バックプレッシャー信号に応答して、リフレッシュコマンドを前記メモリチップに送信する、項目11に記載のメモリコントローラ。
(項目17)
前記メモリコントローラが、前記入力部において巡回冗長検査書込みエラー信号およびコマンド/アドレス・パリティ・エラー信号も受信する、項目11に記載のメモリコントローラ。
(項目18)
a)複数の処理コアと、
b)ネットワークインターフェースと、
c)メモリチップであって、
i)ロウハンマー脅威検出回路と、
ii)出力部と、
iii)前記ロウハンマー検出回路と前記出力部との間に結合され、前記ロウハンマー脅威検出回路によるロウハンマー脅威の検出に応答して前記出力部から送信されるべきバックプレッシャー信号を生成する、バックプレッシャー信号生成回路と
を備える、メモリチップと、
d)前記メモリチップに結合されたメモリコントローラであって、
i)入力部と、
ii)前記入力部に結合され、前記入力部において受信された前記バックプレッシャー信号を検出する、バックプレッシャー信号検出回路と、
iii)前記バックプレッシャー信号検出回路に結合されたコマンド回路であって、前記メモリコントローラが前記バックプレッシャー信号を受信した結果として、前記コマンド回路が、前記メモリチップに対する読出しコマンド、書込みコマンド、およびアクティブ化コマンドの送信を停止する、コマンド回路と
を有する、メモリコントローラと
を備えるコンピューティングシステム。
(項目19)
前記出力部がalert_n出力である、項目18に記載のコンピューティングシステム。
(項目20)
前記ロウハンマー脅威が、行アクティブ化閾値に同時に達する前記メモリチップ内のメモリセルアレイの複数の行を含む、項目18に記載のコンピューティングシステム。
(項目21)
前記メモリコントローラが、前記バックプレッシャー信号に応答して、リフレッシュコマンドを前記メモリチップに送信する、項目18に記載のコンピューティングシステム。
Claims (21)
- ロウハンマー脅威検出回路と、
出力部と、
前記ロウハンマー脅威検出回路と前記出力部との間に結合され、前記ロウハンマー脅威検出回路によるロウハンマー脅威の検出に応答して前記出力部から送信されるべきバックプレッシャー信号を生成する、バックプレッシャー信号生成回路と
を備える、メモリチップ。 - 前記出力部が、alert_n出力である、請求項1に記載のメモリチップ。
- 前記ロウハンマー脅威が、行のアクティブ化閾値に同時に達する前記メモリチップ内のメモリセルアレイの複数の行を含む、請求項1に記載のメモリチップ。
- 前記バックプレッシャー信号が、特定のパルス幅最小値およびパルス幅最大値内の幅を有するパルスを含む、請求項1に記載のメモリチップ。
- 前記メモリチップが、前記パルス幅最小値を記録するためのモードレジスタ(MR)モード空間を備える、請求項4に記載のメモリチップ。
- 前記メモリチップが、前記ロウハンマー脅威に関する情報を提供するためのMR空間を備える、請求項1または5に記載のメモリチップ。
- 前記情報は、メモリコントローラが前記バックプレッシャー信号を受信した結果として、前記メモリコントローラが、前記メモリチップに対する読出しコマンド、書込みコマンド、およびアクティブ化コマンドの送信を停止する時間ウィンドウを、記述するためのものである、請求項6に記載のメモリチップ。
- 前記情報は、メモリコントローラが前記バックプレッシャー信号に応答して前記メモリチップに送信するリフレッシュコマンドの数に、影響を及ぼす、請求項6または7に記載のメモリチップ。
- 前記リフレッシュコマンドが、リフレッシュ管理(RFM)コマンドである、請求項8に記載のメモリチップ。
- 前記バックプレッシャー信号が、前記出力部を介してパケットで送信される、請求項1に記載のメモリチップ。
- メモリコントローラであって、
入力部と、
前記入力部に結合され、前記入力部において受信されたバックプレッシャー信号を検出するバックプレッシャー信号検出回路と、
前記バックプレッシャー信号検出回路に結合されたコマンド回路であって、前記メモリコントローラが前記バックプレッシャー信号を受信した結果として、前記コマンド回路が、メモリチップに対する、読出しコマンド、書込みコマンド、およびアクティブ化コマンドを送信することを停止し、前記メモリチップが、ロウハンマー脅威に応答して前記バックプレッシャー信号を生成する、コマンド回路と
を備える、メモリコントローラ。 - 前記入力部が、alert_n出力である、請求項11に記載のメモリコントローラ。
- 前記バックプレッシャー信号が、特定のパルス幅最小値およびパルス幅最大値内の幅を有するパルスを含む、請求項11に記載のメモリコントローラ。
- 前記メモリコントローラが、ロウハンマー脅威に関する情報を取得するために前記メモリチップ内のMR空間を読み出す、請求項11に記載のメモリコントローラ。
- 前記メモリコントローラが、予め定義された期間にわたって前記読出しコマンド、前記書込みコマンド、および前記アクティブ化コマンドの送信を停止する、請求項11に記載のメモリコントローラ。
- 前記メモリコントローラが、前記バックプレッシャー信号に応答して、リフレッシュコマンドを前記メモリチップに送信する、請求項11に記載のメモリコントローラ。
- 前記メモリコントローラが、前記入力部において巡回冗長検査書込みエラー信号およびコマンド/アドレス・パリティ・エラー信号も受信する、請求項11に記載のメモリコントローラ。
- a)複数の処理コアと、
b)ネットワークインターフェースと、
c)メモリチップであって、
i)ロウハンマー脅威検出回路と、
ii)出力部と、
iii)前記ロウハンマー脅威検出回路と前記出力部との間に結合され、前記ロウハンマー脅威検出回路によるロウハンマー脅威の検出に応答して前記出力部から送信されるべきバックプレッシャー信号を生成する、バックプレッシャー信号生成回路と
を有する、メモリチップと、
d)前記メモリチップに結合されたメモリコントローラであって、
i)入力部と、
ii)前記入力部に結合され、前記入力部において受信された前記バックプレッシャー信号を検出する、バックプレッシャー信号検出回路と、
iii)前記バックプレッシャー信号検出回路に結合されたコマンド回路であって、前記メモリコントローラが前記バックプレッシャー信号を受信した結果として、前記コマンド回路が前記メモリチップに対する読出しコマンド、書込みコマンド、およびアクティブ化コマンドの送信を停止する、コマンド回路と
を有する、メモリコントローラと
を備えるコンピューティングシステム。 - 前記出力部がalert_n出力である、請求項18に記載のコンピューティングシステム。
- 前記ロウハンマー脅威が、行アクティブ化閾値に同時に達する前記メモリチップ内のメモリセルアレイの複数の行を含む、請求項18に記載のコンピューティングシステム。
- 前記メモリコントローラが、前記バックプレッシャー信号に応答して、リフレッシュコマンドを前記メモリチップに送信する、請求項18に記載のコンピューティングシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163183509P | 2021-05-03 | 2021-05-03 | |
US63/183,509 | 2021-05-03 | ||
US17/315,303 US20210264999A1 (en) | 2021-05-03 | 2021-05-08 | Method and apparatus for memory chip row hammer threat backpressure signal and host side response |
US17/315,303 | 2021-05-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022172443A true JP2022172443A (ja) | 2022-11-16 |
Family
ID=77366979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022036676A Pending JP2022172443A (ja) | 2021-05-03 | 2022-03-09 | メモリチップロウハンマー脅威バックプレッシャー信号およびホスト側応答に関する方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210264999A1 (ja) |
JP (1) | JP2022172443A (ja) |
KR (1) | KR20220150202A (ja) |
CN (1) | CN115359821A (ja) |
DE (1) | DE102022106019A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11562783B2 (en) * | 2020-08-27 | 2023-01-24 | Micron Technology, Inc. | Apparatuses, systems, and methods for resetting row hammer detector circuit based on self-refresh command |
US11749333B2 (en) * | 2020-12-10 | 2023-09-05 | SK Hynix Inc. | Memory system |
US20230063890A1 (en) * | 2021-08-27 | 2023-03-02 | Micron Technology, Inc. | Measuring change in a channel characteristic to detect memory device attack |
US11942137B2 (en) | 2021-11-08 | 2024-03-26 | Samsung Electronics Co., Ltd. | Memory controller and memory system including the same |
KR20230077455A (ko) | 2021-11-25 | 2023-06-01 | 에스케이하이닉스 주식회사 | 메모리, 메모리 시스템 및 메모리 시스템의 동작 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180064940A (ko) * | 2016-12-06 | 2018-06-15 | 삼성전자주식회사 | 해머 리프레쉬 동작을 수행하는 메모리 시스템 |
US10832792B1 (en) * | 2019-07-01 | 2020-11-10 | Micron Technology, Inc. | Apparatuses and methods for adjusting victim data |
US11011215B1 (en) * | 2019-12-19 | 2021-05-18 | Micron Technology, Inc. | Apparatus with an internal-operation management mechanism |
US11342039B2 (en) * | 2020-10-27 | 2022-05-24 | Micron Technology, Inc. | Word line characteristics monitors for memory devices and associated methods and systems |
KR20220111444A (ko) * | 2021-02-02 | 2022-08-09 | 삼성전자주식회사 | 리프레쉬 동작을 수행하는 메모리 장치, 그 동작방법 및 메모리 시스템 |
-
2021
- 2021-05-08 US US17/315,303 patent/US20210264999A1/en active Pending
-
2022
- 2022-03-09 JP JP2022036676A patent/JP2022172443A/ja active Pending
- 2022-03-15 DE DE102022106019.5A patent/DE102022106019A1/de active Pending
- 2022-03-30 KR KR1020220039561A patent/KR20220150202A/ko unknown
- 2022-04-02 CN CN202210349980.0A patent/CN115359821A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102022106019A1 (de) | 2022-11-03 |
CN115359821A (zh) | 2022-11-18 |
US20210264999A1 (en) | 2021-08-26 |
KR20220150202A (ko) | 2022-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11036398B2 (en) | High-throughput low-latency hybrid memory module | |
CN107533509B (zh) | 存储器设备特定的自刷新进入和退出 | |
CN110059048B (zh) | 基于检测传感器数据的阻抗补偿 | |
JP2022172443A (ja) | メモリチップロウハンマー脅威バックプレッシャー信号およびホスト側応答に関する方法および装置 | |
WO2017146821A1 (en) | Supporting multiple memory types in a memory slot | |
EP3705979B1 (en) | Ssd restart based on off-time tracker | |
US20150127890A1 (en) | Memory module with a dual-port buffer | |
CN105518784A (zh) | 具有用于高可靠性操作的存储控制器的数据处理器和方法 | |
CN112558744A (zh) | 用于减少用于刷新存储器模块上的存储器设备的功耗的方法和装置 | |
KR20210119276A (ko) | 시스템 내의 메모리 모듈의 초기화 및 전력 고장 분리 | |
TW202223903A (zh) | 適應性內部記憶體錯誤刷洗及錯誤處置 | |
US11543996B2 (en) | Systems and methods for power management in a data storage device | |
US10606483B2 (en) | Buffering device with status communication method for memory controller | |
US11137823B1 (en) | Systems and methods for power management in a data storage device | |
US12009023B2 (en) | Training for chip select signal read operations by memory devices | |
EP4109271A2 (en) | Memory chip with per row activation count having error correction code protection | |
US20220108743A1 (en) | Per bank refresh hazard avoidance for large scale memory | |
US20220171669A1 (en) | Self-healing low speed serial interface | |
US20210286727A1 (en) | Dynamic random access memory (dram) with scalable meta data | |
US20230229606A1 (en) | Method and apparatus to reset components in a sideband bus interface in a memory module | |
US20240168539A1 (en) | Abrupt shutdown and abrupt power loss management | |
US20210279128A1 (en) | Buffer that supports burst transfers having parallel crc and data transmissions | |
CN115328392A (zh) | VPX接口的NVMe双主控可视存储***、方法、设备及介质 | |
US20150019795A1 (en) | Memory system for shadowing volatile data |