IP Library Granted Patent US 10,095,565
Granted Patent B2
US 10,095,565 · App. 14/855,271 · Granted Oct 9, 2018

Memory controller with error detection and retry modes of operation

Inventors: Ely K. Tsern (Los Altos, CA); Mark A. Horowitz (Menlo Park, CA); Frederick A. Ware (Los Altos Hills, CA)
Assignee: Rambus Inc.
G06F11/073G06F3/064G06F3/0619G06F3/0673G06F11/006G06F11/0745G06F11/0766G06F11/0793G06F11/10G06F11/1008G06F11/1068G06F11/1076G06F11/141G06F11/1402G06F11/1443G06F11/20G11C29/52H03M13/03H04L1/0057H04L1/0061H04L1/08H04L1/1809
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 10,095,565
App. No.
14/855,271
Granted
Oct 9, 2018
Kind
B2
Abstract

A memory system includes a link having at least one signal line and a controller. The controller includes at least one transmitter coupled to the link to transmit first data, and a first error protection generator coupled to the transmitter. The first error protection generator dynamically adds an error detection code to at least a portion of the first data. At least one receiver is coupled to the link to receive second data. A first error detection logic determines if the second data received by the controller contains at least one error and, if an error is detected, asserts a first error condition. The system includes a memory device having at least one memory device transmitter coupled to the link to transmit the second data. A second error protection generator coupled to the memory device transmitter dynamically adds an error detection code to at least a portion of the second data.

Claims (40)

1. A memory controller, comprising:

a first transmitter to transmit a write command and a first error detection code to a memory device;

a plurality of second transmitters to transmit write data and a second error detection code to the memory device, the second error detection code encoded by the memory controller in connection with the write data, wherein the plurality of second transmitters are operable to transmit the write data in accordance with one of a plurality of modes, a first mode including data comprising symbols respectively transferred on rising and falling edges per clock cycle of a clock signal, and a second mode including data transferred with one symbol per clock cycle; and

circuitry to re-transmit the write data to the memory device in the event that the memory device detects an error condition dependent on at least one error in the write data as received by the memory device and to re-transmit the write command to the memory device in the event of error that the memory device detects error in the write command;

wherein an indication of at least one of the error condition or error in the write command is to be received by the memory controller from the memory device via a link not used to transmit the write data to the memory device.

2. The memory controller of claim 1 , wherein each error detection code transmitted from the memory controller is a cyclic code.

3. The memory controller of claim 1 , wherein, in the event of the error condition, the memory controller is to perform a retry remedial action that includes transmitting a write command corresponding to the re-transmitted write data, wherein the circuitry receives a signal from the memory device via the link, responsive to the error detection code, to signal the error condition.

4. The memory controller of claim 1 , wherein the plurality of second transmitters comprises a third transmitter to transmit the write data via a data link, and a fourth transmitter to transmit the second error detection code via a retry signal link.

5. The memory controller of claim 1 , further comprising logic to hold a command in a read queue in the event that the circuitry identifies that the error condition exists.

6. The memory controller of claim 1 , wherein the plurality of second transmitters are to transmit the write data using the first mode and re-transmit the write data using the second mode.

7. The memory controller of claim 1 , wherein, in the event of the error condition, the memory controller is to perform a retry remedial action that includes at least one of:

re-transmitting the write data to the memory device at a different data rate than a data rate used when first transmitted by the plurality of second transmitters;

re-transmitting the write data to the memory device with blanks attached; and

re-transmitting the write data to the memory device using a larger voltage swing than a voltage swing used when the write data was first transmitted by the plurality of second transmitters.

8. The memory controller of claim 1 , wherein the memory controller is to delay command operations to a location in the memory device corresponding to the write data represented by the error condition until a retry remedial action is completed in the event of the error condition.

9. The memory controller of claim 1 , embodied as a single chip memory controller.

10. The memory controller of claim 1 , comprising a plurality of components to instantiate the plurality of second transmitters and the circuitry.

11. A method of operation in a memory controller, the method comprising:

transmitting a write command and a first error detection code to a memory device using a first transmitter;

transmitting write data and a second error detection code to a memory device using a plurality of second transmitters, the second error detection code encoded by the controller using the write data, the write data being transmitted in accordance with one of a plurality of modes, a first mode including data comprising symbols respectively transferred on rising and falling edges per clock cycle of a clock signal, and a second mode including data transferred with one symbol per clock cycle; and

using circuitry to re-transmit the write data to the memory device in the event that the memory device detects an error condition dependent on at least one error in the write data as received by the memory device and to re-transmit the write command to the memory device in the event of error that the memory device detects error in the write command;

wherein

the memory controller is to re-transmit the write data to the memory device in the event of the error condition,

the memory controller is to re-transmit the write command to the memory device in the event of error that the memory device detects error in the write command, and

an indication of at least one of the error condition or error in the write command is to be received by the memory controller from the memory device via a link not used to transmit the write data to the memory device.

12. The method of claim 11 , wherein the re-transmission of the write data is a part of a retry remedial action in the event of the error condition, and wherein the retry remedial action comprises re-transmitting the write data to the memory device using a larger voltage swing than the voltage swing used when first transmitted by the memory controller.

13. The method of claim 11 , further comprising transmitting a write command corresponding to the re-transmitted write data in the event of the error condition and wherein using is performed based on a signal from the memory device which is dependent on the second error detection code.

14. The method of claim 13 , wherein the method further comprises transmitting an error correction code to protect the re-transmitted write command.

15. The method of claim 11 , wherein the method further comprises re-transmitting the write data to the memory device with blanks attached.

16. The method of claim 11 , further comprising performing a parallel-to-serial conversion on the write data and error detection code.

17. The method of claim 11 , further comprising delaying command operations to a location in the memory device corresponding to write data associated with the error condition until the retry remedial action is completed.

18. The method of claim 11 , wherein transmitting the write data comprises transmitting the write data using the first mode and wherein re-transmitting the write data comprises re-transmitting the write data using the second mode.

19. A memory controller for an electrically erasable programmable memory device, the memory controller comprising:

means for transmitting a write command and a first error detection code to a memory device;

means for transmitting write data and a second error detection code to the memory device, the second error detection code encoded by the controller in connection with the write data, wherein the means for transmitting the write data and the second error detection code is operable to transmit the write data in accordance with one of a plurality of modes, a first mode including data comprising symbols respectively transferred on rising and falling edges per clock cycle of a clock signal, and a second mode including data symbols respectively transferred with one symbol per clock cycle;

means for re-transmitting the write data to the memory device in the event that the memory device detects an error condition dependent on at least one error in the write data as received by the memory device and re-transmitting the write command to the memory device in the event of error that the memory device detects error in the write command; and

wherein

the memory controller is to retransmit the write data to the memory device in the event that the means for identifying that the transmitted write data as received by the memory device reflects the error condition,

the memory controller to re-transmit the write command to the memory device in the event of error that the memory device detects error in the write command, and

an indication of at least one of the error condition or error in the write command is to be received by the memory controller from the memory device via a link not used to transmit the write data to the memory device.

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 23, 2015
From: TSERN, ELY K.; HOROWITZ, MARK A.; WARE, FREDERICK A.
To: RAMBUS INC.
Reel/Frame 036637/0979 →
Continuity (4)
Continuation 14827978 · Aug 17, 2015
Continuation 12940942 · Nov 5, 2010
Continuation 11145429 · Jun 3, 2005
Related Publication 20160004597A1 · Jan 7, 2016