Kernel Filter Driver for Non-Disruptive Data Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data migration techniques are labor-intensive, error-prone, and disruptive to applications, requiring manual intervention and causing downtime, which limits their ability to maintain data integrity during the process.
Innovation Solution
A computer-implemented method using a filter driver in the kernel to clone application writes to both source and target storage devices, allowing for non-disruptive migration by detecting and handling write failures, suspending writes during host restarts, and ensuring data integrity through metadata management and state transitions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional data migration techniques are used, then data can be migrated from source to target storage device, but applications must be taken offline causing loss of productivity and increased downtime
Solution Approach 1:
The patent enables continuous data migration during application operation by implementing write cloning that duplicates writes to both source and target devices simultaneously. This allows the migration process to continue without interrupting application execution, maintaining both data integrity and productivity throughout the transition.
Solution Approach 2:
The patent introduces a filter driver as an intermediary component between the application and storage devices. This driver intercepts write operations, clones them to both source and target devices, and manages the migration process transparently, enabling seamless data transfer without application downtime.
2Reliability
If manual data migration steps are performed, then data can be transferred between storage systems, but the process becomes labor-intensive and error-prone
Solution Approach 1:
The patent implements self-service migration through automated detection and handling of write failures. The system automatically detects when a write operation fails on one device and redirects subsequent writes to the other device without manual intervention, reducing labor requirements and human error while maintaining data integrity.
Solution Approach 2:
The patent employs feedback mechanisms where the filter driver monitors write operation outcomes and uses this information to dynamically adjust migration behavior. When write failures are detected, the system feedbacks by switching the migration direction or marking devices as faulty, automating the migration management process.
3Productivity
If write cloning is enabled during migration, then applications can continue running without downtime, but write failures may occur affecting data integrity
Solution Approach 1:
The patent applies beforehand cushioning by implementing fault detection and recovery mechanisms that prepare for potential write failures. The system monitors write operations continuously and has pre-established protocols to redirect writes or mark devices as faulty if failures occur, cushioning against data integrity issues while maintaining continuous operation.
Solution Approach 2:
The patent treats storage devices as disposable in the context of migration failures. When a device is marked as faulty due to repeated write failures, the system can quickly switch to the other device without complex recovery procedures, accepting that individual device failures are expected and manageable in the migration process.
Data Source
AI summary
Systems and methods are provided for maintaining data integrity in the event of device write failures during a non-disruptive migration. In one embodiment, a computer-implemented method is provided. According to the method, a filter driver in a kernel may clone an application write to both a source storage device and a target storage device. The method may detect whether the cloned application write to the source storage device or the cloned application write to target storage device failed. When the cloned application write to the source storage device or the cloned application write to target storage device failed, the method may allow application reads from only one of the source storage device and the target storage device thereafter.


