보조 기억 장치

다양한 보조기억장치

하드 디스크

하드 디스크 (HDD, Hard Disk Driver)

  • 자기적인 방식으로 데이터를 저장하는 보조기억장치

  • 자기 디스크(magnetic disk)의 일종으로 볼 수 있음.

하드 디스크 특징

  • 동그란 원판에 데이터를 저장하고, 원판을 회전시켜 뾰족한 리더기를 통해 데이터를 읽는다.

  • CD나 LP와 비슷하게 동작한다.

하드 디스크 구조

  • 플래터(platter): 하드 디스크에서 데이터가 실질적으로 저장되는 곳. 원판 형태이다.

    • 자기 물질로 덮여 있으며, 내부에 수많은 N극과 S극이 존재한다.

    • 여기서 N극과 S극은 비트 (0과 1) 역할을 한다.

  • 스핀들(spinddle): 플래터를 회전시키는 구성 요소

플래터 데이터 저장 원리

플래터는 트랙과 섹터라는 단위로 데이터를 저장함

  • 트랙(track): 플래터를 여러 동심원으로 나눌 때 그 중 하나의 원

    • 운동장 달리기 트랙에서 한 라인을 생각

  • 섹터(sector): 트랙을 여러 조각으로 나눌 때 한 조각을 의미함

    • 하드 디스크의 가장 작은 전송 단위

    • 하나의 섹터는 일반적으로 512 바이트이나 하드 디스크마다 차이가 있음

    • 블록(block): 하나 이상의 섹터를 묶어서 블록이라 표현함

  • 실린더(cylinder): 여러 겹 플래터 상에서 같은 트랙이 위치한 곳을 모아서 연결한 논리적 단위

    • 각 플래터의 트랙들이 모여 원통 모양이 된다.

    • 연속된 정보들은 보통 한 실린더에 기록된다.

      1. ex> 두개의 플래터를 가진 하드 디스크가 네 개 섹터에 데이터를 저장할 때: 첫 번째 플래터의 윗면과 뒷면, 두 번째 플래터의 윗면과 뒷면에 데이터를 저장함

      2. 이를 통해 디스크 암을 움직이지 않고 연속된 정보에 바로 접근할 수 있다.

저장된 데이터에 접근하는 과정

하드 디스크가 데이터에 접근하는 시간은 탐색 시간, 회전 지연, 전송 시간으로 나뉜다.

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

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

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

접근 시간과 성능

  • 탐색 시간, 회전 시간, 전송 시간은 성능에 큰 영향을 끼치게 된다.

  • 하드 디스크에서 데이터를 이용하는 시간은 매우 크다.

성능 향상 방법

  • 플래터를 빨리 돌려 1분당 회전 수(RPM)를 높인다.

  • 참조 지역성을 고려하여 데이터를 위치시켜 플래터와 헤드의 이동 시간을 줄인다.

단일 헤드 디스크와 다중 헤드 디스크

  • 단일 헤드 디스크(single-head disk)

    • 플래터의 한 면당 헤드가 하나씩 달려 있는 하드 디스크

    • 헤드를 데이터가 있는 곳 까지 이동 시켜야 하기 때문에 이동 헤드 디스크(movable-head disk)라고 부름

  • 다중 헤드 디스크(multiple-head disk)

    • 헤드가 트랙별로 여러개 달려 있는 하드 디스크

    • 헤드를 움직일 필요가 없기 때문에 고정 헤드 디스크(fixed-head disk)라고 부름


플래시 메모리

최근 플래시 메모리 기반의 보조 기억 장치를 많이 사용한다.

  • USB 메모리

  • SD 카드

  • SSD

플래시 메모리(flash memory)

  • 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반 저장 장치

  • 보조기억장치 뿐만 아니라 다양한 곳에 활용되고 있음

    • ex> ROM (주기억장치)

플래시 메모리의 종류

  • NAND 플래시 메모리

    • NAND 연산을 수행하는 회로(NAND 게이트) 기반으로 만들어진 메모리

    • 대용량 저장 장치로 많이 사용하며 일반적으로 플래시 메모리로 통칭됨

  • NOR 플래시 메모리

    • NOR 연산을 수행하는 회로(NOR 게이트) 기반으로 만들어진 메모리

플래시 메모리 저장 단위와 종류

