A method, apparatus, and device for RAM management of an eSIM card.

CN117177230BActive Publication Date: 2026-09-01BEIJING TONGFANG MICROELECTRONICS
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202311230754.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-22
Publication Date
2026-09-01
Estimated Expiration
2043-09-22

AI Technical Summary

Technical Problem

但对于芯片来说,易失性存储器(Random Access Memory,RAM)的资源非常紧缺,而每个激活的配置文件(Enabled Profile,EP)必须同时被分配Ram资源,且无法释放,从而造成eSIM产品可支持的EP数量受限于RAM的大小

Benefits of technology

[0030]由于现有技术中eSIM卡的RAM空间有限,并且每个已激活配置文件需要分配RAM资源,造成了eSIM卡可支持的可激活配置文件受限于RAM的大小。本申请进一步将已激活配置文件分配运行状态的已激活配置文件以及暂停状态的已激活配置文件,将暂停状态的已激活配置文件的临时数据先存储于NVM中,在接收到将暂停状态的已激活配置文件转换为运行状态的请求后,才在RAM中为需要转换为运行状态的已激活配置文件分配内存空间,避免占用更加有限的RAM资源,其中,暂停状态的已激活配置文件不会占用RAM资源,可以使eSIM卡在有限的RAM资源上支持更多的已激活配置文件。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117177230B_ABST
    Figure CN117177230B_ABST
Patent Text Reader

Abstract

This application discloses a RAM management method, apparatus, and device for an eSIM card, relating to the field of eSIM technology. The method is applied to the operating system of an eSIM card and includes: obtaining a request to switch an activated profile, and switching the state of the activated profile based on the request, wherein the request instructs the eSIM card's operating system to switch a suspended activated profile to a running state; during the process of switching the activated profile to a running state, if there is no memory block corresponding to the activated profile in the eSIM card's RAM, allocating a memory block for the activated profile and copying the temporary data of the activated profile from the NVM to the allocated memory block, thereby enabling the eSIM card to support the activation of more profiles.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of eSIM technology, and in particular to a RAM management method, apparatus and device for an eSIM card. Background Technology

[0002] The latest SGP.22-v3.0 eSIM specification mentions a MEP (Multiple Enabled Profiles) feature. This feature requires that multiple profiles be activated simultaneously in the embedded Subscriber Identity Module (eSIM) card, and that each profile be independent and uninterrupted. Each profile is equivalent to an independent SIM card, enabling multiple standby modes on a single SIM card. However, for the chip, volatile access memory (RAM) resources are very scarce, and each activated profile (Enabled Profile, EP) must be allocated RAM resources simultaneously and cannot be released, thus limiting the number of EPs that an eSIM product can support to the size of the RAM. Summary of the Invention

[0003] In view of this, the main objective of this application is to provide a RAM management method, apparatus and device for eSIM cards, with the aim of supporting more activated profiles with limited RAM resources.

[0004] The first aspect of this application provides a RAM management method for an eSIM card, applied to the operating system of the eSIM card. The eSIM card includes multiple activated profiles, and the states of the activated profiles include: running state and paused state. The temporary data of the activated profiles in the paused state is stored in the non-volatile memory (NVM) of the eSIM card.

[0005] The method includes:

[0006] Obtain a request to switch the activated profile, and switch the state of the activated profile based on the request. The request to switch the activated profile is used to instruct the eSIM card's operating system to switch the suspended activated profile to the running state.

[0007] During the process of switching the activated profile to the running state, if the memory block corresponding to the activated profile to be switched does not exist in the volatile memory RAM of the eSIM card, a memory block is allocated for the activated profile to be switched, and the temporary data of the activated profile to be switched is copied from NVM to the memory block allocated for the activated profile to be switched.

[0008] In some implementations of the first aspect of this application, the memory block includes: a free memory block and a non-free memory block. The memory blocks in RAM have preset priorities. Allocating a memory block for the activated configuration file to be switched includes:

[0009] When there are free memory blocks in RAM, the free memory blocks are allocated to the active configuration file to be switched, with the free memory blocks having the highest priority.

[0010] When there are no free memory blocks in RAM, the temporary data in the second-highest priority non-free memory block in RAM is copied to NVM, and the second-highest priority non-free memory block is assigned to the active configuration file to be switched.

[0011] In some implementations of the first aspect of this application, the method further includes:

[0012] The RAM management table records the configuration file ownership and priority of memory blocks in RAM.

[0013] In some implementations of the first aspect of this application, after allocating a memory block for the active configuration file to be switched, the method further includes:

[0014] In the RAM management table, it indicates that the memory block allocated to the active profile to be switched belongs to the active profile to be switched, indicates that the memory block allocated to the active profile to be switched has the lowest priority, and indicates that the priority of other non-free memory blocks is increased by one level.

[0015] In some implementations of the first aspect of this application, NVM includes multiple memory pages, and memory pages corresponding to activated configuration files are pre-allocated in NVM. The method further includes:

[0016] Use a bitmap to identify the memory page in NVM corresponding to the temporary data of the activated configuration file.

[0017] In some implementations of the first aspect of this application, copying temporary data from the second-highest priority non-free memory block in RAM to the NVM includes:

[0018] When temporary data in a non-free memory block with the second highest priority is modified, the identifier of the memory page corresponding to the modified temporary data in the bitmap is modified.

[0019] Traverse the bitmap and write the modified temporary data to the memory page corresponding to the modified identifier.

[0020] In some implementations of the first aspect of this application, the method further includes:

[0021] When the number of memory blocks in RAM exceeds the number of memory blocks recorded in the RAM management table, the RAM management table is modified so that it records the configuration file ownership and priority of the memory blocks in RAM.

[0022] In some implementations of the first aspect of this application, the method further includes:

[0023] When a free memory block or a non-free memory block with the second highest priority cannot meet the memory requirements of the active configuration file to be switched, memory blocks are released in descending order of priority, and the released memory blocks are combined into new free memory blocks until the new free memory blocks meet the memory requirements of the active configuration file to be switched. In addition to free memory blocks, before each release of a memory block, the temporary data in the currently released non-free memory block is copied to NVM.

