KR102888552B1 - 기록 연산의 처리 장치 및 방법 - Google Patents
기록 연산의 처리 장치 및 방법Info
- Publication number
- KR102888552B1 KR102888552B1 KR1020207018112A KR20207018112A KR102888552B1 KR 102888552 B1 KR102888552 B1 KR 102888552B1 KR 1020207018112 A KR1020207018112 A KR 1020207018112A KR 20207018112 A KR20207018112 A KR 20207018112A KR 102888552 B1 KR102888552 B1 KR 102888552B1
- Authority
- KR
- South Korea
- Prior art keywords
- write
- processing device
- cache
- memory
- data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0837—Cache consistency protocols with software control, e.g. non-cacheable data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0817—Cache consistency protocols using directory methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1056—Simplification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/16—General purpose computing application
- G06F2212/163—Server or database system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
도 1은 여기서 설명된 기술들을 구현할 수 있는 시스템의 일례의 블록도이고;
도 2는 도 1의 일관성 회로소자에 의해 유지될 수도 있는 디렉토리의 일례를 도시한 것이고;
도 3은 도 1의 시스템의 메모리내에 설치되어도 되는 락(lock) 스토리지의 일례를 도시한 것이고;
도 4a 및 4b는 하나 이상의 기록 연산들을 수행할 때 처리 디바이스내에서 수행되어도 되는 처리의 흐름도를 도시한 것이고;
도 5는 하나 이상의 기록 연산들을 수행한 처리 디바이스에 의해 개시된 클린 연산에 응답하여, 하나의 구성 예에서 일관성 회로소자에 의해 수행된 단계들을 도시하는 흐름도이고;
도 6은 도 1의 시스템에서 이용한 일관성 메카니즘이 기록 연산들을 수행할 메모리 영역에 어떻게 의존되게 할 수 있는지를 도시하는 흐름도이고;
도 7a 내지 7d는 구성 예에서 처리 디바이스들 중 하나에서 실행할 수도 있는 코드의 시퀀스들의 예를 도시한 것이고;
도 8은 클린될 필요가 있는 기록 연산들을 추적하기 위해, 일 구성 예에 있어서의 하나 이상의 처리 디바이스들에 설치될 수도 있는 FIFO(선입선출) 스토리지를 도시한 것이고;
도 9는 일 구성 예에서의 라이트백 캐시를 개략적으로 도시한 것이고;
도 10은 데이터 처리 디바이스가 일례에서 실행할 수도 있는 명령들의 시퀀스의 예를 도시한 것이다.
Claims (17)
- 제1 메모리 영역내의 적어도 하나의 메모리 장소에 기억하기 위한 기록 데이터를 출력하는 하나 이상의 기록 연산들을 수행하도록, 데이터를 제1 메모리 영역에 기록하기 위한 소유권 권한을 확립하기 위해 소프트웨어 프로토콜을 활성화하는 적어도 하나의 명령과, 소유권 권한의 확립 후 실행된 적어도 하나의 기록 명령을 포함하는, 명령들의 시퀀스를 실행하는 제1 처리 디바이스(10);
제1 처리 디바이스와 관련되고 하나 이상의 기록 연산들 동안에 출력된 기록 데이터를 기억하도록 배치된 라이트백 캐시(15); 및
라이트백 캐시에 결합되고, 적어도 하나의 추가의 처리 디바이스(20, 30)와 관련된 적어도 하나의 추가의 캐시(25, 35)에 결합된, 일관성 회로소자(50)를 구비하는 장치로서,
제1 처리 디바이스는, 기동 이벤트에 응답하여, 기록 데이터를 라이트백 캐시로부터 메모리에 기록시키도록 클린 연산을 개시하고;
일관성 회로소자는, 클린 연산에 응답하여, 상기 적어도 하나의 추가의 캐시와 상호작용하여 기록 데이터를 상기 적어도 하나의 추가의 처리 디바이스에 보이게 하기 위해서 하드웨어 프로토콜을 구현하고,
상기 기동 이벤트는 상기 클린 연산을 개시하는 상기 시퀀스에서의 클리닝 명령의 제1 처리 디바이스에 의한 실행을 포함하고,
상기 클리닝 명령은 라이트백 캐시의 다중 엔트리들의 클리닝을 기동하고,
상기 장치는 다중 엔트리들이 특정되는 것을 가능하게 하는 정보를 기억하는 기억유닛(450)을 더 구비하고,
상기 기억유닛은 제1 처리 디바이스에 의해 수행된 기록 연산들의 표시들을 기억하도록 배치되고;
상기 클리닝 명령은 명령들의 시퀀스에서 종료 명령이고,
상기 제1 처리 디바이스는:
상기 기억유닛에 표시가 기억되는 각 기록 연산의 대상인 기록 데이터를, 라이트백 캐시로부터 제1 메모리 영역에 클린되게 하고;
상기 기억유닛에 기억된 기록 연산들의 표시들을 클리어함으로써,
종료 명령의 실행에 응답하고,
상기 제1 처리 디바이스는, 제1 처리 디바이스에 의해 수행된 기록 연산들의 표시들을, 명령들의 시퀀스에서 시작 명령 후에 기억유닛에 기억시키도록 한층 더 배치되는, 장치.
- 제 1 항에 있어서,
상기 장치는, 상기 제1 처리 디바이스에 의해 기동된 소프트웨어 프로토콜과 일관성 회로소자에 의해 구현된 하드웨어 프로토콜의 조합에 의해 제1 메모리 영역에 관해 캐시 일관성 프로토콜을 구현하는, 장치.
- 제 1 항 또는 제 2 항에 있어서,
상기 일관성 회로소자는, 클린 연산에 응답하여, 상기 적어도 하나의 추가의 캐시에 의해, 기록 데이터의 적어도 하나의 메모리 장소와 관련된 콘텐트를 갖는 임의의 캐시 엔트리를 무효화시키도록 배치되는, 장치.
- 제 1 항 또는 제 2 항에 있어서,
상기 적어도 하나의 추가의 캐시는 복수의 캐시들을 포함하고;
상기 일관성 회로소자는, 상기 복수의 캐시들에서의 캐시마다, 해당 캐시가 캐시하는 데이터를 갖는 메모리 장소들의 표시를 제공하는 레코드를 유지하고;
상기 일관성 회로소자는, 기록 데이터를 상기 적어도 하나의 추가의 처리 디바이스에 보이게 하기 위해서 상기 복수의 캐시들 중에서 어느 캐시들이 상호작용할지를 결정할 때 상기 레코드를 참조하도록 배치되는, 장치.
- 제 4 항에 있어서,
상기 일관성 회로소자는 스누프 회로소자인, 장치.
- 제 1 항 또는 제 2 항에 있어서,
다수의 메모리 영역들에 대한 락 표시를 유지하는 락 스토리지를 더 포함하고;
상기 소프트웨어 프로토콜은, 제1 처리 디바이스에 의해 활성화될 때, 제1 메모리 영역에 대한 락 표시가 클리어인지를 판정하도록 배치되고, 상기 락 표시가 클리어인 경우에는, 또한 소프트웨어 프로토콜은, 제1 메모리 영역에 대해 락 표시를 설정하고, 제1 처리 디바이스가 제1 메모리 영역에 대한 소유권 권한을 갖는 것을 제1 처리 디바이스에게 확인하도록 배치되는, 장치.
- 제 1 항 또는 제 2 항에 있어서,
상기 적어도 하나의 추가의 처리 디바이스에 기록 데이터를 보이게 하였다는 상기 일관성 회로소자로부터의 통지시에, 상기 제1 처리 디바이스는 소유권 권한을 해제하도록 배치되는, 장치.
- 삭제
- 제 1 항에 있어서,
상기 클리닝 명령은, 클리닝될 데이터를 갖는 라이트백 캐시의 특별한 엔트리를 특정하는, 장치.
- 삭제
- 삭제
- 제 1 항에 있어서,
상기 메모리는 지속성의 지점을 형성하는 불휘발성 메모리이고, 종료 명령의 실행에 의해 기록 데이터는 지속성의 지점에 전파되는, 장치.
- 삭제
- 제 1 항에 있어서,
상기 제1 처리 디바이스는 데이터를 제1 메모리 영역에 기록하기 위한 소유권 권한이 확립되어 있을 때 제1 메모리 영역에 대한 기록 연산만을 수행하도록 배치되고, 제1 메모리 영역내의 메모리 장소를 지정하는 진행중 기록명령 전에 시작 명령이 있고 그 진행중 기록명령 후에 종료 명령이 있는, 장치.
- 제 2 항에 있어서,
적어도 하나의 추가의 메모리 영역에 대해서, 상기 캐시 일관성 프로토콜은 상기 일관성 회로소자에 의해서만 구현되고, 상기 제1 처리 디바이스는 상기 적어도 하나의 추가의 캐시에 관해 일관성 회로소자에서 수행한 단계들을 거쳐 상기 적어도 하나의 추가의 메모리 영역에의 배타적 기록 액세스를 얻도록 배치되는, 장치.
- 제1 처리 디바이스(10), 제1 처리 디바이스와 관련된 라이트백 캐시(15), 및 라이트백 캐시에 결합되고, 적어도 하나의 추가의 처리 디바이스(20, 30)와 관련된 적어도 하나의 추가의 캐시(25, 35)에 결합된 일관성 회로소자(50)를, 갖는 장치에서 기록 연산들을 처리하는 방법으로서,
제1 처리 디바이스상에서, 제1 메모리 영역내의 적어도 하나의 메모리 장소에 기억하기 위한 기록 데이터를 출력하는 하나 이상의 기록 연산들을 수행하도록, 데이터를 제1 메모리 영역에 기록하기 위한 소유권 권한을 확립하기 위해 소프트웨어 프로토콜을 활성화하는 적어도 하나의 명령과, 소유권 권한의 확립 후 실행된 적어도 하나의 기록 명령을, 실행하는 단계;
하나 이상의 기록 연산들 동안에 출력된 기록 데이터를 라이트백 캐시내에 기억하는 단계;
기동 이벤트에 응답하여, 제1 처리 디바이스가, 기록 데이터를 라이트백 캐시로부터 메모리에 기록시키도록 클린 연산을 개시하게 하는 단계; 및
클린 연산에 응답하여, 일관성 회로소자가, 상기 적어도 하나의 추가의 캐시와 상호작용하여 기록 데이터를 상기 적어도 하나의 추가의 처리 디바이스에 보이게 하기 위해서 하드웨어 프로토콜을 구현하게 하는 단계를 포함하고,
상기 기동 이벤트는 상기 클린 연산을 개시하는 시퀀스에서의 클리닝 명령의 제1 처리 디바이스에 의한 실행을 포함하고,
상기 클리닝 명령은 라이트백 캐시의 다중 엔트리들의 클리닝을 기동하고,
상기 방법은 다중 엔트리들이 특정되는 것을 가능하게 하는 정보를 기억하는 단계를 더 포함하고,
상기 정보를 기억하는 단계는 상기 제1 처리 디바이스에 의해 수행된 기록 연산들의 표시들을 기억유닛(450)에 기억하는 단계를 포함하고,
상기 클리닝 명령은 명령들의 시퀀스에서 종료 명령이고,
상기 제1 처리 디바이스는:
표시가 기억되는 각 기록 연산의 대상인 기록 데이터를, 라이트백 캐시로부터 메모리에 클린되게 하고;
상기 기억유닛에 기억된 기록 연산들의 표시들을 클리어함으로써,
종료 명령의 실행에 응답하고,(11항)
상기 방법은, 상기 제1 처리 디바이스에 의해 수행된 기록 연산들의 표시들을, 명령들의 시퀀스에서 시작 명령 후에 기억시키도록 하는 단계를 더 포함하는, 방법. - 삭제
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/831,609 US10621103B2 (en) | 2017-12-05 | 2017-12-05 | Apparatus and method for handling write operations |
| US15/831,609 | 2017-12-05 | ||
| PCT/GB2018/053442 WO2019110961A1 (en) | 2017-12-05 | 2018-11-28 | An apparatus and method for handling write operations |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20200095496A KR20200095496A (ko) | 2020-08-10 |
| KR102888552B1 true KR102888552B1 (ko) | 2025-11-24 |
Family
ID=64650423
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020207018112A Active KR102888552B1 (ko) | 2017-12-05 | 2018-11-28 | 기록 연산의 처리 장치 및 방법 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US10621103B2 (ko) |
| EP (1) | EP3721347B1 (ko) |
| JP (1) | JP7320508B2 (ko) |
| KR (1) | KR102888552B1 (ko) |
| CN (1) | CN111417934B (ko) |
| WO (1) | WO2019110961A1 (ko) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11106609B2 (en) | 2019-02-28 | 2021-08-31 | Micron Technology, Inc. | Priority scheduling in queues to access cache data in a memory sub-system |
| US11288199B2 (en) | 2019-02-28 | 2022-03-29 | Micron Technology, Inc. | Separate read-only cache and write-read cache in a memory sub-system |
| US10970222B2 (en) * | 2019-02-28 | 2021-04-06 | Micron Technology, Inc. | Eviction of a cache line based on a modification of a sector of the cache line |
| US11556471B2 (en) * | 2019-04-30 | 2023-01-17 | Hewlett Packard Enterprise Development Lp | Cache coherency management for multi-category memories |
| US11144467B2 (en) * | 2019-05-17 | 2021-10-12 | Intel Corporation | Bypassing cache memory in a write transaction in a system with multi-level memory |
| US12045644B2 (en) * | 2019-05-24 | 2024-07-23 | Texas Instruments Incorporated | Pseudo-random way selection |
| US11144456B2 (en) | 2019-05-24 | 2021-10-12 | Texas Instmments Incorporated | Hardware coherence signaling protocol |
| US12182021B2 (en) * | 2020-12-23 | 2024-12-31 | Intel Corporation | Methods and apparatus to enable secure multi-coherent and pooled memory in an edge network |
| CN117234431B (zh) * | 2023-11-14 | 2024-02-06 | 苏州元脑智能科技有限公司 | 缓存管理方法、装置、电子设备及存储介质 |
| CN117560422B (zh) * | 2023-11-27 | 2025-09-30 | 海光信息技术股份有限公司 | 数据处理方法和装置、电子设备以及存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008027435A (ja) * | 2006-06-29 | 2008-02-07 | Intel Corp | 排他的所有権のスヌープフィルタ |
| US7360031B2 (en) * | 2005-06-29 | 2008-04-15 | Intel Corporation | Method and apparatus to enable I/O agents to perform atomic operations in shared, coherent memory spaces |
| US7877549B1 (en) * | 2007-06-12 | 2011-01-25 | Juniper Networks, Inc. | Enforcement of cache coherency policies using process synchronization services |
| JP2017527023A (ja) * | 2014-08-04 | 2017-09-14 | エイアールエム リミテッド | 不揮発性メモリへの書き込み操作 |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5404482A (en) | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills |
| JPH07271669A (ja) | 1994-03-28 | 1995-10-20 | Nec Eng Ltd | キャッシュメモリ制御回路 |
| JPH0962577A (ja) * | 1995-08-22 | 1997-03-07 | Canon Inc | 情報処理システム及び情報処理方法 |
| JPH0962580A (ja) * | 1995-08-30 | 1997-03-07 | Canon Inc | マルチプロセッサ装置 |
| US5802582A (en) | 1996-09-10 | 1998-09-01 | International Business Machines Corporation | Explicit coherence using split-phase controls |
| JP3204295B2 (ja) | 1997-03-31 | 2001-09-04 | 日本電気株式会社 | キャッシュメモリシステム |
| US7120762B2 (en) | 2001-10-19 | 2006-10-10 | Wisconsin Alumni Research Foundation | Concurrent execution of critical sections by eliding ownership of locks |
| US7089374B2 (en) | 2003-02-13 | 2006-08-08 | Sun Microsystems, Inc. | Selectively unmarking load-marked cache lines during transactional program execution |
| JP2006091995A (ja) | 2004-09-21 | 2006-04-06 | Toshiba Microelectronics Corp | キャッシュメモリのライトバック装置 |
| US8683143B2 (en) | 2005-12-30 | 2014-03-25 | Intel Corporation | Unbounded transactional memory systems |
| CN101470669B (zh) * | 2007-12-28 | 2011-02-16 | 无锡江南计算技术研究所 | 多缓存数据一致性的处理方法及主存处理机 |
| JP4474570B2 (ja) * | 2008-01-28 | 2010-06-09 | エヌイーシーコンピュータテクノ株式会社 | キャッシュコヒーレンシ制御方法 |
| WO2010014200A1 (en) | 2008-07-28 | 2010-02-04 | Advanced Micro Devices, Inc. | Virtualizable advanced synchronization facility |
| GB2484088B (en) | 2010-09-28 | 2019-08-07 | Advanced Risc Mach Ltd | Coherency control with writeback ordering |
| US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
| US9104690B2 (en) | 2011-01-27 | 2015-08-11 | Micron Technology, Inc. | Transactional memory |
| US20130091331A1 (en) | 2011-10-11 | 2013-04-11 | Iulian Moraru | Methods, apparatus, and articles of manufacture to manage memory |
| US8935475B2 (en) * | 2012-03-30 | 2015-01-13 | Ati Technologies Ulc | Cache management for memory operations |
| US9092341B2 (en) | 2012-07-10 | 2015-07-28 | International Business Machines Corporation | Methods of cache preloading on a partition or a context switch |
| US9547594B2 (en) | 2013-03-15 | 2017-01-17 | Intel Corporation | Instructions to mark beginning and end of non transactional code region requiring write back to persistent storage |
| EP3531292B1 (en) | 2013-07-26 | 2021-08-25 | INTEL Corporation | Methods and apparatus for supporting persistent memory |
| WO2016018421A1 (en) | 2014-07-31 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Cache management for nonvolatile main memory |
| GB2539382B (en) * | 2015-06-01 | 2017-05-24 | Advanced Risc Mach Ltd | Cache coherency |
| US10241911B2 (en) * | 2016-08-24 | 2019-03-26 | Hewlett Packard Enterprise Development Lp | Modification of multiple lines of cache chunk before invalidation of lines |
-
2017
- 2017-12-05 US US15/831,609 patent/US10621103B2/en active Active
-
2018
- 2018-11-28 JP JP2020529307A patent/JP7320508B2/ja active Active
- 2018-11-28 EP EP18815292.0A patent/EP3721347B1/en active Active
- 2018-11-28 WO PCT/GB2018/053442 patent/WO2019110961A1/en not_active Ceased
- 2018-11-28 KR KR1020207018112A patent/KR102888552B1/ko active Active
- 2018-11-28 CN CN201880076927.XA patent/CN111417934B/zh active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7360031B2 (en) * | 2005-06-29 | 2008-04-15 | Intel Corporation | Method and apparatus to enable I/O agents to perform atomic operations in shared, coherent memory spaces |
| JP2008027435A (ja) * | 2006-06-29 | 2008-02-07 | Intel Corp | 排他的所有権のスヌープフィルタ |
| US7877549B1 (en) * | 2007-06-12 | 2011-01-25 | Juniper Networks, Inc. | Enforcement of cache coherency policies using process synchronization services |
| JP2017527023A (ja) * | 2014-08-04 | 2017-09-14 | エイアールエム リミテッド | 不揮発性メモリへの書き込み操作 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021505994A (ja) | 2021-02-18 |
| CN111417934A (zh) | 2020-07-14 |
| US10621103B2 (en) | 2020-04-14 |
| EP3721347B1 (en) | 2025-01-01 |
| JP7320508B2 (ja) | 2023-08-03 |
| US20190171573A1 (en) | 2019-06-06 |
| KR20200095496A (ko) | 2020-08-10 |
| WO2019110961A1 (en) | 2019-06-13 |
| CN111417934B (zh) | 2024-10-25 |
| EP3721347A1 (en) | 2020-10-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102888552B1 (ko) | 기록 연산의 처리 장치 및 방법 | |
| US8996812B2 (en) | Write-back coherency data cache for resolving read/write conflicts | |
| US7366847B2 (en) | Distributed cache coherence at scalable requestor filter pipes that accumulate invalidation acknowledgements from other requestor filter pipes using ordering messages from central snoop tag | |
| US8700863B2 (en) | Computer system having a cache memory and control method of the same | |
| KR100567099B1 (ko) | L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치 | |
| CN108446239B (zh) | 用于数据处理的系统、主设备、互连结构、装置和方法 | |
| US8347037B2 (en) | Victim cache replacement | |
| CN101178692B (zh) | 用于提供事务处理存储器的高速缓冲存储器系统和方法 | |
| KR101677900B1 (ko) | 데이터 처리장치 내부의 로컬 캐시 구조에 발행된 액세스 연산을 처리하는 장치 및 방법 | |
| US8209489B2 (en) | Victim cache prefetching | |
| US6330643B1 (en) | Cache coherency protocols with global and local posted operations | |
| US6721855B2 (en) | Using an L2 directory to facilitate speculative loads in a multiprocessor system | |
| JPH0555899B2 (ko) | ||
| JP2000250812A (ja) | メモリ・キャッシュ・システムおよびその管理方法 | |
| US8095739B2 (en) | Barriers processing in a multiprocessor system having a weakly ordered storage architecture without broadcast of a synchronizing operation | |
| JPH0762836B2 (ja) | データ・アクセス管理装置および方法 | |
| US20100023695A1 (en) | Victim Cache Replacement | |
| CN1131481C (zh) | 包含一具有精确模式和非精确模式的悬停状态的高速缓存相关协议 | |
| US20140006716A1 (en) | Data control using last accessor information | |
| US8332592B2 (en) | Graphics processor with snoop filter | |
| JPH11328024A (ja) | 垂直キャッシュのための擬似精細i―キャッシュ包含性 | |
| US6418514B1 (en) | Removal of posted operations from cache operations queue | |
| US6134635A (en) | Method and apparatus of resolving a deadlock by collapsing writebacks to a memory | |
| US20080244190A1 (en) | Method, Apparatus, System and Program Product Supporting Efficient Eviction of an Entry From a Central Coherence Directory | |
| CN1230721A (zh) | 具有指令和数据的悬停(h)状态的高速缓存相关协议 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| A201 | Request for examination | ||
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| D22 | Grant of ip right intended |
Free format text: ST27 STATUS EVENT CODE: A-1-2-D10-D22-EXM-PE0701 (AS PROVIDED BY THE NATIONAL OFFICE) |
|
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| F11 | Ip right granted following substantive examination |
Free format text: ST27 STATUS EVENT CODE: A-2-4-F10-F11-EXM-PR0701 (AS PROVIDED BY THE NATIONAL OFFICE) |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| U12 | Designation fee paid |
Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U12-OTH-PR1002 (AS PROVIDED BY THE NATIONAL OFFICE) Year of fee payment: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| Q13 | Ip right document published |
Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q13-NAP-PG1601 (AS PROVIDED BY THE NATIONAL OFFICE) |