Roving Memory Region Write Paths for Heterogeneous Flash Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern data storage systems face inefficiencies in data reliability and access schemes when dealing with heterogeneous types and sizes of storage class and non-storage class memory, leading to sub-optimal operations with different types of data and metadata.

Innovation Solution

The proposed storage systems optimize write paths by selecting from multiple modes, including writing to non-storage class memory and bypassing it, using mirrored RAID formats, parity-based RAID formats, and direct writes to storage class memory, with mechanisms for handling metadata and heterogeneous memory configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single data reliability scheme and data access scheme are used for all types of data and memory configurations, then the system structure is simple, but the data access efficiency is sub-optimal for different types of data and heterogeneous memory

Engineering Contradiction:
Improvedata access efficiencyVSAvoidsystem structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic selection of data reliability schemes and data access schemes based on the type of data being stored and the specific memory configuration. The system can adaptively choose between different RAID schemes (RAID 0, 1, 5, 6, 10, 50, 60) and different access patterns (sequential access, random access, mirrored access) to optimize performance for each workload, transforming a static single-scheme system into a dynamic multi-scheme system that adapts to changing requirements

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters (data reliability scheme selection, data access scheme selection) based on input conditions (data type, memory configuration). Different parameters are selected for different scenarios: sequential access for metadata, random access for data, mirrored RAID for high-reliability requirements, and parity-based RAID for capacity-efficient scenarios, allowing optimization across multiple dimensions

Inventive Principle:
Principle #35Parameter changes

2Productivity

If multiple data reliability schemes and data access schemes are implemented for different data types and memory configurations, then data access efficiency is optimized, but the system complexity increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidsystem structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the storage system into distinct functional components: metadata storage region, data storage region, multiple memory devices with different characteristics, and separate control logic for selecting reliability and access schemes. This segmentation allows each component to be optimized independently while working together as an integrated system, managing complexity through modular organization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements a universal controller that can select and switch between multiple data reliability schemes and data access schemes based on the workload requirements. This multi-functional controller handles different data types (metadata, data), different memory configurations (homogeneous, heterogeneous), and different access patterns through a single unified architecture, avoiding the need for separate dedicated systems for each scenario

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Speed

If non-storage class memory is used for data buffering, then write speed is improved, but data reliability may be compromised without proper redundancy schemes

Engineering Contradiction:
Improvewrite speedVSAvoiddata reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces non-storage class memory as an intermediary component between the host and storage class memory. This intermediary provides high-speed write buffering while working in conjunction with storage class memory that provides persistence and reliability. The system can write data quickly to non-storage class memory first, then asynchronously transfer to storage class memory with appropriate redundancy, decoupling the speed requirement from the reliability requirement

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements beforehand cushioning by using non-storage class memory as a protective buffer that absorbs write operations. This buffer provides a cushion against direct writes to slower, more reliable storage class memory, allowing the system to maintain high write speeds while the redundancy schemes in storage class memory provide the reliability cushion. The non-storage class memory cushions the impact of high-speed writes on the overall system reliability

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS12493428B2Storage system having roving memory region
Publication Date: 2025.12.09 PURE STORAGE INC
  • US12493428B2 patent drawing
  • US12493428B2 patent drawing
  • US12493428B2 patent drawing

AI summary

A storage system has NVRAM (nonvolatile random-access memory), storage memory that includes SLC (single level cell) flash memory and QLC (quad level cell) flash memory, and a processor. The processor performs a method that includes selecting one of a plurality of write paths for incoming data, and writing the incoming data via the selected write path. A first write path includes writing to NVRAM, writing from NVRAM to SLC flash memory and writing from SLC flash memory to QLC flash memory. A second write path includes writing to NVRAM and writing from NVRAM to QLC flash memory, bypassing SLC flash memory. A third write path includes writing to SLC flash memory, bypassing NVRAM, and writing from SLC flash memory to QLC flash memory.