[0024] The second aspect of this application provides a RAM management device for an eSIM card, applied to the operating system of the eSIM card, wherein the eSIM card includes multiple activated profiles, and the states of the activated profiles include: running state and paused state, wherein the temporary data of the activated profiles in the paused state is stored in the non-volatile memory NVM of the eSIM card.

[0025] The device includes:

[0026] The state switching module is used to obtain a request to switch the activated profile and switch the state of the activated profile based on the request. The request to switch the activated profile is used to instruct the eSIM card's operating system to switch the suspended activated profile to the running state.

[0027] The memory allocation module is used to allocate a memory block for the activated profile to be switched during the process of switching the activated profile to the running state, when there is no memory block corresponding to the activated profile to be switched in the volatile memory RAM of the eSIM card, and copy the temporary data of the activated profile to be switched from NVM to the memory block allocated to the activated profile to be switched.

[0028] A third aspect of this application provides a RAM management device for an eSIM card, the device including a memory and a processor, the processor being configured to execute a program stored in the memory, running the RAM management device for an eSIM card as provided in the first aspect of this application.

[0029] The technical solution provided in this application has the following beneficial effects:

[0030] Because existing eSIM cards have limited RAM space, and each activated profile requires RAM allocation, the number of activated profiles that an eSIM card can support is limited by the RAM size. This application further divides activated profiles into running and paused states. Temporary data for paused activated profiles is first stored in the NVM. Only upon receiving a request to convert a paused activated profile to a running state is memory space allocated in RAM for the profile to be converted. This avoids consuming even more limited RAM resources. Furthermore, paused activated profiles do not consume RAM resources, allowing the eSIM card to support more activated profiles within limited RAM. Attached Figure Description

[0031] Figure 1 A schematic diagram illustrating the state switching of a configuration file as provided in an embodiment of this application;

[0032] Figure 2 A flowchart illustrating a RAM management method for an eSIM card provided in an embodiment of this application;

[0033] Figure 3 A flowchart illustrating another method for RAM management of an eSIM card provided in an embodiment of this application;

[0034] Figure 4 A schematic diagram of a RAM management table provided in an embodiment of this application;

[0035] Figure 5 A schematic diagram of yet another RAM management table provided in an embodiment of this application;

[0036] Figure 6 A schematic diagram of yet another RAM management table provided in an embodiment of this application;

[0037] Figure 7 A schematic diagram of yet another RAM management table provided in an embodiment of this application;

[0038] Figure 8 A schematic diagram of yet another RAM management table provided in an embodiment of this application;

[0039] Figure 9 A flowchart illustrating another method for RAM management of an eSIM card provided in an embodiment of this application;

[0040] Figure 10 A schematic diagram illustrating the use of a bitmap to identify the memory page corresponding to an activated configuration file, as provided in an embodiment of this application;

[0041] Figure 11This is a schematic diagram illustrating how temporary data is written to a corresponding memory page using a bitmap, as provided in an embodiment of this application.

[0042] Figure 12 A schematic diagram of yet another RAM management table provided in an embodiment of this application;

[0043] Figure 13 A schematic diagram of yet another RAM management table provided in an embodiment of this application;

[0044] Figure 14 A schematic diagram of yet another RAM management table provided in an embodiment of this application;

[0045] Figure 15 A flowchart illustrating a RAM management method for an eSIM card provided in an embodiment of this application;

[0046] Figure 16 This is a schematic diagram of the structure of a RAM management device for an eSIM card provided in an embodiment of this application;

[0047] Figure 17 This is a schematic diagram of the structure of a RAM management device for an eSIM card provided in an embodiment of this application. Detailed Implementation

[0048] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0049] The terms "first," "second," "third," "fourth," etc., used in the specification, claims, and accompanying drawings of this application, are used, if present, to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data used in this way can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0050] Definitions:

[0051] eSIM card: An embedded Subscriber Identity Module (eSIM) card is a SIM card integrated into a mobile device that can switch between different carrier services by activating a profile.

[0052] Configuration file: This can refer to a set of data containing operator information and user identity information, which allows the eSIM card to connect to the operator's network and provide communication services. Configuration file can also be called profile or summary file.

[0053] EnabledProfile (EP): This refers to a profile that is already activated on the eSIM card and can be switched to running or paused status when needed.

[0054] Activated configuration files in running status: refers to the currently used activated configuration files that can connect to the operator's network and provide communication services.

[0055] Suspended activated profiles: These are currently unused but still retained on the eSIM card, and can be switched to running status when needed.

[0056] Temporary data: Temporary data refers to data generated or used during the operation of an activated configuration file, such as session keys, network parameters, and user settings. It is not part of the fixed content of the configuration file, but rather data that changes according to the actual situation.

[0057] Non-volatile memory (NVM) refers to memory that retains data even after power is turned off, such as flash memory, ROM, etc.

[0058] Volatile memory (RAM) refers to memory that loses data when power is turned off.

[0059] As mentioned in the background section, RAM resources on eSIM cards are very scarce. Each activated profile must be allocated RAM resources simultaneously and cannot be released, which limits the number of eSIM products that can be supported to the size of the RAM.

[0060] In view of this, the inventors conducted research on the technical problems mentioned in the background art and found that since there is only one CPU, only one activated profile can be processed at a time. Therefore, the inventors further divided the state of the activated profile into a running state and a suspended state (or suspended state). By copying the temporary data of the activated profile to the non-volatile memory (NVM) of the eSIM card, and then copying the activated profile to RAM when it is running, similar to the hierarchical storage method of a computer, the inventors were able to support more activated profiles with limited RAM.

[0061] This application provides a RAM management method for an eSIM card, applied to the eSIM card's operating system. This operating system is an embedded system used to control the functions and behaviors of the eSIM card, such as security authentication, data storage, and communication protocols. The eSIM card is an embedded SIM card capable of storing multiple SIM card profiles, allowing switching between different activated profiles without replacing the physical card, thus achieving multi-SIM functionality. The eSIM card can include multiple activated profiles, each with its own number, network parameters, and user data. This application further divides the activated profiles into running activated profiles and paused activated profiles. Running activated profiles can use network services and user data normally, while paused activated profiles cannot. Furthermore, this application specifies that the temporary data of paused activated profiles is stored in the NVM.

