Storage Manager for Multi-File System Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The limitations of host file systems in non-volatile flash memory systems, such as limited feature sets and synchronization challenges when operating in parallel with specialized file systems, hinder efficient data access and storage operations.

Innovation Solution

A method and system that utilize a manager to coordinate data access between a first file system and a second file system, where the manager determines the necessary file system functions for write and read operations, ensuring synchronization of cached storage system indexes to prevent data corruption and optimize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a host file system and a specialized file system operate in parallel to provide comprehensive functionality, then the feature set is improved, but synchronization complexity increases

Engineering Contradiction:
Improvefeature setVSAvoidsynchronization complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A manager component is introduced as an intermediary between the host file system and the specialized file system. The manager receives file access requests, determines which file system should handle each request based on the operation type, and coordinates their actions. This mediator prevents direct conflicts between the two file systems while maintaining comprehensive functionality, as the manager serializes access and ensures proper synchronization without requiring complex direct interaction protocols between the file systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a specialized file system is added to overcome host file system limitations, then functionality is improved, but system complexity increases

Engineering Contradiction:
ImprovefunctionalityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The file system functionality is segmented into two distinct components: a host file system for general file operations and a specialized file system for specific operations (such as encryption or specialized storage protocols). Each file system maintains its own cached copy of the storage system index independently, allowing them to operate autonomously within their domains. The manager coordinates between these segmented components, reducing overall system complexity by allowing independent operation rather than requiring tight integration.

Inventive Principle:
Principle #1Segmentation

3Speed

If both file systems maintain cached copies of the storage system index, then access speed is improved, but data corruption risk increases

Engineering Contradiction:
Improveaccess speedVSAvoiddata corruption risk
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The manager implements a feedback mechanism where it monitors file access requests and determines which file system should update the storage system index based on the operation being performed. When one file system updates the index, the manager ensures the other file system's cached copy is either updated or invalidated accordingly. This feedback loop maintains consistency between the two cached copies, allowing both to maintain high access speed while preventing data corruption through coordinated updates.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10402313B2Method and system for accessing a storage system with multiple file systems
Publication Date: 2019.09.03 SANDISK TECHNOLOGIES LLC
  • US10402313B2 patent drawing
  • US10402313B2 patent drawing
  • US10402313B2 patent drawing

AI summary

In order to write data to a storage system accessible with a first and second file system, a manager receives a data write request associated with a file. The manager determines if a function supported by the second file system is needed to complete the write request. If so, the file is opened and extended with the first file system. The file is then opened and written to by the second file system. The file is truncated by the first file system, and closed by both file systems. If the second file system function is not needed, the file is opened, written, and closed by the first file system. In order to read data from a storage system using a function supported by the second file system, the second file system's cached storage system index is updated, and then the file is opened, read, and closed by the second file system.