Post

[CS] Chapter 07. 보조기억장치

혼자 공부하는 컴퓨터 구조 + 운영체제 (한빛미디어 출판, 강민철 지음) 으로 공부한 내용을 정리합니다.
CS Study를 통해 함께 공부하고 있습니다. [github repository]

✅ 07 - 1. 다양한 보조기억장치

하드 디스크와 플래시 메모리는 가장 대표적인 보조기억장치이다. 이 두 장치에 대해서 알아보자.
핵심 키워드 : 하드 디스크 플래터 데이터 접근 시간 플래시 메모리 페이지 블록

✔️ 하드 디스크(HDD: Hard Disk Drive)

  • 하드 디스크는 자기적인 방식으로 데이터를 저장하는 보조기억장치이다.
  • 자기 디스크(magnetic disk)의 일종으로 지칭하기도 한다.

image 하드 디스크 구성

🔎 플래터(platter)
  • 그림 속 동그란 원판
  • 데이터가 저장되는 곳
  • 자기 물질로 덮여 있어 수많은 N극과 S극을 저장한다. N극과 S극은 0과 1의 역할을 수행한다.
🔎 스핀들(spindle)
  • 플래터를 회전시키는 구성 요소
  • 스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM(Revolution Per Minute)이라는 단위로 표현

image 하드 디스크 구성2

  • 헤드(head) : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소
  • 디스크 암(disk arm) : 헤드를 원하는 위치로 이동시키는 구성 요소

image 하드 디스크 저장 단위

플래터는 트랙(track)섹터(sector)라는 단위로 데이터를 저장한다.

  • 섹터는 하드 디스크의 가장 작은 전송 단위이다.
  • 하나 이상의 섹터를 묶어 블록(block)이라고 표현하기도 한다.

image 하드 디스크 저장 단위2

  • 실린더(cylinder) : 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위
  • 연속된 정보는 보통 한 실린더에 기록된다.

🔎 하드 디스크가 저장된 데이터에 접근하는 시간

  • 탐색 시간(seek time) : 데이터가 저장된 트랙까지 헤드를 이동시키는 시간 image

  • 회전 지연(rotational latency) : 헤드가 있는 곳으로 플래터를 회전시키는 시간 image

  • 전송 시간(transfer time) : 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간 image

❓ 다중 헤드 디스크와 고정 헤드 디스크

  • 단일 헤드 디스크(single-head disk) : 플래터의 한 면당 헤드가 하나씩 달려있는 하드 디스크
  • 다중 헤드 디스크(multiple-head disk) : 헤드가 트랙별로 여러 개 달려 있는 하드 디스크. 탐색 시간이 0이다.
  • 고정 헤드 디스크(fixed-head disk) : 헤드를 움직일 필요가 없는 다중 헤드 디스크
  • 이동 헤드 디스크(movable-head disk) : 헤드를 데이터가 있는 곳까지 움직여야 하는 단일 헤드 디스크

✔️ 플래시 메모리(flash memory)

  • 플래시 메모리는 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치이다.
  • USB 메모리, SD 카드, SSD가 모두 플래시 메모리 기반의 보조기억장치이다.

❓ NAND 플래시 메모리, NOR 플래시 메모리

  • NAND 플래시 메모리와 NOR 플래시 메모리는 각각 NAND 연산을 수행하는 회로(NAND 게이트)와 NOR 연산을 수행하는 회로(NOR 게이트)를 기반으로 만들어진 메모리를 뜻한다.
  • 이 중 대용량 저장 장치로 많이 사용되는 플래시 메모리는 NAND 플래시 메모리이다.
  • 셀(cell) : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
    • SLC(Single Level Cell) : 한 셀에 1비트를 저장할 수 있는 플래시 메모리
    • MLC(Multiple Level Cell) : 한 셀에 2비트를 저장할 수 있는 플래시 메모리
    • TLC(Triple Level Cell) : 한 셀에 3비트를 저장할 수 있는 플래시 메모리

❓ 플래시 메모리도 수명이 있나?

  • 수명이 있다.
  • 플래시 메모리뿐만 아니라 하드 디스크도 수명이 있다.
  • 한 셀에 일정 횟수 이상 데이터를 쓰고 지우면 그 셀은 더 이상 데이터를 저장할 수 없기 때문

🔎 SLC(Single Level Cell) 타입

  • SLC 타입은 MLC나 TLC 타입에 비해 비트의 빠른 입출력이 가능
  • 수명도 더 길다.
  • 용량 대비 가격이 높다.

🔎 MLC(Multiple Level Cell) 타입

  • 한 셀로 네 개의 정보를 표현할 수 있다.
  • 일반적으로 SLC 타입보다 속도와 수명은 떨어진다.
  • SLC 타입 보다 대용화하기 유리하다.

