Method and system for updating content stored in a storage device
First Claim
1. 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).
7 Assignments
0 Petitions
Accused Products
Abstract
Method and system for in-place updating original content of an original version stored in a non-volatile storage device and for yielding updated content of an updated version. At least part of content of each one of n (n>1) blocks of the original version is modified in the updated version. The non-volatile storage device includes blocks. The method includes obtaining an update package. It also includes performing m block storage operations, wherein each block storage operation includes writing content to a block in the non-volatile storage device. The block storage operations include update block storage operations storing updated content of the updated version in the non-volatile storage device, while the updated content is generated in accordance with at least the update package, wherein 2<=m<2n.
-
Citations
11 Claims
-
1. 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). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 11)
-
-
10. An apparatus for reliably in-place updating an original version of content, comprising:
-
a non-volatile storage device for storing the original version of content; an obtain module for obtaining an update package having instructions to update n (n>
1) blocks of original content of said original version of content stored in said non-volatile storage device according to an update sequence of said n blocks;an update module coupled to said obtain module for updating said n blocks of original content in accordance with the update package while performing m instances of storing a block size of content to the non-volatile storage device, 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 the 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).
-
Specification