Flash Memory Controller Channel Segmentation for Write Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current flash storage devices face limitations in write performance due to the need for block-level erasure and rewriting, which results in significant overhead and reduced performance as the density of flash storage increases, making it difficult to support random-access rewrite or erase operations efficiently.

Innovation Solution

A system comprising a memory buffer, multiple flash memory interfaces, and a memory controller that determines data segments for transfer, associates them with memory commands, allocates these commands among the interfaces, and transfers them sequentially, optimizing data transfer between the buffer and flash memory devices to improve write performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If flash storage devices use block-level erasure and rewriting, then data can be written to flash memory, but write performance deteriorates due to significant overhead

Engineering Contradiction:
Improvewrite capabilityVSAvoidwrite performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent divides data into segments and manages them through a segmented address space divided into multiple channels. Each channel can independently handle data segments, allowing parallel write operations across multiple channels simultaneously. This segmentation enables the system to write data without requiring complete block erasure, thereby improving write performance while maintaining flash memory's inherent characteristics.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If flash storage device density increases, then storage capacity improves, but write performance deteriorates due to increased overhead

Engineering Contradiction:
Improvestorage capacityVSAvoidwrite performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent introduces a multi-dimensional address space structure with multiple channels (e.g., 8 channels) that can operate in parallel. This dimensional expansion allows the system to distribute write operations across multiple channels simultaneously, effectively increasing the throughput capacity without being limited by the sequential write constraints of traditional single-channel flash devices. The segmented address space enables independent access to different channels, maintaining performance even as device density increases.

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

3Speed

If flash memory is optimized for large block sequential data transfer, then read performance improves, but random-access rewrite operations become inefficient

Engineering Contradiction:
Improvesequential read speedVSAvoidrandom-access rewrite capability
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

The patent implements a dynamic address space segmentation that can adaptively route random write operations to appropriate channels. The segmented address space allows the system to dynamically distribute random access requests across multiple channels rather than concentrating them on a single channel, thereby improving random-access rewrite efficiency while preserving sequential read performance through optimized channel utilization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9411522B2High speed input/output performance in solid state devices
Publication Date: 2016.08.09 WESTERN DIGITAL TECHNOLOGIES INC
  • US9411522B2 patent drawing
  • US9411522B2 patent drawing
  • US9411522B2 patent drawing

AI summary

A method of transferring data in a flash storage device is provided. A plurality of data segments for transfer between a memory buffer and a plurality of flash memory devices via a plurality of flash memory interfaces is associated with a plurality of respective memory commands. The plurality of memory commands are allocated among the plurality of flash memory interfaces, with each respective memory command being queued at a respective memory interface for transfer of a respective data segment associated with the respective memory command. The plurality of data segments are transferred between the memory buffer and the plurality of flash memory devices based on the plurality of memory commands, with each respective data segment being transferred via the memory interface to which the memory command associated with the respective data segment is queued. The data segments are transferred sequentially in an order corresponding to the queued memory commands.