책/메모리 시스템

메모리 시스템 Ch11_'기본적인 DRAM 메모리 액세스 프로토콜-4'

RyoTTa 2021. 10. 28. 20:19
반응형

11.2.13 동일한 뱅크로의 Write와 뒤따르는 Read : 뱅크 충돌

  그림 11.26은 동일한 뱅크의 다른 로우로 Write 커맨드 직후 Read 커맨드가 이어지는 경우를 나타낸다. 최상의 시나리오는 Write 커맨드로 인해 액세스된 로우가 이미 DRAM 셀로 복원되었고 이전 로우가 최초로 액세스된 이후로부터 tRAS 주기가 지난 이후이다.(Restore 완료) 또한 이러한 조건에서 프리차지 커맨드가 칼럼 Write 커맨드에 의해 DRAM 셀에 데이터가 복원되기 전까지는 발행될 수 없다는 것을 보여주고 있다. 이는 Write Recovery 시간인 tWR 이후에 프리차지 커맨드가 실행될 수 있다는 것을 의미한다. 타이밍 스케줄링은 tCWD+tBURST+tWR+tRP+tRDC입니다.

 

11.2.14 동일한 랭크의 서로 다른 뱅크로의 Write와 뒤따르는 Read, 뱅크충돌, 최상의 케이스, 재정렬 없음

  그림 11.27은 동일한 랭크의 다른 뱅크에 Write 커맨드가 발행되고 Read 커맨드가 이어지는 경우를 설명하고 있다. 여기서 Read 커맨드를 뱅크 j로 전송했지만 필요로 하는 로우와는 다른 로우가 뱅크 j에서 이미 활성화되어 있는 상황이다. 그림 11.27은 뱅크 j에 대한 tRAS 조건이 이미 충족되었고 다른 커맨드가 재배치되지 않았다는 것을 가정한다. 이러한 경우에 Read 커맨드를 위한 프리차지 커맨드가 Write 커맨드가 직후 발행될 수 있다는 것을 볼 수 있다. 따라서 이 경우의 최적의 타이밍 스케줄링은 tCMD+tRP+tRCD라는 것을 확인할 수 있다.

11.2.15 Column-Read-and-Precharge 타이밍

  그림 11.13에서 칼럼 Read 커맨드 직후에 프리차지 커맨드가 오는 경우 최소 커맨드 타이밍을 설명했고, 해당 타이밍은 tBURST+tRTP-tCCD이다. 

  칼럼 Read 커맨드가 posted column-read 커맨드의경우에는 추가적인 지연 분수 tAL이 반드시 전체 커맨드 타이밍에 추가되어야 한다. 따라서 tAL+tBURST+tRTP-tCCD 시간을 기다렸다가 동작하게 한다. 그렇지만 프리차지 구성요소는 추가적으로 반드시 이전 로우 활성화 커맨드로부터 tRAS를 계속 유지해야한다. 따라서 DDR2와 같은 현대의 DRAM 디바이스는 통합된 column-read-and-precharge 커맨드의 프리차지 컴포넌트를 내부적으로 지연시키는 추가적인 HW를 가지고있다. 이를 통해 커맨드에 집적된 프리차지 컴포넌트 이전에 로우 액세스로부터의 tRAS 타이밍을 기다리는 것이 지켜질 수 있도록 한다. 그림 11.28은 로우 액세스 커맨드 이후 column-read-and-prcharge 커맨드가 따르는 경우 최소 타이밍이 단순히 tRCD-tAL로 표현될 수 있음을 보여주고있다.

11.2.16 Column-Write-and-Precharge 커맨드 타이밍

  로우 액세스 커맨드 이후에 Column-Write-and-Precharge 커맨드가 따라가는 경우의 타이밍은 반드시 통합 Column-Read-and-Prechage 커맨드의 칼럼 Write 컴포넌트와 프리차지 컴포넌트 모두가 로우 액세스 커맨드에 의해 부과된 타이밍 제약 조건을 지키는 것을 보장해야한다. tRAS는 칼럼 Write 커맨드를 포함하도록 정의된 타이밍 변수다. 또한, Column-Write-and-Precharge 커맨드는 커맨드 자체의 프리차지 컴포넌트의 프리차지 타이밍을 어기지 않으며 로우 액세스 커맨드이후 자유롭게 발행될 수있다. 

  그림 11.29는 칼럼 Write 커맨드와 이를 따르는 프리차지 커맨드가 가지는 최소 타이밍 요구조건을 보여준다. 11.2.15와 비슷하게 동일한 타이밍 요구조건을 채택하며 내재된 프리차지 커맨드를 수행한다.

 

 

