Memory Controller Buffer Allocation After Read Completion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems face inefficiencies in buffer memory allocation during read operations, particularly in asynchronous read operations, leading to potential latency and suboptimal use of buffer memory resources.

Innovation Solution

A memory system with a controller that allocates storage space in the buffer memory only after the read operation is completed, allowing for efficient use of buffer memory by separating the allocation from the read command execution, thereby optimizing buffer memory utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If storage space is allocated to the buffer memory before the read operation is completed, then the buffer memory is ready to receive data, but this causes latency and reduces buffer memory utilization efficiency

Engineering Contradiction:
Improveread operation latencyVSAvoidbuffer memory utilization efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent inverts the conventional allocation timing by allocating buffer memory storage space after the read operation completes rather than before. The controller determines the amount of data to be read from the memory device and allocates the corresponding buffer space only after the read operation finishes, thereby eliminating unnecessary waiting time and improving both latency and utilization efficiency.

Inventive Principle:
Principle #13The other way round (Inversion)

2Ease of operation

If storage space is allocated in advance in the buffer memory, then data can be stored immediately upon read completion, but this results in suboptimal use of buffer memory resources

Engineering Contradiction:
Improvedata storage readinessVSAvoidbuffer memory resource utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic buffer memory allocation where the storage space is allocated based on the actual data size and read operation completion status. Rather than static pre-allocation, the controller dynamically determines and allocates buffer space after reading, optimizing resource utilization while maintaining operational efficiency.

Inventive Principle:
Principle #15Dynamics

3Productivity

If the buffer memory allocation is separated from the read command execution, then buffer memory utilization is optimized, but this requires additional control logic

Engineering Contradiction:
Improvebuffer memory utilization efficiencyVSAvoidcontroller control logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller performs preliminary determination of the data size to be read before executing the read operation. This preliminary action enables the controller to allocate the exact required buffer space after read completion without needing complex dynamic reallocation logic, thus optimizing buffer utilization while maintaining manageable control complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11056177B2Controller, memory system including the same, and method of operating the memory system
Publication Date: 2021.07.06 SK HYNIX INC
  • US11056177B2 patent drawing
  • US11056177B2 patent drawing
  • US11056177B2 patent drawing

AI summary

A memory system includes a memory device configured to store data through a write operation and output the stored data as read data through a read operation; a buffer memory configured to store the read data output from the memory device; a controller configured to control the memory device such that the memory device performs the read operation in response to a read request received from a host, and to control the buffer memory to store the read data in the buffer memory. When the read request corresponds to an asynchronous read operation, the controller may allocate a partial area of the buffer memory as storage space for the read data after the read operation of the memory device is completed.