Skip to main contentSkip to navigation
Rossmann Repair Group logo - data recovery and MacBook repair

What the Flash Translation Layer Does

Louis Rossmann
Written by
Louis Rossmann
Founder & Chief Technician
Published March 8, 2026
Updated March 8, 2026

The Flash Translation Layer (FTL) is firmware running on the SSD controller that translates logical block addresses (LBAs) from the operating system into physical page and block addresses in the NAND flash chips. It is the SSD equivalent of a hard drive's translator module. The FTL also manages garbage collection, wear leveling, bad block tracking, and over-provisioning. When the FTL corrupts, the drive appears empty or unresponsive even though the data is still physically present in the NAND cells.

Logical-to-Physical Address Mapping

The operating system addresses an SSD using linear logical block addresses: LBA 0, LBA 1, LBA 2, and so on. The FTL maintains a mapping table that converts each LBA to a specific physical location: which NAND die, which plane, which block, and which page within that block.

This mapping is not fixed. Unlike a hard drive where each LBA maps to a predictable physical location (determined by the translator module), an SSD's FTL changes the mapping every time data is written. When the host writes to LBA 1000, the FTL assigns it to whatever physical page is available in the current write block. The next write to LBA 1000 will go to a different physical page, and the FTL updates the mapping table accordingly. The old physical page is marked as invalid.

The mapping table is stored in the SSD's DRAM cache (if the controller has a DRAM buffer) and periodically flushed to a reserved area of the NAND. DRAM-less SSDs store the mapping table directly in NAND and cache portions of it in the controller's small internal SRAM. This is why DRAM-less SSDs have higher random read latency: looking up a mapping entry may require reading it from NAND first.

How the FTL Handles Garbage Collection

As the host writes and overwrites data, NAND blocks accumulate a mix of valid pages (current data) and invalid pages (overwritten or TRIMmed data). The FTL's garbage collector reclaims space by:

  1. Selecting a block with a high ratio of invalid pages
  2. Reading all valid pages from that block into a buffer
  3. Writing those valid pages to a new block
  4. Updating the mapping table to reflect the new physical locations
  5. Erasing the old block, making it available for new writes

The FTL must update the mapping table atomically during garbage collection. If power is lost between step 4 (updating the map) and step 5 (erasing the old block), the FTL will have two physical copies of the same data. Well-designed FTLs use journaling or checkpoint mechanisms to recover from this state. Poorly designed FTLs may leave the mapping table in an inconsistent state, which is one of the most common causes of FTL corruption after power loss.

What FTL Corruption Looks Like

SymptomLikely FTL IssueData Status
Drive shows 0 bytes or wrong capacityMapping table destroyed or unreadableData present in NAND; map to find it is lost
Drive not detected by BIOS/OSController cannot load FTL from NAND during initializationData present; controller is stuck in a boot loop
Filesystem shows as RAW or unformattedPartial FTL corruption; some mappings valid, others point to wrong pagesMixed: some data accessible, some mapped to wrong locations
Drive appears in BIOS with wrong model name (e.g., "SATAFIRM S11")Controller entered firmware safe mode due to FTL load failureData present; controller is in diagnostic/safe mode

FTL corruption does not erase data.

The mapping table is separate from the data itself. When the FTL corrupts, only the table of contents is damaged. The actual user data remains in the NAND cells in the physical pages where it was last written. Recovery involves rebuilding the mapping table by scanning the raw NAND pages and extracting metadata that each page contains (LBA stamps, sequence numbers) to reassemble the correct logical-to-physical map.

How Recovery Tools Rebuild Corrupted FTL Tables

PC-3000 SSD connects to the drive through its normal SATA interface but uses vendor-specific commands to bypass the controller's normal firmware path. The tool can:

  • Read raw NAND pages directly, bypassing the corrupted FTL mapping
  • Identify valid pages using embedded metadata (each page typically contains its LBA stamp and a sequence number)
  • Sort pages by sequence number to identify the most recent version of each LBA (since SSDs write new versions to new pages without erasing the old one immediately)
  • Rebuild the logical image of the drive by assembling pages in LBA order

For controllers that use hardware encryption (common in Samsung, Phison, and Silicon Motion controllers), the FTL rebuild must also account for the encryption layer. The data on the NAND is encrypted with a media encryption key (MEK) stored in the controller. If the controller is functional but the FTL is corrupt, the controller can still decrypt data as it is read through the vendor-specific diagnostic path.

Frequently Asked Questions

What happens when the FTL corrupts?

The controller loses the mapping between logical block addresses and physical NAND locations. The drive may appear empty, show 0 bytes, or fail to initialize. The data is still physically present in the NAND; only the map to find it is damaged. PC-3000 SSD can rebuild FTL tables by scanning raw NAND data and reassembling the mapping.

Is FTL corruption the same as data loss?

No. FTL corruption means the map is damaged, not the data itself. Recovery tools rebuild the mapping by scanning raw NAND pages and reconstructing the address table from embedded metadata. If the NAND cells are intact, the data is typically recoverable because the physical pages still contain their LBA stamps and sequence numbers.

If you are experiencing this issue, learn about our SSD recovery service.