# US 2024/0202015 A1 · Accessing Multiple Physical Partitions of a Hardware Device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2024/0202015 A1
- Document ID: US20240202015A1
- Status: Published application
- Kind: A1
- Application number: 18/066,155
- Filed: 2022-12-14
- Published: 2024-06-20
- Earliest claimed: 2022-12-14
- Assignees: Advanced Micro Devices, Inc.; ATI Technologies ULC
- Applicants: Advanced Micro Devices, Inc; ATI Technologies ULC
- Inventors: Lu Lu; Anthony Asaro; Gia Tung Phan; Gongxian Cheng; Philip Ng; Yinan Jiang; Felix Kuehling
- Web page: https://patentgrep.com/patent/US20240202015A1

## CPC

- G06F 9/45545: {Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/545: {where tasks reside in different layers, e.g. user- and kernel-space}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In a computing device, a hardware device (e.g., a parallel accelerated processor or graphics processing unit) is coupled to a bus, such as a peripheral component interconnect express (PCIe) bus. The hardware device supports physical partitioning that allows physical resources of the hardware device to be separated into different partitions. Examples of such physical resources include engine resources (e.g., compute resources, direct memory access resources), memory resources (e.g., random access memory), and so forth. Each physical partition is mapped to a physical function that is exposed to a host on the computing device in a manner that is compliant with the bus protocol, allowing software to access the physical partition in a conventional manner based on the bus protocol.

## Claims

### Claim 1

A method comprising:
exposing a physical function of a hardware device on a bus, the physical function corresponding to a physical partition of multiple physical partitions of the hardware device;
receiving, via the physical function, a request to perform one or more operations; and
performing the one or more operations on the physical partition.

### Claim 2 (depends on 1)

The method of claim 1, wherein the bus comprises a peripheral component interconnect express bus.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
exposing an additional physical function of the hardware device on the bus, the additional physical function corresponding to a device management module of the hardware device that manages the multiple physical partitions of the hardware device.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
receiving configuration information corresponding to software, the configuration information indicating resources requested for execution of the software; and
configuring, based on the received configuration information, a physical partition including the indicated resources.

### Claim 5 (depends on 4)

The method of claim 4, the software comprising a software container, an application, or a software stack.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
exposing an additional physical function of the hardware device on the bus, the additional physical function corresponding to an additional physical partition of the multiple physical partitions;
receiving, via the additional physical function, a request to perform at least one operation; and
performing the at least one operation on the additional physical partition.

### Claim 7 (depends on 1)

The method of claim 1, wherein the request is received from software via a kernel mode driver of a host rather than via a hypervisor.

### Claim 8

A device comprising:
a physical function exposable on a bus coupled to the device to receive a request to perform one or more operations; and
a physical partition, corresponding to the physical function, to perform the one or more operations, wherein the physical partition is one of multiple physical partitions of the device.

### Claim 9 (depends on 8)

The device of claim 8, wherein the bus comprises a peripheral component interconnect express bus.

### Claim 10 (depends on 8)

The device of claim 8, further comprising:
an additional physical function exposable on the bus; and
a device management module, corresponding to the additional physical function, that manages the multiple physical partitions of the device.

### Claim 11 (depends on 10)

The device of claim 10, wherein the device management module is to:
receive, via the bus and the additional physical function, configuration information corresponding to software, the configuration information indicating resources requested for execution of the software; and
configure, based on the received configuration information, the physical partition including the indicated resources.

### Claim 12 (depends on 11)

The device of claim 11, wherein the configuration information is received from a management application that provides an interface to manage resources in the device.

### Claim 13 (depends on 8)

The device of claim 8, further comprising:
an additional physical function exposable on the bus to receive a request to perform at least one operation; and
an additional physical partition, corresponding to the additional physical function, to perform the at least one operation, wherein the additional physical partition is one of the multiple physical partitions.

### Claim 14 (depends on 8)

The device of claim 8, wherein the request is received from software via a kernel mode driver of a host rather than via a hypervisor.

### Claim 15

A computing device comprising:
a bus; and
a hardware device coupled to the bus, the hardware device including a physical function exposed on the bus to receive, via the bus, a request to perform one or more operations, and the hardware device further including a physical partition, corresponding to the physical function, to perform the one or more operations, wherein the physical partition is one of multiple physical partitions of the hardware device.

### Claim 16 (depends on 15)

The computing device of claim 15, wherein the bus comprises a peripheral component interconnect express bus.

### Claim 17 (depends on 15)

The computing device of claim 15, further comprising:
an additional physical function exposed on the bus; and
a device management module, corresponding to the additional physical function, that manages the multiple physical partitions of the hardware device.

### Claim 18 (depends on 17)

The computing device of claim 17, wherein the device management module is to:
receive, via the bus and the additional physical function, configuration information corresponding to software, the configuration information indicating resources requested for execution of the software; and
configure, based on the received configuration information, the physical partition including the indicated resources.

### Claim 19 (depends on 15)

The computing device of claim 15, further comprising:
an additional physical function exposed on the bus to receive a request to perform at least one operation; and
an additional physical partition, corresponding to the additional physical function, to perform the at least one operation, wherein the additional physical partition is one of the multiple physical partitions.

### Claim 20 (depends on 15)

The computing device of claim 15, wherein the request is received from software via a kernel mode driver of a host rather than via a hypervisor.
