Unified Memory Controller Architecture for Die Space Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory controllers require separate machines for control flow and macro-sequencer instructions, occupying valuable die space and being limited in complexity and functionality, particularly due to the need for fragmented microcode and lack of conditional branching in macro sequencers.

Innovation Solution

A single machine controller architecture that executes both control flow and macro flow instructions within a unified 16-bit instruction set, using a control unit with a stack, programmable ROM, and ALU, allowing context switching between instruction sets to reduce register count and optimize die space.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate macro-sequencer and control flow machines are used, then instruction execution capability is provided, but die space is occupied and device complexity increases

Engineering Contradiction:
Improveinstruction execution capabilityVSAvoiddie space
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent merges the separate macro-sequencer machine and control flow machine into a single unified machine that can execute both types of instructions. The control unit is designed to handle both control flow instructions (with op-codes) and macro-sequencer instructions (without op-codes) through a single instruction fetch and execution pipeline, eliminating the need for duplicate hardware structures and reducing die space occupation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified control unit is designed with universal functionality to execute both control flow instructions and macro-sequencer instructions. The instruction decode logic can recognize and process both instruction types, and the execution units are configured to handle the specific requirements of each instruction type, making the single machine adaptable to multiple instruction formats and operations.

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

2Adaptability or versatility

If separate macro-sequencer and control flow machines are used, then instruction execution is enabled, but device complexity and parts count increase

Engineering Contradiction:
Improveinstruction execution capabilityVSAvoidcontroller architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent combines two separate control machines into one unified control unit, reducing the parts count and architectural complexity. The single machine architecture integrates the instruction fetch, decode, and execution functions for both control flow and macro-sequencer instructions into one cohesive structure, eliminating the need for inter-machine communication protocols and reducing overall system complexity.

Inventive Principle:
Principle #5Merging (Combining)

3Length of moving object

If 16-bit instructions are used for control flow, then instruction size is reduced, but control flow capabilities are limited

Engineering Contradiction:
Improveinstruction sizeVSAvoidcontrol flow capability
Core Design Contradiction:
Length of moving objectVSAdaptability or versatility

Solution Approach 1:

The instruction set is segmented into two distinct types: control flow instructions with full op-codes for complex control operations, and macro-sequencer instructions without op-codes for streamlined sequence execution. This segmentation allows each instruction type to be optimized for its specific purpose while maintaining overall instruction size efficiency through the unified 16-bit format.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9513912B2Memory controllers
Publication Date: 2016.12.06 MICRON TECHNOLOGY INC
  • US9513912B2 patent drawing
  • US9513912B2 patent drawing
  • US9513912B2 patent drawing

AI summary

Methods and controllers for executing an instruction set are provided. In one such method, executing an instruction set includes executing an instruction of one type in the instruction set, executing a context switch instruction, and executing an instruction of a second type in the instruction set. in one such controller, a single machine executes instructions in an instruction set with instructions having an operational code, and instructions that do not have an operational code.