A system and method for updating electronic files and file components are
provided. An upgrade client of a remote device receives a delta file
block that codes differences between an original and a new version of a
file. The upgrade client stores the delta file block in a first memory
area. The upgrade client writes an original file block corresponding to
the delta file block from an original memory area to a second memory
area. A file updating algorithm generates an updated file block in the
host device using the received delta file block and the original file
block. This updated file block corresponds to the original file block,
and is stored in a third memory area. The upgrade client updates the
original file block of the remote device by writing the updated file
block over the original file block in the original memory area of the
remote device.