본문 바로가기

Computer Structure & Operating System/2025 version

Computer Structure & OS(7) - 보조기억장치

728x90
반응형

1) 다양한 보조기억장치

    1-1) 하드 디스크

    1-2) 플래시 메모리

2) RAID의 정의와 종류

    2-1) RAID의 정의
    2-2) RAID의 종류

 

 

 

 

 

 

 

1) 다양한 보조기억장치

1-1) 하드 디스크

  • 하드 디스크(HDD; Hard Disk Drive) : 자기적인 방식으로 데이터를 저장하는 보조기억장치(자기 디스크의 일종으로 지칭하기도 함)
  • 하드 디스크 내부 구성 요소
    • 플래터(platter) : 하드 디스크의 동그란 원판으로서 하드 디스크에서 실질적으로 데이터가 저장되는 곳
    • 스핀들(spindle) : 플래터를 회전시키는 구성 요소(이때 스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM; Revolution Per Minute 이라는 단위로 표현됨)
    • 헤드(head) : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소로, 플래터 위에서 미세하게 떠 있는 채로 데이터를 읽고 쓰는 마치 바늘같이 생긴 부품
    • 디스크 암(disk arm) : 헤드를 원하는 위치로 이동시키는 구성 요소
  • 플래터의 단위
    • 트랙(track) : 플래터를 여러 동심원으로 나누었을 때 그 중 하나의 원을 의미함
    • 섹터(sector) : 트랙은 마치 피자처럼 여러 조각으로 나누어지는데 이때 나누어진 한 조각을 의미함(섹터는 하드 디스크의 가장 작은 전송 단위임)
    • 블록(block) : 하나 이상의 섹터를 묶어 표현하는 단위
    • 실린더(cylinder) : 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위를 의미함(즉, 한 플래터를 동심원으로 나눈 공간은 트랙, 같은 트랙끼리 연결한 원통 모양의 공간은 실린더임)
  • 하드 디스크가 저장된 데이터에 접근하는 시간 구분
    • 탐색 시간(seek time) : 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
    • 회전 지연(rotational latency) : 헤드가 있는 곳으로 플래터를 회전시키는 시간
    • 전송 시간(transfer time) : 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간
  • 헤드 형태에 따른 하드 디스크 구분
    • 단일 헤드 디스크(single-head disk) : 플래터의 한 면당 헤드가 하나씩 달려 있는 하드 디스크(이동 헤드 디스크라고도 부름)
    • 다중 헤드 디스크(multiple-head disk) : 헤드가 트랙별로 여러 개 달려 있는 하드 디스크(고정 헤드 디스크라고도 부름)
    • 다중 헤드 디스크는 트랙마다 헤드가 있기 때문에 탐색 시간이 들지 않음(다중 헤드 디스크는 탐색 시간이 0임)

 

1-2) 플래시 메모리

  • 플래시 메모리(flash memory) : 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치(흔히 사용하는 USB 메모리, SD 카드, SSD 모두 플래시 메모리 기반의 보조기억장치임)
  • 두 종류의 플래시 메모리
    • NAND 플래시 메모리 : NAND 연산을 수행하는 회로(NAND 게이트)를 기반으로 만들어진 메모리
    • NOR 플래시 메모리 : NOR 연산을 수행하는 회로(NOR 게이트)를 기반으로 만들어진 메모리
    • 둘 중 대용량 저장 장치로 많이 사용되는 플래시 메모리는 NAND 플래시 메모리임
  • (cell) : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
  • 플래시 메모리 종류(셀에 몇 비트를 저장할 수 있느냐로 구분)
    • SLC(Single Level Cell) : 한 셀에 1비트를 저장할 수 있는 플래시 메모리
    • MLC(Multiple Level Cell) : 한 셀에 2비트를 저장할 수 있는 플래시 메모리
    • TLC(Triple Level Cell) : 한 셀에 3비트를 저장할 수 있는 플래시 메모리
  • 플래시 메모리와 하드 디스크 모두 수명이 있음
구분 SLC MLC TLC
셀당 bit 1bit 2bit 3bit
수명 길다 보통 짧다
읽기/쓰기 속도 빠르다 보통 느리다
용량 대비 가격 높다 보통 낮다

 

  • 플래시 메모리의 단위
    • 페이지(page) : 셀들이 모여 만들어진 단위
    • 블록(block) : 페이지가 모여 만들어진 단위
    • 플레인(plane) : 블록이 모여 만들어진 단위
    • 다이(die) : 플레인이 모여 만들어진 단위
  • 플래시 메모리에서 읽기와 쓰기는 페이지 단위로 이루어지는 반면, 삭제는 페이지보다 큰 블록 단위로 이루어짐(즉, 플래시 메모리의 가장 큰 특징 중 하나는 읽기/쓰기 단위와 삭제 단위가 다르다는 것임)
  • 페이지의 3가지 상태
    • Free 상태 : 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
    • Valid 상태 : 이미 유효한 데이터를 저장하고 있는 상태
    • Invalid 상태 : 쓰레기값이라 부르는 유효하지 않은 데이터를 저장하고 있는 상태
  • 플래시 메모리는 하드 디스크와 달리 덮어쓰기가 불가능하여 Valid 상태인 페이지에는 새 데이터를 저장할 수 없음
  • 가비지 컬렉션(garbage collection) : 유효한 페이지들만 새로운 블록으로 복사한 후 기존 블록을 삭제하여 공간을 정리하는 기능

 

 

2) RAID의 정의와 종류

2-1) RAID의 정의

  • RAID(Redundant Array of Independent Disks) : 주로 하드 디스크와 SSD를 사용하는 기술로, 데이터의 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술
  • RAID 레벨 : RAID 구성 방법을 의미하며, 대표적으로 RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6이 있고, 여기서 파생된 RAID 10, RAID 50 등이 있음(이들 중 RAID 2, RAID 3은 현재 잘 활용되지 않음)

 

2-2) RAID의 종류

  • RAID 0 : 여러 개의 보조기억장치에 데이터를 단순히 병렬로 나누어 저장하는 구성 방식(RAID 0으로 구성된 하드 디스크 중 하나에 문제가 생긴다면 다른 모든 하드 디스크의 정보를 읽는 데 문제가 생길 수 있음)
    • 스트라입(stripe) : 마치 줄무늬처럼 분산되어 저장된 데이터
    • 스트라이핑(striping) : 분산하여 저장하는 것
  • RAID 1 : RAID 0처럼 데이터 스트라이핑이 사용되긴 했지만 거울처럼 완전한 복사본을 만드는 구성 방식(이에 미러링; mirroring이라고도 부름)
  • RAID 4 : RAID 1처럼 완전한 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장한 장치를 따로 두는 구성 방식(여기서 '오류를 검출하고 복구하기 위한 정보'를 패리티 비트; parity bit라고 함)
  • RAID 5 : 패리티 정보를 분산하여 저장하는 방식으로 RAID 4의 문제인 병목 현상(어떤 새로운 데이터가 저장될 때마다 패리티를 저장하는 디스크에도 데이터를 쓰게되므로 패리티를 저장하는 장치에 병목 현상이 발생함)을 해소하는 구성 방식
  • RAID 6 : 기본적으로 RAID 5와 같으나, 서로 다른 두 개의 패리티를 두는 방식(오류를 검출하고 복구할 수 있는 수단이 두 개가 생기는 것이므로 RAID 4나 RAID 5보다 안전한 구성 방식이라 볼 수 있음)