관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

보조기억장치 2 - 다양한 보조기억장치 2 : 플래시 메모리 본문

알고리즘 및 자료 관리/컴퓨터 구조 & 운영체제

보조기억장치 2 - 다양한 보조기억장치 2 : 플래시 메모리

huenuri 2024. 10. 16. 11:13

보조기억장치 중에서 플래시 메모리에 대해서 공부해보려고 한다.


 

 

 

플래시 메모리

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

 

이 그림에서 붉은 박스로 표기한 부분이 플래시 메모리이다. 사실 플래시 메모리는 보조기억 장치범주에만 속한다기보다는 다양한 곳에서 널리 사용하는 저장 장치로 보는 것이 맞다. 주기억장치 중 하나인 ROM에도 사용되고, 우리가 일상적으로 접하는 거의 모든 전자제품 안에 플래시 메모리가 내장되어 있다.

 

 

두 종료의 플래시 메모리

NAND 플래시와 NOR 플래시는 각각 NAND 연산을 수행하는 회로와 NOR 연산을 수행하는 회로를 기반으로 만들어진 메모리를 뜻한다. 이 둘 중 대용량 저장 장치로 많이 사용되는 플래시 메모리는 NAND 플래시 메모리이다. 이번 절에서 설명할 보조기억장치로서의 플래시 메모리 또한 NAND 플래시 메모리이다.

 

 

 

 

 하나의 셀에 몇 비트를 저장할 수 있느냐에 따라 플래시 메모리 종류가 나뉜다.

 

 

여기서는 1~3비트를 기준으로 설명하게 된다. 큰 차이가 아닌 것처럼 보여도 이는 플래시 메모리의 수명, 속도, 가격에 큰 영향을 끼친다. 

 

 

 

플래시 메모리에도 수명이 있나요?

우리가 사용하는 USB 메모리, SSD, SD 카드는 수명이 다하면 더 이상 저장 장치로서 사용이 불가능하다. 종이에 연필로 쓰고 지우개로 지우고를 반복하다 보면 결국 종이가 찢어지는 것처럼 한 셀에 일정 횟수 이상 데이터를 쓰고 지우면 그 셀은 더 이상 데이터를 저장할 수 없기 때문이다.

 

 


 

 

 

 

SLC 타입

수명이 길어서 데이터를 쓰고 지우고를 반복할 수 있다. 하지만 용량 대비 가격이 높다. 이는 마치 혼자서 살면 감당해야 할 주거 비용이 커지는 것과 같다.그렇기에 보통 기업에서 데이터를 읽고 쓰기가 매우 많이 반복되며 고성능의 빠른 저장 장치가 필요한 경우에 SLC 타입을 사용한다.


 

 

 

MLC 타입

 

한 셀에 두 비트씩 저장할 수 있다는 점에서 MLC 타입은 SLC 타입보다 대룡량화하기 유리하다. 집의 개수가 같다면 한 집에 한 명씩 사는 것보다 한 집에 두 명씩 사는 것이 훨씬 더 많은 사람을 수용할 수 있는 것과 같은 이치이다.

두 명이 한 집에서 주거 비용을 나눠 내면 혼자 감당해야 하는 주거 비용보다 저렴해지듯 MLC 타입은 SLC 타입보다 용량 대비 가격이 저렴하다.


 

 

 

TLC 타입

수명과 속도가 떨어지지만 용량 대비 가격도 저렴하다.

 

 


 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

X라는 블록이 네 개의 페이지로 이루어져 있다고 가정해보겠다. 그리고 그 중 두 개의 페이지에는 A와 B라는 데이터가 저장되어 있다. 여기서 블록 X에 새로운 데이터 C를 저장하면 어떻게 될까? 플래시 메모리의 읽기 쓰기 단위는 페이지라고 했었다. 그러므로 이와 같이 저장된다.

 

 

플래시 메모리에서 덮어쓰기는 불가능하기 때문에 기존에 저장된 A는 Invalid 상태가 되어 더 이상 값이 유효하지 않은 쓰레기값이 되고, 새로운 A' 데이터가 저장된다. 결과적으로 블록 X의 Valid 페이지는 B, C, A'가 된다.

 

 

여기서 문제가 있다. A와 같이 쓰레기값을 저장하고 있는 공간은 사용하지 않을 공간인데도 불구하고 용량을 차지하고 있다. 이는 엄연히 용량 낭비이다. 그렇다고 A만을 지울 수도 없다. 플래시 메모리에서 삭제는 블록 단위로 수행되기 때문이다. 그래서 최근 SSD를 비롯한 플래시 메모리는 이런 쓰레기값을 정리하기 위해 가비지 컬렉션 기능을 제공한다.

 


 

 

 

단원 마무리하기

 

 

1번에서 디스크 암과 헤드가 좀 헤깔렷는데 틀리고 말았다. 디스크 암은 원하는 위치로 헤드를 이동시키는 부품을 말한다.

 


 

 

 

학습을 마치고

이 단원도 공부하는데 2시간이나 걸리고 말았다. 중간에 쉬고 이동하는 시간을 제외하면 1시간 45분 정도 걸렸을 것 같다. 사실 이것보다 2배는 더 빨리 마칠 수 있었을 것 같은데 팀 프로젝트가 종일 진행되다 보니 사람들이 교실에서 계속 떠들어서 너무나도 시끄럽고 집중이 집에서 할 때만큼의 절반도 되지 않는다.

그나마 수업을 하고 있을 때는 휴게실에서 내 자리를 만들어 사용할 수 있었지만, 팀 프로젝트 기간부터는 담임선생님이 자리를 빼라고 하셔서 사용할 수 없게 되었다. 그리고 그곳도 너무 시끄러운 장소가 되어 더이상 공부를 할 수 없는 장소가 되었다.

 

어딜가나 조용한 장소를 찾기가 힘들었다. 결국 난 집에 와서 나머지 공부를 진행했다. 사실 팀 프로젝트도 내가 원해서 하지 않은 것도 아니고 담임 선생님이 하지 말라고 해서 안하게 된 건데 너무 팀 위주로만 흘러가는 것 같아서 마음이 안좋다. 팀에 소속되지 않는 난 팀으로 하는 행사는 하나도 참여를 하지 못하기도 한다. 별로 참여하고 싶은 행사도 아니었지만.. 어쨌거나 아직 40일이나 남았는데 어떻게 해야 할지 고민이 된다.