Host Controller Flash Address Handling for Storage Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face inefficiencies due to the execution of translation layers at the drive level, leading to increased write amplification and resource misuse, particularly when handling flash-based solid-state storage drives.

Innovation Solution

The solution involves removing the translation layer from the drive level and performing physical flash address handling operations at the host controller level, allowing for increased parallelism in write processes and adjusting storage bandwidth dynamically during runtime to optimize data storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If translation layer is executed at drive level, then data management is decentralized, but write amplification increases and storage efficiency decreases

Engineering Contradiction:
Improvedecentralized data managementVSAvoidstorage efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts the translation layer from the drive level and relocates it to the host controller level. This removes the inefficient decentralized translation execution from individual drives, eliminating write amplification while preserving data management capabilities at the host level where parallelism can be utilized.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of executing translation at the drive level (decentralized approach), the patent inverts the architecture by executing translation at the host controller level (centralized approach). This reversal eliminates the write amplification problem while maintaining operational flexibility through host-level control.

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

2Extent of automation

If translation layer is executed at drive level, then autonomous drive management is enabled, but resource misuse occurs and performance deteriorates

Engineering Contradiction:
Improveautonomous drive managementVSAvoidwrite performance
Core Design Contradiction:
Extent of automationVSProductivity

Solution Approach 1:

The patent extracts the translation layer functionality from individual drives, removing the autonomous but inefficient translation execution. This eliminates resource misuse and performance deterioration while maintaining automation through host controller management of flash address handling.

Inventive Principle:
Principle #2Taking out (Extraction)

3Device complexity

If fixed segment allocation is used, then simple memory management is achieved, but storage bandwidth utilization is inefficient

Engineering Contradiction:
Improvememory management complexityVSAvoidstorage bandwidth utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic segment allocation where the number of segments allocated to each process is adjusted at runtime based on actual storage bandwidth utilization and process needs. This dynamic approach improves storage bandwidth utilization while maintaining manageable complexity through automated allocation algorithms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the allocation parameter from fixed to variable, allowing the number of segments to be adjusted based on runtime conditions such as storage bandwidth availability and process requirements. This parameter change enables efficient bandwidth utilization without significantly increasing management complexity.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If parallelism is increased in write processes, then write performance improves, but resource contention and management complexity increase

Engineering Contradiction:
Improvewrite performanceVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent dynamically adjusts the number of parallel segments allocated to each process based on runtime conditions, allowing write performance to improve through parallelism while managing resource contention through automated allocation. This dynamic approach balances performance improvement with manageable complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11029853B2Dynamic segment allocation for write requests by a storage system
Publication Date: 2021.06.08 PURE STORAGE INC
  • US11029853B2 patent drawing
  • US11029853B2 patent drawing
  • US11029853B2 patent drawing

AI summary

Apparatus and methods of operating solid-state drives in a storage system are described. A method includes adjusting, by a host controller of a storage system during run-time, storage bandwidth for a storage system process responsive to an input output (I/O) write request to write data to the storage system that includes multiple solid-state storage drives by determining an allocation share for the storage system process requesting to write the data, and responsive to determining an open segment usage by the storage system process is under the allocation share for the storage system process, opening a new segment for the storage system process.