Direct-Mapped Flash Storage with NV-RAM Buffer

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 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 storage processes, such as data allocation and garbage collection, without relying on lower-level storage controllers, and using non-volatile RAM as a buffer to improve write latency and data persistence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional storage controllers manage data allocation and garbage collection, then storage operations are automated, but write latency increases and data integrity may be compromised due to unnecessary write operations

Engineering Contradiction:
Improvedata integrityVSAvoidwrite latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the storage management functions (data allocation and garbage collection) from the traditional storage controller and transfers them directly to the operating system. This eliminates the intermediary storage controller layer that was causing write latency and unnecessary write operations, thereby improving both data integrity and reducing time loss.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a buffer (such as non-volatile RAM) as an intermediary between the host and flash storage. This buffer absorbs write operations and manages data persistence without requiring immediate writes to the flash storage, reducing write latency while maintaining data integrity through controlled data transfer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If storage controllers manage all storage processes, then system complexity is reduced, but control over storage processes is lost leading to redundant operations

Engineering Contradiction:
Improvestorage efficiencyVSAvoidcontrol architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts storage management control from the storage controller and places it directly in the operating system. This gives the OS direct control over data allocation and garbage collection processes, eliminating redundant operations and improving storage efficiency, while the OS already has the capability to handle this complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If data is immediately written to flash storage, then data persistence is ensured, but write latency increases and wear on storage media accelerates

Engineering Contradiction:
Improvedata persistenceVSAvoidwrite latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses a buffer (such as non-volatile RAM) to temporarily hold data before it is written to flash storage. This preliminary buffering allows data to be staged and managed without immediate persistence requirements, reducing write latency while ensuring data persistence through controlled transfer to flash storage when appropriate.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffer acts as an intermediary between the host and flash storage, decoupling the immediate write operation from the actual data persistence. This allows fast writes to the buffer while maintaining data integrity and persistence through managed transfer to the slower but more durable flash storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11455409B2Storage layer data obfuscation
Publication Date: 2022.09.27 PURE STORAGE INC
  • US11455409B2 patent drawing
  • US11455409B2 patent drawing
  • US11455409B2 patent drawing

AI summary

Storage layer data obfuscation, including: determining a subset of a dataset to obfuscate in accordance with a security policy; generating, based at least in part on the security policy, an obfuscated snapshot of the dataset that is representative of the dataset with the subset of the dataset obfuscated; and sending, to a target computer system, the obfuscated snapshot from which a restored version of the dataset includes the subset of the dataset obfuscated.