Compressed Content Updating for Block-Based Non-Volatile Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for in-place updating of content stored in non-volatile storage devices are inefficient due to large update package sizes and risks associated with overwrite updates, and they fail to optimize write operations in storage devices with block-based structures, leading to issues like write-before-read conflicts and data corruption during interruptions.
Innovation Solution
A method that involves copying the original content to volatile memory, updating it uncompressed, compressing the updated content independently, and writing it back to the storage device in compressed form, using a protection buffer to manage conflicts and ensure reliable updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the complete updated version is provided in the update package, then the update process is simple, but the update package size becomes huge and transmission becomes cumbersome
Solution Approach 1:
The patent extracts only the necessary components for updating by using selective compression. Instead of transmitting the complete updated version, it transmits a compressed update package containing only the differences or specific blocks needed for the update, thereby reducing package size while maintaining update capability
Solution Approach 2:
The patent implements nested compression where compressed blocks are embedded within the update package structure. The update package contains compressed representations of updated content that can be selectively applied, creating a nested structure where the essential update information is contained within a compact format
2Productivity
If in-place update by overwriting is used, then the update process is efficient, but data corruption risk increases during interruptions
Solution Approach 1:
The patent performs preliminary actions by creating a compressed backup of the original content before overwriting. The compression process preserves the original data in a compact form, and this compressed version is stored safely before the overwrite operation begins, allowing recovery if interruption occurs
Solution Approach 2:
The patent introduces a compression buffer as an intermediary between the original content and the update process. This buffer holds the compressed original data, serving as a mediator that allows the update to proceed while maintaining a recoverable state, thus reducing direct risk to the original data
3Quantity of substance
If compressed content is updated in block-based storage, then storage efficiency is improved, but write-before-read conflicts occur
Solution Approach 1:
The patent segments the compressed content into independent blocks that can be updated separately. Each compressed block is treated as an independent unit that can be decompressed, updated, and recompressed without affecting other blocks, thereby avoiding write-before-read conflicts while maintaining storage efficiency
Solution Approach 2:
The patent applies local quality by allowing different compression and update operations on different blocks based on their specific characteristics. Each block can be independently managed with appropriate compression algorithms and update strategies, simplifying the overall process by localizing operations rather than requiring global coordination
4Quantity of substance
If the original version is deleted after successful update, then storage space is released, but the risk of accidental deletion increases
Solution Approach 1:
The patent creates a compressed copy of the original content that serves as a backup. Instead of directly deleting the original after update, the system maintains the compressed version as a safety copy, allowing verification of update success before permanent deletion, thus balancing space utilization with data safety
Data Source
AI summary
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.