[0062] The eSIM card in this application includes at least: NVM and RAM. RAM is a volatile memory that can quickly read and write data, but the data will be lost after power failure. NVM is a non-volatile memory that can retain data after power failure.

[0063] It should be noted that, in addition to activated profiles, eSIM cards can also include deactivated profiles. Each profile in an eSIM card can be activated or deactivated. The deactivated profile can be simply referred to as DP (Disabled Profile).

[0064] See Figure 1 As shown, Figure 1The diagram illustrates the switching relationships between various profiles in an eSIM. Specifically, the initial state of a loaded profile in the eSIM card is "Disabled." Activating a disabled profile results in an activated profile, and vice versa. The activated profile can be further divided into a running state and a suspended state. Activated profiles in these states can switch between each other and can also be deactivated to become disabled profiles.

[0065] See Figure 2 As shown in the figure, this application provides a RAM management method for an eSIM card to improve RAM utilization and performance, thereby enabling the eSIM card to support the simultaneous activation of more configuration files. The method specifically includes the following steps:

[0066] S201: Obtain a request to switch the activated profile, and switch the state of the activated profile based on the request. The request to switch the activated profile is used to instruct the operating system of the eSIM card to switch the suspended activated profile to the running state.

[0067] In the embodiments of this application, the activated configuration file to be switched refers to the activated configuration file that will be switched to the running state; the running state can refer to the state in which the temporary data of the activated configuration file is allocated in RAM so that it can be enabled normally, while the paused state refers to the state in which the temporary data of the activated configuration file is not allocated in RAM so that it cannot be enabled normally.

[0068] Receiving a request to switch activated profiles is to respond to changes in user or system requirements for eSIM card functions and services, enabling switching between different profiles, such as switching to a different operator or different numbers under the same operator. In this application, after receiving a request to switch activated profiles, the eSIM card's operating system determines its current state as paused based on the activated profile specified in the request (i.e., the activated profile to be switched), and switches it to running state. The operating system can obtain this request by receiving it from a user or application. For example, a user can select the desired EP to switch to through the interface on a mobile device and issue a switch request; or an application can automatically issue a switch request based on preset conditions or user preferences.

[0069] S202: During the process of switching the activated profile to the running state, if the memory block corresponding to the activated profile to be switched does not exist in the RAM of the eSIM card, a memory block is allocated for the activated profile to be switched, and the temporary data of the activated profile to be switched is copied from NVM to the memory block allocated for the activated profile to be switched.

[0070] In this embodiment, a memory block refers to a contiguous segment of RAM memory space. Each memory block can be allocated to an activated profile to store its temporary data. Temporary data refers to data generated or used by the activated profile during operation, such as network connection information and user settings. The memory space in RAM reserved for the activated profile can be called EPR (Enabled Profile RAM), which is the RAM space required by the activated profile.

[0071] The purpose of allocating memory blocks is to allocate RAM memory space for the active profile to be switched, so that its temporary data can be copied from NVM to RAM, thereby enabling the active profile to be switched to be enabled normally. At the same time, since RAM space is limited, it may not be possible to store the temporary data of all active profiles at the same time. By allocating memory blocks for active profiles only when needed, RAM space can be further saved, thereby improving RAM utilization.

[0072] In this embodiment, before switching the activated profile to be switched, the eSIM card's operating system first checks whether the memory block corresponding to the activated profile to be switched already exists in RAM. If it exists, it means that the RAM stores temporary data for the activated profile to be switched, and no further copying is needed. If it does not exist, it means that the RAM does not store the temporary data for the activated profile to be switched, and it needs to be copied from NVM to RAM. In this case, a memory block needs to be allocated for the activated profile to be switched, and then the temporary data for the activated profile to be switched in NVM is copied to the memory block allocated for the activated profile to be switched.

[0073] exist Figure 2In the illustrated process, due to the limited RAM space of the eSIM card in the prior art, and the need to allocate RAM resources for each activated profile, the number of activated profiles that the eSIM card can support is limited by the RAM size. This application further allocates activated profiles to both running and paused states. Temporary data for paused activated profiles is first stored in the NVM. Only after receiving a request to convert a paused activated profile to a running state is memory space allocated in RAM for the activated profile that needs to be converted. This avoids occupying even more limited RAM resources. Furthermore, paused activated profiles do not occupy RAM resources, allowing the eSIM card to support more activated profiles within limited RAM resources.

[0074] See Figure 3 As shown, this application embodiment further provides a RAM management method for an eSIM card. Figure 2 Based on the illustrated process, memory blocks in RAM are pre-defined with priorities, and these memory blocks specifically include: free memory blocks and non-free memory blocks. Furthermore, the ownership and priority of memory blocks in RAM are managed uniformly by the RAM management table, specifically including the following steps:

[0075] S301: Record the configuration file ownership and priority of memory blocks in RAM through the RAM management table, and then execute S302.

[0076] In the embodiments of this application, the RAM management table is a table used to record the ownership and priority information of each memory block in RAM. The RAM management table includes at least the following information: memory block ownership information and memory block priority information. It should be noted that the RAM management table may also record the following information: memory block number information, memory block address information, and memory block size information.

[0077] The memory block ownership information indicates which active configuration file the memory block was allocated to, or identifies that the memory block was not allocated to any active configuration file; the memory block priority information indicates the priority order in which the memory block is released. Assuming the RAM includes memory blocks RAM0, RAM1, and RAM2, belonging to EP0, EP1, and EP2 respectively, the RAM management table can be structured as follows: Figure 4 As shown, Figure 4 The system uses "newest," "second newest," and "oldest" to represent the priority of each memory block, and also indicates the active configuration file to which the memory block belongs. It should be noted that "newest" indicates the lowest priority, and so on.

[0078] The purpose of creating a RAM management table is to establish a RAM management mechanism, which facilitates the eSIM card's operating system to control and adjust the allocation, release, and replacement of memory blocks in RAM, thereby improving RAM utilization.

[0079] S302: Obtain a request to switch the activated profile, and switch the state of the activated profile based on the request. The request to switch the activated profile is used to instruct the operating system of the eSIM card to switch the suspended activated profile to the running state. Execute S303.

[0080] In the embodiments of this application, the specific implementation of S302 is the same as that of S201, and will not be described in detail here.

