본문 바로가기

File Processing [FP]

[FP] 02. 화일 저장장치

기본 개념

저장 장치 : 저장 매체+매체에 데이터를 저장하고 검색하기 위한 장치

저장 매체 : 데이터를 저장하는 물리적 재료 (소멸성 vs 비소멸성)

접근 장치 : 데이터를 판독하거나 기록하는 장치


저장 장치 (Storage device)

1차 저장 장치 (Primary storage) - 소멸성

  • 메인 메모리 : 내용 접근 시간은 일정하고 빠르다. 프로그램/데이터를 처리하기 위한 작업 공간. 용량이 적다. DRAM(dynamic random access memory), 재충전(refresh)이 필요하다.
  • 캐시 메모리 : 메인 메모리 성능 향상 목적, 가장 빠르고 비쌈. SRAM(static random access memory) : 데이터를 유지하기 위해 자주 재생(refresh)할 필요 없음

2차 저장 장치 (Secondary storage) - 비소멸성

  • 자기 디스크(magnetic disk) : 데이터 저장 장치의 주 매체, 저장된 데이터는 메인 메모리를 거쳐 CPU가 처리
    내용 접근 시간 느림. 용량이 크고 싸서 화일 저장에 쓰임. 대용량, 비소멸성
  • 플래시 메모리(flash memory) : 고밀도, 고성능 메모리 / 비소멸성 / 메인 메모리와 비슷한 접근 속도
    재기록시 한 블록 전체를 동시에 지우고 기록해야 함
  • 광 디스크(optical dist) : 광학적으로 저장, 레이저로 판독, 용량이 크고 보존 기간이 김, DVD(4.5~15GB)
  • 자기 테이프(magnetic tape) : 데이터의 백업과 보존을 위한 저장 매체, 순차 접근 저장 장치
    테이프 쥬크 박스 (대용량 데이터 저장 가능, TB 규모) - 단순히 저장 용도 (잘 안 씀)

자기 디스크 (Magnetic Disk)

직접 접근 저장 장치(DASD; direct access storage device) 중에 가장 많이 씌는 장치 – 1955년 IBM 개발

종류 : 하드 디스크(금속/유리로 만들어진 디스크 원반에 자기 기록 물질로 코팅한 디스크) vs 플로피 디스크
분류 기준 : 기록 표면의 수 / 데이터 전송률 / 기록,판독 헤드 이동 시간 / 접근 방법 / 회전 지연 / 밀도

 

자기 디스크의 물리적 특성

  • 디스크 팩 : 디스크 원반의 모음 (보통 6~20개) (직경 3.5인치, 10.5인치, 14인치 등 다양) (3600~7200rpm 회전 속도)
    각 면 당 수천~수만 개의 트랙. 맨 위/아래를 제외한 양면을 사용. (11개 디스크는 20면 사용)
  • 디스크 구동기 : 제어기, 접근 암, 판독/기록 헤드, 팩 회전 장치 / 고정식, 탈착식 있음
  • 디스크 제어기 : 원하는 데이터가 어느 구동기, 면, 주소에 있는지 판독 / 버퍼 관리 / 오류 발견, 수정 / 판독, 기록 관리

데이터 저장

  • 트랙 : 아무런 자기화가 되지 않은 ‘갭’으로 분리된 ‘섹터’들로 구성
  • 섹터 : 디스크에 기록, 판독 작업에 관한 최소의 단위 * 실린더 : 지름이 같은 모든 트랙
  • 블록 : 디스크와 메인 메모리 사이에 전송되는 데이터의 논리적 단위 / 블록은 하나 이상의 섹터로 구성

유동 헤드 디스크

  • 각 기록 면마다 판독, 기록 헤드가 있음
  • 판독, 기록시 헤드가 원하는 트랙에 위치하도록 접근 암을 이동
  • 전송 시간 : 데이터를 동일한 면보다는 동일한 실린더에 저장하는 것이 효율적

고정 헤드 디스크

  • 기록 면의 각 트랙마다 하나의 판독, 기록 헤드가 있음
  • 판독, 기록을 위해 헤드를 이동시킬 필요가 없음

윈체스터 디스크

  • 기록면, 접근 장치, 판독/기록 헤드가 함께 밀봉
  • 기록 밀도가 높음 (헤드가 디스크에 근접하기 때문)
  • 우리가 아는 보편적인 하드 디스크는 윈체스터 디스크
  • 용량 : 수~수십 GB / 회전 속도 : 5400~10000rpm / 전송률 5~50MB/sec

플로피 디스크 (Floppy Disk)

