top of page

Why Memory Cards Become Unstable: Over-Provisioning, FTL, and Garbage Collection


[Core Technologies Used for Internal Memory Card Management]


Memory cards do not simply become slower over time—they become internally more complex, leading to unstable response times. OFFLOADER reveals these warning signs before failures happen.


To understand why recording errors can occur for technical reasons, it is important to understand how memory cards operate internally. In this section, we explain the key technologies used inside modern memory cards in the simplest way possible.


1. Over-Provisioning


Over-Provisioning is a technology that reserves a portion of a memory card’s internal capacity as hidden spare space, invisible to the user. Its purpose is to maintain stable sustained write performance during long recording sessions. Rather than increasing write speed itself, over-provisioning changes the internal structure to prevent write latency.


For example, a memory card labeled as 64GB may actually contain more physical memory. A portion of that capacity is reserved internally for management purposes and is not accessible to the user.



In other words, the card internally maintains additional hidden spare space (e.g., addresses 11–14).


Before the early 2010s, NAND Flash was too expensive for this structure to be widely used in SD cards. As NAND process technology improved and costs decreased, over-provisioning became standard in modern memory cards. Together with Garbage Collection (GC), this structure is one of the key enablers of stable sustained write performance.


Previously, new data could only be written after existing data was erased, which inevitably caused write delays. With over-provisioning, data is written to available free space first, while cleanup is handled later by GC in the background.


Strictly speaking, data is not written without erasing—but because erase operations are deferred to idle time, the practical effect is stable long-duration recording.


2. Dynamic Mapping – Advanced FTL (Flash Translation Layer)


Dynamic Mapping is a method where data is not overwritten in place. Instead, new data is written to a new physical location, and only the address mapping is updated.


This behavior is enabled by the Flash Translation Layer (FTL).

FTL converts logical addresses (LBA) into physical NAND addresses (PBA), allowing NAND Flash—internally page-based—to behave like a standard block storage device such as an HDD or SSD.


Early memory cards used limited static or hybrid mapping due to controller performance and cost constraints. In those systems, logical and physical addresses were mostly fixed, requiring data to be erased before rewriting.



a) Static Mapping: To write data to address 3, the existing data at address 3 must first be erased and then written back to the same location.


After the introduction of over-provisioning and more capable controllers, modern cards adopted dynamic mapping, which allows physical addresses to be reassigned freely.



b) Dynamic Mapping: Even for the same user logical address, the actual physical location where the data is stored continues to change as overwriting is repeated.


With dynamic mapping:

  • Existing data is not overwritten

  • New data is written to available physical space

  • The logical address is remapped to the new physical location


This represents a shift from “erase-then-write” to “write-first, clean up later.”

As a result, erase latency is removed from the critical write path, and obsolete data is cleaned up asynchronously via Garbage Collection.


3. Garbage Collection (GC)


Garbage Collection (GC) is a background process that reclaims internal storage space by removing data that is no longer needed.


NAND Flash has a fundamental limitation:

  • Data is written in pages (typically 4KB)

  • Data can only be erased in blocks (typically several megabytes)


Because of this, valid and invalid data become mixed within blocks over time.

GC resolves this by:

  1. Selecting blocks containing mostly invalid data

  2. Copying remaining valid data to another location

  3. Erasing the original block to make it reusable


This process runs continuously in the background without user awareness.

GC is essential—but if it runs too frequently or at the wrong time, it can directly impact performance.

  • When GC has enough idle time → minimal performance impact

  • When GC is forced to run aggressively → internal data movement increases

    → write latency rises

    → recording interruptions may occur


In long, continuous recording scenarios, GC efficiency becomes critical to sustained write stability.


Frequent GC activity typically indicates:

  • Reduced internal free space

  • Increased fragmentation

  • Aging NAND cells

  • Growing response time instability


4. SLC Cache & Folding – The Core Structure Behind Sustained Writes


Most modern SD cards and SSDs use TLC or QLC NAND Flash. While dense and cost-efficient, these NAND types suffer from unstable write latency.


To address this, controllers use part of the NAND in SLC (Single-Level Cell) mode, forming an SLC Cache.


During recording:

  1. Incoming video data is written first to the SLC cache at low latency

  2. In the background, data is transferred to TLC/QLC storage

This transfer process is called Folding.


A critical point is that folding does not occur only after the cache is full.

Instead, it operates continuously in parallel with incoming writes.


During sustained recording:

  • New data enters the SLC cache

  • Existing data is folded into TLC/QLC

  • Freed SLC space is immediately reused

As a result, the SLC cache functions as a circular buffer, not a fixed one-time cache.


The fundamental condition for stable long recording is:

Folding throughput ≥ incoming write throughput


If folding slows down:

  • The SLC cache cannot be cleared fast enough

  • Write latency increases

  • Response time degradation appears

  • Recording may stop


As memory cards age:

  • Over-provisioning shrinks

  • Fragmentation increases

  • GC and ECC retries become more frequent

  • Folding throughput declines


At this point, a card may still appear compliant with V30 or V90 specifications, yet fail in real-world recording conditions.


Why OFFLOADER Matters


OFFLOADER does not attempt to read internal controller states directly.Instead, it measures and analyzes response time behavior

across the entire card, identifying statistical signs of GC and folding stress.

This allows problematic cards to be detected before recording failures occur, rather than after data loss.







In the next post, we will examine why recording interruptions can occur even with V30 and V90 memory cards that have previously worked without issues.


 
 
 

Recent Posts

See All
bottom of page