System and method for detecting and updating non-volatile memory on an electronic adapter board installed in a computing system
First Claim
1. A system for updating a non-volatile programmable memory in a device, the system comprising, in combination:
- a memory image in the non-volatile programmable memory, the memory image comprising resident data to perform a plurality of device functions;
a device type identifier stored in the non-volatile programmable memory to identify the device as being one of a plurality of device types including an updated device type having an updated device type identifier, the memory image being an updated image when the device type identifier matches the updated device type identifier;
a copy of the updated image stored in a memory medium of the computing system;
a device driver stored in the memory medium of the computing system, the device driver operable to control the device when the memory image is the updated image;
a version manager having a device version detector for detecting whether the device type identifier matches the updated device type identifier; and
a memory image converter that stores the updated image in the non-volatile programmable memory when the device type identifier does not match the updated device type identifier.
5 Assignments
0 Petitions
Accused Products
Abstract
A system for updating a non-volatile programmable memory in a device in a computing system with little or no user intervention. During initialization, a device driver is initialized. During initialization, the device driver checks the device version and compares the device version with an expected, updated device version. If the device needs to be updated to operate with the device driver, a memory image of the non-volatile memory in the updated device version is downloaded, or programmed into the non-volatile memory of the device. Before the device version is checked, the user may be queried as to whether to proceed with the upgrade. If the user responds in the negative, the upgrade may be performed using a graphical user interface (GUI) configuration application. The GUI configuration application checks the device version and updates the non-volatile memory with the update device version.
-
Citations
26 Claims
-
1. A system for updating a non-volatile programmable memory in a device, the system comprising, in combination:
-
a memory image in the non-volatile programmable memory, the memory image comprising resident data to perform a plurality of device functions;
a device type identifier stored in the non-volatile programmable memory to identify the device as being one of a plurality of device types including an updated device type having an updated device type identifier, the memory image being an updated image when the device type identifier matches the updated device type identifier;
a copy of the updated image stored in a memory medium of the computing system;
a device driver stored in the memory medium of the computing system, the device driver operable to control the device when the memory image is the updated image;
a version manager having a device version detector for detecting whether the device type identifier matches the updated device type identifier; and
a memory image converter that stores the updated image in the non-volatile programmable memory when the device type identifier does not match the updated device type identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
the copy of the updated image is an internal image compiled in with the device driver; and
whereinthe memory image converter in the version manager incorporates the updated image by programming the updated image in the non-volatile memory.
-
-
8. The system as claimed in claim 1 wherein:
-
the copy of the updated image is an external image stored in a configuration file in the memory medium of the computing system; and
whereinthe memory image converter in the version manager is operable to incorporate the updated image by the memory image in the non-volatile memory to the external image in the configuration file and modifying the memory image to match the updated image.
-
-
9. The system as claimed in claim 1 further comprising:
a user interface having a user input for prompting the memory image converter to begin detecting whether the memory image is the updated image, the user interface displaying a plurality of configuration update results.
-
10. The system as claimed in claim 9 wherein the configuration update results include a status indicative of an updated status when the non-volatile memory includes an updated memory image version and an updated status when the non-volatile memory has been updated by the configuration update controller to include the updated memory image version.
-
11. The system as claimed in claim 9 wherein the configuration update results include a list identifying a plurality of updated portions of the memory image.
-
12. An improved device driver for controlling a device in a computing system, the device including a non-volatile programmable memory for storing a memory image, the memory image having device data, the device having a device version for identifying the device as being one of a plurality of versions including an updated device version, the memory image being an updated image when the device version matches the updated device version, the improvement comprising, in combination:
-
a copy of the updated image stored in a memory medium of the computing system, the copy of the updated image being accessible to the device driver;
a version manager having a device version detector for detecting whether the device version matches the updated device version; and
a memory image converter incorporating the updated image in the non-volatile programmable memory when the device version does not match the updated device version. - View Dependent Claims (13, 14, 15, 16, 17)
the copy of the updated image in the device driver is an internal image integral to the device driver; and
whereinthe memory image converter in the version manager incorporates the updated image by programming the updated image to the non-volatile memory.
-
-
14. The improvement of claim 12 wherein:
-
the copy of the updated image in the device driver is an external image stored in a configuration file; and
whereinthe memory image converter in the version manager is operable to incorporate the updated image by comparing the memory image in the non-volatile memory to the external image in the configuration file to modify the memory image.
-
-
15. The improvement of claim 12 further comprising:
a user interface having a user input for prompting the device version detector to begin detecting whether the device version is the updated device version, the user interface further comprising a user output for displaying a plurality of configuration update results.
-
16. The improvement of claim 15 wherein the configuration update results include a status indicative of an updated status when the non-volatile memory includes an updated image and an updated status when the non-volatile memory has been updated by the configuration update controller to include the updated image.
-
17. The improvement of claim 15 wherein the configuration update results include a list identifying a plurality of updated portions of the memory image.
-
18. A method for updating a memory image in a non-volatile programmable memory in a device, the method comprising the steps of:
-
initializing a device driver for controlling the device;
detecting a device version in the memory image to determine if the device version is an updated device version; and
updating the memory image in the non-volatile programmable memory to store the updated device version. - View Dependent Claims (19, 20, 21, 22, 23, 24)
prior to the step of detecting the memory image version, starting an initialization of the device driver for controlling the device; and
after the step of updating the memory image, completing the initialization of the device driver.
-
-
20. A method as claimed in claim 18 wherein the step of updating the memory image in the non-volatile programmable memory includes the step of programming an updated memory image from the device driver to the non-volatile programmable memory.
-
21. A method as claimed in claim 18 wherein the step of updating the memory image in the non-volatile programmable memory includes the steps of:
-
comparing the memory image in the non-volatile programmable memory with a configuration file;
determining portions of the memory image to update; and
updating selected portions of the memory image to generate the updated memory image.
-
-
22. A method as claimed in claim 18 wherein the step of detecting the device version in the memory image is performed after a step of prompting by a user starting a configuration application.
-
23. A method as claimed in claim 22 wherein the step of prompting by the user starting the configuration application comprises inputting an update command and wherein the step of inputting the update command is performed by the user executing the configuration application using a graphical user interface.
-
24. A machine readable medium having stored therein instructions for causing a central processing unit on a computing system to execute the method of claim 18.
-
25. A method for updating a memory image in a non-volatile programmable memory in a device in a computing system, the method comprising the steps of:
-
initializing a device driver for controlling the device, wherein during initialization of the device, requesting whether to update the device during initialization;
starting a configuration application for updating the memory image in the non-volatile memory;
detecting a device version in the memory image to determine if the device version is an updated device version;
updating the memory image in the non-volatile programmable memory to store the updated device version; and
controlling the device using the updated device version.
-
-
26. A method for updating a memory image in a non-volatile programmable memory in a device in a computing system, the method comprising the steps of:
-
starting a configuration application for updating the memory image in the non-volatile memory;
detecting a device version in the memory image to determine if the device version is an updated device version;
updating the memory image in the non-volatile programmable memory to store the updated device version by programming an updated memory image from a device driver to the non-volatile programmable memory; and
controlling the device using the updated device version.
-
Specification