Storage System Preserving Overwritten Data via Snapshot Space

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Valuable data stored in storage systems can be accidentally or intentionally overwritten, making recovery impossible if the system does not preserve overwritten data, particularly in cases of malicious attacks by ransomware or malware.

Innovation Solution

A storage system with a logical block address space comprising a user space and a snapshot space, where data is assigned to a snapshot logical block address upon overwrite, and the mapping is modified to associate physical addresses with snapshot logical block addresses, allowing for future rollback operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is overwritten in the storage system, then storage space is utilized efficiently, but the ability to recover original data is lost

Engineering Contradiction:
Improvestorage space utilizationVSAvoiddata recovery capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The logical block address space is segmented into user space and snapshot space. When data is overwritten, the original data is preserved in the snapshot space while the new data is written to the user space. This segmentation allows the system to maintain both storage efficiency and data recovery capability by separating current operational data from historical backup data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Before overwriting data in the user space, the system performs a preliminary action of copying the original data to the snapshot space. This preliminary preservation ensures that the original data is saved before being overwritten, enabling future rollback operations while maintaining efficient storage utilization.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a rollback feature backs up all data to a different storage system, then data recovery capability is improved, but device complexity increases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The snapshot space is merged with the existing storage system's logical block address space rather than requiring a separate storage system. This integration allows the rollback feature to be implemented within the same device, reducing system architecture complexity while maintaining data recovery capability. The mapping table manages both user space and snapshot space allocations unified within one system.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The storage system's logical block address space serves multiple functions: it acts as both the user space for current operations and the snapshot space for data preservation. This multi-functionality eliminates the need for separate backup storage systems, reducing device complexity while maintaining rollback capability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If software is used to identify and store change information in new files, then data recovery capability is improved, but device complexity and processing overhead increase

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidsoftware processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of using software to identify and store change information, the system directly copies the actual data blocks to the snapshot space when an overwrite operation is detected. This copying approach simplifies the process by eliminating the need for software-based change identification and file management, reducing processing overhead while maintaining data recovery capability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system replaces software-based change identification mechanisms with a hardware-level mapping table that automatically tracks data locations. This substitution eliminates complex software processing by using a streamlined mapping structure that directly records physical address associations, reducing both device complexity and processing overhead.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Reliability

If all data is backed up to preserve overwritten data, then data recovery capability is improved, but storage space utilization decreases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidstorage space utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of backing up all data uniformly, the system applies local quality by preserving only the specific data blocks that are about to be overwritten in the snapshot space. This selective preservation maintains data recovery capability for relevant data while avoiding the storage overhead of duplicating entire datasets, thus improving storage space utilization.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system discards the notion of preserving all data by maintaining only the necessary snapshot portions in the snapshot space. When rollback is needed, the system recovers only the specific overwritten data blocks from the snapshot space rather than restoring entire backup copies, optimizing storage space utilization while maintaining data recovery capability.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11880603B2Storage system and method for preserving overwritten data to allow a future rollback
Publication Date: 2024.01.23 SANDISK TECHNOLOGIES LLC
  • US11880603B2 patent drawing
  • US11880603B2 patent drawing
  • US11880603B2 patent drawing

AI summary

A storage system receives a command from a host to overwrite data that is stored in a memory of the storage system. The command may have been issued in error or by malware, so the storage system preserves the data that the host wants to overwrite, just in case the host later wants to recover the data. To do this, the storage system associates the physical address of the location of the memory that stores the data with a logical block address that is inaccessible by the host. To recover the data, the storage system replaces the logical block address that is inaccessible by the host with a logical block address that is accessible by the host.