IP Library Granted Patent US 12,153,538
Granted Patent B2
US 12,153,538 · App. 18/016,496 · Granted Nov 26, 2024

I2C deadlock and recovery method and apparatus

Inventor: Zhibei Zhang (Jiangsu, CN)
Assignee: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
G06F13/4282G06F2213/0016
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 12,153,538
App. No.
18/016,496
Granted
Nov 26, 2024
Kind
B2
Abstract

An Inter-Integrated Circuit (I2C) deadlock and recovery method and apparatus include the following steps: providing an optical module reading unit and an optical module isolation unit in a CPU of a switch; configuring the optical module reading unit to periodically scan the states of each optical module in the switch, reading contents of in-place optical modules, determining whether there is an optical module in which a content reading failure occurs but the state of which is in place, and if there is, determining that there is a faulty optical module; and configuring the optical module isolation unit to isolate all the optical modules of the switch, resetting an I2C bus, searching for and blocking the faulty optical module, deactivating the isolation of normal optical modules in the switch after the faulty optical module is blocked off, and notifying a BMC before and after the isolation of the optical modules.

Claims (72)

1. An Inter-Integrated Circuit (I2C) deadlock and recovery method, comprising following steps:

S1, providing an optical module reading unit and an optical module isolation unit in a central processing unit (CPU) of a switch;

S2, configuring the optical module reading unit to periodically scan states of each optical module in the switch, reading contents of in-place optical modules, and determining whether there is a faulty optical module in which a content reading failure occurs but a state of which is in place; and

S3, configuring the optical module isolation unit to isolate all optical modules of the switch, resetting an I2C bus, searching for and blocking the faulty optical module, deactivating an isolation of normal optical modules in the switch after the faulty optical module is blocked off, and notifying a Baseboard Management Controller (BMC) before and after the isolation of the optical modules,

wherein substeps of step S3 comprise:

S31, configuring the optical module isolation unit to mark all the optical modules as unreadable in an optical module driver to isolate all the optical modules;

S32, configuring the optical module isolation unit to notify the BMC that there is an abnormal optical module, and resetting an I2C data selector;

S33, configuring the optical module isolation unit to iteratively read all ports of the switch, locating a reading failure port, and determining and recording damage of an optical module corresponding to the reading failure port; and

S34, configuring the optical module isolation unit to mark a faulty port number in the optical module driver, deactivating the isolation of the normal optical modules, and synchronously notifying the BMC.

2. The I2C deadlock and recovery method according to claim 1 , wherein substeps of step S2 are as follows:

S21, configuring the optical module reading unit to periodically scan the states of each optical module in the switch, and obtaining the in-place optical modules;

S22, configuring the optical module reading unit to read the contents of the in-place optical modules in sequence, and determining whether the content reading failure occurs;

when the content reading failure occurs, entering step S23;

when the content reading failure does not occur, returning to step S21; and

S23, configuring the optical module reading unit to determine an existence of the faulty optical module, and entering step S3.

3. The I2C deadlock and recovery method according to claim 2 , wherein the optical module reading unit is configured to read the contents of the in-place optical modules in an Electrically-Erasable Programmable Read-Only Memory (EEPROM) and a Digital Optical Monitoring (DOM).

4. The I2C deadlock and recovery method according to claim 1 , wherein in the step S1, an optical module scanning in-place unit is further provided in the CPU of the switch; and

the following step is further comprised after step S3:

S4, configuring the optical module scanning in-place unit to regularly detect whether the faulty optical module is recovered to normal, and deactivating the blocking of the faulty optical module after the faulty optical module is recovered to normal.

5. The I2C deadlock and recovery method according to claim 4 , wherein substeps of step S4 are as follows:

S41, configuring the optical module scanning in-place unit to regularly detect whether the faulty optical module is recovered to normal; and

when the faulty optical module is not recovered to normal, returning to step S41.

6. The I2C deadlock and recovery method according to claim 5 , wherein substeps of step S4 are further as follows:

when the faulty optical module is recovered to normal, S42 configuring the optical module scanning in-place unit to update, in the optical module driver, a port number corresponding to the faulty optical module that is recovered to normal, and synchronizing the update to the BMC.

7. An Inter-Integrated Circuit (I2C) deadlock and recovery device, comprising:

a memory, configured to store computer instructions; and

a processor, configured to execute the computer instructions, and upon execution of the computer instructions, is configured to:

S1, provide an optical module reading unit and an optical module isolation unit in a central processing unit (CPU) of a switch;

S2, configure the optical module reading unit to periodically scan states of each optical module in the switch, read contents of in-place optical modules, and determine whether there is a faulty optical module in which a content reading failure occurs but a state of which is in place; and

S3, configure the optical module isolation unit to isolate all optical modules of the switch, reset an I2C bus, search for and block the faulty optical module, deactivate an isolation of normal optical modules in the switch after the faulty optical module is blocked off, and notify a Baseboard Management Controller (BMC) before and after the isolation of the optical modules, wherein the processor, upon execution of the computer instructions, is further configured to:

S31, configure the optical module isolation unit to mark all the optical modules as unreadable in an optical module driver to isolate all the optical modules;

S32, configure the optical module isolation unit to notify the BMC that there is an abnormal optical module, and reset an I2C data selector;

S33, configure the optical module isolation unit to iteratively read all ports of the switch, locate a reading failure port, and determine and record damage of an optical module corresponding to the reading failure port; and

