컴퓨터는 왜 저장 용량을 적게 표기하는 걸까 [IT 잡학다식]

Photo Image
출처: Unsplash / art wall kittenprint

컴퓨터를 새로 구매할 때 무엇을 살펴보나요. 중앙처리장치(CPU), 그래픽카드(GPU), 램(RAM)처럼 성능과 직결된 부품일 겁니다. 여기에 사용 환경에 따라 저장 용량을 중요하게 여기는 사용자도 많을 겁니다. 그런데 컴퓨터 저장 용량이 이상하다고 느낀 적 없나요? 특히 윈도우 PC에서 표기하는 용량은 항상 실제보다 작습니다. 왜 그런 걸까요.

컴퓨터에서 사용되는 용량 단위
간단한 기본 지식부터 알고 갈 필요가 있어요. 그래야 뒤에 나오는 내용을 이해하기 쉽거든요. 컴퓨터는 여러 가지 단위로 저장 용량을 표기합니다. 바이트(Byte)라고 들어봤을 겁니다. 운영체제에서 사용하는 가장 작은 단위에요. 바이트 다음은 킬로바이트(kB)인데요. 바이트에서 10의 3승을 곱하면 킬로바이트가 됩니다. 즉, 1킬로바이트는 1000바이트와 같아요.

다음 단위도 마찬가지입니다. 킬로바이트에 10의 3승(1000)을 곱하면 메가바이트(MB)가 돼요. 기가바이트(GB), 테라바이트(TB)도 동일합니다. 한 단계 작은 단위에 10의 3승을 곱하면 됩니다. 이는 국제도량형총회(CGPM)에서 정한 국제단위계(SI) 접두어 규칙을 따른 거예요. SI 접두어는 10진법을 기준으로 단위에 접두어를 붙이도록 합니다.

Photo Image
국제단위계 10진 접두어 / 출처: 한국표준과학연구원

SI는 10의 3승에 ‘킬로(k)’라는 접두어를 사용하도록 해요. 10의 6승은 ‘메가(M)’, 10의 9승은 ‘기가(G)’, 10의 12승은 ‘테라(T)’라는 접두어를 부여했죠. 운영체제의 경우 제일 작은 단위인 바이트에 이 접두어를 붙인 거죠. 참고로 킬로와 킬로바이트를 나타내는 알파벳이 소문자 K인 이유는, 온도를 나타내는 SI 단위인 켈빈(K)과 구분하기 위해서입니다.

제조사-운영체제, 계산 방법이 다르다
그럼 왜 저장 장치와 실제 컴퓨터 운영체제에 표기되는 용량이 서로 다른 걸까요. 저장 장치 제조사와 운영체제가 용량을 계산하는 방법이 다르기 때문이에요. 하드디스크(HDD), SSD와 같은 저장 장치를 제조하는 업체는 SI 접두어 규칙을 기준으로 용량을 표기합니다. 10진법을 활용하죠.

1TB를 SI 접두어 규칙에 맞춰 10진법으로 표기해 볼까요. 1TB는 1000GB로 나타낼 수 있습니다. 1000GB는 100만MB가 되겠죠. 킬로바이트로 나타내면 10억kB, 바이트로 쓰면 1조바이트가 됩니다. 10진법은 이처럼 간단하게 1000을 곱하고 나누는 방식으로 단위를 쉽게 변환할 수 있습니다. 제조사는 이러한 규칙에 따라 제품 용량을 안내하고 있어요.

Photo Image
출처: Unsplash / marc pezin

하지만 윈도우와 같은 운영체제는 10진법을 사용하지 않아요. 2진법이 기본입니다. 제조사가 10진법으로 계산한 용량을 2진법을 환산하면 어떻게 될까요. 결론부터 말하자면, 표기되는 용량이 줄어듭니다. 국제 단위계 접두어 규칙은 10의 3승(1000)으로 단위를 구분한다고 했죠. 이와 달리 2진법을 사용하는 운영체제는2의 10승(1024)으로 단위를 나눕니다.

쉽게 말해 1024라는 숫자를 곱하고 나눠서 단위를 구분한다는 겁니다. 1TB 용량은 1024GB, 1GB는 1024MB, 1MB는 1024바이트가 된다는 거죠. 문제는 여기서 발생합니다. 제조사는 10진법으로 용량을 표시하는데, 운영체제는 2진법을 사용해요. 이렇게 되면 운영체제 표기되는 용량이 더 작을 수밖에 없어요.

