Methods and systems for updating content including a compressed version
First Claim
1. A method for in-place updating of an original version of content stored in a non-volatile storage device with storage blocks to yield an updated version of content, the method comprising:
- obtaining an update package;
copying said original version or part thereof to a volatile memory;
updating, in accordance with said update package, said original version or part thereof to provide an uncompressed updated version or part thereof in the volatile memory;
compressing said uncompressed updated version or part thereof by independently compressing virtual blocks of uncompressed updated content such that all content of a virtual block when compressed, is substantially equal in size to and fits into one storage block; and
writing said compressed updated version or part thereof in place of said original version or part thereof in said non-volatile storage device, each independently compressed virtual block being written to a separate storage block.
7 Assignments
0 Petitions
Accused Products
Abstract
An original version of content is in-place updated to an updated version in a non-volatile storage device including blocks, by obtaining an update package, copying the original version to volatile memory, and updating the original version to provide an uncompressed updated version. The methods may also include compressing the uncompressed updated version so as to independently or interdependently compress each amount of uncompressed updated content and writing the compressed updated version in place of the original version in the storage device. Each of the independently compressed amounts may be written to a separate storage blocks.
-
Citations
41 Claims
-
1. A method for in-place updating of an original version of content stored in a non-volatile storage device with storage blocks to yield an updated version of content, the method comprising:
-
obtaining an update package; copying said original version or part thereof to a volatile memory; updating, in accordance with said update package, said original version or part thereof to provide an uncompressed updated version or part thereof in the volatile memory; compressing said uncompressed updated version or part thereof by independently compressing virtual blocks of uncompressed updated content such that all content of a virtual block when compressed, is substantially equal in size to and fits into one storage block; and writing said compressed updated version or part thereof in place of said original version or part thereof in said non-volatile storage device, each independently compressed virtual block being written to a separate storage block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for generating an update package for in place updating of an original version of content stored in a non-volatile storage device with storage blocks to yield an updated version of content, the method comprising:
-
decompressing into virtual blocks any of said original and updated versions which comprise separate storage blocks for each independently compressed content; determining if any data of said original version will be required for at least one transforming command, wherein said at least one transforming command uses content of said origin version to generate updated content; and if any data of said original version is determined to be required for at least one transforming command, simulating protection by storing a copy of said determined data required for performing transforming commands in a protection buffer, so that said copy of said determined data of said original version exists upon updating said original version and modifying said determined data. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A method for in-place updating of an original version of content stored in a non-volatile storage device with storage blocks to yield an updated version of content, the method comprising:
-
obtaining an update package including transforming commands that use content of said original version to generate updated content; copying said original version to a volatile memory, wherein if said original version includes content in more than one storage block which was compressed interdependently, then said copying includes decompressing said original version into the volatile memory and protecting at least some content which is required for decompressing said original version; updating the original version to provide an uncompressed updated version; and copying said updated version back to the non-volatile storage device in place of the original version wherein if said updated version is to be stored compressed where blocks are compressed interdependently, then said copying includes protecting at least some content which is required for decompressing said updated version and compressing interdependently updated blocks; wherein at least one of said original version and said updated version includes content in more than one storage block which was compressed interdependently. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for generating an update package for in place updating of an original version of content stored in a non-volatile storage device with storage blocks to yield an updated version of content, the method comprising:
-
obtaining uncompressed old and uncompressed new versions of content; obtaining dependencies between storage blocks of any of old and new versions resulting from (i) any of a plurality of transforming commands that use content of said original version to generate updated content and (ii) decompression of one or both versions; and if any data of said original version is determined to be required for any of the plurality of transforming commands, simulating protection in a protection buffer by storing a copy of said determined data of said original version required for performing any of the plurality transforming commands and decompressing one or both versions. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
-
35. An apparatus for in-place updating of an original version of content stored in a non-volatile storage device with storage blocks to yield an updated version of content, comprising:
-
a volatile memory; a receiver configured to obtain an update package including transforming commands that use content of said original version to generate updated content; an update module configured to (i) copy said original version in said non-volatile storage device to said volatile memory and (ii) update said original version to provide said updated content; and a compression module configured to compress said updated version by; (i) interdependently compressing uncompressed virtual blocks of said updated version, each of which corresponding to more than one storage block in said non-volatile storage device, protecting at least some content of said original version determined to be required for at least one transforming command, and by storing a copy of said determined data in a protection buffer, or (ii) independently compressing each virtual block of uncompressed updated content such that all content of a virtual block, when compressed, is substantially equal in size to and fits into one storage block, wherein said update module is also configured to write said compressed updated version in place of said original version in said non-volatile storage device.
-
-
36. An apparatus for generating an update package for in place updating of an original version of content stored in a non-volatile storage device with storage blocks to yield an updated version of content, comprising:
-
a decompression module configured to determine a correspondence between each storage block and an uncompressed virtual block and to determine decompression dependencies between blocks or configured to determine a correspondence between each storage block and an uncompressed virtual block which, when independently compressed, (i) substantially equals a size of and fits into one storage block; a processor for (i) generating an update package and (ii) if any data of said original version is determined to be required for performing any one of a plurality of transforming commands, simulating protection by storing a copy of said determined data in a protection buffer, such that said copy of said determined data of said original version exists upon updating said determined data.
-
-
37. A computer program product comprising a non-transitory computer useable medium having computer readable program code embodied therein for in-place updating of an original version of content stored in a non-volatile storage device with storage blocks to yield an updated version of content, the computer program product including a computer readable program code for causing the computer to:
-
obtain an update package; copy said original version or part thereof to a volatile memory; update said original version or part thereof to provide an uncompressed updated version including virtual blocks; compress said uncompressed updated version by independently compressing each virtual block of uncompressed updated content such that all content of a virtual block when compressed, is substantially equal in size to and fits into one storage block; and write said compressed updated version in place of said original version or part thereof in said non-volatile storage device, each independently compressed virtual block being written to a separate storage block.
-
-
38. A computer program product comprising a non-transitory computer useable medium having computer readable program code embodied therein for generating an update package for in place updating of an original version of content stored in a non-volatile storage device with storage blocks to yield an updated version of content, the computer program product including computer readable program code for causing the computer to:
-
decompress into virtual blocks any of said original and updated versions which comprise separate storage blocks for each independently compressed content; determine if any data of said original version is required for at least one transforming command; and if any data is determined to be required for at least one transforming command, simulating protection in a protection buffer by storing a copy of said determined data so that said copy of said determined data of said original version exists upon updating said original version. - View Dependent Claims (39)
-
-
40. A computer program product comprising a non-transitory computer useable medium having computer readable program code embodied therein for in-place updating of an original version of content stored in a non-volatile storage device with storage blocks to yield an updated version of content, the computer program product comprising computer readable program code for causing the computer to:
-
obtain an update package including transforming commands that uses content of said original version to generate updated content; copy said original version to a volatile memory, wherein if said original version includes content in more than one storage block which was compressed interdependently, then said copying includes decompressing said original version into the volatile memory and protecting at least some content which is required for decompressing said original version; computer readable program code for causing the computer to update the original version to provide an uncompressed updated version; and computer readable program code for causing the computer to copy said updated version back to the non-volatile storage device in place of the original version wherein if said updated version is to be stored compressed where blocks are compressed interdependently, then said copying includes protecting at least some content which is required for decompressing said updated version and compressing interdependently updated blocks; wherein at least one of said original version and said updated version includes content in more than one storage block which was compressed interdependently.
-
-
41. A computer program product comprising a non-transitory computer useable medium having computer readable program code embodied therein for generating an update package for in place updating of an original version of content stored in a non-volatile storage device with storage blocks to yield an updated version of content, the computer program product comprising computer readable program code for causing the computer to:
-
obtain uncompressed old and uncompressed new versions of content; obtain dependencies between storage blocks of any of old and new versions resulting from (i) any of a plurality of transforming commands that uses content of said original version to generate updated content and (ii) decompression of one or both versions; and if any data of said original version is determined to be required for any of the plurality of transforming commands, simulating protection by storing, in a protection buffer, a copy of said determined data of said original version required for performing any of the plurality of transforming commands, so that said copy of said determined data of said original version exists upon updating said original version.
-
Specification