본문 바로가기
컴퓨터공학/데이터베이스(database)

[Storage Device] Magnetic hard disk

by 바코94 2020. 6. 5.

 

hard disk의 구조를 살펴보자. 데이터를 저장할 수 있는 자기적인 성질을 가진 것을 플래터라 한다. 플래터는 여러개의 트랙으로 나누고 트랙은 여러 개의 섹터로 나눈다. 실린더는 논리적인 개념인데 원통 모양이다.

read/write head를 통해 read/write를 한다. head를 사용자가 원하는 위치에 찾아가기 위해서는 플래터를 회전시키고 arm을 움직여서 트랙을 맞춘다.

 

같은 수직에 위치한 트랙은 같은 실린더에 포함된다. 

 

disk controller

hard disk와 cpu 를 연결하는 역할을 한다.

disk controller = microprocessor + buffer memory + cache

 

process <--> os <--> disk controller buffer <--> disk

disk controller buffer는 disk와 main memory사이에서 중간 역할을 한다.

 

disk interface

SATA, SCSI, SAS, ATA

 

Disk connection

disk를 여러개 연결할 때 방식이다.

SAN, NAS 등이 있다.

 

read, write 비용

seeking time: arm reposition time(change cylinder) 

rotationall delay: change track 

transfer time

 

disk-arm scheduling : elevator algorithm

io performance 높이기 위해 disk controller가 파악한 실린더 위치를 기반으로 바깐 실린더부터 안쪽으로 또는 안쪽 실린부터 바깥쪽으로 작업을 해나가면 유리할 것이다. 이를 통해 seeking time을 줄일 수 있다.

 

file organization

seeking 타임을 줄이기 위해서 같은 파일의 데이터는 같은 실린더에 저장한다. 공간이 많이 사용되어서 한 파일을 같은 실린더에 저장할 수 있는 상황이 안되게 되면 서로 한 파일이 서로 다른 실린더에 저장해야 한다. 주기적으로 디스크 조각모음을 하여 이런 상황을 줄이면 좋을 것이다.

 

non-volatile RAM : write buffer로 사용해 속도를 향상 시킨다.

 

log disk: log를 저장할 때 sequential write로 하는데 같은 실린더에 쓰면 seeking time이 적고 rotational delay가 필요 없다. 따라서 시간적인 비용이 거의 없고 nv-ram같은 것이 필요 없다.

 

journaling file system

log disk같은 파일 시스템을 부르는 용어이다.