IP Library Granted Patent US 11,150,982
Granted Patent B2
US 11,150,982 · App. 16/678,159 · Granted Oct 19, 2021

Memory error detection

Inventors: Ian Shaeffer (Los Gatos, CA); Craig E. Hampel (Los Altos, CA)
Assignee: Rambus Inc.
G06F11/1004G06F11/0703G06F11/073G06F11/1679H03M13/09
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 11,150,982
App. No.
16/678,159
Granted
Oct 19, 2021
Kind
B2
Abstract

Systems and methods are provided for detecting and correcting address errors in a memory system. In the memory system, a memory device generates an error-detection code based on an address transmitted via an address bus and transmits the error-detection code to a memory controller. The memory controller transmits an error indication to the memory device in response to the error-detection code. The error indication causes the memory device to remove the received address and prevent a memory operation.

Claims (35)

1. A memory controller integrated circuit to control a dynamic random access memory (DRAM), the memory controller integrated circuit comprising:

circuitry to transmit a write command and an associated address, to the DRAM;

circuitry to generate, for the write command and associated address, a first error detection code, the first error detection code to be used to determine whether at least the associated address as received by the DRAM contains an error;

circuitry to transmit to the DRAM, after a delay time with respect to the write command, associated write data to be written into the DRAM;

circuitry to generate, for the associated write data, a second error detection code, the second error detection code to be used to determine whether the associated write data as received by the DRAM contains an error; and

circuitry to receive information from the DRAM, the memory controller integrated circuit to use the information from the DRAM to detect error in the associated address separately from error in the associated write data.

2. The memory controller integrated circuit of claim 1 , wherein the second error code comprises a cyclic-redundancy check (CRC) code, and wherein the circuitry to calculate the second error detection code comprises a CRC generator, the CRC generator to generate the CRC code.

3. The memory controller integrated circuit of claim 2 , wherein the circuitry to transmit the associated write data to the DRAM is to transmit sets of write data to the DRAM, including the associated write data, the sets of write data to be written to respective addresses including the associated address, and wherein the CRC generator is to generate the CRC code dependent on the sets of data.

4. The memory controller integrated circuit of claim 1 , wherein the delay time is greater than or equal to a time to calculate, using the first error detection code, whether the write command as received by the DRAM contains an error.

5. The memory controller integrated circuit of claim 1 , wherein the memory controller integrated circuit, in response to detected error in associated address, is to retry a sequence of commands in the event that error in an associated address is detected using the first error detection code.

6. The memory controller integrated circuit of claim 5 , wherein the sequence of commands comprises to one or more commands in a command pipeline which follow the write command.

7. The memory controller integrated circuit of claim 5 , wherein the memory controller integrated circuit is to use the information from the DRAM to detect error in the associated write data separately from error in the associated address, and wherein the memory controller integrated circuit is not to retry the sequence of commands in the event of detected error in the associated write data but not in the associated address.

8. The memory controller integrated circuit of claim 1 , wherein the circuitry to transmit the write command is to transmit the associated address to the DRAM at a first transmission frequency, and wherein the circuitry to transmit the associated write data is to transmit the associated write data to the DRAM at a second transmission frequency, the second transmission frequency being at least twice the first transmission frequency.

9. The memory controller integrated circuit of claim 1 , wherein the circuitry to transmit the write command to the DRAM is to use a first signaling path, wherein the circuitry to transmit the associated write data is to use a second signaling path, and wherein the circuitry to receive the information from the DRAM is to use a third signaling path, each of the first signaling path, the second signaling path and the third signaling path being mutually-exclusive to one another.

10. The memory controller integrated circuit of claim 1 , wherein the information comprises a third error detection code, and wherein the memory controller integrated circuit comprises circuitry to compare the first error detection code with the third error detection code to detect error in associated address separately from error in the associated write data, and wherein the delay time is greater than or equal to a time for the memory controller integrated circuit to detect the error in the associated address and responsively transmit a command to the DRAM.

11. A method of operating a memory controller integrated circuit, to control a dynamic random access memory (DRAM), the method comprising:

transmitting a write command and an associated address, to the DRAM;

generating, for the write command and associated address, a first error detection code, the first error detection code to be used to determine whether at least the associated address as received by the DRAM contains an error;

transmitting to the DRAM, after a delay time with respect to the write command, associated write data to be written into the DRAM;

generating, for the associated write data, a second error detection code, the second error detection code to be used to determine whether the associated write data as received by the DRAM contains an error; and

receiving information from the DRAM, and using the information from the DRAM to detect error in the associated address separately from error in the associated write data.

12. The method of claim 11 , wherein the second error code comprises a cyclic-redundancy check (CRC) code, and wherein the method further comprises using a CRC generator to generate the CRC code.

13. The method of claim 12 , further comprising transmitting sets of write data to the DRAM, including the associated write data, the sets of write data to be written to respective addresses including the associated address, wherein using the CRC generator comprises generating the CRC code dependent on the sets of data.

14. The method of claim 11 , wherein the delay time is greater than or equal to a time to calculate, using the first error detection code, whether the write command as received by the DRAM contains an error.

15. The method of claim 11 , further comprising, in response to detected error in associated address, retrying a sequence of commands in the event that error in an associated address is detected using the first error detection code.

16. The method of claim 15 , wherein the sequence of commands comprises to one or more commands in a command pipeline which follow the write command.

17. The method of claim 15 , further comprising detecting error in the associated write data separately from error in the associated address, wherein the memory controller integrated circuit is not to retry the sequence of commands in the event of detected error in the associated write data but not in the associated address.

18. The method of claim 11 , further comprising transmitting the associated address to the DRAM at a first transmission frequency, and transmitting the associated write data to the DRAM at a second transmission frequency, the second transmission frequency being at least twice the first transmission frequency.

19. The method of claim 11 , wherein transmitting the write command to the DRAM comprises using a first signaling path, wherein transmitting the associated write data comprises using a second signaling path, and wherein receiving the information from the DRAM comprises using a third signaling path, each of the first signaling path, the second signaling path and the third signaling path being mutually-exclusive to one another.

20. A memory controller integrated circuit to control a dynamic random access memory (DRAM), the memory controller integrated circuit comprising:

means for transmitting a write command and an associated address, to the DRAM;

means for generating, for the write command and associated address, a first error detection code, the first error detection code to be used to determine whether at least the associated address as received by the DRAM contains an error;

means for transmitting to the DRAM, after a delay time with respect to the write command, associated write data to be written into the DRAM;

means for generating, for the associated write data, a second error detection code, the second error detection code to be used to determine whether the associated write data as received by the DRAM contains an error; and

means for receiving information from the DRAM, wherein the memory controller integrated circuit is to use the information from the DRAM to detect error in the associated address separately from error in the associated write data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2025
From: RAMBUS INC.
To: SIGNAL LLP
Reel/Frame 073085/0650 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2021
From: SHAEFFER, IAN; HAMPEL, CRAIG
To: RAMBUS INC.
Reel/Frame 057551/0836 →
Continuity (9)
Continuation 15838161 · Dec 11, 2017
Continuation 14864500 · Sep 24, 2015
Continuation 14200665 · Mar 7, 2014
Continuation 14020755 · Sep 6, 2013
Continuation 13666918 · Nov 1, 2012
Continuation 12424094 · Apr 15, 2009
Continuation In Part 12035022 · Feb 21, 2008
Continuation 11436284 · May 18, 2006
Related Publication 20200073752A1 · Mar 5, 2020
Cited By (1)
US 12,298,848