IP Library Granted Patent US 8,977,933
Granted Patent B2
US 8,977,933 · App. 13/634,760 · Granted Mar 10, 2015

Method for providing data protection for data stored within a memory element and integrated circuit device therefor

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,977,933
App. No.
13/634,760
Granted
Mar 10, 2015
Kind
B2
Abstract

A method for providing data protection for data stored within a Random Access Memory element. The method comprises receiving data to be written to memory, dividing the received data into a plurality of data sections, applying error correction codes to the data sections to form codeword sections, interleaving the codeword sections to form an interleaved data codeword, and writing within a single clock cycle the interleaved data codeword to memory.

Claims (49)

1. A method for providing data protection for data stored within a Random Access Memory element, the method comprising:

receiving data to be written to memory;

dividing the received data into a plurality of n data sections, wherein each one of the n data sections comprises at least one data bit;

applying an error correction code to each one of the n data sections to form a respective codeword section, wherein each codeword section comprises the at least one data bit and at least one Error Correction Code (ECC) bit appended to the at least one data bit;

interleaving every data bit and every ECC bit of each codeword section with every data bit and every ECC bit of every other codeword section to form an interleaved data codeword, wherein consecutive bits of each codeword section are located at one in every n consecutive bits of the interleaved data codeword; and

writing within a single clock cycle the interleaved data codeword to memory.

2. The method of claim 1 further comprising:

multiplexing, prior to said writing, the interleaved data codeword, wherein consecutive bits of the interleaved data codeword are written within the single clock cycle to one in every i consecutive bit cells in a row of memory bit cells of the memory.

3. The method of claim 1 further comprising:

multiplexing, prior to said writing, the interleaved data codeword, wherein consecutive bits of the interleaved data codeword are written within the single clock cycle to one in every four consecutive bit cells in a row of memory bit cells of the memory.

4. The method of claim 1 further comprising:

applying a single-bit error correction code to each one of the n data sections to form the respective codeword section.

5. The method of claim 1 further comprising:

dividing the received data into two data sections.

6. A method for providing data protection for data stored within a Random Access Memory element, the method comprising:

reading, in a single clock cycle, a data codeword from a memory;

de-interleaving the read data codeword to obtain a plurality of n codeword sections, wherein consecutive bits of each codeword section are obtained from one in every n consecutive bits of the read data codeword and each codeword section comprises at least one data bit and at least one Error Correction Code (ECC) bit appended to the at least one data bit;

performing error detection and correction on each one of the n codeword sections to retrieve a respective data section; and

combining each one of the n retrieved respective data sections to reproduce user data.

7. The method of claim 6 further comprising:

de-multiplexing, prior to said de-interleaving, the read data codeword, wherein consecutive bits of the data codeword are from one in every i consecutive bit cells in a row of memory bit cells of the memory.

8. The method of claim 6 further comprising:

de-multiplexing, prior to said de-interleaving, the read data codeword, wherein consecutive bits of the data codeword are from one in every four consecutive bit cells in a row of memory bit cells of the memory.

9. The method of claim 6 further comprising:

performing single-bit error detection and correction on each one of the n de-interleaved codeword sections to retrieve the respective data section.

10. The method of claim 6 further comprising:

de-interleaving the read data codeword to obtain two codeword sections.

11. The method of claim 6 further comprising:

reading a 44 bit data codeword from the memory;

de-interleaving the 44 bit data codeword to obtain two 22 bit data codeword sections;

performing error detection and correction on the de-interleaved data codeword sections to retrieve two 16 bit data sections; and

combining the two 16 bit data sections to reproduce a 32 bit data word.

12. An integrated circuit device comprising a memory access module for writing received data to a Random Access Memory, wherein the memory access module comprises:

a plurality of n error correcting code blocks, each coupled to receive one of n sections of the received data, and configured to apply an error correction code to each one of the n received data sections to form a respective codeword section, wherein each one of the n data sections comprises at least one data bit, and the respective codeword section comprises the at least one data bit and at least one Error Correction Code (ECC) bit appended to the at least one data bit;

wherein the memo access module is configured to:

interleave every data bit and every ECC bit of each one of the respective code word sections with every data bit and every ECC bit of every other code word section to form an interleaved data codeword, wherein consecutive bits of each codeword section are located at one in every n consecutive bits of the interleaved data codeword; and

write in a single clock cycle the interleaved data codeword to the Random Access Memory.

13. The integrated circuit device of claim 12 , further comprising a multiplexer, coupled to the plurality of n error correcting code blocks, configured to write consecutive bits of the interleaved data codeword to one in every i consecutive bit cells in a row of memory bit cells of the Random Access Memory.

14. The integrated circuit device of claim 12 , further comprising a multiplexer, coupled to the plurality of n error correcting code blocks, configured to write consecutive bits of the interleaved data codeword to one in every four consecutive bit cells in a row of memory bit cells of the Random Access Memory.

15. The integrated circuit device of claim 12 , further configured to apply a single-bit error correction code to each one of the n received data sections to form the respective codeword section.

16. The integrated circuit device of claim 12 , further configured to divide the received data into two data sections.

17. The integrated circuit device of claim 12 , further configured to:

read, in the single clock cycle, a data codeword from the Random Access Memory;

de-interleave the read data codeword to obtain the n codeword sections;

perform error detection and correction on each one of the n codeword sections to retrieve the respective data section; and

combine each one of the n retrieved respective data sections to reproduce user data.

18. The integrated circuit device of claim 17 , further comprising a multiplexer configured to read consecutive bits of the data codeword from one in every i consecutive bit cells in a row of memory bit cells of the memory.

19. The integrated circuit device of claim 17 , further comprising a multiplexer configured to read consecutive bits of the data codeword from one in every four consecutive bit cells in a row of memory bit cells of the memory.

20. The integrated circuit device of claim 17 , further configured to perform single-bit error detection and correction on each one of the n codeword sections to retrieve the respective data section.

Assignments (27)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2025
From: NXP USA, INC.
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY LIMITED
Reel/Frame 072889/0893 →
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 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 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 →
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 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 →
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 →
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 →
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/0652 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0614 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0633 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2012
From: CLOETENS, HENRI
To: FREESCALE SEMICONDUCTOR INC
Reel/Frame 028956/0730 →