JP2019519836A - 細かい粒度のリフレッシュ - Google Patents
細かい粒度のリフレッシュ Download PDFInfo
- Publication number
- JP2019519836A JP2019519836A JP2018556343A JP2018556343A JP2019519836A JP 2019519836 A JP2019519836 A JP 2019519836A JP 2018556343 A JP2018556343 A JP 2018556343A JP 2018556343 A JP2018556343 A JP 2018556343A JP 2019519836 A JP2019519836 A JP 2019519836A
- Authority
- JP
- Japan
- Prior art keywords
- refresh
- memory
- bank
- state
- auto
- 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
Links
Images
Classifications
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0653—Monitoring storage devices or systems
-
- 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
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- 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/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- 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/40618—Refresh operations over multiple banks or interleaving
-
- 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/40622—Partial refresh of memory arrays
-
- 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/40603—Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2272—Latency related aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
Description
Claims (43)
- データ処理システム(100)であって、
少なくとも1つのランク(134/136/138)を含むメモリチャネル(130)と、
前記メモリチャネル(130)に接続されたデータプロセッサ(110)であって、前記少なくとも1つのランク(134/136/138)にアクセスするように構成されたデータプロセッサ(110)と、を備え、
前記データプロセッサ(110)は、リフレッシュロジック(532)を有しており、前記リフレッシュロジック(532)の起動に応じて、
前記メモリチャネル(130)のバンク(702)へのリフレッシュサイクルを生成することであって、前記データプロセッサ(110)は、第1状態(604)及び第2状態(606/608)のうち1つの状態を選択し、前記第1状態(604)は、前記データプロセッサ(110)に前記バンク(702)を自動リフレッシュさせる第1自動リフレッシュコマンド(700)に対応し、前記第2状態は、前記データプロセッサ(110)に前記バンク(702)の選択されたサブセットを自動リフレッシュさせる第2自動リフレッシュコマンド(710/720)に対応する、ことと、
前記バンク(702)に関連する第1条件(618/622)を前記リフレッシュロジック(532)が検出したことに応じて、前記第1状態(604)と前記第2状態(606/608)との間での切り替えを開始することと、
第2条件(620/624)の検出に応じて、前記第2状態(606/608)と前記第1状態(604)との間での切り替えを開始することと、
を行うように構成されている、
データ処理システム(100)。 - 前記リフレッシュロジック(532)は、前記バンク(702)に対する保留中のリフレッシュの数が所定の閾値を上回っていることに応じて、前記第1条件(816)を検出する、
請求項1のデータ処理システム(100)。 - 前記リフレッシュロジック(532)は、前記バンク(702)に送信されたリフレッシュの数が前記バンク(702)のサブセットの総数に対応することに応じて、前記第2条件(810)を検出し、
前記データプロセッサは、前記バンク(702)へのアクセス要求を記憶しない、
請求項1のデータ処理システム(100)。 - 前記データプロセッサ(110)は、前記第2自動リフレッシュコマンドがリフレッシュ2(REF2)コマンドである場合に、リフレッシュサイクル時間内に前記バンク(702)の第1サブセット(714)及び第2サブセット(716)をリフレッシュし、
前記バンク(702)の前記第1サブセット(714)及び前記第2サブセット(716)の各々は、前記バンク(702)の別々の半分のサブセットである、
請求項1のデータ処理システム(100)。 - 前記データプロセッサ(110)は、前記第2自動リフレッシュコマンドがリフレッシュ4(REF4)コマンドである場合に、前記リフレッシュサイクル時間内に前記バンク(702)の前記第1サブセット(724)、前記第2サブセット(726)、第3サブセット(728)及び第4サブセット(730)をリフレッシュし、
前記バンク(702)の前記第1サブセット(724)、前記第2サブセット(726)、前記第3サブセット(728)及び前記第4サブセット(740)の各々は、前記バンク(702)の別々の4分の1のサブセットである、
請求項4のデータ処理システム(100)。 - 前記データプロセッサ(110)は、前記バンク(702)に対する保留中のリフレッシュの数、前記バンク(702)に対する保留中の要求の数、前記バンク(702)に対する保留中の要求の優先度、及び、前記バンク(702)に対する保留中の要求のタイプのうち1つ以上に応じて、前記第1条件(618/622)を検出する、
請求項1のデータ処理システム(100)。 - 前記データプロセッサ(110)は、前記第1状態(604)と前記第2状態(606/608)との間での切り替えの開始を決定するために、前記バンク(702)に対する保留中のリフレッシュの数を追跡する、
請求項6のデータ処理システム(100)。 - 前記第2自動リフレッシュコマンド(710/720)は、1つのランク(134)の前記バンク(702)の前記選択されたサブセットをリフレッシュする、
請求項1のデータ処理システム(100)。 - 前記第2自動リフレッシュコマンド(710/720)は、1つのランク(134)の複数のバンクの前記選択されたサブセットをリフレッシュする、
請求項1のデータ処理システム(100)。 - 前記第2自動リフレッシュコマンド(710/720)は、複数のランク(134/136/138)の各々の対応するバンクの前記選択されたサブセットをリフレッシュする、
請求項1のデータ処理システム(100)。 - 前記メモリチャネル(130)は、ダブルレート(DDR)バージョン4(DDR4)メモリの複数のランク(134/136/138)を含む、
請求項1のデータ処理システム(100)。 - データプロセッサ(110/200)であって、
メモリアクセスエージェント(210/220)と、
前記メモリアクセスエージェント(210/220)に接続されたメモリコントローラ(292/500)であって、メモリシステム(120)に接続するように構成されたメモリコントローラ(292/500)と、を備え、
前記メモリコントローラ(292/500)は、
第1状態(604)及び第2状態(606/608)を含むオンザフライモードを有する、前記メモリシステム(120)のメモリへのリフレッシュサイクルを生成するためのリフレッシュロジック回路(532)を備えており、前記第1状態(604)は、前記メモリにバンク(702)を自動リフレッシュさせる第1自動リフレッシュコマンド(700)に対応しており、前記第2状態(606/608)は、前記メモリに前記バンク(702)の選択されたサブセットを自動リフレッシュさせる第2自動リフレッシュコマンド(710/720)に対応しており、
前記メモリシステム(120)の前記バンク(702)に関連する第1条件(618/622)を前記リフレッシュロジック回路(532)が検出したことに応じて、前記第1状態(604)と前記第2状態(606/608)との間で切り替えを行い、
第2条件(620/624)をリフレッシュロジック回路(532)が検出したことに応じて、前記第2状態(606/608)と前記第1状態(604)との間で切り替えを行う、
データプロセッサ(110/200)。 - 前記リフレッシュロジック回路(532)は、前記バンク(702)に対する保留中のリフレッシュの数が所定の閾値を上回っていることに応じて、前記第1条件(620/624)を検出する、
請求項12のデータプロセッサ(110/200)。 - 前記リフレッシュロジック回路(532)は、前記バンク(702)に対する保留中のリフレッシュの数に応じて前記第2条件(620/624)を検出する、
請求項12のデータプロセッサ(110/200)。 - 前記メモリコントローラ(292/500)は、前記第2自動リフレッシュコマンド(710/720)がリフレッシュ2(REF2)コマンド(710)である場合に、リフレッシュサイクル時間内に前記バンク(702)の第1サブセット(714)及び第2サブセット(716)をリフレッシュするように構成されており、
前記バンク(702)の前記第1サブセット(714)及び前記第2サブセット(716)の各々は、前記バンク(702)の別々の半分のサブセットである、
請求項12のデータプロセッサ(110/200)。 - 前記メモリコントローラ(292/500)は、前記第2自動リフレッシュコマンド(710/720)がリフレッシュ4(REF4)コマンド(720)である場合に、リフレッシュサイクル時間内に前記バンク(702)の第1サブセット(724)、第2サブセット(726)、第3サブセット(728)及び第4サブセット(730)をリフレッシュするように構成されており、
前記バンク(702)の前記第1サブセット(724)、前記第2サブセット(726)、前記第3サブセット(728)及び前記第4サブセット(740)の各々は、前記バンク(720)の別々の4分の1のサブセットである、
請求項12のデータプロセッサ(110/200)。 - 前記メモリコントローラ(292/500)は、前記バンク(702)に対する保留中のリフレッシュの数、前記バンク(702)に対する保留中の要求の数、前記バンク(702)に対する保留中の要求の優先度、及び、前記バンク(702)に対する保留中の要求のタイプのうち1つ以上に応じて、前記第1条件(618/622)を検出する、
請求項12のデータプロセッサ(110/200)。 - 前記メモリコントローラ(292/500)は、前記第1状態(604)と前記第2状態(606/608)との間での切り替えの開始を決定するために、前記バンク(702)に対する保留中のリフレッシュの数を追跡する、
請求項17のデータプロセッサ(110/200)。 - 前記第2自動リフレッシュコマンド(710/720)は、1つのランク(134)の前記バンク(702)の前記選択されたサブセットをリフレッシュする、
請求項12のデータプロセッサ(110/200)。 - 前記第2自動リフレッシュコマンド(710/720)は、1つのランク(134)の複数のバンクの前記選択されたサブセットをリフレッシュする、
請求項12のデータプロセッサ(110/200)。 - 前記第2自動リフレッシュコマンド(710/720)は、複数のランク(134/136/138)の各々の対応するバンクの前記選択されたサブセットをリフレッシュする、
請求項12のデータプロセッサ(110/200)。 - メモリコントローラ(292/500)を介してメモリシステム(120)内のメモリのリフレッシュを管理する方法(800)であって、
前記メモリコントローラ(292/500)が第1状態(604/802)にある場合に第1自動リフレッシュコマンド(700)を生成することであって、前記第1自動リフレッシュコマンド(700)は、前記メモリにバンク(702)を自動リフレッシュさせる、ことと、
前記メモリコントローラ(292/500)が第2状態(606/608/802)にある場合に第2自動リフレッシュコマンド(710/712)を生成することであって、前記第2自動リフレッシュコマンド(710/712)は、前記メモリに前記バンク(702)の選択されたサブセットを自動リフレッシュさせる、ことと、
前記バンク(702)に関連する第1条件(612/618/806/808)を前記メモリコントローラ(292/500)が検出したことに応じて、前記第1状態と前記第2状態との間で切り替えを行うことと、
第2条件(620/624/810/812)を前記メモリコントローラ(292/500)が検出したことに応じて、前記第2状態と前記第1状態との間で切り替えを行うことと、を含む、
方法。 - 前記第1条件を検出することは、
前記バンク(702)に対する保留中のリフレッシュの数が所定の閾値を上回ったときを検出することを含む、
請求項22の方法(800)。 - 前記第2条件を検出することは、
送信されたリフレッシュの数が前記バンク(702)のサブセットの総数に対応することを検出することと、
前記メモリコントローラ(292/500)が、前記バンク(702)へのアクセス要求を記憶しないことを検出することと、を含む、
請求項22の方法(800)。 - 前記第2自動リフレッシュコマンドを生成することは、
前記第2自動リフレッシュコマンドがリフレッシュ2(REF2)コマンド(710)である場合に、リフレッシュ期間内に前記バンク(702)の第1サブセット(714)及び第2サブセット(716)をリフレッシュすることを含み、
前記バンク(702)の前記第1サブセット(714)及び前記第2サブセット(716)の各々は、前記バンク(702)の別々の半分のサブセットである、
請求項22の方法(800)。 - 前記第2自動リフレッシュコマンドを生成することは、
前記第2自動リフレッシュコマンドがリフレッシュ4(REF4)コマンドである場合に、リフレッシュ期間内に前記バンク(702)の第1サブセット(724)、第2サブセット(726)、第3サブセット(728)及び第4サブセット(730)をリフレッシュすることを含み、
前記バンクの前記第1サブセット(724)、前記第2サブセット(726)、前記第3サブセット(728)及び前記第4サブセット(724)は、前記バンク(702)の別々の4分の1のサブセットである、
請求項22の方法(800)。 - 前記バンク(702)に対する保留中のリフレッシュの数、前記バンク(702)に対する保留中の要求の数、前記バンク(702)に対する保留中の要求の優先度、及び、前記バンク(702)に対する保留中の要求のタイプのうち1つ以上に応じて、前記第1条件を検出することを含む、
請求項22の方法(800)。 - 前記第2自動リフレッシュコマンドを生成したことに応じて、1つのランク(134)の前記バンク(702)の前記選択されたサブセットをリフレッシュすることを含む、
請求項22の方法(800)。 - 前記第2自動リフレッシュコマンドを生成したことに応じて、1つのランク(134)の複数のバンクの前記選択されたサブセットをリフレッシュすることを含む、
請求項22の方法(800)。 - 前記第2自動リフレッシュコマンドを生成したことに応じて、複数のランク(134/136/138)の各々の対応するバンクの前記選択されたサブセットをリフレッシュすることを含む、
請求項22の方法(800)。 - 前記第1自動リフレッシュコマンド(700)を生成することと、
前記第2自動リフレッシュコマンド(710/712)を生成することと、
前記第1状態と前記第2状態との間で切り替えを行うことと、
前記メモリの複数のバンクの各々で独立して前記第2状態と前記第1状態との間の切り替えを行うことと、
を実行することを含む、
請求項22の方法(800)。 - メモリアクセス要求を受信する入力と、メモリアクセスをメモリシステム(120)に提供する出力と、を有するメモリコントローラ(500)であって、
前記メモリコントローラ(500)は、
前記メモリアクセス要求を受信するコマンドキュー(520)であって、複数のエントリと、選択されたメモリアクセスを提供する出力と、を有するコマンドキュー(520)と、
前記コマンドキュー(520)に接続されたアービタ(538)であって、前記メモリシステム(120)にディスパッチするために前記コマンドキュー(520)からエントリを選択するアービタ(538)と、
前記アービタ(538)に接続されたリフレッシュロジック回路(532)であって、オンザフライリフレッシュモードにおいて、リフレッシュされるメモリバンクに関連する条件に応じて自動選択した粒度を有する、前記メモリシステム(120)への自動リフレッシュコマンドを生成し、前記粒度に反比例するリフレッシュ間隔中にいくつかの自動リフレッシュコマンドを発行する、リフレッシュロジック回路(532)と、を備える、
メモリコントローラ(500)。 - 前記リフレッシュロジック回路(532)は、第1状態(604)にある場合に、前記リフレッシュ間隔中に、前記メモリバンクの全てをメモリに自動リフレッシュさせる第1自動リフレッシュコマンド(REF1)を提供し、
前記リフレッシュロジック回路(532)は、第2状態(606)にある場合に、前記リフレッシュ間隔中に、複数の自動リフレッシュコマンドに対応する前記メモリバンクの一部を自動リフレッシュする前記複数の自動リフレッシュコマンドを提供する、
請求項32のメモリコントローラ(500)。 - 前記リフレッシュロジック回路(532)は、第2状態(606)にある場合に、前記リフレッシュ間隔中に、それぞれ前記メモリバンクの半分を前記メモリに自動リフレッシュさせる2つの第2自動リフレッシュコマンド(REF2)を提供する、
請求項33のメモリコントローラ(500)。 - 前記リフレッシュロジック回路(532)は、第3状態(608)にある場合に、前記リフレッシュ間隔中に、それぞれ前記メモリバンクの4分の1を前記メモリに自動リフレッシュさせる4つの第3自動リフレッシュコマンド(REF4)を提供する、
請求項34のメモリコントローラ(500)。 - 前記リフレッシュロジック回路(532)は、前記バンクに対する保留中のリフレッシュの数、前記バンクに対する保留中の要求の数、前記メモリバンクに対する保留中の要求の優先度、及び、前記バンクに対する保留中の要求のタイプのうち1つ以上に応じて、前記第1状態(604)と前記第2状態(606)との間を遷移する、
請求項33のメモリコントローラ(500)。 - 前記リフレッシュロジック回路(532)は、前記メモリバンクに対する保留中のメモリアクセス要求の数が所定の閾値を上回っていることに応じて、前記第1状態(604)と前記第2状態(606)との間を遷移する、
請求項33のメモリコントローラ(500)。 - 前記リフレッシュロジック回路(532)は、一度にリフレッシュされる前記メモリバンクの一部に対応するいくつかの自動リフレッシュコマンドを発行した後にのみ、前記第2状態(606)と前記第1状態(604)との間を遷移する、
請求項33のメモリコントローラ(500)。 - 前記リフレッシュロジック回路(532)は、前記コマンドキュー(520)が前記メモリバンクへのメモリアクセス要求を記憶していない場合に、前記第2状態(606)と前記第1状態(604)との間を遷移する、
請求項38のメモリコントローラ(500)。 - 前記リフレッシュロジック回路(532)は、前記オンザフライリフレッシュモードにおいて、前記メモリシステム(120)への自動リフレッシュコマンドを、前記メモリシステム(120)の所定のランクにおける全てのバンクについて自動選択した粒度を用いて生成する、
請求項32のメモリコントローラ(500)。 - 前記リフレッシュロジック回路(532)は、前記オンザフライリフレッシュモードにおいて、前記メモリシステム(120)への自動リフレッシュコマンドを、前記メモリシステム(120)の複数のランクにおいて対応するバンクについて自動選択した粒度を用いて生成する、
請求項32のメモリコントローラ(500)。 - メモリコントローラ(500)であって、
メモリアクセス要求を受信する入力と、出力と、を有するインタフェース(512)と、
前記インタフェース(512)の出力に接続されたデコーダ(522)であって、前記メモリアクセス要求を復号化して、対応するメモリアクセスを提供するデコーダ(522)と、
前記デコーダ(522)の出力に接続された第1入力と、第2入力と、出力と、を有するコマンドキュー(520)であって、複数のエントリを有するコマンドキュー(520)と、
前記コマンドキュー(520)に接続されたアービタ(538)であって、前記メモリシステム(120)にディスパッチするために前記コマンドキュー(520)からエントリを選択し、前記コマンドキュー(520)の第2入力に自動リフレッシュコマンドを提供するアービタ(538)と、
前記コマンドキュー(520)の出力に接続された入力と、メモリチャネルに接続するための出力と、を有する第2キュー(514)と、
前記アービタ(514)に接続されたリフレッシュロジック回路(532)であって、オンザフライリフレッシュモードにおいて、リフレッシュされるメモリバンクに関連する条件に応じて自動選択した粒度を有する、前記メモリシステム(120)への自動リフレッシュコマンドを生成し、前記粒度に反比例するリフレッシュ間隔中にいくつかの自動リフレッシュコマンドを発行し、前記自動リフレッシュコマンドを前記アービタ(538)に提供するリフレッシュロジック回路(532)と、を備える、
メモリコントローラ(500)。 - メモリへのアクセスを制御する方法であって、
メモリアクセス要求を受信することと、
前記メモリアクセス要求を復号化して、復号化されたメモリアクセス要求を提供することと、
前記復号化されたメモリアクセス要求をコマンドキュー(520)に記憶することと、
自動リフレッシュコマンドを前記コマンドキュー(520)に記憶することと、
前記復号化されたメモリアクセス要求及び前記自動リフレッシュコマンドのうち選択された1つを前記メモリに提供するために、前記コマンドキュー(520)において、前記復号化されたメモリアクセス要求と前記自動リフレッシュコマンドとの間でアービトレーションすることと、
リフレッシュされるメモリバンクに関連する条件に応じて、オンザフライリフレッシュモードにおいて、自動選択された粒度を用いて前記自動リフレッシュコマンドを生成することと、を含む、
方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/164,721 | 2016-05-25 | ||
US15/164,721 US9576637B1 (en) | 2016-05-25 | 2016-05-25 | Fine granularity refresh |
PCT/US2017/034010 WO2017205378A1 (en) | 2016-05-25 | 2017-05-23 | Fine granularity refresh |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019519836A true JP2019519836A (ja) | 2019-07-11 |
JP6730453B2 JP6730453B2 (ja) | 2020-07-29 |
Family
ID=58017784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018556343A Active JP6730453B2 (ja) | 2016-05-25 | 2017-05-23 | 細かい粒度のリフレッシュ |
Country Status (6)
Country | Link |
---|---|
US (2) | US9576637B1 (ja) |
EP (2) | EP3433860B1 (ja) |
JP (1) | JP6730453B2 (ja) |
KR (1) | KR102235055B1 (ja) |
CN (2) | CN112506422B (ja) |
WO (1) | WO2017205378A1 (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102346629B1 (ko) * | 2014-12-05 | 2022-01-03 | 삼성전자주식회사 | 메모리 접근 제어 방법 및 장치 |
US9576637B1 (en) * | 2016-05-25 | 2017-02-21 | Advanced Micro Devices, Inc. | Fine granularity refresh |
KR20180047778A (ko) * | 2016-11-01 | 2018-05-10 | 삼성전자주식회사 | 단계별 저전력 상태들을 갖는 메모리 장치 |
US10446215B1 (en) * | 2016-11-16 | 2019-10-15 | Cadence Design Systems, Inc. | System and method for adaptively optimized refresh of memory |
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 | 上海兆芯集成电路有限公司 | 动态随机存取存储器控制器及其控制方法 |
EP3605541A4 (en) | 2017-04-14 | 2020-04-01 | Huawei Technologies Co., Ltd. | MEMORY REFRESHING TECHNOLOGY AND COMPUTER SYSTEM |
SG11201908892TA (en) * | 2017-04-14 | 2019-11-28 | Huawei Tech Co Ltd | Memory refresh technology and computer system |
US10141041B1 (en) | 2017-11-01 | 2018-11-27 | Micron Technology, Inc. | Systems and methods for maintaining refresh operations of memory banks using a shared |
US11017833B2 (en) | 2018-05-24 | 2021-05-25 | Micron Technology, Inc. | Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling |
US10573370B2 (en) | 2018-07-02 | 2020-02-25 | Micron Technology, Inc. | Apparatus and methods for triggering row hammer address sampling |
CN110729006B (zh) | 2018-07-16 | 2022-07-05 | 超威半导体(上海)有限公司 | 存储器控制器中的刷新方案 |
US10535393B1 (en) * | 2018-07-21 | 2020-01-14 | Advanced Micro Devices, Inc. | Configuring dynamic random access memory refreshes for systems having multiple ranks of memory |
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 | 美光科技公司 | 用于目标刷新操作的时序交错的设备和方法 |
US10957377B2 (en) | 2018-12-26 | 2021-03-23 | Micron Technology, Inc. | Apparatuses and methods for distributed targeted refresh operations |
US11615831B2 (en) | 2019-02-26 | 2023-03-28 | Micron Technology, Inc. | Apparatuses and methods for memory mat refresh sequencing |
US11227649B2 (en) | 2019-04-04 | 2022-01-18 | Micron Technology, Inc. | Apparatuses and methods for staggered timing of targeted refresh operations |
US10915451B2 (en) * | 2019-05-10 | 2021-02-09 | Samsung Electronics Co., Ltd. | Bandwidth boosted stacked memory |
US11069393B2 (en) | 2019-06-04 | 2021-07-20 | Micron Technology, Inc. | Apparatuses and methods for controlling steal rates |
US10978132B2 (en) | 2019-06-05 | 2021-04-13 | Micron Technology, Inc. | Apparatuses and methods for staggered timing of skipped refresh operations |
US10811076B1 (en) | 2019-06-29 | 2020-10-20 | Intel Corporation | Battery life based on inhibited memory refreshes |
US11302374B2 (en) | 2019-08-23 | 2022-04-12 | Micron Technology, Inc. | Apparatuses and methods for dynamic refresh allocation |
US11302377B2 (en) | 2019-10-16 | 2022-04-12 | Micron Technology, Inc. | Apparatuses and methods for dynamic targeted refresh steals |
US11531601B2 (en) | 2019-12-30 | 2022-12-20 | Advanced Micro Devices, Inc. | Error recovery for non-volatile memory modules |
US11137941B2 (en) * | 2019-12-30 | 2021-10-05 | Advanced Micro Devices, Inc. | Command replay for non-volatile dual inline memory modules |
US11222685B2 (en) * | 2020-05-15 | 2022-01-11 | Advanced Micro Devices, Inc. | Refresh management for DRAM |
US11120860B1 (en) | 2020-08-06 | 2021-09-14 | Micron Technology, Inc. | Staggering refresh address counters of a number of memory devices, and related methods, devices, and systems |
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 |
US11809743B2 (en) * | 2020-09-21 | 2023-11-07 | Advanced Micro Devices, Inc. | Refresh management list for DRAM |
US11557331B2 (en) | 2020-09-23 | 2023-01-17 | Micron Technology, Inc. | Apparatuses and methods for controlling refresh operations |
US11222686B1 (en) | 2020-11-12 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for controlling refresh timing |
US11264079B1 (en) | 2020-12-18 | 2022-03-01 | Micron Technology, Inc. | Apparatuses and methods for row hammer based cache lockdown |
US11995008B2 (en) * | 2021-06-22 | 2024-05-28 | Advanced Micro Devices, Inc. | Memory controller with hybrid DRAM/persistent memory channel arbitration |
US11755246B2 (en) * | 2021-06-24 | 2023-09-12 | Advanced Micro Devices, Inc. | Efficient rank switching in multi-rank memory controller |
CN113823340B (zh) * | 2021-09-18 | 2023-08-25 | 长鑫存储技术有限公司 | 刷新命令保护方法及电路、存储器刷新方法及电路、设备 |
US20230176608A1 (en) * | 2021-12-08 | 2023-06-08 | Advanced Micro Devices, Inc. | Read clock start and stop for synchronous memories |
US12002541B2 (en) | 2021-12-08 | 2024-06-04 | Advanced Micro Devices, Inc. | Read clock toggle at configurable PAM levels |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226709B1 (en) | 1997-10-24 | 2001-05-01 | Compaq Computer Corporation | Memory refresh control system |
US6295586B1 (en) | 1998-12-04 | 2001-09-25 | Advanced Micro Devices, Inc. | Queue based memory controller |
JP4381013B2 (ja) * | 2003-03-17 | 2009-12-09 | 富士通マイクロエレクトロニクス株式会社 | 半導体記憶装置 |
JP2008502083A (ja) * | 2004-06-08 | 2008-01-24 | ユニバーシティー オブ ロチェスター | クラスタ化されたプロセッサ群における通信並列性のトレードオフを動的に管理する方法 |
JP4869011B2 (ja) * | 2006-09-29 | 2012-02-01 | 富士通セミコンダクター株式会社 | メモリシステム |
US7788414B2 (en) * | 2007-01-16 | 2010-08-31 | Lantiq Deutschland Gmbh | Memory controller and method of controlling a memory |
JP2011192343A (ja) * | 2010-03-12 | 2011-09-29 | Elpida Memory Inc | 半導体装置及びそのリフレッシュ制御方法並びにコンピュータシステム |
US8990490B2 (en) * | 2011-11-29 | 2015-03-24 | Rambus Inc. | Memory controller with reconfigurable hardware |
KR20140028659A (ko) * | 2012-08-30 | 2014-03-10 | 에스케이하이닉스 주식회사 | 리프레시 제어회로 및 이를 포함하는 메모리 장치 |
KR102021401B1 (ko) * | 2012-08-30 | 2019-11-04 | 에스케이하이닉스 주식회사 | 메모리 장치 |
US9734888B2 (en) * | 2013-12-11 | 2017-08-15 | SK Hynix Inc. | Address storage circuit and memory and memory system including the same |
US9412433B2 (en) * | 2014-01-22 | 2016-08-09 | Nanya Technology Corp. | Counter based design for temperature controlled refresh |
US9293188B2 (en) | 2014-02-03 | 2016-03-22 | Advanced Micro Devices, Inc. | Memory and memory controller for high reliability operation and method |
US9490002B2 (en) | 2014-07-24 | 2016-11-08 | Rambus Inc. | Reduced refresh power |
KR102204240B1 (ko) * | 2014-09-11 | 2021-01-19 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
US9418723B2 (en) * | 2014-12-23 | 2016-08-16 | Intel Corporation | Techniques to reduce memory cell refreshes for a memory device |
US9576637B1 (en) * | 2016-05-25 | 2017-02-21 | Advanced Micro Devices, Inc. | Fine granularity refresh |
-
2016
- 2016-05-25 US US15/164,721 patent/US9576637B1/en active Active
-
2017
- 2017-01-17 US US15/408,126 patent/US9899074B2/en active Active
- 2017-05-23 CN CN202011204071.5A patent/CN112506422B/zh active Active
- 2017-05-23 JP JP2018556343A patent/JP6730453B2/ja active Active
- 2017-05-23 EP EP17803423.7A patent/EP3433860B1/en active Active
- 2017-05-23 EP EP21204864.9A patent/EP3965107A1/en active Pending
- 2017-05-23 CN CN201780030093.4A patent/CN109155143B/zh active Active
- 2017-05-23 KR KR1020187030776A patent/KR102235055B1/ko active IP Right Grant
- 2017-05-23 WO PCT/US2017/034010 patent/WO2017205378A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
KR102235055B1 (ko) | 2021-04-01 |
EP3433860A1 (en) | 2019-01-30 |
EP3965107A1 (en) | 2022-03-09 |
EP3433860B1 (en) | 2021-12-01 |
CN112506422B (zh) | 2022-12-20 |
CN112506422A (zh) | 2021-03-16 |
CN109155143A (zh) | 2019-01-04 |
US9899074B2 (en) | 2018-02-20 |
EP3433860A4 (en) | 2019-11-20 |
US9576637B1 (en) | 2017-02-21 |
US20170345482A1 (en) | 2017-11-30 |
CN109155143B (zh) | 2020-11-20 |
KR20190003517A (ko) | 2019-01-09 |
WO2017205378A1 (en) | 2017-11-30 |
JP6730453B2 (ja) | 2020-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6730453B2 (ja) | 細かい粒度のリフレッシュ | |
US11221772B2 (en) | Self refresh state machine mop array | |
KR102395745B1 (ko) | 스트릭 및 판독/기입 트랜잭션 관리 기능을 갖는 메모리 제어기 아비터 | |
KR102442078B1 (ko) | 고속 메모리 인터페이스들을 위한 명령 중재 | |
JP7181863B2 (ja) | データ処理システム、データプロセッサ及び方法 | |
CN109690508B (zh) | 带虚拟控制器模式的存储器控制器 | |
JP7357169B2 (ja) | Dramのリフレッシュ管理 | |
US20170344309A1 (en) | Low power memory throttling | |
JP2023543426A (ja) | Dramのリフレッシュ管理リスト |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190221 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200323 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200323 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200324 |
|
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: 20200609 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200702 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6730453 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |