IP Library Granted Patent US 12,009,951
Granted Patent B2
US 12,009,951 · App. 17/186,897 · Granted Jun 11, 2024

Optimizing host / module interface

Inventors: Todd Rope (San Jose, CA); Ilya Lyubomirsky (Pleasanton, CA); Whay Sing Lee (San Jose, CA); Arash Farhoodfar (San Jose, CA)
Assignee: Marvell Asia Pte Ltd.
H04L25/03261G06N20/00H04B10/0795
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,009,951
App. No.
17/186,897
Granted
Jun 11, 2024
Kind
B2
Abstract

Embodiments address optimization of an electrical interface between an optical host device and an optical module device at installation time. Certain methods try each entry in a set of Finite Impulse Response (FIR) filter settings at the host transmitter, while asking the module to measure the signal integrity for each. The module will then provide an indication of which entry was the best choice for signal integrity in the current hardware configuration. Note that for the module to host electrical interface, this same technique can be used in reverse, whereby the host asks the module to configure its transmitting FIR filter, and the host records and keeps track of which filter setting is the best, and then configures the module with that filter setting. In both cases, for modules supporting CMIS (Common Management Interface Specification) for module configuration and control, methods are provided.

Claims (57)

1. A host device comprising:

a transmitter configured to transmit in-band signals on an in-band electrical interface from the first host device to an optical module, wherein the first host device communicates with a second host device over an optical medium via the optical module, wherein the communication includes transmission by the optical module of optical signals to the second host device, and wherein the optical signals are generated based on the in-band signals;

an out-of-band electrical interface configured to transmit first out-of-band messages from the first host device to the optical module, and receive second out-of-band messages from the optical module; and

an engine configured i) to perform a finite plurality of tests to select from a plurality of transmitter settings a resultant transmitter setting of the transmitter, each of the finite plurality of tests including the engine a) setting the transmitter to a respective one of the plurality of transmitter settings, b) transmitting via the out-of-band electrical interface a respective one of the first out-of-band messages to the optical module to tune the optical module for reception of a respective one of the in-band signals on the in-band electrical interface, and c) transmitting the respective one of the in-band signals via the transmitter to the optical module, the respective one of the first out-of-band messages including an indication of the respective one of the plurality of transmitter settings to test for a current one of the finite plurality of tests, ii) subsequent to performing the finite plurality of tests, receiving via the out-of-band electrical interface one of the second out-of-band messages including an indication of the resultant transmitter setting, the resultant transmitter setting providing a signal integrity value greater than other signal integrity values provided respectively by the other ones of the plurality of transmitter settings, and iii) in response to receiving the indication of the resultant transmitter setting, setting the transmitter to the resultant transmitter setting.

2. The first host device of claim 1 , wherein the engine is configured to, for each current one of the finite plurality of tests, transmit via the out-of-band electrical interface a respective one of the first out-of-band messages including at least one of i) an index value indicative of a respective one of the plurality of transmitter settings to test for the current one of the finite plurality of tests, and ii) the respective one of the plurality of transmitter settings to test for the current one of the finite plurality of tests.

3. The first host device of claim 2 , wherein the engine is configured to receive via the out-of-band electrical interface one of the index values as the indication of the resultant transmitter setting.

4. The first host device of claim 3 , wherein the one of the index values is a testing iteration number indicating a number of the one of the finite plurality of tests associated with the resultant transmitter setting.

5. The first host device of claim 1 , wherein the engine is configured, for each of the finite plurality of tests, to test a respective one or more filter parameters of the transmitter.

6. The first host device of claim 1 , wherein:

the transmitter comprises a finite impulse response filter; and

the engine is configured, for each of the finite plurality of tests, to test respective pre-cursor values and post cursor values of corresponding taps of the finite impulse response filter.

7. The first host device of claim 1 , wherein the engine is configured, for each of the finite plurality of tests, to test one or more amplitudes of the transmitter for transmission of a respective one of the in-band signals.

8. The first host device of claim 1 , wherein the engine is configured, for each respective one of the finite plurality of tests, to transmit via the transmitter a respective one of the first out-of-band messages from the first host device to the optical module, the respective one of the first out-of-band messages comprising an index value identifying the transmitter setting of the transmitter for the respective one of the finite plurality of tests being performed.

9. The first host device of claim 1 , wherein the engine is configured, for each respective one of the finite plurality of tests, to transmit via the transmitter a respective one of the first out-of-band messages from the first host device to the optical module, the respective one of the first out-of-band messages comprising the transmitter setting of the transmitter for the respective one of the finite plurality of tests being performed.

10. The first host device of claim 1 , wherein the engine is configured i) for each respective one of the finite plurality of tests, to transmit via the out-of-band electrical interface a respective index value from the first host device to the optical module identifying the respective one of the finite plurality of tests, ii) to receive via the out-of-band electrical interface and at completion of the finite plurality of tests, the one of the index values identifying the resultant transmitter setting of the transmitter, and iii) in response to receiving the one of the index values, to adjust one or more parameters of the transmitter according to one or more setting values corresponding to the one of the index values.

11. The first host device of claim 1 , wherein the engine is configured to i) transmit from the first host device to the optical module and via the out-of-band electrical interface a total number of transmitter settings to be tested, and, prior to each of the finite plurality of tests, an index value for a next one of the finite plurality of tests to be performed, ii) at completion of testing the total number of transmitter settings, to receive via the out-of-band electrical interface one of the index values for the resultant transmitter setting, and iii) in response to receiving the one of the index values for the resultant transmitter setting, to adjust one or more parameters of the transmitter according to one or more setting values associated with the one of the index values.

12. The first host device of claim 1 , wherein the engine is configured to i) transmit from the first host device to the optical module and via the out-of-band electrical interface a total number of transmitter settings to be tested, and, prior to each of the finite plurality of tests, a testing iteration number for a next one of the finite plurality of tests to be performed, ii) at completion of testing the total number of transmitter settings, to receive via the out-of-band electrical interface the testing iteration number indicative of the one of the finite plurality of tests associated with testing the resultant transmitter setting, and iii) in response to receiving the testing iteration number, to adjust one or more parameters of the transmitter according to one or more setting values associated with the resultant transmitter setting.

13. A communication system comprising:

the first host device of claim 1 ; and

the optical module transmitting data received from the first host device via the in-band electrical interface to another optical module via an optical interface.

14. An optical module comprising:

an out-of-band electrical interface configured to receive first out-of-band messages on an out-of-band electrical interface transmitted from a first host device to the optical module, and transmit second out-of-band messages from the optical module to the first host device;

a receiver configured to receive in-band signals on an in-band electrical interface transmitted from the first host device to the optical module, wherein the first host device communicates with a second host device over an optical medium via the optical module, wherein the communication includes transmission of optical signals from the optical module to the second host device, and wherein the optical signals are generated based on the in-band signals; and

an engine configured i) to perform a finite plurality of tests to select from a plurality of transmitter settings a resultant transmitter setting for a transmitter of the first host device, each of the finite plurality of tests including the engine a) receiving, via the receiver and on the out-of-band electrical interface, a respective one of the first out-of-band messages from the first host device to tune the optical module for reception of a respective one of the in-band signals on the in-band electrical interface, and b) receiving via the receiver the respective one of the in-band signals, the respective one of the first out-of-band messages including an indication of a respective one of the plurality of transmitter settings of the first host device to test for a current one of the finite plurality of tests, ii) subsequent to performing the finite plurality of tests, to determine the resultant transmitter setting provides a signal integrity value greater than other signal integrity values provided respectively by the other ones of the plurality of transmitter settings, and iii) to transmit via the out-of-band electrical interface one of the second out-of-band messages including an indication of the resultant transmitter setting.

15. The optical module of claim 14 , wherein the engine is configured to, for each current one of the finite plurality of tests, receive a respective one of the first out-of-band messages including at least one of a) an index value identifying a respective one of the plurality of transmitter settings of the first host device to test for a current one of the finite plurality of tests, and b) the respective one of the plurality of transmitter settings of the first host device to test for a current one of the finite plurality of tests.

16. The optical module of claim 15 , wherein the engine is configured to transmit via the out-of-band electrical interface the one of the index values of the one of the finite plurality of tests providing the signal integrity value greater than the other signal integrity values.

