Java Card Memory Management with Non-Volatile Array Pointers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory management techniques in Java Card platforms for integrated circuit cards, such as UICCs, are inefficient due to slow allocation and deallocation of RAM resources, leading to depletion of volatile memory and inefficient use of non-volatile memory for array management.

Innovation Solution

A method for managing memory in integrated circuit cards using a Java Card platform that involves creating array pointers in non-volatile memory with logical addresses, assigning RAM memory only to transient arrays with non-zero values, and using an indirection table in RAM to optimize memory allocation and deallocation, ensuring efficient use of RAM resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional memory management techniques are used in Java Card platforms, then application code can be executed, but RAM resources are depleted quickly due to slow allocation and deallocation

Engineering Contradiction:
Improvememory management efficiencyVSAvoidallocation and deallocation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-creating array pointers in non-volatile memory with logical addresses before actual memory allocation is needed. The indirection table is pre-established in RAM, allowing rapid mapping from logical to physical addresses without repeated allocation operations, thus resolving the contradiction between memory management efficiency and allocation time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an indirection table as an intermediary mechanism between logical array pointers and physical RAM addresses. This intermediary structure enables efficient memory mapping by storing pre-computed address translations, eliminating the need for slow real-time allocation decisions and reducing both time loss and improving reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If array pointers are created in non-volatile memory with logical addresses, then memory allocation is optimized, but additional memory structures are required

Engineering Contradiction:
Improvememory allocation speedVSAvoidmemory management structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the memory management system into distinct components: non-volatile memory for storing array pointers and logical addresses, volatile RAM for the indirection table and actual data, and a mapping mechanism between them. This segmentation allows each component to serve its specific function efficiently while improving overall allocation speed despite the added structural complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces another dimension to memory management by adding a logical address layer between physical RAM addresses and application-level array references. This dimensional addition (logical addresses in non-volatile memory mapping to physical addresses in RAM) enables faster allocation by operating at multiple abstraction levels simultaneously.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Quantity of substance

If RAM memory is assigned only to transient arrays with non-zero values, then memory efficiency is improved, but deallocation operations become more complex

Engineering Contradiction:
ImproveRAM memory usageVSAvoiddeallocation operation
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms through the indirection table that tracks which logical array pointers have been allocated to physical RAM addresses. This feedback structure enables efficient deallocation by simply updating the indirection table to mark allocated regions as free, without requiring complex scanning or manipulation operations, thus improving memory usage efficiency while keeping deallocation manageable.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12406707B2Method of managing memory in an integrated circuit card and corresponding integrated circuit card
Publication Date: 2025.09.02 STMICROELECTRONICS SRL
  • US12406707B2 patent drawing
  • US12406707B2 patent drawing
  • US12406707B2 patent drawing

AI summary

A method of managing memory in an integrated circuit card comprising a non-volatile memory portion and a RAM memory portion, the method comprising creating in a non-volatile memory heap one or more array pointers, corresponding to one or more transient arrays to be allocated, each array pointer comprising a transient array size and a transient array address, wherein the creating comprises creating one or more array pointers comprising as transient array address a logical address of the area of the RAM memory portion in which the respective transient array is to be allocated, and assigning then in the RAM memory area memory only to transient arrays, corresponding to the respective one or more array pointers, which comprise at least a value different from zero.