
- 프로그램 메모리와 데이터 메모리 구분 없음 (즉, 한 메모리에 프로그램, 임시 데이터 전부 저장)
- EX) 인텔 계열 CPU
- 프로그램 메모리(ROM)와 데이터 메모리(RAM) 분리
- MCU에서 주로 사용 → 프로그램과 데이터 동시에 접근 가능 → 속도 빠름
- 단점: 버스 구조 복잡

| 항목 | ROM (Read Only Memory) | RAM (Random Access Memory) |
|---|---|---|
| 정의 | 데이터를 영구적으로 저장하는 메모리 | 프로그램 실행 중 데이터를 임시로 저장하는 메모리 |
| 휘발성 여부 | 비휘발성 (전원 꺼져도 데이터 유지) | 휘발성 (전원 꺼지면 데이터 사라짐) |
| 읽기/쓰기 | 대부분 읽기 전용, 일부는 재기록 가능(PROM,EPROM, EEPROM 등) | 읽기와 쓰기 모두 가능 |
| 읽기 속도 | SRAM과 비슷할정도로 빠름 | |
| 쓰기 속도 | RAM보다 느림 | ROM보다 빠름 |
| 용도 | 부트로더, 펌웨어, BIOS, 마이크로컨트롤러 코드 저장 | 실행 중인 프로그램, 데이터, 캐시 저장 |
| 단가 | 저렴함 (고정 데이터 저장에 효율적) | 비쌈 (빠른 속도와 빈번한 쓰기/읽기 때문) |
EEPROM은 플래시 메모리의 등장 이후 사용 빈도가 줄어들고 있지만 가격이 싸고 제어가 간단해서 아직도 가전제품, 컴퓨터의 Bios칩등에 사용된다.
참고로 ATmega328에도 1Kbyte의 EEPROM이 포함되어있다.

플래시 메모리는 EEPROM의 변형이다.
| 구분 | EEPROM | Flash Memory |
|---|---|---|
| 읽기 단위 | 바이트 단위 | 바이트 단위 |
| 쓰기 단위 | 바이트 단위 | 블록 단위 |
| 구조 | 상대적으로 복잡 | 구조가 간단, 대용량에 적합 |
| 쓰기 속도 | 느림 (1바이트 단위) | 블록 전체 쓰기, EEPROM 1바이트 쓰기와 소요 시간 비슷 |
| 쓰기 가능 횟수 | 상대적으로 많음 | 상대적으로 적음 |
참고로, 블록의 크기는 제조사나 메모리 용량에따라 다르지만 일반적으로 64 byte 에서 128Kbyte 이다.
플래시 메모리는 내부 구조에따라
NOR형과NAND형으로 나뉜다.
NOR 형은 메모리에서 직접 코드를 실행하는 구조에서 EEPROM을 대체하기위해 설계되었다.
따라서 읽기 속도가 빠른 구조로 만들어졌다.
NAND 형은 메모리는 대용량 데이터를 저장히기위해 설계되었다.
따라서 읽기 속도는 NOR형보다 느리지만 지우고 쓰는 속도는 NOR형보다 빠르다.
추가적으로 NAND 플래시가 NOR플래시에비해 집적도가 높아서 가격이 저렴하다.

MMC의 데이터 핀 수와 동작 클록을 보완하여 만들어진 저장 장치
SD카드는 최대 2Tbyte의 용량을 가질 수 있다.
- 표준 SD 카드(SDSC) - 2Gbyte 이하의 용량
- SDHC - 4Gbyte ~ 32 Gbyte
- SDXC - 32Gbyte 초과

SD 카드는 크기에따라
SD,미니 SD,마이크로 SD로 분류된다.

플래시 메모리로 만든 탈착이 불가능한 저장용 메모리
주로 SBC같은 임베디드 시스템에서 탈착이 불가능한 저장용 메모리로 사용된다.

