Intel® Server System S7000FC4UR TPS
BMC Flash Update
The boot block area of the flash device is physically protected, either by the design of the flash
component or by address-line decoding and write-enable gating. A boot code protection jumper
enables updating the boot block. The firmware transfer code cannot sense the state of this
jumper, but if the jumper is not in the enabled position, boot block writes fail.
Operational code image updates overwrite the last-known-good operational code image.
25.1.2
On-line Firmware Update
In addition to immediate firmware transfer mode updates, the BMC supports online updates.
This feature allows a new BMC image to be copied into the inactive operational code bank while
the BMC continues to operate. The operational code bank is opposite the executing operational
bank. At the next system reset, the BMC hard-resets, verifies the new downloaded BMC image
through the boot code, and transfers control to and executes the new image if verification
succeeds. If the verification fails, the last known good operational code bank is automatically
selected for execution. This prevents an inoperable or degraded server.
The BMC can also save the previous firmware before updating with the new firmware. If the
update fails, then the BMC can roll back to the previous version. A manual roll back process is
also available.
Operational code, the platform information area (PIA), and the SDR firmware area can be
updated. Boot code updates are not permitted online because a failure during a boot code
update may leave the system permanently inoperable. Configuration settings are not updated or
rolled back. Any one or all of the supported firmware area types (operational, PIA, and SDR)
may be updated in one update operation.
The BMC switches between the new and old images by storing two operational code images,
one image per operational code bank, and selecting the appropriate images with a hardware-
assisted bank selection mechanism. The "staging image" consists of the inactive operational
code bank (the operational code bank opposite the executing operational bank). The "execution
image" and the "rollback image" are identical; they consist of the executing operational code
image.
Revision 1.0
287