Embedded Basics

[테크월드=정환용 기자] 스마트폰에 게임 애플리케이션 하나를 설치하면 대략 300~500MB 정도를 차지한다. 1GB가 넘는 앱도 많다. 최근 새로 구입한 스마트폰의 용량은 64GB로, 기본 설치돼 있는 모바일 운영체제를 비롯해 자주 사용하는 앱을 설치하고 나면 절반가량의 공간이 남는다. 보통은 넷플릭스 드라마를 다운로드받아 놓거나, CD에서 추출한 음원으로 빈 공간을 채운다.

문득 이런 데이터들은 어떻게 파일의 용량이 정해지는지 궁금해졌다. 막상 생각해보면 어떤 미디어 파일의 용량이 대강 얼마나 되는지 정도는 파악하고 있지만, 왜 그런 용량의 데이터가 만들어지는지에 대해서는 고민해 본 일이 없는 것 같다. 컴퓨팅 시스템에서 데이터가 어떻게 생성되고, 만들어진 데이터는 어떻게 저장되는지 알아보자.

 

1.2MB가 12TB가 되기까지

초등학교 시절 ‘컴퓨터실’이란 곳이 처음 생겼다. 당시 컴퓨터실에 있던 것은 IBM이 아니라
MSX 계열의 컴퓨터였고, 컴퓨터라기보다는 MSX(국내에선 대우의 ‘재믹스’로 더 유명했던 게임기) 롬팩을 꽂아 게임기로 더 많이 활용했다. 기자가 컴퓨터학원을 다니기 시작했을 때는 인텔 8088 프로세서 기반의 IBM XT 컴퓨터로 MS-DOS를 배웠고, 이후 처음 집에 386 컴퓨터를 들여놓은 뒤로 지금까지 그 인연이 이어지고 있다.

