Patent ID: 8561049

Claim:
A method for reliably in-place updating an original version of content in a non-volatile storage device, comprising: obtaining an update package having a sequence of instructions to update n (n>1) blocks of original content to updated content according to an update sequence of said n blocks; updating said n blocks of original content in accordance with the update package; performing, while updating said n blocks of original content, m instances of storing a block size of content to the non-volatile memory, including storing at least one first block size of content to a non-volatile protection buffer, wherein the original content is divided into segments, and content of one or more segments of the original content that is not required further in the update sequence is not stored in said non-volatile protection buffer, resulting in m instances of copying a block size being (i) greater than one and (ii) less than 2n blocks (1<m<2n).