도시바에서 만든 0.8인치 초소형 하드디스크 : 용량 8GB, 무게 2g 컴퓨터의 하드웨어에서 나름 진보된 기술과 복잡한 구조를 가진 장치이면서도 가장 애물단지인 장치가 바로 하드 디스크입니다. 하드디스크의 전자기적 원리와 구조는 이미 예전에 양자화 수준으로 진입하였으며, 기술적인 진보의 정도도 상당한 수준에 도달해 있습니다. 핸드폰에 들어가는 저장장치 시장에서 초소형 HDD는 반도체 메모리인 플래시 메모리와 경쟁을 하고 있는 수준입니다. 하지만 모터와 베어링, 헤드암 같은 아날로그적 기계장치를 이용하는 기본 구조는 처음 하드디스크가 만들어진 때와 비교해서 크게 변화된 것이 없습니다. 그래서 요즘의 나노초(ns) 속도로 작동하는 반도체 장치와 함께 작업을 하면서도 밀리초(ms)로 움직이며 병목현상을 만드는 주범으로 눈총을 받고 있습니다. 그렇지만 하드디스크를 너무 미워하지는 맙시다. 오늘도 여러분의 데이터를 저장하는데 온 힘을 다하고 있으니까요. 하드디스크의 논리적 구조 하드디스크를 컴퓨터에 장착하고 처음 사용하려고 하면 바로 사용할 수가 없습니다. 그 이유는 공장에서 만들어진 채로 나온 하드디스크는 데이터를 기록하기위한 논리적인 구조가 아직 만들어져있지 않아서입니다. 그래서 데이터를 저장할 수 있는 무형의 논리적 구조를 만들어 주는 작업이 필요하게 되는데, 이러한 작업을 포맷(Format, 초기화)이라고 합니다. 포맷 방식은 크게 '로 레벨 포맷'과 '하이 레벨 포맷'으로 구분합니다. 하드디스크를 포맷하면 아래의 그림과 같은 논리적인 구조가 만들어집니다. ◆ 트랙(track) 트랙은 디스크 상에 데이터가 기록될 수 있는 고리 모양의 영역입니다. 중심에서 같은 거리에 떨어진 점들을 이은 동심원 형태로 생성됩니다. 각 트랙은 다시 여러 개의 섹터로 나뉘어집니다. ◆ 실린더(Cylinder) 각각의 플래터에 같은 위치에 존재하는 트랙들을 모아서 연결하면 하나의 원통형이 되는데 이를 실린더라고 합니다. ◆ 섹터(Sector) 트랙을 마치 케이크를 자를 때 생기는 부채꼴 형상의 형태로 나눈 구역을 말합니다. 데이터 기록의 가장 기본 단위로서, 보통 512Bytes의 데이터 영역과 69Bytes의 개별 코드를 갖습니다. 즉 571Bytes의 공간을 차지하는 것입니다. 섹터에는 고유 번호가 붙어 이 값을 통해 하드디스크에 저장된 데이터의 위치를 나타내게 됩니다. 이는 트랙과 함께 가장 중요한 단위가 됩니다. 섹터에 물리적인 결함이 생기게 되면 그 섹터에는 정보를 저장할 수 없게 되는데, 이것을 보통 배드섹터(bad sector)라고 부릅니다. ◆ 클러스터(Cluster) 소프트웨어적으로 데이터를 읽고 쓸 때 하나의 묶음 형태로 다루는 정보 저장 단위입니다. 즉 512Bytes의 섹터가 가장 작은 단위이지만 이것으로는 수십 MB에서 수백 GB에 이르는 디스크 장치를 관리하기에는 너무 단위가 작아 4KB에서 32KB 단위까지 섹터들을 적절하게 묶어 관리하는 것입니다. ◆ 로 레벨 포맷(Low level format) 예전의 경우, 공장에서 출시된 하드디스크는 플래트 표면의 자성물질의 자화 방향이 이리저리로 어지럽게 흩어진 상태로 판매가 되었습니다. 그래서 이러한 하드디스크를 사용하려면 자성물질의 자화방향을 일정하게 정렬하고 트랙과 섹터를 생성하는 초기화 작업인 '로 레벨 포맷'이 필요하였습니다. 그러나 하드디스크 기술의 비약적인 발전에 따라서 하드디스크의 대용량, 고속화와 더불어 자기밀도의 고밀도화 등의 기술적 이유로 일상적인 환경에서 개인이 LLF(로 레벨 포맷) 작업을 수행하기에는 버거워지게 되었습니다. 이에 따라서 현재의 하드디스크들은 공장에서 미리 LLF 작업을 하고 있으며, 사용자가 개인적으로 LLF 작업을 하지 못하도록 조치하여서 출시하고 있습니다. 즉, 최근에 판매되고 있는 대부분의 하드디스크는 이미 로 레벨 포맷된 상태로 판매되고 있는 것입니다. 우리가 가끔 접할 수 있는 '로 레벨 포맷 유틸리티'라는 것도 실제적으로는 하드디스크를 공장 출하 상태의 기본 설정으로 되돌려 주는 일종의 공장초기화 프로그램들이지만, 구분없이 그냥 LLF 유틸리티로 부르고 있습니다. ◆ 하이 레벨 포맷(High level format) '로 레벨 포맷'에 대비하여 사용하는 말로서 우리가 일반적으로 디스크의 모든 내용을 지우거나, 운영체제를 다시 설치하는 경우에 실행하는 포맷방식을 말합니다. 파티션이 나뉘어진 하드디스크에 사용하는 포맷으로 각 섹터를 묶어 클러스터로 지정하고 각 클러스터에 주소를 부여하는 작업을 말하는 것입니다. 이는 운영체제가 하드디스크 상에서 데이터를 처리하기 위해서 새롭게 파일시스템을 구축하거나 초기화하는 과정이 됩니다. 디스크의 파일시스템을 보통 FAT(File Allocation Table, 파일 할당 테이블)라고 하는데 모든 파일의 위치가 기록되어 있는 부분입니다. 운영체제에서 빠른 포맷(quick format) 방식을 실행하면 이 부분을 초기화 시키는 작업만을 수행하므로 빠르게 포맷이 되는 것입니다. 삭제된 파일을 복구할 수 있는 것도 이와 같은 FAT 시스템의 원리때문입니다. 운영체제가 파일을 삭제할 때 실제 파일의 내용인 데이터를 지우는 것이 아니라 그 파일의 위치가 기록되어있는 FAT에서 파일 위치의 첫번째 바이트를 특수한 비트값으로 표시하면(보통 '0') 그 파일은 지워진 것으로 인식하게 됩니다. 그러나 실제 파일의 데이터는 지워진 것이 아니므로 다시 파일을 되살릴 수 있는 것입니다. ◆ 파티션(Partition) 물리적으로 하나인 하드디스크를 여러 개의 논리적 기억영역으로 분할하는 것을 말합니다. 하드디스크에 새로운 프로그램을 계속 설치하거나 데이터를 저장하기위한 폴더를 계속 생성하면 디렉터리로 관리하는 데 한계가 생기며, 컴퓨터바이러스에 감염될 경우 모든 프로그램과 데이터들을 사용하지 못하게 될 수도 있습니다. 이에 대비하여 하드디스크를 분할해 놓으면 프로그램과 데이터 등을 별도로 저장ㆍ관리할 수 있으며, 컴퓨터바이러스에 감염된 부분만 제거할 수 있어 하드디스크에 저장된 모든 정보를 한꺼번에 날려버리는 사태 등을 대비할 수 있습니다. 파티션은 하드디스크를 포맷할 때 만들 수 있는데, 프라이머리(primary, 주 파티션)와 익스텐디드(extended, 확장 파티션)의 두 종류가 있습니다. 하나의 하드디스크에는 최대 4개의 프라이머리를 만들 수 있는데 이 중 하나를 익스텐디드로 지정할 수 있습니다. 익스텐디드는 다시 여러 개의 논리적인 드라이브로 나누어질 수 있습니다. 하나의 하드디스크드라이브에 1개의 프라이머리와 1개의 익스텐디드를 만드는 것이 일반적인 방법입니다. 이때 프라이머리가 C드라이브가 되며, 익스텐디드에 속하는 논리적인 드라이브들이 D·E·F드라이브가 됩니다. CD롬은 논리적인 드라이브에 쓰인 마지막 알파벳의 다음 문자로 표시됩니다.
디스크 접근방식 하드디스크에서 데이터를 다룰 때는 클러스트 단위로 작업한다고 하였으나, 디스크에 데이터가 저장되는 기본적인 기록단위는 섹터입니다. 따라서 어떤 파일이나 데이터를 읽거나 쓰기 위해서는 지정된 섹터의 위치를 알아야 합니다. 섹터의 위치를 지정하는 방식(Sector Addressing)에는 CHS 방식과 LBA 방식이 있습니다. ◆ CHS 주소지정방식 섹터의 위치를 지정하기위해서 실린더(Cylinder), 헤드(Head), 섹터(Sector)의 번호로 섹터위치를 지정하는 방식을 CHS(Cylinder-Head-Sector) 주소 지정 방식이라고 합니다. 그러나 CHS 주소지정방식은 504MB로 용량이 제한되는 문제가 발생하게 되었습니다. 이는 하드웨어의 입출력을 처리하는 BIOS와 하드디스크 인터페이스의 규정인 ATA 규격(IDE)의 사양 차이로 인하여 발생하는 문제였습니다. 이를 해결하기위하여 BIOS를 통과한 값을 Bit Shift Translation으로 확장시키는 Large Mode 방식이 고안되었습니다. 이를 통하여 504MB 용량제한은 해결되었지만 급속하게 발전하는 하드디스크의 집적화는 CHS 방식의 한계점을 보여주었습니다. ◆ LBA 주소지정방식 CHS 방식의 한계로 인해 대체된 방식이 LBA(Logical Block Addressing) 방식입니다. LBA 모드가 CHS 모드를 대체하기위해서 전혀 별개로 생겨난 것은 아니고 CHS, LBA 모두 ATA-1 명세에 포함되어 있었습니다. 단지, CHS가 먼저 사용되었고, 이후 CHS의 한계점으로 인해 LBA가 주목받기 시작한 것입니다. LBA 방식은 하드디스크의 구조적인 정보(실린더, 헤드, 섹터 번호)를 이용하지 않고, 하드디스크 내부에 존재하는 모든 섹터들을 일렬로 늘어뜨린 후 0부터 시작해서 번호를 매기는 1차원적인 방식이라고 생각하면 이해가 쉬울 것입니다. 이렇게 매겨진 번호는 물리적인 번호가 아니라 논리적인 번호로서 하드디스크 내부의 펌웨어에서는 이를 다시 물리적인 실린더, 헤드, 섹터의 3차원적인 주소로 바꾸어 섹터를 지정하게 됩니다. 이렇듯 LBA가 고안된 이후 CHS 방식은 ATA-6 표준으로 넘어오면서 자취를 감추었습니다. 따라서 지금의 모든 하드디스크는 LBA 모드를 사용하고 있습니다. (CHS, LBA에 대한 상세한 내용 참조 : 섹터 주소 지정 방식 (Sector Addressing) - <FORENSIC PROOF> 블로그) 하드디스크의 속도 언젠가 앞에서 기억장치에 대해서 설명하면서 기억장치의 속도와 용량, 비용에 따른 계층구조가 형성된다는 내용을 다루었었습니다. 설명한 바와 같이 하드디스크는 컴퓨터의 두뇌인 CPU와 주기억 장치인 RAM에 비교해서 상대적으로 상당히 느린 기억장치입니다. 그래서 하드디스크 기술 개발은 용량 확대와 더불어 속도 개선의 두가지 방향으로 발전되어왔습니다. <CPU, RAM, 하드디스크의 비교> 하드디스크의 속도를 나타내는 용어인 접근시간(Access Time)은 자세하게 들여다보면 여러가지의 요소와 관련되어 복잡하게 설명이 되겠지만 간단하게 정의를 하면 '전송 요청에 대해 데이터가 전달될 때까지 걸리는 시간'을 말합니다. 이러한 Access-Time은 아래의 세가지 시간의 합으로 나타나게됩니다. ◆ 탐색시간(Seek Time) : 디스크의 헤드가 원하는 데이터가 있는 트랙으로 움직이는 데 걸리는 시간 ◆ 회전지연시간(Rotational Latency Time) : 탐색 후 디스크가 회전해서 원하는 섹터가 헤드 아래에 위치하게 되는 데 걸리는 시간 ◆ 전송시간(Trsansfer Time) : 헤드가 접근한 섹터의 데이터를 읽어서 주기억장치간의 자료전송에 걸리는 시간 우리가 '디스크 조각모음'을 하면 하드디스크의 전송속도가 빨라진다고 하는 것은, 데이터가 여기저기로 흩어져 기록된 단편화(fragmentation)로 인하여 데이터를 읽기위해 헤드가 여기저기로 움직이면서 Seek time과 회전지연시간이 많이 발생하는 상태의 하드디스크를 조각모음(Defragmentation)으로 데이터를 연속되는 섹터로 정리해서 모아 두면 이렇게 헤드를 이리저리 움직이는데 낭비되는 시간없이 데이터를 읽을 수 있게 되기 때문입니다. 요즘에 하드디스크를 대체하는 저장장치로 각광 받고있는 SSD(Solid State Drive)는 반도체 메모리인 플래시 메모리나 RAM을 사용하므로 하드디스크와 같이 물리적인 기계장치를 움직이는 Seek time이나 회전지연시간이 없으므로 하드디스크보다 훨씬 빠른 속도를 보이는 것입니다. 하드디스크 속도의 개선을 위해 개발된 여러가지의 기술 중에서 가장 중요한 것은 역시 디스크의 회전수 증가일 것입니다. 하드디스크의 회전속도가 빨라지면 헤드가 지정된 섹터를 찾는 시간이 줄어들고, 데이터를 읽어들이는 시간도 빨라져 엑세스 타임을 크게 개선할 수 있습니다. 하드디스크 사양에서 회전수는 플래트의 회전속도를 RPM(Revolution Per Minute, 분당 회전수)으로 표시하고 있습니다. 결국 하드디스크의 RPM은 플래트를 회전시키는 스핀들 모터의 회전속도라고 할 수도 있습니다. IBM의 'RAMAC'에 부착된 최초의 하드디스크의 회전수가 1,200rpm이었고, 시게이트의 'ST-506'이 3,600rpm으로 작동하였습니다. 그 이후로 4,200rpm, 5,400rpm, 7,200rpm, 10,000rpm... 등으로 회전수의 개선은 계속되었습니다. 현재 일반적으로 하드디스크에 쓰이는 회전수는 7,200rpm이며, 노트북에 사용되는 하드디스크는 5,400rpm을 채용합니다. 10,000rpm이나 15,000rpm의 고속의 회전수를 가진 하드디스크도 있지만, 이런 초고속 하드디스크는 서버용이나 워크스테이션용으로 쓰이고 있으며 가격도 비싼 편입니다. 하드디스크는 플래트를 계속 돌려서 자료를 읽어내는 기계장치로 회전수의 증가에도 어느 정도의 한계가 있게되고, RPM이 높을수록 소음과 발열이 더 많이 발생하게 됩니다. 이렇게 고속으로 움직이는 하드디스크이므로 작동 중에 컴퓨터를 움직인다든가, 떨어뜨리는 일은 하드디스크에 치명적인 일이 될 수 있으니 주의하여야 하겠습니다. 디스크의 회전수와 더불어 속도에 영향을 미치는 또 하나의 중요한 요소는 '자기기록밀도'입니다. 자기기록 밀도가 높으면 같은 길이의 트랙에 더 많은 양의 데이터의 기록이 가능합니다. 이는 용량의 증가뿐만 아니라 속도에도 이점이 생깁니다. 헤드가 같은 길이를 읽더라도 더 많은 데이터를 읽게되기 때문에 전송시간이 줄어들게 됩니다. 또한 트랙간의 거리와 섹터간의 거리가 줄어들어 헤드암의 작동시간도 개선이 됩니다.
자기기록밀도를 개선하기위한 기술은 나날이 발전하여 최근(2013년 10월)에 시게이트사는 현재의 수직자기기록방식(PMR)을 대체하는 새로운 기술인 HAMR(Heat Assisted Magnetic Recording, 열보조자기기록) 방식을 선보였습니다. HAMR 기술은 매체 내 데이터 비트가 기록되는 정확한 지점에 레이저 광선으로 열을 가해 스토리지 용량을 넓히는 기술로서 기록 매체에 열을 가하면 데이터 쓰기가 쉽게 실행될 수 있으며, 그 뒤 급속 냉각 처리로 기록된 데이터를 안정화시키는 방식입니다. 이 기술을 사용하면 현재 PMR 방식의 한계로 알려진 평방인치당 1Tb의 자기기록밀도를 넘어서서 이론적으로 평방인치당 5Tb~10Tb의 자기기록밀도의 구현이 가능하다고 합니다. 시게이트사는 이 기술을 적용한 첫번째 제품이 2014년~2015년 사이 등장할 것이며, 2020년에 20TB 대용량의 하드디스크의 출시를 목표로 하고있다고 전하였습니다. |