Updating flash memory
AssigneeInternational Business Machines Corporation
InventorSreekrishnan Venkiteswaran
Life of this patent
Estimating the term…
Abstract
Embedded devices typically have an operating system, one or more file-systems, as well as a bootloader and other data components resident in flash memory. During software development and testing, there is frequently a need to selectively update a combination of such images. The described technique organizes the images in the flash memory such that one can speed up the update process by eliminating relocation of existing images. A command-driven update mechanism provides a flexible process—eg, one can upload the images back to a host, one can update the update code itself, etc. A start handshake is used that enables auto-detection of the embedded serial port that is used for the update.
Claims38
A method of selectively updating, with corresponding replacement images, any combination of one or more images of a plurality of binary images recorded on a memory medium having a plurality of contiguous memory sectors that are erased before being rewritten, the method comprising the steps of:
- determining whether an updating operation is to be performed;
- determining memory addresses of the memory medium at which a corresponding replacement image can be recorded;
- erasing said determined memory addresses;
- and
- writing said corresponding replacement image to the determined memory addresses of the memory medium.
An update logic image recorded on a memory medium for selectively updating, with corresponding replacement images, any combination of one or more images of a plurality of binary images recorded on the memory medium having a plurality of contiguous memory sectors that are erased before being rewritten, the update logic image comprising:
- code means for determining whether an updating operation is to be performed;
- code means for determining memory addresses of the memory medium at which a corresponding replacement image can be recorded;
- code means for erasing said determined memory addresses;
- and
- code means for writing said corresponding replacement image to the determined memory addresses of the memory medium.
A memory medium for selectively updating, with corresponding replacement images, any combination of images of a plurality of binary images recorded on the memory medium having a plurality of contiguous memory sectors that are erased before being rewritten, the memory medium comprising:
- one or more binary images recorded on the memory medium;
- update logic recorded on the memory medium, the update logic comprising:
- code means for determining whether an updating operation is to be performed;
- code means for determining memory addresses of the memory medium at which said corresponding replacement image can be recorded;
- code means for erasing said determined memory addresses;
- and
- code means for writing said corresponding replacement image to the determined memory addresses of the memory medium.
A method of selectively updating one of a plurality of binary images recorded on a memory medium, the method comprising the steps of:
- providing an update logic image recorded on a memory medium;
- executing the update logic image when one of the recorded images is to be updated;
- and
- replacing a selected image with a corresponding replacement image transmitted to the memory medium.
A method of initiating communications with an update logic image stored on a memory medium of an embedded device having one or more ports for external communication, the method comprising the steps of:
- transmitting an initial signal to an external host resident program with which the update logic image can communicate through the one or more ports of the embedded device;
- receiving from the external host resident program an acknowledgment signal indicating that the external host resident program received the initial signal through one of the one or more ports of the embedded device;
- and
- transmitting a response signal to the external host resident program, in response to the acknowledgment signal, the response signal identifying the port through which the acknowledgment signal was received from the external host resident program.
An update logic image recorded on a memory medium of an embedded device having one or more ports for external communication, the update logic image comprising code means for performing the steps of:
- transmitting an initial signal to an external host resident program with which the update logic can communicate through the one or more ports of the embedded device;
- receiving from the external host resident program an acknowledgment signal indicating that the external host resident program received the initial signal through one of the one or more ports of the embedded device;
- and
- transmitting a response signal to the external host resident program, in response to the acknowledgment signal, the response signal identifying the port through which the acknowledgment signal was received from the external host resident program.
A memory medium of an embedded device having one or more ports for external communication and on which is stored an update logic image, the update logic image comprising code means for performing the steps of:
- transmitting an initial signal to an external host resident program with which the update logic can communicate through the one or more ports of the embedded device;
- receiving from the external host resident program an acknowledgment signal indicating that the external host resident program received the initial signal through one of the ports of the embedded device;
- and
- transmitting a response signal to the external host resident program, in response to the acknowledgment signal, the response signal identifying the port through which the acknowledgment signal was received from the external host resident program.
A memory medium having a plurality of memory sectors that are erased before being rewritten, the memory medium comprising a plurality of binary images stored in the memory medium, wherein an update logic image can facilitate erasure and replacement of any combination of said plurality of binary images.
Dependencies are inferred from the claim text.