Skip to main content

Cache Write Policy: A Complete Guide to Write Through and Write Back


 

Cache Write Policy: A Complete Guide to Write Through and Write Back

Modern processors use cache memory to reduce the time required to access frequently used data. Reading data from the cache is relatively straightforward because the CPU simply checks whether the required data is already present. However, writing data is more challenging because both the cache and main memory (RAM) may contain copies of the same data.

When the CPU modifies a value stored in the cache, an important question arises:

How should the updated data be synchronized between Cache and Main Memory?

This is where Cache Write Policies come into play. They define how and when modified data is written back to the main memory.

In this article, we'll explore the two most common cache write policies:

  • Write Through
  • Write Back (Write Behind)

We'll understand how each policy works, compare their advantages and disadvantages, study timing diagrams, and learn when each policy is used in real-world systems.

What is a Cache Write Policy?

A Cache Write Policy defines how the cache and main memory are updated when the CPU writes new data to a memory location.

Since the same memory block may exist in both cache and RAM, the system must decide:

  • Should both cache and RAM be updated immediately?
  • Or should RAM be updated later?

The answer depends on the selected write policy.

Definition:
A Cache Write Policy is the mechanism that determines when modified cache data is written to the main memory.

Why Do We Need Write Policies?



Types of Cache Write Policies

There are two widely used cache write policies:

  1. Write Through
  2. Write Back (Write Behind)

1. Write Through

What is Write Through?

In Write Through, every write operation updates:

  • Cache
  • Main Memory

at the same time.

This means both copies are always identical.

Basic Idea

Whenever the CPU writes data:

CPU
 │
 ▼
Cache
 │
 ▼
Main Memory

Both memories are updated immediately.

Working Principle

When the CPU writes data:

Step 1

CPU sends the write request.

Step 2

Cache is updated.

Step 3

The same data is immediately written to Main Memory.

Step 4

Write operation completes.



Advantages of Write Through

  • Very simple implementation.
  • Cache and memory are always consistent.
  • No dirty bits required.
  • Safer during unexpected power failures.
  • Suitable for shared memory and I/O systems.

Disadvantages of Write Through

  • Every write accesses main memory.
  • Generates high memory traffic.
  • Higher write latency.
  • Increased power consumption.

Memory Traffic



2. Write Back (Write Behind)

What is Write Back?

In Write Back, the CPU writes only to the cache.

Main memory is not updated immediately.

Instead, the updated cache block is marked as Dirty.

Main memory is updated only when that block is removed (evicted) from the cache.

Basic Idea



Dirty Bit

Write Back introduces a Dirty Bit.

Each cache block has one additional bit.

Dirty = 0

Block is identical to main memory.

No update required.

Dirty = 1

Block has been modified.

Must be written back before eviction.

Working Principle

When CPU writes:

Step 1

CPU updates Cache.

Step 2

Dirty Bit becomes:

1

Step 3

Main Memory is unchanged.

Step 4

When the cache block is replaced,

the modified block is copied back to Main Memory.

Sequence Diagram





During Eviction




Advantages of Write Back

  • Much lower memory traffic.
  • Faster write operations.
  • Better cache performance.
  • Reduced memory bandwidth usage.
  • Lower power consumption.

Disadvantages of Write Back

  • Hardware implementation is more complex.
  • Requires Dirty Bit management.
  • Cache and RAM may temporarily contain different values.
  • Modified data may be lost if power fails before write-back (unless protected by battery-backed cache, ECC, or journaling techniques).

Write Through vs Write Back


Memory Traffic Comparison



Real-World Analogy

Imagine editing a document.

Write Through

Every time you type a letter,

the document is immediately saved to disk.

Safe, but slower.

Write Back

You keep editing in memory.

The document is saved only when you click Save or close the file.

Much faster,

but unsaved changes can be lost if the computer crashes.

Where Are These Policies Used?

Write Through

Commonly used in:

  • Embedded systems
  • Shared-memory systems
  • I/O buffers
  • Systems requiring high data consistency

Write Back

Used in:

  • Modern desktop CPUs
  • Server processors
  • Mobile processors
  • High-performance computing systems

