JP7140768B2 - コヒーレント相互接続システムにおける読み取りトランザクショントラッカーのライフタイム - Google Patents
コヒーレント相互接続システムにおける読み取りトランザクショントラッカーのライフタイム Download PDFInfo
- Publication number
- JP7140768B2 JP7140768B2 JP2019541407A JP2019541407A JP7140768B2 JP 7140768 B2 JP7140768 B2 JP 7140768B2 JP 2019541407 A JP2019541407 A JP 2019541407A JP 2019541407 A JP2019541407 A JP 2019541407A JP 7140768 B2 JP7140768 B2 JP 7140768B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- read
- direct memory
- memory transfer
- transfer request
- 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
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1492—Generic software techniques for error detection or fault masking by run-time replication performed by the application software
- G06F11/1494—N-modular type
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- 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/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
Description
2’b00:順序付けなし
2’b01:予約済み
2’blO:要求の順序付け
2’bll:エンドポイントの順序付け
2’b00:順序付けなし/読み取り確認応答が不要として扱われる
2’b01:読み取り確認応答が必要である
2’blO:予約済み
2’bll:予約済み
Claims (18)
- コヒーレント相互接続システムのための装置であって、
要求元マスターデバイスからコヒーレンシ・プロトコル・トランザクションを受信し、さらにコヒーレンシ・プロトコル・トランザクションをデータ保存スレーブデバイスと交換するインターフェース回路と、
前記コヒーレンシ・プロトコル・トランザクションの完了が保留状態である間に、前記要求元マスターデバイスから受信した前記コヒーレンシ・プロトコル・トランザクションの記録を維持するトランザクション追跡回路と、
前記データ保存スレーブデバイスに保存されたデータ項目に対する前記要求元マスターデバイスからの前記コヒーレンシ・プロトコル・トランザクションの読み取りトランザクションの前記インターフェース回路での受信に応答して、前記データ保存スレーブデバイスに直接メモリ転送要求を発行するトランザクション制御回路であって、前記直接メモリ転送要求は、前記データ保存スレーブデバイスからの読み取り確認応答信号を要請する読み取り確認応答トリガを含む、トランザクション制御回路と、を含み、
前記トランザクション追跡回路は、前記データ保存スレーブデバイスからの前記読み取り確認応答信号の前記インターフェース回路での受信に応答して、前記直接メモリ転送要求の完了を示すために、前記読み取りトランザクションの受信によって作成された前記トランザクション追跡回路内の記録を更新する、装置。 - 前記読み取りトランザクションは、前記読み取りトランザクションの所定の部分における他のトランザクションに関する順序の自由度の指定を含み、前記読み取り確認応答トリガは、前記直接メモリ転送要求の同じ所定の部分内に含まれる、請求項1に記載の装置。
- 前記読み取り確認応答トリガは、前記直接メモリ転送要求の前記所定の部分のサブ部分に示され、前記読み取りトランザクションの前記所定の部分の前記サブ部分は、前記読み取りトランザクションに関して前記装置にとってセマンティックな意味を有さない、請求項2に記載の装置。
- 前記所定の部分は、トランザクション順序付け仕様として解釈される前記コヒーレンシ・プロトコル・トランザクションのビットフィールドである、請求項2または3に記載の装置。
- 前記ビットフィールドは、前記トランザクション順序付け仕様として解釈される2ビットフィールドであり、前記2ビットフィールドの所定のビットの組み合わせは、前記読み取りトランザクションに関して前記装置にとってセマンティックな意味を有さず、前記2ビットフィールドの前記所定のビットの組み合わせは、前記直接メモリ転送要求内の前記読み取り確認応答トリガである、請求項4に記載の装置。
- 前記読み取りトランザクションは、前記読み取りトランザクションが完了したときに、前記要求元マスターデバイスによってトランザクション完了信号が引き続いて発行されることを示すインジケータを含む、請求項1から5のいずれか一項に記載の装置。
- 前記トランザクション追跡回路は、カウンタ値を維持するカウンタ回路をさらに含み、前記カウンタ回路は、前記トランザクション完了信号が引き続いて発行されるという前記インジケータに応答して、前記カウンタ値をインクリメントし、前記カウンタ回路は、前記トランザクション完了信号に応答して前記カウンタ値をデクリメントする、請求項6に記載の装置。
- 前記装置は、前記装置が静止状態に入る準備をしている場合に、前記トランザクション完了信号が依然として予想されることを示す前記カウンタ値に応答して、エラー信号を生成する、請求項7に記載の装置。
- 前記カウンタ値が、前記トランザクション完了信号がまだ予想されないことを示した場合に、前記トランザクション完了信号の受信に応答して前記装置がエラー信号を生成する、請求項7または8に記載の装置。
- 前記トランザクション追跡回路は、2つ以上の要求元マスターデバイスのカウンタ値を維持するために、前記カウンタ回路の複数のインスタンスを個別に含む、請求項7から9のいずれか一項に記載の装置。
- 前記読み取りトランザクションは、前記データ項目が共有不可能な状態でキャッシュされることを示す、請求項1から10のいずれか一項に記載の装置。
- 前記読み取りトランザクションは、前記データ項目が共有可能であり、前記要求元マスターデバイスがコピーを保持しないことを示す、請求項1から10のいずれか一項に記載の装置。
- 前記読み取りトランザクションは、前記データ項目の他のすべてのコピーが他のマスターのキャッシュから消去され無効化されることを示す、請求項12に記載の装置。
- 前記読み取りトランザクションは、前記データ項目の他のすべてのコピーが他のマスターのキャッシュで無効化されることを示す、請求項12に記載の装置。
- コヒーレント相互接続システムにおける装置を動作させる方法であって、
データ保存スレーブデバイスに保存されたデータ項目について、要求元マスターデバイスから一組のコヒーレンシ・プロトコル・トランザクションの読み取りトランザクションを受信するステップと、
前記コヒーレンシ・プロトコル・トランザクションの完了が保留状態である間に、前記要求元マスターデバイスから受信したコヒーレンシ・プロトコル・トランザクションの記録を維持するステップと、
前記読み取りトランザクションの受信に応答して、前記データ保存スレーブデバイスに直接メモリ転送要求を発行するステップであって、前記直接メモリ転送要求は、前記データ保存スレーブデバイスからの読み取り確認応答信号を要請する読み取り確認応答トリガを含む、ステップと、
前記データ保存スレーブデバイスからの前記読み取り確認応答信号の受信に応答して、前記直接メモリ転送要求の完了を示す前記読み取りトランザクションの受信によって作成された記録を更新するステップと、
を含む方法。 - コヒーレンシ・プロトコル・トランザクションをハブデバイスと交換し、さらにコヒーレンシ・プロトコル・トランザクションをマスターデバイスと交換するインターフェース回路と、
前記ハブデバイスに読み取り確認応答信号を送信し、他方、前記マスターデバイスに直接メモリ転送要求で指定されたデータを直接送信するために、前記ハブデバイスからの読み取り確認応答トリガを含む直接メモリ転送要求の受信に応答するトランザクション制御回路と、
を含むコヒーレント相互接続システムのためのデータ保存スレーブデバイス。 - 前記トランザクション制御回路は、再試行が必要でない場合に、前記直接メモリ転送要求の受け入れに応答して、前記ハブデバイスに前記読み取り確認応答信号を送信するように構成される、請求項16に記載のデータ保存スレーブデバイス。
- コヒーレント相互接続システムにおけるデータ保存スレーブデバイスの動作方法であって、
ハブデバイスからの直接メモリ転送要求を受信するステップと、
前記直接メモリ転送要求が読み取り確認応答トリガを含む場合に、読み取り確認応答信号を前記ハブデバイスに送信するステップと、
前記直接メモリ転送要求で指定されたデータをマスターデバイスに直接送信するステップと、
を含むデータ保存スレーブデバイスの動作方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/427,435 | 2017-02-08 | ||
US15/427,435 US10795820B2 (en) | 2017-02-08 | 2017-02-08 | Read transaction tracker lifetimes in a coherent interconnect system |
PCT/GB2018/050226 WO2018146451A1 (en) | 2017-02-08 | 2018-01-26 | Read transaction tracker lifetimes in a coherent interconnect system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020506482A JP2020506482A (ja) | 2020-02-27 |
JP7140768B2 true JP7140768B2 (ja) | 2022-09-21 |
Family
ID=61132824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019541407A Active JP7140768B2 (ja) | 2017-02-08 | 2018-01-26 | コヒーレント相互接続システムにおける読み取りトランザクショントラッカーのライフタイム |
Country Status (8)
Country | Link |
---|---|
US (1) | US10795820B2 (ja) |
EP (1) | EP3580662B1 (ja) |
JP (1) | JP7140768B2 (ja) |
KR (1) | KR102526436B1 (ja) |
CN (1) | CN110268390B (ja) |
IL (1) | IL268322B (ja) |
TW (1) | TWI770107B (ja) |
WO (1) | WO2018146451A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10795820B2 (en) * | 2017-02-08 | 2020-10-06 | Arm Limited | Read transaction tracker lifetimes in a coherent interconnect system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118906A (ja) | 2010-12-03 | 2012-06-21 | Sony Corp | 相互接続装置、および、その制御方法 |
US20160055085A1 (en) | 2014-08-25 | 2016-02-25 | Arm Limited | Enforcing ordering of snoop transactions in an interconnect for an integrated circuit |
WO2016139446A1 (en) | 2015-03-04 | 2016-09-09 | Arm Limited | An apparatus and method to generate trace data in response to transactional execution |
JP2017503245A (ja) | 2014-01-16 | 2017-01-26 | インテル・コーポレーション | 高速構成機構のための装置、方法、およびシステム |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5197146A (en) * | 1989-06-21 | 1993-03-23 | Hewlett-Packard Company | Method for maintaining cache coherence in a multiprocessor computer system |
US5664149A (en) * | 1992-11-13 | 1997-09-02 | Cyrix Corporation | Coherency for write-back cache in a system designed for write-through cache using an export/invalidate protocol |
US5504874A (en) * | 1993-09-29 | 1996-04-02 | Silicon Graphics, Inc. | System and method of implementing read resources to maintain cache coherency in a multiprocessor environment permitting split transactions |
US5696910A (en) * | 1995-09-26 | 1997-12-09 | Intel Corporation | Method and apparatus for tracking transactions in a pipelined bus |
US5953538A (en) * | 1996-11-12 | 1999-09-14 | Digital Equipment Corporation | Method and apparatus providing DMA transfers between devices coupled to different host bus bridges |
US6014690A (en) * | 1997-10-24 | 2000-01-11 | Digital Equipment Corporation | Employing multiple channels for deadlock avoidance in a cache coherency protocol |
US7124252B1 (en) * | 2000-08-21 | 2006-10-17 | Intel Corporation | Method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system |
US6681293B1 (en) * | 2000-08-25 | 2004-01-20 | Silicon Graphics, Inc. | Method and cache-coherence system allowing purging of mid-level cache entries without purging lower-level cache entries |
US6622216B1 (en) * | 2001-05-10 | 2003-09-16 | Lsi Logic Corporation | Bus snooping for cache coherency for a bus without built-in bus snooping capabilities |
US6862646B2 (en) * | 2001-12-28 | 2005-03-01 | Thomas J. Bonola | Method and apparatus for eliminating the software generated ready-signal to hardware devices that are not part of the memory coherency domain |
US8185602B2 (en) * | 2002-11-05 | 2012-05-22 | Newisys, Inc. | Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters |
US7305524B2 (en) * | 2004-10-08 | 2007-12-04 | International Business Machines Corporation | Snoop filter directory mechanism in coherency shared memory system |
US20070233932A1 (en) * | 2005-09-30 | 2007-10-04 | Collier Josh D | Dynamic presence vector scaling in a coherency directory |
US20070143550A1 (en) * | 2005-12-19 | 2007-06-21 | Intel Corporation | Per-set relaxation of cache inclusion |
US7734857B2 (en) * | 2007-07-31 | 2010-06-08 | Intel Corporation | Cache coherent switch device |
US7925840B2 (en) * | 2008-09-05 | 2011-04-12 | Arm Limited | Data processing apparatus and method for managing snoop operations |
US8375170B2 (en) * | 2010-02-12 | 2013-02-12 | Arm Limited | Apparatus and method for handling data in a cache |
US9304924B2 (en) * | 2012-08-17 | 2016-04-05 | Futurewei Technologies, Inc. | Cache coherent handshake protocol for in-order and out-of-order networks |
GB2522057B (en) * | 2014-01-13 | 2021-02-24 | Advanced Risc Mach Ltd | A data processing system and method for handling multiple transactions |
GB2525577A (en) * | 2014-01-31 | 2015-11-04 | Ibm | Bridge and method for coupling a requesting interconnect and a serving interconnect in a computer system |
GB2533972B (en) * | 2015-01-12 | 2021-08-18 | Advanced Risc Mach Ltd | An interconnect and method of operation of an interconnect |
GB2538764B (en) * | 2015-05-28 | 2018-02-14 | Advanced Risc Mach Ltd | Register renaming |
US10235297B2 (en) * | 2015-11-04 | 2019-03-19 | International Business Machines Corporation | Mechanism for creating friendly transactions with credentials |
US9916247B2 (en) * | 2016-02-04 | 2018-03-13 | International Business Machines Corporation | Cache management directory where hardware manages cache write requests and software manages cache read requests |
GB2557254B (en) * | 2016-12-02 | 2020-02-12 | Advanced Risc Mach Ltd | Filtering coherency protocol transactions |
US10489323B2 (en) * | 2016-12-20 | 2019-11-26 | Arm Limited | Data processing system for a home node to authorize a master to bypass the home node to directly send data to a slave |
US11256623B2 (en) * | 2017-02-08 | 2022-02-22 | Arm Limited | Cache content management |
US10795820B2 (en) * | 2017-02-08 | 2020-10-06 | Arm Limited | Read transaction tracker lifetimes in a coherent interconnect system |
US10649684B2 (en) * | 2017-03-16 | 2020-05-12 | Arm Limited | Memory access monitoring |
US10761987B2 (en) * | 2018-11-28 | 2020-09-01 | Arm Limited | Apparatus and method for processing an ownership upgrade request for cached data that is issued in relation to a conditional store operation |
-
2017
- 2017-02-08 US US15/427,435 patent/US10795820B2/en active Active
-
2018
- 2018-01-16 TW TW107101499A patent/TWI770107B/zh active
- 2018-01-26 EP EP18702540.8A patent/EP3580662B1/en active Active
- 2018-01-26 CN CN201880009409.6A patent/CN110268390B/zh active Active
- 2018-01-26 JP JP2019541407A patent/JP7140768B2/ja active Active
- 2018-01-26 KR KR1020197024441A patent/KR102526436B1/ko active IP Right Grant
- 2018-01-26 WO PCT/GB2018/050226 patent/WO2018146451A1/en unknown
-
2019
- 2019-07-29 IL IL268322A patent/IL268322B/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118906A (ja) | 2010-12-03 | 2012-06-21 | Sony Corp | 相互接続装置、および、その制御方法 |
JP2017503245A (ja) | 2014-01-16 | 2017-01-26 | インテル・コーポレーション | 高速構成機構のための装置、方法、およびシステム |
US20160055085A1 (en) | 2014-08-25 | 2016-02-25 | Arm Limited | Enforcing ordering of snoop transactions in an interconnect for an integrated circuit |
WO2016139446A1 (en) | 2015-03-04 | 2016-09-09 | Arm Limited | An apparatus and method to generate trace data in response to transactional execution |
Also Published As
Publication number | Publication date |
---|---|
KR20190116326A (ko) | 2019-10-14 |
US20180225206A1 (en) | 2018-08-09 |
EP3580662B1 (en) | 2021-04-21 |
IL268322A (en) | 2019-09-26 |
EP3580662A1 (en) | 2019-12-18 |
CN110268390A (zh) | 2019-09-20 |
IL268322B (en) | 2021-12-01 |
KR102526436B1 (ko) | 2023-04-27 |
CN110268390B (zh) | 2023-09-01 |
US10795820B2 (en) | 2020-10-06 |
WO2018146451A1 (en) | 2018-08-16 |
TWI770107B (zh) | 2022-07-11 |
JP2020506482A (ja) | 2020-02-27 |
TW201830238A (zh) | 2018-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6948035B2 (en) | Data pend mechanism | |
JP3189727B2 (ja) | コプロセッサ内蔵パケット型メモリlsi、それを用いたメモリシステム及びそれらの制御方法 | |
US11403247B2 (en) | Methods and apparatus for network interface fabric send/receive operations | |
JP4660064B2 (ja) | 分散処理システムにおけるロックの実行 | |
JP2002351817A (ja) | メモリにアクセスする方法及び装置 | |
WO2015134100A1 (en) | Method and apparatus for memory allocation in a multi-node system | |
US10079916B2 (en) | Register files for I/O packet compression | |
JP2018109965A (ja) | データ処理 | |
CN110032335B (zh) | 原子数据访问请求的调节 | |
CN112955876B (zh) | 用于在数据处理网络中传输数据的方法和装置 | |
CN112106032A (zh) | I/o主设备和cpu之间优化数据共享的有序写存储的高性能流 | |
EP3788492B1 (en) | Separating completion and data responses for higher read throughput and lower link utilization in a data processing network | |
JP7140768B2 (ja) | コヒーレント相互接続システムにおける読み取りトランザクショントラッカーのライフタイム | |
CN111104060A (zh) | 数据处理系统中的缓存维护操作 | |
CN108415873B (zh) | 转发对监听请求的响应 | |
EP4022445B1 (en) | An apparatus and method for handling ordered transactions | |
US11188377B2 (en) | Writing zero data | |
JP7363344B2 (ja) | メモリ制御装置、および制御方法 | |
EP1363188B1 (en) | Load-linked/store conditional mechanism in a cc-numa (cache-coherent nonuniform memory access) system | |
JP6620647B2 (ja) | 情報処理システム、送信装置および情報処理システムの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220324 |
|
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: 20220816 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220908 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7140768 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |