Memory Verification Tool Intercepting Allocation Requests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory corruption issues in applications due to improper use of virtual memory, which existing memory debuggers often fail to address efficiently without consuming excessive physical memory resources, especially when dealing with larger applications.
Innovation Solution
A computing system that allocates a virtual address space for memory verification tools to form a memory pool with protectable slots, intercepts memory allocation requests, and manages memory allocation and deallocation to detect memory corruption without consuming large amounts of physical memory by using a memory verification tool that pre-allocates virtual memory addresses and sets protections to detect unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory debuggers keep virtual memory addresses as placeholders to detect memory corruption, then memory verification capability is improved, but physical memory consumption increases rapidly
Solution Approach 1:
The patent extracts the memory verification function from traditional debuggers that hold all addresses as placeholders. Instead, it creates a selective verification system that only reserves physical memory for addresses that are actually allocated to the application, separating verification capability from continuous physical memory occupation.
Solution Approach 2:
The system changes the state of virtual memory addresses from a static placeholder state to a dynamic state where addresses are only physically allocated when needed for actual application use. This transforms the memory management approach from conservative reservation to demand-based allocation.
2Reliability
If memory debuggers never release virtual memory address allocations, then memory corruption detection is improved, but available physical memory decreases
Solution Approach 1:
The patent introduces dynamic memory release mechanisms where the memory verification system automatically releases physical memory when virtual memory addresses are no longer in use by the application. This dynamic behavior allows the system to maintain verification capability while adapting to changing memory needs and releasing resources when appropriate.
Solution Approach 2:
The system implements feedback loops that monitor application memory usage patterns and automatically adjust physical memory allocation accordingly. When addresses are freed or no longer accessed, the system receives feedback and releases the corresponding physical memory, creating a self-regulating memory management system.
3Reliability
If traditional memory verification tools are used, then memory corruption detection is improved, but the system cannot handle larger applications due to memory constraints
Solution Approach 1:
The patent segments the memory verification function into modular components that can be applied selectively to different memory regions. Instead of verifying all memory addresses uniformly, it divides the verification process into manageable segments that align with actual application memory allocations, enabling verification of larger applications within available physical memory constraints.
Data Source
AI summary
This application discloses a computing system configured to request that an operating system implemented by the computing system allocate a virtual address space, which is designated for use by an application implemented by the computing system, to a memory verification tool implemented by the computing system. The computing system is configured to utilize the virtual address space to form a memory pool having multiple protectable slots available for allocation to the application. The computing system is further configured to intercept a memory allocation request issued by the application to the operating system of the computing system, and allocate at least one of the protectable slots in the memory pool to the application in response to the intercepted memory allocation request.


