UICC Operating System Component Segmentation for Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Embedded UICC cards lack the ability to customize the operating system, limiting their functionality in scenarios requiring multiple profiles and operating systems, as they can only store one profile at a time due to memory constraints.

Innovation Solution

The method involves subdividing the operating system into components, associating each with a version descriptor, and downloading only components with different versions to the card, while discarding identical ones, and performing dynamic linking during profile switches to manage multiple operating systems efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the operating system is stored as a complete image in the UICC card, then the system can boot and operate, but the memory space is insufficient to store multiple complete operating system images

Engineering Contradiction:
Improveability to support multiple operating systemsVSAvoidmemory space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The operating system image is divided into multiple components (e.g., kernel, file system, applications). Each component is stored separately in the UICC card's memory, allowing selective loading and combination of different OS components to form multiple complete operating systems without storing all complete images simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple operating system components are nested within the limited memory space of the UICC card. Different OS versions and profiles share common components, with only the varying portions stored separately, enabling multiple OS instances to coexist in the constrained memory environment.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Adaptability or versatility

If only one operating system image is stored in the UICC card, then the memory usage is minimized, but the card cannot support multiple profiles or customized operating systems

Engineering Contradiction:
Improveprofile customization capabilityVSAvoidmemory capacity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The operating system is segmented into modular components that can be independently selected and configured for different profiles. This allows the UICC card to store multiple profile-specific components while sharing common system components, enabling profile customization without proportionally increasing total memory requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Common operating system components are made universal and shared across multiple profiles and operating systems. The same kernel, security modules, and system libraries serve multiple purposes, allowing the limited memory to support diverse profiles through a shared foundation rather than duplicating entire operating systems.

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

3Productivity

If complete operating system images are downloaded to the UICC card, then the operating system can be installed and executed, but the data transmission volume and time are excessive

Engineering Contradiction:
Improveoperating system installation efficiencyVSAvoiddata transmission volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Only the necessary and varying operating system components are extracted and downloaded to the UICC card, rather than transmitting complete operating system images. The primary boot loader on the card reconstructs complete operating systems by combining the downloaded components with locally stored common components, significantly reducing data transmission volume.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The UICC card is pre-configured with a primary boot loader and common operating system components before download. When a new operating system is needed, only the specific varying components are downloaded and then assembled with the pre-existing common components, avoiding the need to download and store complete operating system images.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If multiple complete operating system images are stored in the UICC card, then multiple profiles can be supported, but the memory constraints prevent this approach

Engineering Contradiction:
Improvemulti-profile supportVSAvoidavailable memory space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The operating system is divided into modular components that can be independently stored and combined. This segmentation allows multiple profile-specific components to be stored in the limited memory space while sharing common system components, enabling multi-profile support without requiring multiple complete operating system images.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple operating system components are merged during the boot process to form complete operating systems. The primary boot loader combines downloaded profile-specific components with pre-stored common components, creating functional complete operating systems in memory without permanently storing multiple complete images on the card.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3550427B1Method for managing multiple operating systems in integrated circuit cards, corresponding system and computer program product
Publication Date: 2024.09.25 STMICROELECTRONICS SRL
  • EP3550427B1 patent drawingFigure 1
  • EP3550427B1 patent drawingFigure 2
  • EP3550427B1 patent drawingFigure 3A~3C

AI summary

A method for managing the storage of an operating system in an integrated circuit card including using a primary boot loader to load a selected operating system, subdividing an operating system in a plurality of operating system components, associating one or more of said components in said plurality of operating system components to a descriptor indicating a version of the operating system component, downloading said one or more components to a nonvolatile memory of the integrated circuit card, said downloading operation including verifying if there is stored in the card an operating system component associated to a same version of the component being downloaded, storing the component in the card if the version is different, discarding the component from the download operation if the version is the same.