Memory Controller Buffer Size Adjustment for Read Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face inefficiencies in processing in-order read requests, leading to deteriorated read performance due to inappropriate buffer size adjustments and cluster allocation strategies, which disrupt the order of read requests and slow down data transmission.

Innovation Solution

A memory system with a controller that determines the type of read requests and sets a usable buffer size, allowing for flexible buffer size adjustments and cluster allocation based on the type of requests, ensuring in-order processing of in-order read requests while maintaining efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the buffer size is increased to accommodate more read requests, then the read capacity is improved, but the read performance deteriorates due to disrupted request ordering

Engineering Contradiction:
Improveread request capacityVSAvoidread performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The buffer is segmented into multiple clusters that can be independently allocated and managed. This allows the system to handle multiple read requests simultaneously while maintaining the ability to process them in the correct order, resolving the contradiction between buffer capacity and read performance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The buffer size is made dynamically adjustable based on the type of read requests being processed. The controller can change the usable buffer size in response to different read request patterns, allowing optimization between capacity and performance depending on the specific workload conditions

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If the buffer size is adjusted to accommodate in-order read requests, then the read order is maintained, but the buffer flexibility is reduced

Engineering Contradiction:
Improveread request orderVSAvoidbuffer flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The buffer size is dynamically adjusted based on the type of read requests. When in-order read requests are detected, the buffer size is reduced to maintain ordering; when out-of-order requests are present, the buffer size increases to accommodate flexibility. This dynamic adjustment resolves the contradiction between maintaining read order and preserving buffer flexibility

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The usable buffer size parameter is changed based on the read request type. The controller modifies this parameter dynamically, setting it to a first size for in-order requests and a second size for out-of-order requests, thereby adapting the buffer behavior to match the specific operational requirements

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If clusters are allocated based on free buffer size, then the resource utilization is improved, but the processing time increases due to allocation delays

Engineering Contradiction:
Improveresource utilizationVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The controller preliminarily determines the type of read requests before cluster allocation begins. This preliminary classification allows the system to pre-configure the appropriate buffer size and allocation strategy, avoiding delays during the actual allocation process and reducing overall processing time while maintaining good resource utilization

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10867644B2Memory system and operating method thereof
Publication Date: 2020.12.15 SK HYNIX INC
  • US10867644B2 patent drawing
  • US10867644B2 patent drawing
  • US10867644B2 patent drawing

AI summary

A memory system includes a plurality of nonvolatile memory devices sharing a communication line; and a controller including a buffer and a core, and suitable for controlling the nonvolatile memory devices through the communication line, wherein the core determines a type of a plurality of read requests for the nonvolatile memory devices, and sets a usable size of the buffer depending on the type.