IP Library Granted Patent US 9,842,009
Granted Patent B2
US 9,842,009 · App. 14/785,634 · Granted Dec 12, 2017

Method and device for detecting a race condition and a computer program product

Inventor: Oleksandr Sakada (Munich, DE)
Assignee: NXP USA, Inc.
G06F9/52G06F9/524G06F11/0715G06F11/362
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,842,009
App. No.
14/785,634
Granted
Dec 12, 2017
Kind
B2
Abstract

A method is provided for detecting a race condition of a parallel task when accessing a shared resource in a multi-core processing system. The method requires that a core requires only a read access to the data set of another core, thereby ensuring better decoupling of the tasks. In an initialisation phase, initial values of global variables are assigned, in an activation phase, each core determines if the other core has written new values to the variables and if so, detects a race condition. Initial values are restored for each variable in a deactivation phase.

Claims (8)

1. A method for detecting a race condition, comprising: writing a pre-defined value to a copy of a first global variable D 1 , wherein the first global variable is write-accessible, in a first processing core; identifying a race condition when a value of a copy of a third global variable A 2 , wherein the third global variable is read-accessible, in a second processing core does not equal an initial value, writing a value to a copy of a second global variable A 1 , wherein the second global variable is write-accessible, in the first processing core; identifying a race condition when a value of a copy of a fourth global variable D 2 , wherein the fourth global variable is read-accessible, in the second processing core does not equal an initial value; accessing a shared resource; and writing an initial value to the copy of the first global variable D 1 , and writing an initial value to the copy of the second global variable A 1 .

2. The method of claim 1 further comprising writing initial values to the copies of the first and second global variables D 1 , A 1 , prior to writing the pre-defined value to the copy of the first global variable D 1 .

3. The method of claim 1 further comprising generating a race detected message and/or terminating when a race condition is detected.

4. The method of claim 1 further comprising at least a first thread and a second thread calling the method when accessing the shared resource.

5. A device for detecting a race condition, said device comprising: a processing unit arranged to write a pre-defined value to a copy of a first global variable D 1 , wherein the first global variable is write-accessible, in a first processing core, identify a race condition when a value of a copy of a third global variable A 2 , wherein the third global variable is read-accessible, in a second processing core does not equal an initial value; write a value to a copy of a second global variable A 1 , wherein the second global variable is write-accessible, in the first processing core; identify a race condition when a value of a copy of a fourth global variable D 2 , wherein the fourth global variable is read-accessible, does not equal an initial value; access a shared resource; write an initial value to the copy of the first global variable D 1 , and write an initial value to the copy of the second global variable A 1 .

6. The device of claim 5 wherein the processing unit is further arranged to write initial values to the copies of the first and second global variables D 1 , A 1 , prior to writing the pre-defined value to the copy of the first global variable D 1 .

7. The device of claim 5 wherein the processing unit is further arranged to generate a race detected message and/or terminate when a race condition is identified.

8. The device of claim 5 wherein the device is implemented in an integrated circuit.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2015
From: SAKADA, OLEKSANDR
To: FREESCALE SEMICONDUCTOR? INC.
Reel/Frame 036827/0358 →
Continuity (1)
Related Publication 20160062806A1 · Mar 3, 2016