SoC Debug Partitioning with WorldGuard Memory Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software isolation methods fail to provide robust security and safety in systems on a chip, as they either prioritize security over safety or vice versa, leading to potential interference between software components, which can compromise critical functions in devices like medical devices or security systems.

Innovation Solution

A hardware-enforced multi-domain solution using WorldGuard, which creates distinct 'worlds' for software applications, ensuring strict isolation by assigning unique world identifiers and controlling access to resources, and enabling selective debug mode through a debug world list and debug ROM code that adheres to the software's privilege mode.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software isolation is implemented using conventional methods, then security or safety may be improved, but the other aspect (safety or security) deteriorates, and interference between software components occurs

Engineering Contradiction:
Improvesoftware isolationVSAvoidinterference between software components
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The memory space is segmented into multiple isolated worlds, each with its own address space and access permissions. World 0 is reserved for debug handler instructions, while other worlds are allocated for different software applications. This segmentation ensures that bugs or malicious behavior in one world cannot affect other worlds, simultaneously achieving both security and safety isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A hardware-enforced world identifier mechanism acts as an intermediary between software components and memory resources. Each memory access is tagged with a world identifier, and the hardware automatically enforces access control based on predefined permissions. This intermediary layer prevents direct interference between software components while maintaining controlled access to shared resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If debug mode is enabled for all software, then debugging capability is improved, but system security deteriorates due to potential unauthorized access

Engineering Contradiction:
Improvedebugging capabilityVSAvoidsystem security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

Debug capability is applied locally and selectively to specific worlds rather than universally. The world identifier mechanism allows the system to differentiate between debuggable worlds (e.g., user applications) and non-debuggable worlds (e.g., critical system code, secure enclaves). This local application of debug permissions maintains security for critical functions while enabling debugging where needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes the debug permission parameter based on the world identifier. By associating debug permissions with specific world identifiers, the system can enable or disable debugging capability for different software components without affecting the overall system security. Critical worlds can have debug disabled while non-critical worlds allow debugging.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If hardware-enforced isolation is implemented, then security and safety are improved, but device complexity increases

Engineering Contradiction:
Improvesoftware isolationVSAvoidhardware structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The world identifier mechanism serves multiple functions simultaneously: it provides memory isolation, enforces access control, manages debug permissions, and enables context switching. By using a single hardware mechanism for multiple purposes, the patent reduces overall system complexity compared to implementing separate mechanisms for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent adds a world identifier dimension to existing memory access operations without fundamentally changing the underlying hardware architecture. By tagging memory accesses with world identifiers and using hardware to automatically enforce permissions based on this new dimension, the system achieves strong isolation while maintaining compatibility with existing memory management structures.

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

Data Source

PatentUS12399721B2Debug in system on a chip with securely partitioned memory space
Publication Date: 2025.08.26 SIFIVE INC
  • US12399721B2 patent drawing
  • US12399721B2 patent drawing
  • US12399721B2 patent drawing

AI summary

Systems and methods are disclosed for debug in a system on a chip with a securely partitioned memory space. For example, an integrated circuit (e.g., a processor) for executing instructions includes a processor core configured to execute instructions, including a data store configured to store a first world identifier; an outer memory system configured to store instructions and data; a data store configured to store a debug world list that specifies which world identifiers supported by the integrated circuit are authorized for debugging; and a debug enable circuitry configured to generate a debug enable signal based on the first world identifier and the debug world list, wherein the processor core is configured to jump to debug handler instructions in response to a debug exception or ignore the debug exception depending on the debug enable signal.