[ 혼공컴운 ] 3주차 공부 2: 보조기억장치
본문 바로가기

혼공 스터디/혼자 공부하는 컴퓨터 구조 + 운영체제

[ 혼공컴운 ] 3주차 공부 2: 보조기억장치

728x90
반응형

보조기억장치 중 가장 대중적인 2가지는 하드 디스크플래시 메모리이다.

플래시 메모리는 USD 메모리, SD카드, SSD와 같은 저장장치를 말함.

 

하드 디스크

자기적인 방식으로 데이터를 저장하는 보조기억장치로 다음과 같이 생겼다.

하드 디스크

하드 디스크는 우리가 쉽게 접할 수 있는 LP와 비슷하게 동작하는데

동그란 원판에 데이터를 저장하고, 그것을 뾰족한 리더기로 데이터를 읽는다.

 

출처: 혼자 공부하는 컴퓨터 구조 + 운영체제

위의 그림에서 볼 수 있는 플래터라는 곳에 데이터가 저장이되고 

스핀들이 그 원판을 회전시키는 구성요소이다.

스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM(Revolution Per Minute)이라는 단위로 표현된다.

 

 

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

헤드는 플래터 위에서 미세하게 떠 있는 채로 데이터를 읽고 쓰는 부품이다.

 

그리고 헤드를 원하는 위치로 이동시키는 디스크암이 헤드와 붙어있다.

 

 

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

플래터를 여러 동심원으로 나누었을 때 그 중 하나의 원을 트랙이라고 부른다.

섹터는 트랙을 피자처럼 여러 조각으로 나눈것이다.

같은 트랙끼리 연결한 원통 모양의 공간을 실린더라고 한다.

 

연속된 정보는 보통 한 실린더에 기록되는데, 디스크 암을 움직이지 않고도 바로 데이터에 접근할 수 있기 때문이다.

 

 

 

하드 디스크가 저장된 데이터에 접근하는 시간은

크게 탐색 시간, 회전 지연, 전송 시간으로 나뉜다.

 

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

 

 

 

플래시 메모리

플래시 메모리

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

충격에 약한 하드 디스크의 약점을 보안하기 위해 만들어졌다.

보조기억장치 범주에만 속하는 것이 아니라 다양한 곳에 널리 사용함

주기억장치 중 하나인 ROM에도 사용됨

 

 

플래시 메모리의 종류

NAND 플래시 메모리

NAND 연산을 수행하는 회로(NAND 게이트)를 기반으로 만들어짐

모든 입력이 참일 때만 0을 내보내는 논리회로

 

NOR 플래시 메모리

NOR 연산을 수행하는 회로(NOR 게이트)를 기반으로 만들어짐

 

 

 

플래시 메모리의 개념

셀(CELL) 플래시 메모리에서 데이터를 저장하는 가장 작은 단위

이 셀이 모여서 몇 메가 기가 또는 테라의 저장 장치가 됨

 

SLC(Single Level Cell) Type

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

한 셀로 두 개의 정보를 표현할 수 있다.

 

하지만 MLC나 TLC 타입에 비해 비트의 빠른 입출력이 가능하고

수명 또한 길어 수만에서 수십만 번 가까이 데이터를 쓰고 지우고를 반복할 수 있다.

(용량 대비 가격이 비싸지만...)

그래서 보통 기업에서 데이터를 읽고 쓰기가 다회 반복되며

고성능의 빠른 저장 장치가 필요한 경우 SLC 타입을 사용한다.

 

 

MLC(Multiple Level Cell) Type

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

SLC 타입보다 속도와 수명이 떨어지지만 대용량화하기가 편하며, 용량 대비 저렴하다

그래서 흔히 사용되는 많은 플래시 메모리 저장 장치들이 MLC 또는 TLC로 만들어진다.

 

 

TLC(Triple-Level Cell) Type

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

일반적으로 SLC나 TLC 타입보다 수명과 속도가 떨어지지만

용량 대비 가격이 저렴함

 

 

눈뽕 주의

셀들이 모여 만들어진 단위를 페이지라고 하며

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

블록이 모여 플레인

플레인이 모여 다이가 된다.

 

플래시 메모리에서 읽기와 쓰기페이지 단위로 이루어지고

삭제블록 단위로 이루어진다.

 

페이지 상태

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

플래시 메모리는 하드 디스크와 다르게 덮어쓰기가 불가능하며

valid 상태인 페이지에는 새 데이터를 저장할 수 없다.

 

플레시 메모리의 간단한 동작

X라는 블록이 네 개의 페이지로 이루어져 있다고 가정해보자.

그리고 그 중 두 개의 페이지에는 A와 B라는 데이터가 저장되어 있다.

이 상태에서 C라는 데이터가 저장되면 오른쪽 아래와 같이 저장된다.
(why? 읽기와 쓰기 단위는 페이지라서)

이 상태에서 C와 B는 그대로 둔 채 기존의 A만을 A`로 수정하고 싶어도

플래시 메모리에서는 덮어쓰기가 불가능하기 때문에

기존에 저장된 A는 더 이상 유효하지 않은 값, 즉 쓰레기 값이 되고,

새로운 A`데이터가 저장된다.

결과적으로 블록 X의 valid 페이지는 B, C, A`가 된다.

이 때문에 플래시 메모리는 필연적으로  쓰레기 데이터가 용량을 차지할 수 밖에 없고,

이를 해결하기 위해 최근에 만들어진 SSD를 비롯한 플레시 메모리는 가비지 컬렉션 기능을 제공한다.

 

가비지 컬렉션이란?

기존의 유효한 페이지들만을 새로운 블록으로 복사한 뒤

기존의 블록을 삭제하는 기능이다.

 

 

 

플래시 메모리도 하드 디스크도 수명이 있다.

한 셀에 일정 횟수 이상 데이터를 쓰고 지우면 그 셀은 더 이상 데이터를 저장할 수 없음

그럼 소중한 사진은 어떤 저장소에 저장하면 좋을까...?

728x90
반응형