Flash Storage Controller Parallel Microprocessor Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current enterprise-level mass storage systems face performance limitations due to mechanical delays in hard drives and technical constraints in flash memory, including slow write speeds, limited erase cycles, and data loss issues, which strain processing power and reduce effective storage capacity.

Innovation Solution

The use of multiple microprocessors in the controller design creates parallel independent pipelines to handle flash memory transactions efficiently, masking write latencies and enhancing processing power to address endurance and error problems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple microprocessors are used in the controller design to handle flash memory transactions in parallel, then processing power and performance are improved, but device complexity increases

Engineering Contradiction:
Improveprocessing powerVSAvoidcontroller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller is divided into multiple independent microprocessors (first microprocessor and second microprocessor), each capable of independently executing transactions. This segmentation allows parallel processing of flash memory operations, thereby improving productivity while managing complexity through functional division.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from single-threaded sequential processing to multi-threaded parallel processing by adding another dimension of execution. Multiple microprocessors operate simultaneously on different transactions, transforming the processing architecture from one-dimensional to multi-dimensional execution space.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If flash memory write operations are performed without delayed erase, then write speed is improved, but the processor runs out of free flash pages and performance degrades

Engineering Contradiction:
Improvewrite speedVSAvoidsystem performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-allocating and pre-erasing flash pages before they are needed for write operations. The first microprocessor executes erase cycles in advance to prepare free pages, ensuring that write operations can proceed at high speed without waiting for erase completion, thus maintaining both write speed and overall system performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous useful action by overlapping erase and write operations. While the first microprocessor performs erase cycles, the second microprocessor simultaneously performs write operations to different pages. This continuity ensures that write speed is maintained without interruption, and system performance is preserved through uninterrupted processing.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of time

If the number of outstanding requests to each drive is limited to reduce queue delays, then response time is improved, but effective storage capacity is reduced

Engineering Contradiction:
Improveresponse timeVSAvoidusable capacity
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The request handling capability is segmented across multiple microprocessors, allowing the system to manage more outstanding requests simultaneously. The first microprocessor handles a subset of requests while the second handles another subset, effectively increasing the total number of concurrent requests the system can process without increasing queue delays, thereby maintaining both response time and usable capacity.

Inventive Principle:
Principle #1Segmentation

4Speed

If flash memory erase cycles are performed frequently to maintain write performance, then write speed is maintained, but the limited erase cycle lifetime is exhausted faster

Engineering Contradiction:
Improvewrite speedVSAvoiderase cycle lifetime
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The erase cycle workload is segmented and distributed across multiple microprocessors and different flash pages. The first microprocessor handles erase operations for specific pages while the second handles write operations, and the system strategically allocates erase tasks to spread wear across the flash memory array. This distribution maintains write speed while extending the overall erase cycle lifetime of the flash memory device.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9483210B2Flash storage controller execute loop
Publication Date: 2016.11.01 SANDISK TECHNOLOGIES LLC
  • US9483210B2 patent drawing
  • US9483210B2 patent drawing
  • US9483210B2 patent drawing

AI summary

A storage controller is provided that contains multiple processors. In some embodiments, the storage controller is coupled to a flash memory module having multiple flash memory groups, each flash memory group corresponding to a distinct flash port in the storage controller, each flash port comprising an associated processor. Each processor handles a portion of one or more host commands, including reads and writes, allowing multiple parallel pipelines to handle one or more host commands simultaneously.