Method and system for upgrading software in a computing device
AssigneeNVIDIA Corporation
InventorsRatin Kumar, Charles T. Inman
Life of this patent
Estimating the term…
Abstract
A method and system for upgrading a software component in a computing device are disclosed. Specifically, one embodiment of the present invention sets forth a method, which includes the steps of storing a first software component in a first memory segment, maintaining a second software component in a second memory segment, wherein the second software component enables the computing device to boot up, and modifying at least one of a plurality of address lines to access the second memory segment after exiting a reset condition, if the execution of the first software component fails to satisfy a predetermined test condition.
Claims20
A method for upgrading a software component on a computing device, the method comprising:
- storing a first software component in a first memory segment;
- maintaining a second software component in a second memory segment, different from the first memory segment, wherein the second software component enables the computing device to boot up;
- while continuing to store both the first software component in the first memory segment and the second software component in the second memory segment, modifying one or more address lines to access at least a portion of the second software component in the second memory segment after exiting a reset condition, when the execution of the first software component fails to satisfy a predetermined test condition;
- asserting a recovery mode flag and a first reset signal after failing to satisfy the predetermined test condition;
- fetching a reset vector from the first memory segment in response to the assertion of the first reset signal;
- and
- modifying the reset vector and placing a relocated address in the second memory segment on the one or more address lines in response to the assertion of the recovery mode flag.
A non-transitory computer-readable medium containing a sequence of instructions, which when executed by a processing unit in a computing device, causes the computing device to:
- store a first software component in a first memory segment;
- maintain a second software component in a second memory segment, different from the first memory segment, wherein the second software component enables the computing device to boot up;
- while continuing to store both the first software component in the first memory segment and the second software component in the second memory segment, modify one or more address lines to access at least a portion of the second software component in the second memory segment after exiting a reset condition, when the execution of the first software component fails to satisfy a predetermined test condition;
- assert a recovery mode flag and a first reset signal after failing to satisfy the predetermined test condition;
- fetch a reset vector from the first memory segment in response to the assertion of the first reset signal;
- and
- modify the reset vector and placing a relocated address in the second memory segment on the one or more address lines in response to the assertion of the recovery mode flag.
A computing device configured to perform an upgrade of a software component, the computing device comprising:
- a processing unit,
- a writeable memory system;
- a watchdog timer;
- a system memory;
- and
- an address modifier unit,
- wherein the processing unit is configured to:
- store a first software component in a first memory segment of the writeable memory system,
- maintain a second software component in a second memory segment of the writeable memory system, different from the first memory segment of the writeable memory system, wherein the second software component enables the computing device to boot up, and
- while continuing to store both the first software component in the first memory segment and the second software component in the second memory segment, activate the watchdog timer, wherein the watchdog timer triggers the address modifier unit to modify one or more address lines to access at least a portion of the second software component in the second memory segment after exiting a reset condition, when the execution of the first software component fails to timely reset the watchdog timer,
- wherein the watchdog timer is configured to assert a recovery mode flag and a first reset signal after failing to be timely reset;
- wherein the processing unit is configured to fetch a reset vector from the first memory segment in response to the assertion of the first reset signal;
- and
- wherein the address modifier unit is configured to modify the reset vector and places a relocated address in the second memory segment on the one or more address lines in response to the assertion of the recovery mode flag.
Dependencies are inferred from the claim text.