SSD Scanning Agent for Logical Block Address Proximity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solid-state drive (SSD) read operations in NAND flash memory are inefficient due to random distribution of logical block addresses, resulting in low data throughput, with only 25% effectiveness in single-plane mode and 12.5% in dual-plane mode, as only the requested data slip is transferred while the rest of the page is dropped.

Innovation Solution

An information handling system with a scanning agent that asynchronously scans sequences of logical block addresses, identifies frequently proximate addresses, and communicates this information to the SSD controller to organize data in physical pages, ensuring that multiple frequently accessed logical block addresses are stored together, thereby increasing data throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data slips are randomly distributed through different pages in NAND flash memory, then data can be stored flexibly, but read operation effectiveness drops to 25% in single-plane mode and 12.5% in dual-plane mode

Engineering Contradiction:
Improvedata storage flexibilityVSAvoidread operation effectiveness
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs preliminary analysis of I/O operation patterns to identify frequently proximate logical block addresses before organizing data. The scanning agent proactively scans sequences of LBAs and determines proximity relationships in advance, allowing the SSD controller to pre-organize data in physical pages according to these patterns, thereby improving future read efficiency without sacrificing storage flexibility

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adapts data organization based on observed access patterns. The scanning agent continuously monitors I/O operations and updates the understanding of frequently proximate LBAs, allowing the SSD to reorganize data in physical pages according to changing access patterns, thus maintaining both flexibility and high read effectiveness

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If only the requested data slip is transferred to the host while the rest of the page is dropped, then precise data retrieval is achieved, but data throughput is significantly reduced

Engineering Contradiction:
Improvedata retrieval precisionVSAvoiddata throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system merges multiple data slips that are frequently accessed together into the same physical page. By organizing LBAs that are frequently proximate into unified physical page structures, the SSD can transfer multiple valid data slips in a single read operation rather than dropping unused data, thereby increasing throughput while maintaining precise retrieval of requested data

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The scanning agent provides feedback about access patterns to the SSD controller, which then adjusts data organization in physical pages accordingly. This feedback loop ensures that data is organized to maximize throughput based on actual usage patterns while maintaining the precision of data retrieval by preserving the logical structure needed for accurate data identification

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11681436B2Systems and methods for asynchronous input/output scanning and aggregation for solid state drive
Publication Date: 2023.06.20 DELL PROD LP
  • US11681436B2 patent drawing
  • US11681436B2 patent drawing
  • US11681436B2 patent drawing

AI summary

An information handling system may include a processor and a scanning agent including a program of instructions embodied in computer-readable media communicatively coupled to the processor, and configured to, asynchronously from input/output operations to a solid state drive communicatively coupled to the processor: scan sequences of logical block addresses corresponding to consecutively occurring input/output operations to the solid state drive; determine logical block addresses that are frequently proximate to each other in the sequences; and communicate information regarding the logical block addresses that are frequently proximate to each other in the sequences to the solid state drive, such that a controller of the solid state drive uses the information to organize data in physical pages of the solid state drive such that at least one physical page includes logical block addresses that are frequently proximate to each other in the sequences.