[0081] S303: During the process of switching a paused activated profile to a running state, if there is no memory block corresponding to the activated profile to be switched in the RAM of the eSIM card, determine whether there is a free memory block in the RAM. If yes, execute S304; otherwise, execute S305.

[0082] In the embodiments of this application, the memory block specifically includes free memory blocks and non-free memory blocks; wherein, a non-free memory block refers to a memory block in RAM that has been allocated to an activated configuration file, and the memory block stores temporary data of the activated configuration file; a non-free memory block refers to a memory block in RAM that has not yet been allocated to any activated configuration file, and the memory block does not store any temporary data of the activated configuration file.

[0083] In the embodiments of this application, before switching the activated profile to be switched, the operating system of the eSIM card can check whether there is a memory block corresponding to the activated profile to be switched through the RAM management table. If there is, it means that there is already space allocated in RAM to store the temporary data of the activated profile to be switched, and there is no need to copy it; if not, it means that there is no space allocated in RAM to store the temporary data of the activated profile to be switched, and it needs to be copied from NVM to RAM. In order to copy the data, a memory block needs to be allocated for the activated profile to be switched. Therefore, the operating system will look for a free memory block in the RAM management table. If there is, it means that there is still free space in RAM, and S304 can be executed; if not, it means that there is no free space in RAM, and non-free memory blocks need to be released, that is, other memory blocks that have been allocated to other activated profiles need to be released, and therefore S305 is executed.

[0084] S304: Allocate the free memory block to the active configuration file to be switched, and execute S306.

[0085] In the embodiments of this application, free memory blocks have the highest priority, memory blocks most recently allocated to an activated configuration file have the lowest priority, and other non-free memory blocks are prioritized according to the order in which they were allocated. This application allocates memory blocks in RAM based on the principle of temporal locality, that is, if a data item is being accessed, it is likely to be accessed again soon. For example, the priority of memory blocks is distinguished by oldest, second oldest, second newest, and newest, where the oldest non-free memory block has the second highest priority, the newest non-free memory block has the lowest priority, and free memory blocks always maintain the highest priority. It can be understood that the oldest memory block among all non-free memory blocks has the highest priority.

[0086] Since non-free memory blocks have the highest priority, S303 can be understood as first determining whether there is a memory block with the highest priority in RAM. If so, the memory block with the highest priority is assigned to the active configuration file to be switched.

[0087] In this embodiment of the application, after the eSIM card's operating system finds a free memory block, it will allocate it to the activated configuration file to be switched; specifically, it can determine whether there is a free memory block in the RAM by traversing the RAM management table.

[0088] S305: Copy the temporary data in the second-highest priority non-free memory block in RAM to NVM, and allocate the second-highest priority non-free memory block to the active configuration file to be switched, then execute S306.

[0089] In this embodiment, when the eSIM card's operating system cannot find a free memory block, it will select the second-highest priority non-free memory block in RAM for release. This is because the second-highest priority memory block represents the most recently allocated memory block. Based on the principle of temporal locality—that is, if a data item is being accessed, it is likely to be accessed again soon—it may belong to a memory block belonging to an activated profile that is unlikely to be used again in the near future. The operating system will first copy the temporary data in this memory block to the corresponding backup area in NVM to prevent data loss. Then, after releasing the memory block, it will allocate it to the activated profile to be switched.

[0090] Copying temporary data from the second-highest priority non-free memory block to NVM and allocating the memory block to the active configuration file to be switched is to free up space for the active configuration file to be switched when there is no free space in RAM by evicting the least frequently used non-free memory block, while ensuring that the temporary data originally stored in the released memory block is not lost.

[0091] S306: Copy the temporary data of the active configuration file to be switched from NVM to the memory block allocated for the active configuration file to be switched, and then execute S307.

[0092] Here, the memory block allocated for the active configuration file to be switched is either a free memory block or a non-free memory block with the second highest priority.

[0093] This application copies the temporary data corresponding to the active configuration file to be switched in NVM to the memory block allocated for the active configuration file to be switched in RAM, so as to complete the switching of the active configuration file.

[0094] S307: In the RAM management table, indicate that the memory block allocated to the active profile to be switched belongs to the active profile to be switched, indicate that the memory block allocated to the active profile to be switched has the lowest priority, and indicate that the priority of other non-free memory blocks is increased by one level.

[0095] In this embodiment, after the eSIM card's operating system allocates a new memory block for the activated profile to be switched, it updates the ownership and priority of that memory block in the RAM management table. Since this memory block was recently accessed or allocated, its priority should be set to the lowest; while other non-free memory blocks are given an increased priority level. It should be noted that free memory blocks maintain the highest priority; specifically, the upper limit of the priority for non-free memory blocks can be set to the second highest, reserving the highest priority for free memory blocks.

[0096] The purpose of executing S307 is to update the RAM management table to maintain the ownership and priority information of each memory block in the RAM management table, so that the eSIM card's operating system can switch the activated profile next time.

[0097] It should be noted that the execution order of S307 is not fixed after S306. It can also be executed during the execution of steps S304 to S306. For example, after a free memory block or a non-free memory block with the second highest priority is allocated to the active configuration file to be switched, the RAM management table records that the memory block belongs to the active configuration file to be switched and modifies its priority to the lowest. At the same time, the priority of other non-free memory blocks is increased by one level.

[0098] The following section, with reference to the accompanying diagram, explains the method for updating the RAM management table. (See attached diagram.) Figure 5As shown, taking a RAM memory block with states ranging from -1 to m and a total RAM size of 40K as an example, where m equals the number of active configuration files stored in the current RAM memory block minus one, a state value of -1 indicates a non-free memory block, and a state value other than -1 indicates a non-free memory block. The state value of this RAM memory block can be used to indicate the priority of the corresponding memory block; the lower the state value, the higher the priority of the memory block. See also... Figure 5 The initial RAM state shown represents the state when no memory blocks have been allocated to any active configuration files. In this state, the RAM memory space reserved for active configuration files is a free memory block, which can be simply referred to as a free block. Correspondingly, the RAM record table only records information about the free block, including a status of -1, an empty configuration file, a starting address of 0 for the memory space, and a length of 40k.

