Secure Element Volatile Heap for Session-Limited Object Cleanup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Java Card technology does not efficiently manage transient objects, as their headers remain in non-volatile memory after events like reset or deselect, requiring manual garbage collection, and temporary objects are limited in number and type, restricting efficient memory usage.
Innovation Solution
Implement a memory architecture with a volatile heap memory in the volatile working memory, allowing both object data fields and headers to be stored temporarily, with session-limited lifetimes, and segmented for flexible management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If transient objects are stored in non-volatile heap memory, then object headers are retained after reset or deselect, but manual garbage collection is required and memory efficiency is reduced
Solution Approach 1:
The heap memory is segmented into a persistent heap memory (non-volatile) for object headers and a transient heap memory (volatile) for object data. This segmentation allows object headers to be retained in non-volatile memory for reliability while object data is automatically cleared in volatile memory, eliminating the need for manual garbage collection and improving memory efficiency.
Solution Approach 2:
A mapping mechanism acts as an intermediary between the persistent object headers and transient object data. The mapping stores references from headers to data locations, allowing the system to maintain header integrity in non-volatile memory while enabling automatic cleanup of volatile data without requiring manual intervention.
2Duration of action of moving object
If temporary objects are created with limited references, then object lifetime is controlled, but the number and type of objects are restricted
Solution Approach 1:
The system dynamically manages object lifetime by associating transient objects with session lifetimes. Objects created in transient heap memory automatically expire when their containing applet is deselected or the secure element is reset, providing flexible lifetime control without restricting object types or numbers through static reference limitations.
3Reliability
If all objects are stored in non-volatile memory, then data persistence is ensured, but memory capacity is reduced and performance is slower
Solution Approach 1:
The memory system is segmented into non-volatile heap memory for persistent object headers and volatile working memory for transient object data. This segmentation enables the system to maintain data persistence for critical object metadata while utilizing faster, higher-capacity volatile memory for temporary data, thereby increasing overall memory capacity and performance without sacrificing persistence where needed.
Solution Approach 2:
Different parts of the object storage system have different quality characteristics: object headers in non-volatile memory have high reliability and persistence, while object data in volatile memory has high speed and capacity. This local quality differentiation optimizes the overall system by placing each component in the most suitable memory type.
Data Source
AI summary
A secure element includes: a virtual machine; a non-volatile heap memory unit (NVM heap) which is arranged in a non-volatile memory unit (NVM); and a volatile working memory unit (RAM) which is designed to non-persistently store data. The secure element is wherein: a volatile heap memory unit (RAM heap) which is arranged in the RAM and contains at least one volatile heap memory segment. The session is temporally limited by a beginning and an end of the session such that an object on the volatile heap memory unit segment has a lifespan which is temporally limited in a manner corresponding to the temporally limited duration of the session. A memory managing method in a secure element, has the steps of installing an object, which includes an object header and object data, on such a volatile heap storage memory segment.