유연한 원반으로 만든 디스크

  • 3.5인치-80트랙-18섹터/트랙-512B/섹터-1.44MB
  • 5.25인치-80트랙-15섹터/트랙-512B/섹터-1.2MB
  • 회전속도 : 360rpm
  • 수직축 기록 : 저장 용량을 늘리기 위한 신기술

표면과 수직 방향으로 자화시켜 각 자화점의 표면 폭을 축소시킴

밀도를 50배 이상 향상


디스크 저장 장치의 특성

디스크 특성 요소

  • 회전 속도
  • 디스크 드라이브의 원반 수
  • 기록면당 트랙 수
  • 트랙당 섹터 수
  • 섹터당 바이트 수

Giga 디스크 : 원반 수 8개(기록면 16개), 16384 트랙/기록면, 128섹터/트랙, 4096바이트/섹터

용량 -> 2^4 x 2^14 x 2^7 x 2^12 = 2^37 = 128GB 


디스크 데이터 접근

메인 메모리에서만 연산 작업이 가능해서 디스크와 메인 메모리 사이의 데이터 블록 전송이 필요

블록은 하나 이상의 섹터로 구성

블록이 위치하는 트랙이 포함된 실린더에 헤드가 위치

-> 디스크가 회전하면서 블록이 포함된 섹터들을 헤드가 인식, 판독/기록



블로킹의 고려 사항

  • 적재 밀도 : 갱신을 위한 블록 내의 자유 공간 할당, 실제 데이터가 저장된 공간과 자유 공간을 포함한 총 공간과의 비율
  • 균형 밀도 : 레코드 자체의 확장과 축소, 상당히 긴 기간 동안 시스템을 운용하고 안정시킨 뒤에 예상되는 저장 밀도
  • 집약성 : 상호 연관된 레코드들의 물리적 근접성 / 같은 블록, 트랙, 실린더

자기 테이프 (Magnetic Tape)

개방 릴 테이프(대형 컴퓨터용), 테이프 카트리지 (중소형 컴퓨터용)

산화 제2철이 입혀진 1.5/1000인치 정도의 얇은 테이프

길이 : 300~360ft (보통 2400ft)

폭 : 1/2인치(주로), 1/4인치

평행한 트랙들로 구성 (보통 7-트랙, 9-트랙)


  • 테이프 구동기 : 판독/기록 헤드 (판독/기록은 테이프의 자화 표면과 헤드의 자속 사이의 상호 작용)
  • 데이터 표현 : 자화된 방향에 따라 0 또는 1의 값을 가진다.
  • 기록 : 충전된 코일에 의해 자화
  • 판독 : 자화가 코일에 전류를 유도하여 감지
  • 기록 밀도 : 1인치당 비트수 (bpi : bits per inch)
    1바이트 : 한 컬럼에 수직으로 기록할 수 있는 비트로 이루어진 단위, 보통 8비트로 하나의 문자를 표현
    9트랙 테이프 : 8트랙에는 데이터, 1트랙에는 오류 제어 비트 (parity bit)
  • Parity bit : 01010011을 전송하면 뒤에 하나의 비트를 더 만들어서 짝/홀을 정한다. 짝수로 하기로 했으면 뒤에 Parity bit를 붙여서 1의 개수를 짝수로 만든다. => 01010011[0]
  • 블록 : 메모리와 테이프 사이의 데이터 입출력 단위 (보통 4000B~20000B) - 버퍼의 크기를 감안하여 결정
  • 블로킹 : 블록을 1개 또는 여러 개의 논리적 레코드를 포함할 수 있는 적절한 크기로 설정하는 것
  • 블록 간 갭 (IBG: inter block gap) : 테이프 이동 속도 조절, 가속 시간과 감속 시간 제공 / 없으면 문제 발생, 통상 0.3~0.75인치


광 디스크

CD-ROM

  • 미리 기록된 데이터를 읽기만 가능
  • 레이저 빔으로 금속성 표면에 구멍(pit)을 만드는 방법이 보통
  • EFM : 1바이트(8비트)를 14개의 채널 비트로 변환하여 저장 (연속된 1을 표현할 수 없기 때문에 1을 이웃하지 않게)
  • 중심에서 바깥까지 약 3마일의 단일 나선형 트랙으로 구성
  • 위치에 관계없이 저장 밀도 일정
  • 중심에서 바깥으로 순차 판독
  • 균일 선형 속도(CLV) 방식 (섹터가 모두 같은 시간 내에 판독)
  • 안쪽 섹터와 바깥쪽 섹터의 회전 속도가 다름
  • 실제 순차 판독 시간 : 77분 / 저장 용량은 보통 650MB
  • (균일 각속도(CAV)(자기 디스크) : 안쪽과 바깥쪽 섹터의 회전 속도 같음) 
  • 섹터 : 2352B / 초당 75개의 섹터 판독(150KB/sec)
  • 주소 표현 방식 : 시작부터 해당 섹터까지의 경과 시간 <분:초:섹터번호>
  • 장점 : 가격이 저렴, 대용량(650MB), 대량 생산 가능, 보존성이 좋음
  • 단점 : 자기 디스크보다 탐구 시간이 김 (회전 속도 가변), 임의 접근이 신속하지 못함, 판독 전용이다. 