S34, configure the optical module isolation unit to mark a faulty port number in the optical module driver, deactivate the isolation of the normal optical modules, and synchronously notify the BMC.

8. The I2C deadlock and recovery device according to claim 7 , wherein the processor, upon execution of the computer instructions, is further configured to:

S21, configure the optical module reading unit to periodically scan the states of each optical module in the switch, and obtain the in-place optical modules;

S22, configure the optical module reading unit to read the contents of the in-place optical modules in sequence, and determine whether the content reading failure occurs;

when the content reading failure occurs, enter step S23;

when the content reading failure does not occur, return to step S21; and

S23, configure the optical module reading unit to determine an existence of the faulty optical module, and enter step S3.

9. The I2C deadlock and recovery device according to claim 8 , wherein the optical module reading unit is configured to read the contents of the in-place optical modules in an Electrically-Erasable Programmable Read-Only Memory (EEPROM) and a Digital Optical Monitoring (DOM).

10. The I2C deadlock and recovery device according to claim 7 , wherein:

an optical module scanning in-place unit is further provided in the CPU of the switch; and

the processor, upon execution of the computer instructions, is further configured to:

after step S3, S4, configure the optical module scanning in-place unit to regularly detect whether the faulty optical module is recovered to normal, and deactivate the blocking of the faulty optical module after the faulty optical module is recovered to normal.

11. The I2C deadlock and recovery device according to claim 10 , wherein the processor, upon execution of the computer instructions, is further configured to:

S41, configure the optical module scanning in-place unit to regularly detect whether the faulty optical module is recovered to normal; and

when the faulty optical module is not recovered to normal, return to step S41.

12. The I2C deadlock and recovery device according to claim 11 , wherein the processor, upon execution of the computer instructions, is further configured to:

when the faulty optical module is recovered to normal, S42 configure the optical module scanning in-place unit to update, in the optical module driver, a port number corresponding to the faulty optical module that is recovered to normal, and synchronize the update to the BMC.

13. A non-transitory computer-readable storage medium, storing a computer program that is executable by a processor, and upon execution by the processor, is configured to cause the processor to:

S1, provide an optical module reading unit and an optical module isolation unit in a central processing unit (CPU) of a switch;

S2, configure the optical module reading unit to periodically scan states of each optical module in the switch, read contents of in-place optical modules, and determine whether there is a faulty optical module in which a content reading failure occurs but a state of which is in place; and

S3, configure the optical module isolation unit to isolate all optical modules of the switch, reset an I2C bus, search for and block the faulty optical module, deactivate an isolation of normal optical modules in the switch after the faulty optical module is blocked off, and notify a Baseboard Management Controller (BMC) before and after the isolation of the optical modules, wherein the computer program, upon execution by the processor, is further configured to cause the processor to:

S31, configure the optical module isolation unit to mark all the optical modules as unreadable in an optical module driver to isolate all the optical modules;

S32, configure the optical module isolation unit to notify the BMC that there is an abnormal optical module, and reset an I2C data selector;

S33, configure the optical module isolation unit to iteratively read all ports of the switch, locate a reading failure port, and determine and record damage of an optical module corresponding to the reading failure port; and

S34, configure the optical module isolation unit to mark a faulty port number in the optical module driver, deactivate the isolation of the normal optical modules, and synchronously notify the BMC.

14. The non-transitory computer-readable storage medium according to claim 13 , wherein the computer program, upon execution by the processor, is further configured to cause the processor to:

S21, configure the optical module reading unit to periodically scan the states of each optical module in the switch, and obtain the in-place optical modules;

S22, configure the optical module reading unit to read the contents of the in-place optical modules in sequence, and determine whether the content reading failure occurs;

when the content reading failure occurs, enter step S23;

when the content reading failure does not occur, return to step S21; and

S23, configure the optical module reading unit to determine an existence of the faulty optical module, and enter step S3.

15. The non-transitory computer-readable storage medium according to claim 14 , wherein the optical module reading unit is configured to read the contents of the in-place optical modules in an Electrically-Erasable Programmable Read-Only Memory (EEPROM) and a Digital Optical Monitoring (DOM).

16. The non-transitory computer-readable storage medium according to claim 13 , wherein:

an optical module scanning in-place unit is further provided in the CPU of the switch; and

the computer program, upon execution by the processor, is further configured to cause the processor to:

after step S3, S4, configure the optical module scanning in-place unit to regularly detect whether the faulty optical module is recovered to normal, and deactivate the blocking of the faulty optical module after the faulty optical module is recovered to normal.

17. The non-transitory computer-readable storage medium according to claim 16 , wherein the computer program, upon execution by the processor, is further configured to cause the processor to:

S41, configure the optical module scanning in-place unit to regularly detect whether the faulty optical module is recovered to normal; and

when the faulty optical module has not recovered to normal, return to step S41.

Assignments (2)
LICENSE Recorded Jun 30, 2026
From: IEIT SYSTEMS CO., LTD
To: AIVRES SYSTEMS INC.
Reel/Frame 075857/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2023
From: ZHANG, ZHIBEI
To: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
Reel/Frame 062392/0403 →
Priority Claims (1)
CN 202010693810.5 · Jul 17, 2020 · national
Continuity (1)
Related Publication 20230281150A1 · Sep 7, 2023