BIOS Shared Memory Asynchronous Command Interface

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional BIOS communication with an embedded controller (EC) is inefficient due to the need to wait for the EC to complete processing before issuing new commands, leading to lower operational efficiency and increased probability of execution errors, especially given the significant difference in processing speeds between the CPU and EC.

Innovation Solution

A data processing apparatus that utilizes a shared memory to store command and returned data, allowing the BIOS unit to issue new commands without waiting for the EC to complete old ones, with the shared memory acting as a communication medium between the BIOS unit and the control unit, enabling asynchronous communication and high-speed data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the BIOS waits for the EC to complete processing before issuing new commands, then execution errors are reduced, but operational efficiency and performance deteriorate

Engineering Contradiction:
Improveexecution error rateVSAvoidoperational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The communication interface is segmented into separate write and read buffers within the shared memory. The write buffer allows the BIOS to issue commands without waiting for EC processing completion, while the read buffer stores results for later retrieval. This segmentation enables asynchronous communication, resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A shared memory structure acts as an intermediary between the BIOS and EC, decoupling their interaction. The BIOS writes commands to the write buffer and the EC reads them asynchronously, while results are written to the read buffer for BIOS retrieval. This intermediary mechanism allows continuous command issuance without waiting for EC completion, improving operational efficiency while maintaining execution reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If the BIOS communicates with the EC through conventional I/O ports, then device complexity is minimized, but data transfer speed and performance deteriorate

Engineering Contradiction:
Improvecommunication interface complexityVSAvoiddata transfer speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The communication interface merges memory access with I/O communication by using a shared memory structure that the BIOS can access through standard memory operations. This combining of memory and I/O functions eliminates the need for complex I/O port protocols while enabling high-speed data transfer through the memory interface, resolving the contradiction between device complexity and transfer speed.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If data is transferred in 8-bit word length through ISA bus, then device compatibility is maintained, but processing speed and performance deteriorate

Engineering Contradiction:
Improvedevice compatibilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent transitions from one-dimensional I/O port communication to a two-dimensional shared memory structure with separate write and read buffers. This dimensional change allows the system to maintain compatibility with existing BIOS architectures while enabling parallel command issuance and result retrieval, effectively bypassing the 8-bit ISA bus speed limitation through memory-mapped I/O operations.

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

Data Source

PatentUS8195894B2Data processing apparatus of basic input/output system
Publication Date: 2012.06.05 INVENTEC CORP
  • US8195894B2 patent drawing
  • US8195894B2 patent drawing
  • US8195894B2 patent drawing

AI summary

A data processing apparatus of a basic input/output system (BIOS) is provided. The data processing apparatus includes a BIOS unit, a share memory and a control unit. The BIOS unit writes command data into the share memory, wherein the command data includes identification data stored in an identification field. The control unit reads and performs the command data according to the identification data in the identification field. After the command data is performed, the control unit writes returned data into the share memory for the BIOS unit to read the returned data, wherein the returned data includes the execution result of the command data performed by the control unit and also includes the identification data.