2011. 1. 6. 15:51

이제 DDR2의 시대는 무르익다 못해 완숙했으며 바야흐로 DDR3의 시대가 도래했다.
기존의 DDR1, DDR2와 비교하여 DDR3에 새로이 적용되는 기술을 살펴보고 정확히 이해하여 시스템을
설계할 수 있어야겠다.

1. DDR3 SDRAM에 적용된 새로운 기능
   가. ZQ CALIBRATION
   나. DYNAMIC ODT
   다. RESET, 8bit PREFETCH

상기의 function들에 대하여 하나씩 검토하기로 한다.

☞ DDR3 SDRAM의 동작원리 - ZQ CALIBRATION
☞ DDR3 SDRAM의 동작원리 - DYNAMIC ODT

혹시 DDR1, DDR2 SDRAM에 대해서 학습이 필요하신 분은 본 블로그의 다른 포스트들을 먼저
숙지하시고 이 포스트를 접하셨으면 한다.

2. RESET
   DDR3 SDRAM에선 device에 external reset이 추가되었다.
   [RESET의 역할]
   - Power-up동안 device의 pin들을 high-Z상태로 만들고 ODT를 disable한다.
   - Device내부의 state machine을 reset하여 start-up하면서 발생할 수있는 에러를 방지한다.
   - Reset이 low에 있는 동안 DRAM내부 회로가 initialize된다.

   [RESET의 특징]
   - Device의 initialize에도 사용되지만 warm boot에도 사용할 수 있다.
   - DRAM에 저장되어 있던 data들과 mode register값들이 초기화 된다.
   - Reset sequence전에 power supply는 stable되어야 한다.
   - Power-up할 때 reset sequence에서 요구되는 period는 최소 200us.
   - Warm reset sequence에서 요구되는 period는 최소 100ns.

   [이전의 DDR SDRAM들과의 차이점]
   - DDR3 이전의 DRAM들은 Initialization이 PRECHARGE나 AUTO REFRESH같은 command가
      발생했을 때 이루어짐.

3. 8bit PREFETCH
   DDR3 SDRAM은 8bit prefetch 구조를 가지고 있어서 동일한 동작 주파수라는 가정하에 DDR2보다
   2배 빠른 속도로 동작한다. (DDR2 SDRAM은 4bit prefetch의 구조이다.)

   다음의 그림에서 보면 DDR3 SDRAM의 memory core에서 I/O buffer쪽으로 8bit씩 데이터가 전달됨을
   알 수 있다. 화살표의 방향은 read sequence를 나타낸다.
   반대로 DRAM에 write할 때는 역 방향으로 동작하게 된다.

이 그림을 보면 DDR3 DRAM이 다른 device들에 비해 얼마나 빠르게 동작하는지 알 수 있다.

[참고]
New Features of DDR3 SDRAM
- ELPIDA -

DDR3 Power-Up, Initialization, and Reset
- MICRON -

Posted by nooriry
2010. 12. 21. 12:24

이제 DDR2의 시대는 무르익다 못해 완숙했으며 바야흐로 DDR3의 시대가 도래했다.
기존의 DDR1, DDR2와 비교하여 DDR3에 새로이 적용되는 기술을 살펴보고 정확히 이해하여 시스템을
설계할 수 있어야겠다.

1. DDR3 SDRAM에 적용된 새로운 기능
   가. ZQ CALIBRATION
   나. DYNAMIC ODT
   다. PREFETCH, /RESET, Reference VOLTAGE and ETC

상기의 function들에 대하여 하나씩 검토하기로 한다.

☞ DDR3 SDRAM의 동작원리 - ZQ CALIBRATION
☞ DDR3 SDRAM의 동작원리 - RESET, 8bit PREFETCH

혹시 DDR1, DDR2 SDRAM에 대해서 학습이 필요하신 분은 본 블로그의 다른 포스트들을 먼저
숙지하시고 이 포스트를 접하셨으면 한다.

