본문 바로가기

Forensic/기초

데이터표현과 디스크 구성 - 하드디스크 구조

※아래의 내용은 Startup 디스크 포렌식 (이별 지음)을 공부하며 남긴 기록이다. 

 

컴퓨터를 이용하면서 생성되는 모든 데이터는 계속해서 사용하고 유지하기 위해 저장 매체에 저장한다.

이번 글은 저장 매체 중 가장 기본이 되는 하드 디스크(HDD) 구조에 대해서 알아보자.

 

하드 디스크는 크게 6개의 구성으로 이루어져 있다.

 

  • 전원 커넥터 : 하드디스크에 전원을 공급해주는 단자
  • 데이터 커넥터 : 하드디스크와 컴퓨터 사이의 데이터를 전송해주는 단자.
  • 헤드 : 데이터를 읽어주는 역할
  • 액츄에이터 암 : 헤드를 데이터가 있는 위치로 움직여 주는 역할을 한다.
  • 플래터 : 실제로 데이터가 저장되는 곳이다.
  • 스핀들 : 플레터를 돌려주는 역할을 한다.

하드디스크 구조

 

여기서 또 플래터를 단면으로 나타낼 수 있다. 플래터의 구성은 4 부분으로 이루어져 있다.

 

  • 트랙(A) : 하드디스크의 물리적인 최소단위인 섹터(512byte) 단위의 모음이라 할 수 있으며 , 원심 전체가 트랙이 된다.
  • 섹터(B) :  하드디스크의 물리적인 최소 단위를 섹터(512byte)라 한다.
  • 트랙 섹터(C) : 같은 구역에 있는 섹터의 집합이다.
  • 클러스터(D) : 섹터 단위를 묶어 데이터의 입출력 단위를 정하게 되는데 이를  클러스터라 한다. 클러스터의 기본은 4,096byte이다.

하드디스크의 단면

 

 

섹터 단위로 입출력을 수행하게 되면 많은 시간이 소요되므로 이를 방지 하기 위해 클러스터라는 개념이 생기게 되었다.

하지만 , 클러스터는 크기에 따라 낭비되는 공간과 입출력을 수행하는 시간에 많은 영향을 미친다.

 

(1) 클러스터

하드 디스크 읽기/쓰기 작업은 모두 섹터 단위로 이루어지고, 물리적인 최소단위는 1 섹터(512byte) 이다. 하지만, 섹터

섹터 단위로 입,출력을 처리하면 큰 파일의 경우 많은 시간이 요구되기 때문에 대부분 여러개의 섹터를 묶어 한번에 처리한다.

 

윈도우 운영체제 에서는 여러 개의 섹터를 묶은 클러스터가 데이터의 입,출력 단위이다. 

데이터를 저장할 때 낭비되는 공간이 있음에도 불구하고 클러스터 단위를 사용하는 이유는 디스크 입출력 횟수를 줄이기 위해서이다. 

 

(2) 슬랙 공간 

슬랙 공간은 논리적인 크기와 물리적인 크기의 차이로 인해 발생해 낭비되는 공간이다. 

 

슬랙의 종류와 100 byte 크기의 데이터를 저장한다고 가정한 예

  • 램 슬랙 : 512byte 중 100byte를 저장하고 남는 412 byte가 램 슬랙 공간이 된다. 섹터에 남는 비할당 영역이다.
  • 파일 슬랙 : 4,096 byte 중 100byte를 제외한 나머지 영역 3,996 byte 가 파일 슬랙 공간이 된다. 즉, 클럭스터에 할당하고 남은 비할당영역이다.

램 슬랙과 파일 슬랙(=드라이브 슬랙)

 

  • 볼륨 슬랙 : 하드디스크를 논리적인 단위인 파티션으로 할당 후 남는 공간을 볼륨 슬랙이라 한다.

볼륨 슬랙

 

  • 파일 시스템 슬랙: 하드디스크를 논리적인 단위인 클러스터 단위로 할당 후 남는 공간을 파일 시스템 슬랙 공간이라 한다. 

파일시스템 슬랙 

 

(3) 주소 지정 방식 

하드디스크는 크게 두가지 주소 지정 방식을 사용한다.

  • CHS(Cylinder-Head-Sector) 방식 : 하드디스크의 물리적인 구조에 기반을 둔 방식이지만 시간이 지날수록 고용량 디스크에는 지원할 수 없어 현재는 쓰지 않는다.
  • LBA(Logical Block Addresses) 방식 : 물리적인 구조에 대한 정보가 불필요하며, 섹터 단위로 디스크의 마지막까지 차례대로 주소를 지정하는 방식이다. 현재 48bit 주소방식을 사용하여 고용량 디스크도 지원한다.