Multi-Queue Storage Command Prediction via Address Sorting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems struggle to predict next read commands effectively in multi-thread environments due to shuffled command sequences, leading to reduced input-output operations per second (IOPs) and throughput performance, as conventional history-pattern-matcher modules designed for single-thread operations fail to handle the pseudo-random shuffling of commands in multi-thread systems.

Innovation Solution

A storage system that sorts read commands based on logical block addresses and maintains a history patterns log to predict the next read command by identifying the most-frequently-occurring logical block address, even in multi-thread environments, using a method that re-orders command sequences to reveal underlying patterns and adapts pattern length for accurate prediction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional history-pattern-matcher modules designed for single-thread operations are used, then prediction capability works for single-thread sequences, but prediction accuracy deteriorates in multi-thread environments due to pseudo-random shuffling of commands

Engineering Contradiction:
Improveprediction accuracyVSAvoidmulti-thread environment adaptability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent segments the multi-thread command stream by maintaining separate history logs for each thread or queue. The controller identifies and separates commands originating from different threads, maintaining individual pattern histories for each thread rather than mixing them together. This segmentation preserves prediction accuracy for each thread while handling multiple threads concurrently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a thread identification dimension to the command processing. Each command is tagged with its source thread identifier, and the history-pattern-matcher operates in this extended dimension by selecting and processing only commands from the relevant thread. This dimensional separation allows the system to maintain single-thread prediction accuracy while supporting multi-thread environments.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If read commands are processed in the order received from multi-thread queues, then processing is simple, but prediction capability is lost due to shuffled sequences

Engineering Contradiction:
ImproveIOPs and throughputVSAvoidpattern recognition accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent performs preliminary sorting of read commands based on logical block addresses before processing them for prediction. By pre-sorting the commands in ascending order of their logical block addresses, the system restores the sequential patterns that are essential for accurate prediction, while still maintaining efficient processing through the sorted order.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of trying to predict patterns in the shuffled multi-thread command sequence, the patent inverts the approach by sorting commands in ascending order of logical block addresses. This inversion transforms the random-looking shuffled sequence into a structured sequence where patterns become visible and predictable, enabling accurate next-command prediction.

Inventive Principle:
Principle #13The other way round (Inversion)

3Productivity

If the storage system implements sorting and pattern matching for next command prediction, then IOPs and throughput improve, but system complexity increases

Engineering Contradiction:
ImproveIOPs and throughputVSAvoidcontroller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a self-service mechanism where the history-pattern-matcher module automatically learns and adapts to the specific access patterns of each thread without external intervention. The module continuously updates its internal history logs based on observed command sequences, automatically adjusting to changing patterns. This self-learning capability reduces the need for complex external control logic while maintaining high prediction accuracy.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11281981B2Storage system and sorting-based method for random read command prediction in a multi-queue system
Publication Date: 2022.03.22 SANDISK TECHNOLOGIES LLC
  • US11281981B2 patent drawing
  • US11281981B2 patent drawing
  • US11281981B2 patent drawing

AI summary

A storage system and sorting-based method for random read command prediction in a multi-queue system are provided. In one embodiment, a method for command prediction is performed in a storage system comprising a memory and being in communication with a host. The method comprises receiving a read command sequence from the host, wherein read commands in the read command sequence originate from a plurality of command queues in the host such that read commands in the read command sequence received from the host are out of order; sorting read commands in the read command sequence received from the host based on logical block addresses; and predicting a next read command from the sorted read commands. Other embodiments are provided.