IP Library Granted Patent US 9,703,709
Granted Patent B2
US 9,703,709 · App. 14/791,699 · Granted Jul 11, 2017

Method and apparatus for ensuring data cache coherency

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,703,709
App. No.
14/791,699
Granted
Jul 11, 2017
Kind
B2
Abstract

A multithreaded processor can concurrently execute a plurality of threads in a processor core. The threads can access a shared main memory through a memory interface; the threads can generate read and write transactions that cause shared main memory access. An incoherency detection module prevents incoherency by maintaining a record of outstanding global writes, and detecting a conflicting global read. A barrier is sequenced with the conflicting global write. The conflicting global read is allowed to proceed after the sequence of the conflicting global write and the barrier are cleared. The sequence can be maintained by a separate queue for each thread of the plurality.

Claims (13)

1. An incoherency detection module for maintaining data coherency in a memory resource shared by multiple threads running on a processor, comprising:

a plurality of global write access memories each storing at least a range of memory resource addresses for a plurality of previous write requests from a respective one of the threads running on said processor;

a comparator unit configured to compare a memory resource address of a read request from a thread running on said processor with at least said range of memory resource addresses stored in global write access memories of others of said threads running on said processor;

an outstanding request determination unit configured to determine, if the result of comparison by said comparator unit indicates that the memory resource address of said read request at least falls within said range of memory resource addresses, whether any outstanding write requests exist for said others of said threads; and

a request barrier unit configured to issue a request barrier which prevents said read request from accessing said memory resource if said outstanding request determination unit determines that an outstanding write request exists.

2. The incoherency detection module of claim 1 , wherein said request barrier is attached to a subsequent read request as sideband data.

3. The incoherency detection module of claim 2 , wherein said request barrier includes data identifying the thread to which said subsequent read request belongs.

4. The incoherency detection module of claim 1 , wherein a current time stamp is attached to each read and write request.

5. A method for maintaining data coherency in a memory resource shared by multiple threads running on a processor, said method comprising:

storing at least a range of memory resource addresses for a plurality of previous write requests from a respective one of the threads running on said processor;

comparing a memory resource address of a read request from a thread running on said processor with at least said range of memory resource addresses stored in global write access memories of others of said threads running on said processor;

determining, if the result of comparison indicates that the memory resource address of said read request at least falls within said range of memory resource addresses, whether any outstanding write requests exist for said others of said threads; and

issuing a request barrier which prevents said read request from accessing said memory resource if said outstanding request determination unit determines that an outstanding write request exists.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Dec 29, 2022
From: CAPITAL FINANCE ADMINISTRATION, LLC, AS ADMINISTRATIVE AGENT
To: MIPS TECH, LLC; WAVE COMPUTING INC.
Reel/Frame 062251/0251 →
SECURITY INTEREST Recorded Jun 14, 2021
From: MIPS TECH, LLC; WAVE COMPUTING, INC.
To: CAPITAL FINANCE ADMINISTRATION, LLC
Reel/Frame 056558/0903 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2021
From: WAVE COMPUTING LIQUIDATING TRUST
To: MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.; MIPS TECH, LLC; WAVE COMPUTING, INC.
Reel/Frame 056589/0606 →
SECURITY INTEREST Recorded Feb 26, 2021
From: WAVE COMPUTING, INC.; MIPS TECH, LLC; MIPS TECH, INC.; HELLOSOFT, INC.; WAVE COMPUTING (UK) LIMITED; IMAGINATION TECHNOLOGIES, INC.; CAUSTIC GRAPHICS, INC.
To: WAVE COMPUTING LIQUIDATING TRUST
Reel/Frame 055429/0532 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2018
From: MIPS TECH LIMITED
To: MIPS TECH, LLC
Reel/Frame 045565/0099 →
CHANGE OF NAME Recorded Jan 26, 2018
From: HELLOSOFT LIMITED
To: MIPS TECH LIMITED
Reel/Frame 045168/0922 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2018
From: IMAGINATION TECHNOLOGIES LIMITED
To: HELLOSOFT LIMITED
Reel/Frame 044712/0386 →