Encrypted File System Buffer Decoupling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Encrypted file systems face inefficiencies due to the time-consuming process of encrypting data before storing it on nonvolatile storage, leading to decreased performance for software applications waiting for encrypted data to be written.
Innovation Solution
A method where a software application writes data to a first buffer, requests the encrypted file system to save it, and then continues writing to the buffer while the encrypted data is stored in a second buffer before being written to nonvolatile storage, allowing the application to resume operations without waiting for the encryption process to complete.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the software application waits for the encrypted file system to encrypt and store data before proceeding, then data security is maintained, but system efficiency and productivity decrease
Solution Approach 1:
The system performs preliminary actions by writing data to a first buffer before encryption is complete. The application can continue writing to the buffer while encryption proceeds in the background, allowing productive work to begin before the security-critical encryption operation finishes.
Solution Approach 2:
A buffer mechanism serves as an intermediary between the application and the encryption process. The buffer decouples the application's write operations from the encryption and storage operations, allowing them to proceed independently without blocking each other.
2Reliability
If the software application waits for encrypted data to be fully written to nonvolatile storage, then data integrity is ensured, but time loss increases
Solution Approach 1:
The system allows preliminary writes to the buffer before encryption and storage are complete. Applications can prepare and queue data for storage without waiting for the time-consuming encryption and write operations to finish, significantly reducing waiting time while maintaining integrity through the locking mechanism.
Solution Approach 2:
The application's useful action (writing data) continues without interruption. By allowing writes to proceed to the buffer while encryption and storage happen in parallel, the system maintains continuous productive action rather than forcing sequential execution with idle waiting periods.
3Reliability
If the first buffer is locked after requesting encryption to prevent additional data writes, then data consistency is maintained, but application productivity decreases
Solution Approach 1:
The buffer is locked only for the specific data being encrypted, not for the entire buffer. This allows preliminary and subsequent writes to other portions of the buffer to proceed simultaneously, maintaining data consistency for the encrypted portion while preserving application throughput for other data.
Solution Approach 2:
The locking mechanism applies locally only to the specific buffer region containing data being encrypted, rather than globally locking the entire buffer. This localized approach maintains data consistency where needed while allowing other parts of the buffer to be written to concurrently, improving overall application productivity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An approach for improving input/output control and efficiency in an encrypted file system (EFS) is provided. In this approach, a software application writes data to a first buffer and then requests that an encrypted file system save the data onto a nonvolatile storage device. The encrypted file system encrypts the data and stores the encrypted data in a second buffer and then writes the encrypted data from the second buffer to the nonvolatile storage area. Meanwhile, the software application is able to resume writing additional data to the buffer after the data has been copied to the second buffer even if the data has not yet been written to the nonvolatile storage area