Memory Controller Resource Sharing via Device Driver

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory controllers in computer systems lack the ability to share resources like other hardware devices, as they do not have a device driver to manage memory requests and allocations effectively.

Innovation Solution

A method and apparatus that enable a memory controller to request and utilize memory spaces by communicating with a computer program through a device driver, allowing it to initialize memory, perform operations, and share resources, including copying content from one memory space to another under its exclusive control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a memory controller does not have a device driver to manage memory requests, then the system structure remains simple, but the memory controller cannot share resources effectively with other hardware devices

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidcontroller architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a device driver as an intermediary software layer between the memory controller and the operating system. This driver enables the memory controller to communicate memory requests to the OS and receive allocations, effectively allowing resource sharing without requiring fundamental changes to the controller's hardware architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory controller is enhanced with multi-functionality by integrating device driver capabilities, allowing it to perform not only its traditional memory initialization and operation functions but also resource allocation and sharing functions previously exclusive to other hardware devices.

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

2Adaptability or versatility

If the memory controller requests memory spaces through a computer program, then resource sharing is enabled, but the request processing time increases

Engineering Contradiction:
Improvememory space allocation flexibilityVSAvoidmemory request processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary memory space allocation during system initialization or boot-up, where the operating system reserves and assigns memory spaces to the memory controller in advance. This preliminary action eliminates the need for time-consuming memory allocation requests during runtime operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The device driver implements a feedback mechanism where the memory controller sends requests to the operating system, receives allocation status responses, and adjusts its memory access patterns accordingly. This feedback loop optimizes the request-response cycle and reduces overall processing time through intelligent memory space management.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9086957B2Requesting a memory space by a memory controller
Publication Date: 2015.07.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9086957B2 patent drawing
  • US9086957B2 patent drawing
  • US9086957B2 patent drawing

AI summary

Systems and methods are provided to process a request for a memory space from a memory controller. A particular method may include communicating, by a memory controller, a request for a memory space of a memory to a computer program. The memory controller is configured to initialize the memory, and the memory controller is configured to perform operations on the memory as instructed. The computer program is configured to make memory spaces of the memory available in response to requests for the memory spaces of the memory. The method may also include using, by the memory controller, the memory space in response to an indication from the computer program that the memory space is available. Also provided are systems and methods for copying a memory space by a memory controller to a memory space under exclusive control of the memory controller.