Direct-Mapped Flash Storage QoS via OS Controller Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage systems face inefficiencies in data management and storage operations, particularly in handling flash drives without integrated controllers, leading to unnecessary write operations and reduced reliability.

Innovation Solution

Implementing a direct-mapped flash storage system where the operating system initiates and controls processes, such as data allocation and garbage collection, across multiple flash drives without involving lower-level storage controllers, utilizing non-volatile RAM as a buffer for write operations and employing erasure coding for redundancy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional storage controllers are used to manage flash drives, then storage operations are simplified, but redundant write operations increase and reliability decreases

Engineering Contradiction:
Improvestorage reliabilityVSAvoidstorage system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the storage controller functionality from the flash drive hardware and relocates it to the operating system software layer. This allows the OS to directly manage flash drives without intermediate controllers, eliminating redundant write operations and improving reliability while maintaining manageable complexity through software abstraction.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a software-based intermediary layer in the operating system that mediates between applications and flash drives. This software layer handles allocation, garbage collection, and write operations directly, eliminating the need for hardware controllers while maintaining systematic control over storage operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If OS directly controls flash drives without controllers, then write operations are reduced and reliability improves, but system complexity increases

Engineering Contradiction:
Improvestorage operation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical/hardware storage controller with a software-based control mechanism in the operating system. This substitution eliminates redundant hardware components and their associated write operations while managing complexity through software design patterns and abstractions.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If erasure coding is implemented for redundancy, then data integrity improves, but storage overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidstorage capacity overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements erasure coding by changing the data organization parameters at the software level, dividing data into fragments and distributing them across multiple flash drives. This approach provides redundancy and data integrity while allowing flexible adjustment of the redundancy ratio to balance between reliability and storage overhead.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11789780B1Preserving quality-of-service (‘QOS’) to storage system workloads
Publication Date: 2023.10.17 PURE STORAGE INC
  • US11789780B1 patent drawing
  • US11789780B1 patent drawing
  • US11789780B1 patent drawing

AI summary

Workload planning with quality-of-service (‘QoS’) integration, including: determining, for each of a plurality of entities, one or more QoS thresholds associated with the entity; determining, for each of the plurality of entities, one or more resource utilization levels associated with the entity; and determining, in dependence upon the one or more QoS thresholds associated with the plurality of entities, the one or more resource utilization levels associated with the plurality of entities, and one or more overprovisioning factors associated with the storage system, a risk factor that identifies the likelihood that one or more system resources will be overconsumed by the plurality of entities.