Hot LBA Tracker Batching Write Commands for SSD Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing SSDs experience performance degradation due to inefficient management of hot logical block addresses (LBAs), which occur when multiple write commands targeting the same storage range are received in quick succession, leading to overlap fetching and automated write command flow interruptions.

Innovation Solution

Implementing a hot LBA tracker that classifies write commands and stores completion information for hot LBAs without immediate execution. The tracker accumulates multiple write commands for hot LBAs and executes the most recent one when necessary, sending completion messages for both executed and skipped hot LBAs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each hot LBA is handled separately with immediate execution, then data consistency is maintained, but performance degradation occurs due to frequent interruptions and bus utilization

Engineering Contradiction:
Improvedata consistencyVSAvoidSSD performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-classifying write commands as hot LBAs and storing their completion information in advance without immediate execution. The controller identifies hot LBAs, stores their completion data in a dedicated buffer, and delays execution until necessary, thereby maintaining data consistency while reducing performance degradation from frequent interruptions

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a dedicated buffer for storing completion information of hot LBAs. This intermediary buffer acts as a mediator between command reception and execution, allowing the system to batch process hot LBAs rather than handling them immediately one by one, thus improving performance while maintaining reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If hot LBAs are executed immediately upon receipt, then response time is reduced, but firmware overhead and processing complexity increase

Engineering Contradiction:
Improvecommand response timeVSAvoidfirmware overhead
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent merges multiple hot LBA handling operations into a single batched execution process. Instead of executing each hot LBA immediately and separately, the controller combines multiple hot LBA completion informations in a buffer and processes them together, reducing firmware overhead and processing complexity while maintaining acceptable response times

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If overlap fetching is allowed for hot LBAs, then data throughput is improved, but command flow interruption occurs

Engineering Contradiction:
Improvedata throughputVSAvoidcommand flow stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent segments the command processing flow into distinct phases: classification phase (identifying hot LBAs), buffering phase (storing completion information), and execution phase (batched processing). This segmentation allows overlap fetching to occur during buffering without disrupting the overall command flow stability, as each phase operates independently

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250044986A1Skipping completion for repeat lbas based upon LBA tracking
Publication Date: 2025.02.06 SANDISK TECHNOLOGIES LLC
  • US20250044986A1 patent drawing
  • US20250044986A1 patent drawing
  • US20250044986A1 patent drawing

AI summary

Instead of handing each hot LBA separately, a hot LBA tracker is used to handle hot LBAs. As a command arrives, the controller classifies the command. If the command is classified as a hot LBA, then the hot LBA tracker will store the hot LBA in a separate location from where the executed commands are stored. In doing so, the hot LBA tracker will store completion information without executing the hot LBA. The hot LBAs that have a stored completion, but are not executed, are considered “skipped” hot LBAs. Once the controller determines that the hot LBA needs to be executed, the controller will execute the most recent hot LBA. After execution of the most recent hot LBA, the controller sends a completion for the most recent hot LBA and “skipped” hot LBAs.