Spatially Coupled Journaling for SSD Trim Persistence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional solid state drives (SSDs) lack flexibility and customizability in management features, as their built-in controllers do not adequately support advanced SSD management functions required by all users and applications, particularly in virtualized computing environments.
Innovation Solution
Decoupling SSD management features from the built-in controller and implementing them in an external controller, which includes indirection mapping, trim management, and journaling to manage logical to physical address mappings and ensure data persistence, allowing for flexible and customizable SSD management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If SSD management features are implemented in the built-in controller, then device integration is simplified, but flexibility and customizability are reduced
Solution Approach 1:
The patent segments the SSD management functionality by separating it from the built-in controller and placing it in the host system. The SSD controller retains only essential functions (data storage and mapping), while advanced management features (journaling, trim, indirection mapping) are implemented as software components in the host, allowing customization without complicating the hardware design.
Solution Approach 2:
The patent extracts management features from the built-in controller and relocates them to the host system. This extraction allows the SSD controller to remain simple and standardized, while the host system gains full control over management operations, enabling users to implement custom journaling, trim, and mapping strategies according to specific application needs.
2Reliability
If advanced SSD management functions are implemented, then data persistence and performance are improved, but device complexity increases
Solution Approach 1:
The patent introduces an indirection mapping layer as an intermediary between logical block addresses and physical storage locations. This indirection layer, managed by software in the host system, enables advanced features like journaling and trim operations without requiring complex hardware modifications to the SSD controller, thus improving reliability while keeping device complexity manageable.
Solution Approach 2:
The patent adds a software dimension to SSD management by implementing journaling and indirection mapping in the host system rather than in hardware. This dimensional shift from hardware-based to software-based management allows for flexible implementation of reliability features without permanently increasing the physical complexity of the SSD device itself.
3Adaptability or versatility
If customizability is enhanced for different applications, then adaptability improves, but ease of operation deteriorates
Solution Approach 1:
The patent creates a universal journaling and indirection mapping framework that can be configured for different application requirements. The same basic software infrastructure supports various customization levels, from simple default operations to advanced application-specific configurations, allowing the system to serve multiple purposes without requiring completely different implementations for each use case.
Data Source
AI summary
An indirection mapping data structure can maintain a mapping between logical block addresses used by a host computer and physical data storage locations on an SSD. The indirection mapping data structure can include a existence map as well as a user data map. Trim data may be received from a host computer or other entity and may be used to mark particular logical addresses that are not in use as trimmed. To ensure trim data persists even if the indirection mapping data structure is lost, the existence map may be regularly stored to disk. The existence map can be journaled in the same way as user data stored to disk. When the indirection mapping data structure is rebuilt, the spatially coupled journals can be retrieved from the predefined scattered locations and used to identify the stored trim data which can be used to rebuild the existence map.