🔎 TLC(Triple Level Cell) 타입

  • 한 셀로 여덟 개의 정보를 표현할 수 있다.
  • 대용화하기 유리하다.
  • 일반적으로 SLC나 MLC 타입보다 수명과 속도가 떨어지지만, 용량 대비 가격이 저렴하다.
구분SLCMLCTLC
셀당 bit1bit2bit3bit
수명길다보통짧다
읽기/쓰기 속도빠르다보통느리다
용량 대비 가격높다보통낮다
  • 페이지(page) : 셀들이 모여 만들어진 단위
  • 블록(block) : 페이지가 모여 만들어진 단위
  • 플레인(plane) : 블록이 모여 만들어진 단위
  • 다이(die) : 플레인이 모여 만들어진 단위

플래시 메모리에서 읽기/쓰기는 페이지 단위로 이루어진다. 하지만 삭제는 블록 단위로 이루어진다.

  • Free 상태 : 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
  • Valid 상태 : 이미 유효한 데이터를 저장하고 있는 상태
  • Invalid 상태 : 쓰레기값이라 부르는 유효하지 않은 데이터를 저장하고 있는 상태

  • 가비지 컬렉션(garbage collection) : 유효한 페이지들만을 새로운 블록으로 복사한 뒤, 기존의 블록을 삭제하는 기능

✅ 07 - 2. RAID의 정의와 종류

여러 보조기억장치를 더욱 안전하고 빠르게 활용하는 방법인 RAID에 대해 알아보자.
핵심 키워드 : RAID RAID 0 RAID 1 RAID 4 RAID 5 RAID 6

✔️ RAID(Redundant Array of Independent Disks)

RAID는 주로 하드 디스크와 SSD를 사용하는 기술로, 데이터의 안정성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술을 의미한다.

✔️ RAID의 종류

  • RAID 구성 방법을 RAID 레벨이라 표현한다.
  • 대표적으로 RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6이 있고,
  • 그로부터 파생된 RAID 10, RAID 50 등이 있다.
  • 이 중 가장 대중적인 것은 RAID 0, RAID 1, RAID 4, RAID 5, RAID 6이다.

🔎 RAID 0

  • RAID 0는 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식이다.
  • 마치 줄무늬처럼 분산되어 저장된 데이터를 스트라입(stripe)이라 하며,
  • 분산하여 저장하는 것을 스트라이핑(striping)이라고 한다.
  • 스트라이핑되면 저장된 데이터를 읽고 쓰는 속도가 빨라진다. 이론상 4TB 저장 장치 한 개를 읽고 쓰는 속도보다 RAID 0로 구성된 1TB 저장 장치 네 개의 속도가 네 배 빠르다.
❗ 단점
  • 저장된 정보가 안전하지 않다.
  • RAID 0으로 구성된 하드 디스크 중 하나에 문제가 생긴다면 다른 모든 하드 디스크의 정보를 읽는 데 문제가 생길 수 있다.

🔎 RAID 1

  • 복사본을 만드는 방식
  • 완전한 복사본을 만드는 구성이기에 미러링(mirroring)이라고도 부른다.
  • 데이터를 쓸 때 원본과 복사본 두 군데에 씀 (느린 쓰기 속도)

image

❗ 장점
  • 복구가 매우 간단하다.

❗ 단점 :

  • 하드 디스크 개수가 한정되었을 때 사용 가능한 용량이 적어지는 단점

🔎 RAID 4

  • RAID 1처럼 완전한 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장한 장치를 두는 구성 방식
  • 패리티 비트(parity bit) : 오류를 검출하고 복구하기 위한 정보

image

  • 원래 패리티 비트는 오류 검출만 가능할 뿐 오류 복구는 불가능하다.
  • 하지만 RAID에서는 패리티 값으로 오류 수정도 가능하다.
    1. RAID 4에서는 패리티 정보를 저장한 장치로써 나머지 장치들의 오류를 검출, 복구한다.
    2. 패리티 비트는 본래 오류 검출용 정보지만, RAID에서는 오류 복구도 가능하다.
❗ 단점
  • 패리티 디스크의 병목

🔎 RAID 5

  • 패리티 정보를 분산하여 저장하는 방식으로 RAID 4의 병목 현상을 해소

image

🔎 RAID 6

  • 기본적으로 RAID 5와 같으나, 서로 다른 두 종류의 패리티를 두는 방식
  • RAID 4나 5보다 안전한 구성
  • 쓰기 속도는 RAID 5보다 느림

image

🚩 RAID

  • 각 RAID 레벨마다 장단점이 있다.
  • 어떤 상황에서 무엇을 최우선으로 원하는지에 따라 최적의 RAID 레벨은 달라질 수 있다.
  • 각 RAID 레벨의 대략적인 구성과 특징을 아는 것이 중요하다.
This post is licensed under CC BY 4.0 by the author.

[CS] Chapter 06. 메모리와 캐시 메모리

[CS] Chapter 08. 입출력장치