메모리

YUN·2025년 9월 1일

[기본적인 CS]

목록 보기
20/21

1. 메모리 아키텍처: 폰 노이만 vs 하버드

폰 노이만 아키텍처

  • 프로그램 메모리와 데이터 메모리 구분 없음 (즉, 한 메모리에 프로그램, 임시 데이터 전부 저장)
  • EX) 인텔 계열 CPU

하버드 아키텍처

  • 프로그램 메모리(ROM)와 데이터 메모리(RAM) 분리
  • MCU에서 주로 사용 → 프로그램과 데이터 동시에 접근 가능 → 속도 빠름
  • 단점: 버스 구조 복잡

예시 (비교)

2. ROM과 RAM

항목ROM (Read Only Memory)RAM (Random Access Memory)
정의데이터를 영구적으로 저장하는 메모리프로그램 실행 중 데이터를 임시로 저장하는 메모리
휘발성 여부비휘발성 (전원 꺼져도 데이터 유지)휘발성 (전원 꺼지면 데이터 사라짐)
읽기/쓰기대부분 읽기 전용, 일부는 재기록 가능(PROM,EPROM, EEPROM 등)읽기와 쓰기 모두 가능
읽기 속도SRAM과 비슷할정도로 빠름
쓰기 속도RAM보다 느림ROM보다 빠름
용도부트로더, 펌웨어, BIOS, 마이크로컨트롤러 코드 저장실행 중인 프로그램, 데이터, 캐시 저장
단가저렴함 (고정 데이터 저장에 효율적)비쌈 (빠른 속도와 빈번한 쓰기/읽기 때문)

EEPROM플래시 메모리의 등장 이후 사용 빈도가 줄어들고 있지만 가격이 싸고 제어가 간단해서 아직도 가전제품, 컴퓨터의 Bios칩등에 사용된다.

참고로 ATmega328에도 1Kbyte의 EEPROM이 포함되어있다.

3. ROM의 종류

1. 플래시 메모리 (Flash Memory)

플래시 메모리는 EEPROM의 변형이다.

(1) EEPROM과 Flash Memory의 차이점

구분EEPROMFlash Memory
읽기 단위바이트 단위바이트 단위
쓰기 단위바이트 단위블록 단위
구조상대적으로 복잡구조가 간단, 대용량에 적합
쓰기 속도느림 (1바이트 단위)블록 전체 쓰기, EEPROM 1바이트 쓰기와 소요 시간 비슷
쓰기 가능 횟수상대적으로 많음상대적으로 적음

참고로, 블록의 크기는 제조사나 메모리 용량에따라 다르지만 일반적으로 64 byte 에서 128Kbyte 이다.

(2) NOR 형과 NAND 형

플래시 메모리는 내부 구조에따라 NOR형과 NAND형으로 나뉜다.

😃 NOR 형

NOR 형은 메모리에서 직접 코드를 실행하는 구조에서 EEPROM을 대체하기위해 설계되었다.

따라서 읽기 속도가 빠른 구조로 만들어졌다.

😃 NAND 형

NAND 형은 메모리는 대용량 데이터를 저장히기위해 설계되었다.

따라서 읽기 속도는 NOR형보다 느리지만 지우고 쓰는 속도는 NOR형보다 빠르다.
추가적으로 NAND 플래시가 NOR플래시에비해 집적도가 높아서 가격이 저렴하다.

(3) 사용 예시

  • USB 를 포함한 대부분의 휴대용 메모리에 플래시 메모리가 사용된다.
  • SSD 는 NAND 플래시 메모리로 만들어진다.
  • SD 카드는 NAND 플래시 메모리로 만들어진다.
  • eMMC는 NAND 플래시 메모리로 만들어진다.

2. SD 카드

MMC의 데이터 핀 수와 동작 클록을 보완하여 만들어진 저장 장치

(1) 용량에따른 SD 카드의 분류

SD카드는 최대 2Tbyte의 용량을 가질 수 있다.

  • 표준 SD 카드(SDSC) - 2Gbyte 이하의 용량
  • SDHC - 4Gbyte ~ 32 Gbyte
  • SDXC - 32Gbyte 초과

(2) 크기에따른 SD 카드의 분류

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

3. eMMC

플래시 메모리로 만든 탈착이 불가능한 저장용 메모리

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

