IP Library Granted Patent US 8,806,294
Granted Patent B2
US 8,806,294 · App. 13/452,501 · Granted Aug 12, 2014

Error detection within a memory

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 8,806,294
App. No.
13/452,501
Granted
Aug 12, 2014
Kind
B2
Abstract

Embodiments of systems and methods for detecting errors that occur in association with an access to a memory and providing an associated error status are presented herein. According to one embodiment, an access to a memory may be received, where the access comprises a request tag. A request parity is determined based on the request tag and a stored tag and a stored parity associated with the request tag are also determined. An error correction status is determined based on the stored tag and the stored parity associated with the request tag. Additionally, a parity hotness is determined by comparing the request parity and the stored parity and a tag hotness is determined by comparing the request tag and the stored tag. An error status associated with the access is determined based on the parity hotness, the tag hotness and the error correction status.

Claims (36)

1. An error detection system in a memory, comprising:

a tag memory configured to generate a stored tag and a stored parity associated with a request tag received in association with an access to the memory;

an error detection code encoder configured to determine a request parity based on the received request tag;

Error Correction Code (ECC) detection logic coupled to the tag memory and configured to determine an error correction status based on the stored tag and the stored parity;

hotness logic coupled to the tag memory and the error detection code encoder and configured to receive the stored tag and the stored parity from the tag memory, receive the request tag, receive the request parity from the error detection code encoder, determine a parity hotness by comparing the stored parity and the request parity, and determine a tag hotness by comparing the stored tag and the request tag; and

error status logic coupled to the hotness logic and the ECC detection logic and configured to receive the parity hotness, the tag hotness and the error correction status and determine an error status based on the parity hotness, tag hotness, and the error correction status.

2. The system of claim 1 , wherein the ECC detection logic is configured to operate in parallel with the hotness logic.

3. The system of claim 2 , wherein the stored tag and the stored parity are received at the hotness logic from the tag memory when it is accessed with the request tag, and the error detection code encoder is configured to operate in parallel with an access to the tag memory.

4. The system of claim 3 , wherein the error correction status is provided on a double error flag line and a single error flag line and the error status is provided on a double error status line, a HIT/MISS line and a fault line, wherein the HIT/MISS line is set to indicate that the requested tag is located in the memory, the double bit status error line is set to indicate that a double bit error was detected with respect to the access and a fault value is set to indicate that a detected double bit error cannot be corrected.

5. The system of claim 4 , wherein the double bit status error line is set only if the double error flag line is set.

6. The system of claim 1 , wherein the hotness logic is configured to compare the request tag and the stored tag to determine a number of bits that are different between the request tag and the stored tag.

7. The system of claim 6 , wherein the hotness logic is configured to compare the request parity and the stored parity to determine a number of bits that are different between the request parity and the stored parity.

8. The system of claim 7 , wherein the tag hotness is provided to the error status logic on a tag match line, a tag one-hot line and a tag two-hot line and the parity hotness is provided to the error status logic on a parity match line, a parity one-hot line and a parity two-hot line, wherein the tag match line is set if there are no bits different between the request tag and the stored tag, the tag one-hot line is set if there is a one bit difference between the request tag and the stored tag, the tag two-hot line is set if there is a two bit difference between the request tag and the stored tag, the parity match line is set of there are no bits different between the request parity and the stored parity, the parity one-hot line is set if there is a one bit difference between the request parity and the stored parity and the parity two-hot line is set if there is a two bit difference between the request parity and the stored parity.

9. A method for error detection in a memory, the method comprising:

receiving an access to a memory, wherein the access comprises a request tag; determining a request parity based on the request tag;

retrieving a stored tag and a stored parity associated with the request tag;

determining an error correction status based on the stored tag and the stored parity associated with the request tag;

determining a parity hotness by comparing the request parity and the stored parity;

determining a tag hotness by comparing the request tag and the stored tag; and

