Dedicated Bound Information Register File for Memory Safety
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solutions for protecting against out-of-bounds memory references, such as Intel's MPX system, increase the number of instructions and execution time due to the need for additional instructions and costly implementations, which is inefficient in reducing memory safety vulnerabilities.
Innovation Solution
A dedicated bound information register file is introduced to store bounds information for active pointers in general registers, allowing bound-checking operations to be performed using original instructions with reduced additional instructions and special hardware support, maintaining precision to the byte level.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Intel's MPX system is used to protect against out-of-bounds memory references, then memory safety is improved, but the number of instructions and execution time increase
Solution Approach 1:
The patent extracts the bounds information from general registers and stores it in a dedicated register file. This separation allows the processor to access bounds information efficiently without interfering with normal register operations, thereby maintaining execution speed while providing memory safety checks.
Solution Approach 2:
The dedicated register file acts as an intermediary between the general registers and the memory access operations. It stores bounds information that can be quickly compared against memory access addresses, providing a mediation layer that enables safety checks without adding significant overhead to the instruction execution path.
2Reliability
If additional instructions and special hardware are added to protect against out-of-bounds references, then memory safety is improved, but device complexity increases
Solution Approach 1:
The dedicated register file serves multiple functions: it stores bounds information for multiple buffers simultaneously, supports both load and store operations, and can be integrated with existing processor architectures. This multi-functionality reduces the need for separate hardware components for each protection function, thereby limiting the increase in device complexity.
3Reliability
If bounds checking is performed for every memory access, then memory safety is improved, but instruction overhead increases
Solution Approach 1:
The patent performs preliminary action by storing bounds information in the dedicated register file before memory access operations occur. This pre-positioning of bounds data allows for rapid comparison during memory access without requiring complex real-time calculations, thereby reducing instruction overhead while maintaining comprehensive bounds checking.
Data Source
AI summary
A method, system and apparatus for protecting against out-of-bounds references, including storing an address of a buffer in a general register and storing bounds information (BI) for the buffer in a bounds information register, and when a content of the general register is used as an address in a load or store operation, using a content of the bounds information register to determine if the load or store is out of bounds.


