Key-Value SSDs Eliminate File System Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional data storage systems incur inefficiencies due to the need for an additional file system layer, leading to increased memory and processor overheads, overprovisioning, and higher write amplification in resource-limited environments, as they do not natively support key-value interfaces.
Innovation Solution
A distributed data storage system utilizing key-value solid-state drives (SSDs) that directly store data as key-value pairs, eliminating the need for a file system layer by using SSDs with block identifiers as keys and block data as values, optimized for block-level parallelism and simplified flash translation layer management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a file system layer is added to provide key-value interface on top of traditional storage devices, then key-value storage functionality is achieved, but memory overhead and processor overhead increase
Solution Approach 1:
The patent extracts and removes the file system layer from the storage architecture. Instead of having a traditional storage device with a file system layer providing key-value interface, the invention uses a key-value storage device that natively supports key-value operations, eliminating the intermediate file system layer and its associated memory and processor overheads
Solution Approach 2:
The patent eliminates the file system as an intermediary layer between the storage device and the key-value interface. By using a storage device that natively supports key-value operations, the intermediary file system layer is removed, directly connecting the storage hardware to the key-value interface requirements
2Adaptability or versatility
If a file system layer is used to provide key-value interface, then key-value storage is enabled, but write amplification increases
Solution Approach 1:
The patent removes the file system layer that causes write amplification. By using a key-value storage device with native key-value support, the patent eliminates the additional write operations required by file system abstractions, directly reducing write amplification and associated energy loss
3Adaptability or versatility
If a file system layer is implemented on storage devices, then key-value interface is provided, but device complexity increases
Solution Approach 1:
The patent extracts and removes the complex file system software layer from the storage architecture. By using a key-value storage device that natively supports key-value operations, the patent simplifies the overall system by eliminating the file system abstraction layer and its associated complexity
Solution Approach 2:
The key-value storage device provides its own native key-value interface without requiring an external file system layer. The storage device serves itself by implementing key-value functionality directly in hardware or firmware, eliminating the need for complex software abstractions
4Quantity of substance
If traditional storage devices with file systems are used, then data storage is achieved, but resource utilization efficiency decreases
Solution Approach 1:
The patent removes the file system layer that reduces resource utilization efficiency. By using key-value storage devices with native key-value support, the patent eliminates the overhead associated with file system management, improving CPU utilization and overall resource efficiency while maintaining data storage capacity
Solution Approach 2:
The patent changes the interface parameters from traditional file system operations to native key-value operations. This parameter change enables more efficient resource utilization by matching the storage device capabilities directly with the access patterns required, improving productivity without sacrificing storage capacity
Data Source
AI summary
A solid-state drive (SSD) includes: a plurality of data blocks; a plurality of flash channels and a plurality of ways to access the plurality of data blocks; and an SSD controller that configures a block size of the plurality of data blocks. A data file is stored in the SSD with one or more key-values pairs, and each key-value pair has a block identifier as a key and a block data as a value. A size of the data file is equal to the block size or a multiple of the block size.


