IP Library Granted Patent US 9,823,868
Granted Patent B2
US 9,823,868 · App. 15/499,177 · Granted Nov 21, 2017

Method and apparatus for virtualization

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 9,823,868
App. No.
15/499,177
Granted
Nov 21, 2017
Kind
B2
Abstract

A virtual system on chip (VSoC) is an implementation of a machine that allows for sharing of underlying physical machine resources between different virtual systems. A method or corresponding apparatus of the present invention relates to a device that includes a plurality of virtual systems on chip and a configuring unit. The configuring unit is arranged to configure resources on the device for the plurality of virtual systems on chip as a function of an identification tag assigned to each virtual system on chip.

Claims (47)

1. A device comprising:

a plurality of virtual systems on chip, each virtual system on chip (VSoC) relating to a subset of a plurality of resources on a single physical chip, the plurality of resources including a memory; and

a configuring unit on the single physical chip, the configuring unit arranged to:

set an access control element of a plurality of access control elements to control whether a given VSoC of the plurality of virtual systems on chip is enabled to access the given memory, wherein a granularity of memory protection provided is based on a memory size of the memory and a total element number of the plurality of access control elements.

2. The device of claim 1 , wherein the configuring unit is further arranged to:

assign a unique identification tag of a plurality of identification tags to each VSoC;

assign each memory subset a given identification tag of the plurality of identification tags, the given identification tag assigned to a corresponding VSoC to which the memory subset is assigned; and

provide the granularity of memory protection further based on a number of the plurality of identification tags assigned.

3. The device of claim 1 , wherein:

the total element number of the plurality of access control elements is static;

the programmed memory size of the given memory is variable.

4. The device of claim 2 , wherein the number of the plurality of identification tags assigned is variable.

5. The device of claim 1 , wherein the given memory is a Dynamic Random Access Memory (DRAM) and the DRAM is shared by each VSoC of the plurality of virtual systems on chip.

6. The device of claim 1 , wherein the given memory is a level two cache and the level two cache is shared by each VSoC of the plurality of virtual systems on chip.

7. The device of claim 6 , wherein the configuring unit is further arranged to:

assign a unique identification tag of a plurality of identification tags to each VSoC;

assign each memory subset a given identification tag of the plurality of identification tags, the given identification tag assigned to a corresponding VSoC to which the memory subset is assigned; and

wherein the level two cache is configured to enable or restrict access to at least one other memory by the plurality of virtual systems on chip based on a first identification tag of the plurality of identification tags associated with the access and a second identification tag assigned to the at least one other memory.

8. The device of claim 1 , wherein at least one exclusive partition of the given memory is assigned to each VSoC of the plurality of virtual systems on chip.

9. The device of claim 8 , wherein the configuring unit is further arranged to:

assign a unique identification tag of a plurality of identification tags to each VSoC;

assign each memory subset a given identification tag of the plurality of identification tags, the given identification tag assigned to a corresponding VSoC to which the memory subset is assigned; and

wherein a first number of the at least one exclusive partition assigned is based on a second number of the plurality of identification tags assigned and a corresponding level of quality of service associated with each VSoC of the plurality of virtual systems on chip.

10. The device of claim 1 , wherein each VSoC of the plurality of virtual systems on chip serves as a virtualized execution environment for executing operating systems and embedded applications.

11. A method comprising:

setting an access control element of a plurality of access control elements to control whether a given virtual system on chip (VSoC) of a plurality of virtual systems on chip is enabled to access a memory, the plurality of resources including the memory; and

wherein a granularity of memory protection is based on a memory size of the memory and a total element number of the plurality of access control elements.

12. The method of claim 11 , further comprising:

assigning a unique identification tag of a plurality of identification tags to each VSoC;

assigning each memory subset a given identification tag of the plurality of identification tags, the given identification tag assigned to a corresponding VSoC to which the memory subset is assigned; and

providing the granularity of memory protection is further based on a number of the plurality of identification tags assigned.

13. The method of claim 11 , wherein:

the total element number of the plurality of access control elements is static;

the programmed memory size of the given memory is variable.

14. The method of claim 13 , wherein the number of the plurality of identification tags assigned is variable.

15. The method of claim 11 , wherein the given memory is a Dynamic Random Access Memory (DRAM) shared by each VSoC of the plurality of virtual systems on chip.

16. The method of claim 11 , wherein the given memory is a level two cache shared by each VSoC of the plurality of virtual systems on chip.

17. The method of claim 16 , further including:

assigning a unique identification tag of a plurality of identification tags to each VSoC;

assigning each memory subset a given identification tag of the plurality of identification tags, the given identification tag assigned to a corresponding VSoC to which the memory subset is assigned; and

configuring the level two cache to enable or restrict access to at least one other memory by the plurality of virtual systems on chip based on a first identification tag of the plurality of identification tags associated with the access and a second identification tag assigned to the at least one other memory.

18. The method of claim 11 , further comprising assigning at least one exclusive partition of the given memory to each VSoC of the plurality of virtual systems on chip.

19. The method of claim 18 , further including:

assigning a unique identification tag of a plurality of identification tags to each VSoC;

assigning each memory subset a given identification tag of the plurality of identification tags, the given identification tag assigned to a corresponding VSoC to which the memory subset is assigned; and

assigning a first number of the at least one exclusive partition based on a second number of the plurality of identification tags assigned and a corresponding level of quality of service associated with each VSoC of the plurality of virtual systems on chip.

20. The method of claim 11 , further including configuring each VSoC of the plurality of virtual systems on chip to serve as a virtualized execution environment for executing operating systems and embedded applications.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CERTIFICATE OF CONVERSION AND CERTIFICATE OF FORMATION Recorded Oct 2, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047185/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2017
From: HUSSAIN, MUHAMMAD RAGHIB; GOYAL, RAJAN; KESSLER, RICHARD
To: CAVIUM NETWORKS, INC.
Reel/Frame 042173/0830 →
MERGER AND CHANGE OF NAME Recorded Apr 28, 2017
From: CAVIUM NETWORKS, INC.; CAVIUM, INC.
To: CAVIUM, INC.
Reel/Frame 042173/0841 →