[0099] After allocating a memory block in RAM for the activated but unconfigured EP0 file, assuming the allocated memory block size is 10KB, the RAM management table will look like this: Figure 6 As shown, the RAM management table records information about free blocks and memory blocks of EP0, including: memory blocks belonging to EP0, with a status of 0, a size of 10k, and a starting address of 10k in the memory space; free blocks belonging to EP0, with a status of -1, a size of 30k, and a starting address of 10k in the memory space.

[0100] During subsequent memory block allocation, if a free block (i.e., a memory block with a state of -1) meets the memory requirements of the active configuration file to be switched, it is allocated directly, and the state value of the allocated memory block is set to m+1. The remaining unallocated memory blocks are then treated as free blocks, with their state still set to -1. Assuming that memory blocks are subsequently allocated for EP1, EP2, and EP3 respectively, the RAM and RAM management table at this time can be configured as follows: Figure 7 As shown, the status, ownership, starting address of memory space, and size of memory blocks EP0 to EP3 and free blocks are recorded respectively. If the temporary data of the active configuration file of the memory block to be allocated is already stored in RAM, the RAM management table is modified. The status values ​​of all other memory blocks with a higher status value than the active configuration file of the memory block to be allocated are decremented by one, indicating that the priority of other memory blocks is increased by one level. The status value of the active configuration file of the memory block to be allocated is set to m, indicating that its priority is the lowest. See also Figure 8 As shown, assuming that memory block EP1 already exists in RAM, the status value of memory block EP1 is set to 3, and the status values ​​of other memory blocks are decremented by one. It should be noted that since free memory blocks have the highest priority and non-free memory blocks have the second highest priority in this application, memory blocks with a status value of 0 do not need to be decremented by one.

[0101] In some implementations of this application, if the memory resources of the free memory block are sufficient, the memory allocated to the activated configuration file to be switched may be a portion of the free memory block. As a result, a variable number of temporary files of activated configuration files may be stored on RAM at the same time. In this case, the original RAM management table cannot meet the current needs, and it is necessary to redefine the state representation method and management table. Therefore, the following steps can be further performed:

[0102] When the number of memory blocks in RAM exceeds the number of memory blocks recorded in the RAM management table, the RAM management table is modified so that it records the configuration file ownership and priority of the memory blocks in RAM.

[0103] In the embodiments of this application, the memory block data in RAM refers to the actual number of memory blocks existing in RAM, the number of memory blocks recorded in the RAM management table refers to the number of memory blocks recorded in the RAM management table, and modifying the RAM management table refers to adjusting the memory block ownership information and priority information recorded in the RAM management table according to the current number and ownership of memory blocks in RAM, so as to ensure that the content recorded in the RAM management table is consistent with the actual situation of RAM.

[0104] exist Figure 3 In the illustrated process, memory blocks in RAM are prioritized, and memory blocks are allocated to the active configuration file to be switched based on these priorities. Memory blocks can include free memory blocks and non-free memory blocks, with free memory blocks having the highest priority. Since the temporary data of the active configuration file in the running state is stored in RAM, free memory blocks are preferentially allocated to the active configuration file to be switched to ensure the normal operation of other active configuration files in the running state. Non-free memory blocks are only released when no free memory blocks exist. Specifically, the memory block with the second highest priority is selected for release. In this application, the second highest priority memory block represents the least recently used non-free memory block. During the release process, to avoid the loss of temporary data, the temporary data of the released memory block is backed up to NVM. This ensures that when the released memory block is subsequently switched to the running state, the active configuration file to which it belonged can be enabled normally, thus ensuring that the state switch of the active configuration file to be switched will not affect the normal operation of other active configuration files.

[0105] Furthermore, this application establishes a RAM management mechanism based on the active configuration file to which a memory block belongs and its priority, using a RAM management table. This facilitates the eSIM card's operating system's control and adjustment of the allocation, release, and replacement of memory blocks in RAM, thereby improving the management efficiency of each memory block. Subsequently, when the ownership and priority of a memory block in RAM change, the RAM management table updates the recorded ownership and priority information, achieving dynamic management of RAM and ensuring that the information contained in the table is consistent with the actual situation of the RAM.

[0106] See Figure 9 As shown in the figure, this application embodiment also provides a RAM management method for an eSIM card, specifically including the following steps:

[0107] S901: Record the configuration file ownership and priority of memory blocks in RAM through the RAM management table, and then execute S902.

[0108] In the embodiments of this application, the specific implementation of S901 is the same as that of S301, and will not be described again in this application.

[0109] S902: Use a bitmap to identify the memory page in NVM corresponding to the temporary data of the activated configuration file. NVM includes multiple memory pages, and the memory page corresponding to the activated configuration file is pre-allocated in NVM. Execute S903.

[0110] In this embodiment, the bitmap refers to a data structure used to record the ownership of memory pages pre-allocated to activated configuration files in the NVM, as well as the temporary data modification status. The NVM includes multiple memory pages, which refer to a fixed segment of NVM memory space used to store temporary and permanent data of activated configuration files. The NVM can be understood as being composed of multiple memory pages. It should be noted that the temporary and permanent data of activated configuration files in this application are pre-recorded on the NVM. That is, this application pre-allocates a certain memory page region in the NVM for each activated configuration file. This memory page region can be understood as a set of memory pages composed of several consecutive memory pages.

[0111] It should be noted that in this application, the memory spaces of NVM and RAM are mapped (or corresponded). RAM can also include multiple RAM memory pages. The memory space of the activated configuration file in RAM must be aligned with its implementation page in NVM. That is, the starting address of the RAM memory space allocated to the activated configuration file must be the beginning of a page in the NVM memory space. For example, if the starting address of the NVM storage space is A and its size is 4 pages, and the starting address of the RAM is B and its size is also 4 pages, then address A and address B are mapped. Assuming that the starting page of the NVM memory space allocated to an activated configuration file is page 100, and the activated configuration file requests 4 pages of NVM memory space, then the bitmap uses 4 bits to represent the 1st, 2nd, 3rd, and 4th pages of the allocated NVM memory space, corresponding to pages 100, 101, 102, and 103 in NVM, respectively. Further explanation follows with reference to the accompanying drawings. Figure 10 As shown, assume the eSIM card has four activated profiles, specifically NVM in Flash. Flash is one type of NVM and is currently the most commonly used. The activated profiles are EP0 to EP3, each occupying four memory pages in Flash. "1" represents the initial state of the memory page corresponding to each identifier in the bitmap, i.e., an unmodified state, while "0" indicates that the data in the RAM memory page corresponding to that identifier has been modified. This is assumed... Figure 10 The upper part shows the memory pages that EP0 requests in Flash. Each page has a memory space of 2k, so the total space shown in the figure is 8k. EP0 only needs 7k of Flash memory space, so half of the 4th page is not allocated to EP0. Figure 10 The lower half of the diagram shows the identifiers of each activated configuration file in the bitmap. EP0 to EP3 each occupy 4 NVM memory pages and are all in their initial state.

