메모리와 스토리지가 만나는 교차점 ‘CXL’ [AI 메모리 시대 ③]
||2025.07.15
||2025.07.15
오늘날 컴퓨터 시스템의 일반적인 메모리 구성은 ‘NUMA(Non-uniform memory access)’형태다. 메모리 성능이 높아지면서 프로세서와 메모리간 거리는 점점 가까워졌고, 이제는 프로세서 내부에 메모리 컨트롤러가 내장된 것이 당연한 것처럼 여겨지는 시대가 됐다. 하지만 다뤄야 할 데이터의 양이 커지면서 모든 데이터를 프로세서 옆에 둔 값비싼 메모리로 처리하기에는 여전히 부담스럽다. 또한 멀티프로세서 환경에서 분산된 메모리들을 연결하는 성능의 한계에도 가까워지고 있다.
이에 지금까지 컴퓨터 시스템에서는 메모리의 한계를 극복하기 위한 여러 가지 시도가 있었다. 프로세서와 메모리, 저장 장치간 수천 배에 달하는 성능 차이를 줄이기 위해 촘촘하게 계층 구성된 아키텍처가 등장했고, 메모리의 비용과 용량 문제를 극복하기 위해 상대적으로 저렴한 스토리지를 메모리처럼 쓰는 가상 메모리 기법도 등장했다. 반대로 메모리를 초고속 스토리지처럼 쓰기 위한 방법도 다양하게 연구, 활용되고 있다.
이러한 메모리의 연결과 활용에 있어 ‘CXL(Compute Express Link)은 지금까지의 메모리가 가진 다양한 제약을 완화시킬 새로운 유연성을 제공하는 점에서 주목된다. CXL은 엄밀히 보면 다양한 장치를 연결하는 범용 ‘연결’ 기술이지만, 이 연결 기술의 핵심에는 지금까지 분산 배치된 메모리들을 효과적으로 연결해 활용하기 위한 ‘메모리 일관성’ 지원이 있다. 또한 최신 서버 플랫폼에서 지원되는 ‘CXL 타입3’ 디바이스는 지금까지의 서버에서 메모리 확장성에 대한 고정관념을 완전히 바꿀 가능성도 가지고 있다.
여러 장치의 메모리 공유가 가능한 CXL 기술
CXL(Compute Express Link)은 엄밀히 말하면 메모리 기술이 아니고, 메모리에 국한된 기술도 아니다. CXL의 핵심은 기술의 명칭에도 있다시피 ‘연결’이고, 연결 과정에서 장치에 연결된 모든 메모리에 대한 일관성을 제공하는 점이 차별점이다. 이 CXL 기술은 인텔이 주도해 2019년 컨소시엄이 만들어졌고, 첫 CXL 1.0 규격은 PCIe 5.0 규격을 기반으로 2019년 3월 등장했다. CXL은 PCIe의 물리적 연결을 함께 사용하면서, 메모리 일관성을 위한 공유 메모리 구조나 분산 스토리지 구성을 제공하는 것이 특징이다.
이 CXL 기술은 인텔의 4세대 제온 스케일러블 ‘사파이어 래피즈(Sapphire Rapids)’와 AMD의 젠 4 아키텍처 기반 에픽 ‘제노아(Genoa)’, ‘베르가모(Bergamo)’ 이후 프로세서들, 알테라(Altera)와 AMD의 최신 FPGA(Field Programmable Gate Array: 프로그래밍 가능한 집적회로 반도체) 제품 등에서 지원된다. 또한 삼성전자와 SK 하이닉스는 CXL로 연결된 메모리 모듈을 선보이기도 했다. 한편, 인텔의 4세대 제온 스케일러블 프로세서에서는 CXL 1.1의 타입1, 2 디바이스를 지원했지만 5세대에서는 타입 3 지원이 추가됐고, 제온 6에서는 CXL 2.0으로 지원 버전이 올랐다.
CXL에는 크게 CXL.io, CXL.cache, CXL.mem 등 세 가지 프로토콜이 있고, 이 프로토콜을 조합해 io와 cache가 사용되는 타입1, io와 캐시, mem이 사용되는 타입2, io와 mem이 사용되는 타입3가 있다. 타입1 디바이스는 로컬 메모리 없이 장치가 호스트 메모리를 공유해 사용하는 스마트NIC(네트워크 인터페이스 카드)등 가속기 장치에서 사용됐고, 타입2 디바이스는 장치와 호스트 메모리 간의 공유를 지원해 고속 로컬 메모리를 갖춘 GPU나 FPGA 등에서 활용했다. 타입3는 호스트의 메모리 확장에 사용할 수 있는 형태다.
인텔의 4세대 제온 스케일러블이 처음 나올 때는 이 중 타입 1, 2만 지원해 CXL을 통한 메모리 확장을 사용할 수 없었고, 이에 타입3를 정식 지원할 5세대 제온 스케일러블이나 6세대 ‘제온 6’에 대한 기대가 높아져 왔다. 특히 ‘제온 6’의 경우 이러한 CXL 지원의 완성형으로도 기대를 모았다. 하지만 제온 6와 CXL 2.0 지원 호스트가 이미 등장했음에도 현재 시장의 반응은 그리 크지 않은 모습인데, 이는 최근 생성형 AI의 부상과 GPU 인프라에 대한 관심이 높아짐에 따른 상대적 상황으로도 보인다. 사실 CPU 기반 전통적 서버에 대한 관심 자체가 예전같지 않은 모습이다.
CXL은 PCIe의 물리적 연결을 공유하면서 다른 형태의 프로토콜을 쓰는 기술이다. 즉, CXL 디바이스의 외관은 PCIe와 같고, 연결은 CXL이 지원되는 PCIe 슬롯에 끼우면 시스템이 이를 인식해 적절한 연결을 구성한다. 이에 삼성전자나 SK하이닉스가 선보인 CXL 메모리 모듈의 모습은 언뜻 보면 기업용 PCIe SSD나 확장 카드와 같은 모습이고, 별도의 슬롯 등을 마련하는 것이 아니라 기존 시스템의 PCIe 5.0 슬롯이나 백플레인 등을 그대로 사용한다.
특히 5세대 인텔 제온 스케일러블 프로세서부터 지원하는 CXL 타입3 메모리 모듈은 시스템에 장착하면 CXL을 통해 프로세서의 메모리 컨트롤러로 연결되는 점이 특징이다. 5세대 제온 스케일러블에서는 프로세서 당 총 12개의 DDR5 채널이 있는데, 이 중 CXL이 연결 가능한 채널은 4개다. 이를 통해 DDR5 8개와 CXL 4개의 하이브리드 구성으로 메모리 용량을 크게 늘릴 수 있다. CXL 메모리와 시스템은 메모리 수준에서 직접 연결되는 것이 아니라 CXL 컨트롤러가 중간에서 연결을 조율하는 만큼, CXL 메모리 모듈의 용량 구성도 유연성이 있다.
업계에서 현재의 CXL에 아쉬움을 표하는 가장 큰 이유로는 ‘성능’이 꼽힌다. 현재 CXL 1.1/2.0은 PCIe 5.0과 물리적 전송 기술을 공유해 최대 단방향 64GB/s, 양방향 128GB/s 정도의 전송 속도를 제공한다. 이는 타입1, 2의 경우 큰 문제 없을 성능이지만 타입3에서는 조금 아쉽다는 평이다. 현재 서버에 주로 사용되는 DDR5-4800 메모리가 대략 38.4GB/s 정도인데, 모듈 한 개와 비교하면 현재의 CXL도 충분할 수 있지만 용량 대비 대역폭이나 기대 대비 성능은 조금 부족해 보일 수 있다. 이 부분은 CXL 3.0이 PCIe 6.0을 사용하면서 나아질 것으로 기대된다.
한편, 차세대 CXL 3.0 규격은 2022년 8월 처음 제정됐고, 일부 개정 버전인 CXL 3.2가 2024년 12월 등장했다. CXL 3.0 규격은 PCIe 6.0과 물리 전송 계층을 공유해 기존 대비 두 배인 단방향 128GB/s 수준의 전송 성능을 제공할 수 있을 것으로 기대된다. 또한 일부 모드의 동작 방식에도 변화가 있으며, 타입3 디바이스의 경우 지금까지는 호스트와의 직접 연결만 가능했지만 CXL 3.0에서는 GFAM(Global Fabric Attached Memory) 모드를 지원해 호스트와 독립된 ‘공유 메모리 풀’ 구성이 가능해질 것으로 알려졌다.
메모리 계층화 넘어 경계 넘나드는 CXL
CXL 디바이스는 컨트롤러를 거쳐 PCIe를 통해 시스템과 연결되는 구조다. 이런 구조는 타입1, 2에서는 이미 기존의 디바이스에서는 익숙한 구조지만 타입3 메모리 확장에서는 아주 독특한 상황을 만들어 낸다. 지금까지 일반적인 메모리는 모듈 단위로 프로세서의 메모리 컨트롤러와 직접 연결됐지만, CXL은 ‘CXL 컨트롤러’가 시스템과 메모리 사이를 연결하는 역할을 한다. 이에 CXL 타입3 메모리 확장에서 CXL 컨트롤러 아래에 구성된 메모리는 사실 어떤 메모리가 들어가도 상관 없다.
CXL 메모리 확장 디바이스의 컨트롤러는 외부로는 CXL 연결을 통해 시스템의 메모리 컨트롤러와 연결되고, 내부로는 장착된 메모리 모듈들을 연결한다. CXL 기반의 외부 연결이 PCIe 5.0 x16 기준 단방향 64GB/s 정도기 때문에 메모리 규격은 사실 현재의 DDR5가 아니라 DDR4, 극단적으로 가면 낸드플래시 메모리를 사용해도 상관 없다. 어차피 시스템이 어떤 식으로 인식하는지는 장치의 CXL 컨트롤러에 달려 있기 때문이다. CXL 메모리 확장의 경우 성능의 핵심 요소는 내, 외부를 연결하는 ‘컨트롤러’다.
CXL을 통한 메모리 확장이 등장하면서 시스템의 메모리 또한 계층 구성이 만들어졌다. 사양 측면에서는 CXL 메모리 확장의 대역폭 성능에 큰 손색이 없지만 현실적으로는 거리에 따른 지연시간 등에서 손해가 생기고 프로세서에 직접 연결된 메모리보다 성능이 떨어진다. 하지만 애플리케이션에 따라서는 이러한 성능 차이보다 더 큰 용량이 장점이 될 수 있다. 인텔은 제온6 발표 당시 DDR5 메모리와 DDR4 기반 CXL 메모리 확장의 계층형 구성이 DDR5 메모리 단독 구성 대비 몽고DB에서 90% 수준의 성능을 제공하면서도 비용을 더 낮출 수 있다고 소개한 바 있다.
당시 인텔은 제온6에서 512GB 메모리 기준 DDR5 단독 구성과 DDR5 256GB, CXL 256GB의 혼합 구성을 사용했다. 제온6가 지원하는 ‘플랫 메모리 모드’는 하드웨어 지원 계층 구성을 사용해 DDR5와 CXL 메모리 전체를 단일 메모리 공간으로 사용할 수 있고, DDR5와 CXL의 용량 비율은 1:1이다. 총 12채널 구성에서 이전 세대처럼 DDR과 CXL 채널 수 비율이 8:4라면 각 계층간 총 전송 성능 차이는 두 배 이상 날 수도 있지만, 적절한 관리 상황에서는 이러한 성능 문제를 최소화하면서 비용 효율까지 극대화할 수 있다는 결론이다.
한편, 인텔은 제온6에서 이 CXL 연결된 메모리를 세 가지 방식으로 쓸 수 있게 지원한다. 이 중 ‘CXL NUMA Node’는 기존 DDR5와 CXL을 별개의 계층으로 다루고 소프트웨어 기반으로 계층 구성해 활용하는 형태다. ‘플랫 메모리 모드’는 하드웨어 기반 계층형 메모리 구조를 단일 메모리 영역으로 활용할 수 있게 한다. ‘CXL 헤테로 인터리브(CXL Hetero Interleaved)’는 양 메모리 영역을 동시에 활용하며 전송시 양 쪽을 번갈아 보낸다. 이 경우 전체 성능이 낮아질 수 있지만, 저장 메모리 영역에 따른 성능 차이를 없앨 수 있어 성능 균일성 확보에 유리하다.
CXL 타입3 메모리 확장은 좀 더 적극적으로 활용하면 ‘메모리 클래스 스토리지’와 ‘스토리지 클래스 메모리’가 만나는 지점까지 활용할 수 있을 것으로 기대된다. 전통적인 메모리-스토리지 계층 구조에서는 성능이 높을수록 용량이 작고 가격이 높다. 하지만 CXL의 등장은 이러한 피라미드형 계층 구조를 상당 부분 바꿀 수 있는 가능성을 갖추고 있다. 핵심은 ‘컨트롤러’고, 이미 이런 구성에 대한 가능성도 시장에서 시도된 바 있다.
CXL의 경우 컨트롤러 아래에 연결될 메모리 기술은 컨트롤러의 역량에 달렸다. 이에 이 컨트롤러 밑에 꼭 최신 고성능 메모리를 연결하는 것이 아니라, 저렴한 구형 메모리나 비휘발성 메모리를 멀티 채널 구성해 최대 전송 대역폭을 확보한다는 발상도 가능하다. 특히 이 때 기대할 만한 기술이 차세대 메모리로 꼽히는 MRAM(Magnetic Random Access Memory)이나 PRAM(Phase-change memory), 혹은 최신 낸드플래시를 멀티채널 구성해 메모리처럼 활용하는 방법이다. 메모리처럼 쓰면서 전송에서의 오버헤드를 줄이고, 비휘발성으로 저장도 가능해 메모리와 스토리지 양 쪽의 장점을 모두 취할 수 있는 위치다.
의외로 이러한 미묘한 지점에 대한 수요도 있다. 대표적인 영역이 실시간 분석과 통찰 도출을 위한 ‘인메모리 데이터베이스’다. 지금까지는 인메모리 데이터베이스에서 용량에 대한 비용 부담은 물론이고 재기동 등에서 대량의 데이터를 스토리지에서 불러와 메모리로 올리고 수시로 메모리의 데이터를 스토리지에 저장해야 하는 부담이 있었는데, CXL로 비휘발성 미디어를 메모리처럼 연결하면 이러한 고민들을 상당 부분 없앨 수 있다. 비용 대비 용량도 크고, 소프트웨어의 복잡성 또한 최소화된다. 이런 부분도 메모리, 스토리지 업체들이 CXL에 관심을 가질 이유다.
CXL 시대로 이어지지 못한 인텔의 ‘옵테인’
이 CXL 기술 활용 방법의 대부분은 이미 인텔이 이전에 시도했던 방법들이기도 하다. 인텔이 2015년 처음 발표해 2017년 상용화한 ‘옵테인’ 제품군은 상변화 메모리(PRAM)의 일종으로 알려진 ‘3D 크로스포인트(3D XPoint)’ 미디어를 사용해 엔터프라이즈용 고성능 드라이브 ‘옵테인 SSD’와 메모리 소켓에 장착하는 비휘발성 메모리(NVDIMM) 형태인 ‘옵테인 퍼시스턴트 메모리(Optane Persistant Memory)’를 선보였던 바 있다. 인텔과 마이크론이 함께 개발한 ‘3D 크로스포인트’는 일반적인 낸드플래시 대비 접근시간과 무작위 I/O 처리, 내구성에서 큰 장점을 갖췄었다.
인텔은 이 ‘옵테인 퍼시스턴트 메모리’를 2세대 제온 스케일러블 프로세서 기반 플랫폼에서부터 지원하기 시작했다. 당시 옵테인 퍼시스턴트 메모리는 물리적으로 DDR4 메모리 모듈과 호환성을 갖췄고 모듈당 512GB까지 지원돼 일반 메모리보다 더 큰 용량을 확보할 수 있었다. 실제 장착에서는 프로세서의 메모리 채널 중 일부에는 DDR4로, 나머지에 옵테인 퍼시스턴트 메모리를 장착하고 내부적으로는 계층형 메모리 구성 혹은 독립 구성, 스토리지 모드 등을 사용할 수 있었다.
옵테인 퍼시스턴트 메모리는 장단점이 분명했다. 장점은 기존 메모리처럼 쓸 수 있어 대용량의 비휘발성 메모리 공간을 가장 간편하게 확보할 수 있다는 점이었다. 프로세서의 메모리 컨트롤러와 직접 연결되는 점도 당시 상대적으로 열악한 입출력 성능 환경에서는 차별화됐다. 하지만 비용과 호환성, 실제 성능을 제대로 활용하기 위해서는 최적화에 제법 고심해야 된다는 점 등이 단점으로 꼽혔다. 또한 일반 DDR4 메모리의 가격이 내려오면서 소켓을 공유하는 옵테인 퍼시스턴트 메모리의 매력이 떨어지기도 했다.
하지만 인텔은 이제 옵테인 관련 사업을 모두 정리한 상태다. 낸드플래시 관련 사업은 이미 SK하이닉스에 매각해 ‘솔리다임(Solidigm)’이 됐는데, 이 매각에서 ‘옵테인’은 빠져 있었다. 하지만 마이크론과의 협업이 순탄치 않으면서 옵테인 사업은 2022년 중반 공식 종료가 발표됐다. 지난 2022년 12월 인텔은 IT조선과의 인터뷰에서 이에 대해 “옵테인 퍼시스턴트 메모리의 지원은 4세대 제온 스케일러블 프로세서에서의 옵테인 퍼시스턴트 메모리 300 시리즈 지원이 마지막이다”라고 확인한 바 있다.
기술 변화의 흐름을 보면, ‘옵테인 퍼시스턴트 메모리’의 퇴장은 ‘CXL’의 등장과 정확히 맞물린다. 2023년 12월 등장한 5세대 제온 스케일러블 프로세서에서는 옵테인 퍼시스턴트 메모리의 지원 제거와 CXL 타입3 메모리 확장 디바이스의 지원 추가가 함께 이뤄졌다. 이 시점에서 옵테인 퍼시스턴트 메모리는 인터페이스 측면에서는 CXL 타입3 대비 특징도 겹치고 우위도 없던 만큼 대체되는 것이 자연스러운 모습이기도 하다. 단지, ‘3D 크로스포인트’ 미디어를 사용한 CXL 버전 제품이 등장하지 않은 것은 아쉬운데, 이는 향후 삼성전자나 SK하이닉스 등에서 등장할 가능성이 있어 보인다.
권용만 기자
yongman.kwon@chosunbiz.com
고객님만을 위한 맞춤 차량