JP7521133B2 - Dramコマンドストリーク効率管理 - Google Patents
Dramコマンドストリーク効率管理 Download PDFInfo
- Publication number
- JP7521133B2 JP7521133B2 JP2023560438A JP2023560438A JP7521133B2 JP 7521133 B2 JP7521133 B2 JP 7521133B2 JP 2023560438 A JP2023560438 A JP 2023560438A JP 2023560438 A JP2023560438 A JP 2023560438A JP 7521133 B2 JP7521133 B2 JP 7521133B2
- Authority
- JP
- Japan
- Prior art keywords
- cas
- command
- streak
- interval
- commands
- 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
- 230000015654 memory Effects 0.000 claims description 182
- 238000000034 method Methods 0.000 claims description 65
- 238000012545 processing Methods 0.000 claims description 21
- 239000004744 fabric Substances 0.000 claims description 19
- 230000008569 process Effects 0.000 description 50
- 238000007726 management method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 10
- 230000004913 activation Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007306 turnover Effects 0.000 description 2
- 101000711846 Homo sapiens Transcription factor SOX-9 Proteins 0.000 description 1
- 101100232371 Hordeum vulgare IAT3 gene Proteins 0.000 description 1
- 102100034204 Transcription factor SOX-9 Human genes 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0879—Burst mode
-
- 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/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- 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/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- 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/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/1042—Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
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)
- Dram (AREA)
- Bus Control (AREA)
- Memory System (AREA)
Description
Claims (15)
- メモリコントローラであって、
メモリアクセス要求を受信するための第1の入力を有するコマンドキューと、
前記コマンドキューからエントリを選択し、メモリチャネルを介して前記エントリを送信するために、前記コマンドキューに結合されたアービタと、を備え、
前記アービタは、
連続した読み取りコマンドのストリーク、及び、連続した書き込みコマンドのストリークを、前記メモリチャネルを介して送信することと、
前記アービタによって選択可能な指定されたタイプのコマンドの数に基づいて、連続した読み取りコマンド又は連続した書き込みコマンドの一方の現在のストリークを、少なくとも最小バースト長だけ送信することと、
前記最小バースト長に続いて、第1の定義されたCAS-CAS間隔内に列アドレスストローブ(CAS)コマンドを送信可能な新しいストリークのコマンドが存在しないか否かに基づいて、前記現在のストリークを継続することと、
を行うように動作可能である、
メモリコントローラ。 - 前記最小バースト長は、前記現在のストリークに利用可能なコマンドの数に、選択された比率を乗じたものとして計算される、
請求項1のメモリコントローラ。 - 前記アービタは、前記最小バースト長に続いて、第2の定義されたCAS-CAS間隔内にCASコマンドを送信可能な前記現在のストリークのコマンドが存在しないか否かに基づいて、前記現在のストリークを終了するように動作可能である、
請求項1のメモリコントローラ。 - 前記アービタは、前記現在のストリークのごく最近に送信されたCASコマンドと、3つ前のCASコマンドで発生した前のCASコマンドと、の間のCAS-CAS間隔が第3の定義された間隔を超えるか否かに基づいて、前記現在のストリークを終了するように動作可能である、
請求項3のメモリコントローラ。 - 前記現在のストリークが読み取りコマンドである場合に、前記第1の定義されたCAS-CAS間隔について第1の間隔が使用され、前記現在のストリークが書き込みコマンドである場合に、前記第1の定義されたCAS-CAS間隔について前記第1の間隔とは異なる第2の間隔が使用される、
請求項3のメモリコントローラ。 - 前記現在のストリークが読み取りコマンドである場合に、前記第2の定義されたCAS-CAS間隔について第3の間隔が使用され、前記現在のストリークが書き込みコマンドである場合に、前記第2の定義されたCAS-CAS間隔について前記第3の間隔とは異なる第4の間隔が使用される、
請求項5のメモリコントローラ。 - 前記第1の定義されたCAS-CAS間隔は、ごく最近に送信されたCASコマンドと、選択された後続のCASコマンドが送信され得る時間と、の間の間隔である、
請求項1のメモリコントローラ。 - 連続した読み取りコマンドのストリーク、及び、連続した書き込みコマンドのストリークを、メモリチャネルを介して送信させることと、
アービタによって選択可能な指定されたタイプのコマンドの数に基づいて、連続した読み取りコマンド又は連続した書き込みコマンドの一方の現在のストリークを、少なくとも最小バースト長だけ送信することと、
前記最小バースト長に続いて、第1の定義されたCAS-CAS間隔内に列アドレスストローブ(CAS)コマンドを送信可能な新しいストリークのコマンドが存在しないか否かに基づいて、前記現在のストリークを継続することと、を含む、
方法。 - 前記最小バースト長は、前記現在のストリークに利用可能なコマンドの数に、選択された比率を乗じたものとして計算される、
請求項8の方法。 - 前記最小バースト長に続いて、第2の定義されたCAS-CAS間隔内にCASコマンドを送信可能な前記現在のストリークのコマンドが存在しないか否かに基づいて、前記現在のストリークを終了することを更に含む、
請求項8の方法。 - 前記現在のストリークが読み取りコマンドである場合に、前記第1の定義されたCAS-CAS間隔について第1の間隔が使用され、前記現在のストリークが書き込みコマンドである場合に、前記第1の定義されたCAS-CAS間隔について前記第1の間隔とは異なる第2の間隔が使用される、
請求項10の方法。 - 前記現在のストリークが読み取りコマンドである場合に、前記第2の定義されたCAS-CAS間隔について第3の間隔が使用され、前記現在のストリークが書き込みコマンドである場合に、前記第2の定義されたCAS-CAS間隔について前記第3の間隔とは異なる第4の間隔が使用される、
請求項11の方法。 - 前記現在のストリークのごく最近に送信されたCASコマンドと、3つ前のCASコマンドで発生した前のCASコマンドと、の間のCAS-CAS間隔が第3の定義された間隔を超えるか否かに基づいて、前記現在のストリークを終了することを含む、
請求項10の方法。 - 前記第1の定義されたCAS-CAS間隔は、ごく最近に送信されたCASコマンドと、選択された後続のCASコマンドが送信され得る時間と、の間の間隔である、
請求項8の方法。 - データ処理システムであって、
処理ユニットと、
前記処理ユニットに結合されたデータファブリックと、
前記処理ユニットからのメモリ要求を満たすために前記データファブリックに結合されたメモリコントローラと、を備え、
前記メモリコントローラは、
メモリアクセス要求を受信するための第1の入力を有するコマンドキューと、
前記コマンドキューからエントリを選択し、前記エントリを、メモリチャネルを介して少なくとも1つのダイナミックランダムアクセスメモリに送信するために、前記コマンドキューに結合されたアービタと、を備え、
前記アービタは、
連続した読み取りコマンドのストリーク、及び、連続した書き込みコマンドのストリークを、前記メモリチャネルを介して送信することと、
前記アービタによって選択可能な指定されたタイプのコマンドの数に基づいて、連続した読み取りコマンド又は連続した書き込みコマンドの一方の現在のストリークを、少なくとも最小バースト長だけ送信することと、
前記最小バースト長に続いて、第1の定義されたCAS-CAS間隔内に列アドレスストローブ(CAS)コマンドを送信可能な新しいストリークのコマンドが存在しないか否かに基づいて、前記現在のストリークを継続することと、
を行うように動作可能である、
データ処理システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/219,535 | 2021-03-31 | ||
US17/219,535 US11687281B2 (en) | 2021-03-31 | 2021-03-31 | DRAM command streak efficiency management |
PCT/US2022/020388 WO2022212036A1 (en) | 2021-03-31 | 2022-03-15 | Dram command streak efficiency management |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2024514503A JP2024514503A (ja) | 2024-04-02 |
JP7521133B2 true JP7521133B2 (ja) | 2024-07-23 |
Family
ID=83449086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023560438A Active JP7521133B2 (ja) | 2021-03-31 | 2022-03-15 | Dramコマンドストリーク効率管理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11687281B2 (ja) |
EP (1) | EP4315013A4 (ja) |
JP (1) | JP7521133B2 (ja) |
KR (1) | KR102705924B1 (ja) |
CN (1) | CN117099076A (ja) |
WO (1) | WO2022212036A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090248994A1 (en) | 2008-03-27 | 2009-10-01 | Hongzhong Zheng | Memory rank burst scheduling |
JP2010262668A (ja) | 2010-07-07 | 2010-11-18 | Panasonic Corp | シンクロナスdramアクセス装置 |
JP2012181906A (ja) | 2011-02-28 | 2012-09-20 | Sk Hynix Inc | 集積回路 |
US20190196995A1 (en) | 2017-12-21 | 2019-06-27 | Advanced Micro Devices, Inc. | Dynamic page state aware scheduling of read/write burst transactions |
JP2021039447A (ja) | 2019-08-30 | 2021-03-11 | キヤノン株式会社 | メモリコントローラおよびメモリコントローラで実施される方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0939403A3 (en) * | 1998-02-25 | 1999-11-17 | Matsushita Electric Industrial Co., Ltd. | High-speed error correcting apparatus with efficient data transfer |
US6154419A (en) | 2000-03-13 | 2000-11-28 | Ati Technologies, Inc. | Method and apparatus for providing compatibility with synchronous dynamic random access memory (SDRAM) and double data rate (DDR) memory |
KR100448702B1 (ko) * | 2001-08-01 | 2004-09-16 | 삼성전자주식회사 | 반도체 메모리 장치 및 이 장치의 라이트 레이턴시 제어방법 |
US6957308B1 (en) * | 2002-07-11 | 2005-10-18 | Advanced Micro Devices, Inc. | DRAM supporting different burst-length accesses without changing the burst length setting in the mode register |
US8407433B2 (en) | 2007-06-25 | 2013-03-26 | Sonics, Inc. | Interconnect implementing internal controls |
TW200739583A (en) * | 2005-11-19 | 2007-10-16 | Samsung Electronics Co Ltd | A latency control circuit, and method thereof and an auto-precharge control circuit and method thereof |
US8874831B2 (en) * | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US7870351B2 (en) | 2007-11-15 | 2011-01-11 | Micron Technology, Inc. | System, apparatus, and method for modifying the order of memory accesses |
KR101699781B1 (ko) | 2010-10-19 | 2017-01-26 | 삼성전자주식회사 | 시스템 온 칩 및 그것의 데이터 중재 방법 |
CN103703448B (zh) * | 2012-05-14 | 2017-07-14 | 华为技术有限公司 | 一种内存调度方法及内存控制器 |
WO2017196141A1 (en) | 2016-05-12 | 2017-11-16 | Lg Electronics Inc. | Autonomous prefetch engine |
US10684969B2 (en) * | 2016-07-15 | 2020-06-16 | Advanced Micro Devices, Inc. | Command arbitration for high speed memory interfaces |
US10402120B2 (en) * | 2016-07-15 | 2019-09-03 | Advanced Micro Devices, Inc. | Memory controller arbiter with streak and read/write transaction management |
US20190196996A1 (en) * | 2017-12-21 | 2019-06-27 | Advanced Micro Devices, Inc. | Dynamically determining memory access burst length |
-
2021
- 2021-03-31 US US17/219,535 patent/US11687281B2/en active Active
-
2022
- 2022-03-15 CN CN202280026514.7A patent/CN117099076A/zh active Pending
- 2022-03-15 JP JP2023560438A patent/JP7521133B2/ja active Active
- 2022-03-15 WO PCT/US2022/020388 patent/WO2022212036A1/en active Application Filing
- 2022-03-15 KR KR1020237037632A patent/KR102705924B1/ko active IP Right Grant
- 2022-03-15 EP EP22781854.9A patent/EP4315013A4/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090248994A1 (en) | 2008-03-27 | 2009-10-01 | Hongzhong Zheng | Memory rank burst scheduling |
JP2010262668A (ja) | 2010-07-07 | 2010-11-18 | Panasonic Corp | シンクロナスdramアクセス装置 |
JP2012181906A (ja) | 2011-02-28 | 2012-09-20 | Sk Hynix Inc | 集積回路 |
US20190196995A1 (en) | 2017-12-21 | 2019-06-27 | Advanced Micro Devices, Inc. | Dynamic page state aware scheduling of read/write burst transactions |
JP2021039447A (ja) | 2019-08-30 | 2021-03-11 | キヤノン株式会社 | メモリコントローラおよびメモリコントローラで実施される方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220317928A1 (en) | 2022-10-06 |
JP2024514503A (ja) | 2024-04-02 |
CN117099076A (zh) | 2023-11-21 |
WO2022212036A1 (en) | 2022-10-06 |
KR20230158128A (ko) | 2023-11-17 |
EP4315013A1 (en) | 2024-02-07 |
US11687281B2 (en) | 2023-06-27 |
EP4315013A4 (en) | 2024-06-05 |
KR102705924B1 (ko) | 2024-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102442078B1 (ko) | 고속 메모리 인터페이스들을 위한 명령 중재 | |
CN110729006A (zh) | 存储器控制器中的刷新方案 | |
JP7521132B2 (ja) | アービトレーション中の書き込みバンクグループのマスク | |
US11789655B2 (en) | Efficient and low latency memory access scheduling | |
JP7506277B1 (ja) | マルチランクメモリコントローラにおける効率的なランク切り替え | |
US11625352B2 (en) | DRAM command streak management | |
JP2023527685A (ja) | 効率的なメモリバス管理 | |
US11782640B2 (en) | Efficient and low latency memory access scheduling | |
EP3270294B1 (en) | Command arbitration for high-speed memory interfaces | |
JP2024528414A (ja) | ハイブリッドdram/永続メモリチャネルアービトレーションを有するメモリコントローラ | |
JP7521133B2 (ja) | Dramコマンドストリーク効率管理 | |
US12118247B2 (en) | Performance of bank refresh |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231115 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231115 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20231115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240319 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240529 |
|
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: 20240618 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240710 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7521133 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |