Programmable Memory Controller with Domain-Specific ISAs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory controllers in data centers and devices often use a single, non-optimal hardware configuration for storage systems, which fails to meet the varying memory usage requirements of different software applications, leading to suboptimal performance and energy efficiency.

Innovation Solution

A programmable memory controller with domain-specific instruction set architectures (ISAs) for request and transaction processing, combined with a dedicated command logic module that inspects and stalls memory commands to meet timing constraints, allowing for application-specific control and optimization of memory device operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single hardware configuration is used for storage systems, then device complexity is reduced and ease of manufacture is improved, but performance and energy efficiency are suboptimal for different software applications

Engineering Contradiction:
Improvememory usage requirementsVSAvoidhardware configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory controller uses domain-specific instruction set architectures (ISAs) that can be dynamically configured and programmed to match different software application requirements. The controller transitions from a static, fixed configuration to a dynamic, reconfigurable system where processing units can be programmed with different ISAs depending on the workload, enabling adaptation to varying memory usage patterns without changing the physical hardware structure.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the operational parameters of the memory controller by implementing programmable domain-specific ISAs. Instead of changing physical hardware parameters, the system modifies logical and functional parameters through software configuration, allowing the same hardware to operate in different modes optimized for specific applications, thus resolving the contradiction between adaptability and complexity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If domain-specific ISAs are implemented for request and transaction processing, then processing speed and efficiency are improved, but device complexity and area occupancy increase

Engineering Contradiction:
Improvetransaction processing speedVSAvoidprocessor architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controller is segmented into distinct processing units, each with its own domain-specific ISA optimized for particular tasks (request processing, transaction processing, command logic). This segmentation allows each unit to be highly efficient at its specific function while keeping the overall architecture manageable through modular design, resolving the contradiction between specialized performance and system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The domain-specific ISAs are implemented in a universal, programmable manner rather than as fixed hardware. This allows the same hardware structures to perform multiple functions by loading different ISA configurations, achieving high transaction processing speed without proportionally increasing device complexity or area occupancy.

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

3Reliability

If commands are stalled to meet timing constraints, then memory operation reliability is improved, but processing time and productivity decrease

Engineering Contradiction:
Improvetiming constraint complianceVSAvoidcommand execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The dedicated command logic module performs preliminary inspection of memory commands before they are executed, identifying which commands need to be stalled to meet timing constraints. By determining stalling requirements in advance rather than reacting after timing violations occur, the system maintains reliability while minimizing unnecessary delays and reducing overall processing time loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The command logic module implements a feedback mechanism where timing constraint compliance is continuously monitored and used to dynamically adjust command stalling decisions. This feedback loop ensures that stalling is applied only when and where necessary to meet timing constraints, optimizing the balance between reliability and processing speed rather than applying blanket stalling that would reduce productivity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9256369B2Programmable memory controller
Publication Date: 2016.02.09 SAMSUNG ELECTRONICS CO LTD
  • US9256369B2 patent drawing
  • US9256369B2 patent drawing
  • US9256369B2 patent drawing

AI summary

One embodiment includes a programmable memory controller. The programmable memory controller includes a request processor that comprises a first domain-specific instruction set architecture (ISA) for accelerating common requests. A transaction processor comprises a second domain-specific ISA for accelerating transaction processing tasks. A dedicated command logic module inspects each memory command to a memory device and stalls particular commands for meeting timing constraints for application specific control of the memory device.