Storage Controller Routing for Hybrid Drive Write Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Enterprise storage systems face challenges in efficiently writing data across different types of storage devices, such as mechanical and solid-state drives, due to varying address translation mechanisms and storage capacities, which affect performance and wear leveling.
Innovation Solution
A storage array controller selectively routes write requests to either a first type of storage device that performs internal address translation or a second type that does not, based on strategic location selection and memory layout, using a selection module to optimize performance and wear leveling by choosing the most suitable device for each request.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is written to mechanical disk drives with internal address translation, then wear leveling is improved, but write latency increases
Solution Approach 1:
The storage system is segmented into two distinct storage device types: mechanical disk drives that perform internal address translation for wear leveling, and solid-state drives that do not perform address translation for faster write operations. The controller divides incoming write requests and routes them to appropriate device types based on data characteristics and system state.
Solution Approach 2:
A storage controller acts as an intermediary between the host system and the heterogeneous storage devices. It manages the complex address translation and data routing logic, selecting which type of storage device receives each write request based on performance requirements and wear leveling considerations.
2Loss of time
If data is written to solid-state drives without internal address translation, then write latency is reduced, but wear leveling deteriorates
Solution Approach 1:
Different quality characteristics are assigned to different storage device types: solid-state drives provide high-speed local write performance for performance-critical data, while mechanical disk drives provide superior wear leveling for data requiring long-term retention and durability.
Solution Approach 2:
The system changes the parameter of address translation capability across different storage device types. Solid-state drives operate without address translation for speed, while mechanical disk drives employ address translation for wear leveling, and the controller dynamically selects between them based on requirements.
3Productivity
If a hybrid storage system uses multiple types of storage devices, then performance and wear leveling are improved, but device complexity increases
Solution Approach 1:
The storage controller is designed with multi-functionality to handle both types of storage devices and their different operational characteristics through a unified interface. It can manage mechanical disk drives with address translation and solid-state drives without address translation using the same control logic.
Solution Approach 2:
Each storage device type serves itself according to its inherent capabilities: mechanical disk drives automatically perform address translation for wear leveling, while solid-state drives directly write data without address translation, allowing the system to leverage the natural strengths of each device type.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Writing data in a storage system that includes a first type of storage device and a second type of storage device, including: selecting, for one or more unprocessed write requests, a target storage device type from the first type of storage device and the second type of storage device; issuing a first group of write requests to the first type of storage device, the first group of write requests addressed to one or more locations selected in dependence upon an expected address translation to be performed by the first type of storage device; and issuing a second group of write requests to the second type of storage device, the second group of write requests addressed to one or more locations selected in dependence upon a layout of memory in the second type of storage device.