In-Place Storage Update via Differential Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for in-place updating of content in non-volatile storage devices face challenges such as large update package sizes, risk of data corruption during interruptions, and inefficiencies due to write-before-read conflicts, leading to unreliable and time-consuming update processes.

Innovation Solution

The method involves generating an update package that uses a protection buffer to store original content segments, allowing for efficient updating by minimizing the size of the update package and reducing write-before-read conflicts, while ensuring data integrity and reliability through strategic sequencing of update operations.

Engineering Contradictions & Design Principles

VSEngineering 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

Engineering Contradiction:
Improveupdate process simplicityVSAvoidupdate package size
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary portions of the updated version that differ from the original version, creating a compact update package containing only the differential data rather than the complete updated version. This reduces the update package size while maintaining update functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the update process into multiple phases: reading the original version, applying updates to generate the updated version, and then writing back only the necessary changes. This segmentation allows for efficient update application without requiring transmission of the complete updated version.

Inventive Principle:
Principle #1Segmentation

2Productivity

If original content is overwritten with updated content directly, then the update process is efficient, but data corruption risk increases during interruptions

Engineering Contradiction:
Improveupdate process efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary reading of the original version content before overwriting, storing it in a buffer. This preliminary action ensures that if an interruption occurs during the write process, the original data can be restored, thus maintaining data integrity while preserving update efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a buffer mechanism that acts as a cushion against data loss. By buffering the original content before overwriting, the system prepares a safety net that prevents data corruption if the update process is interrupted, thereby enhancing reliability without significantly impacting productivity.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Speed

If update operations are performed without sequencing, then the process is fast, but write-before-read conflicts cause reliability issues

Engineering Contradiction:
Improveupdate operation speedVSAvoidupdate reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements a sequencing mechanism that provides feedback about the state of update operations. By tracking which blocks have been read and which are being updated, the system can dynamically adjust the update sequence to avoid write-before-read conflicts, ensuring reliability while maintaining efficient update speed through intelligent scheduling.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP1934727B1Method and system for in-place updating content stored in a storage device
Publication Date: 2019.01.16 RED BEND LTD
  • EP1934727B1 patent drawingFigure 1
  • EP1934727B1 patent drawingFigure 2A~2B
  • EP1934727B1 patent drawingFigure 2C~2D

AI summary

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. Wherein at least part of content of each one of n (n>1) blocks of the original version are modified in the updated version. The non-volatile storage device includs 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.