컴퓨터를 배우면서 가장 많이 사용했던 저장매체는 1.2MB 용량의 5.25인치 자기 디스켓이었다. 항상 2장을 필수로 가지고 다니며 A드라이브에 부팅 디스크, B드라이브에 BASIC(Beginner's All-purpose Symbolic Instruction Code, 초보자용 다목적 기호 명령 코드) 디스크를 넣는 것이 일과였다. 중학교 시절 처음으로 하드디스크(Hard Disk Drive, 이하 HDD)가 장착된 386 컴퓨터를 장만했는데, 크기는 지금과 비슷했지만 용량은 80MB 정도에 불과했다. 지금으로 따지면 mp3 음악 파일 대여섯 곡을 담으면 가득 차는 보잘것없는 공간이었다.

지금은 엄지손가락만 한 크기의 256GB M.2 SSD를 C드라이브로, 몇 개의 TB 단위 HDD를
보조 드라이브로 활용하며 개인 데이터를 운용하고 있다. 1MB에서 1TB로 개인 데이터의 용량이 늘어나기까지 약 20년 정도 걸린 셈이다. 현재 가장 높은 용량의 HDD는 14TB 용량을 담을 수 있는데, HDD 하나에 약 20GB 용량의 블루레이 영화를 600개 이상 저장할 수 있다.

현재 SATA3 포맷으로 연결한 SSD의 데이터 읽기 속도는 약 500MB/s, PCIe 포트에 장착해 사용하는 NVMe SSD의 읽기 속도는 2000MB/s 이상이다. 과거 1.44MB 용량의 플로피 디스크 2장에 ‘고인돌’ 게임을 옮겨놓고 기다리던 때와는 천지차이다. 물리적인 사용 환경에 대한 한계를 극복한 저장장치의 현재의 관건은, 데이터를 읽고 쓰는 속도를 얼마나 끌어올릴 수 있는지에 달려 있다.

 

기억장치의 과거와 현재, 저장 과정의 차이
현재의 대세인 SSD(Solid State Drive) 이전 세대 기억장치인 HDD에서 성능의 관건은 ‘회전’이었다. 진공 상태의 HDD 속에는 2~4개의 원형 플래터가 5400~1만RPM으로 회전하고, 턴테이블의 톤암(Tone Arm)과 비슷한 역할을 하는 헤드(Head)가 플래터의 표면 위에서 자기를 정렬해 데이터를 저장, 이동, 삭제한다. 트랙(Track)과 섹터(Sector)로 나뉘어 있는 플래터는 연결된 컴퓨터에 전원이 공급되는 동안은 끊임없이 회전 작동을 한다. 때문에 물리적인 충격에 매우 약하며, 자기를 이용하기 때문에 자성에도 취약하다.

물리적인 움직임에 따른 약점을 극복하고 용량에 대한 한계를 뛰어넘은 것이 반도체를 이용한 SSD다. 과거의 저장매체였던 자기 테이프, HDD의 플래터가 각 1차원과 2차원의 형태였다면, 트랜지스터를 3D로 적층시켜 제조하는 SSD는 3차원 형태의 저장장치라 할 수 있다. 아직은 모든 SSD가 3차원 적층 제조 방식으로 만들지 않기 때문에, 혹자는 SSD를 2차원과 3차원의 사이에 있다고도 표현한다.

국내에서 플래시 메모리로 가장 유명한 샌디스크는 과거와 현재의 기억장치가 데이터를 저장하는 과정에서의 차이를 자기 디스크(Magnetic Disk), 광학 디스크(Optical Disk), 반도체(Semiconductor) 등 기억장치를 만드는 데 사용되는 재료에 의해 3가지로 구분했다.

초창기에 사용된 자기 코어 기억장치(Magnetic Core Memory)는 산화철(Ferrite)을 고리 형태로 만들어, 여기에 흐르는 전류의 방향에 따라 데이터를 저장한다. 고리의 중심부에 흐르는 전류의 방향에 따라 1과 0의 두 가지 상태 중 하나를 기억한다. 하나의 자기 코어에는 1비트의 데이터만 기억되기 때문에, 기억장치의 용량을 늘리기 위해서는 그만큼 많은 개수의 자기 코어가 필요하다. 느린 속도와 낮은 저장 밀도로 지금은 더 이상 사용되지 않고 있다.

1956년 IBM에서 만든 보조기억장치 ‘라맥 350’(Ramac 350)은 5MB의 저장용량에 비해 무게가 970kg이나 되고, 크기도 방 한 칸을 차지할 만큼 컸다. 하지만 당시로서는 50장의 플래터를 통해 데이터를 저장할 수 있다는 사실만으로도 획기적인 일이었다. 지금은 무게 1g도 안 되는 microSD 카드에 256GB 용량의 데이터를 저장할 수 있으니, 1GB를 1000KB로 볼 때 용량은 5만 배 이상 늘고 무게는 거의 100만 분의 1로 줄어든 셈이다.

자기 디스크 기억장치(Magnetic Disk Memory)는 레코드 판처럼 얇고 둥근 금속원판 플래터의 표면에 자성 물질을 입혀 그 위에 데이터를 기록하는 방식이다. 회전축을 중심으로 실제 데이터가 저장되는 동심원을 트랙이라 하고, 트랙은 다시 피자 조각과 같은 섹터로 나뉜다. 자기 디스크의 데이터를 저장하거나 검색하는 헤드가 이 트랙 위에서 데이터를 읽거나 기록하며, 필요한 용량에 따라 여러 장의 플래터를 겹쳐서 사용한다.

플로피디스크(Floppy Disk Drive)와 HDD가 대표적인 자기 디스크 기억장치다. 플로피디스크는 오늘날 거의 사용되지 않고, HDD는 용량 대비 가격이 저렴해 일반 소비자부터 기업 데이터센터에 이르기까지 대중적으로 가장 많이 사용되고 있다. 웨스턴디지털(Western Digital, 이하 WD)의 경우, 일반 소비자용 제품인 WD 블루(Blue)부터 고성능 제품인 WD 블랙(Black), NAS용 WD 레드(Red), 보안기기용 WD 퍼플(Purple), 그리고 데이터센터용 WD 골드(Gold) 등 다양한 사양과 성능, 용도의 HDD 제품군을 출시하고 있다.

광학 디스크 기억장치(Optical Disk Memory)는 빛을 이용한 화학적 반응을 통해 데이터를 저장한다. 디스크 표면에 레이저를 쏴 태운 부분과 태우지 않은 부분으로 정보를 기록하는 것이 원리다. 자기 디스크에 비해 밀도가 높아 대용량의 데이터를 저장할 수 있고, 높은 데이터 안정성과 긴 수명이 가장 큰 장점이다. CD(Compact Disk), DVD(Digital Video Disk), 블루레이(Blu-ray Disc)가 대표적인 광학 디스크 기억장치다. 하지만 이 기억장치들 역시 반도체 기억장치의 발달로 인해 그 사용 빈도가 점차 줄어들고 있다. 과거에는 휴대용 보조기억장치로 많이 사용됐으나, 지금은 음악, 영화 등 콘텐츠 미디어로서의 역할이 가장 크다고 볼 수 있다.

마지막으로 반도체 기억장치(Semiconductor Memory)는 집적회로기술(Integrated Circuit Technology)를 사용해 데이터를 저장한다. 크기가 작고 속도가 빠르며 전력 소비가 적다는 것이 장점이지만, 반도체를 재료로 사용하기 때문에 다른 장치보다 가격이 비싼 것이 단점이다. 반도체 기억장치는 그 성질에 따라 비휘발성 메모리(Read-only Memory, ROM)와 휘발성 메모리(Random Access Memory, RAM)으로 나뉜다. 최근에는 비휘발성 기억장치인 낸드 플래시 메모리를 기반으로 한 SSD가 보조기억장치로 각광받고 있다. SSD는 HDD 등 다른 저장장치에 비해 데이터 읽기·쓰기 속도가 현저히 빠르고, 작고 가벼운 데다가 소음도 없고 전력 소모도 매우 적다. 가격도 출시 초기 대비 꾸준히 낮아지고 있어 저장장치 시장을 빠르게 점유해가고 있다.

이런 시장 흐름을 반영하듯 HDD 제조사들 역시 SSD 시장으로 눈을 돌리기 시작했다. WD는 지난 2016년 5월 플래시 스토리지 전문기업 샌디스크(SanDisk)를 인수하며 종합 스토리지 솔루션 기업으로 변모했다. 2017년에는 소비자용 외장 SSD ‘WD 마이패스포트 SSD’(WD My Passport SSD)와 64단 3D 낸드 기술을 기반으로 한 세계 최초 일반 소비자용 SSD 2종을 출시하기도 했다.

 

1TB HDD, 실제 용량은 930GB?

위 사진은 기자가 사용하고 있는 2TB HDD의 속성이다. 전체 용량을 보면 약 1.81TB로 표기돼 있다. 실제로도 사용자가 쓸 수 있는 용량은 2TB보다 약 200GB 적다. 이는 기존의 FDD와 CD, HDD, USB메모리, SSD 등 모든 기억장치가 같은 현상을 보이는데, 사용자 입장에선 약간 손해를 보는 기분이 들겠지만, 이는 저장장치 제조사가 얕은 수를 쓰는 것이 아니라, 하드웨어와 소프트웨어가 용량을 계산하는 방식에서 차이가 나기 때문이다.

2TB HDD를 예로 들면, HDD 제조사는 제품 용량을 2TB는 2000GB, 2,000,000MB와 같이 십진법으로 표기한다. 일상적인 표기 방식으로 보면 큰 문제가 없다. 그러나 이 저장장치를 인식해 보조기억장치로 활용할 수 있게 해주는 운영체제에서는 십진법이 아니라 이진법을 사용한다. 컴퓨터가 알고 있는 정보는 오로지 0과 1 뿐으로, 이에 맞춰 저장 용량 역시 이진법을 사용하는 것이다. 때문에 저장 공간 단위를 1000이 아니라 1024로 나누는데, 그렇게 되면 1TB(=1,000,000,000,000B)는 십진법의 1000GB가 아니라 이진법의 약 931GB가 되는 것이다. 이 비율은 기억장치의 용량이 클수록 그 차이가 더 커지는데, 2TB HDD의 실제 가용 용량은 1.81TB 정도가 된다.

기억장치의 용량을 정확히 계산하려면, 표기된 제품 용량에 10진법 표기용량을 곱하고, 이를 2진법 표기용량으로 나누면 된다. 더 쉽게는 용량 단위가 GB라면 0.93132, TB라면 0.90949를 곱하면 실제 사용할 수 있는 용량이 계산된다. 이를테면 240GB SSD는 240*0.93132=223.5, 여기에 시스템 예약 파티션과 복구 파티션 용량을 제외하면 실제 가용 용량은 222.2GB 정도다.

 

파일의 종류와 데이터 용량의 상관관계

지금 한글이나 워드 등 문서 프로그램에서 새 문서를 곧장 저장해 보자. 한글의 경우 아래와 같이 8.5KB 용량의 데이터가 만들어진다. 문서 파일의 기본 형식을 구성하는 데이터의 용량이다. 그리고 기호와 숫자, 알파벳을 제외한 순수 한글 1000단어가 포함된 한글 파일의 용량은 32KB다. 이를 보면 한글 1000단어의 용량은 약 23.5KB로, 2949자의 한글 한 자의 용량은 약 4.8바이트로 계산된다.

대체로 1페이지 분량의 문서 파일 용량은 15KB 정도다. 사진이나 표 등의 수록 여부에 따라 약간의 차이는 생긴다. 멀티미디어 파일은 인코딩 환경에 따라 상당한 차이가 나는데, 음악 파일은 비트 전송률 320kbps의 mp3 파일이 1분당 약 2MB, 영화 파일은 1080P 화질의 mkv 파일이 1분당 약 40MB 정도다. 특히 영상 파일은 인코딩에 따른 용량의 차이가 상당하다. FHD 블루레이 타이틀의 원본을 그대로 추출하면 영화 한 편에 약 40GB의 용량이 나온다. 2시간 분량의 영화라면 1분당 300MB를 넘는다.

사진 파일을 예로 들면, 파일의 용량을 결정하는 것은 사진의 해상도, 즉 픽셀(Pixel)의 숫자다. 모 자동차 브랜드의 신차 홍보용 사진을 예로 들어보자. 원본의 크기는 10207Χ7669, 24비트, 300DPI 해상도다. 가로세로 픽셀 숫자와 비트를 곱하면 이 사진의 최대 용량은 약 224MB다. 실제 사진의 용량은 약 11.3MB로, 원본 파일이 JPG 확장자 인코딩으로 상당히 압축됐다는 걸 알 수 있다. 원본에서 손실이 거의 없는 LZW 압축을 적용한 17149x10946, 32비트 해상도의 TIF 사진 파일 용량은 340MB에 달한다.

영상 파일도 마찬가지다. 움직이는 사진을 음성과 합친 것을 동영상 파일이라고 보고, 720P 화질의 1시간짜리 영상이 1GB 용량으로 만들어지는 것 역시 인코딩 환경의 차이다. FHD 화질의 블루레이 타이틀에서 2시간짜리 영상을 손실 없이 그대로 추출했을 때, 기본 용량은 1920x1080 픽셀에 24fps 주사율을 감안하면 음성을 제외한 영상만으로도 기본 용량이 1TB에 달한다. 그러나 이는 1초 24프레임 중 한 컷에 적용할 수 있는 최대한의 해상도가 모든 컷에 적용됐을 때의 용량이고, 대부분의 영상물은 주요한 포인트에 비트레이트(Bitrate)가 가변적으로 적용된다.

보통 블루레이 디스크가 40Mbps 정도 적용되니, 2시간 분량에 약 35GB 용량이 나온다. 이를 해상도를 낮추거나 비트레이트를 1/10 수준으로 낮춰, 720P 해상도의 영화 한 편의 용량은 약 2~3GB로 줄어들게 된다. 현재 가장 보편적인 영상 압축 표준인 H.264 코덱과 AAC 오디오 코덱을 적용해 인코딩한 1080P 영상 한 편의 용량은 약 4~5GB 정도다. 영상 파일을 찾는 것은 쉽지만, 멀티코어 CPU를 적극 활용해도 화질을 최대한 보존하기 위한 코덱 적용과 인코딩 과정은 생각보다 오래 걸리는 점을 알아 두자.

기자가 1개월간 처리하는 보도자료를 용량으로 보면, 문서 파일과 이미지 파일만으로 적게는 300MB, 많게는 700MB 정도다. 월 평균 500MB로 보면 단신만으로 1년에 약 6GB의 용량이 쌓이는 것이다. 사진 촬영이 많은 전시회나 박람회 취재가 있는 달에는 금새 5~6GB가 넘는 데이터가 만들어진다. 이렇게 1년이 지나면 업무 관련 데이터만 70GB 이상이다.
이 기사를 공유합니다
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지