17. The optical module of claim 16 , wherein the one of the index values is a testing iteration number indicating a number of the one of the finite plurality of tests providing the signal integrity value greater than the other signal integrity values.

18. The optical module of claim 14 , further comprising:

a transmitter element configured to convert an electrical signal, received from the in-band electrical interface via the receiver, to an optical signal and to transmit the optical signal, the receiver of the optical module being tuned to the resultant transmitter setting of the transmitter of the first host device during reception of the electrical signal; and

a receiver element configured to receive another optical signal and to convert the another optical signal to another electrical signal for transmission to the first host device via the in-band electrical interface.

19. The optical module of claim 14 , wherein the engine is configured, for each respective one of the finite plurality of tests, to receive via the receiver a respective one of the first out-of-band messages from the first host device, the respective one of the first out-of-band messages comprising an index value identifying the transmitter setting of the transmitter for the respective one of the finite plurality of tests being performed.

20. The optical module of claim 14 , wherein the engine is configured, for each respective one of the finite plurality of tests, to receive via the receiver a respective one of the first out-of-band messages from the first host device, the respective one of the first out-of-band messages comprising the transmitter setting of the transmitter for the respective one of the finite plurality of tests being performed.

21. The optical module of claim 14 , wherein the engine is configured i) for each respective one of the finite plurality of tests, to receive a respective index value from the first host device identifying the respective one of the finite plurality of tests, ii) to transmit, at completion of the finite plurality of tests via the out-of-band electrical interface, the one of the index values identifying the transmitter setting of the transmitter of the first host device for the one of the finite plurality of tests providing the signal integrity value greater than the other signal integrity values.

22. The optical module of claim 14 , wherein the engine is configured to i) receive from the first host device and via the receiver a total number of transmitter settings of the first host device to be tested, and, prior to each of the finite plurality of tests, an index value for a next one of the finite plurality of tests to be performed, and ii) at completion of testing the total number of transmitter settings, to transmit via the out-of-band electrical interface the one of the index values for the resultant transmitter setting.

23. The optical module of claim 14 , wherein the engine is configured to i) receive from the first host device and via the receiver a total number of transmitter settings of the first host device to be tested, and, prior to each of the finite plurality of tests, a test iteration number for a next one of the finite plurality of tests to be performed, and ii) at completion of testing the total number of transmitter settings, to transmit via the out-of-band electrical interface the testing iteration number indicative of the one of the finite plurality of tests associated with testing the resultant transmitter setting.

24. A first host device comprising:

an out-of-band electrical interface configured to transmit a plurality of out-of-band messages from the first host device to an optical module;

a receiver configured to receive a plurality of in-band signals on an in-band electrical interface from the optical module, wherein the first host device communicates with a second host device over an optical medium via the optical module, wherein the communication includes reception of optical signals from the second host device at the optical module, and wherein the plurality of in-band signals are generated based on the optical signals; and

an engine configured i) to perform a finite plurality of tests to select from a plurality of transmitter settings a resultant transmitter setting of a transmitter of the optical module, each of the finite plurality of tests including the engine a) selecting a respective one of the plurality of transmitter settings to test and transmitting, via the out-of-band electrical interface, a respective one of the plurality of out-of-band messages to the optical module to set the transmitter of the optical module for transmission of a respective one of the plurality of in-band signals on the in-band electrical interface, the respective one of the plurality of out-of-band messages including an indication identifying the respective one of the plurality of transmitter settings for a current one of the finite plurality of tests, b) receiving via the receiver the one of the plurality of in-band signals, and c) determining a signal integrity value of the one of the plurality of in-band signals, ii) based on the signal integrity values of the finite plurality of tests, to determine the resultant transmitter setting providing a signal integrity value greater than other signal integrity values provided respectively by the other ones of the plurality of transmitter settings, and iii) signaling the optical module via the out-of-band electrical interface to set the transmitter of the optical module to the resultant transmitter setting.

25. The first host device of claim 24 , wherein the engine is configured, for each current one of the finite plurality of tests, to transmit the respective one of the out-of-band messages including at least one of a) an index value identifying a respective one of the plurality of transmitter settings to test for the current one of the finite plurality of tests, and b) the respective one of the plurality of transmitter settings to test for the current one of the finite plurality of tests.

