‘크면 클수록 좋다’ 불변의 법칙, 다다익램(RAM)
어떤 제품이든지 용량이 크거나 속도가 빠른 것이 비싸고 좋다. PC 하드웨어도 마찬가지다. CPU와 GPU는 조금이라도 빠른 것이 좋기 때문에 1클럭이라도 더 높이기 위해 아웅다웅하는 제품이다. 저장장치는 아무리 큰 용량을 장착해도 언제나 용량이 부족하며, SSD까지 등장하면서 속도 경쟁도 불붙었다. 램(RAM)도 그러하다.
오히려 램이야말로 예전부터 ‘다다익램’이라는 말이 있었을 정도로 크면 클수록 좋고 당장 안 필요해도 넉넉하게 있으면 좋다고 할 정도로 용량과 속도에 관심이 많은 하드웨어였다. 최근에는 다양한 모바일 기기에도 많이 탑재되면서 실생활에서 램을 접하는 일이 더 잦아졌다.
램의 존재 의미
램(RAM)은 Random Access Memory의 약자로 임시로 내용을 읽고 쓰고 지울 수 있는 휘발성 메모리다. 읽기 전용 기억 장치인 ROM(Read-only memory)과 함께 주 기억장치로 분류되며, 원하는 대로 쓰고 지울 수 있지만, 전원이 끊기면 저장된 내용이 모두 삭제된다.
램은 CPU와 보조 저장장치인 HDD를 연결하기 위해 존재한다. CPU는 연산처리 속도가 매우 빠르지만, 데이터를 저장할 수는 없다. 이 때문에 다른 장치에서 데이터를 불러들여 연산해야 한다. 하지만 데이터가 저장된 HDD에 CPU가 접속해 연산을 처리하자니 HDD의 속도는 느려도 너무 느리다. HDD보다 속도가 빠른 SSD도 있지만, SSD마저도 CPU의 연산속도에 미치지 못한다.
이를 중재하는 것이 램이다. 램도 CPU 연산속도보다 빠르지 못하지만, HDD나 SSD보다 빠르므로 둘 사이의 병목 현상을 최대한 줄여주는 역할을 한다. 간단하게 ‘DDR4 8G PC4-17000’이라는 제품은 DDR4 규격의 8GB 용량 램이며 최대 데이터 전송속도는 약 17,000MB/s라는 의미다. 흔히 쓰이는 SSD의 데이터 전송속도가 500MB/s인 것을 고려하면 얼마나 빠른지 가늠할 수 있을 것이다.
램은 CPU 연산처리에 필요한 데이터 일부를 HDD나 SSD로부터 복사해 임시로 저장하고 있다가 CPU가 필요할 때마다 전달해 준다. 이 과정은 프로그램을 구동하거나 게임할 때 흔히들 겪었을 것이다. 그냥 기다리는 시간이나 짜증나는 시간으로 여겨졌던 ‘로딩 중(Now Loading)’ 장면이 바로 HDD나 SSD에서 램으로 데이터를 옮기는 과정이다.
CPU에서 새로운 데이터가 필요하지 않는 이상 HDD와 SSD는 이후 작업에서 배제되고 램하고만 연동된다. 이럴 경우 램 속도가 빠르면 빠를수록 프로그램 구동이나 연산이 더 빠르며, 램 용량이 크면 클수록 임시 저장 공간이 넓어 많은 프로그램을 한꺼번에 구동해도 느려지는 현상이 적다.
램 속도가 느리거나 용량이 적다면 프로그램이나 게임을 실행시킬 때 과부하가 걸리거나 실행 불가 문제를 겪을 수 있다. 어렵사리 로딩이 끝났어도 간혹 화면이 느려지거나 정지하는 현상이 발생할 것이다.
이것은 프로그램 구동하는데 램 속도나 용량 등 성능이 부족해 추가로 필요할 때마다 CPU가 HDD나 SSD에서 직접 데이터를 불러왔기 때문이다. 이 같은 현상을 스와핑(swapping) 또는 페이징(paging)이라고 부르며, 대체로 램 성능을 높이면 해결할 수 있다. 반대로 램은 PC를 빠르게 만들어 주는 것이 아니라 느려지지 않게 해주는 하드웨어이므로 성능을 아무리 높여봤자 PC 성능이 높아지진 않는다.
다양한 램 종류
램은 크게 SRAM, DRAM, NVM으로 나뉜다. SRAM(정적 램)은 Static RAM의 약자로, 내용을 한 번 기록하면 전원이 차단되지 않는 한 내용이 사라지지 않는 램을 의미한다. SRAM은 접근 속도가 빠르지만, 복잡한 구조로 공간을 많이 차지해 집적도를 높이기 어려워 가격이 비싸고 대용량 제작이 어렵다. 따라서 빠른 속도가 요구되는 캐시 메모리(Cache Memory) 용도로만 쓰인다. CPU 제원에 표시되는 L1, L2, L3 등이 캐시 메모리를 뜻하며, 이것이 바로 SRAM이다. 대체로 용량만 표기되고 속도는 표기돼있지 않은데, CPU 속도와 동기돼 동작하기 때문이다.
DRAM(동적 램)은 Dynamic RAM의 약자로, 기록된 내용을 유지하기 위해 주기적인 재충전(Refresh)이 필수다. 속도는 SRAM보다는 느리지만, 상대적으로 구조가 간단해 집적도를 높이기 쉽다. SRAM은 설계 구조상 최소 4개 이상으로 셀 하나를 만들지만, DRAM은 트랜지스터 하나와 캐패시터 하나로만 만들어지기 때문에 고집적화가 가능하다. 또한, 정적 램과 비교하면 가격이 저렴하고 전력 소비도 낮아 CPU의 주 기억장치로 가장 많이 사용된다.
Synchronous Dynamic RAM을 줄인 SDRAM(동기식 DRAM)은 SRAM과 DRAM을 혼합한 것이 아니라 기존 DRAM의 파생형태다. DRAM은 변화에 따라 반응하는 비동기식 전송 방식이지만, SDRAM은 PC의 시스템 버스와 함께 연동되는 동기식 방식이다. DRAM보다 빠른 전송 속도를 자랑해 더 복잡한 형태의 명령 작업이 가능하다.
흔히 DDR램이라고 부르는 DDR SDRAM(Double Data Rate SDRAM)은 클럭 사이클당 두 번 전송이 가능해 기존 SDRAM보다 메모리 대역폭이 2배 늘어난 것이 특징이다. DDR SDRAM 등장 이후 클럭 사이클당 한번 전송하는 제품 구분을 위해 SDR SDRAM(Single Data Rate SDRAM)이라는 명칭도 생겼다. DDR램은 메모리 용도인 DDR과 그래픽카드 메모리 용도인 GDDR, 모바일 기기 메모리 용도인 LPDDR(Low Power DDR)로 다시 나뉜다. GDDR은 한 번에 읽기 또는 쓰기 둘 중 하나만 할 수 있는 DDR과 달리 읽기와 쓰기를 동시에 처리할 수 있는 대신 가격과 전력 소모가 크다. LPDDR은 저전력에 초점을 둔 것이라 성능은 다소 떨어진다. DDR램은 DDR1부터 DDR4에 이르기까지 계속 발전을 거듭해 왔다. 속도는 약 2배씩 증가하고 있는데 이론상으로 DDR4가 DDR1보다 약 8배 빠르다.
메인보드 궁합
램은 메인보드에 있는 메모리 슬롯에 장착한다. 메인보드마다 메모리 슬롯 개수가 다르며, 대체로 4개지만, 일부 저가형 메인보드에는 2개만 지원한다. 또한, 지원하는 램 버전과 최대 용량도 다르니 구매 전 체크해야 한다. 인텔 B85 계열은 DDR3에 최대 32GB까지 지원하지만, 인텔 B150이나 Z170은 DDR4에 최대 64GB까지 지원하는 식이다. 물론 32bit 기반 운영체제에서는 4GB 이상 램을 장착해도 3.5GB 이상 인식하지 않기 때문에 4GB 이상 램을 전부 사용하려면 64bit 기반 운영체제가 필수다.
DDR램 규격 중 DDR4가 가장 성능이 좋아도 무조건 사용할 수 없다. 메인보드에 장착할 수 있는 램 규격이 정해져 있으며, 억지로 꽂는 것 자체를 막기 위해 슬롯 형태도 다르기 때문이다. 또한, 같은 규격의 DDR이라도 데이터 전송속도가 다르다. 예를 들어 ‘DDR4 4G PC4-17000’는 DDR4 규격에 4GB 용량을 가졌으며, 최대 데이터 전송속도가 17,000MB/s이다. ‘DDR4 8G PC4-19200’이라는 제품은 똑같이 DDR4 규격이지만 8GB 용량에 최대 데이터 전송속도가 19,200MB/s다. 서로 성능이 다른 램을 혼합해 메인보드에 장착해도 작동하는 데 큰 무리는 없지만, 가장 느린 전송속도에 맞춰지기 때문에 유의하자.
비록 다다익램이라고는 하지만 사용용도에 맞춰 적절한 램을 장착하는 것이 좋다. 대체로 일반 사무용은 4GB, 온라인 게임용은 8GB, 고성능 게임용이나 영상편집 등 멀티미디어 작업용은 16GB가 무난하다. 하지만 일반 사무용이라도 점점 무거워지는 운영체제와 인터넷 브라우저를 고려하면 8GB를 장착하는 편이 쾌적할 것이다. 온라인 게임 용도로 사용할 사람도 고성능 게임을 하지 않을 거란 보장이 없으니 미리 16GB로 확장해두는 것도 좋다.
램을 듀얼채널(Dual-channel)로 구성하면 메모리를 많이 필요로 하는 작업에서 약간 더 유리하다. 듀얼체널은 CPU나 메인보드에 내장된 메모리 컨트롤러에서 지원하는 기술로, 램을 홀수로 장착하는 것보다 짝수로 장착했을 때의 가성비가 더 낫다는 것이다. 당연히 램 1개보단 2개, 2개보단 3개 장착하는 것이 성능이 좋겠지만, 듀얼채널의 지원을 받으면 단순히 2개 장착할 때보다 좀 더 나은 성능을 기대할 수 있다. 일부 높은 사양 시스템은 트리플 채널(Triple-channel)과 쿼드 채널(Quad- channel) 구성까지 지원한다.
듀얼채널을 구성하려면 단순히 한 쌍의 채널에 동일한 램을 꽂아 넣으면 된다. 몇몇 메인보드는 아예 메모리 슬롯에 다른 색을 넣어 각각 듀얼채널이 가능한 슬롯끼리 구분했다. 램 2개를 메모리 슬롯에 꽂는다 하더라도 서로 다른 색상 슬롯에 장착하면 듀얼채널이 구성되지 않는다. 게다가 듀얼채널에 사용할 램은 되도록 같은 제조사, 속도, 용량 등 완전 같은 제품으로 하는 것이 안전성이 좋다. 이 때문에 몇몇 제조사들은 아예 듀얼채널용으로 구성된 램을 판매하고 있다.
업체 치킨 게임
현재 전 세계 DRAM 반도체 시장은 한국 기업이 독점하다시피 하고 있다. 지난 10월 시장조사기관 IHS에 따르면 2015년 2분기 전 세계 DRAM 반도체 시장 중 삼성전자의 점유율은 45.2%, SK하이닉스의 점유율은 27.3%에 달했다. 삼성전자와 SK하이닉스의 점유율을 합치면 무려 72.5%로 그야말로 압도적이다. 대다수 램 제품에 장착되는 반도체가 삼성전자 아니면 SK하이닉스기 때문에 제품을 구매할 때 신중하게 고민해야 할 수고는 없다.
이렇게 된 원인은 지난 2011년 업체 간 심각한 치킨 레이스가 벌어졌기 때문이다. 치킨 레이스로도 불리는 치킨 게임의 ‘치킨’은 겁쟁이를 의미하는 미국 은어다. 1950년대 미국 젊은이들 사이에서 유행하던 실제 자동차를 운전하며 하던 게임 이름으로, 서로 차를 몰고 정면으로 돌진하다가 충돌 직전 먼저 핸들을 꺾어 피한 사람이 패배자가 되는 것이다.
기업 간에는 상대 기업을 누르기 위해 손해를 감수하더라도 제품 가격을 한계까지 끌어내리는 출혈 경쟁을 의미한다. 상대 기업이 출혈 경쟁에 참가하지 않으면 그만큼 가격 경쟁에서 밀리기 때문에 판매량도 급감한다. 만약 출혈 경쟁에 참가할 경우 막대한 손해를 입으면서 누가 더 오래 버티느냐가 관건이 된다.
살아남는다면 해당 시장의 독점 또는 1위로 올라설 것이지만, 손해가 막심할 경우 승자도 패자도 없는 상처뿐인 결과만 남게 된다. 치킨 게임이 진행되는 도중에는 한없이 가격이 하락해 싼값에 제품을 살 수 있지만, 승자가 결정된 후엔 그동안 생긴 적자를 메꾸기 위해 가격이 급등하기도 한다.
기업 간 가장 유명한 치킨 게임은 2007년부터 2009년 6월까지 있었던 DRAM 반도체 분야다. 당시 삼성전자와 하이닉스(현 SK하이닉스) 등 여러 회사가 참여했던 치킨 게임은 당시 점유율 5위였던 퀴몬다가 파산하는 결과를 낳았다.
하지만 대만과 일본 기업들이 점유율을 차츰 키워나가자 2010년 또다시 치킨 게임이 벌어졌다. 결국, 2012년 2월에 점유율 3위인 일본의 엘피다가 파산하면서 현재까지 삼성전자와 SK하이닉스가 점유율 1, 2위를 유지하고 있다.
사실 기업 간에 치킨 게임이 벌어지면 가격 이외에 품질로 경쟁하면 되는데, 반도체 DRAM 분야에서 사실상 기술력 1, 2위를 다투는 삼성전자와 하이닉스가 저렴한 가격을 내세우니 다른 업체들이 버틸 방법이 없었다.
메모리가 부족합니다
메모리 부족 문제는 과거 MS-DOS 시절부터 줄곧 여러 사람을 괴롭혀 왔다. 여기서 언급하는 메모리 부족은 물리적으로 부족한 것이 아니라 운영체제 특성상 아무리 메모리 용량을 올려도 인식하지 못하는 것을 의미한다.
최초는 MS-DOS 시절 기본 메모리 문제로, 당시 기본 메모리 관련 주소체계가 640KB로 제한돼 있었다. 인텔 8088 CPU는 주소 지정을 1MB까지만 할 수 있었는데, 사용자 영역으로 640KB, 하드웨어 영역인 UMB(Upper Memory Block)를 384KB로 각각 할당했다.
이 때문에 MS-DOS에서는 아무리 램 용량이 높아도 인식하는 것은 640KB였으며, 해당 틀 안에서만 메모리를 사용하다 보면 이내 기본 메모리가 소모돼 금세 메모리가 부족하다는 메시지를 받을 수 있었다.
당시 MS-DOS 사용자라면 ‘not enough memory’가 노이로제가 걸릴 만큼 짜증을 유발하는 에러였다. 흔히 빌 게이츠가 말한 것으로 잘못 알려진 ‘램 용량은 640KB면 충분하다’라는 것도 당시 MS-DOS의 문제를 비꼰 것이다.
이런 문제는 이후로도 계속되고 있다. 80286 CPU(24bit)에서는 16MB까지만 인식됐으며, 80386 CPU 이후 32bit에서는 대략 3.5GB까지만 인식됐다. 약간 예외로 윈도우 95, 윈도우 98, 윈도우 Me는 32bit 운영체제임에도 메모리를 512MB 이상 인식할 수 없었다. 다만 윈도우 XP가 출시되었을 때가 되어서야 512MB 램이 대중화됐기 때문에 당시에는 큰 문제로 떠오르지 않았다.
64bit 체계에서는 이론상 최대 16EB(엑사바이트)까지 지원하지만, 아마 이정도 용량의 램이 등장할 날은 50년은 더 지나야 할 것이다.