IP Library Granted Patent US 8,250,246
Granted Patent B2
US 8,250,246 · App. 12/170,046 · Granted Aug 21, 2012

Loading and executing firmware module without resetting operation

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 8,250,246
App. No.
12/170,046
Granted
Aug 21, 2012
Kind
B2
Abstract

A host communicates a firmware module to an electronic device utilizing a data communication interface (e.g., I 2 C). The host may also communicate a set of values representing information associated with execution of the firmware module to the electronic device. The host may utilize commands and/or flags to execute the firmware module at the electronic device. The electronic device executes the firmware module without resetting/suspending an ongoing execution of the electronic device. In some embodiments, the electronic device collects data upon execution of the firmware module. The collected data may be stored to a particular location of the electronic device and retrieved later by the host, or returned directly to the host.

Claims (39)

1. A method of a host device loading a firmware module in an optoelectronic device, the method comprising:

the optoelectronic device detecting an error condition in the optoelectronic device;

the host device communicating the firmware module to the optoelectronic device, including an optical transmitter and an optical receiver, through a data communication interface of the optoelectronic device, the firmware module being loadable and executable without resetting or suspending an ongoing execution of runtime code in the optoelectronic device, the firmware module including a firmware update for performing a debugging operation on the optoelectronic device in order to determine the cause of the error condition in the optoelectronic module; and

the host device communicating an execution command, a flag value, or a combination thereof that initiates execution of the firmware module to the optoelectronic device through the data communication interface.

2. The method of claim 1 , wherein the firmware module includes a dynamically allocated complete linked code set or a portion of a code set.

3. The method of claim 1 , further comprising, prior to communicating the firmware module to the optoelectronic device, configuring at least a portion of the firmware module based on a user input received through an editor or graphical user interface.

4. The method of claim 1 , further comprising, prior to communicating the firmware module to the optoelectronic device:

dividing the firmware module into a plurality of portions; and

configuring one or more of the plurality of portions to implement an update feature in the firmware module.

5. The method of claim 1 , wherein the data communication interface includes an inter-integrated circuit (I 2 C) communication interface.

6. A method of executing an updated firmware in an optoelectronic device, the method comprising:

the optoelectronic device detecting an error condition in the optoelectronic device;

the optoelectronic device, including an optical transmitter and an optical receiver, receiving from a host device an updated portion of the firmware and data associated with the updated portion, the updated portion of the firmware including a firmware update for performing a debugging operation on the optoelectronic device in order to determine the cause of the error condition in the optoelectronic module; and

executing the updated firmware based at least in part on the received data without interrupting an ongoing execution of runtime code in the optoelectronic device,

wherein the data associated with the updated portion of the firmware includes an execution command, a flag value, or a combination thereof that initiates execution of the updated firmware.

7. The method of claim 6 , further comprising, storing the updated portion and the data associated with the updated portion in a reserved storage space of the optoelectronic device.

8. The method of claim 6 , further comprising, after executing the updated firmware based at least in part on the received data, storing output data associated with the execution of the updated firmware in the optoelectronic device or communicating output data associated with the execution of the updated firmware to the host device.

9. The method of claim 6 , wherein the updated portion includes configuration, control information, or a combination thereof associated with the firmware.

10. A method of a host device updating a firmware module in an optoelectronic device, the method comprising:

the optoelectronic device detecting an error condition in the optoelectronic device;

the host device configuring one or more configurable portions of the firmware module, the one or more configurable portions defining one or more parameters for one or more executable portions of the firmware module, the one or more configurable portions of the firmware including a firmware update for performing a debugging operation on the optoelectronic device in order to determine the cause of the error condition in the optoelectronic module;

the host device transmitting to the optoelectronic device, including an optical transmitter and an optical receiver, through a data communication interface:

the one or more configured portions;

and one or more execution commands, flag values, or a combination thereof that initiate execution of the firmware module, the firmware module being executable without suspending an ongoing execution of runtime code in the optoelectronic device.

