Speculative Pre-fetching for SSD FTL Table Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state drives (SSDs) with flash translation layer (FTL) tables experience significant latency due to cache misses, which hinder performance and quality of service, especially in high-performance client and enterprise SSDs.

Innovation Solution

Implementing a speculative pre-fetching mechanism in the data storage controller that converts input logical addresses to provisional values for accessing FTL tables stored in DRAM, caching these entries in SRAM, and concurrently processing read commands to reduce latency by anticipating correct entries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If FTL table caching is implemented in high-performance SSDs, then FTL access latency is reduced, but significant latency issues still arise due to cache misses

Engineering Contradiction:
ImproveFTL access latencyVSAvoidcache hit rate
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent applies preliminary action by implementing a speculative pre-fetching mechanism that anticipates future FTL table access needs and pre-loads entries into the cache before they are actually required. This is achieved through a pre-fetch engine that monitors access patterns and proactively retrieves data, thereby converting reactive cache misses into proactive cache hits and significantly reducing latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by creating a hybrid caching system that dynamically adjusts between different cache types (scratchpad cache and buffer cache) based on access patterns and workload characteristics. The system can switch between deterministic scratchpad caching for predictable accesses and more flexible buffer caching for variable patterns, optimizing performance across different operational scenarios.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If deterministic access patterns are used for FTL table caching, then latency is reduced for predictable workloads, but performance degrades for random read scenarios

Engineering Contradiction:
Improveaccess latencyVSAvoidworkload adaptability
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent applies parameter changes by implementing a dual-cache architecture where the scratchpad cache size and buffer cache size can be dynamically adjusted based on workload characteristics. The system monitors access patterns and reallocates cache resources accordingly, allowing optimal performance for both deterministic and random workloads without requiring separate specialized caches.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements universality by designing a caching system that serves multiple functions through a unified architecture. The hybrid cache system can handle both deterministic sequential accesses and random access patterns using the same physical cache resources, eliminating the need for separate specialized caching mechanisms and improving overall system versatility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Loss of time

If cache size is increased to reduce cache misses, then FTL access latency improves, but device complexity and cost increase

Engineering Contradiction:
ImproveFTL access latencyVSAvoidcache system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the cache system into two distinct segments: a scratchpad cache for deterministic, high-speed accesses and a buffer cache for more flexible, pattern-based pre-fetching. This segmentation allows each cache type to be optimized for its specific function while sharing physical resources, reducing overall complexity compared to a single large cache while maintaining low latency performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements copying by creating a simplified copy of the FTL table structure in the scratchpad cache that mirrors the essential mapping information. This copy allows for extremely fast deterministic access to critical metadata while the full FTL table remains in DRAM, reducing the amount of data that needs to be cached and thereby reducing complexity and cost.

Inventive Principle:
Principle #26Copying

4Reliability

If speculative pre-fetching is implemented, then cache hit rate increases to 95% of read operations, but processing complexity in the data storage controller increases

Engineering Contradiction:
Improvecache hit rateVSAvoidcontroller processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies the intermediary principle by introducing a dedicated pre-fetch engine that acts as a mediator between the host controller and the FTL table. This separate processing unit handles the speculative pre-fetching operations independently, offloading the processing complexity from the main controller path while still achieving high cache hit rates through intelligent anticipation of access patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10824568B2Speculative pre-fetching of flash translation layer tables for use with solid state systems
Publication Date: 2020.11.03 SANDISK TECHNOLOGIES LLC
  • US10824568B2 patent drawing
  • US10824568B2 patent drawing
  • US10824568B2 patent drawing

AI summary

The present disclosure describes technologies and techniques for use by a data storage controller of a non-volatile memory (NVM) system. In various examples, the controller is configured to perform speculative pre-fetching from a flash translation layer (FTL) table that relates logical addresses to physical locations in the NVM. In some examples, hardware within the controller fetches an entry from an external FTL table based on a provisional FTL address determined using a simplified (quick) address determination procedure and caches the entry internally. This is referred to as speculative pre-fetch. An FTL processor also determines the address of the FTL entry using a full (slower) firmware-based procedure. The FTL processor applies its firmware-computed address to the cache to determine if the entry is cached and, if so, the entry is retrieved from the cache. Otherwise, the entry is retrieved from the external FTL table. In this manner, latency can be reduced.