Memory Protection for Gather-Scatter Vector Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures face challenges in efficiently scanning for memory protection violations during gather-scatter operations, which can lead to performance bottlenecks and increased power consumption.

Innovation Solution

The implementation of a memory protection circuit with a vector partition circuit that partitions vectors into subvectors, allowing for fast memory protection scanning by checking only the range of addresses touched by the vector operation, rather than each individual element address.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional memory protection scanning is used for gather-scatter operations, then memory protection is ensured, but scanning speed is slow and power consumption is high

Engineering Contradiction:
Improvememory protection scanning speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by stationary object

Solution Approach 1:

The patent divides the vector into multiple subvectors and partitions the address range into smaller segments. Instead of scanning every individual address, the system scans only the boundary addresses of each segment (e.g., first and last addresses of subvectors). This segmentation reduces the number of scan operations from O(n) to O(n/k) where k is the number of elements per subvector, thereby increasing scanning speed and reducing power consumption while maintaining memory protection effectiveness.

Inventive Principle:
Principle #1Segmentation

2Reliability

If individual element address checking is performed, then complete memory protection is achieved, but hardware complexity increases

Engineering Contradiction:
Improvememory protection completenessVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and checks only the critical boundary addresses (first and last addresses) of each subvector range rather than every individual element address. This extraction approach maintains memory protection reliability by catching out-of-bounds accesses at segment boundaries while significantly reducing hardware complexity. The memory protection circuit only needs to handle a small number of address checks per vector operation instead of potentially thousands of individual element checks.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20250173277A1Memory protection for gather-scatter operations
Publication Date: 2025.05.29 SIFIVE INC
  • US20250173277A1 patent drawing
  • US20250173277A1 patent drawing
  • US20250173277A1 patent drawing

AI summary

Systems and methods are disclosed for memory protection for memory protection for gather-scatter operations. For example, an integrated circuit may include a processor core; a memory protection circuit configured to check for memory protection violations with a protection granule; and an index range circuit configured to: memoize a maximum value and a minimum value of a tuple of indices stored in a vector register of the processor core as the tuple of indices is written to the vector register; determine a range of addresses for a gather-scatter memory instruction that takes the vector register as a set of indices based on a base address of a vector in memory, the memoized minimum value, and the memoized maximum value; and check, using the memory protection circuit during a single clock cycle, whether accessing elements of the vector within the range of addresses will cause a memory protection violation.