26. The first host device of claim 24 , wherein the engine is configured, for each of the finite plurality of tests, to tune the receiver to receive a respective one of the plurality of in-band signals, and determine the signal integrity value of the respective one of the plurality of in-band signals.

27. The first host device of claim 24 , wherein the engine is configured, subsequent to determining the resultant transmitter setting, to send one of the plurality of out-of-band messages to the optical module to set the transmitter of the optical module according to the resultant transmitter setting.

28. An optical module comprising:

an out-of-band electrical interface configured to receive a plurality of out-of-band messages transmitted from a first host device to the optical module;

a transmitter configured to transmit a plurality of in-band signals on an in-band electrical interface to the first host device, wherein the first host device communicates with a second host device over an optical medium via the optical module, wherein the communication includes reception of optical signals from the second host device at the optical module, and wherein the plurality of in-band signals are generated based on the optical signals; and

an engine configured i) to perform a finite plurality of tests to select from a plurality of transmitter settings a resultant transmitter setting of the transmitter, each of the finite plurality of tests including the engine a) receiving, via the out-of-band electrical interface, one of the plurality of out-of-band messages from the first host device to set the transmitter for transmission of one of the plurality of in-band signals on the in-band electrical interface, the one of the out-of-band messages including an indication of a respective one of the plurality of transmitter settings to test for a current one of the finite plurality of tests, b) transmitting via the transmitter the one of the plurality of in-band signals, and c) determining a signal integrity value of the one of the plurality of in-band signals, ii) based on the signal integrity values of the finite plurality of tests, to determine the resultant transmitter setting provides a signal integrity value greater than other signal integrity values provided respectively by other ones of the transmitter settings of the transmitter, and iii) set the transmitter to the resultant transmitter setting.

29. The optical module of claim 28 , wherein the engine is configured to, for each current one of the finite plurality of tests, receive a respective one of the out-of-band messages including at least one of a) an index value identifying a respective one of the plurality of transmitter settings to test for the current one of the finite plurality of tests, and b) the respective one of the plurality of transmitter settings to test for the current one of the finite plurality of tests.

30. The optical module of claim 28 , further comprising:

a transmitter element configured to convert an electrical signal, received from the in-band electrical interface via the receiver, to an optical signal and to transmit the optical signal, the receiver of the optical module being tuned to the resultant transmitter setting of the transmitter of the first host device during reception of the electrical signal; and

a receiver element configured to receive another optical signal and to convert the another optical signal to another electrical signal for transmission to the first host device via the in-band electrical interface.

31. The optical module of claim 28 , wherein the engine is configured, for each of the finite plurality of tests, to test a respective one or more filter parameters of the transmitter.

32. The optical module of claim 28 , wherein:

the transmitter comprises a finite impulse response filter; and

the engine is configured, for each of the finite plurality of tests, to test respective pre-cursor values and post cursor values of corresponding taps of the finite impulse response filter.

33. The optical module of claim 28 , wherein the engine is configured, for each of the finite plurality of tests, to test one or more amplitudes of the transmitter.

34. The optical module of claim 28 , wherein the engine is configured, for each respective one of the finite plurality of tests, to receive via the out-of-band electrical interface a respective out-of-band message from the first host device, the respective out-of-band message comprising an index value identifying the transmitter setting of the transmitter of the optical module for the respective one of the finite plurality of tests being performed.

35. The optical module of claim 28 , wherein the engine is configured, for each respective one of the finite plurality of tests, to receive via the out-of-band electrical interface a respective out-of-band message from the first host device, the respective out-of-band message comprising the transmitter setting of the transmitter of the optical module for the respective one of the finite plurality of tests being performed.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2021
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE LTD.
Reel/Frame 057336/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2021
From: MARVELL TECHNOLOGY CAYMAN I
To: CAVIUM INTERNATIONAL
Reel/Frame 057279/0519 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2021
From: INPHI CORPORATION
To: MARVELL TECHNOLOGY CAYMAN I
Reel/Frame 056649/0823 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2021
From: ROPE, TODD; LYUBOMIRSKY, ILYA; LEE, WHAY SING; FARHOODFAR, ARASH
To: INPHI CORPORATION
Reel/Frame 055449/0302 →