Host-Flash FTL Segmentation for SSD Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in achieving high I/O performance due to complex control of NAND flash memory, leading to inefficient role sharing between hosts and storage systems, which results in increased memory resource consumption, degraded storage performance, and reduced SSD lifespan.
Innovation Solution
The proposed solution involves a memory system where the host and the flash storage device share the role of the flash translation layer (FTL), with the host managing block-level FTL and the flash storage device managing in-block FTL, allowing for efficient data allocation and garbage collection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the host and flash storage device share the role of flash translation layer (FTL) with host managing block-level FTL and flash storage device managing in-block FTL, then garbage collection frequency is reduced and write amplification is lowered, but device complexity increases due to the need for coordinated role sharing between host and storage
Solution Approach 1:
The FTL functionality is segmented into two parts: block-level FTL managed by the host and in-block FTL managed by the flash storage device. This segmentation allows each component to handle specific aspects of memory management, reducing the overall burden on the flash storage device and lowering garbage collection frequency while maintaining improved storage performance.
2Productivity
If the host manages block-level FTL, then garbage collection frequency is reduced, but the host's memory resource consumption increases
Solution Approach 1:
Memory management responsibilities are segmented between host and flash storage device. The host handles block-level management while the flash storage device handles in-block management, distributing the memory resource consumption burden and reducing the frequency of intensive garbage collection operations.
Solution Approach 2:
The block-level FTL managed by the host acts as an intermediary layer between the host file system and the in-block FTL in the flash storage device. This intermediary manages memory resources more efficiently by coordinating with both the host and the flash storage device, reducing overall memory resource consumption while maintaining low garbage collection frequency.
Data Source
AI summary
According to one embodiment, when receiving a write request to designate a first block number and a first logical address from a host, a memory system determines a first location in a first block having the first block number, to which data from the host is to be written, and writes the data from the host to the first location of the first block. The memory system updates a first address translation table managing mapping between logical addresses and in-block physical addresses of the first block, and maps a first in-block physical address indicative of the first location to the first logical address.


