Variable-Size Memory Protection Table Lookup via Binary Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management units (MMUs) and memory protection units (MPUs) face challenges in efficiently controlling access to memory systems, particularly in real-time applications with constrained memory resources, due to limitations in page table structures and the granularity of control, leading to performance issues and increased latency.

Innovation Solution

A memory protection unit (MPU) with a memory-based memory protection table that allows for variable-sized address regions, stored in the memory system, which reduces the need for large page tables and minimizes the number of memory protection entries required, enabling faster and more deterministic access control by using a binary search procedure for table lookups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional page table structures are used with fine-grained control, then access permission control precision is improved, but hardware cost and memory resource consumption increase

Engineering Contradiction:
Improveaccess permission control precisionVSAvoidhardware cost
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the control table into variable-sized entries rather than using fixed-page structures. Each entry can cover different address region sizes based on actual needs, allowing precise control without requiring a large number of uniform page table entries. This segmentation approach reduces the total number of entries needed while maintaining fine-grained control precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of address region size from fixed (power-of-2 pages) to variable. By allowing entries to specify different start and end addresses, the system can precisely define access permissions for arbitrary address regions. This parameter change enables the use of fewer, more efficient entries while maintaining or improving control precision.

Inventive Principle:
Principle #35Parameter changes

2Ease of manufacture

If traditional page table structures with fixed granularity are used, then implementation simplicity is improved, but flexibility in managing variable-sized address regions deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidflexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic variable-sized entries that can adapt to different address region requirements. Each entry can be configured with custom start and end addresses, allowing the control table to dynamically accommodate various address region sizes and shapes. This dynamic structure provides both flexibility for different applications and a relatively simple lookup mechanism using binary search.

Inventive Principle:
Principle #15Dynamics

3Reliability

If a large number of memory protection entries are used to cover all address regions, then access control coverage is improved, but response time and latency increase

Engineering Contradiction:
Improveaccess control coverageVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent organizes control table entries in a pre-sorted order by start address, enabling efficient binary search operations. This preliminary organization allows the system to quickly locate the relevant entry for any given address without scanning through all entries. The binary search approach reduces lookup time from linear O(n) to logarithmic O(log n), significantly improving response time while maintaining complete coverage.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If variable-sized address regions are supported, then memory resource efficiency is improved, but table lookup complexity increases

Engineering Contradiction:
Improvememory resource efficiencyVSAvoidtable lookup complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent replaces complex comparison logic with a simpler binary search mechanism. Instead of requiring multiple comparison operations to handle variable-sized regions, the system uses binary search on the sorted start addresses, which provides a systematic and efficient approach. This substitution reduces lookup complexity while fully supporting variable-sized address regions.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11907301B2Binary search procedure for control table stored in memory system
Publication Date: 2024.02.20 ARM LTD
  • US11907301B2 patent drawing
  • US11907301B2 patent drawing
  • US11907301B2 patent drawing

AI summary

A control table (22) defines information for controlling a processing component (20) to perform an operation. The table (22) comprises entries each corresponding to a variable size region defined by a first limit address and one of a second limit address and size. A binary search procedure is provided for looking up the table, comprising a number of search window narrowing steps, each narrowing a current search window of candidate entries to a narrower search window comprising fewer entries, based on a comparison of a query address against the first limit address of a selected candidate entry of the current search window. The comparison is independent of the second limit address or size of the selected candidate entry. After the search window is narrowed to a single entry, the query address is compared with the second limit address or size of that single entry.