11. The method as in claim 10 , wherein configuring the one or more configurable portions of the firmware module includes receiving input from a user through an editor or graphical user interface (GUI).

12. The method as in claim 10 , wherein the one or more flag values indicate when to end execution of the firmware module.

13. The method as in claim 10 , wherein transmitting the one or more configured portions comprises associating one or more identification tags with the one or more configured portions.

14. The method of claim 10 , wherein the one or more parameters defined by the one or more configured portions of the firmware module include one or more of:

one or more components within the optoelectronic device to be monitored by the optoelectronic device;

information to be saved by the optoelectronic device;

a location for saving information;

whether information is to be gathered by the optoelectronic device periodically or in response to one or more events; and

if information is to be gather periodically, the frequency of the information gathering.

15. The method of claim 1 , wherein the firmware module, when executed, causes a control module on the optoelectronic device to monitor a component of the optoelectronic device and to log debug data associated with the monitored component.

16. The method of claim 1 , wherein a host device communicates the execution command, the flag value, or the combination thereof to the optoelectronic device in order for the host device to directly control the initiation or end of the execution of the firmware module in the optoelectronic device.

17. The method of claim 6 , wherein the host device communicates the execution command, the flag value, or the combination thereof to the optoelectronic device in order for the host device to directly control the timing of the initiation or end of the execution of the updated firmware in the optoelectronic device.

18. The method of claim 1 , wherein a data path of the host device communicating the firmware module, the execution command, the flag value, or a combination thereof to the optoelectronic device overlaps with a data path of the host device communicating data to the transmitter.

19. The method of claim 6 , wherein the host device comprises a mobile communication device that communicates with the optoelectronic device over a wireless link.

20. The method of claim 10 , wherein the data communication interface comprises a wireless link.

Assignments (5)
PATENT RELEASE AND REASSIGNMENT Recorded Jul 5, 2022
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: II-VI INCORPORATED; MARLOW INDUSTRIES, INC.; EPIWORKS, INC.; LIGHTSMYTH TECHNOLOGIES, INC.; KAILIGHT PHOTONICS, INC.; COADNA PHOTONICS, INC.; OPTIUM CORPORATION; FINISAR CORPORATION; II-VI OPTICAL SYSTEMS, INC.; M CUBED TECHNOLOGIES, INC.; II-VI PHOTONICS (US), INC.; II-VI DELAWARE, INC.; II-VI OPTOELECTRONIC DEVICES, INC.; PHOTOP TECHNOLOGIES, INC.
Reel/Frame 060574/0001 →
SECURITY INTEREST Recorded Jul 1, 2022
From: II-VI INCORPORATED; II-VI DELAWARE, INC.; M CUBED TECHNOLOGIES, INC.; II-VI PHOTONICS (US), INC.; PHOTOP TECHNOLOGIES, INC.; COHERENT, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 060562/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2020
From: FINISAR CORPORATION
To: II-VI DELAWARE, INC.
Reel/Frame 052286/0001 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Sep 25, 2019
From: II-VI INCORPORATED; MARLOW INDUSTRIES, INC.; EPIWORKS, INC.; LIGHTSMYTH TECHNOLOGIES, INC.; KAILIGHT PHOTONICS, INC.; COADNA PHOTONICS, INC.; OPTIUM CORPORATION; FINISAR CORPORATION; II-VI OPTICAL SYSTEMS, INC.; M CUBED TECHNOLOGIES, INC.; II-VI PHOTONICS (US), INC.; II-VI DELAWARE, INC.; II-VI OPTOELECTRONIC DEVICES, INC.; PHOTOP TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050484/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2008
From: BROCKMANN, MARK D.; HOSKING, LUCY G.; NOBLE, GAYLE L.
To: FINISAR CORPORATION
Reel/Frame 021298/0216 →