플래시 메모리
보조 기억 장치에는 하드디스크 외에도 플래시 메모리 기반의 보조 기억 장치가 존재합니다.
USB 메모리, SD카드, SSD가 모두 플래시 기반의 메모리 보조기억장치에 속합니다.
이전에 살펴본 하드디스크의 경우 자기적인 장치였다면 플래시 메모리는 반도체 기반의 저장 장치입니다.
플래시 메모리에는 셀이라는 단위가 있습니다. 셀은 플래시 메모리에서 데이터를 저장하는 가장 적은 단위를 뜻합니다.
하나의 셀에 몇 비트를 저장하느냐에 따라 플래시 메모리의 종류가 나뉩니다.
- SLC(Single Level Cell) : 하나의 셀에 1비트를 저장 할 수 있는 플래시 메모리 타입
- MLC(Multiple Level Cell) : 하나의 셀에 2비트를 저장 할 수 있는 플래시 메모리 타입
- TLC(Triple-Level-Cell) : 하나의 셀에 3비트를 저장할 수 있는 플래시 메모리 타입
이는 큰 차이가 아닌 것 처럼 보여도 수명, 속도, 가격에 큰 영향을 미친다고 합니다.
지금부터 각 타입의 특징과 차이점에 대해서 자세히 살펴보도록 하겠습니다.
SLC타입
SLC 타입은 한셀로 두 개의 정보를 표현 할 수 있습니다. MLC나 TLC 타입에 비하여 빠른 입출력이 가능합니다.
수명도 MLC나 TLC 타입보다 길어서 수십만번 가까이 데이터를 쓰고 지우고 반복할 수 있습니다.
SLC 타입은 용량 대비 가격이 높은 특징을 가지고 있습니다. 보통 기업에서 데이터를 읽고 쓰기가 매우 많이 반복되며
고성능의 빠른 저장 장치가 필요한 경우 SLC 타입을 사용하곤 합니다.
MLC타입
MLC 타입은 한 셀로 네 개의 정보를 표현할 수 있습니다. SLC 타입보다 속도와 수명을 떨어지지만 한 셀에 두 비트씩 저장 할 수 있다는 점에서 MLC타입은 SLC타입보다 높은 저장용량과 낮은 생산비용을 지니고 있어 대용화(대체하여 사용하기)에 좋습니다. 시중에서 사용하는 대부분의 플래시 메모리 저장 장치들이 MLC 타입으로 만들어집니다.
TLC타입
3비트씩 저장 할 수 있는 TLC 타입은 한 셀로 여덟 개의 정보를 표현할 수 있습니다. 때문에 많은 정보를 저장 할 수 있고
대용량화 하기 유리합니다. SLC난 MLC 타입보다 수명과 속도가 떨이지지만 용량 대비 가격도 저렴합니다.
궁금한점
그렇다면 왜 SLC타입에서 TLC타입으로 갈수록 수명이 줄어드는 것일까요?
TLC 타입으로 갈 수록 수명이 줄어드는 이유는 데이터 저장에 사용되는 비트당 전하의 높은 레벨 수준과 관련이
있다고 합니다.
TLC는 한 셀에 3비트를 저장하기 때문에 셀의 상태를 나타내는 전하 레벨이 8가지로 나뉘게 됩니다.
이로 인해 각 레벨 간의 전하 차이가 SLC에 비하여 줄어들게 됩니다.
쉽게 예로 들어보자면 한 셀에 가할 수 있는 전기량을 8로 본다면 SLC는 1과 8로(7의 차이) 구분할 수 있지만,
TLC는 1, 2...(1의 차이) 로 구분할 수 있습니다. 이로 인해 전하의 레벨을 정확하게 나타내는 것이 어렵고
데이터 저장의 신뢰성이 저하될 수 있는 특징이 있습니다.
플래시 메모리의 다양한 단위들
플래시 메모리에는 다양한 단위들이 존재합니다.
페이지 - 셀들이 모여 만들어지 단위
블록 - 페이지가 모여 만들어진 단위
플레인 - 블록이 모여 만들어진 단위
다이 - 플레인이 모여 만들어진 단위
플래시 메모리에서 읽기와 쓰기는 보통 페이지 단위로 이루어집니다.
하지만 삭제는 페이지 단위가 아닌 보다 큰 단위인 블록 단위로 수행됩니다.
읽기/쓰기 와 삭제 단위가 서로 다른 점이 플래시 메모리의 가장 큰 특징이라 할 수 있습니다.
페이지는 3개의 상태를 가질 수 있습니다. 상태는 다음과 같습니다.
Free 상태 - 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
Valid 상태 - 유효한 데이터를 저장하고 있는 상태
Invalid 상태 - 유효하지 않은 데이터를 저장하고 있는 상태
프랠시 메모리는 하드디스크와 달리 덮어쓰기가 불가능하여 Valid 상태인 페이지에는 새 데이터를 저장할 수 없는
특징이 있습니다.
그림으로 예로 들어보자면,
다음과 같이 블록이 존재하고 한 블록에는 4개의 페이지로 이루어져 있다고 가정했을때,
A와 B라는 데이터에 새로운 C라는 데이터가 저장된다면 위의 그림과 같이 저장되게 됩니다.
만약에 여기서 A를 AA로 수정하고 싶다면 어떻게 될까요?
위에서 언급했듯이, 플래시 메모리에는 덮어쓰기가 불가능합니다. 때문에 기존에 저장된 A는 Invalid 상태가 되어
더 이상 유효하지 않은 값이 되고 새로운 aa데이터가 저장되게 됩니다.
하지만 A라는 공간은 사용하지 않은 공간임에도 불구하고 용량을 차지하고 있습니다. 하지만 이를 삭제할 수 없는게
플래시 메모리의 읽기/쓰기는 페이지 단위로 이루어지지만 삭제는 블록 단위로 이루어지기 때문에 다른 데이터들의
존속을 위해 블록 전체를 삭제 할 수가 없습니다.
최근 플래시 메모리들은 이러한 단점을 극복하고자 Invalid 페이지들이 가지고 있는 값들을 제거하는 가비지 컬렉션
기능을 제공합니다.
밑의 그림과 같이 기존의 블록을 새로운 블록으로 복사 한 뒤 기존 블록을 삭제하는 것입니다.
궁금한점
그렇다면 왜 플래시 메모리는 읽기/쓰기는 페이지 단위로 이루어지고 삭제는 블록단위로 이루어지는 것일까요?
같은 단위이면 굳이 가비지 컬렉션과 같은 기능을 수행하지 않아도 될텐데 말이죠.
읽기와 쓰기가 블록 단위가 아닌 페이지 단위로 이루어진다면 다음과 같은 문제가 발생할 수 있다고합니다.
1. 불균형한 내구성의 감소
플래시 메모리는 일정 횟수의 쓰기/삭제 작업이 가능한 내구성을 지니고 있습니다. 삭제 단위와 쓰기 단위가
같은 경우 특정 페이지의 빈번한 삭제와 저장 기능이 수행될 가능성이 있으며 이는 내구성이 불균형하게
감소될 수 있는 리스트를 지닙니다.
2. 쓰기 작업의 복잡성
삭제 단위가 페이지에서 이루어지게 되면, 해당 페이지의 내용을 삭제 한 후에 데이터를 다시 쓰는 과정이
필요합니다. 이는 쓰기 작업의 복잡성이 증가하게 되고 성능이 저하될 수 있는 위험이 있습니다.
플래시 메모리는 다음과 같은 이유로 읽기/쓰기와 삭제의 단위가 다르게 수행된다고 합니다!
이상으로 플래시 메모리에 대해 살펴봤습니다.
글 읽어주셔서 감사합니다!
참고 자료
http://www.yes24.com/Product/Goods/111378840
혼자 공부하는 컴퓨터 구조+운영체제 - YES24
혼자 해도 충분합니다! 1:1 과외하듯 배우는 IT 지식 입문서이 책은 독학으로 컴퓨터 구조와 운영체제를 배우는 입문자가 ‘꼭 필요한 내용을 제대로 학습’할 수 있도록 구성했다. 뭘 모르는지
www.yes24.com
http://m.ddaily.co.kr/m/m_article/?no=126102
[SSD기획③/구조] SLC·MLC·TLC… 낸드플래시의 데이터 저장 방식
[디지털데일리 한주엽기자] 낸드플래시 메모리는 최소 단위인 셀에 몇 비트(bit)를 저장할 수 있느냐에 따라 싱글레벨셀(Single Level Cell, SLC), 멀티레벨셀(Multi Level Cell, MLC), 트리플레벨셀(Triple Level
www.ddaily.co.kr
'CS > 컴퓨터구조' 카테고리의 다른 글
RAID란? (0) | 2023.04.26 |
---|---|
보조기억장치(하드디스크) 에 대하여 (0) | 2023.04.12 |
캐시 메모리 (0) | 2023.03.03 |
명령어 사이클과 인터럽트에 대하여 (0) | 2023.02.15 |
CPU 구성 요소에 대하여 (0) | 2023.02.15 |