Write Back Cache Allocation for Data Storage Subsystems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data storage systems face bottlenecks in caching write back data due to the stress of handling large volumes of data from multiple remote hosts, leading to performance issues and potential data loss during electrical power interruptions.
Innovation Solution
A data storage system with a non-volatile write back cache that utilizes the host processor to allocate cache locations and directs caching operations, mirroring data to a secondary cache before writing it to a non-volatile destination, allowing the subsystem controller to manage data storage efficiently and resiliently against power losses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If conventional data storage systems handle large volumes of data from multiple remote hosts, then data storage capacity increases, but system performance deteriorates due to bottlenecks in caching write back data
Solution Approach 1:
The system segments the caching operation into two distinct phases: (1) data write to the write back cache, and (2) data flush to the destination. By separating these operations, the system can accept data from multiple hosts without waiting for immediate flush completion, thereby increasing storage capacity while maintaining caching performance through parallel processing of write and flush operations.
Solution Approach 2:
The system performs preliminary action by writing data to the write back cache immediately upon receipt from hosts, before the flush operation completes. This allows the cache to be populated in advance, and the flush can occur asynchronously, enabling the system to handle larger data volumes without performance degradation.
2Reliability
If the system waits for data to be written to non-volatile destination before freeing cache location, then data integrity is improved, but latency increases
Solution Approach 1:
The system performs preliminary action by writing data to the non-volatile write back cache immediately, before the final flush to the destination completes. The cache location is freed as soon as the write to the cache is confirmed, not after the flush completes. This maintains data integrity through the non-volatile cache while reducing latency by allowing earlier cache reuse.
Solution Approach 2:
The non-volatile write back cache serves as a cushioning layer that protects against data loss during power interruptions or system failures. By having this intermediary non-volatile storage, the system can tolerate temporary uncommitted states without risking data loss, thereby reducing the need for strict synchronous flushing and lowering latency.
3Reliability
If the subsystem controller manages all caching operations, then data storage reliability is improved, but device complexity increases
Solution Approach 1:
The system enables self-service by allowing the host to manage its own write back cache directly, without requiring extensive intervention from the subsystem controller. The host allocates cache locations, writes data, and manages cache freeing operations independently. This reduces controller complexity while maintaining reliability through the non-volatile cache mechanism.
Solution Approach 2:
The non-volatile write back cache acts as an intermediary between the host and the final destination. This intermediary layer absorbs the complexity of data management, allowing the host to simply write to the cache without needing to coordinate complex flush operations with the controller, thereby reducing overall system complexity while maintaining reliability.
Data Source
AI summary
A data storage system can have one or more hosts connected to a data storage subsystem with the host having a host processor and the data storage subsystem having a controller. Write back data generated at the host triggers the host processor to allocate a cache location in the data storage subsystem where the generated data is subsequently stored. The generated write back data is written in a non-volatile destination address as directed by the controller prior to waiting for a secondary event with the generated data stored in both the cache location and the non-volatile destination address. Detection of the secondary event prompts the controller to signal the host processor that the cache location is free for new data.