Nearly all modern processors use Write Back for their L1 and L2 caches because of its superior performance.

Dirty Bit Explained

Each cache block contains a Dirty Bit.

Dirty BitMeaning
0Cache block matches main memory
1Cache block has been modified and must be written back before eviction

The Dirty Bit is one of the key mechanisms that makes Write Back efficient.

Advantages of Good Write Policies

  • Reduce average memory access time.
  • Improve processor performance.
  • Lower memory bandwidth consumption.
  • Balance consistency and speed.
  • Optimize cache utilization.

Limitations

  • Write Through generates high memory traffic.
  • Write Back requires additional hardware complexity.
  • Dirty Bit tracking increases cache controller logic.
  • Write Back needs careful handling during power failures and system crashes.

Key Points to Remember

  • Cache write policies determine how modified data is synchronized between cache and main memory.
  • Write Through updates both cache and RAM immediately.
  • Write Back updates only the cache initially and writes to RAM when the block is evicted.
  • Write Through keeps cache and memory always consistent but increases memory traffic.
  • Write Back reduces memory traffic and improves performance by delaying writes.
  • A Dirty Bit is used only in Write Back to track modified cache blocks.
  • Modern processors commonly use Write Back because it offers better performance for general-purpose workloads.

Conclusion

Cache write policies are a critical part of modern memory systems because they determine how modified data is managed between the cache and main memory. Write Through offers simplicity and strong consistency by updating both cache and memory simultaneously, making it suitable for systems where data integrity is the highest priority. Write Back, on the other hand, delays memory updates until cache eviction, significantly reducing memory traffic and improving write performance, which is why it is widely used in modern CPUs. Understanding these policies is essential for students preparing for Computer Architecture, Operating Systems, GATE, ESE, and VLSI/ASIC interviews, as they form the foundation of efficient cache design and memory management.

Comments

Popular posts from this blog

Module 1 — SystemVerilog Basics

