Non-Volatile Memory Controller Asynchronous Write Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage devices using non-volatile memory face performance issues due to frequent reporting requirements for write operations, which affect the reliability of mapping tables and system efficiency, especially in flash memory systems where wear leveling and garbage collection are critical.

Innovation Solution

Implementing a controller with a microprocessor and volatile memory that uses a cache area to collect and program write data asynchronously, reporting failures through asynchronous event requests, thereby reducing latency and optimizing mapping table management without immediate execution of each write command.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If frequent reporting is performed to guarantee mapping table reliability, then data reliability is improved, but system performance deteriorates

Engineering Contradiction:
Improvemapping table reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-allocating specific volatile memory regions as cache areas for different types of data (mapping table data, write data, etc.) before actual operations occur. This pre-organization allows the system to quickly retrieve and update relevant data without performing frequent comprehensive reporting operations, thus maintaining mapping table reliability while reducing performance overhead.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If immediate reporting of write operations is performed, then data reliability is improved, but writing speed deteriorates

Engineering Contradiction:
Improvewrite operation reliabilityVSAvoidwriting speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the volatile memory into distinct cache areas for different data types including write data cache. This segmentation allows write operations to be performed asynchronously without requiring immediate reporting, as the write data is stored in a dedicated cache area. The host can continue issuing write commands while the controller processes them in the background, thereby improving writing speed while maintaining reliability through proper cache management.

Inventive Principle:
Principle #1Segmentation

3Productivity

If volatile memory is fully utilized for caching, then programming efficiency is improved, but cache integrity during power outages deteriorates

Engineering Contradiction:
Improveprogramming efficiencyVSAvoidcache integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies beforehand cushioning by designing the cache management system to handle power outage scenarios in advance. The controller implements mechanisms to detect power loss conditions and preserve cache integrity through proper memory management and data protection protocols. This allows the system to maximize volatile memory utilization for caching purposes while having pre-established protection measures against power outages, thus maintaining both programming efficiency and cache integrity.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS10761982B2Data storage device and method for operating non-volatile memory
Publication Date: 2020.09.01 SILICON MOTION INC
  • US10761982B2 patent drawing
  • US10761982B2 patent drawing
  • US10761982B2 patent drawing

AI summary

An efficient data storage device is disclosed, which uses a microprocessor and at least one volatile memory to operate a non-volatile memory. The microprocessor allocates the volatile memory to provide a cache area. According to an asynchronous event request (AER) issued by a host, the microprocessor uses the cache area to collect sections of write data requested by the host, programs the sections of write data collected in the cache area to the non-volatile memory together, and reports failed programming of the sections of write data to the host by AER completion information.