FAT32 Data Transfer Optimization via Virtual Sparse File Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Portable devices with FAT32 file systems experience slow data transfer rates when receiving data from a host computer, as Direct Memory Access (DMA) is ineffective due to FAT32's inability to support direct sparse file creation, leading to significant overhead in initializing memory blocks.

Innovation Solution

A method and system that allocate memory blocks on an external device with a FAT32 file system, indexing them to create a file footprint without initializing memory locations, allowing for high-speed data transfer using DMA by overloading existing kernel system calls like read(), ioctl(), and fallocate(), without modifying the kernel or introducing new system calls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If Direct Memory Access (DMA) is used to speed up data transfer, then data transfer rate is improved, but it is ineffective on FAT32 because FAT32 does not support direct sparse file creation

Engineering Contradiction:
Improvedata transfer rateVSAvoidcompatibility with FAT32 file system
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a file system layer as an intermediary between the DMA subsystem and the FAT32 file system. This intermediary translates DMA's sparse file requirements into FAT32-compatible operations by creating a virtual sparse file representation that maps to actual FAT32 file structures, enabling DMA to function on FAT32 without modifying the core file system

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter representation of file allocation by introducing a mapping structure that translates sparse file parameters (logical block addresses) into FAT32-compatible parameters (cluster chains). This parameter transformation allows DMA operations to proceed with FAT32's allocation semantics while maintaining the performance benefits of sparse file handling

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If indirect sparse file creation is used in FAT32, then compatibility is maintained, but writing zeros to pre-allocated memory blocks imposes major overhead before data transfer

Engineering Contradiction:
Improvecompatibility with FAT32 file systemVSAvoidtime for memory initialization
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary allocation of memory blocks and creation of the file footprint structure before actual data transfer begins. By pre-configuring the mapping between logical sparse file blocks and physical FAT32 clusters, the system eliminates the need for zero-initialization during the transfer process, as the allocation metadata is prepared in advance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the time-consuming zero-initialization step from the data transfer process by using FAT32's allocation tables to track used and unused blocks. The system separates the allocation metadata management from the actual data writing, allowing DMA to transfer data directly to pre-identified free blocks without processor intervention for initialization

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If conventional data transfer procedures are used, then FAT32 compatibility is maintained, but data transfer rate is slow for large data sets

Engineering Contradiction:
Improvecompatibility with FAT32 file systemVSAvoiddata transfer rate
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces dynamic allocation and mapping mechanisms that adapt to the specific characteristics of each data transfer operation. The file footprint structure dynamically maps logical data blocks to physical storage locations based on actual transfer needs, allowing the system to optimize each transfer operation while maintaining FAT32 compatibility

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8990181B2Method and system for transferring data between a host device and an external device
Publication Date: 2015.03.24 MICROCHIP TECHNOLOGY INC
  • US8990181B2 patent drawing
  • US8990181B2 patent drawing
  • US8990181B2 patent drawing

AI summary

A method for transferring data between a host device and an external device is described. The external device has FAT32 file system. The method accepts parameters for an incoming data file from the host device. Further, the method allocates memory blocks for the incoming file data on the external device based on the parameters and indexes the allocated memory blocks on a memory index table to create a file footprint. The method reads the memory index table to identify the file footprint and receives the incoming file data from the host device.