11.3 추가적인 제약들

  오늘날의 DRAM에는 추가적인 제약들이 존재하고, 이 제약들이 오늘날의 DRAM 메모리 시스템의 대역폭 이용률을 제한한다. 그 중 하나의 제약은 DRAM 디바이스의 파워 소모에 관한 것이다. 두번째 제약은 메모리 시스템에서 DRAM 디바이스에 커맨드와 어드레스의 배포에 관한 것이다.

 

11.3.1 디바이스 파워 제한

  DRAM 디바이스의 동작 주파수 증가는 더 높은 전력 소모를 가져왔다. DRAM 디바이스 전력을 제한하기 위해서 제시한 한 가지 해결책은 DRAM디바이스의 동작 속도를 제한하는 것이다. 그러나 이는 DRAM 메모리 시스템의 성능을 제한하는 결과를 가져왔다.

  현대의 DRAM디바이스에서는 매번 로우가 활성화될 때마다, 수천 데이터 비트들이 방전되고 감지된다음 병렬로 복원된다. 그 결과 로우 활성화 커맨드는 상대적으로 에너지 집약적인 작업이다. 그림 11.30은 DRAM write 사이클의 대략적인 전류 프로파일을 설명하고 있다. 처음에 능동 I/O 버퍼와 DLL들에 의해 상대적으로 낮은 전류 프로파일을 보인다. 그후에 DRAM 디바이스는 디바이스 내의 각 활도에 대한 추가 전류를 소비한다. 총 전류 소비량은 DRAM의 대기 전류 소모량과 각각의 활동에 대한 전류 소모량을 합하는 것으로 간단히 구할 수 있다.

  그림 11.31에 묘사된 프로파일은 추상적인 관점에서 기술되어있다. 이는 로우 활성 커맨드에 의한 전류 소모량의 크기가 로우에 존재하는 비트수들에 의존하고, 데이터 버스의 데이터 버스트에 의한 전류 소모량의 크기는 DRAM디바이스의 버스트 길이에 의존하기 때문이다. 

  고성능의 파이프라인을 많이 지원하는 DRAM디바이스는 많은양의 활동 전류를 소모한다. 전체 전류 프로파일이 그림에는 나와있지 않지만 대기전류 프로파일과 각각의 write 사이클의 전류 프로파일을 더하여 구할수 있다. 해당 파워 소모의 문제점은 단지 두개의 파이프라인된 read or write 사이클을 대신해서,다수의 read or write 사이클이 파이프라인되거나, 하나의 DRAM 디바이스에서의 다른 단계에서 이론적으로 최대 tRC/tBURST의 read or write 사이클이 파이프라인 될 수 있다. 해당 전류를 제한하기 위해 새로운 타이밍 변수가 정의되었다.

 

11.3.2 tRRD : Row-to-Row(Activation)Delay

  DDR2 디바이스에는 동일한 디바이스의 로우 활성화 사이의 최소 시간 간격을 tRRD라는 타이밍 변수로 정의한다. ns 단위로 정의되어있으며 표 11.3에서 ns로 표기되어있다. 또한 이 타이밍은 동작 데이터 속도에 무관하게 유지된다. Close Page policy 경우 tRRD는 효과적으로 하나의 랭크를 가진 메모리 시스템의 최대 유지가능한 대역폭을 제한한다. 두개 이상 랭크를 가진경우 로우 활성화 커맨드가 tRRD 제약을 피하기 위해 다른 랭크로 향할 수 있다.

