DDR SDRAM - An Walk Down The Memory Lane (1) : Gaonkar
DDR SDRAM - An Walk Down The Memory Lane (1) : Gaonkar
Since PCs were not a household commodity when we were undergraduates, our first
introduction to "memory" in the context of a microprocessor based system happened
through a typical block diagram in Gaonkar. We just read it as a block essential in the
system, and that it does the job of storing data. As I started doing more projects and
advanced stuff, the understanding of speed, access times, latencies started coming.
Somewhere in that same flow, i learnt about double data rate SDRAMs.
In the best case, normal SDRAMs are capable of delivering only one word of data every
clock cycle.
DDR is double data rate, which means that for a given clock speed, data can be
read/written at twice the rate. 2 words of data can be written/read in a single clock cycle.
For the write mechanism, the controller module provides a clock, (which is not free
running) called the DQS and the data is written on the positive as well as the negative
edge of DQS. The DQS is called as the strobe in same cases. The write signal needs to be
asserted.
For the read operation, the controller issues a read command and after a certain number
of clock cycles, (called CAS Latency), the memory puts the data on the data bus. This
time, the clock to which the data is synchronised is provided by the memory. The same
DQS lines as before are used, but this time, the memory drives those. The DDR memory
internally prefetches 2 data words so that it can output data on both edges of the clock.
Part 1 | Part 3
Clock pins
Clock inout (2 pins : CK and CK#)
The clock is a differential clock. All control signals are sampled on crossing of rising CK
edge and falling CK# edge
Clock enable
This input high activates the internal clocks, input buffers and output drivers.
Chip select
This signal is active low in most cases. It acts as an enable for the commands. All
commands are masked when this signal is sampled high. *
Control pins
RAS, CAS and WE are the control inputs. These three pins alongwith the CS pin define
the command being entered. The DDR data sheets usually specify the definitions of
various commands like ACTIVE, PRECHARGE, WRITE, READ etc. as a combination
of these signals
Data pins
DQ or data lines
This is usually an 8 bit bus, with either 4 or 8 pins active depending on the data bus
width. In 16 bit devices this can be 16 bit wide too. This is a bidirectional bus