Adaptive File System Flushing for Energy Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current file systems for non-PC devices, such as smartphones and tablets, face challenges in energy efficiency and responsiveness due to traditional design limitations, leading to high energy depletion and non-responsive applications.

Innovation Solution

A file system with adaptive flushing policies that utilize large-scale caching in RAM to reduce data written to persistent storage, determining flushing based on application access patterns and device states, and employing a multi-priority scheduling mechanism to ensure fairness and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If traditional file system flushing is used in non-PC devices, then data durability is maintained, but energy consumption increases and application responsiveness decreases

Engineering Contradiction:
Improveenergy consumptionVSAvoiddata durability
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The patent implements dynamic flushing policies that adapt to device state (idle vs. active) and application characteristics (write-intensive vs. read-intensive). The system transitions between different flushing behaviors based on real-time conditions, using aggressive flushing when idle to ensure durability, and deferred flushing when active to conserve energy and maintain responsiveness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes flushing parameters such as threshold values, timing intervals, and priority levels based on device state and application type. For example, it adjusts the amount of data to flush, the timing of flush operations, and the priority given to different applications' data, thereby optimizing the balance between energy consumption and data durability.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If traditional file system flushing is used in non-PC devices, then data durability is maintained, but application responsiveness decreases

Engineering Contradiction:
Improveapplication responsivenessVSAvoiddata durability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts flushing behavior based on device state. When the device is in an active state with user interactions, the system defers flushing operations to maintain application responsiveness. When the device transitions to an idle state, the system performs aggressive flushing to ensure data durability, thus dynamically balancing responsiveness and reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary assessments of device state and application characteristics before executing flush operations. It predicts suitable flushing intervals based on historical data and current state, preparing flush operations in advance during idle periods so that they do not impact application responsiveness when the device is active.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If large-scale caching in RAM is used, then the amount of data to be flushed is reduced and application wait time is reduced, but memory usage increases

Engineering Contradiction:
Improveapplication wait timeVSAvoidmemory usage
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system changes memory management parameters such as cache size thresholds, eviction policies, and retention durations based on device state and application characteristics. For write-intensive applications during idle periods, it increases cache retention to reduce flush frequency. For read-intensive applications or during active periods, it adjusts cache parameters to balance memory usage and responsiveness.

Inventive Principle:
Principle #35Parameter changes

4Use of energy by moving object

If adaptive flushing policies are implemented, then energy efficiency and responsiveness are improved, but system complexity increases

Engineering Contradiction:
Improveenergy efficiencyVSAvoidsystem complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent segments the file system into multiple components with specialized functions: a flushing module that manages flush operations, a policy module that determines flushing behavior, a state monitoring module that tracks device state, and an application characterization module that analyzes application patterns. This segmentation allows each component to be optimized independently while working together to achieve energy efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements feedback mechanisms where the state monitoring module continuously observes device state and application behavior, and this information feeds back to the policy module and flushing module to dynamically adjust flushing decisions. This closed-loop feedback enables the system to adapt to changing conditions without requiring complex manual configuration.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3180700B1Flushing in file system
Publication Date: 2020.03.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3180700B1 patent drawingFigure 1~2
  • EP3180700B1 patent drawingFigure 3~4
  • EP3180700B1 patent drawingFigure 5~6

AI summary

The subject matter described herein relates to a file system with adaptive flushing for an electronic device. The file system keeps data in memory much longer and its policy for flushing in-memory write cache to storage is application-aware and adaptive. More specifically, what parts of the cached data are ready for flushing could be determined according to the access characteristic of an application. In addition, when to do flushing can be selected flexibly at least partly based on user input interactions with an application of the electronic device or with the electronic device. Further, a multi-priority scheduling mechanism for scheduling data units that are ready to be flushed could be employed, which ensures fairness among applications and further improves flushing performance.