Variable-Size Memory Protection Table Lookup via Binary Search
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
4Quantity of substance
If variable-sized address regions are supported, then memory resource efficiency is improved, but table lookup complexity increases
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.
Data Source
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.


