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같은 파일 시스템을 부르는 용어이다.
'컴퓨터공학 > 데이터베이스(database)' 카테고리의 다른 글
[Storage Device]File Organization (0) | 2020.06.05 |
---|---|
[Storage Device]RAID (0) | 2020.06.05 |
[Storage Device]physical storage media (0) | 2020.06.05 |
[Recovery]ARIES algorithm (0) | 2020.06.05 |
[Recovery] Failure of Nonvolatile Storage (0) | 2020.06.04 |