보조기억장치: 하드디스크, 플래시 메모리
플래시메모리: SSD, USD, SD카드
1. 하드디스크: 자기적인 방식으로 데이터 저장하는 보조기억장치이다. (자기디스크의 일종이라 불린다. )
마치 LP판, cd처럼 생기고 비슷하게 동작한다. 여러겹의 플래터로 겹쳐져있다.
- 플래터: N극과 S극으로 자기적인 물질로 덮여있다. 많은 데이터를 저장해야하기 때문에 여러겹으로 겹쳐져있고 양면을 모두 사용한다.
- 스핀들: 플래터를 회전시키는 구성요소
- 회전의 단위 : RPM(Revolution Per Minute):분당 회전 수
- ex) RPM 15,000인 하드디스크 - 1분에 15,000퀴 회전
- 헤더: 플래터를 읽고 쓸 수 있는 수단을 플래터와 아주 미세하게 떠있고 자기물질을 읽는 구성요소이다. 양면을 사용할 수 있는 플래터는 면마다 헤드가 달려 있다. 모든 헤드는 디스크암에 부착되어 일반적으로는 한번에 움직인다.
[데이터 저장 방법]
플래터는 트랙과 섹터 단위로 데이터를 저장한다.
- 트랙: 플래터의 동심원도 하나의 트랙 플래터를 이루고 있는 동심원을 그리는 저장단위
- 섹터: 피자 조각처럼 나누었을 때 그중 한 조각을 섹터라고 한다. 하나 이상의 섹터를 묶어서 블록이라고 표현하기도 한다. (운영체제 파일시스템에서 해당 용어가 나옴)
- 실린더: 여러개의 플래터가 겹쳐서 사용될 때 같은 트랙이 위치한 곳을 모아 연결한 논리적인 단위이다.
한 플래터를 동심원으로 나눈 공간은 트랙, 같은 트랙끼리 연결한 원통 모양은 실린더이고 연속된 정보는 하나의 실린더에 저장된다.
헤드는 디스크 암에 부착되서 다같이 움직이는데 한 실린더에 기록되면 헤드를 움직이지 않고 바로 읽을 수 있다.
[데이터 접근 과정]
하드디스크가 저장된 데이터에 접근할때 소요되는 대표적인 시간 3가지
- 탐색 시간(seek time): 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
- 회전 시간(rotational latency): 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간(transfer time): 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간
* ns(나노초)는 10-9초
* 패킷(packet) 네크워크의 기본적인 전송 단위
하드디스크의 CPU전송 시간이 생각보다 크고 중요한 변이이다.
2. 플래시 메모리
전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치이다.
주기억 장치인 ROM으로써도 사용되고 있기 때문에 플래시 메모리는 보조기억장치에만 속한다고 보기는 어렵다.
- NAND 플래시 메모리: NAND 연산을 수행하는 회로
- NOR 플래시 메모리 : NOR 연산을 수행하는 회로
보조기억장치는 대부분 NAND 플래시 메모리이다.
[플레시 메모리 단위]
셀(Cell)
- 플래시 메모리에서 데이터를 저장하는 가장 적은 단위
- 이 셀들이 모여서 수 MB, GB, TB 저장 장치가 된다.
- 한 셀에 1비트를 저장할 수 있는 플래시 메모리 : SLC
- 한 셀에 2비트를 저장할 수 있는 플래시 메모리 : MLC
- 한 셀에 3비트를 저장할 수 있는 플래시 메모리 : TLC
- 한 셀에 4비트를 저장할 수 있는 플래시 메모리 : QLC
한 셀에 저장되는 비트수는 플래시 메모리의 성능, 가격, 수명을 결정하는 요소이다.
이를 통해 알 수 있는 점은 같은 플래시 메모리라도 수명, 가격 성능이 모두 다르다.
사람 한 명 === 1비트
셀 === 집
SLC === 한 집에 한 명
- 한 셀이 1비트이기에 두 개의 정보를 표현한다.
- 비트의 빠른 입 출력
- 긴 수명을 갖고 있다.
- 용량 대비 고가격이다.
혼자서 집에 살 때, 여러명이 한 집에서 살 때를 비교해보면 월세, 준비하는 시간등을 생각하면 된다.
일정횟수 이상을 사용하고 지우고 하면 종이에 연필사용 지우개 사용을 한 흔적이 계속 남는 것처럼 종이는 낡게 된다. 마치 플래시 메모리도 닳게 된다는 점을 갖고 있다.
MLC === 한 집에 두 명
- 한 셀에 2 비트를 저장할 수 있기에 네 개의 정보 표현이 가능하다.
- 같은 셀이 주어졌을 때 더 많은 비트를 주어질 수 있기에 대용량화에 유리하다.
- SLC보다 느린 입 출력
- SLC보다 짧은 수명
- SLC보다 저렴
- 시중에서 많이 사용(MLC, TLC, QLC)
SLC타입의 썼다 지웠다 하는 횟수에 비해 MLC타입은 그보다 적은 횟수로 썼다 지웠다 할 수 있다.
낮은 가격으로 조금 더 고용량 장치를 사용 할 수 있다는 장점
TLC === 한 집에 세명
- 한 셀당 3비트를 갖기에 여덟개의 정보를 표현한다. (대용량화 유리)
- 여러명이 한꺼번에 외출 준비를 하기 때문에 입출력 속도가 MLC보다 느리다.
- MLC 보다 짧은 수명
- MLC보다 저렴
- 시중에서 많이 사용
셀이라는 단위가 모이고 모여서 MB, GB, TG 저장 장치가 된다.
플래시 메모리 단위
- 셀들이 모여서 page
- 페이지들이 모여서 block
- 블록이 모여서 plane
- 플레인이 모여서 die
플래시 메모리는 읽기 / 쓰기 단위와 삭제 단위가 다르다.
읽기/쓰기는 page 단위로 이루어지고, 삭제는 페이지보다 큰 block 단위로 이루어진다.
이 중 읽기/쓰기로 사용되는 page는 플래시 메모리의 때 가장 큰 내부적인 특성이다.
page 또한 상태 값을 가지고 있다.
페이지의 상태
- free 상태: 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
- valid 상태: 이미 유효한 데이터를 저장하고 있는 상태
- invalid상태: 유효하지 않은 데이터(쓰레기 값)을 저장하고 있는 상태 (플래시 메모리는 하드디스크와 달리 덮어쓰기가 불가능하다. )
삭제는 block 단위로만 이루어지기 때문에 A 페이지만은 삭제할 수 없다.
새롭게 저장된 C와 기존에 저장되어 있던 B를 그대로 둔 체 기존의 A만을 A'로 수정하고 싶다면,
A를 invalid 페이지로 만든 후 A`라는 valid 페이지가 담긴 생성 새로운 block을 만든다.
용량의 낭비를 방지하기 위해서 기존 블록을 삭제한 후 공간을 정리하는 기능을 갖기 위해 가비지 컬렉션을 사용한다.
[가비지 컬렉션]
1. 유효한 페이지들만을 새로운 블록에 복사 한다.
2. 기존의 쓰레기 값이 있는 블록을 삭제한다.
댓글