🌸 하드디스크의 구조
- 자기장의 극성이 변화하면 1, 그렇지 않으면 0으로 인식한다.
- 플래터 표면 상에 있는 자화물질을 자화시켜 정보를 기록한다.
- 스핀들, 붐, 암, 헤드 등으로 구성된다.
🌸 디스크 동작 (접근 시간)
- 디스크에 저장된 데이터를 찾는 데 걸리는 시간이다.
- 탐색 시간이 가장 큰 비중을 차지한다.
✔️ 회전 대기/지연 시간
- 데이터가 포함된 섹터가 헤드 아래로 회전되어 올 때까지 소요되는 시간이다.
- 데이터를 읽을 수 있는 위치로 회전하는데 걸리는 시간이다.
- 회전 대기 시간 중에는 데이터를 읽고 쓰지 못한다.
- 회전 대기 시간은 짧을수록 좋다.
✔️ 탐색 시간
- 헤드를 지정한 트랙(실린더)으로 이동하는데 걸리는 시간이다.
✔️ 디스크 동작을 완료하는데 걸리는 시간
- 탐색시간 + 회전 대기 시간 + 디스크 드라이브에서 디스크 컨트롤러로 데이터를 전송하는 시간
✔️ 데이터 전송 시간
- 읽거나 쓸 데이터를 전송하는 시간이다.
- 헤드가 동작을 시작하여 해당 섹터를 읽어 전송하는데 필요한 시간이다.
🌸 순차적 I/O
- 임의 I/O보다 트랙간 탐색 시간이 더 빠르다.
- 디스크 I/O 완료에 걸리는 시간은 순차적 I/O 성능은 트랙 간 탐색시간,
임의 I/O 성능은 평균 탐색시간에 의해 좌우된다.
🌸 엘리베이터 정렬
- RAID 컨트롤러는 임의 탐색을 보다 효과적으로 처리하기 위해 엘리베이터 정렬을 지원한다.
- 다중 I/O가 컨트롤러에 큐잉될 때 이동을 최소화하기 위해 정렬된다.
✔️ 컨트롤러 캐쉬
- I/O 성능 향상을 위해 디스크 컨트롤러에 존재한다.
- 미리 읽기를 지원한다.
- 대량의 데이터 요청 시 요청도니 데이터 외에 다음 데이터의 일부를 같이 가져가는 작업을 수행한다.
🌸 디스크 팩
✔️ 섹터
- 물리적으로 디스크 시스템에 데이터가 저장되거나 판독되는 단위이다.
✔️ 트랙
- 중심으로부터 같은 거리에 있는 섹터들의 집합이다.
✔️ 실린더
- 트랙들의 집합이다.
- 대량의 데이터를 순차적으로 저장할 때에는 실린더 단위로 저장한다.
🌸 DMA
- 하드 디스크 같은 하드웨어가 CPU의 개입 없이 독립적으로 컴퓨터 메모리에 접근할 수 있게 해준다.
- CPU의 작업 수행을 방해받지 않고 I/O 자료 전송을 수행할 수 있다.
🌸 주소 지정 방식
✔️CHS
- Cylinder, Head, Sector
- 디스크의 물리적인 구조에 기반한 주소 지정 방식이다.
- 초기 ATA 표준과 BIOS의 지원 비트의 차이로 인해 최대 504MB까지만 지정 가능했다.
✔️LBA
- 디스크 0번, 실린더 0번 헤드, 1번 섹터의 첫 번째 (0번) 블록으로 지정하는 방식이다.
🌸 회전 대기/지연 시간 구하기
✔️ 5,400 rpm 일 때 회전 대기/지연 시간 구하기
1. 초당 회전수로 변환
5,400 / 60 = 90
2. 밀리초당 회전수로 변환 (1s = 1000ms)
90 / 1000 = 9/100
3. 역수 취하기 (1회전 하는데 걸리는 시간)
100/9 = 11.111111111
4. 식 대입
r = 1/2 * 1회전 시간
r = 1/2 * 100/9 = 5.5555555555