IP Library Granted Patent US 12670117
Granted Patent B2
US 12670117 · App. 17/565,912 · Granted Jun 30, 2026

Allocating peripheral component interface express (PCIE) streams in a configurable multiport PCIE controller

Inventors: Nippon Raval (Markham, CA); Philip Ng (Markham, CA); Jaroslaw Marczewski (Markham, CA)
Assignee: ATI TECHNOLOGIES ULC
G06F13/4221G06F2213/0026
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 12670117
App. No.
17/565,912
Granted
Jun 30, 2026
Kind
B2
Abstract

Allocating peripheral component interface express (PCIe) streams in a configurable multiport PCIe controller, including: detecting, by a PCIe controller, a link by a first PCIe device; and allocating, for the link between the PCIe controller and the first PCIe device, a first one or more PCIe streams from a pool of PCIe streams.

Claims (43)

1 . A method of allocating peripheral component interface express (PCIe) streams in a configurable multiport PCIe controller, the method comprising:

detecting, by a PCIe controller, a link with a first PCIe device; and

allocating, for the link between the PCIe controller and the first PCIe device, a first one or more PCIe streams from a pool of PCIe streams, wherein a PCIe stream comprises a logically defined encrypted communications session between the PCIe controller and a PCIe device using one or more encryption keys.

2 . The method of claim 1 , wherein allocating the first one or more PCIe streams comprises:

receiving, from the first PCIe device, data indicating a number of requested streams for the first PCIe device and a number of PCIe lanes used by the first PCIe device, wherein the first one or more PCIe streams are allocated based on the number of requested streams and the number of PCIe lanes.

3 . The method of claim 1 , wherein the first one or more PCIe streams are allocated proportional to a number of lanes used by the first PCIe device.

4 . The method of claim 1 , further comprising:

detecting, by the PCIe controller, another link with a second PCIe device; and

allocating, to the second PCIe device, a second one or more PCIe streams from the pool of PCIe streams.

5 . The method of claim 4 , wherein allocating the second one or more PCIe streams comprises reallocating at least one of the first one or more PCIe streams from the first PCIe device to the second PCIe device.

6 . The method of claim 1 , further comprising:

detecting a removal of the first PCIe device; and

releasing the first one or more PCIe streams.

7 . The method of claim 6 , further comprising reallocating one or more of the first one or more PCIe streams to one or more other PCIe devices.

8 . A multiport peripheral component interface express (PCIe) controller comprising a processor and memory, the memory comprising computer program instructions that, when executed by the processor, are configured to:

detect a link with a first PCIe device; and

allocate, for the link between the PCIe controller and the first PCIe device, a first one or more PCIe streams from a pool of PCIe streams, wherein a PCIe stream comprises a logically defined encrypted communications session between the PCIe controller and a PCIe device using one or more encryption keys.

9 . The multiport PCIe controller of claim 8 , wherein the first one or more PCIe streams are allocated by:

receiving, from the first PCIe device, data indicating a number of requested streams for the first PCIe device and a number of PCIe lanes used by the first PCIe device, wherein the first one or more PCIe streams are allocated based on the number of requested streams and the number of PCIe lanes.

10 . The multiport PCIe controller of claim 8 , wherein the first one or more PCIe streams are allocated proportional to a number of lanes used by the first PCIe device.

11 . The multiport PCIe controller of claim 8 , further comprising computer program instructions that, when executed by the processor, are configured to:

detect, by the multiport PCIe controller, another link with a second PCIe device; and

allocate, to the second PCIe device, a second one or more PCIe streams from the pool of PCIe streams.

12 . The multiport PCIe controller of claim 11 , wherein allocating the second one or more PCIe streams comprises reallocating at least one of the first one or more PCIe streams from the first PCIe device to the second PCIe device.

13 . The multiport PCIe controller of claim 8 , further comprising computer program instructions that, when executed by the processor, are configured to:

detect a removal of the first PCIe device; and

release the first one or more PCIe streams.

14 . The multiport PCIe controller of claim 13 , further comprising computer program instructions that, when executed by the processor, are configured to reallocate one or more of the first one or more PCIe streams to one or more other PCIe devices.

15 . An apparatus for allocating peripheral component interface express (PCIe) streams in a configurable multiport PCIe controller, comprising:

a processor; and

a PCIe controller operatively coupled to the processor, the PCIe controller configured to:

detect a link with a first PCIe device; and

allocate, for the link between the PCIe controller and the first PCIe device, a first one or more PCIe streams from a pool of PCIe streams, wherein a PCIe stream comprises a logically defined encrypted communications session between the PCIe controller and a PCIe device using one or more encryption keys.

16 . The apparatus of claim 15 , wherein the first one or more PCIe streams are allocated by:

receiving, from the first PCIe device, data indicating a number of requested streams for the first PCIe device and a number of PCIe lanes used by the first PCIe device, wherein the first one or more PCIe streams are allocated based on the number of requested streams and the number of PCIe lanes.

17 . The apparatus of claim 15 , wherein the first one or more PCIe streams are allocated proportional to a number of lanes used by the first PCIe device.

18 . The apparatus of claim 15 , wherein the PCIe controller is further configured to:

detect another link with a second PCIe device; and

allocate, to the second PCIe device, a second one or more PCIe streams from the pool of PCIe streams.

19 . The apparatus of claim 18 , wherein the second one or more PCIe streams are allocated by reallocating at least one of the first one or more PCIe streams from the first PCIe device to the second PCIe device.

20 . The apparatus of claim 15 , wherein the PCIe controller is further configured to:

detect a removal of the first PCIe device; and

release the first one or more PCIe streams.