JP7614865B2 - メモリコントローラ及びその制御方法 - Google Patents
メモリコントローラ及びその制御方法 Download PDFInfo
- Publication number
- JP7614865B2 JP7614865B2 JP2021015139A JP2021015139A JP7614865B2 JP 7614865 B2 JP7614865 B2 JP 7614865B2 JP 2021015139 A JP2021015139 A JP 2021015139A JP 2021015139 A JP2021015139 A JP 2021015139A JP 7614865 B2 JP7614865 B2 JP 7614865B2
- Authority
- JP
- Japan
- Prior art keywords
- read
- write
- commands
- command
- active
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- 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/1048—Data bus control circuits, e.g. precharging, presetting, equalising
-
- 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/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- 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/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Dram (AREA)
Description
複数バンクから構成されるメモリにアクセスするメモリコントローラであって、
バスマスタからのリードもしくはライトのアクセス要求を複数保持する保持回路と、
該保持回路に保持されたアクセス要求の1つを選択してリードコマンドもしくはライトコマンドを発行するリードライト制御回路と、
前記保持回路に保持されたアクセス要求を選択してアクティブコマンドを発行するアクティブ制御回路とを備え、
前記アクティブ制御回路は、
前記保持回路に保持されるアクセス要求のうちアクティブコマンドが発行されたアクセスのリードコマンド数を合計したアクティブ済リードコマンド数とライトコマンド数を合計したアクティブ済ライトコマンド数を生成する生成回路と、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済ライトコマンド数が第1の閾値未満でなく、前記アクティブ済リードコマンド数が第1の閾値未満である場合、前記保持回路に保持されるアクセス要求のうちアクティブコマンド発行が必要なリードアクセスそれぞれのリードコマンド数が第3の閾値以上となるリードアクセスのアクティブコマンドを優先して発行し、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済リードコマンド数が第1の閾値未満でなく、前記アクティブ済ライトコマンド数が第1の閾値未満である場合、前記保持回路に保持されるアクセス要求のうちアクティブコマンド発行が必要なライトアクセスそれぞれのライトコマンド数が第3の閾値以上となるライトアクセスのアクティブコマンドを優先して発行し、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済ライトコマンド数が第1の閾値以上でなく、前記アクティブ済リードコマンド数が第1の閾値以上であった場合、前記保持回路に保持されるアクセスのうちアクティブコマンド発行が必要なリードアクセスそれぞれのリードコマンド数と前記アクティブ済リードコマンド数を加算した数が第2の閾値以上となるリードアクセスのアクティブコマンドを優先して発行し、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済リードコマンド数が第1の閾値以上でなく、前記アクティブ済ライトコマンド数が第1の閾値以上であった場合、前記保持回路に保持されるアクセスのうちアクティブコマンド発行が必要なライトアクセスそれぞれのライトコマンド数と前記アクティブ済ライトコマンド数を加算した数が第2の閾値以上となるライトアクセスのアクティブコマンドを優先して発行し、
アクティブコマンドの発行を優先する複数のアクセス要求が存在している場合、前記保持回路に最も古くから保持されているアクセス要求のアクティブコマンドを優先して発行する選択回路を備える
ことを特徴とする。
(a)リクエスト種別フィールド
当該エントリに格納したメモリアクセス要求の種別を示す
WRITE メモリアクセス要求がライト(データの書込み)
READ メモリアクセス要求がリード(データの読込み)
(b)対象バンクフィールド
当該エントリに格納したメモリアクセス要求がアクセスするバンクアドレス
(c)対象ページフィールド
当該エントリに格納したメモリアクセス要求がアクセスするページアドレス
(d)対象カラムフィールド
当該エントリに格納したメモリアクセス要求がアクセスする先頭カラムアドレス
(e)残りリードライトコマンド数フィールド
当該エントリに格納したメモリアクセス要求により実行される残りDRAMリードライトコマンドの数
条件1:優先ディレクションに該当するアクティブ済コマンド数 ≧ tRCD÷tCCD(少数点以下は切り上げ)
条件2:優先ディレクションに該当するアクティブ済コマンド数+優先ディレクションに該当するリードコマンドまたはライトコマンド数) ≧ (tRCD+tRRD)÷tCCD(少数点以下は切り上げ))
アクティブコマンド選択回路1042は、上記条件2を満たすメモリアクセス要求が存在すると判定した場合はS204、存在しないと判定した場合はS205に処理を進める。
条件3:優先ディレクションに該当するリードコマンドまたはライトコマンド数 ≧ (tRRD÷tCCD(少数点以下は切り上げ))
S206にて、アクティブコマンド選択回路1042は、上記条件3をメモリアクセス要求が存在すると判定した場合はS207、存在しないと判定した場合はS205に処理を進める。
条件4:優先ディレクションに該当しないアクティブ済コマンド数 ≧ tRCD÷tCCD(少数点以下は切り上げ)
アクティブコマンド選択回路1042は、上記条件4が成立すると判定した場合はS209、成立しないと判定した場合はS212に処理を進める。
条件5:優先ディレクションに該当しないアクティブ済コマンド数+メモリアクセス要求の優先ディレクションに該当しないリードコマンドまたはライトコマンド数) ≧ (tRCD+tRRD)÷tCCD(少数点以下は切り上げ)
アクティブコマンド選択回路1042は、上記条件5を満たすメモリアクセス要求が存在すると判定した場合はS210、存在しないと判定した場合はS211に処理を進める。
条件6:メモリアクセス要求の優先ディレクションに該当しないリードコマンドまたはライトコマンド数) ≧ tRRD÷tCCD(少数点以下は切り上げ)
アクティブコマンド選択回路1042は、上記条件6を満たすメモリアクセス要求が存在した場合はS213に、存在しないと判定した場合はS211に処理を進める。
Claims (4)
- 複数バンクから構成されるメモリにアクセスするメモリコントローラであって、
バスマスタからのリードもしくはライトのアクセス要求を複数保持する保持回路と、
該保持回路に保持されたアクセス要求の1つを選択してリードコマンドもしくはライトコマンドを発行するリードライト制御回路と、
前記保持回路に保持されたアクセス要求を選択してアクティブコマンドを発行するアクティブ制御回路とを備え、
前記アクティブ制御回路は、
前記保持回路に保持されるアクセス要求のうちアクティブコマンドが発行されたアクセスのリードコマンド数を合計したアクティブ済リードコマンド数とライトコマンド数を合計したアクティブ済ライトコマンド数を生成する生成回路と、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済ライトコマンド数が第1の閾値未満でなく、前記アクティブ済リードコマンド数が第1の閾値未満である場合、前記保持回路に保持されるアクセス要求のうちアクティブコマンド発行が必要なリードアクセスそれぞれのリードコマンド数が第3の閾値以上となるリードアクセスのアクティブコマンドを優先して発行し、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済リードコマンド数が第1の閾値未満でなく、前記アクティブ済ライトコマンド数が第1の閾値未満である場合、前記保持回路に保持されるアクセス要求のうちアクティブコマンド発行が必要なライトアクセスそれぞれのライトコマンド数が第3の閾値以上となるライトアクセスのアクティブコマンドを優先して発行し、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済ライトコマンド数が第1の閾値以上でなく、前記アクティブ済リードコマンド数が第1の閾値以上であった場合、前記保持回路に保持されるアクセスのうちアクティブコマンド発行が必要なリードアクセスそれぞれのリードコマンド数と前記アクティブ済リードコマンド数を加算した数が第2の閾値以上となるリードアクセスのアクティブコマンドを優先して発行し、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済リードコマンド数が第1の閾値以上でなく、前記アクティブ済ライトコマンド数が第1の閾値以上であった場合、前記保持回路に保持されるアクセスのうちアクティブコマンド発行が必要なライトアクセスそれぞれのライトコマンド数と前記アクティブ済ライトコマンド数を加算した数が第2の閾値以上となるライトアクセスのアクティブコマンドを優先して発行し、
アクティブコマンドの発行を優先する複数のアクセス要求が存在している場合、前記保持回路に最も古くから保持されているアクセス要求のアクティブコマンドを優先して発行する選択回路を備える
ことを特徴とするメモリコントローラ。 - 前記第1の閾値は、アクティブコマンドから同じバンクへのリードコマンドまたはライトコマンドまでのタイミング制約期間に発行できるリードコマンドまたはライトコマンドの数であり、
前記第2の閾値は、アクティブコマンドから同じバンクへのリードコマンドまたはライトコマンドまでのタイミング制約期間と、アクティブコマンドから異なるバンクへのアクティブコマンドまでのタイミング制約期間とを加算した期間に発行できるリードコマンドまたはライトコマンド数であり、
前記第3の閾値は、アクティブコマンドから異なるバンクへのアクティブコマンドまでのタイミング制約期間に発行できるリードコマンドまたはライトコマンド数である
ことを特徴とする請求項1に記載のメモリコントローラ。 - 前記リードライト制御回路は、
リードコマンドまたはライトコマンドのどちらを優先して発行するかを示す優先ディレクションに基づいてリードコマンドおよびライトコマンドを発行し、
前記選択回路は、
前記アクティブコマンドを優先して発行するリードアクセス要求およびライトアクセス要求のうち前記優先ディレクションに該当するアクセスのアクティブコマンドを優先して発行する
ことを特徴とする請求項1または2に記載のメモリコントローラ。 - バスマスタからのリードもしくはライトのアクセス要求を複数保持する保持回路と、
該保持回路に保持されたアクセス要求の1つを選択してリードコマンドもしくはライトコマンドを発行するリードライト制御回路と、
前記保持回路に保持されたアクセス要求を選択してアクティブコマンドを発行するアクティブ制御回路とを有するメモリコントローラの制御方法であって、
前記アクティブ制御回路にて、
前記保持回路に保持されるアクセス要求のうちアクティブコマンドが発行されたアクセスのリードコマンド数を合計したアクティブ済リードコマンド数とライトコマンド数を合計したアクティブ済ライトコマンド数を生成し、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済ライトコマンド数が第1の閾値未満でなく、前記アクティブ済リードコマンド数が第1の閾値未満である場合、前記保持回路に保持されるアクセス要求のうちアクティブコマンド発行が必要なリードアクセスそれぞれのリードコマンド数が第3の閾値以上となるリードアクセスのアクティブコマンドを優先して発行し、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済リードコマンド数が第1の閾値未満でなく、前記アクティブ済ライトコマンド数が第1の閾値未満である場合、前記保持回路に保持されるアクセス要求のうちアクティブコマンド発行が必要なライトアクセスそれぞれのライトコマンド数が第3の閾値以上となるライトアクセスのアクティブコマンドを優先して発行し、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済ライトコマンド数が第1の閾値以上でなく、前記アクティブ済リードコマンド数が第1の閾値以上であった場合、前記保持回路に保持されるアクセスのうちアクティブコマンド発行が必要なリードアクセスそれぞれのリードコマンド数と前記アクティブ済リードコマンド数を加算した数が第2の閾値以上となるリードアクセスのアクティブコマンドを優先して発行し、
tRCDが予め定められた条件を満たすとともに、前記アクティブ済リードコマンド数が第1の閾値以上でなく、前記アクティブ済ライトコマンド数が第1の閾値以上であった場合、前記保持回路に保持されるアクセスのうちアクティブコマンド発行が必要なライトアクセスそれぞれのライトコマンド数と前記アクティブ済ライトコマンド数を加算した数が第2の閾値以上となるライトアクセスのアクティブコマンドを優先して発行する
アクティブコマンドの発行を優先する複数のアクセス要求が存在している場合、前記保持回路に最も古くから保持されているアクセス要求のアクティブコマンドを優先して発行する
ことを特徴とするメモリコントローラの制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021015139A JP7614865B2 (ja) | 2021-02-02 | 2021-02-02 | メモリコントローラ及びその制御方法 |
| US17/578,797 US11694735B2 (en) | 2021-02-02 | 2022-01-19 | Memory controller and method of controlling the memory controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021015139A JP7614865B2 (ja) | 2021-02-02 | 2021-02-02 | メモリコントローラ及びその制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022118548A JP2022118548A (ja) | 2022-08-15 |
| JP7614865B2 true JP7614865B2 (ja) | 2025-01-16 |
Family
ID=82611611
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021015139A Active JP7614865B2 (ja) | 2021-02-02 | 2021-02-02 | メモリコントローラ及びその制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US11694735B2 (ja) |
| JP (1) | JP7614865B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12182410B2 (en) * | 2022-09-21 | 2024-12-31 | SK hynix NAND Product Solutions Corporation | Systems, methods, and media for recovering worker shares from read prioritization |
| US12340118B2 (en) | 2022-10-31 | 2025-06-24 | Sk Hynix Nand Product Solutions Corp. | Systems, methods, and media for prioritizing read accesses to storage devices |
| JP7695292B2 (ja) * | 2023-05-01 | 2025-06-18 | キヤノン株式会社 | メモリコントローラ、メモリコントローラの制御方法及びプログラム |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140281327A1 (en) | 2013-03-15 | 2014-09-18 | Qualcomm Incorporated | System and method to dynamically determine a timing parameter of a memory device |
| JP2018081642A (ja) | 2016-11-18 | 2018-05-24 | キヤノン株式会社 | メモリコントローラおよび方法 |
| JP2020109642A (ja) | 2018-12-31 | 2020-07-16 | 京セラドキュメントソリューションズ株式会社 | メモリ制御装置、メモリ制御方法及び画像形成装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11049545B2 (en) * | 2019-04-23 | 2021-06-29 | Micron Technology, Inc. | Methods for adjusting row hammer refresh rates and related memory devices and systems |
| JP7414477B2 (ja) * | 2019-11-08 | 2024-01-16 | キヤノン株式会社 | メモリコントローラ、メモリコントローラで実施される方法および装置 |
-
2021
- 2021-02-02 JP JP2021015139A patent/JP7614865B2/ja active Active
-
2022
- 2022-01-19 US US17/578,797 patent/US11694735B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140281327A1 (en) | 2013-03-15 | 2014-09-18 | Qualcomm Incorporated | System and method to dynamically determine a timing parameter of a memory device |
| JP2018081642A (ja) | 2016-11-18 | 2018-05-24 | キヤノン株式会社 | メモリコントローラおよび方法 |
| JP2020109642A (ja) | 2018-12-31 | 2020-07-16 | 京セラドキュメントソリューションズ株式会社 | メモリ制御装置、メモリ制御方法及び画像形成装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022118548A (ja) | 2022-08-15 |
| US20220246187A1 (en) | 2022-08-04 |
| US11694735B2 (en) | 2023-07-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7614865B2 (ja) | メモリコントローラ及びその制御方法 | |
| JP5238747B2 (ja) | ハブベースのシステムメモリにおける書込みコマンドを終了させる方法とシステム | |
| JP6146128B2 (ja) | データ処理装置 | |
| JP7407167B2 (ja) | メモリの複数のランクを有するシステムのダイナミックランダムアクセスメモリリフレッシュの構成 | |
| US20130326132A1 (en) | Memory system and method having unidirectional data buses | |
| JP6237945B1 (ja) | メモリ制御装置 | |
| US7707328B2 (en) | Memory access control circuit | |
| US11923037B2 (en) | Memory control circuit and method for controlling the same | |
| JP7493311B2 (ja) | バスシステムおよびその制御方法 | |
| JPH11224221A (ja) | メモリ制御装置および方法 | |
| JP4934857B2 (ja) | メモリアクセス制御装置、コンピュータ、メモリアクセス制御方法およびメモリアクセス制御プログラム | |
| US20230325121A1 (en) | Memory controller, control method for controlling memory controller, and storage medium | |
| JP7695292B2 (ja) | メモリコントローラ、メモリコントローラの制御方法及びプログラム | |
| US20250190146A1 (en) | Memory controller, method of controlling memory controller and memory device | |
| WO2010122607A1 (ja) | 記憶制御装置及びその制御方法 | |
| CN118550453A (zh) | 具有多个存储器列的存储器系统及其操作方法 | |
| US20250199722A1 (en) | Memory controller, control method and memory device | |
| JP7414477B2 (ja) | メモリコントローラ、メモリコントローラで実施される方法および装置 | |
| JP3698902B2 (ja) | メモリアクセス装置及びそのアクセス方法 | |
| JPS6191740A (ja) | メモリ・アクセス制御方式 | |
| JP2000227895A (ja) | 画像データ転送装置および画像データ転送方法 | |
| JPH10333979A (ja) | バンクアクセス制御方式 | |
| JPH11184761A (ja) | リードモディファイライト制御システム | |
| JPH07153268A (ja) | 情報記録装置 | |
| JP2024152432A (ja) | メモリ制御装置及びメモリ制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240126 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240731 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240813 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241008 |
|
| 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: 20241206 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241227 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7614865 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |