Hypervisor One-Time Programmable Memory Manager
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for protecting high importance data in computer memory are either costly or inflexible, as they rely on hardware-based write once read many (WORM) memory, which is expensive to scale and has a large attack surface due to the complexity of operating systems used for protection.
Innovation Solution
A software-based approach that utilizes a processor to manage one-time programmable (OTP) memory by executing software processes at different privilege levels, allowing for dynamic allocation and write protection of memory blocks, mimicking the security benefits of hardware-based WORM memory without the costs and limitations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware-based write once read many memory is used to protect high importance data, then data security and integrity are improved, but cost and device complexity increase
Solution Approach 1:
The patent creates a virtual copy of hardware-based WORM memory functionality through software processes. The hypervisor implements a virtual WORM memory manager that mimics the behavior and security characteristics of physical WORM memory without requiring actual hardware changes. This allows standard RAM to provide WORM-like protection through software enforcement of write-once semantics.
Solution Approach 2:
The patent replaces the mechanical/physical WORM memory hardware system with a software-based implementation. Instead of relying on physical fuse blowing or one-time programmable cells, the system uses hypervisor-level software processes to enforce write protection and integrity constraints, substituting physical mechanisms with software control.
2Reliability
If hardware-based write once read many memory is used to protect high importance data, then data security is improved, but scalability and flexibility deteriorate
Solution Approach 1:
The patent introduces dynamic configurability to WORM memory allocation through software. The virtual WORM memory manager allows runtime allocation, deallocation, and reconfiguration of protected memory regions without hardware changes. This enables the system to adapt WORM protection to different security requirements and data types dynamically, unlike fixed hardware WORM memory.
Solution Approach 2:
The patent creates a universal software layer that provides WORM memory functionality across the entire system. The hypervisor-based implementation can serve multiple applications and workloads with different security requirements using the same underlying hardware resources, making the WORM capability universally applicable rather than tied to specific hardware configurations.
3Productivity
If operating system is used to protect data in random access memory, then resource utilization is improved, but security risk increases due to larger attack surface
Solution Approach 1:
The patent segments the software architecture into distinct privilege levels with the WORM memory manager operating at a higher level than the standard operating system. This creates a security boundary where critical WORM-protected data is managed separately from the general-purpose OS, isolating the attack surface and preventing OS-level compromises from affecting protected data.
Solution Approach 2:
The patent introduces the WORM memory manager as an intermediary layer between applications and the underlying RAM. This mediator enforces write-once semantics and integrity checks, providing enhanced security protection while allowing the OS to continue managing general-purpose memory resources efficiently.
Data Source
Figure 1
Figure 2
AI summary
An apparatus that includes a processor and a memory. The processor and the memory are configured to provide a first software process configured to execute at a first privilege level; and a second software process configured to execute at a second privilege level, wherein the first privilege level is more restrictive than the second privilege level. The processor is configured to, initialize, at the first privilege level, a memory pool within the memory, allocate, at the first privilege level, a block of memory, send a request to write protect the block of memory to the second software process, and to write protect, at the second privilege level, the allocated block of memory.