안녕하십니까.
이번 포스트에서는 차세대 반도체 중 CXL에 대해서 알아보도록 하겠습니다.
: CPU, GPU, 스토리지 등의 다양한 장치를 묶어 보다 빠른 연산 처리를 가능하게 하는 차세대 인터페이스
HBM과 비교하여 설명하자면 HBM은 고속도로를 만들어 데이터가 빠르게 왔다갔다 할 수 있게 하는 것이라면,
CXL은 여러 도로를 연결하여 용량을 확장한 것으로 이해할 수 있습니다.
따라서 다수의 장치를 하나의 인터페이스로 통합해 여러 장치가 한 번에 연결되게 함으로써 데이터 처리 속도를 높이고,
시스템 용량과 대역폭을 확장할 수 있는 기반을 제공합니다.
AI 반도체에서 단순히 많은 반복 연산을 필요로 하는 것을 넘어, 다수의 반도체와의 연결,
즉, 양적 확장(Quantitative Expansion)을 넘어, 범위 확장(Scope Expansion)이 중요해졌기 때문입니다.
현재 시스템 구조의 기반인 폰 노이만 구조는 각 로직 반도체가 개별 하부 메모리 시스템을 가지고 있는 구조입니다.
해당 구조의 단점은 다음과 같습니다.
① 메모리 용량의 한계
: 하나의 로직 반도체와 직접 연결된 메모리의 크기는 한계값을 가지기 때문에,
한 번에 처리해야 하는 데이터의 크기가 큰 경우 연산을 분할하고 합치는 프로세스가 필요하기 때문에 연산의 효율이 떨어집니다.
② 분배의 한계
: 메모리 크기의 한계로 다른 서버의 리소스를 활용하여 메모리를 처리하는 것이 불가능하지는 않지만,
이 역시 연산의 효율을 저하시킵니다.
이러한 한계들에 의해 도입된 개념이 "메모리 풀링" 입니다.
: 여러 개의 메모리를 하나로 묶어, 하나의 거대한 메모리 풀을 만들고, 이 안에서 시스템이 필요한 만큼의 메모리를 가져다 쓰는 개념
이를 사용하면 앞서 언급했던 폰 노이만 구조의 단점을 해결할 수 있습니다.
우선, 메모리 확장에 굉장히 유리합니다.
또한, 필요에 따라 메모리를 효과적으로 할당하고 해제하기 때문에 효율성이 향상됩니다.
1. 캐시 일관성 유지
: CXL 프로토콜 하에서 한 프로세서가 데이터를 변경할 때 다른 프로세서의 캐시 데이터가 자동으로 갱신됩니다.
2. 다양한 메모리 유형 지원
: CXL 인터페이스를 통해 기저 메모리 기술에 구애받지 않고, 다양한 종류의 메모리를 호스트에 연결할 수 있습니다.
1. CXL 1.1 (Memory Expansion)
: 단일 호스트와 단일 장치간 일대일 통신

2. CXL 2.0 (Memory Pooling)
: 단일 레벨 스위칭 및 메모리 풀링 지원

3. CXL 3.0
: 다수의 프로세서와 메모리 풀 간 다중 연결

현재 SK하이닉스 및 삼성전자에서는 CXL 기반 DRAM을 개발하여 양산 단계에 있습니다.
1. CMM-D (CXL Memory Module DRAM) ; 삼성전자
CXL 2.0을 기반으로, CPU 메모리 채널 개수를 늘리지 않고도 메모리 용량과 대역폭을 유연하고 강력하게 증가시킬 수 있게 해줍니다.
2. CMM(CXL Memory Module)-DDR5 ; SK하이닉스
기존 DDR5 모듈 대비 용량과 대역폭을 크게 확장한 CXL 2.0 기반 DRAM입니다.
이번 포스트는 여기서 마무리 하도록 하겠습니다.
읽어주셔서 감사합니다.
내용에 오류가 있거나 의문이 드시는 부분이 있다면 댓글 남겨주세요!