IP Library Granted Patent US 11,579,965
Granted Patent B2
US 11,579,965 · App. 17/481,246 · Granted Feb 14, 2023

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,579,965
App. No.
17/481,246
Granted
Feb 14, 2023
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 (61)

1. A dynamic random access memory (DRAM) device comprising:

an array of DRAM cells;

at least one pin to receive, from a memory controller, read commands and associated read addresses, and to transfer, to the memory controller, read data that was retrieved, from the array of DRAM cells, according to the associated read addresses; and

circuitry to calculate error detection information for each of the read addresses;

wherein the DRAM device is to transmit the error detection information to the memory controller together with the read data, to enable a determination, by the memory controller, as to whether the error detection information corresponds to the read addresses sent by the memory controller.

2. The DRAM device of claim 1 wherein the at least one pin comprises:

at least one first pin to receive the read commands and associated read addresses from the memory controller; and

at least one second pin to transmit the error detection information to the memory controller.

3. The DRAM device of claim 1 wherein the circuitry is operable to calculate the error detection information in the form of cyclic redundancy codes (CRCs), each CRC being calculated from at least one of the read addresses, as an operand.

4. The DRAM device of claim 1 wherein the error detection information transmitted to the memory controller comprises cyclic redundancy codes (CRCs) that each represent a concatenation of a first one of the read addresses with at least one second item of information from the group of:

a second one of the read addresses;

an item of the read data; or

a write address provided by the memory controller in association with a write command.

5. The DRAM device of claim 1 wherein DRAM device is also to transmit error detection information to the memory controller to enable a determination, by the memory controller, as to whether the read data has an error.

6. The DRAM device of claim 1 wherein DRAM device is also to transmit error detection information to the memory controller to enable a determination, by the memory controller, as to whether the read data has an error, and in a manner that permits the memory controller to differentiate an error in the read data from an error in the associated read address.

7. A dynamic random access memory (DRAM) device comprising:

an array of DRAM cells;

at least one pin to

receive, from a memory controller,

data access commands, including read commands and write commands,

read addresses associated with the read commands,

write addresses associated with the write commands, and

write data associated with the write commands, for storage in the array of DRAM cells according to the write addresses, and

transfer, to the memory controller, read that was data retrieved, from the array of DRAM cells, according to the associated read addresses;

circuitry to calculate error detection information for each of the write addresses and for each the read addresses;

wherein the DRAM device is to transmit the error detection information to the memory controller, to enable a determination, by the memory controller, as to whether there was error in the write addresses and to enable a determination, by the memory controller, as to whether there was error in the read addresses;

wherein the DRAM device is to discard write data which corresponds to error in an associated one of the write addresses, as determined by the memory controller, prior to storage in the array of DRAM cells; and

wherein the DRAM device is to transmit the read data to the memory controller, with the error detection information, irrespective of whether there is an error in the read addresses, as determined by the memory controller.

8. The DRAM device of claim 7 wherein the DRAM device is operable to buffer each of the write commands for a period of time, pending a signal from the memory controller indicating that there is an error in the associated write address, and to discard each of the write commands and associated write data which correspond to an error in the associated write address.

9. The DRAM device of claim 8 wherein:

the DRAM device is also to buffer an ensuing read command having an address that matches the write address associated with a write command being buffered by the DRAM device; and

the DRAM device comprises circuitry to discard, upon receipt of a signal from the memory controller indicating that there is an error in the matching write address, the ensuing read command.

10. The DRAM device of claim 7 wherein the circuitry is operable to calculate the error detection information in the form of cyclic redundancy codes (CRCs), at least one of the CRCs being calculated from one of the read addresses, as an operand.

11. The DRAM device of claim 7 wherein the error detection information transmitted to the memory controller comprises cyclic redundancy codes (CRCs) that each represent a concatenation of a first address that is one of the read addresses or one of the write addresses, with and at least one second item of information from the group of:

a second address that is one of the read addresses or one of the write addresses;

an item of the read data; or

an item of write data.

12. The DRAM device of claim 7 wherein DRAM device is also to transmit error detection information to the memory controller to enable a determination, by the memory controller, as to whether the read data has an error.

13. The DRAM device of claim 7 wherein DRAM device is also to transmit error detection information to the memory controller to enable a determination, by the memory controller, as to whether the read data has an error, and in a manner that permits the memory controller to differentiate an error in the read data from an error in the associated read address.

14. A dynamic random access memory (DRAM) device comprising:

an array of DRAM cells;

at least one pin to receive, from a memory controller, read commands and associated read addresses, and to transfer, to the memory controller, read data that was retrieved, from the array of DRAM cells, according to the associated read addresses; and

circuitry to calculate cyclic redundancy codes (CRCs), including a CRC for each of the read addresses;

wherein the DRAM device is to transmit the CRCs to the memory controller together with the read data, to enable a determination, by the memory controller, as to whether each CRC corresponds to an associated one the read addresses sent by the memory controller.

15. The DRAM device of claim 14 wherein the at least one pin comprises:

at least one first pin to receive the read commands and associated read addresses from the memory controller; and

at least one second pin to transmit the CRCs to the memory controller.

16. The DRAM device of claim 14 wherein each CRC represents a concatenation of a first one of the read addresses with at least one second item of information from the group of:

a second one of the read addresses;

an item of the read data; or

a write address provided by the memory controller in association with a write command.

17. The DRAM device of claim 14 wherein DRAM device is also to transmit error detection information to the memory controller to enable a determination, by the memory controller, as to whether the read data has an error, and in a manner that permits the memory controller to differentiate an error in the read data from an error in the associated read address.

18. The DRAM device of claim 14 wherein:

the DRAM device is operable to receive write commands, each of the write commands to be accompanied by an associated write address and write data that is to be stored in the array;

the DRAM device is also operable to calculate, and transmit to the memory controller, a CRC for each write address, to enable a memory controller determination as to whether the write address has an error.

19. The DRAM device of claim 18 wherein:

the DRAM device further comprises a command buffer, to store each of the write commands for a period of time; and

the DRAM device is operable to discard each of the write commands and the associated write data, prior to storage in the array of DRAM cells, responsive to a determination, by the memory controller, that there is an error in the associated write data.

20. The DRAM device of claim 19 wherein:

the DRAM device is also to buffer an ensuing read command having an address that matches the write address associated with a write command stored in the command buffer; and

the DRAM device comprises circuitry to discard, upon receipt of a signal from the memory controller indicating that there is an error in the matching write address, the ensuing read command.

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 (10)
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 20220138042A1 · May 5, 2022
Cited By (1)
US 12,298,848