Published on

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. DDR2 SDRAM Controller By Pramod K Roshan M Titus Subash John Varun S
  2. 2. Contents <ul><li>DDRSDRAM Technology </li></ul><ul><li>DDR1 vs. DDR2 </li></ul><ul><li>Block Diagram </li></ul><ul><li>State diagram </li></ul><ul><li>Basic functionality </li></ul><ul><li>Power up & initialization </li></ul><ul><li>Refresh mode </li></ul><ul><li>Power down mode </li></ul><ul><li>DDR2 commands </li></ul><ul><li>Read operation </li></ul><ul><li>Write operation </li></ul><ul><li>Bibliography </li></ul>
  3. 3. DDR SDRAM Technology <ul><li>Transfers data twice per cycle on both edges of the clock signal – Double pumping </li></ul><ul><li>“ Double Data Rate&quot; refers to the fact that a DDR SDRAM with a certain clock frequency achieves nearly twice the bandwidth of a single data rate (SDR) SDRAM running at the same clock frequency. </li></ul>
  4. 4. DDR1 vs. DDR2 Power consumption 2.5V 1.5V Reduces memory system power demand Data rate (MT/s per pin) 333 400 667 800 533 667 800 1066 Migration to higher data bandwidth Chip densities Up to 1Gb Up to 4Gb High-density components enable large memory subsystems with fewer chip counts Prefetch buffers 2 4 Enables faster clock rates Internal banks 4 4 and 8 1Gb and higher density DDR2 devices have 8 banks for better performance
  5. 5. Block Diagram Micron 512Mb DDR2 SDRAM ODT CKE CK CK# CS# RAS# CAS# WE# A0 – A13 BA0,BA1 DQ0 - DQn DQS DM
  6. 6. Functional description <ul><li>Clock (Input): CK and CK’ are differential clock inputs. All address and control input signals are sampled on the crossing of the positive edge of CK and negative edge of CK’. </li></ul><ul><li>Chip Select(CS)Input: All commands are masked when CS’ is registered HIGH. </li></ul><ul><li>Clock Enable(CKE ) Input: </li></ul><ul><ul><li>CKE must be maintained HIGH throughout read and write accesses. </li></ul></ul><ul><ul><li>Taking CKE LOW provides Precharge Power-Down and Self Refresh operation (all banks idle), or Active Power-Down (row Active in any bank). CKE is synchronous for power down entry and exit, and for self refresh entry. CKE is asynchronous for self refresh exit. </li></ul></ul>
  7. 7. Continued… <ul><li>RAS’, CAS’, WE ‘(Command inputs): RAS, CAS and WE (along with CS’) define the command being entered. </li></ul><ul><li>DM(Data Mask)Input: DM is an input mask signal for write data. Input data is masked when DM is sampled HIGH coincident with that input data during a Write access. DM is sampled on both edges of DQS. </li></ul><ul><li>BA0 - BA2 ( Bank Address )Input: Define to which bank an Active, Read, Write or Precharge command is being applied (For 256Mb and 512Mb, BA2 is not applied). Bank address also determines if the mode register or one of the extended mode registers is to be accessed during a MRS or EMRS command cycle. </li></ul>
  8. 8. Continued… <ul><li>Address Inputs(A0-A13): </li></ul><ul><ul><li>Provide the row address for Active commands and the column address and Auto Precharge bit for Read/Write commands to select one location out of the memory array in the respective bank. </li></ul></ul><ul><ul><li>A10 is sampled during a Precharge command to determine whether the Precharge applies to one bank (A10 LOW) or all banks (A10 HIGH). If only one bank is to be precharged, the bank is selected </li></ul></ul><ul><li>DQ ( Data)I/O: Bi-directional data bus. </li></ul><ul><li>Data Strobe (I/O): Output with read data, input with write data for source synchronous operation </li></ul>
  9. 9. State Diagram
  10. 10. Basic functionality <ul><li>Accesses begin with the registration of an Active command, which is then followed by a Read or Write command. </li></ul><ul><li>The address bits registered coincident with the active command are used to select the bank and row to be accessed (BA0-BA2 select the bank; A0-A13 select the row). </li></ul><ul><li>The address bits registered coincident with the Read or Write command are used to select the starting column location for the burst access and to determine if the auto precharge command is to be issued. </li></ul><ul><li>Read and write accesses are burst oriented; accesses start at a selected location and continue for a burst length of 4 or 8 in a programmed sequence </li></ul>
  11. 11. Power up & Initialization <ul><li>Prior to normal operation, the DDR2 SDRAM must be initialized in a predefined manner. </li></ul><ul><li>Operational procedures other than those specified may result in undefined operation. </li></ul><ul><li>For DDR2 SDRAMs, both bits BA0 and BA1 must be decoded for Mode/Extended Mode Register Set (MRS/EMRS) commands. </li></ul><ul><li>All four Mode Registers must be initialized prior to operation. The registers may be initialized in any order. </li></ul>
  12. 12. Refresh mode <ul><li>For the capacitors to retain their value, all rows in all banks must be refreshed at least once every 64ms </li></ul><ul><li>All banks must be in the idle mode prior to issuing a REFRESH command </li></ul><ul><li>The addressing is generated by the internal refresh controller </li></ul><ul><li>This makes the address bits a “Don’t Care” during a REFRESH command. </li></ul>
  13. 13. Fig. Refresh mode
  14. 14. Power down mode <ul><li>Allows for significant power savings </li></ul><ul><li>CKE_L -> PD mode enabled & CKE_H -> PD mode disabled </li></ul><ul><li>If PD occurs when all banks are idle -> Precharge PD </li></ul><ul><li>If PD occurs when at least one row is active -> Active PD </li></ul><ul><li>Entering power-down deactivates the input and output buffers, excluding CK, CK#, ODT, and CKE. </li></ul><ul><li>PD modes do not perform any REFRESH operations. Thus the duration of PD mode is limited by the refresh requirements. </li></ul>
  15. 15. Fig. Power down mode
  16. 16. Table 1. Truth Table - DDR2 commands
  17. 17. Programming the mode registers <ul><li>For application flexibility, burst length, burst type, CAS latency, DLL reset function, write recovery time (WR) are user defined variables and must be programmed with a Mode Register Set (MRS) command. </li></ul><ul><li>Additionally, DLL disable function, driver impedance, additive CAS latency, ODT (On Die Termination), single-ended strobe, and OCD (off chip driver impedance adjustment) are also user defined variables and must be programmed with an Extended Mode Register Set (EMRS) command. </li></ul><ul><li>Contents of the MR/EMR can be altered by re-executing the MRS or EMRS Commands. Even if the user chooses to modify only a subset of the MR or EMR(#) variables, all variables within the addressed register must be redefined when the MRS or EMRS commands are issued. </li></ul>
  18. 18. Fig. Mode Register
  19. 19. READ operation Fig 1. Simple Read operation
  20. 20. Fig 2. Consecutive Read Bursts Fig 3. Nonconsecutive Read Bursts
  21. 21. Fig 4. Read followed by precharge command
  22. 22. Fig. Read with AutoPrecharge
  23. 23. WRITE operation Fig. Simple Write operation
  24. 24. Fig. Consecutive Write operation Fig. Nonconsecutive Write operation
  25. 25. Fig. Write followed by a precharge command
  26. 26. Fig. Write with autoprecharge
  27. 27. Bibliography <ul><li>www.micron.com </li></ul><ul><li>www.jedec.org </li></ul><ul><li>www.wikipedia.com </li></ul>