본문 바로가기
DRAM

DRAM 타이밍 파라미터 (Timing Parameter) - (1)

by 토리윤 2022. 5. 28.

 

 기능적인 측면에서 보자면, DRAM은 단순하게 1과 0을 저장하고, 그 저장되어 있는 값을 읽기만 하는  메모리 장치일 뿐입니다. 그러나 이 단순한 과정을 고도로 집적화 되어 있는 환경에서, 고속으로 동작하게끔 하기 위해서 DRAM은 일정한 명령에 대한 포맷이 존재합니다. 이러한 포맷에는 다양한 명령 이름과, 각 명령이 유지되거나 동작하게 되는 고유의 시간 파라미터가 존재합니다. 이번 포스팅에서는 DRAM의 이러한 커맨드에 필요한 파라미터가 무엇인지 알아보도록 하겠습니다. 수많은 커맨드 중에서도, DRAM의 핵심 동작에 필요한 커맨드를 우선 살펴보고, 각각의 명령을 수행하는 데 있어서 필요한 특정한 DRAM 접근 프로토콜과 타이밍을 정리해 보도록 하겠습니다. 기본적이고 핵심적인 타이밍 파라미터만 하더라도 대략 20여 가지에 달하는 파라미터가 존재합니다. 각각의 세부 파라미터에 대해서는, 대표적인 커맨드를 볼 때 같이 살펴보도록 하겠습니다.


 1. 행 활성화 명령: 행을 접근하는 데 있어서 필요한 행 접근 명령은 행 활성화 명령 즉, Row Activation Command라고 불리기도 합니다. 이유는 해당하는 word line을 활성화시켜줘야 원하는 셀에 접근할 수 있기 때문입니다. Row access command는 DRAM의 해당 회로에 있는 셀에 연결되어 있는 데이터 값을 이어져 있는 sense amplifier로 전달하게 됩니다. 또한 DRAM의 해당 회로에 연결되어 있는 셀에 데이터를 복원시키는 데에도 사용됩니다. 이때 필요한 대표적인 파라미터는 두 개가 있습니다. 바로 tRCD와 tRAS입니다. Row Column Delay의 약어를 사용하는 tRCD는 행 접근 명령으로부터 DRAM 셀 배열들의 데이터를 sense amplifier로 전송하는 데 걸리는 시간을 나타냅니다. 즉, 행 접근 명령이 입력 후, tRCD 이후에 활성화된 데이터의 모든 행은 sense amplifier로 연결됩니다. 이 이후에 열에 대한 읽기나 쓰기 명령을 사용하여 데이터 버스를 통하여 sense amplifier와 메모리 컨트롤러 사이에 데이터 전송이 가능해집니다. 행 접근 명령 후 tRCD 시간 이후에, 활성화된 데이터의 모든 행 주소는 sense amplifier로 연결되어 있습니다. 이후에는 열 읽기 및 쓰기 동작을 이용하여 데이터 버스를 통하여 sense amplifier와 메모리 컨트롤러 간에 데이터를 전송할 수 있게 됩니다. 한편, 행 접근 명령을 입력 후, tRCD 시간 이후에 데이터가 sense amplifier에서 준비가 되어도 모든 DRAM 셀이 완전히 원래의 셀 값으로 복원된 것이 아닙니다. DRAM 셀의 데이터 방출과 복원에 걸리는 시간이 Row Access Strobe이라고 하며 tRAS라고 표기합니다. 이 행 접근 명령으로부터 tRAS 시간 이후에, sense amplifier는 DRAM 셀의 원래 값들에 대하여 복원을 합니다. 이후, sense amplifier가 동일한 DRAM 셀들에 대한 뱅크 내의 다른 행 명령을 수행하기 위해 precharge 명령을 수행하게 됩니다.

 


 2. 읽기 명령: 읽기 명령은 DRAM의 각 열에 수행되는 명령입니다. 읽기 명령에 의하여 DRAM의 셀들은 정해진 bank 주소에 있는 sense amplifier로부터 데이터 버스를 통하여 메모리 컨트롤러로 해당 데이터를 전달해주게 됩니다. 이때 읽기 명령과 관련된 타이밍 파라미터로는 tCAS, tCCD, tBURST의 3가지가 있습니다. Column Access Strobe 또는 Column Access Strobe Latency(tCAS, 또는 tCL)는 읽기 명령 이후에 DRAM으로부터 요청한 데이터를 각 할당되어 있는 데이터 버스에 전달하기까지 걸리는 시간을 나타냅니다. 그렇기에 latency라는 이름이 붙게 된 것이죠. 현재 사용되고 있는 DRAM은 내부적인 전송은 짧고 빠르게 하며 연속적인 동작을 위해 burst 동작으로 설계됩니다. 보통 tBURST는 하나의 열 명령일 때 데이터 버스의 연속 시간을 나타냅니다. 또한, tCCD 타이밍 파라미터의 경우, 최소 burst 시간 또는 최소의 열과 열간에 행해지는 명령의 타이밍 파라미터를 의미합니다. 여기서 말하는 최소 burst 시간은 해당 DRAM 장치의 prefetch 길이에 의해 결정됩니다. 그렇기 때문에 tCCD가 tBURST보다 작은 경우에는 데이터 버스를 통해서 데이터를 전송하는 속도가 tBURST에 의해 결정됩니다. 이는 열에 접근하는 명령에 대한 prefetch 시간은 일반적인 메모리 동작 신호에 큰 영향을 끼치지 않는다는 것입니다. 그러나 tCCD가 tBURST 보다 큰 경우에는 일부 제한되는 경우가 생기기도 합니다. 이러한 경우에는 열 명령 이후에 위치하는 precharge 명령과 관련된 타이밍 파라미터를 조절하게 됩니다.


 3. 쓰기 명령: 쓰기 명령의 경우 대부분 읽기 명령과 비슷한 부분이 많습니다. 메모리 컨트롤러부터 목표하는 bank의 sense amplifier에 해당 데이터를 전송하게 됩니다. 쓰기 명령과 읽기 명령이 다른 점이 있다면, 그건 바로 데이터의 이동 방향입니다. 쓰기 명령의 경우 읽기 명령과 비교했을 때, 그 처리 단계를 반대로 진행하게 되는 것이죠. 쓰기 명령과 관련된 타이밍 파라미터로는 Column Write Delay라고 불리는 tCWD가 있습니다. 이는 칼럼의 쓰기 명령이, 각 명령 버스로 입력된 시점부터 메모리 컨트롤러에 의해 쓰려는 데이터가 해당 버스에 전송되기까지 걸리는 시간을 나타냅니다. 각각의 메모리 접근 동작 명령들은 서로 다른 tCWD를 갖게 됩니다. 예를 들어, 쓰기 명령과 동시에 쓰려는 데이터가 데이터 버스에 위치할 수 있습니다. 이러한 경우, tCWD는 0이 됩니다. 이는 DDR 시리즈가 발전함에 따라, tCWD가 여러 사이클의 값을 선택적으로 가질 수 있게끔 설계되어 왔습니다. 한편, write recovery 시간을 나타내는 tWR 파라미터와, write to read turnaround 시간을 나타내는 tWTR 파라미터도 있습니다. 전자인 tWR의 경우, 데이터를 쓸 때 DRAM 셀에 전달되는 시간을 나타내고, 이 시간이 확보된 이후에 행을 닫는 precharge 명령이 수행되어야 합니다. 후자인 tWTR의 경우 I/O에서 쓰기 명령에 의해 데이터가 방출되기까지 걸리는 시간을 나타냅니다.

 

 

-참고문헌-

  • Memory Systems: Cache, DRAM and Cross-Cutting Issue, Bruce Jacob 외, Elsevier

'DRAM' 카테고리의 다른 글

DRAM 타이밍 파라미터 (Timing Parameter) - (2)  (0) 2022.06.01
DRAM의 핵심 신호 (Pins)  (0) 2022.05.27
DRAM의 Refresh 동작이란?  (0) 2022.05.25

댓글