BIOS Startup Method for CC-NUMA Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale CC-NUMA systems, the limited 32-bit address space below 4 GB restricts memory-mapped input/output (MMIO) space, leading to reduced compatibility with PCIe devices and potential operating system startup issues due to fixed MMCFG space allocation per CPU, which decreases as the number of CPUs increases.

Innovation Solution

The BIOS startup method dynamically allocates local MMCFG space below the first address and moves it above the first address during unified memory addressing, reserving space below 4 GB for MMIO and memory, ensuring compatibility with PCIe devices and operating systems, even with increased CPU counts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the number of CPUs in a large-scale CC-NUMA system is increased, then the system processing capacity is improved, but the MMCFG space below 4 GB is occupied more, causing the MMIO space to decrease and reducing compatibility with PCIe devices

Engineering Contradiction:
Improvenumber of CPUsVSAvoidcompatibility with PCIe devices
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent introduces a dimension transition by switching from 32-bit addressing mode to 64-bit addressing mode. This allows the system to access MMCFG space above the 4 GB boundary, effectively adding a new address space dimension. As a result, the MMIO space below 4 GB is preserved and not consumed by additional CPUs, maintaining PCIe device compatibility while supporting larger CPU configurations.

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

Solution Approach 2:

The patent changes the addressing mode parameter from 32-bit to 64-bit, which fundamentally alters the addressable memory space. This parameter change enables the system to allocate MMCFG space in the upper address range (above 4 GB), thereby freeing up the lower address space for MMIO operations and preserving compatibility with PCIe devices even as CPU count increases.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If the number of CPUs in a large-scale CC-NUMA system is increased, then the system processing capacity is improved, but the available memory address space below 4 GB decreases, causing compatibility problems with operating system startup

Engineering Contradiction:
Improvenumber of CPUsVSAvoidoperating system startup compatibility
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

By transitioning to 64-bit addressing mode, the system accesses memory space in a higher dimension (above 4 GB). This dimensional shift ensures that the traditional 32-bit address space below 4 GB remains available for operating system startup requirements, thereby maintaining reliability and compatibility even as the system scales to support more CPUs.

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

Solution Approach 2:

The addressing mode parameter is changed from 32-bit to 64-bit, which expands the total addressable memory space. This parameter change allows the system to allocate MMCFG space for additional CPUs in the upper address range, preserving the lower address space needed for reliable operating system startup.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If MMCFG space is allocated below 4 GB in 32-bit mode, then memory initialization can be performed, but the MMIO space and available memory space below 4 GB are reduced

Engineering Contradiction:
Improvememory initialization capabilityVSAvoidMMIO space and available memory space
Core Design Contradiction:
Ease of manufactureVSArea of stationary object

Solution Approach 1:

The patent resolves this spatial conflict by moving MMCFG space allocation to a higher dimension (above 4 GB) through 64-bit addressing. This allows memory initialization to proceed while preserving the lower address space below 4 GB for MMIO and available memory, eliminating the need to trade off between these competing space requirements.

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

Solution Approach 2:

The addressing mode parameter is changed from 32-bit to 64-bit, which fundamentally changes the address space allocation strategy. This parameter change enables MMCFG space to be allocated in the upper address range, thereby preserving sufficient space below 4 GB for both MMIO operations and available memory, without compromising memory initialization capability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3438816B1BIOS starting method and device
Publication Date: 2021.06.09 HUAWEI TECH CO LTD
  • EP3438816B1 patent drawingFigure 1
  • EP3438816B1 patent drawingFigure 2
  • EP3438816B1 patent drawingFigure 3

AI summary

A BIOS startup method and apparatus are disclosed, and relate to the computer field. While extending a quantity of CPUs included in a large-scale CC-NUMA system, BIOS startup does not affect capacities occupied by an MMIO space and an available memory space below a first address in a global access address of the system. The specific solution includes: in a first access mode, allocating, by a current node, a local MMCFG in a space below a local access address of the current node that is a first address, and completing memory initialization; and when performing unified memory addressing of a system, moving positions of addresses of a part or an entirety of the MMCFG space of the current node from the original space below the first address in a global access address of the system to a space that is above the first address and can be accessed in a second access mode.