SSD Snapshot Lookup Table Copying for Point-in-Time Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current flash-based solid state storage systems lack an efficient method for performing time copies or snapshots, which negatively impacts performance and is not effectively supported by existing technologies.
Innovation Solution
The implementation of additional lookup tables in flash-based solid state storage devices to enable point-in-time snapshots by retaining previous data copies and using redirect-on-write functionality for every write command, allowing for multiple snapshots without significant performance loss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional storage systems perform snapshots using copy-on-write or redirect-on-write, then snapshot functionality is provided, but performance is significantly impacted and multiple snapshots are not efficiently supported
Solution Approach 1:
The patent creates a copy of the entire lookup table to represent a snapshot state. When a snapshot is taken, the current lookup table is copied and stored as a snapshot lookup table, allowing multiple snapshots to be maintained simultaneously. This copying approach enables efficient snapshot creation without the performance penalties of traditional copy-on-write methods, as the copy operation can be performed asynchronously and does not block write operations.
Solution Approach 2:
The patent introduces an intermediary mechanism where the lookup table acts as a mediator between the host and the actual data storage. By manipulating the lookup table (copying, updating, redirecting), the system achieves snapshot functionality without directly copying or redirecting the actual data blocks. This intermediary approach decouples the snapshot operation from data movement, improving performance.
2Speed
If flash memory is used for solid state storage, then faster access and ruggedness are achieved, but the ability to perform arbitrary random-access rewrite or erase operations is limited
Solution Approach 1:
The patent segments the storage system into two distinct layers: the lookup table layer and the data storage layer. The lookup table is stored in a first portion of the solid state drive while data blocks are stored in a second portion. This segmentation allows the lookup table to be freely updated and copied (supporting snapshot operations) while the data blocks remain in the flash memory, which excels at read operations and sequential writes.
Solution Approach 2:
The patent adds a new dimension to the storage architecture by introducing the lookup table as a separate addressable entity. Instead of directly manipulating data blocks for snapshots, the system operates at the dimension of the lookup table, which maps logical addresses to physical locations. This dimensional shift allows snapshots to be created by copying lookup tables rather than data, bypassing the limitations of flash memory's write constraints.
3Reliability
If lookup tables are updated for every write command to maintain current view, then data integrity is maintained, but additional overhead is introduced
Solution Approach 1:
The patent implements self-service mechanisms where the solid state drive automatically maintains both the current view lookup table and snapshot lookup tables without external intervention. The system autonomously handles lookup table copying, updating, and management when snapshot operations are initiated, reducing the complexity burden on the host system and ensuring data integrity through automated consistency maintenance.
Data Source
Figure 1~2
Figure 3~4
Figure 5~6B
AI summary
A method and apparatus for taking a snapshot of a storage system employing a solid state disk (SSD). A plurality of mapping tables in the SSD store data needed to create a one or more point in time snapshots and a current view of the SSD. In response to a write command, the SSD executes its normal write process and updates its mapping tables to indicate the current view of the SSD and additionally retains the original data in a table of pointers to the original data, as the snapshot of an earlier state of the SSD. In the preferred embodiment, the innate ability of SSDs to write data to a new location is used to perform a point-in-time copy with little or no loss in performance in performing the snapshot.