Method of managing memory in an integrated circuit card and corresponding integrated circuit card

US12406707B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12406707-B2
Application numberUS-202318295558-A
CountryUS
Kind codeB2
Filing dateApr 4, 2023
Priority dateApr 15, 2022
Publication dateSep 2, 2025
Grant dateSep 2, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of managing memory in an integrated circuit card having a non-volatile memory portion and a random access memory (RAM) memory portion, the method comprising: creating, in a non-volatile memory heap in the non-volatile memory portion, one or more array pointers corresponding to respective one or more transient arrays to be allocated in the RAM memory portion, each array pointer comprising a transient array size and a transient array address, each transient array address being a logical or indirect address pointing indirectly to an area of the RAM memory portion in which a respective transient array is to be allocated; and assigning, in the RAM memory portion, memory only to non-zero transient arrays having at least one value different from zero. 2. The method according to claim 1 , wherein: the creating the one or more array pointers comprises creating the one or more array pointers with a required body size and writing a null value in each transient array address as a body logical address; and the assigning comprises, based on writing a value different from zero in any point of an array body, assigning a memory area of the RAM memory portion, with the required body size, to the corresponding transient array, and saving the corresponding transient array address in the body logical address of the corresponding array pointer. 3. The method according to claim 1 , further comprising providing an indirection table, stored in the RAM memory portion, comprising reference addresses pointing to physical locations of respective arrays in the RAM memory portion, and to which the RAM array pointers in the non-volatile memory portion ordinately point. 4. The method according to claim 3 , wherein each RAM array pointer comprises as the respective transient array address an indirect address that comprises a null value or an address of the memory area containing the indirection table in the RAM memory portion, comprising a corresponding reference address that contains a physical address of the RAM memory portion assigned to the respective transient array. 5. The method according to claim 1 , further comprising deallocating, in the RAM memory portion, each transient array having values all equal to zero. 6. The method according to claim 2 , further comprising storing in the logical or indirect address either an address of the memory area assigned to the array body or the null value. 7. The method according to claim 5 , wherein the deallocating comprises, based on each transient array in the RAM memory portion being filled with zeroes, writing in the logical or indirect address of the corresponding array pointer a zero value. 8. The method according to claim 1 , further comprising performing a Java Card method for making the transient arrays. 9. The method according to claim 1 , further comprising: applying a checking rule checking whether a memory value representing a sum of a size of all the created transient arrays is greater than a memory value representing a total physical memory in the RAM memory portion increased by a safety amount that is a function of a settable parameter value; and signaling an out of memory event in response to the checking rule being affirmative. 10. The method according to claim 9 , wherein the function is multiplying or summing by the settable parameter value. 11. The method according to claim 9 , further comprising: performing the checking in response to an application selection; and in response to the out of memory event, requesting a failure of the application selection. 12. An integrated circuit card, comprising: a non-volatile memory portion; a random access memory (RAM) memory portion; and a processor communicatively coupled to the non-volatile memory portion and the RAM memory portion, and configured to: create, in a non-volatile memory heap in the non-volatile memory portion, one or more array pointers corresponding to respective one or more transient arrays to be allocated in the RAM memory portion, each array pointer comprising a transient array size and a transient array address, each transient array address being a logical or indirect address pointing indirectly to an area of the RAM memory portion in which a respective transient array is to be allocated; and assign, in the RAM memory portion, memory only to non-zero transient arrays having at least one value different from zero. 13. The integrated circuit card according to claim 12 , wherein the integrated circuit card is an embedded Universal Integrated Circuit Card (eUICC) using a Java Card platform. 14. The integrated circuit card according to claim 12 , wherein: the processor configured to create the one or more array pointers comprises the processor configured to create the one or more array pointers with a required body size and writing a null value in each transient array address as a body logical address; and the processor configured to assign comprises the processor configured to, based on writing a value different from zero in any point of an array body, assign a memory area of the RAM memory portion, with the required body size, to the corresponding transient array, and save the corresponding transient array address in the body logical address of the corresponding array pointer. 15. The integrated circuit card according to claim 12 , further comprising the processor configured to provide an indirection table, stored in the RAM memory portion, comprising reference addresses pointing to physical locations of respective arrays in the RAM memory portion, and to which the RAM array pointers in the non-volatile memory portion ordinately point. 16. The integrated circuit card according to claim 15 , wherein each RAM array pointer comprises as the respective transient array address an indirect address that comprises a null value or an address of the memory area containing the indirection table in the RAM memory portion, comprising a corresponding reference address that contains a physical address of the RAM memory portion assigned to the respective transient array. 17. The integrated circuit card according to claim 12 , further comprising the processor configured to deallocate, in the RAM memory portion, each transient array having values all equal to zero. 18. The integrated circuit card according to claim 14 , further comprising the processor configured to store in the logical or indirect address either an address of the memory area assigned to the array body or the null value. 19. The integrated circuit card according to claim 12 , further comprising the processor configured to perform a Java Card method for making the transient arrays. 20. The integrated circuit card according to claim 12 , further comprising the processor configured to: apply a checking rule checking whether a memory value representing a sum of a size of all the created transient arrays is greater than a memory value representing a total physical memory in the RAM memory portion increased by a safety amount that is a function of a settable parameter value; and signal an out of memory event in response to the checking rule being affirmative.

Assignees

Inventors

Classifications

  • Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups · CPC title

  • Hybrid memory, e.g. using both volatile and non-volatile memory · CPC title

  • Smart card · CPC title

  • Address translation · CPC title

  • using tables or multilevel address translation means (G06F12/023 takes precedence; address translation in virtual memory systems G06F12/10) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12406707B2 cover?
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 creat…
Who is the assignee on this patent?
St Microelectronics Srl
What technology area does this patent fall under?
Primary CPC classification G11C8/04. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 02 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).