IP Library Granted Patent US 8,285,938
Granted Patent B2
US 8,285,938 · App. 11/573,399 · Granted Oct 9, 2012

Processing unit and method of memory management in processing systems with limited resources

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,285,938
App. No.
11/573,399
Granted
Oct 9, 2012
Kind
B2
Abstract

The present invention is related with the management of memory in environments of limited resources, such as those found for example in a smart card. In a more particular manner, the invention relates to a method of managing the data storage resources of volatile memory, the object of which is to reduce the size of volatile memory necessary to implement the stack of the system, and thereby to reserve more volatile memory available for other needs or procedures of the system or of other applications When the stack grows and comes close to its established limit, the system carries out a transfer of a stack block located in the volatile memory to an area of non-volatile memory, hence this transfer allows a compression of the stack increasing its size in a virtual manner.

Claims (25)

1. A method for managing a stack in a volatile memory, the method comprising:

determining whether to transfer data from the stack formed in a volatile memory area;

determining a size of a data block to transfer from the stack based on at least one criterion related to the stack; and

transferring the data block from the stack in the volatile memory area to a non-volatile memory area in response to determining to transfer data from the stack,

wherein determining the size of the data block to transfer from the stack comprises determining whether the size of the data block is a fixed size or a variable size based on previous uses of the stack.

2. The method according to claim 1 , wherein the stack is compacted and a pointer of the stack is moved once the data block has been transferred.

3. The method according to claim 1 , wherein a level of data storage use of the stack is monitored in a continuous manner.

4. The method according to claim 1 , wherein the stack is a fixed maximum size.

5. The method according to claim 1 , wherein the stack is a variable maximum size.

6. The method according to claim 1 , wherein transferring the data block includes data that occupies an uppermost location of the stack.

7. The method according to claim 1 , further comprising expanding the stack to recover the data transferred to non-volatile memory, wherein expanding the stack includes transferring the data from the non-volatile memory area to an original location in the stack.

8. A memory card comprising:

a volatile memory configured to store a stack of data;

a non-volatile memory; and

a processor configured to communicate with the volatile memory and the non-volatile memory,

wherein the processor is configured to:

determine whether to transfer at least part of the data from the stack;

determine whether a size of a data block to transfer from the stack is a fixed size or a variable size based on previous uses of the stack; and

transfer the data block of the determined size from the volatile memory to the non-volatile memory in response to determining to transfer at least a part of the data from the stack.

9. The memory card according to claim 8 , wherein the processor and the non-volatile memory make up a processing unit.

10. The memory card according to claim 9 , wherein the processing unit is an integrated circuit.

11. The memory card according to claim 8 , wherein the stack of data is used for processing a first application.

12. The memory card according to claim 11 , wherein the processor is configured to transfer the data block of the determined size to the non-volatile memory to allow for use of the volatile memory for other applications.

13. The memory card according to claim 8 , wherein the memory card is a smart card.

14. The memory card according to claim 8 , wherein the processor is configured to determine whether to transfer data from the stack by determining whether a level of data storage in the stack is indicative of potential overflow of the stack.

Assignments (3)
CHANGE OF NAME Recorded Jun 10, 2025
From: WESTERN DIGITAL ISRAEL LTD.
To: SANDISK ISRAEL LTD.
Reel/Frame 071587/0836 →
CHANGE OF NAME Recorded Aug 21, 2020
From: SANDISK IL LTD
To: WESTERN DIGITAL ISRAEL LTD
Reel/Frame 053574/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2007
From: CANIS ROBLES, JAVIER
To: SANDISK IL LTD.
Reel/Frame 018867/0032 →