메모리의 분류는 크게 휘발성 ( Volatile ) 과 비휘발성 ( Non-Volatile ) 로 나뉘게 됩니다.
그리고 이 휘발성, 비휘발성의 특성을 통해 ROM ( Read Only Memory ) 와 RAM ( Random Access Memory ) 로 나뉘게 됩니다.
플래시 메모리의 경우는 때에 따라 ROM과 RAM의 중간 성격을 띄는 경우도 있다.
ROM - Read Only Memory
ROM의 특징은 비휘발성 메모리로써 전기가 끊겨도 데이터들이 지워지지 않도록 저장해주는 역할을 하는 메모리입니다. 만약 전원을 껐는데 기존에 컴퓨터를 켜는 방법이 적혀있는 메모리가 다 날아가버리면 다시는 켜지지 않겠죠? 그래서 대표적으로 Bios ROM 이 있습니다. 컴퓨터를 켜는 방법을 적어두고 잊지 않기 위해서 만들어둔 ROM이죠.
ROM에는 여러 종류가 있는데,
- Mask ROM : 일반적인 ROM으로 ROM 제작 시 데이터를 저장해두고 후에 지우거나 덮어 쓰는것이 불가능한 ROM
- OTP ( One time PROM ) : 1회에 한해서 쓰기가 가능한 ROM이다. ( 수정을 1번 할 수 있다는 의미 ) 한번 수정하고 나면 더이상 수정이 불가능한 ROM
- EPROM ( Erasable PROM ) : 저장되어 있는 데이터를 지우고 쓸 수 있는 ROM. 데이터를 지우는 방법에 따라 EEPROM, UVEPROM으로 분류됨
- EEPROM ( Electrically Erasable PROM ) : 고전압을 통해 데이터를 지우고 삭제된 공간에 데이터를 다시 기록할 수 있는 메모리이다. 비교적 느리게 데이터를 지웁니다.
- UVEPROM ( Ultra-Violet EPROM ) : 자외선을 이용하여 데이터를 지우는 ROM
이런 종류가 있다.
RAM - Random Access Memory
RAM의 특징은 휘발성 메모리로써 전원이 꺼지면 가지고 있던 데이터가 사라지는 것입니다. 주로 임시 저장소나 우리가 흔히 알고있는 DRAM 처럼 전원이 들어와 있을때만 데이터를 보존하면 되는 곳에 주로 사용합니다.
RAM에도 여러 종류가 있다.
- SRAM ( Static RAM ) : DRAM 보다 일반적으로 용량이 작지만 속도가 빠르고 가격이 비싸다.
- DRAM ( dynamic RAM ) : SRAM 보다 용량이 크지만 SRAM 대비 속도가 느리다. 대신 가격이 싸다. 캐퍼시터를 통해 데이터를 저장하는 방식을 사용한다.
- SDRAM ( Synchronous DRAM ) : Bus 속도를 빠르게 유지하는 상태로 동작할 수 있게 만든 메모리이다. system clock 과 동기화 하여 사용할 수 있어서 CPU가 처리할 수 있는 양이 증가한다고 하는데 잘 모르겠고 중요하지 않다.
- DDR SDRAM ( Double Data Rate SDRAM ) : 일반적으로 DDR 디램이 주로 판매된다. 우리가 컴퓨터에 넣는 메모리 라고 일컫는 것은 대부분 DDR4 16G RAM 이런것을 사용하게 된다. SDRAM 보다 2배 빠르게 동작하는 것이다.
- DDR2, DDR3, DDR4 이런 네이밍에서 뒤의 숫자는 버전같은 의미인데, 버전이 커질수록 이론적으로 2배의 성능을 가진다.
- DDR이라는 것 자체가 SDRAM 대비 2배의 속도를 가지게 되는데, DDR이 100MB/s라고 하면 DDR2는 200, DDR3는 400, DDR4는 800MB/s 의 속도를 가지게 되는 것이다.
플래시 메모리라는 것이 있는데, 위에서 설명한 ROM 중 EEPROM의 한 종류이다.
기존 PROM 종류보다 더 빠르게 기록과 삭제가 가능한 속도를 올린 메모리 라고 생각하면 된다. 이것의 구조에 따라서 NOR와 NAND형 메모리로 분류된다.
하지만 NOR Flash의 경우 데이터 유지는 에러가 적지만 지우기 속도가 느려 고속화 되지 못했다.
NAND Flash의 경우 작게 만들 수 있는 구조라 대용량으로 만들 수 있었기에 주로 NAND Flash를 사용한다.
ROM , RAM 비교 정리
ROM은 읽기만 가능한 것이 기본 Concept지만 때에 따라 쓰기도 가능하고 RAM에 비해 비교적 속도가 느리며 전원이 끊겨도 데이터가 지워지지 않는 비휘발성 메모리이다.
RAM은 읽기/쓰기가 가능한 것이 기본 Concept이고 ROM보다 빠르고 전원이 끊기면 데이터가 지워지는 휘발성 메모리이다.
'임베디드SW > Embedded SW 상식' 카테고리의 다른 글
SMBus와 I2C 차이점 (0) | 2023.03.20 |
---|---|
NVMe device가 PCIe에서 인식이 안될 때 (0) | 2023.03.09 |
[임베디드] 메모리 스크러빙 (Memory Scrubbing) (0) | 2022.09.01 |
NVMe CLI ( Command Line Interface ) 기초와 사용법 (0) | 2020.11.10 |
FIO - Flexible I/O Tester (2) | 2020.10.30 |
댓글