Processor Non-Write-Back Lock Control for Real-Time Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures face issues with non-write-back locks, which can lead to data starvation for real-time software due to bus locks, preventing real-time operating systems from accessing memory effectively, especially when general-purpose software issues memory requests that cause non-write-back locks.

Innovation Solution

A new architecture is introduced that allows for selective disabling of non-write-back lock accesses by adding a bit in the control register, causing a general protection fault when a non-write-back lock access is attempted, thereby preventing bus locks and allowing real-time software to run without interference from other software.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If non-write-back lock accesses are enabled, then general-purpose software can use memory locking mechanisms, but real-time software experiences data starvation due to bus locks

Engineering Contradiction:
Improvememory locking capabilityVSAvoidreal-time software performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a control register bit that allows selective disabling of non-write-back lock accesses. This enables different quality levels of memory access control: when enabled, general-purpose software can use locking mechanisms; when disabled, real-time software achieves uninterrupted memory access. The system can locally adjust the locking behavior based on software type needs.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent makes the lock access behavior dynamic by introducing a configurable control register bit. The system can transition between two states: allowing non-write-back lock accesses for general-purpose software or blocking them to enable real-time software performance. This dynamic adjustment resolves the contradiction by adapting the locking mechanism to current operational needs.

Inventive Principle:
Principle #15Dynamics

2Productivity

If non-write-back lock accesses are disabled, then real-time software can access memory without interference, but general-purpose software loses locking functionality

Engineering Contradiction:
Improvereal-time software performanceVSAvoidmemory locking capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The control register bit provides dynamic control over lock access behavior. When set to disable non-write-back lock accesses, real-time software achieves optimal performance. When cleared, general-purpose software regains locking functionality. The system dynamically adapts between these modes based on operational requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies local quality by allowing different locking behaviors for different software types through the control register. The system can provide full locking capability to general-purpose software when needed, while providing uninterrupted access to real-time software when required, effectively creating quality tiers for memory access control.

Inventive Principle:
Principle #3Local quality

3Reliability

If bus locks are implemented, then memory access control is achieved, but data starvation occurs for real-time software

Engineering Contradiction:
Improvememory access controlVSAvoidreal-time software waiting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the harmful effect of bus locks by introducing a control mechanism that can disable non-write-back lock accesses. When real-time software needs uninterrupted memory access, the system can take out the bus locking mechanism entirely, allowing real-time software to proceed without waiting for general-purpose software to release locks.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The control register bit provides preliminary anti-action by allowing the system to prevent bus locks from forming in the first place when real-time software is running. By disabling non-write-back lock accesses before they can cause data starvation, the system proactively protects real-time software performance.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentEP3798854B1Apparatuses, methods, and systems for processor non-write-back capabilities
Publication Date: 2024.04.03 INTEL CORP
  • EP3798854B1 patent drawingFigure 1
  • EP3798854B1 patent drawingFigure 2~3
  • EP3798854B1 patent drawingFigure 4

AI summary

Systems, methods, and apparatuses relating to processor non-write-back capabilities are described. In one embodiment, a processor includes a plurality of logical processors, a control register comprising a non-write-back lock disable bit, a cache shared by the plurality of logical processors, a bus to couple the cache to a memory to service a memory request for the memory from the plurality of logical processors, and a memory controller to disable a non-write-back lock access of the bus for a read-modify-write type of the memory request issued by a logical processor of the plurality of logical processors when the non-write-back lock disable bit is set to a first value, and implement the non-write-back lock access of the bus for the read-modify-write type of the memory request when the non-write-back lock disable bit is set to a second value.