JP6880402B2 - メモリアクセス制御装置及びその制御方法 - Google Patents
メモリアクセス制御装置及びその制御方法 Download PDFInfo
- Publication number
- JP6880402B2 JP6880402B2 JP2017093914A JP2017093914A JP6880402B2 JP 6880402 B2 JP6880402 B2 JP 6880402B2 JP 2017093914 A JP2017093914 A JP 2017093914A JP 2017093914 A JP2017093914 A JP 2017093914A JP 6880402 B2 JP6880402 B2 JP 6880402B2
- Authority
- JP
- Japan
- Prior art keywords
- memory access
- dma
- data transfer
- request
- control device
- 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; 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0857—Overlapped cache accessing, e.g. pipeline by multiple requestors
-
- 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
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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
- 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/1041—Resource optimization
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
る。また、エントリ1にDMAディスクリプタが格納されたDMAリクエストのソースアドレスBに対してデスティネーションアドレスX1、Y0が対応付けられ、エントリ2に
DMAディスクリプタが格納されたDMAリクエストのソースアドレスCに対してデスティネーションアドレスY1が対応付けられている。さらに、重複している部分(エントリ1のDMAリクエスト)については、マルチキャストフラグMCがYesとなっており、この部分の応答データはデバイスメモリへマルチキャストライトすることが可能となっている。
られ、エントリ1にDMAディスクリプタが格納されたDMAリクエストのソースアドレスBに対してデスティネーションアドレスX1、Y0が対応付けられている。また、エン
トリ2にDMAディスクリプタが格納されたDMAリクエストのソースアドレスCに対してデスティネーションアドレスX2、Y1、Z0が対応付けられ、エントリ3にDMAデ
ィスクリプタが格納されたDMAリクエストのソースアドレスDに対してデスティネーションアドレスY2、Z1が対応付けられている。エントリ4にDMAディスクリプタが格納されたDMAリクエストのソースアドレスEに対してデスティネーションアドレスZ2が対応付けられている。さらに、重複している部分(エントリ1、2、3のDMAリクエスト)については、マルチキャストフラグMCがYesとなっており、この部分の応答データはデバイスメモリへマルチキャストライトすることが可能となっている。そして、図7(A)に示した統合アドレステーブルを参照することで、図7(B)に示すように応答データがデバイスメモリへ書き込まれる。
101 DMAキュー
102 アドレス比較部
103 統合要求部
104 統合管理部
105 セレクタ
106 DMAエンジン
107 ホスト装置
108 ホストメモリ
109 デマルチプレクサ
110 バッファ
111 書き込み制御部
112 スイッチ
113 メモリコントローラ
Claims (7)
- 複数のメモリアクセスリクエストのデータ転送元のアドレスの重複部分を検出する検出部と、
前記検出部により前記重複部分が検出された複数のメモリアクセスリクエストを、前記重複部分に対するデータ転送元へのリードアクセスをまとめるように統合し、前記重複部分以外についてのメモリアクセスリクエスト及び前記重複部分についてのメモリアクセスリクエストを生成する統合部と、
前記統合部により統合したメモリアクセスリクエストに従ったデータ転送を実行する実行部と、
前記実行部によるデータ転送で転送されたデータの、統合前のメモリアクセスリクエストのデータ転送先のアドレスへの書き込みを指示する管理部とを有するメモリアクセス制御装置。 - 前記管理部は、統合後のメモリアクセスリクエストのデータ転送元のアドレスに対するデータ転送先のアドレスの対応を示すテーブル情報を参照し、前記データ転送で転送されたデータの書き込みを指示することを特徴とする請求項1記載のメモリアクセス制御装置。
- 前記管理部は、前記データ転送で転送された前記重複部分のデータの、複数のデータ転送先のアドレスへのマルチキャストライトを指示する請求項1又は2記載のメモリアクセス制御装置。
- 前記管理部からの指示に基づいて、前記データ転送で転送された前記重複部分のデータの書き込みを前記複数のデータ転送先のアドレスに対してマルチキャスト送信する送信部を有する請求項3記載のメモリアクセス制御装置。
- 前記統合部は、前記重複部分に対するデータ転送元へのリードアクセスを1回で実行するよう前記複数のメモリアクセスリクエストを統合する請求項1〜4の何れか1項に記載のメモリアクセス制御装置。
- 前記統合部は、追い越し禁止のメモリアクセスリクエストより以前の追い越し可能なメモリアクセスリクエスト毎に、前記重複部分が検出された複数のメモリアクセスリクエストを統合する請求項1〜5の何れか1項に記載のメモリアクセス制御装置。
- メモリアクセス制御装置が有する検出部が、複数のメモリアクセスリクエストのデータ転送元のアドレスの重複部分を検出し、
前記メモリアクセス制御装置が有する統合部が、前記重複部分が検出された複数のメモリアクセスリクエストを、前記重複部分に対するデータ転送元へのリードアクセスをまとめるように統合し、前記重複部分以外についてのメモリアクセスリクエスト及び前記重複部分についてのメモリアクセスリクエストを生成し、
前記メモリアクセス制御装置が有する実行部が、前記統合したメモリアクセスリクエストに従ったデータ転送を実行し、
前記メモリアクセス制御装置が有する管理部が、前記データ転送で転送されたデータの、統合前のメモリアクセスリクエストのデータ転送先のアドレスへの書き込みを指示するメモリアクセス制御装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017093914A JP6880402B2 (ja) | 2017-05-10 | 2017-05-10 | メモリアクセス制御装置及びその制御方法 |
US15/964,250 US10409746B2 (en) | 2017-05-10 | 2018-04-27 | Memory access control device and control method of memory access |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017093914A JP6880402B2 (ja) | 2017-05-10 | 2017-05-10 | メモリアクセス制御装置及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018190277A JP2018190277A (ja) | 2018-11-29 |
JP6880402B2 true JP6880402B2 (ja) | 2021-06-02 |
Family
ID=64097280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017093914A Active JP6880402B2 (ja) | 2017-05-10 | 2017-05-10 | メモリアクセス制御装置及びその制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10409746B2 (ja) |
JP (1) | JP6880402B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10809929B2 (en) * | 2018-11-30 | 2020-10-20 | International Business Machines Corporation | Combined hardware/software-enforced segmentation of multi-tenant memory/storage systems |
US10970808B2 (en) * | 2019-06-24 | 2021-04-06 | Intel Corporation | Shared local memory read merge and multicast return |
US11604748B2 (en) * | 2020-10-30 | 2023-03-14 | Microsoft Technology Licensing, Llc | Interconnect for direct memory access controllers |
US20210075633A1 (en) * | 2020-11-18 | 2021-03-11 | Intel Corporation | Packet multi-cast for memory pool replication |
US20210089236A1 (en) * | 2020-12-04 | 2021-03-25 | Intel Corporation | Network device intermediary for memory access requests |
CN112711218B (zh) * | 2020-12-08 | 2022-03-15 | 杭州电子科技大学上虞科学与工程研究院有限公司 | 一种工业设备数据采集的方法 |
CN114116553B (zh) * | 2021-11-30 | 2023-01-20 | 海光信息技术股份有限公司 | 数据处理装置、方法以及*** |
CN116610608B (zh) * | 2023-07-19 | 2023-11-03 | 浪潮(北京)电子信息产业有限公司 | 直接内存访问描述符处理方法、***、装置、设备及介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3322754B2 (ja) * | 1994-05-17 | 2002-09-09 | 富士通株式会社 | 並列計算機 |
US6067595A (en) * | 1997-09-23 | 2000-05-23 | Icore Technologies, Inc. | Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories |
JPH11134287A (ja) | 1997-10-28 | 1999-05-21 | Nec Corp | 入出力バスデータ転送装置 |
US6772315B1 (en) * | 2001-05-24 | 2004-08-03 | Rambus Inc | Translation lookaside buffer extended to provide physical and main-memory addresses |
US7899784B2 (en) * | 2003-05-28 | 2011-03-01 | Oracle International Corporation | Method and apparatus for performing multi-table merge operations in a database environment |
JP4340519B2 (ja) | 2003-11-04 | 2009-10-07 | 富士通株式会社 | 情報処理端末 |
US7525958B2 (en) * | 2004-04-08 | 2009-04-28 | Intel Corporation | Apparatus and method for two-stage packet classification using most specific filter matching and transport level sharing |
US8276043B2 (en) * | 2008-03-01 | 2012-09-25 | Kabushiki Kaisha Toshiba | Memory system |
JP5032371B2 (ja) * | 2008-03-01 | 2012-09-26 | 株式会社東芝 | メモリシステム |
JP4990262B2 (ja) | 2008-12-26 | 2012-08-01 | 三菱電機株式会社 | バッファ装置 |
US8078848B2 (en) * | 2009-01-09 | 2011-12-13 | Micron Technology, Inc. | Memory controller having front end and back end channels for modifying commands |
US10133662B2 (en) * | 2012-06-29 | 2018-11-20 | Sandisk Technologies Llc | Systems, methods, and interfaces for managing persistent data of atomic storage operations |
-
2017
- 2017-05-10 JP JP2017093914A patent/JP6880402B2/ja active Active
-
2018
- 2018-04-27 US US15/964,250 patent/US10409746B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10409746B2 (en) | 2019-09-10 |
JP2018190277A (ja) | 2018-11-29 |
US20180329841A1 (en) | 2018-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6880402B2 (ja) | メモリアクセス制御装置及びその制御方法 | |
US8738890B2 (en) | Coupled symbiotic operating system | |
US10467179B2 (en) | Method and device for sharing PCIe I/O device, and interconnection system | |
EP3036648B1 (en) | Enhanced data transfer in multi-cpu systems | |
US10430353B2 (en) | Memory device performing near-data processing using a plurality of data processing engines that independently perform data processing operations, and system including the same | |
US20110246667A1 (en) | Processing unit, chip, computing device and method for accelerating data transmission | |
US20160217094A1 (en) | Input/output control device, input/output control system, and input/output control method | |
CN115114042A (zh) | 存储数据访问方法、装置、电子设备和存储介质 | |
CN115174673B (zh) | 具备低延迟处理器的数据处理装置、数据处理方法及设备 | |
WO2022199357A1 (zh) | 数据处理方法及装置、电子设备、计算机可读存储介质 | |
US20060277326A1 (en) | Data transfer system and method | |
WO2022073399A1 (zh) | 存储节点、存储设备及网络芯片 | |
WO2021249030A1 (zh) | 随机数序列生成方法和随机数引擎 | |
US20080209085A1 (en) | Semiconductor device and dma transfer method | |
JP2006139766A (ja) | 情報処理装置 | |
US12001370B2 (en) | Multi-node memory address space for PCIe devices | |
JP2780662B2 (ja) | マルチプロセッサシステム | |
US20230350797A1 (en) | Flash-based storage device and copy-back operation method thereof | |
JP7363344B2 (ja) | メモリ制御装置、および制御方法 | |
JPH0512125A (ja) | アドレス変換方式 | |
US11531489B2 (en) | Integrated circuit device, system-on-chip including the same, and packet processing method | |
JP7080698B2 (ja) | 情報処理装置 | |
JP6384359B2 (ja) | 分散共有メモリを有する情報処理装置、方法、および、プログラム | |
WO2021097802A1 (zh) | 处理非缓存写数据请求的方法、缓存器和节点 | |
JP2018081346A (ja) | ストレージ装置、ストレージシステム、ストレージ制御方法、および、ストレージ制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210201 |
|
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: 20210330 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210412 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6880402 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |