Smart Card Virtual Machine Off-Chip Flash Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Smart cards face limitations in memory size, particularly in non-volatile memory and on-chip FLASH, restricting their capability to handle various services and applications due to insufficient storage space.

Innovation Solution

Incorporating an off-chip FLASH in addition to the existing on-chip FLASH and virtual machine, allowing the virtual machine to dynamically manage the storage of code segments between on-chip and off-chip memory based on application type and user requirements, enhancing storage capacity and handling capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the size of on-chip FLASH is increased to store more application code segments, then the storage capacity is improved, but the cost and device complexity increase significantly

Engineering Contradiction:
Improvestorage capacityVSAvoiddevice complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent divides the storage system into two segments: on-chip FLASH for frequently accessed code segments and off-chip FLASH for less frequently accessed code segments. This segmentation allows the system to achieve large storage capacity without requiring all storage to be on the chip, thereby reducing device complexity and cost while maintaining adequate storage capacity.

Inventive Principle:
Principle #1Segmentation

2Speed

If more code segments are stored in on-chip FLASH to improve running speed, then the speed is improved, but the storage capacity available for other applications decreases

Engineering Contradiction:
Improverunning speedVSAvoidstorage capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies local quality by storing frequently accessed code segments in on-chip FLASH (providing fast access where needed) and less frequently accessed segments in off-chip FLASH. This creates different storage qualities in different locations, optimizing both running speed for critical operations and overall storage capacity for the entire system.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If an off-chip FLASH is added to expand storage space, then the storage capacity is improved, but the device complexity increases

Engineering Contradiction:
Improvestorage capacityVSAvoiddevice complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The virtual machine is designed with multi-functional capabilities to manage code segments across both on-chip and off-chip FLASH. It can dynamically load, execute, and swap code segments between the two storage locations, making the storage system universal and adaptable to different access patterns without requiring separate management systems for each storage type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Speed

If code segments are dynamically moved between on-chip and off-chip FLASH based on access patterns, then the running speed is improved, but the device complexity increases

Engineering Contradiction:
Improverunning speedVSAvoiddevice complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements dynamics by enabling the virtual machine to dynamically move code segments between on-chip and off-chip FLASH based on real-time access patterns and system state. This dynamic management allows the system to optimize running speed for frequently accessed segments while automatically managing the complexity through software-based control rather than hardwired solutions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10762408B2Smart card
Publication Date: 2020.09.01 TENDYRON CORP
  • US10762408B2 patent drawing

AI summary

The virtual machine includes a receiving module, an instruction assigning module, a downloading module, an application registry maintenance module, a state switching module, a storage managing module, and a communication module. The state switching module is configured to in response to determining that it is required to move the code segment, allocate a storage space of the off-chip FLASH for the code segment of the application to be loaded, acquire a second base address of the code segment of the application to be loaded, and modify the current running address as the second base address. The off-chip FLASH is configured to store the code segment of the application to be loaded on the off-chip FLASH.