Class-Based Dynamic Memory Slot Allocation System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory sub-systems face performance issues due to high CPU overhead and resource allocation inefficiencies, particularly when multiple requestors compete for memory resources, leading to greedy allocation scenarios that can lock up systems or limit performance through static partitioning.

Innovation Solution

Implementing a class-based dynamic memory slot allocation system that uses configurable resource allocation constraints, including minimum and maximum threshold settings for each class, allowing for dynamic adjustment of memory resource allocation to optimize system performance and prevent resource hogging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If firmware completely manages memory allocation, then flexibility in resource management is improved, but CPU overhead increases and performance is lost

Engineering Contradiction:
Improveflexibility in resource managementVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a hardware-based slot allocation manager as an intermediary between firmware and memory resources. This manager uses a register bit map and automated algorithms to handle memory slot allocation, freeing CPU from direct management while maintaining flexible firmware control through programmable thresholds and constraints.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the software-based (firmware/CPU) memory management system with a hardware-based allocation system using dedicated circuits, register bit maps, and automated allocation logic. This substitution reduces CPU overhead while preserving adaptability through configurable parameters.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Extent of automation

If hardware uses a register bit map for resource allocation, then automation is improved, but system complexity increases

Engineering Contradiction:
Improveautomated resource allocationVSAvoidallocation system complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent uses a uniform register bit map structure where each bit represents a memory slot in a standardized format. This homogeneous representation simplifies the allocation logic and makes the system easier to manage despite the automation complexity.

Inventive Principle:
Principle #33Homogeneity

3Reliability

If static partitioning is used to prevent greedy allocation, then system stability is improved, but performance is limited due to inability to adjust dynamically

Engineering Contradiction:
Improvesystem stabilityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic memory slot allocation where the slot allocation manager can adjust allocations in real-time based on current system conditions, available memory slots, and programmable constraints. This allows the system to respond to changing workload demands while preventing any single requestor from monopolizing resources through enforced minimum and maximum thresholds.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11409562B2Class-based dynamic memory slot allocation
Publication Date: 2022.08.09 MICRON TECHNOLOGY INC
  • US11409562B2 patent drawing
  • US11409562B2 patent drawing
  • US11409562B2 patent drawing

AI summary

A memory slot allocation request specifying a requested number of memory slots is received from a requestor assigned to a particular class among a plurality of classes. It is determined whether allocation of the requested number of memory slots to the requestor results in satisfaction of resource allocation constraints for the plurality of classes. The resource allocation constraints include a first and second threshold for each class that determine how many memory slots can be allocated to each class. Based on determining that allocation of the requested number of memory slots to the requestor results in satisfaction of the resource allocation constraints, the memory slot allocation request is granted. The granting of the memory slot allocation request includes allocating the requested number of memory slots to the requestor.