Read Buffer Allocation by Data Size in Non-Volatile Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage devices face inefficiencies in read buffer allocation due to varying data sizes of host read commands, leading to increased latency and reduced throughput, particularly when smaller commands are queued at high depths, causing overflow into lower speed memory.

Innovation Solution

Implementing a controller that uses dual thresholds to dynamically allocate read buffers based on data sizes, ensuring that smaller commands do not overflow into lower speed memory while allowing larger commands to utilize higher speed memory efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If read buffers are allocated based on available high speed memory space, then large read commands can be accommodated, but small read commands experience increased latency due to waiting for buffer availability

Engineering Contradiction:
Improvebuffer space availabilityVSAvoidread command latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the read buffer allocation into two distinct memory regions: a first memory (high speed) and a second memory (low speed). By dividing the buffer allocation strategy, small read commands can be served from the low speed memory without blocking high speed memory resources, while large read commands utilize the high speed memory. This segmentation resolves the contradiction by allowing simultaneous accommodation of both small and large read commands with appropriate buffer allocation strategies for each size category.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different buffer allocation policies to different read command sizes. Small read commands receive buffers from the low speed memory region, while large read commands receive buffers from the high speed memory region. This localized allocation strategy ensures that each read command size receives the appropriate quality and speed of buffer service, preventing small commands from being blocked by large command buffer requirements.

Inventive Principle:
Principle #3Local quality

2Reliability

If the system waits for sufficient buffer space to be freed before accepting read commands, then buffer overflow is prevented, but throughput decreases due to command acceptance delays

Engineering Contradiction:
Improvebuffer overflow preventionVSAvoidread throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments buffer allocation into high speed and low speed memory regions, allowing the system to accept read commands into the low speed memory region even when high speed memory is full. This segmentation enables continuous command acceptance without waiting for high speed buffer space to be freed, maintaining throughput while preventing overflow through the dual-memory architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The low speed memory acts as an intermediary buffer region that receives read commands when the high speed memory is full. Instead of rejecting commands or waiting for high speed buffer availability, the system uses the low speed memory as a mediator to temporarily hold data, allowing continuous command acceptance and maintaining throughput while preventing overflow.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If high speed memory is allocated to all read commands, then read speed is maximized, but small read commands waste buffer space reducing overall efficiency

Engineering Contradiction:
Improveread speedVSAvoidbuffer utilization efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent applies local quality by matching buffer allocation quality to command size requirements. Large read commands receive high speed memory buffers to maximize their read speed, while small read commands receive low speed memory buffers that are appropriately sized for their needs. This prevents small commands from wasting high speed buffer space and allows the system to maintain high overall buffer utilization efficiency while still providing high speed access where needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the buffer allocation parameter from a uniform high speed memory allocation to a size-dependent allocation strategy. By changing the allocation parameter based on read command size, the system optimizes both speed and efficiency: large commands get high speed memory for maximum throughput, while small commands get appropriately sized low speed memory buffers, eliminating waste and improving overall buffer utilization efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12596501B2Systems and methods for allocating read buffers based on read data sizes in non-volatile storage devices
Publication Date: 2026.04.07 KIOXIA CORP
  • US12596501B2 patent drawing
  • US12596501B2 patent drawing
  • US12596501B2 patent drawing

AI summary

A system may include a non-volatile memory (NVM), a first memory, a second memory that has a higher speed than the first memory, and a controller. The controller may be configured to receive a first read command from a host computer, and determine a size of one or more buffers that are allocated for one or more read commands that have been received and not returned read data to the host computer. The controller may be configured to determine a number of the one or more read commands, and determine, based on at least the size of the one or more buffers and the number of the one or more read commands, whether to start processing the first read command. In response to determining to start processing the first read command, the controller may be configured to allocate, in the first memory, a first buffer for the first read command.