SSD Metadata Management with NVRAM Flush Batching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Frequent metadata updates in solid state drives (SSDs) lead to flash wear out and degrade performance due to inefficient metadata management, particularly in all-flash arrays, causing overhead and complexity in logical to physical mapping and volume management operations.
Innovation Solution
A method involving a host device that updates a metadata log in NVRAM, periodically checks its size, and when it exceeds a flush limit, triggers a meta flush thread to send a flip command to SSDs for synchronization, exchanging old blocks with new blocks, and discarding the metadata log once synchronization is complete, optimizing memory requirements and reducing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If metadata is cached in NVRAM and flushed periodically to SSD, then data consistency is maintained, but flash wear increases and performance degrades
Solution Approach 1:
The patent pre-allocates metadata blocks in the SSD and prepares them in advance for future metadata updates. By having metadata blocks ready beforehand and using a block allocation mechanism that anticipates future write needs, the system reduces the frequency and intensity of metadata flush operations to the SSD, thereby reducing flash wear while maintaining data consistency.
2Reliability
If metadata is maintained in both host device and SSD, then data integrity is ensured, but system complexity and overhead increase
Solution Approach 1:
The patent extracts the L2P mapping functionality from the host device and relocates it to the SSD controller. The host device maintains only the metadata log in NVRAM, while the SSD controller handles all mapping operations and maintains the mapping table internally. This extraction eliminates the need for the host to maintain duplicate metadata structures and significantly reduces system complexity.
Solution Approach 2:
The patent introduces a metadata log structure as an intermediary between the host file system and the SSD storage layers. This log serves as a buffer that captures metadata updates in the host and batches them for efficient transfer to the SSD, simplifying the interaction between host and storage device while maintaining data integrity.
3Adaptability or versatility
If page-wise mapping is used in SSD, then storage flexibility is improved, but volume management complexity increases
Solution Approach 1:
The patent segments the metadata management into distinct functional components: the metadata log in the host, the transfer mechanism, and the mapping table in the SSD controller. It also segments storage operations into data planes and metadata planes, allowing independent optimization of each layer and reducing the complexity of managing page-wise mappings across the entire system.
Data Source
AI summary
A method includes updating a first metadata log in an NVRAM of a host device corresponding to one or more recent input/output (I/O) operations received by the host device, periodically checking whether the size of the updated first metadata log is greater than a flush limit maintained in the host device, triggering a meta flush thread when the updated first metadata log size exceeds the flush limit maintained in the host device, sending, by a non-volatile memory express (NVMe) driver, a first command for synchronizing the updated first metadata log to one or more solid state drives (SSDs) for updating a second metadata log in the one or SSDs, and discarding, by the host device, metadata of the first metadata log updated in the host device after receiving a second command for acknowledging synchronization completion from the one or more SSDs.


