IP Library Granted Patent US 8,327,100
Granted Patent B2
US 8,327,100 · App. 13/028,756 · Granted Dec 4, 2012

Execute only access rights on a Von Neuman architectures

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,327,100
App. No.
13/028,756
Granted
Dec 4, 2012
Kind
B2
Abstract

A microcontroller system, such as a system-on-a-chip integrated circuit, including a processor (e.g., a Von Neumann processor), memory, and a memory protection unit (MPU), where the MPU provides execute-only access rights for one or more protected areas of the memory. The MPU can allow instructions fetched from within a protected area to access data in the protected area while preventing instructions fetched from outside the protected area from accessing data in the protected area.

Claims (30)

1. A method comprising:

receiving one or more signals indicating a memory access;

reading a current address;

determining that the current address is within a protected area of a memory map, the protected area defined by a base address, a limit address, and a non-zero offset;

in response to determining that the current address is within the protected area of the memory map, setting an access flag;

determining that the one or more signals indicate a fetch memory access and that the fetch memory access is not within the protected area of the memory;

in response to determining that the one or more signals indicate a fetch memory access and that the fetch memory access is not within the protected area of the memory, clearing a protected fetch flag;

determining that the one or more signals indicate a data memory access, that the access flag is set, and that the protected fetch flag is cleared; and

in response to determining that the one or more signals indicate a data memory access, that the access flag is set, and that the protected fetch flag is cleared, aborting the data memory access.

2. The method of claim 1 , further comprising:

receiving one or more different signals indicating a memory access;

determining that the one or more different signals indicate a data memory access;

determining that the access flag is cleared or that the protected fetch flag is set; and

in response to determining that the access flag is cleared or that the protected fetch flag is set, allowing the data memory access.

3. The method of claim 1 , wherein determining that the current address is within a protected area of the memory map further comprises:

determining that the current address is greater than or equal to the sum of the base address and the non-zero offset and that the current address is less than or equal to the limit address.

4. The method of claim 1 , wherein aborting the data memory access further comprises:

setting an abort flag to abort the data memory access.

5. The method of claim 1 , wherein determining that the one or more signals indicate a data memory access further comprises:

determining that the one or more signals indicate a read data memory access.

6. The method of claim 1 , wherein determining that the one or more signals indicate a data memory access further comprises:

determining that the one or more signals indicate a write data memory access.

7. The method of claim 1 , wherein the base address and the limit address are fixed.

8. The method of claim 1 , wherein the base address and the limit address are programmable.

9. The method of claim 1 , wherein:

the memory map corresponds to a memory array coupled to a processor; and

the non-zero offset is equal to a number of instruction pipeline stages of the processor minus one.

10. The method of claim 9 , wherein the processor has a Von Neumann architecture.

11. The method of claim 1 , wherein determining that the current address is within a protected area of a memory map further comprises:

determining that the current address is within one of a plurality of protected areas of the memory map, each protected area defined by a respective base address, a respective limit address, and the non-zero offset.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2019
From: VERIMATRIX
To: RAMBUS INC.
Reel/Frame 051262/0413 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 21, 2019
From: GLAS SAS, AS AGENT
To: INSIDE SECURE
Reel/Frame 051076/0306 →
CHANGE OF ADDRESS Recorded Oct 16, 2019
From: VERIMATRIX
To: VERIMATRIX
Reel/Frame 050733/0003 →
CHANGE OF NAME Recorded Oct 7, 2019
From: INSIDE SECURE
To: VERIMATRIX
Reel/Frame 050647/0428 →
SECURITY INTEREST Recorded Feb 27, 2019
From: INSIDE SECURE
To: GLAS SAS, AS SECURITY AGENT
Reel/Frame 048449/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2012
From: ATMEL ROUSSET S.A.S.
To: INSIDE SECURE
Reel/Frame 028522/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2011
From: BATIFOULIER, SANDRINE; GODZINSKI, STEPHANE; DUPAQUIS, VINCENT
To: ATMEL CORPORATION
Reel/Frame 026047/0134 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2011
From: ATMEL CORPORATION
To: ATMEL ROUSSET S.A.S.
Reel/Frame 026047/0189 →