Direct-Mapped Flash Storage Parallel Write Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage systems are inefficient in accessing and managing block addresses in flash storage, leading to suboptimal data reads, writes, and erasures due to reliance on address translation and inefficient use of storage space.

Innovation Solution

A direct-mapped flash storage system where a controller maintains a list of allocation units across multiple flash devices, allowing direct access and management of erase blocks, enabling parallel writing and reducing firmware overhead by offloading operations from a single drive controller to multiple drive controllers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If address translation is used in traditional flash storage systems, then data management is simplified, but access efficiency and write performance deteriorate due to firmware overhead and unnecessary write operations

Engineering Contradiction:
Improvedata management simplicityVSAvoidwrite performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts the address translation function from the flash drive firmware to the host system. The host controller directly manages block addresses and performs address translation, eliminating the firmware overhead that previously bottlenecked write operations. This allows the flash drive to operate with simpler, more efficient direct block access.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The host controller acts as an intermediary between the host system and the flash storage devices. It directly manages block addresses and coordinates write operations across multiple flash drives, eliminating the need for each drive's firmware to perform address translation. This mediator approach consolidates the translation function and improves overall system efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If a single controller manages multiple flash devices, then centralized control is achieved, but performance deteriorates due to the bottleneck in managing all operations

Engineering Contradiction:
Improvecontroller architectureVSAvoidoperational throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the control function by allowing each flash drive to have its own controller that independently manages its block addresses. Multiple controllers operate in parallel to handle write operations simultaneously, eliminating the single-controller bottleneck. The host system coordinates these distributed controllers, achieving both simplicity and high throughput.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If erase blocks are not directly addressable, then storage space flexibility is improved, but access time deteriorates due to the need for address translation

Engineering Contradiction:
Improvestorage space flexibilityVSAvoidblock access speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent extracts the address translation function from the flash drive firmware to the host system. The host controller directly manages block addresses and performs address translation, eliminating the firmware overhead that previously bottlenecked write operations. This allows the flash drive to operate with simpler, more efficient direct block access.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11054996B2Efficient writing in a flash storage system
Publication Date: 2021.07.06 PURE STORAGE INC
  • US11054996B2 patent drawing
  • US11054996B2 patent drawing
  • US11054996B2 patent drawing

AI summary

In one implementation, a method includes maintaining a list of available erase block portions across a plurality of flash devices of a flash storage system, and wherein erase blocks are categorized by the flash storage system as available for use, in use, or unusable. The method further includes receiving data from a plurality of sources, wherein the data is associated with processing a dataset, the dataset comprising multiple file systems and associated metadata. The method further includes determining a plurality of subsets of the data such that each subset is capable of being written in parallel with the remaining subsets, mapping each subset of the plurality of subsets to an available allocation unit, and writing the plurality of subsets in parallel.