Memory Controller Buffer Traffic Monitoring for Bandwidth Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional flash storage devices experience performance bottlenecks due to excessive host data traffic in buffer memories, leading to inefficient bandwidth utilization and potential bottlenecks, especially when high bandwidth non-volatile memories are used as storage mediums.

Innovation Solution

A memory controller that monitors buffer memory traffic in real-time, adjusts the execution ratios of write buffering and read prefetch operations, and dynamically manages the buffering operations by setting specific execution ratios based on calculated data requests to prevent performance bottlenecks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If write buffering and read prefetch are enabled to improve processing performance, then data processing speed is improved, but buffer memory bandwidth is wasted and performance bottleneck occurs

Engineering Contradiction:
Improvedata processing speedVSAvoidbandwidth utilization efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The buffer traffic monitor continuously monitors buffer memory traffic and provides feedback to the buffer manager. The buffer manager adjusts the execution ratio of write buffering and read prefetch based on this feedback, dynamically optimizing the balance between processing speed and bandwidth utilization to prevent performance bottlenecks.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The execution ratio of write buffering and read prefetch is made dynamic rather than fixed. The buffer manager adjusts these ratios in real-time based on monitored buffer traffic conditions, allowing the system to adapt to varying workloads and prevent bandwidth waste while maintaining processing performance.

Inventive Principle:
Principle #15Dynamics

2Power

If buffer memory bandwidth is increased to handle high bandwidth non-volatile memory, then data transfer capability is improved, but performance bottleneck still occurs due to excessive host data traffic

Engineering Contradiction:
Improvedata transfer capabilityVSAvoidbuffer memory performance
Core Design Contradiction:
PowerVSProductivity

Solution Approach 1:

The system changes the execution ratio parameter of write buffering and read prefetch operations based on monitored buffer traffic. By dynamically adjusting this parameter, the system optimizes the balance between data transfer capability and actual bandwidth utilization, preventing performance bottlenecks even when buffer memory bandwidth is increased.

Inventive Principle:
Principle #35Parameter changes

3Speed

If read prefetch is executed to improve read performance, then read speed is improved, but bandwidth is wasted when no read command is generated for prefetched data

Engineering Contradiction:
Improveread speedVSAvoidbandwidth waste
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The buffer traffic monitor provides feedback on actual read command generation patterns to the buffer manager. The buffer manager uses this feedback to adjust the read prefetch execution ratio, enabling the system to perform read prefetch only when necessary and avoid wasting bandwidth on unnecessary prefetch operations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Instead of always executing read prefetch, the system applies partial action by executing it only when the execution ratio allows and buffer traffic conditions justify it. This selective approach prevents excessive prefetch operations that would waste bandwidth while still providing the performance benefits when needed.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11416168B2Memory controller and storage device including the same
Publication Date: 2022.08.16 FADU INC
  • US11416168B2 patent drawing
  • US11416168B2 patent drawing
  • US11416168B2 patent drawing

AI summary

A memory controller and a storage device including the same are provided. The memory controller for performing a buffering operation of temporarily storing data to be written to a non-volatile memory and data to be read from the non-volatile memory in a buffer memory includes a buffer request queue configured to store a plurality of buffer write requests requesting data to be temporarily stored in the buffer memory and a plurality of buffer read requests requesting data stored in the buffer memory to be read, a buffer traffic monitor configured to calculate the total amount of requested data in real time by summing the lengths of data specified in the respective buffer write requests and the respective buffer read requests stored in the buffer request queue, and a buffer manager configured to control execution of the buffering operation by setting an execution ratio based on the total amount of requested data calculated in real time.