IP Library › Granted Patent US 12,361,173
Granted Patent B2
US 12,361,173 · App. 17/812,883 · Granted Jul 15, 2025

Method of managing access rights for software tasks executed by a microcontroller, and corresponding integrated circuit

Inventors: Michel Jaouen (Yvre l'Eveque, FR); Loic Pallardy (Rouillon, FR)
Assignee: STMicroelectronics (Grand Ouest) SAS
G06F21/6281G06F12/0802G06F2212/60
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 12,361,173
App. No.
17/812,883
Granted
Jul 15, 2025
Kind
B2
Abstract

In an embodiment a method for managing access rights of software tasks executed by a processing unit (CPU) using a cache memory containing execution data of the tasks in memory locations, each execution data having an attribute representative of a level of access right of the respective task, includes changing the attributes of the locations of the cache memory when the access rights of at least one task changes and retaining the execution data contained in the locations of the cache memory.

Claims (34)

1. A method for managing access rights of software tasks executed by a processing unit (CPU) using a cache memory containing execution data of the tasks in memory locations, each execution data having an attribute representative of a level of access right of a respective task, the method comprising:

changing the attributes of the locations of the cache memory when the access right of at least one task changes;

retaining the execution data contained in the locations of the cache memory;

locking the locations of the cache memory containing the execution data before the change in the attributes; and

unlocking after the change in the attributes.

2. The method according to claim 1 , wherein the access rights of the software tasks are defined by an access right management unit.

3. The method according to claim 1 , further comprising:

monitoring, by a firewall mechanism, an access to a memory containing data related to the software tasks, wherein the access depends on the access rights of the software tasks; and

changing conditions of the firewall mechanism for access to the data related to the at least one task following the change in the access rights.

4. The method according to claim 1 , wherein the access rights of the software tasks comprise a privileged level and a non-privileged level such that a non-privileged level task cannot access data or functions of the privileged level.

5. The method according to claim 1 , wherein the access rights of the software tasks comprise a secure level and a non-secure level such that a non-secure level task cannot access data or functions respectively contained or implemented by a secure level hardware element.

6. The method according to claim 1 , further comprising:

deactivating interrupts of the CPU throughout an updating process.

7. The method according to claim 6 , wherein the updating process is only controllable by a task having a level of access right, which is hierarchically higher than or equal to the level of access right represented by the changed attribute.

8. The method according to claim 1 , wherein the access rights comprise a privileged level and a non-privileged level, and wherein the attributes comprise a privileged attribute and a non-privileged attribute.

9. The method according to claim 1 , wherein the access rights comprise a secure level and a non-secure level, and wherein the attributes comprise a secure attribute and a non-secure attribute.

10. An integrated circuit comprising:

a processing unit (CPU) configured to execute software; and

a cache memory configured to contain execution data of software tasks in memory locations, each execution data having an attribute representative of a level of an access right of a respective task,

wherein the CPU is configured to:

change the attributes of the locations of the cache memory containing the execution data when the access right of at least one task changes,

retain the execution data contained in the locations of the cache memory,

lock the locations of the cache memory containing the execution data relating to the at least one task before the change in the attributes, and

unlock the locations after the change in the attributes.

11. The integrated circuit according to claim 10 , further comprising an access right management unit configured to define the access rights of the software tasks.

12. The integrated circuit according to claim 10 , further comprising:

a firewall mechanism configured to monitor an access to a memory configured to contain data related to the software tasks, wherein the access depends on the access rights of the software tasks,

wherein the CPU is configured to change conditions of the firewall mechanism for the access to the data related to the at least one task following a change of the attributes.

13. The integrated circuit according to claim 10 , wherein the access rights of the software tasks comprise a privileged level and a non-privileged level, and wherein the CPU is configured such that a non-privileged level task cannot access data or functions of the privileged level.

14. The integrated circuit according to claim 10 , further comprising secure level hardware elements and non-secure level hardware elements, wherein the access rights of the software tasks comprise a secure level and a non-secure level, and wherein the CPU is configured such that a non-secure level task cannot access data or functions which are respectively contained or implemented by a secure level hardware element.

15. The integrated circuit according to claim 10 , wherein the CPU is further configured to deactivate interrupts of the CPU during the change of the attributes of the locations of the cache memory.

16. The integrated circuit according to claim 10 , wherein the CPU is configured such that the change in the access right of at least one task is only controllable by a task, executed by the CPU, having a level of access right which is hierarchically higher than or equal to the level of access right represented by the changed attribute.

17. The integrated circuit according to claim 10 , wherein the access rights comprise a privileged level and a non-privileged level, and wherein the attributes comprise a privileged attribute and a non-privileged attribute.

18. The integrated circuit according to claim 10 , wherein the access rights comprise a secure level and a non-secure level, and wherein the attributes comprise a secure attribute and a non-secure attribute.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2022
From: JAOUEN, MICHEL; PALLARDY, LOIC
To: STMICROELECTRONICS (GRAND OUEST) SAS
Reel/Frame 060626/0246 →
Priority Claims (1)
FR 2107717 · Jul 16, 2021 · national
Continuity (1)
Related Publication 20230015027A1 · Jan 19, 2023
References Cited (11)
US 7124274B2 · Watt et al. · 2006 [cited by applicant]
US 20070226795A1 · Conti · 2007 [cited by examiner]
US 20100318569A1 · Munday · 2010 [cited by examiner]
US 20170177339A1 · Shanbhogue · 2017 [cited by examiner]
US 20170371570A1 · Wokhlu · 2017 [cited by examiner]
EP 1563380A2 · 2005 [cited by applicant]
EP 1987430A2 · 2008 [cited by applicant]
EP 3646189A1 · 2020 [cited by applicant]
WO 2007092951A2 · 2007 [cited by applicant]
WO 2019002810A1 · 2019 [cited by applicant]
Fang et al, Reducing cache and TLB power by exploiting memory region and privilege level semantics, Apr. 23, 2013. Journal of Systems Architecture (Year: 2013). [cited by examiner]