DMA Buffer Addressing for Flash Memory Write Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of managing cache memory in solid storage devices increases the burden on the controller and can lead to performance issues when the cache is fully occupied, requiring replacement operations and affecting read/write performance.

Innovation Solution

Offloading the management of buffer memory to the host, allowing for flexible control of the storage device by using Direct Memory Access (DMA) descriptors to transfer data between the information processing device, buffer memory, and flash memory, thereby reducing the controller's workload and enhancing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If cache memory is used to improve read/write speed, then reading and writing speed is improved, but controller complexity increases and performance deteriorates when cache is fully occupied

Engineering Contradiction:
Improveread/write speedVSAvoidcontroller complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts the cache memory management function from the storage device controller and relocates it to the host system. The host is responsible for allocating buffer addresses and managing cache memory, while the storage device only needs to specify flash memory addresses. This extraction resolves the contradiction by maintaining fast cache access while eliminating the complexity burden from the storage device controller.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces DMA (Direct Memory Access) as an intermediary mechanism to facilitate data transfer between the host buffer and flash memory without requiring continuous controller intervention. The DMA controller handles the complex cache management operations, allowing the storage device controller to focus solely on flash memory addressing, thus reducing complexity while maintaining high-speed access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cache memory management is performed by the storage device controller, then data can be cached locally, but the host experiences performance bumps when cache is full and replacement operations are needed

Engineering Contradiction:
Improvedata caching reliabilityVSAvoidhost read/write performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the cache management responsibility from the storage device controller and assigns it to the host system. The host allocates buffer addresses and manages the cache memory lifecycle, ensuring that caching operations do not cause performance interruptions. This extraction allows the storage device to maintain reliable local caching while preventing host performance degradation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The host performs preliminary actions by pre-allocating buffer addresses and preparing cache memory before data transfer operations. By managing cache allocation in advance, the host prevents cache exhaustion scenarios that would otherwise cause performance bumps and replacement operations, ensuring smooth and continuous data flow.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the storage device controller manages both cache memory and flash memory, then integrated control is achieved, but the burden on the controller increases

Engineering Contradiction:
Improveintegrated control capabilityVSAvoidcontroller burden
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the cache memory management function from the storage device controller and relocates it to the host system. The controller's responsibilities are reduced to flash memory address specification and data transfer coordination, while the host handles buffer address allocation and cache management. This division of labor maintains integrated control capability while significantly reducing the controller's operational burden.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the memory management functions by separating cache memory management (handled by the host) from flash memory management (handled by the storage device controller). This functional segmentation allows each component to focus on its specialized tasks, reducing the controller's burden while maintaining overall system adaptability and integrated control.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9395921B2Writing data using DMA by specifying a buffer address and a flash memory address
Publication Date: 2016.07.19 MEMBLAZE TECH BEIJING
  • US9395921B2 patent drawing
  • US9395921B2 patent drawing
  • US9395921B2 patent drawing

AI summary

A storage device includes a buffer memory and a flash memory, which can be connected with the host computer communicably. A method for writing data into the storage device includes: receiving a first write command from the host, the first write command including the data to be written, the address for the flash memory and the address or the buffer memory; based on the address for the buffer memory, writing the data to be written to the buffer memory; based on the address for the flash memory, writing the data to be written to the flash memory.