Memory Controller PIM Command Reordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems that implement applications like neural networks and IoT, a bottleneck often occurs due to the large amount of data being received and transmitted between semiconductor devices and processors, which existing technologies fail to address effectively by not optimizing the ordering of processing in memory (PIM) commands.

Innovation Solution

A memory controller is designed to identify and reorder PIM commands based on unique ID and ordering information within the data field of write commands, allowing for efficient execution of operations in memory without the need for sequential command ordering, thereby minimizing memory bandwidth loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If PIM commands are transmitted in sequential order from host core to memory controller, then memory operations are performed correctly in order, but command transmission time and memory bandwidth are wasted due to sequential processing requirements

Engineering Contradiction:
Improvecorrect execution order of PIM operationsVSAvoidcommand transmission time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The memory controller performs preliminary reordering of PIM commands before transmission to the memory device. By identifying PIM commands among multiple commands and reordering them based on ordering information in advance, the system ensures correct execution order without requiring sequential transmission, thus reducing command transmission time while maintaining reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory controller acts as an intermediary between the host core and memory device. It receives commands from the host core, identifies PIM commands, reorders them based on ordering information, and transmits the reordered commands to the memory device. This intermediary function resolves the contradiction by handling reordering in the middle layer, allowing the host core to generate commands efficiently while ensuring correct execution order at the memory device

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the host core generates commands without synchronization overhead, then command generation efficiency is improved, but command ordering may be incorrect for PIM operations

Engineering Contradiction:
Improvecommand generation efficiencyVSAvoidcommand ordering correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The memory controller serves as an intermediary that receives commands generated efficiently by the host core without synchronization overhead. It identifies PIM commands among the received commands and reorders them based on ordering information embedded in the commands, thus ensuring correct ordering without requiring the host core to implement complex synchronization mechanisms

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The host core includes ordering information within the command structure itself, allowing the memory controller to perform self-service reordering without external intervention or synchronization overhead from the host. The memory controller autonomously identifies PIM commands and reorders them based on the embedded ordering information, maintaining both efficiency and reliability

Inventive Principle:
Principle #25Self-service

3Productivity

If PIM commands are reordered based on ordering information, then memory bandwidth utilization is optimized, but device complexity increases due to additional identification and reordering logic

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoidmemory controller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controller integrates multiple functions into a single device: command reception, PIM command identification, ordering information verification, command reordering, and command transmission. By combining these functions in the memory controller, the system optimizes memory bandwidth utilization without requiring separate dedicated hardware components for each function, thus limiting the increase in device complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11868657B2Memory controller, method of operating the memory controller, and electronic device including the memory controller
Publication Date: 2024.01.09 SAMSUNG ELECTRONICS CO LTD
  • US11868657B2 patent drawing
  • US11868657B2 patent drawing
  • US11868657B2 patent drawing

AI summary

A memory controller, a method of operating the memory controller, and an electronic device including the memory controller are disclosed. The method of operating a memory controller, comprising receiving, from a host core, a plurality of commands for a memory, identifying, from among the plurality of commands, processing in memory (PIM) commands to execute one or more operations in the memory, verifying ordering information from a data field in each of the PIM commands, and reordering the PIM commands based on the ordering information and transmitting the reordered PIM commands to the memory.