Adaptive Spanning Control for SSD Storage Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state drives (SSDs) face inefficiencies in data storage and retrieval due to the trade-off between storage efficiency through spanning techniques and performance degradation, particularly in managing read-intensive data and error correction codes.

Innovation Solution

Implementing adaptive spanning control in SSDs, where the controller assesses read frequency characteristics and internal error correction code rates to dynamically decide whether to enable or disable spanning for write operations, optimizing between storage efficiency and performance based on the priority of either efficient space utilization or faster data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If spanning technique is used to write different portions of data to two different pages, then storage efficiency is improved, but read performance deteriorates due to increased access complexity

Engineering Contradiction:
Improvestorage efficiencyVSAvoidread performance
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent implements adaptive spanning control that dynamically adjusts spanning decisions based on real-time read frequency characteristics and error correction code rates. The controller selectively applies spanning to non-read-intensive data while avoiding it for read-intensive data, making the spanning behavior dynamic rather than static to resolve the contradiction between storage efficiency and read performance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different spanning strategies to different data based on their specific characteristics. Read-intensive data receives non-spanning treatment to maintain fast access, while non-read-intensive data receives spanning treatment to maximize storage efficiency. This localized quality approach allows each data type to be optimized for its specific access pattern.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If spanning is applied to increase storage capacity utilization, then garbage collection operations increase, but device lifespan is reduced

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoiddevice lifespan
Core Design Contradiction:
Quantity of substanceVSDuration of action of stationary object

Solution Approach 1:

The adaptive spanning control dynamically adjusts spanning decisions based on error correction code rates and read frequency characteristics. By avoiding spanning for read-intensive data and data with high error correction requirements, the system reduces the number of garbage collection operations needed, thereby extending device lifespan while still utilizing spanning for appropriate data types to maintain storage capacity utilization.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If spanning is used to maximize space utilization, then error correction complexity increases, but data integrity risk increases

Engineering Contradiction:
Improvespace utilizationVSAvoiddata integrity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies spanning selectively based on local data characteristics, specifically avoiding spanning for data with high error correction code rates where data integrity is critical. By applying spanning only to data types where it is appropriate, the system maintains space utilization benefits while minimizing the increase in error correction complexity and data integrity risk.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10229055B2Adaptive spanning control
Publication Date: 2019.03.12 SEAGATE TECH LLC
  • US10229055B2 patent drawing
  • US10229055B2 patent drawing
  • US10229055B2 patent drawing

AI summary

The disclosed technology provides for a solid state device that adaptively determines, responsive to receipt of a write command, whether or not to partition one or more individual logical blocks of data between multiple pages of a flash storage device. According to one implementation, the partitioning (e.g., spanning) determination is based on read frequency characteristics and the internal error correction code rate of the data.