11.3.3 tFAW : Four-Bank Activation Window

  DRAM 디바이스의 밀도가 증가함에 따라, 디바이스 구성은 다소 원치않는 선택 사이를 오가게 되었다. 설계자들은 뱅크 컨트롤 로직의 오버헤드가 다이 크기를 증가 시키기 때문에 뱅크의 개수를 증가하는것을 꺼려했다. 그러나 더 큰 로우는 전력 소비량을 증가시켰고, 더 긴 tRRD, tFAW 변수 조건을 필요로 하였다. 또한 tRCD, tRAS 변수를 증가시키는데 기여했다. 

  계속증가하는 DRAM 디바이스의 용량을 관리하기 위해 1Gb 이상의 DDR2 디바이스가 8뱅크를 가지도록 설계되었다. 그러나 많은 뱅크 숫자는 1Gb DDR2 디바이스가 최소 4뱅크의 빠른 연속 활성화를 할 수 있다는 의미이고, 전류량을 초과할 수 있다. 이러한 전류를 제한하기 위해 tFAW를 통해 동일한 DRAM 디바이스의 최대 네 개의 로우 활성화가 동시에 진행되는 경우의 구체적인 롤링 시간 구성을 정의하였다.

  그림 11.32는 tRRD와 tFAW를 만족하는 DDR2 디바이스의 다른 뱅크에 대한 로우 활성화 요청의 시퀸스를 보여준다. 로우 활성화 요청은 tRRD만큼 떨어져야하며, 다른 뱅크의 다섯번째 로우 활성화가 적어도 tFAW가 지날 때까지 연기되어야 하는 것을 설명한다. Close Page policy 시스템에서 tFAW는 동작 데이터 속도에 무관하게 단일 랭크의 메모리 시스템의 최대 지속 대역폭에 큰 제약을 준다. 

 

11.3.4 버퍼를 사용하지 않는 메모리 시스템에서의 2T 커맨드 타이밍

  고속에서 버퍼를 사용하지 않는 메모리 시스템에서는 어드레스와 커맨드가 다수의 DRAM 디바이스로 제어한된 사이클 제약을 가지고 배포되어야 한다. 이 기능의 정확성을 보장하려면 메모리 컨트롤러가 두개의 full 클럭 사이클동안 어드레스와 커맨드를 유지할 수 있도록 설계되어야 한다. 이 모드로 동작하는 경우 2T 커맨드 타이밍을 가진다고 설명한다. 단점은 메모리 시스템의 커맨드와 어드레스의 대역폭이 절반으로 감소한다는 것이다.

  그림 11.33은 4랭크 DRAM 디바이스를 가지고있는 두 메모리 시스템을 설명한다. 좌측은 하나의 어드레스와 커맨드 버스가 네개의 랭크에 전부 연결되어있다. 반대로 우측은 두 세트의 어드레스와 커맨드 버스를 가지고있으며, 하나의 버스세트가 메모리 시스템 절반을 담당하고있다. 좌측 메모리 시스템은 2T 커맨드 타이밍을 사용해야만 하고, 반면에 우측 메모리 시스템은 1T의 커맨드 타이밍을 사용한다.

11.4 커맨드 타이밍 요약

  표 11.4는 기본적인 DRAM 커맨드의 로우 액세스, 칼럼 Write, 칼럼 Read, Column-Write-and-Precharge, Column-Read-and-Precharge, 프리차지, 리프레시 커맨드 사이의 상호작용에 대한 최저의 타이밍 수식을 정리해놨다. 또한 각 커맨드 앞에 선행될 수 있는  커맨드와 두번째 커매드가 발행되기전에 충족해야할 최소의 타이밍 제약이 설명되어있다.

11.5 요약

  DRAM-액세스 프로토콜에 대하여 자원 활용 모델을 이용하여 설명했다. 해당 모델이란 두 DRAM커맨드가 동시에 공통된 자원을 사용하지 않는 경우에 연속적으로 파이프라인 될 수 있다는 것을 전제로 한다. 기본적인 자원 활용 모델은 전력 소모 제한과 같은 추가적인 제약이 DRAM 커맨드의 발행 속도를 제한할 수 있다는 주장을 포함함으로써 실질적으로 유효하게 된다.

반응형