[혼공컴운]3주차_Chap07 | 보조기억장치

곽나현·2024년 1월 17일
0

혼공컴운

목록 보기
7/16
post-thumbnail
post-custom-banner

<학습목표>

  • 하드 디스크 구조와 작동 원리를 이해한다.
  • 플래시 메모리 구조와 작동 원리를 이해한다.
  • RAID의 의미와 다양한 RAID 레벨을 학습한다.

🎇 다양한 보조기억장치

🔗 하드 디스크 (HHD: Hard Disk Drive)

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

⚪ 하드 디스크의 구조

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

    • 플래터는 자기물질로 덮여 있어 수많은 N극과 S극을 저장함
    • 플래터는 트랙섹터라는 단위로 데이터를 저장함
      • 트랙 (track) : 플래터를 여러 동심원으로 나누었을 때 그 중 하나의 원
      • 섹터 (sector) : 여러 조각으로 나눈 트랙 조각 중 하나
    • 하나 이상의 섹터를 묶어 블록(block)이라고 함
    • 실린더 (cylinder) : 여러 겹의 플래터 상에서 같은 트랙이 위치 한 곳을 모아 연결한 논리적 단위
  • 스핀들 (spindle) : 플래터를 회전시키는 구정 요소

    • 스핀들이 플래터를 돌리는 속도를 RPM(분당 회전수)로 표현함
  • 헤드 (head) : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소

  • 디스크 암 (disk arm) : 헤드를 원하는 위치로 이동시킴

◼ 연속된 정보는 보통 한 실린더에 기록된다.

➡ 연속된 정보를 하나의 실린더에 기록하는 이유는 디스크 암을 움직이지 않고 바로 데이터에 접근할 수 있기 때문이다.

⚪ 하드 디스크에 저장된 데이터에 접근하는 과정

➡ 하드디스크에 저장된 데이터에 접근하는 시간은 크게 탐색시간, 회전 지연, 전송시간으로 나뉨

탐색시간 (seek time)접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
회전지연 (rotational latency)헤드가 있는 곳으로 플래터를 회전시키는 시간
전송시간(transfer time)하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간

➡ 위 시간들은 성능에 큰 영향을 끼침
탐색 시간회전 지연을 단축시키기 위해서 플래터를 빨리 돌려 RPM을 높이는 것도 중요하지만, 접근하려는 데이터가 플래터 혹은 헤드를 조금만 옮겨도 접근할 수 있는 곳에 위치해 있는 것도 중요함

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

단일 헤드 디스크플래터의 한 면당 헤드가 하나씩 달려 있는 하드 디스크. 헤드를 데이터가 있는 곳까지 움직여야 하므로 이동 헤드 디스크라고 함
다중 헤드 디스크헤드가 트랙별로 여러 개 달려 있는 하드 디스크. 헤드를 움직일 필요가 없으므로 탐색시간이 0. 이를 고정 헤드 디스크라고 함

🔗 플래시 메모리 (Flash Memory)

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

➡ NAND 플래시 메모리와 NOR 플래시 메모리로 두 종류의 플래시 메모리가 있음

  • 셀 (cell) : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
    • 이 모여 MB,GB,TB 용량을 갖는 저장 장치가 됨
    • 하나의 셀에 몇 비트를 저장할 수 있느냐에 따라 플래시 메모리의 종류가 나뉨

SLC(Single Level Cell)

하나의 셀에 1비트를 저장할 수 있는 플래시 메모리

  • 장점 : MLC나 DLC에 비해 빠른 입출력이 가능. 수명도 MLC와 TLC보다 길어서 보다 많은 데이터를 쓰고 지우기가 가능
  • 단점 : 용량 대비 가격이 높음

DLC(Double Level Cell)

하나의 셀에 2비트를 저장할 수 있는 플래시 메모리

  • 장점 : SLC보다 대용화하기 유리함. SLC보다 용량 대비 가격이 저렴
  • 단점 : SLC보다 수명이 짧고 속도가 느림
    ➡ 시중에서 많이 사용되는 플래시 메모리 타임