[0112] S903: Obtain a request to switch the activated profile, and switch the state of the activated profile based on the request. The request to switch the activated profile is used to instruct the operating system of the eSIM card to switch the suspended activated profile to the running state. Execute S904.

[0113] In the embodiments of this application, the specific implementation of S903 is the same as that of S101, and will not be described in detail here.

[0114] S904: During the process of switching the activated profile to the running state, if there is no memory block corresponding to the activated profile to be switched in the RAM of the eSIM card, determine whether there is a free memory block in the RAM. If yes, execute S905; otherwise, execute S906.

[0115] In the embodiments of this application, the specific implementation of S904 is the same as that of S303, and will not be described in detail here.

[0116] S905: Allocate the free memory block to the active configuration file to be switched, and execute S909.

[0117] In the embodiments of this application, the specific implementation of S905 is the same as that of S304, and will not be described in detail here.

[0118] S906: When temporary data in a non-free memory block with the second highest priority is modified, the identifier of the memory page corresponding to the modified temporary data in the bitmap is modified, and S907 is executed.

[0119] In this embodiment, before releasing the second-highest priority non-free memory block, the eSIM operating system checks whether the temporary data in the second-highest priority non-free memory block has been modified. If modification occurs, it further obtains the modified address and calculates the corresponding page based on the block offset and page size, and accordingly modifies the identifier of the memory page corresponding to the modified temporary data. For example, assuming the starting address of the RAM memory space reserved for the activated configuration file EP0 is A, the modified address is A+4.5K, and the size of each page is 2k, the modified page can be calculated to be page 3. Through the memory space mapping relationship between RAM and NVM, it can be seen that the temporary data modified by EP0 in RAM corresponds to the identifier of page 3 in the bitmap. Continuing with the example in S902, see [link to S902]. Figure 11 As shown, in Figure 11 In the bitmap shown, the second bit of EP0 is set to zero to indicate that the page has been modified. Furthermore, if a page crossover occurs, the next bit must also be set to zero. For example, if the size of the modified temporary data is 2KB, the modification range is from A+4.5KB to A+4.5KB+2KB. Clearly, the memory page corresponding to the third bit is insufficient to write the modified temporary data. In this case, the fourth bit corresponding to EP0 in the bitmap must also be set to zero.

[0120] S907: Traverse the bitmap, write the modified temporary data to the memory page corresponding to the modified identifier, and execute S908.

[0121] In this embodiment, the eSIM card's operating system identifies modified identifiers by traversing a bitmap, and writes the modified temporary data from the second-highest priority memory block to the NVM page corresponding to the modified identifier. Specifically, it may identify which RAM pages contain the modified temporary data, then determine the corresponding memory page in the NVM using a bitmap, and finally write the temporary data from the corresponding RAM page to the NVM-corresponding memory page.

[0122] S908: Allocate the second-highest priority non-free memory block to the active configuration file to be switched, and execute S909.

[0123] In the embodiments of this application, the specific implementation of S908 is similar to that of S305, and will not be described in detail here.

[0124] S909: Determine whether the free memory block or the second-highest priority non-free memory block meets the memory requirements of the active configuration file to be switched. If yes, execute 911; otherwise, execute 910.

[0125] The memory requirement refers to the RAM memory space required to enable the activated configuration file to be switched. In this embodiment, after the eSIM card's operating system allocates the second-highest priority non-free memory block or free memory block to the activated configuration file to be switched, it will further obtain the memory requirement of the activated configuration file to be switched and further determine whether the memory space of the second-highest priority non-free memory block or free memory block meets the memory space required by the activated configuration file to be switched.

[0126] S910: Release memory blocks in descending order of priority, and combine the released memory blocks into new free memory blocks until the new free memory blocks meet the memory requirements of the active configuration file to be switched. In addition to free memory blocks, before each release, the temporary data in the currently released non-free memory blocks is copied to NVM.

[0127] A new free memory block refers to a larger free memory block obtained by combining at least two memory blocks in the current RAM. In this embodiment, if the free memory block and the second-highest priority non-free memory block cannot meet the memory requirements of the active configuration file to be switched, the memory blocks are released sequentially in descending order of priority. Free memory blocks have the highest priority in this application, so they are released starting directly from the second-highest priority non-free memory block. This application releases memory blocks sequentially according to priority, and combines the released memory blocks into a larger memory block until the memory requirements of the active configuration file to be switched are met. The larger memory block obtained by releasing memory blocks is then allocated to the active configuration file to be switched.

[0128] It should be noted that in RAM, a non-free memory block corresponds to an active configuration file in a running state. Releasing a non-free memory block means that the active configuration file to which the non-free memory block belongs needs to be switched to a paused state. Therefore, before releasing, the temporary data of the memory block to be released needs to be copied to NVM to avoid data loss.

