램오버클럭에서 "램 타이밍"이란 무엇인가?

Posted by 돼지로운생활
2017.06.18 04:10 IT/컴퓨터




램 오버클럭을 진행하시는 분들 혹은 해보려고 정보를 얻는 분들은 타이밍 / 램타 / 레이턴시 등의 용어들을 많이 들어보셨을 겁니다.
저 또한 램 오버클럭을 처음 진행했을 때 도대체 뭘 기준으로 이러한 것들을 말하는지 몰랐습니다. 

이곳 저곳에서 정보를 많이 알아보기도 했었습니다. 제가 알게 된 내용들을 기존에 있는 내용들과 잘 조합하여 최대한 한 램오버를 진행하시는 분들이 쉽게 하실 수 있도록 글을 써보려고 합니다.


램타이밍? 넌 도대체 뭐하는 녀석이니! 너의 이야기를 들려줘


1. 램타이밍의 종류

메모리의 스펙을 표시할 때, 또는 램오버를 성공한 분들이 자신들의 램타이밍 값을 공개할 때 다음과 같은 형태로 표시를 해서 알려주시곤 합니다. 

2666 16-16-16-36 

이러한 형식으로 표시를 하는데 이를 하나씩 보게되면 2666MHz의 클럭, CL 16, TRCD 16, TRP 16, TRAS 36

이는 각각 다음과 같은 풀네임의 약어입니다.


CAS Latency(CL) : Column-Address Strobe Letancy
tRCD : Row-address to Column-address Delay
tRP : Row Precharge
tRAS : Row Active Time


 램타이밍 항목은 대부분 두자리 숫자로 나타내지는데, 해당 항목이 차지하는 클럭 사이클을 의미합니다.
즉 1000MHz 메모리의 클럭 사이클은 0.000000001 초당 하나의 데이터가 왔다갔다 하는데, 이 메모리의 CL값이 16이라면 이 메모리는 CL을 수행하는 데 0.000000001 x 16초가 필요하단 뜻이 됩니다.


 위 차트는 CL 10을 기준으로 2666MHz와 1000MHz의 시간 차이를 나타낸 것입니다. 실제의 값보다 0.001크게 작성이 된 차트입니다. 

 여기서 왜 CL이 낮으면 좋은지 그 이유를 알 수 있습니다. 데이터를 그만큼 빠르게 보낼 수 있기 때문입니다.



2. CAS Latency

 간단히 말해 CPU의 메모리 컨트롤러 ↔ 메모리 사이의 응답시간입니다. 즉, 한쪽이 데이터를 보낸 뒤 다른 한쪽으로부터 최초의 응답(ping - pong) 이 있기까지 메모리는 마치 행렬처럼, ROW와 COLUMN으로 셀의 위치를 지정해 데이터를 저장하는데 CAS Latency는 이미 어떤 ROW COLUMN에 저장할지 파악한 상황에서, 그 COLUMN의 위치해 있는 데이터를 액세스하는 데 걸리는 시간입니다.
 즉, 모든 주소가 주어진 상황에서 "맞는 COLUMN을 찾아가서 첫번째 비트를 액세스하기까지 걸리는 시간" 으로 정의됩니다.


3. tRCD


 tRCD란 CPU의 메모리 컨트롤러가 '해당되는 COLUMN을 찾아 가는데 걸리는 시간' 입니다.
ROW COLUMN 주소가 있을 때 메모리컨트롤러가 메모리에 찾아가서 액세스하는 데 걸리는 시간은 CL + tRCD가 되겠죠?
정확한 의미는 "하나의 ROW를 연 뒤, 그 ROW에 해당하는 COLUMN을 찾아 액세스하기까지 걸리는 시간" 입니다.
다시 말해 tRCD는 ROW주소가 이미 주어졌고, 그 안에서 COLUMN주소를 찾기까지의 시간인 거죠. 

 메모리 컨트롤러가 ROW에 진입을 해서 시작!을 외치고 해당하는 COLUMN에 가서 너 시작! 할 때 까지 걸리는 시간이 바로 tRCD인 것입니다.

그렇다면 ROW 주소를 찾기까지의 시간도 존재를 할까요? 

존재합니다. 그것이 바로 아래에 있는 TRP 입니다.



4. tRP

tRP가 바로 ROW 주소를 찾기까지의 시간이 됩니다. 

"ROW를 여는 명령어 (Precharge command)가 주어진 때부터 ROW를 열기까지의 시간" 이 됩니다.

찾아가는 것이 아닌 ROW를 열어주는 시간입니다. 위의 tRCD는 찾아가는시간이고 tRP는 열어주는 시간입니다.

그렇다면 또 다시 궁금한 것이 생깁니다. 


"Precharge command는 또 뭐야?"



