LBA Blocking Table for SSD Parallel Command Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state storage systems face data integrity issues when transitioning from a serial to a parallel interface, particularly due to longer programming times for higher-density cells and the need for maintenance operations like garbage collection, which can render the storage media inaccessible for extended periods, leading to potential data corruption.

Innovation Solution

A process involving a hardware-implemented LBA blocking table that checks incoming host access instructions against pending instructions to ensure data integrity by only executing commands that won't affect stored data, using a blocking check engine to manage parallel command execution and a blocking release interface to clear stored information once instructions are completed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple commands are processed in parallel in solid state storage systems, then productivity is improved, but data integrity deteriorates due to potential corruption from overlapping read/write operations

Engineering Contradiction:
Improvecommand processing throughputVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an LBA blocking table as an intermediary data structure that mediates between parallel command processing and data integrity protection. The table stores address ranges of pending operations and acts as a reference for blocking check logic to determine whether new commands may proceed, preventing data corruption while maintaining parallel processing capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback through blocking check logic that continuously monitors the LBA blocking table and dynamically controls command execution based on current system state. When address range conflicts are detected, the feedback mechanism blocks problematic commands until conflicts are resolved, ensuring data integrity without permanently reducing throughput

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If higher-density solid state storage cells are used, then storage capacity is improved, but programming time increases causing longer inaccessibility periods

Engineering Contradiction:
Improvestorage capacityVSAvoidprogramming time
Core Design Contradiction:
Quantity of substanceVSDuration of action of moving object

Solution Approach 1:

The system performs preliminary actions by pre-planning and scheduling storage operations to minimize conflicts before they occur. The LBA blocking table is proactively updated with pending operation address ranges, and the blocking check logic preemptively identifies potential conflicts, allowing the system to optimize command sequencing and reduce total programming time for high-density cells

Inventive Principle:
Principle #10Preliminary action

3Reliability

If maintenance operations like garbage collection are performed on solid state storage media, then storage reliability is improved, but system accessibility deteriorates as media becomes inaccessible for extended periods

Engineering Contradiction:
Improvestorage reliabilityVSAvoidmedia inaccessibility time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing maintenance operations into smaller, more granular tasks that can be interleaved with host access operations. The LBA blocking table enables fine-grained tracking of address ranges involved in maintenance operations, allowing the system to segment and schedule these operations to minimize impact on overall system accessibility while maintaining storage reliability

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9697141B2LBA blocking table for SSD controller
Publication Date: 2017.07.04 SK HYNIX INC
  • US9697141B2 patent drawing
  • US9697141B2 patent drawing
  • US9697141B2 patent drawing

AI summary

A host access instruction is received from one of a plurality of channels which are served in parallel. The host access instruction includes an address range of one or more addresses and a type of access. The address range and type of access are compared against a table of stored address ranges and stored types of access associated with any pending host access instructions. It is determined whether to execute the host access instruction based at least in part on the comparison. If it is decided to execute the host access instruction, the host access instruction is forwarded for execution and the address range and the type of access from the host access instruction are stored in the table.