4. SSD

대용량의 고속 저장장치로 하드디스크를 대체하기 위해 사용된다.

하드디스크가 기계식이어서 비교적 속도가 느리고 불안정한 반면, SSD는 전자식이어서 속도가 빠르고 안정적이다. 이외에도 SSD는 HDD에 비해 여러 장점을 가진다. (소음, 발열, 전력 소모 , 소형화, 경량화 가능성 등,,)

SSD는 플래시 메모리, 컨트롤러, 캐시 메모리 역할의 DRAM으로 이루어지는데 앞서 설명했듯이 플래시 메모리는 쓰기 횟수에 제한이있다. 따라서 SSD도 쓰기 제한이 있긴하나 일반인이 걱정할 정도는 아니라고한다.

4. RAM의 종류 (DRAM, SRAM)

앞서 살펴본 ROM은 쓰기 횟수에 제한이 있다. 따라서 쓰기 작업이 잦은 곳에서는 사용할 수 없다. 읽기 작업이 주로 일어나는 곳에 사용해야한다.

RAM은 크게 2가지 종류 DRAM(Dynamic RAM) 과 SRAM (Static RAM) 으로 나누어진다.

1. SRAM

여섯 개의 트랜지스터로 구성된 플립플롭 회로를 사용하여 데이터를 저장

(1) 특징

  • 한 번 기록된 메모리는 전원 공급동안 계속 남아있다.
  • DRAM에 비해 빠르지만 구조가 복잡해서 집적도가 낮고, 가격이 비싸다. -> 대용량 메모리에 적합하지 않다.
  • CPU 내의 레지스터나 캐시 메모리등 작은 고속 메모리를 만드는데 사용된다.

2. DRAM

하나의 트랜지스터와 하나의 커패시터로 구성된 셀을 사용하여 데이터를 저장

(1) 특징

  • 커패시터에 전하를 저장하는 방식이므로 시간이 지나면 방전 현상으로 데이터가 사라진다.
    • Refresh: 방전 현상으로인한 데이터 소멸을 막기위해 일정 시간 간격으로 커패시터를 재충전하는 것.
  • 직접도가 높고 소비 전력이 적고, SRAM보다 속도가 느리다 -> 메인 메모리로 주로 사용된다.

3. 정리

항목SRAM (Static RAM)DRAM (Dynamic RAM)
읽기/쓰기 속도빠름 (CPU 캐시 등 초고속 용도)느림 (SRAM보다 느리지만 대용량 가능)
리프레시(Refresh)불필요 (전원 유지 시 데이터 유지)필요 (수 ms마다 재충전 필요)
집적도낮음 (셀 구조 복잡, 트랜지스터 6개 필요)높음 (셀 구조 단순, 트랜지스터 1개+캐패시터 1개)
가격비쌈 (소량, 고속 메모리에 사용)저렴함 (대량, 주기억장치에 적합)
주요 용도CPU 캐시, 레지스터, 임베디드 MCU 내부 메모리PC 메인 메모리, 그래픽 카드 VRAM 등

4. DDR의 의미

DDR 이란 Double Data Rate의 약자로, 기존 SDR은 각 클록 펄스의 상승 또는 하강 에지에서 한 번만 정보를 전송했으나, DDR은 클록 펄스의 상승 엣지, 하강 엣지 모두에서 정보를 전송하므로써 클럭 주파수 증가없이 전송 속도를 2배까지 상승 시키는 방법이다.

5. 알쓸신잡

1. 보통 프로그램은 Flash Memory에, 데이터는 EEPROM에 저장한다. 그 이유는?

위의 플래시 메모리와 EEPROM의 비교를 보면 알 수 있듯이 플래시 메모리는 읽기가 빠르고, 수명이 제한되있다는 점 때문에 플래시 메모리를 프로그램 저장에 쓰는 것이 적합하다.

반면, EEPROM은 속도 느리고, 수명 길다는 점에서 데이터를 저장하는데에 쓰는 것이 적합하다.
(만약 EEPROM에 프로그램을 저장한다면 프로그램을 읽는 속도가 너무 느려서 컴퓨터가 느려질 것이다)

5. 요약

profile
안녕하세요. 전자공학부 학부생의 공부 기록입니다.

0개의 댓글