728x90

# 디스크 구성
- 디스크 : 일정 속도로 회전(RPM : 분당 몇 회 회전)
- 3.5인치, 휴대용(2.5인치)
- 축(spindle) : 축이 돌면 판이 같이 돔
- 판(platter) : 트랙으로. 윗면, 밑면 (1~5장)
- 동심원(track) 
- 원통(cylinder) : 같은 트랙
- sector : 각각의 트랙은 여러 개 섹터로
- arm : 헤더가 움직임. arm + header => accturator
- rotation : 모터가 회전
- 디스크에는 판이 여러 개 
- 표면 -> 트랙 -> 섹터(디스크 읽고 쓸 수 있는 가장 작은 단위)
- 바깥 쪽(많음), 안 쪽(적음) 섹터 수는 다름 : 바깥쪽부터 적혀나감 

 


# 데이터 접근
- cylinder #(number)
- surface #
- sector #

 


# 판독-기록 헤드
- 헤드가 디스크 표면에 마이크로 거리만큼 떠 있음(충돌 시 데이터 파괴)
- 각 면당 헤드를 가짐
- 자기적으로 섹터위에 데이터를 기록
- 판 표면 위를 움직이며 다른 트랙을 접근

 


# 디스크 컨트롤러
- 컴퓨터 시스템(본체)과 디스크 드라이버의 하드웨어를 연결
- 디스크 드라이브 내에 구현
- 섹터 읽고, 쓰기 위한 명령어 받음 -> 디스크 암을 해당 트랙으로 이동 -> 실제 데이터 읽고 씀
- 각 섹터에 체크섬 점검(오류 판단)
- 컴퓨터 시스템과 연결을 위한 공용 인터페이스
  PATA(IDE) : 예전 pc, 병렬, 40라인, 46cm
  SATA : 개인용 컴퓨터, 노트북
  SCSI : 예전 서버, 여러 개를 한 번에 붙일 수 있음
  SAS : SATA + SCSI, 서버 
- SAN : 많은 디스크들이 고속 네트워크에 의해 서버들과 연결

 


# 디스크 성능 측정 : HDD 기준
# 액세스 시간
- 읽기/쓰기 요구부터 데이터 전송시작까지 시간
- 탐색 시간 + 지연 시간(회전 지연 시간) => 기계적 요소

# 탐색 시간
- 지연 시간보다 오래 걸림
- 디스크 암을 원하는 실린더에 위치시키는 시간
- 10msec
- 평균 탐색 시간 : 최악 탐색 시간의 1/3 (4 msec ~ 10 mesc)

# 회전 지연 시간
- 헤드가 원하는 트랙에 도달한 후 원하는 섹터가 헤드 아래에 오는데 걸리는 시간
- 4msec ~ 11 msec
- 평균 회전 지연 시간 : 회전 지연 시간의 1/2
- 병목 현상 발생
- 모터가 돌아감(전력 소모) -> 쿨러(소음)

 

 

# 데이터 전송 속도
- 첫 섹터가 접근된 후 데이터가 디스크로부터 읽고 쓰는 속도
- 안쪽이 바깥쪽보다 낮음
- 인터페이스 버전에 따라 다름

 


# MTTF(Mean Time To Failure)
- 평균적으로 디스크가 실패 없이 계속 동작할 수 있는 시간
- 5년 정도(HDD)

 


# 블록 (Block)
- 고정된 수의 연속적인 섹터들
- 512 바이트 ~ 16K 바이트
- 디스크 입출력 단위

 

 

# 블록에 대한 요청 : 헤드 입장에선 섹터 단위
1. 순차적 접근
- 인접한 트랙에 있는 연속적인 블록들을 접근
- 첫 요청에만 탐색 시간 발생
- 단위 시간당 전송률 높음
- 디스크 콘트롤러가 내용을 섹터 단위로 모아서 블록 단위로 전달
- 헤드를 움직이지 않음(시간 절약)

2. 임의적 접근
- 일련의 요청이 디스크상의 임의 위치들을 접근하도록 함
- 각 요청마다 탐색시간이 요구됨
- 단위 시간당 전송률 낮음
- 헤드 움직임

 


# 디스크 블록 액세스 최적화
1. 버퍼링 (Buffering)
- 디스크로부터 읽어 온 블록을 메모리 버퍼에 임시로 저장

2. 미리 읽기 (Read Ahead)
- 블록에 대한 요청이 없어도 동일 트랙 내 연속적인 블록을 읽어 들임
- 순차적 접근에 유리

3. 디스크 암 스케줄링 (Disk Arm Scheduling)
- 블록에 대한 요구를 헤드가 지나가는 순서대로 요구함(내려오면서)
- 원하는 블록이 다른 실린더에 있는 경우 디스크 암의 움직임을 최소화
- 승강기 알고리즘
- 디스크 콘트롤러가 sorting 함

 


# 파일 구성
- bit -> byte -> field -> record -> sector -> block -> file
- 꼭 연속된 블록으로 구성된 것은 아님
- OS가 하나의 파일을 연속되게 블록에 저장
- 단편화 발생
- 공간 없으면 나눠서 넣고 다른 트랙에 비어 있는 공간에 저장
- 조각모음 : 디스크에 나눈 데이터를 디스크 전체에 다시 저장, 연속적으로 기록, 성능 향상

반응형

'전공 공부 > 데이터베이스시스템' 카테고리의 다른 글

RAID  (0) 2021.01.11
플래시 저장장치  (0) 2021.01.11
저장 장치 종류  (0) 2021.01.09
표현식 평가(실행)  (0) 2021.01.09
조인 연산, 집합 연산  (0) 2021.01.09
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기