Non-Volatile Memory Pre-Update Method
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for updating content in non-volatile storage devices are inefficient due to large update package sizes, risk of data corruption during in-place updates, and difficulty in reversing updates, leading to storage consumption and bandwidth issues, as well as challenges with write before read conflicts and reliability.
Innovation Solution
A method and system that utilize a pre-update process to prepare results in an auxiliary memory area, allowing for an in-place update of content in a non-volatile memory storage device, which reduces the size of the update package and ensures reliability by storing results in an auxiliary memory area before performing the update, thereby minimizing write before read conflicts and enabling efficient updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If the complete updated version is transmitted in the update package, then the update process is simple, but the update package size becomes huge and storage consumption increases
Solution Approach 1:
The patent extracts only the necessary update commands from the complete updated version and transmits them in the update package, rather than transmitting the entire updated version. This reduces the update package size while maintaining the ability to perform in-place updates of the original content.
2Quantity of substance
If in-place update is performed by overwriting original content, then storage consumption is reduced, but data corruption risk increases during update interruption
Solution Approach 1:
The patent performs preliminary actions by first transmitting and storing the update package containing update commands before executing the in-place update. The update commands are prepared in advance with knowledge of the original content structure, enabling safe in-place modification without requiring full backup storage, thus reducing storage consumption while maintaining reliability.
3Quantity of substance
If update package size is reduced by including only differences, then transmission bandwidth is optimized, but update process complexity increases
Solution Approach 1:
The patent changes the parameter representation by encoding update commands in a compact format that captures the essential modifications needed. Instead of transmitting full content differences, the update package contains optimized commands that specify what changes to apply to the original content, reducing package size while keeping the update process manageable through standardized command structures.
4Reliability
If device is shut down during in-place update, then update reliability is improved, but downtime increases
Solution Approach 1:
The patent performs preliminary actions by transmitting and validating the update package while the device is operational. The actual in-place update can then be executed with minimal interruption since the update commands are already prepared and the original content is intact. This approach maintains reliability by ensuring update validity before execution while minimizing downtime through efficient update command processing.
5Productivity
If write before read conflicts occur during update, then update speed is improved, but data integrity is compromised
Solution Approach 1:
The patent segments the update process into distinct phases: transmission phase (while device is operational) and execution phase (in-place update). The update package is segmented into individual update commands that can be processed sequentially or in controlled parallel, reducing write-before-read conflicts. Each command is designed to modify specific portions of the original content without interfering with reads of other portions, maintaining data integrity while preserving update speed.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Method of updating an original version of content to a new version of content, in a non-volatile memory storage device, the method includes: providing a non-volatile content memory storage area arranged to accommodate a full version of content; providing an auxiliary memory area; performing, while at least part of the content memory storage area is not being updated, at least one pre-update operation corresponding to at least one in-place update operation applicable, in an in-place update, on the part of the content memory storage area; storing, while at least part of the content memory storage area is not being updated, at least one result of the performed at least one pre-update operation, on the auxiliary memory area; and performing an in-place update of the at least part of the content memory storage area utilizing the at least one result stored on the auxiliary memory area.