IP Library Granted Patent US 9,389,954
Granted Patent B2
US 9,389,954 · App. 14/190,949 · Granted Jul 12, 2016

Memory redundancy to replace addresses with multiple errors

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,389,954
App. No.
14/190,949
Granted
Jul 12, 2016
Kind
B2
Abstract

A method and apparatus are provided for error correction of a memory by using a first memory ( 18 ), second memory ( 14 ), and redundant memory ( 19 ) to perform error correction code (ECC) processing on data retrieved from the first memory ( 18 ) by using the redundant memory ( 19 ) to replace entries in the second memory ( 14 ) having repeat addresses, thereby freeing entries in the second memory ( 14 ) for use in detecting and managing errors identified by the ECC processing.

Claims (38)

1. A method comprising:

initiating a read operation of a first memory to retrieve data from a specified address;

performing an error correction code (ECC) process on the data to detect if the data is erroneous and to provide corrected data;

detecting if a second memory has exceeded a storage threshold level;

storing the specified address and corrected data in the second memory in an available entry when the second memory has not exceeded the storage threshold level; and

transferring one or more redundant entries from the second memory to a redundant memory when the second memory has exceeded the storage threshold level.

2. The method of claim 1 , wherein the first memory is one of either a dynamic random access memory (DRAM) or a static random access memory (SRAM).

3. The method of claim 1 , where the second memory comprises a content addressable memory (CAM) for storing a plurality of entries, each comprising an address field and data field.

4. The method of claim 1 , where detecting if the second memory has exceeded the storage threshold level comprises detecting if a content addressable memory (CAM) has a predetermined threshold number of CAM entries.

5. The method of claim 4 , further comprising identifying the one or more entries in the second memory for transfer to a redundant element of the first memory by scanning the CAM to identify CAM entries having a repeat address.

6. The method of claim 4 , further comprising,

selecting a CAM entry comprising CAM entry data to be written to a redundant element of the first memory and a CAM entry address;

activating a redundant element in the redundant memory to be addressed by a first portion of the CAM entry address; and

writing corrected CAM entry data to the redundant element in the redundant memory at a second portion CAM entry address.

7. The method of claim 6 , further comprising writing selected data not requiring correction to the redundant element from the first memory from an address corresponding to the first portion of the CAM entry address.

8. The method of claim 6 , further comprising removing each CAM entry having the first portion of the CAM entry address.

9. The method of claim 1 , further comprising outputting the corrected data to a data processor.

10. The method of claim 1 , further comprising transferring all entries from the second memory to the redundant memory upon detecting a predetermined event where the first memory and redundant memory are inactive.

11. The method of claim 1 , further comprising transferring all entries from the second memory to a non-volatile memory upon detecting a predetermined power down or reset event.

12. A memory comprising:

a first memory organized in an array of rows and columns for addressing data read and write operations;

a second memory organized as a plurality of entries for storing data, each entry comprising an address value and corrected data;

a spare memory comprising one or more redundant elements for storing data at specified addresses;

an error correction control circuit for performing error correction on data stored in the first memory at a specified address to generate corrected data, and for storing the corrected data and specified address in an entry in the second memory; and

a circuit coupled to the second memory and spare memory that is configured to detect if the second memory has exceeded a storage threshold level, and to transfer one or more redundant entries from the second memory to the spare memory when the second memory has exceeded the storage threshold level.

13. The memory of claim 12 , where spare memory is formed in a redundant memory region of the first memory.

14. The memory of claim 12 , where the second memory comprises a content addressable memory (CAM).

15. The memory of claim 14 , where the circuit further comprises control logic for detecting if the second memory has a predetermined threshold number of CAM entries.

16. The memory of claim 15 , where the circuit further comprises control logic for identifying one or more entries in the second memory for transfer to a redundant element of the spare memory by scanning the second memory to identify CAM entries having a repeat address.

17. The memory of claim 14 , where the circuit is configured to transfer one or more redundant entries from the second memory to the spare memory by selecting a CAM entry from the second memory comprising CAM entry data to be written to a redundant element of the spare memory and a CAM entry address, activating a redundant element in the spare memory to be addressed by a first portion of the CAM entry address, and writing corrected CAM entry data to the redundant element in the spare memory at a second portion CAM entry address.

18. The memory of claim 12 , where the circuit is configured to transfer one or more redundant entries from the second memory to the spare memory by transferring all entries from the second memory to the spare memory upon detecting a predetermined event where the first memory and spare memory are inactive.

19. The memory of claim 12 , where the circuit is configured to all entries from the second memory to a non-volatile memory upon detecting a predetermined power down or reset event.

20. A system comprising:

a random access memory (RAM) array;

a content addressable memory (CAM) array;

an address decoder for initiating a read operation of the RAM array to retrieve data from a specified address;

control circuitry for performing an error correction code (ECC) process on data retrieved from the RAM array to detect if the data is erroneous, to provide corrected data, and to store the specified address and corrected data to the CAM array; and

a CAM replacement circuit for detecting if the CAM array has exceeded a storage threshold level by scanning the CAM array to identify CAM entries having a repeat address, where the CAM replacement circuit transfers one or more redundant entries from the CAM array to a spare memory when the CAM array has exceeded the storage threshold level.

Assignments (26)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2025
From: NXP USA, INC.
To: ASCALE TECHNOLOGIES LLC
Reel/Frame 070026/0838 →
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 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 →
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 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 →
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 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 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 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBERS PREVIOUSLY RECORDED AT REEL: 037458 FRAME: 0438. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded May 12, 2016
From: CITIBANK, NA
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038665/0136 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT APPLICATION NUMBERS 12222918, 14185362, 14147598, 14185868 & 14196276 PREVIOUSLY RECORDED AT REEL: 037458 FRAME: 0479. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded May 12, 2016
From: CITIBANK, NA
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038665/0498 →
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 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0438 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0479 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0763 →
SUPPLEMENT TO SECURITY AGREEMENT Recorded May 7, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032845/0442 →
SUPPLEMENT TO SECURITY AGREEMENT Recorded May 7, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 032845/0497 →
SUPPLEMENT TO SECURITY AGREEMENT Recorded May 7, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032845/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2014
From: PELLEY, PERRY H.; HOEKSTRA, GEORGE P.; RAMARAJU, RAVINDRARAJ
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 032305/0375 →