5. tRAS

바로 TRAS가 Precharge command의 주기입니다. 

즉 얼만큼의 주기를 기준으로 메모리 컨트롤러가 신호를 보낼 것이 바로 이 tRAS값입니다



1. 메모리컨트롤러가 메모리에 데이터를 쓰고/읽으려면 ROW COLUMN 주소가 필요하다.
    - 해당하는 ROW를 액세스하기 위해 메모리컨트롤러가 'ROW를 여는 명령어 (Precharge command)' 를 발행한다.
     → 여기까지 걸리는 시간이 tRAS 입니다.


2.  ROW를 명령을 받았기에 ROW를 엑세스하여 오픈한다.
    - ROW가 완전히 오픈됨
      여기까지 걸리는 시간이 tRP 입니다.


3. ROW안에 들어와 해당하는 COLUMN을 찾아냄.
     → 여기까지 걸리는 시간이 tRCD 입니다.


4. 해당하는 COLUMN주소에 도달한 후 데이터를 R/W함 

5. 완료
      여기까지 걸리는 시간(4~5번)이 CL 입니다.



램 타이밍을 줄인다는건 결국 메모리 컨트롤러가 더 빠르게 메모리에 접근해 R/W를 하게 해주는 것!




 램타이밍의 요소들은 모두의 '합'에 관계되어 있기 때문에 어느 하나만 조여진다고 좋은 게 아닙니다. 가장 잦은 빈도로 사용되는 CL / TRCD 등 앞쪽에 위치한 값이 작을수록 좋은 것은 사실입니다. 
하지만 ROW안에서 데이터를 R/W하는 작업이 끝나기 전까진 Row 밖에서 열고 닫는걸 아무리 해봐야 별 소용이 없다는 것을 이제 알 수 있겠죠?
 그렇기에 TRAS 값은 나머지 세 값을 합친 것과 대개 비슷한 값을 가져야 합니다. 
예를 들어 CL-TRCD-TRP 값이 각각 16-16-16이라면 이 메모리의 TRAS 값은 48가 되는 것이 적당하다는 거죠. 그럼에도 TRAS를 줄여주는 이유는 약속시간에 딱 맞춰서 대기를 하는 것보다 어느정도 여유를 두고 도착하는 것이 더 좋아보이는 것과 비슷한 이유라고 생각하시면 될 것 같습니다.



마치며...

램은 삼성이 가장 무난하고 좋은 것 같습니다. 미역은 어떻게는 감출 수 있으니까요 =)

감사합니다!! 


AMD의 야심작 Ryzen 1700을 사용해보다!! - 리뷰 보러가기

Ryzen 1700의 한계는?! 오버클럭 도전!! - 포스팅 보러가기

게이밍의 정점! MSI 1080Ti 트윈프로져!! - 리뷰 보러가기




유용한 IT정보 / 전자제품 리뷰
포털에서 MilkyeWay를 검색해주세요👍
유용한 정보였다면 ❤️ 클릭 부탁드려요 😄

이 댓글을 비밀 댓글로
    • ㅇㅇㅇ
    • 2017.07.29 04:36
    글 중간에 'ROW / COLUMN 주소가 있을 때 메모리컨트롤러가 메모리를 액세스하는 데 걸리는 시간은 CL + tRCD가 되겠죠?' 라는 부분에서 의문이 듭니다.
    애초에 tRCD는 데이터에 부합하는 column주소를 찾는 시간이므로 'row/column주소를 확보한 상태서 엑세스까지 걸리는 시간'을 논할 때는 tRCD가 제외된 CL만을 두고 말해야하는 게 논리상 옳은 것 아닌가요?
    글 내용대로라면 column 주소를 확보하고 나서도 다시 그걸 찾는 tRCD가 중복되는 것으로 오해할 여지가 있는데 말이죠.
    • 음 그렇네요 =)
      다시 읽어보니 헷갈릴 수 있게 제가 작성을 했네요 ㅋㅋㅋ
      엑세스->CL이고
      찾기 -> tRCD니까
      맞는 말씀 같습니다! 좋은 지적 감사드려요 ㅎㅎ
    • AMG
    • 2017.11.19 11:48
    흐엉 감사합니다... 램타가 이제서야 이해가가네요ㅠ
    • ㅎㅇㅋ
    • 2018.01.09 23:54
    세상에 이런 유익한내용을 소개하시는 분이 있을줄이야

    우오오오오 감사합니다. 넘쳐나는 지식욕의 해소!!!!!
    • ㅇㅇㅇ
    • 2018.12.06 00:30
    와 쉬운 설명 감사합니다 ㅎㅎ 맨날 램타램타 거리기만했지 이론적으론 자세히 몰랐는데 이제 세부적으로 잘알게되었네요!