Free Object List for NVMe SSD Write Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
NVMe SSDs, especially QLC SSDs, exhibit a significant disparity between random write and sequential write performance due to the need for garbage collection, which involves moving data to free full erase blocks, leading to inefficient use of drive resources and reduced performance.
Innovation Solution
The method involves identifying and allocating physical layer blocks (PLBs) from a selected free object, generating additional free objects, and performing garbage collection between inactive and active objects, allowing for sequential writing to free blocks without requiring the drive to perform garbage collection, thereby optimizing write operations and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If garbage collection is performed to free full erase blocks, then write performance is maintained, but the drive's workload increases and random performance remains lower than sequential performance
Solution Approach 1:
The patent introduces an intermediary data structure (the list of free objects) that mediates between the storage system and the drive's garbage collection process. By maintaining this list at the storage system level, the drive is relieved of the burden of performing garbage collection, as the storage system can directly allocate from pre-identified free objects or coordinate garbage collection more efficiently.
Solution Approach 2:
The patent performs preliminary identification and tracking of free objects before they are needed for allocation. By maintaining an up-to-date list of free objects and their locations, the system prepares in advance for future write operations, eliminating the need for urgent garbage collection during write operations and reducing overall drive workload.
2Ease of operation
If random write operations are performed to utilize free blocks, then data can be written immediately, but performance is limited compared to sequential writes due to garbage collection requirements
Solution Approach 1:
The patent implements a feedback mechanism where the storage system continuously tracks the state of erase blocks and maintains an updated list of free objects. This feedback allows the system to make informed allocation decisions, directing random writes to genuinely free blocks without triggering garbage collection, thereby maintaining both immediate write capability and high performance.
Solution Approach 2:
The list of free objects serves as an intermediary data structure that bridges the gap between random write requests and the physical state of the drive. It allows the storage system to simulate sequential-like performance in random writes by coordinating allocations through this intermediary, avoiding the performance penalty of on-the-fly garbage collection.
3Quantity of substance
If the drive performs garbage collection autonomously, then free blocks are recovered, but the process is inefficient and reduces overall system performance
Solution Approach 1:
The patent enables the storage system to self-serve by maintaining its own list of free objects and performing allocations independently. This shifts the burden of tracking and managing free blocks from the drive to the storage system, allowing the drive to focus on efficient data writing without the overhead of autonomous garbage collection, thereby improving overall system performance.
Solution Approach 2:
The storage system's free object list acts as an intermediary that manages the availability of free blocks more efficiently than the drive's autonomous garbage collection. By coordinating block availability through this intermediary, the system recovers free blocks with less overhead and maintains higher productivity.
Data Source
AI summary
A method, computer program product, and computer system for identifying, by a computing device, a list of objects containing a plurality of physical layer blocks (PLBs). One or more next PLBs of the plurality of PLBs may be allocated from a selected free object of the list of objects. One or more additional free objects from the list of objects may be generated. Garbage collection may be performed between an inactive object of the plurality of objects and the selected free object.


