Fully-Buffered Memory-Module with Error-Correction Code (ECC) Controller in Serializing Advanced-Memory Buffer (AMB) that is transparent to Motherboard Memory Controller
First Claim
1. An error-correcting fully-buffered memory module comprising:
- a substrate having wiring traces formed thereon for conducting signals;
contact pads along a lower edge of the substrate, the contact pads for mating with a memory module socket on a motherboard;
a buffer chip mounted to the substrate;
a packet interface, in the buffer chip, for receiving incoming serial packets from the motherboard through the contact pads, and for generating outgoing serial packets for transmission through the contact pads to the motherboard;
memory chips mounted to the substrate, the memory chips having address, data, and control inputs that are isolated from the contact pads by the buffer chip;
a memory controller, in the buffer chip, for generating address, data, and control signals to the memory chips in response to the incoming serial packets received from the motherboard, and for reading read-data and error-correction code (ECC) bits from the memory chips in response to a read command extracted from the incoming serial packets; and
an error-correction controller, coupled to the memory controller, for generating the ECC bits from write-data extracted from incoming serial packets by the packet interface, and for checking the ECC bits read from the memory chips by the memory controller;
wherein the memory chips store the ECC bits generated by the error-correction controller and the write-data extracted by the packet interface,whereby the ECC bits are locally generated by the error-correction controller and locally checked on the error-correcting fully-buffered memory module.
1 Assignment
0 Petitions
Accused Products
Abstract
An error-correcting fully-buffered memory module can detect and correct some errors in data read from memory chips. An error correction code ECC controller is added to the Advanced Memory Buffer (AMB) on the memory module that fully buffers memory requests sent as serial packets. The error correction controller generates ECC bits for write data, and both the ECC bits and the write data are written to the memory chips by a DRAM controller in the AMB. During reads, an ECC checker generates a syndrome and can activate an error corrector to correct data or signal a non-correctable error. The corrected data is formed into serial packets sent back to the motherboard by the AMB. Configuration data for the ECC controller could be first programmed into a serial-presence-detect electrically-erasable programmable read-only memory (SPD-EEPROM) on the memory module, and then copied to error-correction configuration registers on the AMB during power-up.
-
Citations
22 Claims
-
1. An error-correcting fully-buffered memory module comprising:
-
a substrate having wiring traces formed thereon for conducting signals; contact pads along a lower edge of the substrate, the contact pads for mating with a memory module socket on a motherboard; a buffer chip mounted to the substrate; a packet interface, in the buffer chip, for receiving incoming serial packets from the motherboard through the contact pads, and for generating outgoing serial packets for transmission through the contact pads to the motherboard; memory chips mounted to the substrate, the memory chips having address, data, and control inputs that are isolated from the contact pads by the buffer chip; a memory controller, in the buffer chip, for generating address, data, and control signals to the memory chips in response to the incoming serial packets received from the motherboard, and for reading read-data and error-correction code (ECC) bits from the memory chips in response to a read command extracted from the incoming serial packets; and an error-correction controller, coupled to the memory controller, for generating the ECC bits from write-data extracted from incoming serial packets by the packet interface, and for checking the ECC bits read from the memory chips by the memory controller; wherein the memory chips store the ECC bits generated by the error-correction controller and the write-data extracted by the packet interface, whereby the ECC bits are locally generated by the error-correction controller and locally checked on the error-correcting fully-buffered memory module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An error-correcting advanced memory buffer comprising:
-
southbound input means for receiving packets over southbound serial lanes from a host processor; southbound output means for transmitting packets over southbound serial lanes to a downstream memory module; southbound re-timer means, coupled between the southbound input means and the southbound output means, for re-timing packets received by the southbound input means for transmission over the southbound output means; northbound input means for receiving packets over northbound serial lanes from the downstream memory module; northbound output means for transmitting packets over northbound serial lanes toward the host processor; northbound re-timer means, coupled between the northbound input means and the northbound output means, for re-timing packets received by the northbound input means for transmission over the northbound output means; memory controller means for generating local control signals to memory chips on a local memory module containing the error-correcting advanced memory buffer; packet extract means, coupled between the southbound re-timer means and the memory controller means, for extracting commands, address and data from packets received over the southbound input means from the host processor; packet generation means, coupled between the northbound re-timer means and the memory controller means, for generating packets for transmission over the northbound output means to the host processor; wherein the packets generated by the packet generation means contain data read from the memory chips by the memory controller means; error-correction configuration registers means for storing an error-correction configuration; and error-correction controller means, coupled to the error-correction configuration registers means and to the memory controller means, for generating and checking error-correction code (ECC) bits, the error-correction controller means sending the ECC bits to the memory controller means, the error-correction controller means receiving the ECC bits from the memory controller means; wherein the memory controller means is further for writing data and the ECC bits to the memory chips, and is further for reading data and the ECC bits from the memory chips; whereby the ECC bits are locally generated, written, read, and checked by the error-correcting advanced memory buffer. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
Specification