콘텐츠로 바로가기

Memory Systems & Storage Physics

레지스터부터 캐시, 주메모리, 그리고 영구 저장소에 이르는 데이터 저장 계층과 그 물리적 동작 원리를 다루는 학습 노드입니다.

sys.entry
M

Me

hyunyoun's Blog

posts6 min read

1. Overview

메모리 시스템 및 저장 물리(Memory Systems & Storage Physics, SSP)는 데이터가 하드웨어 상에서 어떻게 유지되고 전달되는지를 다룹니다.

현대 컴퓨터 시스템의 성능 병목은 연산(CPU)이 아닌 데이터 이동(Memory)에서 발생합니다. 학습자는 SRAM, DRAM, Flash 등 매체별 물리적 특성을 이해하고, 이를 보완하기 위한 계층적 메모리 구조(Storage Hierarchy)를 학습합니다. 캐시 지역성(Locality)과 가상 메모리 하드웨어 지원(TLB/MMU)을 통해 소프트웨어가 하드웨어 성능을 최대로 활용할 수 있는 구조적 통찰을 확보합니다.

2. Scope & Boundaries

In-Scope

  • 메모리 계층 구조: 레지스터, L1/L2/L3 캐시, 메인 메모리, 보조 기억 장치의 설계 원리
  • 캐시 동작 원리: 매핑 전략(Direct, Associative), 교체 알고리즘, 일관성 유지(Coherency)
  • 물리적 저장 매체: DRAM 리프레시, NAND Flash 읽기/쓰기/지우기 메커니즘, SSD 컨트롤러 기능
  • 데이터 신뢰성: ECC(Error Correction Code), Wear Leveling, 비휘발성 메모리 관리

Out-of-Scope

  • 파일 시스템 로직 및 디렉토리 구조 (03. Operating Systems 영역으로 위임)
  • 분산 스토리지 네트워크 (07. System Architecture 영역으로 위임)
  • 데이터베이스 인덱싱 알고리즘 (06. Data Management 영역으로 위임)

Boundaries

  • SSP vs. OS: SSP는 '메모리 소자의 물리적 타이밍과 계층 하드웨어'를 다루며, OS는 이를 활용한 '페이지 관리 및 스왑 로직'을 다룹니다.

3. Counterexample

  • 단순히 변수를 많이 선언하는 것은 SSP 학습이 아닙니다. 왜 데이터 구조의 배치를 **캐시 라인(Cache Line)**의 크기에 맞춰 정렬(Alignment)해야 성능이 향상되는지 하드웨어 캐시 메커니즘 관점에서 설명할 수 있어야 학습이 완료된 것입니다.

4. Prerequisites

  • 디지털 논리 및 프로세서 물리 (Basic): 레지스터와 플립플롭의 동작 방식을 알아야 메모리 구성을 이해할 수 있습니다. (01. Digital Logic)

5. Learning Map

  1. Memory Foundations: 비트 저장의 물리적 구현(SRAM vs DRAM)을 익힙니다.
  2. Hierarchy & Locality: 계층 구조가 성능에 미치는 영향과 지역성의 원리를 파악합니다.
  3. Hardware Management: MMU와 캐시 컨트롤러의 물리적 동작 방식을 다룹니다.
  4. Storage Integration: 비휘발성 메모리와 SSD 내부 구조를 통한 대용량 데이터 관리를 학습합니다.

6. Learning Topics

Basic

Core: 메모리 기술과 계층 구조 (Memory Technologies & Hierarchy)

  • Why to Learn: 접근 속도와 용량 간의 물리적 트레이드오프를 인식하여 효율적인 데이터 배치를 하기 위함입니다.
  • What to Learn:
    • SRAM(고속/저밀도)과 DRAM(고밀도/리프레시)의 물리적 구조 차이
    • 레지스터부터 영구 저장소까지의 계층별 Latency 비교
    • 휘발성 vs 비휘발성 저장 원리 기초
  • How to Learn:
    • 아키텍처 다이어그램을 통해 CPU와 각 메모리 계층 간의 물리적 거리를 시각화
    • 접근 속도 차이를 실제 시간(밀리초, 나노초) 관점에서 체감하는 비교 실습
  • Implement: SRAM과 DRAM의 동작 특성을 비교하는 기초 하드웨어 에뮬레이터

