Layered Virtual Drive and Backend Storage for Direct Flash I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face inefficiencies in managing data operations and device management, particularly in flash storage systems, due to redundant processes performed by both higher and lower level controllers, leading to increased latency and reduced reliability.

Innovation Solution

Implementing a direct-mapped flash storage system where data blocks are addressed directly by the operating system without address translation by storage controllers, offloading device management responsibilities from storage drives, and utilizing non-volatile RAM for quick data buffering and power failure resilience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If storage controllers perform address translation and device management, then data access is enabled, but latency increases and reliability decreases

Engineering Contradiction:
Improvedata access speedVSAvoidsystem reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent extracts device management responsibilities from the storage controller to the operating system. The storage controller is reduced to performing only basic data transfer functions, while the OS handles address translation, wear leveling, and garbage collection. This extraction eliminates the reliability issues caused by redundant controller management while maintaining data access functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent inverts the traditional storage architecture by having the operating system perform functions typically done by storage controllers. Instead of the controller managing data blocks and address translation, the OS directly manages flash memory blocks and performs address mapping. This inversion resolves the contradiction by placing management responsibilities where they can be handled more reliably without adding latency.

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

2Productivity

If storage controllers perform device management, then data operations are enabled, but write operations become redundant and efficiency decreases

Engineering Contradiction:
Improvedata operation efficiencyVSAvoidwrite operation overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent merges the device management functions with the operating system's file system layer. By combining address translation, wear leveling, and garbage collection into the OS, the system eliminates redundant write operations that occur when separate controllers perform these functions. This merging improves productivity by streamlining the data path and reducing unnecessary write amplification.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If higher level controllers manage data operations, then data integrity is improved, but system complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidcontroller architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts complex management functions from the storage controller and relocates them to the operating system. This extraction simplifies the controller architecture to basic data transfer operations while maintaining data integrity through OS-level management. The complexity is not eliminated but relocated to where it can be managed more effectively without increasing overall system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20250284664A1Providing block-based dataset storage using layered virtual and backend devices
Publication Date: 2025.09.11 PURE STORAGE INC
  • US20250284664A1 patent drawing
  • US20250284664A1 patent drawing
  • US20250284664A1 patent drawing

AI summary

A method of providing block-based storage is described. The method comprises: creating a virtual storage system for storing a dataset, the virtual storage system including a virtual drive layer that includes a plurality of virtual drives for storing at least a portion of the dataset as block data; and a block storage backend layer for storing at least the portion of the dataset as block data, the block storage backend layer including one or more block-based storage devices; receiving an I/O operation with respect to the dataset; and based on the received I/O operation, storing, in the block storage backend layer, an update to the dataset.