DDR2 RAM Buffer

0

I'm trying to figure out what a buffer is in RAM, I'm currently learning about RAM and the different types. Could someone please explain to me the importance and purpose of a buffer in say DDR2 memory modules?

JustinD

Posted 2012-11-28T15:46:16.040

Reputation: 694

Have you thought of Wikipedia? Google? What research have you done on this so far? – Dave M – 2012-11-28T15:48:56.200

Well I'm on something called LabSim, and it's supposed to prep you for the CompTIA A+ certification exam, and they just don't explain things. I would search it, and I did, but i wanted to let alone hear from someone that may know more. – JustinD – 2012-11-28T15:50:55.877

And i can't exactly find the answer i'm looking for when i try to search for the answer – JustinD – 2012-11-28T15:51:36.750

Answers

1

I think you are referring to unbuffered, buffered and fully buffered RAM. If not please clarify your post.

First, this is how basic RAM works:

enter image description here

Example: CPU want to read something from RAM and load it in a register

  • The address to read from it put on the address bus.
  • The R/W signal is set to 'I want to read from that place'
  • The memory places the desired data on the data lines
  • The CPU copies the data to the register.
  • RAM can be released.

Now that is a simplified example. In praxis there are a few complications.

  • Putting an address on the address bus might take a few clock cycles before it is stable.
  • Ditto for the R/W/ signal
  • The memory will have to do some internal processing to get to the signal. (e.g. select the right chip, assuming it is available and not in the middle of a refresh), etc. etc.

Also note that I explicitly choose an example where the data was read into an on-CPU register. Again, the data was copied from the bus to a place in the CPU. This might be a literal copy, or there may be a buffer at the 'edge' of the CPU where the data is copied to the buffer, and then from the buffer to a register. (Possibly because internal registers and external RAM use different voltages, and the buffer is used to work with both of them).


If I add longer copper traces (long paths between memory and CPU, or more paths to allow for more memory modules) it may become necessary to add buffers at the edge of the memory module.

Instead of feeding the desired data directly from the memory chips output, it would be copied to a buffer near the DIMMs output. Memory modules which have this features are called buffered or registered.

Memory which lacks this is called unbuffered or unregistered.


Note that buffered memory needs to do one extra action and it is typically a clock cycle slower. Buffered memory is usually used in server- or workstation motherboard where more but slightly lower memory is desirable over slightly faster memory. Consumer motherboard on the other hand used unregistered memory.

Hennes

Posted 2012-11-28T15:46:16.040

Reputation: 60 739

0

are you sure you mean buffer, and not FSB/CPU-side cache?

if so, see here for a detailed coverage of Disk IO caching/buffering in ram.

Frank Thomas

Posted 2012-11-28T15:46:16.040

Reputation: 29 039