[0129] Furthermore, during the execution of S910, the RAM management table is also updated in real time, see [link / reference]. Figure 12 As shown, assuming the active configuration file to be switched is EP4, if the second-highest priority non-free memory block or free memory block cannot meet the memory requirements of EP4, then the memory block with a status of 0 needs to be released, that is, the second-highest priority non-free memory block is released, and the status bits of other non-free memory blocks are decremented by one. If the memory requirements of EP4 are still not met, the steps of releasing memory blocks and decrementing status values ​​are repeated until the free block composed of the released memory blocks meets the memory requirements of EP4. All released memory blocks and / or free memory blocks are then merged into a new free memory block and allocated to EP4. Specifically, assuming the memory requirement of EP4 is 16K, the memory blocks are determined and released according to the priority of the memory block status value. First, the memory block of EP0 is released. However, the size of the new free memory block composed of EP0 and the free memory block is only 15K, which is still less than the 16K requirement of EP4. Therefore, EP2 also needs to be released. The RAM management table after releasing EP0 and EP2 can be found in [reference needed]. Figure 13 As shown. Then, the new free memory block is allocated to EP4. It should be noted that this can be done by allocating the entire new free memory block to EP4, or by allocating only the memory space needed for EP4, and then using the remaining memory space as another new free memory block, for example... Figure 14 As shown, in Figure 14 In this process, only 16K of memory space was allocated to EP4, while the remaining 14K of memory space was used as a new free memory block.

[0130] S911: Copy the temporary data of the active configuration file to be switched to the memory block allocated for the active configuration file to be switched.

[0131] In this embodiment, when a free memory block or a non-free memory block with the second highest priority meets the memory requirements of the activated configuration file to be switched, the memory block allocated to the activated configuration file to be switched is a free memory block or a non-free memory block with the second highest priority. When a free memory block or a non-free memory block with the second highest priority does not meet the memory requirements of the activated configuration file to be switched, the memory block allocated to the activated configuration file to be switched is a new free memory block obtained by combining the memory blocks released in S910.

[0132] exist Figure 9 In the illustrated process, to reduce the time for writing temporary data from released memory blocks to the NVM and further improve eSIM card performance, a bitmap is used to identify the memory page in the NVM corresponding to the temporary data of the activated configuration file. When temporary data is modified, the bitmap identifier is modified. Then, during the process of writing temporary data from the released memory block to the NVM, the memory page in the NVM corresponding to the modified temporary data in the RAM memory block is determined based on the modified identifier. Thus, by selectively writing modified temporary data to the NVM instead of writing all temporary data in that memory, the amount of temporary data written is reduced, the writing time of temporary data is reduced, and the performance of the eSIM card is further improved.

[0133] Furthermore, when the currently allocated memory block does not meet the memory requirements of the activated profile to be switched, memory blocks are released and merged based on their priority to obtain a new free memory block. This avoids the inability to meet the memory requirements of the activated profile to be switched, which would affect the normal operation of the activated profile and thus improve the stability of the eSIM card.

[0134] See Figure 15 As shown, to make the overall technical solution of this application more easily understood, this application further provides a flowchart of an eSIM card RAM management method, which specifically includes the following steps:

[0135] S1501: Begin executing S1502;

[0136] S1502: The system receives a request to switch EP and executes S1503;

[0137] Among them, the EP switching request refers to the request to switch the activated configuration file mentioned above.

[0138] S1503: Determine if the new EP is in RAM. If yes, execute S1511; otherwise, execute S1504.

[0139] S1504: Determine if there are any unused RAM blocks. If yes, execute S1505; otherwise, execute S1506.

[0140] Here, RAM block refers to the memory block mentioned above.

[0141] S1505: Determine if the new EP has an NVM backup block. If so, execute S1509.

[0142] S1506: Determine if the EP corresponding to the oldest block has an NVM backup block. If yes, execute S1508; otherwise, execute S1507.

[0143] S1507: The system allocates an NVM block, which is larger than or equal to the RAM block, and executes S1508;

[0144] S1508: Copy the data in the oldest EP RAM block to NVM, then execute S1505;

[0145] Among them, the oldest EP RAM block refers to the non-free memory block with the second highest priority mentioned above.

[0146] S1509: Copy the data from the NVM block corresponding to the new EP to this block, and execute S1510;

[0147] S1510: Treat this block as the RAM block of EP and execute S1511;

[0148] S1511: Modify the RAM management table, then execute S1512;

[0149] S1512: End.

[0150] See Figure 16 As shown, this application embodiment also provides an eSIM RAM management device applied to the eSIM card operating system, wherein the eSIM card includes multiple activated profiles, and the states of the activated profiles include: running state and paused state, wherein the temporary data of the activated profiles in the paused state is stored in the non-volatile memory NVM of the eSIM card;

[0151] The device includes:

[0152] The state switching module 1601 is used to obtain a request to switch the activated profile and switch the state of the activated profile based on the request. The request to switch the activated profile is used to instruct the operating system of the eSIM card to switch the activated profile in the paused state to the running state.

[0153] The memory allocation module 1602 is used to allocate a memory block for the activated profile to be switched during the process of switching the activated profile to the running state, when there is no memory block corresponding to the activated profile to be switched in the volatile memory RAM of the eSIM card, and copy the temporary data of the activated profile to be switched from NVM to the memory block allocated to the activated profile to be switched.

[0154] In some implementations of this application, the memory block includes: a free memory block and a non-free memory block. The memory blocks in RAM have preset priorities. Allocating a memory block for the activated configuration file to be switched includes:

[0155] When there are free memory blocks in RAM, the free memory blocks are allocated to the active configuration file to be switched, with the free memory blocks having the highest priority.

[0156] When there are no free memory blocks in RAM, the temporary data in the second-highest priority non-free memory block in RAM is copied to NVM, and the second-highest priority non-free memory block is assigned to the active configuration file to be switched.

[0157] In some implementations of the embodiments of this application, the apparatus further includes:

[0158] The RAM management module is used to record the configuration file ownership and priority of memory blocks in RAM through the RAM management table.

[0159] In some implementations of the embodiments of this application, the apparatus further includes:

[0160] The RAM management table modification module is used to, after allocating memory blocks for an activated profile to be switched, indicate in the RAM management table that the memory blocks allocated to the activated profile belong to the activated profile to be switched, indicate that the memory blocks allocated to the activated profile to be switched have the lowest priority, and indicate that the priority of other non-free memory blocks is increased by one level.

[0161] In some implementations of the embodiments of this application, NVM includes multiple memory pages, and memory pages corresponding to activated configuration files are pre-allocated in NVM. The apparatus further includes:

[0162] The identification module is used to identify the memory page in NVM corresponding to the temporary data of the activated configuration file using a bitmap.

