Shared Write Buffer for Multi-Client NAND Flash Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In memory systems using NAND flash technology, the limited capacity of random access memory in flash storage devices makes it difficult to prepare sufficient write buffers for multiple clients, leading to increased data traffic and degraded I/O performance due to the need for multi-step write operations like foggy fine write, which requires transferring the same data multiple times between the host and the memory system.

Innovation Solution

Implementing a shared write buffer in the memory system that stores write data from multiple clients, allowing the host to discard older data when the buffer is full, and requesting missing data from the host only when needed for the second-step write operation, thereby reducing data traffic and improving I/O performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a shared write buffer is implemented to serve multiple clients, then data traffic is reduced and I/O performance is improved, but the complexity of buffer management increases

Engineering Contradiction:
ImproveI/O performanceVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The write buffer is designed to serve multiple clients simultaneously, transforming it from a client-specific resource to a shared universal resource. The buffer management system handles multiple client requests through a unified interface, allowing the same buffer infrastructure to fulfill different clients' write operations without requiring separate buffer allocations for each client.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The controller acts as an intermediary between multiple clients and the nonvolatile memory. It manages the shared write buffer by receiving write requests from multiple clients, determining buffer availability, and coordinating data transfers. This intermediary role simplifies client interactions while maintaining efficient buffer utilization through centralized control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of energy

If write data is stored in a shared buffer for multiple clients, then data traffic between host and memory system is reduced, but the risk of data loss increases when buffer capacity is exceeded

Engineering Contradiction:
Improvedata trafficVSAvoiddata retention
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system implements a selective discarding mechanism where the controller identifies and discards write data that can be safely removed from the buffer. When buffer capacity is exceeded, the controller determines which client requests can be served from cached data and which require fresh data transfers, selectively discarding duplicate or redundant data while preserving essential information.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The controller continuously monitors buffer status and provides feedback to manage data retention. By tracking which data resides in the buffer and which clients need it, the system can make informed decisions about data preservation and discarding, ensuring that critical data is retained while non-critical duplicate data is removed to make space for new writes.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If multi-step write operations are used to manage buffer capacity, then buffer overflow is prevented, but I/O performance is degraded due to multiple data transfers

Engineering Contradiction:
Improvebuffer capacity managementVSAvoidI/O performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-transferring write data from the host to the shared write buffer before actual write operations are needed. This advance preparation allows the buffer to be populated with data that can be reused for multiple clients, reducing the need for repeated data transfers and eliminating the performance penalty associated with multi-step operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system merges multiple client write requests into a single buffer management operation. Instead of handling each client's write operations separately with individual multi-step transfers, the controller consolidates buffer management activities, serving multiple clients from a unified buffer pool and reducing the total number of data transfer steps required.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11868653B2Memory system and method for controlling nonvolatile memory
Publication Date: 2024.01.09 KIOXIA CORP
  • US11868653B2 patent drawing
  • US11868653B2 patent drawing
  • US11868653B2 patent drawing

AI summary

According to one embodiment, a memory system stores write data received from a host to a shared write buffer for write destination blocks, acquires first write data for plural pages from the shared write buffer, and writes the first write data to a first write destination block by a first-step write operation. When receiving write data from the host in a state in which an empty region does not exist in the shared write buffer, the memory system discards write data in the shared write buffer in which the first-step write operation has been finished. In a case where the first write data do not exist in the shared write buffer when a second-step write operation of the first write data is to be executed, the memory system transmits a request to acquire the first write data to the host.