Processor SMM Initialization via Parallel SMRAM Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for initializing the System Management Mode (SMM) in processors are inefficient, requiring serial allocation of System Management Random Access Memory (SMRAM) and leading to prolonged initialization times and reduced execution efficiency.

Innovation Solution

A control method that allocates SMRAM required for each logical core in the SMM and stores the associated addresses in Model Specific Registers (MSRs), allowing for parallel initialization and reducing the time spent on initialization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If serial allocation of SMRAM is performed for each logical core, then system management mode initialization can be completed, but initialization time is prolonged and execution efficiency is reduced

Engineering Contradiction:
ImproveSMM initialization completenessVSAvoidinitialization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the SMRAM allocation process for multiple logical cores into a single parallel operation. Instead of allocating SMRAM sequentially for each core, the system performs unified allocation across all cores simultaneously, significantly reducing initialization time while ensuring each core receives its required memory resources.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements preliminary allocation of SMRAM addresses before logical cores enter system management mode. By pre-configuring the base addresses of SMRAM for each core and storing them in model-specific registers (MSRs) in advance, the system eliminates the need for time-consuming serial allocation during actual SMM operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If serial allocation of SMRAM is performed for each logical core, then system management mode initialization can be completed, but execution efficiency is reduced

Engineering Contradiction:
ImproveSMM initialization completenessVSAvoidinitialization execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines multiple SMRAM allocation operations into a single parallel execution unit. By merging the allocation processes for all logical cores into one unified operation that executes simultaneously, the system maintains initialization completeness while dramatically improving execution efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary configuration of SMRAM parameters and stores base addresses in model-specific registers before logical cores require them. This advance preparation eliminates runtime allocation overhead, ensuring both complete initialization and high execution efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250181391A1Control method, processor and computer system for system management mode
Publication Date: 2025.06.05 VIA ALLIANCE SEMICON CO LTD
  • US20250181391A1 patent drawing
  • US20250181391A1 patent drawing
  • US20250181391A1 patent drawing

AI summary

The present application relates to the technical field of system management mode (SMM), and in particular it relates to a control method, a processor, and a computer system for system management mode. The method is applied to a processor. The processor includes at least one logical core. The method performs an initialization setting before each logical core enters system management mode. The initialization setting includes: allocating system management random access memory (SMRAM) required in the SMM to each logical core; and storing addresses related to the SMRAM of each logical core into at least one model-specific register MSR. There is no need to set SMRAM for each logical core serially. This shortens the time spent on initialization in the SMM and improves the execution efficiency of initialization.