출처 : https://jost-do-it.tistory.com/119,
(출처는 위 링크! 형광펜은 개인적으로 공부하면서 체크한 부분입니다)



⭐ 보조기억장치 (ROM)


대표적인 보조기억장치 2가지에 대해 알아보자

  • HDD
  • SSD


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

자기적인 방식으로 데이터를 저장하는 보조기억장치
자기 디스크(magnetic disk)의 일종으로 볼 수 있음.


📌 하드 디스크 특징

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


📌 하드 디스크 구조

(이미지 출처 : 위키백과)

📍- 플래터(platter)

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

자기 물질로 덮여 있으며, 내부에 수많은 N극과 S극이 존재한다.
여기서 N극과 S극은 비트 (0과 1) 역할을 한다.

📍- 스핀들(spinddle)

: 플래터를 회전시키는 구성 요소

RPM(Revolution Per Minute): 스핀들이 플래터를 돌리는 분당 회전 수를 나타내는 단위
ex> RPM이 20,000인 경우, 1분에 플래터를 20,000번 회전할 수 있다.

📍- 헤드(head)

: 플래터를 대상으로 데이터를 읽고 쓰는 구성요소

헤드는 플래터 위에서 미세하게 떠 있으면서 데이터를 읽고 쓴다. 바늘과 같이 생겼다.

📍- 디스크암(disk arm)

: 헤드를 원하는 위치로 이동시키는 부품. 헤드는 디스크암에 부착돼 있다.


플래터 데이터 저장 원리

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


트랙(track)
: 플래터를 여러 동심원으로 나눌 때 그 중 하나의 원
운동장 달리기 트랙에서 한 라인의 느낌


섹터(sector)
: 트랙을 여러 조각으로 나눌 때 한 조각을 의미함
하드 디스크의 가장 작은 전송 단위
하나의 섹터는 일반적으로 512 바이트이나 하드 디스크마다 차이가 있음


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


실린더(cylinder)
: 여러 겹 플래터 상에서 같은 트랙이 위치한 곳을 모아서 연결한 논리적 단위
각 플래터의 트랙들이 모여 원통 모양이 된다.
연속된 정보들은 보통 한 실린더에 기록된다.
ex>
두개의 플래터를 가진 하드 디스크가 네 개 섹터에 데이터를 저장할 때
: 첫 번째 플래터의 윗면과 뒷면, 두 번째 플래터의 윗면과 뒷면에 데이터를 저장함
이를 통해 디스크 암을 움직이지 않고 연속된 정보에 바로 접근할 수 있다.


📌 HDD 접근 시간과 성능

탐색 시간, 회전 시간, 전송 시간은 성능에 큰 영향을 끼치게 된다.
하드 디스크에서 데이터를 이용하는 시간은 매우 크다.

성능 향상 방법

  • 플래터를 빨리 돌려 1분당 회전 수(RPM)를 높인다.
  • 참조 지역성을 고려하여 데이터를 위치시켜 플래터와 헤드의 이동 시간을 줄인다.



플래시 메모리 (flash memory)

전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반 저장 장치
보조기억장치 뿐만 아니라 다양한 곳에 활용되고 있음
ex> ROM (주기억장치)


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

  • USB 메모리
  • SD 카드
  • SSD

📌 플래시 메모리의 종류


📍- 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보다 수명과 속도가 떨어짐


셀보다 큰 단위

  • 페이지(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)

필요없는 값을 정리하는 기능
유효한 페이지들을 새로운 블록에 복사하고, 기존 블록은 삭제한다.




(+)

RAID(Redundant Array of Independent Disks)

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


RAID의 종류 공부필요할 때
https://jost-do-it.tistory.com/119



profile
⛅🛩️ 먼 길을 돌아서 온 프론트엔드 개발자 ✈️⛅

0개의 댓글