Introduction To SDRAM and Memory Controllers
Introduction To SDRAM and Memory Controllers
Introduction to SDRAM Basic SDRAM operation Memory efficiency SDRAM controller architecture Conclusions
DRAM was patented in 1968 by Robert Dennard at IBM Significantly cheaper than SRAM
DRAM cell has 1 transistor and 1 capacitor vs. 6 transistors for SRAM A bit is represented by a high or low charge on the capacitor Charge dissipates due to leakage hence the term dynamic RAM Capacity of up to a gigabyte per chip
SDRAM Architecture
The memory interface has a command bus, address bus, and a data bus
Busses shared between all banks to reduce the number of off-chip pins A bank is essentially is an independent memory, but with shared I/O
Presentation Outline
Introduction to SDRAM Basic SDRAM operation Memory efficiency SDRAM controller architecture Conclusions
Description Activate a row in a particular bank Initiate a read burst to an active row Initiate a write burst to an active row Close a row in a particular bank Start a refresh operation Ignores all inputs
8
Timing Constraints
Parameter ACT to RD/WR ACT to ACT (diff. banks) ACT to ACT (same bank) Read latency RD to RD
10 7 December 2009
Presentation Outline
Introduction to SDRAM Basic SDRAM operation Memory efficiency SDRAM controller architecture Conclusions
11
Memory Efficiency
12
Refresh Efficiency
13
14
Bank Efficiency
Bank conflict when a read or write targets an inactive row (row miss)
Significantly impacts memory efficiency Requires precharge followed by activate
Less than 40% bank efficiency if always row miss in same bank
15
Command Efficiency
16
Data Efficiency
17
Results in
Less than 40% efficiency for all DDR2 memories Efficiency drops as memories become faster (DDR3)
Conclusion
Worst-case efficiency must be prevented!
18
Presentation Outline
Introduction to SDRAM Basic SDRAM operation Memory efficiency SDRAM controller architecture Conclusions
19
The back-end
translates scheduled request(s) into SDRAM command sequence is dependent on the memory type
20
Front-end arbitration
Front-end provides buffering and arbitration Arbiter can schedule requests in many different ways
Priorities common to give low-latency access to critical requestors
E.g. stalling processor waiting for a cache line Important to prevent starvation of low priority requestors
Common to schedule fairly in case of multiple processors Next request may be scheduled before previous is finished
Gives more options to command generator in back-end
21
Back-end
Back-end contains a memory map and a command generator Memory map decodes logical address to physical address
Physical address is (bank, row, column) Can be done in different ways choice affects efficiency
Logical addr. 0x10FF00
Memory map
22
The memory map decodes a memory address into (bank, row, column)
Decoding is done by slicing the bits in the logical address
23
Disadvantage:
Very inefficient if requesting different rows in same bank 37 cycles to issue the four read commands
24
25
Disadvantages:
Requires bursts to all banks to be efficient
Solved if requests are large, such as 64 B
26
Command generator
27
Command generator
Command priorities
Read and write commands have high priority, as they put data on the bus Precharge and activate commands have lower priorities
28
Presentation Outline
Introduction to SDRAM Basic SDRAM operation Memory efficiency SDRAM controller architecture Conclusions
29
Conclusions
31