Memory Address Alignment Using Modulo Arithmetic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory management systems face challenges in efficiently aligning memory addresses, particularly when returning a pointer to a buffer, as entities may not know how to compute the correct return address pointer, especially in systems with multiple logical stacks of different sizes, leading to increased computational costs and resource requirements.

Innovation Solution

The implementation of a method that uses a configuration parameter structure with a buffer size, buffer offset, and natural alignment enable parameter to ensure memory address alignment, allowing entities to return a pointer that can point anywhere inside a buffer without needing to track the logical stack, by using modulo arithmetic to calculate a naturally aligned base address and then adjusting it to a stacked address pointer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the RAP is a pointer to the base address of the buffer to be freed, then the FPA can push the pointer directly onto the logical stack, but the returning entity may not know how to compute the RA because it only has an opaque pointer pointing to an address inside the buffer

Engineering Contradiction:
Improveease of computing return address pointerVSAvoidloss of buffer base address information
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent introduces an intermediary data structure (the configuration parameter structure containing buffer size and offset information) that mediates between the opaque pointer and the base address calculation. This intermediary provides the necessary information for entities to compute the return address pointer without directly exposing the base address, resolving the contradiction between ease of operation and information loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent enables entities to self-compute the return address pointer using the configuration parameters (buffer size and offset) provided in the data structure. Instead of requiring the system to track and manage base addresses centrally, each entity can independently calculate the correct return address using the formula: base_address = (opaque_pointer - offset) rounded down to nearest buffer size boundary, eliminating the need for centralized tracking.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If the returning entity knows how to compute the pointer to the RA, then the entity can return the pointer, but in a system with multiple logical stacks of different sizes, the entity must keep track of which logical stack the pointer was assigned from and perform different calculations for each stack

Engineering Contradiction:
Improveprecision of return address pointer computationVSAvoidcomplexity of tracking logical stack identity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates a universal computation method that works across all logical stacks regardless of their different sizes. By providing a standardized configuration parameter structure containing buffer size and offset information for each stack, the same calculation algorithm can be applied universally to compute return address pointers for any logical stack, eliminating the need for separate tracking mechanisms for each stack.

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

Solution Approach 2:

The patent performs preliminary action by pre-calculating and storing the configuration parameters (buffer size and offset) in the data structure when the buffer is allocated. This preliminary preparation eliminates the need for runtime tracking of logical stack identity, as all necessary information is already embedded in the data structure when needed for computation.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the RAP is a pointer to an address somewhere within the buffer to be freed, then the entity can return the pointer, but the entity must keep track of the logical stack and perform calculations translating the RAP back to SAP differently for each logical stack, costing instructions and hardware area

Engineering Contradiction:
Improveflexibility of return address pointer locationVSAvoidcomputational resources and hardware area
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent changes the parameters provided to entities from just a raw pointer to a structured data format containing multiple parameters (opaque pointer, buffer size, offset). This parameter transformation enables flexible pointer locations within buffers while providing all necessary information for efficient computation, eliminating the need for expensive runtime stack tracking and different calculation methods for each stack.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9977737B2Method and an apparatus for memory address allignment
Publication Date: 2018.05.22 MARVELL ASIA PTE LTD
  • US9977737B2 patent drawing
  • US9977737B2 patent drawing
  • US9977737B2 patent drawing

AI summary

A method and a system embodying the method for a memory address alignment, comprising configuring one or more naturally aligned buffer structure(s); providing a return address pointer in a buffer of one of the one or more naturally aligned buffer structure(s); determining a configuration of the one of the one or more naturally aligned buffer structure(s); applying a modulo arithmetic to the return address and at least one parameter of the determined configuration; and providing a stacked address pointer determined in accordance with the applied modulo arithmetic, is disclosed.