IP Library Granted Patent US 11,928,020
Granted Patent B2
US 11,928,020 · App. 18/095,341 · Granted Mar 12, 2024

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,928,020
App. No.
18/095,341
Granted
Mar 12, 2024
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 (43)

1. A memory controller to control memory, the memory controller comprising:

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

circuitry to generate error detection information, dependent on the associated address;

circuitry to detect, using the error detection information and additional information received from the memory, whether the associated address as received by the memory contains an error; and

circuitry to transmit to the memory, after a delay time with respect to the write command, a second communication, wherein the second communication upon receipt by the memory will cause the memory to store write data associated with the write command into a storage array of the memory.

2. The memory controller of claim 1 , embodied as an integrated circuit, wherein the memory controller further comprises:

at least one first pin to transmit the write commands and associated address to the memory; and

at least one second pin to receive the additional information from the memory.

3. The memory controller of claim 1 wherein the additional information comprises a first cyclic redundancy code (CRC), wherein the memory controller comprises circuitry to calculate the error detection information in the form of a second CRC, dependent on the associated address as transmitted to the memory, and wherein the circuitry is to detect existence of the error dependent on whether the first CRC matches the second CRC.

4. The memory controller of claim 3 wherein the first CRC represents a concatenation of the associated address with at least one second item of information from the group of:

an address associated with another command; or

an item of data.

5. The memory controller of claim 1 wherein the second communication comprises the write data associated with the write command.

6. The memory controller of claim 1 wherein the second communication comprises a commit command, the commit command operative, when received by the memory, to trigger the memory to store the write data in the storage array.

7. The memory controller of claim 1 wherein the additional information comprises an error detection code that is also based on the write data.

8. The memory controller of claim 1 wherein:

the memory controller further comprises a buffer to hold the write data for at least a predetermined period of time; and

the memory controller further comprises circuitry to calculate and programmatically establish the predetermined period of time based on a nominal amount of time required for the circuitry to detect to determine whether, based on the additional information, the associated address as received by the memory contains the error; and

the second communication comprises the write data from the buffer.

9. The memory controller of claim 1 wherein the memory comprises at least one dynamic random access memory (“DRAM”) integrated circuit and wherein the memory controller is embodied as a DRAM memory controller integrated circuit.

10. A memory controller to control dynamic random access memory (DRAM), the memory controller comprising:

circuitry to transmit, to the memory, a clock signal, a write command and, for each of a rising edge of the clock signal and a falling edge of a clock signal, respective bits of an associated address;

circuitry to generate error detection information, dependent on the associated address;

circuitry to detect, using the error detection information and additional information received from the memory, whether the associated address as received by the memory contains an error; and

circuitry to transmit to the memory, after a delay time with respect to the write command, a second communication, wherein the second communication upon receipt by the memory will cause the memory to store write data associated with the write command into a storage array of the memory.

11. The memory controller of claim 10 wherein the circuitry to transmit the second communication is to transmit first bits of the second communication in association with a rising each of the clock signal and second bits of the second communication in association with a falling edge of the clock signal.

12. The memory controller of claim 11 wherein the clock signal is a first clock signal, wherein the memory controller further comprises circuitry to transmit a second clock signal to the memory, the second clock signal having a frequency that is twice a frequency of the first clock signal, and wherein circuitry of the memory controller is to transmit first bits of the write data to the memory device in association with respective rising edges of the second clock signal and second bits of the write data in association with respective falling edges of the second clock signal.

13. A method of operating a memory controller, to control memory, the method comprising:

with circuitry, transmitting, to the memory, a write command and an associated address;

with circuitry, generating error detection information, dependent on the associated address;

with circuitry, detecting, using the error detection information and additional information received from the memory, whether the associated address as received by the memory contains an error; and

with circuitry, transmitting to the memory, after a delay time with respect to the write command, a second communication, wherein the second communication upon receipt by the memory will cause the memory to store write data associated with the write command into a storage array of the memory.

14. The method of claim 13 wherein the error detection information comprises a first cyclic redundancy code (CRC), and wherein the method further comprises, with circuitry, calculating the error detection information as a second CRC, the second CRC dependent on the associated address as transmitted to the memory, and detecting existence of the error dependent on whether the first CRC matches the second CRC.

15. The method of claim 14 wherein the first CRC represents a concatenation of the associated address with at least one second item of information from the group of:

an address associated with another command; or

an item of data.

16. The method of claim 13 wherein the second communication comprises the write data associated with the write command.

17. The method of claim 13 wherein the second communication comprises a commit command, the commit command operative, when received by the memory, to trigger the memory to store the write data in the storage array.

18. The method of claim 13 wherein the additional information comprises an error detection code that is also based on the write data.

19. The method of claim 13 wherein:

the method further comprises calculating a duration of a period of time, according to which a buffer is hold at least one of the write command or the write data; and

configuring buffer to store the least one for at least the duration.

20. The method of claim 13 wherein the memory is dynamic random access memory (“DRAM”) and wherein the method further comprises transmitting a clock signal to the DRAM and transmitting a first bit of the associated address to the DRAM in association with a rising edge of the clock signal and a second bit of the associated address in association with a falling edge of the clock signal.

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 Jan 10, 2023
From: SHAEFFER, IAN; HAMPEL, CRAIG
To: RAMBUS INC.
Reel/Frame 062332/0096 →
Continuity (11)
Continuation 17481246 · Sep 21, 2021
Continuation 16678159 · Nov 8, 2019
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 20230333927A1 · Oct 19, 2023