LBA Overlap Check Module for NVMe SSD Command Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NVMe-based Solid State Drives (SSDs), LBA overlap scenarios lead to blocked execution of subsequent commands, increasing latency and potentially causing execution timeouts, as the controller detects overlaps between commands accessing the same logical blocks to prevent data corruption.

Innovation Solution

An LBA-Overlap Check (LOC) module detects overlaps between incoming and outstanding command LBA ranges, maintaining an overlap count to allow sequential execution of overlapping commands and parallel execution of non-overlapping ones, ensuring seamless command processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If LBA overlap checking is performed to prevent data corruption, then data integrity is improved, but command execution latency increases

Engineering Contradiction:
Improvedata integrityVSAvoidcommand execution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the command processing system into multiple independent queues (overlapping queue and non-overlapping queue) and introduces an LBA-Overlap Check (LOC) module that independently determines whether commands should be executed sequentially or in parallel. This segmentation allows the system to maintain strict overlap checking for data integrity while enabling parallel execution for non-overlapping commands, thereby reducing latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic command execution by transitioning between sequential and parallel execution modes based on real-time LBA overlap detection. The LOC module dynamically determines the execution mode for each incoming command by checking its LBA range against outstanding commands, allowing the system to adaptively optimize performance while maintaining data integrity when needed.

Inventive Principle:
Principle #15Dynamics

2Reliability

If sequential execution of commands is enforced to ensure data integrity, then data corruption is prevented, but command processing throughput decreases

Engineering Contradiction:
Improvedata integrityVSAvoidcommand processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the command processing system into two independent execution paths: a sequential path for overlapping commands and a parallel path for non-overlapping commands. The LOC module routes commands to appropriate queues based on LBA overlap detection, enabling the system to maintain data integrity for critical operations while maximizing throughput for non-critical operations that do not overlap.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the execution parameter (sequential vs. parallel) based on the LBA overlap parameter. When LBA ranges of incoming and outstanding commands do not overlap, the system switches to parallel execution mode, increasing throughput. When overlap is detected, it switches to sequential execution mode to ensure data integrity, thus dynamically optimizing both reliability and productivity.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If LBA overlap detection is implemented in multi-core controllers, then command parallelism is enabled, but complexity of overlap management increases

Engineering Contradiction:
Improvecommand parallelismVSAvoidoverlap management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an LBA-Overlap Check (LOC) module as an intermediary component that simplifies overlap management in multi-core controllers. The LOC module acts as a mediator between the command interface and execution units, centralizing the overlap detection logic and providing clear routing decisions to multiple cores, thereby enabling parallelism without proportionally increasing management complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a feedback mechanism where the LOC module continuously monitors outstanding commands and provides real-time information about LBA overlap status to the command processing system. This feedback enables multi-core controllers to make informed decisions about command execution and queuing, facilitating parallelism while maintaining manageable complexity through structured information flow.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10922022B2Method and system for managing LBA overlap checking in NVMe based SSDs
Publication Date: 2021.02.16 SAMSUNG ELECTRONICS CO LTD
  • US10922022B2 patent drawing
  • US10922022B2 patent drawing
  • US10922022B2 patent drawing

AI summary

A method for managing Logical Block Address (LBA) range overlap checking in a Non-Volatile Memory express (NVMe) based Solid State Drive (SSD) includes detecting, by an LBA-Overlap Check (LOC) module, an overlap between an LBA range of an incoming command with an LBA range of at least one outstanding command in an SSD controller, determining, by the LOC module, an overlap count value corresponding to the incoming command, where the overlap count value indicates occurrence of an overlap between the LBA range of the incoming command and the LBA range of the at least one outstanding command, and executing, by the SSD controller, the incoming command based on the overlap count value corresponding to the incoming command.