Nonvolatile Memory Block Reuse with Read-Completion Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing nonvolatile memory systems face challenges in efficiently managing data reading and writing operations, particularly in NAND flash technologies, leading to conflicts between data reading and block reuse requests, which can result in data un-readability due to incomplete read commands and buffer region releases.

Innovation Solution

A memory system with a controller that manages counter values for blocks and buffers to ensure data readability by preventing blocks and buffers from being reused until all read commands are completed, thereby ensuring data can be correctly read from intended sources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If blocks and buffers are reused quickly to improve productivity, then block reuse efficiency is improved, but data readability is compromised due to incomplete read commands

Engineering Contradiction:
Improveblock reuse efficiencyVSAvoiddata readability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The controller performs preliminary actions by setting counter values for blocks and buffers before reuse operations. The counter value setting unit establishes initial counter values that indicate the number of read commands to be executed, preventing premature reuse of blocks and buffers until all read operations are completed. This preliminary action ensures data readability is maintained while enabling efficient block reuse management.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms through counter values that are updated based on read command execution status. The counter value update unit monitors whether read commands are completed and adjusts counter values accordingly. When counter values reach zero (indicating all reads are complete), the blocks and buffers become available for reuse. This feedback loop resolves the contradiction by dynamically controlling reuse based on actual read completion status.

Inventive Principle:
Principle #23Feedback

2Speed

If counter values are set to zero immediately after write operations, then block reuse speed is improved, but data un-readability occurs due to premature buffer release

Engineering Contradiction:
Improveblock reuse speedVSAvoiddata un-readability
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

Instead of setting counter values to zero immediately, the system performs a preliminary action by setting counter values based on the number of read commands that need to be executed. This preliminary counter value setting prevents premature buffer release and ensures data remains readable until all read operations are completed, while still enabling efficient reuse management once reads are finished.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The counter values serve as feedback indicators that reflect the actual status of read operations. The counter value update unit continuously monitors read command completion and updates counter values accordingly. This feedback mechanism prevents information loss by ensuring blocks and buffers are only reused when counter values indicate all read operations are complete, thus maintaining data readability while enabling fast reuse.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple read commands are executed in parallel to improve productivity, then read throughput is improved, but block management complexity increases due to tracking multiple read operations

Engineering Contradiction:
Improveread throughputVSAvoidblock management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system merges the tracking of multiple read operations into a unified counter value management mechanism. Instead of maintaining separate tracking structures for each read command, the counter value setting unit and update unit manage a single counter value that represents the total number of pending read commands for each block. This merging approach enables parallel read execution while simplifying block management complexity through unified counter-based tracking.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12379874B2Memory system and method of controlling nonvolatile memory by controlling the writing of data to and reading of data from a plurality of blocks in the nonvolatile memory
Publication Date: 2025.08.05 KIOXIA CORP
  • US12379874B2 patent drawing
  • US12379874B2 patent drawing
  • US12379874B2 patent drawing

AI summary

A memory system includes a nonvolatile memory including a plurality of blocks and a controller configured to write data to a plurality of write destination blocks allocated from the plurality of blocks. The controller is configured to in response to receiving a read command from a host, increment a first counter value corresponding to a first block having a block address allocated to a logical address of read target data specified by the received read command. The controller is configured to read the read target data from the first block or a buffer depending on whether the read target data is readable from the first block, and decrement the first counter value corresponding to the first block. The controller is configured to prohibit processing for transitioning a state of a block associated with an uncompleted read command to a state reusable as a new write destination block.