Unified Storage Element Staging Data Between Fast and Bulk Durable Layers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage systems face inefficiencies in data management and reliability due to unnecessary write operations and lack of direct control over flash storage processes, leading to potential data loss and reduced system 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, without involving lower-level storage controllers, and using non-volatile memory express (NVMe) for fast data access and buffering to improve latency and reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If traditional storage controllers manage flash storage operations, then data management is automated, but system complexity increases and direct control is lost

Engineering Contradiction:
Improvedata management controlVSAvoidstorage controller complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the storage controller layer from the data management process, allowing the operating system to directly control flash storage operations. This eliminates the intermediate controller that adds complexity while reducing control efficiency, enabling the OS to directly initiate data allocation, garbage collection, and wear leveling processes.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The flash storage system is designed to be self-managing through OS-controlled processes. The system performs automatic garbage collection, wear leveling, and data allocation without requiring complex external controller management, allowing the storage system to service itself through streamlined OS directives.

Inventive Principle:
Principle #25Self-service

2Reliability

If redundant write operations are performed in traditional storage systems, then data reliability is improved, but write efficiency decreases and unnecessary operations occur

Engineering Contradiction:
Improvedata reliabilityVSAvoidwrite efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary data validation and allocation planning before write operations. The OS prepares data structures and allocation plans in advance, ensuring that writes are performed only when necessary and with proper redundancy already established, eliminating unnecessary write operations while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts write operation parameters based on storage conditions, data importance, and system state. By changing write frequency, redundancy level, and allocation strategies based on real-time parameters, the system achieves optimal balance between reliability and write efficiency without performing unnecessary redundant writes.

Inventive Principle:
Principle #35Parameter changes

3Speed

If fast data access is implemented using NVMe, then latency is reduced, but system complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidbuffer management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges the NVMe buffer management with the operating system's memory management subsystem. By integrating buffer caching, data staging, and access optimization directly into the OS kernel, the system achieves fast NVMe access speeds while avoiding the complexity of separate buffer management hardware or firmware layers.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11593036B2Staging data within a unified storage element
Publication Date: 2023.02.28 PURE STORAGE INC
  • US11593036B2 patent drawing
  • US11593036B2 patent drawing
  • US11593036B2 patent drawing

AI summary

Staging data on a storage element integrating fast durable storage and bulk durable storage, including: receiving, at a storage element integrating fast durable storage and bulk durable storage, a data storage operation from a host computer; storing data corresponding to the data storage operation within fast durable storage in accordance with a first data resiliency technique; and responsive to detecting a condition for transferring data between fast durable storage and bulk durable storage, transferring the data from fast durable storage to bulk durable storage in accordance with a second data resiliency technique.