TLC(Triple Level Cell)

하나의 셀에 3비트를 저장할 수 있는 플래시 메모리

  • 장점 : SLC나 MLC보다 수명과 속도가 떨어짐
  • 단점 : 대용량화하기 유리함. 용량 대비 가격이 저렴

➡ 이는 플래시 메모리의 수명, 속도, 가격에 큰 영향을 끼침
플래시 메모리의 수명 : 한 셀에 일정 횟수 이상 데이터를 쓰고 지우면 그 셀은 더 이상 데이터를 저장할 수 없음

  • 페이지 (page) : 셀들이 모여 만들어진 단위

  • 블록 (block) : 페이지가 모여 만든 단위

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

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

    ⚪ 플래시 메모리에서 읽기쓰기페이지 단위로 이뤄짐
    삭제블록 단위로 이뤄짐

  • 페이지는 세 개의 상태를 가짐

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

➡ 플래시 메모리는 하드 디스크와는 달리 덮어쓰기가 불가능하여 Valid 상태의 플래시 메모리에는 새 데이터를 저장할 수 없음

만약 아래의 플래시 메모리에 저장된 A데이터를 A'으로 수정하려면?


덮어쓰기가 불가능하기 때문에 기존의 A데이터는 Invalid 상태로 바껴 유효하지 않은 값이 되고, 새로운 데이터 A'이 저장됨

➡ 여기서 A는 불필요한 값인데 용량을 차지하고 있음. 플래시 메모리의 삭제 단위는 블록이므로 A데이터만 삭제할 수도 없음

⭐ 플래시 메모리는 이 문제를 해결하기 위해 가비지 컬렉션기능을 제공함

➡ 유효한 페이지들만 새로운 블록으로 옮긴 뒤, 기존의 블록은 삭제하는 기능

🎇 RAID의 정의와 종류

🔗 RAID(Redundant Array of Independent Disks)란

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

🔗 RAID의 종류

RAID 레벨 : RAID를 구성하는 방법

  • 대표적으로 RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6이 있고, 그로부터 파생된 RAID 10, RAID 50등이 있다.

⚪ RIAD 0

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

  • 장점 : 저장된 데이터를 읽고 쓰는 속도가 빨라짐
  • 단점 : 저장된 정보가 안전하지 않음. 하나의 하드디스크에라도 문제가 생긴다면 다른 모든 하드 디스크의 정보를 읽는 데 문제가 생길 수 있음

스트라입(stripe) : 줄무늬처럼 분산되어 저장된 데이터
스트라이핑(striping) : 분산하여 저장하는 것

⚪ RAID 1

복사본을 만드는 방식. 거울처럼 완전한 복사본을 만드는 구성이기에 미러링(mirroring)이라고도 함

  • 장점 : 복구가 매우 간단함
  • 담점 : 하드 디스크의 개수가 한정되어 있을 때 사용 가능한 용량이 줄어듦. 똑같은 내용을 두 개의 하드디스크에 저장해야하므로 RAID 0 보다 쓰기 속도가 느림.
    ➡ 많은 양의 하드 디스크가 필요하고 비용이 증가함

⚪ RAID 4

RAID 1처럼 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장한 장치를 두는 구성 방식

패리티 비트 (parity bit) : 오류를 검출하고 복구하기 위한 정보
➡ 새로운 데이터가 저장될 때마다 패리티를 저장하는 디스크에도 데이터를 쓰게 되기 때문에 패리티를 저장하는 장치에 병목현상이 발생함

⚪ RAID 5

RAID 4에서 발생하는 병목 현상을 해소하기 위해 패리티 정보를 분산하여 저장하는 방법

⚪ RAID 6

기본적인 구성으로 RAID 5와 같으나 서로 다른 두 개의 패리티를 두는 방식

➡ 오류를 검출하고 복구할 수 있는 수단이 두 개인 것
➡ 저장 속도를 조금 희생하더라도 데이터를 더 안전하게 보관하고 싶을 때 사용함

post-custom-banner

0개의 댓글