이번에는 보조기억장치(secondary storage)에 대해 알아보겠습니다. 보조 기억 장치란 하드 디스크, USB, SD카드, SSD와 같은 것들을 보조기억장치라고 합니다. 메모리, 그 중에서도 RAM은 휘발성 저장장치이기 때문에 전원을 뽑으면 저장된 내역을 잃게 됩니다. 따라서 전원이 들어오지 않아도 내용을 저장할 장치가 필요하게 되었는데 이를 위해 사용하는 장치가 보조기억 장치 입니다.

하드 디스크란 자기적인 방식으로 데이터를 저장하는 장치라고 할 수 있습니다.
그림에서 보이는 원판에 수많은 N극과 S극으로 데이터들이 저장된다고 볼 수 있습니다. 이 수많은 N극과 S극을 저장하는 원판을 플래터라고 부릅니다. 그림에서와 같이 플랙터는 여러겹으로 이루어져 있으며 양면을 모두 사용합니다.
그리고 이 플래터를 스핀들이라고 하는 구성요소가 돌려주는 구조 입니다. 이렇게 스핀들이 플래터를 회전 시켜주는데 그 회전의 단위가 RPM(Revolution Per Minute):분당 회전수입니다.

이런 플래터를 읽고 쓸 수 있는 수단을 헤드라고 합니다. 헤드는 플래터와 아주아주 미세하게 떠 있는 자기물질을 읽는 구성요소라고 보시면 되겠습니다. 앞서 플래터는 여러겹을 사용하며 양면을 모두 사용한다고 했습니다. 그러기 위해 모든 면들마다 헤드가 붙어잇어야 합니다. 그리고 헤드를 움직여주는 요소를 디스크 암이라고 합니다. 일반덕으로 모든 헤드가 디스크 암에 부착되어 함께 이동합니다.


하드 디스크의 저장 단위에 대해 이해하기 위해서 트랙과 섹터에 대해 알아야 합니다. 트랙은 말 그대로 플래터를 이루고 있는 동심원을 생각하면 쉽습니다. 섹터는 나누어진 트랙을 피자 조각처럼 나누었을 때 그 중 한 조각을 섹터라고 합니다. 하나 이상의 섹터를 묶어 블록(block)이라고도 표현합니다.

실린더라고 하는 단위도 있습니다. 실린더란 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위입니다. 보통 연속된 정보는 한 실린더에 기록됩니다. 예를 들어 두개의 플래터를 사용하는 하드 디스크에서 4개의 섹터에 걸쳐 데이터를 저장해야한다면 첫번째 플래터 윗면, 첫번째 플래터 뒷면, 두번째 플래터 윗면, 두번째 플래터 뒷면 이런식으로 연속된 정보는 한 실린더에 저장이 됩니다.
즉, "플래터는 기본적으로 트랙과 섹터로 나뉘고, 같은 트랙이 모여서 실린더를 이룬다." 라고 이해하시면 됩니다.
하드 디스크에 저장된 값을 읽거나 쓸 때는 보통 위 세 가지 시간이 소요됩니다.




이 시간들이 오래걸리지 않는 것처럼 보여도 다른 시간들과 비교하면 굉장히 오래걸리는 시간이라는 것을 알 수 있습니다.

플래시 메모리란 전기적으로 데이터를 읽고 스는 반도체 기반 저장 장치 입니다. SSD, USB, SD카드 같은 것들이 플래시 메모리에 해당 됩니다.
셀 (cell)
한 셀에
-- 1비트를 저장할 수 있는 플래시 메모리: SLC (타입)
-- 2비트를 저장할 수 있는 플래시 메모리: MLC (타입)
-- 3비트를 저장할 수 있는 플래시 메모리: TLC (타입)
-- 4비트를 저장할 수 있는 플래시 메모리: QLC (타입)
이 개념을 비유를 통해 알아 보겠습니다.
사람 한 명 == 1 비트
셀 == 집
이라고 가정 합니다.

SLC는 한 집에 한명이 사는 구조 입니다.
긴 수명이라는 언급에서 알 수 있듯이 플래시 메모리(SSD, USB, SD 카드)에도 수명이 있습니다. 일정 횟수 이상을 새로운 정보를 썼다 지웠다 하면 마치 종이가 헐거워 지는 것처럼 보조 기억 장치로의 수명을 다하게 됩니다.

MLC 타입은 그림처럼 한 집에 두명이 살고 있는 구조라고 볼 수 있습니다. 한 셀에 비트 2개씩 저장할 수 있음으로 한 셀당 4개의 정보를 표현할 수 있습니다. 이는 대용량화 하기에 좋다는 뜻입니다. 한 셀당 두비트씩 주어졌으니 같은 셀이 주어졌을 때 더 많은 비트를 저장할 수 있습니다.

TLC 타입은 한 셀로 8개의 정보를 표현할 수 있습니다.
이와 같이 같은 플래시 메모리라도 수명, 가격, 성능이 다르다는 것을 알 수 있습니다.


플래시 메모리는 읽기 쓰기 다위와 삭제 단위가 다르다.
페이지는 상태를 가진다.
페이지의 상태
Free 상태
-- 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
Vaild 상태
-- 이미 유효한 데이터를 저장하고 있는 상태
Invalid 상태
-- 유효하지 않은 데이터(쓰레기값)를 저장하고 있는 상태
-플래시 메모리는 하드 디스크와 달라서 덮어쓰기가 불가능하다.