[0163] In some implementations of the embodiments of this application, copying temporary data from the second-highest priority memory block in RAM to NVM includes:

[0164] When temporary data in the second-highest priority memory block is modified, the identifier of the memory page corresponding to the modified temporary data in the bitmap is modified.

[0165] Traverse the bitmap and write the modified temporary data to the memory page corresponding to the modified identifier.

[0166] In some implementations of the embodiments of this application, the method further includes:

[0167] When the number of memory blocks in RAM exceeds the number of memory blocks recorded in the RAM management table, the RAM management table is modified so that it records the configuration file ownership and priority of the memory blocks in RAM.

[0168] In some implementations of the embodiments of this application, the method further includes:

[0169] When a free memory block or a non-free memory block with the second highest priority cannot meet the memory requirements of the active configuration file to be switched, memory blocks are released in descending order of priority, and the released memory blocks are combined into new free memory blocks until the new free memory blocks meet the memory requirements of the active configuration file to be switched. In addition to free memory blocks, before each release of a memory block, the temporary data in the currently released non-free memory block is copied to NVM.

[0170] like Figure 17 As shown in the figure, this application embodiment also provides an information sending device based on scene matching, including: a memory 1701 and a processor 1702;

[0171] Among them, memory 1701 is used to store programs;

[0172] Processor 1702 is used to execute programs in memory to achieve the above-mentioned... Figure 1 , Figure 3 as well as Figure 9 This describes a RAM management method for an eSIM card.

[0173] Finally, it should be noted that in the embodiments of this application, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0174] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A RAM management method for an eSIM card, characterized in that, An operating system applied to an embedded Subscriber Identity Module (eSIM) card, wherein the eSIM card includes multiple activated profiles, and the states of the activated profiles include: running state and paused state, wherein the temporary data of the activated profiles in the paused state is stored in the non-volatile memory (NVM) of the eSIM card; The method includes: Obtain a request to switch the activated profile, and switch the state of the activated profile based on the request. The request to switch the activated profile is used to instruct the operating system of the eSIM card to switch the suspended activated profile to the running state. During the process of switching the activated configuration file to the running state, if the memory block corresponding to the activated configuration file to be switched does not exist in the volatile memory RAM of the eSIM card, a memory block is allocated for the activated configuration file to be switched, and the temporary data of the activated configuration file to be switched is copied from the NVM to the memory block allocated for the activated configuration file to be switched. The memory block includes: a free memory block and a non-free memory block. The memory blocks in the RAM are preset with priorities. Allocating memory blocks for the activated configuration file to be switched includes: When a free memory block exists in the RAM, the free memory block is allocated to the activated configuration file to be switched, wherein the free memory block has the highest priority. When there is no free memory block in the RAM, the temporary data in the second highest priority non-free memory block in the RAM is copied to the NVM, and the second highest priority non-free memory block is allocated to the active configuration file to be switched.

2. The method according to claim 1, characterized in that, The method further includes: The RAM management table records the configuration file ownership and priority of the memory blocks in the RAM.

3. The method according to claim 2, characterized in that, After allocating a memory block for the active configuration file to be switched, the method further includes: In the RAM management table, it indicates that the memory block allocated to the active configuration file to be switched belongs to the active configuration file to be switched, indicates that the memory block allocated to the active configuration file to be switched has the lowest priority, and indicates that the priority of other non-free memory blocks is increased by one level.

4. The method according to claim 1, characterized in that, The NVM includes multiple memory pages, and the NVM pre-allocates memory pages corresponding to the activated configuration file. The method further includes: A bitmap is used to identify the memory page in the NVM corresponding to the temporary data of the activated configuration file.

5. The method according to claim 4, characterized in that, The step of copying temporary data from the second-highest priority non-free memory block in RAM to NVM includes: When temporary data in the second-highest priority non-free memory block is modified, the identifier of the memory page corresponding to the modified temporary data in the bitmap is modified; Traverse the bitmap and write the modified temporary data to the memory page corresponding to the modified identifier.

6. The method according to claim 2, characterized in that, The method further includes: When the number of memory blocks in the RAM is greater than the number of memory blocks recorded in the RAM management table, the RAM management table is modified so that the RAM management table records the configuration file ownership and priority of the memory blocks in the RAM.

7. The method according to claim 1, characterized in that, The method further includes: When the free memory block or the non-free memory block with the second highest priority cannot meet the memory requirements of the active configuration file to be switched, memory blocks are released in descending order of priority, and the released memory blocks are combined into new free memory blocks until the new free memory blocks meet the memory requirements of the active configuration file to be switched. In addition to the free memory blocks, before each release of a memory block, the temporary data in the currently released non-free memory block is copied to the NVM.

8. A RAM management device for an eSIM card, characterized in that, An operating system applied to an eSIM card, wherein the eSIM card includes multiple activated profiles, the states of which include running state and paused state, wherein the temporary data of the activated profiles in the paused state is stored in the non-volatile memory (NVM) of the eSIM card; The device includes: The state switching module is used to obtain a request to switch the activated configuration file, and switch the state of the activated configuration file based on the request to switch the activated configuration file. The request to switch the activated configuration file is used to instruct the operating system of the eSIM card to switch the activated configuration file in the paused state to the running state. A memory allocation module is used to allocate a memory block for the activated profile to be switched during the process of switching the activated profile to the running state. When the memory block corresponding to the activated profile to be switched does not exist in the volatile memory (RAM) of the eSIM card, the module copies the temporary data of the activated profile to be switched from the NVM to the memory block allocated to the activated profile to be switched. The memory block includes free memory blocks and non-free memory blocks. The memory blocks in the RAM have preset priorities. Allocating a memory block for the activated profile to be switched includes: when a free memory block exists in the RAM, allocating the free memory block to the activated profile to be switched, wherein the free memory block has the highest priority; when no free memory block exists in the RAM, copying the temporary data from the second-highest priority non-free memory block in the RAM to the NVM, and allocating the second-highest priority non-free memory block to the activated profile to be switched.

9. A RAM management device for an eSIM card, characterized in that, The device includes a memory and a processor, the processor being configured to execute a program stored in the memory, running the RAM management method for an eSIM card as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Electronic subscriber identity module (eSIM) profile provisioning

    US11477636B1