IP Library Granted Patent US 9,626,319
Granted Patent B2
US 9,626,319 · App. 13/974,519 · Granted Apr 18, 2017

Allocating lanes in a peripheral component interconnect express (‘PCIe’) bus

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,626,319
App. No.
13/974,519
Granted
Apr 18, 2017
Kind
B2
Abstract

Allocating lanes in a Peripheral Connect Interface Express (‘PCIe’) bus, including: determining, by a lane allocation module, performance capabilities of a device coupled to the PCIe bus; and allocating, by the lane allocation module, a number of lanes in the PCIe bus for use by the device in dependence upon the performance capabilities of the device.

Claims (33)

1. An apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

determining performance capabilities of a device coupled to a Peripheral Component Interconnect Connect Interface Express (PCIe) bus, including:

retrieving, from a downstream device, performance capabilities of a downstream device by initiating performance tests with the downstream device, wherein the performance tests include ping operations directed to the downstream device that determine a response time of the downstream device;

maintaining a repository that associates various device types with performance capabilities of each of the various device types;

determining a device type for the device coupled to the PCIe bus;

retrieving, from the repository, performance capabilities of the device; and

determining whether one or more performance capabilities of a downstream device are less than the performance capabilities of the device coupled to the PCIe bus, wherein the downstream device is coupled to the device over a data communications channel other than the PCIe bus; and

allocating, in response to determining that the one or more performance capabilities of a downstream device are less than the performance capabilities of the device, a number of lanes in the PCIe bus for use by the device in dependence upon the performance capabilities of the downstream device, including allocating fewer lanes in the PCIe bus for use by the device than would be allocated for the device if the allocating were performed in dependence upon the performance capabilities of the device.

2. The apparatus of claim 1 wherein determining a device type for the device coupled to the PCIe bus further comprises retrieving, from the device, vital product data (‘VPD’) for the device.

3. The apparatus of claim 1 wherein allocating the number of lanes in the PCIe bus for use by the device in dependence upon the performance capabilities of the device further comprises deallocating one or more lanes in the PCIe bus for use by a second device.

4. A computer program product including a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

determining performance capabilities of a device coupled to a Peripheral Component Interconnect Connect Interface Express (PCIe) bus, including:

retrieving, from a downstream device, performance capabilities of a downstream device by initiating performance tests with the downstream device, wherein the performance tests include ping operations directed to the downstream device that determine a response time of the downstream device;

maintaining a repository that associates various device types with performance ca s abilities of each of the various device types;

determining a device type for the device coupled to the PCIe bus;

retrieving, from the repository, performance capabilities of the device; and

determining whether one or more performance capabilities of a downstream device are less than the performance capabilities of the device coupled to the PCIe bus, wherein the downstream device is coupled to the device over a data communications channel other than the PCIe bus; and

allocating, in response to determining that the one or more performance capabilities of a downstream device are less than the performance capabilities of the device, a number of lanes in the PCIe bus for use by the device in dependence upon the performance capabilities of the downstream device, including allocating fewer lanes in the PCIe bus for use by the device than would be allocated for the device if the allocating were performed in dependence upon the performance capabilities of the device.

5. The computer program product of claim 4 wherein determining a device type for the device coupled to the PCIe bus further comprises retrieving, from the device, vital product data (‘VPD’) for the device.

6. The computer program product of claim 4 wherein allocating the number of lanes in the PCIe bus for use by the device in dependence upon the performance capabilities of the device further comprises deallocating one or more lanes in the PCIe bus for use by a second device.

7. The computer program product of claim 4 wherein the computer readable medium comprises a computer readable storage medium.

8. A method comprising:

determining performance capabilities of a device coupled to a Peripheral Component Interconnect Connect Interface Express (PCIe) bus, including:

retrieving, from a downstream device, performance capabilities of a downstream device by initiating performance tests with the downstream device, wherein the performance tests include ping operations directed to the downstream device that determine a response time of the downstream device;

maintaining a repository that associates various device types with performance capabilities of each of the various device types;

determining a device type for the device coupled to the PCIe bus;

retrieving, from the repository, performance capabilities of the device; and

determining whether one or more performance capabilities of a downstream device are less than the performance capabilities of the device coupled to the PCIe bus, wherein the downstream device is coupled to the device over a data communications channel other than the PCIe bus; and

allocating, in response to determining that the one or more performance capabilities of a downstream device are less than the performance capabilities of the device, a number of lanes in the PCIe bus for use by the device in dependence upon the performance capabilities of the downstream device, including allocating fewer lanes in the PCIe bus for use by the device than would be allocated for the device if the allocating were performed in dependence upon the performance capabilities of the device.

9. The method of claim 8 wherein determining a device type for the device coupled to the PCIe bus further comprises retrieving, from the device, vital product data (‘VPD’) for the device.

10. The method of claim 8 wherein allocating the number of lanes in the PCIe bus for use by the device in dependence upon the performance capabilities of the device further comprises deallocating one or more lanes in the PCIe bus for use by a second device.

11. The method of claim 1 wherein the allocating the number of lanes includes allocating a number of lanes equal to a maximum performance capability of the downstream device.

12. The method of claim 1 further comprising allocating, in response to determining that the one or more performance capabilities of a downstream device are more than the performance capabilities of the device, a number of lanes in the PCIe bus for use by the device in dependence upon the performance capabilities of the device.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 050298/0650 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2013
From: JACOBSON, STEVEN C.; NGUYEN, LOC X.; REMIS, LUKE D.; TENNANT, TIMOTHY R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031070/0871 →