IP Library Granted Patent US 9,665,423
Granted Patent B2
US 9,665,423 · App. 14/739,116 · Granted May 30, 2017

End-to-end error detection and correction

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,665,423
App. No.
14/739,116
Granted
May 30, 2017
Kind
B2
Abstract

A technique for providing end-to-end error detection coding between a requesting module and a memory module have been disclosed. A method includes translating a first logical address of a memory request to a physical address. The method includes translating an error control code and data associated with the memory request between a first format and a second format. The error control code and data having the first format is generated based on the first logical address. The error control code and data having the second format is generated based on a second address. The method includes generating an error indicator based on the error control code, the data, and one of the first logical address and the second address.

Claims (50)

1. A method comprising:

translating a first logical address of a memory request to a physical address;

translating an error control code and data associated with the memory request between a first format and a second format and generating an error indicator based thereon, wherein the error control code and data having the first format is generated based on the first logical address and the error control code and data having the second format is generated based on a second address; and

generating an error indicator based on the error control code, the data, and one of the first logical address and the second address, wherein

the second address is a second logical address, and

the second logical address is generated based on a data width of the memory.

2. The method, as recited in claim 1 , wherein the memory request is a read request and translating the error control code and data comprises:

decoding the error control code and data from the second format and generating the error indicator based on the error control code, data, and the second address, the data being received from the memory;

generating the error control code and data having the first format based on the first logical address; and

providing the error control code and data having the first format to a requestor of the memory request.

3. The method, as recited in claim 2 , wherein the translating the error control code and data comprises:

detecting an error based on a corrupted physical address.

4. The method, as recited in claim 1 , wherein the memory request is a write request and translating the error control code and data comprises:

decoding the error control code and data from the first format and generating the error indicator based on the error control code, data, and the first logical address, the data being received from a requestor of the memory request;

formatting the data and generating the second error control code based on formatted data and the second address to generate the error control code and data having the second format.

5. The method, as recited in claim 4 , further comprising:

issuing a memory command including the physical address and the error control code and data having the second format, the memory command being based on the memory request; and

bypassing an error control code operation of the memory.

6. A method comprising:

translating a first logical address of a memory request to a physical address;

translating an error control code and data associated with the memory request between a first format and a second format and generating an error indicator based thereon, wherein the error control code and data having the first format is generated based on the first logical address and the error control code and data having the second format is generated based on a second address; and

generating an error indicator based on the error control code, the data, and one of the first logical address and the second address, wherein the first format has a first data width and first error control code width and the second format has a second data width greater than the first data width and a second error control code width greater than the first error control code width.

7. An apparatus comprising:

a memory controller comprising:

an address translator configured to translate a first logical address associated with a memory request to a physical address; and

an error control code and data translator configured to translate an error control code and data associated with the memory request between a first format and a second format, wherein

the error control code and data having the first format is generated based on the first logical address and the error control code and data having the second format is generated based on a second address,

the error control code and data translator being configured to generate an error indicator based on the error control code, the data, and one of the first logical address and the second address,

the second address is a second logical address, and

the second logical address is generated based on a data width of the memory.

8. The apparatus, as recited in claim 7 , wherein the translator comprises:

a first decoder responsive to the memory request being a read request, first decoder being configured to generate the error indicator based on the second address and the error control code and data having the second format, the data being received from the memory system; and

a first encoder responsive to the memory request being the read request, the first encoder being configured to generate the error control code having the first format and based on the first logical address.

9. The apparatus, as recited in claim 8 , wherein the translator further comprises:

a second decoder responsive to the memory request being a write request, the second decoder being configured to generate the error indicator based on the first logical address and the error control code and data having the first format, the data being received from a requestor of the memory request; and

a second encoder responsive to the memory request being the write request, the second encoder being configured to generate the error control code having the second format and based on the second address.

10. The apparatus, as recited in claim 8 , wherein the error indicator indicates an error based on a corrupted physical address.

11. The apparatus, as recited in claim 7 , further comprising:

a controller configured to generate the memory request.

12. The apparatus, as recited in claim 7 , further comprising:

an interface to issue a memory command to a memory module using the physical address, the memory command being based on the memory request; and

the memory module comprising a memory module interface and a storage array, the memory module interface being configured to store data and corresponding error control codes in the storage array according to the physical address.

13. The apparatus, as recited in claim 12 , wherein the memory module comprises an error control code memory module including an error control code bypass mode.

14. The apparatus, as recited in claim 12 , wherein the memory module is a memory module without error control code capability.

15. An apparatus comprising: a memory controller comprising:

an address translator configured to translate a first logical address associated with a memory request to a physical address; and

an error control code and data translator configured to translate an error control code and data associated with the memory request between a first format and a second format, wherein

the error control code and data having the first format is generated based on the first logical address and the error control code and data having the second format is generated based on a second address,

the error control code and data translator being configured to generate an error indicator based on the error control code, the data, and one of the first logical address and the second address,

the first format has a first data width and first error control code width and the second format has a second data width greater than the first data width and a second error control code width greater than the first error control code width.

Assignments (3)
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 →