셀(cell)

  • 플래시 메모리에서 데이터를 저장하는 가장 작은 단위

  • 셀 하나에 몇 비트를 저장할 수 있는지에 따라 플래시 메모리가 나뉜다.

    • 1비트: SLC

    • 2비트: MLC

    • 3비트: TLC

    • 4비트: QLC

    • ...

  • 셀에 저장하는 비트량은 수명, 속도, 가격에 큰 영향을 끼친다.

  • 셀에 일정 횟수 이상 데이터를 쓰고 지우면 더 이상 데이터를 저장할 수 없다.

SLC(Single Level Cell) 타입

  • 한 셀에 1비트 저장 가능. 즉, 0/1 2개 정보를 표현할 수 있음

  • 장점

    • MLC나 TLC보다 비트의 빠른 입출력이 가능함

    • MLC나 TLC보다 수명이 길어 더 많은 데이터의 입력/삭제가 가능함

  • 단점

    • 용량 대비 가격이 높음

  • 기업에서 데이터의 입력/삭제가 많고, 고성능 빠른 저장 장치가 필요할 때 SLC를 주로 사용

MLC (Multiple Level Cell) 타입

  • 한 셀에 2비트 저장 가능. 즉, 4개 정보를 표현할 수 있음

  • 장점

    • SLC 타입보다 용량대비 가격이 저렴함

    • 한 셀에 두 비트를 저장하기 때문에 SLC보다 대용량화 하기 유리함

  • 단점

    • 속도와 수명은 SLC에 비해 떨어짐

  • TLC와 함께 시중에서 가장 많이 사용되는 플래시 메모리 저장 타입임

TLC (Triple-Level Cell) 타입

  • 한 셀에 3비트 저장 가능. 즉, 8개 정보를 표현할 수 있음

  • 장점

    • SLC, MLC보다 가격이 저렴함

    • SLC, MLC보다 대용량화 하기 유리함

  • 단점

    • SLC, MLC보다 수명과 속도가 떨어짐

구분SLCMLCTLC

셀당 bit

1bit

2bit

3bit

수명

길다

보통

짧다

읽기/쓰기 속도

빠르다

보통

느리다

용량 대비 가격

높다

보통

낮다

사용 목적

쓰기/삭제가 자주 반복하며, 높은 성능을 원할 경우

SLC와 TLC의 중간 목적

저가의 대용량 장치를 원할 경우

셀보다 큰 단위

  • 페이지(page): 셀들이 모인 단위

  • 블록(block): 페이지가 모인 단위

  • 플레인(plane): 블록이 모인 단위

  • 다이(die): 플레인이 모인 단위

플래시 메모리의 읽기와 쓰기, 삭제

  • 플래시 메모리의 읽기/쓰기 단위와 삭제 단위는 다르다.

  • 읽기와 쓰기: 페이지 단위로 이루어짐

  • 삭제: 블록 단위로 이루어짐

플래시 메모리 페이지의 상태

페이지는 Free, Valid, Invalid 3가지 상태를 가질 수 있다.

  • Free 상태: 어떤 데이터도 저장하지 않아 새로운 데이터를 저장할 수 있는 상태

  • Valid 상태: 이미 유효한 데이터를 저장하고 있는 상태

  • Invalid 상태: 유효하지 않은 쓰레기 값들을 저장하고 있는 상태

플래시 메모리는 덮어 쓰기가 불가능 하기 떄문에 Valid/Invalid 상태의 페이지에는 새 데이터를 저장할 수 없다.

  • 기존 데이터 A를 수정한 A'을 블록에 저장한다면 A와 A'은 둘 다 남아 있다.

  • 여기서 Free 상태인 빈 페이지에 A'가 저장돼 Valid 상태가 된다.

  • 기존 A는 쓰레기 값이 되어 A를 저장한 페이지는 Invalid가 된다.

  • 쓰레기 값을 저장한 공간들은 사용하지 않는데도 용량을 차지해 낭비가 발생한다.

가비지 컬렉션(garbage collection)

  • 쓰레기 값을 정리하는 기능

  • 유효한 페이지들을 새로운 블록에 복사하고, 기존 블록은 삭제한다.

07-2. RAID의 정의와 종류

