Bitmap Windows for Persistent Memory Object Deletion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Resource-constrained environments, such as smart cards, face challenges in reclaiming persistent memory used by non-reachable objects due to the time-consuming and potentially damaging nature of traditional garbage collection methods like moving or marking objects directly in persistent memory.
Innovation Solution
The system employs bitmap windows representing memory chunks to efficiently delete non-reachable objects from persistent memory, using a scalable mark-sweep garbage collection technique that avoids unnecessary writes and accounts for cyclical references without requiring object dereferencing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional garbage collection methods (moving or marking objects directly) are used in persistent memory, then object deletion can be achieved, but the operation becomes time-consuming and potentially damaging to persistent memory due to limited write endurance
Solution Approach 1:
The patent creates a copy of the persistent memory structure in volatile memory (RAM). The bitmap data structure is copied to track object reachability, and the actual deletion is performed on the persistent memory through the bitmap without directly manipulating the persistent memory contents. This copying approach allows fast garbage collection while minimizing writes to persistent memory, resolving the contradiction between deletion speed and memory durability.
Solution Approach 2:
The patent introduces a bitmap data structure as an intermediary between the garbage collection process and persistent memory. The bitmap tracks which objects are reachable and which are garbage without requiring direct access or modification of the persistent memory objects themselves. This intermediary enables efficient deletion by simply flipping bits in the bitmap rather than performing time-consuming object manipulation operations on persistent memory.
2Duration of action of stationary object
If bitmap-based garbage collection is used to minimize writes to persistent memory, then memory lifespan is extended, but the complexity of the data structure increases
Solution Approach 1:
The patent segments the persistent memory into discrete objects with unique identifiers, and the bitmap is segmented into corresponding bit positions for each object. This segmentation allows the complex garbage collection problem to be reduced to simple bit manipulation operations on individual segments, making the data structure more manageable and easier to implement while still achieving efficient garbage collection.
Solution Approach 2:
The patent changes the state representation from complex object references to simple binary bits in the bitmap. Instead of tracking object reachability through complex pointer chains or reference graphs, the system uses a simplified parameter (bit value) to indicate whether an object is reachable or garbage. This parameter transformation dramatically simplifies the data structure and operations while maintaining accurate garbage detection.
3Reliability
If mark-sweep garbage collection is implemented, then non-reachable objects can be identified and deleted, but the process becomes more complex compared to simpler deletion methods
Solution Approach 1:
The bitmap data structure is updated automatically during normal object creation and reference operations. When an object is created or referenced, the corresponding bit in the bitmap is automatically set to indicate reachability. This self-service mechanism eliminates the need for complex manual tracking or analysis during garbage collection, as the bitmap is already maintained up-to-date by the system's own operations.
Solution Approach 2:
The bitmap is updated in advance during object creation and reference establishment, before garbage collection is needed. By performing the preliminary action of marking reachable objects at the time of their creation or reference, the system prepares the garbage collection process to simply identify and delete unmarked objects, rather than performing complex analysis during the actual deletion phase.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system and method for object deletion in persistent memory using bitmap windows representing memory chunks. In accordance with an embodiment, the system can generally be used with computing environments (100) that use persistent memory, such as smart cards, Java Cards, and other resource-constrained environments. In accordance with an embodiment, the system comprises a processor or computational engine and a persistent memory for storage of software objects; and a data structure (142) which can include one or more memory bitmap windows (144), each of which represents a chunk (146,148,150) of addressable space in the persistent memory (140); wherein the system uses the one or more memory bitmap windows in deleting non-reachable objects from the persistent memory.