Storage System Preserving Overwritten Data via Snapshot Space
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If a rollback feature backs up all data to a different storage system, then data recovery capability is improved, but device complexity increases
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.
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.
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
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.
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.
4Reliability
If all data is backed up to preserve overwritten data, then data recovery capability is improved, but storage space utilization decreases
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.
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.
Data Source
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.