예를 들어볼까요. 제조사가 10진법으로 계산한 1TB 저장 장치가 하나 있습니다. 이를 2진법으로 표기하려면 바이트로 환산해야 하는데요. 그러면 1조바이트가 됩니다. 2진법 계산 방식대로 1024로 1조바이트를 나누면 9억7650만kb가 돼요. 용량이 줄었죠? 다시 1024로 나누면 약 95만3000MB, 또 나누면 931GB가 됩니다. 용량이 커질수록 이런 현상은 심화됩니다.

Photo Image
1TB 저장 장치를 윈도우 PC에서 인식하면 931GB가 된다. / 출처: Pugetsystems

제조사들도 계산 방식에 따른 용량 표기 차이에 대해 안내합니다. 삼성반도체는 홈페이지에서 “소비자가 쉽게 계산할 수 있도록 제조사는 1GB를 1024MB가 아닌 1000MB로 가정해 용량을 표시한다”며 “운영체제(OS)가 용량을 계산할 때는 더 정확하게 1024MB를 기준으로 한다. 따라서 실제 용량과 표시 용량에 차이가 발생한다”고 설명합니다.

참고로 모든 운영체제에서 이러한 현상이 발생하는 건 아니에요. 운영체제에 따라 다릅니다. 마이크로소프트 윈도우는 2진법으로 용량을 표기해요. 애플 맥OS는 십진법으로 용량을 보여줍니다. 구매한 제품과 운영체제에 나타난 용량이 똑같이 나타난다는 거죠. 애플 아이폰 운영체제 iOS도 마찬가집니다. 삼성전자는 원UI 6.0부터 십진법으로 용량을 보여주기 시작했어요.

소비자 입장에서는 달갑지 않다

Photo Image
출처: Unsplash / andrew neel

사실 사용자 입장에서는 표기 용량이 줄어드는 현상이 반갑지 않습니다. 분명 1TB 저장 장치를 샀는데, 막상 운영체제에서는 적게 표시되니까요. 손해 보는 기분이 들 수밖에 없죠. 고용량 저장 장치를 사용 중이라면 더욱 그럴 거예요. 용량이 커질수록 차이가 더 커지니까요. 일례로 운영체제는 1TB를 931GB(-69GB)로, 500GB를 465GB(-35GB)로 나타냅니다.

이에 미국에서 코닥, 샌디스크 등 저장 장치 제조사를 상대로 한 집단 소송이 벌어진 적이 있는데요. 지난 2007년 양측이 합의하면서 소송은 흐지부지됐습니다. 당시 합의 내용을 보면 사용자가 매장에서 저장 장치를 구매할 때 10% 할인을 받거나, 구매한 제품가의 5%를 환불해주기로 했어요. 또 제조사는 10진법으로 용량을 표기했다는 안내문을 고지하도록 했죠.

2진법 용량 단위 따로 있다

Photo Image
10진 접두어를 사용한 용량 단위(위), 2진 접두어로 표기한 용량 단위 / 출처: MASV

사실 2진법으로 계산한 용량을 표기하는 표준 단위가 존재합니다. 바로 국제전기기술위원회(IEC)에서 만든 2진 접두어죠. 2진 접두어는 2의 10승인 1024를 기준으로 용량을 계산하는데요. 표기하는 단위가 다릅니다. 키비바이트(KiB), 메비바이트(MiB), 기비바이트(GiB), 테비바이트(TiB)와 같은 단위를 사용하죠. 눈치챘겠지만, 기존 단위 중간에 알파벳 소문자 i가 위치하죠.

아쉽지만 2진 접두어를 활용한 용량 표기는 잘 이뤄지지 않고 있어요. 2진 접두어가 제정된 게 1998년인데, 지금까지 이를 사용하는 제조사는 찾아보기 어렵죠. 제조사 입장에서는 굳이 그럴 필요를 느끼지 못했을 것 같아요. 10진법 표기는 오래된 관행으로 자리잡았고, 2진법으로 용량을 표기하면 본인들이 기재한 원래 용량보다 작아지니까요.

테크플러스 윤정환 기자 (tech-plus@naver.com)


브랜드 뉴스룸