determining an error status associated with the access based on the parity hotness, the tag hotness and the error correction status.

10. The method of claim 9 , wherein the memory is a cache and the access an access to the cache.

11. The method of claim 10 , wherein the error correction status is determined in parallel with the determination of the parity hotness and the tag hotness.

12. The method of claim 11 , wherein the request parity is determined in parallel with the determination of the stored tag and the stored parity associated with the request tag.

13. The method of claim 12 , wherein the error correction status indicates no error, a single bit error or a double bit error and the error status comprises a hit/miss value indicating if the requested tag is located in the memory, a double bit status error value indicating if a double bit error was detected with respect to the access and a fault value indicating if a detected double bit error can be corrected.

14. The method of claim 9 , wherein the request tag and the stored tag are compared to determine a number of bits that are different between the request tag and the stored tag.

15. The method of claim 14 , wherein the tag hotness indicates the number of bits that are different between the request tag and the stored tag.

16. The method of claim 15 , wherein the request parity and the stored parity are compared to determine a number of bits that are different between the request parity and the stored parity.

17. The method of claim 16 , wherein the parity hotness indicates the number of bits that are different between the request parity and the stored parity.

18. The method of claim 9 , where the double bit status error value indicate a double bit error only if the error correction status indicates a double bit error.

19. A cache system including error detection, the cache system comprising:

an error detection code encoder configured to determine a request parity based on a request tag received at a cache in association with an access;

a tag memory operating in parallel with the error detection code encoder and configured to receive the request tag and determine a stored tag and a stored parity, wherein the tag memory and the error detection code encoder are configured to operate in parallel;

ECC detection logic coupled to the tag memory and configured to receive the stored tag and the stored parity, determine an error correction status based on the stored tag and the stored parity and provide the error correction status on a single error flag line and a double error flag line;

hotness logic coupled to the error detection code encoder and the ECC detection logic, wherein the hotness logic is operating in parallel with the ECC detection logic and configured to receive the stored tag and the stored parity, receive the request tag, receive the request parity from the error detection code encoder, determine a parity hotness by comparing the stored parity and the request parity and determine a tag hotness by comparing the stored tag and the request tag, provide the tag hotness on a tag match line, a tag one-hot line and a tag two-hot line, and provide the parity hotness on a parity match line, a parity one-hot line and a parity two-hot line; and

error status logic coupled to the hotness logic and the ECC detection logic and configured to receive the parity hotness, the tag hotness and an error correction status, and determine an error status based on the parity hotness, tag hotness, and the error correction status, wherein the error status is provided on a double error status line, a HIT/MISS line and a fault line, wherein the HIT/MISS line is set to indicate that the requested tag is located in the memory, the double bit status error line is set to indicate that a double bit error was detected with respect to the access and a fault value is set to indicate that a detected double bit error cannot be corrected.

20. The cache system of claim 19 , wherein the hotness logic is configured to compare the request tag and the stored tag to determine a number of bits that are different between the request tag and the stored tag, compare the request parity and the stored parity to determine a number of bits that are different between the request parity and the stored parity and set the tag match line if there are no bits different between the request tag and the stored tag, set the tag one-hot line if there is a one bit difference between the request tag and the stored tag, set the tag two-hot line if there is a two bit difference between the request tag and the stored tag, set the parity match line if there are no bits different between the request parity and the stored parity, set the parity one-hot line if there is a one bit difference between the request parity and the stored parity and set the parity two-hot line if there is a two bit difference between the request parity and the stored parity.

Assignments (32)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2025
From: NXP USA, INC.
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY LIMITED
Reel/Frame 072889/0939 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/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 TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0241. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 5, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041260/0850 →
MERGER Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 040652/0241 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0535 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0555 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0575 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Apr 22, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030258/0479 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Apr 22, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030258/0501 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Apr 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 030256/0706 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2012
From: RAMARAJU, RAVINDRARAJ
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 028111/0575 →