2. DYNAMIC ODT의 개요
   ODT(On Die Termination)란 무엇인가에 대해선 이전의 DDR2 SDRAM관련 포스팅에서
   설명했으므로 그 부분은 생략하기로 한다.

   DDR3에서 데이터 버스의 속도는 더 증가했고 그래서 signal integrity는 더더욱 중요하게 되었다.
   한 시스템 안에 다수의 DRAM device가 있는경우 device를 READ할 때 보다 WRITE할 때 reflect되는
   noise도 더 많이 발생한다.
   그래서 DDR3는 DRAM device에 데이터를 WRITE하면서 termination impedance를 제어하는 것에대해
   고려하게 되었다.

3. DYNAMIC ODT의 설정
   - Mode register(MR1)에 의해 ODT기능이 enable되고 ODT pin이 high가 되면 ODT기능이 활성화 된다.
   - 3개의 Rtt에 의해서 termination 저항값이 enable/disable되고 value가 정해진다.
   - 다음 그림은 MR1 register이다.



   - x16 device의 경우 DQS, DQS#, DM, DQ들이 terminate되고 x8 device의 경우엔 TDQS까지 terminate
      된다.
   - DDR3에서 ODT는 다음의 2가지 모드가 있다.
      ① NORMAL MODE
          MR1 register의 Rtt_nom에 의해서 세팅되는 일반적인 ODT이다.
          Device의 standby상태와 WRITE상태에 적용된다.
      ② DYNAMIC MODE
          MR2 register의 Rtt_wr에 의해서 세팅되는 Dynamic ODT이다.
          Device에 writing하는 경우에만 적용된다.
   - 다음 그림들은 MR2 register를 보여준다.



4. DYNAMIC ODT의 동작
   - Rtt_nom과 Rtt_wr이 활성화 되어 있으면 DDR3 DRAM device가 wirte동작을 수행할 때
      termination value가 Rtt_nom의 값에서 Rtt_wr의 값으로 변경이 된다.
   - Device의 WRITE 동작이 끝나면 termination value는 Rtt_wr의 값에서 Rtt_nom의 값으로
      되돌아간다.
   - 이 일련의 동작들은 추가적인 MRS command의 수행없이 이뤄진다.
      그래서 data bus가 idle하게 되는 시간을 줄일 수 있고 bus scheduling이 향상되는 이점이있다.


[참고]
DDR3 Dynamic On-Die Termination
- MICRON -

Posted by nooriry
2010. 12. 17. 18:48

이제 DDR2의 시대는 무르익다 못해 완숙했으며 바야흐로 DDR3의 시대가 도래했다.
기존의 DDR1, DDR2와 비교하여 DDR3에 새로이 적용되는 기술을 살펴보고 정확히 이해하여 시스템을
설계할 수 있어야겠다.

1. DDR3 SDRAM에 적용된 새로운 기능
   가. ZQ CALIBRATION
   나. DYNAMIC ODT
   다. RESET, 8bit PREFETCH

상기의 function들에 대하여 하나씩 검토하기로 한다.

☞ DDR3 SDRAM의 동작원리 - DYNAMIC ODT
☞ DDR3 SDRAM의 동작원리 - RESET, 8bit PREFETCH

혹시 DDR1, DDR2 SDRAM에 대해서 학습이 필요하신 분은 본 블로그의 다른 포스트들을 먼저
숙지하시고 이 포스트를 접하셨으면 한다.

2. ZQ CALIBRATION의 개요
   DDR3는 동작 속도가 1066MHz, 1333MHz 그리고 1600MHz로 향상되면서 신호의 안정성에 대해 보다
   특별한 주의가 요구되게 되었다.
   DRAM controller와 DRAM간의 임피던스 부정합의 감소는 신호의 반사와 임피던스 불연속등을 줄여주어
   시스템 안정에 기여하게 된다.
   그래서 다음과 같은 방법을 사용하여 ZQ를 조정해서 임피던스 부정합을 줄이고 시스템의 안정성을
   추구하게 하는것이다.