RAID(Redundant Array of Independent Disks)

  • 주로 하드 디스크와 SSD에 사용하는 기술

  • 데이터의 안정성과 높은 성능을 위해서 여러 물리적 보조기억장치를 하나처럼 사용하는 기술

  • 여기서 물리적 보조기억장치 여러 개를 하나의 논리적 보조기억장치처럼 취급한다.

RAID의 종류

  • RAID 레벨: RAID를 구성하는 여러가지 방법을 의미

    • RAID 0~6

    • RAID 10 -> RAID 1과 0 기술의 결합

    • RAID 50 -> RAID 5와 0 기술의 결합

RAID 0

  • 보조기억장치 여러 개에 데이터를 단순히 나누어 저장하는 방식

  • 즉, 저장하는 데이터를 모든 하드 디스크에 분산해서 저장하게 된다.

  • stripe(스트라입): 분산해 저장한 데이터

  • striping(스트라이핑): 분산하여 저장하는 행위

RAID 0 장점

  • 데이터를 동시에 읽거나 쓸 수 있게 된다.

    • 스트라이핑을 통해 데이터를 저장하거나 읽는 속도가 빨라진다.

    • 1TB 저장 장치 4개를 쓰면 4TB 저장 장치 하나를 쓸 때보다 이론상 속도가 4배 빨라진다.

RAID 0 단점

  • 저장된 정보가 안전하지 않다.

    • 디스크 중 하나에 문제가 발생하면 다른 디스크의 정보를 온전히 읽는데 문제가 발생한다.

RAID 1

  • mirroring(미러링)을 통해 저장장치를 원본과 백업본(복사본) 용도로 나눈다.

  • 즉, 복사본으로 문제가 발생한 원본 디스크의 데이터 복구가 가능하다.

RAID 1 장점

  • 복구 방식이 매우 간단하다.

RAID 1 단점

  • 하드 디스크 개수가 한정됐을 때 사용 가능한 총 용량이 감소한다.

    • 복사본으로 사용하는 디스크 용량만큼 총 용량이 감소한다.

  • 많은 양의 하드 디스크가 필요해 비용이 증가한다.

RAID 4

  • 오류 검출 및 데이터 복구에 사용되는 정보인 패리티 비트를 저장하는 디스크를 따로 구성하는 방식

  • 패리티 비트(parity bit): 오류를 검출하고 데이터를 복구하기 위한 정보

  • 패리티를 저장한 디스크로 다른 장치의 오류를 검출하고, 오류가 있을 시 복구한다.

  • 오류 복구는 패리티 계산법을 통해 이루어진다.

RAID 4 장점

  • RAID 1보다 적은 하드 디스크로도 데이터를 안전하게 보관할 수 있다.

RAID 4 단점

  • 패리티를 저장하는 장치에 병목 현상이 발생한다.

    • 여러 디스크에 쓰이는 데이터에 대한 패리티가 한 장치에 모두 쓰이기 때문

RAID 5

  • 패리티 정보를 하나의 디스크가 아닌 여러 디스크에 분산해 저장하는 방식

RAID 5 장점

  • RAID 4에서 발생하는 병목 현상 문제를 해결함

RAID 5 단점

  • 특정 데이터에 대한 패리티가 하나만 쓰이기 때문에 정보 안정성이 RAID 6보다는 떨어짐

RAID 6

  • 오류를 검출하고 복구할 수 있는 패리티를 두 개 저장하는 방식

  • 저장되는 두 패리티는 데이터를 복구하는 방법이 다르기 때문에 한 패리티 방법으로 복구할 수 없을 때도 다른 방법으로 시도가 가능함

RAID 6 장점

  • RAID 4나 5보다 데이터를 더 안전하게 보관할 수 있음

RAID 6 단점

  • RAID 5보다 느림

    • 한 데이터에 대한 패리티를 두 개 저장해야 하기 때문

Nested RAID

  • 여러 RAID 레벨을 혼합한 방식

  • RAID 10: RAID 1 + RAID 0

  • RAID 50: RAID 5 + RAID 0


RAID 사용

  • 각 RAID 레벨별 장단점이 있어 최적의 RAID는 없다.

    • 상황마다 무엇을 최우선으로 하는지에 따라 최적 RAID는 다르다.

  • 따라서 RAID 레벨별 개념과 특성을 아는 것이 중요하다.

Last updated