Core: 캐시 메커니즘과 지역성 (Cache Mechanics & Locality)

  • Why to Learn: CPU 연산 유닛이 노는 시간(Stall)을 줄이고 데이터 공급 속도를 극대화하기 위해서입니다.
  • What to Learn:
    • 시간 지역성(Temporal) 및 공간 지역성(Spatial)의 물리적 근거
    • Direct-mapped, Set-associative 캐시 설계와 태그 분석
    • Average Memory Access Time (AMAT) 산출 및 최적화
  • How to Learn:
    • 캐시 시뮬레이터를 이용해 다양한 Mapping 정책에 따른 Hit Rate 측정
    • 데이터 접근 패턴에 따른 캐시 미스(Conflict, Capacity) 분석
  • Implement: LRU(Least Recently Used) 캐시 교체 알고리즘 동작 시연 프로그램

Practical

Core: 메모리 일관성과 하드웨어 지원 (Coherency & Hardware Support)

  • Why to Learn: 다중 코어 환경에서 데이터 부정합을 방지하고 가상 주소 변환을 가속하기 위해서입니다.
  • What to Learn:
    • MESI 프로토콜 등 캐시 일관성 유지 하드웨어 로직
    • MMU와 TLB(Translation Lookaside Buffer)의 물리적 동작 방식
    • DMA(Direct Memory Access)를 이용한 고속 데이터 전송 물리
  • How to Learn:
    • 멀티스레드 환경에서 캐시 핑퐁(False Sharing) 현상 프로파일링
    • 가상 주소가 물리 주소로 변환되는 하드웨어 단계를 수기 추적 실습
  • Implement: TLB 캐시 미스 시의 Page Table Walk 과정을 모사하는 로직

Advanced

Core: 영구 저장 물리와 신기술 (Storage Physics & NVM)

  • Why to Learn: SSD와 같은 영구 저장 매체의 수리적 수명을 관리하고 차세대 메모리 기술을 적용하기 위함입니다.
  • What to Learn:
    • NAND Flash의 읽기/쓰기/지우기 단위 불일치와 쓰기 증폭(Write Amplification)
    • FTL(Flash Translation Layer) 및 Wear-leveling 전략
    • NVM(Non-Volatile Memory) 신기술 동향(PRAM, ReRAM 등)
  • How to Learn:
    • SSD 내부 컨트롤러의 가비지 컬렉션(GC) 물리 분석
    • 메모리 보안 이슈(Rowhammer)의 물리적 발생 경로와 방어 기법 학습
  • Implement: SSD의 수명 연장(Wear-leveling) 시뮬레이션 알고리즘

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core/misused/legacy)
Locality (지역성) 데이터 접근이 시간적 또는 공간적으로 특정 위치에 집중되는 현상입니다. 기본 핵심 원리 Cache Spatial / Temporal 캐시 내부 로직으로만 오해 P1:CS2023/Memory core
TLB (주소 변환 캐시) 가상 주소를 물리 주소로 변환할 때 Page Table 접근을 생략하는 전용 하드웨어입니다. 실무 성능 가속 MMU Paging 일반 캐시와 동일하게 취급 SWEBOK core
MESI Protocol 멀티코어 환경에서 개별 캐시 데이터의 상태를 4가지로 관리하여 일관성을 지키는 규격입니다. 실무 일관성 유지 Coherency Write-back 소프트웨어 락과 혼동함 Industry SW Manual core
Wear Leveling NAND Flash의 특정 블록에 쓰기가 집중되지 않도록 데이터를 고르게 분산 저장하는 물리 기술입니다. 심화 수명 관리 FTL SSD 성능 최적화로만 오해함 Industry Spec core

8. References

Primary References

Secondary References

  • [What Every Programmer Should Know About Memory] Ulrich Drepper — Deep dive into memory effects on SW.
  • [Modern Processor Design] John Paul Shen, Mikko Lipasti — Advanced memory system architectures.

Industry References

  • [Intel Optimization Reference Manual] — Cache and memory usage optimization for industry.
  • [Samsung Semiconductor] DRAM & SSD Whitepapers — Cutting-edge storage physics.

9. Final Checklist

Primary Checklist

  • 메모리 계층 구조를 도식화하고 상하위 계층 간의 Latency/Capacity 트레이드오프를 아는가? (P1)
  • 캐시 미스의 3C(Cold, Capacity, Conflict) 원인을 하드웨어 구조 관점에서 식별 가능한가? (P1)

Secondary Checklist

  • DRAM 리프레시와 뱅크 구조가 시스템 지연(Jitter)에 미치는 물리적 영향을 설명할 수 있는가?
  • 가상 메모리 지원을 위한 하드웨어(MMU/TLB)의 동작 흐름을 정확히 기술할 수 있는가?

Industry Checklist

  • False Sharing 등 멀티코어 성능 저해 요소를 프로파일링 도구로 감지하고 해결할 수 있는가? (SFIA)
  • SSD의 수명 관리와 쓰기 증폭 문제를 인지하고 시스템 설계에 반영 가능한가?