CD-WO (write once) : WORM(Write Once Read Many)의 CD 버전 / 한 번만 기록, 판정은 무한정 가능

CD-MO (magneto optic) : 광자기 디스크(MOD)의 CD 버전 / 소거 가능한 광 디스크, 백업 장치로 유망

CD-RW : 읽고 쓸 수 있으나 지우려면 한 번에 지워야 함

 

DVD (digital video disk)

  • 양면 사용, 밀도와 저장 방식 개선
  • CD의 7배 이상(4.7~17GB)
  • 영화나 비디오 저장 매체로 개발
  • 컴퓨터 저장 매체로 이용

RAID

Redundant Arrays of Inexpensive Disks

디스크의 성능과 신뢰성을 증진시키는 디스크 조직 기법 (데이터의 복구, 데이터 접근의 효율성을 증진시키기 위해 등장)

많은 수의 저가 소형 디스크를 이용 (고도의 신뢰성 / 고속의 데이터 전송 / 대용량의 데이터 전송)

많은 수의 디스크를 병렬로 작동 (데이터의 판독, 기록 속도 개선)

다중 디스크에 정보를 중복으로 저장 (신뢰성 증가 = 고장이 잘 안 난다)

대용량 (여러 개의 디스크를 논리적으로는 하나의 디스크로 생각)

 

디스크 신뢰성

  • MTTF (mean time to failure) : 디스크의 장애간 평균 시간
  • 단일 디스크 : 100,000시간 / 100개의 디스크로 구성된 디스크 어레이는 100,000/100 = 1000시간 만에 고장이 발생
  • Mirroring 기법(디스크 중복) : 신뢰성 문제를 해결. 미러링된 디스크의 MTTF는 개별 디스크의 MTTF와 MTTR에 의존
  • MTTR (mean time to repair) : 디스크 교체와 복구 시간
  • 데이터 손실간 평균 시간 : 단일 디스크 MTTF : 100,000시간 / MTTR : 10시간 / 

디스크 병렬성

  • Data Striping을 통해 전송률을 개선
  • 데이터를 같은 크기로 분할하여 여러 디스크에 차례로 분산 저장
  • 비트 레벨 스트라이핑 : 각 바이트의 비트를 여러 디스크에 분할 저장
    4개의 디스크로 구성된 디스크 어레이 -> 각 바이트의 비트 i를 디스크 (i mod 4)+1에 기록 / 블록이 4배 크고 속도가 4배 빠름
  • 블록 레벨 스트라이핑 : 화일의 블록들을 여러 디스크에 차례로 분산 저장
    d 디스크 어레이 -> 화일의 블록 i를 디스크 (i mod d)+1에 저장, d개의 블록을 병렬로 판독 -> d배의 전송률 제공
  • 비트와 블록 레벨은 모두 저장 속도는 같지만 읽는 속도는 다르다.
  • 읽기는 블록 단위로 읽기 때문에 블록 단위로 읽는 것이 더 빠르다.


RAID 레벨 0

  • 데이터 손실이 중요하지 않은 고성능 응용에서 사용

RAID 레벨 1

  • 디스크 고장 시 데이터 재구성이 용이
  • 최고의 기록 성능 제공
  • 데이터베이스의 로그 화일 저장에 이용
  • 높은 오버헤드 때문에 레벨 3이나 5를 선호

RAID 레벨 2, 4 : 레벨 3과 5에 포함

RAID 레벨 3, 5

  • 레벨3 : 고도의 데이터 전송이 필요할 때
  • 레벨5 : 대부분의 데이터베이스 시스템에서와 같이 임의 판독이 중요할 때

RAID 레벨 6

  • 고도의 신뢰성이 요구되는 환경

RAID를 조합해서 쓸 수도 있다. [레벨 0 + 레벨 1 => 4개의 Disk에 쓰면서 다른 4개의 Disk에 Mirroring]

'File Processing [FP]' 카테고리의 다른 글

[FP] 06. 인덱스 구조  (2) 2024.01.23
[FP] 05. 화일의 정렬/합병  (0) 2024.01.22
[FP] 04. 순차 화일  (1) 2024.01.22
[FP] 03. 화일 입출력 제어  (2) 2024.01.21
[FP] 01. 화일의 기본 개념  (0) 2024.01.19