IP Library Granted Patent US 9,785,530
Granted Patent B2
US 9,785,530 · App. 14/806,078 · Granted Oct 10, 2017

Method, device, and system for processing PCIe link fault

Inventor: Ge Du (Chengdu, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F11/3027G06F11/221G06F13/4022G06F13/4221
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,785,530
App. No.
14/806,078
Granted
Oct 10, 2017
Kind
B2
Abstract

In a Peripheral Component Interconnect Express (PCIe) system, a first PCIe apparatus determines that at least one of lanes of a link between the first PCIe apparatus and a second PCIe apparatus is disabled, wherein the link includes M lanes numbered in a first order. Based upon the determination, the first PCIe apparatus obtains a number N indicating a number of available lanes of the link by performing a lane negotiation with the second PCIe apparatus. Then, a processor determines that N<M/2. Based upon the determination, the first PCIe apparatus re-numbers at least some of the lanes of the link in a reverse order opposite to the first order as instructed by the processor. At last, the first PCIe apparatus continue to perform a negotiation with the second PCIe apparatus to obtain available lanes.

Claims (45)

1. A method performed by a Peripheral Component Interconnect Express (PCIe) system that includes a processor and a first PCIe apparatus, the method comprising:

determining, by the first PCIe apparatus, that at least one of a plurality of lanes of a link between the first PCIe apparatus and a second PCIe apparatus is disabled, wherein the link includes a number M of lanes, which are numbered in a first order, and wherein M is a total number of lanes of the link between the first PCIe apparatus and the second PCIe apparatus;

reporting, by the first PCIe apparatus, a device identifier (ID) of the first PCIe apparatus when the at least one of the lanes of the link between the first PCIe apparatus and the second PCIe apparatus is disabled;

performing a first lane negotiation with the second PCIe apparatus;

obtaining, by the first PCIe apparatus, a number N of available lanes of the link after performing the first lane negotiation with the second PCIe apparatus;

obtaining, by the processor, the number N and the number M;

determining, by the processor, whether N is less than M/2;

performing, by the first PCIe apparatus, data transmission using the N lanes in the link and without renumbering any of the lanes in the link when N is greater than or equal to M/2;

re-numbering, by the first PCIe apparatus, at least some of the lanes of the link in a reverse order opposite to the first order when N is less than M/2;

performing, by the first PCIe apparatus, a second lane negotiation with the second PCIe apparatus to obtain a number N′ of available lanes when N is less than M/2; and

performing by the first PCIe apparatus, data transmission using the N′ lanes in the link when N is less than M/2.

2. The method according to claim 1 , further comprising disabling half of the lanes numbered continuously from 0 to M/2-1 when is less than M/2.

3. The method according to claim 2 , wherein N is one of 1, 2, 4, 8, 16 or 32.

4. The method according to claim 3 , wherein N′ is one of 1, 2, 4, 8, 16, or 32.

5. A Peripheral Component Interconnect Express (PCIe) system comprising:

a processor; and

a first PCIe apparatus coupled to the processor and configured to:

determine that at least one of a plurality of lanes of a link between the first PCIe apparatus and a second PCIe apparatus is disabled, wherein the link includes a number M of lanes, which are numbered in a first order, and wherein M is a total number of lanes of the link between the first PCIe apparatus and the second PCIe apparatus;

report a device identifier (ID) of the first PCIe apparatus when at least one of lanes of the link between the first PCIe apparatus and the second PCIe apparatus is disabled;

performing a first lane negotiation with the second PCIe apparatus; and

obtain a number N of available lanes of the link after performing the first lane negotiation with the second PCIe apparatus,

wherein the processor is configured to:

obtain the number N and a number M; and

determine whether N is less than M/2, and;

wherein the first PCIe apparatus is further configured to:

perform data transmission using the N lanes in the link and without renumbering any of the lanes in the link when N is greater than or equal to M/2;

re-number at least some of the lanes of the link in a reverse order opposite to the first order when N is less than M/2;

perform a second lane negotiation with the second PCIe apparatus to obtain a number N′ of available lanes when N is less than M/2; and

perform data transmission using the N′ lanes in the link when N is less than M/2.

6. The system according to claim 5 , wherein the first PCIe apparatus is further configured to disable half of the lanes numbered continuously from 0 to M/2-1 when N is less than M/2.

7. The system according to claim 5 , wherein N is one of 1, 2, 4, 8, 16 or 32.

8. The system according to claim 5 , wherein N′ is one of 1, 2, 4, 8, 16, or 32.

9. A method performed by a first Peripheral Component Interconnect Express (PCIe) component comprising:

a memory comprising instructions; and

a processor coupled to the memory, wherein the processor is configured to execute the instructions to:

determine that at least one of a plurality of lanes of a link between the first PCIe component and a second PCIe component is disabled, wherein the link includes a number M of lanes, which are numbered in a first order, and wherein M is a total number of lanes of the link between the first PCIe component and the second PCIe component;

performing a first lane negotiation with the second PCIe component to obtain a number N of available lanes of the link after performing the first lane negotiation with the second PCIe component;

determining whether N is less than M/2;

performing data transmission using the N lanes in the link and without renumbering any of the lanes in the link when N is greater than or equal to M/2;

re-numbering at least some of the lanes of the link in a reverse order opposite to the first order when N is less than M/2;

performing a second lane negotiation with the second PCIe component to obtain a number N′ of available lanes when N is less than M/2; and

performing data transmission using the N′ lanes in the link when N is less than M/2.

10. The system according to claim 9 , wherein N is one of 1, 2, 4, 8, 16 or 32.

11. The system according to claim 9 , wherein N′ is one of 1, 2, 4, 8, 16, or 32.

12. The system according to claim 9 , further comprising disabling half of the lanes numbered continuously from 0 to M/2-1 when N is less than M/2.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2015
From: DU, GE
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 036169/0646 →
Continuity (2)
Continuation PCTCN2014074584 · Apr 2, 2014
Related Publication 20150324268A1 · Nov 12, 2015