Programming/Computer Science

[혼공학습단 9기] 혼.공.컴.운. - 7. 보조기억장치(미션 포함)

리버김 2023. 1. 23.

 

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

대중적인 보조기억장치인 하드디스크와 플래시 메모리(USB, SD카드 등)를 살펴보자.

 

하드 디스크

하드 디스크: 자기적인 방식으로 데이터를 저장하는 보조기억장치. 자기 디스크라고도 함

 

플래터: 하드디스크 속 동그란 원판. 실질적으로 데이터가 저장되는 곳. 자기 물질로 덮여 있어 0과 1의 역할을 수행하는 N극과 S극을 저장한다.

스핀들: 플래터를 회전시키는 구성 요소. 분당 회전수를 나타내는 RPM 단위로 플래터를 돌린다.

헤드: 플래터 위에 미세하게 떠 있는 채로 데이터를 읽고 쓰는 바늘 같은 부품.

디스크 암: 원하는 위치로 헤드를 이동 시킴. 헤드가 부착되어 있음

 

[플래터에 데이터가 저장되는 법] 

 

트랙: 플래터를 여러 동심원으로 나누었을 때 그 중 하나의 원

섹터: 트랙을 피자처럼 여러 조각으로 나눈 것 중 하나. 하드 디스크의 가장 작은 전송 단위. 일반적으로 512 바이트 정도. 하나 이상의 섹터를 묶어 블록이라고 표현하기도 함

실린더:  여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위 연속된 정보는 보통 한 실린더에 기록된다. 그 이유는 디스크 암을 움직이지 않고 바로 데이터에 접근할 수 있기 때문이다.

 

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

  • 탐색 시간: 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간을 의미한다.
  • 회전 지연: 헤드가 있는 곳으로 플래터를 회전시키는 시간
  • 전송 시간: 하드 디스크와 컴퓨터 간에 데이터를 전하는 시간을 의미한다.

 

플래시 메모리

플래시 메모리: 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치. ROM에도 사용되고, 우리가 일상적으로 접하는 거의 모든 전자 제품 안에 플래시 메모리가 내장되어 있다.

 

  • NAND 플래시 메모리: 대용량 저장 장치, 보조기억장치로 사용
  • NOR 플래시 메모리

 

: 플래시 메모리에서 데이터를 저장하는 가장 작은 단위. 이 셀이 모여 GB 등 용량을 갖는 저장 장치가 되는 것이다. 하나의 셀에 몇 비트를 저장할 수 있느냐에 따라 플래시 메모리 종류가 나뉜다.

  • SLC(Single Level Cell): 한 셀에 1비트를 저장할 수 있는 플래시 메모리
  • MLC(Multi Level Cell): 한 셀에 2비트를 저장할 수 있는 플래시 메모리
  • TLC(Triple-Level Cell): 한 셀에 3비트를 저장할 수 있는 플래시 메모리
  • QLC: 한 셀에 4비트를 저장할 수 있는 타입

 

SLC 타입

한 셀로 두 개의 정보를 표현할 수 있다. 비트의 빠른 입출력이 가능하다. 수명이 길다. 용량 대비 가격이 높다. 보통 기업에서 고성능의 빠른 저장 장치가 필요한 경우에 사용한다.

 

MLC 타입

한 셀로 네 개의 정보를 표현할 수 있다. 속도와 수명은 조금 떨어지지만, 대용화하기 유리하다. 시중에서 사용되는 많은 플래시 메모리 저장장치들이 MLC 또는 TLC로 만들어진다.

 

TLC 타입

한 셀로 여덟 개의 정보를 표현할 수 있다. 그래서 대용량화 하기 유리하다. 수명과 속도가 가장 떨어지지만, 용량 대비 가격도 저렴하다.

 

 

페이지: 셀들이 모여 만들어진 단위. 플래시 메모리에서 읽기와 쓰기는 페이지 단위로 이루어진다.

블록: 페이지가 모여 만들어진 단위

플레인: 블록이 모인 것

다이: 플레인이 모인 것

 

삭제는 페이지보다 큰 블록 단위로 이루어진다.

 

[페이지의 세 개의 상태]

 

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

Valid 상태: 이미 유효한 데이터를 저장하고 있는 상태. 하드 디스크와는 달리 Valid 상태에서는 덮어쓰기로 새 데이터를 저장할 수 없다.

Invalid 상태: 쓰레기값이라 부르는 유효하지 않은 데이터를 저장하고 있는 상태. 

 

가비지 컬렉션: 유효한 페이지들만을 새로운 블록으로 복사한 뒤, 기존의 블록을 삭제하는 기능. SSD를 비롯한 최근의 플래시 메모리들

07-2 RAID의 정의와 종류(선택 미션)

RAID의 정의

Redundant Array of Independent Disks

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

 

RAID의 종류

RAID 레벨: RAID 구성 방법. 대표적으로 가장 대중적인 RIAD 0 ~ RAID 6이 있고 그로부터 파생된 RAID 10, RAID 50 등이 있다.

 

RAID 0

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

저장되는 데이터가 하드디스크 개수만큼 나뉘어 저장된다. 이 때문에 이론 상 하드 디스크의 개수배만큼 읽고 쓰는 속도가 빨라진다.

 

스트라입: 줄무늬처럼 분산되어 저장된 데이터

스트라이핑: 분산하여 저장하는 것

 

단점은 저장된 정보가 안전하지 않다는 것이다. 하나의 하드 디스크 중 하나에 문제가 생기면 다른 모든 하드 디스크의 정보를 읽는 데 문제가 생길 것이다. 그래서 RAID 1이 등장했다.

 

RAID 1

거울처럼 완전한 복사본을 만드는 방식. 미러링이라고도 부른다. 데이터를 중복으로 저장하므로 쓰기 속도는 RAID 0보다 느리다.

 

복구가 간단하다는 장점이 있으나, 사용 가능한 용량이 적어 비용이 증가한다는 단점이 있다.

 

RAID 4

완전한 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보(패리티 비트)를 저장한 장치를 두는 구성 방식. 그래서 RAID 1보다 적은 하드 디스크로도 데이터를 안전하게 보관할 수 있다. 

 

RAID 5

패리티 정보를 각 하드디스크에 분산하여 저장하여, RAID 4의 문제점인 병목 현상을 해소한다.

 

RAID 6

기본적으로 RAID 5와 같으나, 서로 다른 두 개의 패리티를 두는 방식. 데이터 저장 속도를 희생하더라도 데이터를 더욱 안전하게 보관하고 싶을 때 사용하는 방식

 

c.f.) nested RAID: 여러 RAID 레벨을 혼합한 방식

 

 

반응형

댓글