Bitmap Windows for Persistent Memory Object Deletion

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveobject deletion speedVSAvoiddamage to persistent memory
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvepersistent memory lifespanVSAvoiddata structure complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveaccurate garbage identificationVSAvoidgarbage collection process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2880538B1System and method for object deletion in persistent memory using bitmap windows
Publication Date: 2022.04.20 ORACLE INT CORP
  • EP2880538B1 patent drawingFigure 1
  • EP2880538B1 patent drawingFigure 2
  • EP2880538B1 patent drawingFigure 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.