In-Place Content Update via Backup Buffer for Non-Volatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for updating content in storage devices face inefficiencies due to storage limitations, write before read conflicts, and reliability issues during the update process, particularly in non-volatile memory where complete block rewriting is often necessary, and interruptions can lead to corrupted data.
Innovation Solution
A method and system for in-place updating that uses a backup buffer to store updated content before overwriting the original, allowing for efficient updates by minimizing write operations and ensuring reliability through a two-phase commit protocol, and by avoiding duplication of procedures required for both update and normal device operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a mini operating system is used to manage updates in non-volatile memory, then update reliability and conflict resolution are improved, but device complexity and storage requirements increase
Solution Approach 1:
The patent extracts the update management functionality from a full mini operating system, separating only the essential update coordination tasks. The update agent operates as a simplified process that directly manages backup buffers and write operations without requiring a complete OS environment, thus reducing complexity while maintaining reliability.
Solution Approach 2:
The patent introduces a backup buffer as an intermediary mechanism between the update agent and non-volatile memory. This backup buffer serves as a temporary storage area that resolves write-before-read conflicts and ensures reliable updates without requiring complex OS-level coordination, thereby simplifying the system architecture.
2Reliability
If complete block rewriting is performed in non-volatile memory, then data reliability is ensured, but write operations increase and productivity decreases
Solution Approach 1:
The patent segments the memory update process into two distinct phases: a backup phase where updated data is written to a backup buffer, and a commit phase where the backup buffer is transferred to non-volatile memory. This segmentation allows partial updates without requiring complete block rewriting, reducing write operations while maintaining data reliability through the backup mechanism.
3Device complexity
If update operations are performed without a backup mechanism, then device complexity is reduced, but write before read conflicts occur and reliability deteriorates
Solution Approach 1:
The patent implements preliminary action by first writing updated data to a backup buffer before performing the actual write operation in non-volatile memory. This preliminary backup step prevents write-before-read conflicts by ensuring that the original data is preserved until the update is fully committed, thereby improving reliability without requiring complex conflict resolution mechanisms.
4Reliability
If procedures are duplicated for both update and normal operations, then update reliability is improved, but storage consumption increases
Solution Approach 1:
The patent implements multi-functionality by designing the backup buffer to serve multiple purposes: it acts as a temporary storage area during updates, a safety mechanism for rollback operations, and a conflict resolution buffer. This universal component eliminates the need for separate dedicated procedures for update and normal operations, reducing storage consumption while maintaining reliability.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of in-place updating an original version of content to an updated version of content, in a non-volatile memory storage device, wherein the storage device comprises a non-paged part of the content, wherein the non-paged memory part includes an original update library, and wherein the storage device is being used in a normal mode of operation or in an update mode of operation, the method includes: obtaining an update package required for updating the original version of content to the updated version of content; obtaining a new update library; storing the new update library in a second non-volatile storage; and updating the original version of content to the updated version of content, in a non-volatile memory storage device, using the at least new update library and the update package.