VLSI Verification  •  SystemVerilog Series Module 1 — SystemVerilog Basics A complete, example-driven walkthrough of SystemVerilog fundamentals: data types, variables vs nets, arrays of every flavor, strings, enums, structs, unions, and typedef — the building blocks every verification engineer needs before UVM. 🧩 Beginner → Intermediate ⏱ ~25 min read 💻 Code Examples Included 📑 Table of Contents Introduction to SystemVerilog Verilog vs SystemVerilog Data Types: 2-State vs 4-State Logic Variables and Nets Arrays: Packed vs Unpacked Dynamic Arrays Queues Associative Arrays Strings Enumerations Structures Unions Typedef 1 Introduction to SystemVerilog SystemVerilog (IEEE 1800) is a unified hardware description and verification language (HDVL). It extends Verilog (IEEE 1364) with powerful constructs for design (interfaces, always_comb/always_ff, enhanced d...

GPU Memory System & Interconnect: How Data Travels Inside a Modern GPU

GPU Memory System & Interconnect: How Data Travels Inside a Modern GPU Modern GPUs deliver incredible computing power by processing thousands of operations simultaneously. While compute cores often receive the spotlight, the real performance of a GPU depends heavily on how efficiently data moves between memory and compute units. A GPU memory system is designed to provide extremely high bandwidth while keeping latency as low as possible. This is achieved through a collection of specialized hardware components working together, including the Memory Controller, HBM/GDDR memory, Crossbar, Network-on-Chip (NoC), DMA Engine, PCIe Interface, and NVLink. In this article, we'll explore each component in detail and understand how they collectively enable high-performance parallel computing. Why Does GPU Memory Matter? Every GPU application—from gaming and graphics rendering to AI model training and scientific simulations—requires continuous movement of enormous amounts of data. For examp...

Clock Domain Crossing (CDC): A Complete Beginner's Guide to Metastability, Synchronizers & Safe Data Transfer

Clock Domain Crossing (CDC): A Complete Beginner's Guide to Metastability, Synchronizers & Safe Data Transfer Modern System-on-Chip (SoC) designs rarely operate with a single clock. Instead, different modules such as CPUs, GPUs, memory controllers, communication interfaces, and peripherals often run at different clock frequencies or even use completely independent clock sources . When data moves from one clock domain to another, timing uncertainty can cause serious problems such as metastability , data corruption , and unpredictable system behaviour . This challenge is known as Clock Domain Crossing (CDC) . CDC is one of the most important topics in ASIC Design , RTL Design , ASIC Verification , FPGA Design , and SoC Architecture . Every modern chip—from smartphones to automotive processors—uses CDC techniques to ensure reliable communication between multiple clock domains. In this article, we'll explore CDC fundamentals, metastability, synchronization techniques, asynchro...

AXI Verification Interview Questions and Real-World Debugging

AMBA Protocol Series · Part 10 of 10 AXI Verification Interview Questions and Real-World Debugging Common protocol violations, how to read them off a waveform, and a curated set of interview questions with concise, correct answers — the capstone of the core 10-day series. AMBA Protocol Series: From APB & AHB to AXI — A Complete Guide for VLSI Engineers This wraps up the core 10-day series. Everything here draws directly on Days 1–9 — if any answer below feels unfamiliar, that's a good signal for which earlier post to revisit. (If you want to go further, see the 20-day extended list at the end of this post.) In This Article Common Protocol Violations Debugging From a Waveform Interview Questions and Answers Series Recap Extending the Series 1. Common Protocol Violations VALID deasserted before handshake — a source drops VALID before READY ever went high (violates the Day 8 stabi...

Cache Basics and Cache Mapping Techniques

  Cache Basics and Cache Mapping Techniques  Modern processors execute billions of instructions every second. However, processor speed has increased much faster than main memory (RAM) speed. This difference, known as the memory wall , creates a performance bottleneck because the CPU often has to wait for data from slower memory. To solve this problem, computer systems use cache memory —a small, high-speed memory located between the CPU and the main memory. In this article, we will understand the fundamentals of cache memory, the principle of locality, cache organization, and the three major cache mapping techniques. What is Cache Memory? Cache memory is a small, high-speed memory that stores copies of frequently accessed data from the main memory. Since accessing cache is much faster than accessing RAM, the CPU first checks whether the required data is available in the cache. If the data is found in the cache, it is called a cache hit . Otherwise, the CPU fetches the dat...

Timing Basics in Static Timing Analysis (STA): Delay Models, Sequential Timing, and Wire Delays

Timing Basics in Static Timing Analysis (STA) Static Timing Analysis (STA) is one of the most important verification techniques used in modern VLSI design. Before a chip is manufactured, engineers must verify that every signal reaches its destination within the required clock period. Even if a design passes functional simulation, it may still fail after fabrication because of timing violations. Unlike simulation, Static Timing Analysis mathematically analyzes every timing path without applying input test vectors. This makes STA significantly faster and capable of analyzing millions of timing paths efficiently. Table of Contents What is Static Timing Analysis? Why STA is Required Propagation Delay Contamination Delay Cell Delay Models Combinational Gate Delay Sequential Timing Setup Time Hold Time Wire Delay RC Delay Model PVT Corners Worked Examples Interview Questions Key Takeaways What is Static Timing Analysis? Static Ti...

Computer Architecture Interview Question Part 1

Skip to content Computer Architecture Interview Series Part 1 · CPU Basics · RISC vs CISC · ISA 50 Most Asked Computer Architecture Interview Questions (Part 1) The foundational round every VLSI, ASIC, and CPU design interview opens with: instruction set architecture, RISC vs CISC trade-offs, Von Neumann vs Harvard design, registers, endianness, and the fetch-decode-execute cycle — explained the way interviewers actually expect you to answer.  40 Questions (Q1–Q40) ⌛ 22 min read  VLSI & Computer Architecture Interviews On this page Foundations of Computer Architecture RISC vs CISC — Core Differences Von Neumann, Harvard & the Semantic Gap Architecture Styles, Endianness & Registers ILP, VLIW, Superscalar & Amdahl's Law Register Files, Microcontrollers & the Fetch Cycle Tip...