메모리 쓰기정책

기술노트
Admin (토론 | 기여)님의 2025년 9월 6일 (토) 01:39 판 (새 문서: == 💾 메모리 쓰기 정책 (Write Policy) == CPU 캐시와 메인 메모리 사이의 데이터 일관성을 유지하기 위한 쓰기 동작 관리 방법을 '''쓰기 정책'''이라고 합니다. 캐시에 데이터 쓰기 작업이 발생했을 때, 이 변경 사항을 언제 메인 메모리에 반영할지를 결정하는 규칙입니다. ---- === 📝 Write-Through (관통 쓰기) === 캐시에 데이터를 쓸 때, '''메인 메모리에도 동시에''' 쓰는...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

💾 메모리 쓰기 정책 (Write Policy)

CPU 캐시와 메인 메모리 사이의 데이터 일관성을 유지하기 위한 쓰기 동작 관리 방법을 쓰기 정책이라고 합니다. 캐시에 데이터 쓰기 작업이 발생했을 때, 이 변경 사항을 언제 메인 메모리에 반영할지를 결정하는 규칙입니다.


📝 Write-Through (관통 쓰기)

캐시에 데이터를 쓸 때, 메인 메모리에도 동시에 쓰는 방식입니다. 데이터가 캐시와 메모리에 함께 저장되므로, 항상 일관성을 유지할 수 있습니다.

  • 장점 : 구현이 간단하고, 데이터의 안정성과 일관성이 높습니다.
  • 단점 : 쓰기 작업을 할 때마다 메인 메모리에 접근해야 하므로, 속도가 느립니다.

📝 Write-Back (지연 쓰기)

데이터를 쓸 때, 우선 캐시에만 기록하고, 해당 데이터가 캐시에서 빠질 때(evict) 메인 메모리에 최종 반영하는 방식입니다. 캐시 블록에 '더티 비트(Dirty Bit)'를 두어 변경 여부를 추적합니다.

  • 장점 : 쓰기 속도가 매우 빠릅니다. 여러 쓰기 작업을 한 번에 모아서 처리하므로 I/O 부하가 줄어듭니다.
  • 단점 : 구현이 복잡하며, 데이터가 메인 메모리에 반영되기 전에 시스템에 문제가 생기면 데이터가 유실될 위험이 있습니다.

🔥 Write-Through vs Write-Back 비교

구분 Write-Through (관통 쓰기) Write-Back (지연 쓰기)
데이터 저장 위치 캐시 + 메인 메모리 (동시) 우선 캐시에만 저장
속도 느림 빠름
데이터 일관성 높음 (항상 일치) 특정 시점에는 불일치
데이터 유실 위험 없음 있음 (전원 OFF 등)
구현 복잡도 간단 복잡

💡 개발자 핵심 Point

  • 쓰기 정책은 캐시와 메인 메모리 간의 데이터 동기화 타이밍을 결정하는 규칙입니다.
  • Write-Through안정성이 중요할 때 유리합니다. 데이터가 즉시 저장되므로 안전하지만, 쓰기 속도가 느립니다.
  • Write-Back성능이 중요할 때 유리합니다. 쓰기 작업을 모아서 처리하므로 매우 빠르지만, 데이터 유실의 위험을 감수해야 합니다.
  • 대부분의 최신 CPU나 고성능 시스템은 성능상의 이점 때문에 Write-Back 방식을 주로 사용합니다.