메모리 타이밍

**메모리 타이밍**(Memory timings) 또는 **RAM 타이밍**(RAM timings)은 메모리 모듈 또는 온보드 LPDDRx의 타이밍 정보를 설명한다. VLSI 및 마이크로일렉트로닉스의 고유한 특성으로 인해 메모리 칩은 명령을 완전히 실행하는 데 시간이 필요하다. 명령을 너무 빨리 실행하면 데이터 손상이 발생하고 시스템 불안정으로 이어진다. 명령 사이에 적절한 시간을 두면 메모리 모듈/칩이 트랜지스터를 완전히 전환하고, 커패시터를 충전하고, 메모리 컨트롤러에 정보를 올바르게 신호할 기회를 얻을 수 있다. 시스템 성능은 메모리 사용 속도에 따라 달라지므로 이 타이밍은 시스템 성능에 직접적인 영향을 미친다. 최신 SDRAM의 타이밍은 일반적으로 4가지 매개변수로 표시된다. **CL**, **TRCD**, **TRP**, 그리고 **TRAS**는 클록 주기 단위이다. 이들은 일반적으로 7-8-8-24와 같이 하이픈으로 구분된 네 자리 숫자로 쓰인다. 네 번째(tRAS)는 종종 생략되거나, 다섯 번째인 **커맨드 레이트**가 때때로 추가된다 (일반적으로 2T 또는 1T, 2N, 1N 또는 CR2로도 쓰인다). 이 매개변수들은 (더 큰 전체의 일부로서) 램에 발행된 특정 명령의 클록 레이턴시를 지정한다. 숫자가 낮을수록 명령 간 대기 시간이 짧음을 의미한다 (클록 주기로 결정됨). 인텔 시스템에는 기어 2 (기어 유형 0)와 기어 4 (기어 유형 1)도 있다. {|class=wikitable !이름!!기호!!정의 |- |CAS 레이턴시 |**CL** |메모리에 열 주소를 보낸 후 응답으로 데이터가 시작될 때까지의 주기 수. 올바른 행이 이미 열려 있는 DRAM에서 메모리의 첫 번째 비트를 읽는 데 걸리는 주기 수이다. 다른 숫자와 달리 이것은 최소값이 아니라 메모리 컨트롤러와 메모리 간에 동의되어야 하는 정확한 숫자이다. |- |행 주소-열 주소 지연 |**TRCD** |메모리 행을 연 후 그 안의 열에 접근하는 데 필요한 최소 클록 주기 수. 활성 행이 없는 DRAM에서 메모리의 첫 번째 비트를 읽는 시간은 TRCD \+ CL이다. |- |행 프리차지 시간 |**TRP** |프리차지 명령을 내린 후 다음 행을 여는 데 필요한 최소 클록 주기 수. 잘못된 행이 열려 있는 DRAM에서 메모리의 첫 번째 비트를 읽는 시간은 TRP \+ TRCD \+ CL이다. |- |행 활성 시간 |**TRAS** |행 활성 명령과 프리차지 명령을 내리는 데 필요한 최소 클록 주기 수. 이것은 행을 내부적으로 새로 고치는 데 필요한 시간이며, TRCD와 겹친다. SDRAM 모듈에서는 단순히 TRCD \+ CL이다. 그렇지 않은 경우 대략 TRCD \+ 2×CL과 같다. |- |colspan=3|참고: *RAS: 행 주소 스트로브, 비동기 DRAM에서 유래한 용어. *CAS: 열 주소 스트로브, 비동기 DRAM에서 유래한 용어. *TWR: 쓰기 복구 시간, 행에 마지막 쓰기 명령을 내린 후 프리차지하는 데 필요한 시간. 일반적으로 TRAS = TRCD \+ TWR. *TRC: 행 사이클 시간. TRC = TRAS \+ TRP. |---- |} 절대 레이턴시(따라서 시스템 성능)를 결정하는 것은 타이밍과 메모리 클록 주파수 모두에 의해 결정된다. 메모리 타이밍을 실제 레이턴시로 변환할 때, 타이밍은 클록 주기 단위이며, 더블 데이터 레이트 메모리의 경우 일반적으로 인용되는 전송 속도의 절반이다. 클록 주파수를 모르면 한 타이밍 세트가 다른 타이밍 세트보다 "빠른지" 여부를 알 수 없다. 예를 들어, DDR3-2000 메모리는 1000MHz 클록 주파수를 가지며, 이는 1나노초 클록 주기를 생성한다. 이 1나노초 클록으로, CAS 레이턴시가 7이면 절대 CAS 레이턴시는 7나노초이다. 더 빠른 DDR3-2666 메모리(1333MHz 클록, 또는 정확히 0.75나노초; 1333은 반올림됨)는 더 큰 CAS 레이턴시 9를 가질 수 있지만, 1333MHz 클록 주파수에서는 9클록 주기를 기다리는 데 걸리는 시간은 6.75나노초에 불과하다. 이러한 이유로 DDR3-2666 CL9는 DDR3-2000 CL7 메모리보다 절대 CAS 레이턴시가 더 작다. DDR3와 DDR4 모두에서 위에서 설명한 네 가지 타이밍이 유일하게 관련 있는 타이밍은 아니며 메모리 성능에 대한 매우 간략한 개요를 제공한다. 메모리 모듈의 전체 메모리 타이밍은 모듈의 SPD 칩 내부에 저장된다. DDR3 및 DDR4 DIMM 모듈에서 이 칩은 PROM 또는 EEPROM 플래시 메모리 칩이며 JEDEC 표준 타이밍 테이블 데이터 형식을 포함한다. DDR의 다른 버전 간의 테이블 레이아웃 및 이 칩에 있는 다른 메모리 타이밍 정보의 예에 대해서는 SPD 문서를 참조하라. 최신 DIMM에는 자동 구성을 위한 권장 메모리 타이밍과 오버클럭을 통해 성능 향상을 가능하게 하는 더 빠른 타이밍 정보(및 더 높은 전압)의 XMP/EXPO 프로파일을 포함하는 Serial Presence Detect (SPD) ROM 칩이 포함되어 있다. PC의 바이오스는 사용자가 성능을 높이거나(안정성 저하 위험이 있을 수 있음) 경우에 따라 안정성을 높이기 위해(권장 타이밍을 사용하여) 타이밍을 수동으로 조정할 수 있도록 허용할 수 있다. 앨더 레이크 CPU 및 그 이후부터는 tRCD와 tRP가 더 이상 연결되지 않으며, 이전에는 인텔이 이들을 다른 값으로 설정하는 것을 허용하지 않았다. DDR4는 FGR(미세 입자 리프레시) 지원을 도입했으며, tRFC2 및 tRFC4 타이밍을 가졌고, DDR5는 tRFC2만 유지했다.doi-broken-date=27 May 2025 참고: 메모리 대역폭은 메모리의 처리량을 측정하며, 일반적으로 지연 시간보다는 전송 속도에 의해 제한된다. SDRAM의 여러 내부 뱅크에 대한 인터리빙 액세스를 통해 최대 전송 속도로 데이터를 지속적으로 전송할 수 있다. 대역폭 증가는 지연 시간 증가를 수반할 수 있다. 특히, DDR 메모리의 각 successive 세대는 더 높은 전송 속도를 가지지만 절대 지연 시간은 크게 변하지 않으며, 특히 시장에 처음 출시될 때 새로운 세대는 일반적으로 이전 세대보다 더 긴 지연 시간을 가진다. CPU의 아키텍처 및 버그 또한 지연 시간을 변경할 수 있다. 메모리 지연 시간을 늘리면서도 메모리 대역폭을 늘리면 여러 프로세서 및 여러 실행 스레드가 있는 컴퓨터 시스템의 성능이 향상될 수 있다. 더 높은 대역폭은 전용 비디오 메모리가 없지만 일반 RAM을 VRAM으로 사용하는 통합 그래픽 프로세서의 성능도 향상시킨다. 최신 X86 프로세서는 슈퍼스칼라 명령어 파이프라인, 비순차적 명령어 처리, 메모리 프리패칭, 메모리 의존성 예측, 분기 예측과 같은 기술로 크게 최적화되어 RAM(및 기타 캐시)에서 메모리를 선점적으로 로드하여 실행 속도를 더욱 높인다. 이러한 성능 최적화의 복잡성 때문에 메모리 타이밍이 성능에 미칠 수 있는 영향을 확실하게 말하기는 어렵다. 다른 작업 부하는 다른 메모리 액세스 패턴을 가지며 이러한 메모리 타이밍에 따라 성능이 다르게 영향을 받는다.
# BIOS에서의 처리
인텔 시스템에서 메모리 타이밍 및 관리는 바이오스의 일부인 메모리 레퍼런스 코드(Memory Reference Code, MRC)에 의해 처리된다.url-status=deaddate=December 2020access-date=12 November 2022 많은 부분이 인텔 MEI에서도 관리되며, 이는 PCH의 전용 코어에서 실행되는 미닉스 OS이다. 일부 서브펌웨어는 메모리 지연 시간에 영향을 미칠 수 있다.