대용량의 고속 저장장치로 하드디스크를 대체하기 위해 사용된다.
하드디스크가 기계식이어서 비교적 속도가 느리고 불안정한 반면, SSD는 전자식이어서 속도가 빠르고 안정적이다. 이외에도 SSD는 HDD에 비해 여러 장점을 가진다. (소음, 발열, 전력 소모 , 소형화, 경량화 가능성 등,,)
SSD는 플래시 메모리, 컨트롤러, 캐시 메모리 역할의 DRAM으로 이루어지는데 앞서 설명했듯이 플래시 메모리는 쓰기 횟수에 제한이있다. 따라서 SSD도 쓰기 제한이 있긴하나 일반인이 걱정할 정도는 아니라고한다.

앞서 살펴본 ROM은 쓰기 횟수에 제한이 있다. 따라서 쓰기 작업이 잦은 곳에서는 사용할 수 없다. 읽기 작업이 주로 일어나는 곳에 사용해야한다.
RAM은 크게 2가지 종류 DRAM(Dynamic RAM) 과 SRAM (Static RAM) 으로 나누어진다.
여섯 개의 트랜지스터로 구성된 플립플롭 회로를 사용하여 데이터를 저장
- 한 번 기록된 메모리는 전원 공급동안 계속 남아있다.
- DRAM에 비해 빠르지만 구조가 복잡해서 집적도가 낮고, 가격이 비싸다. -> 대용량 메모리에 적합하지 않다.
- CPU 내의 레지스터나 캐시 메모리등 작은 고속 메모리를 만드는데 사용된다.
하나의 트랜지스터와 하나의 커패시터로 구성된 셀을 사용하여 데이터를 저장
- 커패시터에 전하를 저장하는 방식이므로 시간이 지나면 방전 현상으로 데이터가 사라진다.
- Refresh: 방전 현상으로인한 데이터 소멸을 막기위해 일정 시간 간격으로 커패시터를 재충전하는 것.
- 직접도가 높고 소비 전력이 적고, SRAM보다 속도가 느리다 -> 메인 메모리로 주로 사용된다.
| 항목 | SRAM (Static RAM) | DRAM (Dynamic RAM) |
|---|---|---|
| 읽기/쓰기 속도 | 빠름 (CPU 캐시 등 초고속 용도) | 느림 (SRAM보다 느리지만 대용량 가능) |
| 리프레시(Refresh) | 불필요 (전원 유지 시 데이터 유지) | 필요 (수 ms마다 재충전 필요) |
| 집적도 | 낮음 (셀 구조 복잡, 트랜지스터 6개 필요) | 높음 (셀 구조 단순, 트랜지스터 1개+캐패시터 1개) |
| 가격 | 비쌈 (소량, 고속 메모리에 사용) | 저렴함 (대량, 주기억장치에 적합) |
| 주요 용도 | CPU 캐시, 레지스터, 임베디드 MCU 내부 메모리 | PC 메인 메모리, 그래픽 카드 VRAM 등 |
DDR 이란 Double Data Rate의 약자로, 기존 SDR은 각 클록 펄스의 상승 또는 하강 에지에서 한 번만 정보를 전송했으나, DDR은 클록 펄스의 상승 엣지, 하강 엣지 모두에서 정보를 전송하므로써 클럭 주파수 증가없이 전송 속도를 2배까지 상승 시키는 방법이다.
위의 플래시 메모리와 EEPROM의 비교를 보면 알 수 있듯이 플래시 메모리는 읽기가 빠르고, 수명이 제한되있다는 점 때문에 플래시 메모리를 프로그램 저장에 쓰는 것이 적합하다.
반면, EEPROM은 속도 느리고, 수명 길다는 점에서 데이터를 저장하는데에 쓰는 것이 적합하다.
(만약 EEPROM에 프로그램을 저장한다면 프로그램을 읽는 속도가 너무 느려서 컴퓨터가 느려질 것이다)
