Directory-Level Storage Management for Direct-Mapped Flash Writes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional storage systems face inefficiencies in managing data storage operations, particularly in flash storage systems, where lower-level storage controllers perform processes that can lead to unnecessary write operations and reduced reliability.
Innovation Solution
A direct-mapped flash storage system where higher-level operating systems initiate and control data block operations directly, eliminating the need for address translation by lower-level storage controllers, and utilize non-volatile RAM for faster data buffering and power management to enhance reliability and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If lower-level storage controllers perform address translation and data block operations, then storage operations can be managed autonomously, but redundant write operations occur and reliability decreases
Solution Approach 1:
The patent extracts the address translation function from the storage controller and relocates it to the operating system. The storage controller is reduced to merely executing direct commands from the OS, eliminating its autonomous address translation capability that caused redundant writes. This extraction resolves the contradiction by removing the harmful autonomous management while preserving reliability.
Solution Approach 2:
The patent inverts the traditional control hierarchy by having the operating system (higher level) directly control storage operations instead of the storage controller (lower level) autonomously managing them. This inversion eliminates the reliability issues caused by controller-level address translation while maintaining efficient storage management through OS-level control.
2Device complexity
If traditional storage controllers manage data blocks, then storage operations are simplified, but unnecessary write operations increase and efficiency decreases
Solution Approach 1:
The patent extracts the address translation logic from the storage controller and places it in the operating system. This eliminates the controller's ability to generate redundant write operations, directly improving storage operation efficiency while simplifying the controller's function to mere command execution.
Solution Approach 2:
The operating system performs address translation and storage management functions that were previously handled by the storage controller. This self-service approach at the OS level eliminates unnecessary write operations and improves overall storage efficiency by ensuring that address translation and data writing are coordinated.
3Extent of automation
If address translation is performed by storage controllers, then storage operations can proceed autonomously, but data integrity during power failures is compromised
Solution Approach 1:
The patent implements preliminary action by having the operating system complete address translation and prepare data blocks before issuing write commands to the storage controller. This ensures that all address translation is finalized before the actual write operation, preventing data integrity issues during power failures while maintaining autonomous storage hardware operation.
Solution Approach 2:
The operating system acts as an intermediary between the application layer and the storage controller. It performs address translation and coordinates write operations, ensuring that storage operations are atomic and consistent. This intermediary role protects against power failure vulnerabilities by ensuring that address translation and data writing are properly coordinated.
Data Source
AI summary
An illustrative storage system may detect a command to create a directory within the file system, determine that the command satisfies one or more criteria, execute the command by creating the directory within the file system, and automatically generate, based on the determining that the command satisfies the one or more criteria, a managed entity associated with the directory. In some situations, the managed entity may be usable by a storage management system to provide storage management functionality to a dataset of the directory.


