Multi-Stream Sequential Read Optimization with Reduced Amplification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face increased read amplification and latency due to the mismatch between file system access granularity and NAND flash read units, particularly in multi-stream scenarios where read operations are interleaved and out-of-order, leading to reduced performance and SSD lifespan.

Innovation Solution

A system that assigns logical block addresses (LBAs) to queues based on stream identifiers, determines sequential patterns, and pre-fetches data from non-volatile memory to volatile memory, bypassing data-processing operations when a sequential pattern is detected, allowing for efficient retrieval and processing of data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple read requests from multiple streams are processed in interleaved and out-of-order manner, then the storage system can handle diverse access patterns, but read amplification increases and read performance deteriorates

Engineering Contradiction:
Improveability to handle diverse access patternsVSAvoidread performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments read requests into separate queues based on stream identifiers, allowing each queue to be processed independently. This segmentation enables the system to maintain adaptability to diverse access patterns while improving read performance by identifying and processing sequential patterns within each queue without interference from other streams.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis of LBA patterns in each queue to identify sequential access patterns before executing read operations. By detecting sequential patterns in advance, the system can optimize read operations by fetching multiple LBAs in a single physical read operation, thereby improving read performance while maintaining the ability to handle diverse access patterns.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If file system access granularity (4 KB) is used with NAND flash read units (16 KB), then small file access is enabled, but read amplification increases due to dropping most physically read data

Engineering Contradiction:
Improvesmall file access capabilityVSAvoidread amplification
Core Design Contradiction:
Ease of operationVSLoss of substance

Solution Approach 1:

The patent performs preliminary detection of sequential LBA patterns before executing read operations. When sequential patterns are detected, the system can fetch multiple 4 KB LBAs that fit within a single 16 KB physical read unit, thereby reducing read amplification while maintaining small file access capability. The preliminary pattern detection enables optimization of the read operation size based on actual access patterns.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent dynamically adjusts the effective read operation parameters based on detected LBA patterns. For sequential accesses, multiple 4 KB LBAs are combined into a single 16 KB physical read operation, changing the effective read granularity from 4 KB to 16 KB for that operation, thereby reducing read amplification while preserving small file access capability for random patterns.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If sequential read optimization is implemented by placing several consecutive LBAs in the same physical NAND page, then read operations are reduced, but multi-stream interleaved reads lose this optimization benefit

Engineering Contradiction:
Improveread operations efficiencyVSAvoidmulti-stream handling capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments multi-stream read requests into separate queues based on stream identifiers, allowing sequential pattern detection and optimization within each queue. This segmentation enables the system to recover sequential read optimization benefits within individual streams while maintaining the ability to handle multiple interleaved streams independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis of LBA sequences within each stream queue to identify sequential patterns before executing read operations. This preliminary detection enables the system to apply sequential read optimization (placing several consecutive LBAs in the same physical NAND page) within each stream while maintaining multi-stream handling capability, as each stream is processed independently after segmentation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11726699B2Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
Publication Date: 2023.08.15 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11726699B2 patent drawing
  • US11726699B2 patent drawing
  • US11726699B2 patent drawing

AI summary

One embodiment provides a system which facilitates data management. The system receives, by a storage device via read requests from multiple streams, a first plurality of logical block addresses (LBAs) and corresponding stream identifiers. The system assigns a respective LBA to a first queue of a plurality of queues based on the stream identifier corresponding to the LBA. Responsive to determining that a second plurality of LBAs in the first queue are of a sequentially similar pattern: the system retrieves, from a non-volatile memory of the storage device, data associated with the second plurality of LBAs; and the system stores the retrieved data and the second plurality of LBAs in a volatile memory of the storage device while bypassing data-processing operations.