3. DRIVER의 구성
   [Merged Driver]
   DDR3 SDRAM은 DQ쪽의 driver가 다음과 같이 구성되어 있다.


   맨 위의 블럭이 여러개 배열되어 pull-up leg array가 구성되있고 아래엔 pull-down leg array가 구성되어
   있다.
   
   이 회로는 DDR3 device에서 ZQ의 조정과 DQ의 ODT기능을 같이 제공한다.
   반면에 DDR2 SDRAM에서는 ZQ의 조정을 위한 OCD회로가 있고 또 ODT를 지원하기 위해 별도의
   회로가 사용되었었다.

   이 DDR3 SDRAM에서 merged driver 구조의 장점은 무엇인가...
   두 가지 기능(ZQ조정, ODT)이 한 회로에서 지원하게되어 있어서 device의 신뢰성이 높아지고
   DRAM의 제조사 입장에선 제조 단가가 내려갈 것이고 우리같은 시스템 설계자의 입장에선 무엇보다
   불필요한 capacitance를 줄일수 있어서 보다 안정적인 시스템 구현이 가능한 것이다.

   DQ신호가 적절한 임피던스 값을 가지고 출력되기 위해선 상단과 하단의
   240Ω pull-up leg / pull-down leg에 의한 약간의 제어가 필요하게 된다.
   이 부분에 대해서 알아보도록 하자.

   위의 그림은 등가회로로 보면 다음과 같이 간단하게 표현된다.


   이 그림은 또한 다음과 같이 더 간단하게 표현될 수 있다.


   240Ω이 6개가 모여서 형성하는 pull-up, pull-down의 어레이된 저항들의 구조에서 40Ω의 임피던스가
   얻어지며
나중에 설명할 1개의 240Ω과 합쳐지게 된다.
   이렇게 총 7개의 저항성분은 DDR3의 full-strength driver에서 default 출력 임피던스인
34Ω이
   되는 구조이다.


4. CALIBRATION을 하는 방법
   [환경]
   - DRAM device의 모든 ZQ ball은 위에서 언급된 1개의 외부 240Ω 저항과 연결되어 있다.
   - 이 외부의 240Ω 저항은 DRAM과 DRAM controller가 공용하여 사용하게 된다.
   - DDR3 SDRAM device내부에 ZQ를 조정하는 제어부인 DQ calibration control block이 있다.


   이제 ADC, 비교기, filter, 내부 reference voltage generator, approximation register가 들어있는 아래의
   control block이 어떻게 동작하는지 살펴보기로 한다.


   - 왼쪽은 calibration control block이며 오른쪽은 240Ω legs이다.
   - 240Ω 저항은 P-channel의 polyresistor로 구현되어 있다.
   - Pull-down leg 부분은 N-channel polyresistor로 구현되어 있을 뿐 동작 방법은 비슷하다.

   DDR3 DRAM의 구조는 이렇고 아래에서 어떻게 동작하는지 살펴보자.


   [동작]
   - 먼저 ZQ calibration command가 발생한다.
   - Control block의 PUP 라인이 low가 되어 pull-up leg들은 VDDQ전압이 들어간다.
   - VPULL-UP 라인을 통해서 XRES포인트의 전압을 controller내부의 reference voltage(VDDQ/2)와
      비교한다.

   - VOH라인을 통하여 P-channel의 polyresistor를 개별 제어해서 XRES부분의 전압이 VDDQ/2가
      되도록 한다.
   - calibration이 완료되어 VOH code가 설정되면 controller내부의 approximation resistor에 저장하고
      그 code를 각 pull-up legs에 전달한다.
   - VPULL-DOWN쪽도 같은 방법으로 VOL code를 획득하고 이후 본 process를 종결한다.

   [COMMAND]
   - ZQ calibration command는 2종류가 있다.
   - ZQCL : ZQ CALIBRATION LONG
      Symtem이 initialize할 때나 device가 reset중에 수행된다.
      Initial temperature와 voltage setting 및 제조상의 특성을 반영한다.
      완료하는데 512 clock cycle이 소요된다.
      ZQCL이 수행되는 동안 DRAM의 data bus는 completely idle하고 quiet해야 한다.
   - ZQCS : ZQ CALIBRATION SHORT
      System이 동작하는중에 수행된다.
      Normal 동작중의 연속적인 voltage와 온도변화에 관련한 특성을 반영한다.
      완료하는데 64 clock cycle이 소요된다.



[참고]
DDR3 ZQ CALIBRATION
- MICRON-

New Features of DDR3 SDRAM
- ELPIDA -

Posted by nooriry