Smart Bridge Address Range Decomposition for Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current bus protocols, such as PCI Express and next-generation MXI bus, face inefficiencies in address range allocation due to power of two size and alignment restrictions, leading to resource fragmentation and increased allocation requirements.

Innovation Solution

A smart bridge system is introduced that decomposes forwarding address ranges into endpoint representations with power of two multiple sizes, aligned with specified minimum sizes, allowing for efficient allocation and routing of virtual memory resources across devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If forwarding address ranges are allocated with power of two size and alignment restrictions, then device compatibility and standard compliance are improved, but memory resource utilization deteriorates due to fragmentation and wasted allocation

Engineering Contradiction:
Improvedevice compatibilityVSAvoidmemory resource utilization
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The patent segments a large forwarding address range into multiple smaller sub-ranges, each allocated to different virtual devices. This segmentation allows the bridge to present multiple BARs to the host, each with appropriate power-of-two alignment, while the sum of all sub-ranges efficiently covers the entire forwarding range without waste. For example, a 3MB forwarding range is divided into multiple sub-ranges that collectively utilize the full 3MB without requiring expansion to the next power of two (4MB).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameters of address range allocation by introducing sub-address ranges with different size and alignment characteristics. Instead of allocating a single large aligned range, the system creates multiple sub-ranges with varying parameters that collectively satisfy both the alignment requirements for device compatibility and the efficient utilization goal. The sub-ranges can have different starting addresses and sizes, allowing flexible packing within the forwarding range.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If address ranges are expanded to next power of two for alignment, then standard compliance is improved, but allocation efficiency deteriorates due to increased wasted space

Engineering Contradiction:
Improvealignment precisionVSAvoidallocation efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent divides a single large address range allocation into multiple smaller sub-allocations, each with proper alignment. This segmentation allows the system to maintain alignment precision for each individual allocation while improving overall efficiency by not having to expand to the next power of two for the entire range. The host perceives multiple aligned BARs instead of a single misaligned large range.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an additional dimension of address space management by creating sub-address ranges that operate within the forwarding range. Instead of a single-dimensional allocation problem, the system uses multiple dimensions (multiple BARs, multiple sub-ranges) to achieve both alignment and efficiency. The virtual devices are presented with their own aligned address spaces that collectively fill the forwarding range efficiently.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If multiple virtual devices share a forwarding address range, then system flexibility is improved, but address management complexity deteriorates

Engineering Contradiction:
Improvesystem flexibilityVSAvoidaddress management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a smart bridge as an intermediary between the host and multiple virtual devices. The bridge maintains a mapping table that translates host address accesses to the appropriate virtual devices and sub-address ranges. This intermediary manages the complexity of addressing multiple devices by providing a unified interface to the host while handling the intricate mapping and translation internally, thus maintaining system flexibility without exposing address management complexity to the host.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the forwarding address range into distinct sub-ranges, each associated with a specific virtual device. This segmentation simplifies address management by creating clear boundaries and associations between address spaces and devices. The mapping table can efficiently manage these segmented ranges, and the host interacts with each device through its own dedicated sub-range, reducing the complexity of managing shared address space.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9652370B2Address range decomposition
Publication Date: 2017.05.16 NATIONAL INSTRUMENTS CORP
  • US9652370B2 patent drawing
  • US9652370B2 patent drawing
  • US9652370B2 patent drawing

AI summary

Smart bridge and use. The smart bridge includes a functional unit, memory, and a switch for routing data between a host and multiple devices using a routing table. The bridge stores a forwarding address range (FAR) as a bridge representation of hardware memory resources required by the devices. The FAR is an integer multiple of a first specified minimum size and is aligned with the first specified minimum size. The bridge representation is converted to an endpoint representation that includes multiple virtual memory resources based on a starting address of the FAR. Each virtual memory resource has a respective sub-address range with a size that is a power of 2 multiple of a second specified minimum size, which is less than the first specified minimum size, and is aligned accordingly. The endpoint representation is usable by the switch or the host to allocate the virtual memory resources to the devices.