Memory Controller Command Issuance Order for DRAM Penalty Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for writing data of less than a predetermined length into DRAM, such as the LPDDR4 standard, incur a significant penalty due to the longer interval required for issuing subsequent write commands, which can lead to unintentional data overwrite or increased write data, and are not applicable to partial write operations.

Innovation Solution

A memory controller that issues a first write command for data of a predetermined length and a second write command for data less than that length, with a deciding unit that optimizes the issuance order of DRAM commands to reduce the penalty by allowing other commands to be issued before the second write command, thereby improving access efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If an MWR command is issued to write data of less than a predetermined length into DRAM, then the write operation can be performed with simplified control, but a long penalty period is incurred requiring a four times longer interval before the next command can be issued

Engineering Contradiction:
Improvecontrol simplicityVSAvoidpenalty period
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The memory controller issues commands to different banks before the penalty period of an MWR command completes. By preparing and queueing commands for other banks in advance, the system utilizes the penalty time productively rather than waiting idle, thereby reducing the overall impact of the long penalty period on performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts command issuance based on bank state and penalty conditions. When an MWR command is detected, the controller identifies which banks are affected and dynamically reorders the command queue to issue commands to unaffected banks during the penalty period, optimizing throughput adaptively.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If a WR command is used instead of MWR command for partial writes, then the penalty period is reduced, but data may be unintentionally overwritten or write data amount may increase

Engineering Contradiction:
Improvepenalty periodVSAvoiddata integrity
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The memory controller applies different control strategies to different banks based on their operational state. When a bank is in a penalty state due to an MWR command, the controller selectively issues commands to other banks that are not affected, applying localized optimization without compromising data integrity in the affected bank.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The controller continuously monitors the execution state of commands and tracks penalty periods. Based on this feedback, it dynamically adjusts the command issuance timing and ordering to ensure that commands are issued only when safe, preventing data overwrite while maximizing throughput.

Inventive Principle:
Principle #23Feedback

3Device complexity

If commands are issued sequentially in the original order, then command processing is simple, but DRAM access efficiency is reduced due to the long penalty period of MWR commands

Engineering Contradiction:
Improvecommand processing complexityVSAvoidDRAM access efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The memory controller issues commands to different banks before the penalty period of an MWR command completes. By preparing and queueing commands for other banks in advance, the system utilizes the penalty time productively rather than waiting idle, thereby reducing the overall impact of the long penalty period on performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts command issuance based on bank state and penalty conditions. When an MWR command is detected, the controller identifies which banks are affected and dynamically reorders the command queue to issue commands to unaffected banks during the penalty period, optimizing throughput adaptively.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11842079B2Memory controller and memory control method that decides an order of issuing dram commands based on whether a command has a penalty period
Publication Date: 2023.12.12 CANON KK
  • US11842079B2 patent drawing
  • US11842079B2 patent drawing
  • US11842079B2 patent drawing

AI summary

A memory controller that is formed to be able to issue a first write command for writing data of a predetermined length into a DRAM and a second write command for writing data which is less than the predetermined length in the DRAM is provided. The memory controller comprises a deciding unit configured to decide an issuance order of a request stored in the storage unit. In a period from the issuance of a preceding DRAM command until a second write command targeting the same bank as the preceding DRAM command is issued, if another DRAM command targeting a bank different from the bank targeted by the preceding DRAM command can be issued, the deciding unit will decide the issuance order so that the other DRAM command that can be issued will be issued before the second write command.