Memory Protection Circuit for Vector Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures face challenges in efficiently checking memory protection violations for vector operations, particularly for unit-stride or constant-stride vector memory instructions, due to the need to verify numerous memory addresses, which can lead to increased hardware complexity, power consumption, and reduced throughput.

Innovation Solution

The proposed solution involves a memory protection circuit that optimizes memory protection checks by partitioning vector operations into subvectors, allowing for efficient scanning of memory protection violations using a simple circuit with minimal hardware. This is achieved by determining a maximum subvector length based on the protection granule and stride, enabling checks on fewer memory addresses per cycle, thereby simplifying hardware and reducing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional memory protection checks are performed for each memory address in vector operations, then memory protection integrity is maintained, but hardware complexity increases and throughput decreases

Engineering Contradiction:
Improvememory protection integrityVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the vector memory access range into multiple sub-ranges, each associated with a separate protection domain. Instead of checking every individual memory address, the system performs protection checks on sub-range boundaries, significantly reducing the number of checks required while maintaining comprehensive memory protection coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-calculates and stores protection domain information for sub-range boundaries before vector operations execute. By preparing protection check data in advance, the system eliminates the need for time-consuming runtime checks on every memory address, thereby improving throughput while preserving memory protection integrity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If memory protection checks are performed on all memory addresses, then protection coverage is complete, but hardware complexity and power consumption increase

Engineering Contradiction:
Improveprotection coverageVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the memory address space into protection domains and further divides vector access ranges into sub-ranges. By performing protection checks only at sub-range boundaries rather than every address, the system reduces hardware complexity while maintaining complete protection coverage through hierarchical domain checking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal protection check mechanism that handles multiple protection domains through a unified sub-range boundary checking approach. This multi-functional system can check different protection domains using the same hardware structure, reducing overall hardware complexity compared to having separate check mechanisms for each domain.

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

3Reliability

If memory protection checks are performed on all memory addresses, then protection accuracy is maintained, but power consumption increases

Engineering Contradiction:
Improveprotection accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the memory protection checking task into sub-range boundary checks rather than checking every address. This segmentation reduces the total number of protection checks performed, directly lowering power consumption while maintaining protection accuracy through hierarchical domain validation at boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs protection checks on a partial set of addresses (sub-range boundaries) rather than all addresses. By strategically selecting boundary addresses for checking, the system achieves sufficient protection accuracy with reduced power consumption, as boundary checks provide indirect validation of intermediate addresses within protected domains.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12314191B2Memory protection for vector operations
Publication Date: 2025.05.27 SIFIVE INC
  • US12314191B2 patent drawing
  • US12314191B2 patent drawing
  • US12314191B2 patent drawing

AI summary

Systems and methods are disclosed for memory protection for vector operations. For example, a method includes fetching a vector memory instruction using a processor core including a pipeline configured to execute instructions, including constant-stride vector memory instructions; partitioning a vector that is identified by the vector memory instruction into a subvector of a maximum length, greater than one, and one or more additional subvectors with lengths less than or equal to the maximum length; checking, using a memory protection circuit, whether accessing elements of the subvector will cause a memory protection violation; and accessing the elements of the subvector before checking, using the memory protection circuit, whether accessing elements of one of the one or more additional subvectors will cause a memory protection violation.