Shadow Drives for SSD Trim Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Solid state drives (SSDs) face inefficiencies due to unused or underutilized storage space caused by the lack of support for trim commands in certain operating systems, which prevents the invalidation of previously used address spaces, leading to reduced scratch space and overall drive performance.
Innovation Solution
A storage processor is deployed to create shadow drives that allow for trim operations without explicit operating system support, enabling the invalidation of unused storage areas and optimizing scratch space usage by interpreting accesses to shadow drives as trim requests, thereby freeing up space for more efficient data management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If trim command is used to invalidate data in previously written address spaces, then available scratch space in SSD drive is increased and drive efficiency is improved, but this command is only supported by certain operating systems and file management systems
Solution Approach 1:
A storage processor is introduced as an intermediary device between the initiator and the SSD drive. The storage processor creates shadow drives that translate standard read/write commands into trim operations, enabling SSD efficiency improvements without requiring the initiator's operating system to support trim commands directly. This mediator approach allows trim functionality to be available across different operating systems.
Solution Approach 2:
The system creates shadow drives that are copies or virtual representations of the physical SSD drives. These shadow drives have the same address space and can be accessed using standard commands. When data is written to shadow drives, the storage processor translates these writes into trim commands for the corresponding physical drives, effectively copying the trim functionality to systems that don't natively support it.
2Speed
If a larger scratch storage area is reserved in SSD for remapping operations, then data block transfer speed is improved, but the available storage space for actual data is reduced
Solution Approach 1:
The system dynamically changes the state of storage blocks by using trim commands to invalidate and free up previously written data blocks. This allows the SSD to reclaim space that was previously allocated for data, making it available for scratch operations without permanently dedicating a fixed portion of the drive to scratch space. The parameter being changed is the availability status of storage blocks.
3Adaptability or versatility
If standard read and write operations are used without trim command support, then operating system compatibility is maintained, but unused storage space cannot be freed and scratch space is reduced
Solution Approach 1:
The storage processor acts as a mediator that translates standard read/write operations into trim operations. Applications and operating systems continue to use standard read/write commands for compatibility, while the storage processor intercepts these commands and translates writes to shadow drives as trim commands to the physical SSD, thereby freeing up space without requiring changes to the operating system or applications.
Data Source
AI summary
A storage processor is configured to identify a first disk drive and a second shadow drive associated with the first disk drive to an initiator. The storage processor receives storage commands from an initiator. When the storage commands access the first disk drive, the storage processor issues a first storage operation to the first disk drive. When the storage commands access the second shadow drive, the storage processor issues different storage operations to the first disk drive that are not supported by the initiator.


